diff mbox

[U-Boot,V2,4/4] configs: ti_armv7_keystone2: start using armv7_common

Message ID 1437073738-25289-5-git-send-email-nm@ti.com
State Superseded
Delegated to: Tom Rini
Headers show

Commit Message

Nishanth Menon July 16, 2015, 7:08 p.m. UTC
Try to maintain as much commonality by conditionally including stuff
in armv7_common as necessary and removing the common defines from
keystone2 header.

Signed-off-by: Nishanth Menon <nm@ti.com>
---
Changes in V2:
	- common CONFIG_SYS_SDRAM_BASE
	- common CONFIG_SYS_LOAD_ADDR
	- rebased to new series

V1: https://patchwork.ozlabs.org/patch/496730/

 include/configs/k2e_evm.h            |  2 --
 include/configs/k2hk_evm.h           |  2 --
 include/configs/k2l_evm.h            |  2 --
 include/configs/ti_armv7_common.h    |  6 ++++-
 include/configs/ti_armv7_keystone2.h | 52 +++++++++++-------------------------
 5 files changed, 20 insertions(+), 44 deletions(-)

Comments

Murali Karicheri July 17, 2015, 4:04 p.m. UTC | #1
On 07/16/2015 03:08 PM, Nishanth Menon wrote:
> Try to maintain as much commonality by conditionally including stuff
> in armv7_common as necessary and removing the common defines from
> keystone2 header.
>
Including the common ti_armv7_common.h for keystone also add duplication 
of the various addresses

#define DEFAULT_LINUX_BOOT_ENV \
	"loadaddr=0x82000000\0" \
	"kernel_addr_r=0x82000000\0" \
	"fdtaddr=0x88000000\0" \
	"fdt_addr_r=0x88000000\0" \
	"rdaddr=0x88080000\0" \
	"ramdisk_addr_r=0x88080000\0" \
	"bootm_size=0x10000000\0"

Some of these are also defined in keystone common file. The env scripts 
for keystone to be reworked to use the common variable above.

Rework the CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS to include common as well.

Did you do a test with env default -f -a with this to check if it 
continues to work for Keystone Linux boot.



> Signed-off-by: Nishanth Menon <nm@ti.com>
> ---
> Changes in V2:
> 	- common CONFIG_SYS_SDRAM_BASE
> 	- common CONFIG_SYS_LOAD_ADDR
> 	- rebased to new series
>
> V1: https://patchwork.ozlabs.org/patch/496730/
>
>   include/configs/k2e_evm.h            |  2 --
>   include/configs/k2hk_evm.h           |  2 --
>   include/configs/k2l_evm.h            |  2 --
>   include/configs/ti_armv7_common.h    |  6 ++++-
>   include/configs/ti_armv7_keystone2.h | 52 +++++++++++-------------------------
>   5 files changed, 20 insertions(+), 44 deletions(-)
>
> diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h
> index ac50a01b2980..f1e650141ae1 100644
> --- a/include/configs/k2e_evm.h
> +++ b/include/configs/k2e_evm.h
> @@ -15,8 +15,6 @@
>   #define CONFIG_K2E_EVM
>
>   /* U-Boot general configuration */
> -#define CONFIG_SYS_PROMPT               "K2E EVM # "

Why remove this?

> -
>   #define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS				\
>   	"addr_mon=0x0c140000\0"						\
>   	"args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "	\
> diff --git a/include/configs/k2hk_evm.h b/include/configs/k2hk_evm.h
> index 29e3403aa082..f8e83de64b63 100644
> --- a/include/configs/k2hk_evm.h
> +++ b/include/configs/k2hk_evm.h
> @@ -15,8 +15,6 @@
>   #define CONFIG_K2HK_EVM
>
>   /* U-Boot general configuration */
> -#define CONFIG_SYS_PROMPT               "K2HK EVM # "
Same here
> -
>   #define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS				\
>   	"addr_mon=0x0c5f0000\0"						\
>   	"args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "	\
> diff --git a/include/configs/k2l_evm.h b/include/configs/k2l_evm.h
> index 50d5c991a0bb..395608a5f6db 100644
> --- a/include/configs/k2l_evm.h
> +++ b/include/configs/k2l_evm.h
> @@ -15,8 +15,6 @@
>   #define CONFIG_K2L_EVM
>
>   /* U-Boot general configuration */
> -#define CONFIG_SYS_PROMPT		"K2L EVM # "
> -
Same here

>   #define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS				\
>   	"addr_mon=0x0c140000\0"						\
>   	"args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "	\
> diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
> index 63244dbc83ff..814da3409c46 100644
> --- a/include/configs/ti_armv7_common.h
> +++ b/include/configs/ti_armv7_common.h
> @@ -73,9 +73,13 @@
>   #ifndef CONFIG_NR_DRAM_BANKS
>   #define CONFIG_NR_DRAM_BANKS		1
>   #endif
> +
Why these extra spaces?

