From 65e72be8f7f6cb9110b332932246f2f2d6ef2686 Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Fri, 7 Jul 2017 11:05:05 -0500 Subject: [PATCH] devicetree: Generate CONFIG_UART_CONSOLE_ON_DEV_NAME from dt We can use the chosen property "zephyr,console" to determine what uart should be used as the console and find its name to generate a define for CONFIG_UART_CONSOLE_ON_DEV_NAME. Signed-off-by: Kumar Gala --- .../quark_se/Kconfig.defconfig.series | 2 +- boards/arm/96b_carbon/96b_carbon_defconfig | 2 -- .../disco_l475_iot1/disco_l475_iot1_defconfig | 1 - boards/arm/mps2_an385/mps2_an385_defconfig | 1 - .../arm/nucleo_f103rb/nucleo_f103rb_defconfig | 1 - .../arm/nucleo_f334r8/nucleo_f334r8_defconfig | 1 - .../arm/nucleo_f401re/nucleo_f401re_defconfig | 2 -- .../arm/nucleo_f411re/nucleo_f411re_defconfig | 2 -- .../arm/nucleo_f412zg/nucleo_f412zg_defconfig | 2 -- .../arm/nucleo_f413zh/nucleo_f413zh_defconfig | 2 -- .../arm/nucleo_l432kc/nucleo_l432kc_defconfig | 1 - .../arm/nucleo_l476rg/nucleo_l476rg_defconfig | 1 - .../olimex_stm32_e407_defconfig | 2 -- .../olimexino_stm32/olimexino_stm32_defconfig | 1 - .../sam4s_xplained/sam4s_xplained_defconfig | 1 - .../sam_e70_xplained_defconfig | 1 - .../arm/stm3210c_eval/stm3210c_eval_defconfig | 1 - .../stm32373c_eval/stm32373c_eval_defconfig | 1 - .../arm/stm32_min_dev/stm32_min_dev_defconfig | 1 - .../arm/stm32f3_disco/stm32f3_disco_defconfig | 1 - .../stm32f469i_disco_defconfig | 2 -- .../arm/stm32f4_disco/stm32f4_disco_defconfig | 2 -- .../stm32l496g_disco_defconfig | 1 - boards/arm/v2m_beetle/v2m_beetle_defconfig | 1 - drivers/console/Kconfig | 2 ++ scripts/extract_dts_includes.py | 22 +++++++++++++++++++ 26 files changed, 25 insertions(+), 32 deletions(-) diff --git a/arch/x86/soc/intel_quark/quark_se/Kconfig.defconfig.series b/arch/x86/soc/intel_quark/quark_se/Kconfig.defconfig.series index af638c3b1a4..1b3918278b1 100644 --- a/arch/x86/soc/intel_quark/quark_se/Kconfig.defconfig.series +++ b/arch/x86/soc/intel_quark/quark_se/Kconfig.defconfig.series @@ -235,7 +235,7 @@ endif # UART_QMSI_1 endif # UART_QMSI -if UART_CONSOLE +if UART_CONSOLE && !HAS_DTS config UART_CONSOLE_ON_DEV_NAME default "UART_1" if USB_UART_CONSOLE = n diff --git a/boards/arm/96b_carbon/96b_carbon_defconfig b/boards/arm/96b_carbon/96b_carbon_defconfig index 530cbc6e567..64b48cb1e34 100644 --- a/boards/arm/96b_carbon/96b_carbon_defconfig +++ b/boards/arm/96b_carbon/96b_carbon_defconfig @@ -11,8 +11,6 @@ CONFIG_STM32_ARM_MPU_ENABLE=y # enable USART1 - passthrough to FT230XQ CONFIG_UART_STM32_PORT_1=y -# enable console on this port by default -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_1" # enable I2C1 CONFIG_I2C=y diff --git a/boards/arm/disco_l475_iot1/disco_l475_iot1_defconfig b/boards/arm/disco_l475_iot1/disco_l475_iot1_defconfig index cea2550d039..3323ac58eed 100644 --- a/boards/arm/disco_l475_iot1/disco_l475_iot1_defconfig +++ b/boards/arm/disco_l475_iot1/disco_l475_iot1_defconfig @@ -38,7 +38,6 @@ CONFIG_CLOCK_STM32_APB2_PRESCALER=1 # console CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_1" #enable pwm CONFIG_PWM=y diff --git a/boards/arm/mps2_an385/mps2_an385_defconfig b/boards/arm/mps2_an385/mps2_an385_defconfig index 7564ddcd007..3819c517703 100644 --- a/boards/arm/mps2_an385/mps2_an385_defconfig +++ b/boards/arm/mps2_an385/mps2_an385_defconfig @@ -23,7 +23,6 @@ CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y CONFIG_SERIAL=y CONFIG_UART_CMSDK_APB=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_0" # Watchdog CONFIG_WATCHDOG=y diff --git a/boards/arm/nucleo_f103rb/nucleo_f103rb_defconfig b/boards/arm/nucleo_f103rb/nucleo_f103rb_defconfig index f278b00d7f5..1340b1028f6 100644 --- a/boards/arm/nucleo_f103rb/nucleo_f103rb_defconfig +++ b/boards/arm/nucleo_f103rb/nucleo_f103rb_defconfig @@ -15,7 +15,6 @@ CONFIG_UART_STM32_PORT_2=y # enable console on this port by default CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_2" # enable pinmux CONFIG_PINMUX=y diff --git a/boards/arm/nucleo_f334r8/nucleo_f334r8_defconfig b/boards/arm/nucleo_f334r8/nucleo_f334r8_defconfig index a3525746708..e39a1eda2cf 100644 --- a/boards/arm/nucleo_f334r8/nucleo_f334r8_defconfig +++ b/boards/arm/nucleo_f334r8/nucleo_f334r8_defconfig @@ -26,7 +26,6 @@ CONFIG_UART_STM32_PORT_2=y # enable console on this port by default CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_2" # Pinmux Driver CONFIG_PINMUX=y diff --git a/boards/arm/nucleo_f401re/nucleo_f401re_defconfig b/boards/arm/nucleo_f401re/nucleo_f401re_defconfig index 792de1e7a0f..a7593ff6b73 100644 --- a/boards/arm/nucleo_f401re/nucleo_f401re_defconfig +++ b/boards/arm/nucleo_f401re/nucleo_f401re_defconfig @@ -11,8 +11,6 @@ CONFIG_STM32_ARM_MPU_ENABLE=y # enable USART2 - passthrough to STLINK v2 connector CONFIG_UART_STM32_PORT_2=y -# enable console on this port by default -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_2" # enable pinmux CONFIG_PINMUX=y diff --git a/boards/arm/nucleo_f411re/nucleo_f411re_defconfig b/boards/arm/nucleo_f411re/nucleo_f411re_defconfig index 816b5e2e9dc..0fba84da0e9 100644 --- a/boards/arm/nucleo_f411re/nucleo_f411re_defconfig +++ b/boards/arm/nucleo_f411re/nucleo_f411re_defconfig @@ -11,8 +11,6 @@ CONFIG_STM32_ARM_MPU_ENABLE=y # enable USART2 - passthrough to STLINK v2 connector CONFIG_UART_STM32_PORT_2=y -# enable console on this port by default -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_2" # enable pinmux CONFIG_PINMUX=y diff --git a/boards/arm/nucleo_f412zg/nucleo_f412zg_defconfig b/boards/arm/nucleo_f412zg/nucleo_f412zg_defconfig index c402075b856..ba9fa4f1509 100644 --- a/boards/arm/nucleo_f412zg/nucleo_f412zg_defconfig +++ b/boards/arm/nucleo_f412zg/nucleo_f412zg_defconfig @@ -11,8 +11,6 @@ CONFIG_STM32_ARM_MPU_ENABLE=y # enable USART3 - passthrough to STLINK v2 connector CONFIG_UART_STM32_PORT_3=y -# enable console on this port by default -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_3" # enable pinmux CONFIG_PINMUX=y diff --git a/boards/arm/nucleo_f413zh/nucleo_f413zh_defconfig b/boards/arm/nucleo_f413zh/nucleo_f413zh_defconfig index 842bc478a1b..1c423d4354e 100644 --- a/boards/arm/nucleo_f413zh/nucleo_f413zh_defconfig +++ b/boards/arm/nucleo_f413zh/nucleo_f413zh_defconfig @@ -11,8 +11,6 @@ CONFIG_STM32_ARM_MPU_ENABLE=y # enable USART2 - passthrough to STLINK v2 connector CONFIG_UART_STM32_PORT_3=y -# enable console on this port by default -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_3" # enable pinmux CONFIG_PINMUX=y diff --git a/boards/arm/nucleo_l432kc/nucleo_l432kc_defconfig b/boards/arm/nucleo_l432kc/nucleo_l432kc_defconfig index cf1ba4fc087..e20a0e5e79e 100644 --- a/boards/arm/nucleo_l432kc/nucleo_l432kc_defconfig +++ b/boards/arm/nucleo_l432kc/nucleo_l432kc_defconfig @@ -43,7 +43,6 @@ CONFIG_CLOCK_STM32_APB2_PRESCALER=1 # console CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_2" #enable pwm CONFIG_PWM=y diff --git a/boards/arm/nucleo_l476rg/nucleo_l476rg_defconfig b/boards/arm/nucleo_l476rg/nucleo_l476rg_defconfig index 8e79fc61ce0..682db9609a4 100644 --- a/boards/arm/nucleo_l476rg/nucleo_l476rg_defconfig +++ b/boards/arm/nucleo_l476rg/nucleo_l476rg_defconfig @@ -47,7 +47,6 @@ CONFIG_CLOCK_STM32_APB2_PRESCALER=1 # console CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_2" #enable pwm CONFIG_PWM=y diff --git a/boards/arm/olimex_stm32_e407/olimex_stm32_e407_defconfig b/boards/arm/olimex_stm32_e407/olimex_stm32_e407_defconfig index 90c8c03f999..957c39bbc4a 100644 --- a/boards/arm/olimex_stm32_e407/olimex_stm32_e407_defconfig +++ b/boards/arm/olimex_stm32_e407/olimex_stm32_e407_defconfig @@ -11,8 +11,6 @@ CONFIG_STM32_ARM_MPU_ENABLE=y # enable USART1 CONFIG_UART_STM32_PORT_1=y -# enable console on this port by default -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_1" # enable pinmux CONFIG_PINMUX=y diff --git a/boards/arm/olimexino_stm32/olimexino_stm32_defconfig b/boards/arm/olimexino_stm32/olimexino_stm32_defconfig index d28178814fd..a6c764d610a 100644 --- a/boards/arm/olimexino_stm32/olimexino_stm32_defconfig +++ b/boards/arm/olimexino_stm32/olimexino_stm32_defconfig @@ -15,7 +15,6 @@ CONFIG_UART_STM32_PORT_1=y # enable console on this port by default CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_1" # enable I2C driver CONFIG_I2C=y diff --git a/boards/arm/sam4s_xplained/sam4s_xplained_defconfig b/boards/arm/sam4s_xplained/sam4s_xplained_defconfig index b87e6a5f6af..bcde213f2b0 100644 --- a/boards/arm/sam4s_xplained/sam4s_xplained_defconfig +++ b/boards/arm/sam4s_xplained/sam4s_xplained_defconfig @@ -5,7 +5,6 @@ CONFIG_SOC_PART_NUMBER_SAM4S16C=y CONFIG_CORTEX_M_SYSTICK=y CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_1" CONFIG_SERIAL=y CONFIG_UART_SAM=y CONFIG_UART_SAM_PORT_1=y diff --git a/boards/arm/sam_e70_xplained/sam_e70_xplained_defconfig b/boards/arm/sam_e70_xplained/sam_e70_xplained_defconfig index b4fd7721eb2..72f33c8288a 100644 --- a/boards/arm/sam_e70_xplained/sam_e70_xplained_defconfig +++ b/boards/arm/sam_e70_xplained/sam_e70_xplained_defconfig @@ -9,7 +9,6 @@ CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=300000000 CONFIG_CORTEX_M_SYSTICK=y CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="USART_1" CONFIG_SERIAL=y CONFIG_USART_SAM=y CONFIG_USART_SAM_PORT_1=y diff --git a/boards/arm/stm3210c_eval/stm3210c_eval_defconfig b/boards/arm/stm3210c_eval/stm3210c_eval_defconfig index 7009628da77..23544e16342 100644 --- a/boards/arm/stm3210c_eval/stm3210c_eval_defconfig +++ b/boards/arm/stm3210c_eval/stm3210c_eval_defconfig @@ -27,7 +27,6 @@ CONFIG_UART_STM32_PORT_2=y # enable console on this port by default CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_2" # Pinmux Driver CONFIG_PINMUX=y diff --git a/boards/arm/stm32373c_eval/stm32373c_eval_defconfig b/boards/arm/stm32373c_eval/stm32373c_eval_defconfig index bc688cbea61..936ea3698ef 100644 --- a/boards/arm/stm32373c_eval/stm32373c_eval_defconfig +++ b/boards/arm/stm32373c_eval/stm32373c_eval_defconfig @@ -33,7 +33,6 @@ CONFIG_UART_STM32_PORT_2_NAME="UART_2" # enable console on this port by default CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_2" # Pinmux Driver CONFIG_PINMUX=y diff --git a/boards/arm/stm32_min_dev/stm32_min_dev_defconfig b/boards/arm/stm32_min_dev/stm32_min_dev_defconfig index d2dd7ddca20..af9fc0f5971 100644 --- a/boards/arm/stm32_min_dev/stm32_min_dev_defconfig +++ b/boards/arm/stm32_min_dev/stm32_min_dev_defconfig @@ -18,7 +18,6 @@ CONFIG_UART_STM32_PORT_1=y # enable console on this port by default CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_1" # enable pinmux CONFIG_PINMUX=y diff --git a/boards/arm/stm32f3_disco/stm32f3_disco_defconfig b/boards/arm/stm32f3_disco/stm32f3_disco_defconfig index da273d9bdea..22ea4460813 100644 --- a/boards/arm/stm32f3_disco/stm32f3_disco_defconfig +++ b/boards/arm/stm32f3_disco/stm32f3_disco_defconfig @@ -20,7 +20,6 @@ CONFIG_UART_STM32_PORT_1=y # enable console on this port by default CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_1" # enable pinmux CONFIG_PINMUX=y diff --git a/boards/arm/stm32f469i_disco/stm32f469i_disco_defconfig b/boards/arm/stm32f469i_disco/stm32f469i_disco_defconfig index 33f4cb88c44..895a499c087 100644 --- a/boards/arm/stm32f469i_disco/stm32f469i_disco_defconfig +++ b/boards/arm/stm32f469i_disco/stm32f469i_disco_defconfig @@ -11,8 +11,6 @@ CONFIG_STM32_ARM_MPU_ENABLE=y # enable USART3 - passthrough to STLINK v2 connector CONFIG_UART_STM32_PORT_3=y -# enable console on this port by default -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_3" # enable pinmux CONFIG_PINMUX=y diff --git a/boards/arm/stm32f4_disco/stm32f4_disco_defconfig b/boards/arm/stm32f4_disco/stm32f4_disco_defconfig index d37b101eae5..f67fa14edb1 100644 --- a/boards/arm/stm32f4_disco/stm32f4_disco_defconfig +++ b/boards/arm/stm32f4_disco/stm32f4_disco_defconfig @@ -11,8 +11,6 @@ CONFIG_STM32_ARM_MPU_ENABLE=y # enable USART2 - passthrough to STLINK v2 connector CONFIG_UART_STM32_PORT_2=y -# enable console on this port by default -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_2" # enable pinmux CONFIG_PINMUX=y diff --git a/boards/arm/stm32l496g_disco/stm32l496g_disco_defconfig b/boards/arm/stm32l496g_disco/stm32l496g_disco_defconfig index df64fbb468e..165d1ba0ba1 100644 --- a/boards/arm/stm32l496g_disco/stm32l496g_disco_defconfig +++ b/boards/arm/stm32l496g_disco/stm32l496g_disco_defconfig @@ -47,7 +47,6 @@ CONFIG_CLOCK_STM32_APB2_PRESCALER=1 # console CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_2" #enable pwm CONFIG_PWM=y diff --git a/boards/arm/v2m_beetle/v2m_beetle_defconfig b/boards/arm/v2m_beetle/v2m_beetle_defconfig index d097c3f6bf8..2ee71a77b38 100644 --- a/boards/arm/v2m_beetle/v2m_beetle_defconfig +++ b/boards/arm/v2m_beetle/v2m_beetle_defconfig @@ -29,7 +29,6 @@ CONFIG_PINMUX=y CONFIG_CONSOLE=y CONFIG_SERIAL=y CONFIG_UART_CONSOLE=y -CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_1" # Watchdog CONFIG_WATCHDOG=y diff --git a/drivers/console/Kconfig b/drivers/console/Kconfig index d626c3f504d..4cbe1159f8e 100644 --- a/drivers/console/Kconfig +++ b/drivers/console/Kconfig @@ -47,6 +47,7 @@ config UART_CONSOLE Enable this option to use one UART for console. Make sure CONFIG_UART_CONSOLE_ON_DEV_NAME is also set correctly. +if !HAS_DTS config UART_CONSOLE_ON_DEV_NAME string "Device Name of UART Device for UART Console" default "UART_0" @@ -54,6 +55,7 @@ config UART_CONSOLE_ON_DEV_NAME help This option specifies the name of UART device to be used for UART console. +endif config UART_CONSOLE_INIT_PRIORITY int diff --git a/scripts/extract_dts_includes.py b/scripts/extract_dts_includes.py index c1c2f382b51..236ec42dab0 100755 --- a/scripts/extract_dts_includes.py +++ b/scripts/extract_dts_includes.py @@ -428,6 +428,24 @@ def extract_single(node_address, yaml, prop, key, prefix, defs, def_label): return +def extract_string_prop(node_address, yaml, key, label, defs): + + prop_def = {} + + node = reduced[node_address] + prop = node['props'][key] + + k = convert_string_to_label(key).upper() + prop_def[label] = "\"" + prop + "\"" + + if node_address in defs: + defs[node_address].update(prop_def) + else: + defs[node_address] = prop_def + + return + + def extract_property(node_compat, yaml, node_address, y_key, y_val, names, prefix, defs, label_override): @@ -746,6 +764,10 @@ def main(): extract_reg_prop(chosen['zephyr,sram'], None, defs, "CONFIG_SRAM", 1024, None) + if 'zephyr,console' in chosen: + extract_string_prop(chosen['zephyr,console'], None, "label", + "CONFIG_UART_CONSOLE_ON_DEV_NAME", defs) + # only compute the load offset if a code partition exists and it is not the # same as the flash base address load_defs = {}