[U-Boot-Users] [PATCH 1/6] General modification to support mpc8360epb

Subject: [PATCH] General modification to support mpc8360epb
---
CHANGELOG | 2 ++ MAKEALL | 2 +- Makefile | 31 ++++++++++++++++++++++++++++ README | 45 ++++++++++++++++++++++------------------- include/asm-ppc/e300.h | 2 ++ include/asm-ppc/global_data.h | 14 +++++++++++-- include/asm-ppc/i2c.h | 8 ++++--- include/asm-ppc/u-boot.h | 4 ++++ include/common.h | 5 +++++ lib_ppc/board.c | 4 ++++ 10 files changed, 89 insertions(+), 28 deletions(-)
d1bd8dc6d94dcb6e70992467a2e74de4f321ef56 diff --git a/CHANGELOG b/CHANGELOG index 24499c5..d2a9643 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ ====================================================================== Changes since U-Boot 1.1.4: ====================================================================== +* Add support for Freescale MPC8360EPB board. + Patch by Dave Liu and Tanya Jiang, Aug 17 2006
* Fix control-c handing in CONFIG_CMDLINE_EDITING Properly pass break code back from readline. diff --git a/MAKEALL b/MAKEALL index 467a9be..25e0399 100755 --- a/MAKEALL +++ b/MAKEALL @@ -119,7 +119,7 @@ ## MPC83xx Systems (includes 8349, etc.)
######################################################################## #
LIST_83xx=" \ - TQM834x MPC8349EMDS \ + TQM834x MPC8349EMDS MPC8360EPB \ "
diff --git a/Makefile b/Makefile index 128ae59..c65bb4b 100644 --- a/Makefile +++ b/Makefile @@ -139,6 +139,10 @@ LIBS += drivers/sk98lin/libsk98lin.a LIBS += post/libpost.a post/cpu/libcpu.a LIBS += common/libcommon.a LIBS += $(BOARDLIBS) +ifeq ($(BOARD),mpc8360epb) +LIBS += drivers/sysdev/qe_lib/ucc/libucc.a +LIBS += drivers/sysdev/qe_lib/libqe.a +endif .PHONY : $(LIBS)
# Add GCC lib @@ -1377,6 +1381,33 @@ TQM834x_config: unconfig MPC8349EMDS_config: unconfig @./mkconfig $(@:_config=) ppc mpc83xx mpc8349emds
+####################################################################### # +## MPC8360 Systems +####################################################################### ## +MPC8360EPB_config \ +MPC8360EPB_HOST_33_config \ +MPC8360EPB_HOST_66_config \ +MPC8360EPB_SLAVE_config: unconfig + @echo "" >include/config.h ; \ + if [ "$(findstring _HOST_,$@)" ] ; then \ + echo -n "... PCI HOST " ; \ + echo "#define CONFIG_PCI" >>include/config.h ; \ + fi ; \ + if [ "$(findstring _SLAVE_,$@)" ] ; then \ + echo "...PCI SLAVE 66M" ; \ + echo "#define CONFIG_PCI" >>include/config.h ; \ + echo "#define CONFIG_PCISLAVE" >>include/config.h ; \ + fi ; \ + if [ "$(findstring _33_,$@)" ] ; then \ + echo -n "...33M ..." ; \ + echo "#define PCI_33M" >>include/config.h ; \ + fi ; \ + if [ "$(findstring _66_,$@)" ] ; then \ + echo -n "...66M..." ; \ + echo "#define PCI_66M" >>include/config.h ; \ + fi ; + @./mkconfig -a MPC8360EPB ppc mpc83xx mpc8360epb +
######################################################################## # ## MPC85xx Systems
######################################################################## # diff --git a/README b/README index e772c1a..dff3f31 100644 --- a/README +++ b/README @@ -142,6 +142,7 @@ Directory Hierarchy: - mpc8220 Files specific to Freescale MPC8220 CPUs - mpc824x Files specific to Freescale MPC824x CPUs - mpc8260 Files specific to Freescale MPC8260 CPUs + - mpc83xx Files specific to Freescale MPC83xx CPUs - mpc85xx Files specific to Freescale MPC85xx CPUs - nios Files specific to Altera NIOS CPUs - nios2 Files specific to Altera Nios-II CPUs @@ -233,6 +234,7 @@ The following options need to be configu or CONFIG_MPC5xx or CONFIG_MPC8220 or CONFIG_MPC824X, CONFIG_MPC8260 + or CONFIG_MPC83XX or CONFIG_MPC85xx or CONFIG_IOP480 or CONFIG_405GP @@ -289,17 +291,18 @@ The following options need to be configu CONFIG_DUET_ADS CONFIG_MIP405 CONFIG_SXNI855T CONFIG_EBONY CONFIG_MOUSSE CONFIG_TQM823L CONFIG_ELPPC CONFIG_MPC8260ADS CONFIG_TQM8260 - CONFIG_ELPT860 CONFIG_MPC8540ADS CONFIG_TQM850L - CONFIG_ep8260 CONFIG_MPC8540EVAL CONFIG_TQM855L - CONFIG_ERIC CONFIG_MPC8560ADS CONFIG_TQM860L - CONFIG_ESTEEM192E CONFIG_MUSENKI CONFIG_TTTech - CONFIG_ETX094 CONFIG_MVS1 CONFIG_UTX8245 - CONFIG_EVB64260 CONFIG_NETPHONE CONFIG_V37 - CONFIG_FADS823 CONFIG_NETTA CONFIG_W7OLMC - CONFIG_FADS850SAR CONFIG_NETVIA CONFIG_W7OLMG - CONFIG_FADS860T CONFIG_NX823 CONFIG_WALNUT - CONFIG_FLAGADM CONFIG_OCRTC CONFIG_ZPC1900 - CONFIG_FPS850L CONFIG_ORSG CONFIG_ZUMA + CONFIG_ELPT860 CONFIG_MPC8360EPB CONFIG_TQM850L + CONFIG_ep8260 CONFIG_MPC8540ADS CONFIG_TQM855L + CONFIG_ERIC CONFIG_MPC8540EVAL CONFIG_TQM860L + CONFIG_ESTEEM192E CONFIG_MPC8560ADS CONFIG_TTTech + CONFIG_ETX094 CONFIG_MUSENKI CONFIG_UTX8245 + CONFIG_EVB64260 CONFIG_MVS1 CONFIG_V37 + CONFIG_FADS823 CONFIG_NETPHONE CONFIG_W7OLMC + CONFIG_FADS850SAR CONFIG_NETTA CONFIG_W7OLMG + CONFIG_FADS860T CONFIG_NETVIA CONFIG_WALNUT + CONFIG_FLAGADM CONFIG_NX823 CONFIG_ZPC1900 + CONFIG_FPS850L CONFIG_OCRTC CONFIG_ZUMA + CONFIG_ORSG
ARM based boards: ----------------- @@ -2290,16 +2293,16 @@ configurations; the following names are CU824_config MBX860T_config sbc8560_33_config DUET_ADS_config MBX_config sbc8560_66_config EBONY_config MPC8260ADS_config SM850_config - ELPT860_config MPC8540ADS_config SPD823TS_config - ESTEEM192E_config MPC8540EVAL_config stxgp3_config - ETX094_config MPC8560ADS_config SXNI855T_config - FADS823_config NETVIA_config TQM823L_config - FADS850SAR_config omap1510inn_config TQM850L_config - FADS860T_config omap1610h2_config TQM855L_config - FPS850L_config omap1610inn_config TQM860L_config - omap5912osk_config walnut_config - omap2420h4_config Yukon8220_config - ZPC1900_config + ELPT860_config MPC8360EPB_config SPD823TS_config + ESTEEM192E_config MPC8540ADS_config stxgp3_config + ETX094_config MPC8540EVAL_config SXNI855T_config + FADS823_config MPC8560ADS_config TQM823L_config + FADS850SAR_config NETVIA_config TQM850L_config + FADS860T_config omap1510inn_config TQM855L_config + FPS850L_config omap1610h2_config TQM860L_config + omap1610inn_config walnut_config + omap5912osk_config Yukon8220_config + omap2420h4_config ZPC1900_config
Note: for some board special configuration names may exist; check if additional information is available from the board vendor; for diff --git a/include/asm-ppc/e300.h b/include/asm-ppc/e300.h index 908007c..79dcae4 100644 --- a/include/asm-ppc/e300.h +++ b/include/asm-ppc/e300.h @@ -12,6 +12,8 @@ #define __E300_H__ #define PVR_83xx 0x80830000 #define PVR_8349_REV10 (PVR_83xx | 0x0010) #define PVR_8349_REV11 (PVR_83xx | 0x0011) +#define PVR_8360_REV10 (PVR_83xx | 0x0020) +#define PVR_8360_REV11 (PVR_83xx | 0x0020)
/* * Hardware Implementation-Dependent Register 0 (HID0) diff --git a/include/asm-ppc/global_data.h b/include/asm-ppc/global_data.h index b73af96..418315b 100644 --- a/include/asm-ppc/global_data.h +++ b/include/asm-ppc/global_data.h @@ -52,17 +52,27 @@ #endif #if defined(CONFIG_MPC83XX) /* There are other clocks in the MPC83XX */ u32 csb_clk; +#if defined (CONFIG_MPC8349) u32 tsec1_clk; u32 tsec2_clk; - u32 core_clk; u32 usbmph_clk; u32 usbdr_clk; - u32 i2c_clk; +#endif /* CONFIG_MPC8349 */ + u32 core_clk; + u32 i2c1_clk; + u32 i2c2_clk; u32 enc_clk; u32 lbiu_clk; u32 lclk_clk; u32 ddr_clk; u32 pci_clk; +#if defined(CONFIG_QE) + u32 qe_clk; + u32 brg_clk; +#endif /* CONFIG_QE */ +#if defined (CONFIG_MPC8360) + u32 ddr_sec_clk; +#endif /* CONFIG_MPC8360 */ #endif #if defined(CONFIG_MPC5xxx) unsigned long ipb_clk; diff --git a/include/asm-ppc/i2c.h b/include/asm-ppc/i2c.h index 1680d3a..1c2e7e5 100644 --- a/include/asm-ppc/i2c.h +++ b/include/asm-ppc/i2c.h @@ -87,12 +87,12 @@ #ifndef CFG_I2C_OFFSET #error CFG_I2C_OFFSET is not defined in /include/configs/${BOARD}.h #endif
-#if defined(CONFIG_MPC8349EMDS) || defined(CONFIG_TQM834X) +#if defined(CONFIG_MPC8349EMDS) || defined(CONFIG_TQM834X) || defined(CONFIG_MPC8360EPB) /* - * MPC8349 have two i2c bus + * MPC8349 and MPC8360 have two i2c bus */ -extern i2c_t * mpc8349_i2c; -#define I2C mpc8349_i2c +extern i2c_t * mpc83xx_i2c; +#define I2C mpc83xx_i2c #else #define I2C ((i2c_t*)(CFG_IMMRBAR + CFG_I2C_OFFSET)) #endif diff --git a/include/asm-ppc/u-boot.h b/include/asm-ppc/u-boot.h index f7aa55f..6c5481b 100644 --- a/include/asm-ppc/u-boot.h +++ b/include/asm-ppc/u-boot.h @@ -74,6 +74,10 @@ #if defined(CONFIG_CPM2) unsigned long bi_sccfreq; /* SCC_CLK Freq, in MHz */ unsigned long bi_vco; /* VCO Out from PLL, in MHz */ #endif +#if defined(CONFIG_QE) + unsigned long bi_qefreq; /* QE_CLK Freq, in MHz */ + unsigned long bi_brgfreq; /* BRG_CLK Freq, in MHz */ +#endif #if defined(CONFIG_MPC5xxx) unsigned long bi_ipbfreq; /* IPB Bus Freq, in MHz */ unsigned long bi_pcifreq; /* PCI Bus Freq, in MHz */ diff --git a/include/common.h b/include/common.h index bd41ae1..794f065 100644 --- a/include/common.h +++ b/include/common.h @@ -386,6 +386,11 @@ void ppcDcbi(unsigned long value); void ppcSync(void); void ppcDcbz(unsigned long value); #endif +#if defined (CONFIG_MPC83XX) +void ppcDcbst(unsigned long value); +void ppcDWstore(unsigned int *address, unsigned int *value); +void ppcDWload(unsigned int *address, unsigned int *ret); +#endif
/* $(CPU)/cpu.c */ int checkcpu (void); diff --git a/lib_ppc/board.c b/lib_ppc/board.c index db80f77..87e48b3 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -545,6 +545,10 @@ #if defined(CONFIG_CPM2) bd->bi_sccfreq = gd->scc_clk; bd->bi_vco = gd->vco_out; #endif /* CONFIG_CPM2 */ +#if defined(CONFIG_QE) + bd->bi_qefreq = gd->qe_clk; + bd->bi_brgfreq = gd->brg_clk; +#endif /* CONFIG_QE */ #if defined(CONFIG_MPC5xxx) bd->bi_ipbfreq = gd->ipb_clk; bd->bi_pcifreq = gd->pci_clk;
participants (1)
-
Jiang Bo-r61859