>   #define CONFIG_SYS_SDRAM_BASE		0x80000000
> +
> +#ifndef CONFIG_SYS_INIT_SP_ADDR
>   #define CONFIG_SYS_INIT_SP_ADDR         (NON_SECURE_SRAM_END - \
>   						GENERATED_GBL_DATA_SIZE)
> +#endif
>
>   /* Timer information. */
>   #define CONFIG_SYS_PTV			2	/* Divisor: 2^(PTV+1) => 8 */
> @@ -140,7 +144,7 @@
>    * mtdparts, both for ease of use in U-Boot and for passing information
>    * on to the Linux kernel.
>    */
> -#if defined(CONFIG_SPI_BOOT) || defined(CONFIG_NOR) || defined(CONFIG_NAND)
> +#if defined(CONFIG_SPI_BOOT) || defined(CONFIG_NOR) || defined(CONFIG_NAND) || defined(CONFIG_NAND_DAVINCI)
>   #define CONFIG_MTD_DEVICE		/* Required for mtdparts */
>   #define CONFIG_CMD_MTDPARTS
>   #endif
> diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
> index d838f270018b..7d89bd78e43b 100644
> --- a/include/configs/ti_armv7_keystone2.h
> +++ b/include/configs/ti_armv7_keystone2.h
> @@ -14,10 +14,7 @@
>
>   /* U-Boot Build Configuration */
>   #define CONFIG_SKIP_LOWLEVEL_INIT	/* U-Boot is a 2nd stage loader */
> -#define CONFIG_SYS_NO_FLASH		/* that is, no *NOR* flash */
> -#define CONFIG_SYS_CONSOLE_INFO_QUIET
>   #define CONFIG_BOARD_EARLY_INIT_F
> -#define CONFIG_SYS_THUMB_BUILD
>
>   /* SoC Configuration */
>   #define CONFIG_ARCH_CPU_INIT
> @@ -28,11 +25,9 @@
>
>   /* Memory Configuration */
>   #define CONFIG_NR_DRAM_BANKS		2
> -#define CONFIG_SYS_SDRAM_BASE		0x80000000
>   #define CONFIG_SYS_LPAE_SDRAM_BASE	0x800000000
>   #define CONFIG_MAX_RAM_BANK_SIZE	(2 << 30)       /* 2GB */
>   #define CONFIG_STACKSIZE		(512 << 10)     /* 512 KiB */
> -#define CONFIG_SYS_MALLOC_LEN		(4 << 20)       /* 4 MiB */
>   #define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_TEXT_BASE - \
>   					GENERATED_GBL_DATA_SIZE)
>
> @@ -49,15 +44,10 @@
>   #define CONFIG_SPL_STACK		(CONFIG_SYS_SPL_MALLOC_START + \
>   					CONFIG_SYS_SPL_MALLOC_SIZE + \
>   					CONFIG_SPL_STACK_SIZE - 4)
> -#define CONFIG_SPL_LIBCOMMON_SUPPORT
> -#define CONFIG_SPL_LIBGENERIC_SUPPORT
> -#define CONFIG_SPL_SERIAL_SUPPORT
>   #define CONFIG_SPL_SPI_FLASH_SUPPORT
>   #define CONFIG_SPL_SPI_SUPPORT
> -#define CONFIG_SPL_BOARD_INIT
>   #define CONFIG_SPL_SPI_LOAD
>   #define CONFIG_SYS_SPI_U_BOOT_OFFS	CONFIG_SPL_PAD_TO
> -#define CONFIG_SPL_FRAMEWORK
>
>   /* UART Configuration */
>   #define CONFIG_SYS_NS16550
> @@ -68,13 +58,10 @@
>   #define CONFIG_SYS_NS16550_COM2		KS2_UART1_BASE
>   #define CONFIG_SYS_NS16550_CLK		clk_get_rate(KS2_CLK1_6)
>   #define CONFIG_CONS_INDEX		1
> -#define CONFIG_BAUDRATE			115200
>
>   /* SPI Configuration */
> -#define CONFIG_SPI
>   #define CONFIG_SPI_FLASH_STMICRO
>   #define CONFIG_DAVINCI_SPI
> -#define CONFIG_CMD_SPI
>   #define CONFIG_SYS_SPI_CLK		clk_get_rate(KS2_CLK1_6)
>   #define CONFIG_SF_DEFAULT_SPEED		30000000
>   #define CONFIG_ENV_SPI_MAX_HZ		CONFIG_SF_DEFAULT_SPEED
> @@ -148,7 +135,6 @@
>   #define CONFIG_AEMIF_CNTRL_BASE		KS2_AEMIF_CNTRL_BASE
>
>   /* I2C Configuration */
> -#define CONFIG_SYS_I2C
>   #define CONFIG_SYS_I2C_DAVINCI
>   #define CONFIG_SYS_DAVINCI_I2C_SPEED	100000
>   #define CONFIG_SYS_DAVINCI_I2C_SLAVE	0x10 /* SMBus host address */
> @@ -185,7 +171,6 @@
>   #define CONFIG_ENV_IS_IN_NAND
>   #define CONFIG_ENV_OFFSET			0x100000
>   #define CONFIG_MTD_PARTITIONS
> -#define CONFIG_MTD_DEVICE
>   #define CONFIG_RBTREE
>   #define CONFIG_LZO
>   #define MTDIDS_DEFAULT			"nand0=davinci_nand.0"
> @@ -197,8 +182,6 @@
>   #define CONFIG_USB_XHCI
>   #define CONFIG_USB_XHCI_KEYSTONE
>   #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS	2
> -#define CONFIG_USB_STORAGE
> -#define CONFIG_DOS_PARTITION
>   #define CONFIG_EFI_PARTITION
>   #define CONFIG_FS_FAT
>   #define CONFIG_SYS_CACHELINE_SIZE		64
> @@ -208,39 +191,25 @@
>   #define CONFIG_USB_PHY_CFG_BASE			KS2_USB_PHY_CFG_BASE
>
>   /* U-Boot command configuration */
> -#define CONFIG_CMD_ASKENV
>   #define CONFIG_CMD_DHCP
> -#define CONFIG_CMD_I2C
>   #define CONFIG_CMD_PING
>   #define CONFIG_CMD_SAVES
> -#define CONFIG_CMD_MTDPARTS
>   #define CONFIG_CMD_NAND
>   #define CONFIG_CMD_UBI
>   #define CONFIG_CMD_UBIFS
>   #define CONFIG_CMD_SF
>   #define CONFIG_CMD_EEPROM
>   #define CONFIG_CMD_USB
> -#define CONFIG_CMD_FAT
> -#define CONFIG_CMD_FS_GENERIC
>
>   /* U-Boot general configuration */
> -#define CONFIG_SYS_GENERIC_BOARD
>   #define CONFIG_MISC_INIT_R
> -#define CONFIG_SYS_CBSIZE		1024
> -#define CONFIG_SYS_PBSIZE		2048
> -#define CONFIG_SYS_MAXARGS		16
> -#define CONFIG_SYS_HUSH_PARSER
> -#define CONFIG_SYS_LONGHELP
>   #define CONFIG_CRC32_VERIFY
>   #define CONFIG_MX_CYCLIC
> -#define CONFIG_CMDLINE_EDITING
> -#define CONFIG_VERSION_VARIABLE
>   #define CONFIG_TIMESTAMP
>
>   /* EDMA3 */
>   #define CONFIG_TI_EDMA3
>
> -#define CONFIG_BOOTDELAY		3
>   #define CONFIG_BOOTFILE			"uImage"
>   #define CONFIG_EXTRA_ENV_SETTINGS					\
>   	CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS				\
> @@ -301,14 +270,23 @@
>   #define CONFIG_BOOTARGS							\
>
>   /* Linux interfacing */
> -#define CONFIG_CMDLINE_TAG
> -#define CONFIG_SETUP_MEMORY_TAGS
> -#define CONFIG_OF_LIBFDT		1
>   #define CONFIG_OF_BOARD_SETUP
> -#define CONFIG_SYS_BARGSIZE		1024
> -#define CONFIG_SYS_LOAD_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x08000000)
>
> -#define CONFIG_SUPPORT_RAW_INITRD
> +
> +/* Now for the remaining common defines */
> +#include <configs/ti_armv7_common.h>
> +
> +/* We wont be loading up OS from SPL for now.. */
> +#undef CONFIG_SPL_OS_BOOT
> +/* We do not have MMC SPL support.. yet.. */
> +#undef CONFIG_SPL_LIBDISK_SUPPORT
> +#undef CONFIG_SPL_MMC_SUPPORT
> +#undef CONFIG_SPL_FAT_SUPPORT
> +#undef CONFIG_SPL_EXT_SUPPORT
> +
> +/* And no support for GPIO, yet.. */
> +#undef CONFIG_SPL_GPIO_SUPPORT
> +#undef CONFIG_CMD_GPIO
>
>   /* we may include files below only after all above definitions */
>   #include <asm/arch/hardware.h>
>
I assume the one you have removed is already part of 
include/configs/ti_armv7_keystone2.h.
Nishanth Menon July 17, 2015, 4:52 p.m. UTC | #2
On 07/17/2015 11:04 AM, Murali Karicheri wrote:
> On 07/16/2015 03:08 PM, Nishanth Menon wrote:
>> Try to maintain as much commonality by conditionally including stuff
>> in armv7_common as necessary and removing the common defines from
>> keystone2 header.
>>
> Including the common ti_armv7_common.h for keystone also add duplication
> of the various addresses
> 
> #define DEFAULT_LINUX_BOOT_ENV \
>     "loadaddr=0x82000000\0" \
>     "kernel_addr_r=0x82000000\0" \
>     "fdtaddr=0x88000000\0" \
>     "fdt_addr_r=0x88000000\0" \
>     "rdaddr=0x88080000\0" \
>     "ramdisk_addr_r=0x88080000\0" \
>     "bootm_size=0x10000000\0"
> 
> Some of these are also defined in keystone common file. The env scripts
> for keystone to be reworked to use the common variable above.
> 
> Rework the CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS to include common as well.

