ppc4xx: Big cleanup of PPC4xx defines

This patch cleans up multiple issues of the 4xx register (mostly
DCR, SDR, CPR, etc) definitions:

- Change lower case defines to upper case (plb4_acr -> PLB4_ACR)
- Change the defines to better match the names from the
  user's manuals (e.g. cprpllc -> CPR0_PLLC)
- Removal of some unused defines

Please test this patch intensive on your PPC4xx platform. Even though
I tried not to break anything and tested successfully on multiple
4xx AMCC platforms, testing on custom platforms is recommended.

Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
Stefan Roese 2009-09-09 16:25:29 +02:00 committed by Tom Rix
parent e35c73d7e1
commit 297a65873d
128 changed files with 2086 additions and 2397 deletions

View File

@ -57,7 +57,7 @@ int board_early_init_f(void)
#if !defined(CONFIG_NAND_U_BOOT) #if !defined(CONFIG_NAND_U_BOOT)
/* don't reinit PLL when booting via I2C bootstrap option */ /* don't reinit PLL when booting via I2C bootstrap option */
mfsdr(SDR_PINSTP, reg); mfsdr(SDR0_PINSTP, reg);
if (reg != 0xf0000000) if (reg != 0xf0000000)
board_pll_init_f(); board_pll_init_f();
#endif #endif
@ -65,18 +65,18 @@ int board_early_init_f(void)
acadia_gpio_init(); acadia_gpio_init();
/* Configure 405EZ for NAND usage */ /* Configure 405EZ for NAND usage */
mtsdr(sdrnand0, SDR_NAND0_NDEN | SDR_NAND0_NDAREN | SDR_NAND0_NDRBEN); mtsdr(SDR0_NAND0, SDR_NAND0_NDEN | SDR_NAND0_NDAREN | SDR_NAND0_NDRBEN);
mfsdr(sdrultra0, reg); mfsdr(SDR0_ULTRA0, reg);
reg &= ~SDR_ULTRA0_CSN_MASK; reg &= ~SDR_ULTRA0_CSN_MASK;
reg |= (SDR_ULTRA0_CSNSEL0 >> CONFIG_SYS_NAND_CS) | reg |= (SDR_ULTRA0_CSNSEL0 >> CONFIG_SYS_NAND_CS) |
SDR_ULTRA0_NDGPIOBP | SDR_ULTRA0_NDGPIOBP |
SDR_ULTRA0_EBCRDYEN | SDR_ULTRA0_EBCRDYEN |
SDR_ULTRA0_NFSRSTEN; SDR_ULTRA0_NFSRSTEN;
mtsdr(sdrultra0, reg); mtsdr(SDR0_ULTRA0, reg);
/* USB Host core needs this bit set */ /* USB Host core needs this bit set */
mfsdr(sdrultra1, reg); mfsdr(SDR0_ULTRA1, reg);
mtsdr(sdrultra1, reg | SDR_ULTRA1_LEDNENABLE); mtsdr(SDR0_ULTRA1, reg | SDR_ULTRA1_LEDNENABLE);
mtdcr(uicsr, 0xFFFFFFFF); /* clear all ints */ mtdcr(uicsr, 0xFFFFFFFF); /* clear all ints */
mtdcr(uicer, 0x00000000); /* disable all ints */ mtdcr(uicer, 0x00000000); /* disable all ints */

View File

@ -65,7 +65,7 @@ phys_size_t initdram(int board_type)
u32 reg; u32 reg;
/* don't reinit PLL when booting via I2C bootstrap option */ /* don't reinit PLL when booting via I2C bootstrap option */
mfsdr(SDR_PINSTP, reg); mfsdr(SDR0_PINSTP, reg);
if (reg != 0xf0000000) if (reg != 0xf0000000)
board_pll_init_f(); board_pll_init_f();
#endif #endif
@ -81,25 +81,25 @@ phys_size_t initdram(int board_type)
gpio_config(CONFIG_SYS_GPIO_CRAM_WAIT, GPIO_IN, GPIO_SEL, GPIO_OUT_NO_CHG); gpio_config(CONFIG_SYS_GPIO_CRAM_WAIT, GPIO_IN, GPIO_SEL, GPIO_OUT_NO_CHG);
/* 2. EBC in Async mode */ /* 2. EBC in Async mode */
mtebc(pb1ap, 0x078F1EC0); mtebc(PB1AP, 0x078F1EC0);
mtebc(pb2ap, 0x078F1EC0); mtebc(PB2AP, 0x078F1EC0);
mtebc(pb1cr, 0x000BC000); mtebc(PB1CR, 0x000BC000);
mtebc(pb2cr, 0x020BC000); mtebc(PB2CR, 0x020BC000);
/* 3. Set CRAM in Sync mode */ /* 3. Set CRAM in Sync mode */
cram_bcr_write(0x7012); /* CRAM burst setting */ cram_bcr_write(0x7012); /* CRAM burst setting */
/* 4. EBC in Sync mode */ /* 4. EBC in Sync mode */
mtebc(pb1ap, 0x9C0201C0); mtebc(PB1AP, 0x9C0201C0);
mtebc(pb2ap, 0x9C0201C0); mtebc(PB2AP, 0x9C0201C0);
/* Set GPIO pins back to alternate function */ /* Set GPIO pins back to alternate function */
gpio_config(CONFIG_SYS_GPIO_CRAM_CLK, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG); gpio_config(CONFIG_SYS_GPIO_CRAM_CLK, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG);
gpio_config(CONFIG_SYS_GPIO_CRAM_ADV, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG); gpio_config(CONFIG_SYS_GPIO_CRAM_ADV, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG);
/* Config EBC to use RDY */ /* Config EBC to use RDY */
mfsdr(sdrultra0, val); mfsdr(SDR0_ULTRA0, val);
mtsdr(sdrultra0, val | SDR_ULTRA0_EBCRDYEN); mtsdr(SDR0_ULTRA0, val | SDR_ULTRA0_EBCRDYEN);
/* Wait a short while, since for NAND booting this is too fast */ /* Wait a short while, since for NAND booting this is too fast */
for (i=0; i<200000; i++) for (i=0; i<200000; i++)

View File

@ -51,11 +51,11 @@ void board_pll_init_f(void)
*/ */
/* Initialize PLL */ /* Initialize PLL */
mtcpr(cprpllc, 0x0000033c); mtcpr(CPR0_PLLC, 0x0000033c);
mtcpr(cprplld, 0x0c010200); mtcpr(CPR0_PLLD, 0x0c010200);
mtcpr(cprprimad, 0x04060c0c); mtcpr(CPC0_PRIMAD, 0x04060c0c);
mtcpr(cprperd0, 0x000c0000); /* SPI clk div. eq. OPB clk div. */ mtcpr(CPC0_PERD0, 0x000c0000); /* SPI clk div. eq. OPB clk div. */
mtcpr(cprclkupd, 0x40000000); mtcpr(CPR0_CLKUP, 0x40000000);
} }
#elif defined(PLLMR0_266_160_80) #elif defined(PLLMR0_266_160_80)
@ -83,13 +83,13 @@ void board_pll_init_f(void)
*/ */
/* Initialize PLL */ /* Initialize PLL */
mtcpr(cprpllc, 0x20000238); mtcpr(CPR0_PLLC, 0x20000238);
mtcpr(cprplld, 0x03010400); mtcpr(CPR0_PLLD, 0x03010400);
mtcpr(cprprimad, 0x03050a0a); mtcpr(CPC0_PRIMAD, 0x03050a0a);
mtcpr(cprperc0, 0x00000000); mtcpr(CPC0_PERC0, 0x00000000);
mtcpr(cprperd0, 0x070a0707); /* SPI clk div. eq. OPB clk div. */ mtcpr(CPC0_PERD0, 0x070a0707); /* SPI clk div. eq. OPB clk div. */
mtcpr(cprperd1, 0x07323200); mtcpr(CPC0_PERD1, 0x07323200);
mtcpr(cprclkupd, 0x40000000); mtcpr(CPR0_CLKUP, 0x40000000);
} }
#elif defined(PLLMR0_333_166_83) #elif defined(PLLMR0_333_166_83)
@ -117,12 +117,12 @@ void board_pll_init_f(void)
*/ */
/* Initialize PLL */ /* Initialize PLL */
mtcpr(cprpllc, 0x0000033C); mtcpr(CPR0_PLLC, 0x0000033C);
mtcpr(cprplld, 0x0a010000); mtcpr(CPR0_PLLD, 0x0a010000);
mtcpr(cprprimad, 0x02040808); mtcpr(CPC0_PRIMAD, 0x02040808);
mtcpr(cprperd0, 0x02080505); /* SPI clk div. eq. OPB clk div. */ mtcpr(CPC0_PERD0, 0x02080505); /* SPI clk div. eq. OPB clk div. */
mtcpr(cprperd1, 0xA6A60300); mtcpr(CPC0_PERD1, 0xA6A60300);
mtcpr(cprclkupd, 0x40000000); mtcpr(CPR0_CLKUP, 0x40000000);
} }
#elif defined(PLLMR0_100_100_12) #elif defined(PLLMR0_100_100_12)
@ -143,12 +143,12 @@ void board_pll_init_f(void)
*/ */
/* Initialize PLL */ /* Initialize PLL */
mtcpr(cprpllc, 0x000003BC); mtcpr(CPR0_PLLC, 0x000003BC);
mtcpr(cprplld, 0x06060600); mtcpr(CPR0_PLLD, 0x06060600);
mtcpr(cprprimad, 0x02020004); mtcpr(CPC0_PRIMAD, 0x02020004);
mtcpr(cprperd0, 0x04002828); /* SPI clk div. eq. OPB clk div. */ mtcpr(CPC0_PERD0, 0x04002828); /* SPI clk div. eq. OPB clk div. */
mtcpr(cprperd1, 0xC8C81600); mtcpr(CPC0_PERD1, 0xC8C81600);
mtcpr(cprclkupd, 0x40000000); mtcpr(CPR0_CLKUP, 0x40000000);
} }
#endif /* CPU_<speed>_405EZ */ #endif /* CPU_<speed>_405EZ */
@ -167,12 +167,12 @@ unsigned long get_tbclk(void)
/* /*
* Read PLL Mode registers * Read PLL Mode registers
*/ */
mfcpr(cprplld, cpr_plld); mfcpr(CPR0_PLLD, cpr_plld);
/* /*
* Read CPR_PRIMAD register * Read CPR_PRIMAD register
*/ */
mfcpr(cprprimad, cpr_primad); mfcpr(CPC0_PRIMAD, cpr_primad);
/* /*
* Determine CPU clock frequency * Determine CPU clock frequency

View File

@ -487,35 +487,35 @@ int pci_pre_init(struct pci_controller *hose)
| Set priority for all PLB3 devices to 0. | Set priority for all PLB3 devices to 0.
| Set PLB3 arbiter to fair mode. | Set PLB3 arbiter to fair mode.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mfsdr(sdr_amp1, addr); mfsdr(SD0_AMP1, addr);
mtsdr(sdr_amp1, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP1, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb3_acr); addr = mfdcr(PLB3_ACR);
mtdcr(plb3_acr, addr | 0x80000000); mtdcr(PLB3_ACR, addr | 0x80000000);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| Set priority for all PLB4 devices to 0. | Set priority for all PLB4 devices to 0.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mfsdr(sdr_amp0, addr); mfsdr(SD0_AMP0, addr);
mtsdr(sdr_amp0, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP0, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb4_acr) | 0xa0000000; /* Was 0x8---- */ addr = mfdcr(PLB4_ACR) | 0xa0000000; /* Was 0x8---- */
mtdcr(plb4_acr, addr); mtdcr(PLB4_ACR, addr);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| Set Nebula PLB4 arbiter to fair mode. | Set Nebula PLB4 arbiter to fair mode.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
/* Segment0 */ /* Segment0 */
addr = (mfdcr(plb0_acr) & ~plb0_acr_ppm_mask) | plb0_acr_ppm_fair; addr = (mfdcr(PLB0_ACR) & ~PLB0_ACR_PPM_MASK) | PLB0_ACR_PPM_FAIR;
addr = (addr & ~plb0_acr_hbu_mask) | plb0_acr_hbu_enabled; addr = (addr & ~PLB0_ACR_HBU_MASK) | PLB0_ACR_HBU_ENABLED;
addr = (addr & ~plb0_acr_rdp_mask) | plb0_acr_rdp_4deep; addr = (addr & ~PLB0_ACR_RDP_MASK) | PLB0_ACR_RDP_4DEEP;
addr = (addr & ~plb0_acr_wrp_mask) | plb0_acr_wrp_2deep; addr = (addr & ~PLB0_ACR_WRP_MASK) | PLB0_ACR_WRP_2DEEP;
mtdcr(plb0_acr, addr); mtdcr(PLB0_ACR, addr);
/* Segment1 */ /* Segment1 */
addr = (mfdcr(plb1_acr) & ~plb1_acr_ppm_mask) | plb1_acr_ppm_fair; addr = (mfdcr(PLB1_ACR) & ~PLB1_ACR_PPM_MASK) | PLB1_ACR_PPM_FAIR;
addr = (addr & ~plb1_acr_hbu_mask) | plb1_acr_hbu_enabled; addr = (addr & ~PLB1_ACR_HBU_MASK) | PLB1_ACR_HBU_ENABLED;
addr = (addr & ~plb1_acr_rdp_mask) | plb1_acr_rdp_4deep; addr = (addr & ~PLB1_ACR_RDP_MASK) | PLB1_ACR_RDP_4DEEP;
addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep; addr = (addr & ~PLB1_ACR_WRP_MASK) | PLB1_ACR_WRP_2DEEP;
mtdcr(plb1_acr, addr); mtdcr(PLB1_ACR, addr);
return 1; return 1;
} }
@ -695,8 +695,8 @@ void ext_bus_cntlr_init(void)
| |
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
/* NVRAM - FPGA */ /* NVRAM - FPGA */
mtebc(pb5ap, EBC0_BNAP_NVRAM_FPGA); mtebc(PB5AP, EBC0_BNAP_NVRAM_FPGA);
mtebc(pb5cr, EBC0_BNCR_NVRAM_FPGA_CS5); mtebc(PB5CR, EBC0_BNCR_NVRAM_FPGA_CS5);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| |
@ -749,7 +749,7 @@ void ext_bus_cntlr_init(void)
case SDR0_PSTRP0_BOOTSTRAP_IIC_A4_EN: case SDR0_PSTRP0_BOOTSTRAP_IIC_A4_EN:
/* Boot Settings in IIC EEprom address 0xA8 or 0xA4 */ /* Boot Settings in IIC EEprom address 0xA8 or 0xA4 */
/* Read Serial Device Strap Register1 in PPC440EP */ /* Read Serial Device Strap Register1 in PPC440EP */
mfsdr(sdr_sdstp1, sdr0_sdstp1); mfsdr(SDR0_SDSTP1, sdr0_sdstp1);
boot_selection = sdr0_sdstp1 & SDR0_SDSTP1_BOOT_SEL_MASK; boot_selection = sdr0_sdstp1 & SDR0_SDSTP1_BOOT_SEL_MASK;
ebc_boot_size = sdr0_sdstp1 & SDR0_SDSTP1_EBC_ROM_BS_MASK; ebc_boot_size = sdr0_sdstp1 & SDR0_SDSTP1_EBC_ROM_BS_MASK;
@ -822,7 +822,7 @@ void ext_bus_cntlr_init(void)
/* Default Strap Settings 5-7 */ /* Default Strap Settings 5-7 */
/* Boot Settings in IIC EEprom address 0xA8 or 0xA4 */ /* Boot Settings in IIC EEprom address 0xA8 or 0xA4 */
/* Read Serial Device Strap Register1 in PPC440EP */ /* Read Serial Device Strap Register1 in PPC440EP */
mfsdr(sdr_sdstp1, sdr0_sdstp1); mfsdr(SDR0_SDSTP1, sdr0_sdstp1);
boot_selection = sdr0_sdstp1 & SDR0_SDSTP1_BOOT_SEL_MASK; boot_selection = sdr0_sdstp1 & SDR0_SDSTP1_BOOT_SEL_MASK;
ebc_boot_size = sdr0_sdstp1 & SDR0_SDSTP1_EBC_ROM_BS_MASK; ebc_boot_size = sdr0_sdstp1 & SDR0_SDSTP1_EBC_ROM_BS_MASK;
@ -1013,8 +1013,8 @@ void ext_bus_cntlr_init(void)
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| Initialize EBC CONFIG | Initialize EBC CONFIG
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtdcr(ebccfga, xbcfg); mtdcr(EBC0_CFGADDR, EBC0_CFG);
mtdcr(ebccfgd, EBC0_CFG_EBTC_DRIVEN | mtdcr(EBC0_CFGDATA, EBC0_CFG_EBTC_DRIVEN |
EBC0_CFG_PTD_ENABLED | EBC0_CFG_PTD_ENABLED |
EBC0_CFG_RTC_2048PERCLK | EBC0_CFG_RTC_2048PERCLK |
EBC0_CFG_EMPL_LOW | EBC0_CFG_EMPL_LOW |
@ -1029,20 +1029,20 @@ void ext_bus_cntlr_init(void)
| Initialize EBC Bank 0-4 | Initialize EBC Bank 0-4
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
/* EBC Bank0 */ /* EBC Bank0 */
mtebc(pb0ap, ebc0_cs0_bnap_value); mtebc(PB0AP, ebc0_cs0_bnap_value);
mtebc(pb0cr, ebc0_cs0_bncr_value); mtebc(PB0CR, ebc0_cs0_bncr_value);
/* EBC Bank1 */ /* EBC Bank1 */
mtebc(pb1ap, ebc0_cs1_bnap_value); mtebc(PB1AP, ebc0_cs1_bnap_value);
mtebc(pb1cr, ebc0_cs1_bncr_value); mtebc(PB1CR, ebc0_cs1_bncr_value);
/* EBC Bank2 */ /* EBC Bank2 */
mtebc(pb2ap, ebc0_cs2_bnap_value); mtebc(PB2AP, ebc0_cs2_bnap_value);
mtebc(pb2cr, ebc0_cs2_bncr_value); mtebc(PB2CR, ebc0_cs2_bncr_value);
/* EBC Bank3 */ /* EBC Bank3 */
mtebc(pb3ap, ebc0_cs3_bnap_value); mtebc(PB3AP, ebc0_cs3_bnap_value);
mtebc(pb3cr, ebc0_cs3_bncr_value); mtebc(PB3CR, ebc0_cs3_bncr_value);
/* EBC Bank4 */ /* EBC Bank4 */
mtebc(pb4ap, ebc0_cs4_bnap_value); mtebc(PB4AP, ebc0_cs4_bnap_value);
mtebc(pb4cr, ebc0_cs4_bncr_value); mtebc(PB4CR, ebc0_cs4_bncr_value);
return; return;
} }
@ -1939,10 +1939,10 @@ void configure_ppc440ep_pins(void)
sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_UES_MASK) | SDR0_PFC1_UES_USB2D_SEL; sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_UES_MASK) | SDR0_PFC1_UES_USB2D_SEL;
sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_UPR_MASK) | SDR0_PFC1_UPR_DISABLE; sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_UPR_MASK) | SDR0_PFC1_UPR_DISABLE;
mfsdr(sdr_usb0, sdr0_usb0); mfsdr(SDR0_USB0, sdr0_usb0);
sdr0_usb0 = sdr0_usb0 &~SDR0_USB0_USB_DEVSEL_MASK; sdr0_usb0 = sdr0_usb0 &~SDR0_USB0_USB_DEVSEL_MASK;
sdr0_usb0 = sdr0_usb0 | SDR0_USB0_USB20D_DEVSEL; sdr0_usb0 = sdr0_usb0 | SDR0_USB0_USB20D_DEVSEL;
mtsdr(sdr_usb0, sdr0_usb0); mtsdr(SDR0_USB0, sdr0_usb0);
usb2_device_selection_in_fpga(); usb2_device_selection_in_fpga();
} }
@ -1950,19 +1950,19 @@ void configure_ppc440ep_pins(void)
/* USB1.1 Device Selection */ /* USB1.1 Device Selection */
if (ppc440ep_core_selection[USB1_DEVICE] == CORE_SELECTED) if (ppc440ep_core_selection[USB1_DEVICE] == CORE_SELECTED)
{ {
mfsdr(sdr_usb0, sdr0_usb0); mfsdr(SDR0_USB0, sdr0_usb0);
sdr0_usb0 = sdr0_usb0 &~SDR0_USB0_USB_DEVSEL_MASK; sdr0_usb0 = sdr0_usb0 &~SDR0_USB0_USB_DEVSEL_MASK;
sdr0_usb0 = sdr0_usb0 | SDR0_USB0_USB11D_DEVSEL; sdr0_usb0 = sdr0_usb0 | SDR0_USB0_USB11D_DEVSEL;
mtsdr(sdr_usb0, sdr0_usb0); mtsdr(SDR0_USB0, sdr0_usb0);
} }
/* USB1.1 Host Selection */ /* USB1.1 Host Selection */
if (ppc440ep_core_selection[USB1_HOST] == CORE_SELECTED) if (ppc440ep_core_selection[USB1_HOST] == CORE_SELECTED)
{ {
mfsdr(sdr_usb0, sdr0_usb0); mfsdr(SDR0_USB0, sdr0_usb0);
sdr0_usb0 = sdr0_usb0 &~SDR0_USB0_LEEN_MASK; sdr0_usb0 = sdr0_usb0 &~SDR0_USB0_LEEN_MASK;
sdr0_usb0 = sdr0_usb0 | SDR0_USB0_LEEN_ENABLE; sdr0_usb0 = sdr0_usb0 | SDR0_USB0_LEEN_ENABLE;
mtsdr(sdr_usb0, sdr0_usb0); mtsdr(SDR0_USB0, sdr0_usb0);
} }
/* NAND Flash Selection */ /* NAND Flash Selection */
@ -1971,14 +1971,14 @@ void configure_ppc440ep_pins(void)
update_ndfc_ios(gpio_tab); update_ndfc_ios(gpio_tab);
#if !(defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)) #if !(defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL))
mtsdr(sdr_cust0, SDR0_CUST0_MUX_NDFC_SEL | mtsdr(SDR0_CUST0, SDR0_CUST0_MUX_NDFC_SEL |
SDR0_CUST0_NDFC_ENABLE | SDR0_CUST0_NDFC_ENABLE |
SDR0_CUST0_NDFC_BW_8_BIT | SDR0_CUST0_NDFC_BW_8_BIT |
SDR0_CUST0_NDFC_ARE_MASK | SDR0_CUST0_NDFC_ARE_MASK |
SDR0_CUST0_CHIPSELGAT_EN1 | SDR0_CUST0_CHIPSELGAT_EN1 |
SDR0_CUST0_CHIPSELGAT_EN2); SDR0_CUST0_CHIPSELGAT_EN2);
#else #else
mtsdr(sdr_cust0, SDR0_CUST0_MUX_NDFC_SEL | mtsdr(SDR0_CUST0, SDR0_CUST0_MUX_NDFC_SEL |
SDR0_CUST0_NDFC_ENABLE | SDR0_CUST0_NDFC_ENABLE |
SDR0_CUST0_NDFC_BW_8_BIT | SDR0_CUST0_NDFC_BW_8_BIT |
SDR0_CUST0_NDFC_ARE_MASK | SDR0_CUST0_NDFC_ARE_MASK |
@ -1991,16 +1991,16 @@ void configure_ppc440ep_pins(void)
else else
{ {
/* Set Mux on EMAC */ /* Set Mux on EMAC */
mtsdr(sdr_cust0, SDR0_CUST0_MUX_EMAC_SEL); mtsdr(SDR0_CUST0, SDR0_CUST0_MUX_EMAC_SEL);
} }
/* MII Selection */ /* MII Selection */
if (ppc440ep_core_selection[MII_SEL] == CORE_SELECTED) if (ppc440ep_core_selection[MII_SEL] == CORE_SELECTED)
{ {
update_zii_ios(gpio_tab); update_zii_ios(gpio_tab);
mfsdr(sdr_mfr, sdr0_mfr); mfsdr(SDR0_MFR, sdr0_mfr);
sdr0_mfr = (sdr0_mfr & ~SDR0_MFR_ZMII_MODE_MASK) | SDR0_MFR_ZMII_MODE_MII; sdr0_mfr = (sdr0_mfr & ~SDR0_MFR_ZMII_MODE_MASK) | SDR0_MFR_ZMII_MODE_MII;
mtsdr(sdr_mfr, sdr0_mfr); mtsdr(SDR0_MFR, sdr0_mfr);
set_phy_configuration_through_fpga(ZMII_CONFIGURATION_IS_MII); set_phy_configuration_through_fpga(ZMII_CONFIGURATION_IS_MII);
} }
@ -2009,9 +2009,9 @@ void configure_ppc440ep_pins(void)
if (ppc440ep_core_selection[RMII_SEL] == CORE_SELECTED) if (ppc440ep_core_selection[RMII_SEL] == CORE_SELECTED)
{ {
update_zii_ios(gpio_tab); update_zii_ios(gpio_tab);
mfsdr(sdr_mfr, sdr0_mfr); mfsdr(SDR0_MFR, sdr0_mfr);
sdr0_mfr = (sdr0_mfr & ~SDR0_MFR_ZMII_MODE_MASK) | SDR0_MFR_ZMII_MODE_RMII_10M; sdr0_mfr = (sdr0_mfr & ~SDR0_MFR_ZMII_MODE_MASK) | SDR0_MFR_ZMII_MODE_RMII_10M;
mtsdr(sdr_mfr, sdr0_mfr); mtsdr(SDR0_MFR, sdr0_mfr);
set_phy_configuration_through_fpga(ZMII_CONFIGURATION_IS_RMII); set_phy_configuration_through_fpga(ZMII_CONFIGURATION_IS_RMII);
} }
@ -2020,9 +2020,9 @@ void configure_ppc440ep_pins(void)
if (ppc440ep_core_selection[SMII_SEL] == CORE_SELECTED) if (ppc440ep_core_selection[SMII_SEL] == CORE_SELECTED)
{ {
update_zii_ios(gpio_tab); update_zii_ios(gpio_tab);
mfsdr(sdr_mfr, sdr0_mfr); mfsdr(SDR0_MFR, sdr0_mfr);
sdr0_mfr = (sdr0_mfr & ~SDR0_MFR_ZMII_MODE_MASK) | SDR0_MFR_ZMII_MODE_SMII; sdr0_mfr = (sdr0_mfr & ~SDR0_MFR_ZMII_MODE_MASK) | SDR0_MFR_ZMII_MODE_SMII;
mtsdr(sdr_mfr, sdr0_mfr); mtsdr(SDR0_MFR, sdr0_mfr);
set_phy_configuration_through_fpga(ZMII_CONFIGURATION_IS_SMII); set_phy_configuration_through_fpga(ZMII_CONFIGURATION_IS_SMII);
} }
@ -2071,13 +2071,13 @@ void configure_ppc440ep_pins(void)
/* Packet Reject Function Enable */ /* Packet Reject Function Enable */
if (ppc440ep_core_selection[PACKET_REJ_FUNC_EN] == CORE_SELECTED) if (ppc440ep_core_selection[PACKET_REJ_FUNC_EN] == CORE_SELECTED)
{ {
mfsdr(sdr_mfr, sdr0_mfr); mfsdr(SDR0_MFR, sdr0_mfr);
sdr0_mfr = (sdr0_mfr & ~SDR0_MFR_PKT_REJ_MASK) | SDR0_MFR_PKT_REJ_EN;; sdr0_mfr = (sdr0_mfr & ~SDR0_MFR_PKT_REJ_MASK) | SDR0_MFR_PKT_REJ_EN;;
mtsdr(sdr_mfr, sdr0_mfr); mtsdr(SDR0_MFR, sdr0_mfr);
} }
/* Perform effective access to hardware */ /* Perform effective access to hardware */
mtsdr(sdr_pfc1, sdr0_pfc1); mtsdr(SDR0_PFC1, sdr0_pfc1);
set_chip_gpio_configuration(GPIO0, gpio_tab); set_chip_gpio_configuration(GPIO0, gpio_tab);
set_chip_gpio_configuration(GPIO1, gpio_tab); set_chip_gpio_configuration(GPIO1, gpio_tab);

View File

@ -94,7 +94,7 @@ unsigned long flash_init(void)
* Boot Settings in IIC EEprom address 0xA8 or 0xA4 * Boot Settings in IIC EEprom address 0xA8 or 0xA4
* Read Serial Device Strap Register1 in PPC440EP * Read Serial Device Strap Register1 in PPC440EP
*/ */
mfsdr(sdr_sdstp1, val); mfsdr(SDR0_SDSTP1, val);
boot_selection = val & SDR0_SDSTP1_BOOT_SEL_MASK; boot_selection = val & SDR0_SDSTP1_BOOT_SEL_MASK;
ebc_boot_size = val & SDR0_SDSTP1_EBC_ROM_BS_MASK; ebc_boot_size = val & SDR0_SDSTP1_EBC_ROM_BS_MASK;

View File

@ -41,9 +41,9 @@ int board_early_init_f(void)
* and enable the internal PCI arbiter if selected * and enable the internal PCI arbiter if selected
*/ */
if (in_8((void *)FPGA_REG1) & FPGA_REG1_PCI_INT_ARB) if (in_8((void *)FPGA_REG1) & FPGA_REG1_PCI_INT_ARB)
mtdcr(cpc0_pci, CPC0_PCI_HOST_CFG_EN | CPC0_PCI_ARBIT_EN); mtdcr(CPC0_PCI, CPC0_PCI_HOST_CFG_EN | CPC0_PCI_ARBIT_EN);
else else
mtdcr(cpc0_pci, CPC0_PCI_HOST_CFG_EN); mtdcr(CPC0_PCI, CPC0_PCI_HOST_CFG_EN);
return 0; return 0;
} }

View File

@ -106,25 +106,25 @@ unsigned long flash_init(void)
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
if (size_b1) { if (size_b1) {
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b1 = -size_b1; base_b1 = -size_b1;
pbcr = (pbcr & 0x0001ffff) | base_b1 | pbcr = (pbcr & 0x0001ffff) | base_b1 |
(((size_b1 / 1024 / 1024) - 1) << 17); (((size_b1 / 1024 / 1024) - 1) << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* printf("pb1cr = %x\n", pbcr); */ /* printf("PB1CR = %x\n", pbcr); */
} }
if (size_b0) { if (size_b0) {
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
base_b0 = base_b1 - size_b0; base_b0 = base_b1 - size_b0;
pbcr = (pbcr & 0x0001ffff) | base_b0 | pbcr = (pbcr & 0x0001ffff) | base_b0 |
(((size_b0 / 1024 / 1024) - 1) << 17); (((size_b0 / 1024 / 1024) - 1) << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* printf("pb0cr = %x\n", pbcr); */ /* printf("PB0CR = %x\n", pbcr); */
} }
size_b0 = flash_get_size((vu_long *) base_b0, &flash_info[0]); size_b0 = flash_get_size((vu_long *) base_b0, &flash_info[0]);

View File

@ -475,9 +475,9 @@ int board_early_init_r (void)
/* Remap the NOR FLASH to 0xcc00.0000 ... 0xcfff.ffff */ /* Remap the NOR FLASH to 0xcc00.0000 ... 0xcfff.ffff */
#if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) #if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
mtebc(pb3cr, CONFIG_SYS_FLASH_BASE_PHYS_L | 0xda000); mtebc(PB3CR, CONFIG_SYS_FLASH_BASE_PHYS_L | 0xda000);
#else #else
mtebc(pb0cr, CONFIG_SYS_FLASH_BASE_PHYS_L | 0xda000); mtebc(PB0CR, CONFIG_SYS_FLASH_BASE_PHYS_L | 0xda000);
#endif #endif
/* Remove TLB entry of boot EBC mapping */ /* Remove TLB entry of boot EBC mapping */

View File

@ -41,30 +41,30 @@ int board_early_init_f(void)
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
* Setup the external bus controller/chip selects * Setup the external bus controller/chip selects
*-------------------------------------------------------------------*/ *-------------------------------------------------------------------*/
mtdcr(ebccfga, xbcfg); mtdcr(EBC0_CFGADDR, EBC0_CFG);
reg = mfdcr(ebccfgd); reg = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfgd, reg | 0x04000000); /* Set ATC */ mtdcr(EBC0_CFGDATA, reg | 0x04000000); /* Set ATC */
mtebc(pb1ap, 0x02815480); /* NVRAM/RTC */ mtebc(PB1AP, 0x02815480); /* NVRAM/RTC */
mtebc(pb1cr, 0x48018000); /* BA=0x480 1MB R/W 8-bit */ mtebc(PB1CR, 0x48018000); /* BA=0x480 1MB R/W 8-bit */
mtebc(pb7ap, 0x01015280); /* FPGA registers */ mtebc(PB7AP, 0x01015280); /* FPGA registers */
mtebc(pb7cr, 0x48318000); /* BA=0x483 1MB R/W 8-bit */ mtebc(PB7CR, 0x48318000); /* BA=0x483 1MB R/W 8-bit */
/* read FPGA_REG0 and set the bus controller */ /* read FPGA_REG0 and set the bus controller */
status = *fpga_base; status = *fpga_base;
if ((status & BOOT_SMALL_FLASH) && !(status & FLASH_ONBD_N)) { if ((status & BOOT_SMALL_FLASH) && !(status & FLASH_ONBD_N)) {
mtebc(pb0ap, 0x9b015480); /* FLASH/SRAM */ mtebc(PB0AP, 0x9b015480); /* FLASH/SRAM */
mtebc(pb0cr, 0xfff18000); /* BAS=0xfff 1MB R/W 8-bit */ mtebc(PB0CR, 0xfff18000); /* BAS=0xfff 1MB R/W 8-bit */
mtebc(pb2ap, 0x9b015480); /* 4MB FLASH */ mtebc(PB2AP, 0x9b015480); /* 4MB FLASH */
mtebc(pb2cr, 0xff858000); /* BAS=0xff8 4MB R/W 8-bit */ mtebc(PB2CR, 0xff858000); /* BAS=0xff8 4MB R/W 8-bit */
} else { } else {
mtebc(pb0ap, 0x9b015480); /* 4MB FLASH */ mtebc(PB0AP, 0x9b015480); /* 4MB FLASH */
mtebc(pb0cr, 0xffc58000); /* BAS=0xffc 4MB R/W 8-bit */ mtebc(PB0CR, 0xffc58000); /* BAS=0xffc 4MB R/W 8-bit */
/* set CS2 if FLASH_ONBD_N == 0 */ /* set CS2 if FLASH_ONBD_N == 0 */
if (!(status & FLASH_ONBD_N)) { if (!(status & FLASH_ONBD_N)) {
mtebc(pb2ap, 0x9b015480); /* FLASH/SRAM */ mtebc(PB2AP, 0x9b015480); /* FLASH/SRAM */
mtebc(pb2cr, 0xff818000); /* BAS=0xff8 4MB R/W 8-bit */ mtebc(PB2CR, 0xff818000); /* BAS=0xff8 4MB R/W 8-bit */
} }
} }
@ -186,7 +186,7 @@ int pci_pre_init(struct pci_controller *hose)
* The ebony board is always configured as the host & requires the * The ebony board is always configured as the host & requires the
* PCI arbiter to be enabled. * PCI arbiter to be enabled.
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/
strap = mfdcr(cpc0_strp1); strap = mfdcr(CPC0_STRP1);
if ((strap & 0x00100000) == 0) { if ((strap & 0x00100000) == 0) {
printf("PCI: CPC0_STRP1[PAE] not set.\n"); printf("PCI: CPC0_STRP1[PAE] not set.\n");
return 0; return 0;

View File

@ -220,9 +220,9 @@ int board_early_init_f (void)
mtdcr (uic0sr, 0x00000000); /* clear all interrupts*/ mtdcr (uic0sr, 0x00000000); /* clear all interrupts*/
mtdcr (uic0sr, 0xffffffff); /* clear all interrupts*/ mtdcr (uic0sr, 0xffffffff); /* clear all interrupts*/
mfsdr(sdr_mfr, mfr); mfsdr(SDR0_MFR, mfr);
mfr |= SDR0_MFR_FIXD; /* Workaround for PCI/DMA */ mfr |= SDR0_MFR_FIXD; /* Workaround for PCI/DMA */
mtsdr(sdr_mfr, mfr); mtsdr(SDR0_MFR, mfr);
mtsdr(SDR0_PFC0, CONFIG_SYS_PFC0); mtsdr(SDR0_PFC0, CONFIG_SYS_PFC0);
@ -280,7 +280,7 @@ int pci_pre_init(struct pci_controller * hose )
* The katmai board is always configured as the host & requires the * The katmai board is always configured as the host & requires the
* PCI arbiter to be enabled. * PCI arbiter to be enabled.
*-------------------------------------------------------------------*/ *-------------------------------------------------------------------*/
mfsdr(sdr_sdstp1, strap); mfsdr(SDR0_SDSTP1, strap);
if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ) { if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ) {
printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap); printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap);
return 0; return 0;

View File

@ -42,12 +42,12 @@ int board_early_init_f(void)
{ {
u32 mfr; u32 mfr;
mtebc( pb0ap, 0x03800000 ); /* set chip selects */ mtebc( PB0AP, 0x03800000 ); /* set chip selects */
mtebc( pb0cr, 0xffc58000 ); /* ebc0_b0cr, 4MB at 0xffc00000 CS0 */ mtebc( PB0CR, 0xffc58000 ); /* ebc0_b0cr, 4MB at 0xffc00000 CS0 */
mtebc( pb1ap, 0x03800000 ); mtebc( PB1AP, 0x03800000 );
mtebc( pb1cr, 0xff018000 ); /* ebc0_b1cr, 1MB at 0xff000000 CS1 */ mtebc( PB1CR, 0xff018000 ); /* ebc0_b1cr, 1MB at 0xff000000 CS1 */
mtebc( pb2ap, 0x03800000 ); mtebc( PB2AP, 0x03800000 );
mtebc( pb2cr, 0xff838000 ); /* ebc0_b2cr, 2MB at 0xff800000 CS2 */ mtebc( PB2CR, 0xff838000 ); /* ebc0_b2cr, 2MB at 0xff800000 CS2 */
mtdcr( uic1sr, 0xffffffff ); /* Clear all interrupts */ mtdcr( uic1sr, 0xffffffff ); /* Clear all interrupts */
mtdcr( uic1er, 0x00000000 ); /* disable all interrupts */ mtdcr( uic1er, 0x00000000 ); /* disable all interrupts */
@ -67,9 +67,9 @@ int board_early_init_f(void)
mtdcr( uic0sr, 0x00000000 ); /* clear all interrupts */ mtdcr( uic0sr, 0x00000000 ); /* clear all interrupts */
mtdcr( uic0sr, 0xffffffff ); mtdcr( uic0sr, 0xffffffff );
mfsdr(sdr_mfr, mfr); mfsdr(SDR0_MFR, mfr);
mfr |= SDR0_MFR_FIXD; /* Workaround for PCI/DMA */ mfr |= SDR0_MFR_FIXD; /* Workaround for PCI/DMA */
mtsdr(sdr_mfr, mfr); mtsdr(SDR0_MFR, mfr);
return 0; return 0;
} }
@ -147,7 +147,7 @@ int pci_pre_init( struct pci_controller *hose )
* The luan board is always configured as the host & requires the * The luan board is always configured as the host & requires the
* PCI arbiter to be enabled. * PCI arbiter to be enabled.
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/
mfsdr(sdr_sdstp1, strap); mfsdr(SDR0_SDSTP1, strap);
if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ) { if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ) {
printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap); printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap);

