[U-Boot] [PATCH 0/6] ARM: DRA7: AM57xx: Enable SPL_DM

- Enable SPL_DM on all DRA7 and AM57xx based platforms. - SPL uses a generic dts on all platforms with same defconfig. - After this series SPL size is increased by ~7KB.
Verified MMC, eMMC boot on DRA74-evm, DRA72-evm. MMC boot on AM57xx-evm.
Lokesh Vutla (6): tools: omapimage: Fix size in header ARM: OMAP2+: define _image_binary_end to fix SPL_OF_CONTROL ARM: dts: AM57xx: Add generic dts for spl ARM: dts: DRA7: Add generic dts for spl configs: am57xx_evm: Enable SPL_DM configs: dra7xx_evm: Enable SPL_DM
arch/arm/dts/Makefile | 3 ++- arch/arm/dts/am57xx-generic-spl.dts | 24 ++++++++++++++++++ arch/arm/dts/dra7-generic-spl.dts | 50 +++++++++++++++++++++++++++++++++++++ arch/arm/mach-omap2/u-boot-spl.lds | 2 ++ configs/am57xx_evm_defconfig | 7 ++++-- configs/am57xx_hs_evm_defconfig | 7 ++++-- configs/dra7xx_evm_defconfig | 7 ++++-- configs/dra7xx_hs_evm_defconfig | 7 ++++-- include/configs/am57xx_evm.h | 5 ---- include/configs/dra7xx_evm.h | 5 ---- include/configs/ti_omap5_common.h | 8 +----- tools/gpimage.c | 2 +- tools/omapimage.c | 2 +- 13 files changed, 101 insertions(+), 28 deletions(-) create mode 100644 arch/arm/dts/am57xx-generic-spl.dts create mode 100644 arch/arm/dts/dra7-generic-spl.dts

