The nucleo evaluation boards can be enhanced with shields for additional functionality. Flat device tree overlays can be used to configure and support these shields. Regrettably leds can not be simply added due to a missing label. Tag leds with a label. Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de> Reviewed-by: Vasilij Strassheim <v.strassheim@linutronix.de>
173 lines
3 KiB
Text
173 lines
3 KiB
Text
/*
|
|
* Copyright (c) 2017 Linaro Limited
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include <st/f1/stm32f103Xb.dtsi>
|
|
#include <st/f1/stm32f103r(8-b)tx-pinctrl.dtsi>
|
|
#include "arduino_r3_connector.dtsi"
|
|
#include "st_morpho_connector.dtsi"
|
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
|
|
|
/ {
|
|
model = "STMicroelectronics STM32F103RB-NUCLEO board";
|
|
compatible = "st,stm32f103rb-nucleo";
|
|
|
|
chosen {
|
|
zephyr,console = &usart2;
|
|
zephyr,shell-uart = &usart2;
|
|
zephyr,sram = &sram0;
|
|
zephyr,flash = &flash0;
|
|
};
|
|
|
|
leds: leds {
|
|
compatible = "gpio-leds";
|
|
green_led_2: led_2 {
|
|
gpios = <&gpioa 5 GPIO_ACTIVE_HIGH>;
|
|
label = "User LD2";
|
|
};
|
|
};
|
|
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
user_button: button {
|
|
label = "User";
|
|
gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
|
|
zephyr,code = <INPUT_KEY_0>;
|
|
};
|
|
};
|
|
|
|
aliases {
|
|
led0 = &green_led_2;
|
|
sw0 = &user_button;
|
|
watchdog0 = &iwdg;
|
|
die-temp0 = &die_temp;
|
|
};
|
|
};
|
|
|
|
&clk_lsi {
|
|
status = "okay";
|
|
};
|
|
|
|
&clk_hse {
|
|
hse-bypass;
|
|
clock-frequency = <DT_FREQ_M(8)>; /* STLink 8MHz clock */
|
|
status = "okay";
|
|
};
|
|
|
|
&pll {
|
|
mul = <9>;
|
|
clocks = <&clk_hse>;
|
|
status = "okay";
|
|
};
|
|
|
|
&rcc {
|
|
clocks = <&pll>;
|
|
clock-frequency = <DT_FREQ_M(72)>;
|
|
ahb-prescaler = <1>;
|
|
apb1-prescaler = <2>;
|
|
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>;
|
|
};
|
|
|
|
&i2c1 {
|
|
pinctrl-0 = <&i2c1_scl_remap1_pb8 &i2c1_sda_remap1_pb9>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
clock-frequency = <I2C_BITRATE_FAST>;
|
|
};
|
|
|
|
&spi1 {
|
|
pinctrl-0 = <&spi1_sck_master_pa5 &spi1_miso_master_pa6 &spi1_mosi_master_pa7>;
|
|
pinctrl-names = "default";
|
|
cs-gpios = <&gpiob 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
|
status = "okay";
|
|
};
|
|
|
|
&spi2 {
|
|
pinctrl-0 = <&spi2_nss_master_pb12 &spi2_sck_master_pb13
|
|
&spi2_miso_master_pb14 &spi2_mosi_master_pb15>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
&timers1 {
|
|
st,prescaler = <10000>;
|
|
status = "okay";
|
|
|
|
pwm1: pwm {
|
|
status = "okay";
|
|
pinctrl-0 = <&tim1_ch1_pwm_out_pa8>;
|
|
pinctrl-names = "default";
|
|
};
|
|
};
|
|
|
|
&timers2 {
|
|
st,prescaler = <255>;
|
|
status = "okay";
|
|
|
|
pwm2: pwm {
|
|
status = "okay";
|
|
pinctrl-0 = <&tim2_ch2_pwm_in_pa1>;
|
|
pinctrl-names = "default";
|
|
};
|
|
};
|
|
|
|
&iwdg {
|
|
status = "okay";
|
|
};
|
|
|
|
&rtc {
|
|
clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>,
|
|
<&rcc STM32_SRC_LSI RTC_SEL(2)>;
|
|
status = "okay";
|
|
};
|
|
|
|
&adc1 {
|
|
pinctrl-0 = <&adc1_in0_pa0>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
};
|
|
|
|
&die_temp {
|
|
status = "okay";
|
|
};
|
|
|
|
&dma1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&flash0 {
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
/* Set 2KB of storage at the end of 128KB flash */
|
|
storage_partition: partition@1f800 {
|
|
label = "storage";
|
|
reg = <0x0001f800 DT_SIZE_K(2)>;
|
|
};
|
|
};
|
|
};
|