[U-Boot] [PATCH 1/2] ARM: DTS: omap3-u-boot.dtsi

Create generic omap3-u-boot.dtsi file that omap3 based boards can include to generate device tree in SPL for booting MLO.
Credit should go to Tom Rini.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/arch/arm/dts/omap3-u-boot.dtsi b/arch/arm/dts/omap3-u-boot.dtsi new file mode 100644 index 0000000000..32bea6b6d9 --- /dev/null +++ b/arch/arm/dts/omap3-u-boot.dtsi @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * Based on "omap5-u-boot.dtsi" + */ + +/{ + ocp@68000000 { + u-boot,dm-spl; + + bandgap@48002524 { + u-boot,dm-spl; + }; + }; +}; + +&uart1 { + u-boot,dm-spl; + reg-shift = <2>; +}; + +&uart2 { + u-boot,dm-spl; + reg-shift = <2>; +}; + +&uart3 { + u-boot,dm-spl; + reg-shift = <2>; +}; + +&mmc1 { + u-boot,dm-spl; +}; + +&mmc2 { + u-boot,dm-spl; +}; + +&l4_core { + u-boot,dm-spl; +}; + +&scm { + u-boot,dm-spl; +}; + +&scm_conf { + u-boot,dm-spl; +}; + +&gpio1 { + u-boot,dm-spl; +}; + +&gpio2 { + u-boot,dm-spl; +}; + +&gpio3 { + u-boot,dm-spl; +}; + +&gpio4 { + u-boot,dm-spl; +}; + +&gpio5 { + u-boot,dm-spl; +}; + +&gpio6 { + u-boot,dm-spl; +}; + +&i2c1 { + u-boot,dm-spl; +};

