rename CFG_ macros to CONFIG_SYS
[platform/kernel/u-boot.git] / board / freescale / mpc8360emds / mpc8360emds.c
index 2fcef8b..fc0a0e5 100644 (file)
 #include <ioports.h>
 #include <mpc83xx.h>
 #include <i2c.h>
-#include <spd.h>
 #include <miiphy.h>
 #if defined(CONFIG_PCI)
 #include <pci.h>
 #endif
-#if defined(CONFIG_SPD_EEPROM)
 #include <spd_sdram.h>
-#else
 #include <asm/mmu.h>
-#endif
 #if defined(CONFIG_OF_LIBFDT)
 #include <libfdt.h>
 #endif
@@ -96,17 +92,14 @@ const qe_iop_conf_t qe_iop_conf_tab[] = {
 int board_early_init_f(void)
 {
 
-       u8 *bcsr = (u8 *)CFG_BCSR;
-       const immap_t *immr = (immap_t *)CFG_IMMR;
+       u8 *bcsr = (u8 *)CONFIG_SYS_BCSR;
+       const immap_t *immr = (immap_t *)CONFIG_SYS_IMMR;
 
        /* Enable flash write */
        bcsr[0xa] &= ~0x04;
 
-       /* Disable G1TXCLK, G2TXCLK h/w buffers (rev.2 h/w bug workaround) */
-       if (immr->sysconf.spridr == SPR_8360_REV20 ||
-           immr->sysconf.spridr == SPR_8360E_REV20 ||
-           immr->sysconf.spridr == SPR_8360_REV21 ||
-           immr->sysconf.spridr == SPR_8360E_REV21)
+       /* Disable G1TXCLK, G2TXCLK h/w buffers (rev.2.x h/w bug workaround) */
+       if (REVID_MAJOR(immr->sysconf.spridr) == 2)
                bcsr[0xe] = 0x30;
 
        /* Enable second UART */
@@ -129,16 +122,16 @@ extern void ddr_enable_ecc(unsigned int dram_size);
 int fixed_sdram(void);
 void sdram_init(void);
 
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
-       volatile immap_t *im = (immap_t *) CFG_IMMR;
+       volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR;
        u32 msize = 0;
 
        if ((im->sysconf.immrbar & IMMRBAR_BASE_ADDR) != (u32) im)
                return -1;
 
        /* DDR SDRAM - Main SODIMM */
-       im->sysconf.ddrlaw[0].bar = CFG_DDR_BASE & LAWBAR_BAR;
+       im->sysconf.ddrlaw[0].bar = CONFIG_SYS_DDR_BASE & LAWBAR_BAR;
 #if defined(CONFIG_SPD_EEPROM)
        msize = spd_sdram();
 #else
@@ -166,12 +159,12 @@ long int initdram(int board_type)
  ************************************************************************/
 int fixed_sdram(void)
 {
-       volatile immap_t *im = (immap_t *) CFG_IMMR;
+       volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR;
        u32 msize = 0;
        u32 ddr_size;
        u32 ddr_size_log2;
 
-       msize = CFG_DDR_SIZE;
+       msize = CONFIG_SYS_DDR_SIZE;
        for (ddr_size = msize << 20, ddr_size_log2 = 0;
             (ddr_size > 1); ddr_size = ddr_size >> 1, ddr_size_log2++) {
                if (ddr_size & 1) {
@@ -180,42 +173,42 @@ int fixed_sdram(void)
        }
        im->sysconf.ddrlaw[0].ar =
            LAWAR_EN | ((ddr_size_log2 - 1) & LAWAR_SIZE);
-#if (CFG_DDR_SIZE != 256)
+#if (CONFIG_SYS_DDR_SIZE != 256)
 #warning Currenly any ddr size other than 256 is not supported
 #endif
 #ifdef CONFIG_DDR_II
-       im->ddr.csbnds[0].csbnds = CFG_DDR_CS0_BNDS;
-       im->ddr.cs_config[0] = CFG_DDR_CS0_CONFIG;
-       im->ddr.timing_cfg_0 = CFG_DDR_TIMING_0;
-       im->ddr.timing_cfg_1 = CFG_DDR_TIMING_1;
-       im->ddr.timing_cfg_2 = CFG_DDR_TIMING_2;
-       im->ddr.timing_cfg_3 = CFG_DDR_TIMING_3;
-       im->ddr.sdram_cfg = CFG_DDR_SDRAM_CFG;
-       im->ddr.sdram_cfg2 = CFG_DDR_SDRAM_CFG2;
-       im->ddr.sdram_mode = CFG_DDR_MODE;
-       im->ddr.sdram_mode2 = CFG_DDR_MODE2;
-       im->ddr.sdram_interval = CFG_DDR_INTERVAL;
-       im->ddr.sdram_clk_cntl = CFG_DDR_CLK_CNTL;
+       im->ddr.csbnds[0].csbnds = CONFIG_SYS_DDR_CS0_BNDS;
+       im->ddr.cs_config[0] = CONFIG_SYS_DDR_CS0_CONFIG;
+       im->ddr.timing_cfg_0 = CONFIG_SYS_DDR_TIMING_0;
+       im->ddr.timing_cfg_1 = CONFIG_SYS_DDR_TIMING_1;
+       im->ddr.timing_cfg_2 = CONFIG_SYS_DDR_TIMING_2;
+       im->ddr.timing_cfg_3 = CONFIG_SYS_DDR_TIMING_3;
+       im->ddr.sdram_cfg = CONFIG_SYS_DDR_SDRAM_CFG;
+       im->ddr.sdram_cfg2 = CONFIG_SYS_DDR_SDRAM_CFG2;
+       im->ddr.sdram_mode = CONFIG_SYS_DDR_MODE;
+       im->ddr.sdram_mode2 = CONFIG_SYS_DDR_MODE2;
+       im->ddr.sdram_interval = CONFIG_SYS_DDR_INTERVAL;
+       im->ddr.sdram_clk_cntl = CONFIG_SYS_DDR_CLK_CNTL;
 #else
        im->ddr.csbnds[0].csbnds = 0x00000007;
        im->ddr.csbnds[1].csbnds = 0x0008000f;
 
-       im->ddr.cs_config[0] = CFG_DDR_CONFIG;
-       im->ddr.cs_config[1] = CFG_DDR_CONFIG;
+       im->ddr.cs_config[0] = CONFIG_SYS_DDR_CONFIG;
+       im->ddr.cs_config[1] = CONFIG_SYS_DDR_CONFIG;
 
-       im->ddr.timing_cfg_1 = CFG_DDR_TIMING_1;
-       im->ddr.timing_cfg_2 = CFG_DDR_TIMING_2;
-       im->ddr.sdram_cfg = CFG_DDR_CONTROL;
+       im->ddr.timing_cfg_1 = CONFIG_SYS_DDR_TIMING_1;
+       im->ddr.timing_cfg_2 = CONFIG_SYS_DDR_TIMING_2;
+       im->ddr.sdram_cfg = CONFIG_SYS_DDR_CONTROL;
 
-       im->ddr.sdram_mode = CFG_DDR_MODE;
-       im->ddr.sdram_interval = CFG_DDR_INTERVAL;
+       im->ddr.sdram_mode = CONFIG_SYS_DDR_MODE;
+       im->ddr.sdram_interval = CONFIG_SYS_DDR_INTERVAL;
 #endif
        udelay(200);
        im->ddr.sdram_cfg |= SDRAM_CFG_MEM_EN;
 
        return msize;
 }
-#endif                         /*!CFG_SPD_EEPROM */
+#endif                         /*!CONFIG_SYS_SPD_EEPROM */
 
 int checkboard(void)
 {
@@ -226,34 +219,34 @@ int checkboard(void)
 /*
  * if MPC8360EMDS is soldered with SDRAM
  */
-#if defined(CFG_BR2_PRELIM)  \
-       && defined(CFG_OR2_PRELIM) \
-       && defined(CFG_LBLAWBAR2_PRELIM) \
-       && defined(CFG_LBLAWAR2_PRELIM)
+#if defined(CONFIG_SYS_BR2_PRELIM)  \
+       && defined(CONFIG_SYS_OR2_PRELIM) \
+       && defined(CONFIG_SYS_LBLAWBAR2_PRELIM) \
+       && defined(CONFIG_SYS_LBLAWAR2_PRELIM)
 /*
  * Initialize SDRAM memory on the Local Bus.
  */
 
 void sdram_init(void)
 {
-       volatile immap_t *immap = (immap_t *) CFG_IMMR;
+       volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR;
        volatile lbus83xx_t *lbc = &immap->lbus;
-       uint *sdram_addr = (uint *) CFG_LBC_SDRAM_BASE;
+       uint *sdram_addr = (uint *) CONFIG_SYS_LBC_SDRAM_BASE;
 
        /*
         * Setup SDRAM Base and Option Registers, already done in cpu_init.c
         */
        /*setup mtrpt, lsrt and lbcr for LB bus */
-       lbc->lbcr = CFG_LBC_LBCR;
-       lbc->mrtpr = CFG_LBC_MRTPR;
-       lbc->lsrt = CFG_LBC_LSRT;
+       lbc->lbcr = CONFIG_SYS_LBC_LBCR;
+       lbc->mrtpr = CONFIG_SYS_LBC_MRTPR;
+       lbc->lsrt = CONFIG_SYS_LBC_LSRT;
        asm("sync");
 
        /*
         * Configure the SDRAM controller Machine Mode Register.
         */
-       lbc->lsdmr = CFG_LBC_LSDMR_5;   /* Normal Operation */
-       lbc->lsdmr = CFG_LBC_LSDMR_1;   /* Precharge All Banks */
+       lbc->lsdmr = CONFIG_SYS_LBC_LSDMR_5;    /* Normal Operation */
+       lbc->lsdmr = CONFIG_SYS_LBC_LSDMR_1;    /* Precharge All Banks */
        asm("sync");
        *sdram_addr = 0xff;
        udelay(100);
@@ -261,7 +254,7 @@ void sdram_init(void)
        /*
         * We need do 8 times auto refresh operation.
         */
-       lbc->lsdmr = CFG_LBC_LSDMR_2;
+       lbc->lsdmr = CONFIG_SYS_LBC_LSDMR_2;
        asm("sync");
        *sdram_addr = 0xff;     /* 1 times */
        udelay(100);
@@ -281,13 +274,13 @@ void sdram_init(void)
        udelay(100);
 
        /* Mode register write operation */
-       lbc->lsdmr = CFG_LBC_LSDMR_4;
+       lbc->lsdmr = CONFIG_SYS_LBC_LSDMR_4;
        asm("sync");
        *(sdram_addr + 0xcc) = 0xff;
        udelay(100);
 
        /* Normal operation */
-       lbc->lsdmr = CFG_LBC_LSDMR_5 | 0x40000000;
+       lbc->lsdmr = CONFIG_SYS_LBC_LSDMR_5 | 0x40000000;
        asm("sync");
        *sdram_addr = 0xff;
        udelay(100);
@@ -301,7 +294,7 @@ void sdram_init(void)
 #if defined(CONFIG_OF_BOARD_SETUP)
 void ft_board_setup(void *blob, bd_t *bd)
 {
-       const immap_t *immr = (immap_t *)CFG_IMMR;
+       const immap_t *immr = (immap_t *)CONFIG_SYS_IMMR;
 
        ft_cpu_setup(blob, bd);
 #ifdef CONFIG_PCI
@@ -312,34 +305,40 @@ void ft_board_setup(void *blob, bd_t *bd)
         * if on mpc8360ea rev. 2.1,
         * change both ucc phy-connection-types from rgmii-id to rgmii-rxid
         */
-       if (immr->sysconf.spridr == SPR_8360_REV21 ||
-           immr->sysconf.spridr == SPR_8360E_REV21) {
+       if ((REVID_MAJOR(immr->sysconf.spridr) == 2) &&
+           (REVID_MINOR(immr->sysconf.spridr) == 1)) {
                int nodeoffset;
                const char *prop;
-               const char *path;
+               int path;
 
-               nodeoffset = fdt_path_offset(fdt, "/aliases");
+               nodeoffset = fdt_path_offset(blob, "/aliases");
                if (nodeoffset >= 0) {
 #if defined(CONFIG_HAS_ETH0)
                        /* fixup UCC 1 if using rgmii-id mode */
-                       path = fdt_getprop(blob, nodeoffset, "ethernet0", NULL);
-                       if (path) {
-                               prop = fdt_getprop(blob, nodeoffset,
-                                                       "phy-connection-type", 0);
+                       prop = fdt_getprop(blob, nodeoffset, "ethernet0", NULL);
+                       if (prop) {
+                               path = fdt_path_offset(blob, prop);
+                               prop = fdt_getprop(blob, path,
+                                                  "phy-connection-type", 0);
                                if (prop && (strcmp(prop, "rgmii-id") == 0))
-                                       fdt_setprop(blob, nodeoffset, "phy-connection-type",
-                                                   "rgmii-rxid", sizeof("rgmii-rxid"));
+                                       fdt_setprop(blob, path,
+                                                   "phy-connection-type",
+                                                   "rgmii-rxid",
+                                                   sizeof("rgmii-rxid"));
                        }
 #endif
 #if defined(CONFIG_HAS_ETH1)
                        /* fixup UCC 2 if using rgmii-id mode */
-                       path = fdt_getprop(blob, nodeoffset, "ethernet1", NULL);
-                       if (path) {
-                               prop = fdt_getprop(blob, nodeoffset,
-                                                       "phy-connection-type", 0);
+                       prop = fdt_getprop(blob, nodeoffset, "ethernet1", NULL);
+                       if (prop) {
+                               path = fdt_path_offset(blob, prop);
+                               prop = fdt_getprop(blob, path,
+                                                  "phy-connection-type", 0);
                                if (prop && (strcmp(prop, "rgmii-id") == 0))
-                                       fdt_setprop(blob, nodeoffset, "phy-connection-type",
-                                                   "rgmii-rxid", sizeof("rgmii-rxid"));
+                                       fdt_setprop(blob, path,
+                                                   "phy-connection-type",
+                                                   "rgmii-rxid",
+                                                   sizeof("rgmii-rxid"));
                        }
 #endif
                }