boards: st: stm32l152c_disco: add board support
The STM32L152C-DISCOVERY is a development board based on the STM32L152RC MCU. It is very similar to the stm32l1_disco, which was used as a reference for the pinmux and defconfig. stm32l152c_disco board has 256 Kbytes of flash memory, 32 Kbytes of RAM and 8 Kbytes of data EEPROM. Signed-off-by: Maxin John <maxin.john@gmail.com>
This commit is contained in:
parent
75f5d98002
commit
0039c665b0
5 changed files with 178 additions and 5 deletions
5
boards/st/stm32l1_disco/Kconfig.stm32l152c_disco
Normal file
5
boards/st/stm32l1_disco/Kconfig.stm32l152c_disco
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Copyright (c) 2024 Maxin John
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config BOARD_STM32L152C_DISCO
|
||||||
|
select SOC_STM32L152XC
|
|
@ -1,5 +1,9 @@
|
||||||
board:
|
boards:
|
||||||
name: stm32l1_disco
|
- name: stm32l1_disco
|
||||||
vendor: st
|
vendor: st
|
||||||
socs:
|
socs:
|
||||||
- name: stm32l151xb
|
- name: stm32l151xb
|
||||||
|
- name: stm32l152c_disco
|
||||||
|
vendor: st
|
||||||
|
socs:
|
||||||
|
- name: stm32l152xc
|
||||||
|
|
132
boards/st/stm32l1_disco/stm32l152c_disco.dts
Normal file
132
boards/st/stm32l1_disco/stm32l152c_disco.dts
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2024 Maxin John
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include <st/l1/stm32l152Xc.dtsi>
|
||||||
|
#include <st/l1/stm32l152r(6-8-b)tx-pinctrl.dtsi>
|
||||||
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "STMicroelectronics STM32L152CDISCOVERY board";
|
||||||
|
compatible = "st,stm32l1discovery";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,console = &usart1;
|
||||||
|
zephyr,shell-uart = &usart1;
|
||||||
|
zephyr,sram = &sram0;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
green_led: ld3 {
|
||||||
|
gpios = <&gpiob 7 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "User LD3";
|
||||||
|
};
|
||||||
|
blue_led: ld4 {
|
||||||
|
gpios = <&gpiob 6 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "User LD4";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio_keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
user_button: button {
|
||||||
|
label = "User";
|
||||||
|
gpios = <&gpioa 0 GPIO_ACTIVE_LOW>;
|
||||||
|
zephyr,code = <INPUT_KEY_0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
led0 = &green_led;
|
||||||
|
led1 = &blue_led;
|
||||||
|
sw0 = &user_button;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&clk_lsi {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&clk_hsi {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pll {
|
||||||
|
div = <4>;
|
||||||
|
mul = <8>;
|
||||||
|
/* out of the box, MCO from stlink is not enabled, unlike later discos */
|
||||||
|
clocks = <&clk_hsi>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&rcc {
|
||||||
|
clocks = <&pll>;
|
||||||
|
clock-frequency = <DT_FREQ_M(32)>;
|
||||||
|
ahb-prescaler = <1>;
|
||||||
|
apb1-prescaler = <1>;
|
||||||
|
apb2-prescaler = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&usart1 {
|
||||||
|
pinctrl-0 = <&usart1_tx_pa9 &usart1_rx_pa10>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
current-speed = <115200>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usart2 {
|
||||||
|
pinctrl-0 = <&usart2_tx_pa2 &usart2_rx_pa3>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
current-speed = <115200>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usart3 {
|
||||||
|
pinctrl-0 = <&usart3_tx_pb10 &usart3_rx_pb11>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
current-speed = <115200>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c1 {
|
||||||
|
pinctrl-0 = <&i2c1_scl_pb6 &i2c1_sda_pb7>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
clock-frequency = <I2C_BITRATE_FAST>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c2 {
|
||||||
|
pinctrl-0 = <&i2c2_scl_pb10 &i2c2_sda_pb11>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
clock-frequency = <I2C_BITRATE_FAST>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi1 {
|
||||||
|
pinctrl-0 = <&spi1_nss_pa4 &spi1_sck_pa5
|
||||||
|
&spi1_miso_pa6 &spi1_mosi_pa7>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi2 {
|
||||||
|
pinctrl-0 = <&spi2_nss_pb12 &spi2_sck_pb13
|
||||||
|
&spi2_miso_pb14 &spi2_mosi_pb15>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&rtc {
|
||||||
|
clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>,
|
||||||
|
<&rcc STM32_SRC_LSI RTC_SEL(2)>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
backup_regs {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
15
boards/st/stm32l1_disco/stm32l152c_disco.yaml
Normal file
15
boards/st/stm32l1_disco/stm32l152c_disco.yaml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
identifier: stm32l152c_disco
|
||||||
|
name: ST STM32L152C Discovery
|
||||||
|
type: mcu
|
||||||
|
arch: arm
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- gnuarmemb
|
||||||
|
- xtools
|
||||||
|
ram: 32
|
||||||
|
flash: 256
|
||||||
|
supported:
|
||||||
|
- gpio
|
||||||
|
- i2c
|
||||||
|
- spi
|
||||||
|
vendor: st
|
17
boards/st/stm32l1_disco/stm32l152c_disco_defconfig
Normal file
17
boards/st/stm32l1_disco/stm32l152c_disco_defconfig
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
# enable uart driver
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
|
||||||
|
# enable console
|
||||||
|
CONFIG_CONSOLE=y
|
||||||
|
CONFIG_UART_CONSOLE=y
|
||||||
|
|
||||||
|
# enable GPIO
|
||||||
|
CONFIG_GPIO=y
|
||||||
|
|
||||||
|
# Enable Clocks
|
||||||
|
CONFIG_CLOCK_CONTROL=y
|
||||||
|
|
||||||
|
# enable pin controller
|
||||||
|
CONFIG_PINCTRL=y
|
Loading…
Add table
Add a link
Reference in a new issue