With the generic omap3-u-boot.dtsi file available, this patch increased the memory of the various incarnations of the omap3_logic board, and points their respective u-boot.dtsi files to the newly created generic one, and removes the PLATDATA from the board file.
These are all done at once because the're all utilizing the same omap3logic.c board file.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/arch/arm/dts/logicpd-som-lv-35xx-devkit-u-boot.dtsi b/arch/arm/dts/logicpd-som-lv-35xx-devkit-u-boot.dtsi index 6445048fe0..b3da8b1a73 100644 --- a/arch/arm/dts/logicpd-som-lv-35xx-devkit-u-boot.dtsi +++ b/arch/arm/dts/logicpd-som-lv-35xx-devkit-u-boot.dtsi @@ -4,6 +4,8 @@ * Logic PD - http://www.logicpd.com */
+#include "omap3-u-boot.dtsi" + / { chosen { stdout-path = &uart1; diff --git a/arch/arm/dts/logicpd-som-lv-37xx-devkit-u-boot.dtsi b/arch/arm/dts/logicpd-som-lv-37xx-devkit-u-boot.dtsi index 6445048fe0..956199a2b4 100644 --- a/arch/arm/dts/logicpd-som-lv-37xx-devkit-u-boot.dtsi +++ b/arch/arm/dts/logicpd-som-lv-37xx-devkit-u-boot.dtsi @@ -4,6 +4,8 @@ * Logic PD - http://www.logicpd.com */
+#include "omap3-u-boot.dtsi" + / { chosen { stdout-path = &uart1; @@ -18,10 +20,6 @@ clock-frequency = <400000>; };
-&mmc1 { - cd-gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* gpio_110 */ -}; - &mmc2 { status = "disabled"; }; diff --git a/arch/arm/dts/logicpd-torpedo-35xx-devkit-u-boot.dtsi b/arch/arm/dts/logicpd-torpedo-35xx-devkit-u-boot.dtsi index 41ed5d7e17..2c599f1c51 100644 --- a/arch/arm/dts/logicpd-torpedo-35xx-devkit-u-boot.dtsi +++ b/arch/arm/dts/logicpd-torpedo-35xx-devkit-u-boot.dtsi @@ -4,6 +4,8 @@ * Logic PD - http://www.logicpd.com */
+#include "omap3-u-boot.dtsi" + &i2c1 { clock-frequency = <400000>; }; diff --git a/arch/arm/dts/logicpd-torpedo-37xx-devkit-u-boot.dtsi b/arch/arm/dts/logicpd-torpedo-37xx-devkit-u-boot.dtsi index 41ed5d7e17..2c599f1c51 100644 --- a/arch/arm/dts/logicpd-torpedo-37xx-devkit-u-boot.dtsi +++ b/arch/arm/dts/logicpd-torpedo-37xx-devkit-u-boot.dtsi @@ -4,6 +4,8 @@ * Logic PD - http://www.logicpd.com */
+#include "omap3-u-boot.dtsi" + &i2c1 { clock-frequency = <400000>; }; diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c index 144e6f68a4..ee77ce077c 100644 --- a/board/logicpd/omap3som/omap3logic.c +++ b/board/logicpd/omap3som/omap3logic.c @@ -56,36 +56,6 @@ DECLARE_GLOBAL_DATA_PTR; #define LOGIC_MT28_OMAP35_ASYNC_GPMC_CONFIG6 0x09030000 #define LOGIC_MT28_OMAP35_ASYNC_GPMC_CONFIG7 0x00000C50
-/* This is only needed until SPL gets OF support */ -#ifdef CONFIG_SPL_BUILD -static const struct ns16550_platdata omap3logic_serial = { - .base = OMAP34XX_UART1, - .reg_shift = 2, - .clock = V_NS16550_CLK, - .fcr = UART_FCR_DEFVAL, -}; - -U_BOOT_DEVICE(omap3logic_uart) = { - "omap_serial", - &omap3logic_serial -}; - -static const struct omap_hsmmc_plat omap3_logic_mmc0_platdata = { - .base_addr = (struct hsmmc *)OMAP_HSMMC1_BASE, - .cfg.host_caps = MMC_MODE_HS_52MHz | MMC_MODE_HS | MMC_MODE_4BIT, - .cfg.f_min = 400000, - .cfg.f_max = 52000000, - .cfg.voltages = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195, - .cfg.b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT, -}; - -U_BOOT_DEVICE(omap3_logic_mmc0) = { - .name = "omap_hsmmc", - .platdata = &omap3_logic_mmc0_platdata, -}; - -#endif - #ifdef CONFIG_SPL_OS_BOOT int spl_start_uboot(void) { diff --git a/configs/omap35_logic_defconfig b/configs/omap35_logic_defconfig index d2821b8ceb..5b5f3eb7b4 100644 --- a/configs/omap35_logic_defconfig +++ b/configs/omap35_logic_defconfig @@ -1,9 +1,11 @@ CONFIG_ARM=y +# CONFIG_SPL_USE_ARCH_MEMCPY is not set +# CONFIG_SPL_USE_ARCH_MEMSET is not set CONFIG_ARCH_OMAP2PLUS=y CONFIG_SYS_TEXT_BASE=0x80100000 CONFIG_TI_COMMON_CMD_OPTIONS=y # CONFIG_SPL_GPIO_SUPPORT is not set -CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_SYS_MALLOC_F_LEN=0x4000 CONFIG_TARGET_OMAP3_LOGIC=y # CONFIG_SPL_OMAP3_ID_NAND is not set CONFIG_SPL=y @@ -12,8 +14,11 @@ CONFIG_NR_DRAM_BANKS=2 CONFIG_ANDROID_BOOT_IMAGE=y # CONFIG_USE_BOOTCOMMAND is not set CONFIG_SYS_CONSOLE_INFO_QUIET=y +CONFIG_DEFAULT_FDT_FILE="logicpd-torpedo-35xx-devkit.dtb" CONFIG_VERSION_VARIABLE=y CONFIG_SPL_SYS_MALLOC_SIMPLE=y +CONFIG_SPL_SEPARATE_BSS=y +# CONFIG_SPL_FS_EXT4 is not set CONFIG_SPL_MTD_SUPPORT=y CONFIG_SPL_OS_BOOT=y CONFIG_SYS_PROMPT="OMAP Logic # " @@ -30,10 +35,13 @@ CONFIG_MTDIDS_DEFAULT="nand0=omap2-nand.0" CONFIG_MTDPARTS_DEFAULT="mtdparts=omap2-nand.0:512k(MLO),1792k(u-boot),128k(spl-os),128k(u-boot-env),6m(kernel),-(fs)" CONFIG_CMD_UBI=y CONFIG_OF_CONTROL=y +CONFIG_SPL_OF_CONTROL=y CONFIG_DEFAULT_DEVICE_TREE="logicpd-torpedo-35xx-devkit" # CONFIG_ENV_IS_IN_FAT is not set CONFIG_ENV_IS_IN_NAND=y CONFIG_SPL_DM=y +CONFIG_SPL_DM_SEQ_ALIAS=y +CONFIG_SPL_OF_TRANSLATE=y CONFIG_DM_I2C=y CONFIG_DM_MMC=y CONFIG_MMC_OMAP_HS=y diff --git a/configs/omap35_logic_somlv_defconfig b/configs/omap35_logic_somlv_defconfig index 28b35ac80d..396f321699 100644 --- a/configs/omap35_logic_somlv_defconfig +++ b/configs/omap35_logic_somlv_defconfig @@ -1,9 +1,10 @@ CONFIG_ARM=y +# CONFIG_SPL_USE_ARCH_MEMCPY is not set +# CONFIG_SPL_USE_ARCH_MEMSET is not set CONFIG_ARCH_OMAP2PLUS=y CONFIG_SYS_TEXT_BASE=0x80100000 CONFIG_TI_COMMON_CMD_OPTIONS=y -# CONFIG_SPL_GPIO_SUPPORT is not set -CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_SYS_MALLOC_F_LEN=0x4000 CONFIG_TARGET_OMAP3_LOGIC=y # CONFIG_SPL_OMAP3_ID_NAND is not set CONFIG_SPL=y @@ -12,16 +13,19 @@ CONFIG_NR_DRAM_BANKS=2 CONFIG_ANDROID_BOOT_IMAGE=y # CONFIG_USE_BOOTCOMMAND is not set CONFIG_SYS_CONSOLE_INFO_QUIET=y +CONFIG_DEFAULT_FDT_FILE="logicpd-som-lv-35xx-devkit.dtb" CONFIG_VERSION_VARIABLE=y CONFIG_SPL_SYS_MALLOC_SIMPLE=y +CONFIG_SPL_SEPARATE_BSS=y +# CONFIG_SPL_FS_EXT4 is not set CONFIG_SPL_MTD_SUPPORT=y CONFIG_SPL_OS_BOOT=y +# CONFIG_SPL_POWER_SUPPORT is not set CONFIG_SYS_PROMPT="OMAP Logic # " # CONFIG_CMD_IMI is not set CONFIG_CMD_SPL=y CONFIG_CMD_SPL_NAND_OFS=0x240000 CONFIG_CMD_SPL_WRITE_SIZE=0x20000 -# CONFIG_CMD_FLASH is not set CONFIG_CMD_NAND=y CONFIG_CMD_NAND_LOCK_UNLOCK=y CONFIG_CMD_CACHE=y @@ -30,6 +34,7 @@ CONFIG_MTDIDS_DEFAULT="nand0=omap2-nand.0,nor0=physmap-flash.0" CONFIG_MTDPARTS_DEFAULT="mtdparts=omap2-nand.0:512k(MLO),1792k(u-boot),128k(spl-os),128k(u-boot-env),6m(kernel),-(fs);physmap-flash.0:-(nor)" CONFIG_CMD_UBI=y CONFIG_OF_CONTROL=y +CONFIG_SPL_OF_CONTROL=y CONFIG_DEFAULT_DEVICE_TREE="logicpd-som-lv-35xx-devkit" # CONFIG_ENV_IS_IN_FAT is not set CONFIG_ENV_IS_IN_NAND=y diff --git a/configs/omap3_logic_defconfig b/configs/omap3_logic_defconfig index 9c6f442b64..b38b6fd75a 100644 --- a/configs/omap3_logic_defconfig +++ b/configs/omap3_logic_defconfig @@ -1,9 +1,11 @@ CONFIG_ARM=y +# CONFIG_SPL_USE_ARCH_MEMCPY is not set +# CONFIG_SPL_USE_ARCH_MEMSET is not set CONFIG_ARCH_OMAP2PLUS=y CONFIG_SYS_TEXT_BASE=0x80100000 CONFIG_TI_COMMON_CMD_OPTIONS=y # CONFIG_SPL_GPIO_SUPPORT is not set -CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_SYS_MALLOC_F_LEN=0x4000 CONFIG_TARGET_OMAP3_LOGIC=y # CONFIG_SPL_OMAP3_ID_NAND is not set CONFIG_SPL=y @@ -14,6 +16,8 @@ CONFIG_ANDROID_BOOT_IMAGE=y CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_SPL_SYS_MALLOC_SIMPLE=y +CONFIG_SPL_SEPARATE_BSS=y +# CONFIG_SPL_FS_EXT4 is not set CONFIG_SPL_MTD_SUPPORT=y CONFIG_SPL_OS_BOOT=y CONFIG_SYS_PROMPT="OMAP Logic # " @@ -30,6 +34,7 @@ CONFIG_MTDIDS_DEFAULT="nand0=omap2-nand.0" CONFIG_MTDPARTS_DEFAULT="mtdparts=omap2-nand.0:512k(MLO),1792k(u-boot),128k(spl-os),128k(u-boot-env),6m(kernel),-(fs)" CONFIG_CMD_UBI=y CONFIG_OF_CONTROL=y +CONFIG_SPL_OF_CONTROL=y CONFIG_DEFAULT_DEVICE_TREE="logicpd-torpedo-37xx-devkit" # CONFIG_ENV_IS_IN_FAT is not set CONFIG_ENV_IS_IN_NAND=y diff --git a/configs/omap3_logic_somlv_defconfig b/configs/omap3_logic_somlv_defconfig index 6602af6abe..c6106c5d23 100644 --- a/configs/omap3_logic_somlv_defconfig +++ b/configs/omap3_logic_somlv_defconfig @@ -1,9 +1,10 @@ CONFIG_ARM=y +# CONFIG_SPL_USE_ARCH_MEMCPY is not set +# CONFIG_SPL_USE_ARCH_MEMSET is not set CONFIG_ARCH_OMAP2PLUS=y CONFIG_SYS_TEXT_BASE=0x80100000 CONFIG_TI_COMMON_CMD_OPTIONS=y -# CONFIG_SPL_GPIO_SUPPORT is not set -CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_SYS_MALLOC_F_LEN=0x4000 CONFIG_TARGET_OMAP3_LOGIC=y # CONFIG_SPL_OMAP3_ID_NAND is not set CONFIG_SPL=y @@ -12,10 +13,14 @@ CONFIG_NR_DRAM_BANKS=2 CONFIG_ANDROID_BOOT_IMAGE=y # CONFIG_USE_BOOTCOMMAND is not set CONFIG_SYS_CONSOLE_INFO_QUIET=y +CONFIG_DEFAULT_FDT_FILE="logicpd-som-lv-37xx-devkit.dtb" CONFIG_VERSION_VARIABLE=y CONFIG_SPL_SYS_MALLOC_SIMPLE=y +CONFIG_SPL_SEPARATE_BSS=y +# CONFIG_SPL_FS_EXT4 is not set CONFIG_SPL_MTD_SUPPORT=y CONFIG_SPL_OS_BOOT=y +# CONFIG_SPL_POWER_SUPPORT is not set CONFIG_SYS_PROMPT="OMAP Logic # " # CONFIG_CMD_IMI is not set CONFIG_CMD_SPL=y @@ -29,6 +34,7 @@ CONFIG_MTDIDS_DEFAULT="nand0=omap2-nand.0,nor0=physmap-flash.0" CONFIG_MTDPARTS_DEFAULT="mtdparts=omap2-nand.0:512k(MLO),1792k(u-boot),128k(spl-os),128k(u-boot-env),6m(kernel),-(fs);physmap-flash.0:-(nor)" CONFIG_CMD_UBI=y CONFIG_OF_CONTROL=y +CONFIG_SPL_OF_CONTROL=y CONFIG_DEFAULT_DEVICE_TREE="logicpd-som-lv-37xx-devkit" # CONFIG_ENV_IS_IN_FAT is not set CONFIG_ENV_IS_IN_NAND=y

