Skip to contentSkip to conversation

km/powerpc: various bugfixes and support for 3 new boards

PATCH New Valentin Longchamp 3 participants 32 messages Nov 17, 2015 – Nov 18, 2015

lore
Share & tools
lore
#0 lore raw

v2 cover km/powerpc: various bugfixes and support for 3 new boards

A few bugfixes have been done for the km_kirkwood bards in the last months and this series collects them all to be sumbitted to mainline. Furthermore, support for 2 new Keymile ppc boards are added:
- kmtepr2: based on a 8321, this is another variation of tuxx1
- kmtegr1: based on 8309, similarly to kmvect1 but with a lot of different peripherals

Changes in v2:
- Removed merge conflict files in commit message
- Squashed commit 9/17 and 10/17 together into a single commit
- Rewritten commit message to get rid of internal git commit reference
- Removed support for kmvect1_p1a: not relevant anymore

Bagavathiannan Palanisamy (1):
board/keymile/km82xx: setting dip_switch 3 and 4 will run bootloader

Christoph Dietrich (1):
powerpc/83xx: add support for kmtepr2 board

Holger Brunck (6):
powerpc/82xx: make set/get_pin for km82xx more flexible powerpc/82xx/km: add testpin detection for mgcoge3ne km/powerpc: increase space for kernel imange and FDT blob km/powerpc: move open firmware defines to km-powerpc.h km/powerpc: remove unneeded defines km/powerpc82xx: remove unused function

Valentin Longchamp (7):
powerpc/km8321: define CONFIG_SYS_DDRCDR powerpc/km8309: define CONFIG_SYS_DDRCDR powerpc/km8360: fix the ODT parameters for CS0
km83xx: use CONFIG_ENV_ADDR for the newenv env command
km8309: change the default QE_FW address powerpc/83xx: add support for kmtegr1 board km/powerpc: fix ft_board_setup prototype for km82xx & km83xx

 board/keymile/common/common.c      |  5 ++-
 board/keymile/common/common.h      |  2 ++
 board/keymile/km82xx/km82xx.c      | 57 ++++++++++++++-------------------
 board/keymile/km83xx/MAINTAINERS   |  2 ++
 board/keymile/km83xx/km83xx.c      |  2 --
 configs/kmtegr1_defconfig          |  4 +++
 configs/kmtepr2_defconfig          |  4 +++
 include/configs/km/km-powerpc.h    | 10 ++++--
 include/configs/km/km8309-common.h | 12 +++++--
 include/configs/km/km8321-common.h |  6 ++++
 include/configs/km/km83xx-common.h | 11 ++++---
 include/configs/km82xx.h           |  3 --
 include/configs/km8360.h           |  4 +--
 include/configs/suvd3.h            | 65 +++++++++++++++++++++++++++++++++++---
 include/configs/tuxx1.h            | 43 +++++++++++++++++++++----
 15 files changed, 167 insertions(+), 63 deletions(-)
 create mode 100644 configs/kmtegr1_defconfig
 create mode 100644 configs/kmtepr2_defconfig
Signature · 1 line
1.8.3.1
#1 lore raw

PATCH v2 1/15 powerpc/83xx: add support for kmtepr2 board

From: Christoph Dietrich <[email protected]>

This board is similar to TUXX1, but it has differend FPGAs.

---

Changes in v2: None

 board/keymile/km83xx/MAINTAINERS |  1 +
 configs/kmtepr2_defconfig        |  4 ++++
 include/configs/tuxx1.h          | 43 +++++++++++++++++++++++++++++++++-------
 3 files changed, 41 insertions(+), 7 deletions(-)
 create mode 100644 configs/kmtepr2_defconfig
board/keymile/km83xx/MAINTAINERS +1 -0
index cee7e08..c4c3183 100644
@@ -7,6 +7,7 @@ F:	configs/kmcoge5ne_defconfig
 F:	configs/kmeter1_defconfig
 F:	include/configs/tuxx1.h
 F:	configs/kmopti2_defconfig
+F:	configs/kmtepr2_defconfig
 F:	include/configs/suvd3.h
 F:	configs/kmvect1_defconfig
 F:	configs/suvd3_defconfig
configs/kmtepr2_defconfig new file +4 -0
new file mode 100644
index 0000000..5cffd53
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="KMTEPR2"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_TUXX1=y
include/configs/tuxx1.h +36 -7

76 lines not on this page · raw message

Signature · 1 line
1.8.3.1
#2 lore raw

PATCH v2 1/15 powerpc/83xx: add support for kmtepr2 board

Quoted 7 lines · Valentin Longchamp

From: Christoph Dietrich <[email protected]>

This board is similar to TUXX1, but it has differend FPGAs.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/dc4faa3f/attachment.sig>
#3 lore raw

