[U-Boot] [PATCH 03/16] arm: Kconfig: Add support for AM43xx SoC specific Kconfig

Andreas Dannenberg
2016-04-18T21:03:58Z

On Fri, Apr 15, 2016 at 04:27:45PM +0530, Lokesh Vutla wrote:
>
>
> On Tuesday 12 April 2016 05:07 AM, Daniel Allred wrote:
> > From: Madan Srinivas <madans@ti.com>
> >
> > Adding support for AM43xx secure devices require the addition
> > of some SOC specific config options like the amount of memory
> > used by public ROM and the address of the entry point of u-boot
> > or SPL, as seen by the ROM code, for the image to be built
> > correctly.
> >
> > This mandates the addition of am AM43xx CONFIG option and the
> > ARM Kconfig file has been modified to source this SOC Kconfig
> > file. Moving the TARGET_AM43XX_EVM config option to the SOC
> > KConfig and out of the arch/arm/Kconfig.
> >
> > Updating defconfigs to add the CONFIG_AM43XX=y statement and
> > removing the #define CONFIG_AM43XX from the header file.
> >
> > Signed-off-by: Madan Srinivas <madans@ti.com>
> > Signed-off-by: Daniel Allred <d-allred@ti.com>
> > ---
> > arch/arm/Kconfig | 19 +++++++++++++------
> > arch/arm/cpu/armv7/am33xx/Kconfig | 13 +++++++++++++
> > configs/am43xx_evm_defconfig | 1 +
> > configs/am43xx_evm_ethboot_defconfig | 1 +
> > configs/am43xx_evm_qspiboot_defconfig | 1 +
> > configs/am43xx_evm_usbhost_boot_defconfig | 1 +
> > include/configs/am43xx_evm.h | 2 --
> > 7 files changed, 30 insertions(+), 8 deletions(-)
> >
> > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > index f18dbe6..088d6e0 100644
> > --- a/arch/arm/Kconfig
> > +++ b/arch/arm/Kconfig
> > @@ -381,12 +381,6 @@ config TARGET_AM335X_SL50
> > select DM
> > select DM_SERIAL
> >
> > -config TARGET_AM43XX_EVM
> > - bool "Support am43xx_evm"
> > - select CPU_V7
> > - select SUPPORT_SPL
> > - select TI_I2C_BOARD_DETECT
> > -
> > config TARGET_BAV335X
> > bool "Support bav335x"
> > select CPU_V7
> > @@ -507,6 +501,17 @@ config OMAP54XX
> > select CPU_V7
> > select SUPPORT_SPL
> >
> > +config AM43XX
> > + bool "AM43XX SoC"
> > + select CPU_V7
> > + select SUPPORT_SPL
> > + help
> > + Support for AM43xx SOC from Texas Instruments.
> > + The AM43xx high performance SOC features a Cortex-A9
> > + ARM core, a quad core PRU-ICSS for industrial Ethernet
> > + protocols, dual camera support, optional 3D graphics
> > + and an optional customer programmable secure boot.
> > +
> > config RMOBILE
> > bool "Renesas ARM SoCs"
> > select CPU_V7
> > @@ -776,6 +781,8 @@ source "arch/arm/cpu/armv7/omap4/Kconfig"
> >
> > source "arch/arm/cpu/armv7/omap5/Kconfig"
> >
> > +source "arch/arm/cpu/armv7/am33xx/Kconfig"
> > +
> > source "arch/arm/mach-orion5x/Kconfig"
> >
> > source "arch/arm/cpu/armv7/rmobile/Kconfig"
> > diff --git a/arch/arm/cpu/armv7/am33xx/Kconfig b/arch/arm/cpu/armv7/am33xx/Kconfig
> > index 39759cd..68bcc64 100644
> > --- a/arch/arm/cpu/armv7/am33xx/Kconfig
> > +++ b/arch/arm/cpu/armv7/am33xx/Kconfig
> > @@ -1,3 +1,15 @@
> > +if AM43XX
> > +config TARGET_AM43XX_EVM
> > + bool "Support am43xx_evm"
> > + select CREATE_BOARD_SYMLINK
>
> This should be TI_I2C_BOARD_DETECT or else you will get a build error.

Yes this is definitely an issue, I just ran into this when trying to
build and test U-Boot for AM43xx HS which is when I saw your response.