On Sat, Feb 16, 2019 at 01:31:24PM -0600, Adam Ford wrote:
With the generic omap3-u-boot.dtsi file available, this patch increased the memory of the various incarnations of the omap3_logic board, and points their respective u-boot.dtsi files to the newly created generic one, and removes the PLATDATA from the board file.
These are all done at once because the're all utilizing the same omap3logic.c board file.
Signed-off-by: Adam Ford aford173@gmail.com
Ah-haha! Thank you! I also needed to delete the platform data and then beagleboard is also booting.

On Sat, Feb 16, 2019 at 03:49:01PM -0500, Tom Rini wrote:
On Sat, Feb 16, 2019 at 01:31:24PM -0600, Adam Ford wrote:
With the generic omap3-u-boot.dtsi file available, this patch increased the memory of the various incarnations of the omap3_logic board, and points their respective u-boot.dtsi files to the newly created generic one, and removes the PLATDATA from the board file.
These are all done at once because the're all utilizing the same omap3logic.c board file.
Signed-off-by: Adam Ford aford173@gmail.com
Ah-haha! Thank you! I also needed to delete the platform data and then beagleboard is also booting.
Can we get a quick summary of the conversion steps? My omap3-evm did not get a serial console when applying patch[1] and using example modifications from patch[2].
Derald