View File

@ -54,7 +54,7 @@ int board_early_init_f (void)
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| Initialize EBC CONFIG | Initialize EBC CONFIG
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtebc(xbcfg, EBC_CFG_LE_UNLOCK | mtebc(EBC0_CFG, EBC_CFG_LE_UNLOCK |
EBC_CFG_PTD_ENABLE | EBC_CFG_RTC_64PERCLK | EBC_CFG_PTD_ENABLE | EBC_CFG_RTC_64PERCLK |
EBC_CFG_ATC_PREVIOUS | EBC_CFG_DTC_PREVIOUS | EBC_CFG_ATC_PREVIOUS | EBC_CFG_DTC_PREVIOUS |
EBC_CFG_CTC_PREVIOUS | EBC_CFG_EMC_NONDEFAULT | EBC_CFG_CTC_PREVIOUS | EBC_CFG_EMC_NONDEFAULT |
@ -63,14 +63,14 @@ int board_early_init_f (void)
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| FPGA. Initialize bank 7 with default values. | FPGA. Initialize bank 7 with default values.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtebc(pb7ap, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(7)| mtebc(PB7AP, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(7)|
EBC_BXAP_BCE_DISABLE| EBC_BXAP_BCE_DISABLE|
EBC_BXAP_CSN_ENCODE(1)|EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_CSN_ENCODE(1)|EBC_BXAP_OEN_ENCODE(1)|
EBC_BXAP_WBN_ENCODE(1)|EBC_BXAP_WBF_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1)|EBC_BXAP_WBF_ENCODE(1)|
EBC_BXAP_TH_ENCODE(1)|EBC_BXAP_RE_DISABLED| EBC_BXAP_TH_ENCODE(1)|EBC_BXAP_RE_DISABLED|
EBC_BXAP_BEM_WRITEONLY| EBC_BXAP_BEM_WRITEONLY|
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb7cr, EBC_BXCR_BAS_ENCODE(0x48300000)| mtebc(PB7CR, EBC_BXCR_BAS_ENCODE(0x48300000)|
EBC_BXCR_BS_1MB|EBC_BXCR_BU_RW|EBC_BXCR_BW_8BIT); EBC_BXCR_BS_1MB|EBC_BXCR_BU_RW|EBC_BXCR_BW_8BIT);
/* read FPGA base register FPGA_REG0 */ /* read FPGA base register FPGA_REG0 */
@ -95,53 +95,53 @@ int board_early_init_f (void)
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| 1 MB FLASH / 1 MB SRAM. Initialize bank 0 with default values. | 1 MB FLASH / 1 MB SRAM. Initialize bank 0 with default values.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtebc(pb0ap, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(cs0_twt)| mtebc(PB0AP, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(cs0_twt)|
EBC_BXAP_BCE_DISABLE| EBC_BXAP_BCE_DISABLE|
EBC_BXAP_CSN_ENCODE(1)|EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_CSN_ENCODE(1)|EBC_BXAP_OEN_ENCODE(1)|
EBC_BXAP_WBN_ENCODE(1)|EBC_BXAP_WBF_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1)|EBC_BXAP_WBF_ENCODE(1)|
EBC_BXAP_TH_ENCODE(1)|EBC_BXAP_RE_DISABLED| EBC_BXAP_TH_ENCODE(1)|EBC_BXAP_RE_DISABLED|
EBC_BXAP_BEM_WRITEONLY| EBC_BXAP_BEM_WRITEONLY|
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb0cr, EBC_BXCR_BAS_ENCODE(cs0_base)| mtebc(PB0CR, EBC_BXCR_BAS_ENCODE(cs0_base)|
cs0_size|EBC_BXCR_BU_RW|EBC_BXCR_BW_8BIT); cs0_size|EBC_BXCR_BU_RW|EBC_BXCR_BW_8BIT);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| 8KB NVRAM/RTC. Initialize bank 1 with default values. | 8KB NVRAM/RTC. Initialize bank 1 with default values.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtebc(pb1ap, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(10)| mtebc(PB1AP, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(10)|
EBC_BXAP_BCE_DISABLE| EBC_BXAP_BCE_DISABLE|
EBC_BXAP_CSN_ENCODE(1)|EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_CSN_ENCODE(1)|EBC_BXAP_OEN_ENCODE(1)|
EBC_BXAP_WBN_ENCODE(1)|EBC_BXAP_WBF_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1)|EBC_BXAP_WBF_ENCODE(1)|
EBC_BXAP_TH_ENCODE(1)|EBC_BXAP_RE_DISABLED| EBC_BXAP_TH_ENCODE(1)|EBC_BXAP_RE_DISABLED|
EBC_BXAP_BEM_WRITEONLY| EBC_BXAP_BEM_WRITEONLY|
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb1cr, EBC_BXCR_BAS_ENCODE(0x48000000)| mtebc(PB1CR, EBC_BXCR_BAS_ENCODE(0x48000000)|
EBC_BXCR_BS_1MB|EBC_BXCR_BU_RW|EBC_BXCR_BW_8BIT); EBC_BXCR_BS_1MB|EBC_BXCR_BU_RW|EBC_BXCR_BW_8BIT);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| 4 MB FLASH. Initialize bank 2 with default values. | 4 MB FLASH. Initialize bank 2 with default values.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtebc(pb2ap, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(cs2_twt)| mtebc(PB2AP, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(cs2_twt)|
EBC_BXAP_BCE_DISABLE| EBC_BXAP_BCE_DISABLE|
EBC_BXAP_CSN_ENCODE(1)|EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_CSN_ENCODE(1)|EBC_BXAP_OEN_ENCODE(1)|
EBC_BXAP_WBN_ENCODE(1)|EBC_BXAP_WBF_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1)|EBC_BXAP_WBF_ENCODE(1)|
EBC_BXAP_TH_ENCODE(1)|EBC_BXAP_RE_DISABLED| EBC_BXAP_TH_ENCODE(1)|EBC_BXAP_RE_DISABLED|
EBC_BXAP_BEM_WRITEONLY| EBC_BXAP_BEM_WRITEONLY|
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb2cr, EBC_BXCR_BAS_ENCODE(cs2_base)| mtebc(PB2CR, EBC_BXCR_BAS_ENCODE(cs2_base)|
cs2_size|EBC_BXCR_BU_RW|EBC_BXCR_BW_8BIT); cs2_size|EBC_BXCR_BU_RW|EBC_BXCR_BW_8BIT);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| FPGA. Initialize bank 7 with default values. | FPGA. Initialize bank 7 with default values.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtebc(pb7ap, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(7)| mtebc(PB7AP, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(7)|
EBC_BXAP_BCE_DISABLE| EBC_BXAP_BCE_DISABLE|
EBC_BXAP_CSN_ENCODE(1)|EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_CSN_ENCODE(1)|EBC_BXAP_OEN_ENCODE(1)|
EBC_BXAP_WBN_ENCODE(1)|EBC_BXAP_WBF_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1)|EBC_BXAP_WBF_ENCODE(1)|
EBC_BXAP_TH_ENCODE(1)|EBC_BXAP_RE_DISABLED| EBC_BXAP_TH_ENCODE(1)|EBC_BXAP_RE_DISABLED|
EBC_BXAP_BEM_WRITEONLY| EBC_BXAP_BEM_WRITEONLY|
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb7cr, EBC_BXCR_BAS_ENCODE(0x48300000)| mtebc(PB7CR, EBC_BXCR_BAS_ENCODE(0x48300000)|
EBC_BXCR_BS_1MB|EBC_BXCR_BU_RW|EBC_BXCR_BW_8BIT); EBC_BXCR_BS_1MB|EBC_BXCR_BU_RW|EBC_BXCR_BW_8BIT);
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
@ -189,9 +189,9 @@ int board_early_init_f (void)
mtdcr (uic0pr, 0xfc000000); /* */ mtdcr (uic0pr, 0xfc000000); /* */
mtdcr (uic0tr, 0x00000000); /* */ mtdcr (uic0tr, 0x00000000); /* */
mtdcr (uic0vr, 0x00000001); /* */ mtdcr (uic0vr, 0x00000001); /* */
mfsdr (sdr_mfr, mfr); mfsdr (SDR0_MFR, mfr);
mfr &= ~SDR0_MFR_ECS_MASK; mfr &= ~SDR0_MFR_ECS_MASK;
/* mtsdr(sdr_mfr, mfr); */ /* mtsdr(SDR0_MFR, mfr); */
fpga_init(); fpga_init();
return 0; return 0;
@ -297,7 +297,7 @@ int pci_pre_init(struct pci_controller * hose )
* The ocotea board is always configured as the host & requires the * The ocotea board is always configured as the host & requires the
* PCI arbiter to be enabled. * PCI arbiter to be enabled.
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/
mfsdr(sdr_sdstp1, strap); mfsdr(SDR0_SDSTP1, strap);
if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ){ if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ){
printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap); printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap);
return 0; return 0;
@ -379,8 +379,8 @@ void fpga_init(void)
unsigned long sdr0_cust0; unsigned long sdr0_cust0;
unsigned long pvr; unsigned long pvr;
mfsdr (sdr_pfc0, sdr0_pfc0); mfsdr (SDR0_PFC0, sdr0_pfc0);
mfsdr (sdr_pfc1, sdr0_pfc1); mfsdr (SDR0_PFC1, sdr0_pfc1);
group = SDR0_PFC1_EPS_DECODE(sdr0_pfc1); group = SDR0_PFC1_EPS_DECODE(sdr0_pfc1);
pvr = get_pvr (); pvr = get_pvr ();
@ -390,8 +390,8 @@ void fpga_init(void)
sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_CTEMS_MASK) | SDR0_PFC1_CTEMS_EMS; sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_CTEMS_MASK) | SDR0_PFC1_CTEMS_EMS;
out8(FPGA_REG2, (in8(FPGA_REG2) & ~FPGA_REG2_EXT_INTFACE_MASK) | out8(FPGA_REG2, (in8(FPGA_REG2) & ~FPGA_REG2_EXT_INTFACE_MASK) |
FPGA_REG2_EXT_INTFACE_ENABLE); FPGA_REG2_EXT_INTFACE_ENABLE);
mtsdr (sdr_pfc0, sdr0_pfc0); mtsdr (SDR0_PFC0, sdr0_pfc0);
mtsdr (sdr_pfc1, sdr0_pfc1); mtsdr (SDR0_PFC1, sdr0_pfc1);
} else { } else {
sdr0_pfc0 = (sdr0_pfc0 & ~SDR0_PFC0_TRE_MASK) | SDR0_PFC0_TRE_ENABLE; sdr0_pfc0 = (sdr0_pfc0 & ~SDR0_PFC0_TRE_MASK) | SDR0_PFC0_TRE_ENABLE;
switch (group) switch (group)
@ -403,8 +403,8 @@ void fpga_init(void)
out8(FPGA_REG2, (in8(FPGA_REG2) & ~FPGA_REG2_EXT_INTFACE_MASK) | out8(FPGA_REG2, (in8(FPGA_REG2) & ~FPGA_REG2_EXT_INTFACE_MASK) |
FPGA_REG2_EXT_INTFACE_ENABLE); FPGA_REG2_EXT_INTFACE_ENABLE);
sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_CTEMS_MASK) | SDR0_PFC1_CTEMS_EMS; sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_CTEMS_MASK) | SDR0_PFC1_CTEMS_EMS;
mtsdr (sdr_pfc0, sdr0_pfc0); mtsdr (SDR0_PFC0, sdr0_pfc0);
mtsdr (sdr_pfc1, sdr0_pfc1); mtsdr (SDR0_PFC1, sdr0_pfc1);
break; break;
case 3: case 3:
case 4: case 4:
@ -412,8 +412,8 @@ void fpga_init(void)
case 6: case 6:
/* CPU trace B - Over EBMI */ /* CPU trace B - Over EBMI */
sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_CTEMS_MASK) | SDR0_PFC1_CTEMS_CPUTRACE; sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_CTEMS_MASK) | SDR0_PFC1_CTEMS_CPUTRACE;
mtsdr (sdr_pfc0, sdr0_pfc0); mtsdr (SDR0_PFC0, sdr0_pfc0);
mtsdr (sdr_pfc1, sdr0_pfc1); mtsdr (SDR0_PFC1, sdr0_pfc1);
out8(FPGA_REG2, (in8(FPGA_REG2) & ~FPGA_REG2_EXT_INTFACE_MASK) | out8(FPGA_REG2, (in8(FPGA_REG2) & ~FPGA_REG2_EXT_INTFACE_MASK) |
FPGA_REG2_EXT_INTFACE_DISABLE); FPGA_REG2_EXT_INTFACE_DISABLE);
break; break;
@ -421,8 +421,8 @@ void fpga_init(void)
} }
/* Initialize the ethernet specific functions in the fpga */ /* Initialize the ethernet specific functions in the fpga */
mfsdr(sdr_pfc1, sdr0_pfc1); mfsdr(SDR0_PFC1, sdr0_pfc1);
mfsdr(sdr_cust0, sdr0_cust0); mfsdr(SDR0_CUST0, sdr0_cust0);
if ( (SDR0_PFC1_EPS_DECODE(sdr0_pfc1) == 4) && if ( (SDR0_PFC1_EPS_DECODE(sdr0_pfc1) == 4) &&
((SDR0_CUST0_RGMII2_DECODE(sdr0_cust0) == RGMII_FER_GMII) || ((SDR0_CUST0_RGMII2_DECODE(sdr0_cust0) == RGMII_FER_GMII) ||
(SDR0_CUST0_RGMII2_DECODE(sdr0_cust0) == RGMII_FER_TBI))) (SDR0_CUST0_RGMII2_DECODE(sdr0_cust0) == RGMII_FER_TBI)))

View File

@ -220,7 +220,7 @@ static void early_init_EBC(void)
* default value : * default value :
* 0x07C00000 - 0 0 000 1 1 1 1 1 0000 0 00000 000000000000 * 0x07C00000 - 0 0 000 1 1 1 1 1 0000 0 00000 000000000000
*/ */
mtebc(xbcfg, EBC_CFG_LE_UNLOCK | mtebc(EBC0_CFG, EBC_CFG_LE_UNLOCK |
EBC_CFG_PTD_ENABLE | EBC_CFG_PTD_ENABLE |
EBC_CFG_RTC_16PERCLK | EBC_CFG_RTC_16PERCLK |
EBC_CFG_ATC_PREVIOUS | EBC_CFG_ATC_PREVIOUS |
@ -237,8 +237,8 @@ static void early_init_EBC(void)
* since some board registers values may be needed to determine the * since some board registers values may be needed to determine the
* boot type * boot type
*/ */
mtebc(pb1ap, EBC_BXAP_FPGA); mtebc(PB1AP, EBC_BXAP_FPGA);
mtebc(pb1cr, EBC_BXCR_FPGA_CS3); mtebc(PB1CR, EBC_BXCR_FPGA_CS3);
} }
@ -399,12 +399,12 @@ static void early_reinit_EBC(int computed_boot_device)
break; break;
} }
mtebc(pb0ap, ebc0_cs0_bxap_value); mtebc(PB0AP, ebc0_cs0_bxap_value);
mtebc(pb0cr, ebc0_cs0_bxcr_value); mtebc(PB0CR, ebc0_cs0_bxcr_value);
mtebc(pb1ap, ebc0_cs1_bxap_value); mtebc(PB1AP, ebc0_cs1_bxap_value);
mtebc(pb1cr, ebc0_cs1_bxcr_value); mtebc(PB1CR, ebc0_cs1_bxcr_value);
mtebc(pb2ap, ebc0_cs2_bxap_value); mtebc(PB2AP, ebc0_cs2_bxap_value);
mtebc(pb2cr, ebc0_cs2_bxcr_value); mtebc(PB2CR, ebc0_cs2_bxcr_value);
} }
static void early_init_UIC(void) static void early_init_UIC(void)

View File

@ -46,8 +46,8 @@ int board_early_init_f(void)
u32 sdr0_pfc1, sdr0_pfc2; u32 sdr0_pfc1, sdr0_pfc2;
u32 reg; u32 reg;
mtdcr(ebccfga, xbcfg); mtdcr(EBC0_CFGADDR, EBC0_CFG);
mtdcr(ebccfgd, 0xb8400000); mtdcr(EBC0_CFGDATA, 0xb8400000);
/* /*
* Setup the interrupt controller polarities, triggers, etc. * Setup the interrupt controller polarities, triggers, etc.
@ -107,8 +107,8 @@ int board_early_init_f(void)
mtsdr(SDR0_PFC1, sdr0_pfc1); mtsdr(SDR0_PFC1, sdr0_pfc1);
/* PCI arbiter enabled */ /* PCI arbiter enabled */
mfsdr(sdr_pci0, reg); mfsdr(SDR0_PCI0, reg);
mtsdr(sdr_pci0, 0x80000000 | reg); mtsdr(SDR0_PCI0, 0x80000000 | reg);
/* setup NAND FLASH */ /* setup NAND FLASH */
mfsdr(SDR0_CUST0, sdr0_cust0); mfsdr(SDR0_CUST0, sdr0_cust0);
@ -144,19 +144,19 @@ int misc_init_r(void)
gd->bd->bi_flashoffset = 0; gd->bd->bi_flashoffset = 0;
#if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) #if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
mtdcr(ebccfga, pb3cr); mtdcr(EBC0_CFGADDR, PB3CR);
#else #else
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
#endif #endif
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
size_val = ffs(gd->bd->bi_flashsize) - 21; size_val = ffs(gd->bd->bi_flashsize) - 21;
pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17);
#if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) #if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
mtdcr(ebccfga, pb3cr); mtdcr(EBC0_CFGADDR, PB3CR);
#else #else
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
#endif #endif
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* /*
* Re-check to get correct base address * Re-check to get correct base address
@ -309,8 +309,8 @@ int misc_init_r(void)
* This fix will make the MAL burst disabling patch for the Linux * This fix will make the MAL burst disabling patch for the Linux
* EMAC driver obsolete. * EMAC driver obsolete.
*/ */
reg = mfdcr(plb4_acr) & ~PLB4_ACR_WRP; reg = mfdcr(PLB4_ACR) & ~PLB4_ACR_WRP;
mtdcr(plb4_acr, reg); mtdcr(PLB4_ACR, reg);
return 0; return 0;
} }
@ -370,35 +370,35 @@ int pci_pre_init(struct pci_controller *hose)
* Set priority for all PLB3 devices to 0. * Set priority for all PLB3 devices to 0.
* Set PLB3 arbiter to fair mode. * Set PLB3 arbiter to fair mode.
*/ */
mfsdr(sdr_amp1, addr); mfsdr(SD0_AMP1, addr);
mtsdr(sdr_amp1, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP1, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb3_acr); addr = mfdcr(PLB3_ACR);
mtdcr(plb3_acr, addr | 0x80000000); mtdcr(PLB3_ACR, addr | 0x80000000);
/* /*
* Set priority for all PLB4 devices to 0. * Set priority for all PLB4 devices to 0.
*/ */
mfsdr(sdr_amp0, addr); mfsdr(SD0_AMP0, addr);
mtsdr(sdr_amp0, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP0, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb4_acr) | 0xa0000000; /* Was 0x8---- */ addr = mfdcr(PLB4_ACR) | 0xa0000000; /* Was 0x8---- */
mtdcr(plb4_acr, addr); mtdcr(PLB4_ACR, addr);
/* /*
* Set Nebula PLB4 arbiter to fair mode. * Set Nebula PLB4 arbiter to fair mode.
*/ */
/* Segment0 */ /* Segment0 */
addr = (mfdcr(plb0_acr) & ~plb0_acr_ppm_mask) | plb0_acr_ppm_fair; addr = (mfdcr(PLB0_ACR) & ~PLB0_ACR_PPM_MASK) | PLB0_ACR_PPM_FAIR;
addr = (addr & ~plb0_acr_hbu_mask) | plb0_acr_hbu_enabled; addr = (addr & ~PLB0_ACR_HBU_MASK) | PLB0_ACR_HBU_ENABLED;
addr = (addr & ~plb0_acr_rdp_mask) | plb0_acr_rdp_4deep; addr = (addr & ~PLB0_ACR_RDP_MASK) | PLB0_ACR_RDP_4DEEP;
addr = (addr & ~plb0_acr_wrp_mask) | plb0_acr_wrp_2deep; addr = (addr & ~PLB0_ACR_WRP_MASK) | PLB0_ACR_WRP_2DEEP;
mtdcr(plb0_acr, addr); mtdcr(PLB0_ACR, addr);
/* Segment1 */ /* Segment1 */
addr = (mfdcr(plb1_acr) & ~plb1_acr_ppm_mask) | plb1_acr_ppm_fair; addr = (mfdcr(PLB1_ACR) & ~PLB1_ACR_PPM_MASK) | PLB1_ACR_PPM_FAIR;
addr = (addr & ~plb1_acr_hbu_mask) | plb1_acr_hbu_enabled; addr = (addr & ~PLB1_ACR_HBU_MASK) | PLB1_ACR_HBU_ENABLED;
addr = (addr & ~plb1_acr_rdp_mask) | plb1_acr_rdp_4deep; addr = (addr & ~PLB1_ACR_RDP_MASK) | PLB1_ACR_RDP_4DEEP;
addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep; addr = (addr & ~PLB1_ACR_WRP_MASK) | PLB1_ACR_WRP_2DEEP;
mtdcr(plb1_acr, addr); mtdcr(PLB1_ACR, addr);
#ifdef CONFIG_PCI_PNP #ifdef CONFIG_PCI_PNP
hose->fixup_irq = sequoia_pci_fixup_irq; hose->fixup_irq = sequoia_pci_fixup_irq;

View File

@ -48,14 +48,14 @@ int board_early_init_f(void)
mtdcr(uicsr, 0xFFFFFFFF); /* clear all ints */ mtdcr(uicsr, 0xFFFFFFFF); /* clear all ints */
mtdcr(uicvcr, 0x00000001); /* set vect base=0,INT0 highest priority */ mtdcr(uicvcr, 0x00000001); /* set vect base=0,INT0 highest priority */
mtebc(pb3ap, CONFIG_SYS_EBC_PB3AP); /* memory bank 3 (CPLD_LCM) initialization */ mtebc(PB3AP, CONFIG_SYS_EBC_PB3AP); /* memory bank 3 (CPLD_LCM) initialization */
mtebc(pb3cr, CONFIG_SYS_EBC_PB3CR); mtebc(PB3CR, CONFIG_SYS_EBC_PB3CR);
/* /*
* Configure CPC0_PCI to enable PerWE as output * Configure CPC0_PCI to enable PerWE as output
* and enable the internal PCI arbiter * and enable the internal PCI arbiter
*/ */
mtdcr(cpc0_pci, CPC0_PCI_SPE | CPC0_PCI_HOST_CFG_EN | CPC0_PCI_ARBIT_EN); mtdcr(CPC0_PCI, CPC0_PCI_SPE | CPC0_PCI_HOST_CFG_EN | CPC0_PCI_ARBIT_EN);
return 0; return 0;
} }

View File

@ -33,60 +33,60 @@ void show_reset_reg(void)
/* read clock regsiter */ /* read clock regsiter */
printf("===== Display reset and initialize register Start =========\n"); printf("===== Display reset and initialize register Start =========\n");
mfcpr(clk_pllc,reg); mfcpr(CPR0_PLLC,reg);
printf("cpr_pllc = %#010lx\n",reg); printf("cpr_pllc = %#010lx\n",reg);
mfcpr(clk_plld,reg); mfcpr(CPR0_PLLD,reg);
printf("cpr_plld = %#010lx\n",reg); printf("cpr_plld = %#010lx\n",reg);
mfcpr(clk_primad,reg); mfcpr(CPR0_PRIMAD,reg);
printf("cpr_primad = %#010lx\n",reg); printf("cpr_primad = %#010lx\n",reg);
mfcpr(clk_primbd,reg); mfcpr(CPR0_PRIMBD,reg);
printf("cpr_primbd = %#010lx\n",reg); printf("cpr_primbd = %#010lx\n",reg);
mfcpr(clk_opbd,reg); mfcpr(CPR0_OPBD,reg);
printf("cpr_opbd = %#010lx\n",reg); printf("cpr_opbd = %#010lx\n",reg);
mfcpr(clk_perd,reg); mfcpr(CPR0_PERD,reg);
printf("cpr_perd = %#010lx\n",reg); printf("cpr_perd = %#010lx\n",reg);
mfcpr(clk_mald,reg); mfcpr(CPR0_MALD,reg);
printf("cpr_mald = %#010lx\n",reg); printf("cpr_mald = %#010lx\n",reg);
/* read sdr register */ /* read sdr register */
mfsdr(sdr_ebc,reg); mfsdr(SDR0_EBC,reg);
printf("sdr_ebc = %#010lx\n",reg); printf("SDR0_EBC = %#010lx\n",reg);
mfsdr(sdr_cp440,reg); mfsdr(SDR0_CP440,reg);
printf("sdr_cp440 = %#010lx\n",reg); printf("SDR0_CP440 = %#010lx\n",reg);
mfsdr(sdr_xcr,reg); mfsdr(SDR0_XCR,reg);
printf("sdr_xcr = %#010lx\n",reg); printf("SDR0_XCR = %#010lx\n",reg);
mfsdr(sdr_xpllc,reg); mfsdr(SDR0_XPLLC,reg);
printf("sdr_xpllc = %#010lx\n",reg); printf("SDR0_XPLLC = %#010lx\n",reg);
mfsdr(sdr_xplld,reg); mfsdr(SDR0_XPLLD,reg);
printf("sdr_xplld = %#010lx\n",reg); printf("SDR0_XPLLD = %#010lx\n",reg);
mfsdr(sdr_pfc0,reg); mfsdr(SDR0_PFC0,reg);
printf("sdr_pfc0 = %#010lx\n",reg); printf("SDR0_PFC0 = %#010lx\n",reg);
mfsdr(sdr_pfc1,reg); mfsdr(SDR0_PFC1,reg);
printf("sdr_pfc1 = %#010lx\n",reg); printf("SDR0_PFC1 = %#010lx\n",reg);
mfsdr(sdr_cust0,reg); mfsdr(SDR0_CUST0,reg);
printf("sdr_cust0 = %#010lx\n",reg); printf("SDR0_CUST0 = %#010lx\n",reg);
mfsdr(sdr_cust1,reg); mfsdr(SDR0_CUST1,reg);
printf("sdr_cust1 = %#010lx\n",reg); printf("SDR0_CUST1 = %#010lx\n",reg);
mfsdr(sdr_uart0,reg); mfsdr(SDR0_UART0,reg);
printf("sdr_uart0 = %#010lx\n",reg); printf("SDR0_UART0 = %#010lx\n",reg);
mfsdr(sdr_uart1,reg); mfsdr(SDR0_UART1,reg);
printf("sdr_uart1 = %#010lx\n",reg); printf("SDR0_UART1 = %#010lx\n",reg);
printf("===== Display reset and initialize register End =========\n"); printf("===== Display reset and initialize register End =========\n");
} }
@ -96,14 +96,14 @@ void show_xbridge_info(void)
unsigned long reg; unsigned long reg;
printf("PCI-X chip control registers\n"); printf("PCI-X chip control registers\n");
mfsdr(sdr_xcr, reg); mfsdr(SDR0_XCR, reg);
printf("sdr_xcr = %#010lx\n", reg); printf("SDR0_XCR = %#010lx\n", reg);
mfsdr(sdr_xpllc, reg); mfsdr(SDR0_XPLLC, reg);
printf("sdr_xpllc = %#010lx\n", reg); printf("SDR0_XPLLC = %#010lx\n", reg);
mfsdr(sdr_xplld, reg); mfsdr(SDR0_XPLLD, reg);
printf("sdr_xplld = %#010lx\n", reg); printf("SDR0_XPLLD = %#010lx\n", reg);
printf("PCI-X Bridge Configure registers\n"); printf("PCI-X Bridge Configure registers\n");
printf("PCIX0_VENDID = %#06x\n", in16r(PCIX0_VENDID)); printf("PCIX0_VENDID = %#06x\n", in16r(PCIX0_VENDID));

View File

@ -47,7 +47,7 @@ int board_early_init_f (void)
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| Initialize EBC CONFIG | Initialize EBC CONFIG
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtebc(xbcfg, EBC_CFG_LE_UNLOCK | mtebc(EBC0_CFG, EBC_CFG_LE_UNLOCK |
EBC_CFG_PTD_ENABLE | EBC_CFG_RTC_64PERCLK | EBC_CFG_PTD_ENABLE | EBC_CFG_RTC_64PERCLK |
EBC_CFG_ATC_PREVIOUS | EBC_CFG_DTC_PREVIOUS | EBC_CFG_ATC_PREVIOUS | EBC_CFG_DTC_PREVIOUS |
EBC_CFG_CTC_PREVIOUS | EBC_CFG_EMC_DEFAULT | EBC_CFG_CTC_PREVIOUS | EBC_CFG_EMC_DEFAULT |
@ -56,66 +56,66 @@ int board_early_init_f (void)
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| 64MB FLASH. Initialize bank 0 with default values. | 64MB FLASH. Initialize bank 0 with default values.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtebc(pb0ap, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(15) | mtebc(PB0AP, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(15) |
EBC_BXAP_BCE_DISABLE | EBC_BXAP_BCE_DISABLE |
EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_OEN_ENCODE(1) |
EBC_BXAP_WBN_ENCODE(1) | EBC_BXAP_WBF_ENCODE(1) | EBC_BXAP_WBN_ENCODE(1) | EBC_BXAP_WBF_ENCODE(1) |
EBC_BXAP_TH_ENCODE(3) | EBC_BXAP_RE_DISABLED | EBC_BXAP_TH_ENCODE(3) | EBC_BXAP_RE_DISABLED |
EBC_BXAP_BEM_WRITEONLY | EBC_BXAP_BEM_WRITEONLY |
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb0cr, EBC_BXCR_BAS_ENCODE(CONFIG_SYS_FLASH_BASE) | mtebc(PB0CR, EBC_BXCR_BAS_ENCODE(CONFIG_SYS_FLASH_BASE) |
EBC_BXCR_BS_64MB | EBC_BXCR_BU_RW|EBC_BXCR_BW_32BIT); EBC_BXCR_BS_64MB | EBC_BXCR_BU_RW|EBC_BXCR_BW_32BIT);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| FPGA. Initialize bank 1 with default values. | FPGA. Initialize bank 1 with default values.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtebc(pb1ap, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(5) | mtebc(PB1AP, EBC_BXAP_BME_DISABLED|EBC_BXAP_TWT_ENCODE(5) |
EBC_BXAP_BCE_DISABLE | EBC_BXAP_BCE_DISABLE |
EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_OEN_ENCODE(1) |
EBC_BXAP_WBN_ENCODE(1) | EBC_BXAP_WBF_ENCODE(1) | EBC_BXAP_WBN_ENCODE(1) | EBC_BXAP_WBF_ENCODE(1) |
EBC_BXAP_TH_ENCODE(3) | EBC_BXAP_RE_DISABLED | EBC_BXAP_TH_ENCODE(3) | EBC_BXAP_RE_DISABLED |
EBC_BXAP_BEM_WRITEONLY | EBC_BXAP_BEM_WRITEONLY |
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb1cr, EBC_BXCR_BAS_ENCODE(0x41000000) | mtebc(PB1CR, EBC_BXCR_BAS_ENCODE(0x41000000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_8BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_8BIT);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| LCM. Initialize bank 2 with default values. | LCM. Initialize bank 2 with default values.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtebc(pb2ap, EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(64) | mtebc(PB2AP, EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(64) |
EBC_BXAP_BCE_DISABLE | EBC_BXAP_BCE_DISABLE |
EBC_BXAP_CSN_ENCODE(3) | EBC_BXAP_OEN_ENCODE(3) | EBC_BXAP_CSN_ENCODE(3) | EBC_BXAP_OEN_ENCODE(3) |
EBC_BXAP_WBN_ENCODE(3) | EBC_BXAP_WBF_ENCODE(3) | EBC_BXAP_WBN_ENCODE(3) | EBC_BXAP_WBF_ENCODE(3) |
EBC_BXAP_TH_ENCODE(7) | EBC_BXAP_RE_DISABLED | EBC_BXAP_TH_ENCODE(7) | EBC_BXAP_RE_DISABLED |
EBC_BXAP_BEM_WRITEONLY | EBC_BXAP_BEM_WRITEONLY |
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb2cr, EBC_BXCR_BAS_ENCODE(0x42000000) | mtebc(PB2CR, EBC_BXCR_BAS_ENCODE(0x42000000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW|EBC_BXCR_BW_8BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW|EBC_BXCR_BW_8BIT);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| TMP. Initialize bank 3 with default values. | TMP. Initialize bank 3 with default values.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtebc(pb3ap, EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(128) | mtebc(PB3AP, EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(128) |
EBC_BXAP_BCE_DISABLE | EBC_BXAP_BCE_DISABLE |
EBC_BXAP_CSN_ENCODE(3) | EBC_BXAP_OEN_ENCODE(3) | EBC_BXAP_CSN_ENCODE(3) | EBC_BXAP_OEN_ENCODE(3) |
EBC_BXAP_WBN_ENCODE(3) | EBC_BXAP_WBF_ENCODE(3) | EBC_BXAP_WBN_ENCODE(3) | EBC_BXAP_WBF_ENCODE(3) |
EBC_BXAP_TH_ENCODE(7) | EBC_BXAP_RE_DISABLED | EBC_BXAP_TH_ENCODE(7) | EBC_BXAP_RE_DISABLED |
EBC_BXAP_BEM_WRITEONLY | EBC_BXAP_BEM_WRITEONLY |
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb3cr, EBC_BXCR_BAS_ENCODE(0x48000000) | mtebc(PB3CR, EBC_BXCR_BAS_ENCODE(0x48000000) |
EBC_BXCR_BS_64MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT); EBC_BXCR_BS_64MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| Connector 4~7. Initialize bank 3~ 7 with default values. | Connector 4~7. Initialize bank 3~ 7 with default values.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mtebc(pb4ap,0); mtebc(PB4AP,0);
mtebc(pb4cr,0); mtebc(PB4CR,0);
mtebc(pb5ap,0); mtebc(PB5AP,0);
mtebc(pb5cr,0); mtebc(PB5CR,0);
mtebc(pb6ap,0); mtebc(PB6AP,0);
mtebc(pb6cr,0); mtebc(PB6CR,0);
mtebc(pb7ap,0); mtebc(PB7AP,0);
mtebc(pb7cr,0); mtebc(PB7CR,0);
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
* Setup the interrupt controller polarities, triggers, etc. * Setup the interrupt controller polarities, triggers, etc.
@ -164,13 +164,13 @@ int board_early_init_f (void)
mtdcr (uic0vr, 0x00000001); /* */ mtdcr (uic0vr, 0x00000001); /* */
/* Enable two GPIO 10~11 and TraceA signal */ /* Enable two GPIO 10~11 and TraceA signal */
mfsdr(sdr_pfc0,reg); mfsdr(SDR0_PFC0,reg);
reg |= 0x00300000; reg |= 0x00300000;
mtsdr(sdr_pfc0,reg); mtsdr(SDR0_PFC0,reg);
mfsdr(sdr_pfc1,reg); mfsdr(SDR0_PFC1,reg);
reg |= 0x00100000; reg |= 0x00100000;
mtsdr(sdr_pfc1,reg); mtsdr(SDR0_PFC1,reg);
/* Set GPIO 10 and 11 as output */ /* Set GPIO 10 and 11 as output */
GpioOdr = (volatile unsigned int*)(CONFIG_SYS_PERIPHERAL_BASE+0x718); GpioOdr = (volatile unsigned int*)(CONFIG_SYS_PERIPHERAL_BASE+0x718);
@ -230,7 +230,7 @@ int pci_pre_init(struct pci_controller * hose )
* The ocotea board is always configured as the host & requires the * The ocotea board is always configured as the host & requires the
* PCI arbiter to be enabled. * PCI arbiter to be enabled.
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/
mfsdr(sdr_sdstp1, strap); mfsdr(SDR0_SDSTP1, strap);
if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ){ if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ){
printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap); printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap);
return 0; return 0;

View File

@ -102,27 +102,27 @@ unsigned long flash_init(void)
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
if (size_b1) { if (size_b1) {
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b1 = -size_b1; base_b1 = -size_b1;
pbcr = pbcr =
(pbcr & 0x0001ffff) | base_b1 | (pbcr & 0x0001ffff) | base_b1 |
(((size_b1 / 1024 / 1024) - 1) << 17); (((size_b1 / 1024 / 1024) - 1) << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* printf("pb1cr = %x\n", pbcr); */ /* printf("PB1CR = %x\n", pbcr); */
} }
if (size_b0) { if (size_b0) {
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
base_b0 = base_b1 - size_b0; base_b0 = base_b1 - size_b0;
pbcr = pbcr =
(pbcr & 0x0001ffff) | base_b0 | (pbcr & 0x0001ffff) | base_b0 |
(((size_b0 / 1024 / 1024) - 1) << 17); (((size_b0 / 1024 / 1024) - 1) << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* printf("pb0cr = %x\n", pbcr); */ /* printf("PB0CR = %x\n", pbcr); */
} }
size_b0 = flash_get_size((vu_long *) base_b0, &flash_info[0]); size_b0 = flash_get_size((vu_long *) base_b0, &flash_info[0]);

View File

@ -40,9 +40,9 @@ int board_early_init_f(void)
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
* Setup the external bus controller/chip selects * Setup the external bus controller/chip selects
*-------------------------------------------------------------------*/ *-------------------------------------------------------------------*/
mtdcr(ebccfga, xbcfg); mtdcr(EBC0_CFGADDR, EBC0_CFG);
reg = mfdcr(ebccfgd); reg = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfgd, reg | 0x04000000); /* Set ATC */ mtdcr(EBC0_CFGDATA, reg | 0x04000000); /* Set ATC */
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
* Setup the GPIO pins * Setup the GPIO pins
@ -101,10 +101,10 @@ int board_early_init_f(void)
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
* Setup other serial configuration * Setup other serial configuration
*-------------------------------------------------------------------*/ *-------------------------------------------------------------------*/
mfsdr(sdr_pci0, reg); mfsdr(SDR0_PCI0, reg);
mtsdr(sdr_pci0, 0x80000000 | reg); /* PCI arbiter enabled */ mtsdr(SDR0_PCI0, 0x80000000 | reg); /* PCI arbiter enabled */
mtsdr(sdr_pfc0, 0x00003e00); /* Pin function */ mtsdr(SDR0_PFC0, 0x00003e00); /* Pin function */
mtsdr(sdr_pfc1, 0x00048000); /* Pin function: UART0 has 4 pins */ mtsdr(SDR0_PFC1, 0x00048000); /* Pin function: UART0 has 4 pins */
/*clear tmrclk divisor */ /*clear tmrclk divisor */
*(unsigned char *)(CONFIG_SYS_BCSR_BASE | 0x04) = 0x00; *(unsigned char *)(CONFIG_SYS_BCSR_BASE | 0x04) = 0x00;
@ -129,8 +129,8 @@ int misc_init_r (void)
int size_val = 0; int size_val = 0;
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
switch (gd->bd->bi_flashsize) { switch (gd->bd->bi_flashsize) {
case 1 << 20: case 1 << 20:
size_val = 0; size_val = 0;
@ -158,8 +158,8 @@ int misc_init_r (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* adjust flash start and offset */ /* adjust flash start and offset */
gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize; gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize;
@ -353,35 +353,35 @@ int pci_pre_init(struct pci_controller *hose)
| Set priority for all PLB3 devices to 0. | Set priority for all PLB3 devices to 0.
| Set PLB3 arbiter to fair mode. | Set PLB3 arbiter to fair mode.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mfsdr(sdr_amp1, addr); mfsdr(SD0_AMP1, addr);
mtsdr(sdr_amp1, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP1, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb3_acr); addr = mfdcr(PLB3_ACR);
mtdcr(plb3_acr, addr | 0x80000000); mtdcr(PLB3_ACR, addr | 0x80000000);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| Set priority for all PLB4 devices to 0. | Set priority for all PLB4 devices to 0.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mfsdr(sdr_amp0, addr); mfsdr(SD0_AMP0, addr);
mtsdr(sdr_amp0, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP0, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb4_acr) | 0xa0000000; /* Was 0x8---- */ addr = mfdcr(PLB4_ACR) | 0xa0000000; /* Was 0x8---- */
mtdcr(plb4_acr, addr); mtdcr(PLB4_ACR, addr);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| Set Nebula PLB4 arbiter to fair mode. | Set Nebula PLB4 arbiter to fair mode.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
/* Segment0 */ /* Segment0 */
addr = (mfdcr(plb0_acr) & ~plb0_acr_ppm_mask) | plb0_acr_ppm_fair; addr = (mfdcr(PLB0_ACR) & ~PLB0_ACR_PPM_MASK) | PLB0_ACR_PPM_FAIR;
addr = (addr & ~plb0_acr_hbu_mask) | plb0_acr_hbu_enabled; addr = (addr & ~PLB0_ACR_HBU_MASK) | PLB0_ACR_HBU_ENABLED;
addr = (addr & ~plb0_acr_rdp_mask) | plb0_acr_rdp_4deep; addr = (addr & ~PLB0_ACR_RDP_MASK) | PLB0_ACR_RDP_4DEEP;
addr = (addr & ~plb0_acr_wrp_mask) | plb0_acr_wrp_2deep; addr = (addr & ~PLB0_ACR_WRP_MASK) | PLB0_ACR_WRP_2DEEP;
mtdcr(plb0_acr, addr); mtdcr(PLB0_ACR, addr);
/* Segment1 */ /* Segment1 */
addr = (mfdcr(plb1_acr) & ~plb1_acr_ppm_mask) | plb1_acr_ppm_fair; addr = (mfdcr(PLB1_ACR) & ~PLB1_ACR_PPM_MASK) | PLB1_ACR_PPM_FAIR;
addr = (addr & ~plb1_acr_hbu_mask) | plb1_acr_hbu_enabled; addr = (addr & ~PLB1_ACR_HBU_MASK) | PLB1_ACR_HBU_ENABLED;
addr = (addr & ~plb1_acr_rdp_mask) | plb1_acr_rdp_4deep; addr = (addr & ~PLB1_ACR_RDP_MASK) | PLB1_ACR_RDP_4DEEP;
addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep; addr = (addr & ~PLB1_ACR_WRP_MASK) | PLB1_ACR_WRP_2DEEP;
mtdcr(plb1_acr, addr); mtdcr(PLB1_ACR, addr);
return 1; return 1;
} }

View File

@ -981,7 +981,7 @@ unsigned long flash_init(void)
* Boot Settings in IIC EEprom address 0xA8 or 0xA0 * Boot Settings in IIC EEprom address 0xA8 or 0xA0
* Read Serial Device Strap Register1 in PPC440SPe * Read Serial Device Strap Register1 in PPC440SPe
*/ */
mfsdr(sdr_sdstp1, val); mfsdr(SDR0_SDSTP1, val);
boot_selection = val & SDR0_SDSTP1_BOOT_SEL_MASK; boot_selection = val & SDR0_SDSTP1_BOOT_SEL_MASK;
ebc_boot_size = val & SDR0_SDSTP1_EBC_ROM_BS_MASK; ebc_boot_size = val & SDR0_SDSTP1_EBC_ROM_BS_MASK;

View File

@ -167,7 +167,7 @@ int board_early_init_f (void)
| 0x07C00000 - 0 0 000 1 1 1 1 1 0000 0 00000 000000000000 | 0x07C00000 - 0 0 000 1 1 1 1 1 0000 0 00000 000000000000
| |
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(xbcfg, EBC_CFG_LE_UNLOCK | mtebc(EBC0_CFG, EBC_CFG_LE_UNLOCK |
EBC_CFG_PTD_ENABLE | EBC_CFG_PTD_ENABLE |
EBC_CFG_RTC_16PERCLK | EBC_CFG_RTC_16PERCLK |
EBC_CFG_ATC_PREVIOUS | EBC_CFG_ATC_PREVIOUS |
@ -188,8 +188,8 @@ int board_early_init_f (void)
| boot type | boot type
| |
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb1ap, EBC_BXAP_FPGA); mtebc(PB1AP, EBC_BXAP_FPGA);
mtebc(pb1cr, EBC_BXCR_FPGA_CS1); mtebc(PB1CR, EBC_BXCR_FPGA_CS1);
/*-------------------------------------------------------------------+ /*-------------------------------------------------------------------+
| |
@ -334,10 +334,10 @@ int board_early_init_f (void)
break; break;
} }
mtebc(pb0ap, ebc0_cs0_bxap_value); mtebc(PB0AP, ebc0_cs0_bxap_value);
mtebc(pb0cr, ebc0_cs0_bxcr_value); mtebc(PB0CR, ebc0_cs0_bxcr_value);
mtebc(pb2ap, ebc0_cs2_bxap_value); mtebc(PB2AP, ebc0_cs2_bxap_value);
mtebc(pb2cr, ebc0_cs2_bxcr_value); mtebc(PB2CR, ebc0_cs2_bxcr_value);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| Interrupt controller setup for the AMCC 440SPe Evaluation board. | Interrupt controller setup for the AMCC 440SPe Evaluation board.
@ -530,9 +530,9 @@ int board_early_init_f (void)
mtdcr (uic0sr, 0x00000000); /* clear all interrupts */ mtdcr (uic0sr, 0x00000000); /* clear all interrupts */
mtdcr (uic0sr, 0xffffffff); /* clear all interrupts */ mtdcr (uic0sr, 0xffffffff); /* clear all interrupts */
mfsdr(sdr_mfr, mfr); mfsdr(SDR0_MFR, mfr);
mfr |= SDR0_MFR_FIXD; /* Workaround for PCI/DMA */ mfr |= SDR0_MFR_FIXD; /* Workaround for PCI/DMA */
mtsdr(sdr_mfr, mfr); mtsdr(SDR0_MFR, mfr);
fpga_init(); fpga_init();
@ -608,7 +608,7 @@ int pci_pre_init(struct pci_controller * hose )
* The yucca board is always configured as the host & requires the * The yucca board is always configured as the host & requires the
* PCI arbiter to be enabled. * PCI arbiter to be enabled.
*-------------------------------------------------------------------*/ *-------------------------------------------------------------------*/
mfsdr(sdr_sdstp1, strap); mfsdr(SDR0_SDSTP1, strap);
if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ) { if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ) {
printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap); printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap);
return 0; return 0;

View File

@ -198,8 +198,8 @@ static void init_sdram (void)
unsigned long tmp; unsigned long tmp;
/* write SDRAM bank 0 register */ /* write SDRAM bank 0 register */
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
mtdcr (memcfgd, 0x00062001); mtdcr (SDRAM0_CFGDATA, 0x00062001);
/* Set the SDRAM Timing reg, SDTR1 and the refresh timer reg, RTR. */ /* Set the SDRAM Timing reg, SDTR1 and the refresh timer reg, RTR. */
/* To set the appropriate timings, we need to know the SDRAM speed. */ /* To set the appropriate timings, we need to know the SDRAM speed. */
@ -212,26 +212,26 @@ static void init_sdram (void)
/* divisor = ((mfdcr(strap)>> 28) & 0x3); */ /* divisor = ((mfdcr(strap)>> 28) & 0x3); */
/* write SDRAM timing for 100MHz. */ /* write SDRAM timing for 100MHz. */
mtdcr (memcfga, mem_sdtr1); mtdcr (SDRAM0_CFGADDR, mem_sdtr1);
mtdcr (memcfgd, 0x0086400D); mtdcr (SDRAM0_CFGDATA, 0x0086400D);
/* write SDRAM refresh interval register */ /* write SDRAM refresh interval register */
mtdcr (memcfga, mem_rtr); mtdcr (SDRAM0_CFGADDR, mem_rtr);
mtdcr (memcfgd, 0x05F00000); mtdcr (SDRAM0_CFGDATA, 0x05F00000);
udelay (200); udelay (200);
/* sdram controller.*/ /* sdram controller.*/
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
mtdcr (memcfgd, 0x90800000); mtdcr (SDRAM0_CFGDATA, 0x90800000);
udelay (200); udelay (200);
/* initially, disable ECC on all banks */ /* initially, disable ECC on all banks */
udelay (200); udelay (200);
mtdcr (memcfga, mem_ecccf); mtdcr (SDRAM0_CFGADDR, mem_ecccf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
tmp &= 0xff0fffff; tmp &= 0xff0fffff;
mtdcr (memcfga, mem_ecccf); mtdcr (SDRAM0_CFGADDR, mem_ecccf);
mtdcr (memcfgd, tmp); mtdcr (SDRAM0_CFGDATA, tmp);
return; return;
} }
@ -282,18 +282,18 @@ int testdram (void)
} }
printf ("Enable ECC.."); printf ("Enable ECC..");
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
tmp = (mfdcr (memcfgd) & ~0xFFE00000) | 0x90800000; tmp = (mfdcr (SDRAM0_CFGDATA) & ~0xFFE00000) | 0x90800000;
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
mtdcr (memcfgd, tmp); mtdcr (SDRAM0_CFGDATA, tmp);
udelay (600); udelay (600);
for (p = (unsigned long) 0; ((unsigned long) p < L1_MEMSIZE); *p++ = 0L) for (p = (unsigned long) 0; ((unsigned long) p < L1_MEMSIZE); *p++ = 0L)
; ;
udelay (400); udelay (400);
mtdcr (memcfga, mem_ecccf); mtdcr (SDRAM0_CFGADDR, mem_ecccf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
tmp |= 0x00800000; tmp |= 0x00800000;
mtdcr (memcfgd, tmp); mtdcr (SDRAM0_CFGDATA, tmp);
udelay (400); udelay (400);
printf ("enabled.\n"); printf ("enabled.\n");
return (0); return (0);

View File

@ -87,17 +87,17 @@ ext_bus_cntlr_init:
/* Peripheral Bank 0 (Flash) initialization */ /* Peripheral Bank 0 (Flash) initialization */
/*---------------------------------------------------------------------- */ /*---------------------------------------------------------------------- */
/* 0x7F8FFE80 slowest boot */ /* 0x7F8FFE80 slowest boot */
addi r4,0,pb0ap addi r4,0,PB1AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x9B01 addis r4,0,0x9B01
ori r4,r4,0x5480 ori r4,r4,0x5480
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb0cr addi r4,0,PB0CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0xFFC5 /* BAS=0xFFC,BS=0x4(4MB),BU=0x3(R/W), */ addis r4,0,0xFFC5 /* BAS=0xFFC,BS=0x4(4MB),BU=0x3(R/W), */
ori r4,r4,0x8000 /* BW=0x0( 8 bits) */ ori r4,r4,0x8000 /* BW=0x0( 8 bits) */
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
blr blr
@ -125,16 +125,16 @@ ext_bus_cntlr_init:
/* all reserved bits=0 */ /* all reserved bits=0 */
/*---------------------------------------------------------------------- */ /*---------------------------------------------------------------------- */
/*---------------------------------------------------------------------- */ /*---------------------------------------------------------------------- */
addi r4,0,pb1ap addi r4,0,PB1AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0185 /* hiword */ addis r4,0,0x0185 /* hiword */
ori r4,r4,0x4380 /* loword */ ori r4,r4,0x4380 /* loword */
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb1cr addi r4,0,PB1CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0xF001 /* BAS=0xF00,BS=0x0(1MB),BU=0x3(R/W), */ addis r4,0,0xF001 /* BAS=0xF00,BS=0x0(1MB),BU=0x3(R/W), */
ori r4,r4,0x8000 /* BW=0x0( 8 bits) */ ori r4,r4,0x8000 /* BW=0x0( 8 bits) */
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
blr blr

View File

@ -95,7 +95,7 @@ int board_early_init_f(void)
mtdcr (uicvcr, 0x00000001); /* set vect base=0,INT0 highest priority */ mtdcr (uicvcr, 0x00000001); /* set vect base=0,INT0 highest priority */
mtdcr (uicsr, 0xFFFFFFFF); /* clear all ints */ mtdcr (uicsr, 0xFFFFFFFF); /* clear all ints */
mtebc (epcr, 0xa8400000); /* EBC always driven */ mtebc (EBC0_CFG, 0xa8400000); /* EBC always driven */
return 0; /* success */ return 0; /* success */
} }
@ -135,29 +135,29 @@ phys_size_t initdram (int board_type)
tot_size = 0; tot_size = 0;
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (tmp & 0x00000001) { if (tmp & 0x00000001) {
bank_size = 0x00400000 << ((tmp >> 17) & 0x7); bank_size = 0x00400000 << ((tmp >> 17) & 0x7);
tot_size += bank_size; tot_size += bank_size;
} }
mtdcr (memcfga, mem_mb1cf); mtdcr (SDRAM0_CFGADDR, mem_mb1cf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (tmp & 0x00000001) { if (tmp & 0x00000001) {
bank_size = 0x00400000 << ((tmp >> 17) & 0x7); bank_size = 0x00400000 << ((tmp >> 17) & 0x7);
tot_size += bank_size; tot_size += bank_size;
} }
mtdcr (memcfga, mem_mb2cf); mtdcr (SDRAM0_CFGADDR, mem_mb2cf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (tmp & 0x00000001) { if (tmp & 0x00000001) {
bank_size = 0x00400000 << ((tmp >> 17) & 0x7); bank_size = 0x00400000 << ((tmp >> 17) & 0x7);
tot_size += bank_size; tot_size += bank_size;
} }
mtdcr (memcfga, mem_mb3cf); mtdcr (SDRAM0_CFGADDR, mem_mb3cf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (tmp & 0x00000001) { if (tmp & 0x00000001) {
bank_size = 0x00400000 << ((tmp >> 17) & 0x7); bank_size = 0x00400000 << ((tmp >> 17) & 0x7);
tot_size += bank_size; tot_size += bank_size;

View File

@ -38,17 +38,17 @@
#define WDCR_EBC(reg,val) \ #define WDCR_EBC(reg,val) \
addi r4,0,reg;\ addi r4,0,reg;\
mtdcr ebccfga,r4;\ mtdcr EBC0_CFGADDR,r4;\
addis r4,0,val@h;\ addis r4,0,val@h;\
ori r4,r4,val@l;\ ori r4,r4,val@l;\
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
#define WDCR_SDRAM(reg,val) \ #define WDCR_SDRAM(reg,val) \
addi r4,0,reg;\ addi r4,0,reg;\
mtdcr memcfga,r4;\ mtdcr SDRAM0_CFGADDR,r4;\
addis r4,0,val@h;\ addis r4,0,val@h;\
ori r4,r4,val@l;\ ori r4,r4,val@l;\
mtdcr memcfgd,r4 mtdcr SDRAM0_CFGDATA,r4
/****************************************************************************** /******************************************************************************
* Function: ext_bus_cntlr_init * Function: ext_bus_cntlr_init
@ -106,51 +106,51 @@ ext_bus_cntlr_init:
* SETUP CPC0_CR0 * SETUP CPC0_CR0
*******************************************************************/ *******************************************************************/
LI32(r4, 0x007000c0) LI32(r4, 0x007000c0)
mtdcr cntrl0, r4 mtdcr CPC0_CR0, r4
/******************************************************************** /********************************************************************
* Setup CPC0_CR1: Change PCIINT signal to PerWE * Setup CPC0_CR1: Change PCIINT signal to PerWE
*******************************************************************/ *******************************************************************/
mfdcr r4, cntrl1 mfdcr r4, CPC0_CR1
ori r4, r4, 0x4000 ori r4, r4, 0x4000
mtdcr cntrl1, r4 mtdcr CPC0_CR1, r4
/******************************************************************** /********************************************************************
* Setup External Bus Controller (EBC). * Setup External Bus Controller (EBC).
*******************************************************************/ *******************************************************************/
WDCR_EBC(epcr, 0xd84c0000) WDCR_EBC(EBC0_CFG, 0xd84c0000)
/******************************************************************** /********************************************************************
* Memory Bank 0 (Intel 28F128J3 Flash) initialization * Memory Bank 0 (Intel 28F128J3 Flash) initialization
*******************************************************************/ *******************************************************************/
/*WDCR_EBC(pb0ap, 0x02869200)*/ /*WDCR_EBC(PB1AP, 0x02869200)*/
WDCR_EBC(pb0ap, 0x07869200) WDCR_EBC(PB1AP, 0x07869200)
WDCR_EBC(pb0cr, 0xfe0bc000) WDCR_EBC(PB0CR, 0xfe0bc000)
/******************************************************************** /********************************************************************
* Memory Bank 1 (Holtek HT6542B PS/2) initialization * Memory Bank 1 (Holtek HT6542B PS/2) initialization
*******************************************************************/ *******************************************************************/
WDCR_EBC(pb1ap, 0x1f869200) WDCR_EBC(PB1AP, 0x1f869200)
WDCR_EBC(pb1cr, 0xf0818000) WDCR_EBC(PB1CR, 0xf0818000)
/******************************************************************** /********************************************************************
* Memory Bank 2 (Epson S1D13506) initialization * Memory Bank 2 (Epson S1D13506) initialization
*******************************************************************/ *******************************************************************/
WDCR_EBC(pb2ap, 0x05860300) WDCR_EBC(PB2AP, 0x05860300)
WDCR_EBC(pb2cr, 0xf045a000) WDCR_EBC(PB2CR, 0xf045a000)
/******************************************************************** /********************************************************************
* Memory Bank 3 (Philips SJA1000 CAN Controllers) initialization * Memory Bank 3 (Philips SJA1000 CAN Controllers) initialization
*******************************************************************/ *******************************************************************/
WDCR_EBC(pb3ap, 0x0387d200) WDCR_EBC(PB3AP, 0x0387d200)
WDCR_EBC(pb3cr, 0xf021c000) WDCR_EBC(PB3CR, 0xf021c000)
/******************************************************************** /********************************************************************
* Memory Bank 4-7 (Unused) initialization * Memory Bank 4-7 (Unused) initialization
*******************************************************************/ *******************************************************************/
WDCR_EBC(pb4ap, 0) WDCR_EBC(PB4AP, 0)
WDCR_EBC(pb4cr, 0) WDCR_EBC(PB4CR, 0)
WDCR_EBC(pb5ap, 0) WDCR_EBC(PB5AP, 0)
WDCR_EBC(pb5cr, 0) WDCR_EBC(PB5CR, 0)
WDCR_EBC(pb6ap, 0) WDCR_EBC(PB6AP, 0)
WDCR_EBC(pb6cr, 0) WDCR_EBC(PB6CR, 0)
WDCR_EBC(pb7ap, 0) WDCR_EBC(PB7AP, 0)
WDCR_EBC(pb7cr, 0) WDCR_EBC(PB7CR, 0)
/* We are all done */ /* We are all done */
mtlr r0 /* Restore link register */ mtlr r0 /* Restore link register */

View File

@ -63,7 +63,7 @@ int board_early_init_f(void)
mtdcr (uicvcr, 0x00000001); /* set vect base=0,INT0 highest priority */ mtdcr (uicvcr, 0x00000001); /* set vect base=0,INT0 highest priority */
mtdcr (uicsr, 0xFFFFFFFF); /* clear all ints */ mtdcr (uicsr, 0xFFFFFFFF); /* clear all ints */
mtebc (epcr, 0xa8400000); /* EBC always driven */ mtebc (EBC0_CFG, 0xa8400000); /* EBC always driven */
return 0; /* success */ return 0; /* success */
} }
@ -103,29 +103,29 @@ phys_size_t initdram (int board_type)
tot_size = 0; tot_size = 0;
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (tmp & 0x00000001) { if (tmp & 0x00000001) {
bank_size = 0x00400000 << ((tmp >> 17) & 0x7); bank_size = 0x00400000 << ((tmp >> 17) & 0x7);
tot_size += bank_size; tot_size += bank_size;
} }
mtdcr (memcfga, mem_mb1cf); mtdcr (SDRAM0_CFGADDR, mem_mb1cf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (tmp & 0x00000001) { if (tmp & 0x00000001) {
bank_size = 0x00400000 << ((tmp >> 17) & 0x7); bank_size = 0x00400000 << ((tmp >> 17) & 0x7);
tot_size += bank_size; tot_size += bank_size;
} }
mtdcr (memcfga, mem_mb2cf); mtdcr (SDRAM0_CFGADDR, mem_mb2cf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (tmp & 0x00000001) { if (tmp & 0x00000001) {
bank_size = 0x00400000 << ((tmp >> 17) & 0x7); bank_size = 0x00400000 << ((tmp >> 17) & 0x7);
tot_size += bank_size; tot_size += bank_size;
} }
mtdcr (memcfga, mem_mb3cf); mtdcr (SDRAM0_CFGADDR, mem_mb3cf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (tmp & 0x00000001) { if (tmp & 0x00000001) {
bank_size = 0x00400000 << ((tmp >> 17) & 0x7); bank_size = 0x00400000 << ((tmp >> 17) & 0x7);
tot_size += bank_size; tot_size += bank_size;

View File

@ -38,17 +38,17 @@
#define WDCR_EBC(reg,val) \ #define WDCR_EBC(reg,val) \
addi r4,0,reg;\ addi r4,0,reg;\
mtdcr ebccfga,r4;\ mtdcr EBC0_CFGADDR,r4;\
addis r4,0,val@h;\ addis r4,0,val@h;\
ori r4,r4,val@l;\ ori r4,r4,val@l;\
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
#define WDCR_SDRAM(reg,val) \ #define WDCR_SDRAM(reg,val) \
addi r4,0,reg;\ addi r4,0,reg;\
mtdcr memcfga,r4;\ mtdcr SDRAM0_CFGADDR,r4;\
addis r4,0,val@h;\ addis r4,0,val@h;\
ori r4,r4,val@l;\ ori r4,r4,val@l;\
mtdcr memcfgd,r4 mtdcr SDRAM0_CFGDATA,r4
/****************************************************************************** /******************************************************************************
* Function: ext_bus_cntlr_init * Function: ext_bus_cntlr_init
@ -106,47 +106,47 @@ ext_bus_cntlr_init:
* SETUP CPC0_CR0 * SETUP CPC0_CR0
*******************************************************************/ *******************************************************************/
LI32(r4, 0x00c01030) LI32(r4, 0x00c01030)
mtdcr cntrl0, r4 mtdcr CPC0_CR0, r4
/******************************************************************** /********************************************************************
* Setup CPC0_CR1: Change PCIINT signal to PerWE * Setup CPC0_CR1: Change PCIINT signal to PerWE
*******************************************************************/ *******************************************************************/
mfdcr r4, cntrl1 mfdcr r4, CPC0_CR1
ori r4, r4, 0x4000 ori r4, r4, 0x4000
mtdcr cntrl1, r4 mtdcr CPC0_CR1, r4
/******************************************************************** /********************************************************************
* Setup External Bus Controller (EBC). * Setup External Bus Controller (EBC).
*******************************************************************/ *******************************************************************/
WDCR_EBC(epcr, 0xd84c0000) WDCR_EBC(EBC0_CFG, 0xd84c0000)
/******************************************************************** /********************************************************************
* Memory Bank 0 (Intel 28F640J3 Flash) initialization * Memory Bank 0 (Intel 28F640J3 Flash) initialization
*******************************************************************/ *******************************************************************/
/*WDCR_EBC(pb0ap, 0x03055200)*/ /*WDCR_EBC(PB1AP, 0x03055200)*/
/*WDCR_EBC(pb0ap, 0x04055200)*/ /*WDCR_EBC(PB1AP, 0x04055200)*/
WDCR_EBC(pb0ap, 0x08055200) WDCR_EBC(PB1AP, 0x08055200)
WDCR_EBC(pb0cr, 0xff87a000) WDCR_EBC(PB0CR, 0xff87a000)
/******************************************************************** /********************************************************************
* Memory Bank 3 (Xilinx XC95144 CPLD) initialization * Memory Bank 3 (Xilinx XC95144 CPLD) initialization
*******************************************************************/ *******************************************************************/
/*WDCR_EBC(pb3ap, 0x07869200)*/ /*WDCR_EBC(PB3AP, 0x07869200)*/
WDCR_EBC(pb3ap, 0x04055200) WDCR_EBC(PB3AP, 0x04055200)
WDCR_EBC(pb3cr, 0xf081c000) WDCR_EBC(PB3CR, 0xf081c000)
/******************************************************************** /********************************************************************
* Memory Bank 1,2,4-7 (Unused) initialization * Memory Bank 1,2,4-7 (Unused) initialization
*******************************************************************/ *******************************************************************/
WDCR_EBC(pb1ap, 0) WDCR_EBC(PB1AP, 0)
WDCR_EBC(pb1cr, 0) WDCR_EBC(PB1CR, 0)
WDCR_EBC(pb2ap, 0) WDCR_EBC(PB2AP, 0)
WDCR_EBC(pb2cr, 0) WDCR_EBC(PB2CR, 0)
WDCR_EBC(pb4ap, 0) WDCR_EBC(PB4AP, 0)
WDCR_EBC(pb4cr, 0) WDCR_EBC(PB4CR, 0)
WDCR_EBC(pb5ap, 0) WDCR_EBC(PB5AP, 0)
WDCR_EBC(pb5cr, 0) WDCR_EBC(PB5CR, 0)
WDCR_EBC(pb6ap, 0) WDCR_EBC(PB6AP, 0)
WDCR_EBC(pb6cr, 0) WDCR_EBC(PB6CR, 0)
WDCR_EBC(pb7ap, 0) WDCR_EBC(PB7AP, 0)
WDCR_EBC(pb7cr, 0) WDCR_EBC(PB7CR, 0)
/* We are all done */ /* We are all done */
mtlr r0 /* Restore link register */ mtlr r0 /* Restore link register */

View File

@ -65,9 +65,9 @@ int board_early_init_f (void)
* EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us * EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us
*/ */
#if 1 /* test-only */ #if 1 /* test-only */
mtebc (epcr, 0xa8400000); /* ebc always driven */ mtebc (EBC0_CFG, 0xa8400000); /* ebc always driven */
#else #else
mtebc (epcr, 0x28400000); /* ebc in high-z */ mtebc (EBC0_CFG, 0x28400000); /* ebc in high-z */
#endif #endif
return 0; return 0;
} }
@ -101,7 +101,7 @@ int misc_init_r (void)
int status; int status;
int index; int index;
int i; int i;
unsigned long cntrl0Reg; unsigned long CPC0_CR0Reg;
dst = malloc(CONFIG_SYS_FPGA_MAX_SIZE); dst = malloc(CONFIG_SYS_FPGA_MAX_SIZE);
if (gunzip (dst, CONFIG_SYS_FPGA_MAX_SIZE, (uchar *)fpgadata, &len) != 0) { if (gunzip (dst, CONFIG_SYS_FPGA_MAX_SIZE, (uchar *)fpgadata, &len) != 0) {

View File

@ -75,9 +75,9 @@ unsigned long flash_init (void)
debug("[%s, %d] Test point ...\n", __FUNCTION__, __LINE__); debug("[%s, %d] Test point ...\n", __FUNCTION__, __LINE__);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base = -size; base = -size;
switch (size) { switch (size) {
case 1 << 20: case 1 << 20:
@ -97,7 +97,7 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base | (size_val << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
debug("[%s, %d] Test point ...\n", __FUNCTION__, __LINE__); debug("[%s, %d] Test point ...\n", __FUNCTION__, __LINE__);
/* Monitor protection ON by default */ /* Monitor protection ON by default */

View File

@ -70,7 +70,7 @@ int board_early_init_f (void)
mtdcr (uicvcr, 0x00000001); /* set vect base=0,INT0 highest priority */ mtdcr (uicvcr, 0x00000001); /* set vect base=0,INT0 highest priority */
mtdcr (uicsr, 0xFFFFFFFF); /* clear all ints */ mtdcr (uicsr, 0xFFFFFFFF); /* clear all ints */
mtdcr (cntrl0, 0x00002000); /* set IRQ6 as GPIO23 to generate an interrupt request to the PCP2PCI bridge */ mtdcr (CPC0_CR0, 0x00002000); /* set IRQ6 as GPIO23 to generate an interrupt request to the PCP2PCI bridge */
out32 (PPC405GP_GPIO0_OR, 0x60000000); /*fixme is SMB_INT high or low active??; IRQ6 is GPIO23 output */ out32 (PPC405GP_GPIO0_OR, 0x60000000); /*fixme is SMB_INT high or low active??; IRQ6 is GPIO23 output */
out32 (PPC405GP_GPIO0_TCR, 0x7E400000); out32 (PPC405GP_GPIO0_TCR, 0x7E400000);

View File

@ -105,24 +105,24 @@ unsigned long flash_init (void)
if (size_b1) if (size_b1)
{ {
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b1 = -size_b1; base_b1 = -size_b1;
pbcr = (pbcr & 0x0001ffff) | base_b1 | (((size_b1/1024/1024)-1)<<17); pbcr = (pbcr & 0x0001ffff) | base_b1 | (((size_b1/1024/1024)-1)<<17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* printf("pb1cr = %x\n", pbcr); */ /* printf("PB1CR = %x\n", pbcr); */
} }
if (size_b0) if (size_b0)
{ {
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
base_b0 = base_b1 - size_b0; base_b0 = base_b1 - size_b0;
pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* printf("pb0cr = %x\n", pbcr); */ /* printf("PB0CR = %x\n", pbcr); */
} }
size_b0 = flash_get_size((volatile FLASH_WORD_SIZE *)base_b0, &flash_info[0]); size_b0 = flash_get_size((volatile FLASH_WORD_SIZE *)base_b0, &flash_info[0]);

View File

@ -76,129 +76,129 @@ ext_bus_cntlr_init:
/* Memory Bank 0 (Flash) initialization (from openbios) */ /* Memory Bank 0 (Flash) initialization (from openbios) */
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
addi r4,0,pb0ap addi r4,0,PB1AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS0_AP@h addis r4,0,CS0_AP@h
ori r4,r4,CS0_AP@l ori r4,r4,CS0_AP@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb0cr addi r4,0,PB0CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS0_CR@h addis r4,0,CS0_CR@h
ori r4,r4,CS0_CR@l ori r4,r4,CS0_CR@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
/* Memory Bank 1 (NVRAM/RTC) initialization */ /* Memory Bank 1 (NVRAM/RTC) initialization */
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
addi r4,0,pb1ap addi r4,0,PB1AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS1_AP@h addis r4,0,CS1_AP@h
ori r4,r4,CS1_AP@l ori r4,r4,CS1_AP@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb1cr addi r4,0,PB1CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS1_CR@h addis r4,0,CS1_CR@h
ori r4,r4,CS1_CR@l ori r4,r4,CS1_CR@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
/* Memory Bank 2 (A/D converter) initialization */ /* Memory Bank 2 (A/D converter) initialization */
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
addi r4,0,pb2ap addi r4,0,PB2AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS2_AP@h addis r4,0,CS2_AP@h
ori r4,r4,CS2_AP@l ori r4,r4,CS2_AP@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb2cr addi r4,0,PB2CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS2_CR@h addis r4,0,CS2_CR@h
ori r4,r4,CS2_CR@l ori r4,r4,CS2_CR@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
/* Memory Bank 3 (Ethernet PHY Reset) initialization */ /* Memory Bank 3 (Ethernet PHY Reset) initialization */
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
addi r4,0,pb3ap addi r4,0,PB3AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS3_AP@h addis r4,0,CS3_AP@h
ori r4,r4,CS3_AP@l ori r4,r4,CS3_AP@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb3cr addi r4,0,PB3CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS3_CR@h addis r4,0,CS3_CR@h
ori r4,r4,CS3_CR@l ori r4,r4,CS3_CR@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
/* Memory Bank 4 (PC-MIP PRSNT1#) initialization */ /* Memory Bank 4 (PC-MIP PRSNT1#) initialization */
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
addi r4,0,pb4ap addi r4,0,PB4AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS4_AP@h addis r4,0,CS4_AP@h
ori r4,r4,CS4_AP@l ori r4,r4,CS4_AP@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb4cr addi r4,0,PB4CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS4_CR@h addis r4,0,CS4_CR@h
ori r4,r4,CS4_CR@l ori r4,r4,CS4_CR@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
/* Memory Bank 5 (PC-MIP PRSNT2#) initialization */ /* Memory Bank 5 (PC-MIP PRSNT2#) initialization */
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
addi r4,0,pb5ap addi r4,0,PB5AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS5_AP@h addis r4,0,CS5_AP@h
ori r4,r4,CS5_AP@l ori r4,r4,CS5_AP@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb5cr addi r4,0,PB5CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS5_CR@h addis r4,0,CS5_CR@h
ori r4,r4,CS5_CR@l ori r4,r4,CS5_CR@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
/* Memory Bank 6 (CPU LED0) initialization */ /* Memory Bank 6 (CPU LED0) initialization */
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
addi r4,0,pb6ap addi r4,0,PB6AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS6_AP@h addis r4,0,CS6_AP@h
ori r4,r4,CS6_AP@l ori r4,r4,CS6_AP@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb6cr addi r4,0,PB6CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS6_CR@h addis r4,0,CS6_CR@h
ori r4,r4,CS5_CR@l ori r4,r4,CS5_CR@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
/* Memory Bank 7 (CPU LED1) initialization */ /* Memory Bank 7 (CPU LED1) initialization */
/*----------------------------------------------------------------------- */ /*----------------------------------------------------------------------- */
addi r4,0,pb7ap addi r4,0,PB7AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS7_AP@h addis r4,0,CS7_AP@h
ori r4,r4,CS7_AP@l ori r4,r4,CS7_AP@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb7cr addi r4,0,PB7CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,CS7_CR@h addis r4,0,CS7_CR@h
ori r4,r4,CS7_CR@l ori r4,r4,CS7_CR@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/* addis r4,r0,FPGA_BRDC@h */ /* addis r4,r0,FPGA_BRDC@h */
/* ori r4,r4,FPGA_BRDC@l */ /* ori r4,r4,FPGA_BRDC@l */
@ -229,40 +229,40 @@ sdram_init:
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
addi r4,0,mem_mb0cf addi r4,0,mem_mb0cf
mtdcr memcfga,r4 mtdcr SDRAM0_CFGADDR,r4
addis r4,0,MB0CF@h addis r4,0,MB0CF@h
ori r4,r4,MB0CF@l ori r4,r4,MB0CF@l
mtdcr memcfgd,r4 mtdcr SDRAM0_CFGDATA,r4
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
/* Set MB1CF for bank 1. (32MB-64MB) Address Mode 4 since 12x8(2) */ /* Set MB1CF for bank 1. (32MB-64MB) Address Mode 4 since 12x8(2) */
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
addi r4,0,mem_mb1cf addi r4,0,mem_mb1cf
mtdcr memcfga,r4 mtdcr SDRAM0_CFGADDR,r4
addis r4,0,MB1CF@h addis r4,0,MB1CF@h
ori r4,r4,MB1CF@l ori r4,r4,MB1CF@l
mtdcr memcfgd,r4 mtdcr SDRAM0_CFGDATA,r4
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
/* Set MB2CF for bank 2. off */ /* Set MB2CF for bank 2. off */
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
addi r4,0,mem_mb2cf addi r4,0,mem_mb2cf
mtdcr memcfga,r4 mtdcr SDRAM0_CFGADDR,r4
addis r4,0,MB2CF@h addis r4,0,MB2CF@h
ori r4,r4,MB2CF@l ori r4,r4,MB2CF@l
mtdcr memcfgd,r4 mtdcr SDRAM0_CFGDATA,r4
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
/* Set MB3CF for bank 3. off */ /* Set MB3CF for bank 3. off */
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
addi r4,0,mem_mb3cf addi r4,0,mem_mb3cf
mtdcr memcfga,r4 mtdcr SDRAM0_CFGADDR,r4
addis r4,0,MB3CF@h addis r4,0,MB3CF@h
ori r4,r4,MB3CF@l ori r4,r4,MB3CF@l
mtdcr memcfgd,r4 mtdcr SDRAM0_CFGDATA,r4
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
/* Set the SDRAM Timing reg, SDTR1 and the refresh timer reg, RTR. */ /* Set the SDRAM Timing reg, SDTR1 and the refresh timer reg, RTR. */
@ -276,7 +276,7 @@ sdram_init:
/* maybe 133Mhz. */ /* maybe 133Mhz. */
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
mfdcr r5,strap /* determine FBK divider */ mfdcr r5,CPC0_PSR /* determine FBK divider */
/* via STRAP reg to calc PLB speed. */ /* via STRAP reg to calc PLB speed. */
/* SDRAM speed is the same as the PLB */ /* SDRAM speed is the same as the PLB */
/* speed. */ /* speed. */
@ -306,15 +306,15 @@ sdram_init:
/* Set SDTR1 */ /* Set SDTR1 */
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
addi r4,0,mem_sdtr1 addi r4,0,mem_sdtr1
mtdcr memcfga,r4 mtdcr SDRAM0_CFGADDR,r4
mtdcr memcfgd,r6 mtdcr SDRAM0_CFGDATA,r6
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
/* Set RTR */ /* Set RTR */
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
addi r4,0,mem_rtr addi r4,0,mem_rtr
mtdcr memcfga,r4 mtdcr SDRAM0_CFGADDR,r4
mtdcr memcfgd,r7 mtdcr SDRAM0_CFGDATA,r7
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
/* Delay to ensure 200usec have elapsed since reset. Assume worst */ /* Delay to ensure 200usec have elapsed since reset. Assume worst */
@ -333,10 +333,10 @@ sdram_init:
/* read/prefetch. */ /* read/prefetch. */
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
addi r4,0,mem_mcopt1 addi r4,0,mem_mcopt1
mtdcr memcfga,r4 mtdcr SDRAM0_CFGADDR,r4
addis r4,0,0x8080 /* set DC_EN=1 */ addis r4,0,0x8080 /* set DC_EN=1 */
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr memcfgd,r4 mtdcr SDRAM0_CFGDATA,r4
/*------------------------------------------------------------------- */ /*------------------------------------------------------------------- */
/* Delay to ensure 10msec have elapsed since reset. This is */ /* Delay to ensure 10msec have elapsed since reset. This is */

View File

@ -92,7 +92,7 @@ int N_AU_IMAGES = (sizeof(au_image) / sizeof(au_image[0]));
int board_revision(void) int board_revision(void)
{ {
unsigned long cntrl0Reg; unsigned long CPC0_CR0Reg;
unsigned long value; unsigned long value;
/* /*
@ -100,8 +100,8 @@ int board_revision(void)
*/ */
/* Setup GPIO pins (CS2/GPIO11, CS3/GPIO12 and CS4/GPIO13 as GPIO) */ /* Setup GPIO pins (CS2/GPIO11, CS3/GPIO12 and CS4/GPIO13 as GPIO) */
cntrl0Reg = mfdcr(cntrl0); CPC0_CR0Reg = mfdcr(CPC0_CR0);
mtdcr(cntrl0, cntrl0Reg | 0x03800000); mtdcr(CPC0_CR0, CPC0_CR0Reg | 0x03800000);
out_be32((void*)GPIO0_ODR, in_be32((void*)GPIO0_ODR) & ~0x001c0000); out_be32((void*)GPIO0_ODR, in_be32((void*)GPIO0_ODR) & ~0x001c0000);
out_be32((void*)GPIO0_TCR, in_be32((void*)GPIO0_TCR) & ~0x001c0000); out_be32((void*)GPIO0_TCR, in_be32((void*)GPIO0_TCR) & ~0x001c0000);
@ -113,7 +113,7 @@ int board_revision(void)
/* /*
* Restore GPIO settings * Restore GPIO settings
*/ */
mtdcr(cntrl0, cntrl0Reg); mtdcr(CPC0_CR0, CPC0_CR0Reg);
switch (value) { switch (value) {
case 0x001c0000: case 0x001c0000:
@ -166,7 +166,7 @@ int board_early_init_f (void)
/* /*
* EBC Configuration Register: set ready timeout to 512 ebc-clks * EBC Configuration Register: set ready timeout to 512 ebc-clks
*/ */
mtebc(epcr, 0xa8400000); /* ebc always driven */ mtebc(EBC0_CFG, 0xa8400000); /* ebc always driven */
/* /*
* New boards have a single 32MB flash connected to CS0 * New boards have a single 32MB flash connected to CS0
@ -174,12 +174,12 @@ int board_early_init_f (void)
*/ */
if (board_revision() >= 8) { if (board_revision() >= 8) {
/* disable CS1 */ /* disable CS1 */
mtebc(pb1ap, 0); mtebc(PB1AP, 0);
mtebc(pb1cr, 0); mtebc(PB1CR, 0);
/* resize CS0 to 32MB */ /* resize CS0 to 32MB */
mtebc(pb0ap, CONFIG_SYS_EBC_PB0AP_HWREV8); mtebc(PB0AP, CONFIG_SYS_EBC_PB0AP_HWREV8);
mtebc(pb0cr, CONFIG_SYS_EBC_PB0CR_HWREV8); mtebc(PB0CR, CONFIG_SYS_EBC_PB0CR_HWREV8);
} }
return 0; return 0;
@ -209,7 +209,7 @@ int misc_init_r(void)
int status; int status;
int index; int index;
int i; int i;
unsigned long cntrl0Reg; unsigned long CPC0_CR0Reg;
char *str; char *str;
uchar *logo_addr; uchar *logo_addr;
ulong logo_size; ulong logo_size;
@ -219,8 +219,8 @@ int misc_init_r(void)
/* /*
* Setup GPIO pins (CS6+CS7 as GPIO) * Setup GPIO pins (CS6+CS7 as GPIO)
*/ */
cntrl0Reg = mfdcr(cntrl0); CPC0_CR0Reg = mfdcr(CPC0_CR0);
mtdcr(cntrl0, cntrl0Reg | 0x00300000); mtdcr(CPC0_CR0, CPC0_CR0Reg | 0x00300000);
dst = malloc(CONFIG_SYS_FPGA_MAX_SIZE); dst = malloc(CONFIG_SYS_FPGA_MAX_SIZE);
if (gunzip(dst, CONFIG_SYS_FPGA_MAX_SIZE, (uchar *)fpgadata, &len) != 0) { if (gunzip(dst, CONFIG_SYS_FPGA_MAX_SIZE, (uchar *)fpgadata, &len) != 0) {
@ -265,7 +265,7 @@ int misc_init_r(void)
} }
/* restore gpio/cs settings */ /* restore gpio/cs settings */
mtdcr(cntrl0, cntrl0Reg); mtdcr(CPC0_CR0, CPC0_CR0Reg);
puts("FPGA: "); puts("FPGA: ");

View File

@ -65,9 +65,9 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
switch (size_b0) { switch (size_b0) {
case 1 << 20: case 1 << 20:
@ -87,7 +87,7 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -77,7 +77,7 @@ int board_early_init_f (void)
/* /*
* EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us * EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us
*/ */
mtebc (epcr, 0xa8400000); /* ebc always driven */ mtebc (EBC0_CFG, 0xa8400000); /* ebc always driven */
return 0; return 0;
} }

View File

@ -65,9 +65,9 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
switch (size_b0) { switch (size_b0) {
case 1 << 20: case 1 << 20:
@ -87,7 +87,7 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -52,16 +52,16 @@ const unsigned char fpgadata[] = {
int board_early_init_f (void) int board_early_init_f (void)
{ {
unsigned long cntrl0Reg; unsigned long CPC0_CR0Reg;
int index, len, i; int index, len, i;
int status; int status;
/* /*
* Setup GPIO pins * Setup GPIO pins
*/ */
cntrl0Reg = mfdcr (cntrl0) & 0xf0001fff; CPC0_CR0Reg = mfdcr (CPC0_CR0) & 0xf0001fff;
cntrl0Reg |= 0x0070f000; CPC0_CR0Reg |= 0x0070f000;
mtdcr (cntrl0, cntrl0Reg); mtdcr (CPC0_CR0, CPC0_CR0Reg);
#ifdef FPGA_DEBUG #ifdef FPGA_DEBUG
/* set up serial port with default baudrate */ /* set up serial port with default baudrate */

View File

@ -64,13 +64,13 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* printf("pb1cr = %x\n", pbcr); */ /* printf("PB1CR = %x\n", pbcr); */
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -56,7 +56,7 @@ int board_early_init_f (void)
/* /*
* EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us * EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us
*/ */
mtebc (epcr, 0xa8400000); /* ebc always driven */ mtebc (EBC0_CFG, 0xa8400000); /* ebc always driven */
/* /*
* Reset CPLD via GPIO12 (CS3) pin * Reset CPLD via GPIO12 (CS3) pin

View File

@ -65,9 +65,9 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
switch (size_b0) { switch (size_b0) {
case 1 << 20: case 1 << 20:
@ -87,7 +87,7 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -31,13 +31,13 @@ DECLARE_GLOBAL_DATA_PTR;
int board_early_init_f (void) int board_early_init_f (void)
{ {
unsigned long cntrl0Reg; unsigned long CPC0_CR0Reg;
/* /*
* Setup GPIO pins * Setup GPIO pins
*/ */
cntrl0Reg = mfdcr(cntrl0); CPC0_CR0Reg = mfdcr(CPC0_CR0);
mtdcr(cntrl0, cntrl0Reg | mtdcr(CPC0_CR0, CPC0_CR0Reg |
((CONFIG_SYS_EEPROM_WP | CONFIG_SYS_PB_LED | ((CONFIG_SYS_EEPROM_WP | CONFIG_SYS_PB_LED |
CONFIG_SYS_SELF_RST | CONFIG_SYS_INTA_FAKE) << 5)); CONFIG_SYS_SELF_RST | CONFIG_SYS_INTA_FAKE) << 5));
@ -72,7 +72,7 @@ int board_early_init_f (void)
int misc_init_r (void) int misc_init_r (void)
{ {
unsigned long cntrl0Reg; unsigned long CPC0_CR0Reg;
/* adjust flash start and offset */ /* adjust flash start and offset */
gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize; gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize;
@ -81,8 +81,8 @@ int misc_init_r (void)
/* /*
* Select cts (and not dsr) on uart1 * Select cts (and not dsr) on uart1
*/ */
cntrl0Reg = mfdcr(cntrl0); CPC0_CR0Reg = mfdcr(CPC0_CR0);
mtdcr(cntrl0, cntrl0Reg | 0x00001000); mtdcr(CPC0_CR0, CPC0_CR0Reg | 0x00001000);
return (0); return (0);
} }

View File

@ -64,13 +64,13 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* printf("pb1cr = %x\n", pbcr); */ /* printf("PB1CR = %x\n", pbcr); */
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -214,7 +214,7 @@ int ctermm2(void)
int cpci405_host(void) int cpci405_host(void)
{ {
if (mfdcr(strap) & PSR_PCI_ARBIT_EN) if (mfdcr(CPC0_PSR) & PSR_PCI_ARBIT_EN)
return -1; /* yes, board is cpci405 host */ return -1; /* yes, board is cpci405 host */
else else
return 0; /* no, board is cpci405 adapter */ return 0; /* no, board is cpci405 adapter */
@ -222,14 +222,14 @@ int cpci405_host(void)
int cpci405_version(void) int cpci405_version(void)
{ {
unsigned long cntrl0Reg; unsigned long CPC0_CR0Reg;
unsigned long value; unsigned long value;
/* /*
* Setup GPIO pins (CS2/GPIO11 and CS3/GPIO12 as GPIO) * Setup GPIO pins (CS2/GPIO11 and CS3/GPIO12 as GPIO)
*/ */
cntrl0Reg = mfdcr(cntrl0); CPC0_CR0Reg = mfdcr(CPC0_CR0);
mtdcr(cntrl0, cntrl0Reg | 0x03000000); mtdcr(CPC0_CR0, CPC0_CR0Reg | 0x03000000);
out_be32((void*)GPIO0_ODR, in_be32((void*)GPIO0_ODR) & ~0x00180000); out_be32((void*)GPIO0_ODR, in_be32((void*)GPIO0_ODR) & ~0x00180000);
out_be32((void*)GPIO0_TCR, in_be32((void*)GPIO0_TCR) & ~0x00180000); out_be32((void*)GPIO0_TCR, in_be32((void*)GPIO0_TCR) & ~0x00180000);
udelay(1000); /* wait some time before reading input */ udelay(1000); /* wait some time before reading input */
@ -238,7 +238,7 @@ int cpci405_version(void)
/* /*
* Restore GPIO settings * Restore GPIO settings
*/ */
mtdcr(cntrl0, cntrl0Reg); mtdcr(CPC0_CR0, CPC0_CR0Reg);
switch (value) { switch (value) {
case 0x00180000: case 0x00180000:
@ -261,7 +261,7 @@ int cpci405_version(void)
int misc_init_r (void) int misc_init_r (void)
{ {
unsigned long cntrl0Reg; unsigned long CPC0_CR0Reg;
/* adjust flash start and offset */ /* adjust flash start and offset */
gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize; gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize;
@ -283,8 +283,8 @@ int misc_init_r (void)
/* /*
* Setup GPIO pins (CS6+CS7 as GPIO) * Setup GPIO pins (CS6+CS7 as GPIO)
*/ */
cntrl0Reg = mfdcr(cntrl0); CPC0_CR0Reg = mfdcr(CPC0_CR0);
mtdcr(cntrl0, cntrl0Reg | 0x00300000); mtdcr(CPC0_CR0, CPC0_CR0Reg | 0x00300000);
dst = malloc(CONFIG_SYS_FPGA_MAX_SIZE); dst = malloc(CONFIG_SYS_FPGA_MAX_SIZE);
if (gunzip(dst, CONFIG_SYS_FPGA_MAX_SIZE, if (gunzip(dst, CONFIG_SYS_FPGA_MAX_SIZE,
@ -330,7 +330,7 @@ int misc_init_r (void)
} }
/* restore gpio/cs settings */ /* restore gpio/cs settings */
mtdcr(cntrl0, cntrl0Reg); mtdcr(CPC0_CR0, CPC0_CR0Reg);
puts("FPGA: "); puts("FPGA: ");
@ -400,8 +400,8 @@ int misc_init_r (void)
/* /*
* Select cts (and not dsr) on uart1 * Select cts (and not dsr) on uart1
*/ */
cntrl0Reg = mfdcr(cntrl0); CPC0_CR0Reg = mfdcr(CPC0_CR0);
mtdcr(cntrl0, cntrl0Reg | 0x00001000); mtdcr(CPC0_CR0, CPC0_CR0Reg | 0x00001000);
return 0; return 0;
} }

View File

@ -91,13 +91,13 @@ unsigned long flash_init (void)
size_b1 = 1 << 20; size_b1 = 1 << 20;
} }
base_b1 = -size_b1; base_b1 = -size_b1;
mtdcr (ebccfga, pb0cr); mtdcr (EBC0_CFGADDR, PB0CR);
pbcr = mfdcr (ebccfgd); pbcr = mfdcr (EBC0_CFGDATA);
mtdcr (ebccfga, pb0cr); mtdcr (EBC0_CFGADDR, PB0CR);
pbcr = (pbcr & 0x0001ffff) | base_b1 | (calc_size(size_b1) << 17); pbcr = (pbcr & 0x0001ffff) | base_b1 | (calc_size(size_b1) << 17);
mtdcr (ebccfgd, pbcr); mtdcr (EBC0_CFGDATA, pbcr);
#if 0 /* test-only */ #if 0 /* test-only */
printf("size_b1=%x base_b1=%x pb1cr = %x\n", printf("size_b1=%x base_b1=%x PB1CR = %x\n",
size_b1, base_b1, pbcr); /* test-only */ size_b1, base_b1, pbcr); /* test-only */
#endif #endif
} }
@ -108,13 +108,13 @@ unsigned long flash_init (void)
size_b0 = 1 << 20; size_b0 = 1 << 20;
} }
base_b0 = base_b1 - size_b0; base_b0 = base_b1 - size_b0;
mtdcr (ebccfga, pb1cr); mtdcr (EBC0_CFGADDR, PB1CR);
pbcr = mfdcr (ebccfgd); pbcr = mfdcr (EBC0_CFGDATA);
mtdcr (ebccfga, pb1cr); mtdcr (EBC0_CFGADDR, PB1CR);
pbcr = (pbcr & 0x0001ffff) | base_b0 | (calc_size(size_b0) << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (calc_size(size_b0) << 17);
mtdcr (ebccfgd, pbcr); mtdcr (EBC0_CFGDATA, pbcr);
#if 0 /* test-only */ #if 0 /* test-only */
printf("size_b0=%x base_b0=%x pb0cr = %x\n", printf("size_b0=%x base_b0=%x PB0CR = %x\n",
size_b0, base_b0, pbcr); /* test-only */ size_b0, base_b0, pbcr); /* test-only */
#endif #endif
} }

View File

@ -64,13 +64,13 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* printf("pb1cr = %x\n", pbcr); */ /* printf("PB1CR = %x\n", pbcr); */
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -54,7 +54,7 @@ int board_early_init_f (void)
/* /*
* EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us * EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us
*/ */
mtebc (epcr, 0xa8400000); /* ebc always driven */ mtebc (EBC0_CFG, 0xa8400000); /* ebc always driven */
/* /*
* Reset CPLD via GPIO13 (CS4) pin * Reset CPLD via GPIO13 (CS4) pin

View File

@ -65,9 +65,9 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
switch (size_b0) { switch (size_b0) {
case 1 << 20: case 1 << 20:
@ -87,7 +87,7 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -135,7 +135,7 @@ int board_early_init_f (void)
/* /*
* EBC Configuration Register: set ready timeout to 100 us * EBC Configuration Register: set ready timeout to 100 us
*/ */
mtebc (epcr, 0xb8400000); mtebc (EBC0_CFG, 0xb8400000);
return 0; return 0;
} }
@ -143,13 +143,13 @@ int board_early_init_f (void)
int misc_init_r (void) int misc_init_r (void)
{ {
unsigned long cntrl0Reg; unsigned long CPC0_CR0Reg;
/* /*
* Setup UART1 handshaking: use CTS instead of DSR * Setup UART1 handshaking: use CTS instead of DSR
*/ */
cntrl0Reg = mfdcr(cntrl0); CPC0_CR0Reg = mfdcr(CPC0_CR0);
mtdcr(cntrl0, cntrl0Reg | 0x00001000); mtdcr(CPC0_CR0, CPC0_CR0Reg | 0x00001000);
return (0); return (0);
} }

View File

@ -67,25 +67,25 @@ unsigned long flash_init (void)
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
if (size_b1) { if (size_b1) {
mtdcr (ebccfga, pb0cr); mtdcr (EBC0_CFGADDR, PB0CR);
pbcr = mfdcr (ebccfgd); pbcr = mfdcr (EBC0_CFGDATA);
mtdcr (ebccfga, pb0cr); mtdcr (EBC0_CFGADDR, PB0CR);
base_b1 = -size_b1; base_b1 = -size_b1;
pbcr = (pbcr & 0x0001ffff) | base_b1 | pbcr = (pbcr & 0x0001ffff) | base_b1 |
(((size_b1 / 1024 / 1024) - 1) << 17); (((size_b1 / 1024 / 1024) - 1) << 17);
mtdcr (ebccfgd, pbcr); mtdcr (EBC0_CFGDATA, pbcr);
/* printf("pb1cr = %x\n", pbcr); */ /* printf("PB1CR = %x\n", pbcr); */
} }
if (size_b0) { if (size_b0) {
mtdcr (ebccfga, pb1cr); mtdcr (EBC0_CFGADDR, PB1CR);
pbcr = mfdcr (ebccfgd); pbcr = mfdcr (EBC0_CFGDATA);
mtdcr (ebccfga, pb1cr); mtdcr (EBC0_CFGADDR, PB1CR);
base_b0 = base_b1 - size_b0; base_b0 = base_b1 - size_b0;
pbcr = (pbcr & 0x0001ffff) | base_b0 | pbcr = (pbcr & 0x0001ffff) | base_b0 |
(((size_b0 / 1024 / 1024) - 1) << 17); (((size_b0 / 1024 / 1024) - 1) << 17);
mtdcr (ebccfgd, pbcr); mtdcr (EBC0_CFGDATA, pbcr);
/* printf("pb0cr = %x\n", pbcr); */ /* printf("PB0CR = %x\n", pbcr); */
} }
size_b0 = flash_get_size ((vu_long *) base_b0, &flash_info[0]); size_b0 = flash_get_size ((vu_long *) base_b0, &flash_info[0]);

View File

@ -45,8 +45,8 @@ int board_early_init_f(void)
u32 sdr0_pfc1, sdr0_pfc2; u32 sdr0_pfc1, sdr0_pfc2;
u32 reg; u32 reg;
mtdcr(ebccfga, xbcfg); mtdcr(EBC0_CFGADDR, EBC0_CFG);
mtdcr(ebccfgd, 0xb8400000); mtdcr(EBC0_CFGDATA, 0xb8400000);
/* /*
* Setup the GPIO pins * Setup the GPIO pins
@ -145,8 +145,8 @@ int board_early_init_f(void)
mtsdr(SDR0_PFC1, sdr0_pfc1); mtsdr(SDR0_PFC1, sdr0_pfc1);
/* PCI arbiter enabled */ /* PCI arbiter enabled */
mfsdr(sdr_pci0, reg); mfsdr(SDR0_PCI0, reg);
mtsdr(sdr_pci0, 0x80000000 | reg); mtsdr(SDR0_PCI0, 0x80000000 | reg);
/* setup NAND FLASH */ /* setup NAND FLASH */
mfsdr(SDR0_CUST0, sdr0_cust0); mfsdr(SDR0_CUST0, sdr0_cust0);
@ -176,12 +176,12 @@ int misc_init_r(void)
gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize; gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize;
gd->bd->bi_flashoffset = 0; gd->bd->bi_flashoffset = 0;
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
size_val = ffs(gd->bd->bi_flashsize) - 21; size_val = ffs(gd->bd->bi_flashsize) - 21;
pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* /*
* Re-check to get correct base address * Re-check to get correct base address
@ -265,8 +265,8 @@ int misc_init_r(void)
* This fix will make the MAL burst disabling patch for the Linux * This fix will make the MAL burst disabling patch for the Linux
* EMAC driver obsolete. * EMAC driver obsolete.
*/ */
reg = mfdcr(plb4_acr) & ~PLB4_ACR_WRP; reg = mfdcr(PLB4_ACR) & ~PLB4_ACR_WRP;
mtdcr(plb4_acr, reg); mtdcr(PLB4_ACR, reg);
/* /*
* release IO-RST# * release IO-RST#
@ -380,35 +380,35 @@ int pci_pre_init(struct pci_controller *hose)
* Set priority for all PLB3 devices to 0. * Set priority for all PLB3 devices to 0.
* Set PLB3 arbiter to fair mode. * Set PLB3 arbiter to fair mode.
*/ */
mfsdr(sdr_amp1, addr); mfsdr(SD0_AMP1, addr);
mtsdr(sdr_amp1, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP1, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb3_acr); addr = mfdcr(PLB3_ACR);
mtdcr(plb3_acr, addr | 0x80000000); mtdcr(PLB3_ACR, addr | 0x80000000);
/* /*
* Set priority for all PLB4 devices to 0. * Set priority for all PLB4 devices to 0.
*/ */
mfsdr(sdr_amp0, addr); mfsdr(SD0_AMP0, addr);
mtsdr(sdr_amp0, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP0, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb4_acr) | 0xa0000000; /* Was 0x8---- */ addr = mfdcr(PLB4_ACR) | 0xa0000000; /* Was 0x8---- */
mtdcr(plb4_acr, addr); mtdcr(PLB4_ACR, addr);
/* /*
* Set Nebula PLB4 arbiter to fair mode. * Set Nebula PLB4 arbiter to fair mode.
*/ */
/* Segment0 */ /* Segment0 */
addr = (mfdcr(plb0_acr) & ~plb0_acr_ppm_mask) | plb0_acr_ppm_fair; addr = (mfdcr(PLB0_ACR) & ~PLB0_ACR_PPM_MASK) | PLB0_ACR_PPM_FAIR;
addr = (addr & ~plb0_acr_hbu_mask) | plb0_acr_hbu_enabled; addr = (addr & ~PLB0_ACR_HBU_MASK) | PLB0_ACR_HBU_ENABLED;
addr = (addr & ~plb0_acr_rdp_mask) | plb0_acr_rdp_4deep; addr = (addr & ~PLB0_ACR_RDP_MASK) | PLB0_ACR_RDP_4DEEP;
addr = (addr & ~plb0_acr_wrp_mask) | plb0_acr_wrp_2deep; addr = (addr & ~PLB0_ACR_WRP_MASK) | PLB0_ACR_WRP_2DEEP;
mtdcr(plb0_acr, addr); mtdcr(PLB0_ACR, addr);
/* Segment1 */ /* Segment1 */
addr = (mfdcr(plb1_acr) & ~plb1_acr_ppm_mask) | plb1_acr_ppm_fair; addr = (mfdcr(PLB1_ACR) & ~PLB1_ACR_PPM_MASK) | PLB1_ACR_PPM_FAIR;
addr = (addr & ~plb1_acr_hbu_mask) | plb1_acr_hbu_enabled; addr = (addr & ~PLB1_ACR_HBU_MASK) | PLB1_ACR_HBU_ENABLED;
addr = (addr & ~plb1_acr_rdp_mask) | plb1_acr_rdp_4deep; addr = (addr & ~PLB1_ACR_RDP_MASK) | PLB1_ACR_RDP_4DEEP;
addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep; addr = (addr & ~PLB1_ACR_WRP_MASK) | PLB1_ACR_WRP_2DEEP;
mtdcr(plb1_acr, addr); mtdcr(PLB1_ACR, addr);
return 1; return 1;
} }

View File

@ -65,9 +65,9 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
switch (size_b0) { switch (size_b0) {
case 1 << 20: case 1 << 20:
@ -87,7 +87,7 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -374,7 +374,7 @@ int board_early_init_f (void)
/* /*
* EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us * EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us
*/ */
mtebc(epcr, 0xa8400000); /* ebc always driven */ mtebc(EBC0_CFG, 0xa8400000); /* ebc always driven */
return 0; return 0;
} }

View File

@ -65,9 +65,9 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
switch (size_b0) { switch (size_b0) {
case 1 << 20: case 1 << 20:
@ -87,7 +87,7 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -97,7 +97,7 @@ int board_early_init_f (void)
/* /*
* EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us * EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us
*/ */
mtebc (epcr, 0xa8400000); /* ebc always driven */ mtebc (EBC0_CFG, 0xa8400000); /* ebc always driven */
return 0; return 0;
} }

View File

@ -68,9 +68,9 @@ unsigned long flash_init (void)
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
if (size_b1) { if (size_b1) {
mtdcr (ebccfga, pb0cr); mtdcr (EBC0_CFGADDR, PB0CR);
pbcr = mfdcr (ebccfgd); pbcr = mfdcr (EBC0_CFGDATA);
mtdcr (ebccfga, pb0cr); mtdcr (EBC0_CFGADDR, PB0CR);
base_b1 = -size_b1; base_b1 = -size_b1;
switch (size_b1) { switch (size_b1) {
case 1 << 20: case 1 << 20:
@ -90,14 +90,14 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b1 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b1 | (size_val << 17);
mtdcr (ebccfgd, pbcr); mtdcr (EBC0_CFGDATA, pbcr);
/* printf("pb1cr = %x\n", pbcr); */ /* printf("PB1CR = %x\n", pbcr); */
} }
if (size_b0) { if (size_b0) {
mtdcr (ebccfga, pb1cr); mtdcr (EBC0_CFGADDR, PB1CR);
pbcr = mfdcr (ebccfgd); pbcr = mfdcr (EBC0_CFGDATA);
mtdcr (ebccfga, pb1cr); mtdcr (EBC0_CFGADDR, PB1CR);
base_b0 = base_b1 - size_b0; base_b0 = base_b1 - size_b0;
switch (size_b1) { switch (size_b1) {
case 1 << 20: case 1 << 20:
@ -117,8 +117,8 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
mtdcr (ebccfgd, pbcr); mtdcr (EBC0_CFGDATA, pbcr);
/* printf("pb0cr = %x\n", pbcr); */ /* printf("PB0CR = %x\n", pbcr); */
} }
size_b0 = flash_get_size ((vu_long *) base_b0, &flash_info[0]); size_b0 = flash_get_size ((vu_long *) base_b0, &flash_info[0]);

View File

@ -57,7 +57,7 @@ int board_early_init_f (void)
* EBC Configuration Register: clear EBTC -> high-Z ebc signals between * EBC Configuration Register: clear EBTC -> high-Z ebc signals between
* transfers, set device-paced timeout to 256 cycles * transfers, set device-paced timeout to 256 cycles
*/ */
mtebc (epcr, 0x20400000); mtebc (EBC0_CFG, 0x20400000);
return 0; return 0;
} }

View File

@ -65,9 +65,9 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
switch (size_b0) { switch (size_b0) {
case 1 << 20: case 1 << 20:
@ -87,7 +87,7 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -67,7 +67,7 @@ const unsigned char fpgadata[] =
int board_revision(void) int board_revision(void)
{ {
unsigned long cntrl0Reg; unsigned long CPC0_CR0Reg;
unsigned long value; unsigned long value;
/* /*
@ -77,8 +77,8 @@ int board_revision(void)
/* /*
* Setup GPIO pins (CS2/GPIO11 and CS3/GPIO12 as GPIO) * Setup GPIO pins (CS2/GPIO11 and CS3/GPIO12 as GPIO)
*/ */
cntrl0Reg = mfdcr(cntrl0); CPC0_CR0Reg = mfdcr(CPC0_CR0);
mtdcr(cntrl0, cntrl0Reg | 0x03000000); mtdcr(CPC0_CR0, CPC0_CR0Reg | 0x03000000);
out_be32((void*)GPIO0_ODR, in_be32((void*)GPIO0_ODR) & ~0x00100200); out_be32((void*)GPIO0_ODR, in_be32((void*)GPIO0_ODR) & ~0x00100200);
out_be32((void*)GPIO0_TCR, in_be32((void*)GPIO0_TCR) & ~0x00100200); out_be32((void*)GPIO0_TCR, in_be32((void*)GPIO0_TCR) & ~0x00100200);
udelay(1000); /* wait some time before reading input */ udelay(1000); /* wait some time before reading input */
@ -87,7 +87,7 @@ int board_revision(void)
/* /*
* Restore GPIO settings * Restore GPIO settings
*/ */
mtdcr(cntrl0, cntrl0Reg); mtdcr(CPC0_CR0, CPC0_CR0Reg);
switch (value) { switch (value) {
case 0x00100200: case 0x00100200:
@ -133,7 +133,7 @@ unsigned long fpga_init_state(void)
int board_early_init_f (void) int board_early_init_f (void)
{ {
unsigned long cntrl0Reg; unsigned long CPC0_CR0Reg;
/* /*
* First pull fpga-prg pin low, to disable fpga logic (on version 1.2 board) * First pull fpga-prg pin low, to disable fpga logic (on version 1.2 board)
@ -166,18 +166,18 @@ int board_early_init_f (void)
/* /*
* Setup GPIO pins (IRQ4/GPIO21 as GPIO) * Setup GPIO pins (IRQ4/GPIO21 as GPIO)
*/ */
cntrl0Reg = mfdcr(cntrl0); CPC0_CR0Reg = mfdcr(CPC0_CR0);
mtdcr(cntrl0, cntrl0Reg | 0x00008000); mtdcr(CPC0_CR0, CPC0_CR0Reg | 0x00008000);
/* /*
* Setup GPIO pins (CS6+CS7 as GPIO) * Setup GPIO pins (CS6+CS7 as GPIO)
*/ */
mtdcr(cntrl0, cntrl0Reg | 0x00300000); mtdcr(CPC0_CR0, CPC0_CR0Reg | 0x00300000);
/* /*
* EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 25 us * EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 25 us
*/ */
mtebc (epcr, 0xa8400000); /* ebc always driven */ mtebc (EBC0_CFG, 0xa8400000); /* ebc always driven */
return 0; return 0;
} }
@ -282,11 +282,11 @@ int misc_init_r (void)
#define PCI0_BRDGOPT1 0x4a #define PCI0_BRDGOPT1 0x4a
pci_write_config_word(PCIDEVID_405GP, PCI0_BRDGOPT1, 0x3f20); pci_write_config_word(PCIDEVID_405GP, PCI0_BRDGOPT1, 0x3f20);
#define plb0_acr 0x87 #define PLB0_ACR 0x87
/* /*
* Enable fairness and high bus utilization * Enable fairness and high bus utilization
*/ */
mtdcr(plb0_acr, 0x98000000); mtdcr(PLB0_ACR, 0x98000000);
free(dst); free(dst);
return (0); return (0);
@ -313,14 +313,14 @@ int checkboard (void)
printf(" (Rev 1.%ld", gd->board_type); printf(" (Rev 1.%ld", gd->board_type);
if (gd->board_type >= 2) { if (gd->board_type >= 2) {
unsigned long cntrl0Reg; unsigned long CPC0_CR0Reg;
unsigned long value; unsigned long value;
/* /*
* Setup GPIO pins (Trace/GPIO1 to GPIO) * Setup GPIO pins (Trace/GPIO1 to GPIO)
*/ */
cntrl0Reg = mfdcr(cntrl0); CPC0_CR0Reg = mfdcr(CPC0_CR0);
mtdcr(cntrl0, cntrl0Reg & ~0x08000000); mtdcr(CPC0_CR0, CPC0_CR0Reg & ~0x08000000);
out_be32((void*)GPIO0_ODR, in_be32((void*)GPIO0_ODR) & ~0x40000000); out_be32((void*)GPIO0_ODR, in_be32((void*)GPIO0_ODR) & ~0x40000000);
out_be32((void*)GPIO0_TCR, in_be32((void*)GPIO0_TCR) & ~0x40000000); out_be32((void*)GPIO0_TCR, in_be32((void*)GPIO0_TCR) & ~0x40000000);
udelay(1000); /* wait some time before reading input */ udelay(1000); /* wait some time before reading input */

View File

@ -65,9 +65,9 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
switch (size_b0) { switch (size_b0) {
case 1 << 20: case 1 << 20:
@ -87,7 +87,7 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -90,7 +90,7 @@ int board_early_init_f(void)
* EBC Configuration Register: set ready timeout to * EBC Configuration Register: set ready timeout to
* 512 ebc-clks -> ca. 15 us * 512 ebc-clks -> ca. 15 us
*/ */
mtebc(epcr, 0xa8400000); /* ebc always driven */ mtebc(EBC0_CFG, 0xa8400000); /* ebc always driven */
return 0; return 0;
} }

View File

@ -60,12 +60,12 @@ int board_early_init_f (void)
* EBC Configuration Register: * EBC Configuration Register:
* set ready timeout to 512 ebc-clks -> ca. 15 us * set ready timeout to 512 ebc-clks -> ca. 15 us
*/ */
mtebc (epcr, 0xa8400000); mtebc (EBC0_CFG, 0xa8400000);
/* /*
* Setup GPIO pins * Setup GPIO pins
*/ */
mtdcr(cntrl0, mfdcr(cntrl0) | ((CONFIG_SYS_FPGA_INIT | mtdcr(CPC0_CR0, mfdcr(CPC0_CR0) | ((CONFIG_SYS_FPGA_INIT |
CONFIG_SYS_FPGA_DONE | CONFIG_SYS_FPGA_DONE |
CONFIG_SYS_XEREADY | CONFIG_SYS_XEREADY |
CONFIG_SYS_NONMONARCH | CONFIG_SYS_NONMONARCH |
@ -73,7 +73,7 @@ int board_early_init_f (void)
if (!(in_be32((void *)GPIO0_IR) & CONFIG_SYS_REV1_2)) { if (!(in_be32((void *)GPIO0_IR) & CONFIG_SYS_REV1_2)) {
/* rev 1.2 boards */ /* rev 1.2 boards */
mtdcr(cntrl0, mfdcr(cntrl0) | ((CONFIG_SYS_INTA_FAKE | mtdcr(CPC0_CR0, mfdcr(CPC0_CR0) | ((CONFIG_SYS_INTA_FAKE |
CONFIG_SYS_SELF_RST) << 5)); CONFIG_SYS_SELF_RST) << 5));
} }

View File

@ -127,7 +127,7 @@ int board_early_init_f(void)
* - set ready timeout to 512 ebc-clks -> ca. 15 us * - set ready timeout to 512 ebc-clks -> ca. 15 us
* - EBC lines are always driven * - EBC lines are always driven
*/ */
mtebc(epcr, 0xa8400000); mtebc(EBC0_CFG, 0xa8400000);
return 0; return 0;
} }

View File

@ -64,7 +64,7 @@ struct serial_device *default_serial_console(void)
* Use default console on P4 when strapping jumper * Use default console on P4 when strapping jumper
* is installed (bootstrap option != 'H'). * is installed (bootstrap option != 'H').
*/ */
mfsdr(SDR_PINSTP, val); mfsdr(SDR0_PINSTP, val);
if (((val & 0xf0000000) >> 29) != 7) if (((val & 0xf0000000) >> 29) != 7)
return &serial1_device; return &serial1_device;
@ -100,8 +100,8 @@ int board_early_init_f(void)
u32 reg; u32 reg;
/* general EBC configuration (disable EBC timeouts) */ /* general EBC configuration (disable EBC timeouts) */
mtdcr(ebccfga, xbcfg); mtdcr(EBC0_CFGADDR, EBC0_CFG);
mtdcr(ebccfgd, 0xf8400000); mtdcr(EBC0_CFGDATA, 0xf8400000);
/* /*
* Setup the GPIO pins * Setup the GPIO pins
@ -134,13 +134,13 @@ int board_early_init_f(void)
out_be32((void *)GPIO1_ISR3H, 0x00000000); out_be32((void *)GPIO1_ISR3H, 0x00000000);
/* patch PLB:PCI divider for 66MHz PCI */ /* patch PLB:PCI divider for 66MHz PCI */
mfcpr(clk_spcid, reg); mfcpr(CPR0_SPCID, reg);
if (pci_is_66mhz() && (reg != 0x02000000)) { if (pci_is_66mhz() && (reg != 0x02000000)) {
mtcpr(clk_spcid, 0x02000000); /* 133MHZ : 2 for 66MHz PCI */ mtcpr(CPR0_SPCID, 0x02000000); /* 133MHZ : 2 for 66MHz PCI */
mfcpr(clk_icfg, reg); mfcpr(CPR0_ICFG, reg);
reg |= CPR0_ICFG_RLI_MASK; reg |= CPR0_ICFG_RLI_MASK;
mtcpr(clk_icfg, reg); mtcpr(CPR0_ICFG, reg);
mtspr(SPRN_DBCR0, 0x20000000); /* do chip reset */ mtspr(SPRN_DBCR0, 0x20000000); /* do chip reset */
} }
@ -240,19 +240,19 @@ int misc_init_r(void)
gd->bd->bi_flashoffset = 0; gd->bd->bi_flashoffset = 0;
#if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) #if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
mtdcr(ebccfga, pb2cr); mtdcr(EBC0_CFGADDR, PB2CR);
#else #else
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
#endif #endif
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
size_val = ffs(gd->bd->bi_flashsize) - 21; size_val = ffs(gd->bd->bi_flashsize) - 21;
pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17);
#if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) #if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
mtdcr(ebccfga, pb2cr); mtdcr(EBC0_CFGADDR, PB2CR);
#else #else
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
#endif #endif
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* /*
* Re-check to get correct base address * Re-check to get correct base address
@ -424,8 +424,8 @@ int misc_init_r(void)
* This fix will make the MAL burst disabling patch for the Linux * This fix will make the MAL burst disabling patch for the Linux
* EMAC driver obsolete. * EMAC driver obsolete.
*/ */
reg = mfdcr(plb4_acr) & ~PLB4_ACR_WRP; reg = mfdcr(PLB4_ACR) & ~PLB4_ACR_WRP;
mtdcr(plb4_acr, reg); mtdcr(PLB4_ACR, reg);
#ifdef CONFIG_FPGA #ifdef CONFIG_FPGA
pmc440_init_fpga(); pmc440_init_fpga();
@ -507,35 +507,35 @@ int pci_pre_init(struct pci_controller *hose)
* Set priority for all PLB3 devices to 0. * Set priority for all PLB3 devices to 0.
* Set PLB3 arbiter to fair mode. * Set PLB3 arbiter to fair mode.
*/ */
mfsdr(sdr_amp1, addr); mfsdr(SD0_AMP1, addr);
mtsdr(sdr_amp1, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP1, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb3_acr); addr = mfdcr(PLB3_ACR);
mtdcr(plb3_acr, addr | 0x80000000); mtdcr(PLB3_ACR, addr | 0x80000000);
/* /*
* Set priority for all PLB4 devices to 0. * Set priority for all PLB4 devices to 0.
*/ */
mfsdr(sdr_amp0, addr); mfsdr(SD0_AMP0, addr);
mtsdr(sdr_amp0, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP0, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb4_acr) | 0xa0000000; /* Was 0x8---- */ addr = mfdcr(PLB4_ACR) | 0xa0000000; /* Was 0x8---- */
mtdcr(plb4_acr, addr); mtdcr(PLB4_ACR, addr);
/* /*
* Set Nebula PLB4 arbiter to fair mode. * Set Nebula PLB4 arbiter to fair mode.
*/ */
/* Segment0 */ /* Segment0 */
addr = (mfdcr(plb0_acr) & ~plb0_acr_ppm_mask) | plb0_acr_ppm_fair; addr = (mfdcr(PLB0_ACR) & ~PLB0_ACR_PPM_MASK) | PLB0_ACR_PPM_FAIR;
addr = (addr & ~plb0_acr_hbu_mask) | plb0_acr_hbu_enabled; addr = (addr & ~PLB0_ACR_HBU_MASK) | PLB0_ACR_HBU_ENABLED;
addr = (addr & ~plb0_acr_rdp_mask) | plb0_acr_rdp_4deep; addr = (addr & ~PLB0_ACR_RDP_MASK) | PLB0_ACR_RDP_4DEEP;
addr = (addr & ~plb0_acr_wrp_mask) | plb0_acr_wrp_2deep; addr = (addr & ~PLB0_ACR_WRP_MASK) | PLB0_ACR_WRP_2DEEP;
mtdcr(plb0_acr, addr); mtdcr(PLB0_ACR, addr);
/* Segment1 */ /* Segment1 */
addr = (mfdcr(plb1_acr) & ~plb1_acr_ppm_mask) | plb1_acr_ppm_fair; addr = (mfdcr(PLB1_ACR) & ~PLB1_ACR_PPM_MASK) | PLB1_ACR_PPM_FAIR;
addr = (addr & ~plb1_acr_hbu_mask) | plb1_acr_hbu_enabled; addr = (addr & ~PLB1_ACR_HBU_MASK) | PLB1_ACR_HBU_ENABLED;
addr = (addr & ~plb1_acr_rdp_mask) | plb1_acr_rdp_4deep; addr = (addr & ~PLB1_ACR_RDP_MASK) | PLB1_ACR_RDP_4DEEP;
addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep; addr = (addr & ~PLB1_ACR_WRP_MASK) | PLB1_ACR_WRP_2DEEP;
mtdcr(plb1_acr, addr); mtdcr(PLB1_ACR, addr);
#ifdef CONFIG_PCI_PNP #ifdef CONFIG_PCI_PNP
hose->fixup_irq = pmc440_pci_fixup_irq; hose->fixup_irq = pmc440_pci_fixup_irq;

View File

@ -65,9 +65,9 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
switch (size_b0) { switch (size_b0) {
case 1 << 20: case 1 << 20:
@ -87,7 +87,7 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -99,7 +99,7 @@ int board_early_init_f (void)
/* /*
* EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us * EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us
*/ */
mtebc (epcr, 0xa8400000); /* ebc always driven */ mtebc (EBC0_CFG, 0xa8400000); /* ebc always driven */
return 0; return 0;
} }

View File

@ -65,9 +65,9 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
switch (size_b0) { switch (size_b0) {
case 1 << 20: case 1 << 20:
@ -87,7 +87,7 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -56,7 +56,7 @@ int board_early_init_f (void)
/* /*
* EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us * EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us
*/ */
mtebc (epcr, 0xa8400000); /* ebc always driven */ mtebc (EBC0_CFG, 0xa8400000); /* ebc always driven */
/* /*
* Reset CPLD via GPIO12 (CS3) pin * Reset CPLD via GPIO12 (CS3) pin

View File

@ -65,9 +65,9 @@ unsigned long flash_init (void)
flash_get_offsets (-size_b0, &flash_info[0]); flash_get_offsets (-size_b0, &flash_info[0]);
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b0 = -size_b0; base_b0 = -size_b0;
switch (size_b0) { switch (size_b0) {
case 1 << 20: case 1 << 20:
@ -87,7 +87,7 @@ unsigned long flash_init (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* Monitor protection ON by default */ /* Monitor protection ON by default */
(void)flash_protect(FLAG_PROTECT_SET, (void)flash_protect(FLAG_PROTECT_SET,

View File

@ -75,7 +75,7 @@ int board_early_init_f (void)
/* /*
* EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us * EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us
*/ */
mtebc (epcr, 0xa8400000); /* ebc always driven */ mtebc (EBC0_CFG, 0xa8400000); /* ebc always driven */
return 0; return 0;
} }

View File

@ -94,29 +94,29 @@ phys_size_t initdram (int board_type)
tot_size = 0; tot_size = 0;
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (tmp & 0x00000001) { if (tmp & 0x00000001) {
bank_size = 0x00400000 << ((tmp >> 17) & 0x7); bank_size = 0x00400000 << ((tmp >> 17) & 0x7);
tot_size += bank_size; tot_size += bank_size;
} }
mtdcr (memcfga, mem_mb1cf); mtdcr (SDRAM0_CFGADDR, mem_mb1cf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (tmp & 0x00000001) { if (tmp & 0x00000001) {
bank_size = 0x00400000 << ((tmp >> 17) & 0x7); bank_size = 0x00400000 << ((tmp >> 17) & 0x7);
tot_size += bank_size; tot_size += bank_size;
} }
mtdcr (memcfga, mem_mb2cf); mtdcr (SDRAM0_CFGADDR, mem_mb2cf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (tmp & 0x00000001) { if (tmp & 0x00000001) {
bank_size = 0x00400000 << ((tmp >> 17) & 0x7); bank_size = 0x00400000 << ((tmp >> 17) & 0x7);
tot_size += bank_size; tot_size += bank_size;
} }
mtdcr (memcfga, mem_mb3cf); mtdcr (SDRAM0_CFGADDR, mem_mb3cf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (tmp & 0x00000001) { if (tmp & 0x00000001) {
bank_size = 0x00400000 << ((tmp >> 17) & 0x7); bank_size = 0x00400000 << ((tmp >> 17) & 0x7);
tot_size += bank_size; tot_size += bank_size;

View File

@ -109,10 +109,10 @@
#define WDCR_EBC(reg,val) addi r4,0,reg;\ #define WDCR_EBC(reg,val) addi r4,0,reg;\
mtdcr ebccfga,r4;\ mtdcr EBC0_CFGADDR,r4;\
addis r4,0,val@h;\ addis r4,0,val@h;\
ori r4,r4,val@l;\ ori r4,r4,val@l;\
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/*--------------------------------------------------------------------- /*---------------------------------------------------------------------
* Function: ext_bus_cntlr_init * Function: ext_bus_cntlr_init
@ -164,22 +164,22 @@ ext_bus_cntlr_init:
* Memory Bank 0 (Boot Flash) initialization * Memory Bank 0 (Boot Flash) initialization
*--------------------------------------------------------------- *---------------------------------------------------------------
*/ */
WDCR_EBC(pb0ap, FLASH_32bit_AP) WDCR_EBC(PB1AP, FLASH_32bit_AP)
WDCR_EBC(pb0cr, 0xffe38000) WDCR_EBC(PB0CR, 0xffe38000)
/*pnc WDCR_EBC(pb0cr, FLASH_32bit_CR) */ /*pnc WDCR_EBC(PB0CR, FLASH_32bit_CR) */
/*--------------------------------------------------------------- /*---------------------------------------------------------------
* Memory Bank 5 (CPLD) initialization * Memory Bank 5 (CPLD) initialization
*--------------------------------------------------------------- *---------------------------------------------------------------
*/ */
WDCR_EBC(pb5ap, 0x01010040) WDCR_EBC(PB5AP, 0x01010040)
/*jsa recommendation: WDCR_EBC(pb5ap, 0x00010040) */ /*jsa recommendation: WDCR_EBC(PB5AP, 0x00010040) */
WDCR_EBC(pb5cr, 0x10038000) WDCR_EBC(PB5CR, 0x10038000)
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
/* Memory Bank 6 (not used) initialization */ /* Memory Bank 6 (not used) initialization */
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
WDCR_EBC(pb6cr, 0x00000000) WDCR_EBC(PB6CR, 0x00000000)
/* Read HW ID to determine whether old H2 board or new generic CPU board */ /* Read HW ID to determine whether old H2 board or new generic CPU board */
addis r3, 0, HW_ID_ADDR@h addis r3, 0, HW_ID_ADDR@h
@ -196,24 +196,24 @@ setup_genieboard:
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
/* Memory Bank 1 (Application Flash) initialization for generic CPU board */ /* Memory Bank 1 (Application Flash) initialization for generic CPU board */
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
/* WDCR_EBC(pb1ap, 0x7b015480) /###* T.B.M. */ /* WDCR_EBC(PB1AP, 0x7b015480) /###* T.B.M. */
/* WDCR_EBC(pb1ap, 0x7F8FFE80) /###* T.B.M. */ /* WDCR_EBC(PB1AP, 0x7F8FFE80) /###* T.B.M. */
WDCR_EBC(pb1ap, 0x9b015480) /* hlb-20020207: burst 8 bit 6 cycles */ WDCR_EBC(PB1AP, 0x9b015480) /* hlb-20020207: burst 8 bit 6 cycles */
/* WDCR_EBC(pb1cr, 0x20098000) /###* 16 MB */ /* WDCR_EBC(PB1CR, 0x20098000) /###* 16 MB */
WDCR_EBC(pb1cr, 0x200B8000) /* 32 MB */ WDCR_EBC(PB1CR, 0x200B8000) /* 32 MB */
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
/* Memory Bank 4 (Onboard FPGA) initialization for generic CPU board */ /* Memory Bank 4 (Onboard FPGA) initialization for generic CPU board */
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
WDCR_EBC(pb4ap, 0x01010000) /* */ WDCR_EBC(PB4AP, 0x01010000) /* */
WDCR_EBC(pb4cr, 0x1021c000) /* */ WDCR_EBC(PB4CR, 0x1021c000) /* */
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
/* Memory Bank 7 (Heathrow chip on Reference board) initialization */ /* Memory Bank 7 (Heathrow chip on Reference board) initialization */
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
WDCR_EBC(pb7ap, 0x200ffe80) /* No Ready, many wait states (let reflections die out) */ WDCR_EBC(PB7AP, 0x200ffe80) /* No Ready, many wait states (let reflections die out) */
WDCR_EBC(pb7cr, 0X4001A000) WDCR_EBC(PB7CR, 0X4001A000)
bl setup_continue bl setup_continue
@ -222,36 +222,36 @@ setup_h2evalboard:
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
/* Memory Bank 1 (Application Flash) initialization */ /* Memory Bank 1 (Application Flash) initialization */
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
WDCR_EBC(pb1ap, 0x7b015480) /* T.B.M. */ WDCR_EBC(PB1AP, 0x7b015480) /* T.B.M. */
/*3010 WDCR_EBC(pb1ap, 0x7F8FFE80) /###* T.B.M. */ /*3010 WDCR_EBC(PB1AP, 0x7F8FFE80) /###* T.B.M. */
WDCR_EBC(pb1cr, 0x20058000) WDCR_EBC(PB1CR, 0x20058000)
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
/* Memory Bank 2 (Application Flash) initialization */ /* Memory Bank 2 (Application Flash) initialization */
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
WDCR_EBC(pb2ap, 0x7b015480) /* T.B.M. */ WDCR_EBC(PB2AP, 0x7b015480) /* T.B.M. */
/*3010 WDCR_EBC(pb2ap, 0x7F8FFE80) /###* T.B.M. */ /*3010 WDCR_EBC(PB2AP, 0x7F8FFE80) /###* T.B.M. */
WDCR_EBC(pb2cr, 0x20458000) WDCR_EBC(PB2CR, 0x20458000)
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
/* Memory Bank 3 (Application Flash) initialization */ /* Memory Bank 3 (Application Flash) initialization */
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
WDCR_EBC(pb3ap, 0x7b015480) /* T.B.M. */ WDCR_EBC(PB3AP, 0x7b015480) /* T.B.M. */
/*3010 WDCR_EBC(pb3ap, 0x7F8FFE80) /###* T.B.M. */ /*3010 WDCR_EBC(PB3AP, 0x7F8FFE80) /###* T.B.M. */
WDCR_EBC(pb3cr, 0x20858000) WDCR_EBC(PB3CR, 0x20858000)
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
/* Memory Bank 4 (Application Flash) initialization */ /* Memory Bank 4 (Application Flash) initialization */
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
WDCR_EBC(pb4ap, 0x7b015480) /* T.B.M. */ WDCR_EBC(PB4AP, 0x7b015480) /* T.B.M. */
/*3010 WDCR_EBC(pb4ap, 0x7F8FFE80) /###* T.B.M. */ /*3010 WDCR_EBC(PB4AP, 0x7F8FFE80) /###* T.B.M. */
WDCR_EBC(pb4cr, 0x20C58000) WDCR_EBC(PB4CR, 0x20C58000)
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
/* Memory Bank 7 (Heathrow chip) initialization */ /* Memory Bank 7 (Heathrow chip) initialization */
/*--------------------------------------------------------------- */ /*--------------------------------------------------------------- */
WDCR_EBC(pb7ap, 0x02000280) /* No Ready, 4 wait states */ WDCR_EBC(PB7AP, 0x02000280) /* No Ready, 4 wait states */
WDCR_EBC(pb7cr, 0X4001A000) WDCR_EBC(PB7CR, 0X4001A000)
setup_continue: setup_continue:
@ -294,7 +294,7 @@ sdram_init:
/* Read PLL feedback divider and calculate clock period of local bus in */ /* Read PLL feedback divider and calculate clock period of local bus in */
/* granularity of 10 ps. Save clock period in r30 */ /* granularity of 10 ps. Save clock period in r30 */
/*-------------------------------------------------------------- */ /*-------------------------------------------------------------- */
mfdcr r4, pllmd mfdcr r4, CPC0_PLLMR
addi r9, 0, 25 addi r9, 0, 25
srw r4, r4, r9 srw r4, r4, r9
andi. r4, r4, 0x07 andi. r4, r4, 0x07
@ -383,8 +383,8 @@ sdram_init:
/* Set SDTR1 */ /* Set SDTR1 */
/*----------------------------------------------------------- */ /*----------------------------------------------------------- */
addi r5,0,mem_sdtr1 addi r5,0,mem_sdtr1
mtdcr memcfga,r5 mtdcr SDRAM0_CFGADDR,r5
mtdcr memcfgd,r4 mtdcr SDRAM0_CFGDATA,r4
/*----------------------------------------------------------- */ /*----------------------------------------------------------- */
/* */ /* */
@ -414,8 +414,8 @@ sdram_init:
/* Set SDRAM bank 0 register and adjust r6 for next bank */ /* Set SDRAM bank 0 register and adjust r6 for next bank */
/*------------------------------------------------------ */ /*------------------------------------------------------ */
addi r7,0,mem_mb0cf addi r7,0,mem_mb0cf
mtdcr memcfga,r7 mtdcr SDRAM0_CFGADDR,r7
mtdcr memcfgd,r6 mtdcr SDRAM0_CFGDATA,r6
add r6, r6, r15 /* add bank size to base address for next bank */ add r6, r6, r15 /* add bank size to base address for next bank */
@ -425,16 +425,16 @@ sdram_init:
bne b1skip bne b1skip
addi r7,0,mem_mb1cf addi r7,0,mem_mb1cf
mtdcr memcfga,r7 mtdcr SDRAM0_CFGADDR,r7
mtdcr memcfgd,r6 mtdcr SDRAM0_CFGDATA,r6
add r6, r6, r15 /* add bank size to base address for next bank */ add r6, r6, r15 /* add bank size to base address for next bank */
/* Set SDRAM bank 2 register and adjust r6 for next bank */ /* Set SDRAM bank 2 register and adjust r6 for next bank */
/*------------------------------------------------------ */ /*------------------------------------------------------ */
b1skip: addi r7,0,mem_mb2cf b1skip: addi r7,0,mem_mb2cf
mtdcr memcfga,r7 mtdcr SDRAM0_CFGADDR,r7
mtdcr memcfgd,r6 mtdcr SDRAM0_CFGDATA,r6
add r6, r6, r15 /* add bank size to base address for next bank */ add r6, r6, r15 /* add bank size to base address for next bank */
@ -444,8 +444,8 @@ b1skip: addi r7,0,mem_mb2cf
bne b3skip bne b3skip
addi r7,0,mem_mb3cf addi r7,0,mem_mb3cf
mtdcr memcfga,r7 mtdcr SDRAM0_CFGADDR,r7
mtdcr memcfgd,r6 mtdcr SDRAM0_CFGDATA,r6
b3skip: b3skip:
/*----------------------------------------------------------- */ /*----------------------------------------------------------- */
@ -457,8 +457,8 @@ b3skip:
bl rtr_2 bl rtr_2
rtr_1: addis r7, 0, 0x03F8 rtr_1: addis r7, 0, 0x03F8
rtr_2: addi r4,0,mem_rtr rtr_2: addi r4,0,mem_rtr
mtdcr memcfga,r4 mtdcr SDRAM0_CFGADDR,r4
mtdcr memcfgd,r7 mtdcr SDRAM0_CFGDATA,r7
/*----------------------------------------------------------- */ /*----------------------------------------------------------- */
/* Delay to ensure 200usec have elapsed since reset. Assume worst */ /* Delay to ensure 200usec have elapsed since reset. Assume worst */
@ -477,10 +477,10 @@ rtr_2: addi r4,0,mem_rtr
/* read/prefetch. */ /* read/prefetch. */
/*----------------------------------------------------------- */ /*----------------------------------------------------------- */
addi r4,0,mem_mcopt1 addi r4,0,mem_mcopt1
mtdcr memcfga,r4 mtdcr SDRAM0_CFGADDR,r4
addis r4,0,0x80C0 /* set DC_EN=1 */ addis r4,0,0x80C0 /* set DC_EN=1 */
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr memcfgd,r4 mtdcr SDRAM0_CFGDATA,r4
/*----------------------------------------------------------- */ /*----------------------------------------------------------- */
@ -980,9 +980,9 @@ fc07:
/* For CPLD */ /* For CPLD */
/* 0 + 00000 + 010 + 000 + 00 + 01 + 00 + 00 + 000 + 0 + 0 + 1 + 0 + 00000 */ /* 0 + 00000 + 010 + 000 + 00 + 01 + 00 + 00 + 000 + 0 + 0 + 1 + 0 + 00000 */
/* WDCR_EBC(pb5ap, 0x01010040) */ /* WDCR_EBC(PB5AP, 0x01010040) */
/*jsa recommendation: WDCR_EBC(pb5ap, 0x00010040) */ /*jsa recommendation: WDCR_EBC(PB5AP, 0x00010040) */
/* WDCR_EBC(pb5cr, 0X10018000) */ /* WDCR_EBC(PB5CR, 0X10018000) */
/* Access parms */ /* Access parms */
/* 100 3 8 0 0 0 */ /* 100 3 8 0 0 0 */
/* 0x100 + 001 + 11 + 00 + 0 0000 0000 0000 = 0x10038000 */ /* 0x100 + 001 + 11 + 00 + 0 0000 0000 0000 = 0x10038000 */
@ -1003,9 +1003,9 @@ fc07:
/* Usage: read/write */ /* Usage: read/write */
/* Width: 32 bit */ /* Width: 32 bit */
/* Walnut fpga pb7ap */ /* Walnut fpga PB7AP */
/* 0 1 8 1 5 2 8 0 */ /* 0 1 8 1 5 2 8 0 */
/* 0 + 00000 + 011 + 000 + 00 + 01 + 01 + 01 + 001 + 0 + 1 + 0 + 0 + 00000 */ /* 0 + 00000 + 011 + 000 + 00 + 01 + 01 + 01 + 001 + 0 + 1 + 0 + 0 + 00000 */
/* Walnut fpga pb7cr */ /* Walnut fpga PB7CR */
/* 0xF0318000 */ /* 0xF0318000 */
/* */ /* */

View File

@ -58,7 +58,7 @@ int board_early_init_f (void)
/* /*
* EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us * EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us
*/ */
mtebc (epcr, 0xa8400000); /* ebc always driven */ mtebc (EBC0_CFG, 0xa8400000); /* ebc always driven */
#endif #endif
return 0; return 0;
@ -114,7 +114,7 @@ int checkboard (void)
long int init_sdram_static_settings(void) long int init_sdram_static_settings(void)
{ {
#define mtsdram0(reg, data) mtdcr(memcfga,reg);mtdcr(memcfgd,data) #define mtsdram0(reg, data) mtdcr(SDRAM0_CFGADDR,reg);mtdcr(SDRAM0_CFGDATA,data)
/* disable memcontroller so updates work */ /* disable memcontroller so updates work */
mtsdram0( mem_mcopt1, MEM_MCOPT1_INIT_VAL ); mtsdram0( mem_mcopt1, MEM_MCOPT1_INIT_VAL );
mtsdram0( mem_rtr , MEM_RTR_INIT_VAL ); mtsdram0( mem_rtr , MEM_RTR_INIT_VAL );
@ -154,15 +154,15 @@ int do_dumpebc(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
ulong ap, cr; ulong ap, cr;
printf("\nEBC registers for PPC405GP:\n"); printf("\nEBC registers for PPC405GP:\n");
mfebc(pb0ap, ap); mfebc(pb0cr, cr); mfebc(PB0AP, ap); mfebc(PB0CR, cr);
printf("0: AP=%08lx CP=%08lx\n", ap, cr); printf("0: AP=%08lx CP=%08lx\n", ap, cr);
mfebc(pb1ap, ap); mfebc(pb1cr, cr); mfebc(PB1AP, ap); mfebc(PB1CR, cr);
printf("1: AP=%08lx CP=%08lx\n", ap, cr); printf("1: AP=%08lx CP=%08lx\n", ap, cr);
mfebc(pb2ap, ap); mfebc(pb2cr, cr); mfebc(PB2AP, ap); mfebc(PB2CR, cr);
printf("2: AP=%08lx CP=%08lx\n", ap, cr); printf("2: AP=%08lx CP=%08lx\n", ap, cr);
mfebc(pb3ap, ap); mfebc(pb3cr, cr); mfebc(PB3AP, ap); mfebc(PB3CR, cr);
printf("3: AP=%08lx CP=%08lx\n", ap, cr); printf("3: AP=%08lx CP=%08lx\n", ap, cr);
mfebc(pb4ap, ap); mfebc(pb4cr, cr); mfebc(PB4AP, ap); mfebc(PB4CR, cr);
printf("4: AP=%08lx CP=%08lx\n", ap, cr); printf("4: AP=%08lx CP=%08lx\n", ap, cr);
printf("\n"); printf("\n");

View File

@ -215,7 +215,7 @@ int board_early_init_r(void)
EBC_BXCR_BS_128MB : EBC_BXCR_BS_64MB; EBC_BXCR_BS_128MB : EBC_BXCR_BS_64MB;
/* Remap the NOR FLASH to 0xcn00.0000 ... 0xcfff.ffff */ /* Remap the NOR FLASH to 0xcn00.0000 ... 0xcfff.ffff */
mtebc(pb0cr, CONFIG_SYS_FLASH_BASE_PHYS_L mtebc(PB0CR, CONFIG_SYS_FLASH_BASE_PHYS_L
| bxcr_bw | bxcr_bw
| EBC_BXCR_BU_RW | EBC_BXCR_BU_RW
| EBC_BXCR_BW_16BIT); | EBC_BXCR_BW_16BIT);

View File

@ -48,7 +48,7 @@ int board_early_init_f(void)
* EBC Configuration Register: set ready timeout to 512 ebc-clks * EBC Configuration Register: set ready timeout to 512 ebc-clks
* -> ca. 15 us * -> ca. 15 us
*/ */
mtebc(epcr, 0xa8400000); /* ebc always driven */ mtebc(EBC0_CFG, 0xa8400000); /* ebc always driven */
/* /*
* setup io-latches * setup io-latches

View File

@ -42,8 +42,8 @@ int board_early_init_f(void)
/* /*
* Setup the external bus controller/chip selects * Setup the external bus controller/chip selects
*/ */
mfebc(xbcfg, reg); mfebc(EBC0_CFG, reg);
mtebc(xbcfg, reg | 0x04000000); /* Set ATC */ mtebc(EBC0_CFG, reg | 0x04000000); /* Set ATC */
/* /*
* Setup the GPIO pins * Setup the GPIO pins
@ -102,10 +102,10 @@ int board_early_init_f(void)
/* /*
* Setup other serial configuration * Setup other serial configuration
*/ */
mfsdr(sdr_pci0, reg); mfsdr(SDR0_PCI0, reg);
mtsdr(sdr_pci0, 0x80000000 | reg); /* PCI arbiter enabled */ mtsdr(SDR0_PCI0, 0x80000000 | reg); /* PCI arbiter enabled */
mtsdr(sdr_pfc0, 0x00003e00); /* Pin function */ mtsdr(SDR0_PFC0, 0x00003e00); /* Pin function */
mtsdr(sdr_pfc1, 0x00048000); /* Pin function: UART0 has 4 pins */ mtsdr(SDR0_PFC1, 0x00048000); /* Pin function: UART0 has 4 pins */
return 0; return 0;
} }
@ -117,7 +117,7 @@ int misc_init_r(void)
uint sz; uint sz;
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mfebc(pb0cr, pbcr); mfebc(PB0CR, pbcr);
if (gd->bd->bi_flashsize > 0x08000000) if (gd->bd->bi_flashsize > 0x08000000)
panic("Max. flash banksize is 128 MB!\n"); panic("Max. flash banksize is 128 MB!\n");
@ -127,7 +127,7 @@ int misc_init_r(void)
sz <<= 1; sz <<= 1;
pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17);
mtebc(pb0cr, pbcr); mtebc(PB0CR, pbcr);
/* adjust flash start and offset */ /* adjust flash start and offset */
gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize; gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize;
@ -178,35 +178,35 @@ int pci_pre_init(struct pci_controller *hose)
* Set priority for all PLB3 devices to 0. * Set priority for all PLB3 devices to 0.
* Set PLB3 arbiter to fair mode. * Set PLB3 arbiter to fair mode.
*/ */
mfsdr(sdr_amp1, addr); mfsdr(SD0_AMP1, addr);
mtsdr(sdr_amp1, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP1, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb3_acr); addr = mfdcr(PLB3_ACR);
mtdcr(plb3_acr, addr | 0x80000000); mtdcr(PLB3_ACR, addr | 0x80000000);
/* /*
* Set priority for all PLB4 devices to 0. * Set priority for all PLB4 devices to 0.
*/ */
mfsdr(sdr_amp0, addr); mfsdr(SD0_AMP0, addr);
mtsdr(sdr_amp0, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP0, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb4_acr) | 0xa0000000; /* Was 0x8---- */ addr = mfdcr(PLB4_ACR) | 0xa0000000; /* Was 0x8---- */
mtdcr(plb4_acr, addr); mtdcr(PLB4_ACR, addr);
/* /*
* Set Nebula PLB4 arbiter to fair mode. * Set Nebula PLB4 arbiter to fair mode.
*/ */
/* Segment0 */ /* Segment0 */
addr = (mfdcr(plb0_acr) & ~plb0_acr_ppm_mask) | plb0_acr_ppm_fair; addr = (mfdcr(PLB0_ACR) & ~PLB0_ACR_PPM_MASK) | PLB0_ACR_PPM_FAIR;
addr = (addr & ~plb0_acr_hbu_mask) | plb0_acr_hbu_enabled; addr = (addr & ~PLB0_ACR_HBU_MASK) | PLB0_ACR_HBU_ENABLED;
addr = (addr & ~plb0_acr_rdp_mask) | plb0_acr_rdp_4deep; addr = (addr & ~PLB0_ACR_RDP_MASK) | PLB0_ACR_RDP_4DEEP;
addr = (addr & ~plb0_acr_wrp_mask) | plb0_acr_wrp_2deep; addr = (addr & ~PLB0_ACR_WRP_MASK) | PLB0_ACR_WRP_2DEEP;
mtdcr(plb0_acr, addr); mtdcr(PLB0_ACR, addr);
/* Segment1 */ /* Segment1 */
addr = (mfdcr(plb1_acr) & ~plb1_acr_ppm_mask) | plb1_acr_ppm_fair; addr = (mfdcr(PLB1_ACR) & ~PLB1_ACR_PPM_MASK) | PLB1_ACR_PPM_FAIR;
addr = (addr & ~plb1_acr_hbu_mask) | plb1_acr_hbu_enabled; addr = (addr & ~PLB1_ACR_HBU_MASK) | PLB1_ACR_HBU_ENABLED;
addr = (addr & ~plb1_acr_rdp_mask) | plb1_acr_rdp_4deep; addr = (addr & ~PLB1_ACR_RDP_MASK) | PLB1_ACR_RDP_4DEEP;
addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep; addr = (addr & ~PLB1_ACR_WRP_MASK) | PLB1_ACR_WRP_2DEEP;
mtdcr(plb1_acr, addr); mtdcr(PLB1_ACR, addr);
/* enable 66 MHz ext. Clock */ /* enable 66 MHz ext. Clock */
out32(GPIO1_TCR, in32(GPIO1_TCR) | 0x00008000); out32(GPIO1_TCR, in32(GPIO1_TCR) | 0x00008000);

View File

@ -43,7 +43,7 @@ int board_early_init_f(void)
* EBC Configuration Register: set ready timeout to 512 ebc-clks * EBC Configuration Register: set ready timeout to 512 ebc-clks
* -> ca. 15 us * -> ca. 15 us
*/ */
mtebc(epcr, 0xa8400000); /* ebc always driven */ mtebc(EBC0_CFG, 0xa8400000); /* ebc always driven */
return 0; return 0;
} }

View File

@ -52,8 +52,6 @@
#include <asm/cache.h> #include <asm/cache.h>
#include <asm/mmu.h> #include <asm/mmu.h>
#define cpc0_cr0 0xB1
.globl ext_bus_cntlr_init .globl ext_bus_cntlr_init
ext_bus_cntlr_init: ext_bus_cntlr_init:
mflr r4 /* save link register */ mflr r4 /* save link register */
@ -84,16 +82,16 @@ ext_bus_cntlr_init:
/* Memory Bank 0 (Flash) initialization */ /* Memory Bank 0 (Flash) initialization */
/*----------------------------------------------------------------- */ /*----------------------------------------------------------------- */
addi r4,0,pb0ap addi r4,0,PB1AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x9B01 addis r4,0,0x9B01
ori r4,r4,0x5480 ori r4,r4,0x5480
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb0cr addi r4,0,PB0CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0xFFF1 /* BAS=0xFFF,BS=0x0(1MB),BU=0x3(R/W), */ addis r4,0,0xFFF1 /* BAS=0xFFF,BS=0x0(1MB),BU=0x3(R/W), */
ori r4,r4,0x8000 /* BW=0x0( 8 bits) */ ori r4,r4,0x8000 /* BW=0x0( 8 bits) */
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
blr blr

View File

@ -62,12 +62,12 @@ int board_early_init_f (void)
/* EBC0_B1AP: BME=1, TWT=2, CSN=0, OEN=1, /* EBC0_B1AP: BME=1, TWT=2, CSN=0, OEN=1,
WBN=0, WBF=1, TH=0, RE=0, SOR=0, BEM=0, PEN=0 */ WBN=0, WBF=1, TH=0, RE=0, SOR=0, BEM=0, PEN=0 */
mtdcr (ebccfga, pb1ap); mtdcr (EBC0_CFGADDR, PB1AP);
mtdcr (ebccfgd, 0x01011000); mtdcr (EBC0_CFGDATA, 0x01011000);
/* EBC0_B1CR: BAS=x, BS=0(1MB), BU=3(R/W), BW=0(8bits) */ /* EBC0_B1CR: BAS=x, BS=0(1MB), BU=3(R/W), BW=0(8bits) */
mtdcr (ebccfga, pb1cr); mtdcr (EBC0_CFGADDR, PB1CR);
mtdcr (ebccfgd, CONFIG_SYS_SYSTEMACE_BASE | 0x00018000); mtdcr (EBC0_CFGDATA, CONFIG_SYS_SYSTEMACE_BASE | 0x00018000);
/* Enable the /PerWE output as /PerWE, instead of /PCIINT. */ /* Enable the /PerWE output as /PerWE, instead of /PCIINT. */
/* CPC0_CR1 |= PCIPW */ /* CPC0_CR1 |= PCIPW */

View File

@ -35,60 +35,60 @@ phys_size_t initdram (int board_type)
/* Configure the SDRAMS */ /* Configure the SDRAMS */
/* disable memory controller */ /* disable memory controller */
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
mtdcr (memcfgd, 0x00000000); mtdcr (SDRAM0_CFGDATA, 0x00000000);
udelay (500); udelay (500);
/* Clear SDRAM0_BESR0 (Bus Error Syndrome Register) */ /* Clear SDRAM0_BESR0 (Bus Error Syndrome Register) */
mtdcr (memcfga, mem_besra); mtdcr (SDRAM0_CFGADDR, mem_besra);
mtdcr (memcfgd, 0xffffffff); mtdcr (SDRAM0_CFGDATA, 0xffffffff);
/* Clear SDRAM0_BESR1 (Bus Error Syndrome Register) */ /* Clear SDRAM0_BESR1 (Bus Error Syndrome Register) */
mtdcr (memcfga, mem_besrb); mtdcr (SDRAM0_CFGADDR, mem_besrb);
mtdcr (memcfgd, 0xffffffff); mtdcr (SDRAM0_CFGDATA, 0xffffffff);
/* Clear SDRAM0_ECCCFG (disable ECC) */ /* Clear SDRAM0_ECCCFG (disable ECC) */
mtdcr (memcfga, mem_ecccf); mtdcr (SDRAM0_CFGADDR, mem_ecccf);
mtdcr (memcfgd, 0x00000000); mtdcr (SDRAM0_CFGDATA, 0x00000000);
/* Clear SDRAM0_ECCESR (ECC Error Syndrome Register) */ /* Clear SDRAM0_ECCESR (ECC Error Syndrome Register) */
mtdcr (memcfga, mem_eccerr); mtdcr (SDRAM0_CFGADDR, mem_eccerr);
mtdcr (memcfgd, 0xffffffff); mtdcr (SDRAM0_CFGDATA, 0xffffffff);
/* Timing register: CASL=2, PTA=2, CTP=2, LDF=1, RFTA=5, RCD=2 */ /* Timing register: CASL=2, PTA=2, CTP=2, LDF=1, RFTA=5, RCD=2 */
mtdcr (memcfga, mem_sdtr1); mtdcr (SDRAM0_CFGADDR, mem_sdtr1);
mtdcr (memcfgd, 0x010a4016); mtdcr (SDRAM0_CFGDATA, 0x010a4016);
/* Memory Bank 0 Config == BA=0x00000000, SZ=64M, AM=3, BE=1 */ /* Memory Bank 0 Config == BA=0x00000000, SZ=64M, AM=3, BE=1 */
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
mtdcr (memcfgd, 0x00084001); mtdcr (SDRAM0_CFGDATA, 0x00084001);
/* Memory Bank 1 Config == BA=0x04000000, SZ=64M, AM=3, BE=1 */ /* Memory Bank 1 Config == BA=0x04000000, SZ=64M, AM=3, BE=1 */
mtdcr (memcfga, mem_mb1cf); mtdcr (SDRAM0_CFGADDR, mem_mb1cf);
mtdcr (memcfgd, 0x04084001); mtdcr (SDRAM0_CFGDATA, 0x04084001);
/* Memory Bank 2 Config == BE=0 */ /* Memory Bank 2 Config == BE=0 */
mtdcr (memcfga, mem_mb2cf); mtdcr (SDRAM0_CFGADDR, mem_mb2cf);
mtdcr (memcfgd, 0x00000000); mtdcr (SDRAM0_CFGDATA, 0x00000000);
/* Memory Bank 3 Config == BE=0 */ /* Memory Bank 3 Config == BE=0 */
mtdcr (memcfga, mem_mb3cf); mtdcr (SDRAM0_CFGADDR, mem_mb3cf);
mtdcr (memcfgd, 0x00000000); mtdcr (SDRAM0_CFGDATA, 0x00000000);
/* refresh timer = 0x400 */ /* refresh timer = 0x400 */
mtdcr (memcfga, mem_rtr); mtdcr (SDRAM0_CFGADDR, mem_rtr);
mtdcr (memcfgd, 0x04000000); mtdcr (SDRAM0_CFGDATA, 0x04000000);
/* Power management idle timer set to the default. */ /* Power management idle timer set to the default. */
mtdcr (memcfga, mem_pmit); mtdcr (SDRAM0_CFGADDR, mem_pmit);
mtdcr (memcfgd, 0x07c00000); mtdcr (SDRAM0_CFGDATA, 0x07c00000);
udelay (500); udelay (500);
/* Enable banks (DCE=1, BPRF=1, ECCDD=1, EMDUL=1) */ /* Enable banks (DCE=1, BPRF=1, ECCDD=1, EMDUL=1) */
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
mtdcr (memcfgd, 0x80e00000); mtdcr (SDRAM0_CFGDATA, 0x80e00000);
return SDRAM_LEN; return SDRAM_LEN;
} }
@ -108,28 +108,28 @@ int testdram (void)
#ifdef DEBUG #ifdef DEBUG
printf ("SDRAM Controller Registers --\n"); printf ("SDRAM Controller Registers --\n");
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
val = mfdcr (memcfgd); val = mfdcr (SDRAM0_CFGDATA);
printf (" SDRAM0_CFG : 0x%08x\n", val); printf (" SDRAM0_CFG : 0x%08x\n", val);
mtdcr (memcfga, 0x24); mtdcr (SDRAM0_CFGADDR, 0x24);
val = mfdcr (memcfgd); val = mfdcr (SDRAM0_CFGDATA);
printf (" SDRAM0_STATUS: 0x%08x\n", val); printf (" SDRAM0_STATUS: 0x%08x\n", val);
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
val = mfdcr (memcfgd); val = mfdcr (SDRAM0_CFGDATA);
printf (" SDRAM0_B0CR : 0x%08x\n", val); printf (" SDRAM0_B0CR : 0x%08x\n", val);
mtdcr (memcfga, mem_mb1cf); mtdcr (SDRAM0_CFGADDR, mem_mb1cf);
val = mfdcr (memcfgd); val = mfdcr (SDRAM0_CFGDATA);
printf (" SDRAM0_B1CR : 0x%08x\n", val); printf (" SDRAM0_B1CR : 0x%08x\n", val);
mtdcr (memcfga, mem_sdtr1); mtdcr (SDRAM0_CFGADDR, mem_sdtr1);
val = mfdcr (memcfgd); val = mfdcr (SDRAM0_CFGDATA);
printf (" SDRAM0_TR : 0x%08x\n", val); printf (" SDRAM0_TR : 0x%08x\n", val);
mtdcr (memcfga, mem_rtr); mtdcr (SDRAM0_CFGADDR, mem_rtr);
val = mfdcr (memcfgd); val = mfdcr (SDRAM0_CFGDATA);
printf (" SDRAM0_RTR : 0x%08x\n", val); printf (" SDRAM0_RTR : 0x%08x\n", val);
#endif #endif
@ -137,8 +137,8 @@ int testdram (void)
bit. Really, there should already have been plenty of time, bit. Really, there should already have been plenty of time,
given it was started long ago. But, best to check. */ given it was started long ago. But, best to check. */
for (idx = 0; idx < 1000000; idx += 1) { for (idx = 0; idx < 1000000; idx += 1) {
mtdcr (memcfga, 0x24); mtdcr (SDRAM0_CFGADDR, 0x24);
val = mfdcr (memcfgd); val = mfdcr (SDRAM0_CFGDATA);
if (val & 0x80000000) if (val & 0x80000000)
break; break;
} }

View File

@ -81,8 +81,8 @@ int board_early_init_f(void)
korat_buzzer(0); korat_buzzer(0);
#endif #endif
mtdcr(ebccfga, xbcfg); mtdcr(EBC0_CFGADDR, EBC0_CFG);
mtdcr(ebccfgd, 0xb8400000); mtdcr(EBC0_CFGDATA, 0xb8400000);
/* /*
* Setup the interrupt controller polarities, triggers, etc. * Setup the interrupt controller polarities, triggers, etc.
@ -157,8 +157,8 @@ int board_early_init_f(void)
mtsdr(SDR0_PFC1, sdr0_pfc1); mtsdr(SDR0_PFC1, sdr0_pfc1);
/* PCI arbiter enabled */ /* PCI arbiter enabled */
mfsdr(sdr_pci0, reg); mfsdr(SDR0_PCI0, reg);
mtsdr(sdr_pci0, 0x80000000 | reg); mtsdr(SDR0_PCI0, 0x80000000 | reg);
return 0; return 0;
} }
@ -359,12 +359,12 @@ int misc_init_r(void)
gd->bd->bi_flashstart = CONFIG_SYS_FLASH1_TOP - flash1_size; gd->bd->bi_flashstart = CONFIG_SYS_FLASH1_TOP - flash1_size;
gd->bd->bi_flashoffset = 0; gd->bd->bi_flashoffset = 0;
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
size_val = ffs(flash1_size) - 21; size_val = ffs(flash1_size) - 21;
pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17);
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* /*
* Re-check to get correct base address * Re-check to get correct base address
@ -378,12 +378,12 @@ int misc_init_r(void)
gd->bd->bi_flashoffset = gd->bd->bi_flashoffset =
CONFIG_ENV_ADDR_REDUND + CONFIG_ENV_SECT_SIZE - CONFIG_SYS_FLASH1_ADDR; CONFIG_ENV_ADDR_REDUND + CONFIG_ENV_SECT_SIZE - CONFIG_SYS_FLASH1_ADDR;
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
size_val = ffs(gd->bd->bi_flashsize - CONFIG_SYS_FLASH0_SIZE) - 21; size_val = ffs(gd->bd->bi_flashsize - CONFIG_SYS_FLASH0_SIZE) - 21;
pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17);
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* Monitor protection ON by default */ /* Monitor protection ON by default */
#if defined(CONFIG_KORAT_PERMANENT) #if defined(CONFIG_KORAT_PERMANENT)
@ -552,8 +552,8 @@ int misc_init_r(void)
* This fix will make the MAL burst disabling patch for the Linux * This fix will make the MAL burst disabling patch for the Linux
* EMAC driver obsolete. * EMAC driver obsolete.
*/ */
reg = mfdcr(plb4_acr) & ~PLB4_ACR_WRP; reg = mfdcr(PLB4_ACR) & ~PLB4_ACR_WRP;
mtdcr(plb4_acr, reg); mtdcr(PLB4_ACR, reg);
set_serial_number(); set_serial_number();
set_mac_addresses(); set_mac_addresses();
@ -620,35 +620,35 @@ int pci_pre_init(struct pci_controller *hose)
* Set priority for all PLB3 devices to 0. * Set priority for all PLB3 devices to 0.
* Set PLB3 arbiter to fair mode. * Set PLB3 arbiter to fair mode.
*/ */
mfsdr(sdr_amp1, addr); mfsdr(SD0_AMP1, addr);
mtsdr(sdr_amp1, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP1, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb3_acr); addr = mfdcr(PLB3_ACR);
mtdcr(plb3_acr, addr | 0x80000000); mtdcr(PLB3_ACR, addr | 0x80000000);
/* /*
* Set priority for all PLB4 devices to 0. * Set priority for all PLB4 devices to 0.
*/ */
mfsdr(sdr_amp0, addr); mfsdr(SD0_AMP0, addr);
mtsdr(sdr_amp0, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP0, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb4_acr) | 0xa0000000; /* Was 0x8---- */ addr = mfdcr(PLB4_ACR) | 0xa0000000; /* Was 0x8---- */
mtdcr(plb4_acr, addr); mtdcr(PLB4_ACR, addr);
/* /*
* Set Nebula PLB4 arbiter to fair mode. * Set Nebula PLB4 arbiter to fair mode.
*/ */
/* Segment0 */ /* Segment0 */
addr = (mfdcr(plb0_acr) & ~plb0_acr_ppm_mask) | plb0_acr_ppm_fair; addr = (mfdcr(PLB0_ACR) & ~PLB0_ACR_PPM_MASK) | PLB0_ACR_PPM_FAIR;
addr = (addr & ~plb0_acr_hbu_mask) | plb0_acr_hbu_enabled; addr = (addr & ~PLB0_ACR_HBU_MASK) | PLB0_ACR_HBU_ENABLED;
addr = (addr & ~plb0_acr_rdp_mask) | plb0_acr_rdp_4deep; addr = (addr & ~PLB0_ACR_RDP_MASK) | PLB0_ACR_RDP_4DEEP;
addr = (addr & ~plb0_acr_wrp_mask) | plb0_acr_wrp_2deep; addr = (addr & ~PLB0_ACR_WRP_MASK) | PLB0_ACR_WRP_2DEEP;
mtdcr(plb0_acr, addr); mtdcr(PLB0_ACR, addr);
/* Segment1 */ /* Segment1 */
addr = (mfdcr(plb1_acr) & ~plb1_acr_ppm_mask) | plb1_acr_ppm_fair; addr = (mfdcr(PLB1_ACR) & ~PLB1_ACR_PPM_MASK) | PLB1_ACR_PPM_FAIR;
addr = (addr & ~plb1_acr_hbu_mask) | plb1_acr_hbu_enabled; addr = (addr & ~PLB1_ACR_HBU_MASK) | PLB1_ACR_HBU_ENABLED;
addr = (addr & ~plb1_acr_rdp_mask) | plb1_acr_rdp_4deep; addr = (addr & ~PLB1_ACR_RDP_MASK) | PLB1_ACR_RDP_4DEEP;
addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep; addr = (addr & ~PLB1_ACR_WRP_MASK) | PLB1_ACR_WRP_2DEEP;
mtdcr(plb1_acr, addr); mtdcr(PLB1_ACR, addr);
#if defined(CONFIG_PCI_PNP) #if defined(CONFIG_PCI_PNP)
hose->fixup_irq = korat_pci_fixup_irq; hose->fixup_irq = korat_pci_fixup_irq;

View File

@ -38,8 +38,8 @@ int board_early_init_f(void)
u32 reg; u32 reg;
/* PLB Write pipelining disabled. Denali Core workaround */ /* PLB Write pipelining disabled. Denali Core workaround */
mtdcr(plb0_acr, 0xDE000000); mtdcr(PLB0_ACR, 0xDE000000);
mtdcr(plb1_acr, 0xDE000000); mtdcr(PLB1_ACR, 0xDE000000);
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
* Setup the interrupt controller polarities, triggers, etc. * Setup the interrupt controller polarities, triggers, etc.
@ -90,9 +90,9 @@ int board_early_init_f(void)
/* PCI arbiter disabled */ /* PCI arbiter disabled */
/* PCI Host Configuration disbaled */ /* PCI Host Configuration disbaled */
mfsdr(sdr_pci0, reg); mfsdr(SDR0_PCI0, reg);
reg = 0; reg = 0;
mtsdr(sdr_pci0, 0x00000000 | reg); mtsdr(SDR0_PCI0, 0x00000000 | reg);
gpio_write_bit(CONFIG_SYS_GPIO_FLASH_WP, 1); gpio_write_bit(CONFIG_SYS_GPIO_FLASH_WP, 1);
@ -157,7 +157,7 @@ int misc_init_r(void)
gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize; gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize;
gd->bd->bi_flashoffset = 0; gd->bd->bi_flashoffset = 0;
mfebc(pb0cr, pbcr); mfebc(PB0CR, pbcr);
switch (gd->bd->bi_flashsize) { switch (gd->bd->bi_flashsize) {
case 1 << 20: case 1 << 20:
size_val = 0; size_val = 0;
@ -185,7 +185,7 @@ int misc_init_r(void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17);
mtebc(pb0cr, pbcr); mtebc(PB0CR, pbcr);
/* /*
* Re-check to get correct base address * Re-check to get correct base address
@ -249,8 +249,8 @@ int misc_init_r(void)
* This fix will make the MAL burst disabling patch for the Linux * This fix will make the MAL burst disabling patch for the Linux
* EMAC driver obsolete. * EMAC driver obsolete.
*/ */
reg = mfdcr(plb4_acr) & ~PLB4_ACR_WRP; reg = mfdcr(PLB4_ACR) & ~PLB4_ACR_WRP;
mtdcr(plb4_acr, reg); mtdcr(PLB4_ACR, reg);
/* /*
* Init matrix keyboard * Init matrix keyboard
@ -296,35 +296,35 @@ int pci_pre_init(struct pci_controller *hose)
| Set priority for all PLB3 devices to 0. | Set priority for all PLB3 devices to 0.
| Set PLB3 arbiter to fair mode. | Set PLB3 arbiter to fair mode.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mfsdr(sdr_amp1, addr); mfsdr(SD0_AMP1, addr);
mtsdr(sdr_amp1, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP1, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb3_acr); addr = mfdcr(PLB3_ACR);
mtdcr(plb3_acr, addr | 0x80000000); mtdcr(PLB3_ACR, addr | 0x80000000);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| Set priority for all PLB4 devices to 0. | Set priority for all PLB4 devices to 0.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mfsdr(sdr_amp0, addr); mfsdr(SD0_AMP0, addr);
mtsdr(sdr_amp0, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP0, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb4_acr) | 0xa0000000; /* Was 0x8---- */ addr = mfdcr(PLB4_ACR) | 0xa0000000; /* Was 0x8---- */
mtdcr(plb4_acr, addr); mtdcr(PLB4_ACR, addr);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| Set Nebula PLB4 arbiter to fair mode. | Set Nebula PLB4 arbiter to fair mode.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
/* Segment0 */ /* Segment0 */
addr = (mfdcr(plb0_acr) & ~plb0_acr_ppm_mask) | plb0_acr_ppm_fair; addr = (mfdcr(PLB0_ACR) & ~PLB0_ACR_PPM_MASK) | PLB0_ACR_PPM_FAIR;
addr = (addr & ~plb0_acr_hbu_mask) | plb0_acr_hbu_enabled; addr = (addr & ~PLB0_ACR_HBU_MASK) | PLB0_ACR_HBU_ENABLED;
addr = (addr & ~plb0_acr_rdp_mask) | plb0_acr_rdp_4deep; addr = (addr & ~PLB0_ACR_RDP_MASK) | PLB0_ACR_RDP_4DEEP;
addr = (addr & ~plb0_acr_wrp_mask) | plb0_acr_wrp_2deep; addr = (addr & ~PLB0_ACR_WRP_MASK) | PLB0_ACR_WRP_2DEEP;
mtdcr(plb0_acr, addr); mtdcr(PLB0_ACR, addr);
/* Segment1 */ /* Segment1 */
addr = (mfdcr(plb1_acr) & ~plb1_acr_ppm_mask) | plb1_acr_ppm_fair; addr = (mfdcr(PLB1_ACR) & ~PLB1_ACR_PPM_MASK) | PLB1_ACR_PPM_FAIR;
addr = (addr & ~plb1_acr_hbu_mask) | plb1_acr_hbu_enabled; addr = (addr & ~PLB1_ACR_HBU_MASK) | PLB1_ACR_HBU_ENABLED;
addr = (addr & ~plb1_acr_rdp_mask) | plb1_acr_rdp_4deep; addr = (addr & ~PLB1_ACR_RDP_MASK) | PLB1_ACR_RDP_4DEEP;
addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep; addr = (addr & ~PLB1_ACR_WRP_MASK) | PLB1_ACR_WRP_2DEEP;
mtdcr(plb1_acr, addr); mtdcr(PLB1_ACR, addr);
return 1; return 1;
} }

View File

@ -97,7 +97,7 @@ int get_boot_mode(void)
{ {
unsigned long pbcr; unsigned long pbcr;
int res = 0; int res = 0;
pbcr = mfdcr (strap); pbcr = mfdcr (CPC0_PSR);
if ((pbcr & PSR_ROM_WIDTH_MASK) == 0) if ((pbcr & PSR_ROM_WIDTH_MASK) == 0)
/* boot via MPS or MPS mapping */ /* boot via MPS or MPS mapping */
res = BOOT_MPS; res = BOOT_MPS;
@ -123,29 +123,29 @@ void setup_cs_reloc(void)
/* first findout on which cs the flash is */ /* first findout on which cs the flash is */
if(mode & BOOT_MPS) { if(mode & BOOT_MPS) {
/* map flash high on CS1 and MPS on CS0 */ /* map flash high on CS1 and MPS on CS0 */
mtdcr (ebccfga, pb0ap); mtdcr (EBC0_CFGADDR, PB0AP);
mtdcr (ebccfgd, MPS_AP); mtdcr (EBC0_CFGDATA, MPS_AP);
mtdcr (ebccfga, pb0cr); mtdcr (EBC0_CFGADDR, PB0CR);
mtdcr (ebccfgd, MPS_CR); mtdcr (EBC0_CFGDATA, MPS_CR);
/* we use the default values (max values) for the flash /* we use the default values (max values) for the flash
* because its real size is not yet known */ * because its real size is not yet known */
mtdcr (ebccfga, pb1ap); mtdcr (EBC0_CFGADDR, PB1AP);
mtdcr (ebccfgd, FLASH_AP); mtdcr (EBC0_CFGDATA, FLASH_AP);
mtdcr (ebccfga, pb1cr); mtdcr (EBC0_CFGADDR, PB1CR);
mtdcr (ebccfgd, FLASH_CR_B); mtdcr (EBC0_CFGDATA, FLASH_CR_B);
} }
else { else {
/* map flash high on CS0 and MPS on CS1 */ /* map flash high on CS0 and MPS on CS1 */
mtdcr (ebccfga, pb1ap); mtdcr (EBC0_CFGADDR, PB1AP);
mtdcr (ebccfgd, MPS_AP); mtdcr (EBC0_CFGDATA, MPS_AP);
mtdcr (ebccfga, pb1cr); mtdcr (EBC0_CFGADDR, PB1CR);
mtdcr (ebccfgd, MPS_CR); mtdcr (EBC0_CFGDATA, MPS_CR);
/* we use the default values (max values) for the flash /* we use the default values (max values) for the flash
* because its real size is not yet known */ * because its real size is not yet known */
mtdcr (ebccfga, pb0ap); mtdcr (EBC0_CFGADDR, PB0AP);
mtdcr (ebccfgd, FLASH_AP); mtdcr (EBC0_CFGDATA, FLASH_AP);
mtdcr (ebccfga, pb0cr); mtdcr (EBC0_CFGADDR, PB0CR);
mtdcr (ebccfgd, FLASH_CR_B); mtdcr (EBC0_CFGDATA, FLASH_CR_B);
} }
} }
@ -217,34 +217,34 @@ unsigned long flash_init (void)
} }
if(mode & BOOT_MPS) { if(mode & BOOT_MPS) {
/* flash is on CS1 */ /* flash is on CS1 */
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
flashcr = mfdcr (ebccfgd); flashcr = mfdcr (EBC0_CFGDATA);
/* we map the flash high in every case */ /* we map the flash high in every case */
flashcr&=0x0001FFFF; /* mask out address bits */ flashcr&=0x0001FFFF; /* mask out address bits */
flashcr|= ((0-flash_info[0].size) & 0xFFF00000); /* start addr */ flashcr|= ((0-flash_info[0].size) & 0xFFF00000); /* start addr */
flashcr|= (i << 17); /* size addr */ flashcr|= (i << 17); /* size addr */
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
mtdcr(ebccfgd, flashcr); mtdcr(EBC0_CFGDATA, flashcr);
} }
else { else {
/* flash is on CS0 */ /* flash is on CS0 */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
flashcr = mfdcr (ebccfgd); flashcr = mfdcr (EBC0_CFGDATA);
/* we map the flash high in every case */ /* we map the flash high in every case */
flashcr&=0x0001FFFF; /* mask out address bits */ flashcr&=0x0001FFFF; /* mask out address bits */
flashcr|= ((0-flash_info[0].size) & 0xFFF00000); /* start addr */ flashcr|= ((0-flash_info[0].size) & 0xFFF00000); /* start addr */
flashcr|= (i << 17); /* size addr */ flashcr|= (i << 17); /* size addr */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
mtdcr(ebccfgd, flashcr); mtdcr(EBC0_CFGDATA, flashcr);
} }
#if 0 #if 0
/* enable this (PIP405/MIP405 only) if you want to test if /* enable this (PIP405/MIP405 only) if you want to test if
the relocation has be done ok. the relocation has be done ok.
This will disable both Chipselects */ This will disable both Chipselects */
mtdcr (ebccfga, pb0cr); mtdcr (EBC0_CFGADDR, PB0CR);
mtdcr (ebccfgd, 0L); mtdcr (EBC0_CFGDATA, 0L);
mtdcr (ebccfga, pb1cr); mtdcr (EBC0_CFGADDR, PB1CR);
mtdcr (ebccfgd, 0L); mtdcr (EBC0_CFGDATA, 0L);
printf("CS0 & CS1 switched off for test\n"); printf("CS0 & CS1 switched off for test\n");
#endif #endif
/* patch version_string */ /* patch version_string */

View File

@ -55,7 +55,7 @@
.globl ext_bus_cntlr_init .globl ext_bus_cntlr_init
ext_bus_cntlr_init: ext_bus_cntlr_init:
mflr r4 /* save link register */ mflr r4 /* save link register */
mfdcr r3,strap /* get strapping reg */ mfdcr r3,CPC0_PSR /* get strapping reg */
andi. r0, r3, PSR_ROM_LOC /* mask out irrelevant bits */ andi. r0, r3, PSR_ROM_LOC /* mask out irrelevant bits */
bnelr /* jump back if PCI boot */ bnelr /* jump back if PCI boot */
@ -84,9 +84,9 @@ ext_bus_cntlr_init:
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* decide boot up mode * decide boot up mode
*----------------------------------------------------------------------- */ *----------------------------------------------------------------------- */
addi r4,0,pb0cr addi r4,0,PB0CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
mfdcr r4,ebccfgd mfdcr r4,EBC0_CFGDATA
andi. r0, r4, 0x2000 /* mask out irrelevant bits */ andi. r0, r4, 0x2000 /* mask out irrelevant bits */
beq 0f /* jump if 8 bit bus width */ beq 0f /* jump if 8 bit bus width */
@ -96,18 +96,18 @@ ext_bus_cntlr_init:
* Memory Bank 0 (16 Bit Flash) initialization * Memory Bank 0 (16 Bit Flash) initialization
*---------------------------------------------------------------------- */ *---------------------------------------------------------------------- */
addi r4,0,pb0ap addi r4,0,PB1AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,(FLASH_AP_B)@h addis r4,0,(FLASH_AP_B)@h
ori r4,r4,(FLASH_AP_B)@l ori r4,r4,(FLASH_AP_B)@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb0cr addi r4,0,PB0CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
/* BS=0x010(4MB),BU=0x3(R/W), */ /* BS=0x010(4MB),BU=0x3(R/W), */
addis r4,0,(FLASH_CR_B)@h addis r4,0,(FLASH_CR_B)@h
ori r4,r4,(FLASH_CR_B)@l ori r4,r4,(FLASH_CR_B)@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
b 1f b 1f
0: 0:
@ -117,66 +117,66 @@ ext_bus_cntlr_init:
* Memory Bank 0 Multi Purpose Socket initialization * Memory Bank 0 Multi Purpose Socket initialization
*----------------------------------------------------------------------- */ *----------------------------------------------------------------------- */
/* 0x7F8FFE80 slowest boot */ /* 0x7F8FFE80 slowest boot */
addi r4,0,pb0ap addi r4,0,PB1AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,(MPS_AP_B)@h addis r4,0,(MPS_AP_B)@h
ori r4,r4,(MPS_AP_B)@l ori r4,r4,(MPS_AP_B)@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb0cr addi r4,0,PB0CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
/* BS=0x010(4MB),BU=0x3(R/W), */ /* BS=0x010(4MB),BU=0x3(R/W), */
addis r4,0,(MPS_CR_B)@h addis r4,0,(MPS_CR_B)@h
ori r4,r4,(MPS_CR_B)@l ori r4,r4,(MPS_CR_B)@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
1: 1:
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* Memory Bank 2-3-4-5-6 (not used) initialization * Memory Bank 2-3-4-5-6 (not used) initialization
*-----------------------------------------------------------------------*/ *-----------------------------------------------------------------------*/
addi r4,0,pb1cr addi r4,0,PB1CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb2cr addi r4,0,PB2CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb3cr addi r4,0,PB3CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb4cr addi r4,0,PB4CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb5cr addi r4,0,PB5CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb6cr addi r4,0,PB6CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb7cr addi r4,0,PB7CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
nop /* pass2 DCR errata #8 */ nop /* pass2 DCR errata #8 */
blr blr

View File

@ -256,16 +256,16 @@ int init_sdram (void)
gd->baudrate = 9600; gd->baudrate = 9600;
serial_init (); serial_init ();
/* set up the pld */ /* set up the pld */
mtdcr (ebccfga, pb7ap); mtdcr (EBC0_CFGADDR, PB7AP);
mtdcr (ebccfgd, PLD_AP); mtdcr (EBC0_CFGDATA, PLD_AP);
mtdcr (ebccfga, pb7cr); mtdcr (EBC0_CFGADDR, PB7CR);
mtdcr (ebccfgd, PLD_CR); mtdcr (EBC0_CFGDATA, PLD_CR);
/* THIS IS OBSOLETE */ /* THIS IS OBSOLETE */
/* set up the board rev reg*/ /* set up the board rev reg*/
mtdcr (ebccfga, pb5ap); mtdcr (EBC0_CFGADDR, PB5AP);
mtdcr (ebccfgd, BOARD_AP); mtdcr (EBC0_CFGDATA, BOARD_AP);
mtdcr (ebccfga, pb5cr); mtdcr (EBC0_CFGADDR, PB5CR);
mtdcr (ebccfgd, BOARD_CR); mtdcr (EBC0_CFGDATA, BOARD_CR);
#ifdef SDRAM_DEBUG #ifdef SDRAM_DEBUG
/* get all informations from PLD */ /* get all informations from PLD */
serial_puts ("\nPLD Part 0x"); serial_puts ("\nPLD Part 0x");
@ -289,30 +289,30 @@ int init_sdram (void)
SDRAM_err ("U-Boot configured for a MIP405 not for a MIP405T!!!\n"); SDRAM_err ("U-Boot configured for a MIP405 not for a MIP405T!!!\n");
#endif #endif
/* set-up the chipselect machine */ /* set-up the chipselect machine */
mtdcr (ebccfga, pb0cr); /* get cs0 config reg */ mtdcr (EBC0_CFGADDR, PB0CR); /* get cs0 config reg */
tmp = mfdcr (ebccfgd); tmp = mfdcr (EBC0_CFGDATA);
if ((tmp & 0x00002000) == 0) { if ((tmp & 0x00002000) == 0) {
/* MPS Boot, set up the flash */ /* MPS Boot, set up the flash */
mtdcr (ebccfga, pb1ap); mtdcr (EBC0_CFGADDR, PB1AP);
mtdcr (ebccfgd, FLASH_AP); mtdcr (EBC0_CFGDATA, FLASH_AP);
mtdcr (ebccfga, pb1cr); mtdcr (EBC0_CFGADDR, PB1CR);
mtdcr (ebccfgd, FLASH_CR); mtdcr (EBC0_CFGDATA, FLASH_CR);
} else { } else {
/* Flash boot, set up the MPS */ /* Flash boot, set up the MPS */
mtdcr (ebccfga, pb1ap); mtdcr (EBC0_CFGADDR, PB1AP);
mtdcr (ebccfgd, MPS_AP); mtdcr (EBC0_CFGDATA, MPS_AP);
mtdcr (ebccfga, pb1cr); mtdcr (EBC0_CFGADDR, PB1CR);
mtdcr (ebccfgd, MPS_CR); mtdcr (EBC0_CFGDATA, MPS_CR);
} }
/* set up UART0 (CS2) and UART1 (CS3) */ /* set up UART0 (CS2) and UART1 (CS3) */
mtdcr (ebccfga, pb2ap); mtdcr (EBC0_CFGADDR, PB2AP);
mtdcr (ebccfgd, UART0_AP); mtdcr (EBC0_CFGDATA, UART0_AP);
mtdcr (ebccfga, pb2cr); mtdcr (EBC0_CFGADDR, PB2CR);
mtdcr (ebccfgd, UART0_CR); mtdcr (EBC0_CFGDATA, UART0_CR);
mtdcr (ebccfga, pb3ap); mtdcr (EBC0_CFGADDR, PB3AP);
mtdcr (ebccfgd, UART1_AP); mtdcr (EBC0_CFGDATA, UART1_AP);
mtdcr (ebccfga, pb3cr); mtdcr (EBC0_CFGADDR, PB3CR);
mtdcr (ebccfgd, UART1_CR); mtdcr (EBC0_CFGDATA, UART1_CR);
bc = in8 (PLD_BOARD_CFG_REG); bc = in8 (PLD_BOARD_CFG_REG);
#ifdef SDRAM_DEBUG #ifdef SDRAM_DEBUG
serial_puts ("\nstart SDRAM Setup\n"); serial_puts ("\nstart SDRAM Setup\n");
@ -348,8 +348,8 @@ int init_sdram (void)
/* trc_clocks is sum of trp_clocks + tras_clocks */ /* trc_clocks is sum of trp_clocks + tras_clocks */
trc_clocks = trp_clocks + tras_clocks; trc_clocks = trp_clocks + tras_clocks;
/* get SDRAM timing register */ /* get SDRAM timing register */
mtdcr (memcfga, mem_sdtr1); mtdcr (SDRAM0_CFGADDR, mem_sdtr1);
sdram_tim = mfdcr (memcfgd) & ~0x018FC01F; sdram_tim = mfdcr (SDRAM0_CFGDATA) & ~0x018FC01F;
/* insert CASL value */ /* insert CASL value */
sdram_tim |= ((unsigned long) (cal_val)) << 23; sdram_tim |= ((unsigned long) (cal_val)) << 23;
/* insert PTA value */ /* insert PTA value */
@ -369,8 +369,8 @@ int init_sdram (void)
/* insert SZ value; */ /* insert SZ value; */
tmp |= ((unsigned long) sdram_table[i].sz << 17); tmp |= ((unsigned long) sdram_table[i].sz << 17);
/* get SDRAM bank 0 register */ /* get SDRAM bank 0 register */
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
sdram_bank = mfdcr (memcfgd) & ~0xFFCEE001; sdram_bank = mfdcr (SDRAM0_CFGDATA) & ~0xFFCEE001;
sdram_bank |= (baseaddr | tmp | 0x01); sdram_bank |= (baseaddr | tmp | 0x01);
#ifdef SDRAM_DEBUG #ifdef SDRAM_DEBUG
@ -380,8 +380,8 @@ int init_sdram (void)
#endif #endif
/* write SDRAM timing register */ /* write SDRAM timing register */
mtdcr (memcfga, mem_sdtr1); mtdcr (SDRAM0_CFGADDR, mem_sdtr1);
mtdcr (memcfgd, sdram_tim); mtdcr (SDRAM0_CFGDATA, sdram_tim);
#ifdef SDRAM_DEBUG #ifdef SDRAM_DEBUG
serial_puts ("mb0cf: "); serial_puts ("mb0cf: ");
@ -390,23 +390,23 @@ int init_sdram (void)
#endif #endif
/* write SDRAM bank 0 register */ /* write SDRAM bank 0 register */
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
mtdcr (memcfgd, sdram_bank); mtdcr (SDRAM0_CFGDATA, sdram_bank);
if (get_bus_freq (tmp) > 110000000) { /* > 110MHz */ if (get_bus_freq (tmp) > 110000000) { /* > 110MHz */
/* get SDRAM refresh interval register */ /* get SDRAM refresh interval register */
mtdcr (memcfga, mem_rtr); mtdcr (SDRAM0_CFGADDR, mem_rtr);
tmp = mfdcr (memcfgd) & ~0x3FF80000; tmp = mfdcr (SDRAM0_CFGDATA) & ~0x3FF80000;
tmp |= 0x07F00000; tmp |= 0x07F00000;
} else { } else {
/* get SDRAM refresh interval register */ /* get SDRAM refresh interval register */
mtdcr (memcfga, mem_rtr); mtdcr (SDRAM0_CFGADDR, mem_rtr);
tmp = mfdcr (memcfgd) & ~0x3FF80000; tmp = mfdcr (SDRAM0_CFGDATA) & ~0x3FF80000;
tmp |= 0x05F00000; tmp |= 0x05F00000;
} }
/* write SDRAM refresh interval register */ /* write SDRAM refresh interval register */
mtdcr (memcfga, mem_rtr); mtdcr (SDRAM0_CFGADDR, mem_rtr);
mtdcr (memcfgd, tmp); mtdcr (SDRAM0_CFGDATA, tmp);
/* enable ECC if used */ /* enable ECC if used */
#if defined(ENABLE_ECC) && !defined(CONFIG_BOOT_PCI) #if defined(ENABLE_ECC) && !defined(CONFIG_BOOT_PCI)
if (sdram_table[i].ecc) { if (sdram_table[i].ecc) {
@ -415,19 +415,19 @@ int init_sdram (void)
#ifdef SDRAM_DEBUG #ifdef SDRAM_DEBUG
serial_puts ("disable ECC.. "); serial_puts ("disable ECC.. ");
#endif #endif
mtdcr (memcfga, mem_ecccf); mtdcr (SDRAM0_CFGADDR, mem_ecccf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
tmp &= 0xff0fffff; /* disable all banks */ tmp &= 0xff0fffff; /* disable all banks */
mtdcr (memcfga, mem_ecccf); mtdcr (SDRAM0_CFGADDR, mem_ecccf);
/* set up SDRAM Controller with ECC enabled */ /* set up SDRAM Controller with ECC enabled */
#ifdef SDRAM_DEBUG #ifdef SDRAM_DEBUG
serial_puts ("setup SDRAM Controller.. "); serial_puts ("setup SDRAM Controller.. ");
#endif #endif
mtdcr (memcfgd, tmp); mtdcr (SDRAM0_CFGDATA, tmp);
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
tmp = (mfdcr (memcfgd) & ~0xFFE00000) | 0x90800000; tmp = (mfdcr (SDRAM0_CFGDATA) & ~0xFFE00000) | 0x90800000;
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
mtdcr (memcfgd, tmp); mtdcr (SDRAM0_CFGDATA, tmp);
udelay (600); udelay (600);
#ifdef SDRAM_DEBUG #ifdef SDRAM_DEBUG
serial_puts ("fill the memory..\n"); serial_puts ("fill the memory..\n");
@ -447,19 +447,19 @@ int init_sdram (void)
serial_puts ("enable ECC\n"); serial_puts ("enable ECC\n");
#endif #endif
udelay (400); udelay (400);
mtdcr (memcfga, mem_ecccf); mtdcr (SDRAM0_CFGADDR, mem_ecccf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
tmp |= 0x00800000; /* enable bank 0 */ tmp |= 0x00800000; /* enable bank 0 */
mtdcr (memcfgd, tmp); mtdcr (SDRAM0_CFGDATA, tmp);
udelay (400); udelay (400);
} else } else
#endif #endif
{ {
/* enable SDRAM controller with no ECC, 32-bit SDRAM width, 16 byte burst */ /* enable SDRAM controller with no ECC, 32-bit SDRAM width, 16 byte burst */
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
tmp = (mfdcr (memcfgd) & ~0xFFE00000) | 0x80C00000; tmp = (mfdcr (SDRAM0_CFGDATA) & ~0xFFE00000) | 0x80C00000;
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
mtdcr (memcfgd, tmp); mtdcr (SDRAM0_CFGDATA, tmp);
udelay (400); udelay (400);
} }
serial_puts ("\n"); serial_puts ("\n");
@ -631,14 +631,14 @@ phys_size_t initdram (int board_type)
ds = 0; ds = 0;
/* since the DRAM controller is allready set up, calculate the size with the /* since the DRAM controller is allready set up, calculate the size with the
bank registers */ bank registers */
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
bank_reg[0] = mfdcr (memcfgd); bank_reg[0] = mfdcr (SDRAM0_CFGDATA);
mtdcr (memcfga, mem_mb1cf); mtdcr (SDRAM0_CFGADDR, mem_mb1cf);
bank_reg[1] = mfdcr (memcfgd); bank_reg[1] = mfdcr (SDRAM0_CFGDATA);
mtdcr (memcfga, mem_mb2cf); mtdcr (SDRAM0_CFGADDR, mem_mb2cf);
bank_reg[2] = mfdcr (memcfgd); bank_reg[2] = mfdcr (SDRAM0_CFGDATA);
mtdcr (memcfga, mem_mb3cf); mtdcr (SDRAM0_CFGADDR, mem_mb3cf);
bank_reg[3] = mfdcr (memcfgd); bank_reg[3] = mfdcr (SDRAM0_CFGDATA);
TotalSize = 0; TotalSize = 0;
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
if ((bank_reg[i] & 0x1) == 0x1) { if ((bank_reg[i] & 0x1) == 0x1) {
@ -648,8 +648,8 @@ phys_size_t initdram (int board_type)
} else } else
ds = 1; ds = 1;
} }
mtdcr (memcfga, mem_ecccf); mtdcr (SDRAM0_CFGADDR, mem_ecccf);
tmp = mfdcr (memcfgd); tmp = mfdcr (SDRAM0_CFGDATA);
if (!tmp) if (!tmp)
printf ("No "); printf ("No ");
@ -687,7 +687,7 @@ int misc_init_r (void)
rtc_get (&tm); rtc_get (&tm);
start=get_timer(0); start=get_timer(0);
/* if MIP405 has booted from PCI, reset CCR0[24] as described in errata PCI_18 */ /* if MIP405 has booted from PCI, reset CCR0[24] as described in errata PCI_18 */
if (mfdcr(strap) & PSR_ROM_LOC) if (mfdcr(CPC0_PSR) & PSR_ROM_LOC)
mtspr(SPRN_CCR0, (mfspr(SPRN_CCR0) & ~0x80)); mtspr(SPRN_CCR0, (mfspr(SPRN_CCR0) & ~0x80));
return (0); return (0);

View File

@ -54,7 +54,7 @@
.globl ext_bus_cntlr_init .globl ext_bus_cntlr_init
ext_bus_cntlr_init: ext_bus_cntlr_init:
mflr r4 /* save link register */ mflr r4 /* save link register */
mfdcr r3,strap /* get strapping reg */ mfdcr r3,CPC0_PSR /* get strapping reg */
andi. r0, r3, PSR_ROM_LOC /* mask out irrelevant bits */ andi. r0, r3, PSR_ROM_LOC /* mask out irrelevant bits */
bnelr /* jump back if PCI boot */ bnelr /* jump back if PCI boot */
@ -83,9 +83,9 @@
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* decide boot up mode * decide boot up mode
*----------------------------------------------------------------------- */ *----------------------------------------------------------------------- */
addi r4,0,pb0cr addi r4,0,PB0CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
mfdcr r4,ebccfgd mfdcr r4,EBC0_CFGDATA
andi. r0, r4, 0x2000 /* mask out irrelevant bits */ andi. r0, r4, 0x2000 /* mask out irrelevant bits */
beq 0f /* jump if 8 bit bus width */ beq 0f /* jump if 8 bit bus width */
@ -95,18 +95,18 @@
* Memory Bank 0 (16 Bit Flash) initialization * Memory Bank 0 (16 Bit Flash) initialization
*---------------------------------------------------------------------- */ *---------------------------------------------------------------------- */
addi r4,0,pb0ap addi r4,0,PB1AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,(FLASH_AP_B)@h addis r4,0,(FLASH_AP_B)@h
ori r4,r4,(FLASH_AP_B)@l ori r4,r4,(FLASH_AP_B)@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb0cr addi r4,0,PB0CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
/* BS=0x010(4MB),BU=0x3(R/W), */ /* BS=0x010(4MB),BU=0x3(R/W), */
addis r4,0,(FLASH_CR_B)@h addis r4,0,(FLASH_CR_B)@h
ori r4,r4,(FLASH_CR_B)@l ori r4,r4,(FLASH_CR_B)@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
b 1f b 1f
0: 0:
@ -115,65 +115,65 @@
* Memory Bank 0 Multi Purpose Socket initialization * Memory Bank 0 Multi Purpose Socket initialization
*----------------------------------------------------------------------- */ *----------------------------------------------------------------------- */
/* 0x7F8FFE80 slowest boot */ /* 0x7F8FFE80 slowest boot */
addi r4,0,pb0ap addi r4,0,PB1AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,(MPS_AP_B)@h addis r4,0,(MPS_AP_B)@h
ori r4,r4,(MPS_AP_B)@l ori r4,r4,(MPS_AP_B)@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb0cr addi r4,0,PB0CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
/* BS=0x010(4MB),BU=0x3(R/W), */ /* BS=0x010(4MB),BU=0x3(R/W), */
addis r4,0,(MPS_CR_B)@h addis r4,0,(MPS_CR_B)@h
ori r4,r4,(MPS_CR_B)@l ori r4,r4,(MPS_CR_B)@l
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
1: 1:
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* Memory Bank 2-3-4-5-6 (not used) initialization * Memory Bank 2-3-4-5-6 (not used) initialization
*-----------------------------------------------------------------------*/ *-----------------------------------------------------------------------*/
addi r4,0,pb1cr addi r4,0,PB1CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb2cr addi r4,0,PB2CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb3cr addi r4,0,PB3CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb4cr addi r4,0,PB4CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb5cr addi r4,0,PB5CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb6cr addi r4,0,PB6CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
addi r4,0,pb7cr addi r4,0,PB7CR
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
addis r4,0,0x0000 addis r4,0,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
nop /* pass2 DCR errata #8 */ nop /* pass2 DCR errata #8 */
blr blr

View File

@ -193,10 +193,10 @@ int board_early_init_f (void)
unsigned char cal_index, cal_val, spd_version, spd_chksum; unsigned char cal_index, cal_val, spd_version, spd_chksum;
unsigned char buf[8]; unsigned char buf[8];
/* set up the config port */ /* set up the config port */
mtdcr (ebccfga, pb7ap); mtdcr (EBC0_CFGADDR, PB7AP);
mtdcr (ebccfgd, CONFIG_PORT_AP); mtdcr (EBC0_CFGDATA, CONFIG_PORT_AP);
mtdcr (ebccfga, pb7cr); mtdcr (EBC0_CFGADDR, PB7CR);
mtdcr (ebccfgd, CONFIG_PORT_CR); mtdcr (EBC0_CFGDATA, CONFIG_PORT_CR);
memclk = get_bus_freq (tmemclk); memclk = get_bus_freq (tmemclk);
tmemclk = 1000000000 / (memclk / 100); /* in 10 ps units */ tmemclk = 1000000000 / (memclk / 100); /* in 10 ps units */
@ -361,8 +361,8 @@ int board_early_init_f (void)
SDRAM_err ("unsupported SDRAM"); SDRAM_err ("unsupported SDRAM");
/* get SDRAM timing register */ /* get SDRAM timing register */
mtdcr (memcfga, mem_sdtr1); mtdcr (SDRAM0_CFGADDR, mem_sdtr1);
tmp = mfdcr (memcfgd) & ~0x018FC01F; tmp = mfdcr (SDRAM0_CFGDATA) & ~0x018FC01F;
/* insert CASL value */ /* insert CASL value */
/* tmp |= ((unsigned long)cal_val) << 23; */ /* tmp |= ((unsigned long)cal_val) << 23; */
tmp |= ((unsigned long) cal_val) << 23; tmp |= ((unsigned long) cal_val) << 23;
@ -385,8 +385,8 @@ int board_early_init_f (void)
#endif #endif
/* write SDRAM timing register */ /* write SDRAM timing register */
mtdcr (memcfga, mem_sdtr1); mtdcr (SDRAM0_CFGADDR, mem_sdtr1);
mtdcr (memcfgd, tmp); mtdcr (SDRAM0_CFGDATA, tmp);
baseaddr = CONFIG_SYS_SDRAM_BASE; baseaddr = CONFIG_SYS_SDRAM_BASE;
bank_size = (((unsigned long) density) << 22) / 2; bank_size = (((unsigned long) density) << 22) / 2;
/* insert AM value */ /* insert AM value */
@ -418,8 +418,8 @@ int board_early_init_f (void)
SDRAM_err ("unsupported SDRAM"); SDRAM_err ("unsupported SDRAM");
} /* endswitch */ } /* endswitch */
/* get SDRAM bank 0 register */ /* get SDRAM bank 0 register */
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
bank = mfdcr (memcfgd) & ~0xFFCEE001; bank = mfdcr (SDRAM0_CFGDATA) & ~0xFFCEE001;
bank |= (baseaddr | tmp | 0x01); bank |= (baseaddr | tmp | 0x01);
#ifdef SDRAM_DEBUG #ifdef SDRAM_DEBUG
serial_puts ("bank0: baseaddr: "); serial_puts ("bank0: baseaddr: ");
@ -434,12 +434,12 @@ int board_early_init_f (void)
sdram_size += bank_size; sdram_size += bank_size;
/* write SDRAM bank 0 register */ /* write SDRAM bank 0 register */
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
mtdcr (memcfgd, bank); mtdcr (SDRAM0_CFGDATA, bank);
/* get SDRAM bank 1 register */ /* get SDRAM bank 1 register */
mtdcr (memcfga, mem_mb1cf); mtdcr (SDRAM0_CFGADDR, mem_mb1cf);
bank = mfdcr (memcfgd) & ~0xFFCEE001; bank = mfdcr (SDRAM0_CFGDATA) & ~0xFFCEE001;
sdram_size = 0; sdram_size = 0;
#ifdef SDRAM_DEBUG #ifdef SDRAM_DEBUG
@ -459,12 +459,12 @@ int board_early_init_f (void)
serial_puts ("\n"); serial_puts ("\n");
#endif #endif
/* write SDRAM bank 1 register */ /* write SDRAM bank 1 register */
mtdcr (memcfga, mem_mb1cf); mtdcr (SDRAM0_CFGADDR, mem_mb1cf);
mtdcr (memcfgd, bank); mtdcr (SDRAM0_CFGDATA, bank);
/* get SDRAM bank 2 register */ /* get SDRAM bank 2 register */
mtdcr (memcfga, mem_mb2cf); mtdcr (SDRAM0_CFGADDR, mem_mb2cf);
bank = mfdcr (memcfgd) & ~0xFFCEE001; bank = mfdcr (SDRAM0_CFGDATA) & ~0xFFCEE001;
bank |= (baseaddr | tmp | 0x01); bank |= (baseaddr | tmp | 0x01);
@ -482,12 +482,12 @@ int board_early_init_f (void)
sdram_size += bank_size; sdram_size += bank_size;
/* write SDRAM bank 2 register */ /* write SDRAM bank 2 register */
mtdcr (memcfga, mem_mb2cf); mtdcr (SDRAM0_CFGADDR, mem_mb2cf);
mtdcr (memcfgd, bank); mtdcr (SDRAM0_CFGDATA, bank);
/* get SDRAM bank 3 register */ /* get SDRAM bank 3 register */
mtdcr (memcfga, mem_mb3cf); mtdcr (SDRAM0_CFGADDR, mem_mb3cf);
bank = mfdcr (memcfgd) & ~0xFFCEE001; bank = mfdcr (SDRAM0_CFGDATA) & ~0xFFCEE001;
#ifdef SDRAM_DEBUG #ifdef SDRAM_DEBUG
serial_puts ("bank3: baseaddr: "); serial_puts ("bank3: baseaddr: ");
@ -509,13 +509,13 @@ int board_early_init_f (void)
#endif #endif
/* write SDRAM bank 3 register */ /* write SDRAM bank 3 register */
mtdcr (memcfga, mem_mb3cf); mtdcr (SDRAM0_CFGADDR, mem_mb3cf);
mtdcr (memcfgd, bank); mtdcr (SDRAM0_CFGDATA, bank);
/* get SDRAM refresh interval register */ /* get SDRAM refresh interval register */
mtdcr (memcfga, mem_rtr); mtdcr (SDRAM0_CFGADDR, mem_rtr);
tmp = mfdcr (memcfgd) & ~0x3FF80000; tmp = mfdcr (SDRAM0_CFGDATA) & ~0x3FF80000;
if (tmemclk < NSto10PS (16)) if (tmemclk < NSto10PS (16))
tmp |= 0x05F00000; tmp |= 0x05F00000;
@ -523,14 +523,14 @@ int board_early_init_f (void)
tmp |= 0x03F80000; tmp |= 0x03F80000;
/* write SDRAM refresh interval register */ /* write SDRAM refresh interval register */
mtdcr (memcfga, mem_rtr); mtdcr (SDRAM0_CFGADDR, mem_rtr);
mtdcr (memcfgd, tmp); mtdcr (SDRAM0_CFGDATA, tmp);
/* enable SDRAM controller with no ECC, 32-bit SDRAM width, 16 byte burst */ /* enable SDRAM controller with no ECC, 32-bit SDRAM width, 16 byte burst */
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
tmp = (mfdcr (memcfgd) & ~0xFFE00000) | 0x80E00000; tmp = (mfdcr (SDRAM0_CFGDATA) & ~0xFFE00000) | 0x80E00000;
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
mtdcr (memcfgd, tmp); mtdcr (SDRAM0_CFGDATA, tmp);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
@ -619,14 +619,14 @@ phys_size_t initdram (int board_type)
/* since the DRAM controller is allready set up, /* since the DRAM controller is allready set up,
* calculate the size with the bank registers * calculate the size with the bank registers
*/ */
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
bank_reg[0] = mfdcr (memcfgd); bank_reg[0] = mfdcr (SDRAM0_CFGDATA);
mtdcr (memcfga, mem_mb1cf); mtdcr (SDRAM0_CFGADDR, mem_mb1cf);
bank_reg[1] = mfdcr (memcfgd); bank_reg[1] = mfdcr (SDRAM0_CFGDATA);
mtdcr (memcfga, mem_mb2cf); mtdcr (SDRAM0_CFGADDR, mem_mb2cf);
bank_reg[2] = mfdcr (memcfgd); bank_reg[2] = mfdcr (SDRAM0_CFGDATA);
mtdcr (memcfga, mem_mb3cf); mtdcr (SDRAM0_CFGADDR, mem_mb3cf);
bank_reg[3] = mfdcr (memcfgd); bank_reg[3] = mfdcr (SDRAM0_CFGDATA);
TotalSize = 0; TotalSize = 0;
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
if ((bank_reg[i] & 0x1) == 0x1) { if ((bank_reg[i] & 0x1) == 0x1) {
@ -668,7 +668,7 @@ int misc_init_r (void)
gd->bd->bi_flashoffset=0; gd->bd->bi_flashoffset=0;
/* if PIP405 has booted from PCI, reset CCR0[24] as described in errata PCI_18 */ /* if PIP405 has booted from PCI, reset CCR0[24] as described in errata PCI_18 */
if (mfdcr(strap) & PSR_ROM_LOC) if (mfdcr(CPC0_PSR) & PSR_ROM_LOC)
mtspr(SPRN_CCR0, (mfspr(SPRN_CCR0) & ~0x80)); mtspr(SPRN_CCR0, (mfspr(SPRN_CCR0) & ~0x80));
return (0); return (0);

View File

@ -92,7 +92,7 @@ int checkboard (void)
u16 index = boardVersReg & 0x0f; u16 index = boardVersReg & 0x0f;
/* Cannot be done in board_early_init */ /* Cannot be done in board_early_init */
mtdcr(cntrl0, CPC0_CR0_VALUE); mtdcr(CPC0_CR0, CPC0_CR0_VALUE);
/* Force /RTS to active. The board it not wired quite /* Force /RTS to active. The board it not wired quite
* correctly to use cts/rtc flow control, so just force the * correctly to use cts/rtc flow control, so just force the

View File

@ -94,8 +94,8 @@ int board_early_init_f(void)
} }
mtsdr(SDR0_CP440, 0x0EAAEA02); /* [Nto1] = 1*/ mtsdr(SDR0_CP440, 0x0EAAEA02); /* [Nto1] = 1*/
#endif #endif
mtdcr(ebccfga, xbcfg); mtdcr(EBC0_CFGADDR, EBC0_CFG);
mtdcr(ebccfgd, 0xb8400000); mtdcr(EBC0_CFGDATA, 0xb8400000);
/* /*
* Setup the GPIO pins * Setup the GPIO pins
@ -152,8 +152,8 @@ int board_early_init_f(void)
mtdcr(uic2tr, 0x00000000); /* per ref-board manual */ mtdcr(uic2tr, 0x00000000); /* per ref-board manual */
mtdcr(uic2vr, 0x00000000); /* int31 highest, base=0x000 */ mtdcr(uic2vr, 0x00000000); /* int31 highest, base=0x000 */
mtdcr(uic2sr, 0xffffffff); /* clear all */ mtdcr(uic2sr, 0xffffffff); /* clear all */
mtsdr(sdr_pfc0, 0x00003E00); /* Pin function: */ mtsdr(SDR0_PFC0, 0x00003E00); /* Pin function: */
mtsdr(sdr_pfc1, 0x00848000); /* Pin function: UART0 has 4 pins */ mtsdr(SDR0_PFC1, 0x00848000); /* Pin function: UART0 has 4 pins */
/* setup BOOT FLASH */ /* setup BOOT FLASH */
mtsdr(SDR0_CUST0, 0xC0082350); mtsdr(SDR0_CUST0, 0xC0082350);
@ -324,7 +324,7 @@ int board_with_pci(void)
{ {
u32 reg; u32 reg;
mfsdr(sdr_pci0, reg); mfsdr(SDR0_PCI0, reg);
return (reg & SDR0_XCR_PAE_MASK); return (reg & SDR0_XCR_PAE_MASK);
} }
@ -350,28 +350,28 @@ int pci_pre_init(struct pci_controller *hose)
* Set priority for all PLB3 devices to 0. * Set priority for all PLB3 devices to 0.
* Set PLB3 arbiter to fair mode. * Set PLB3 arbiter to fair mode.
*/ */
mfsdr(sdr_amp1, addr); mfsdr(SD0_AMP1, addr);
mtsdr(sdr_amp1, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP1, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb3_acr); addr = mfdcr(PLB3_ACR);
mtdcr(plb3_acr, addr | 0x80000000); /* Sequoia */ mtdcr(PLB3_ACR, addr | 0x80000000); /* Sequoia */
/* /*
* Set priority for all PLB4 devices to 0. * Set priority for all PLB4 devices to 0.
*/ */
mfsdr(sdr_amp0, addr); mfsdr(SD0_AMP0, addr);
mtsdr(sdr_amp0, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP0, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb4_acr) | 0xa0000000; /* Was 0x8---- */ addr = mfdcr(PLB4_ACR) | 0xa0000000; /* Was 0x8---- */
mtdcr(plb4_acr, addr); /* Sequoia */ mtdcr(PLB4_ACR, addr); /* Sequoia */
/* /*
* As of errata version 0.4, CHIP_8: Incorrect Write to DDR SDRAM. * As of errata version 0.4, CHIP_8: Incorrect Write to DDR SDRAM.
* Workaround: Disable write pipelining to DDR SDRAM by setting * Workaround: Disable write pipelining to DDR SDRAM by setting
* PLB0_ACR[WRP] = 0. * PLB0_ACR[WRP] = 0.
*/ */
mtdcr(plb0_acr, 0); /* PATCH HAB: WRITE PIPELINING OFF */ mtdcr(PLB0_ACR, 0); /* PATCH HAB: WRITE PIPELINING OFF */
/* Segment1 */ /* Segment1 */
mtdcr(plb1_acr, 0); /* PATCH HAB: WRITE PIPELINING OFF */ mtdcr(PLB1_ACR, 0); /* PATCH HAB: WRITE PIPELINING OFF */
return board_with_pci(); return board_with_pci();
} }

View File

@ -89,11 +89,11 @@ static int wait_for_dlllock(void)
/* -----------------------------------------------------------+ /* -----------------------------------------------------------+
* Wait for the DCC master delay line to finish calibration * Wait for the DCC master delay line to finish calibration
* ----------------------------------------------------------*/ * ----------------------------------------------------------*/
mtdcr(memcfga, DDR0_17); mtdcr(SDRAM0_CFGADDR, DDR0_17);
val = DDR0_17_DLLLOCKREG_UNLOCKED; val = DDR0_17_DLLLOCKREG_UNLOCKED;
while (wait != 0xffff) { while (wait != 0xffff) {
val = mfdcr(memcfgd); val = mfdcr(SDRAM0_CFGDATA);
if ((val & DDR0_17_DLLLOCKREG_MASK) == if ((val & DDR0_17_DLLLOCKREG_MASK) ==
DDR0_17_DLLLOCKREG_LOCKED) DDR0_17_DLLLOCKREG_LOCKED)
/* dlllockreg bit on */ /* dlllockreg bit on */

View File

@ -71,8 +71,8 @@ int board_early_init_f (void)
mtdcr(uictr, 0x00000000); /* set int trigger levels */ mtdcr(uictr, 0x00000000); /* set int trigger levels */
mtdcr(uicsr, 0xFFFFFFFF); /* clear all ints */ mtdcr(uicsr, 0xFFFFFFFF); /* clear all ints */
mtdcr(cntrl1, CPC0_CR1_VALUE); mtdcr(CPC0_CR1, CPC0_CR1_VALUE);
mtdcr(ecr, 0x60606000); mtdcr(CPC0_ECR, 0x60606000);
mtdcr(CPC0_EIRR, 0x7C000000); mtdcr(CPC0_EIRR, 0x7C000000);
out32(GPIO0_OR, CONFIG_SYS_GPIO0_OR ); out32(GPIO0_OR, CONFIG_SYS_GPIO0_OR );
out32(GPIO0_TCR, CONFIG_SYS_GPIO0_TCR); out32(GPIO0_TCR, CONFIG_SYS_GPIO0_TCR);
@ -103,7 +103,7 @@ int checkboard (void)
u16 index = boardVersReg & 0xf0; u16 index = boardVersReg & 0xf0;
/* Cannot be done in board_early_init */ /* Cannot be done in board_early_init */
mtdcr(cntrl0, CPC0_CR0_VALUE); mtdcr(CPC0_CR0, CPC0_CR0_VALUE);
/* Force /RTS to active. The board it not wired quite /* Force /RTS to active. The board it not wired quite
* correctly to use cts/rtc flow control, so just force the * correctly to use cts/rtc flow control, so just force the

View File

@ -143,9 +143,9 @@ int board_early_init_f(void)
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
* Setup the external bus controller/chip selects * Setup the external bus controller/chip selects
*-------------------------------------------------------------------*/ *-------------------------------------------------------------------*/
mtdcr(ebccfga, xbcfg); mtdcr(EBC0_CFGADDR, EBC0_CFG);
reg = mfdcr(ebccfgd); reg = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfgd, reg | 0x04000000); /* Set ATC */ mtdcr(EBC0_CFGDATA, reg | 0x04000000); /* Set ATC */
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
* GPIO's are alreay setup in cpu/ppc4xx/cpu_init.c * GPIO's are alreay setup in cpu/ppc4xx/cpu_init.c
@ -174,10 +174,10 @@ int board_early_init_f(void)
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
* Setup other serial configuration * Setup other serial configuration
*-------------------------------------------------------------------*/ *-------------------------------------------------------------------*/
mfsdr(sdr_pci0, reg); mfsdr(SDR0_PCI0, reg);
mtsdr(sdr_pci0, 0x80000000 | reg); /* PCI arbiter enabled */ mtsdr(SDR0_PCI0, 0x80000000 | reg); /* PCI arbiter enabled */
mtsdr(sdr_pfc0, 0x00000000); /* Pin function: enable GPIO49-63 */ mtsdr(SDR0_PFC0, 0x00000000); /* Pin function: enable GPIO49-63 */
mtsdr(sdr_pfc1, 0x00048000); /* Pin function: UART0 has 4 pins, select IRQ5 */ mtsdr(SDR0_PFC1, 0x00048000); /* Pin function: UART0 has 4 pins, select IRQ5 */
return 0; return 0;
} }
@ -444,8 +444,8 @@ int misc_init_r (void)
load_ethaddr(); load_ethaddr();
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
switch (gd->bd->bi_flashsize) { switch (gd->bd->bi_flashsize) {
case 1 << 20: case 1 << 20:
size_val = 0; size_val = 0;
@ -473,8 +473,8 @@ int misc_init_r (void)
break; break;
} }
pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17); pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
/* adjust flash start and offset */ /* adjust flash start and offset */
gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize; gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize;
@ -571,35 +571,35 @@ int pci_pre_init(struct pci_controller *hose)
| Set priority for all PLB3 devices to 0. | Set priority for all PLB3 devices to 0.
| Set PLB3 arbiter to fair mode. | Set PLB3 arbiter to fair mode.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mfsdr(sdr_amp1, addr); mfsdr(SD0_AMP1, addr);
mtsdr(sdr_amp1, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP1, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb3_acr); addr = mfdcr(PLB3_ACR);
mtdcr(plb3_acr, addr | 0x80000000); mtdcr(PLB3_ACR, addr | 0x80000000);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| Set priority for all PLB4 devices to 0. | Set priority for all PLB4 devices to 0.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
mfsdr(sdr_amp0, addr); mfsdr(SD0_AMP0, addr);
mtsdr(sdr_amp0, (addr & 0x000000FF) | 0x0000FF00); mtsdr(SD0_AMP0, (addr & 0x000000FF) | 0x0000FF00);
addr = mfdcr(plb4_acr) | 0xa0000000; /* Was 0x8---- */ addr = mfdcr(PLB4_ACR) | 0xa0000000; /* Was 0x8---- */
mtdcr(plb4_acr, addr); mtdcr(PLB4_ACR, addr);
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
| Set Nebula PLB4 arbiter to fair mode. | Set Nebula PLB4 arbiter to fair mode.
+-------------------------------------------------------------------------*/ +-------------------------------------------------------------------------*/
/* Segment0 */ /* Segment0 */
addr = (mfdcr(plb0_acr) & ~plb0_acr_ppm_mask) | plb0_acr_ppm_fair; addr = (mfdcr(PLB0_ACR) & ~PLB0_ACR_PPM_MASK) | PLB0_ACR_PPM_FAIR;
addr = (addr & ~plb0_acr_hbu_mask) | plb0_acr_hbu_enabled; addr = (addr & ~PLB0_ACR_HBU_MASK) | PLB0_ACR_HBU_ENABLED;
addr = (addr & ~plb0_acr_rdp_mask) | plb0_acr_rdp_4deep; addr = (addr & ~PLB0_ACR_RDP_MASK) | PLB0_ACR_RDP_4DEEP;
addr = (addr & ~plb0_acr_wrp_mask) | plb0_acr_wrp_2deep; addr = (addr & ~PLB0_ACR_WRP_MASK) | PLB0_ACR_WRP_2DEEP;
mtdcr(plb0_acr, addr); mtdcr(PLB0_ACR, addr);
/* Segment1 */ /* Segment1 */
addr = (mfdcr(plb1_acr) & ~plb1_acr_ppm_mask) | plb1_acr_ppm_fair; addr = (mfdcr(PLB1_ACR) & ~PLB1_ACR_PPM_MASK) | PLB1_ACR_PPM_FAIR;
addr = (addr & ~plb1_acr_hbu_mask) | plb1_acr_hbu_enabled; addr = (addr & ~PLB1_ACR_HBU_MASK) | PLB1_ACR_HBU_ENABLED;
addr = (addr & ~plb1_acr_rdp_mask) | plb1_acr_rdp_4deep; addr = (addr & ~PLB1_ACR_RDP_MASK) | PLB1_ACR_RDP_4DEEP;
addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep; addr = (addr & ~PLB1_ACR_WRP_MASK) | PLB1_ACR_WRP_2DEEP;
mtdcr(plb1_acr, addr); mtdcr(PLB1_ACR, addr);
return 1; return 1;
} }

View File

@ -39,7 +39,7 @@ int board_early_init_f (void)
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* Initialize EBC CONFIG * Initialize EBC CONFIG
*-------------------------------------------------------------------------*/ *-------------------------------------------------------------------------*/
mtebc(xbcfg, EBC_CFG_LE_UNLOCK | mtebc(EBC0_CFG, EBC_CFG_LE_UNLOCK |
EBC_CFG_PTD_DISABLE | EBC_CFG_RTC_64PERCLK | EBC_CFG_PTD_DISABLE | EBC_CFG_RTC_64PERCLK |
EBC_CFG_ATC_PREVIOUS | EBC_CFG_DTC_PREVIOUS | EBC_CFG_ATC_PREVIOUS | EBC_CFG_DTC_PREVIOUS |
EBC_CFG_CTC_PREVIOUS | EBC_CFG_EMC_NONDEFAULT | EBC_CFG_CTC_PREVIOUS | EBC_CFG_EMC_NONDEFAULT |
@ -96,7 +96,7 @@ int board_early_init_f (void)
out32(GPIO0_ODR, in32(GPIO0_ODR) & ~(CONFIG_SYS_GPIO_SHUTDOWN | CONFIG_SYS_GPIO_SSD_EMPTY)); out32(GPIO0_ODR, in32(GPIO0_ODR) & ~(CONFIG_SYS_GPIO_SHUTDOWN | CONFIG_SYS_GPIO_SSD_EMPTY));
/* Setup GPIO/IRQ multiplexing */ /* Setup GPIO/IRQ multiplexing */
mtsdr(sdr_pfc0, 0x01a33e00); mtsdr(SDR0_PFC0, 0x01a33e00);
return 0; return 0;
} }
@ -165,7 +165,7 @@ int pci_pre_init(struct pci_controller * hose )
* The ocotea board is always configured as the host & requires the * The ocotea board is always configured as the host & requires the
* PCI arbiter to be enabled. * PCI arbiter to be enabled.
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/
mfsdr(sdr_sdstp1, strap); mfsdr(SDR0_SDSTP1, strap);
if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ){ if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ){
printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap); printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap);
return 0; return 0;

View File

@ -85,14 +85,14 @@ int board_early_init_f(void)
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
* Setup the external bus controller/chip selects * Setup the external bus controller/chip selects
*-------------------------------------------------------------------*/ *-------------------------------------------------------------------*/
mtdcr(ebccfga, xbcfg); mtdcr(EBC0_CFGADDR, EBC0_CFG);
reg = mfdcr(ebccfgd); reg = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfgd, reg | 0x04000000); /* Set ATC */ mtdcr(EBC0_CFGDATA, reg | 0x04000000); /* Set ATC */
/*-------------------------------------------------------------------- /*--------------------------------------------------------------------
* Setup pin multiplexing (GPIO/IRQ...) * Setup pin multiplexing (GPIO/IRQ...)
*-------------------------------------------------------------------*/ *-------------------------------------------------------------------*/
mtdcr(cpc0_gpio, 0x03F01F80); mtdcr(CPC0_GPIO, 0x03F01F80);
out32(GPIO0_ODR, 0x00000000); /* no open drain pins */ out32(GPIO0_ODR, 0x00000000); /* no open drain pins */
out32(GPIO0_TCR, CONFIG_SYS_GPIO_RDY | CONFIG_SYS_EREADY_IO | CONFIG_SYS_LED_RED | CONFIG_SYS_LED_GREEN); out32(GPIO0_TCR, CONFIG_SYS_GPIO_RDY | CONFIG_SYS_EREADY_IO | CONFIG_SYS_LED_RED | CONFIG_SYS_LED_GREEN);
@ -153,12 +153,12 @@ int misc_init_r (void)
* Check if only one FLASH bank is available * Check if only one FLASH bank is available
*/ */
if (gd->bd->bi_flashsize != CONFIG_SYS_MAX_FLASH_BANKS * (0 - CONFIG_SYS_FLASH0)) { if (gd->bd->bi_flashsize != CONFIG_SYS_MAX_FLASH_BANKS * (0 - CONFIG_SYS_FLASH0)) {
mtebc(pb1cr, 0); /* disable cs */ mtebc(PB1CR, 0); /* disable cs */
mtebc(pb1ap, 0); mtebc(PB1AP, 0);
mtebc(pb2cr, 0); /* disable cs */ mtebc(PB2CR, 0); /* disable cs */
mtebc(pb2ap, 0); mtebc(PB2AP, 0);
mtebc(pb3cr, 0); /* disable cs */ mtebc(PB3CR, 0); /* disable cs */
mtebc(pb3ap, 0); mtebc(PB3AP, 0);
} }
return 0; return 0;
@ -185,7 +185,7 @@ int pci_pre_init(struct pci_controller *hose)
* The P3P440 board is always configured as the host & requires the * The P3P440 board is always configured as the host & requires the
* PCI arbiter to be disabled because it's an PMC module. * PCI arbiter to be disabled because it's an PMC module.
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/
strap = mfdcr(cpc0_strp1); strap = mfdcr(CPC0_STRP1);
if (strap & 0x00100000) { if (strap & 0x00100000) {
printf("PCI: CPC0_STRP1[PAE] set.\n"); printf("PCI: CPC0_STRP1[PAE] set.\n");
return 0; return 0;

View File

@ -322,7 +322,7 @@ int pci_pre_init(struct pci_controller * hose )
* The metrobox is always configured as the host & requires the * The metrobox is always configured as the host & requires the
* PCI arbiter to be enabled. * PCI arbiter to be enabled.
*--------------------------------------------------------------------------*/ *--------------------------------------------------------------------------*/
mfsdr(sdr_sdstp1, strap); mfsdr(SDR0_SDSTP1, strap);
if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ){ if( (strap & SDR0_SDSTP1_PAE_MASK) == 0 ){
printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap); printf("PCI: SDR0_STRP1[%08lX] - PCI Arbiter disabled.\n",strap);
return 0; return 0;

View File

@ -67,7 +67,7 @@ int board_early_init_f (void)
ppc440_gpio_regs_t *gpio_regs; ppc440_gpio_regs_t *gpio_regs;
/* Enable GPIO interrupts */ /* Enable GPIO interrupts */
mtsdr(sdr_pfc0, 0x00103E00); mtsdr(SDR0_PFC0, 0x00103E00);
/* Setup access for LEDs, and system topology info */ /* Setup access for LEDs, and system topology info */
gpio_regs = (ppc440_gpio_regs_t *)CONFIG_SYS_GPIO_BASE; gpio_regs = (ppc440_gpio_regs_t *)CONFIG_SYS_GPIO_BASE;
@ -80,7 +80,7 @@ int board_early_init_f (void)
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| Initialize EBC CONFIG | Initialize EBC CONFIG
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(xbcfg, mtebc(EBC0_CFG,
EBC_CFG_LE_UNLOCK | EBC_CFG_PTD_ENABLE | EBC_CFG_LE_UNLOCK | EBC_CFG_PTD_ENABLE |
EBC_CFG_RTC_64PERCLK | EBC_CFG_ATC_PREVIOUS | EBC_CFG_RTC_64PERCLK | EBC_CFG_ATC_PREVIOUS |
EBC_CFG_DTC_PREVIOUS | EBC_CFG_CTC_PREVIOUS | EBC_CFG_DTC_PREVIOUS | EBC_CFG_CTC_PREVIOUS |
@ -90,7 +90,7 @@ int board_early_init_f (void)
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| 1/2 MB FLASH. Initialize bank 0 with default values. | 1/2 MB FLASH. Initialize bank 0 with default values.
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb0ap, mtebc(PB0AP,
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(8) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(8) |
EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) |
EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) | EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) |
@ -98,12 +98,12 @@ int board_early_init_f (void)
EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY | EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY |
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb0cr, EBC_BXCR_BAS_ENCODE(CONFIG_SYS_FLASH_BASE) | mtebc(PB0CR, EBC_BXCR_BAS_ENCODE(CONFIG_SYS_FLASH_BASE) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_8BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_8BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| 8KB NVRAM/RTC. Initialize bank 1 with default values. | 8KB NVRAM/RTC. Initialize bank 1 with default values.
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb1ap, mtebc(PB1AP,
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(10) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(10) |
EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) |
EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) | EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) |
@ -111,13 +111,13 @@ int board_early_init_f (void)
EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY | EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY |
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb1cr, EBC_BXCR_BAS_ENCODE(0x48000000) | mtebc(PB1CR, EBC_BXCR_BAS_ENCODE(0x48000000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_8BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_8BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| Compact Flash, uses 2 Chip Selects (2 & 6) | Compact Flash, uses 2 Chip Selects (2 & 6)
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb2ap, mtebc(PB2AP,
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(8) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(8) |
EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) |
EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) | EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) |
@ -125,40 +125,40 @@ int board_early_init_f (void)
EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY | EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY |
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb2cr, EBC_BXCR_BAS_ENCODE(0xF0000000) | mtebc(PB2CR, EBC_BXCR_BAS_ENCODE(0xF0000000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_16BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_16BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| KaRef Scan FPGA. Initialize bank 3 with default values. | KaRef Scan FPGA. Initialize bank 3 with default values.
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb5ap, mtebc(PB5AP,
EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED | EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED |
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) |
EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) | EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) |
EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED |
EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW); EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW);
mtebc(pb5cr, EBC_BXCR_BAS_ENCODE(0x48200000) | mtebc(PB5CR, EBC_BXCR_BAS_ENCODE(0x48200000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| MAC A & B for Kamino. OFEM FPGA decodes the addresses | MAC A & B for Kamino. OFEM FPGA decodes the addresses
| Initialize bank 4 with default values. | Initialize bank 4 with default values.
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb4ap, mtebc(PB4AP,
EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED | EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED |
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) |
EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) | EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) |
EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED |
EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW); EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW);
mtebc(pb4cr, EBC_BXCR_BAS_ENCODE(0x48600000) | mtebc(PB4CR, EBC_BXCR_BAS_ENCODE(0x48600000) |
EBC_BXCR_BS_2MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT); EBC_BXCR_BS_2MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| OFEM FPGA Initialize bank 5 with default values. | OFEM FPGA Initialize bank 5 with default values.
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb3ap, mtebc(PB3AP,
EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED | EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED |
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) |
EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) | EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) |
@ -166,14 +166,14 @@ int board_early_init_f (void)
EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW); EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW);
mtebc(pb3cr, EBC_BXCR_BAS_ENCODE(0x48400000) | mtebc(PB3CR, EBC_BXCR_BAS_ENCODE(0x48400000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| Compact Flash, uses 2 Chip Selects (2 & 6) | Compact Flash, uses 2 Chip Selects (2 & 6)
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb6ap, mtebc(PB6AP,
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(8) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(8) |
EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) |
EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) | EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) |
@ -181,20 +181,20 @@ int board_early_init_f (void)
EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY | EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY |
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb6cr, EBC_BXCR_BAS_ENCODE(0xF0100000) | mtebc(PB6CR, EBC_BXCR_BAS_ENCODE(0xF0100000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_16BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_16BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| BME-32. Initialize bank 7 with default values. | BME-32. Initialize bank 7 with default values.
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb7ap, mtebc(PB7AP,
EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED | EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED |
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) |
EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) | EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) |
EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED |
EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW); EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW);
mtebc(pb7cr, EBC_BXCR_BAS_ENCODE(0x48500000) | mtebc(PB7CR, EBC_BXCR_BAS_ENCODE(0x48500000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+

View File

@ -57,7 +57,7 @@ int board_early_init_f (void)
ppc440_gpio_regs_t *gpio_regs; ppc440_gpio_regs_t *gpio_regs;
/* Enable GPIO interrupts */ /* Enable GPIO interrupts */
mtsdr(sdr_pfc0, 0x00103E00); mtsdr(SDR0_PFC0, 0x00103E00);
/* Setup access for LEDs, and system topology info */ /* Setup access for LEDs, and system topology info */
gpio_regs = (ppc440_gpio_regs_t *)CONFIG_SYS_GPIO_BASE; gpio_regs = (ppc440_gpio_regs_t *)CONFIG_SYS_GPIO_BASE;
@ -70,7 +70,7 @@ int board_early_init_f (void)
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| Initialize EBC CONFIG | Initialize EBC CONFIG
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(xbcfg, mtebc(EBC0_CFG,
EBC_CFG_LE_UNLOCK | EBC_CFG_PTD_ENABLE | EBC_CFG_LE_UNLOCK | EBC_CFG_PTD_ENABLE |
EBC_CFG_RTC_64PERCLK | EBC_CFG_ATC_PREVIOUS | EBC_CFG_RTC_64PERCLK | EBC_CFG_ATC_PREVIOUS |
EBC_CFG_DTC_PREVIOUS | EBC_CFG_CTC_PREVIOUS | EBC_CFG_DTC_PREVIOUS | EBC_CFG_CTC_PREVIOUS |
@ -80,7 +80,7 @@ int board_early_init_f (void)
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| 1/2 MB FLASH. Initialize bank 0 with default values. | 1/2 MB FLASH. Initialize bank 0 with default values.
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb0ap, mtebc(PB0AP,
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(8) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(8) |
EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) |
EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) | EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) |
@ -88,12 +88,12 @@ int board_early_init_f (void)
EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY | EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY |
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb0cr, EBC_BXCR_BAS_ENCODE(CONFIG_SYS_FLASH_BASE) | mtebc(PB0CR, EBC_BXCR_BAS_ENCODE(CONFIG_SYS_FLASH_BASE) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_8BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_8BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| 8KB NVRAM/RTC. Initialize bank 1 with default values. | 8KB NVRAM/RTC. Initialize bank 1 with default values.
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb1ap, mtebc(PB1AP,
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(10) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(10) |
EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) |
EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) | EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) |
@ -101,13 +101,13 @@ int board_early_init_f (void)
EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY | EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY |
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb1cr, EBC_BXCR_BAS_ENCODE(0x48000000) | mtebc(PB1CR, EBC_BXCR_BAS_ENCODE(0x48000000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_8BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_8BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| Compact Flash, uses 2 Chip Selects (2 & 6) | Compact Flash, uses 2 Chip Selects (2 & 6)
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb2ap, mtebc(PB2AP,
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(8) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(8) |
EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) |
EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) | EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) |
@ -115,20 +115,20 @@ int board_early_init_f (void)
EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY | EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY |
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb2cr, EBC_BXCR_BAS_ENCODE(0xF0000000) | mtebc(PB2CR, EBC_BXCR_BAS_ENCODE(0xF0000000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_16BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_16BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| OPTO & OFEM FPGA. Initialize bank 3 with default values. | OPTO & OFEM FPGA. Initialize bank 3 with default values.
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb3ap, mtebc(PB3AP,
EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED | EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED |
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) |
EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) | EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) |
EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED |
EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW); EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW);
mtebc(pb3cr, EBC_BXCR_BAS_ENCODE(0x48200000) | mtebc(PB3CR, EBC_BXCR_BAS_ENCODE(0x48200000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
@ -136,34 +136,34 @@ int board_early_init_f (void)
| MAC A & B for Kamino. OFEM FPGA decodes the addresses | MAC A & B for Kamino. OFEM FPGA decodes the addresses
| Initialize bank 4 with default values. | Initialize bank 4 with default values.
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb4ap, mtebc(PB4AP,
EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED | EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED |
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) |
EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) | EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) |
EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED |
EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW); EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW);
mtebc(pb4cr, EBC_BXCR_BAS_ENCODE(0x48600000) | mtebc(PB4CR, EBC_BXCR_BAS_ENCODE(0x48600000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| Metrobox MAC B Initialize bank 5 with default values. | Metrobox MAC B Initialize bank 5 with default values.
| KA REF FPGA Initialize bank 5 with default values. | KA REF FPGA Initialize bank 5 with default values.
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb5ap, mtebc(PB5AP,
EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED | EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED |
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) |
EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) | EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) |
EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED |
EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW); EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW);
mtebc(pb5cr, EBC_BXCR_BAS_ENCODE(0x48700000) | mtebc(PB5CR, EBC_BXCR_BAS_ENCODE(0x48700000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| Compact Flash, uses 2 Chip Selects (2 & 6) | Compact Flash, uses 2 Chip Selects (2 & 6)
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb6ap, mtebc(PB6AP,
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(8) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(8) |
EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_BCE_DISABLE | EBC_BXAP_CSN_ENCODE(1) |
EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) | EBC_BXAP_OEN_ENCODE(1)| EBC_BXAP_WBN_ENCODE(1) |
@ -171,20 +171,20 @@ int board_early_init_f (void)
EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY | EBC_BXAP_RE_DISABLED | EBC_BXAP_BEM_WRITEONLY |
EBC_BXAP_PEN_DISABLED); EBC_BXAP_PEN_DISABLED);
mtebc(pb6cr, EBC_BXCR_BAS_ENCODE(0xF0100000) | mtebc(PB6CR, EBC_BXCR_BAS_ENCODE(0xF0100000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_16BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_16BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+
| BME-32. Initialize bank 7 with default values. | BME-32. Initialize bank 7 with default values.
+-------------------------------------------------------------------*/ +-------------------------------------------------------------------*/
mtebc(pb7ap, mtebc(PB7AP,
EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED | EBC_BXAP_RE_ENABLED | EBC_BXAP_SOR_NONDELAYED |
EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) | EBC_BXAP_BME_DISABLED | EBC_BXAP_TWT_ENCODE(3) |
EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) | EBC_BXAP_TH_ENCODE(1) | EBC_BXAP_WBF_ENCODE(0) |
EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED | EBC_BXAP_CSN_ENCODE(1) | EBC_BXAP_PEN_DISABLED |
EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW); EBC_BXAP_OEN_ENCODE(1) | EBC_BXAP_BEM_RW);
mtebc(pb7cr, EBC_BXCR_BAS_ENCODE(0x48500000) | mtebc(PB7CR, EBC_BXCR_BAS_ENCODE(0x48500000) |
EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT); EBC_BXCR_BS_1MB | EBC_BXCR_BU_RW | EBC_BXCR_BW_32BIT);
/*--------------------------------------------------------------------+ /*--------------------------------------------------------------------+

View File

@ -52,7 +52,7 @@ int board_early_init_f (void)
/* /*
* EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us * EBC Configuration Register: set ready timeout to 512 ebc-clks -> ca. 15 us
*/ */
mtebc (epcr, 0xa8400000); mtebc (EBC0_CFG, 0xa8400000);
return 0; return 0;
} }

View File

@ -58,7 +58,7 @@ ext_bus_cntlr_init:
* We need the current boot up configuration to set correct * We need the current boot up configuration to set correct
* timings into internal flash and external flash * timings into internal flash and external flash
*/ */
mfdcr r24,strap /* xxxx xxxx xxxx xxx? ?xxx xxxx xxxx xxxx mfdcr r24,CPC0_PSR /* xxxx xxxx xxxx xxx? ?xxx xxxx xxxx xxxx
0 0 -> 8 bit external ROM 0 0 -> 8 bit external ROM
0 1 -> 16 bit internal ROM */ 0 1 -> 16 bit internal ROM */
addi r4,0,2 addi r4,0,2
@ -113,8 +113,8 @@ ext_bus_cntlr_init:
* We only have to change the timing. Mapping is ok by boot-strapping * We only have to change the timing. Mapping is ok by boot-strapping
*----------------------------------------------------------------------- */ *----------------------------------------------------------------------- */
li r4,pb0ap /* PB0AP=Peripheral Bank 0 Access Parameters */ li r4,PB1AP /* PB0AP=Peripheral Bank 0 Access Parameters */
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
mr r4,r26 /* assume internal fast flash is boot flash */ mr r4,r26 /* assume internal fast flash is boot flash */
cmpwi r24,0x2000 /* assumption true? ... */ cmpwi r24,0x2000 /* assumption true? ... */
@ -122,27 +122,27 @@ ext_bus_cntlr_init:
mr r4,r25 /* ...no, use the slow variant */ mr r4,r25 /* ...no, use the slow variant */
mr r25,r26 /* use this for the other flash */ mr r25,r26 /* use this for the other flash */
1: 1:
mtdcr ebccfgd,r4 /* change timing now */ mtdcr EBC0_CFGDATA,r4 /* change timing now */
li r4,pb0cr /* PB0CR=Peripheral Bank 0 Control Register */ li r4,PB0CR /* PB0CR=Peripheral Bank 0 Control Register */
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
mfdcr r4,ebccfgd mfdcr r4,EBC0_CFGDATA
lis r3,0x0001 lis r3,0x0001
ori r3,r3,0x8000 /* allow reads and writes */ ori r3,r3,0x8000 /* allow reads and writes */
or r4,r4,r3 or r4,r4,r3
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* Memory Bank 3 (Second-Flash) initialization * Memory Bank 3 (Second-Flash) initialization
* 0xF0000000...0xF01FFFFF -> 2MB * 0xF0000000...0xF01FFFFF -> 2MB
*----------------------------------------------------------------------- */ *----------------------------------------------------------------------- */
li r4,pb3ap /* Peripheral Bank 1 Access Parameter */ li r4,PB3AP /* Peripheral Bank 1 Access Parameter */
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
mtdcr ebccfgd,r2 /* change timing */ mtdcr EBC0_CFGDATA,r2 /* change timing */
li r4,pb3cr /* Peripheral Bank 1 Configuration Registers */ li r4,PB3CR /* Peripheral Bank 1 Configuration Registers */
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
lis r4,0xF003 lis r4,0xF003
ori r4,r4,0x8000 ori r4,r4,0x8000
@ -151,7 +151,7 @@ ext_bus_cntlr_init:
*/ */
xori r24,r24,0x2000 /* invert current bus width */ xori r24,r24,0x2000 /* invert current bus width */
or r4,r4,r24 or r4,r4,r24
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* Memory Bank 1 (NAND-Flash) initialization * Memory Bank 1 (NAND-Flash) initialization
@ -169,28 +169,28 @@ ext_bus_cntlr_init:
* ----> 2 clocks per cycle = 60ns cycle (30ns active, 30ns hold) * ----> 2 clocks per cycle = 60ns cycle (30ns active, 30ns hold)
*----------------------------------------------------------------------- */ *----------------------------------------------------------------------- */
li r4,pb1ap /* Peripheral Bank 1 Access Parameter */ li r4,PB1AP /* Peripheral Bank 1 Access Parameter */
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
lis r4,0x0000 lis r4,0x0000
ori r4,r4,0x0200 ori r4,r4,0x0200
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
li r4,pb1cr /* Peripheral Bank 1 Configuration Registers */ li r4,PB1CR /* Peripheral Bank 1 Configuration Registers */
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
lis r4,0x77D1 lis r4,0x77D1
ori r4,r4,0x8000 ori r4,r4,0x8000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/* USB init (without acceleration) */ /* USB init (without acceleration) */
#ifndef CONFIG_ISP1161_PRESENT #ifndef CONFIG_ISP1161_PRESENT
li r4,pb4ap /* PB4AP=Peripheral Bank 4 Access Parameters */ li r4,PB4AP /* PB4AP=Peripheral Bank 4 Access Parameters */
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
lis r4,0x0180 lis r4,0x0180
ori r4,r4,0x5940 ori r4,r4,0x5940
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
#endif #endif
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
@ -204,8 +204,8 @@ ext_bus_cntlr_init:
A7/A24=0 -> memory cycle A7/A24=0 -> memory cycle
A7/ /A24=1 -> I/O cycle A7/ /A24=1 -> I/O cycle
*/ */
li r4,pb2ap /* PB2AP=Peripheral Bank 2 Access Parameters */ li r4,PB2AP /* PB2AP=Peripheral Bank 2 Access Parameters */
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
/* /*
We emulate an ISA access We emulate an ISA access
@ -226,58 +226,58 @@ ext_bus_cntlr_init:
lis r4,0x0100 lis r4,0x0100
ori r4,r4,0x0340 ori r4,r4,0x0340
#endif #endif
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
#ifdef IDE_USES_ISA_EMULATION #ifdef IDE_USES_ISA_EMULATION
li r25,pb5ap /* PB5AP=Peripheral Bank 5 Access Parameters */ li r25,PB5AP /* PB5AP=Peripheral Bank 5 Access Parameters */
mtdcr ebccfga,r25 mtdcr EBC0_CFGADDR,r25
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
#endif #endif
li r25,pb6ap /* PB6AP=Peripheral Bank 6 Access Parameters */ li r25,PB6AP /* PB6AP=Peripheral Bank 6 Access Parameters */
mtdcr ebccfga,r25 mtdcr EBC0_CFGADDR,r25
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
li r25,pb7ap /* PB7AP=Peripheral Bank 7 Access Parameters */ li r25,PB7AP /* PB7AP=Peripheral Bank 7 Access Parameters */
mtdcr ebccfga,r25 mtdcr EBC0_CFGADDR,r25
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
li r25,pb2cr /* PB2CR=Peripheral Bank 2 Configuration Register */ li r25,PB2CR /* PB2CR=Peripheral Bank 2 Configuration Register */
mtdcr ebccfga,r25 mtdcr EBC0_CFGADDR,r25
lis r4,0x780B lis r4,0x780B
ori r4,r4,0xA000 ori r4,r4,0xA000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/* /*
* the other areas are only 1MiB in size * the other areas are only 1MiB in size
*/ */
lis r4,0x7401 lis r4,0x7401
ori r4,r4,0xA000 ori r4,r4,0xA000
li r25,pb6cr /* PB6CR=Peripheral Bank 6 Configuration Register */ li r25,PB6CR /* PB6CR=Peripheral Bank 6 Configuration Register */
mtdcr ebccfga,r25 mtdcr EBC0_CFGADDR,r25
lis r4,0x7401 lis r4,0x7401
ori r4,r4,0xA000 ori r4,r4,0xA000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
li r25,pb7cr /* PB7CR=Peripheral Bank 7 Configuration Register */ li r25,PB7CR /* PB7CR=Peripheral Bank 7 Configuration Register */
mtdcr ebccfga,r25 mtdcr EBC0_CFGADDR,r25
lis r4,0x7411 lis r4,0x7411
ori r4,r4,0xA000 ori r4,r4,0xA000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
#ifndef CONFIG_ISP1161_PRESENT #ifndef CONFIG_ISP1161_PRESENT
li r25,pb4cr /* PB4CR=Peripheral Bank 4 Configuration Register */ li r25,PB4CR /* PB4CR=Peripheral Bank 4 Configuration Register */
mtdcr ebccfga,r25 mtdcr EBC0_CFGADDR,r25
lis r4,0x7421 lis r4,0x7421
ori r4,r4,0xA000 ori r4,r4,0xA000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
#endif #endif
#ifdef IDE_USES_ISA_EMULATION #ifdef IDE_USES_ISA_EMULATION
li r25,pb5cr /* PB5CR=Peripheral Bank 5 Configuration Register */ li r25,PB5CR /* PB5CR=Peripheral Bank 5 Configuration Register */
mtdcr ebccfga,r25 mtdcr EBC0_CFGADDR,r25
lis r4,0x0000 lis r4,0x0000
ori r4,r4,0x0000 ori r4,r4,0x0000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
#endif #endif
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
@ -315,19 +315,19 @@ ext_bus_cntlr_init:
#ifdef CONFIG_ISP1161_PRESENT #ifdef CONFIG_ISP1161_PRESENT
li r4,pb4ap /* PB4AP=Peripheral Bank 4 Access Parameters */ li r4,PB4AP /* PB4AP=Peripheral Bank 4 Access Parameters */
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
lis r4,0x030D lis r4,0x030D
ori r4,r4,0x5E80 ori r4,r4,0x5E80
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
li r4,pb4cr /* PB2CR=Peripheral Bank 4 Configuration Register */ li r4,PB4CR /* PB2CR=Peripheral Bank 4 Configuration Register */
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
lis r4,0x77C1 lis r4,0x77C1
ori r4,r4,0xA000 ori r4,r4,0xA000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
#endif #endif
@ -352,28 +352,28 @@ ext_bus_cntlr_init:
* *
*----------------------------------------------------------------------- */ *----------------------------------------------------------------------- */
li r4,pb5ap li r4,PB5AP
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
lis r4,0x040C lis r4,0x040C
ori r4,r4,0x0200 ori r4,r4,0x0200
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
li r4,pb5cr /* PB2CR=Peripheral Bank 2 Configuration Register */ li r4,PB5CR /* PB2CR=Peripheral Bank 2 Configuration Register */
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
lis r4,0x7A01 lis r4,0x7A01
ori r4,r4,0xA000 ori r4,r4,0xA000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
#endif #endif
/* /*
* External Peripheral Control Register * External Peripheral Control Register
*/ */
li r4,epcr li r4,EBC0_CFG
mtdcr ebccfga,r4 mtdcr EBC0_CFGADDR,r4
lis r4,0xB84E lis r4,0xB84E
ori r4,r4,0xF000 ori r4,r4,0xF000
mtdcr ebccfgd,r4 mtdcr EBC0_CFGDATA,r4
/* /*
* drive POST code * drive POST code
*/ */

View File

@ -199,14 +199,14 @@ int board_start_ide(void)
static int sc3_cameron_init (void) static int sc3_cameron_init (void)
{ {
/* Set up the Memory Controller for the CAMERON version */ /* Set up the Memory Controller for the CAMERON version */
mtebc (pb4ap, 0x01805940); mtebc (PB4AP, 0x01805940);
mtebc (pb4cr, 0x7401a000); mtebc (PB4CR, 0x7401a000);
mtebc (pb5ap, 0x01805940); mtebc (PB5AP, 0x01805940);
mtebc (pb5cr, 0x7401a000); mtebc (PB5CR, 0x7401a000);
mtebc (pb6ap, 0x0); mtebc (PB6AP, 0x0);
mtebc (pb6cr, 0x0); mtebc (PB6CR, 0x0);
mtebc (pb7ap, 0x0); mtebc (PB7AP, 0x0);
mtebc (pb7cr, 0x0); mtebc (PB7CR, 0x0);
return 0; return 0;
} }
@ -312,18 +312,18 @@ int board_early_init_f (void)
mtdcr (uicsr, 0xFFFFFFFF); /* clear all ints */ mtdcr (uicsr, 0xFFFFFFFF); /* clear all ints */
/* setup other implementation specific details */ /* setup other implementation specific details */
mtdcr (ecr, 0x60606000); mtdcr (CPC0_ECR, 0x60606000);
mtdcr (cntrl1, 0x000042C0); mtdcr (CPC0_CR1, 0x000042C0);
if (IS_CAMERON) { if (IS_CAMERON) {
mtdcr (cntrl0, 0x01380000); mtdcr (CPC0_CR0, 0x01380000);
/* Setup the GPIOs */ /* Setup the GPIOs */
writel (0x08008000, 0xEF600700); /* Output states */ writel (0x08008000, 0xEF600700); /* Output states */
writel (0x00000000, 0xEF600718); /* Open Drain control */ writel (0x00000000, 0xEF600718); /* Open Drain control */
writel (0x68098000, 0xEF600704); /* Output control */ writel (0x68098000, 0xEF600704); /* Output control */
} else { } else {
mtdcr (cntrl0,0x00080000); mtdcr (CPC0_CR0,0x00080000);
/* Setup the GPIOs */ /* Setup the GPIOs */
writel (0x08000000, 0xEF600700); /* Output states */ writel (0x08000000, 0xEF600700); /* Output states */
writel (0x14000000, 0xEF600718); /* Open Drain control */ writel (0x14000000, 0xEF600718); /* Open Drain control */
@ -331,13 +331,13 @@ int board_early_init_f (void)
} }
/* Code decompression disabled */ /* Code decompression disabled */
mtdcr (kiar, kconf); mtdcr (KIAR, KCONF);
mtdcr (kidr, 0x2B); mtdcr (KIDR, 0x2B);
/* CPC0_ER: enable sleep mode of (currently) unused components */ /* CPC0_ER: enable sleep mode of (currently) unused components */
/* CPC0_FR: force unused components into sleep mode */ /* CPC0_FR: force unused components into sleep mode */
mtdcr (cpmer, 0x3F800000); mtdcr (CPMER, 0x3F800000);
mtdcr (cpmfr, 0x14000000); mtdcr (CPMFR, 0x14000000);
/* set PLB priority */ /* set PLB priority */
mtdcr (0x87, 0x08000000); mtdcr (0x87, 0x08000000);
@ -472,19 +472,19 @@ static void printCSConfig(int reg,unsigned long ap,unsigned long cr)
#ifdef SC3_DEBUGOUT #ifdef SC3_DEBUGOUT
static unsigned int ap[] = {pb0ap, pb1ap, pb2ap, pb3ap, pb4ap, static unsigned int ap[] = {PB0AP, PB1AP, PB2AP, PB3AP, PB4AP,
pb5ap, pb6ap, pb7ap}; PB5AP, PB6AP, PB7AP};
static unsigned int cr[] = {pb0cr, pb1cr, pb2cr, pb3cr, pb4cr, static unsigned int cr[] = {PB0CR, PB1CR, PB2CR, PB3CR, PB4CR,
pb5cr, pb6cr, pb7cr}; PB5CR, PB6CR, PB7CR};
static int show_reg (int nr) static int show_reg (int nr)
{ {
unsigned long ul1, ul2; unsigned long ul1, ul2;
mtdcr (ebccfga, ap[nr]); mtdcr (EBC0_CFGADDR, ap[nr]);
ul1 = mfdcr (ebccfgd); ul1 = mfdcr (EBC0_CFGDATA);
mtdcr (ebccfga, cr[nr]); mtdcr (EBC0_CFGADDR, cr[nr]);
ul2 = mfdcr(ebccfgd); ul2 = mfdcr(EBC0_CFGDATA);
printCSConfig(nr, ul1, ul2); printCSConfig(nr, ul1, ul2);
return 0; return 0;
} }
@ -500,8 +500,8 @@ int checkboard (void)
show_reg (i); show_reg (i);
} }
mtdcr (ebccfga, epcr); mtdcr (EBC0_CFGADDR, EBC0_CFG);
ul1 = mfdcr (ebccfgd); ul1 = mfdcr (EBC0_CFGDATA);
puts ("\nGeneral configuration:\n"); puts ("\nGeneral configuration:\n");
@ -591,21 +591,21 @@ phys_size_t initdram (int board_type)
puts("\nSDRAM configuration:\n"); puts("\nSDRAM configuration:\n");
mtdcr (memcfga, mem_mcopt1); mtdcr (SDRAM0_CFGADDR, mem_mcopt1);
ul1 = mfdcr(memcfgd); ul1 = mfdcr(SDRAM0_CFGDATA);
if (!(ul1 & 0x80000000)) { if (!(ul1 & 0x80000000)) {
puts(" Controller disabled\n"); puts(" Controller disabled\n");
return 0; return 0;
} }
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
mtdcr (memcfga, mbcf[i]); mtdcr (SDRAM0_CFGADDR, mbcf[i]);
ul1 = mfdcr (memcfgd); ul1 = mfdcr (SDRAM0_CFGDATA);
mems += printSDRAMConfig (i, ul1); mems += printSDRAMConfig (i, ul1);
} }
mtdcr (memcfga, mem_sdtr1); mtdcr (SDRAM0_CFGADDR, mem_sdtr1);
ul1 = mfdcr(memcfgd); ul1 = mfdcr(SDRAM0_CFGDATA);
printf ("Timing:\n -CAS latency %lu\n", ((ul1 & 0x1800000) >> 23)+1); printf ("Timing:\n -CAS latency %lu\n", ((ul1 & 0x1800000) >> 23)+1);
printf (" -Precharge %lu (PTA) \n", ((ul1 & 0xC0000) >> 18) + 1); printf (" -Precharge %lu (PTA) \n", ((ul1 & 0xC0000) >> 18) + 1);
@ -614,15 +614,15 @@ phys_size_t initdram (int board_type)
printf (" -CAS to RAS %lu\n", ((ul1 & 0x1C) >> 2) + 4); printf (" -CAS to RAS %lu\n", ((ul1 & 0x1C) >> 2) + 4);
printf (" -RAS to CAS %lu\n", ((ul1 & 0x3) + 1)); printf (" -RAS to CAS %lu\n", ((ul1 & 0x3) + 1));
puts ("Misc:\n"); puts ("Misc:\n");
mtdcr (memcfga, mem_rtr); mtdcr (SDRAM0_CFGADDR, mem_rtr);
ul1 = mfdcr(memcfgd); ul1 = mfdcr(SDRAM0_CFGDATA);
printf (" -Refresh rate: %luns\n", (ul1 >> 16) * 7); printf (" -Refresh rate: %luns\n", (ul1 >> 16) * 7);
mtdcr(memcfga,mem_pmit); mtdcr(SDRAM0_CFGADDR,mem_pmit);
ul2=mfdcr(memcfgd); ul2=mfdcr(SDRAM0_CFGDATA);
mtdcr(memcfga,mem_mcopt1); mtdcr(SDRAM0_CFGADDR,mem_mcopt1);
ul1=mfdcr(memcfgd); ul1=mfdcr(SDRAM0_CFGDATA);
if (ul1 & 0x20000000) if (ul1 & 0x20000000)
printf(" -Power Down after: %luns\n", printf(" -Power Down after: %luns\n",
@ -658,8 +658,8 @@ phys_size_t initdram (int board_type)
else else
puts(" -Memory lines only at write cycles active outputs\n"); puts(" -Memory lines only at write cycles active outputs\n");
mtdcr (memcfga, mem_status); mtdcr (SDRAM0_CFGADDR, mem_status);
ul1 = mfdcr (memcfgd); ul1 = mfdcr (SDRAM0_CFGDATA);
if (ul1 & 0x80000000) if (ul1 & 0x80000000)
puts(" -SDRAM Controller ready\n"); puts(" -SDRAM Controller ready\n");
else else
@ -670,20 +670,20 @@ phys_size_t initdram (int board_type)
return (mems * 1024 * 1024); return (mems * 1024 * 1024);
#else #else
mtdcr (memcfga, mem_mb0cf); mtdcr (SDRAM0_CFGADDR, mem_mb0cf);
ul1 = mfdcr (memcfgd); ul1 = mfdcr (SDRAM0_CFGDATA);
mems = printSDRAMConfig (0, ul1); mems = printSDRAMConfig (0, ul1);
mtdcr (memcfga, mem_mb1cf); mtdcr (SDRAM0_CFGADDR, mem_mb1cf);
ul1 = mfdcr (memcfgd); ul1 = mfdcr (SDRAM0_CFGDATA);
mems += printSDRAMConfig (1, ul1); mems += printSDRAMConfig (1, ul1);
mtdcr (memcfga, mem_mb2cf); mtdcr (SDRAM0_CFGADDR, mem_mb2cf);
ul1 = mfdcr(memcfgd); ul1 = mfdcr(SDRAM0_CFGDATA);
mems += printSDRAMConfig (2, ul1); mems += printSDRAMConfig (2, ul1);
mtdcr (memcfga, mem_mb3cf); mtdcr (SDRAM0_CFGADDR, mem_mb3cf);
ul1 = mfdcr(memcfgd); ul1 = mfdcr(SDRAM0_CFGDATA);
mems += printSDRAMConfig (3, ul1); mems += printSDRAMConfig (3, ul1);
return (mems * 1024 * 1024); return (mems * 1024 * 1024);

View File

@ -104,21 +104,21 @@ unsigned long flash_init (void)
/* Re-do sizing to get full correct info */ /* Re-do sizing to get full correct info */
if (size_b1) { if (size_b1) {
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb0cr); mtdcr(EBC0_CFGADDR, PB0CR);
base_b1 = -size_b1; base_b1 = -size_b1;
pbcr = (pbcr & 0x0001ffff) | base_b1 | (((size_b1/1024/1024)-1)<<17); pbcr = (pbcr & 0x0001ffff) | base_b1 | (((size_b1/1024/1024)-1)<<17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
} }
if (size_b0) { if (size_b0) {
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
pbcr = mfdcr(ebccfgd); pbcr = mfdcr(EBC0_CFGDATA);
mtdcr(ebccfga, pb1cr); mtdcr(EBC0_CFGADDR, PB1CR);
base_b0 = base_b1 - size_b0; base_b0 = base_b1 - size_b0;
pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17); pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
mtdcr(ebccfgd, pbcr); mtdcr(EBC0_CFGDATA, pbcr);
} }
size_b0 = flash_get_size((volatile FLASH_WORD_SIZE *)base_b0, &flash_info[0]); size_b0 = flash_get_size((volatile FLASH_WORD_SIZE *)base_b0, &flash_info[0]);

Some files were not shown because too many files have changed in this diff Show More