From fe9a0aee312b4c690fd89759b12dbf15eaaab0bd Mon Sep 17 00:00:00 2001 From: Heesub Shin Date: Wed, 26 Apr 2017 19:00:05 +0900 Subject: [PATCH] s5j/Kconfig: reorganize hierarchy of Kconfig entries To follow the convention that other BSPs are using, this commit redefines several configuration knobs and reorganizes relationship between them. Change-Id: Ie0cbd5d6c861a221881322e0688621f66dcaf901 Signed-off-by: Heesub Shin --- os/arch/arm/src/s5j/Kconfig | 249 +++++++++++++++++++++++++++++--------------- 1 file changed, 164 insertions(+), 85 deletions(-) diff --git a/os/arch/arm/src/s5j/Kconfig b/os/arch/arm/src/s5j/Kconfig index 3a55ab1..c074d38 100644 --- a/os/arch/arm/src/s5j/Kconfig +++ b/os/arch/arm/src/s5j/Kconfig @@ -3,54 +3,176 @@ # see kconfig-language at https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt # -comment "Samsung S5J Chip Configuration Options" +comment "S5J Configuration Options" choice - prompt "Samsung Chip Selection" + prompt "S5J Chip Selection" default ARCH_CHIP_S5JT200 + depends on ARCH_CHIP_S5J config ARCH_CHIP_S5JT200 bool "S5JT200" - depends on ARCH_CHIP_S5J - select S5J_S5JT200 select ARCH_CORTEXR4 select ARMV7A_HAVE_GICv2 select ARMV7R_ICACHE select ARMV7R_DCACHE + select S5J_S5JT200 endchoice config S5J_S5JT200 bool - default y - select S5J_UARTDBG - select S5J_UART0 - select S5J_UART1 - select S5J_UART2 - select S5J_UART3 + default n + select S5J_HAVE_ADC + select S5J_HAVE_DMA + select S5J_HAVE_I2C + select S5J_HAVE_PWM + select S5J_HAVE_PWR + select S5J_HAVE_RTC + select S5J_HAVE_SFLASH + select S5J_HAVE_SPI + select S5J_HAVE_SSS + select S5J_HAVE_UARTDBG + select S5J_HAVE_UART0 + select S5J_HAVE_UART1 + select S5J_HAVE_UART2 + select S5J_HAVE_UART3 + select S5J_HAVE_WATCHDOG + +menu "S5J Peripheral Support" + +# These "hidden" settings determine peripheral options that are available for +# the selection MCU. + +config S5J_HAVE_ADC + bool + default n + +config S5J_HAVE_DMA + bool + default n + +config S5J_HAVE_I2C + bool + default n + +config S5J_HAVE_PWM + bool + default n + +config S5J_HAVE_PWR + bool + default n + +config S5J_HAVE_RTC + bool + default n + +config S5J_HAVE_SFLASH + bool + default n + +config S5J_HAVE_SPI + bool + default n + +config S5J_HAVE_SSS + bool + default n -menu "S5J DEBUG UART Configuration" config S5J_HAVE_UARTDBG bool - default y + default n config S5J_HAVE_UART0 bool - default y + default n config S5J_HAVE_UART1 bool - default y + default n config S5J_HAVE_UART2 bool - default y + default n config S5J_HAVE_UART3 bool + default n + +config S5J_HAVE_WATCHDOG + bool + default n + +config S5J_SERIALDRIVER + bool + default n + +config S5J_ADC + bool "ADC" + default n + depends on S5J_HAVE_ADC + select ANALOG + select ADC + select SCHED_WORKQUEUE + select SCHED_LPWORK + ---help--- + S5J has 12-bits ADC with 4 channels. Say Y here, if you want + to use it. + +config S5J_DMA + bool "DMA" + default n + depends on S5J_HAVE_DMA + +config S5J_I2C + bool "I2C" + default n + depends on S5J_HAVE_I2C + +config S5J_UART0 + bool "UART0" + default n + depends on S5J_HAVE_UART0 + select S5J_SERIALDRIVER + select ARCH_HAVE_UART0 + select ARCH_HAVE_SERIAL_TERMIOS + +config S5J_UART1 + bool "UART1" + default n + depends on S5J_HAVE_UART1 + select S5J_SERIALDRIVER + select ARCH_HAVE_UART1 + select ARCH_HAVE_SERIAL_TERMIOS + +config S5J_UART2 + bool "UART2" + default n + depends on S5J_HAVE_UART2 + select S5J_SERIALDRIVER + select ARCH_HAVE_UART2 + select ARCH_HAVE_SERIAL_TERMIOS + +config S5J_UART3 + bool "UART3" + default n + depends on S5J_HAVE_UART3 + select S5J_SERIALDRIVER + select ARCH_HAVE_UART3 + select ARCH_HAVE_SERIAL_TERMIOS + +config S5J_UARTDBG + bool "Debug UART" default y + depends on S5J_HAVE_UARTDBG + select S5J_SERIALDRIVER + select ARCH_HAVE_UART4 + select ARCH_HAVE_SERIAL_TERMIOS + +menu "Debug UART Configuration" + depends on S5J_UARTDBG -if S5J_HAVE_UARTDBG config UARTDBG_RXBUFSIZE int "uartdbg rx buffer size" default 256 @@ -74,62 +196,32 @@ config UARTDBG_PARITY config UARTDBG_2STOP int "stop bit" default 0 -endif - -config S5J_UARTDBG - bool - default n - select S5J_HAVE_UARTDBG - select UART0_SERIAL_CONSOLE -config S5J_UART0 - bool - default n - select ARCH_HAVE_UART0 - select UART0_SERIAL_CONSOLE - -config S5J_UART1 - bool - default n - select ARCH_HAVE_UART1 - select S5J_HAVE_UART1 - select UART1_SERIAL_CONSOLE - -config S5J_UART2 - bool - default n - select ARCH_HAVE_UART2 - select S5J_HAVE_UART2 - select UART2_SERIAL_CONSOLE - -config S5J_UART3 - bool - default n - select ARCH_HAVE_UART3 - select S5J_HAVE_UART3 - select UART2_SERIAL_CONSOLE - -endmenu #"S5J UART Configuration" +endmenu config S5J_PWM - bool "S5J PWM support" + bool "PWM" + depends on S5J_HAVE_PWM default n config S5J_SSS - bool "S5J SSS support" + bool "SSS" + depends on S5J_HAVE_SSS default y -menu "S5J SPI(Serial Peripheral Interface Bus)" config S5J_SPI - bool "S5J SPI support" + bool "SPI" + depends on S5J_HAVE_SPI default y -endmenu -menu "S5J WDT(Watch Dog Timer)" config S5J_WATCHDOG - bool "S5J WDT support" + bool "Watchdog" + depends on S5J_HAVE_WATCHDOG default n +menu "Watchdog driver configuration" + depends on S5J_WATCHDOG + config S5J_WATCHDOG_DEBUG bool "S5J Watchdog debug" default n @@ -149,38 +241,21 @@ config S5J_WDT_DEFTIMEOUT int "S5J Watchdog Timeout(in msec)" default 7000 depends on S5J_WATCHDOG -endmenu -config S5J_ADC - bool "ADC" - default n - select ANALOG - select ADC - select SCHED_WORKQUEUE - select SCHED_LPWORK - ---help--- - S5J has 12-bits ADC with 4 channels. Say Y here, if you want - to use it. - -menu "S5J I2C" -config S5J_I2C - bool "S5J I2C support" - default n endmenu config S5J_SFLASH - bool "S5J Serial Flash support" + bool "SFLASH" default y + depends on S5J_HAVE_SFLASH -config S5J_DEBUG_BREAK - bool "S5J debug break on boot process" - help - this enable break during booting, on s5j_boot.c before os_start() - -menu "S5J PMU Config" config S5J_PWR - bool "S5J PMU feature" + bool "PMU" default n + depends on S5J_HAVE_PWR + +menu "PMU Configuration" + depends on S5J_PWR config S5J_PWR_DSTOP bool "S5J DSTOP Power Mode" @@ -189,8 +264,12 @@ config S5J_PWR_DSTOP config S5J_PWR_SLEEP bool "S5J SLEEP Power Mode" default n + endmenu -config S5J_DMA - bool "S5J DMA enable" - default n +endmenu + +config S5J_DEBUG_BREAK + bool "S5J debug break on boot process" + help + this enable break during booting, on s5j_boot.c before os_start() -- 2.7.4