we need to cleanup all the variables  once we get the distro config
included in anyways... I had decided not to rock the apple cart too much
with this patch -> just the basic consolidation with as minimal changes
as necessary. inclusion of DEFAULT_LINUX_BOOT_ENV into keystone2.h can
be done as a follow on patch.

> Did you do a test with env default -f -a with this to check if it
> continues to work for Keystone Linux boot.
> 

after the series: http://pastebin.ubuntu.com/11893531/
before the series: http://pastebin.ubuntu.com/11893576/
deltas:
bootdelay is 1 now
additional definitions:
arch=arm
soc=keystone    	
vendor=ti
cpu=armv7
board=ks2_evm
board_name=ks2_evm

will be great to get a tested by on that. Nothing else seems to have
changed.

>>
>> diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h
>> index ac50a01b2980..f1e650141ae1 100644
>> --- a/include/configs/k2e_evm.h
>> +++ b/include/configs/k2e_evm.h
>> @@ -15,8 +15,6 @@
>>   #define CONFIG_K2E_EVM
>>
>>   /* U-Boot general configuration */
>> -#define CONFIG_SYS_PROMPT               "K2E EVM # "
> 
> Why remove this?

arm_v7_common defines just "u-boot#" for all SoC and boards. So, we dont
need this.

>>   #define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS                \
>>       "addr_mon=0x0c140000\0"                        \
>>       "args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "    \
>> diff --git a/include/configs/ti_armv7_common.h
>> b/include/configs/ti_armv7_common.h
>> index 63244dbc83ff..814da3409c46 100644
>> --- a/include/configs/ti_armv7_common.h
>> +++ b/include/configs/ti_armv7_common.h
>> @@ -73,9 +73,13 @@
>>   #ifndef CONFIG_NR_DRAM_BANKS
>>   #define CONFIG_NR_DRAM_BANKS        1
>>   #endif
>> +
> Why these extra spaces?

