]> git.sur5r.net Git - u-boot/blobdiff - cpu/mcf532x/cpu_init.c
arm: Move cpu/$CPU to arch/arm/cpu/$CPU
[u-boot] / cpu / mcf532x / cpu_init.c
index 687c7e42ec4135873939a4e3ff8fd027a4f6c71f..6f551b60c92b206b4e4be737afb14e3ccb8d795f 100644 (file)
@@ -39,7 +39,6 @@
 void cpu_init_f(void)
 {
        volatile scm1_t *scm1 = (scm1_t *) MMAP_SCM1;
-       volatile scm2_t *scm2 = (scm2_t *) MMAP_SCM2;
        volatile gpio_t *gpio = (gpio_t *) MMAP_GPIO;
        volatile fbcs_t *fbcs = (fbcs_t *) MMAP_FBCS;
 
@@ -134,24 +133,26 @@ int cpu_init_r(void)
        return (0);
 }
 
-void uart_port_conf(void)
+void uart_port_conf(int port)
 {
        volatile gpio_t *gpio = (gpio_t *) MMAP_GPIO;
 
        /* Setup Ports: */
-       switch (CONFIG_SYS_UART_PORT) {
+       switch (port) {
        case 0:
-               gpio->par_uart = (GPIO_PAR_UART_U0TXD | GPIO_PAR_UART_U0RXD);
+               gpio->par_uart &= ~(GPIO_PAR_UART_U0TXD | GPIO_PAR_UART_U0RXD);
+               gpio->par_uart |= (GPIO_PAR_UART_U0TXD | GPIO_PAR_UART_U0RXD);
                break;
        case 1:
 #ifdef CONFIG_SYS_UART1_ALT1_GPIO
                gpio->par_simp1h &=
-                   ~(GPIO_PAR_SIMP1H_DATA1_MASK | GPIO_PAR_SIMP1H_VEN1_MASK);
+                   ~(GPIO_PAR_SIMP1H_DATA1_UNMASK |
+                     GPIO_PAR_SIMP1H_VEN1_UNMASK);
                gpio->par_simp1h |=
                    (GPIO_PAR_SIMP1H_DATA1_U1TXD | GPIO_PAR_SIMP1H_VEN1_U1RXD);
 #elif defined(CONFIG_SYS_UART1_ALT2_GPIO)
                gpio->par_ssih &=
-                   ~(GPIO_PAR_SSIH_RXD_MASK | GPIO_PAR_SSIH_TXD_MASK);
+                   ~(GPIO_PAR_SSIH_RXD_UNMASK | GPIO_PAR_SSIH_TXD_UNMASK);
                gpio->par_ssih |=
                    (GPIO_PAR_SSIH_RXD_U1RXD | GPIO_PAR_SSIH_TXD_U1TXD);
 #endif
@@ -161,12 +162,12 @@ void uart_port_conf(void)
                gpio->par_uart |= (GPIO_PAR_UART_U2TXD | GPIO_PAR_UART_U2RXD);
 #elif defined(CONFIG_SYS_UART2_ALT1_GPIO)
                gpio->par_dspih &=
-                   ~(GPIO_PAR_DSPIH_SIN_MASK | GPIO_PAR_DSPIH_SOUT_MASK);
+                   ~(GPIO_PAR_DSPIH_SIN_UNMASK | GPIO_PAR_DSPIH_SOUT_UNMASK);
                gpio->par_dspih |=
                    (GPIO_PAR_DSPIH_SIN_U2RXD | GPIO_PAR_DSPIH_SOUT_U2TXD);
 #elif defined(CONFIG_SYS_UART2_ALT2_GPIO)
                gpio->par_feci2c &=
-                   ~(GPIO_PAR_FECI2C_SDA_MASK | GPIO_PAR_FECI2C_SCL_MASK);
+                   ~(GPIO_PAR_FECI2C_SDA_UNMASK | GPIO_PAR_FECI2C_SCL_UNMASK);
                gpio->par_feci2c |=
                    (GPIO_PAR_FECI2C_SDA_U2TXD | GPIO_PAR_FECI2C_SCL_U2RXD);
 #endif
@@ -196,11 +197,11 @@ int fecpin_setclear(struct eth_device *dev, int setclear)
                if (info->iobase == CONFIG_SYS_FEC0_IOBASE) {
                        gpio->par_fec &=
                            ~(GPIO_PAR_FEC0_7W_FEC | GPIO_PAR_FEC0_RMII_FEC);
-                       gpio->par_feci2c &= GPIO_PAR_FECI2C_RMII0_MASK;
+                       gpio->par_feci2c &= GPIO_PAR_FECI2C_RMII0_UNMASK;
                } else {
                        gpio->par_fec &=
                            ~(GPIO_PAR_FEC1_7W_FEC | GPIO_PAR_FEC1_RMII_FEC);
-                       gpio->par_feci2c &= GPIO_PAR_FECI2C_RMII1_MASK;
+                       gpio->par_feci2c &= GPIO_PAR_FECI2C_RMII1_UNMASK;
                }
        }
        return 0;
@@ -298,22 +299,33 @@ int cpu_init_r(void)
        return (0);
 }
 
-void uart_port_conf(void)
+void uart_port_conf(int port)
 {
        volatile gpio_t *gpio = (gpio_t *) MMAP_GPIO;
 
        /* Setup Ports: */
-       switch (CONFIG_SYS_UART_PORT) {
+       switch (port) {
        case 0:
-               gpio->par_uart = (GPIO_PAR_UART_TXD0 | GPIO_PAR_UART_RXD0);
+               gpio->par_uart &= ~(GPIO_PAR_UART_TXD0 | GPIO_PAR_UART_RXD0);
+               gpio->par_uart |= (GPIO_PAR_UART_TXD0 | GPIO_PAR_UART_RXD0);
                break;
        case 1:
-               gpio->par_uart =
+               gpio->par_uart &=
+                   ~(GPIO_PAR_UART_TXD1(3) | GPIO_PAR_UART_RXD1(3));
+               gpio->par_uart |=
                    (GPIO_PAR_UART_TXD1(3) | GPIO_PAR_UART_RXD1(3));
                break;
        case 2:
+#ifdef CONFIG_SYS_UART2_ALT1_GPIO
                gpio->par_timer &= 0x0F;
                gpio->par_timer |= (GPIO_PAR_TIN3_URXD2 | GPIO_PAR_TIN2_UTXD2);
+#elif defined(CONFIG_SYS_UART2_ALT2_GPIO)
+               gpio->par_feci2c &= 0xFF00;
+               gpio->par_feci2c |= (GPIO_PAR_FECI2C_SCL_UTXD2 | GPIO_PAR_FECI2C_SDA_URXD2);
+#elif defined(CONFIG_SYS_UART2_ALT3_GPIO)
+               gpio->par_ssi &= 0xF0FF;
+               gpio->par_ssi |= (GPIO_PAR_SSI_RXD(2) | GPIO_PAR_SSI_TXD(2));
+#endif
                break;
        }
 }