On Sat, Feb 16, 2019 at 03:08:02PM -0600, Derald D. Woods wrote:
On Sat, Feb 16, 2019 at 03:49:01PM -0500, Tom Rini wrote:
On Sat, Feb 16, 2019 at 01:31:24PM -0600, Adam Ford wrote:
With the generic omap3-u-boot.dtsi file available, this patch increased the memory of the various incarnations of the omap3_logic board, and points their respective u-boot.dtsi files to the newly created generic one, and removes the PLATDATA from the board file.
These are all done at once because the're all utilizing the same omap3logic.c board file.
Signed-off-by: Adam Ford aford173@gmail.com
Ah-haha! Thank you! I also needed to delete the platform data and then beagleboard is also booting.
Can we get a quick summary of the conversion steps? My omap3-evm did not get a serial console when applying patch[1] and using example modifications from patch[2].
I'm cleaning up Beagle now but: - Switch to using the new omap3-u-boot.dtsi - Remove all platdata from the board files - These are a must: CONFIG_SYS_MALLOC_F_LEN=0x4000 CONFIG_SPL_SYS_MALLOC_F_LEN=0x400 CONFIG_SPL_SYS_MALLOC_SIMPLE=y CONFIG_SPL_SEPARATE_BSS=y CONFIG_SPL_OF_CONTROL=y CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_SPL_OF_TRANSLATE=y
And we tend to drop falcon mode due to size, but could find other things instead.

