1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2/dts-v1/; 3 4#include <arm/st/stm32mp151.dtsi> 5#include <arm/st/stm32mp15xc.dtsi> 6#include <arm/st/stm32mp15-pinctrl.dtsi> 7#include <arm/st/stm32mp15xxad-pinctrl.dtsi> 8#include <arm/st/stm32mp15-scmi.dtsi> 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/leds/common.h> 11 12/ { 13 model = "Plymovent AQM board"; 14 compatible = "ply,plyaqm", "st,stm32mp151"; 15 16 aliases { 17 ethernet0 = ðernet0; 18 serial0 = &uart4; 19 serial1 = &uart7; 20 }; 21 22 codec { 23 compatible = "invensense,ics43432"; 24 25 port { 26 codec_endpoint: endpoint { 27 remote-endpoint = <&i2s1_endpoint>; 28 dai-format = "i2s"; 29 }; 30 }; 31 }; 32 33 firmware { 34 optee { 35 compatible = "linaro,optee-tz"; 36 method = "smc"; 37 }; 38 }; 39 40 leds { 41 compatible = "gpio-leds"; 42 43 led-0 { 44 gpios = <&gpioa 3 GPIO_ACTIVE_HIGH>; /* WHITE_EN */ 45 color = <LED_COLOR_ID_WHITE>; 46 default-state = "on"; 47 }; 48 }; 49 50 v3v3: fixed-regulator-v3v3 { 51 compatible = "regulator-fixed"; 52 regulator-name = "v3v3"; 53 regulator-min-microvolt = <3300000>; 54 regulator-max-microvolt = <3300000>; 55 }; 56 57 v5v_sw: fixed-regulator-v5sw { 58 compatible = "regulator-fixed"; 59 regulator-name = "5v-switched"; 60 regulator-min-microvolt = <5000000>; 61 regulator-max-microvolt = <5000000>; 62 gpio = <&gpioe 10 GPIO_ACTIVE_HIGH>; /* 5V_SWITCHED_EN */ 63 startup-delay-us = <100000>; 64 enable-active-high; 65 regulator-boot-on; 66 }; 67 68 reserved-memory { 69 #address-cells = <1>; 70 #size-cells = <1>; 71 ranges; 72 73 optee@cfd00000 { 74 reg = <0xcfd00000 0x300000>; 75 no-map; 76 }; 77 }; 78 79 sound { 80 compatible = "audio-graph-card"; 81 label = "STM32MP15"; 82 dais = <&i2s1_port>; 83 }; 84 85 wifi_pwrseq: wifi-pwrseq { 86 compatible = "mmc-pwrseq-simple"; 87 reset-gpios = <&gpioe 12 GPIO_ACTIVE_LOW>; /* WLAN_REG_ON */ 88 }; 89}; 90 91&adc { 92 pinctrl-names = "default"; 93 pinctrl-0 = <&adc1_in10_pins_a>; 94 vdda-supply = <&v3v3>; 95 vref-supply = <&v3v3>; 96 status = "okay"; 97 98 adc@0 { 99 #address-cells = <1>; 100 #size-cells = <0>; 101 status = "okay"; 102 103 channel@10 { /* NTC */ 104 reg = <10>; 105 st,min-sample-time-ns = <10000>; /* 10µs sampling time */ 106 }; 107 }; 108}; 109 110&cpu0 { 111 clocks = <&scmi_clk CK_SCMI_MPU>; 112}; 113 114&cryp1 { 115 clocks = <&scmi_clk CK_SCMI_CRYP1>; 116 resets = <&scmi_reset RST_SCMI_CRYP1>; 117 status = "okay"; 118}; 119 120ðernet0 { 121 pinctrl-names = "default", "sleep"; 122 pinctrl-0 = <ðernet0_rmii_pins_d>; 123 pinctrl-1 = <ðernet0_rmii_sleep_pins_d>; 124 phy-mode = "rmii"; 125 max-speed = <100>; 126 phy-handle = <ðphy0>; 127 status = "okay"; 128 129 mdio { 130 #address-cells = <1>; 131 #size-cells = <0>; 132 compatible = "snps,dwmac-mdio"; 133 134 /* KSZ8081RNA PHY */ 135 ethphy0: ethernet-phy@0 { 136 reg = <0>; 137 interrupts-extended = <&gpiob 0 IRQ_TYPE_LEVEL_LOW>; 138 reset-gpios = <&gpiob 1 GPIO_ACTIVE_LOW>; 139 reset-assert-us = <10000>; 140 reset-deassert-us = <300>; 141 }; 142 }; 143}; 144 145&gpioa { 146 gpio-line-names = 147 "", "", "", "", "", "", "", "", 148 "", "", "", "", "", "HWID_PL_N", "HWID_CP", ""; 149}; 150 151&gpiob { 152 gpio-line-names = 153 "", "", "", "", "", "", "LED_LATCH", "", 154 "", "RELAY1_EN", "", "", "", "", "", ""; 155}; 156 157&gpioc { 158 gpio-line-names = 159 "", "", "", "", "", "", "", "", 160 "", "", "", "", "", "HWID_Q7", "", ""; 161}; 162 163&gpioe { 164 gpio-line-names = 165 "", "", "", "", "RELAY2_EN", "", "", "", 166 "", "", "", "", "", "", "", ""; 167}; 168 169&gpiog { 170 gpio-line-names = 171 "", "", "", "", "", "", "", "SW1", 172 "", "", "", "", "", "", "", ""; 173}; 174 175&gpioz { 176 clocks = <&scmi_clk CK_SCMI_GPIOZ>; 177}; 178 179&hash1 { 180 clocks = <&scmi_clk CK_SCMI_HASH1>; 181 resets = <&scmi_reset RST_SCMI_HASH1>; 182}; 183 184&i2c1 { 185 pinctrl-names = "default", "sleep"; 186 pinctrl-0 = <&i2c1_pins_c>; 187 pinctrl-1 = <&i2c1_sleep_pins_c>; 188 i2c-scl-rising-time-ns = <185>; 189 i2c-scl-falling-time-ns = <20>; 190 status = "okay"; 191 /delete-property/dmas; 192 /delete-property/dma-names; 193}; 194 195&i2c4 { 196 clocks = <&scmi_clk CK_SCMI_I2C4>; 197 resets = <&scmi_reset RST_SCMI_I2C4>; 198}; 199 200&i2c6 { 201 pinctrl-names = "default", "sleep"; 202 pinctrl-0 = <&i2c6_pins_b>; 203 pinctrl-1 = <&i2c6_sleep_pins_b>; 204 i2c-scl-rising-time-ns = <185>; 205 i2c-scl-falling-time-ns = <20>; 206 clocks = <&scmi_clk CK_SCMI_I2C6>; 207 resets = <&scmi_reset RST_SCMI_I2C6>; 208 status = "okay"; 209 /delete-property/dmas; 210 /delete-property/dma-names; 211 212 pressure-sensor@47 { 213 compatible = "bosch,bmp580"; 214 reg = <0x47>; 215 vdda-supply = <&v5v_sw>; 216 vddd-supply = <&v5v_sw>; 217 }; 218 219 co2-sensor@62 { 220 compatible = "sensirion,scd41"; 221 reg = <0x62>; 222 vdd-supply = <&v5v_sw>; 223 }; 224 225 pm-sensor@69 { 226 compatible = "sensirion,sps30"; 227 reg = <0x69>; 228 }; 229}; 230 231&i2s1 { 232 pinctrl-names = "default", "sleep"; 233 pinctrl-0 = <&i2s1_pins_a>; 234 pinctrl-1 = <&i2s1_sleep_pins_a>; 235 clocks = <&rcc SPI1>, <&rcc SPI1_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>; 236 clock-names = "pclk", "i2sclk", "x8k", "x11k"; 237 #clock-cells = <0>; /* Set I2S2 as master clock provider */ 238 status = "okay"; 239 240 i2s1_port: port { 241 i2s1_endpoint: endpoint { 242 format = "i2s"; 243 mclk-fs = <256>; 244 remote-endpoint = <&codec_endpoint>; 245 }; 246 }; 247}; 248 249&iwdg2 { 250 clocks = <&rcc IWDG2>, <&scmi_clk CK_SCMI_LSI>; 251 status = "okay"; 252}; 253 254&m4_rproc { 255 /delete-property/ st,syscfg-holdboot; 256 resets = <&scmi_reset RST_SCMI_MCU>, 257 <&scmi_reset RST_SCMI_MCU_HOLD_BOOT>; 258 reset-names = "mcu_rst", "hold_boot"; 259}; 260 261&mdma1 { 262 resets = <&scmi_reset RST_SCMI_MDMA>; 263}; 264 265&rcc { 266 compatible = "st,stm32mp1-rcc-secure", "syscon"; 267 clock-names = "hse", "hsi", "csi", "lse", "lsi"; 268 clocks = <&scmi_clk CK_SCMI_HSE>, 269 <&scmi_clk CK_SCMI_HSI>, 270 <&scmi_clk CK_SCMI_CSI>, 271 <&scmi_clk CK_SCMI_LSE>, 272 <&scmi_clk CK_SCMI_LSI>; 273}; 274 275&rng1 { 276 clocks = <&scmi_clk CK_SCMI_RNG1>; 277 resets = <&scmi_reset RST_SCMI_RNG1>; 278 status = "okay"; 279}; 280 281&rtc { 282 clocks = <&scmi_clk CK_SCMI_RTCAPB>, <&scmi_clk CK_SCMI_RTC>; 283}; 284 285/* SD card without Card-detect */ 286&sdmmc1 { 287 pinctrl-names = "default", "opendrain", "sleep"; 288 pinctrl-0 = <&sdmmc1_b4_pins_a>; 289 pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 290 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 291 broken-cd; 292 no-sdio; 293 no-1-8-v; 294 st,neg-edge; 295 bus-width = <4>; 296 vmmc-supply = <&v3v3>; 297 status = "okay"; 298}; 299 300/* EMMC */ 301&sdmmc2 { 302 pinctrl-names = "default", "opendrain", "sleep"; 303 pinctrl-0 = <&sdmmc2_b4_pins_c &sdmmc2_d47_pins_b>; 304 pinctrl-1 = <&sdmmc2_b4_od_pins_c &sdmmc2_d47_pins_b>; 305 pinctrl-2 = <&sdmmc2_b4_sleep_pins_c &sdmmc2_d47_sleep_pins_b>; 306 non-removable; 307 no-sd; 308 no-sdio; 309 no-1-8-v; 310 st,neg-edge; 311 bus-width = <8>; 312 vmmc-supply = <&v3v3>; 313 status = "okay"; 314}; 315 316/* Wifi */ 317&sdmmc3 { 318 pinctrl-names = "default", "opendrain", "sleep"; 319 pinctrl-0 = <&sdmmc3_b4_pins_c>; 320 pinctrl-1 = <&sdmmc3_b4_od_pins_c>; 321 pinctrl-2 = <&sdmmc3_b4_sleep_pins_c>; 322 non-removable; 323 st,neg-edge; 324 bus-width = <4>; 325 vmmc-supply = <&v3v3>; 326 mmc-pwrseq = <&wifi_pwrseq>; 327 #address-cells = <1>; 328 #size-cells = <0>; 329 status = "okay"; 330 331 wifi@1 { 332 reg = <1>; 333 compatible = "brcm,bcm4329-fmac"; 334 }; 335}; 336 337&timers5 { 338 status = "okay"; 339 /delete-property/dmas; 340 /delete-property/dma-names; 341 342 pwm { 343 pinctrl-0 = <&pwm1_pins_d>; 344 pinctrl-1 = <&pwm1_sleep_pins_d>; 345 pinctrl-names = "default", "sleep"; 346 status = "okay"; 347 }; 348}; 349 350&uart4 { 351 pinctrl-names = "default", "sleep", "idle"; 352 pinctrl-0 = <&uart4_pins_e>; 353 pinctrl-1 = <&uart4_idle_pins_e>; 354 pinctrl-2 = <&uart4_sleep_pins_e>; 355 /delete-property/dmas; 356 /delete-property/dma-names; 357 status = "okay"; 358}; 359 360&uart7 { 361 pinctrl-names = "default"; 362 pinctrl-0 = <&uart7_pins_d>; 363 uart-has-rtscts; 364 status = "okay"; 365 366 bluetooth { 367 compatible = "brcm,bcm43438-bt"; 368 shutdown-gpios = <&gpioe 11 GPIO_ACTIVE_HIGH>; /* BT_REG_ON */ 369 max-speed = <4000000>; 370 vbat-supply = <&v3v3>; 371 vddio-supply = <&v3v3>; 372 interrupt-parent = <&gpiog>; 373 interrupts = <12 IRQ_TYPE_EDGE_RISING>; /* BT_HOST_WAKE */ 374 interrupt-names = "host-wakeup"; 375 }; 376}; 377