PATCH v2 2/15 powerpc/82xx: make set/get_pin for km82xx more flexible

In reply to Valentin Longchamp

From: Holger Brunck <[email protected]>

The get_pin and set_pin funciton was only used for pins on Port D and therefore the value was hard coded in the function. Enhance this with a parameter, that we are able to use this functions for other ports too.

---

Changes in v2: None

 board/keymile/km82xx/km82xx.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)
board/keymile/km82xx/km82xx.c +12 -12
index c599b40..03cd10c 100644
@@ -343,7 +343,7 @@ int last_stage_init(void)
 }
 
 #ifdef CONFIG_MGCOGE3NE
-static void set_pin(int state, unsigned long mask);
+static void set_pin(int state, unsigned long mask, int port);
 
 /*
  * For mgcoge3ne boards, the mgcoge3un control is controlled from
@@ -357,11 +357,11 @@ static void handle_mgcoge3un_reset(void)
 	if (bobcatreset) {
 		if (strcmp(bobcatreset, "true") == 0) {
 			puts("Forcing bobcat reset\n");
-			set_pin(0, 0x00000004);	/* clear PD29 to reset arm */
+			set_pin(0, 0x00000004, 3); /* clear PD29 (reset arm) */
 			udelay(1000);
-			set_pin(1, 0x00000004);
+			set_pin(1, 0x00000004, 3);
 		} else
-			set_pin(1, 0x00000004);	/* set PD29 to not reset arm */
+			set_pin(1, 0x00000004, 3); /* don't reset arm */
 	}
 }
 #endif
@@ -410,9 +410,9 @@ int hush_init_var(void)
 #define SDA_MASK	0x00010000
 #define SCL_MASK	0x00020000
 
-static void set_pin(int state, unsigned long mask)
+static void set_pin(int state, unsigned long mask, int port)
 {
-	ioport_t *iop = ioport_addr((immap_t *)CONFIG_SYS_IMMR, 3);
+	ioport_t *iop = ioport_addr((immap_t *)CONFIG_SYS_IMMR, port);
 
 	if (state)
 		setbits_be32(&iop->pdat, mask);
@@ -422,9 +422,9 @@ static void set_pin(int state, unsigned long mask)
 	setbits_be32(&iop->pdir, mask);
 }
 