On Sat, Feb 16, 2019 at 3:22 PM Tom Rini trini@konsulko.com wrote:
On Sat, Feb 16, 2019 at 03:08:02PM -0600, Derald D. Woods wrote:
On Sat, Feb 16, 2019 at 03:49:01PM -0500, Tom Rini wrote:
On Sat, Feb 16, 2019 at 01:31:24PM -0600, Adam Ford wrote:
With the generic omap3-u-boot.dtsi file available, this patch increased the memory of the various incarnations of the omap3_logic board, and points their respective u-boot.dtsi files to the newly created generic one, and removes the PLATDATA from the board file.
These are all done at once because the're all utilizing the same omap3logic.c board file.
Signed-off-by: Adam Ford aford173@gmail.com
Ah-haha! Thank you! I also needed to delete the platform data and then beagleboard is also booting.
Can we get a quick summary of the conversion steps? My omap3-evm did not get a serial console when applying patch[1] and using example modifications from patch[2].
I'm cleaning up Beagle now but:
- Switch to using the new omap3-u-boot.dtsi
- Remove all platdata from the board files
- These are a must:
CONFIG_SYS_MALLOC_F_LEN=0x4000 CONFIG_SPL_SYS_MALLOC_F_LEN=0x400
0x400 or 0x4000? I think mine is 0x4000
CONFIG_SPL_SYS_MALLOC_SIMPLE=y CONFIG_SPL_SEPARATE_BSS=y CONFIG_SPL_OF_CONTROL=y CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_SPL_OF_TRANSLATE=y
And we tend to drop falcon mode due to size, but could find other things instead.
I was able to drop EXT support in SPL. At least the Logic PD documentation states formatting the SD cards as FAT, so the stuff we publish doesn't need EXT in SPL. Falcon Mode was important for us to keep, but I noticed it takes more space. Luckily, I was able to retain it.
adam
-- Tom

