Merge https://gitlab.denx.de/u-boot/custodians/u-boot-spi into next
[platform/kernel/u-boot.git] / board / davinci / da8xxevm / omapl138_lcdk.c
index 5650207..84603cb 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
  *
@@ -5,19 +6,18 @@
  *
  * Copyright (C) 2009 Nick Thompson, GE Fanuc, Ltd. <nick.thompson@gefanuc.com>
  * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
+#include <env.h>
 #include <i2c.h>
+#include <init.h>
 #include <net.h>
-#include <netdev.h>
-#include <spi.h>
-#include <spi_flash.h>
 #include <asm/arch/hardware.h>
 #include <asm/ti-common/davinci_nand.h>
 #include <asm/io.h>
+#include <ns16550.h>
+#include <dm/platdata.h>
 #include <linux/errno.h>
 #include <asm/mach-types.h>
 #include <asm/arch/davinci_misc.h>
@@ -228,23 +228,6 @@ int board_init(void)
        return 0;
 }
 
-#ifdef CONFIG_DRIVER_TI_EMAC
-
-/*
- * Initializes on-board ethernet controllers.
- */
-int board_eth_init(bd_t *bis)
-{
-       if (!davinci_emac_initialize()) {
-               printf("Error: Ethernet init failed!\n");
-               return -1;
-       }
-
-       return 0;
-}
-
-#endif /* CONFIG_DRIVER_TI_EMAC */
-
 #define CFG_MAC_ADDR_SPI_BUS   0
 #define CFG_MAC_ADDR_SPI_CS    0
 #define CFG_MAC_ADDR_SPI_MAX_HZ        CONFIG_SF_DEFAULT_SPEED
@@ -354,12 +337,12 @@ int misc_init_r(void)
        return 0;
 }
 
+#if !CONFIG_IS_ENABLED(DM_MMC)
 #ifdef CONFIG_MMC_DAVINCI
 static struct davinci_mmc mmc_sd0 = {
        .reg_base = (struct davinci_mmc_regs *)DAVINCI_MMC_SD0_BASE,
        .host_caps = MMC_MODE_4BIT,     /* DA850 supports only 4-bit SD/MMC */
        .voltages = MMC_VDD_32_33 | MMC_VDD_33_34,
-       .version = MMC_CTLR_VERSION_2,
 };
 
 int board_mmc_init(bd_t *bis)
@@ -370,3 +353,39 @@ int board_mmc_init(bd_t *bis)
        return davinci_mmc_init(bis, &mmc_sd0);
 }
 #endif
+#endif
+
+#ifdef CONFIG_SPL_BUILD
+static const struct ns16550_platdata serial_pdata = {
+       .base = DAVINCI_UART2_BASE,
+       .reg_shift = 2,
+       .clock = 228000000,
+       .fcr = UART_FCR_DEFVAL,
+};
+
+U_BOOT_DEVICE(omapl138_uart) = {
+       .name = "ns16550_serial",
+       .platdata = &serial_pdata,
+};
+
+static const struct davinci_mmc_plat mmc_platdata = {
+       .reg_base = (struct davinci_mmc_regs *)DAVINCI_MMC_SD0_BASE,
+       .cfg = {
+               .f_min = 200000,
+               .f_max = 25000000,
+               .voltages = MMC_VDD_32_33 | MMC_VDD_33_34,
+               .host_caps = MMC_MODE_4BIT,
+               .b_max = DAVINCI_MAX_BLOCKS,
+               .name = "da830-mmc",
+       },
+};
+U_BOOT_DEVICE(omapl138_mmc) = {
+       .name = "davinci_mmc",
+       .platdata = &mmc_platdata,
+};
+
+void spl_board_init(void)
+{
+       davinci_configure_pin_mux(mmc0_pins, ARRAY_SIZE(mmc0_pins));
+}
+#endif