From bb72df5bb29516d7c8d3dce412a62b338eaba26a Mon Sep 17 00:00:00 2001 From: Siddharth Chandrasekaran Date: Sun, 7 Apr 2019 19:00:00 +0530 Subject: [PATCH] board: stm32_min_dev: Add support for blue/black variant Add support for blue pill and black pill variants of the STM32 minimum development board by splitting board configuration into stm32_min_dev_blue and stm32_min_dev_black. CODEOWNERS: Add myself (@cbsiddharth) as codeowner for stm32_min_dev Signed-off-by: Siddharth Chandrasekaran --- CODEOWNERS | 1 + boards/arm/stm32_min_dev/Kconfig.board | 9 +++- boards/arm/stm32_min_dev/Kconfig.defconfig | 7 +-- .../{stm32_min_dev.dts => stm32_min_dev.dtsi} | 10 ++--- .../arm/stm32_min_dev/stm32_min_dev_black.dts | 19 ++++++++ .../stm32_min_dev/stm32_min_dev_black.yaml | 13 ++++++ .../stm32_min_dev_black_defconfig | 44 +++++++++++++++++++ .../arm/stm32_min_dev/stm32_min_dev_blue.dts | 19 ++++++++ ...2_min_dev.yaml => stm32_min_dev_blue.yaml} | 4 +- ...defconfig => stm32_min_dev_blue_defconfig} | 2 +- 10 files changed, 113 insertions(+), 15 deletions(-) rename boards/arm/stm32_min_dev/{stm32_min_dev.dts => stm32_min_dev.dtsi} (84%) create mode 100644 boards/arm/stm32_min_dev/stm32_min_dev_black.dts create mode 100644 boards/arm/stm32_min_dev/stm32_min_dev_black.yaml create mode 100644 boards/arm/stm32_min_dev/stm32_min_dev_black_defconfig create mode 100644 boards/arm/stm32_min_dev/stm32_min_dev_blue.dts rename boards/arm/stm32_min_dev/{stm32_min_dev.yaml => stm32_min_dev_blue.yaml} (59%) rename boards/arm/stm32_min_dev/{stm32_min_dev_defconfig => stm32_min_dev_blue_defconfig} (95%) diff --git a/CODEOWNERS b/CODEOWNERS index ee1f3f1e7f4..6dd78d16e85 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -80,6 +80,7 @@ /boards/arm/stm32*_eval/ @erwango /boards/nios2/ @wentongwu /boards/nios2/altera_max10/ @wentongwu +/boards/arm/stm32_min_dev/ @cbsiddharth /boards/posix/ @aescolar /boards/riscv32/ @kgugala @pgielda @nategraff-sifive /boards/shields/ @erwango diff --git a/boards/arm/stm32_min_dev/Kconfig.board b/boards/arm/stm32_min_dev/Kconfig.board index 060230a145a..9e825d67a27 100644 --- a/boards/arm/stm32_min_dev/Kconfig.board +++ b/boards/arm/stm32_min_dev/Kconfig.board @@ -4,6 +4,11 @@ # # SPDX-License-Identifier: Apache-2.0 # -config BOARD_STM32_MIN_DEV - bool "STM32 Minimum Development Board" + +config BOARD_STM32_MIN_DEV_BLUE + bool "STM32 Minimum Development Board (Blue)" + depends on SOC_STM32F103X8 + +config BOARD_STM32_MIN_DEV_BLACK + bool "STM32 Minimum Development Board (Black)" depends on SOC_STM32F103X8 diff --git a/boards/arm/stm32_min_dev/Kconfig.defconfig b/boards/arm/stm32_min_dev/Kconfig.defconfig index ae53508a69c..a202702df68 100644 --- a/boards/arm/stm32_min_dev/Kconfig.defconfig +++ b/boards/arm/stm32_min_dev/Kconfig.defconfig @@ -5,10 +5,11 @@ # SPDX-License-Identifier: Apache-2.0 # -if BOARD_STM32_MIN_DEV +if BOARD_STM32_MIN_DEV_BLUE || BOARD_STM32_MIN_DEV_BLACK config BOARD - default "stm32_min_dev" + default "stm32_min_dev_blue" if BOARD_STM32_MIN_DEV_BLUE + default "stm32_min_dev_black" if BOARD_STM32_MIN_DEV_BLACK if UART_CONSOLE @@ -41,4 +42,4 @@ config SPI_2 endif # SPI -endif # BOARD_STM32_MIN_DEV +endif # BOARD_STM32_MIN_DEV_BLUE || BOARD_STM32_MIN_DEV_BLACK diff --git a/boards/arm/stm32_min_dev/stm32_min_dev.dts b/boards/arm/stm32_min_dev/stm32_min_dev.dtsi similarity index 84% rename from boards/arm/stm32_min_dev/stm32_min_dev.dts rename to boards/arm/stm32_min_dev/stm32_min_dev.dtsi index fb4d6cba419..838c82d2fb7 100644 --- a/boards/arm/stm32_min_dev/stm32_min_dev.dts +++ b/boards/arm/stm32_min_dev/stm32_min_dev.dtsi @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, embedjournal.com + * Copyright (c) 2019, embedjournal.com * * SPDX-License-Identifier: Apache-2.0 */ @@ -9,7 +9,7 @@ / { model = "STM32 Minimum Development Board"; - compatible = "st,stm32_min_dev", "st,stm32f103c8"; + compatible = "st,stm32f103c8"; chosen { zephyr,console = &usart1; @@ -21,7 +21,7 @@ leds { compatible = "gpio-leds"; led: led { - gpios = <&gpioc 13 GPIO_INT_ACTIVE_HIGH>; + gpios = <&gpiob 12 GPIO_INT_ACTIVE_HIGH>; label = "LD"; }; }; @@ -70,7 +70,3 @@ status = "ok"; }; }; - -&usb { - status = "ok"; -}; diff --git a/boards/arm/stm32_min_dev/stm32_min_dev_black.dts b/boards/arm/stm32_min_dev/stm32_min_dev_black.dts new file mode 100644 index 00000000000..28b41da7ebe --- /dev/null +++ b/boards/arm/stm32_min_dev/stm32_min_dev_black.dts @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2019, embedjournal.com + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include "stm32_min_dev.dtsi" + +/ { + model = "STM32 Minimum Development Board (Black)"; + compatible = "st,stm32_min_dev_black", "st,stm32f103c8"; + + leds { + led: led { + gpios = <&gpiob 12 GPIO_INT_ACTIVE_HIGH>; + }; + }; +}; diff --git a/boards/arm/stm32_min_dev/stm32_min_dev_black.yaml b/boards/arm/stm32_min_dev/stm32_min_dev_black.yaml new file mode 100644 index 00000000000..bee3593c396 --- /dev/null +++ b/boards/arm/stm32_min_dev/stm32_min_dev_black.yaml @@ -0,0 +1,13 @@ +identifier: stm32_min_dev_black +name: STM32 Minimum Development Board (Black) +type: mcu +arch: arm +toolchain: + - zephyr + - gnuarmemb + - xtools +ram: 20 +supported: + - i2c + - pwm + - spi diff --git a/boards/arm/stm32_min_dev/stm32_min_dev_black_defconfig b/boards/arm/stm32_min_dev/stm32_min_dev_black_defconfig new file mode 100644 index 00000000000..4e1503ba4bc --- /dev/null +++ b/boards/arm/stm32_min_dev/stm32_min_dev_black_defconfig @@ -0,0 +1,44 @@ +# Kconfig - STM32 Minimum Development Board Configuration +# +# Copyright (c) 2019, embedjournal.com +# +# SPDX-License-Identifier: Apache-2.0 +# + +CONFIG_ARM=y +CONFIG_BOARD_STM32_MIN_DEV_BLACK=y +CONFIG_SOC_SERIES_STM32F1X=y +CONFIG_SOC_STM32F103X8=y +CONFIG_CORTEX_M_SYSTICK=y + +# 72MHz system clock +CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=72000000 + +# enable uart driver +CONFIG_SERIAL=y + +# enable console +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y + +# enable pinmux +CONFIG_PINMUX=y + +# enable GPIO +CONFIG_GPIO=y + +# clock configuration +CONFIG_CLOCK_CONTROL=y +CONFIG_CLOCK_STM32_HSE_CLOCK=8000000 +CONFIG_CLOCK_STM32_SYSCLK_SRC_PLL=y + +# use HSE as PLL input +CONFIG_CLOCK_STM32_PLL_SRC_HSE=y +# produce 72MHz clock at PLL output +CONFIG_CLOCK_STM32_PLL_XTPRE=n +CONFIG_CLOCK_STM32_PLL_MULTIPLIER=9 +CONFIG_CLOCK_STM32_AHB_PRESCALER=1 + +# APB1 clock must not exceed 36MHz limit +CONFIG_CLOCK_STM32_APB1_PRESCALER=2 +CONFIG_CLOCK_STM32_APB2_PRESCALER=1 diff --git a/boards/arm/stm32_min_dev/stm32_min_dev_blue.dts b/boards/arm/stm32_min_dev/stm32_min_dev_blue.dts new file mode 100644 index 00000000000..f1f4b6e9585 --- /dev/null +++ b/boards/arm/stm32_min_dev/stm32_min_dev_blue.dts @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2017, embedjournal.com + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include "stm32_min_dev.dtsi" + +/ { + model = "STM32 Minimum Development Board (Blue)"; + compatible = "st,stm32_min_dev_blue", "st,stm32f103c8"; + + leds { + led: led { + gpios = <&gpioc 13 GPIO_INT_ACTIVE_HIGH>; + }; + }; +}; diff --git a/boards/arm/stm32_min_dev/stm32_min_dev.yaml b/boards/arm/stm32_min_dev/stm32_min_dev_blue.yaml similarity index 59% rename from boards/arm/stm32_min_dev/stm32_min_dev.yaml rename to boards/arm/stm32_min_dev/stm32_min_dev_blue.yaml index 09a273c9518..a23207219ed 100644 --- a/boards/arm/stm32_min_dev/stm32_min_dev.yaml +++ b/boards/arm/stm32_min_dev/stm32_min_dev_blue.yaml @@ -1,5 +1,5 @@ -identifier: stm32_min_dev -name: STM32-MIN-DEV +identifier: stm32_min_dev_blue +name: STM32 Minimum Development Board (Blue) type: mcu arch: arm toolchain: diff --git a/boards/arm/stm32_min_dev/stm32_min_dev_defconfig b/boards/arm/stm32_min_dev/stm32_min_dev_blue_defconfig similarity index 95% rename from boards/arm/stm32_min_dev/stm32_min_dev_defconfig rename to boards/arm/stm32_min_dev/stm32_min_dev_blue_defconfig index 0ac0479b5e5..1157192731e 100644 --- a/boards/arm/stm32_min_dev/stm32_min_dev_defconfig +++ b/boards/arm/stm32_min_dev/stm32_min_dev_blue_defconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: Apache-2.0 CONFIG_ARM=y -CONFIG_BOARD_STM32_MIN_DEV=y +CONFIG_BOARD_STM32_MIN_DEV_BLUE=y CONFIG_SOC_SERIES_STM32F1X=y CONFIG_SOC_STM32F103X8=y CONFIG_CORTEX_M_SYSTICK=y