On Sat, Feb 16, 2019 at 03:30:08PM -0600, Adam Ford wrote:
On Sat, Feb 16, 2019 at 3:22 PM Tom Rini trini@konsulko.com wrote:
On Sat, Feb 16, 2019 at 03:08:02PM -0600, Derald D. Woods wrote:
On Sat, Feb 16, 2019 at 03:49:01PM -0500, Tom Rini wrote:
On Sat, Feb 16, 2019 at 01:31:24PM -0600, Adam Ford wrote:
With the generic omap3-u-boot.dtsi file available, this patch increased the memory of the various incarnations of the omap3_logic board, and points their respective u-boot.dtsi files to the newly created generic one, and removes the PLATDATA from the board file.
These are all done at once because the're all utilizing the same omap3logic.c board file.
Signed-off-by: Adam Ford aford173@gmail.com
Ah-haha! Thank you! I also needed to delete the platform data and then beagleboard is also booting.
Can we get a quick summary of the conversion steps? My omap3-evm did not get a serial console when applying patch[1] and using example modifications from patch[2].
I'm cleaning up Beagle now but:
- Switch to using the new omap3-u-boot.dtsi
- Remove all platdata from the board files
- These are a must:
CONFIG_SYS_MALLOC_F_LEN=0x4000 CONFIG_SPL_SYS_MALLOC_F_LEN=0x400
0x400 or 0x4000? I think mine is 0x4000
It's 0x400, which is the default. It may need to grow again as we set it to 0x1000 but only on AM33XX. Maybe that's just a bit large, would have to check.
CONFIG_SPL_SYS_MALLOC_SIMPLE=y CONFIG_SPL_SEPARATE_BSS=y CONFIG_SPL_OF_CONTROL=y CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_SPL_OF_TRANSLATE=y
And we tend to drop falcon mode due to size, but could find other things instead.
I was able to drop EXT support in SPL. At least the Logic PD documentation states formatting the SD cards as FAT, so the stuff we publish doesn't need EXT in SPL. Falcon Mode was important for us to keep, but I noticed it takes more space. Luckily, I was able to retain it.
I might be able to reduce the amount of removed parts on Beagle, but we don't have Falcon mode in use widely there I think. And I need more space as I'm tempted to see if I can finally do things like support NAND env on Beagleboard and FAT env for xM and so forth.

Am Sa., 16. Feb. 2019, 22:34 hat Tom Rini trini@konsulko.com geschrieben:
On Sat, Feb 16, 2019 at 03:30:08PM -0600, Adam Ford wrote:
On Sat, Feb 16, 2019 at 3:22 PM Tom Rini trini@konsulko.com wrote:
On Sat, Feb 16, 2019 at 03:08:02PM -0600, Derald D. Woods wrote:
On Sat, Feb 16, 2019 at 03:49:01PM -0500, Tom Rini wrote:
On Sat, Feb 16, 2019 at 01:31:24PM -0600, Adam Ford wrote:
With the generic omap3-u-boot.dtsi file available, this patch increased the memory of the various incarnations of the
omap3_logic
board, and points their respective u-boot.dtsi files to the newly created generic one, and removes the PLATDATA from the board
file.
These are all done at once because the're all utilizing the same omap3logic.c board file.
Signed-off-by: Adam Ford aford173@gmail.com
Ah-haha! Thank you! I also needed to delete the platform data
and then
beagleboard is also booting.
Can we get a quick summary of the conversion steps? My omap3-evm did
not
get a serial console when applying patch[1] and using example modifications from patch[2].
I'm cleaning up Beagle now but:
- Switch to using the new omap3-u-boot.dtsi
- Remove all platdata from the board files
- These are a must:
CONFIG_SYS_MALLOC_F_LEN=0x4000 CONFIG_SPL_SYS_MALLOC_F_LEN=0x400
0x400 or 0x4000? I think mine is 0x4000
It's 0x400, which is the default. It may need to grow again as we set it to 0x1000 but only on AM33XX. Maybe that's just a bit large, would have to check.
I just had a similar issue on socfpga (where this is set to 0x2000) and I found most of the actually required ~1.2 KiB are used to instantiate (not probe) uclasses and devices that are only probed after DDR is available. I'm working on concepts to reduce this, but I haven't found a straight way out, yet.
Regards, Simon
CONFIG_SPL_SYS_MALLOC_SIMPLE=y CONFIG_SPL_SEPARATE_BSS=y CONFIG_SPL_OF_CONTROL=y CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_SPL_OF_TRANSLATE=y
And we tend to drop falcon mode due to size, but could find other
things
instead.
I was able to drop EXT support in SPL. At least the Logic PD documentation states formatting the SD cards as FAT, so the stuff we publish doesn't need EXT in SPL. Falcon Mode was important for us to keep, but I noticed it takes more space. Luckily, I was able to retain it.
I might be able to reduce the amount of removed parts on Beagle, but we don't have Falcon mode in use widely there I think. And I need more space as I'm tempted to see if I can finally do things like support NAND env on Beagleboard and FAT env for xM and so forth.
-- Tom _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

