| /* |
| * Copyright (c) 2021 Thomas Stranger |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /dts-v1/; |
| #include <seeed/lora-e5.dtsi> |
| |
| / { |
| model = "Seeed Studio LoRa-E5 Dev Board"; |
| compatible = "seeed,lora-e5-dev-board"; |
| |
| chosen { |
| zephyr,console = &usart1; |
| zephyr,shell-uart = &usart1; |
| zephyr,sram = &sram0; |
| zephyr,flash = &flash0; |
| zephyr,code-partition = &flash0; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| red_led_1: led_0 { |
| gpios = <&gpiob 5 GPIO_ACTIVE_LOW>; |
| label = "User LED1"; |
| /* the led can be disconnected, using J16 (D5) */ |
| }; |
| }; |
| |
| gpio_keys { |
| compatible = "gpio-keys"; |
| boot_button: button_0 { |
| label = "SW1"; |
| gpios = <&gpiob 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; |
| }; |
| |
| user_button: button_1 { |
| label = "SW2"; |
| gpios = <&gpioa 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; |
| /* user_button can be disconnected, using J14 (D0) */ |
| }; |
| }; |
| |
| aliases { |
| led0 = &red_led_1; |
| sw0 = &boot_button; |
| sw1 = &user_button; |
| lora0 = &lora; |
| watchdog0 = &iwdg; |
| }; |
| |
| pwr_3v3: pwr-3v3-ctrl { |
| /* |
| * PWR rail for SPI-flash, Temp-Sensor, RS-485 Transceiver, |
| * and for external devices(Grove, header). |
| * Requires closed J15 (D9) |
| */ |
| compatible = "regulator-fixed"; |
| regulator-name = "pwr-3v3-ctrl"; |
| enable-gpios = <&gpioa 9 GPIO_ACTIVE_HIGH>; |
| regulator-boot-on; |
| status = "okay"; |
| }; |
| |
| pwr_5v: pwr-5v-ctrl { |
| /* |
| * Available for external devices on header J2 |
| * Requires closed J6 (D10) |
| */ |
| compatible = "regulator-fixed"; |
| regulator-name = "pwr-5v-ctrl"; |
| enable-gpios = <&gpiob 10 GPIO_ACTIVE_HIGH>; |
| regulator-boot-on; |
| status = "okay"; |
| }; |
| |
| power-states { |
| stop0: state0 { |
| compatible = "zephyr,power-state"; |
| power-state-name = "suspend-to-idle"; |
| substate-id = <1>; |
| min-residency-us = <100>; |
| }; |
| stop1: state1 { |
| compatible = "zephyr,power-state"; |
| power-state-name = "suspend-to-idle"; |
| substate-id = <2>; |
| min-residency-us = <500>; |
| }; |
| stop2: state2 { |
| compatible = "zephyr,power-state"; |
| power-state-name = "suspend-to-idle"; |
| substate-id = <3>; |
| min-residency-us = <900>; |
| }; |
| }; |
| }; |
| |
| &cpu0 { |
| cpu-power-states = <&stop0 &stop1 &stop2>; |
| }; |
| |
| &lptim1 { |
| status = "okay"; |
| clocks = <&rcc STM32_CLOCK_BUS_APB1 0x80000000>, |
| <&rcc STM32_SRC_LSI LPTIM1_SEL(1)>; |
| }; |
| |
| &clk_lsi { |
| status = "okay"; |
| }; |
| |
| &clk_msi { |
| status = "okay"; |
| msi-range = <11>; |
| }; |
| |
| &rcc { |
| clocks = <&clk_msi>; |
| clock-frequency = <DT_FREQ_M(48)>; |
| cpu1-prescaler = <1>; |
| ahb3-prescaler = <1>; |
| apb1-prescaler = <1>; |
| apb2-prescaler = <1>; |
| }; |
| |
| &lpuart1 { |
| pinctrl-0 = <&lpuart1_tx_pc1 &lpuart1_rx_pc0>; |
| pinctrl-names = "default"; |
| current-speed = <115200>; |
| status = "okay"; |
| }; |
| |
| &usart1 { |
| pinctrl-0 = <&usart1_tx_pb6 &usart1_rx_pb7>; |
| 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"; |
| /* PB4 can select RS-485 TX, when J17 (A4) is closed */ |
| }; |
| |
| &i2c2 { |
| pinctrl-0 = <&i2c2_scl_pb15 &i2c2_sda_pa15>; |
| pinctrl-names = "default"; |
| status = "okay"; |
| clock-frequency = <I2C_BITRATE_FAST>; |
| |
| /* LM75ADP temperature sensor on addr 0x48 */ |
| }; |
| |
| /* Attention!: the spi-sck pin is in conflict with the boot_button on pb13 */ |
| &spi2 { |
| pinctrl-0 = <&spi2_nss_pb9 &spi2_sck_pb13 |
| &spi2_miso_pb14 &spi2_mosi_pa10>; |
| pinctrl-names = "default"; |
| status = "okay"; |
| |
| /* unpopulated footprint for spi flash */ |
| }; |
| |
| &rtc { |
| clocks = <&rcc STM32_CLOCK_BUS_APB1 0x00000400>, |
| <&rcc STM32_SRC_LSI RTC_SEL(2)>; |
| status = "okay"; |
| }; |
| |
| &iwdg { |
| status = "okay"; |
| }; |
| |
| &adc1 { |
| pinctrl-0 = <&adc_in2_pb3>; |
| pinctrl-names = "default"; |
| status = "okay"; |
| }; |
| |
| &aes { |
| status = "okay"; |
| }; |
| |
| /* connectors: */ |
| grove_serial: &usart1 {}; |
| grove_i2c: &i2c2 {}; |
| |
| &flash0 { |
| partitions { |
| compatible = "fixed-partitions"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| /* 16KB (8x2kB pages) of storage at the end of the flash */ |
| storage_partition: partition@3c000 { |
| label = "storage"; |
| reg = <0x0003c000 DT_SIZE_K(16)>; |
| }; |
| }; |
| }; |
| |
| /* |
| * Other Pins: |
| * Not assigned: None |
| * Debug: PA13(swdio), PA14(swclk) |
| */ |