
wt., 28 maj 2019 o 17:05 Adam Ford aford173@gmail.com napisaĆ(a):
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=f7c1d53605d9ec528abacda9ba1763c6...
I tried to follow the example from this patch but for some reason adding u-boot,dm-spl; to the soc@1c00000 node in da850-lcdk-u-boot.dtsi results in the final image being reported as corrupted by the aisimage tool:
[...] COPY spl/u-boot-spl.dtb CC spl/common/spl/spl.o LD spl/common/spl/built-in.o CC spl/lib/display_options.o LD spl/lib/built-in.o LD spl/u-boot-spl OBJCOPY spl/u-boot-spl-nodtb.bin CAT spl/u-boot-spl-dtb.bin COPY spl/u-boot-spl.bin MKIMAGE spl/u-boot-spl.ais Error: - AIS Image corrupted CAT u-boot.ais CFGCHK u-boot.cfg
The image doen't boot (or at least there's nothing on the console).
I'm not sure what's causing it. Any idea?
Bart
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