-static int get_pin(unsigned long mask)
+static int get_pin(unsigned long mask, int port)
 {
-	ioport_t *iop = ioport_addr((immap_t *)CONFIG_SYS_IMMR, 3);
+	ioport_t *iop = ioport_addr((immap_t *)CONFIG_SYS_IMMR, port);
 
 	clrbits_be32(&iop->pdir, mask);
 	return 0 != (in_be32(&iop->pdat) & mask);
@@ -432,22 +432,22 @@ static int get_pin(unsigned long mask)
 
 void set_sda(int state)
 {
-	set_pin(state, SDA_MASK);
+	set_pin(state, SDA_MASK, 3);
 }
 
 void set_scl(int state)
 {
-	set_pin(state, SCL_MASK);
+	set_pin(state, SCL_MASK, 3);
 }
 
 int get_sda(void)
 {
-	return get_pin(SDA_MASK);
+	return get_pin(SDA_MASK, 3);
 }
 
 int get_scl(void)
 {
-	return get_pin(SCL_MASK);
+	return get_pin(SCL_MASK, 3);
 }
 
 #if defined(CONFIG_HARD_I2C)
Signature · 1 line
1.8.3.1
#4 lore raw

PATCH v2 2/15 powerpc/82xx: make set/get_pin for km82xx more flexible

Quoted 8 lines · Valentin Longchamp

From: Holger Brunck <[email protected]>

The get_pin and set_pin funciton was only used for pins on Port D and therefore the value was hard coded in the function. Enhance this with a parameter, that we are able to use this functions for other ports too.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/bfacd768/attachment.sig>
#5 lore raw

PATCH v2 3/15 powerpc/82xx/km: add testpin detection for mgcoge3ne

In reply to Valentin Longchamp

From: Holger Brunck <[email protected]>

On mgcoge3ne we also want to start the test application if the testpin is asserted. But we don't have a full POST test support yet. So simply add a function to read the testpin value.

---

Changes in v2: None

 board/keymile/common/common.c | 5 ++++-
 board/keymile/common/common.h | 2 ++
 board/keymile/km82xx/km82xx.c | 9 +++++++++
 3 files changed, 15 insertions(+), 1 deletion(-)
board/keymile/common/common.c +4 -1
index b9aff1a..8de129d 100644
@@ -354,8 +354,11 @@ static int do_checktestboot(cmd_tbl_t *cmdtp, int flag, int argc,
 
 #if defined(CONFIG_POST)
 	testpin = post_hotkeys_pressed();
-	s = getenv("test_bank");
 #endif
+#if defined(CONFIG_MGCOGE3NE)
+	testpin = get_testpin();
+#endif
+	s = getenv("test_bank");
 	/* when test_bank is not set, act as if testpin is not asserted */
 	testboot = (testpin != 0) && (s);
 	if (verbose) {
board/keymile/common/common.h +2 -0
index dcfefc4..c74f569 100644
@@ -134,6 +134,8 @@ int wait_for_fpga_config(void);
 int fpga_reset(void);
 int toggle_eeprom_spi_bus(void);
 
+int get_testpin(void);
+
 int set_km_env(void);
 int fdt_set_node_and_value(void *blob,
 			char *nodename,
board/keymile/km82xx/km82xx.c +9 -0
index 03cd10c..cc9a7c9 100644
@@ -473,3 +473,12 @@ int ft_board_setup(void *blob, bd_t *bd)
 	return 0;
 }
 #endif /* defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) */
+
+#if defined(CONFIG_MGCOGE3NE)
+int get_testpin(void)
+{
+	/* Testpin is Port C pin 29 - enable = low */
+	int testpin = !get_pin(0x00000004, 2);
+	return testpin;
+}
+#endif
Signature · 1 line
1.8.3.1
#6 lore raw

PATCH v2 3/15 powerpc/82xx/km: add testpin detection for mgcoge3ne

Quoted 8 lines · Valentin Longchamp

From: Holger Brunck <[email protected]>

On mgcoge3ne we also want to start the test application if the testpin is asserted. But we don't have a full POST test support yet. So simply add a function to read the testpin value.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/f7a95805/attachment.sig>
#7 lore raw

PATCH v2 4/15 km/powerpc: increase space for kernel imange and FDT blob

In reply to Valentin Longchamp

From: Holger Brunck <[email protected]>

128kByte and 3,986MB may be in the future too little for kernel the fdt blob respectively the kernel image. So increase the reserved areas here, we have the space for this.

---

Changes in v2: None

 include/configs/km/km-powerpc.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
include/configs/km/km-powerpc.h +3 -3
index eb85a74..8121e5c 100644
@@ -63,9 +63,9 @@
  * is not valid yet, which is the case for when u-boot copies itself to RAM */
 #define CONFIG_PRAM		((CONFIG_KM_PNVRAM + CONFIG_KM_PHRAM)>>10)
 
-#define CONFIG_KM_CRAMFS_ADDR	0x800000
-#define CONFIG_KM_KERNEL_ADDR	0x400000	/* 3968Kbytes */
-#define CONFIG_KM_FDT_ADDR	0x7E0000	/* 128Kbytes */
+#define CONFIG_KM_CRAMFS_ADDR	0xC00000
+#define CONFIG_KM_KERNEL_ADDR	0x400000	/* 7680Kbytes */
+#define CONFIG_KM_FDT_ADDR	0xB80000	/* 512Kbytes */
 
 /* architecture specific default bootargs */
 #define CONFIG_KM_DEF_BOOT_ARGS_CPU		""
Signature · 1 line
1.8.3.1
#8 lore raw

PATCH v2 4/15 km/powerpc: increase space for kernel imange and FDT blob

Quoted 8 lines · Valentin Longchamp

From: Holger Brunck <[email protected]>

128kByte and 3,986MB may be in the future too little for kernel the fdt blob respectively the kernel image. So increase the reserved areas here, we have the space for this.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/4b62b94a/attachment.sig>
#9 lore raw

PATCH v2 5/15 km/powerpc: move open firmware defines to km-powerpc.h

In reply to Valentin Longchamp

From: Holger Brunck <[email protected]>

We use the same settings for open firmware defines on all our powerpc targets, so move them from the CPU specific headers to the common powerpc header.

---

Changes in v2: None

 include/configs/km/km-powerpc.h    | 4 ++++
 include/configs/km/km83xx-common.h | 3 ---
 include/configs/km82xx.h           | 3 ---
 3 files changed, 4 insertions(+), 6 deletions(-)
include/configs/km/km-powerpc.h +4 -0
index 8121e5c..cf4a91c 100644
@@ -17,6 +17,10 @@
 #define CONFIG_CMD_DTT
 #define CONFIG_JFFS2_CMDLINE
 
+/* Pass open firmware flat tree */
+#define CONFIG_OF_LIBFDT
+#define CONFIG_OF_BOARD_SETUP
+
 /* standard km ethernet_present for piggy */
 #define CONFIG_KM_COMMON_ETH_INIT
 
include/configs/km/km83xx-common.h +0 -3
index 940000e..2325451 100644
@@ -153,9 +153,6 @@
 #define CONFIG_SYS_NS16550_COM1	(CONFIG_SYS_IMMR+0x4500)
 #define CONFIG_SYS_NS16550_COM2	(CONFIG_SYS_IMMR+0x4600)
 
-/* Pass open firmware flat tree */
-#define CONFIG_OF_LIBFDT
-#define CONFIG_OF_BOARD_SETUP
 #define CONFIG_OF_STDOUT_VIA_ALIAS
 
 /*
include/configs/km82xx.h +0 -3
index 12f9d42..8c06dc1 100644
@@ -431,10 +431,7 @@ int get_scl(void);
 
 #define	CONFIG_SYS_RESET_ADDRESS 0xFDFFFFFC	/* "bad" address */
 
-/* pass open firmware flat tree */
 #define CONFIG_FIT		1
-#define CONFIG_OF_LIBFDT	1
-#define CONFIG_OF_BOARD_SETUP	1
 
 #define OF_TBCLK		(bd->bi_busfreq / 4)
 #define OF_STDOUT_PATH		"/soc/cpm/serial at 11a90"
Signature · 1 line
1.8.3.1
#10 lore raw

PATCH v2 5/15 km/powerpc: move open firmware defines to km-powerpc.h

Quoted 8 lines · Valentin Longchamp

From: Holger Brunck <[email protected]>

We use the same settings for open firmware defines on all our powerpc targets, so move them from the CPU specific headers to the common powerpc header.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/efa0a3e2/attachment.sig>
#11 lore raw

PATCH v2 6/15 km/powerpc: remove unneeded defines

In reply to Valentin Longchamp

From: Holger Brunck <[email protected]>

We use CONFIG_OF_LIBFDT and CONFIG_OF_BOARD_SETUP on all our powerpc targets, so there is no need to check these defines within our C code.

---

Changes in v2:
- Removed merge conflict files in commit message

 board/keymile/km82xx/km82xx.c | 8 ++------
 board/keymile/km83xx/km83xx.c | 4 +---
 2 files changed, 3 insertions(+), 9 deletions(-)
board/keymile/km82xx/km82xx.c +2 -6
index cc9a7c9..70f816b 100644
@@ -11,10 +11,7 @@
 #include <malloc.h>
 #include <asm/io.h>
 
-#if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
 #include <libfdt.h>
-#endif
-
 #include <i2c.h>
 #include "../common/common.h"
 
@@ -465,14 +462,13 @@ static void setports(int gpio)
 	}
 }
 #endif
-#if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
-int ft_board_setup(void *blob, bd_t *bd)
+
+void ft_board_setup(void *blob, bd_t *bd)
 {
 	ft_cpu_setup(blob, bd);
 
 	return 0;
 }
-#endif /* defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) */
 
 #if defined(CONFIG_MGCOGE3NE)
 int get_testpin(void)
board/keymile/km83xx/km83xx.c +1 -3
index 89e9e1e..1164c2e 100644
@@ -361,14 +361,12 @@ int checkboard(void)
 	return 0;
 }
 