However even after fixing this I get additional build errors from SPI,
USB Gadget, and UART related routines such as...

cmd/built-in.o: In function `do_spi_xfer':
/home/a0797059/git/u-boot/cmd/spi.c:61: undefined reference to `spi_setup_slave'
/home/a0797059/git/u-boot/cmd/spi.c:68: undefined reference to `spi_claim_bus'
/home/a0797059/git/u-boot/cmd/spi.c:71: undefined reference to `spi_xfer'
/home/a0797059/git/u-boot/cmd/spi.c:88: undefined reference to `spi_release_bus'
/home/a0797059/git/u-boot/cmd/spi.c:90: undefined reference to `spi_free_slave'

<cut>

I'll be digging into this a bit more to see where that comes from.

Regards,

--
Andreas Dannenberg
Texas Instruments Inc

>
> Thanks and regards,
> Lokesh
>
> > + help
> > + This option specifies support for the AM43xx
> > + GP and HS EVM development platforms.The AM437x
> > + GP EVM is a standalone test, development, and
> > + evaluation module system that enables developers
> > + to write software and develop hardware around
> > + an AM43xx processor subsystem.
> > +
> > config ISW_ENTRY_ADDR
> > hex "Address in memory or XIP flash of bootloader entry point"
> > help
> > @@ -25,3 +37,4 @@ config PUB_ROM_DATA_SIZE
> > image, this area is no longer used, and can be reclaimed
> > for run time use by the boot image.
> > default 0x8400
> > +endif
> > diff --git a/configs/am43xx_evm_defconfig b/configs/am43xx_evm_defconfig
> > index cc83006..4b0a188 100644
> > --- a/configs/am43xx_evm_defconfig
> > +++ b/configs/am43xx_evm_defconfig
> > @@ -1,4 +1,5 @@
> > CONFIG_ARM=y
> > +CONFIG_AM43XX=y
> > CONFIG_TARGET_AM43XX_EVM=y
> > CONFIG_SPL=y
> > CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND"
> > diff --git a/configs/am43xx_evm_ethboot_defconfig b/configs/am43xx_evm_ethboot_defconfig
> > index a720c14..20001ca 100644
> > --- a/configs/am43xx_evm_ethboot_defconfig
> > +++ b/configs/am43xx_evm_ethboot_defconfig
> > @@ -1,4 +1,5 @@
> > CONFIG_ARM=y
> > +CONFIG_AM43XX=y
> > CONFIG_TARGET_AM43XX_EVM=y
> > CONFIG_SPL=y
> > CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND,SPL_ETH_SUPPORT"
> > diff --git a/configs/am43xx_evm_qspiboot_defconfig b/configs/am43xx_evm_qspiboot_defconfig
> > index 6db389b..2170a68 100644
> > --- a/configs/am43xx_evm_qspiboot_defconfig
> > +++ b/configs/am43xx_evm_qspiboot_defconfig
> > @@ -1,4 +1,5 @@
> > CONFIG_ARM=y
> > +CONFIG_AM43XX=y
> > CONFIG_TARGET_AM43XX_EVM=y
> > CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,QSPI,QSPI_BOOT"
> > # CONFIG_CMD_IMLS is not set
> > diff --git a/configs/am43xx_evm_usbhost_boot_defconfig b/configs/am43xx_evm_usbhost_boot_defconfig
> > index cbaf5a5..14343a9 100644
> > --- a/configs/am43xx_evm_usbhost_boot_defconfig
> > +++ b/configs/am43xx_evm_usbhost_boot_defconfig
> > @@ -1,4 +1,5 @@
> > CONFIG_ARM=y
> > +CONFIG_AM43XX=y
> > CONFIG_TARGET_AM43XX_EVM=y
> > CONFIG_SPL=y
> > CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND,SPL_USB_HOST_SUPPORT"
> > diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
> > index fd3f6a7..b98f7a1 100644
> > --- a/include/configs/am43xx_evm.h
> > +++ b/include/configs/am43xx_evm.h
> > @@ -9,8 +9,6 @@
> > #ifndef __CONFIG_AM43XX_EVM_H
> > #define __CONFIG_AM43XX_EVM_H
> >
> > -#define CONFIG_AM43XX
> > -
> > #define CONFIG_CMD_FAT
> >
> > #define CONFIG_BOARD_LATE_INIT
> >
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot