Add U-Boot support to Ocotea/440GX port
PATCH 1/1 Add U-Boot support to Ocotea/440GX port
Adds support for booting the same Ocotea kernel from either the default PIBS f/w or U-Boot.
Signed-off-by Matt Porter <[email protected]>
arch/ppc/boot/simple/Makefile +1 -0
@@ -64,6 +64,7 @@ zimageinitrd-$(CONFIG_OCOTEA) := zImage.initrd-TREE end-$(CONFIG_OCOTEA) := ocotea entrypoint-$(CONFIG_OCOTEA) := 0x01000000 + extra.o-$(CONFIG_OCOTEA) := pibs.o extra.o-$(CONFIG_EV64260) := direct.o misc-ev64260.o end-$(CONFIG_EV64260) := ev64260
arch/ppc/boot/simple/pibs.c new file +101 -0
101 lines not on this page · raw message
arch/ppc/platforms/4xx/ocotea.c +67 -50
180 lines not on this page · raw message
arch/ppc/platforms/4xx/ocotea.h +7 -6
@@ -24,13 +24,14 @@/* F/W TLB mapping used in bootloader glue to reset EMAC */ #define PPC44x_EMAC0_MR0 0xE0000800 -/* Location of MAC addresses in firmware */ -#define OCOTEA_MAC_BASE (OCOTEA_SMALL_FLASH_HIGH+0xb0500) -#define OCOTEA_MAC_SIZE 0x200 -#define OCOTEA_MAC_OFFSET 0x100 +/* Location of MAC addresses in PIBS image */ +#define OCOTEA_PIBS_FLASH 0xfff00000 +#define OCOTEA_PIBS_MAC_BASE (OCOTEA_PIBS_FLASH+0xb0500) +#define OCOTEA_PIBS_MAC_SIZE 0x200 +#define OCOTEA_PIBS_MAC_OFFSET 0x100 -/* Default clock rate */ -#define OCOTEA_SYSCLK 25000000 +/* External timer clock frequency */ +#define OCOTEA_TMR_CLK 25000000/* RTC/NVRAM location */ #define OCOTEA_RTC_ADDR 0x0000000148000000ULL
include/asm-ppc/reg_booke.h +5 -1
@@ -123,9 +123,10 @@#define SPRN_PID2 0x27A/* Process ID Register 2 */ #define SPRN_TLB0CFG 0x2B0/* TLB 0 Config Register */ #define SPRN_TLB1CFG 0x2B1/* TLB 1 Config Register */ +#define SPRN_CCR1 0x378/* Core Configuration Register 1 */ #define SPRN_ZPR 0x3B0/* Zone Protection Register (40x) */ #define SPRN_MMUCR 0x3B2/* MMU Control Register */ -#define SPRN_CCR0 0x3B3/* Core Configuration Register */ +#define SPRN_CCR0 0x3B3/* Core Configuration Register 0 */ #define SPRN_SGR 0x3B9/* Storage Guarded Register */ #define SPRN_DCWR 0x3BA/* Data Cache Write-thru Register */ #define SPRN_SLER 0x3BB/* Little-endian real mode */
@@ -178,6 +179,9 @@#define SPRN_CSRR0 SPRN_SRR2/* Critical Save and Restore Register 0 */ #define SPRN_CSRR1 SPRN_SRR3/* Critical Save and Restore Register 1 */ #endif + +/* Bit definitions for CCR1. */ +#define CCR1_TCS 0x00000080/* Timer Clock Select */ /* Bit definitions for the MCSR. */ #ifdef CONFIG_440A