]> git.sur5r.net Git - u-boot/blobdiff - board/prodrive/p3mx/p3mx.c
video: ipu_disp: remove pixclk fixup
[u-boot] / board / prodrive / p3mx / p3mx.c
index d54ddaffc1ecbc4dbe51fc382430773d79f1d9d6..28c4ebad9771346cc55fb3e219262737352db87a 100644 (file)
@@ -6,23 +6,7 @@
  *     Roel Loeffen, (C) Copyright 2006 Prodrive B.V.
  *     Josh Huber, (C) Copyright 2001 Mission Critical Linux, Inc.
  *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * SPDX-License-Identifier:    GPL-2.0+
  *
  * modifications for the DB64360 eval board based by Ingo.Assmus@keymile.com
  * modifications for the cpci750 by reinhard.arlt@esd-electronics.com
@@ -62,14 +46,12 @@ DECLARE_GLOBAL_DATA_PTR;
 #define DP(x)
 #endif
 
-extern void flush_data_cache (void);
-extern void invalidate_l1_instruction_cache (void);
 extern flash_info_t flash_info[];
 
 /* ------------------------------------------------------------------------- */
 
 /* this is the current GT register space location */
-/* it starts at CFG_DFL_GT_REGS but moves later to CFG_GT_REGS */
+/* it starts at CONFIG_SYS_DFL_GT_REGS but moves later to CONFIG_SYS_GT_REGS */
 
 /* Unfortunately, we cant change it while we are in flash, so we initialize it
  * to the "final" value. This means that any debug_led calls before
@@ -78,7 +60,7 @@ extern flash_info_t flash_info[];
  */
 
 void board_prebootm_init (void);
-unsigned int INTERNAL_REG_BASE_ADDR = CFG_GT_REGS;
+unsigned int INTERNAL_REG_BASE_ADDR = CONFIG_SYS_GT_REGS;
 int display_mem_map (void);
 void set_led(int);
 
@@ -131,7 +113,7 @@ static void gt_pci_config (void)
 
                GT_REG_WRITE (PCI_0_CONFIG_ADDR, BIT31 | val);
                GT_REG_WRITE (PCI_0_CONFIG_DATA_VIRTUAL_REG,
-                             (stat & 0xffff0000) | CFG_PCI_IDSEL);
+                             (stat & 0xffff0000) | CONFIG_SYS_PCI_IDSEL);
 
        }
        if ((GTREGREAD (PCI_1_MODE) & (BIT4 | BIT5)) != 0) {    /* if  PCI-X */
@@ -140,7 +122,7 @@ static void gt_pci_config (void)
 
                GT_REG_WRITE (PCI_1_CONFIG_ADDR, BIT31 | val);
                GT_REG_WRITE (PCI_1_CONFIG_DATA_VIRTUAL_REG,
-                             (stat & 0xffff0000) | CFG_PCI_IDSEL);
+                             (stat & 0xffff0000) | CONFIG_SYS_PCI_IDSEL);
        }
 
        /* Enable master */
@@ -159,21 +141,21 @@ static void gt_pci_config (void)
         * in 64360 when writing to pci base go and overide remap automaticaly,
         * in 64460 it doesn't
         */
-       GT_REG_WRITE (PCI_0_IO_BASE_ADDR, CFG_PCI0_IO_SPACE >> 16);
-       GT_REG_WRITE (PCI_0I_O_ADDRESS_REMAP, CFG_PCI0_IO_SPACE_PCI >> 16);
-       GT_REG_WRITE (PCI_0_IO_SIZE, (CFG_PCI0_IO_SIZE - 1) >> 16);
+       GT_REG_WRITE (PCI_0_IO_BASE_ADDR, CONFIG_SYS_PCI0_IO_SPACE >> 16);
+       GT_REG_WRITE (PCI_0I_O_ADDRESS_REMAP, CONFIG_SYS_PCI0_IO_SPACE_PCI >> 16);
+       GT_REG_WRITE (PCI_0_IO_SIZE, (CONFIG_SYS_PCI0_IO_SIZE - 1) >> 16);
 
-       GT_REG_WRITE (PCI_0_MEMORY0_BASE_ADDR, CFG_PCI0_MEM_BASE >> 16);
-       GT_REG_WRITE (PCI_0MEMORY0_ADDRESS_REMAP, CFG_PCI0_MEM_BASE >> 16);
-       GT_REG_WRITE (PCI_0_MEMORY0_SIZE, (CFG_PCI0_MEM_SIZE - 1) >> 16);
+       GT_REG_WRITE (PCI_0_MEMORY0_BASE_ADDR, CONFIG_SYS_PCI0_MEM_BASE >> 16);
+       GT_REG_WRITE (PCI_0MEMORY0_ADDRESS_REMAP, CONFIG_SYS_PCI0_MEM_BASE >> 16);
+       GT_REG_WRITE (PCI_0_MEMORY0_SIZE, (CONFIG_SYS_PCI0_MEM_SIZE - 1) >> 16);
 