On Sat, Feb 16, 2019 at 04:22:44PM -0500, Tom Rini wrote:
On Sat, Feb 16, 2019 at 03:08:02PM -0600, Derald D. Woods wrote:
On Sat, Feb 16, 2019 at 03:49:01PM -0500, Tom Rini wrote:
On Sat, Feb 16, 2019 at 01:31:24PM -0600, Adam Ford wrote:
With the generic omap3-u-boot.dtsi file available, this patch increased the memory of the various incarnations of the omap3_logic board, and points their respective u-boot.dtsi files to the newly created generic one, and removes the PLATDATA from the board file.
These are all done at once because the're all utilizing the same omap3logic.c board file.
Signed-off-by: Adam Ford aford173@gmail.com
Ah-haha! Thank you! I also needed to delete the platform data and then beagleboard is also booting.
Can we get a quick summary of the conversion steps? My omap3-evm did not get a serial console when applying patch[1] and using example modifications from patch[2].
I'm cleaning up Beagle now but:
- Switch to using the new omap3-u-boot.dtsi
- Remove all platdata from the board files
- These are a must:
CONFIG_SYS_MALLOC_F_LEN=0x4000 CONFIG_SPL_SYS_MALLOC_F_LEN=0x400 CONFIG_SPL_SYS_MALLOC_SIMPLE=y CONFIG_SPL_SEPARATE_BSS=y CONFIG_SPL_OF_CONTROL=y CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_SPL_OF_TRANSLATE=y
Success. I followed the example of your recent beagleboard patch and can now boot as described. I will push a patch after a clean build of the default config for the OMAP3-EVM.
Thanks.
Derald
And we tend to drop falcon mode due to size, but could find other things instead.
-- Tom

On Sat, Feb 16, 2019 at 3:08 PM Derald D. Woods woods.technical@gmail.com wrote:
On Sat, Feb 16, 2019 at 03:49:01PM -0500, Tom Rini wrote:
On Sat, Feb 16, 2019 at 01:31:24PM -0600, Adam Ford wrote:
With the generic omap3-u-boot.dtsi file available, this patch increased the memory of the various incarnations of the omap3_logic board, and points their respective u-boot.dtsi files to the newly created generic one, and removes the PLATDATA from the board file.
These are all done at once because the're all utilizing the same omap3logic.c board file.
Signed-off-by: Adam Ford aford173@gmail.com
Ah-haha! Thank you! I also needed to delete the platform data and then beagleboard is also booting.
Can we get a quick summary of the conversion steps? My omap3-evm did not get a serial console when applying patch[1] and using example modifications from patch[2].
Patch 1 tells the system what nodes to generate in SPL. Without the extra entries, the SPL device tree is blank.
Once the individual board file included the generic omap3-u-boot.dtsi file, I was able to verify the device tree was bring the correct SPL required nodes with: dtc -I dtb -O dts spl/u-boot-spl.dtb
It's at this stage, were you might have to add 'u-boot,dm-spl;' to the nodes you need.
Once I verified the nodes were made, I needed to increase the memory allocation to handle reading the device tree, make sure a few additional flags were set:
These two reduce the code, but I am not 100% certain they were needed. These were done at the recommendation of Tom Rini. +# CONFIG_SPL_USE_ARCH_MEMCPY is not set +# CONFIG_SPL_USE_ARCH_MEMSET is not set
Increase available memory CONFIG_SYS_MALLOC_F_LEN=0x4000
Give BSS some room to breath: CONFIG_SPL_SEPARATE_BSS=y
Specify the FDT: CONFIG_DEFAULT_FDT_FILE="logicpd-torpedo-35xx-devkit.dtb"
Enable the Device Tree support in SPL: CONFIG_SPL_OF_CONTROL=y (make sure SPL_OF_PLATDATA is NOT set or it won't boot)
These effectively give SPL the same DT support as what's in the main U-Boot: CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_SPL_OF_TRANSLATE=y
For the omap3_logic boards, they have a config option to relocate SPL_TEXT_BASE to earlier SRAM which gives us a bit more available space in SPL. I don't know if these are set for your boards or not. #undef CONFIG_SPL_TEXT_BASE #define CONFIG_SPL_TEXT_BASE 0x40200000
You'll also want to make sure the DM is enabled in SPL.
I was able to verify an OMAP3530 and DM3730 both booted and I tested both Logic PD Torpedo and SOM-LV boards, but I am having issues getting the AM3517_evm to build with the same configuration.
I am not sure what's wrong with the AM3517, but any attempts to enable DM in SPL fail on AM3517 even without SPL_OF_CONTROL.
adam
Derald

On Sat, Feb 16, 2019 at 01:31:24PM -0600, Adam Ford wrote:
With the generic omap3-u-boot.dtsi file available, this patch increased the memory of the various incarnations of the omap3_logic board, and points their respective u-boot.dtsi files to the newly created generic one, and removes the PLATDATA from the board file.
These are all done at once because the're all utilizing the same omap3logic.c board file.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/arch/arm/dts/logicpd-som-lv-35xx-devkit-u-boot.dtsi b/arch/arm/dts/logicpd-som-lv-35xx-devkit-u-boot.dtsi index 6445048fe0..b3da8b1a73 100644
Applied to u-boot/master, thanks!

On Sat, Feb 16, 2019 at 01:31:23PM -0600, Adam Ford wrote:
Create generic omap3-u-boot.dtsi file that omap3 based boards can include to generate device tree in SPL for booting MLO.
Credit should go to Tom Rini.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/arch/arm/dts/omap3-u-boot.dtsi b/arch/arm/dts/omap3-u-boot.dtsi new file mode 100644 index 0000000000..32bea6b6d9
Signed-off-by: Tom Rini trini@konsulko.com

On Sat, Feb 16, 2019 at 2:49 PM Tom Rini trini@konsulko.com wrote:
On Sat, Feb 16, 2019 at 01:31:23PM -0600, Adam Ford wrote:
Create generic omap3-u-boot.dtsi file that omap3 based boards can include to generate device tree in SPL for booting MLO.
Credit should go to Tom Rini.
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/arch/arm/dts/omap3-u-boot.dtsi b/arch/arm/dts/omap3-u-boot.dtsi new file mode 100644 index 0000000000..32bea6b6d9
Signed-off-by: Tom Rini trini@konsulko.com
If you want to remove my SoB, that's fine. It's really your work, but I knew that without any SoB it would have been rejected. :-)
adam
-- Tom

