All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model
@ 2018-03-16 16:20 Christophe Leroy
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 01/16] soft_i2c: cleanup - no mpc8xx support Christophe Leroy
                   ` (15 more replies)
  0 siblings, 16 replies; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

The purpose of this serie is to clean the mpc8xx code a bit prior to moving
to OF and DM model.

Christophe Leroy (16):
  soft_i2c: cleanup - no mpc8xx support
  powerpc: mpc8xx: harmonise initialisation of the immap local pointer
  powerpc: mpc8xx: get rid of the multiple PVR_ values
  powerpc: mpc8xx: make get_immr() independent of CONFIG_8xx
  powerpc: mpc8xx: remove get_immr() argument
  powerpc: mpc8xx: Change CONFIG_8xx to CONFIG_MPC8xx
  powercp: mpc8xx: move commproc.h
  powerpc: mpc8xx: redistribute data in CPM dpram
  powerpc: mpc8xx: initialisation of initial RAM
  board: MCR3000: replace mtd->priv by mtd_to_nand()
  board: MCR3000: cleanup config
  common: env_embedded: allow fine placement of environment object
  board: MCR3000: Use smaller flash sector for environment
  powerpc: mpc8xx: refactorise reginfo
  powerpc: mpc8xx: cleaning up watchdog
  powerpc: mpc8xx: move watchdog into drivers/watchdog

Changes since v3:
  Reordered the serie in a more logical order
  Reworked memory init to use existing functions board_init_f_xxx_reserve()
  Reworked allocation of initial memory
  Moved watchdog into drivers/watchdog/ directory

Changes since v2:
  Cleaning more items in patch 5
  Not removing get_immr() anymore in patch 7
  Patches from 11 are new in this version

 api/api_platform-powerpc.c                         |  2 +-
 arch/powerpc/Kconfig                               |  4 +-
 arch/powerpc/cpu/mpc8xx/Kconfig                    |  6 +-
 arch/powerpc/cpu/mpc8xx/Makefile                   |  1 -
 arch/powerpc/cpu/mpc8xx/cpu.c                      | 36 ++---------
 arch/powerpc/cpu/mpc8xx/cpu_init.c                 | 11 ++--
 arch/powerpc/cpu/mpc8xx/immap.c                    | 24 +++++++-
 arch/powerpc/cpu/mpc8xx/interrupts.c               |  2 +-
 arch/powerpc/cpu/mpc8xx/reginfo.c                  | 71 ----------------------
 arch/powerpc/cpu/mpc8xx/speed.c                    |  3 +-
 arch/powerpc/cpu/mpc8xx/start.S                    | 27 +++++---
 arch/powerpc/include/asm/cache.h                   |  6 +-
 .../powerpc/include/asm/cpm_8xx.h                  | 18 +++---
 arch/powerpc/include/asm/global_data.h             |  2 +-
 .../include/asm/{8xx_immap.h => immap_8xx.h}       |  0
 arch/powerpc/include/asm/iopin_8xx.h               |  2 +-
 arch/powerpc/include/asm/ppc.h                     | 13 ++--
 arch/powerpc/include/asm/processor.h               |  6 +-
 board/cssi/MCR3000/MCR3000.c                       |  2 +
 board/cssi/MCR3000/nand.c                          |  2 +-
 board/cssi/MCR3000/u-boot.lds                      |  6 +-
 cmd/bdinfo.c                                       |  2 +-
 configs/MCR3000_defconfig                          |  6 +-
 drivers/i2c/soft_i2c.c                             |  3 -
 drivers/net/Kconfig                                |  2 +-
 drivers/net/mpc8xx_fec.c                           |  2 +-
 drivers/serial/Kconfig                             |  2 +-
 drivers/serial/serial_mpc8xx.c                     |  2 +-
 drivers/spi/Kconfig                                |  2 +-
 drivers/spi/mpc8xx_spi.c                           |  2 +-
 drivers/watchdog/Makefile                          |  1 +
 drivers/watchdog/mpc8xx_wdt.c                      | 21 +++++++
 env/embedded.c                                     |  8 +--
 include/asm-generic/u-boot.h                       |  2 +-
 include/configs/MCR3000.h                          | 40 ++----------
 include/env_default.h                              |  2 +-
 include/mpc8xx.h                                   |  4 +-
 include/ppc_asm.tmpl                               |  6 +-
 include/watchdog.h                                 |  5 --
 39 files changed, 139 insertions(+), 217 deletions(-)
 delete mode 100644 arch/powerpc/cpu/mpc8xx/reginfo.c
 rename include/commproc.h => arch/powerpc/include/asm/cpm_8xx.h (98%)
 rename arch/powerpc/include/asm/{8xx_immap.h => immap_8xx.h} (100%)
 create mode 100644 drivers/watchdog/mpc8xx_wdt.c

-- 
2.13.3

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 01/16] soft_i2c: cleanup - no mpc8xx support
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:02   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 02/16] powerpc: mpc8xx: harmonise initialisation of the immap local pointer Christophe Leroy
                   ` (14 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

commit 907208c452999 ("powerpc: Partialy restore core of mpc8xx")
didn't bring back support for I2C on the mpc8xx

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 drivers/i2c/soft_i2c.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/i2c/soft_i2c.c b/drivers/i2c/soft_i2c.c
index 4fd5551a228..cc9c5ef356f 100644
--- a/drivers/i2c/soft_i2c.c
+++ b/drivers/i2c/soft_i2c.c
@@ -25,9 +25,6 @@
 #include <asm/arch/gpio.h>
 #endif
 #endif
-#if defined(CONFIG_8xx)
-#include <asm/io.h>
-#endif
 #include <i2c.h>
 
 #if defined(CONFIG_SOFT_I2C_GPIO_SCL)
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 02/16] powerpc: mpc8xx: harmonise initialisation of the immap local pointer
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 01/16] soft_i2c: cleanup - no mpc8xx support Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:02   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 03/16] powerpc: mpc8xx: get rid of the multiple PVR_ values Christophe Leroy
                   ` (13 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

In most places, immap local pointer is defined as
	immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
In a few places, it is defined as
	immap_t __iomem *immap = (immap_t __iomem *)(immr & 0xFFFF0000);

This patch replaces the few of the latest form by the other one.

The two are fully equivalent since SPRN_IMMR is set with CONFIG_SYS_IMMR
very early in start.S

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/cpu/mpc8xx/cpu.c   | 5 ++---
 arch/powerpc/cpu/mpc8xx/speed.c | 3 +--
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 1120fd7441c..9da73ac22e2 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -36,7 +36,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 static int check_CPU(long clock, uint pvr, uint immr)
 {
-	immap_t __iomem *immap = (immap_t __iomem *)(immr & 0xFFFF0000);
+	immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
 	uint k;
 	char buf[32];
 
@@ -237,8 +237,7 @@ int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  */
 unsigned long get_tbclk(void)
 {
-	uint immr = get_immr(0);	/* Return full IMMR contents */
-	immap_t __iomem *immap = (immap_t __iomem *)(immr & 0xFFFF0000);
+	immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
 	ulong oscclk, factor, pll;
 
 	if (in_be32(&immap->im_clkrst.car_sccr) & SCCR_TBS)
diff --git a/arch/powerpc/cpu/mpc8xx/speed.c b/arch/powerpc/cpu/mpc8xx/speed.c
index fa8f87cbc5e..f8eb4a13eaf 100644
--- a/arch/powerpc/cpu/mpc8xx/speed.c
+++ b/arch/powerpc/cpu/mpc8xx/speed.c
@@ -17,8 +17,7 @@ DECLARE_GLOBAL_DATA_PTR;
  */
 int get_clocks(void)
 {
-	uint immr = get_immr(0);	/* Return full IMMR contents */
-	immap_t __iomem *immap = (immap_t __iomem *)(immr & 0xFFFF0000);
+	immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
 	uint sccr = in_be32(&immap->im_clkrst.car_sccr);
 	uint divider = 1 << (((sccr & SCCR_DFBRG11) >> 11) * 2);
 
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 03/16] powerpc: mpc8xx: get rid of the multiple PVR_ values
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 01/16] soft_i2c: cleanup - no mpc8xx support Christophe Leroy
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 02/16] powerpc: mpc8xx: harmonise initialisation of the immap local pointer Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:02   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 04/16] powerpc: mpc8xx: make get_immr() independent of CONFIG_8xx Christophe Leroy
                   ` (12 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

Avoid hardcoding the PVR values in C since they are defined
in processor.h

At the same time, remove those multiple PVR values for 8xx and
keep only one that we call PVR_8xx

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/cpu/mpc8xx/cpu.c        | 2 +-
 arch/powerpc/include/asm/processor.h | 6 ++----
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 9da73ac22e2..5a81bed5a10 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -42,7 +42,7 @@ static int check_CPU(long clock, uint pvr, uint immr)
 
 	/* the highest 16 bits should be 0x0050 for a 860 */
 
-	if ((pvr >> 16) != 0x0050)
+	if (PVR_VER(pvr) != PVR_VER(PVR_8xx))
 		return -1;
 
 	k = (immr << 16) |
diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h
index 57b11b83657..6fbe8c46b31 100644
--- a/arch/powerpc/include/asm/processor.h
+++ b/arch/powerpc/include/asm/processor.h
@@ -973,10 +973,8 @@
  * differentiated by the version number in the Communication Processor
  * Module (CPM).
  */
-#define PVR_821		0x00500000
-#define PVR_823		PVR_821
-#define PVR_850		PVR_821
-#define PVR_860		PVR_821
+#define PVR_8xx		0x00500000
+
 #define PVR_7400	0x000C0000
 
 /*
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 04/16] powerpc: mpc8xx: make get_immr() independent of CONFIG_8xx
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (2 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 03/16] powerpc: mpc8xx: get rid of the multiple PVR_ values Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:02   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 05/16] powerpc: mpc8xx: remove get_immr() argument Christophe Leroy
                   ` (11 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

SPRN_IMMR is defined regardless of the CPU. Therefore, there
is no point in enclosing get_immr() inside a #ifdef CONFIG_8xx

As it a static inline function, it will in any case only be
compiled in functons using it.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/include/asm/ppc.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/powerpc/include/asm/ppc.h b/arch/powerpc/include/asm/ppc.h
index 5e0aa08be93..6ba10974b6d 100644
--- a/arch/powerpc/include/asm/ppc.h
+++ b/arch/powerpc/include/asm/ppc.h
@@ -40,14 +40,13 @@
 
 #include <asm/processor.h>
 
-#if defined(CONFIG_8xx)
 static inline uint get_immr(uint mask)
 {
 	uint immr = mfspr(SPRN_IMMR);
 
 	return mask ? (immr & mask) : immr;
 }
-#endif
+
 static inline uint get_pvr(void)
 {
 	return mfspr(PVR);
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 05/16] powerpc: mpc8xx: remove get_immr() argument
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (3 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 04/16] powerpc: mpc8xx: make get_immr() independent of CONFIG_8xx Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 06/16] powerpc: mpc8xx: Change CONFIG_8xx to CONFIG_MPC8xx Christophe Leroy
                   ` (10 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

get_immr() is always called with 0 as an argument, so it is useless.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/cpu/mpc8xx/cpu.c     | 2 +-
 arch/powerpc/cpu/mpc8xx/reginfo.c | 2 +-
 arch/powerpc/include/asm/ppc.h    | 6 ++----
 3 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 5a81bed5a10..78874926e33 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -90,7 +90,7 @@ static int check_CPU(long clock, uint pvr, uint immr)
 int checkcpu(void)
 {
 	ulong clock = gd->cpu_clk;
-	uint immr = get_immr(0);	/* Return full IMMR contents */
+	uint immr = get_immr();	/* Return full IMMR contents */
 	uint pvr = get_pvr();
 
 	puts("CPU:   ");
diff --git a/arch/powerpc/cpu/mpc8xx/reginfo.c b/arch/powerpc/cpu/mpc8xx/reginfo.c
index 277d2753b25..d48ea265f83 100644
--- a/arch/powerpc/cpu/mpc8xx/reginfo.c
+++ b/arch/powerpc/cpu/mpc8xx/reginfo.c
@@ -22,7 +22,7 @@ void print_reginfo(void)
 	 */
 
 	printf("\nSystem Configuration registers\n"
-		"\tIMMR\t0x%08X\n", get_immr(0));
+		"\tIMMR\t0x%08X\n", get_immr());
 
 	printf("\tSIUMCR\t0x%08X", in_be32(&sysconf->sc_siumcr));
 	printf("\tSYPCR\t0x%08X\n", in_be32(&sysconf->sc_sypcr));
diff --git a/arch/powerpc/include/asm/ppc.h b/arch/powerpc/include/asm/ppc.h
index 6ba10974b6d..c3f73ef8858 100644
--- a/arch/powerpc/include/asm/ppc.h
+++ b/arch/powerpc/include/asm/ppc.h
@@ -40,11 +40,9 @@
 
 #include <asm/processor.h>
 
-static inline uint get_immr(uint mask)
+static inline uint get_immr(void)
 {
-	uint immr = mfspr(SPRN_IMMR);
-
-	return mask ? (immr & mask) : immr;
+	return mfspr(SPRN_IMMR);
 }
 
 static inline uint get_pvr(void)
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 06/16] powerpc: mpc8xx: Change CONFIG_8xx to CONFIG_MPC8xx
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (4 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 05/16] powerpc: mpc8xx: remove get_immr() argument Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 07/16] powercp: mpc8xx: move commproc.h Christophe Leroy
                   ` (9 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

CONFIG_8xx doesn't mean much outside of arch/powerpc/
This patch renames it CONFIG_MPC8xx just like CONFIG_MPC85xx etc ...
It also renames 8xx_immap.h to immap_8xx.h to be consistent with
other file names.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 api/api_platform-powerpc.c                            | 2 +-
 arch/powerpc/Kconfig                                  | 2 +-
 arch/powerpc/cpu/mpc8xx/Kconfig                       | 2 +-
 arch/powerpc/cpu/mpc8xx/immap.c                       | 2 +-
 arch/powerpc/include/asm/cache.h                      | 6 +++---
 arch/powerpc/include/asm/global_data.h                | 2 +-
 arch/powerpc/include/asm/{8xx_immap.h => immap_8xx.h} | 0
 arch/powerpc/include/asm/iopin_8xx.h                  | 2 +-
 arch/powerpc/include/asm/ppc.h                        | 4 ++--
 cmd/bdinfo.c                                          | 2 +-
 configs/MCR3000_defconfig                             | 2 +-
 drivers/net/Kconfig                                   | 2 +-
 drivers/serial/Kconfig                                | 2 +-
 drivers/spi/Kconfig                                   | 2 +-
 include/asm-generic/u-boot.h                          | 2 +-
 include/commproc.h                                    | 2 +-
 include/mpc8xx.h                                      | 4 ++--
 include/ppc_asm.tmpl                                  | 6 +++---
 include/watchdog.h                                    | 2 +-
 19 files changed, 24 insertions(+), 24 deletions(-)
 rename arch/powerpc/include/asm/{8xx_immap.h => immap_8xx.h} (100%)

diff --git a/api/api_platform-powerpc.c b/api/api_platform-powerpc.c
index 9e9bc63b2f5..aae7ddee959 100644
--- a/api/api_platform-powerpc.c
+++ b/api/api_platform-powerpc.c
@@ -30,7 +30,7 @@ int platform_sys_info(struct sys_info *si)
 	si->clk_bus = gd->bus_clk;
 	si->clk_cpu = gd->cpu_clk;
 
-#if defined(CONFIG_8xx) || defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
+#if defined(CONFIG_MPC8xx) || defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
 #define bi_bar	bi_immr_base
 #elif defined(CONFIG_MPC83xx)
 #define bi_bar	bi_immrbar
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index e4b3043fa22..f29465f2c02 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -30,7 +30,7 @@ config MPC86xx
 	select SYS_FSL_DDR_BE
 	imply CMD_REGINFO
 
-config 8xx
+config MPC8xx
 	bool "MPC8xx"
 	imply CMD_REGINFO
 
diff --git a/arch/powerpc/cpu/mpc8xx/Kconfig b/arch/powerpc/cpu/mpc8xx/Kconfig
index 5a7db335ed2..f1123173765 100644
--- a/arch/powerpc/cpu/mpc8xx/Kconfig
+++ b/arch/powerpc/cpu/mpc8xx/Kconfig
@@ -1,5 +1,5 @@
 menu "mpc8xx CPU"
-	depends on 8xx
+	depends on MPC8xx
 
 config SYS_CPU
 	default "mpc8xx"
diff --git a/arch/powerpc/cpu/mpc8xx/immap.c b/arch/powerpc/cpu/mpc8xx/immap.c
index 2284979dd65..dfe5dc21251 100644
--- a/arch/powerpc/cpu/mpc8xx/immap.c
+++ b/arch/powerpc/cpu/mpc8xx/immap.c
@@ -12,7 +12,7 @@
 #include <common.h>
 #include <command.h>
 
-#include <asm/8xx_immap.h>
+#include <asm/immap_8xx.h>
 #include <commproc.h>
 #include <asm/iopin_8xx.h>
 #include <asm/io.h>
diff --git a/arch/powerpc/include/asm/cache.h b/arch/powerpc/include/asm/cache.h
index 0801d2c3677..445a366807d 100644
--- a/arch/powerpc/include/asm/cache.h
+++ b/arch/powerpc/include/asm/cache.h
@@ -7,7 +7,7 @@
 #include <asm/processor.h>
 
 /* bytes per L1 cache line */
-#if defined(CONFIG_8xx)
+#if defined(CONFIG_MPC8xx)
 #define	L1_CACHE_SHIFT	4
 #elif defined(CONFIG_PPC64BRIDGE)
 #define L1_CACHE_SHIFT	7
@@ -72,7 +72,7 @@ void disable_cpc_sram(void);
 #define L2CACHE_NONE	0x03	/* NONE */
 #define L2CACHE_PARITY  0x08    /* Mask for L2 Cache Parity Protected bit */
 
-#ifdef CONFIG_8xx
+#ifdef CONFIG_MPC8xx
 /* Cache control on the MPC8xx is provided through some additional
  * special purpose registers.
  */
@@ -139,6 +139,6 @@ static inline void wr_dc_adr(uint val)
 	mtspr(DC_ADR, val);
 }
 #endif
-#endif /* CONFIG_8xx */
+#endif /* CONFIG_MPC8xx */
 
 #endif
diff --git a/arch/powerpc/include/asm/global_data.h b/arch/powerpc/include/asm/global_data.h
index 35a02b61a44..016dc19cb4c 100644
--- a/arch/powerpc/include/asm/global_data.h
+++ b/arch/powerpc/include/asm/global_data.h
@@ -19,7 +19,7 @@ struct arch_global_data {
 	u8 sdhc_adapter;
 #endif
 #endif
-#if defined(CONFIG_8xx)
+#if defined(CONFIG_MPC8xx)
 	unsigned long brg_clk;
 #endif
 #if defined(CONFIG_CPM2)
diff --git a/arch/powerpc/include/asm/8xx_immap.h b/arch/powerpc/include/asm/immap_8xx.h
similarity index 100%
rename from arch/powerpc/include/asm/8xx_immap.h
rename to arch/powerpc/include/asm/immap_8xx.h
diff --git a/arch/powerpc/include/asm/iopin_8xx.h b/arch/powerpc/include/asm/iopin_8xx.h
index 15679a2db55..3b4e1b64a41 100644
--- a/arch/powerpc/include/asm/iopin_8xx.h
+++ b/arch/powerpc/include/asm/iopin_8xx.h
@@ -11,7 +11,7 @@
 #define _ASM_IOPIN_8XX_H_
 
 #include <linux/types.h>
-#include <asm/8xx_immap.h>
+#include <asm/immap_8xx.h>
 #include <asm/io.h>
 
 #ifdef __KERNEL__
diff --git a/arch/powerpc/include/asm/ppc.h b/arch/powerpc/include/asm/ppc.h
index c3f73ef8858..8e76c38ea39 100644
--- a/arch/powerpc/include/asm/ppc.h
+++ b/arch/powerpc/include/asm/ppc.h
@@ -13,8 +13,8 @@
 
 #ifndef __ASSEMBLY__
 
-#if defined(CONFIG_8xx)
-#include <asm/8xx_immap.h>
+#if defined(CONFIG_MPC8xx)
+#include <asm/immap_8xx.h>
 #endif
 #ifdef CONFIG_MPC86xx
 #include <mpc86xx.h>
diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c
index de6fc489877..7bea9b7a2d1 100644
--- a/cmd/bdinfo.c
+++ b/cmd/bdinfo.c
@@ -180,7 +180,7 @@ int do_bdinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	print_bi_flash(bd);
 	print_num("sramstart",		bd->bi_sramstart);
 	print_num("sramsize",		bd->bi_sramsize);
-#if	defined(CONFIG_8xx) || defined(CONFIG_E500)
+#if	defined(CONFIG_MPC8xx) || defined(CONFIG_E500)
 	print_num("immr_base",		bd->bi_immr_base);
 #endif
 	print_num("bootflags",		bd->bi_bootflags);
diff --git a/configs/MCR3000_defconfig b/configs/MCR3000_defconfig
index 108cf00154a..bce4d0e74c2 100644
--- a/configs/MCR3000_defconfig
+++ b/configs/MCR3000_defconfig
@@ -1,6 +1,6 @@
 CONFIG_PPC=y
 CONFIG_SYS_TEXT_BASE=0x4000000
-CONFIG_8xx=y
+CONFIG_MPC8xx=y
 CONFIG_TARGET_MCR3000=y
 CONFIG_8xx_GCLK_FREQ=132000000
 CONFIG_CMD_IMMAP=y
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index de1947ccc17..9b53f4c77b8 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -330,7 +330,7 @@ config RENESAS_RAVB
 
 config MPC8XX_FEC
 	bool "Fast Ethernet Controller on MPC8XX"
-	depends on 8xx
+	depends on MPC8xx
 	select MII
 	help
 	  This driver implements support for the Fast Ethernet Controller
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
index 93e602e0ee0..c0497803cba 100644
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -592,7 +592,7 @@ config ZYNQ_SERIAL
 
 config MPC8XX_CONS
 	bool "Console driver for MPC8XX"
-	depends on 8xx
+	depends on MPC8xx
 	default y
 
 choice
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index a3b4a0b2f0a..40749455a29 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -276,7 +276,7 @@ config LPC32XX_SSP
 
 config MPC8XX_SPI
 	bool "MPC8XX SPI Driver"
-	depends on 8xx
+	depends on MPC8xx
 	help
 	  Enable support for SPI on MPC8XX
 
diff --git a/include/asm-generic/u-boot.h b/include/asm-generic/u-boot.h
index d3049d81f58..f734d53eec2 100644
--- a/include/asm-generic/u-boot.h
+++ b/include/asm-generic/u-boot.h
@@ -37,7 +37,7 @@ typedef struct bd_info {
 	unsigned long	bi_dsp_freq; /* dsp core frequency */
 	unsigned long	bi_ddr_freq; /* ddr frequency */
 #endif
-#if defined(CONFIG_8xx) || defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
+#if defined(CONFIG_MPC8xx) || defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
 	unsigned long	bi_immr_base;	/* base of IMMR register */
 #endif
 #if defined(CONFIG_M68K)
diff --git a/include/commproc.h b/include/commproc.h
index 9536b135dcf..bd8adec6b07 100644
--- a/include/commproc.h
+++ b/include/commproc.h
@@ -16,7 +16,7 @@
 #ifndef __CPM_8XX__
 #define __CPM_8XX__
 
-#include <asm/8xx_immap.h>
+#include <asm/immap_8xx.h>
 
 /* CPM Command register.
 */
diff --git a/include/mpc8xx.h b/include/mpc8xx.h
index fc081ab7568..daa874ccf58 100644
--- a/include/mpc8xx.h
+++ b/include/mpc8xx.h
@@ -81,7 +81,7 @@
 #define TBSCR_TBIRQ2	0x0400		/* Time Base Interrupt Request 2	*/
 #define TBSCR_TBIRQ1	0x0200		/* Time Base Interrupt Request 1	*/
 #define TBSCR_TBIRQ0	0x0100		/* Time Base Interrupt Request 0	*/
-#if 0	/* already in asm/8xx_immap.h */
+#if 0	/* already in asm/immap_8xx.h */
 #define TBSCR_REFA	0x0080		/* Reference Interrupt Status A		*/
 #define TBSCR_REFB	0x0040		/* Reference Interrupt Status B		*/
 #define TBSCR_REFAE	0x0008		/* Second Interrupt Enable A		*/
@@ -95,7 +95,7 @@
  */
 #undef	PISCR_PIRQ			/* TBD					*/
 #define PISCR_PITF	0x0002		/* Periodic Interrupt Timer Freeze	*/
-#if 0	/* already in asm/8xx_immap.h */
+#if 0	/* already in asm/immap_8xx.h */
 #define PISCR_PS	0x0080		/* Periodic interrupt Status		*/
 #define PISCR_PIE	0x0004		/* Periodic Interrupt Enable		*/
 #define PISCR_PTE	0x0001		/* Periodic Timer Enable		*/
diff --git a/include/ppc_asm.tmpl b/include/ppc_asm.tmpl
index 18783340d96..4947c77b8d4 100644
--- a/include/ppc_asm.tmpl
+++ b/include/ppc_asm.tmpl
@@ -81,7 +81,7 @@
 #define	r30	30
 #define	r31	31
 
-#if defined(CONFIG_8xx)
+#if defined(CONFIG_MPC8xx)
 
 /* Some special registers */
 
@@ -93,10 +93,10 @@
 #define LCTRL2	157	/* Load/Store Support	    (37-41) */
 #define ICTRL	158
 
-#endif	/* CONFIG_8xx */
+#endif	/* CONFIG_MPC8xx */
 
 
-#if defined(CONFIG_8xx)
+#if defined(CONFIG_MPC8xx)
 
 /* Registers in the processor's internal memory map that we use.
 */
diff --git a/include/watchdog.h b/include/watchdog.h
index 64b59f107ad..d420ab127b3 100644
--- a/include/watchdog.h
+++ b/include/watchdog.h
@@ -73,7 +73,7 @@ int init_func_watchdog_reset(void);
  */
 
 /* MPC 8xx */
-#if defined(CONFIG_8xx) && !defined(__ASSEMBLY__)
+#if defined(CONFIG_MPC8xx) && !defined(__ASSEMBLY__)
 	void reset_8xx_watchdog(immap_t __iomem *immr);
 #endif
 
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 07/16] powercp: mpc8xx: move commproc.h
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (5 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 06/16] powerpc: mpc8xx: Change CONFIG_8xx to CONFIG_MPC8xx Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:03   ` [U-Boot] [U-Boot,v4,07/16] " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 08/16] powerpc: mpc8xx: redistribute data in CPM dpram Christophe Leroy
                   ` (8 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

include/commproc.h is dedicated to the 8xx, rename it cpm_8xx.h and
move it into arch/powerpc/include/asm

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/cpu/mpc8xx/cpu.c                            | 2 +-
 arch/powerpc/cpu/mpc8xx/cpu_init.c                       | 2 +-
 arch/powerpc/cpu/mpc8xx/immap.c                          | 2 +-
 arch/powerpc/cpu/mpc8xx/interrupts.c                     | 2 +-
 include/commproc.h => arch/powerpc/include/asm/cpm_8xx.h | 0
 drivers/net/mpc8xx_fec.c                                 | 2 +-
 drivers/serial/serial_mpc8xx.c                           | 2 +-
 drivers/spi/mpc8xx_spi.c                                 | 2 +-
 8 files changed, 7 insertions(+), 7 deletions(-)
 rename include/commproc.h => arch/powerpc/include/asm/cpm_8xx.h (100%)

diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 78874926e33..6a1bd8dce4b 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -21,9 +21,9 @@
 #include <watchdog.h>
 #include <command.h>
 #include <mpc8xx.h>
-#include <commproc.h>
 #include <netdev.h>
 #include <asm/cache.h>
+#include <asm/cpm_8xx.h>
 #include <linux/compiler.h>
 #include <asm/io.h>
 
diff --git a/arch/powerpc/cpu/mpc8xx/cpu_init.c b/arch/powerpc/cpu/mpc8xx/cpu_init.c
index dc601a12976..6127c9f7713 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu_init.c
@@ -9,7 +9,7 @@
 #include <watchdog.h>
 
 #include <mpc8xx.h>
-#include <commproc.h>
+#include <asm/cpm_8xx.h>
 #include <asm/io.h>
 
 /*
diff --git a/arch/powerpc/cpu/mpc8xx/immap.c b/arch/powerpc/cpu/mpc8xx/immap.c
index dfe5dc21251..6164de281bd 100644
--- a/arch/powerpc/cpu/mpc8xx/immap.c
+++ b/arch/powerpc/cpu/mpc8xx/immap.c
@@ -13,7 +13,7 @@
 #include <command.h>
 
 #include <asm/immap_8xx.h>
-#include <commproc.h>
+#include <asm/cpm_8xx.h>
 #include <asm/iopin_8xx.h>
 #include <asm/io.h>
 
diff --git a/arch/powerpc/cpu/mpc8xx/interrupts.c b/arch/powerpc/cpu/mpc8xx/interrupts.c
index 846148ab986..20f9664f060 100644
--- a/arch/powerpc/cpu/mpc8xx/interrupts.c
+++ b/arch/powerpc/cpu/mpc8xx/interrupts.c
@@ -8,9 +8,9 @@
 #include <common.h>
 #include <mpc8xx.h>
 #include <mpc8xx_irq.h>
+#include <asm/cpm_8xx.h>
 #include <asm/processor.h>
 #include <asm/io.h>
-#include <commproc.h>
 
 /************************************************************************/
 
diff --git a/include/commproc.h b/arch/powerpc/include/asm/cpm_8xx.h
similarity index 100%
rename from include/commproc.h
rename to arch/powerpc/include/asm/cpm_8xx.h
diff --git a/drivers/net/mpc8xx_fec.c b/drivers/net/mpc8xx_fec.c
index 71fe984a5dd..1dd41df18be 100644
--- a/drivers/net/mpc8xx_fec.c
+++ b/drivers/net/mpc8xx_fec.c
@@ -7,10 +7,10 @@
 
 #include <common.h>
 #include <command.h>
-#include <commproc.h>
 #include <malloc.h>
 #include <net.h>
 #include <netdev.h>
+#include <asm/cpm_8xx.h>
 #include <asm/io.h>
 
 #include <phy.h>
diff --git a/drivers/serial/serial_mpc8xx.c b/drivers/serial/serial_mpc8xx.c
index 26a8085a691..7a5908f4645 100644
--- a/drivers/serial/serial_mpc8xx.c
+++ b/drivers/serial/serial_mpc8xx.c
@@ -6,10 +6,10 @@
  */
 
 #include <common.h>
-#include <commproc.h>
 #include <command.h>
 #include <serial.h>
 #include <watchdog.h>
+#include <asm/cpm_8xx.h>
 #include <linux/compiler.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/drivers/spi/mpc8xx_spi.c b/drivers/spi/mpc8xx_spi.c
index b5bd558526b..eb035e9510c 100644
--- a/drivers/spi/mpc8xx_spi.c
+++ b/drivers/spi/mpc8xx_spi.c
@@ -19,7 +19,7 @@
 
 #include <common.h>
 #include <mpc8xx.h>
-#include <commproc.h>
+#include <asm/cpm_8xx.h>
 #include <linux/ctype.h>
 #include <malloc.h>
 #include <post.h>
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 08/16] powerpc: mpc8xx: redistribute data in CPM dpram
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (6 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 07/16] powercp: mpc8xx: move commproc.h Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 09/16] powerpc: mpc8xx: initialisation of initial RAM Christophe Leroy
                   ` (7 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

Some malloc memory is needed at startup for DM model.
Lets reorganise the use of the CPM dpram.

The MPC866/885 dpram, we have 8kbytes dual port RAM, which is usable as:
IMMR + 0x2000..0x2800: BD/Data/Microcode
IMMR + 0x2800..0x2e00: BD/Data
IMMR + 0x2e00..0x3800: BD/Data/Microcode
IMMR + 0x3800..0x3a00: BD/Data
IMMR + 0x3a00..0x3c00: BD/Data/Microcode
IMMR + 0x3c00..0x4000: Parameters for the Peripheral Controllers

Lets reallocate all BDs in the 3800..3a00 area and give the full
2800..2e00 for dynamic RAM allocation including global data

That way, the microcode areas remain available if needed one day.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/include/asm/cpm_8xx.h | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/powerpc/include/asm/cpm_8xx.h b/arch/powerpc/include/asm/cpm_8xx.h
index bd8adec6b07..85903d21088 100644
--- a/arch/powerpc/include/asm/cpm_8xx.h
+++ b/arch/powerpc/include/asm/cpm_8xx.h
@@ -51,14 +51,14 @@
 /*
  * DPRAM defines and allocation functions
  */
-#define CPM_SERIAL_BASE		0x0800
-#define CPM_I2C_BASE		0x0820
-#define CPM_SPI_BASE		0x0840
-#define CPM_FEC_BASE		0x0860
-#define CPM_SERIAL2_BASE	0x08E0
-#define CPM_SCC_BASE		0x0900
-#define CPM_POST_BASE		0x0980
-#define CPM_WLKBD_BASE		0x0a00
+#define CPM_SERIAL_BASE		0x1800
+#define CPM_I2C_BASE		0x1820
+#define CPM_SPI_BASE		0x1840
+#define CPM_FEC_BASE		0x1860
+#define CPM_SERIAL2_BASE	0x18e0
+#define CPM_SCC_BASE		0x1900
+#define CPM_POST_BASE		0x1980
+#define CPM_WLKBD_BASE		0x1a00
 
 #define BD_IIC_START	((uint) 0x0400) /* <- please use CPM_I2C_BASE !! */
 
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 09/16] powerpc: mpc8xx: initialisation of initial RAM
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (7 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 08/16] powerpc: mpc8xx: redistribute data in CPM dpram Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 10/16] board: MCR3000: replace mtd->priv by mtd_to_nand() Christophe Leroy
                   ` (6 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

u-boot requires some RAM at startup, to store global data structure.
RAM is also needed when we migrate to DM for some initial malloc

This patch implements the proper init of that RAM by calling
board_init_f_alloc_reserve() and board_init_f_init_reserve()

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/cpu/mpc8xx/start.S | 27 ++++++++++++++++++++-------
 1 file changed, 20 insertions(+), 7 deletions(-)

diff --git a/arch/powerpc/cpu/mpc8xx/start.S b/arch/powerpc/cpu/mpc8xx/start.S
index 202ea81ae49..62ac80b03b9 100644
--- a/arch/powerpc/cpu/mpc8xx/start.S
+++ b/arch/powerpc/cpu/mpc8xx/start.S
@@ -130,12 +130,6 @@ in_flash:
 	/* initialize some SPRs that are hard to access from C			*/
 	/*----------------------------------------------------------------------*/
 
-	lis	r3, CONFIG_SYS_IMMR at h		/* pass IMMR as arg1 to C routine */
-	ori	r1, r3, CONFIG_SYS_INIT_SP_OFFSET /* set up the stack in internal DPRAM */
-	/* Note: R0 is still 0 here */
-	stwu	r0, -4(r1)		/* clear final stack frame so that	*/
-	stwu	r0, -4(r1)		/* stack backtraces terminate cleanly	*/
-
 	/*
 	 * Disable serialized ifetch and show cycles
 	 * (i.e. set processor to normal mode).
@@ -151,6 +145,25 @@ in_flash:
 	ori	r2, r2, CONFIG_SYS_DER at l
 	mtspr	DER, r2
 
+	/* set up the stack in internal DPRAM */
+	lis	r3, (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE)@h
+	ori	r3, r3, (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE)@l
+	addi	r1, r3, -8
+
+	bl	board_init_f_alloc_reserve
+	addi	r1, r3, -8
+
+	/* Zeroise the CPM dpram */
+	lis	r4, CONFIG_SYS_IMMR at h
+	ori	r4, r4, (0x2000 - 4)
+	li	r0, (0x2000 / 4)
+	mtctr	r0
+	li	r0, 0
+1:	stwu	r0, 4(r4)
+	bdnz	1b
+
+	bl	board_init_f_init_reserve
+
 	/* let the C-code set up the rest					*/
 	/*									*/
 	/* Be careful to keep code relocatable !				*/
@@ -158,7 +171,7 @@ in_flash:
 
 	GET_GOT			/* initialize GOT access			*/
 
-	/* r3: IMMR */
+	lis	r3, CONFIG_SYS_IMMR at h
 	bl	cpu_init_f	/* run low-level CPU init code     (from Flash)	*/
 
 	bl	board_init_f	/* run 1st part of board init code (from Flash) */
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 10/16] board: MCR3000: replace mtd->priv by mtd_to_nand()
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (8 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 09/16] powerpc: mpc8xx: initialisation of initial RAM Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 11/16] board: MCR3000: cleanup config Christophe Leroy
                   ` (5 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

Since commit 17cb4b8f327eb ("mtd: nand: Add+use mtd_to/from_nand and
nand_get/set_controller_data"), mtd_to_nand() has to be used instead
of mtd->priv

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 board/cssi/MCR3000/nand.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/board/cssi/MCR3000/nand.c b/board/cssi/MCR3000/nand.c
index 8e5b0d0618f..4c6fc865f23 100644
--- a/board/cssi/MCR3000/nand.c
+++ b/board/cssi/MCR3000/nand.c
@@ -17,7 +17,7 @@
 
 static void nand_hwcontrol(struct mtd_info *mtdinfo, int cmd, unsigned int ctrl)
 {
-	struct nand_chip *this	= mtdinfo->priv;
+	struct nand_chip *this	= mtd_to_nand(mtdinfo);
 	immap_t __iomem *immr	= (immap_t __iomem *)CONFIG_SYS_IMMR;
 	unsigned short pddat	= 0;
 
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 11/16] board: MCR3000: cleanup config
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (9 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 10/16] board: MCR3000: replace mtd->priv by mtd_to_nand() Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:03   ` [U-Boot] [U-Boot,v4,11/16] " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 12/16] common: env_embedded: allow fine placement of environment object Christophe Leroy
                   ` (4 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

Some config is redundant with Kconfig. Fix it.
Also remove unused configs
Move SDRAM_MAX_SIZE in the only place it is used

include/environment.h already defines CONFIG_ENV_SIZE
from CONFIG_ENV_SECT_SIZE and defines CONFIG_ENV_ADDR as
(CONFIG_SYS_FLASH_BASE + CONFIG_ENV_OFFSET)

remove BOOTARGS as bootargs is set by the different boot commands

Fix CONFIG_SYS_INIT_RAM_ADDR and CONFIG_SYS_INIT_RAM_SIZE to be in
line with CPM DPRAM organisation

Remove CONFIG_SYS_GBL_DATA_SIZE, CONFIG_SYS_GBL_DATA_OFFSET and
CONFIG_SYS_INIT_SP_OFFSET which are unused

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/Kconfig         |  1 +
 board/cssi/MCR3000/MCR3000.c |  2 ++
 configs/MCR3000_defconfig    |  4 ++--
 include/configs/MCR3000.h    | 34 +++-------------------------------
 4 files changed, 8 insertions(+), 33 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index f29465f2c02..77c03330303 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -32,6 +32,7 @@ config MPC86xx
 
 config MPC8xx
 	bool "MPC8xx"
+	select BOARD_EARLY_INIT_F
 	imply CMD_REGINFO
 
 endchoice
diff --git a/board/cssi/MCR3000/MCR3000.c b/board/cssi/MCR3000/MCR3000.c
index c9288818049..6939a2cf617 100644
--- a/board/cssi/MCR3000/MCR3000.c
+++ b/board/cssi/MCR3000/MCR3000.c
@@ -16,6 +16,8 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#define SDRAM_MAX_SIZE			(32 * 1024 * 1024)
+
 static const uint cs1_dram_table_66[] = {
 	/* DRAM - single read. (offset 0 in upm RAM) */
 	0x0F3DFC04, 0x0FEFBC04, 0x00BE7804, 0x0FFDF400,
diff --git a/configs/MCR3000_defconfig b/configs/MCR3000_defconfig
index bce4d0e74c2..df8ac064877 100644
--- a/configs/MCR3000_defconfig
+++ b/configs/MCR3000_defconfig
@@ -39,8 +39,6 @@ CONFIG_SYS_OR7_PRELIM=0xFFFF810A
 CONFIG_SYS_IMMR=0xFF000000
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_BOOTDELAY=5
-CONFIG_USE_BOOTARGS=y
-CONFIG_BOOTARGS="ubi.mtd=4 root=ubi0:rootfs rw rootfstype=ubifs rootflags=sync console=ttyCPM0,115200N8 ip=${ipaddr}:::${netmask}:mcr3k:eth0:off"
 CONFIG_HUSH_PARSER=y
 # CONFIG_AUTO_COMPLETE is not set
 CONFIG_SYS_PROMPT="S3K> "
@@ -71,3 +69,5 @@ CONFIG_MPC8XX_FEC=y
 CONFIG_SHA256=y
 CONFIG_LZMA=y
 CONFIG_OF_LIBFDT=y
+CONFIG_USE_BOOTCOMMAND=y
+CONFIG_BOOTCOMMAND="run flashboot"
diff --git a/include/configs/MCR3000.h b/include/configs/MCR3000.h
index 6b03873ce87..7e9fe3800da 100644
--- a/include/configs/MCR3000.h
+++ b/include/configs/MCR3000.h
@@ -9,7 +9,6 @@
 #define __CONFIG_H
 
 /* High Level Configuration Options */
-#define CONFIG_BOARD_EARLY_INIT_F	1	/* Call board_early_init_f */
 #define CONFIG_MISC_INIT_R		1	/* Call misc_init_r	*/
 
 #define CONFIG_EXTRA_ENV_SETTINGS					\
@@ -55,25 +54,16 @@
 		"${ofl_args}; "						\
 		"bootm ${loadaddr} - 0xf00000\0"
 
-#define CONFIG_BOOTDELAY		5
-
 #define CONFIG_IPADDR			192.168.0.3
 #define CONFIG_SERVERIP			192.168.0.1
 #define CONFIG_NETMASK			255.0.0.0
 
-#define CONFIG_BOOTCOMMAND		"run flashboot"
-
 #define CONFIG_LOADS_ECHO	1	/* echo on for serial download	*/
-#undef	CONFIG_LOADS_BAUD_CHANGE	/* don't allow baudrate change	*/
 
 #define CONFIG_WATCHDOG		1	/* watchdog enabled */
 
 /* Miscellaneous configurable options */
 
-#ifdef	CONFIG_HUSH_PARSER
-#define	CONFIG_SYS_PROMPT_HUSH_PS2	"S3K> "
-#endif
-
 #define CONFIG_SYS_MEMTEST_START	0x00002000
 #define CONFIG_SYS_MEMTEST_END		0x00800000
 
@@ -82,16 +72,11 @@
 #define	CONFIG_SYS_HZ			1000
 
 /* Definitions for initial stack pointer and data area (in DPRAM) */
-#define CONFIG_SYS_INIT_RAM_ADDR	CONFIG_SYS_IMMR
-#define	CONFIG_SYS_INIT_RAM_SIZE	0x2f00
-#define	CONFIG_SYS_GBL_DATA_SIZE	64
-#define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_SIZE - \
-					 CONFIG_SYS_GBL_DATA_SIZE)
-#define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
+#define CONFIG_SYS_INIT_RAM_ADDR	(CONFIG_SYS_IMMR + 0x2800)
+#define	CONFIG_SYS_INIT_RAM_SIZE	(0x2e00 - 0x2800)
 
 /* RAM configuration (note that CONFIG_SYS_SDRAM_BASE must be zero) */
 #define	CONFIG_SYS_SDRAM_BASE		0x00000000
-#define SDRAM_MAX_SIZE			(32 * 1024 * 1024)
 
 /* FLASH organization */
 #define CONFIG_SYS_FLASH_BASE		CONFIG_SYS_TEXT_BASE
@@ -116,29 +101,16 @@
 
 /* environment is in FLASH */
 #define CONFIG_ENV_SECT_SIZE	(64 * 1024)
-#define CONFIG_ENV_SIZE		CONFIG_ENV_SECT_SIZE
-#define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + CONFIG_SYS_MONITOR_LEN)
-#define CONFIG_ENV_OFFSET	(CONFIG_ENV_ADDR - CONFIG_SYS_FLASH_BASE)
+#define CONFIG_ENV_OFFSET	CONFIG_SYS_MONITOR_LEN
 #define CONFIG_ENV_OVERWRITE	1
 
-/* Cache Configuration */
-#define CONFIG_SYS_CACHELINE_SIZE	16
-
 /* Ethernet configuration part */
 #define CONFIG_SYS_DISCOVER_PHY		1
-#ifdef CONFIG_MPC8XX_FEC
 #define CONFIG_MII_INIT			1
-#endif
 
 /* NAND configuration part */
 #define CONFIG_SYS_MAX_NAND_DEVICE	1
 #define CONFIG_SYS_NAND_MAX_CHIPS	1
 #define CONFIG_SYS_NAND_BASE		0x0C000000
 
-/* Internal Definitions */
-
-/* Boot Flags*/
-#define	BOOTFLAG_COLD			0x01
-#define BOOTFLAG_WARM			0x02
-
 #endif /* __CONFIG_H */
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 12/16] common: env_embedded: allow fine placement of environment object
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (10 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 11/16] board: MCR3000: cleanup config Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 13/16] board: MCR3000: Use smaller flash sector for environment Christophe Leroy
                   ` (3 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

Commit 7653942b10e9e ("common/env_embedded.c: drop support for
CONFIG_SYS_USE_PPCENV") dropped the .ppcenv section which was
used in linking scripts to allow fine placement of embedded
environment sections.

This implies that GCC randomly places objects from env/embedded.o
and environment is not guaranteed to be located at the correct address:

04003df8 g     F .text  00000038 mii_init
04004000 g     O .text  00000004 env_size
04004004 g     O .text  00002000 environment
04006004 g     F .text  00000040 .hidden __lshrdi3

This patch restores this capability by allocating each object marked
with __UBOOT_ENV_SECTION__ into a different section. Hence
'environment' will be alone in .text.environment, allowing a
fine placement in u-boot.lds with:

		. = DEFINED(env_offset) ? env_offset : .;
		env/embedded.o			(.text.environment)

Fixes: 7653942b10e9e ("common/env_embedded.c: drop support for CONFIG_SYS_USE_PPCENV")
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 env/embedded.c        | 8 ++++----
 include/env_default.h | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/env/embedded.c b/env/embedded.c
index 43694db70fe..9b0a6a3c3da 100644
--- a/env/embedded.c
+++ b/env/embedded.c
@@ -35,11 +35,11 @@
  * a seperate section.
  */
 #if defined(USE_HOSTCC) /* Native for 'tools/envcrc' */
-#  define __UBOOT_ENV_SECTION__	/*XXX DO_NOT_DEL_THIS_COMMENT*/
+#  define __UBOOT_ENV_SECTION__(name)	/*XXX DO_NOT_DEL_THIS_COMMENT*/
 
 #else /* Environment is embedded in U-Boot's .text section */
 /* XXX - This only works with GNU C */
-#  define __UBOOT_ENV_SECTION__	__attribute__ ((section(".text")))
+#  define __UBOOT_ENV_SECTION__(name)	__attribute__ ((section(".text."#name)))
 #endif
 
 /*
@@ -70,7 +70,7 @@
 #include <env_default.h>
 
 #ifdef CONFIG_ENV_ADDR_REDUND
-env_t redundand_environment __UBOOT_ENV_SECTION__ = {
+env_t redundand_environment __UBOOT_ENV_SECTION__(redundand_environment) = {
 	0,		/* CRC Sum: invalid */
 	0,		/* Flags:   invalid */
 	{
@@ -87,7 +87,7 @@ env_t redundand_environment __UBOOT_ENV_SECTION__ = {
  * .data/.sdata section.
  *
  */
-unsigned long env_size __UBOOT_ENV_SECTION__ = sizeof(env_t);
+unsigned long env_size __UBOOT_ENV_SECTION__(env_size) = sizeof(env_t);
 
 /*
  * Add in absolutes.
diff --git a/include/env_default.h b/include/env_default.h
index b574345af25..dd741315ba4 100644
--- a/include/env_default.h
+++ b/include/env_default.h
@@ -11,7 +11,7 @@
 #include <env_callback.h>
 
 #ifdef DEFAULT_ENV_INSTANCE_EMBEDDED
-env_t environment __UBOOT_ENV_SECTION__ = {
+env_t environment __UBOOT_ENV_SECTION__(environment) = {
 	ENV_CRC,	/* CRC Sum */
 #ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
 	1,		/* Flags: valid */
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 13/16] board: MCR3000: Use smaller flash sector for environment
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (11 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 12/16] common: env_embedded: allow fine placement of environment object Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 14/16] powerpc: mpc8xx: refactorise reginfo Christophe Leroy
                   ` (2 subsequent siblings)
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

Latest versions of u-boot have increased in size and require more
than the 256kb allocated to it.

The MCR3000 board is equipped with an AM29LV160DB boot flash which
is organised as follows:
- One 16kb block
- Two 8kb block
- One 32kb block
- Thirty one 64kb blocks

At the time being, u-boot is a single piece occupying the 256 first
kbytes, then the environment is stored in the following 64kb block

The environment being quite tiny, we save one 64kb block by embedding
the environment in the first 8kb block, hence allowing to increase
the monitor size to 320kb.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 board/cssi/MCR3000/u-boot.lds | 6 +++---
 include/configs/MCR3000.h     | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/board/cssi/MCR3000/u-boot.lds b/board/cssi/MCR3000/u-boot.lds
index cd042ca0ce4..990cca4ebb6 100644
--- a/board/cssi/MCR3000/u-boot.lds
+++ b/board/cssi/MCR3000/u-boot.lds
@@ -18,14 +18,14 @@ SECTIONS
 	.text          :
 	{
 		arch/powerpc/cpu/mpc8xx/start.o	(.text)
-		arch/powerpc/cpu/mpc8xx/start.o	(.text*)
 		arch/powerpc/cpu/mpc8xx/traps.o	(.text*)
-		arch/powerpc/cpu/mpc8xx/built-in.o	(.text*)
 		arch/powerpc/lib/built-in.o		(.text*)
 		board/cssi/MCR3000/built-in.o	(.text*)
-		disk/built-in.o			(.text*)
 		drivers/net/built-in.o		(.text*)
 
+		. = DEFINED(env_offset) ? env_offset : .;
+		env/embedded.o			(.text.environment)
+
 		*(.text)
 	}
 	_etext = .;
diff --git a/include/configs/MCR3000.h b/include/configs/MCR3000.h
index 7e9fe3800da..cb28d6522ab 100644
--- a/include/configs/MCR3000.h
+++ b/include/configs/MCR3000.h
@@ -93,15 +93,15 @@
  * the maximum mapped by the Linux kernel during initialization.
  */
 #define	CONFIG_SYS_BOOTMAPSZ		(8 << 20)
-#define	CONFIG_SYS_MONITOR_LEN		(256 << 10)
+#define	CONFIG_SYS_MONITOR_LEN		(320 << 10)
 #define CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_TEXT_BASE
 #define CONFIG_SYS_MALLOC_LEN		(4096 << 10)
 
 /* Environment Configuration */
 
 /* environment is in FLASH */
-#define CONFIG_ENV_SECT_SIZE	(64 * 1024)
-#define CONFIG_ENV_OFFSET	CONFIG_SYS_MONITOR_LEN
+#define CONFIG_ENV_SECT_SIZE	0x2000
+#define CONFIG_ENV_OFFSET	0x4000
 #define CONFIG_ENV_OVERWRITE	1
 
 /* Ethernet configuration part */
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 14/16] powerpc: mpc8xx: refactorise reginfo
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (12 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 13/16] board: MCR3000: Use smaller flash sector for environment Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 15/16] powerpc: mpc8xx: cleaning up watchdog Christophe Leroy
  2018-03-16 16:21 ` [U-Boot] [PATCH v4 16/16] powerpc: mpc8xx: move watchdog into drivers/watchdog Christophe Leroy
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

reginfo is redundant with some of the commands in immap.c, so
move reginfo into that file and remove duplicated info.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/cpu/mpc8xx/Makefile  |  1 -
 arch/powerpc/cpu/mpc8xx/immap.c   | 20 +++++++++++
 arch/powerpc/cpu/mpc8xx/reginfo.c | 71 ---------------------------------------
 3 files changed, 20 insertions(+), 72 deletions(-)
 delete mode 100644 arch/powerpc/cpu/mpc8xx/reginfo.c

diff --git a/arch/powerpc/cpu/mpc8xx/Makefile b/arch/powerpc/cpu/mpc8xx/Makefile
index 40f38923ece..35ff18a7b3b 100644
--- a/arch/powerpc/cpu/mpc8xx/Makefile
+++ b/arch/powerpc/cpu/mpc8xx/Makefile
@@ -12,6 +12,5 @@ obj-y	+= cpu_init.o
 obj-$(CONFIG_OF_LIBFDT) += fdt.o
 obj-$(CONFIG_CMD_IMMAP) += immap.o
 obj-y	+= interrupts.o
-obj-$(CONFIG_CMD_REGINFO) += reginfo.o
 obj-y	+= speed.o
 obj-y	+= cache.o
diff --git a/arch/powerpc/cpu/mpc8xx/immap.c b/arch/powerpc/cpu/mpc8xx/immap.c
index 6164de281bd..8e732555baf 100644
--- a/arch/powerpc/cpu/mpc8xx/immap.c
+++ b/arch/powerpc/cpu/mpc8xx/immap.c
@@ -342,6 +342,26 @@ static int do_brginfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	return 0;
 }
 
+#ifdef CONFIG_CMD_REGINFO
+void print_reginfo(void)
+{
+	immap_t __iomem     *immap  = (immap_t __iomem *)CONFIG_SYS_IMMR;
+	sit8xx_t __iomem *timers = &immap->im_sit;
+
+	printf("\nSystem Configuration registers\n"
+		"\tIMMR\t0x%08X\n", get_immr());
+	do_siuinfo(NULL, 0, 0, NULL);
+
+	printf("Memory Controller Registers\n");
+	do_memcinfo(NULL, 0, 0, NULL);
+
+	printf("\nSystem Integration Timers\n");
+	printf("\tTBSCR\t0x%04X\tRTCSC\t0x%04X\n",
+	       in_be16(&timers->sit_tbscr), in_be16(&timers->sit_rtcsc));
+	printf("\tPISCR\t0x%04X\n", in_be16(&timers->sit_piscr));
+}
+#endif
+
 /***************************************************/
 
 U_BOOT_CMD(
diff --git a/arch/powerpc/cpu/mpc8xx/reginfo.c b/arch/powerpc/cpu/mpc8xx/reginfo.c
deleted file mode 100644
index d48ea265f83..00000000000
--- a/arch/powerpc/cpu/mpc8xx/reginfo.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * (C) Copyright 2000
- * Subodh Nijsure, SkyStream Networks, snijsure at skystream.com
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <common.h>
-#include <mpc8xx.h>
-#include <asm/io.h>
-#include <asm/ppc.h>
-
-void print_reginfo(void)
-{
-	immap_t __iomem     *immap  = (immap_t __iomem *)CONFIG_SYS_IMMR;
-	memctl8xx_t __iomem *memctl = &immap->im_memctl;
-	sysconf8xx_t __iomem *sysconf = &immap->im_siu_conf;
-	sit8xx_t __iomem *timers = &immap->im_sit;
-
-	/* Hopefully more PowerPC  knowledgable people will add code to display
-	 * other useful registers
-	 */
-
-	printf("\nSystem Configuration registers\n"
-		"\tIMMR\t0x%08X\n", get_immr());
-
-	printf("\tSIUMCR\t0x%08X", in_be32(&sysconf->sc_siumcr));
-	printf("\tSYPCR\t0x%08X\n", in_be32(&sysconf->sc_sypcr));
-
-	printf("\tSWT\t0x%08X", in_be32(&sysconf->sc_swt));
-	printf("\tSWSR\t0x%04X\n", in_be16(&sysconf->sc_swsr));
-
-	printf("\tSIPEND\t0x%08X\tSIMASK\t0x%08X\n",
-	       in_be32(&sysconf->sc_sipend), in_be32(&sysconf->sc_simask));
-	printf("\tSIEL\t0x%08X\tSIVEC\t0x%08X\n",
-	       in_be32(&sysconf->sc_siel), in_be32(&sysconf->sc_sivec));
-	printf("\tTESR\t0x%08X\tSDCR\t0x%08X\n",
-	       in_be32(&sysconf->sc_tesr), in_be32(&sysconf->sc_sdcr));
-
-	printf("Memory Controller Registers\n");
-	printf("\tBR0\t0x%08X\tOR0\t0x%08X\n", in_be32(&memctl->memc_br0),
-	       in_be32(&memctl->memc_or0));
-	printf("\tBR1\t0x%08X\tOR1\t0x%08X\n", in_be32(&memctl->memc_br1),
-	       in_be32(&memctl->memc_or1));
-	printf("\tBR2\t0x%08X\tOR2\t0x%08X\n", in_be32(&memctl->memc_br2),
-	       in_be32(&memctl->memc_or2));
-	printf("\tBR3\t0x%08X\tOR3\t0x%08X\n", in_be32(&memctl->memc_br3),
-	       in_be32(&memctl->memc_or3));
-	printf("\tBR4\t0x%08X\tOR4\t0x%08X\n", in_be32(&memctl->memc_br4),
-	       in_be32(&memctl->memc_or4));
-	printf("\tBR5\t0x%08X\tOR5\t0x%08X\n", in_be32(&memctl->memc_br5),
-	       in_be32(&memctl->memc_or5));
-	printf("\tBR6\t0x%08X\tOR6\t0x%08X\n", in_be32(&memctl->memc_br6),
-	       in_be32(&memctl->memc_or6));
-	printf("\tBR7\t0x%08X\tOR7\t0x%08X\n", in_be32(&memctl->memc_br7),
-	       in_be32(&memctl->memc_or7));
-	printf("\n\tmamr\t0x%08X\tmbmr\t0x%08X\n", in_be32(&memctl->memc_mamr),
-	       in_be32(&memctl->memc_mbmr));
-	printf("\tmstat\t0x%04X\tmptpr\t0x%04X\n", in_be16(&memctl->memc_mstat),
-	       in_be16(&memctl->memc_mptpr));
-	printf("\tmdr\t0x%08X\n", in_be32(&memctl->memc_mdr));
-
-	printf("\nSystem Integration Timers\n");
-	printf("\tTBSCR\t0x%04X\tRTCSC\t0x%04X\n",
-	       in_be16(&timers->sit_tbscr), in_be16(&timers->sit_rtcsc));
-	printf("\tPISCR\t0x%04X\n", in_be16(&timers->sit_piscr));
-
-	/*
-	 * May be some CPM info here?
-	 */
-}
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 15/16] powerpc: mpc8xx: cleaning up watchdog
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (13 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 14/16] powerpc: mpc8xx: refactorise reginfo Christophe Leroy
@ 2018-03-16 16:20 ` Christophe Leroy
  2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
  2018-03-16 16:21 ` [U-Boot] [PATCH v4 16/16] powerpc: mpc8xx: move watchdog into drivers/watchdog Christophe Leroy
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:20 UTC (permalink / raw)
  To: u-boot

In preparation of migration to DM watchdog, clean up a bit.

The 8xx watchdog really is a HW watchdog, so declare it as is
then it goes through Kconfig

And the watchdog reset doesn't mind getting interrupted, so
no need to disable interrupts

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/Kconfig               |  1 +
 arch/powerpc/cpu/mpc8xx/cpu.c      | 19 +++----------------
 arch/powerpc/cpu/mpc8xx/cpu_init.c |  9 +++++----
 include/configs/MCR3000.h          |  2 --
 include/watchdog.h                 |  5 -----
 5 files changed, 9 insertions(+), 27 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 77c03330303..af45cfe8498 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -34,6 +34,7 @@ config MPC8xx
 	bool "MPC8xx"
 	select BOARD_EARLY_INIT_F
 	imply CMD_REGINFO
+	imply HW_WATCHDOG
 
 endchoice
 
diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 6a1bd8dce4b..7608970e3b1 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -272,24 +272,11 @@ unsigned long get_tbclk(void)
 
 /* ------------------------------------------------------------------------- */
 
-#if defined(CONFIG_WATCHDOG)
-void watchdog_reset(void)
+#if defined(CONFIG_HW_WATCHDOG)
+void hw_watchdog_reset(void)
 {
-	int re_enable = disable_interrupts();
+	immap_t __iomem *immr = (immap_t __iomem *)CONFIG_SYS_IMMR;
 
-	reset_8xx_watchdog((immap_t __iomem *)CONFIG_SYS_IMMR);
-	if (re_enable)
-		enable_interrupts();
-}
-#endif /* CONFIG_WATCHDOG */
-
-#if defined(CONFIG_WATCHDOG)
-
-void reset_8xx_watchdog(immap_t __iomem *immr)
-{
-	/*
-	 * All other boards use the MPC8xx Internal Watchdog
-	 */
 	out_be16(&immr->im_siu_conf.sc_swsr, 0x556c);	/* write magic1 */
 	out_be16(&immr->im_siu_conf.sc_swsr, 0xaa39);	/* write magic2 */
 }
diff --git a/arch/powerpc/cpu/mpc8xx/cpu_init.c b/arch/powerpc/cpu/mpc8xx/cpu_init.c
index 6127c9f7713..99e8c85e7a3 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu_init.c
@@ -26,11 +26,12 @@ void cpu_init_f(immap_t __iomem *immr)
 
 	/* SYPCR - contains watchdog control (11-9) */
 
-	out_be32(&immr->im_siu_conf.sc_sypcr, CONFIG_SYS_SYPCR);
+#ifndef CONFIG_HW_WATCHDOG
+	/* deactivate watchdog if not enabled in config */
+	out_be32(&immr->im_siu_conf.sc_sypcr, CONFIG_SYS_SYPCR & ~SYPCR_SWE);
+#endif
 
-#if defined(CONFIG_WATCHDOG)
-	reset_8xx_watchdog(immr);
-#endif /* CONFIG_WATCHDOG */
+	WATCHDOG_RESET();
 
 	/* SIUMCR - contains debug pin configuration (11-6) */
 	setbits_be32(&immr->im_siu_conf.sc_siumcr, CONFIG_SYS_SIUMCR);
diff --git a/include/configs/MCR3000.h b/include/configs/MCR3000.h
index cb28d6522ab..aeda4742aab 100644
--- a/include/configs/MCR3000.h
+++ b/include/configs/MCR3000.h
@@ -60,8 +60,6 @@
 
 #define CONFIG_LOADS_ECHO	1	/* echo on for serial download	*/
 
-#define CONFIG_WATCHDOG		1	/* watchdog enabled */
-
 /* Miscellaneous configurable options */
 
 #define CONFIG_SYS_MEMTEST_START	0x00002000
diff --git a/include/watchdog.h b/include/watchdog.h
index d420ab127b3..52f4c506b04 100644
--- a/include/watchdog.h
+++ b/include/watchdog.h
@@ -72,11 +72,6 @@ int init_func_watchdog_reset(void);
  * Prototypes from $(CPU)/cpu.c.
  */
 
-/* MPC 8xx */
-#if defined(CONFIG_MPC8xx) && !defined(__ASSEMBLY__)
-	void reset_8xx_watchdog(immap_t __iomem *immr);
-#endif
-
 #if defined(CONFIG_HW_WATCHDOG) && !defined(__ASSEMBLY__)
 	void hw_watchdog_init(void);
 #endif
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [PATCH v4 16/16] powerpc: mpc8xx: move watchdog into drivers/watchdog
  2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
                   ` (14 preceding siblings ...)
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 15/16] powerpc: mpc8xx: cleaning up watchdog Christophe Leroy
@ 2018-03-16 16:21 ` Christophe Leroy
  2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
  15 siblings, 1 reply; 33+ messages in thread
From: Christophe Leroy @ 2018-03-16 16:21 UTC (permalink / raw)
  To: u-boot

In preparation of DM watchdog, move basic actions into drivers/watchdog

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/Kconfig            |  2 +-
 arch/powerpc/cpu/mpc8xx/Kconfig |  4 ++++
 arch/powerpc/cpu/mpc8xx/cpu.c   | 12 ------------
 drivers/watchdog/Makefile       |  1 +
 drivers/watchdog/mpc8xx_wdt.c   | 21 +++++++++++++++++++++
 5 files changed, 27 insertions(+), 13 deletions(-)
 create mode 100644 drivers/watchdog/mpc8xx_wdt.c

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index af45cfe8498..13a79560b24 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -34,7 +34,7 @@ config MPC8xx
 	bool "MPC8xx"
 	select BOARD_EARLY_INIT_F
 	imply CMD_REGINFO
-	imply HW_WATCHDOG
+	imply MPC8xx_WATCHDOG
 
 endchoice
 
diff --git a/arch/powerpc/cpu/mpc8xx/Kconfig b/arch/powerpc/cpu/mpc8xx/Kconfig
index f1123173765..b0e90a0f203 100644
--- a/arch/powerpc/cpu/mpc8xx/Kconfig
+++ b/arch/powerpc/cpu/mpc8xx/Kconfig
@@ -25,6 +25,10 @@ config MPC885
 
 endchoice
 
+config MPC8xx_WATCHDOG
+	bool "Watchdog"
+	select HW_WATCHDOG
+
 config 8xx_GCLK_FREQ
 	int "CPU GCLK Frequency"
 
diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 7608970e3b1..d17ad846949 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -270,18 +270,6 @@ unsigned long get_tbclk(void)
 	return oscclk / 16;
 }
 
-/* ------------------------------------------------------------------------- */
-
-#if defined(CONFIG_HW_WATCHDOG)
-void hw_watchdog_reset(void)
-{
-	immap_t __iomem *immr = (immap_t __iomem *)CONFIG_SYS_IMMR;
-
-	out_be16(&immr->im_siu_conf.sc_swsr, 0x556c);	/* write magic1 */
-	out_be16(&immr->im_siu_conf.sc_swsr, 0xaa39);	/* write magic2 */
-}
-#endif /* CONFIG_WATCHDOG */
-
 /*
  * Initializes on-chip ethernet controllers.
  * to override, implement board_eth_init()
diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
index ab6a6b79e1d..6c605e87e85 100644
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
@@ -22,3 +22,4 @@ obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
 obj-$(CONFIG_WDT_BCM6345) += bcm6345_wdt.o
 obj-$(CONFIG_BCM2835_WDT)       += bcm2835_wdt.o
 obj-$(CONFIG_WDT_ORION) += orion_wdt.o
+obj-$(CONFIG_MPC8xx_WATCHDOG) += mpc8xx_wdt.o
diff --git a/drivers/watchdog/mpc8xx_wdt.c b/drivers/watchdog/mpc8xx_wdt.c
new file mode 100644
index 00000000000..ded80c4d6a9
--- /dev/null
+++ b/drivers/watchdog/mpc8xx_wdt.c
@@ -0,0 +1,21 @@
+/*
+ * Copyright 2017 CS Systemes d'Information
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <mpc8xx.h>
+#include <asm/cpm_8xx.h>
+#include <asm/io.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+void hw_watchdog_reset(void)
+{
+	immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
+
+	out_be16(&immap->im_siu_conf.sc_swsr, 0x556c);	/* write magic1 */
+	out_be16(&immap->im_siu_conf.sc_swsr, 0xaa39);	/* write magic2 */
+}
+
-- 
2.13.3

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 01/16] soft_i2c: cleanup - no mpc8xx support
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 01/16] soft_i2c: cleanup - no mpc8xx support Christophe Leroy
@ 2018-04-06 21:02   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:02 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:31PM +0100, Christophe Leroy wrote:

> commit 907208c452999 ("powerpc: Partialy restore core of mpc8xx")
> didn't bring back support for I2C on the mpc8xx
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/a3ea7319/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 02/16] powerpc: mpc8xx: harmonise initialisation of the immap local pointer
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 02/16] powerpc: mpc8xx: harmonise initialisation of the immap local pointer Christophe Leroy
@ 2018-04-06 21:02   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:02 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:33PM +0100, Christophe Leroy wrote:

> In most places, immap local pointer is defined as
> 	immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
> In a few places, it is defined as
> 	immap_t __iomem *immap = (immap_t __iomem *)(immr & 0xFFFF0000);
> 
> This patch replaces the few of the latest form by the other one.
> 
> The two are fully equivalent since SPRN_IMMR is set with CONFIG_SYS_IMMR
> very early in start.S
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/6a339302/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 03/16] powerpc: mpc8xx: get rid of the multiple PVR_ values
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 03/16] powerpc: mpc8xx: get rid of the multiple PVR_ values Christophe Leroy
@ 2018-04-06 21:02   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:02 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:35PM +0100, Christophe Leroy wrote:

> Avoid hardcoding the PVR values in C since they are defined
> in processor.h
> 
> At the same time, remove those multiple PVR values for 8xx and
> keep only one that we call PVR_8xx
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/3961e204/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 04/16] powerpc: mpc8xx: make get_immr() independent of CONFIG_8xx
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 04/16] powerpc: mpc8xx: make get_immr() independent of CONFIG_8xx Christophe Leroy
@ 2018-04-06 21:02   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:02 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:37PM +0100, Christophe Leroy wrote:

> SPRN_IMMR is defined regardless of the CPU. Therefore, there
> is no point in enclosing get_immr() inside a #ifdef CONFIG_8xx
> 
> As it a static inline function, it will in any case only be
> compiled in functons using it.
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/f118c905/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 05/16] powerpc: mpc8xx: remove get_immr() argument
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 05/16] powerpc: mpc8xx: remove get_immr() argument Christophe Leroy
@ 2018-04-06 21:03   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:03 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:39PM +0100, Christophe Leroy wrote:

> get_immr() is always called with 0 as an argument, so it is useless.
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/8fb75b91/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 06/16] powerpc: mpc8xx: Change CONFIG_8xx to CONFIG_MPC8xx
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 06/16] powerpc: mpc8xx: Change CONFIG_8xx to CONFIG_MPC8xx Christophe Leroy
@ 2018-04-06 21:03   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:03 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:41PM +0100, Christophe Leroy wrote:

> CONFIG_8xx doesn't mean much outside of arch/powerpc/
> This patch renames it CONFIG_MPC8xx just like CONFIG_MPC85xx etc ...
> It also renames 8xx_immap.h to immap_8xx.h to be consistent with
> other file names.
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/47eddfcc/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot,v4,07/16] powercp: mpc8xx: move commproc.h
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 07/16] powercp: mpc8xx: move commproc.h Christophe Leroy
@ 2018-04-06 21:03   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:03 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:43PM +0100, Christophe Leroy wrote:

> include/commproc.h is dedicated to the 8xx, rename it cpm_8xx.h and
> move it into arch/powerpc/include/asm
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/662e494d/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 08/16] powerpc: mpc8xx: redistribute data in CPM dpram
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 08/16] powerpc: mpc8xx: redistribute data in CPM dpram Christophe Leroy
@ 2018-04-06 21:03   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:03 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:45PM +0100, Christophe Leroy wrote:

> Some malloc memory is needed at startup for DM model.
> Lets reorganise the use of the CPM dpram.
> 
> The MPC866/885 dpram, we have 8kbytes dual port RAM, which is usable as:
> IMMR + 0x2000..0x2800: BD/Data/Microcode
> IMMR + 0x2800..0x2e00: BD/Data
> IMMR + 0x2e00..0x3800: BD/Data/Microcode
> IMMR + 0x3800..0x3a00: BD/Data
> IMMR + 0x3a00..0x3c00: BD/Data/Microcode
> IMMR + 0x3c00..0x4000: Parameters for the Peripheral Controllers
> 
> Lets reallocate all BDs in the 3800..3a00 area and give the full
> 2800..2e00 for dynamic RAM allocation including global data
> 
> That way, the microcode areas remain available if needed one day.
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/fd6218f3/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 09/16] powerpc: mpc8xx: initialisation of initial RAM
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 09/16] powerpc: mpc8xx: initialisation of initial RAM Christophe Leroy
@ 2018-04-06 21:03   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:03 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:47PM +0100, Christophe Leroy wrote:

> u-boot requires some RAM at startup, to store global data structure.
> RAM is also needed when we migrate to DM for some initial malloc
> 
> This patch implements the proper init of that RAM by calling
> board_init_f_alloc_reserve() and board_init_f_init_reserve()
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/d11b298f/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 10/16] board: MCR3000: replace mtd->priv by mtd_to_nand()
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 10/16] board: MCR3000: replace mtd->priv by mtd_to_nand() Christophe Leroy
@ 2018-04-06 21:03   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:03 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:49PM +0100, Christophe Leroy wrote:

> Since commit 17cb4b8f327eb ("mtd: nand: Add+use mtd_to/from_nand and
> nand_get/set_controller_data"), mtd_to_nand() has to be used instead
> of mtd->priv
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/8fa16b28/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot,v4,11/16] board: MCR3000: cleanup config
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 11/16] board: MCR3000: cleanup config Christophe Leroy
@ 2018-04-06 21:03   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:03 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:51PM +0100, Christophe Leroy wrote:

> Some config is redundant with Kconfig. Fix it.
> Also remove unused configs
> Move SDRAM_MAX_SIZE in the only place it is used
> 
> include/environment.h already defines CONFIG_ENV_SIZE
> from CONFIG_ENV_SECT_SIZE and defines CONFIG_ENV_ADDR as
> (CONFIG_SYS_FLASH_BASE + CONFIG_ENV_OFFSET)
> 
> remove BOOTARGS as bootargs is set by the different boot commands
> 
> Fix CONFIG_SYS_INIT_RAM_ADDR and CONFIG_SYS_INIT_RAM_SIZE to be in
> line with CPM DPRAM organisation
> 
> Remove CONFIG_SYS_GBL_DATA_SIZE, CONFIG_SYS_GBL_DATA_OFFSET and
> CONFIG_SYS_INIT_SP_OFFSET which are unused
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/2c36db95/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 12/16] common: env_embedded: allow fine placement of environment object
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 12/16] common: env_embedded: allow fine placement of environment object Christophe Leroy
@ 2018-04-06 21:03   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:03 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:53PM +0100, Christophe Leroy wrote:

> Commit 7653942b10e9e ("common/env_embedded.c: drop support for
> CONFIG_SYS_USE_PPCENV") dropped the .ppcenv section which was
> used in linking scripts to allow fine placement of embedded
> environment sections.
> 
> This implies that GCC randomly places objects from env/embedded.o
> and environment is not guaranteed to be located at the correct address:
> 
> 04003df8 g     F .text  00000038 mii_init
> 04004000 g     O .text  00000004 env_size
> 04004004 g     O .text  00002000 environment
> 04006004 g     F .text  00000040 .hidden __lshrdi3
> 
> This patch restores this capability by allocating each object marked
> with __UBOOT_ENV_SECTION__ into a different section. Hence
> 'environment' will be alone in .text.environment, allowing a
> fine placement in u-boot.lds with:
> 
> 		. = DEFINED(env_offset) ? env_offset : .;
> 		env/embedded.o			(.text.environment)
> 
> Fixes: 7653942b10e9e ("common/env_embedded.c: drop support for CONFIG_SYS_USE_PPCENV")
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/490be286/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 13/16] board: MCR3000: Use smaller flash sector for environment
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 13/16] board: MCR3000: Use smaller flash sector for environment Christophe Leroy
@ 2018-04-06 21:03   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:03 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:55PM +0100, Christophe Leroy wrote:

> Latest versions of u-boot have increased in size and require more
> than the 256kb allocated to it.
> 
> The MCR3000 board is equipped with an AM29LV160DB boot flash which
> is organised as follows:
> - One 16kb block
> - Two 8kb block
> - One 32kb block
> - Thirty one 64kb blocks
> 
> At the time being, u-boot is a single piece occupying the 256 first
> kbytes, then the environment is stored in the following 64kb block
> 
> The environment being quite tiny, we save one 64kb block by embedding
> the environment in the first 8kb block, hence allowing to increase
> the monitor size to 320kb.
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/0f8498f6/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 14/16] powerpc: mpc8xx: refactorise reginfo
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 14/16] powerpc: mpc8xx: refactorise reginfo Christophe Leroy
@ 2018-04-06 21:03   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:03 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:57PM +0100, Christophe Leroy wrote:

> reginfo is redundant with some of the commands in immap.c, so
> move reginfo into that file and remove duplicated info.
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/5e42a15b/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 15/16] powerpc: mpc8xx: cleaning up watchdog
  2018-03-16 16:20 ` [U-Boot] [PATCH v4 15/16] powerpc: mpc8xx: cleaning up watchdog Christophe Leroy
@ 2018-04-06 21:03   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:03 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:20:59PM +0100, Christophe Leroy wrote:

> In preparation of migration to DM watchdog, clean up a bit.
> 
> The 8xx watchdog really is a HW watchdog, so declare it as is
> then it goes through Kconfig
> 
> And the watchdog reset doesn't mind getting interrupted, so
> no need to disable interrupts
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/6d607cd2/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [U-Boot] [U-Boot, v4, 16/16] powerpc: mpc8xx: move watchdog into drivers/watchdog
  2018-03-16 16:21 ` [U-Boot] [PATCH v4 16/16] powerpc: mpc8xx: move watchdog into drivers/watchdog Christophe Leroy
@ 2018-04-06 21:03   ` Tom Rini
  0 siblings, 0 replies; 33+ messages in thread
From: Tom Rini @ 2018-04-06 21:03 UTC (permalink / raw)
  To: u-boot

On Fri, Mar 16, 2018 at 05:21:01PM +0100, Christophe Leroy wrote:

> In preparation of DM watchdog, move basic actions into drivers/watchdog
> 
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180406/82c9c8a2/attachment.sig>

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2018-04-06 21:03 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-16 16:20 [U-Boot] [PATCH v4 00/16] Powerpc: mpc8xx: cleanup before migration to DM model Christophe Leroy
2018-03-16 16:20 ` [U-Boot] [PATCH v4 01/16] soft_i2c: cleanup - no mpc8xx support Christophe Leroy
2018-04-06 21:02   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 02/16] powerpc: mpc8xx: harmonise initialisation of the immap local pointer Christophe Leroy
2018-04-06 21:02   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 03/16] powerpc: mpc8xx: get rid of the multiple PVR_ values Christophe Leroy
2018-04-06 21:02   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 04/16] powerpc: mpc8xx: make get_immr() independent of CONFIG_8xx Christophe Leroy
2018-04-06 21:02   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 05/16] powerpc: mpc8xx: remove get_immr() argument Christophe Leroy
2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 06/16] powerpc: mpc8xx: Change CONFIG_8xx to CONFIG_MPC8xx Christophe Leroy
2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 07/16] powercp: mpc8xx: move commproc.h Christophe Leroy
2018-04-06 21:03   ` [U-Boot] [U-Boot,v4,07/16] " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 08/16] powerpc: mpc8xx: redistribute data in CPM dpram Christophe Leroy
2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 09/16] powerpc: mpc8xx: initialisation of initial RAM Christophe Leroy
2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 10/16] board: MCR3000: replace mtd->priv by mtd_to_nand() Christophe Leroy
2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 11/16] board: MCR3000: cleanup config Christophe Leroy
2018-04-06 21:03   ` [U-Boot] [U-Boot,v4,11/16] " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 12/16] common: env_embedded: allow fine placement of environment object Christophe Leroy
2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 13/16] board: MCR3000: Use smaller flash sector for environment Christophe Leroy
2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 14/16] powerpc: mpc8xx: refactorise reginfo Christophe Leroy
2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:20 ` [U-Boot] [PATCH v4 15/16] powerpc: mpc8xx: cleaning up watchdog Christophe Leroy
2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini
2018-03-16 16:21 ` [U-Boot] [PATCH v4 16/16] powerpc: mpc8xx: move watchdog into drivers/watchdog Christophe Leroy
2018-04-06 21:03   ` [U-Boot] [U-Boot, v4, " Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.