[U-Boot] [PATCH 4/4] davinci: omapl138-lcdk: enable driver-model in SPL

Adam Ford
2019-05-28T15:05:43Z

On Tue, May 28, 2019 at 2:58 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> Enable CONFIG_SPL_DM and enable the driver model for serial by defining
> an appropriate device in the board file for da850-lcdk.
>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> ---
> board/davinci/da8xxevm/omapl138_lcdk.c | 16 ++++++++++++++++
> configs/omapl138_lcdk_defconfig | 5 +++++
> 2 files changed, 21 insertions(+)
>
> diff --git a/board/davinci/da8xxevm/omapl138_lcdk.c b/board/davinci/da8xxevm/omapl138_lcdk.c
> index 156d61d9fb..b20747ba01 100644
> --- a/board/davinci/da8xxevm/omapl138_lcdk.c
> +++ b/board/davinci/da8xxevm/omapl138_lcdk.c
> @@ -15,6 +15,8 @@
> #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>
> @@ -369,3 +371,17 @@ int board_mmc_init(bd_t *bis)
> }
> #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,
> +};
> +#endif
> diff --git a/configs/omapl138_lcdk_defconfig b/configs/omapl138_lcdk_defconfig
> index b375da50df..f53a51321c 100644
> --- a/configs/omapl138_lcdk_defconfig
> +++ b/configs/omapl138_lcdk_defconfig
> @@ -33,10 +33,13 @@ CONFIG_CMD_MTDPARTS=y
> CONFIG_CMD_DIAG=y
> CONFIG_CMD_UBI=y
> CONFIG_OF_CONTROL=y
> +CONFIG_SPL_OF_CONTROL=y

If SPL_OF_CONTROL is being added, why do you need to manually add the
stuff above for the serial port? Checkout the da850-evm-u-boot.dtsi
file. I adds the device tree entries for the serial port to appear in
the SPL DTB.

See http://git.denx.de/?p=u-boot.git;a=commit;h=f7c1d53605d9ec528abacda9ba1763c67221fc88

> CONFIG_DEFAULT_DEVICE_TREE="da850-lcdk"
> +CONFIG_SPL_OF_PLATDATA=y
> CONFIG_ENV_IS_IN_NAND=y
> CONFIG_NET_RANDOM_ETHADDR=y
> CONFIG_DM=y
> +CONFIG_SPL_DM=y
> CONFIG_DM_I2C=y
> CONFIG_DM_I2C_COMPAT=y
> CONFIG_SYS_I2C_DAVINCI=y
> @@ -53,8 +56,10 @@ CONFIG_SPI_FLASH_STMICRO=y
> CONFIG_SPI_FLASH_WINBOND=y
> CONFIG_MII=y
> CONFIG_DRIVER_TI_EMAC=y
> +CONFIG_SPECIFY_CONSOLE_INDEX=y
> CONFIG_DM_SERIAL=y
> CONFIG_SYS_NS16550=y
> CONFIG_SPI=y
> CONFIG_DAVINCI_SPI=y
> CONFIG_USE_TINY_PRINTF=y
> +# CONFIG_SPL_OF_LIBFDT is not set
> --
> 2.21.0
>