-       GT_REG_WRITE (PCI_1_IO_BASE_ADDR, CFG_PCI1_IO_SPACE >> 16);
-       GT_REG_WRITE (PCI_1I_O_ADDRESS_REMAP, CFG_PCI1_IO_SPACE_PCI >> 16);
-       GT_REG_WRITE (PCI_1_IO_SIZE, (CFG_PCI1_IO_SIZE - 1) >> 16);
+       GT_REG_WRITE (PCI_1_IO_BASE_ADDR, CONFIG_SYS_PCI1_IO_SPACE >> 16);
+       GT_REG_WRITE (PCI_1I_O_ADDRESS_REMAP, CONFIG_SYS_PCI1_IO_SPACE_PCI >> 16);
+       GT_REG_WRITE (PCI_1_IO_SIZE, (CONFIG_SYS_PCI1_IO_SIZE - 1) >> 16);
 
-       GT_REG_WRITE (PCI_1_MEMORY0_BASE_ADDR, CFG_PCI1_MEM_BASE >> 16);
-       GT_REG_WRITE (PCI_1MEMORY0_ADDRESS_REMAP, CFG_PCI1_MEM_BASE >> 16);
-       GT_REG_WRITE (PCI_1_MEMORY0_SIZE, (CFG_PCI1_MEM_SIZE - 1) >> 16);
+       GT_REG_WRITE (PCI_1_MEMORY0_BASE_ADDR, CONFIG_SYS_PCI1_MEM_BASE >> 16);
+       GT_REG_WRITE (PCI_1MEMORY0_ADDRESS_REMAP, CONFIG_SYS_PCI1_MEM_BASE >> 16);
+       GT_REG_WRITE (PCI_1_MEMORY0_SIZE, (CONFIG_SYS_PCI1_MEM_SIZE - 1) >> 16);
 
        /* PCI interface settings */
        /* Timeout set to retry forever */
@@ -191,7 +173,7 @@ static void gt_pci_config (void)
        for (stat = 0; stat <= PCI_HOST1; stat++)
                pciWriteConfigReg (stat,
                                   PCI_INTERNAL_REGISTERS_MEMORY_MAPPED_BASE_ADDRESS,
-                                  SELF, CFG_GT_REGS);
+                                  SELF, CONFIG_SYS_GT_REGS);
 #endif
 
 }
@@ -206,7 +188,7 @@ static void gt_cpu_config (void)
        /* cpu configuration register */
        tmp = GTREGREAD (CPU_CONFIGURATION);
        /* set the SINGLE_CPU bit  see MV64460 */
-#ifndef CFG_GT_DUAL_CPU                /* SINGLE_CPU seems to cause JTAG problems */
+#ifndef CONFIG_SYS_GT_DUAL_CPU         /* SINGLE_CPU seems to cause JTAG problems */
        tmp |= CPU_CONF_SINGLE_CPU;
 #endif
        tmp &= ~CPU_CONF_AACK_DELAY_2;
@@ -248,7 +230,7 @@ int board_early_init_f (void)
         * that if it's not at the power-on location, it's where we put
         * it last time. (huber)
         */
-       my_remap_gt_regs (CFG_DFL_GT_REGS, CFG_GT_REGS);
+       my_remap_gt_regs (CONFIG_SYS_DFL_GT_REGS, CONFIG_SYS_GT_REGS);
 
 #ifdef CONFIG_PCI
        gt_pci_config ();
@@ -276,17 +258,17 @@ int board_early_init_f (void)
        memoryMapDeviceSpace(DEVICE3, 0, 0);
        GT_REG_WRITE(DEVICE_BANK3PARAMETERS, 0);
 
-       GT_REG_WRITE(DEVICE_BOOT_BANK_PARAMETERS, CFG_BOOT_PAR);
+       GT_REG_WRITE(DEVICE_BOOT_BANK_PARAMETERS, CONFIG_SYS_BOOT_PAR);
 
        gt_cpu_config();
 
        /* MPP setup */
-       GT_REG_WRITE (MPP_CONTROL0, CFG_MPP_CONTROL_0);
-       GT_REG_WRITE (MPP_CONTROL1, CFG_MPP_CONTROL_1);
-       GT_REG_WRITE (MPP_CONTROL2, CFG_MPP_CONTROL_2);
-       GT_REG_WRITE (MPP_CONTROL3, CFG_MPP_CONTROL_3);
+       GT_REG_WRITE (MPP_CONTROL0, CONFIG_SYS_MPP_CONTROL_0);
+       GT_REG_WRITE (MPP_CONTROL1, CONFIG_SYS_MPP_CONTROL_1);
+       GT_REG_WRITE (MPP_CONTROL2, CONFIG_SYS_MPP_CONTROL_2);
+       GT_REG_WRITE (MPP_CONTROL3, CONFIG_SYS_MPP_CONTROL_3);
 
