[06/13] Kconfig: Separate AM33XX SOC config from target board config

Message ID 20160818154146.16788-7-afd@ti.com
State New
Headers show

Commit Message

Andrew F. Davis Aug. 18, 2016, 3:41 p.m.
The config option AM33XX is used in several boards and should be
defined as a stand-alone option for this SOC. We break this out
from TARGET_AM335X_EVM then enable AM33XX on in all the boards that
used TARGET_AM335X_EVM to eliminate any functional change with
this patch. Also conditionally define this in ti_am335x_common.h to prevent
redefinition. The definition can be removed completely when all platforms
that include this header have this definition added to their defconfig.

This is similar to what has already been done in
9de852642cae ("arm: Kconfig: Add support for AM43xx SoC specific Kconfig")
and is done for the same reasons.

Signed-off-by: Andrew F. Davis <afd@ti.com>

---
 arch/arm/Kconfig                         | 20 +++++++++++---------
 arch/arm/cpu/armv7/am33xx/Kconfig        | 18 ++++++++++++++++++
 configs/am335x_boneblack_defconfig       |  1 +
 configs/am335x_boneblack_vboot_defconfig |  1 +
 configs/am335x_evm_defconfig             |  1 +
 configs/am335x_evm_nor_defconfig         |  1 +
 configs/am335x_evm_norboot_defconfig     |  1 +
 configs/am335x_evm_spiboot_defconfig     |  1 +
 configs/am335x_evm_usbspl_defconfig      |  1 +
 include/configs/ti_am335x_common.h       |  2 ++
 10 files changed, 38 insertions(+), 9 deletions(-)

-- 
2.9.2

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Comments

Andrew F. Davis Aug. 22, 2016, 3:26 p.m. | #1
On 08/18/2016 11:15 PM, Lokesh Vutla wrote:
> 

> 

> On Thursday 18 August 2016 09:11 PM, Andrew F. Davis wrote:

>> The config option AM33XX is used in several boards and should be

>> defined as a stand-alone option for this SOC. We break this out

>> from TARGET_AM335X_EVM then enable AM33XX on in all the boards that

>> used TARGET_AM335X_EVM to eliminate any functional change with

>> this patch. Also conditionally define this in ti_am335x_common.h to prevent

>> redefinition. The definition can be removed completely when all platforms

>> that include this header have this definition added to their defconfig.

>>

>> This is similar to what has already been done in

>> 9de852642cae ("arm: Kconfig: Add support for AM43xx SoC specific Kconfig")

>> and is done for the same reasons.

>>

>> Signed-off-by: Andrew F. Davis <afd@ti.com>

>> ---

>>  arch/arm/Kconfig                         | 20 +++++++++++---------

>>  arch/arm/cpu/armv7/am33xx/Kconfig        | 18 ++++++++++++++++++

>>  configs/am335x_boneblack_defconfig       |  1 +

>>  configs/am335x_boneblack_vboot_defconfig |  1 +

>>  configs/am335x_evm_defconfig             |  1 +

>>  configs/am335x_evm_nor_defconfig         |  1 +

>>  configs/am335x_evm_norboot_defconfig     |  1 +

>>  configs/am335x_evm_spiboot_defconfig     |  1 +

>>  configs/am335x_evm_usbspl_defconfig      |  1 +

>>  include/configs/ti_am335x_common.h       |  2 ++

>>  10 files changed, 38 insertions(+), 9 deletions(-)

>>

>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig

>> index 5ac9401..00f3bd7 100644

>> --- a/arch/arm/Kconfig

>> +++ b/arch/arm/Kconfig

>> @@ -411,15 +411,6 @@ config TARGET_AM335X_BALTOS

>>  	select DM_SERIAL

>>  	select DM_GPIO

>>  

>> -config TARGET_AM335X_EVM

>> -	bool "Support am335x_evm"

>> -	select CPU_V7

>> -	select SUPPORT_SPL

>> -	select DM

>> -	select DM_SERIAL

>> -	select DM_GPIO

>> -	select TI_I2C_BOARD_DETECT

>> -

>>  config TARGET_AM335X_SHC

> 

> Can you move all TARGET_AM335X_*  similarly?

> 


No problem, added to v2.

> Thanks and regards,

> Lokesh

> 

>>  	bool "Support am335x based shc board from bosch"

>>  	select CPU_V7

>> @@ -579,6 +570,17 @@ config AM43XX

>>  	  protocols, dual camera support, optional 3D graphics

>>  	  and an optional customer programmable secure boot.

>>  

>> +config AM33XX

>> +	bool "AM33XX SoC"

>> +	select CPU_V7

>> +	select SUPPORT_SPL

>> +	help

>> +	  Support for AM335x SOC from Texas Instruments.

>> +	  The AM335x high performance SOC features a Cortex-A8

>> +	  ARM core, a dual core PRU-ICSS for industrial Ethernet

>> +	  protocols, optional 3D graphics and an optional customer

>> +	  programmable secure boot.

>> +

>>  config RMOBILE

>>  	bool "Renesas ARM SoCs"

>>  	select CPU_V7

>> diff --git a/arch/arm/cpu/armv7/am33xx/Kconfig b/arch/arm/cpu/armv7/am33xx/Kconfig

>> index dc51e9b..60f1b40 100644

>> --- a/arch/arm/cpu/armv7/am33xx/Kconfig

>> +++ b/arch/arm/cpu/armv7/am33xx/Kconfig

>> @@ -1,3 +1,19 @@

>> +if AM33XX

>> +config TARGET_AM335X_EVM

>> +	bool "Support am335x_evm"

>> +	select DM

>> +	select DM_SERIAL

>> +	select DM_GPIO

>> +	select TI_I2C_BOARD_DETECT

>> +	help

>> +	  This option specifies support for the AM335x

>> +	  GP and HS EVM development platforms. The AM335x

>> +	  GP EVM is a standalone test, development, and

>> +	  evaluation module system that enables developers

>> +	  to write software and develop hardware around

>> +	  an AM335x processor subsystem.

>> +endif

>> +

>>  if AM43XX

>>  config TARGET_AM43XX_EVM

>>  	bool "Support am43xx_evm"

>> @@ -9,7 +25,9 @@ config TARGET_AM43XX_EVM

>>  	  evaluation module system that enables developers

>>  	  to write software and develop hardware around

>>  	  an AM43xx processor subsystem.

>> +endif

>>  

>> +if AM43XX || AM33XX

>>  config ISW_ENTRY_ADDR

>>  	hex "Address in memory or XIP flash of bootloader entry point"

>>  	help

>> diff --git a/configs/am335x_boneblack_defconfig b/configs/am335x_boneblack_defconfig

>> index deb085d..30ff029 100644

>> --- a/configs/am335x_boneblack_defconfig

>> +++ b/configs/am335x_boneblack_defconfig

>> @@ -1,4 +1,5 @@

>>  CONFIG_ARM=y

>> +CONFIG_AM33XX=y

>>  CONFIG_TARGET_AM335X_EVM=y

>>  CONFIG_SPL_STACK_R_ADDR=0x82000000

>>  CONFIG_SPL=y

>> diff --git a/configs/am335x_boneblack_vboot_defconfig b/configs/am335x_boneblack_vboot_defconfig

>> index 90e20d1..7ff0c87 100644

>> --- a/configs/am335x_boneblack_vboot_defconfig

>> +++ b/configs/am335x_boneblack_vboot_defconfig

>> @@ -1,4 +1,5 @@

>>  CONFIG_ARM=y

>> +CONFIG_AM33XX=y

>>  CONFIG_TARGET_AM335X_EVM=y

>>  CONFIG_SPL_STACK_R_ADDR=0x82000000

>>  CONFIG_DEFAULT_DEVICE_TREE="am335x-boneblack"

>> diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig

>> index 0fdf103..d44c0da 100644

>> --- a/configs/am335x_evm_defconfig

>> +++ b/configs/am335x_evm_defconfig

>> @@ -1,4 +1,5 @@

>>  CONFIG_ARM=y

>> +CONFIG_AM33XX=y

>>  CONFIG_TARGET_AM335X_EVM=y

>>  CONFIG_SPL_STACK_R_ADDR=0x82000000

>>  CONFIG_DEFAULT_DEVICE_TREE="am335x-evm"

>> diff --git a/configs/am335x_evm_nor_defconfig b/configs/am335x_evm_nor_defconfig

>> index 6614f50..e8fef13 100644

>> --- a/configs/am335x_evm_nor_defconfig

>> +++ b/configs/am335x_evm_nor_defconfig

>> @@ -1,4 +1,5 @@

>>  CONFIG_ARM=y

>> +CONFIG_AM33XX=y

>>  CONFIG_TARGET_AM335X_EVM=y

>>  CONFIG_SPL_STACK_R_ADDR=0x82000000

>>  CONFIG_NOR=y

>> diff --git a/configs/am335x_evm_norboot_defconfig b/configs/am335x_evm_norboot_defconfig

>> index 99fc555..063eea7 100644

>> --- a/configs/am335x_evm_norboot_defconfig

>> +++ b/configs/am335x_evm_norboot_defconfig

>> @@ -1,4 +1,5 @@

>>  CONFIG_ARM=y

>> +CONFIG_AM33XX=y

>>  CONFIG_TARGET_AM335X_EVM=y

>>  CONFIG_NOR=y

>>  CONFIG_NOR_BOOT=y

>> diff --git a/configs/am335x_evm_spiboot_defconfig b/configs/am335x_evm_spiboot_defconfig

>> index be123d6..f4c03a1 100644

>> --- a/configs/am335x_evm_spiboot_defconfig

>> +++ b/configs/am335x_evm_spiboot_defconfig

>> @@ -1,4 +1,5 @@

>>  CONFIG_ARM=y

>> +CONFIG_AM33XX=y

>>  CONFIG_TARGET_AM335X_EVM=y

>>  CONFIG_SPL_STACK_R_ADDR=0x82000000

>>  CONFIG_SPL=y

>> diff --git a/configs/am335x_evm_usbspl_defconfig b/configs/am335x_evm_usbspl_defconfig

>> index cba5e84..b689181 100644

>> --- a/configs/am335x_evm_usbspl_defconfig

>> +++ b/configs/am335x_evm_usbspl_defconfig

>> @@ -1,4 +1,5 @@

>>  CONFIG_ARM=y

>> +CONFIG_AM33XX=y

>>  CONFIG_TARGET_AM335X_EVM=y

>>  CONFIG_SPL_STACK_R_ADDR=0x82000000

>>  CONFIG_SPL=y

>> diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h

>> index 25c9643..4294c25 100644

>> --- a/include/configs/ti_am335x_common.h

>> +++ b/include/configs/ti_am335x_common.h

>> @@ -12,7 +12,9 @@

>>  #ifndef __CONFIG_TI_AM335X_COMMON_H__

>>  #define __CONFIG_TI_AM335X_COMMON_H__

>>  

>> +#ifndef CONFIG_AM33XX

>>  #define CONFIG_AM33XX

>> +#endif

>>  #define CONFIG_ARCH_CPU_INIT

>>  #define CONFIG_SYS_CACHELINE_SIZE       64

>>  #define CONFIG_MAX_RAM_BANK_SIZE	(1024 << 20)	/* 1GB */

>>

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 5ac9401..00f3bd7 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -411,15 +411,6 @@  config TARGET_AM335X_BALTOS
 	select DM_SERIAL
 	select DM_GPIO
 
-config TARGET_AM335X_EVM
-	bool "Support am335x_evm"
-	select CPU_V7
-	select SUPPORT_SPL
-	select DM
-	select DM_SERIAL
-	select DM_GPIO
-	select TI_I2C_BOARD_DETECT
-
 config TARGET_AM335X_SHC
 	bool "Support am335x based shc board from bosch"
 	select CPU_V7
@@ -579,6 +570,17 @@  config AM43XX
 	  protocols, dual camera support, optional 3D graphics
 	  and an optional customer programmable secure boot.
 
+config AM33XX
+	bool "AM33XX SoC"
+	select CPU_V7
+	select SUPPORT_SPL
+	help
+	  Support for AM335x SOC from Texas Instruments.
+	  The AM335x high performance SOC features a Cortex-A8
+	  ARM core, a dual core PRU-ICSS for industrial Ethernet
+	  protocols, optional 3D graphics and an optional customer
+	  programmable secure boot.
+
 config RMOBILE
 	bool "Renesas ARM SoCs"
 	select CPU_V7
diff --git a/arch/arm/cpu/armv7/am33xx/Kconfig b/arch/arm/cpu/armv7/am33xx/Kconfig
index dc51e9b..60f1b40 100644
--- a/arch/arm/cpu/armv7/am33xx/Kconfig
+++ b/arch/arm/cpu/armv7/am33xx/Kconfig
@@ -1,3 +1,19 @@ 
+if AM33XX
+config TARGET_AM335X_EVM
+	bool "Support am335x_evm"
+	select DM
+	select DM_SERIAL
+	select DM_GPIO
+	select TI_I2C_BOARD_DETECT
+	help
+	  This option specifies support for the AM335x
+	  GP and HS EVM development platforms. The AM335x
+	  GP EVM is a standalone test, development, and
+	  evaluation module system that enables developers
+	  to write software and develop hardware around
+	  an AM335x processor subsystem.
+endif
+
 if AM43XX
 config TARGET_AM43XX_EVM
 	bool "Support am43xx_evm"
@@ -9,7 +25,9 @@  config TARGET_AM43XX_EVM
 	  evaluation module system that enables developers
 	  to write software and develop hardware around
 	  an AM43xx processor subsystem.
+endif
 
+if AM43XX || AM33XX
 config ISW_ENTRY_ADDR
 	hex "Address in memory or XIP flash of bootloader entry point"
 	help
diff --git a/configs/am335x_boneblack_defconfig b/configs/am335x_boneblack_defconfig
index deb085d..30ff029 100644
--- a/configs/am335x_boneblack_defconfig
+++ b/configs/am335x_boneblack_defconfig
@@ -1,4 +1,5 @@ 
 CONFIG_ARM=y
+CONFIG_AM33XX=y
 CONFIG_TARGET_AM335X_EVM=y
 CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
diff --git a/configs/am335x_boneblack_vboot_defconfig b/configs/am335x_boneblack_vboot_defconfig
index 90e20d1..7ff0c87 100644
--- a/configs/am335x_boneblack_vboot_defconfig
+++ b/configs/am335x_boneblack_vboot_defconfig
@@ -1,4 +1,5 @@ 
 CONFIG_ARM=y
+CONFIG_AM33XX=y
 CONFIG_TARGET_AM335X_EVM=y
 CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_DEFAULT_DEVICE_TREE="am335x-boneblack"
diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
index 0fdf103..d44c0da 100644
--- a/configs/am335x_evm_defconfig
+++ b/configs/am335x_evm_defconfig
@@ -1,4 +1,5 @@ 
 CONFIG_ARM=y
+CONFIG_AM33XX=y
 CONFIG_TARGET_AM335X_EVM=y
 CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_DEFAULT_DEVICE_TREE="am335x-evm"
diff --git a/configs/am335x_evm_nor_defconfig b/configs/am335x_evm_nor_defconfig
index 6614f50..e8fef13 100644
--- a/configs/am335x_evm_nor_defconfig
+++ b/configs/am335x_evm_nor_defconfig
@@ -1,4 +1,5 @@ 
 CONFIG_ARM=y
+CONFIG_AM33XX=y
 CONFIG_TARGET_AM335X_EVM=y
 CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_NOR=y
diff --git a/configs/am335x_evm_norboot_defconfig b/configs/am335x_evm_norboot_defconfig
index 99fc555..063eea7 100644
--- a/configs/am335x_evm_norboot_defconfig
+++ b/configs/am335x_evm_norboot_defconfig
@@ -1,4 +1,5 @@ 
 CONFIG_ARM=y
+CONFIG_AM33XX=y
 CONFIG_TARGET_AM335X_EVM=y
 CONFIG_NOR=y
 CONFIG_NOR_BOOT=y
diff --git a/configs/am335x_evm_spiboot_defconfig b/configs/am335x_evm_spiboot_defconfig
index be123d6..f4c03a1 100644
--- a/configs/am335x_evm_spiboot_defconfig
+++ b/configs/am335x_evm_spiboot_defconfig
@@ -1,4 +1,5 @@ 
 CONFIG_ARM=y
+CONFIG_AM33XX=y
 CONFIG_TARGET_AM335X_EVM=y
 CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
diff --git a/configs/am335x_evm_usbspl_defconfig b/configs/am335x_evm_usbspl_defconfig
index cba5e84..b689181 100644
--- a/configs/am335x_evm_usbspl_defconfig
+++ b/configs/am335x_evm_usbspl_defconfig
@@ -1,4 +1,5 @@ 
 CONFIG_ARM=y
+CONFIG_AM33XX=y
 CONFIG_TARGET_AM335X_EVM=y
 CONFIG_SPL_STACK_R_ADDR=0x82000000
 CONFIG_SPL=y
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
index 25c9643..4294c25 100644
--- a/include/configs/ti_am335x_common.h
+++ b/include/configs/ti_am335x_common.h
@@ -12,7 +12,9 @@ 
 #ifndef __CONFIG_TI_AM335X_COMMON_H__
 #define __CONFIG_TI_AM335X_COMMON_H__
 
+#ifndef CONFIG_AM33XX
 #define CONFIG_AM33XX
+#endif
 #define CONFIG_ARCH_CPU_INIT
 #define CONFIG_SYS_CACHELINE_SIZE       64
 #define CONFIG_MAX_RAM_BANK_SIZE	(1024 << 20)	/* 1GB */