-#if defined(CONFIG_OF_BOARD_SETUP)
-int ft_board_setup(void *blob, bd_t *bd)
+void ft_board_setup(void *blob, bd_t *bd)
 {
 	ft_cpu_setup(blob, bd);
 
 	return 0;
 }
-#endif
 
 #if defined(CONFIG_HUSH_INIT_VAR)
 int hush_init_var(void)
Signature · 1 line
1.8.3.1
#12 lore raw

PATCH v2 6/15 km/powerpc: remove unneeded defines

Quoted 7 lines · Valentin Longchamp

From: Holger Brunck <[email protected]>

We use CONFIG_OF_LIBFDT and CONFIG_OF_BOARD_SETUP on all our powerpc targets, so there is no need to check these defines within our C code.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/279e0f30/attachment.sig>
#13 lore raw

PATCH v2 7/15 km/powerpc82xx: remove unused function

In reply to Valentin Longchamp

From: Holger Brunck <[email protected]>

commit 0a4f88b98 removed the usage of our setports function, but the function itself were not removed. So toss it it's dead code.

---

Changes in v2: None

 board/keymile/km82xx/km82xx.c | 16 ----------------
 1 file changed, 16 deletions(-)
board/keymile/km82xx/km82xx.c +0 -16
index 70f816b..01a3c20 100644
@@ -447,22 +447,6 @@ int get_scl(void)
 	return get_pin(SCL_MASK, 3);
 }
 
-#if defined(CONFIG_HARD_I2C)
-static void setports(int gpio)
-{
-	ioport_t *iop = ioport_addr((immap_t *)CONFIG_SYS_IMMR, 3);
-
-	if (gpio) {
-		clrbits_be32(&iop->ppar, (SDA_MASK | SCL_MASK));
-		clrbits_be32(&iop->podr, (SDA_MASK | SCL_MASK));
-	} else {
-		setbits_be32(&iop->ppar, (SDA_MASK | SCL_MASK));
-		clrbits_be32(&iop->pdir, (SDA_MASK | SCL_MASK));
-		setbits_be32(&iop->podr, (SDA_MASK | SCL_MASK));
-	}
-}
-#endif
-
 void ft_board_setup(void *blob, bd_t *bd)
 {
 	ft_cpu_setup(blob, bd);
Signature · 1 line
1.8.3.1
#14 lore raw

PATCH v2 7/15 km/powerpc82xx: remove unused function

Quoted 7 lines · Valentin Longchamp

From: Holger Brunck <[email protected]>

commit 0a4f88b98 removed the usage of our setports function, but the function itself were not removed. So toss it it's dead code.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/d6ea3faf/attachment.sig>
#15 lore raw

PATCH v2 8/15 powerpc/km8321: define CONFIG_SYS_DDRCDR

In reply to Valentin Longchamp

On the km8321 boards is CONFIG_SYS_DDRCDR not defined, which leads to the DDRCDR not being configured at startup and still containing the reset value.

The required settings for our km8321 hardware designs are different than the reset value and must be set with CONFIG_SYS_DDRCDR, that is used by mpc83xx's cpu_init_f function at early CPU initialization.

The important settings are the DDR2 internal voltage level and the half-strength "drivers".

In our case where the DRAM chips are soldered on board and the routing for these signals under control, half-strength is sufficient as a few measurements done in the lasts have shown. Since all the hardware qualification tests have been performed with half strength, the nominal strength settings are removed in favor of the default reset half strength settings.

---

Changes in v2:
- Squashed commit 9/17 and 10/17 together into a single commit

 include/configs/km/km8321-common.h | 6 ++++++
 1 file changed, 6 insertions(+)
include/configs/km/km8321-common.h +6 -0
index 058b0ab..b2e68e3 100644
@@ -65,6 +65,12 @@
 	HRCWH_BIG_ENDIAN | \
 	HRCWH_LALE_NORMAL)
 
+#define CONFIG_SYS_DDRCDR (\
+	DDRCDR_EN | \
+	DDRCDR_PZ_MAXZ | \
+	DDRCDR_NZ_MAXZ | \
+	DDRCDR_M_ODR)
+
 #define CONFIG_SYS_DDR_CS0_BNDS		0x0000007f
 #define CONFIG_SYS_DDR_SDRAM_CFG	(SDRAM_CFG_SDRAM_TYPE_DDR2 | \
 					 SDRAM_CFG_32_BE | \
Signature · 1 line
1.8.3.1
#16 lore raw

PATCH v2 8/15 powerpc/km8321: define CONFIG_SYS_DDRCDR

Quoted 11 lines · Valentin Longchamp

On the km8321 boards is CONFIG_SYS_DDRCDR not defined, which leads to the DDRCDR not being configured at startup and still containing the reset value.

The required settings for our km8321 hardware designs are different than the reset value and must be set with CONFIG_SYS_DDRCDR, that is used by mpc83xx's cpu_init_f function at early CPU initialization.

The important settings are the DDR2 internal voltage level and the half-strength "drivers".

Quoted 8 lines

In our case where the DRAM chips are soldered on board and the routing for these signals under control, half-strength is sufficient as a few measurements done in the lasts have shown. Since all the hardware qualification tests have been performed with half strength, the nominal strength settings are removed in favor of the default reset half strength settings.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/c6ff5928/attachment.sig>
#17 lore raw

PATCH v2 9/15 powerpc/km8309: define CONFIG_SYS_DDRCDR

In reply to Valentin Longchamp

For consistency with all the other km83xx plaforms, this should also be defined for km8309. The same settings as for km8321 are taken.

---

Changes in v2: None

 include/configs/km/km8309-common.h | 6 ++++++
 1 file changed, 6 insertions(+)
include/configs/km/km8309-common.h +6 -0
index ec133f9..d7f6cb1 100644
@@ -99,6 +99,12 @@
 	HRCWH_BIG_ENDIAN | \
 	HRCWH_LALE_NORMAL)
 
+#define CONFIG_SYS_DDRCDR (\
+	DDRCDR_EN | \
+	DDRCDR_PZ_MAXZ | \
+	DDRCDR_NZ_MAXZ | \
+	DDRCDR_M_ODR)
+
 #define CONFIG_SYS_DDR_CS0_BNDS		0x0000007f
 #define CONFIG_SYS_DDR_SDRAM_CFG	(SDRAM_CFG_SDRAM_TYPE_DDR2 | \
 					 SDRAM_CFG_32_BE | \
Signature · 1 line
1.8.3.1
#18 lore raw