Thanks.. will drop.

> I assume the one you have removed is already part of
> include/configs/ti_armv7_keystone2.h.

for i in `git grep "^#define" include/configs/ti_armv7_keystone2.h|sed
-e "s/\s\s*/ /g"|cut -d ' ' -f2|sort|uniq`; do k=`git grep $i
include/configs/ti_armv7_common.h`; if [ -n "$k" ]; then echo $i; fi; done

Then started cleaning them up.
Murali Karicheri July 17, 2015, 5:11 p.m. UTC | #3
On 07/17/2015 12:52 PM, Nishanth Menon wrote:
> On 07/17/2015 11:04 AM, Murali Karicheri wrote:
>> On 07/16/2015 03:08 PM, Nishanth Menon wrote:
>>> Try to maintain as much commonality by conditionally including stuff
>>> in armv7_common as necessary and removing the common defines from
>>> keystone2 header.
>>>
>> Including the common ti_armv7_common.h for keystone also add duplication
>> of the various addresses
>>
>> #define DEFAULT_LINUX_BOOT_ENV \
>>      "loadaddr=0x82000000\0" \
>>      "kernel_addr_r=0x82000000\0" \
>>      "fdtaddr=0x88000000\0" \
>>      "fdt_addr_r=0x88000000\0" \
>>      "rdaddr=0x88080000\0" \
>>      "ramdisk_addr_r=0x88080000\0" \
>>      "bootm_size=0x10000000\0"
>>
>> Some of these are also defined in keystone common file. The env scripts
>> for keystone to be reworked to use the common variable above.
>>
>> Rework the CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS to include common as well.
>
> we need to cleanup all the variables  once we get the distro config

What do you mean by distro config? Could you explain?

> included in anyways... I had decided not to rock the apple cart too much
> with this patch -> just the basic consolidation with as minimal changes
> as necessary. inclusion of DEFAULT_LINUX_BOOT_ENV into keystone2.h can
> be done as a follow on patch.

Probably not this one. User would see both these variables and will 
cause confusion and should be fixed.

>
>> Did you do a test with env default -f -a with this to check if it
>> continues to work for Keystone Linux boot.
>>
>
> after the series: http://pastebin.ubuntu.com/11893531/
> before the series: http://pastebin.ubuntu.com/11893576/
> deltas:
> bootdelay is 1 now
> additional definitions:
> arch=arm
> soc=keystone    	
> vendor=ti
> cpu=armv7
> board=ks2_evm
> board_name=ks2_evm
>
> will be great to get a tested by on that. Nothing else seems to have
> changed.
>
>>>
>>> diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h
>>> index ac50a01b2980..f1e650141ae1 100644
>>> --- a/include/configs/k2e_evm.h
>>> +++ b/include/configs/k2e_evm.h
>>> @@ -15,8 +15,6 @@
>>>    #define CONFIG_K2E_EVM
>>>
>>>    /* U-Boot general configuration */
>>> -#define CONFIG_SYS_PROMPT               "K2E EVM # "
>>
>> Why remove this?
>
> arm_v7_common defines just "u-boot#" for all SoC and boards. So, we dont
> need this.

Sorry, this may be needed from the automation perspective. Also for 
backward compatibility for users. Would like to keep for K2.

>
>>>    #define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS                \
>>>        "addr_mon=0x0c140000\0"                        \
>>>        "args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "    \
>>> diff --git a/include/configs/ti_armv7_common.h
>>> b/include/configs/ti_armv7_common.h
>>> index 63244dbc83ff..814da3409c46 100644
>>> --- a/include/configs/ti_armv7_common.h
>>> +++ b/include/configs/ti_armv7_common.h
>>> @@ -73,9 +73,13 @@
>>>    #ifndef CONFIG_NR_DRAM_BANKS
>>>    #define CONFIG_NR_DRAM_BANKS        1
>>>    #endif
>>> +
>> Why these extra spaces?
>
> Thanks.. will drop.
>
>> I assume the one you have removed is already part of
>> include/configs/ti_armv7_keystone2.h.
>
> for i in `git grep "^#define" include/configs/ti_armv7_keystone2.h|sed
> -e "s/\s\s*/ /g"|cut -d ' ' -f2|sort|uniq`; do k=`git grep $i
> include/configs/ti_armv7_common.h`; if [ -n "$k" ]; then echo $i; fi; done
>
> Then started cleaning them up.
>
>
>
Nishanth Menon July 17, 2015, 5:25 p.m. UTC | #4
On 07/17/2015 12:11 PM, Murali Karicheri wrote:
> On 07/17/2015 12:52 PM, Nishanth Menon wrote:
>> On 07/17/2015 11:04 AM, Murali Karicheri wrote:
>>> On 07/16/2015 03:08 PM, Nishanth Menon wrote:
>>>> Try to maintain as much commonality by conditionally including stuff
>>>> in armv7_common as necessary and removing the common defines from
>>>> keystone2 header.
>>>>
>>> Including the common ti_armv7_common.h for keystone also add duplication
>>> of the various addresses
>>>
>>> #define DEFAULT_LINUX_BOOT_ENV \
>>>      "loadaddr=0x82000000\0" \
>>>      "kernel_addr_r=0x82000000\0" \
>>>      "fdtaddr=0x88000000\0" \
>>>      "fdt_addr_r=0x88000000\0" \
>>>      "rdaddr=0x88080000\0" \
>>>      "ramdisk_addr_r=0x88080000\0" \
>>>      "bootm_size=0x10000000\0"
>>>
>>> Some of these are also defined in keystone common file. The env scripts
>>> for keystone to be reworked to use the common variable above.
>>>
>>> Rework the CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS to include common as
>>> well.
>>
>> we need to cleanup all the variables  once we get the distro config
> 
> What do you mean by distro config? Could you explain?

