85xx: Reworked initial processor init
PATCH v2 1/1 85xx: Reworked initial processor init
Reworked the initial processor initialzation sequence:
* introduced cpu_early_init_f that is run in address space 1 (AS=1)
* Moved TLB/LAW and CCSR init into cpu_early_init_f()
* Reworked initial asm code to do most of the core init before TLBs
The main reasons for these changes are to allow handling of 36-bit phys addresses in the future and some of the issues that will exist when we do that.
There are a few caveats on what can be initialized via the LAW and TLB static tables:
* TLB entry 14/15 can't be initialized via the TLB table
* any LAW that covers the implicit boot window (4G-8M to 4G) must map to the code that is currently executing.
--- cpu/mpc85xx/cpu_init.c | 56 +++++++++++++++++++-- cpu/mpc85xx/start.S | 131 +++++++++++++++++++++++------------------------- 2 files changed, 115 insertions(+), 72 deletions(-)
cpu/mpc85xx/cpu_init.c +52 -4
@@ -31,6 +31,7 @@#include <asm/processor.h> #include <ioports.h> #include <asm/io.h> +#include <asm/mmu.h> #include <asm/fsl_law.h> DECLARE_GLOBAL_DATA_PTR ;
@@ -123,6 +124,54 @@ void config_8560_ioports (volatile ccsr_cpm_t * cpm) }#endif +/* We run cpu_init_early_f in AS = 1 */ +void cpu_init_early_f (void ) +{ +set_tlb (0 ,CFG_CCSRBAR ,CFG_CCSRBAR , +MAS3_SX |MAS3_SW |MAS3_SR ,MAS2_I |MAS2_G , +1 ,0 ,BOOKE_PAGESZ_4K ,0 ); + +/* set up CCSR if we want it moved */ +#if (CFG_CCSRBAR_DEFAULT !=CFG_CCSRBAR ) + { +u32 temp; + +set_tlb (0 ,CFG_CCSRBAR_DEFAULT ,CFG_CCSRBAR_DEFAULT , +MAS3_SX |MAS3_SW |MAS3_SR ,MAS2_I |MAS2_G , +1 ,1 ,BOOKE_PAGESZ_4K ,0 ); + + temp =in_be32 ((volatile u32 *)CFG_CCSRBAR_DEFAULT ); +out_be32 ((volatile u32 *)CFG_CCSRBAR_DEFAULT ,CFG_CCSRBAR >>12 ); + + temp =in_be32 ((volatile u32 *)CFG_CCSRBAR ); + } +#endif + +init_laws (); +invalidate_tlb (0 ); +#ifdef CONFIG_FSL_INIT_TLBS +init_tlbs (); +#else + { +extern u32 tlb1_entry; +u32 *tmp = &tlb1_entry; +int i; +int num = tmp[2 ]; + +/* skip to actual table */ + tmp +=3 ; + +for (i =0 ; i < num; i++, tmp +=4 ) { +mtspr (MAS0 , tmp[0 ]); +mtspr (MAS1 , tmp[1 ]); +mtspr (MAS2 , tmp[2 ]); +mtspr (MAS3 , tmp[3 ]); + asmvolatile ("isync;msync;tlbwe;isync" ); + } + } +#endif +} +/* * Breathe some life into the CPU... *
@@ -135,16 +184,15 @@ void cpu_init_f (void)volatile ccsr_lbc_t *memctl = (void *)(CFG_MPC85xx_LBC_ADDR);extern void m8560_cpm_reset (void ); +disable_tlb (14 ); +disable_tlb (15 ); +/* Pointer is writable since we allocated a register for it */ gd = (gd_t *) (CFG_INIT_RAM_ADDR +CFG_GBL_DATA_OFFSET );/* Clear initial global data */ memset ((void *) gd,0 ,sizeof (gd_t)); -#ifdef CONFIG_FSL_LAW -init_laws (); -#endif -#ifdef CONFIG_CPM2 config_8560_ioports ((ccsr_cpm_t *)CFG_MPC85xx_CPM_ADDR);#endif
cpu/mpc85xx/start.S +63 -68
161 lines not on this page · raw message
Signature · 1 line
1.5.3.7
PATCH v2 1/1 85xx: Convert MPC8544 DS to new TLB setup
--- board/freescale/mpc8544ds/Makefile | 4 +- board/freescale/mpc8544ds/init.S | 174 ---------------------------------- board/freescale/mpc8544ds/tlb.c | 99 +++++++++++++++++++ board/freescale/mpc8544ds/u-boot.lds | 2 - include/configs/MPC8544DS.h | 1 + 5 files changed, 101 insertions(+), 179 deletions(-) delete mode 100644 board/freescale/mpc8544ds/init.S create mode 100644 board/freescale/mpc8544ds/tlb.c
board/freescale/mpc8544ds/Makefile +1 -3
@@ -26,9 +26,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o law.o - -SOBJS := init.o +COBJS := $(BOARD).o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/freescale/mpc8544ds/init.S deleted +0 -174
174 lines not on this page · raw message
board/freescale/mpc8544ds/tlb.c new file +99 -0
99 lines not on this page · raw message
board/freescale/mpc8544ds/u-boot.lds +0 -2
@@ -34,7 +34,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/freescale/mpc8544ds/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -64,7 +63,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/freescale/mpc8544ds/init.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/cpu_init.o (.text)
include/configs/MPC8544DS.h +1 -0
@@ -43,6 +43,7 @@#define CONFIG_FSL_PCIE_RESET 1/* need PCIe reset errata */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ #define CONFIG_TSEC_ENET /* tsec ethernet support */ #define CONFIG_ENV_OVERWRITE
Signature · 1 line
1.5.3.7
PATCH 1/1 85xx: Convert ATUM8548 to new TLB setup
--- board/atum8548/Makefile | 4 +- board/atum8548/init.S | 175 -------------------------------------------- board/atum8548/tlb.c | 90 ++++++++++++++++++++++ board/atum8548/u-boot.lds | 2 - include/configs/ATUM8548.h | 1 + 5 files changed, 92 insertions(+), 180 deletions(-) delete mode 100644 board/atum8548/init.S create mode 100644 board/atum8548/tlb.c
board/atum8548/Makefile +1 -3
@@ -29,9 +29,7 @@ endif LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o law.o - -SOBJS := init.o +COBJS := $(BOARD).o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/atum8548/init.S deleted +0 -175
175 lines not on this page · raw message
board/atum8548/tlb.c new file +90 -0
90 lines not on this page · raw message
board/atum8548/u-boot.lds +0 -2
@@ -34,7 +34,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/atum8548/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -64,7 +63,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/atum8548/init.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/cpu_init.o (.text)
include/configs/ATUM8548.h +1 -0
@@ -64,6 +64,7 @@#define CONFIG_INTERRUPTS /* enable pci, srio, ddr interrupts */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ #define MPC85xx_DDR_SDRAM_CLK_CNTL/* 85xx has clock control reg */
Signature · 1 line
1.5.3.7
PATCH 1/1 85xx: Convert MPC8540/MPC8560 ADS to new TLB setup
--- board/freescale/mpc8540ads/Makefile | 3 +- board/freescale/mpc8540ads/init.S | 212 -------------------------------- board/freescale/mpc8540ads/tlb.c | 130 ++++++++++++++++++++ board/freescale/mpc8540ads/u-boot.lds | 2 - board/freescale/mpc8560ads/Makefile | 3 +- board/freescale/mpc8560ads/init.S | 213 --------------------------------- board/freescale/mpc8560ads/tlb.c | 130 ++++++++++++++++++++ board/freescale/mpc8560ads/u-boot.lds | 2 - include/configs/MPC8540ADS.h | 1 + include/configs/MPC8560ADS.h | 1 + 10 files changed, 264 insertions(+), 433 deletions(-) delete mode 100644 board/freescale/mpc8540ads/init.S create mode 100644 board/freescale/mpc8540ads/tlb.c delete mode 100644 board/freescale/mpc8560ads/init.S create mode 100644 board/freescale/mpc8560ads/tlb.c
board/freescale/mpc8540ads/Makefile +1 -2
@@ -25,8 +25,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o law.o -SOBJS := init.o +COBJS := $(BOARD).o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/freescale/mpc8540ads/init.S deleted +0 -212
212 lines not on this page · raw message
board/freescale/mpc8540ads/tlb.c new file +130 -0
130 lines not on this page · raw message
board/freescale/mpc8540ads/u-boot.lds +0 -2
@@ -35,7 +35,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/freescale/mpc8540ads/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -65,7 +64,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/freescale/mpc8540ads/init.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/cpu_init.o (.text)
board/freescale/mpc8560ads/Makefile +1 -2
@@ -25,8 +25,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o law.o -SOBJS := init.o +COBJS := $(BOARD).o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/freescale/mpc8560ads/init.S deleted +0 -213
213 lines not on this page · raw message
board/freescale/mpc8560ads/tlb.c new file +130 -0
130 lines not on this page · raw message
board/freescale/mpc8560ads/u-boot.lds +0 -2
@@ -35,7 +35,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/freescale/mpc8560ads/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -65,7 +64,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/freescale/mpc8560ads/init.o (.text) cpu/mpc85xx/commproc.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text)
include/configs/MPC8540ADS.h +1 -0
@@ -56,6 +56,7 @@#define CONFIG_MEM_INIT_VALUE 0xDeadBeef#define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * sysclk for MPC85xx
include/configs/MPC8560ADS.h +1 -0
@@ -53,6 +53,7 @@#define CONFIG_MEM_INIT_VALUE 0xDeadBeef#define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * sysclk for MPC85xx
Signature · 1 line
1.5.3.7
PATCH 1/1 85xx: Convert MPC8541/MPC8555/MPC8548 CDS to new TLB setup
--- board/freescale/mpc8541cds/Makefile | 4 +- board/freescale/mpc8541cds/init.S | 192 --------------------------------- board/freescale/mpc8541cds/tlb.c | 112 +++++++++++++++++++ board/freescale/mpc8541cds/u-boot.lds | 2 - board/freescale/mpc8548cds/Makefile | 4 +- board/freescale/mpc8548cds/init.S | 184 ------------------------------- board/freescale/mpc8548cds/tlb.c | 104 ++++++++++++++++++ board/freescale/mpc8548cds/u-boot.lds | 2 - board/freescale/mpc8555cds/Makefile | 4 +- board/freescale/mpc8555cds/init.S | 192 --------------------------------- board/freescale/mpc8555cds/tlb.c | 112 +++++++++++++++++++ board/freescale/mpc8555cds/u-boot.lds | 2 - include/configs/MPC8541CDS.h | 1 + include/configs/MPC8548CDS.h | 1 + include/configs/MPC8555CDS.h | 1 + 15 files changed, 334 insertions(+), 583 deletions(-) delete mode 100644 board/freescale/mpc8541cds/init.S create mode 100644 board/freescale/mpc8541cds/tlb.c delete mode 100644 board/freescale/mpc8548cds/init.S create mode 100644 board/freescale/mpc8548cds/tlb.c delete mode 100644 board/freescale/mpc8555cds/init.S create mode 100644 board/freescale/mpc8555cds/tlb.c
board/freescale/mpc8541cds/Makefile +1 -3
@@ -29,14 +29,12 @@ endif LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o law.o \ +COBJS := $(BOARD).o law.o tlb.o \ ../common/cadmus.o \ ../common/eeprom.o \ ../common/ft_board.o \ ../common/via.o -SOBJS := init.o - SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS)) SOBJS := $(addprefix $(obj),$(SOBJS))
board/freescale/mpc8541cds/init.S deleted +0 -192
192 lines not on this page · raw message
board/freescale/mpc8541cds/tlb.c new file +112 -0
112 lines not on this page · raw message
board/freescale/mpc8541cds/u-boot.lds +0 -2
@@ -34,7 +34,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/freescale/mpc8541cds/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -64,7 +63,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/freescale/mpc8541cds/init.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/cpu_init.o (.text)
board/freescale/mpc8548cds/Makefile +1 -3
@@ -29,14 +29,12 @@ endif LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o law.o \ +COBJS := $(BOARD).o law.o tlb.o \ ../common/cadmus.o \ ../common/eeprom.o \ ../common/ft_board.o \ ../common/via.o -SOBJS := init.o - SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS)) SOBJS := $(addprefix $(obj),$(SOBJS))
board/freescale/mpc8548cds/init.S deleted +0 -184
184 lines not on this page · raw message
board/freescale/mpc8548cds/tlb.c new file +104 -0
104 lines not on this page · raw message
board/freescale/mpc8548cds/u-boot.lds +0 -2
@@ -34,7 +34,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/freescale/mpc8548cds/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -64,7 +63,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/freescale/mpc8548cds/init.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/cpu_init.o (.text)
board/freescale/mpc8555cds/Makefile +1 -3
@@ -29,14 +29,12 @@ endif LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o law.o \ +COBJS := $(BOARD).o law.o tlb.o \ ../common/cadmus.o \ ../common/eeprom.o \ ../common/ft_board.o \ ../common/via.o -SOBJS := init.o - SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS)) SOBJS := $(addprefix $(obj),$(SOBJS))
board/freescale/mpc8555cds/init.S deleted +0 -192
192 lines not on this page · raw message
board/freescale/mpc8555cds/tlb.c new file +112 -0
112 lines not on this page · raw message
board/freescale/mpc8555cds/u-boot.lds +0 -2
@@ -34,7 +34,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/freescale/mpc8555cds/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -64,7 +63,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/freescale/mpc8555cds/init.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/cpu_init.o (.text)
include/configs/MPC8541CDS.h +1 -0
@@ -48,6 +48,7 @@#define CONFIG_MEM_INIT_VALUE 0xDeadBeef#define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * When initializing flash, if we cannot find the manufacturer ID,
include/configs/MPC8548CDS.h +1 -0
@@ -56,6 +56,7 @@#define CONFIG_INTERRUPTS /* enable pci, srio, ddr interrupts */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * When initializing flash, if we cannot find the manufacturer ID,
include/configs/MPC8555CDS.h +1 -0
@@ -48,6 +48,7 @@#define CONFIG_MEM_INIT_VALUE 0xDeadBeef#define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * When initializing flash, if we cannot find the manufacturer ID,
Signature · 1 line
1.5.3.7
PATCH 1/1 85xx: Convert MPC8568 MDS to new TLB setup
--- board/freescale/mpc8568mds/Makefile | 4 +- board/freescale/mpc8568mds/init.S | 178 --------------------------------- board/freescale/mpc8568mds/tlb.c | 100 ++++++++++++++++++ board/freescale/mpc8568mds/u-boot.lds | 2 - include/configs/MPC8568MDS.h | 1 + 5 files changed, 102 insertions(+), 183 deletions(-) delete mode 100644 board/freescale/mpc8568mds/init.S create mode 100644 board/freescale/mpc8568mds/tlb.c
board/freescale/mpc8568mds/Makefile +1 -3
@@ -29,9 +29,7 @@ endif LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o bcsr.o law.o - -SOBJS := init.o +COBJS := $(BOARD).o bcsr.o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/freescale/mpc8568mds/init.S deleted +0 -178
178 lines not on this page · raw message
board/freescale/mpc8568mds/tlb.c new file +100 -0
100 lines not on this page · raw message
board/freescale/mpc8568mds/u-boot.lds +0 -2
@@ -37,7 +37,6 @@ SECTIONS .bootpg 0xFFFFF000: { cpu/mpc85xx/start.o (.bootpg) - board/freescale/mpc8568mds/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -67,7 +66,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/freescale/mpc8568mds/init.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/cpu_init.o (.text)
include/configs/MPC8568MDS.h +1 -0
@@ -50,6 +50,7 @@#define CONFIG_MEM_INIT_VALUE 0xDeadBeef#define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * When initializing flash, if we cannot find the manufacturer ID,
Signature · 1 line
1.5.3.7
PATCH 1/1 85xx: Convert MPC8540EVAL to new TLB setup
--- board/mpc8540eval/Makefile | 3 +- board/mpc8540eval/init.S | 137 ----------------------------------------- board/mpc8540eval/tlb.c | 78 +++++++++++++++++++++++ board/mpc8540eval/u-boot.lds | 2 - include/configs/MPC8540EVAL.h | 1 + 5 files changed, 80 insertions(+), 141 deletions(-) delete mode 100644 board/mpc8540eval/init.S create mode 100644 board/mpc8540eval/tlb.c
board/mpc8540eval/Makefile +1 -2
@@ -25,8 +25,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o flash.o law.o -SOBJS := init.o +COBJS := $(BOARD).o flash.o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/mpc8540eval/init.S deleted +0 -137
137 lines not on this page · raw message
board/mpc8540eval/tlb.c new file +78 -0
78 lines not on this page · raw message
board/mpc8540eval/u-boot.lds +0 -2
@@ -56,7 +56,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/mpc8540eval/init.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/cpu_init.o (.text)
@@ -143,7 +142,6 @@ SECTIONS .bootpg : { cpu/mpc85xx/start.o (.bootpg) - board/mpc8540eval/init.o (.bootpg) } = 0xffff . = (. & 0xFFF80000) + 0x0007FFFC;
include/configs/MPC8540EVAL.h +1 -0
@@ -44,6 +44,7 @@#define CONFIG_DDR_DLL /* possible DLL fix needed */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* Using Localbus SDRAM to emulate flash before we can program the flash, * normally you only need a flash-boot image(u-boot.bin),if unsure undef this.
Signature · 1 line
1.5.3.7
PATCH 1/1 85xx: Convert PM854/PM856 to new TLB setup
--- board/pm854/Makefile | 3 +- board/pm854/init.S | 198 ----------------------------------------------- board/pm854/tlb.c | 117 ++++++++++++++++++++++++++++ board/pm854/u-boot.lds | 2 - board/pm856/Makefile | 3 +- board/pm856/init.S | 198 ----------------------------------------------- board/pm856/tlb.c | 117 ++++++++++++++++++++++++++++ board/pm856/u-boot.lds | 2 - include/configs/PM854.h | 1 + include/configs/PM856.h | 1 + 10 files changed, 238 insertions(+), 404 deletions(-) delete mode 100644 board/pm854/init.S create mode 100644 board/pm854/tlb.c delete mode 100644 board/pm856/init.S create mode 100644 board/pm856/tlb.c
board/pm854/Makefile +1 -2
@@ -25,8 +25,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o law.o -SOBJS := init.o +COBJS := $(BOARD).o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/pm854/init.S deleted +0 -198
198 lines not on this page · raw message
board/pm854/tlb.c new file +117 -0
117 lines not on this page · raw message
board/pm854/u-boot.lds +0 -2
@@ -35,7 +35,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/pm854/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -65,7 +64,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/pm854/init.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/cpu_init.o (.text)
board/pm856/Makefile +1 -2
@@ -25,8 +25,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o law.o -SOBJS := init.o +COBJS := $(BOARD).o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/pm856/init.S deleted +0 -198
198 lines not on this page · raw message
board/pm856/tlb.c new file +117 -0
117 lines not on this page · raw message
board/pm856/u-boot.lds +0 -2
@@ -36,7 +36,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/pm856/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -66,7 +65,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/pm856/init.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/cpu_init.o (.text)
include/configs/PM854.h +1 -0
@@ -52,6 +52,7 @@#define CONFIG_MEM_INIT_VALUE 0xDEADBEEF#define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * sysclk for MPC85xx
include/configs/PM856.h +1 -0
@@ -52,6 +52,7 @@#define CONFIG_MEM_INIT_VALUE 0xDEADBEEF#define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * sysclk for MPC85xx
Signature · 1 line
1.5.3.7
PATCH 1/1 85xx: Convert SBC8540/SBC8560/SBC8548 to new TLB setup
--- board/sbc8548/Makefile | 3 +- board/sbc8548/init.S | 193 --------------------------------------------- board/sbc8548/tlb.c | 108 +++++++++++++++++++++++++ board/sbc8548/u-boot.lds | 2 - board/sbc8560/Makefile | 3 +- board/sbc8560/init.S | 120 ---------------------------- board/sbc8560/tlb.c | 65 +++++++++++++++ board/sbc8560/u-boot.lds | 2 - include/configs/SBC8540.h | 1 + include/configs/sbc8548.h | 1 + include/configs/sbc8560.h | 1 + 11 files changed, 178 insertions(+), 321 deletions(-) delete mode 100644 board/sbc8548/init.S create mode 100644 board/sbc8548/tlb.c delete mode 100644 board/sbc8560/init.S create mode 100644 board/sbc8560/tlb.c
board/sbc8548/Makefile +1 -2
@@ -28,8 +28,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o law.o -SOBJS := init.o +COBJS := $(BOARD).o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/sbc8548/init.S deleted +0 -193
193 lines not on this page · raw message
board/sbc8548/tlb.c new file +108 -0
108 lines not on this page · raw message
board/sbc8548/u-boot.lds +0 -2
@@ -34,7 +34,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/sbc8548/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -64,7 +63,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/sbc8548/init.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/cpu_init.o (.text)
board/sbc8560/Makefile +1 -2
@@ -28,8 +28,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o law.o -SOBJS := init.o +COBJS := $(BOARD).o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/sbc8560/init.S deleted +0 -120
120 lines not on this page · raw message
board/sbc8560/tlb.c new file +65 -0
65 lines not on this page · raw message
board/sbc8560/u-boot.lds +0 -2
@@ -38,7 +38,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/sbc8560/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -68,7 +67,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/sbc8560/init.o (.text) cpu/mpc85xx/commproc.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text)
include/configs/SBC8540.h +1 -0
@@ -57,6 +57,7 @@#undef CONFIG_ETHER_ON_FCC/* cpm FCC ethernet support */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ #define CONFIG_ENV_OVERWRITE
include/configs/sbc8548.h +1 -0
@@ -57,6 +57,7 @@#define CONFIG_INTERRUPTS /* enable pci, srio, ddr interrupts */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ #define MPC85xx_DDR_SDRAM_CLK_CNTL/* 85xx has clock control reg */
include/configs/sbc8560.h +1 -0
@@ -51,6 +51,7 @@#undef CONFIG_ETHER_ON_FCC/* cpm FCC ethernet support */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ #define CONFIG_ENV_OVERWRITE
Signature · 1 line
1.5.3.7
PATCH 1/1 85xx: Convert STXGP3 & STXSSA to new TLB setup
--- board/stxgp3/Makefile | 3 +- board/stxgp3/init.S | 219 ---------------------------------------------- board/stxgp3/tlb.c | 130 +++++++++++++++++++++++++++ board/stxgp3/u-boot.lds | 2 - board/stxssa/Makefile | 3 +- board/stxssa/init.S | 191 ---------------------------------------- board/stxssa/tlb.c | 106 ++++++++++++++++++++++ board/stxssa/u-boot.lds | 2 - include/configs/stxgp3.h | 1 + include/configs/stxssa.h | 1 + 10 files changed, 240 insertions(+), 418 deletions(-) delete mode 100644 board/stxgp3/init.S create mode 100644 board/stxgp3/tlb.c delete mode 100644 board/stxssa/init.S create mode 100644 board/stxssa/tlb.c
board/stxgp3/Makefile +1 -2
@@ -25,8 +25,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o flash.o law.o -SOBJS := init.o +COBJS := $(BOARD).o flash.o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/stxgp3/init.S deleted +0 -219
219 lines not on this page · raw message
board/stxgp3/tlb.c new file +130 -0
130 lines not on this page · raw message
board/stxgp3/u-boot.lds +0 -2
@@ -40,7 +40,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/stxgp3/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -70,7 +69,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/stxgp3/init.o (.text) cpu/mpc85xx/commproc.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text)
board/stxssa/Makefile +1 -2
@@ -25,8 +25,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o law.o -SOBJS := init.o +COBJS := $(BOARD).o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/stxssa/init.S deleted +0 -191
191 lines not on this page · raw message
board/stxssa/tlb.c new file +106 -0
106 lines not on this page · raw message
board/stxssa/u-boot.lds +0 -2
@@ -40,7 +40,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/stxssa/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -70,7 +69,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/stxssa/init.o (.text) cpu/mpc85xx/commproc.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text)
include/configs/stxgp3.h +1 -0
@@ -52,6 +52,7 @@#define CONFIG_DDR_2T_TIMING /* Sets the 2T timing bit */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* sysclk for MPC85xx */
include/configs/stxssa.h +1 -0
@@ -52,6 +52,7 @@#define CONFIG_DDR_2T_TIMING /* Sets the 2T timing bit */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* sysclk for MPC85xx */
Signature · 1 line
1.5.3.7
PATCH 1/1 85xx: Convert TQM85xx to new TLB setup
--- board/tqm85xx/Makefile | 3 +- board/tqm85xx/init.S | 178 --------------------------------------------- board/tqm85xx/tlb.c | 114 +++++++++++++++++++++++++++++ board/tqm85xx/u-boot.lds | 2 - include/configs/TQM85xx.h | 1 + 5 files changed, 116 insertions(+), 182 deletions(-) delete mode 100644 board/tqm85xx/init.S create mode 100644 board/tqm85xx/tlb.c
board/tqm85xx/Makefile +1 -2
@@ -25,8 +25,7 @@ include $(TOPDIR)/config.mk LIB = $(obj)lib$(BOARD).a -COBJS := $(BOARD).o sdram.o law.o -SOBJS := init.o +COBJS := $(BOARD).o sdram.o law.o tlb.o SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) OBJS := $(addprefix $(obj),$(COBJS))
board/tqm85xx/init.S deleted +0 -178
178 lines not on this page · raw message
board/tqm85xx/tlb.c new file +114 -0
114 lines not on this page · raw message
board/tqm85xx/u-boot.lds +0 -2
@@ -35,7 +35,6 @@ SECTIONS .bootpg 0xFFFFF000 : { cpu/mpc85xx/start.o (.bootpg) - board/tqm85xx/init.o (.bootpg) } = 0xffff /* Read-only sections, merged into text segment: */
@@ -65,7 +64,6 @@ SECTIONS .text : { cpu/mpc85xx/start.o (.text) - board/tqm85xx/init.o (.text) cpu/mpc85xx/traps.o (.text) cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/cpu_init.o (.text)
include/configs/TQM85xx.h +1 -0
@@ -51,6 +51,7 @@#endif #define CONFIG_FSL_LAW 1/* Use common FSL init code */ +#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * sysclk for MPC85xx
Signature · 1 line
1.5.3.7
PATCH 1/1 85xx: Get ride of old TLB setup code
Now that all boards have been converted, remove old config code and the config option for the new style.
--- cpu/mpc85xx/cpu_init.c | 20 -------------------- cpu/mpc85xx/tlb.c | 2 -- include/configs/ATUM8548.h | 1 - include/configs/MPC8540ADS.h | 1 - include/configs/MPC8540EVAL.h | 1 - include/configs/MPC8541CDS.h | 1 - include/configs/MPC8544DS.h | 1 - include/configs/MPC8548CDS.h | 1 - include/configs/MPC8555CDS.h | 1 - include/configs/MPC8560ADS.h | 1 - include/configs/MPC8568MDS.h | 1 - include/configs/PM854.h | 1 - include/configs/PM856.h | 1 - include/configs/SBC8540.h | 1 - include/configs/TQM85xx.h | 1 - include/configs/sbc8548.h | 1 - include/configs/sbc8560.h | 1 - include/configs/stxgp3.h | 1 - include/configs/stxssa.h | 1 - 19 files changed, 0 insertions(+), 39 deletions(-)
cpu/mpc85xx/cpu_init.c +0 -20
@@ -149,27 +149,7 @@ void cpu_init_early_f(void)init_laws ();invalidate_tlb (0 ); -#ifdef CONFIG_FSL_INIT_TLBS init_tlbs (); -#else - { -extern u32 tlb1_entry; -u32 *tmp = &tlb1_entry; -int i; -int num = tmp[2 ]; - -/* skip to actual table */ - tmp +=3 ; - -for (i =0 ; i < num; i++, tmp +=4 ) { -mtspr (MAS0 , tmp[0 ]); -mtspr (MAS1 , tmp[1 ]); -mtspr (MAS2 , tmp[2 ]); -mtspr (MAS3 , tmp[3 ]); - asmvolatile ("isync;msync;tlbwe;isync" ); - } - } -#endif }/*
cpu/mpc85xx/tlb.c +0 -2
@@ -79,7 +79,6 @@ void invalidate_tlb(u8 tlb)void init_tlbs (void ) { -#ifdef CONFIG_FSL_INIT_TLBS int i;for (i =0 ; i < num_tlb_entries; i++) {
@@ -88,7 +87,6 @@ void init_tlbs(void) tlb_table[i].ts, tlb_table[i].esel, tlb_table[i].tsize, tlb_table[i].iprot); } -#endif return ; }
include/configs/ATUM8548.h +0 -1
@@ -64,7 +64,6 @@#define CONFIG_INTERRUPTS /* enable pci, srio, ddr interrupts */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ #define MPC85xx_DDR_SDRAM_CLK_CNTL/* 85xx has clock control reg */
include/configs/MPC8540ADS.h +0 -1
@@ -56,7 +56,6 @@#define CONFIG_MEM_INIT_VALUE 0xDeadBeef#define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * sysclk for MPC85xx
include/configs/MPC8540EVAL.h +0 -1
@@ -44,7 +44,6 @@#define CONFIG_DDR_DLL /* possible DLL fix needed */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* Using Localbus SDRAM to emulate flash before we can program the flash, * normally you only need a flash-boot image(u-boot.bin),if unsure undef this.
include/configs/MPC8541CDS.h +0 -1
@@ -48,7 +48,6 @@#define CONFIG_MEM_INIT_VALUE 0xDeadBeef#define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * When initializing flash, if we cannot find the manufacturer ID,
include/configs/MPC8544DS.h +0 -1
@@ -43,7 +43,6 @@#define CONFIG_FSL_PCIE_RESET 1/* need PCIe reset errata */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ #define CONFIG_TSEC_ENET /* tsec ethernet support */ #define CONFIG_ENV_OVERWRITE
include/configs/MPC8548CDS.h +0 -1
@@ -56,7 +56,6 @@#define CONFIG_INTERRUPTS /* enable pci, srio, ddr interrupts */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * When initializing flash, if we cannot find the manufacturer ID,
include/configs/MPC8555CDS.h +0 -1
@@ -48,7 +48,6 @@#define CONFIG_MEM_INIT_VALUE 0xDeadBeef#define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * When initializing flash, if we cannot find the manufacturer ID,
include/configs/MPC8560ADS.h +0 -1
@@ -53,7 +53,6 @@#define CONFIG_MEM_INIT_VALUE 0xDeadBeef#define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * sysclk for MPC85xx
include/configs/MPC8568MDS.h +0 -1
@@ -50,7 +50,6 @@#define CONFIG_MEM_INIT_VALUE 0xDeadBeef#define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * When initializing flash, if we cannot find the manufacturer ID,
include/configs/PM854.h +0 -1
@@ -52,7 +52,6 @@#define CONFIG_MEM_INIT_VALUE 0xDEADBEEF#define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * sysclk for MPC85xx
include/configs/PM856.h +0 -1
@@ -52,7 +52,6 @@#define CONFIG_MEM_INIT_VALUE 0xDEADBEEF#define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * sysclk for MPC85xx
include/configs/SBC8540.h +0 -1
@@ -57,7 +57,6 @@#undef CONFIG_ETHER_ON_FCC/* cpm FCC ethernet support */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ #define CONFIG_ENV_OVERWRITE
include/configs/TQM85xx.h +0 -1
@@ -51,7 +51,6 @@#endif #define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* * sysclk for MPC85xx
include/configs/sbc8548.h +0 -1
@@ -57,7 +57,6 @@#define CONFIG_INTERRUPTS /* enable pci, srio, ddr interrupts */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ #define MPC85xx_DDR_SDRAM_CLK_CNTL/* 85xx has clock control reg */
include/configs/sbc8560.h +0 -1
@@ -51,7 +51,6 @@#undef CONFIG_ETHER_ON_FCC/* cpm FCC ethernet support */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ #define CONFIG_ENV_OVERWRITE
include/configs/stxgp3.h +0 -1
@@ -52,7 +52,6 @@#define CONFIG_DDR_2T_TIMING /* Sets the 2T timing bit */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* sysclk for MPC85xx */
include/configs/stxssa.h +0 -1
@@ -52,7 +52,6 @@#define CONFIG_DDR_2T_TIMING /* Sets the 2T timing bit */ #define CONFIG_FSL_LAW 1/* Use common FSL init code */ -#define CONFIG_FSL_INIT_TLBS 1/* Use common FSL init code */ /* sysclk for MPC85xx */
Signature · 1 line
1.5.3.7