The size field in GP header that is expected by ROM is size of the image + size of the header. But omapimage generates a gp header only with size of the image as size field. Fix it
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com --- tools/gpimage.c | 2 +- tools/omapimage.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/gpimage.c b/tools/gpimage.c index 1adc55c5fc..3ae511d33e 100644 --- a/tools/gpimage.c +++ b/tools/gpimage.c @@ -54,7 +54,7 @@ static void gpimage_set_header(void *ptr, struct stat *sbuf, int ifd, { struct gp_header *gph = (struct gp_header *)ptr;
- gph_set_header(gph, sbuf->st_size - GPIMAGE_HDR_SIZE, params->addr, 1); + gph_set_header(gph, sbuf->st_size, params->addr, 1); }
/* diff --git a/tools/omapimage.c b/tools/omapimage.c index 7198b3330d..4fe62c5b31 100644 --- a/tools/omapimage.c +++ b/tools/omapimage.c @@ -143,7 +143,7 @@ static void omapimage_set_header(void *ptr, struct stat *sbuf, int ifd, toc++; memset(toc, 0xff, sizeof(*toc));
- gph_set_header(gph, sbuf->st_size - OMAP_FILE_HDR_SIZE, + gph_set_header(gph, sbuf->st_size - OMAP_CH_HDR_SIZE, params->addr, 0);
if (strncmp(params->imagename, "byteswap", 8) == 0) {

On Wed, Feb 08, 2017 at 06:03:32PM +0530, Lokesh Vutla wrote:
The size field in GP header that is expected by ROM is size of the image + size of the header. But omapimage generates a gp header only with size of the image as size field. Fix it
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com
Reviewed-by: Tom Rini trini@konsulko.com

To make SPL_OF_CONTROL work on OAP2+ SoCs, _image_binary_end must be defined in the linker script along with CONFIG_SPL_SEPARATE_BSS.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com --- arch/arm/mach-omap2/u-boot-spl.lds | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/arm/mach-omap2/u-boot-spl.lds b/arch/arm/mach-omap2/u-boot-spl.lds index 8fec715ca5..e9da2a9dd1 100644 --- a/arch/arm/mach-omap2/u-boot-spl.lds +++ b/arch/arm/mach-omap2/u-boot-spl.lds @@ -46,6 +46,8 @@ SECTIONS *(.__end) }
+ _image_binary_end = .; + .bss : { . = ALIGN(4);

On Wed, Feb 08, 2017 at 06:03:33PM +0530, Lokesh Vutla wrote:
To make SPL_OF_CONTROL work on OAP2+ SoCs, _image_binary_end must be defined in the linker script along with CONFIG_SPL_SEPARATE_BSS.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com
Reviewed-by: Tom Rini trini@konsulko.com

On Wed, Feb 08, 2017 at 06:03:33PM +0530, Lokesh Vutla wrote:
To make SPL_OF_CONTROL work on OAP2+ SoCs, _image_binary_end must be
OMAP2+ ---> ^^^^^
Just a nitpick, but helps grepping for changes in git log.
Thank you, ladis
defined in the linker script along with CONFIG_SPL_SEPARATE_BSS.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com
arch/arm/mach-omap2/u-boot-spl.lds | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/arch/arm/mach-omap2/u-boot-spl.lds b/arch/arm/mach-omap2/u-boot-spl.lds index 8fec715ca5..e9da2a9dd1 100644 --- a/arch/arm/mach-omap2/u-boot-spl.lds +++ b/arch/arm/mach-omap2/u-boot-spl.lds @@ -46,6 +46,8 @@ SECTIONS *(.__end) }
- _image_binary_end = .;
- .bss : { . = ALIGN(4);
-- 2.11.0
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On Wednesday 08 February 2017 10:03 PM, Ladislav Michl wrote:
On Wed, Feb 08, 2017 at 06:03:33PM +0530, Lokesh Vutla wrote:
To make SPL_OF_CONTROL work on OAP2+ SoCs, _image_binary_end must be
OMAP2+ ---> ^^^^^
Just a nitpick, but helps grepping for changes in git log.
Oops. Updated version just posted.
Thanks and regards, Lokesh

Add a generic dts file for spl that is used by all AM57xx based platforms.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com --- arch/arm/dts/Makefile | 1 + arch/arm/dts/am57xx-generic-spl.dts | 24 ++++++++++++++++++++++++ configs/am57xx_evm_defconfig | 2 +- configs/am57xx_hs_evm_defconfig | 2 +- 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 arch/arm/dts/am57xx-generic-spl.dts
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 796b24d76e..8945771f64 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -153,6 +153,7 @@ dtb-$(CONFIG_ARCH_SOCFPGA) += \ dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb \ dra72-evm-revc.dtb dra71-evm.dtb dtb-$(CONFIG_TARGET_AM57XX_EVM) += am57xx-beagle-x15.dtb \ + am57xx-generic-spl.dtb \ am57xx-beagle-x15-revb1.dtb \ am572x-idk.dtb \ am571x-idk.dtb diff --git a/arch/arm/dts/am57xx-generic-spl.dts b/arch/arm/dts/am57xx-generic-spl.dts new file mode 100644 index 0000000000..27183bde10 --- /dev/null +++ b/arch/arm/dts/am57xx-generic-spl.dts @@ -0,0 +1,24 @@ +/* + * 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 "omap4.dtsi" + */ + +#include "am57xx-beagle-x15.dts" + +/{ + ocp { + u-boot,dm-pre-reloc; + }; +}; + +&uart3 { + u-boot,dm-pre-reloc; +}; + +&mmc1 { + u-boot,dm-pre-reloc; +}; diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig index e804b02c1e..77555d7269 100644 --- a/configs/am57xx_evm_defconfig +++ b/configs/am57xx_evm_defconfig @@ -6,7 +6,7 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y CONFIG_ARMV7_LPAE=y CONFIG_SPL_STACK_R_ADDR=0x82000000 -CONFIG_DEFAULT_DEVICE_TREE="am57xx-beagle-x15" +CONFIG_DEFAULT_DEVICE_TREE="am57xx-generic-spl" CONFIG_FIT=y CONFIG_SPL_LOAD_FIT=y CONFIG_OF_BOARD_SETUP=y diff --git a/configs/am57xx_hs_evm_defconfig b/configs/am57xx_hs_evm_defconfig index 7e84ccddf3..c9a0db7033 100644 --- a/configs/am57xx_hs_evm_defconfig +++ b/configs/am57xx_hs_evm_defconfig @@ -9,7 +9,7 @@ CONFIG_TI_SECURE_EMIF_PROTECTED_REGION_SIZE=0x01c00000 CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y CONFIG_SPL_STACK_R_ADDR=0x82000000 -CONFIG_DEFAULT_DEVICE_TREE="am57xx-beagle-x15" +CONFIG_DEFAULT_DEVICE_TREE="am57xx-generic-spl" CONFIG_FIT=y CONFIG_FIT_IMAGE_POST_PROCESS=y CONFIG_SPL_LOAD_FIT=y

On Wed, Feb 08, 2017 at 06:03:34PM +0530, Lokesh Vutla wrote:
Add a generic dts file for spl that is used by all AM57xx based platforms.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com
arch/arm/dts/Makefile | 1 + arch/arm/dts/am57xx-generic-spl.dts | 24 ++++++++++++++++++++++++ configs/am57xx_evm_defconfig | 2 +- configs/am57xx_hs_evm_defconfig | 2 +- 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 arch/arm/dts/am57xx-generic-spl.dts
I wonder if we shouldn't instead make use of the "-u-boot.dtsi" wildcard rules in scripts/Makefile.lib and have this say be omap5-u-boot.dtsi and be automatically included on all of the am57xx/dra7xx DTS files.

On Wednesday 08 February 2017 07:19 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 06:03:34PM +0530, Lokesh Vutla wrote:
Add a generic dts file for spl that is used by all AM57xx based platforms.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com
arch/arm/dts/Makefile | 1 + arch/arm/dts/am57xx-generic-spl.dts | 24 ++++++++++++++++++++++++ configs/am57xx_evm_defconfig | 2 +- configs/am57xx_hs_evm_defconfig | 2 +- 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 arch/arm/dts/am57xx-generic-spl.dts
I wonder if we shouldn't instead make use of the "-u-boot.dtsi" wildcard rules in scripts/Makefile.lib and have this say be omap5-u-boot.dtsi and be automatically included on all of the am57xx/dra7xx DTS files.
Nice one. I did not know this. Just posted updated series using omap5-u-boot.dtsi
Thanks and regards, Lokesh

Add a generic dts file for spl that is used by all DRA7 based platforms.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com --- arch/arm/dts/Makefile | 2 +- arch/arm/dts/dra7-generic-spl.dts | 50 +++++++++++++++++++++++++++++++++++++++ configs/dra7xx_evm_defconfig | 2 +- configs/dra7xx_hs_evm_defconfig | 2 +- 4 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 arch/arm/dts/dra7-generic-spl.dts
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 8945771f64..cc8a8426b6 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -151,7 +151,7 @@ dtb-$(CONFIG_ARCH_SOCFPGA) += \ socfpga_cyclone5_vining_fpga.dtb
dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb \ - dra72-evm-revc.dtb dra71-evm.dtb + dra72-evm-revc.dtb dra71-evm.dtb dra7-generic-spl.dtb dtb-$(CONFIG_TARGET_AM57XX_EVM) += am57xx-beagle-x15.dtb \ am57xx-generic-spl.dtb \ am57xx-beagle-x15-revb1.dtb \ diff --git a/arch/arm/dts/dra7-generic-spl.dts b/arch/arm/dts/dra7-generic-spl.dts new file mode 100644 index 0000000000..9882e5b427 --- /dev/null +++ b/arch/arm/dts/dra7-generic-spl.dts @@ -0,0 +1,50 @@ +/* + * 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 "omap4.dtsi" + */ + +#include "dra7-evm.dts" + +/{ + ocp { + u-boot,dm-pre-reloc; + }; +}; + +/* +&ocp { + u-boot,dm-pre-reloc; +}; +*/ + +&uart1 { + u-boot,dm-pre-reloc; +}; + +&mmc1 { + u-boot,dm-pre-reloc; +}; + +&mmc2 { + u-boot,dm-pre-reloc; +}; + +&l4_wkup { + u-boot,dm-pre-reloc; +}; + +&scm_wkup { + u-boot,dm-pre-reloc; +}; + +&qspi { + u-boot,dm-pre-reloc; + + m25p80@0 { + u-boot,dm-pre-reloc; + }; +}; diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig index 26b26cc4cd..8e0b1681a6 100644 --- a/configs/dra7xx_evm_defconfig +++ b/configs/dra7xx_evm_defconfig @@ -6,7 +6,7 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y CONFIG_ARMV7_LPAE=y CONFIG_SPL_STACK_R_ADDR=0x82000000 -CONFIG_DEFAULT_DEVICE_TREE="dra7-evm" +CONFIG_DEFAULT_DEVICE_TREE="dra7-generic-spl" CONFIG_FIT=y CONFIG_SPL_LOAD_FIT=y CONFIG_OF_BOARD_SETUP=y diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig index 244940cd6c..ef1f9d348e 100644 --- a/configs/dra7xx_hs_evm_defconfig +++ b/configs/dra7xx_hs_evm_defconfig @@ -10,7 +10,7 @@ CONFIG_TI_SECURE_EMIF_PROTECTED_REGION_SIZE=0x01c00000 CONFIG_SPL_SPI_FLASH_SUPPORT=y CONFIG_SPL_SPI_SUPPORT=y CONFIG_SPL_STACK_R_ADDR=0x82000000 -CONFIG_DEFAULT_DEVICE_TREE="dra7-evm" +CONFIG_DEFAULT_DEVICE_TREE="dra7-generic-spl" CONFIG_FIT=y CONFIG_FIT_IMAGE_POST_PROCESS=y CONFIG_SPL_LOAD_FIT=y

Enable SPL_DM on all AM57xx based platforms.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com --- configs/am57xx_evm_defconfig | 5 ++++- configs/am57xx_hs_evm_defconfig | 5 ++++- include/configs/am57xx_evm.h | 5 ----- 3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig index 77555d7269..2bf1aba7ea 100644 --- a/configs/am57xx_evm_defconfig +++ b/configs/am57xx_evm_defconfig @@ -14,7 +14,9 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_BOARD_EARLY_INIT_F=y CONFIG_SPL=y +CONFIG_SPL_SYS_MALLOC_SIMPLE=y CONFIG_SPL_STACK_R=y +CONFIG_SPL_SEPARATE_BSS=y CONFIG_SPL_DMA_SUPPORT=y CONFIG_SPL_OS_BOOT=y CONFIG_HUSH_PARSER=y @@ -52,8 +54,10 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ISO_PARTITION=y CONFIG_OF_CONTROL=y +CONFIG_SPL_OF_CONTROL=y CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am572x-idk am571x-idk" CONFIG_DM=y +CONFIG_SPL_DM=y # CONFIG_BLK is not set CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y @@ -87,4 +91,3 @@ CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Texas Instruments" CONFIG_G_DNL_VENDOR_NUM=0x0451 CONFIG_G_DNL_PRODUCT_NUM=0xd022 -CONFIG_SPL_OF_LIBFDT=y diff --git a/configs/am57xx_hs_evm_defconfig b/configs/am57xx_hs_evm_defconfig index c9a0db7033..d19c5070dd 100644 --- a/configs/am57xx_hs_evm_defconfig +++ b/configs/am57xx_hs_evm_defconfig @@ -19,7 +19,9 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_BOARD_EARLY_INIT_F=y CONFIG_SPL=y +CONFIG_SPL_SYS_MALLOC_SIMPLE=y CONFIG_SPL_STACK_R=y +CONFIG_SPL_SEPARATE_BSS=y CONFIG_SPL_DMA_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_FASTBOOT=y @@ -55,7 +57,9 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ISO_PARTITION=y CONFIG_OF_CONTROL=y +CONFIG_SPL_OF_CONTROL=y CONFIG_DM=y +CONFIG_SPL_DM=y # CONFIG_BLK is not set CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y @@ -85,4 +89,3 @@ CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Texas Instruments" CONFIG_G_DNL_VENDOR_NUM=0x0451 CONFIG_G_DNL_PRODUCT_NUM=0xd022 -CONFIG_SPL_OF_LIBFDT=y diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h index 3d8b996054..9883c9545a 100644 --- a/include/configs/am57xx_evm.h +++ b/include/configs/am57xx_evm.h @@ -121,11 +121,6 @@ #define CONFIG_SYS_SPI_ARGS_OFFS 0x140000 #define CONFIG_SYS_SPI_ARGS_SIZE 0x80000
-#ifdef CONFIG_SPL_BUILD -#undef CONFIG_DM_SPI -#undef CONFIG_DM_SPI_FLASH -#endif - /* SPI SPL */ #define CONFIG_TI_EDMA3 #define CONFIG_SPL_SPI_LOAD

Enable SPL_DM on all DRA7 based platforms.
Signed-off-by: Lokesh Vutla lokeshvutla@ti.com --- configs/dra7xx_evm_defconfig | 5 ++++- configs/dra7xx_hs_evm_defconfig | 5 ++++- include/configs/dra7xx_evm.h | 5 ----- include/configs/ti_omap5_common.h | 8 +------- 4 files changed, 9 insertions(+), 14 deletions(-)
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig index 8e0b1681a6..bc8bedb9c8 100644 --- a/configs/dra7xx_evm_defconfig +++ b/configs/dra7xx_evm_defconfig @@ -14,7 +14,9 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_BOARD_EARLY_INIT_F=y CONFIG_SPL=y +CONFIG_SPL_SYS_MALLOC_SIMPLE=y CONFIG_SPL_STACK_R=y +CONFIG_SPL_SEPARATE_BSS=y CONFIG_SPL_DMA_SUPPORT=y CONFIG_SPL_OS_BOOT=y CONFIG_HUSH_PARSER=y @@ -52,8 +54,10 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ISO_PARTITION=y CONFIG_OF_CONTROL=y +CONFIG_SPL_OF_CONTROL=y CONFIG_OF_LIST="dra7-evm dra72-evm dra72-evm-revc dra71-evm" CONFIG_DM=y +CONFIG_SPL_DM=y # CONFIG_BLK is not set CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y @@ -96,4 +100,3 @@ CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Texas Instruments" CONFIG_G_DNL_VENDOR_NUM=0x0451 CONFIG_G_DNL_PRODUCT_NUM=0xd022 -CONFIG_SPL_OF_LIBFDT=y diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig index ef1f9d348e..996c01418c 100644 --- a/configs/dra7xx_hs_evm_defconfig +++ b/configs/dra7xx_hs_evm_defconfig @@ -20,7 +20,9 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_VERSION_VARIABLE=y CONFIG_BOARD_EARLY_INIT_F=y CONFIG_SPL=y +CONFIG_SPL_SYS_MALLOC_SIMPLE=y CONFIG_SPL_STACK_R=y +CONFIG_SPL_SEPARATE_BSS=y CONFIG_SPL_DMA_SUPPORT=y CONFIG_HUSH_PARSER=y CONFIG_FASTBOOT=y @@ -57,8 +59,10 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ISO_PARTITION=y CONFIG_OF_CONTROL=y +CONFIG_SPL_OF_CONTROL=y CONFIG_OF_LIST="dra7-evm dra72-evm dra72-evm-revc dra71-evm" CONFIG_DM=y +CONFIG_SPL_DM=y # CONFIG_BLK is not set CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y @@ -101,4 +105,3 @@ CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Texas Instruments" CONFIG_G_DNL_VENDOR_NUM=0x0451 CONFIG_G_DNL_PRODUCT_NUM=0xd022 -CONFIG_SPL_OF_LIBFDT=y diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h index bf8c041fb7..827d076e76 100644 --- a/include/configs/dra7xx_evm.h +++ b/include/configs/dra7xx_evm.h @@ -123,11 +123,6 @@ #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 #define CONFIG_QSPI_QUAD_SUPPORT
-#ifdef CONFIG_SPL_BUILD -#undef CONFIG_DM_SPI -#undef CONFIG_DM_SPI_FLASH -#endif - /* * Default to using SPI for environment, etc. * 0x000000 - 0x040000 : QSPI.SPL (256KiB) diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h index 37d65653a5..8f65c2242f 100644 --- a/include/configs/ti_omap5_common.h +++ b/include/configs/ti_omap5_common.h @@ -45,7 +45,7 @@ * Hardware drivers */ #define CONFIG_SYS_NS16550_CLK 48000000 -#if defined(CONFIG_SPL_BUILD) || !defined(CONFIG_DM_SERIAL) +#if !defined(CONFIG_DM_SERIAL) #define CONFIG_SYS_NS16550_SERIAL #define CONFIG_SYS_NS16550_REG_SIZE (-4) #endif @@ -163,14 +163,8 @@ #define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */ #endif
-/* - * Disable MMC DM for SPL build and can be re-enabled after adding - * DM support in SPL - */ #ifdef CONFIG_SPL_BUILD -#undef CONFIG_DM_MMC #undef CONFIG_TIMER -#undef CONFIG_DM_ETH #endif
#endif /* __CONFIG_TI_OMAP5_COMMON_H */

On Wed, Feb 08, 2017 at 06:03:31PM +0530, Lokesh Vutla wrote:
- Enable SPL_DM on all DRA7 and AM57xx based platforms.
- SPL uses a generic dts on all platforms with same defconfig.
- After this series SPL size is increased by ~7KB.
That's not a bad size growth, esp here where we can afford it. Did you experiment with going the board-data way? Also it looks like we're going the same DT for U-Boot proper now, will this work long term? Or do you need to switch to having U-Boot itself be loaded from a FIT image and given the correct board dtb? Thanks!

On Wednesday 08 February 2017 06:26 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 06:03:31PM +0530, Lokesh Vutla wrote:
- Enable SPL_DM on all DRA7 and AM57xx based platforms.
- SPL uses a generic dts on all platforms with same defconfig.
- After this series SPL size is increased by ~7KB.
That's not a bad size growth, esp here where we can afford it. Did you
Yeah, but I am worried about this size on am335x.
experiment with going the board-data way? Also it looks like we're
hmm.. IIUC, board-data is duplication of same data that is available in DT. Anyways all the unsed nodes in DT are removed for SPL case. So, I used this approach.
going the same DT for U-Boot proper now, will this work long term? Or do you need to switch to having U-Boot itself be loaded from a FIT image and given the correct board dtb? Thanks!
The DT that is being introduced in this series will be used only by SPL. For U-Boot proper, a FIT image will be built using OF_LIST. I don't think we need to switch.
Thanks and regards, Lokesh

On Wed, Feb 08, 2017 at 06:37:17PM +0530, Lokesh Vutla wrote:
On Wednesday 08 February 2017 06:26 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 06:03:31PM +0530, Lokesh Vutla wrote:
- Enable SPL_DM on all DRA7 and AM57xx based platforms.
- SPL uses a generic dts on all platforms with same defconfig.
- After this series SPL size is increased by ~7KB.
That's not a bad size growth, esp here where we can afford it. Did you
Yeah, but I am worried about this size on am335x.
Agreed, at least wrt HS platforms as well.
experiment with going the board-data way? Also it looks like we're
hmm.. IIUC, board-data is duplication of same data that is available in DT. Anyways all the unsed nodes in DT are removed for SPL case. So, I used this approach.
My understanding was that going this way (ala rockchip) does save space. We may also need to start saying that gcc-6 is required on these platforms in order to take advantage of having all of the unused strings really be discarded from the final binary.
going the same DT for U-Boot proper now, will this work long term? Or do you need to switch to having U-Boot itself be loaded from a FIT image and given the correct board dtb? Thanks!
The DT that is being introduced in this series will be used only by SPL. For U-Boot proper, a FIT image will be built using OF_LIST. I don't think we need to switch.
Ah, I missed that already being set, sorry.

On Wednesday 08 February 2017 06:45 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 06:37:17PM +0530, Lokesh Vutla wrote:
On Wednesday 08 February 2017 06:26 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 06:03:31PM +0530, Lokesh Vutla wrote:
- Enable SPL_DM on all DRA7 and AM57xx based platforms.
- SPL uses a generic dts on all platforms with same defconfig.
- After this series SPL size is increased by ~7KB.
That's not a bad size growth, esp here where we can afford it. Did you
Yeah, but I am worried about this size on am335x.
Agreed, at least wrt HS platforms as well.
experiment with going the board-data way? Also it looks like we're
hmm.. IIUC, board-data is duplication of same data that is available in DT. Anyways all the unsed nodes in DT are removed for SPL case. So, I used this approach.
My understanding was that going this way (ala rockchip) does save space. We may also need to start saying that gcc-6 is required on these platforms in order to take advantage of having all of the unused strings really be discarded from the final binary.
Okay, Ill try this for am335x. I guess the current approach is fine for DRA7 and AM57?
Thanks and regards, Lokesh
going the same DT for U-Boot proper now, will this work long term? Or do you need to switch to having U-Boot itself be loaded from a FIT image and given the correct board dtb? Thanks!
The DT that is being introduced in this series will be used only by SPL. For U-Boot proper, a FIT image will be built using OF_LIST. I don't think we need to switch.
Ah, I missed that already being set, sorry.

On Wed, Feb 08, 2017 at 06:58:10PM +0530, Lokesh Vutla wrote:
On Wednesday 08 February 2017 06:45 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 06:37:17PM +0530, Lokesh Vutla wrote:
On Wednesday 08 February 2017 06:26 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 06:03:31PM +0530, Lokesh Vutla wrote:
- Enable SPL_DM on all DRA7 and AM57xx based platforms.
- SPL uses a generic dts on all platforms with same defconfig.
- After this series SPL size is increased by ~7KB.
That's not a bad size growth, esp here where we can afford it. Did you
Yeah, but I am worried about this size on am335x.
Agreed, at least wrt HS platforms as well.
experiment with going the board-data way? Also it looks like we're
hmm.. IIUC, board-data is duplication of same data that is available in DT. Anyways all the unsed nodes in DT are removed for SPL case. So, I used this approach.
My understanding was that going this way (ala rockchip) does save space. We may also need to start saying that gcc-6 is required on these platforms in order to take advantage of having all of the unused strings really be discarded from the final binary.
Okay, Ill try this for am335x. I guess the current approach is fine for DRA7 and AM57?
Yes, this is fine for DRA7/AM57.

On 02/08/2017 07:07 AM, Lokesh Vutla wrote:
On Wednesday 08 February 2017 06:26 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 06:03:31PM +0530, Lokesh Vutla wrote:
- Enable SPL_DM on all DRA7 and AM57xx based platforms.
- SPL uses a generic dts on all platforms with same defconfig.
- After this series SPL size is increased by ~7KB.
That's not a bad size growth, esp here where we can afford it. Did you
Yeah, but I am worried about this size on am335x.
I am also, I'm working to save about 30 bytes right now to include another boot mode into HS SPL, +7Kb will simply not work. It looks like you also get some of your saving from enabling simple_malloc, this is already enabled for AM335x-HS, so the size increase will likely be greater on the platform that needs it the most :(
experiment with going the board-data way? Also it looks like we're
hmm.. IIUC, board-data is duplication of same data that is available in DT. Anyways all the unsed nodes in DT are removed for SPL case. So, I used this approach.
It is a duplication, but it will save us having to append and maintain yet another dts file. If the info is static across the platform, we don't gain anything by encoding it in DT. Plus we can drop the SPL_OF_CONTROL and save some space.
Andrew
going the same DT for U-Boot proper now, will this work long term? Or do you need to switch to having U-Boot itself be loaded from a FIT image and given the correct board dtb? Thanks!
The DT that is being introduced in this series will be used only by SPL. For U-Boot proper, a FIT image will be built using OF_LIST. I don't think we need to switch.
Thanks and regards, Lokesh _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On Wed, Feb 08, 2017 at 12:42:33PM -0600, Andrew F. Davis wrote:
On 02/08/2017 07:07 AM, Lokesh Vutla wrote:
On Wednesday 08 February 2017 06:26 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 06:03:31PM +0530, Lokesh Vutla wrote:
- Enable SPL_DM on all DRA7 and AM57xx based platforms.
- SPL uses a generic dts on all platforms with same defconfig.
- After this series SPL size is increased by ~7KB.
That's not a bad size growth, esp here where we can afford it. Did you
Yeah, but I am worried about this size on am335x.
I am also, I'm working to save about 30 bytes right now to include another boot mode into HS SPL, +7Kb will simply not work. It looks like you also get some of your saving from enabling simple_malloc, this is already enabled for AM335x-HS, so the size increase will likely be greater on the platform that needs it the most :(
I know I said it only the other day but switching from gcc-4.x/5.x to 6.x saves a bunch of space, even on am335x hs. I guess my request is that you pick up a gcc-6.x (Debian/unstable, Fedora 25 or I assume Linaro) compiler for ARM and see converting am335x HS to SPL_DT is anywhere close to fitting in the constraint.

On 02/08/2017 02:40 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 12:42:33PM -0600, Andrew F. Davis wrote:
On 02/08/2017 07:07 AM, Lokesh Vutla wrote:
On Wednesday 08 February 2017 06:26 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 06:03:31PM +0530, Lokesh Vutla wrote:
- Enable SPL_DM on all DRA7 and AM57xx based platforms.
- SPL uses a generic dts on all platforms with same defconfig.
- After this series SPL size is increased by ~7KB.
That's not a bad size growth, esp here where we can afford it. Did you
Yeah, but I am worried about this size on am335x.
I am also, I'm working to save about 30 bytes right now to include another boot mode into HS SPL, +7Kb will simply not work. It looks like you also get some of your saving from enabling simple_malloc, this is already enabled for AM335x-HS, so the size increase will likely be greater on the platform that needs it the most :(
I know I said it only the other day but switching from gcc-4.x/5.x to 6.x saves a bunch of space, even on am335x hs. I guess my request is that you pick up a gcc-6.x (Debian/unstable, Fedora 25 or I assume Linaro) compiler for ARM and see converting am335x HS to SPL_DT is anywhere close to fitting in the constraint.
I'm already using Linaro's gcc-6.x, I don't believe SPL fits anymore using the old compilers as it stands today.
Andrew

On Wed, Feb 08, 2017 at 02:46:22PM -0600, Andrew F. Davis wrote:
On 02/08/2017 02:40 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 12:42:33PM -0600, Andrew F. Davis wrote:
On 02/08/2017 07:07 AM, Lokesh Vutla wrote:
On Wednesday 08 February 2017 06:26 PM, Tom Rini wrote:
On Wed, Feb 08, 2017 at 06:03:31PM +0530, Lokesh Vutla wrote:
- Enable SPL_DM on all DRA7 and AM57xx based platforms.
- SPL uses a generic dts on all platforms with same defconfig.
- After this series SPL size is increased by ~7KB.
That's not a bad size growth, esp here where we can afford it. Did you
Yeah, but I am worried about this size on am335x.
I am also, I'm working to save about 30 bytes right now to include another boot mode into HS SPL, +7Kb will simply not work. It looks like you also get some of your saving from enabling simple_malloc, this is already enabled for AM335x-HS, so the size increase will likely be greater on the platform that needs it the most :(
I know I said it only the other day but switching from gcc-4.x/5.x to 6.x saves a bunch of space, even on am335x hs. I guess my request is that you pick up a gcc-6.x (Debian/unstable, Fedora 25 or I assume Linaro) compiler for ARM and see converting am335x HS to SPL_DT is anywhere close to fitting in the constraint.
I'm already using Linaro's gcc-6.x, I don't believe SPL fits anymore using the old compilers as it stands today.
You're enforcing the max size constraint today via the appropriate config option, right?
participants (4)
-
Andrew F. Davis
-
Ladislav Michl
-
Lokesh Vutla
-
Tom Rini