include/config_distro* - both will eventually get integrated into
armv7_common.h to benefit all TI SoC platforms.

> 
>> included in anyways... I had decided not to rock the apple cart too much
>> with this patch -> just the basic consolidation with as minimal changes
>> as necessary. inclusion of DEFAULT_LINUX_BOOT_ENV into keystone2.h can
>> be done as a follow on patch.
> 
> Probably not this one. User would see both these variables and will
> cause confusion and should be fixed.
> 

they are no variables, they are defines. they will eventually be fixed.
I am leery to make a huge jump on a single series. lets do consolidation
in small baby steps please.

as I have already shown in my reply - the status quo is being maintained
and we are one step closer to an common framework.

>>
>>>>
>>>> diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h
>>>> index ac50a01b2980..f1e650141ae1 100644
>>>> --- a/include/configs/k2e_evm.h
>>>> +++ b/include/configs/k2e_evm.h
>>>> @@ -15,8 +15,6 @@
>>>>    #define CONFIG_K2E_EVM
>>>>
>>>>    /* U-Boot general configuration */
>>>> -#define CONFIG_SYS_PROMPT               "K2E EVM # "
>>>
>>> Why remove this?
>>
>> arm_v7_common defines just "u-boot#" for all SoC and boards. So, we dont
>> need this.
> 
> Sorry, this may be needed from the automation perspective. Also for
> backward compatibility for users. Would like to keep for K2.

This has been beaten to death in the past as well (I think some 3/4
years ago.. i think it should be in the archives, just too lazy to dig
through multi-year old discussions)..

I will let Tom comment more here. My understanding is that the
convention followed by all other TI SoCs will imply not having custom
sys_prompt..


That said, custom sys_prompt is NOT a need from automation perspective -
we have all our boards in automation farm for years now with and without
custom boot prompt. board identification can be done in other ways.
Murali Karicheri July 17, 2015, 5:45 p.m. UTC | #5
On 07/17/2015 01:25 PM, Nishanth Menon wrote:
> On 07/17/2015 12:11 PM, Murali Karicheri wrote:
>> On 07/17/2015 12:52 PM, Nishanth Menon wrote:
>>> On 07/17/2015 11:04 AM, Murali Karicheri wrote:
>>>> On 07/16/2015 03:08 PM, Nishanth Menon wrote:
>>>>> Try to maintain as much commonality by conditionally including stuff
>>>>> in armv7_common as necessary and removing the common defines from
>>>>> keystone2 header.
>>>>>
>>>> Including the common ti_armv7_common.h for keystone also add duplication
>>>> of the various addresses
>>>>
>>>> #define DEFAULT_LINUX_BOOT_ENV \
>>>>       "loadaddr=0x82000000\0" \
>>>>       "kernel_addr_r=0x82000000\0" \
>>>>       "fdtaddr=0x88000000\0" \
>>>>       "fdt_addr_r=0x88000000\0" \
>>>>       "rdaddr=0x88080000\0" \
>>>>       "ramdisk_addr_r=0x88080000\0" \
>>>>       "bootm_size=0x10000000\0"
>>>>
>>>> Some of these are also defined in keystone common file. The env scripts
>>>> for keystone to be reworked to use the common variable above.
>>>>
>>>> Rework the CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS to include common as
>>>> well.
>>>
>>> we need to cleanup all the variables  once we get the distro config
>>
>> What do you mean by distro config? Could you explain?
>
> include/config_distro* - both will eventually get integrated into
> armv7_common.h to benefit all TI SoC platforms.

Ok I see. But that doesn't mean we can accept duplicate env variables.
Do you see my point?

>
>>
>>> included in anyways... I had decided not to rock the apple cart too much
>>> with this patch -> just the basic consolidation with as minimal changes
>>> as necessary. inclusion of DEFAULT_LINUX_BOOT_ENV into keystone2.h can
>>> be done as a follow on patch.
>>
>> Probably not this one. User would see both these variables and will
>> cause confusion and should be fixed.
>>
>
> they are no variables, they are defines. they will eventually be fixed.

The defines finally create env variables on NAND or any other medium :)
So my comment stays.

> I am leery to make a huge jump on a single series. lets do consolidation
> in small baby steps please.
>
> as I have already shown in my reply - the status quo is being maintained
> and we are one step closer to an common framework.

Ok. If this happens soon (within a month) I am fine with this. 
Otherwise, this could go under the radar and cause maintenance issue.

>
>>>
>>>>>
>>>>> diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h
>>>>> index ac50a01b2980..f1e650141ae1 100644
>>>>> --- a/include/configs/k2e_evm.h
>>>>> +++ b/include/configs/k2e_evm.h
>>>>> @@ -15,8 +15,6 @@
>>>>>     #define CONFIG_K2E_EVM
>>>>>
>>>>>     /* U-Boot general configuration */
>>>>> -#define CONFIG_SYS_PROMPT               "K2E EVM # "
>>>>
>>>> Why remove this?
>>>
>>> arm_v7_common defines just "u-boot#" for all SoC and boards. So, we dont
>>> need this.
>>
>> Sorry, this may be needed from the automation perspective. Also for
>> backward compatibility for users. Would like to keep for K2.
>
> This has been beaten to death in the past as well (I think some 3/4
> years ago.. i think it should be in the archives, just too lazy to dig
> through multi-year old discussions)..
>
> I will let Tom comment more here. My understanding is that the
> convention followed by all other TI SoCs will imply not having custom
> sys_prompt..
>
>
> That said, custom sys_prompt is NOT a need from automation perspective -
> we have all our boards in automation farm for years now with and without
> custom boot prompt. board identification can be done in other ways.
 From a users perspective as well, it is good to know which board I am 
working with when I work with multiple boards. Not sure what is the 
argument not to have a board specific prompt at u-boot level. Definitely 
like to hear from Tom.

Murali

>
>
Tom Rini July 17, 2015, 8:41 p.m. UTC | #6
On Fri, Jul 17, 2015 at 01:45:42PM -0400, Murali Karicheri wrote:
> On 07/17/2015 01:25 PM, Nishanth Menon wrote:
> >On 07/17/2015 12:11 PM, Murali Karicheri wrote:
> >>On 07/17/2015 12:52 PM, Nishanth Menon wrote:
> >>>On 07/17/2015 11:04 AM, Murali Karicheri wrote:
> >>>>On 07/16/2015 03:08 PM, Nishanth Menon wrote:
> >>>>>Try to maintain as much commonality by conditionally including stuff
> >>>>>in armv7_common as necessary and removing the common defines from
> >>>>>keystone2 header.
> >>>>>
> >>>>Including the common ti_armv7_common.h for keystone also add duplication
> >>>>of the various addresses
> >>>>
> >>>>#define DEFAULT_LINUX_BOOT_ENV \
> >>>>      "loadaddr=0x82000000\0" \
> >>>>      "kernel_addr_r=0x82000000\0" \
> >>>>      "fdtaddr=0x88000000\0" \
> >>>>      "fdt_addr_r=0x88000000\0" \
> >>>>      "rdaddr=0x88080000\0" \
> >>>>      "ramdisk_addr_r=0x88080000\0" \
> >>>>      "bootm_size=0x10000000\0"
> >>>>
> >>>>Some of these are also defined in keystone common file. The env scripts
> >>>>for keystone to be reworked to use the common variable above.
> >>>>
> >>>>Rework the CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS to include common as
> >>>>well.
> >>>
> >>>we need to cleanup all the variables  once we get the distro config
> >>
> >>What do you mean by distro config? Could you explain?
> >
> >include/config_distro* - both will eventually get integrated into
> >armv7_common.h to benefit all TI SoC platforms.
> 
> Ok I see. But that doesn't mean we can accept duplicate env variables.
> Do you see my point?

Yes.  But mainline U-Boot doesn't need to support N versions of Y
distros.  That's the point behind the generic distro work.  And this
means that yes, a lot of the addr_X things keystone sets get dropped
later on.  For better or worse there isn't overlap in names between
these two choices so the old scripts will still use the old values and
the new scripts the new values.

> >>>included in anyways... I had decided not to rock the apple cart too much
> >>>with this patch -> just the basic consolidation with as minimal changes
> >>>as necessary. inclusion of DEFAULT_LINUX_BOOT_ENV into keystone2.h can
> >>>be done as a follow on patch.
> >>
> >>Probably not this one. User would see both these variables and will
> >>cause confusion and should be fixed.
> >>
> >
> >they are no variables, they are defines. they will eventually be fixed.
> 
> The defines finally create env variables on NAND or any other medium :)
> So my comment stays.

We can drop a bunch of addr_* stuff if you prefer :)

> >I am leery to make a huge jump on a single series. lets do consolidation
> >in small baby steps please.
> >
> >as I have already shown in my reply - the status quo is being maintained
> >and we are one step closer to an common framework.
> 
> Ok. If this happens soon (within a month) I am fine with this.
> Otherwise, this could go under the radar and cause maintenance
> issue.
> 
> >
> >>>
> >>>>>
> >>>>>diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h
> >>>>>index ac50a01b2980..f1e650141ae1 100644
> >>>>>--- a/include/configs/k2e_evm.h
> >>>>>+++ b/include/configs/k2e_evm.h
> >>>>>@@ -15,8 +15,6 @@
> >>>>>    #define CONFIG_K2E_EVM
> >>>>>
> >>>>>    /* U-Boot general configuration */
> >>>>>-#define CONFIG_SYS_PROMPT               "K2E EVM # "
> >>>>
> >>>>Why remove this?
> >>>
> >>>arm_v7_common defines just "u-boot#" for all SoC and boards. So, we dont
> >>>need this.
> >>
> >>Sorry, this may be needed from the automation perspective. Also for
> >>backward compatibility for users. Would like to keep for K2.
> >
> >This has been beaten to death in the past as well (I think some 3/4
> >years ago.. i think it should be in the archives, just too lazy to dig
> >through multi-year old discussions)..
> >
> >I will let Tom comment more here. My understanding is that the
> >convention followed by all other TI SoCs will imply not having custom
> >sys_prompt..
> >
> >
> >That said, custom sys_prompt is NOT a need from automation perspective -
> >we have all our boards in automation farm for years now with and without
> >custom boot prompt. board identification can be done in other ways.
> From a users perspective as well, it is good to know which board I
> am working with when I work with multiple boards. Not sure what is
> the argument not to have a board specific prompt at u-boot level.
> Definitely like to hear from Tom.

