|
| 1 | +#include <zephyr/dt-bindings/pinctrl/stm32-pinctrl.h> |
| 2 | + |
1 | 3 | / { |
2 | | - devices{ |
3 | | - rng_device: rng_0 { |
4 | | - compatible = "custom,rng-sensor"; |
5 | | - label = "RNG Sensor"; |
6 | | - status = "okay"; |
| 4 | + aliases { |
| 5 | + psram0 = &psram; |
| 6 | + rng0 = &rng_device; |
| 7 | + led0 = &green_led_1; |
| 8 | + led1 = &red_led_1; |
| 9 | + }; |
| 10 | + |
| 11 | + leds { |
| 12 | + compatible = "gpio-leds"; |
| 13 | + green_led_1: led_1 { |
| 14 | + gpios = <&gpioh 7 GPIO_ACTIVE_LOW>; |
| 15 | + label = "User LD7"; |
| 16 | + }; |
| 17 | + red_led_1: led_3 { |
| 18 | + gpios = <&gpioh 6 GPIO_ACTIVE_LOW>; |
| 19 | + label = "User LD6"; |
| 20 | + }; |
| 21 | + }; |
| 22 | + |
| 23 | + gpio_keys { |
| 24 | + compatible = "gpio-keys"; |
| 25 | + user_button: button { |
| 26 | + label = "User"; |
| 27 | + gpios = <&gpioc 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; |
| 28 | + zephyr,code = <INPUT_KEY_0>; |
7 | 29 | }; |
8 | 30 | }; |
| 31 | + |
| 32 | + rng_device: rng_0 { |
| 33 | + compatible = "custom,rng-sensor"; |
| 34 | + label = "RNG Sensor"; |
| 35 | + status = "okay"; |
| 36 | + }; |
| 37 | + |
| 38 | + devices { |
| 39 | + compatible = "custom,devices"; |
| 40 | + status = "okay"; |
| 41 | + device_list = <&rng_device &ism330dhcx>; |
| 42 | + }; |
| 43 | + |
| 44 | + reserved-memory { |
| 45 | + #address-cells = <1>; |
| 46 | + #size-cells = <1>; |
| 47 | + ranges; |
| 48 | + |
| 49 | + psram0: psram@90000000 { |
| 50 | + compatible = "zephyr,memory-region"; |
| 51 | + reg = <0x90000000 0x00800000>; |
| 52 | + zephyr,memory-region = "PSRAM"; |
| 53 | + }; |
| 54 | + }; |
| 55 | + |
| 56 | + chosen { |
| 57 | + zephyr,memory-region = &psram0; |
| 58 | + }; |
| 59 | +}; |
| 60 | + |
| 61 | +&octospi1 { |
| 62 | + status = "okay"; |
| 63 | + pinctrl-0 = <&octospi1_clk &octospi1_ncs &octospi1_dqs |
| 64 | + &octospi1_io0 &octospi1_io1 &octospi1_io2 &octospi1_io3 |
| 65 | + &octospi1_io4 &octospi1_io5 &octospi1_io6 &octospi1_io7>; |
| 66 | + pinctrl-names = "default"; |
| 67 | + |
| 68 | + psram: psram@0 { |
| 69 | + compatible = "st,stm32-ospi-psram"; |
| 70 | + reg = <0x0 0x00800000>; |
| 71 | + st,ospi-mode = <3>; // Octal mode |
| 72 | + st,ospi-clk-frequency = <104>; // MHz |
| 73 | + st,ospi-chip-select = <0>; // CS0 |
| 74 | + }; |
| 75 | +}; |
| 76 | + |
| 77 | +/* OCTOSPI1 pinmux setup */ |
| 78 | +&pinctrl { |
| 79 | + octospi1_clk: octospi1_clk { |
| 80 | + pinmux = <STM32_PINMUX('E', 10, AF10)>; |
| 81 | + bias-disable; |
| 82 | + drive-push-pull; |
| 83 | + slew-rate = "very-high-speed"; |
| 84 | + }; |
| 85 | + |
| 86 | + octospi1_ncs: octospi1_ncs { |
| 87 | + pinmux = <STM32_PINMUX('E', 11, AF10)>; |
| 88 | + bias-disable; |
| 89 | + drive-push-pull; |
| 90 | + slew-rate = "very-high-speed"; |
| 91 | + }; |
| 92 | + |
| 93 | + octospi1_dqs: octospi1_dqs { |
| 94 | + pinmux = <STM32_PINMUX('E', 12, AF10)>; |
| 95 | + bias-disable; |
| 96 | + drive-push-pull; |
| 97 | + slew-rate = "very-high-speed"; |
| 98 | + }; |
| 99 | + |
| 100 | + octospi1_io0: octospi1_io0 { |
| 101 | + pinmux = <STM32_PINMUX('E', 7, AF10)>; |
| 102 | + bias-disable; |
| 103 | + drive-push-pull; |
| 104 | + slew-rate = "very-high-speed"; |
| 105 | + }; |
| 106 | + |
| 107 | + octospi1_io1: octospi1_io1 { |
| 108 | + pinmux = <STM32_PINMUX('E', 8, AF10)>; |
| 109 | + bias-disable; |
| 110 | + drive-push-pull; |
| 111 | + slew-rate = "very-high-speed"; |
| 112 | + }; |
| 113 | + |
| 114 | + octospi1_io2: octospi1_io2 { |
| 115 | + pinmux = <STM32_PINMUX('E', 9, AF10)>; |
| 116 | + bias-disable; |
| 117 | + drive-push-pull; |
| 118 | + slew-rate = "very-high-speed"; |
| 119 | + }; |
| 120 | + |
| 121 | + octospi1_io3: octospi1_io3 { |
| 122 | + pinmux = <STM32_PINMUX('E', 13, AF10)>; |
| 123 | + bias-disable; |
| 124 | + drive-push-pull; |
| 125 | + slew-rate = "very-high-speed"; |
| 126 | + }; |
| 127 | + |
| 128 | + octospi1_io4: octospi1_io4 { |
| 129 | + pinmux = <STM32_PINMUX('E', 14, AF10)>; |
| 130 | + bias-disable; |
| 131 | + drive-push-pull; |
| 132 | + slew-rate = "very-high-speed"; |
| 133 | + }; |
| 134 | + |
| 135 | + octospi1_io5: octospi1_io5 { |
| 136 | + pinmux = <STM32_PINMUX('E', 15, AF10)>; |
| 137 | + bias-disable; |
| 138 | + drive-push-pull; |
| 139 | + slew-rate = "very-high-speed"; |
| 140 | + }; |
| 141 | + |
| 142 | + octospi1_io6: octospi1_io6 { |
| 143 | + pinmux = <STM32_PINMUX('E', 2, AF10)>; |
| 144 | + bias-disable; |
| 145 | + drive-push-pull; |
| 146 | + slew-rate = "very-high-speed"; |
| 147 | + }; |
| 148 | + |
| 149 | + octospi1_io7: octospi1_io7 { |
| 150 | + pinmux = <STM32_PINMUX('D', 7, AF10)>; |
| 151 | + bias-disable; |
| 152 | + drive-push-pull; |
| 153 | + slew-rate = "very-high-speed"; |
| 154 | + }; |
| 155 | +}; |
| 156 | + |
| 157 | +&i2c2 { |
| 158 | + pinctrl-0 = <&i2c2_scl_ph4 &i2c2_sda_ph5>; |
| 159 | + pinctrl-names = "default"; |
| 160 | + status = "okay"; |
| 161 | + clock-frequency = <I2C_BITRATE_FAST>; |
| 162 | + |
| 163 | + ism330dhcx: ism330dhcx@6b { |
| 164 | + compatible = "st,ism330dhcx"; |
| 165 | + reg = <0x6b>; |
| 166 | + drdy-gpios = <&gpioe 11 GPIO_ACTIVE_HIGH>; |
| 167 | + status = "okay"; |
| 168 | + label = "imu"; |
| 169 | + accel-odr = <4>; // 104 Hz |
| 170 | + accel-range = <4>; // ±4 g |
| 171 | + gyro-odr = <4>; // 104 Hz |
| 172 | + gyro-range = <250>; // ±250 dps |
| 173 | + }; |
9 | 174 | }; |
10 | 175 |
|
11 | 176 | &spi1 { |
|
20 | 185 | }; |
21 | 186 | }; |
22 | 187 |
|
| 188 | +/* Optional: flash partitions */ |
23 | 189 | &flash0 { |
24 | 190 | partitions { |
25 | 191 | user_data_partition: partition@100000 { |
|
29 | 195 | }; |
30 | 196 | }; |
31 | 197 |
|
32 | | -/* Add hts221 sensor configurations */ |
33 | 198 | &die_temp { |
34 | 199 | status = "disabled"; |
35 | 200 | }; |
|
0 commit comments