On Sat, Feb 16, 2019 at 01:31:23PM -0600, Adam Ford wrote:
Create generic omap3-u-boot.dtsi file that omap3 based boards can include to generate device tree in SPL for booting MLO.
Credit should go to Tom Rini.
Signed-off-by: Adam Ford aford173@gmail.com
For OMAP3-EVM (3530):
Tested-by: Derald D. Woods woods.technical@gmail.com
diff --git a/arch/arm/dts/omap3-u-boot.dtsi b/arch/arm/dts/omap3-u-boot.dtsi new file mode 100644 index 0000000000..32bea6b6d9 --- /dev/null +++ b/arch/arm/dts/omap3-u-boot.dtsi @@ -0,0 +1,81 @@ +/*
- Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License version 2 as
- published by the Free Software Foundation.
- Based on "omap5-u-boot.dtsi"
- */
+/{
- ocp@68000000 {
u-boot,dm-spl;
bandgap@48002524 {
u-boot,dm-spl;
};
- };
+};
+&uart1 {
- u-boot,dm-spl;
- reg-shift = <2>;
+};
+&uart2 {
- u-boot,dm-spl;
- reg-shift = <2>;
+};
+&uart3 {
- u-boot,dm-spl;
- reg-shift = <2>;
+};
+&mmc1 {
- u-boot,dm-spl;
+};
+&mmc2 {
- u-boot,dm-spl;
+};
+&l4_core {
- u-boot,dm-spl;
+};
+&scm {
- u-boot,dm-spl;
+};
+&scm_conf {
- u-boot,dm-spl;
+};
+&gpio1 {
- u-boot,dm-spl;
+};
+&gpio2 {
- u-boot,dm-spl;
+};
+&gpio3 {
- u-boot,dm-spl;
+};
+&gpio4 {
- u-boot,dm-spl;
+};
+&gpio5 {
- u-boot,dm-spl;
+};
+&gpio6 {
- u-boot,dm-spl;
+};
+&i2c1 {
- u-boot,dm-spl;
+};
2.17.1

On Sat, Feb 16, 2019 at 01:31:23PM -0600, Adam Ford wrote:
Create generic omap3-u-boot.dtsi file that omap3 based boards can include to generate device tree in SPL for booting MLO.
Credit should go to Tom Rini.
Signed-off-by: Adam Ford aford173@gmail.com Signed-off-by: Tom Rini trini@konsulko.com Tested-by: Derald D. Woods woods.technical@gmail.com
diff --git a/arch/arm/dts/omap3-u-boot.dtsi b/arch/arm/dts/omap3-u-boot.dtsi new file mode 100644 index 0000000000..32bea6b6d9
Applied to u-boot/master, thanks!
participants (4)
-
Adam Ford
-
Derald D. Woods
-
Simon Goldschmidt
-
Tom Rini