As Nishanth said, we beat this topic to death a long time back.  Generic
prompt is what we do.
diff mbox

Patch

diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h
index ac50a01b2980..f1e650141ae1 100644
--- a/include/configs/k2e_evm.h
+++ b/include/configs/k2e_evm.h
@@ -15,8 +15,6 @@ 
 #define CONFIG_K2E_EVM
 
 /* U-Boot general configuration */
-#define CONFIG_SYS_PROMPT               "K2E EVM # "
-
 #define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS				\
 	"addr_mon=0x0c140000\0"						\
 	"args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "	\
diff --git a/include/configs/k2hk_evm.h b/include/configs/k2hk_evm.h
index 29e3403aa082..f8e83de64b63 100644
--- a/include/configs/k2hk_evm.h
+++ b/include/configs/k2hk_evm.h
@@ -15,8 +15,6 @@ 
 #define CONFIG_K2HK_EVM
 
 /* U-Boot general configuration */
-#define CONFIG_SYS_PROMPT               "K2HK EVM # "
-
 #define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS				\
 	"addr_mon=0x0c5f0000\0"						\
 	"args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "	\
diff --git a/include/configs/k2l_evm.h b/include/configs/k2l_evm.h
index 50d5c991a0bb..395608a5f6db 100644
--- a/include/configs/k2l_evm.h
+++ b/include/configs/k2l_evm.h
@@ -15,8 +15,6 @@ 
 #define CONFIG_K2L_EVM
 
 /* U-Boot general configuration */
-#define CONFIG_SYS_PROMPT		"K2L EVM # "
-
 #define CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS				\
 	"addr_mon=0x0c140000\0"						\
 	"args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs "	\
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
index 63244dbc83ff..814da3409c46 100644
--- a/include/configs/ti_armv7_common.h
+++ b/include/configs/ti_armv7_common.h
@@ -73,9 +73,13 @@ 
 #ifndef CONFIG_NR_DRAM_BANKS
 #define CONFIG_NR_DRAM_BANKS		1
 #endif
+
 #define CONFIG_SYS_SDRAM_BASE		0x80000000
+
+#ifndef CONFIG_SYS_INIT_SP_ADDR
 #define CONFIG_SYS_INIT_SP_ADDR         (NON_SECURE_SRAM_END - \
 						GENERATED_GBL_DATA_SIZE)
+#endif
 
 /* Timer information. */
 #define CONFIG_SYS_PTV			2	/* Divisor: 2^(PTV+1) => 8 */
@@ -140,7 +144,7 @@ 
  * mtdparts, both for ease of use in U-Boot and for passing information
  * on to the Linux kernel.
  */
-#if defined(CONFIG_SPI_BOOT) || defined(CONFIG_NOR) || defined(CONFIG_NAND)
+#if defined(CONFIG_SPI_BOOT) || defined(CONFIG_NOR) || defined(CONFIG_NAND) || defined(CONFIG_NAND_DAVINCI)
 #define CONFIG_MTD_DEVICE		/* Required for mtdparts */
 #define CONFIG_CMD_MTDPARTS
 #endif
diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
index d838f270018b..7d89bd78e43b 100644
--- a/include/configs/ti_armv7_keystone2.h
+++ b/include/configs/ti_armv7_keystone2.h
@@ -14,10 +14,7 @@ 
 
 /* U-Boot Build Configuration */
 #define CONFIG_SKIP_LOWLEVEL_INIT	/* U-Boot is a 2nd stage loader */
-#define CONFIG_SYS_NO_FLASH		/* that is, no *NOR* flash */
-#define CONFIG_SYS_CONSOLE_INFO_QUIET
 #define CONFIG_BOARD_EARLY_INIT_F
-#define CONFIG_SYS_THUMB_BUILD
 
 /* SoC Configuration */
 #define CONFIG_ARCH_CPU_INIT
@@ -28,11 +25,9 @@ 
 
 /* Memory Configuration */
 #define CONFIG_NR_DRAM_BANKS		2
-#define CONFIG_SYS_SDRAM_BASE		0x80000000
 #define CONFIG_SYS_LPAE_SDRAM_BASE	0x800000000
 #define CONFIG_MAX_RAM_BANK_SIZE	(2 << 30)       /* 2GB */
 #define CONFIG_STACKSIZE		(512 << 10)     /* 512 KiB */
-#define CONFIG_SYS_MALLOC_LEN		(4 << 20)       /* 4 MiB */
 #define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_TEXT_BASE - \
 					GENERATED_GBL_DATA_SIZE)
 
@@ -49,15 +44,10 @@ 
 #define CONFIG_SPL_STACK		(CONFIG_SYS_SPL_MALLOC_START + \
 					CONFIG_SYS_SPL_MALLOC_SIZE + \
 					CONFIG_SPL_STACK_SIZE - 4)
-#define CONFIG_SPL_LIBCOMMON_SUPPORT
-#define CONFIG_SPL_LIBGENERIC_SUPPORT
-#define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_SPI_FLASH_SUPPORT
 #define CONFIG_SPL_SPI_SUPPORT
-#define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_SPI_LOAD
 #define CONFIG_SYS_SPI_U_BOOT_OFFS	CONFIG_SPL_PAD_TO