PATCH v2 9/15 powerpc/km8309: define CONFIG_SYS_DDRCDR

Quoted 4 lines · Valentin Longchamp

For consistency with all the other km83xx plaforms, this should also be defined for km8309. The same settings as for km8321 are taken.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/b481badb/attachment.sig>
#19 lore raw

PATCH v2 10/15 powerpc/km8360: fix the ODT parameters for CS0

In reply to Valentin Longchamp

The ODT parameters for km8360 set the ODT_WR_ACS bit in u-boot KM-2011.09 that is used in the release bootpackage for kmcoge5ne. During the transition from the kmeter1 to km8360 this was changed to ODT_RD_ONLY_CURRENT, which is uncorrect and causes faulty RAM accesses at low temperatures.

This is now changed to ODT_WR_ONLY_CURRENT which is the equivalent of ODT_WR_ACS.

---

Changes in v2:
- Rewritten commit message to get rid of internal git commit reference

 include/configs/km8360.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
include/configs/km8360.h +2 -2
index 04cde46..5034fda 100644
@@ -100,7 +100,7 @@
 #define CONFIG_SYS_DDR_CS0_CONFIG (\
 	CSCONFIG_EN | \
 	CSCONFIG_AP | \
-	CSCONFIG_ODT_RD_ONLY_CURRENT | \
+	CSCONFIG_ODT_WR_ONLY_CURRENT | \
 	CSCONFIG_BANK_BIT_3 | \
 	CSCONFIG_ROW_BIT_13 | \
 	CSCONFIG_COL_BIT_10)
@@ -108,7 +108,7 @@
 #define CONFIG_SYS_DDR_CS0_CONFIG	(CSCONFIG_EN | CSCONFIG_AP | \
 					 CSCONFIG_ROW_BIT_13 | \
 					 CSCONFIG_COL_BIT_10 | \
-					 CSCONFIG_ODT_RD_ONLY_CURRENT)
+					 CSCONFIG_ODT_WR_ONLY_CURRENT)
 #endif
 
 #define CONFIG_SYS_DDR_CLK_CNTL (\
Signature · 1 line
1.8.3.1
#20 lore raw

PATCH v2 10/15 powerpc/km8360: fix the ODT parameters for CS0

Quoted 10 lines · Valentin Longchamp

The ODT parameters for km8360 set the ODT_WR_ACS bit in u-boot KM-2011.09 that is used in the release bootpackage for kmcoge5ne. During the transition from the kmeter1 to km8360 this was changed to ODT_RD_ONLY_CURRENT, which is uncorrect and causes faulty RAM accesses at low temperatures.

This is now changed to ODT_WR_ONLY_CURRENT which is the equivalent of ODT_WR_ACS.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/dd91b4df/attachment.sig>
#21 lore raw

PATCH v2 11/15 board/keymile/km82xx: setting dip_switch 3 and 4 will run bootloader

In reply to Valentin Longchamp

From: Bagavathiannan Palanisamy <[email protected]>

Setting dip_switch 3 and 4 also will run bootloader in COGE3 and COGE6 It is required remove local mgmt IP address, when DIP Switch PIN3 is enabled. DIP Switch 4 also enabled to avoid u-boot update in future for DIP switch enhancements.

---

Changes in v2: None

 board/keymile/km82xx/km82xx.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
board/keymile/km82xx/km82xx.c +2 -2
index 01a3c20..9e285ec 100644
@@ -329,8 +329,8 @@ int last_stage_init(void)
 
 	dip_switch = in_8(&base->mswitch);
 	dip_switch &= BFTICU_DIPSWITCH_MASK;
