From c1e5cbfd41487b2e9e37deaec19f2e04423da318 Mon Sep 17 00:00:00 2001 From: Savinay Dharmappa Date: Wed, 12 Jul 2017 19:52:00 +0530 Subject: [PATCH] devicetree: Generate BLUETOOTH_UART,UART_PIPE etc config from dt patch uses chosen property zephyr,bt-uart, zephyr,uart-pipe and zephyr,bt-mon-uart to determine the uart instance to be used for bluetooth,uart_pipe and bluetooth_monitor and generate appropriate configs. Signed-off-by: Savinay Dharmappa --- .../intel_quark/quark_se/Kconfig.defconfig.series | 2 ++ boards/x86/arduino_101/Kconfig.defconfig | 6 ++++-- drivers/bluetooth/hci/Kconfig | 2 ++ drivers/console/Kconfig | 2 ++ scripts/extract_dts_includes.py | 12 ++++++++++++ 5 files changed, 22 insertions(+), 2 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 1b3918278b1..7553c0fa956 100644 --- a/arch/x86/soc/intel_quark/quark_se/Kconfig.defconfig.series +++ b/arch/x86/soc/intel_quark/quark_se/Kconfig.defconfig.series @@ -198,11 +198,13 @@ endif # RTC if BLUETOOTH_H4 +if !HAS_DTS config BLUETOOTH_UART_ON_DEV_NAME default UART_QMSI_0_NAME config UART_QMSI_0 def_bool y +endif if !HAS_DTS config UART_QMSI_0_BAUDRATE diff --git a/boards/x86/arduino_101/Kconfig.defconfig b/boards/x86/arduino_101/Kconfig.defconfig index 2ac7585ff16..8d782d8c432 100644 --- a/boards/x86/arduino_101/Kconfig.defconfig +++ b/boards/x86/arduino_101/Kconfig.defconfig @@ -18,22 +18,24 @@ config PHYS_LOAD_ADDR default 0x40010000 endif -if BLUETOOTH_H4 +if BLUETOOTH_H4 && !HAS_DTS config BLUETOOTH_UART_ON_DEV_NAME default UART_QMSI_0_NAME endif -if UART_PIPE +if UART_PIPE && !HAS_DTS config UART_PIPE_ON_DEV_NAME default UART_QMSI_1_NAME endif +if !HAS_DTS config BLUETOOTH_MONITOR_ON_DEV_NAME default UART_QMSI_1_NAME if BLUETOOTH_DEBUG_MONITOR +endif if FLASH && SPI diff --git a/drivers/bluetooth/hci/Kconfig b/drivers/bluetooth/hci/Kconfig index 59c955509a1..19e79bef236 100644 --- a/drivers/bluetooth/hci/Kconfig +++ b/drivers/bluetooth/hci/Kconfig @@ -58,6 +58,7 @@ endchoice endif # !BLUETOOTH_CONTROLLER +if !HAS_DTS config BLUETOOTH_UART_ON_DEV_NAME string "Device Name of UART Device for Bluetooth" default "UART_0" @@ -65,6 +66,7 @@ config BLUETOOTH_UART_ON_DEV_NAME help This option specifies the name of UART device to be used for Bluetooth. +endif config BLUETOOTH_SPI_DEV_NAME string "Device Name of SPI Device for Bluetooth" diff --git a/drivers/console/Kconfig b/drivers/console/Kconfig index 4cbe1159f8e..1e87b0fe6d4 100644 --- a/drivers/console/Kconfig +++ b/drivers/console/Kconfig @@ -179,6 +179,7 @@ config UART_PIPE data (as contrary to console UART driver) and all aspects of received protocol data are handled by application provided callback. +if !HAS_DTS config UART_PIPE_ON_DEV_NAME string "Device Name of UART Device for pipe UART" default "UART_0" @@ -186,6 +187,7 @@ config UART_PIPE_ON_DEV_NAME help This option specifies the name of UART device to be used for pipe UART. +endif config XTENSA_SIM_CONSOLE bool diff --git a/scripts/extract_dts_includes.py b/scripts/extract_dts_includes.py index 44d8cce5d0a..66996f93755 100755 --- a/scripts/extract_dts_includes.py +++ b/scripts/extract_dts_includes.py @@ -776,6 +776,18 @@ def main(): extract_string_prop(chosen['zephyr,console'], None, "label", "CONFIG_UART_CONSOLE_ON_DEV_NAME", defs) + if 'zephyr,bt-uart' in chosen: + extract_string_prop(chosen['zephyr,bt-uart'], None, "label", + "CONFIG_BLUETOOTH_UART_ON_DEV_NAME", defs) + + if 'zephyr,uart-pipe' in chosen: + extract_string_prop(chosen['zephyr,uart-pipe'], None, "label", + "CONFIG_UART_PIPE_ON_DEV_NAME", defs) + + if 'zephyr,bt-mon-uart' in chosen: + extract_string_prop(chosen['zephyr,bt-mon-uart'], None, "label", + "CONFIG_BLUETOOTH_MONITOR_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 = {}