]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/arm/cpu/tegra-common/board.c
ARM: tegra: support SKU 7 of Tegra20
[karo-tx-uboot.git] / arch / arm / cpu / tegra-common / board.c
index af1879c50189792f2ed37d6b05224b81db539b5b..58ea6289d37bc6a1f039e11ce9c869449b634d23 100644 (file)
@@ -37,8 +37,10 @@ enum {
        /* UARTs which we can enable */
        UARTA   = 1 << 0,
        UARTB   = 1 << 1,
+       UARTC   = 1 << 2,
        UARTD   = 1 << 3,
-       UART_COUNT = 4,
+       UARTE   = 1 << 4,
+       UART_COUNT = 5,
 };
 
 /*
@@ -68,7 +70,7 @@ unsigned int query_sdram_size(void)
        case 3:
                return 0x40000000;      /* 1GB */
        }
-#else  /* Tegra30 */
+#else  /* Tegra30/Tegra114 */
        /* bits 31:28 in OdmData are used for RAM size on T30  */
        switch ((reg) >> 28) {
        case 0:
@@ -112,17 +114,23 @@ static int uart_configs[] = {
        FUNCMUX_UART1_SDIO1,
  #else
        FUNCMUX_UART1_IRRX_IRTX,
- #endif
-       FUNCMUX_UART2_IRDA,
+#endif
+       FUNCMUX_UART2_UAD,
        -1,
        FUNCMUX_UART4_GMC,
        -1,
-#else  /* Tegra30 */
+#elif defined(CONFIG_TEGRA30)
        FUNCMUX_UART1_ULPI,     /* UARTA */
        -1,
        -1,
        -1,
        -1,
+#else  /* Tegra114 */
+       -1,
+       -1,
+       -1,
+       FUNCMUX_UART4_GMI,      /* UARTD */
+       -1,
 #endif
 };
 
@@ -138,6 +146,7 @@ static void setup_uarts(int uart_ids)
                PERIPH_ID_UART2,
                PERIPH_ID_UART3,
                PERIPH_ID_UART4,
+               PERIPH_ID_UART5,
        };
        size_t i;
 
@@ -161,8 +170,14 @@ void board_init_uart_f(void)
 #ifdef CONFIG_TEGRA_ENABLE_UARTB
        uart_ids |= UARTB;
 #endif
+#ifdef CONFIG_TEGRA_ENABLE_UARTC
+       uart_ids |= UARTC;
+#endif
 #ifdef CONFIG_TEGRA_ENABLE_UARTD
        uart_ids |= UARTD;
+#endif
+#ifdef CONFIG_TEGRA_ENABLE_UARTE
+       uart_ids |= UARTE;
 #endif
        setup_uarts(uart_ids);
 }