-#define CONFIG_SPL_FRAMEWORK
 
 /* UART Configuration */
 #define CONFIG_SYS_NS16550
@@ -68,13 +58,10 @@ 
 #define CONFIG_SYS_NS16550_COM2		KS2_UART1_BASE
 #define CONFIG_SYS_NS16550_CLK		clk_get_rate(KS2_CLK1_6)
 #define CONFIG_CONS_INDEX		1
-#define CONFIG_BAUDRATE			115200
 
 /* SPI Configuration */
-#define CONFIG_SPI
 #define CONFIG_SPI_FLASH_STMICRO
 #define CONFIG_DAVINCI_SPI
-#define CONFIG_CMD_SPI
 #define CONFIG_SYS_SPI_CLK		clk_get_rate(KS2_CLK1_6)
 #define CONFIG_SF_DEFAULT_SPEED		30000000
 #define CONFIG_ENV_SPI_MAX_HZ		CONFIG_SF_DEFAULT_SPEED
@@ -148,7 +135,6 @@ 
 #define CONFIG_AEMIF_CNTRL_BASE		KS2_AEMIF_CNTRL_BASE
 
 /* I2C Configuration */
-#define CONFIG_SYS_I2C
 #define CONFIG_SYS_I2C_DAVINCI
 #define CONFIG_SYS_DAVINCI_I2C_SPEED	100000
 #define CONFIG_SYS_DAVINCI_I2C_SLAVE	0x10 /* SMBus host address */
@@ -185,7 +171,6 @@ 
 #define CONFIG_ENV_IS_IN_NAND
 #define CONFIG_ENV_OFFSET			0x100000
 #define CONFIG_MTD_PARTITIONS
-#define CONFIG_MTD_DEVICE
 #define CONFIG_RBTREE
 #define CONFIG_LZO
 #define MTDIDS_DEFAULT			"nand0=davinci_nand.0"
@@ -197,8 +182,6 @@ 
 #define CONFIG_USB_XHCI
 #define CONFIG_USB_XHCI_KEYSTONE
 #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS	2
-#define CONFIG_USB_STORAGE
-#define CONFIG_DOS_PARTITION
 #define CONFIG_EFI_PARTITION
 #define CONFIG_FS_FAT
 #define CONFIG_SYS_CACHELINE_SIZE		64
@@ -208,39 +191,25 @@ 
 #define CONFIG_USB_PHY_CFG_BASE			KS2_USB_PHY_CFG_BASE
 
 /* U-Boot command configuration */
-#define CONFIG_CMD_ASKENV
 #define CONFIG_CMD_DHCP
-#define CONFIG_CMD_I2C
 #define CONFIG_CMD_PING
 #define CONFIG_CMD_SAVES
-#define CONFIG_CMD_MTDPARTS
 #define CONFIG_CMD_NAND
 #define CONFIG_CMD_UBI
 #define CONFIG_CMD_UBIFS
 #define CONFIG_CMD_SF
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_USB
-#define CONFIG_CMD_FAT
-#define CONFIG_CMD_FS_GENERIC
 
 /* U-Boot general configuration */
-#define CONFIG_SYS_GENERIC_BOARD
 #define CONFIG_MISC_INIT_R
-#define CONFIG_SYS_CBSIZE		1024
-#define CONFIG_SYS_PBSIZE		2048
-#define CONFIG_SYS_MAXARGS		16
-#define CONFIG_SYS_HUSH_PARSER
-#define CONFIG_SYS_LONGHELP
 #define CONFIG_CRC32_VERIFY
 #define CONFIG_MX_CYCLIC
-#define CONFIG_CMDLINE_EDITING
-#define CONFIG_VERSION_VARIABLE
 #define CONFIG_TIMESTAMP
 
 /* EDMA3 */
 #define CONFIG_TI_EDMA3
 
-#define CONFIG_BOOTDELAY		3
 #define CONFIG_BOOTFILE			"uImage"
 #define CONFIG_EXTRA_ENV_SETTINGS					\
 	CONFIG_EXTRA_ENV_KS2_BOARD_SETTINGS				\
@@ -301,14 +270,23 @@ 
 #define CONFIG_BOOTARGS							\
 
 /* Linux interfacing */
-#define CONFIG_CMDLINE_TAG
-#define CONFIG_SETUP_MEMORY_TAGS
-#define CONFIG_OF_LIBFDT		1
 #define CONFIG_OF_BOARD_SETUP
-#define CONFIG_SYS_BARGSIZE		1024
-#define CONFIG_SYS_LOAD_ADDR		(CONFIG_SYS_SDRAM_BASE + 0x08000000)
 
-#define CONFIG_SUPPORT_RAW_INITRD
+
+/* Now for the remaining common defines */
+#include <configs/ti_armv7_common.h>
+
+/* We wont be loading up OS from SPL for now.. */
+#undef CONFIG_SPL_OS_BOOT
+/* We do not have MMC SPL support.. yet.. */
+#undef CONFIG_SPL_LIBDISK_SUPPORT
+#undef CONFIG_SPL_MMC_SUPPORT
+#undef CONFIG_SPL_FAT_SUPPORT
+#undef CONFIG_SPL_EXT_SUPPORT
+
+/* And no support for GPIO, yet.. */
+#undef CONFIG_SPL_GPIO_SUPPORT
+#undef CONFIG_CMD_GPIO
 
 /* we may include files below only after all above definitions */
 #include <asm/arch/hardware.h>