-	/* dip switch 'full reset' or 'db erase' */
-	if (dip_switch & 0x1 || dip_switch & 0x2) {
+	/* dip switch 'full reset' or 'db erase' or 'Local mgmt IP' or any */
+	if (dip_switch != 0) {
 		/* start bootloader */
 		puts("DIP:   Enabled\n");
 		setenv("actual_bank", "0");
Signature · 1 line
1.8.3.1
#22 lore raw

PATCH v2 11/15 board/keymile/km82xx: setting dip_switch 3 and 4 will run bootloader

Quoted 9 lines · Valentin Longchamp

From: Bagavathiannan Palanisamy <[email protected]>

Setting dip_switch 3 and 4 also will run bootloader in COGE3 and COGE6 It is required remove local mgmt IP address, when DIP Switch PIN3 is enabled. DIP Switch 4 also enabled to avoid u-boot update in future for DIP switch enhancements.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/47eb8a2d/attachment.sig>
#23 lore raw

PATCH v2 12/15 km83xx: use CONFIG_ENV_ADDR for the newenv env command

In reply to Valentin Longchamp

The hardcoded value are bad, since the address could change between different boards.

Furthermore, the relevant #defines are set only if #undefined here, so that they can be changed by some boards if required.

---

Changes in v2: None

 include/configs/km/km83xx-common.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
include/configs/km/km83xx-common.h +6 -2
index 2325451..27b47d7 100644
@@ -182,10 +182,14 @@
 
 #ifndef CONFIG_SYS_RAMBOOT
 #define CONFIG_ENV_IS_IN_FLASH
+#ifndef CONFIG_ENV_ADDR
 #define CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_BASE + \
 					CONFIG_SYS_MONITOR_LEN)
+#endif
 #define CONFIG_ENV_SECT_SIZE	0x20000 /* 128K(one sector) for env */
+#ifndef CONFIG_ENV_OFFSET
 #define CONFIG_ENV_OFFSET	(CONFIG_SYS_MONITOR_LEN)
+#endif
 
 /* Address and size of Redundant Environment Sector	*/
 #define CONFIG_ENV_OFFSET_REDUND	(CONFIG_ENV_OFFSET + \
@@ -320,8 +324,8 @@
 	CONFIG_KM_DEF_ENV						\
 	CONFIG_KM_DEF_ARCH						\
 	"newenv="							\
-		"prot off 0xF00C0000 +0x40000 && "			\
-		"era 0xF00C0000 +0x40000\0"				\
+		"prot off "__stringify(CONFIG_ENV_ADDR)" +0x40000 && "	\
+		"era "__stringify(CONFIG_ENV_ADDR)" +0x40000\0"		\
 	"unlock=yes\0"							\
 	""
 
Signature · 1 line
1.8.3.1
#24 lore raw

PATCH v2 12/15 km83xx: use CONFIG_ENV_ADDR for the newenv env command

Quoted 7 lines · Valentin Longchamp

The hardcoded value are bad, since the address could change between different boards.

Furthermore, the relevant #defines are set only if #undefined here, so that they can be changed by some boards if required.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/fda22afe/attachment.sig>
#25 lore raw

PATCH v2 13/15 km8309: change the default QE_FW address

In reply to Valentin Longchamp

It should be after the u-boot reserved sectors and before the env sectors, since the solution used for kmvect1 (tell the linker to put the firmware into the u-boot produced binary, at the end of the area) should be the exception.

The #define is only "conditional" so that we can still support kmvect1.

---

Changes in v2: None

 include/configs/km/km8309-common.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
include/configs/km/km8309-common.h +4 -2
index d7f6cb1..a69fdf1 100644
@@ -29,8 +29,10 @@
 
 /* QE microcode/firmware address */
 #define CONFIG_SYS_QE_FMAN_FW_IN_NOR
-/* at end of uboot partition, before env */
-#define CONFIG_SYS_QE_FW_ADDR   0xF00B0000
+/* between the u-boot partition and env */
+#ifndef CONFIG_SYS_QE_FW_ADDR
+#define CONFIG_SYS_QE_FW_ADDR   0xF00C0000
+#endif
 
 /*
  * System IO Config
Signature · 1 line
1.8.3.1
#26 lore raw

PATCH v2 13/15 km8309: change the default QE_FW address

Quoted 8 lines · Valentin Longchamp

It should be after the u-boot reserved sectors and before the env sectors, since the solution used for kmvect1 (tell the linker to put the firmware into the u-boot produced binary, at the end of the area) should be the exception.

The #define is only "conditional" so that we can still support kmvect1.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/4cd7f138/attachment.sig>
#27 lore raw

PATCH v2 14/15 powerpc/83xx: add support for kmtegr1 board

In reply to Valentin Longchamp

This board uses the same CPU (8309) as VECT1. The memory however is different since it has NAND Flash, the NOR Flash partitioning is different and of course the FPGAs as well.

---

Changes in v2: None

 board/keymile/km83xx/MAINTAINERS |  1 +
 configs/kmtegr1_defconfig        |  4 +++
 include/configs/suvd3.h          | 65 +++++++++++++++++++++++++++++++++++++---
 3 files changed, 66 insertions(+), 4 deletions(-)
 create mode 100644 configs/kmtegr1_defconfig
board/keymile/km83xx/MAINTAINERS +1 -0
index c4c3183..63b0651 100644
@@ -9,6 +9,7 @@ F:	include/configs/tuxx1.h
 F:	configs/kmopti2_defconfig
 F:	configs/kmtepr2_defconfig
 F:	include/configs/suvd3.h
+F:	configs/kmtegr1_defconfig
 F:	configs/kmvect1_defconfig
 F:	configs/suvd3_defconfig
 F:	configs/tuge1_defconfig
configs/kmtegr1_defconfig new file +4 -0
new file mode 100644
index 0000000..aee9886
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="KMTEGR1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_SUVD3=y
include/configs/suvd3.h +61 -4

113 lines not on this page · raw message

Signature · 1 line
1.8.3.1
#28 lore raw

PATCH v2 14/15 powerpc/83xx: add support for kmtegr1 board

Quoted 6 lines · Valentin Longchamp

This board uses the same CPU (8309) as VECT1. The memory however is different since it has NAND Flash, the NOR Flash partitioning is different and of course the FPGAs as well.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/df9048a1/attachment.sig>
#29 lore raw

PATCH v2 15/15 km/powerpc: fix ft_board_setup prototype for km82xx & km83xx

In reply to Valentin Longchamp

---

Changes in v2:
- Removed support for kmvect1_p1a: not relevant anymore

 board/keymile/km82xx/km82xx.c | 2 +-
 board/keymile/km83xx/km83xx.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
board/keymile/km82xx/km82xx.c +1 -1
index 9e285ec..c2a7a5f 100644
@@ -447,7 +447,7 @@ int get_scl(void)
 	return get_pin(SCL_MASK, 3);
 }
 
-void ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, bd_t *bd)
 {
 	ft_cpu_setup(blob, bd);
 
board/keymile/km83xx/km83xx.c +1 -1
index 1164c2e..154f974 100644
@@ -361,7 +361,7 @@ int checkboard(void)
 	return 0;
 }
 
-void ft_board_setup(void *blob, bd_t *bd)
+int ft_board_setup(void *blob, bd_t *bd)
 {
 	ft_cpu_setup(blob, bd);
 
Signature · 1 line
1.8.3.1
#30 lore raw

PATCH v2 15/15 km/powerpc: fix ft_board_setup prototype for km82xx & km83xx

Quoted 1 line · Valentin Longchamp

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151118/12ffc2c3/attachment.sig>
#31 lore raw

v2 cover km/powerpc: various bugfixes and support for 3 new boards

In reply to Valentin Longchamp

Hello Valentin,

for the hole serie:

bye,
Heiko
Am 17.11.2015 um 10:53 schrieb Valentin Longchamp:

Quoted 55 lines

A few bugfixes have been done for the km_kirkwood bards in the last months and this series collects them all to be sumbitted to mainline. Furthermore, support for 2 new Keymile ppc boards are added:
- kmtepr2: based on a 8321, this is another variation of tuxx1
- kmtegr1: based on 8309, similarly to kmvect1 but with a lot of different peripherals

Changes in v2:
- Removed merge conflict files in commit message
- Squashed commit 9/17 and 10/17 together into a single commit
- Rewritten commit message to get rid of internal git commit reference
- Removed support for kmvect1_p1a: not relevant anymore

Bagavathiannan Palanisamy (1):
board/keymile/km82xx: setting dip_switch 3 and 4 will run bootloader

Christoph Dietrich (1):
powerpc/83xx: add support for kmtepr2 board

Holger Brunck (6):
powerpc/82xx: make set/get_pin for km82xx more flexible powerpc/82xx/km: add testpin detection for mgcoge3ne km/powerpc: increase space for kernel imange and FDT blob km/powerpc: move open firmware defines to km-powerpc.h km/powerpc: remove unneeded defines km/powerpc82xx: remove unused function

Valentin Longchamp (7):
powerpc/km8321: define CONFIG_SYS_DDRCDR powerpc/km8309: define CONFIG_SYS_DDRCDR powerpc/km8360: fix the ODT parameters for CS0
km83xx: use CONFIG_ENV_ADDR for the newenv env command
km8309: change the default QE_FW address powerpc/83xx: add support for kmtegr1 board km/powerpc: fix ft_board_setup prototype for km82xx & km83xx

  board/keymile/common/common.c      |  5 ++-
  board/keymile/common/common.h      |  2 ++
  board/keymile/km82xx/km82xx.c      | 57 ++++++++++++++-------------------
  board/keymile/km83xx/MAINTAINERS   |  2 ++
  board/keymile/km83xx/km83xx.c      |  2 --
  configs/kmtegr1_defconfig          |  4 +++
  configs/kmtepr2_defconfig          |  4 +++
  include/configs/km/km-powerpc.h    | 10 ++++--
  include/configs/km/km8309-common.h | 12 +++++--
  include/configs/km/km8321-common.h |  6 ++++
  include/configs/km/km83xx-common.h | 11 ++++---
  include/configs/km82xx.h           |  3 --
  include/configs/km8360.h           |  4 +--
  include/configs/suvd3.h            | 65 +++++++++++++++++++++++++++++++++++---
  include/configs/tuxx1.h            | 43 +++++++++++++++++++++----
  15 files changed, 167 insertions(+), 63 deletions(-)

create mode 100644 configs/kmtegr1_defconfig
create mode 100644 configs/kmtepr2_defconfig

Signature · 2 lines
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany