1/* 2 * Copyright (c) 2017 Linaro Limited 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7/dts-v1/; 8#include <st/l4/stm32l496Xg.dtsi> 9#include <st/l4/stm32l496a(e-g)ix-pinctrl.dtsi> 10#include "arduino_r3_connector.dtsi" 11#include <zephyr/dt-bindings/input/input-event-codes.h> 12 13/ { 14 model = "STMicroelectronics STM32L496G-DISCO board"; 15 compatible = "st,stm32l496g-disco"; 16 17 chosen { 18 zephyr,console = &usart2; 19 zephyr,shell-uart = &usart2; 20 zephyr,sram = &sram0; 21 zephyr,flash = &flash0; 22 zephyr,flash-controller = &mx25r6435; 23 }; 24 25 leds { 26 compatible = "gpio-leds"; 27 green_led_2: led_2 { 28 gpios = <&gpiob 13 GPIO_ACTIVE_HIGH>; 29 label = "User LD2"; 30 }; 31 }; 32 33 gpio_keys { 34 compatible = "gpio-keys"; 35 joy_sel: joystick_select { 36 label = "joystick select"; 37 gpios = <&gpioc 13 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; 38 zephyr,code = <INPUT_KEY_ENTER>; 39 }; 40 joy_down: joystick_down { 41 label = "joystick down"; 42 gpios = <&gpioi 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; 43 zephyr,code = <INPUT_KEY_DOWN>; 44 }; 45 joy_up: joystick_up { 46 label = "joystick up"; 47 gpios = <&gpioi 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; 48 zephyr,code = <INPUT_KEY_UP>; 49 }; 50 joy_left: joystick_left { 51 label = "joystick left"; 52 gpios = <&gpioi 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; 53 zephyr,code = <INPUT_KEY_LEFT>; 54 }; 55 joy_right: joystick_right { 56 label = "joystick right"; 57 gpios = <&gpiof 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; 58 zephyr,code = <INPUT_KEY_RIGHT>; 59 }; 60 }; 61 62 aliases { 63 led0 = &green_led_2; 64 sw0 = &joy_sel; 65 sw1 = &joy_down; 66 sw2 = &joy_right; 67 sw3 = &joy_up; 68 sw4 = &joy_left; 69 volt-sensor0 = &vref; 70 volt-sensor1 = &vbat; 71 }; 72 73}; 74 75&clk_lsi { 76 status = "okay"; 77}; 78 79&clk_hsi48 { 80 status = "okay"; 81}; 82 83&clk_hsi { 84 status = "okay"; 85}; 86 87&pll { 88 div-m = <1>; 89 mul-n = <20>; 90 div-p = <7>; 91 div-q = <2>; 92 div-r = <4>; 93 clocks = <&clk_hsi>; 94 status = "okay"; 95}; 96 97&rcc { 98 clocks = <&pll>; 99 clock-frequency = <DT_FREQ_M(80)>; 100 ahb-prescaler = <1>; 101 apb1-prescaler = <1>; 102 apb2-prescaler = <1>; 103}; 104 105&usart1 { 106 pinctrl-0 = <&usart1_tx_pb6 &usart1_rx_pg10>; 107 pinctrl-names = "default"; 108 current-speed = <115200>; 109 status = "okay"; 110}; 111 112&usart2 { 113 pinctrl-0 = <&usart2_tx_pa2 &usart2_rx_pd6>; 114 pinctrl-names = "default"; 115 current-speed = <115200>; 116 status = "okay"; 117}; 118 119&lpuart1 { 120 pinctrl-0 = <&lpuart1_tx_pg7 &lpuart1_rx_pg8>; 121 pinctrl-names = "default"; 122 current-speed = <115200>; 123 status = "okay"; 124}; 125 126&timers2 { 127 status = "okay"; 128 129 pwm2: pwm { 130 status = "okay"; 131 pinctrl-0 = <&tim2_ch1_pa0>; 132 pinctrl-names = "default"; 133 }; 134}; 135 136&i2c1 { 137 pinctrl-0 = <&i2c1_scl_pb8 &i2c1_sda_pb7>; 138 pinctrl-names = "default"; 139 status = "okay"; 140 clock-frequency = <I2C_BITRATE_FAST>; 141}; 142 143&spi1 { 144 pinctrl-0 = <&spi1_sck_pa5 &spi1_miso_pb4 &spi1_mosi_pb5>; 145 pinctrl-names = "default"; 146 cs-gpios = <&gpioa 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 147 status = "okay"; 148}; 149 150&rtc { 151 clocks = <&rcc STM32_CLOCK_BUS_APB1 0x10000000>, 152 <&rcc STM32_SRC_LSI RTC_SEL(2)>; 153 status = "okay"; 154}; 155 156&sdmmc1 { 157 pinctrl-0 = <&sdmmc1_d0_pc8 &sdmmc1_d1_pc9 158 &sdmmc1_d2_pc10 &sdmmc1_d3_pc11 159 &sdmmc1_ck_pc12 &sdmmc1_cmd_pd2>; 160 pinctrl-names = "default"; 161 status = "okay"; 162}; 163 164&adc1 { 165 pinctrl-0 = < &adc1_in2_pc1>; 166 pinctrl-names = "default"; 167 st,adc-clock-source = "SYNC"; 168 st,adc-prescaler = <4>; 169 status = "okay"; 170}; 171 172zephyr_udc0: &usbotg_fs { 173 pinctrl-0 = <&usb_otg_fs_dm_pa11 &usb_otg_fs_dp_pa12 174 &usb_otg_fs_id_pa10>; 175 pinctrl-names = "default"; 176 status = "okay"; 177}; 178 179&vref { 180 status = "okay"; 181}; 182 183&vbat { 184 status = "okay"; 185}; 186 187&dma2 { 188 status = "okay"; 189}; 190 191&quadspi { 192 pinctrl-0 = <&quadspi_bk1_io0_pb1 &quadspi_bk1_io1_pb0 193 &quadspi_bk1_io2_pa7 &quadspi_bk1_io3_pa6 194 &quadspi_bk1_ncs_pb11 &quadspi_clk_pa3>; 195 pinctrl-names = "default"; 196 197 dmas = <&dma2 7 3 STM32_DMA_PERIPH_RX>; /* channel 7 request 3 on DMA2 */ 198 dma-names = "tx_rx"; 199 200 flash-id = <1>; 201 status = "okay"; 202 203 mx25r6435: qspi-nor-flash@90000000 { 204 compatible = "st,stm32-qspi-nor"; 205 reg = <0x90000000 DT_SIZE_M(8)>; /* 64 Mbits */ 206 qspi-max-frequency = <8000000>; 207 status = "okay"; 208 spi-bus-width = <4>; 209 writeoc = "PP_1_4_4"; 210 }; 211}; 212