-       GT_REG_WRITE (GPP_LEVEL_CONTROL, CFG_GPP_LEVEL_CONTROL);
+       GT_REG_WRITE (GPP_LEVEL_CONTROL, CONFIG_SYS_GPP_LEVEL_CONTROL);
 
        set_led(LED_RED);
 
@@ -300,7 +282,7 @@ int misc_init_r ()
        u8 val;
 
        icache_enable ();
-#ifdef CFG_L2
+#ifdef CONFIG_SYS_L2
        l2cache_enable ();
 #endif
 #ifdef CONFIG_MPSC
@@ -313,24 +295,14 @@ int misc_init_r ()
         * No diode, 250 ohm series resistor
         */
        val = 0xa5;
-       i2c_write(CFG_I2C_RTC_ADDR, 8, 1, &val, 1);
-
-       return 0;
-}
-
-int board_early_init_r(void)
-{
-       /* now relocate the debug serial driver */
-       mpsc_putchar += gd->reloc_off;
-       mpsc_getchar += gd->reloc_off;
-       mpsc_test_char += gd->reloc_off;
+       i2c_write(CONFIG_SYS_I2C_RTC_ADDR, 8, 1, &val, 1);
 
        return 0;
 }
 
 void after_reloc (ulong dest_addr, gd_t * gd)
 {
-       memoryMapDeviceSpace (BOOT_DEVICE, CFG_BOOT_SPACE, CFG_BOOT_SIZE);
+       memoryMapDeviceSpace (BOOT_DEVICE, CONFIG_SYS_BOOT_SPACE, CONFIG_SYS_BOOT_SIZE);
 
 /*     display_mem_map(); */
 
@@ -347,13 +319,14 @@ void after_reloc (ulong dest_addr, gd_t * gd)
 
 int checkboard (void)
 {
-       char *s = getenv("serial#");
+       char buf[64];
+       int i = getenv_f("serial#", buf, sizeof(buf));
 
-       printf("Board: %s", CFG_BOARD_NAME);
+       printf("Board: %s", CONFIG_SYS_BOARD_NAME);
 
-       if (s != NULL) {
+       if (i > 0) {
                puts(", serial# ");
-               puts(s);
+               puts(buf);
        }
        putc('\n');
 
@@ -460,7 +433,7 @@ int display_mem_map (void)
 
 /* DRAM check routines copied from gw8260 */
 
-#if defined (CFG_DRAM_TEST)
+#if defined (CONFIG_SYS_DRAM_TEST)
 
 /*********************************************************************/
 /* NAME:  move64() -  moves a double word (64-bit)                  */
@@ -491,7 +464,7 @@ static void move64 (unsigned long long *src, unsigned long long *dest)
 }
 
 
-#if defined (CFG_DRAM_TEST_DATA)
+#if defined (CONFIG_SYS_DRAM_TEST_DATA)
 
 unsigned long long pattern[] = {
        0xaaaaaaaaaaaaaaaaULL,
@@ -554,7 +527,7 @@ unsigned long long pattern[] = {
 /*********************************************************************/
 int mem_test_data (void)
 {
-       unsigned long long *pmem = (unsigned long long *) CFG_MEMTEST_START;
+       unsigned long long *pmem = (unsigned long long *) CONFIG_SYS_MEMTEST_START;
        unsigned long long temp64 = 0;
        int num_patterns = sizeof (pattern) / sizeof (pattern[0]);
        int i;
@@ -581,9 +554,9 @@ int mem_test_data (void)
 
        return 0;
 }
-#endif /* CFG_DRAM_TEST_DATA */
+#endif /* CONFIG_SYS_DRAM_TEST_DATA */
 
-#if defined (CFG_DRAM_TEST_ADDRESS)
+#if defined (CONFIG_SYS_DRAM_TEST_ADDRESS)
 /*********************************************************************/
 /* NAME:  mem_test_address() - test address lines                   */
 /*                                                                  */
@@ -608,8 +581,8 @@ int mem_test_data (void)
 int mem_test_address (void)
 {
        volatile unsigned int *pmem =
-               (volatile unsigned int *) CFG_MEMTEST_START;
-       const unsigned int size = (CFG_MEMTEST_END - CFG_MEMTEST_START) / 4;
+               (volatile unsigned int *) CONFIG_SYS_MEMTEST_START;
+       const unsigned int size = (CONFIG_SYS_MEMTEST_END - CONFIG_SYS_MEMTEST_START) / 4;
        unsigned int i;
 
        /* write address to each location */
@@ -625,9 +598,9 @@ int mem_test_address (void)
        }
        return 0;
 }
-#endif /* CFG_DRAM_TEST_ADDRESS */
+#endif /* CONFIG_SYS_DRAM_TEST_ADDRESS */
 
-#if defined (CFG_DRAM_TEST_WALK)
+#if defined (CONFIG_SYS_DRAM_TEST_WALK)
 /*********************************************************************/
 /* NAME:   mem_march() -  memory march                              */
 /*                                                                  */
@@ -685,7 +658,7 @@ int mem_march (volatile unsigned long long *base,
        }
        return 0;
 }
-#endif /* CFG_DRAM_TEST_WALK */
+#endif /* CONFIG_SYS_DRAM_TEST_WALK */
 
 /*********************************************************************/
 /* NAME:   mem_test_walk() -  a simple walking ones test            */
@@ -717,8 +690,8 @@ int mem_test_walk (void)
 {
        unsigned long long mask;
        volatile unsigned long long *pmem =
-               (volatile unsigned long long *) CFG_MEMTEST_START;
-       const unsigned long size = (CFG_MEMTEST_END - CFG_MEMTEST_START) / 8;
+               (volatile unsigned long long *) CONFIG_SYS_MEMTEST_START;
+       const unsigned long size = (CONFIG_SYS_MEMTEST_END - CONFIG_SYS_MEMTEST_START) / 8;
 
        unsigned int i;
 
@@ -779,29 +752,25 @@ int mem_test_walk (void)
 /*********************************************************************/
 int testdram (void)
 {
-       char *s;
        int rundata    = 0;
        int runaddress = 0;
        int runwalk    = 0;
 
-#ifdef CFG_DRAM_TEST_DATA
-       s = getenv ("testdramdata");
-       rundata = (s && (*s == 'y')) ? 1 : 0;
+#ifdef CONFIG_SYS_DRAM_TEST_DATA
+       rundata = getenv_yesno("testdramdata") == 1;
 #endif
-#ifdef CFG_DRAM_TEST_ADDRESS
-       s = getenv ("testdramaddress");
-       runaddress = (s && (*s == 'y')) ? 1 : 0;
+#ifdef CONFIG_SYS_DRAM_TEST_ADDRESS
+       runaddress = getenv_yesno("testdramaddress") == 1;
 #endif
-#ifdef CFG_DRAM_TEST_WALK
-       s = getenv ("testdramwalk");
-       runwalk = (s && (*s == 'y')) ? 1 : 0;
+#ifdef CONFIG_SYS_DRAM_TEST_WALK
+       runwalk = getenv_yesno("testdramwalk") == 1;
 #endif
 
        if ((rundata == 1) || (runaddress == 1) || (runwalk == 1))
                printf ("Testing RAM from 0x%08x to 0x%08x ...  "
                        "(don't panic... that will take a moment !!!!)\n",
-                       CFG_MEMTEST_START, CFG_MEMTEST_END);
-#ifdef CFG_DRAM_TEST_DATA
+                       CONFIG_SYS_MEMTEST_START, CONFIG_SYS_MEMTEST_END);
+#ifdef CONFIG_SYS_DRAM_TEST_DATA
        if (rundata == 1) {
                printf ("Test DATA ...  ");
                if (mem_test_data () == 1) {
@@ -811,7 +780,7 @@ int testdram (void)
                        printf ("ok \n");
        }
 #endif
-#ifdef CFG_DRAM_TEST_ADDRESS
+#ifdef CONFIG_SYS_DRAM_TEST_ADDRESS
        if (runaddress == 1) {
                printf ("Test ADDRESS ...  ");
                if (mem_test_address () == 1) {
@@ -821,7 +790,7 @@ int testdram (void)
                        printf ("ok \n");
        }
 #endif
-#ifdef CFG_DRAM_TEST_WALK
+#ifdef CONFIG_SYS_DRAM_TEST_WALK
        if (runwalk == 1) {
                printf ("Test WALKING ONEs ...  ");
                if (mem_test_walk () == 1) {
@@ -836,7 +805,7 @@ int testdram (void)
        return 0;
 
 }
-#endif /* CFG_DRAM_TEST */
+#endif /* CONFIG_SYS_DRAM_TEST */
 
 /* ronen - the below functions are used by the bootm function           */
 /*  - we map the base register to fbe00000 (same mapping as in the LSP) */
@@ -862,3 +831,8 @@ void my_remap_gt_regs_bootm (u32 cur_loc, u32 new_loc)
               != temp);
 
 }
+
+int board_eth_init(bd_t *bis)
+{
+       return mv6446x_eth_initialize(bis);
+}