1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright (C) STMicroelectronics 2019 - All Rights Reserved 4*724ba675SRob Herring * Author: Alexandre Torgue <alexandre.torgue@st.com> for STMicroelectronics. 5*724ba675SRob Herring */ 6*724ba675SRob Herring 7*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 8*724ba675SRob Herring#include <dt-bindings/mfd/st,stpmic1.h> 9*724ba675SRob Herring 10*724ba675SRob Herring/ { 11*724ba675SRob Herring aliases { 12*724ba675SRob Herring serial0 = &uart4; 13*724ba675SRob Herring serial1 = &usart3; 14*724ba675SRob Herring serial2 = &uart7; 15*724ba675SRob Herring }; 16*724ba675SRob Herring 17*724ba675SRob Herring memory@c0000000 { 18*724ba675SRob Herring device_type = "memory"; 19*724ba675SRob Herring reg = <0xc0000000 0x20000000>; 20*724ba675SRob Herring }; 21*724ba675SRob Herring 22*724ba675SRob Herring reserved-memory { 23*724ba675SRob Herring #address-cells = <1>; 24*724ba675SRob Herring #size-cells = <1>; 25*724ba675SRob Herring ranges; 26*724ba675SRob Herring 27*724ba675SRob Herring mcuram2: mcuram2@10000000 { 28*724ba675SRob Herring compatible = "shared-dma-pool"; 29*724ba675SRob Herring reg = <0x10000000 0x40000>; 30*724ba675SRob Herring no-map; 31*724ba675SRob Herring }; 32*724ba675SRob Herring 33*724ba675SRob Herring vdev0vring0: vdev0vring0@10040000 { 34*724ba675SRob Herring compatible = "shared-dma-pool"; 35*724ba675SRob Herring reg = <0x10040000 0x1000>; 36*724ba675SRob Herring no-map; 37*724ba675SRob Herring }; 38*724ba675SRob Herring 39*724ba675SRob Herring vdev0vring1: vdev0vring1@10041000 { 40*724ba675SRob Herring compatible = "shared-dma-pool"; 41*724ba675SRob Herring reg = <0x10041000 0x1000>; 42*724ba675SRob Herring no-map; 43*724ba675SRob Herring }; 44*724ba675SRob Herring 45*724ba675SRob Herring vdev0buffer: vdev0buffer@10042000 { 46*724ba675SRob Herring compatible = "shared-dma-pool"; 47*724ba675SRob Herring reg = <0x10042000 0x4000>; 48*724ba675SRob Herring no-map; 49*724ba675SRob Herring }; 50*724ba675SRob Herring 51*724ba675SRob Herring mcuram: mcuram@30000000 { 52*724ba675SRob Herring compatible = "shared-dma-pool"; 53*724ba675SRob Herring reg = <0x30000000 0x40000>; 54*724ba675SRob Herring no-map; 55*724ba675SRob Herring }; 56*724ba675SRob Herring 57*724ba675SRob Herring retram: retram@38000000 { 58*724ba675SRob Herring compatible = "shared-dma-pool"; 59*724ba675SRob Herring reg = <0x38000000 0x10000>; 60*724ba675SRob Herring no-map; 61*724ba675SRob Herring }; 62*724ba675SRob Herring }; 63*724ba675SRob Herring 64*724ba675SRob Herring led { 65*724ba675SRob Herring compatible = "gpio-leds"; 66*724ba675SRob Herring led-blue { 67*724ba675SRob Herring label = "heartbeat"; 68*724ba675SRob Herring gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>; 69*724ba675SRob Herring linux,default-trigger = "heartbeat"; 70*724ba675SRob Herring default-state = "off"; 71*724ba675SRob Herring }; 72*724ba675SRob Herring }; 73*724ba675SRob Herring 74*724ba675SRob Herring sound { 75*724ba675SRob Herring compatible = "audio-graph-card"; 76*724ba675SRob Herring label = "STM32MP15-DK"; 77*724ba675SRob Herring routing = 78*724ba675SRob Herring "Playback" , "MCLK", 79*724ba675SRob Herring "Capture" , "MCLK", 80*724ba675SRob Herring "MICL" , "Mic Bias"; 81*724ba675SRob Herring dais = <&sai2a_port &sai2b_port &i2s2_port>; 82*724ba675SRob Herring status = "okay"; 83*724ba675SRob Herring }; 84*724ba675SRob Herring 85*724ba675SRob Herring vin: vin { 86*724ba675SRob Herring compatible = "regulator-fixed"; 87*724ba675SRob Herring regulator-name = "vin"; 88*724ba675SRob Herring regulator-min-microvolt = <5000000>; 89*724ba675SRob Herring regulator-max-microvolt = <5000000>; 90*724ba675SRob Herring regulator-always-on; 91*724ba675SRob Herring }; 92*724ba675SRob Herring}; 93*724ba675SRob Herring 94*724ba675SRob Herring&adc { 95*724ba675SRob Herring pinctrl-names = "default"; 96*724ba675SRob Herring pinctrl-0 = <&adc12_usb_cc_pins_a>; 97*724ba675SRob Herring vdd-supply = <&vdd>; 98*724ba675SRob Herring vdda-supply = <&vdd>; 99*724ba675SRob Herring vref-supply = <&vrefbuf>; 100*724ba675SRob Herring status = "okay"; 101*724ba675SRob Herring adc1: adc@0 { 102*724ba675SRob Herring status = "okay"; 103*724ba675SRob Herring /* 104*724ba675SRob Herring * Type-C USB_PWR_CC1 & USB_PWR_CC2 on in18 & in19. 105*724ba675SRob Herring * Use at least 5 * RC time, e.g. 5 * (Rp + Rd) * C: 106*724ba675SRob Herring * 5 * (56 + 47kOhms) * 5pF => 2.5us. 107*724ba675SRob Herring * Use arbitrary margin here (e.g. 5us). 108*724ba675SRob Herring */ 109*724ba675SRob Herring channel@18 { 110*724ba675SRob Herring reg = <18>; 111*724ba675SRob Herring st,min-sample-time-ns = <5000>; 112*724ba675SRob Herring }; 113*724ba675SRob Herring channel@19 { 114*724ba675SRob Herring reg = <19>; 115*724ba675SRob Herring st,min-sample-time-ns = <5000>; 116*724ba675SRob Herring }; 117*724ba675SRob Herring }; 118*724ba675SRob Herring adc2: adc@100 { 119*724ba675SRob Herring status = "okay"; 120*724ba675SRob Herring /* USB Type-C CC1 & CC2 */ 121*724ba675SRob Herring channel@18 { 122*724ba675SRob Herring reg = <18>; 123*724ba675SRob Herring st,min-sample-time-ns = <5000>; 124*724ba675SRob Herring }; 125*724ba675SRob Herring channel@19 { 126*724ba675SRob Herring reg = <19>; 127*724ba675SRob Herring st,min-sample-time-ns = <5000>; 128*724ba675SRob Herring }; 129*724ba675SRob Herring }; 130*724ba675SRob Herring}; 131*724ba675SRob Herring 132*724ba675SRob Herring&cec { 133*724ba675SRob Herring pinctrl-names = "default", "sleep"; 134*724ba675SRob Herring pinctrl-0 = <&cec_pins_b>; 135*724ba675SRob Herring pinctrl-1 = <&cec_sleep_pins_b>; 136*724ba675SRob Herring status = "okay"; 137*724ba675SRob Herring}; 138*724ba675SRob Herring 139*724ba675SRob Herring&crc1 { 140*724ba675SRob Herring status = "okay"; 141*724ba675SRob Herring}; 142*724ba675SRob Herring 143*724ba675SRob Herring&dts { 144*724ba675SRob Herring status = "okay"; 145*724ba675SRob Herring}; 146*724ba675SRob Herring 147*724ba675SRob Herringðernet0 { 148*724ba675SRob Herring status = "okay"; 149*724ba675SRob Herring pinctrl-0 = <ðernet0_rgmii_pins_a>; 150*724ba675SRob Herring pinctrl-1 = <ðernet0_rgmii_sleep_pins_a>; 151*724ba675SRob Herring pinctrl-names = "default", "sleep"; 152*724ba675SRob Herring phy-mode = "rgmii-id"; 153*724ba675SRob Herring max-speed = <1000>; 154*724ba675SRob Herring phy-handle = <&phy0>; 155*724ba675SRob Herring 156*724ba675SRob Herring mdio { 157*724ba675SRob Herring #address-cells = <1>; 158*724ba675SRob Herring #size-cells = <0>; 159*724ba675SRob Herring compatible = "snps,dwmac-mdio"; 160*724ba675SRob Herring phy0: ethernet-phy@0 { 161*724ba675SRob Herring reg = <0>; 162*724ba675SRob Herring }; 163*724ba675SRob Herring }; 164*724ba675SRob Herring}; 165*724ba675SRob Herring 166*724ba675SRob Herring&hash1 { 167*724ba675SRob Herring status = "okay"; 168*724ba675SRob Herring}; 169*724ba675SRob Herring 170*724ba675SRob Herring&i2c1 { 171*724ba675SRob Herring pinctrl-names = "default", "sleep"; 172*724ba675SRob Herring pinctrl-0 = <&i2c1_pins_a>; 173*724ba675SRob Herring pinctrl-1 = <&i2c1_sleep_pins_a>; 174*724ba675SRob Herring i2c-scl-rising-time-ns = <100>; 175*724ba675SRob Herring i2c-scl-falling-time-ns = <7>; 176*724ba675SRob Herring status = "okay"; 177*724ba675SRob Herring /delete-property/dmas; 178*724ba675SRob Herring /delete-property/dma-names; 179*724ba675SRob Herring 180*724ba675SRob Herring hdmi-transmitter@39 { 181*724ba675SRob Herring compatible = "sil,sii9022"; 182*724ba675SRob Herring reg = <0x39>; 183*724ba675SRob Herring iovcc-supply = <&v3v3_hdmi>; 184*724ba675SRob Herring cvcc12-supply = <&v1v2_hdmi>; 185*724ba675SRob Herring reset-gpios = <&gpioa 10 GPIO_ACTIVE_LOW>; 186*724ba675SRob Herring interrupts = <1 IRQ_TYPE_EDGE_FALLING>; 187*724ba675SRob Herring interrupt-parent = <&gpiog>; 188*724ba675SRob Herring #sound-dai-cells = <0>; 189*724ba675SRob Herring status = "okay"; 190*724ba675SRob Herring 191*724ba675SRob Herring ports { 192*724ba675SRob Herring #address-cells = <1>; 193*724ba675SRob Herring #size-cells = <0>; 194*724ba675SRob Herring 195*724ba675SRob Herring port@0 { 196*724ba675SRob Herring reg = <0>; 197*724ba675SRob Herring sii9022_in: endpoint { 198*724ba675SRob Herring remote-endpoint = <<dc_ep0_out>; 199*724ba675SRob Herring }; 200*724ba675SRob Herring }; 201*724ba675SRob Herring 202*724ba675SRob Herring port@3 { 203*724ba675SRob Herring reg = <3>; 204*724ba675SRob Herring sii9022_tx_endpoint: endpoint { 205*724ba675SRob Herring remote-endpoint = <&i2s2_endpoint>; 206*724ba675SRob Herring }; 207*724ba675SRob Herring }; 208*724ba675SRob Herring }; 209*724ba675SRob Herring }; 210*724ba675SRob Herring 211*724ba675SRob Herring cs42l51: cs42l51@4a { 212*724ba675SRob Herring compatible = "cirrus,cs42l51"; 213*724ba675SRob Herring reg = <0x4a>; 214*724ba675SRob Herring #sound-dai-cells = <0>; 215*724ba675SRob Herring VL-supply = <&v3v3>; 216*724ba675SRob Herring VD-supply = <&v1v8_audio>; 217*724ba675SRob Herring VA-supply = <&v1v8_audio>; 218*724ba675SRob Herring VAHP-supply = <&v1v8_audio>; 219*724ba675SRob Herring reset-gpios = <&gpiog 9 GPIO_ACTIVE_LOW>; 220*724ba675SRob Herring clocks = <&sai2a>; 221*724ba675SRob Herring clock-names = "MCLK"; 222*724ba675SRob Herring status = "okay"; 223*724ba675SRob Herring 224*724ba675SRob Herring cs42l51_port: port { 225*724ba675SRob Herring #address-cells = <1>; 226*724ba675SRob Herring #size-cells = <0>; 227*724ba675SRob Herring 228*724ba675SRob Herring cs42l51_tx_endpoint: endpoint@0 { 229*724ba675SRob Herring reg = <0>; 230*724ba675SRob Herring remote-endpoint = <&sai2a_endpoint>; 231*724ba675SRob Herring frame-master = <&cs42l51_tx_endpoint>; 232*724ba675SRob Herring bitclock-master = <&cs42l51_tx_endpoint>; 233*724ba675SRob Herring }; 234*724ba675SRob Herring 235*724ba675SRob Herring cs42l51_rx_endpoint: endpoint@1 { 236*724ba675SRob Herring reg = <1>; 237*724ba675SRob Herring remote-endpoint = <&sai2b_endpoint>; 238*724ba675SRob Herring frame-master = <&cs42l51_rx_endpoint>; 239*724ba675SRob Herring bitclock-master = <&cs42l51_rx_endpoint>; 240*724ba675SRob Herring }; 241*724ba675SRob Herring }; 242*724ba675SRob Herring }; 243*724ba675SRob Herring}; 244*724ba675SRob Herring 245*724ba675SRob Herring&i2c4 { 246*724ba675SRob Herring pinctrl-names = "default", "sleep"; 247*724ba675SRob Herring pinctrl-0 = <&i2c4_pins_a>; 248*724ba675SRob Herring pinctrl-1 = <&i2c4_sleep_pins_a>; 249*724ba675SRob Herring i2c-scl-rising-time-ns = <185>; 250*724ba675SRob Herring i2c-scl-falling-time-ns = <20>; 251*724ba675SRob Herring clock-frequency = <400000>; 252*724ba675SRob Herring status = "okay"; 253*724ba675SRob Herring /* spare dmas for other usage */ 254*724ba675SRob Herring /delete-property/dmas; 255*724ba675SRob Herring /delete-property/dma-names; 256*724ba675SRob Herring 257*724ba675SRob Herring stusb1600@28 { 258*724ba675SRob Herring compatible = "st,stusb1600"; 259*724ba675SRob Herring reg = <0x28>; 260*724ba675SRob Herring interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 261*724ba675SRob Herring interrupt-parent = <&gpioi>; 262*724ba675SRob Herring pinctrl-names = "default"; 263*724ba675SRob Herring pinctrl-0 = <&stusb1600_pins_a>; 264*724ba675SRob Herring status = "okay"; 265*724ba675SRob Herring vdd-supply = <&vin>; 266*724ba675SRob Herring 267*724ba675SRob Herring connector { 268*724ba675SRob Herring compatible = "usb-c-connector"; 269*724ba675SRob Herring label = "USB-C"; 270*724ba675SRob Herring power-role = "dual"; 271*724ba675SRob Herring typec-power-opmode = "default"; 272*724ba675SRob Herring 273*724ba675SRob Herring port { 274*724ba675SRob Herring con_usbotg_hs_ep: endpoint { 275*724ba675SRob Herring remote-endpoint = <&usbotg_hs_ep>; 276*724ba675SRob Herring }; 277*724ba675SRob Herring }; 278*724ba675SRob Herring }; 279*724ba675SRob Herring }; 280*724ba675SRob Herring 281*724ba675SRob Herring pmic: stpmic@33 { 282*724ba675SRob Herring compatible = "st,stpmic1"; 283*724ba675SRob Herring reg = <0x33>; 284*724ba675SRob Herring interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; 285*724ba675SRob Herring interrupt-controller; 286*724ba675SRob Herring #interrupt-cells = <2>; 287*724ba675SRob Herring status = "okay"; 288*724ba675SRob Herring 289*724ba675SRob Herring regulators { 290*724ba675SRob Herring compatible = "st,stpmic1-regulators"; 291*724ba675SRob Herring buck1-supply = <&vin>; 292*724ba675SRob Herring buck2-supply = <&vin>; 293*724ba675SRob Herring buck3-supply = <&vin>; 294*724ba675SRob Herring buck4-supply = <&vin>; 295*724ba675SRob Herring ldo1-supply = <&v3v3>; 296*724ba675SRob Herring ldo2-supply = <&vin>; 297*724ba675SRob Herring ldo3-supply = <&vdd_ddr>; 298*724ba675SRob Herring ldo4-supply = <&vin>; 299*724ba675SRob Herring ldo5-supply = <&vin>; 300*724ba675SRob Herring ldo6-supply = <&v3v3>; 301*724ba675SRob Herring vref_ddr-supply = <&vin>; 302*724ba675SRob Herring boost-supply = <&vin>; 303*724ba675SRob Herring pwr_sw1-supply = <&bst_out>; 304*724ba675SRob Herring pwr_sw2-supply = <&bst_out>; 305*724ba675SRob Herring 306*724ba675SRob Herring vddcore: buck1 { 307*724ba675SRob Herring regulator-name = "vddcore"; 308*724ba675SRob Herring regulator-min-microvolt = <1200000>; 309*724ba675SRob Herring regulator-max-microvolt = <1350000>; 310*724ba675SRob Herring regulator-always-on; 311*724ba675SRob Herring regulator-initial-mode = <0>; 312*724ba675SRob Herring regulator-over-current-protection; 313*724ba675SRob Herring }; 314*724ba675SRob Herring 315*724ba675SRob Herring vdd_ddr: buck2 { 316*724ba675SRob Herring regulator-name = "vdd_ddr"; 317*724ba675SRob Herring regulator-min-microvolt = <1350000>; 318*724ba675SRob Herring regulator-max-microvolt = <1350000>; 319*724ba675SRob Herring regulator-always-on; 320*724ba675SRob Herring regulator-initial-mode = <0>; 321*724ba675SRob Herring regulator-over-current-protection; 322*724ba675SRob Herring }; 323*724ba675SRob Herring 324*724ba675SRob Herring vdd: buck3 { 325*724ba675SRob Herring regulator-name = "vdd"; 326*724ba675SRob Herring regulator-min-microvolt = <3300000>; 327*724ba675SRob Herring regulator-max-microvolt = <3300000>; 328*724ba675SRob Herring regulator-always-on; 329*724ba675SRob Herring st,mask-reset; 330*724ba675SRob Herring regulator-initial-mode = <0>; 331*724ba675SRob Herring regulator-over-current-protection; 332*724ba675SRob Herring }; 333*724ba675SRob Herring 334*724ba675SRob Herring v3v3: buck4 { 335*724ba675SRob Herring regulator-name = "v3v3"; 336*724ba675SRob Herring regulator-min-microvolt = <3300000>; 337*724ba675SRob Herring regulator-max-microvolt = <3300000>; 338*724ba675SRob Herring regulator-always-on; 339*724ba675SRob Herring regulator-over-current-protection; 340*724ba675SRob Herring regulator-initial-mode = <0>; 341*724ba675SRob Herring }; 342*724ba675SRob Herring 343*724ba675SRob Herring v1v8_audio: ldo1 { 344*724ba675SRob Herring regulator-name = "v1v8_audio"; 345*724ba675SRob Herring regulator-min-microvolt = <1800000>; 346*724ba675SRob Herring regulator-max-microvolt = <1800000>; 347*724ba675SRob Herring regulator-always-on; 348*724ba675SRob Herring interrupts = <IT_CURLIM_LDO1 0>; 349*724ba675SRob Herring }; 350*724ba675SRob Herring 351*724ba675SRob Herring v3v3_hdmi: ldo2 { 352*724ba675SRob Herring regulator-name = "v3v3_hdmi"; 353*724ba675SRob Herring regulator-min-microvolt = <3300000>; 354*724ba675SRob Herring regulator-max-microvolt = <3300000>; 355*724ba675SRob Herring regulator-always-on; 356*724ba675SRob Herring interrupts = <IT_CURLIM_LDO2 0>; 357*724ba675SRob Herring }; 358*724ba675SRob Herring 359*724ba675SRob Herring vtt_ddr: ldo3 { 360*724ba675SRob Herring regulator-name = "vtt_ddr"; 361*724ba675SRob Herring regulator-min-microvolt = <500000>; 362*724ba675SRob Herring regulator-max-microvolt = <750000>; 363*724ba675SRob Herring regulator-always-on; 364*724ba675SRob Herring regulator-over-current-protection; 365*724ba675SRob Herring }; 366*724ba675SRob Herring 367*724ba675SRob Herring vdd_usb: ldo4 { 368*724ba675SRob Herring regulator-name = "vdd_usb"; 369*724ba675SRob Herring interrupts = <IT_CURLIM_LDO4 0>; 370*724ba675SRob Herring }; 371*724ba675SRob Herring 372*724ba675SRob Herring vdda: ldo5 { 373*724ba675SRob Herring regulator-name = "vdda"; 374*724ba675SRob Herring regulator-min-microvolt = <2900000>; 375*724ba675SRob Herring regulator-max-microvolt = <2900000>; 376*724ba675SRob Herring interrupts = <IT_CURLIM_LDO5 0>; 377*724ba675SRob Herring regulator-boot-on; 378*724ba675SRob Herring }; 379*724ba675SRob Herring 380*724ba675SRob Herring v1v2_hdmi: ldo6 { 381*724ba675SRob Herring regulator-name = "v1v2_hdmi"; 382*724ba675SRob Herring regulator-min-microvolt = <1200000>; 383*724ba675SRob Herring regulator-max-microvolt = <1200000>; 384*724ba675SRob Herring regulator-always-on; 385*724ba675SRob Herring interrupts = <IT_CURLIM_LDO6 0>; 386*724ba675SRob Herring }; 387*724ba675SRob Herring 388*724ba675SRob Herring vref_ddr: vref_ddr { 389*724ba675SRob Herring regulator-name = "vref_ddr"; 390*724ba675SRob Herring regulator-always-on; 391*724ba675SRob Herring }; 392*724ba675SRob Herring 393*724ba675SRob Herring bst_out: boost { 394*724ba675SRob Herring regulator-name = "bst_out"; 395*724ba675SRob Herring interrupts = <IT_OCP_BOOST 0>; 396*724ba675SRob Herring }; 397*724ba675SRob Herring 398*724ba675SRob Herring vbus_otg: pwr_sw1 { 399*724ba675SRob Herring regulator-name = "vbus_otg"; 400*724ba675SRob Herring interrupts = <IT_OCP_OTG 0>; 401*724ba675SRob Herring }; 402*724ba675SRob Herring 403*724ba675SRob Herring vbus_sw: pwr_sw2 { 404*724ba675SRob Herring regulator-name = "vbus_sw"; 405*724ba675SRob Herring interrupts = <IT_OCP_SWOUT 0>; 406*724ba675SRob Herring regulator-active-discharge = <1>; 407*724ba675SRob Herring }; 408*724ba675SRob Herring }; 409*724ba675SRob Herring 410*724ba675SRob Herring onkey { 411*724ba675SRob Herring compatible = "st,stpmic1-onkey"; 412*724ba675SRob Herring interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>; 413*724ba675SRob Herring interrupt-names = "onkey-falling", "onkey-rising"; 414*724ba675SRob Herring power-off-time-sec = <10>; 415*724ba675SRob Herring status = "okay"; 416*724ba675SRob Herring }; 417*724ba675SRob Herring 418*724ba675SRob Herring watchdog { 419*724ba675SRob Herring compatible = "st,stpmic1-wdt"; 420*724ba675SRob Herring status = "disabled"; 421*724ba675SRob Herring }; 422*724ba675SRob Herring }; 423*724ba675SRob Herring}; 424*724ba675SRob Herring 425*724ba675SRob Herring&i2c5 { 426*724ba675SRob Herring pinctrl-names = "default", "sleep"; 427*724ba675SRob Herring pinctrl-0 = <&i2c5_pins_a>; 428*724ba675SRob Herring pinctrl-1 = <&i2c5_sleep_pins_a>; 429*724ba675SRob Herring i2c-scl-rising-time-ns = <185>; 430*724ba675SRob Herring i2c-scl-falling-time-ns = <20>; 431*724ba675SRob Herring clock-frequency = <400000>; 432*724ba675SRob Herring /* spare dmas for other usage */ 433*724ba675SRob Herring /delete-property/dmas; 434*724ba675SRob Herring /delete-property/dma-names; 435*724ba675SRob Herring status = "disabled"; 436*724ba675SRob Herring}; 437*724ba675SRob Herring 438*724ba675SRob Herring&i2s2 { 439*724ba675SRob Herring clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>; 440*724ba675SRob Herring clock-names = "pclk", "i2sclk", "x8k", "x11k"; 441*724ba675SRob Herring pinctrl-names = "default", "sleep"; 442*724ba675SRob Herring pinctrl-0 = <&i2s2_pins_a>; 443*724ba675SRob Herring pinctrl-1 = <&i2s2_sleep_pins_a>; 444*724ba675SRob Herring status = "okay"; 445*724ba675SRob Herring 446*724ba675SRob Herring i2s2_port: port { 447*724ba675SRob Herring i2s2_endpoint: endpoint { 448*724ba675SRob Herring remote-endpoint = <&sii9022_tx_endpoint>; 449*724ba675SRob Herring dai-format = "i2s"; 450*724ba675SRob Herring mclk-fs = <256>; 451*724ba675SRob Herring }; 452*724ba675SRob Herring }; 453*724ba675SRob Herring}; 454*724ba675SRob Herring 455*724ba675SRob Herring&ipcc { 456*724ba675SRob Herring status = "okay"; 457*724ba675SRob Herring}; 458*724ba675SRob Herring 459*724ba675SRob Herring&iwdg2 { 460*724ba675SRob Herring timeout-sec = <32>; 461*724ba675SRob Herring status = "okay"; 462*724ba675SRob Herring}; 463*724ba675SRob Herring 464*724ba675SRob Herring<dc { 465*724ba675SRob Herring pinctrl-names = "default", "sleep"; 466*724ba675SRob Herring pinctrl-0 = <<dc_pins_a>; 467*724ba675SRob Herring pinctrl-1 = <<dc_sleep_pins_a>; 468*724ba675SRob Herring status = "okay"; 469*724ba675SRob Herring 470*724ba675SRob Herring port { 471*724ba675SRob Herring ltdc_ep0_out: endpoint { 472*724ba675SRob Herring remote-endpoint = <&sii9022_in>; 473*724ba675SRob Herring }; 474*724ba675SRob Herring }; 475*724ba675SRob Herring}; 476*724ba675SRob Herring 477*724ba675SRob Herring&m4_rproc { 478*724ba675SRob Herring memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, 479*724ba675SRob Herring <&vdev0vring1>, <&vdev0buffer>; 480*724ba675SRob Herring mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>; 481*724ba675SRob Herring mbox-names = "vq0", "vq1", "shutdown", "detach"; 482*724ba675SRob Herring interrupt-parent = <&exti>; 483*724ba675SRob Herring interrupts = <68 1>; 484*724ba675SRob Herring status = "okay"; 485*724ba675SRob Herring}; 486*724ba675SRob Herring 487*724ba675SRob Herring&pwr_regulators { 488*724ba675SRob Herring vdd-supply = <&vdd>; 489*724ba675SRob Herring vdd_3v3_usbfs-supply = <&vdd_usb>; 490*724ba675SRob Herring}; 491*724ba675SRob Herring 492*724ba675SRob Herring&rng1 { 493*724ba675SRob Herring status = "okay"; 494*724ba675SRob Herring}; 495*724ba675SRob Herring 496*724ba675SRob Herring&rtc { 497*724ba675SRob Herring status = "okay"; 498*724ba675SRob Herring}; 499*724ba675SRob Herring 500*724ba675SRob Herring&sai2 { 501*724ba675SRob Herring clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>; 502*724ba675SRob Herring clock-names = "pclk", "x8k", "x11k"; 503*724ba675SRob Herring pinctrl-names = "default", "sleep"; 504*724ba675SRob Herring pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_b>; 505*724ba675SRob Herring pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_b>; 506*724ba675SRob Herring status = "okay"; 507*724ba675SRob Herring 508*724ba675SRob Herring sai2a: audio-controller@4400b004 { 509*724ba675SRob Herring #clock-cells = <0>; 510*724ba675SRob Herring dma-names = "tx"; 511*724ba675SRob Herring status = "okay"; 512*724ba675SRob Herring 513*724ba675SRob Herring sai2a_port: port { 514*724ba675SRob Herring sai2a_endpoint: endpoint { 515*724ba675SRob Herring remote-endpoint = <&cs42l51_tx_endpoint>; 516*724ba675SRob Herring dai-format = "i2s"; 517*724ba675SRob Herring mclk-fs = <256>; 518*724ba675SRob Herring dai-tdm-slot-num = <2>; 519*724ba675SRob Herring dai-tdm-slot-width = <32>; 520*724ba675SRob Herring }; 521*724ba675SRob Herring }; 522*724ba675SRob Herring }; 523*724ba675SRob Herring 524*724ba675SRob Herring sai2b: audio-controller@4400b024 { 525*724ba675SRob Herring dma-names = "rx"; 526*724ba675SRob Herring st,sync = <&sai2a 2>; 527*724ba675SRob Herring clocks = <&rcc SAI2_K>, <&sai2a>; 528*724ba675SRob Herring clock-names = "sai_ck", "MCLK"; 529*724ba675SRob Herring status = "okay"; 530*724ba675SRob Herring 531*724ba675SRob Herring sai2b_port: port { 532*724ba675SRob Herring sai2b_endpoint: endpoint { 533*724ba675SRob Herring remote-endpoint = <&cs42l51_rx_endpoint>; 534*724ba675SRob Herring dai-format = "i2s"; 535*724ba675SRob Herring mclk-fs = <256>; 536*724ba675SRob Herring dai-tdm-slot-num = <2>; 537*724ba675SRob Herring dai-tdm-slot-width = <32>; 538*724ba675SRob Herring }; 539*724ba675SRob Herring }; 540*724ba675SRob Herring }; 541*724ba675SRob Herring}; 542*724ba675SRob Herring 543*724ba675SRob Herring&sdmmc1 { 544*724ba675SRob Herring pinctrl-names = "default", "opendrain", "sleep"; 545*724ba675SRob Herring pinctrl-0 = <&sdmmc1_b4_pins_a>; 546*724ba675SRob Herring pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 547*724ba675SRob Herring pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 548*724ba675SRob Herring cd-gpios = <&gpiob 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 549*724ba675SRob Herring disable-wp; 550*724ba675SRob Herring st,neg-edge; 551*724ba675SRob Herring bus-width = <4>; 552*724ba675SRob Herring vmmc-supply = <&v3v3>; 553*724ba675SRob Herring status = "okay"; 554*724ba675SRob Herring}; 555*724ba675SRob Herring 556*724ba675SRob Herring&sdmmc3 { 557*724ba675SRob Herring pinctrl-names = "default", "opendrain", "sleep"; 558*724ba675SRob Herring pinctrl-0 = <&sdmmc3_b4_pins_a>; 559*724ba675SRob Herring pinctrl-1 = <&sdmmc3_b4_od_pins_a>; 560*724ba675SRob Herring pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>; 561*724ba675SRob Herring broken-cd; 562*724ba675SRob Herring st,neg-edge; 563*724ba675SRob Herring bus-width = <4>; 564*724ba675SRob Herring vmmc-supply = <&v3v3>; 565*724ba675SRob Herring status = "disabled"; 566*724ba675SRob Herring}; 567*724ba675SRob Herring 568*724ba675SRob Herring&timers1 { 569*724ba675SRob Herring /* spare dmas for other usage */ 570*724ba675SRob Herring /delete-property/dmas; 571*724ba675SRob Herring /delete-property/dma-names; 572*724ba675SRob Herring status = "disabled"; 573*724ba675SRob Herring pwm { 574*724ba675SRob Herring pinctrl-0 = <&pwm1_pins_a>; 575*724ba675SRob Herring pinctrl-1 = <&pwm1_sleep_pins_a>; 576*724ba675SRob Herring pinctrl-names = "default", "sleep"; 577*724ba675SRob Herring status = "okay"; 578*724ba675SRob Herring }; 579*724ba675SRob Herring timer@0 { 580*724ba675SRob Herring status = "okay"; 581*724ba675SRob Herring }; 582*724ba675SRob Herring}; 583*724ba675SRob Herring 584*724ba675SRob Herring&timers3 { 585*724ba675SRob Herring /delete-property/dmas; 586*724ba675SRob Herring /delete-property/dma-names; 587*724ba675SRob Herring status = "disabled"; 588*724ba675SRob Herring pwm { 589*724ba675SRob Herring pinctrl-0 = <&pwm3_pins_a>; 590*724ba675SRob Herring pinctrl-1 = <&pwm3_sleep_pins_a>; 591*724ba675SRob Herring pinctrl-names = "default", "sleep"; 592*724ba675SRob Herring status = "okay"; 593*724ba675SRob Herring }; 594*724ba675SRob Herring timer@2 { 595*724ba675SRob Herring status = "okay"; 596*724ba675SRob Herring }; 597*724ba675SRob Herring}; 598*724ba675SRob Herring 599*724ba675SRob Herring&timers4 { 600*724ba675SRob Herring /delete-property/dmas; 601*724ba675SRob Herring /delete-property/dma-names; 602*724ba675SRob Herring status = "disabled"; 603*724ba675SRob Herring pwm { 604*724ba675SRob Herring pinctrl-0 = <&pwm4_pins_a &pwm4_pins_b>; 605*724ba675SRob Herring pinctrl-1 = <&pwm4_sleep_pins_a &pwm4_sleep_pins_b>; 606*724ba675SRob Herring pinctrl-names = "default", "sleep"; 607*724ba675SRob Herring status = "okay"; 608*724ba675SRob Herring }; 609*724ba675SRob Herring timer@3 { 610*724ba675SRob Herring status = "okay"; 611*724ba675SRob Herring }; 612*724ba675SRob Herring}; 613*724ba675SRob Herring 614*724ba675SRob Herring&timers5 { 615*724ba675SRob Herring /delete-property/dmas; 616*724ba675SRob Herring /delete-property/dma-names; 617*724ba675SRob Herring status = "disabled"; 618*724ba675SRob Herring pwm { 619*724ba675SRob Herring pinctrl-0 = <&pwm5_pins_a>; 620*724ba675SRob Herring pinctrl-1 = <&pwm5_sleep_pins_a>; 621*724ba675SRob Herring pinctrl-names = "default", "sleep"; 622*724ba675SRob Herring status = "okay"; 623*724ba675SRob Herring }; 624*724ba675SRob Herring timer@4 { 625*724ba675SRob Herring status = "okay"; 626*724ba675SRob Herring }; 627*724ba675SRob Herring}; 628*724ba675SRob Herring 629*724ba675SRob Herring&timers6 { 630*724ba675SRob Herring /delete-property/dmas; 631*724ba675SRob Herring /delete-property/dma-names; 632*724ba675SRob Herring status = "disabled"; 633*724ba675SRob Herring timer@5 { 634*724ba675SRob Herring status = "okay"; 635*724ba675SRob Herring }; 636*724ba675SRob Herring}; 637*724ba675SRob Herring 638*724ba675SRob Herring&timers12 { 639*724ba675SRob Herring /delete-property/dmas; 640*724ba675SRob Herring /delete-property/dma-names; 641*724ba675SRob Herring status = "disabled"; 642*724ba675SRob Herring pwm { 643*724ba675SRob Herring pinctrl-0 = <&pwm12_pins_a>; 644*724ba675SRob Herring pinctrl-1 = <&pwm12_sleep_pins_a>; 645*724ba675SRob Herring pinctrl-names = "default", "sleep"; 646*724ba675SRob Herring status = "okay"; 647*724ba675SRob Herring }; 648*724ba675SRob Herring timer@11 { 649*724ba675SRob Herring status = "okay"; 650*724ba675SRob Herring }; 651*724ba675SRob Herring}; 652*724ba675SRob Herring 653*724ba675SRob Herring&uart4 { 654*724ba675SRob Herring pinctrl-names = "default", "sleep", "idle"; 655*724ba675SRob Herring pinctrl-0 = <&uart4_pins_a>; 656*724ba675SRob Herring pinctrl-1 = <&uart4_sleep_pins_a>; 657*724ba675SRob Herring pinctrl-2 = <&uart4_idle_pins_a>; 658*724ba675SRob Herring /delete-property/dmas; 659*724ba675SRob Herring /delete-property/dma-names; 660*724ba675SRob Herring status = "okay"; 661*724ba675SRob Herring}; 662*724ba675SRob Herring 663*724ba675SRob Herring&uart7 { 664*724ba675SRob Herring pinctrl-names = "default", "sleep", "idle"; 665*724ba675SRob Herring pinctrl-0 = <&uart7_pins_c>; 666*724ba675SRob Herring pinctrl-1 = <&uart7_sleep_pins_c>; 667*724ba675SRob Herring pinctrl-2 = <&uart7_idle_pins_c>; 668*724ba675SRob Herring /delete-property/dmas; 669*724ba675SRob Herring /delete-property/dma-names; 670*724ba675SRob Herring status = "disabled"; 671*724ba675SRob Herring}; 672*724ba675SRob Herring 673*724ba675SRob Herring&usart3 { 674*724ba675SRob Herring pinctrl-names = "default", "sleep", "idle"; 675*724ba675SRob Herring pinctrl-0 = <&usart3_pins_c>; 676*724ba675SRob Herring pinctrl-1 = <&usart3_sleep_pins_c>; 677*724ba675SRob Herring pinctrl-2 = <&usart3_idle_pins_c>; 678*724ba675SRob Herring uart-has-rtscts; 679*724ba675SRob Herring status = "disabled"; 680*724ba675SRob Herring}; 681*724ba675SRob Herring 682*724ba675SRob Herring&usbh_ehci { 683*724ba675SRob Herring phys = <&usbphyc_port0>; 684*724ba675SRob Herring status = "okay"; 685*724ba675SRob Herring #address-cells = <1>; 686*724ba675SRob Herring #size-cells = <0>; 687*724ba675SRob Herring /* onboard HUB */ 688*724ba675SRob Herring hub@1 { 689*724ba675SRob Herring compatible = "usb424,2514"; 690*724ba675SRob Herring reg = <1>; 691*724ba675SRob Herring vdd-supply = <&v3v3>; 692*724ba675SRob Herring }; 693*724ba675SRob Herring}; 694*724ba675SRob Herring 695*724ba675SRob Herring&usbotg_hs { 696*724ba675SRob Herring phys = <&usbphyc_port1 0>; 697*724ba675SRob Herring phy-names = "usb2-phy"; 698*724ba675SRob Herring usb-role-switch; 699*724ba675SRob Herring status = "okay"; 700*724ba675SRob Herring 701*724ba675SRob Herring port { 702*724ba675SRob Herring usbotg_hs_ep: endpoint { 703*724ba675SRob Herring remote-endpoint = <&con_usbotg_hs_ep>; 704*724ba675SRob Herring }; 705*724ba675SRob Herring }; 706*724ba675SRob Herring}; 707*724ba675SRob Herring 708*724ba675SRob Herring&usbphyc { 709*724ba675SRob Herring status = "okay"; 710*724ba675SRob Herring}; 711*724ba675SRob Herring 712*724ba675SRob Herring&usbphyc_port0 { 713*724ba675SRob Herring phy-supply = <&vdd_usb>; 714*724ba675SRob Herring st,tune-hs-dc-level = <2>; 715*724ba675SRob Herring st,enable-fs-rftime-tuning; 716*724ba675SRob Herring st,enable-hs-rftime-reduction; 717*724ba675SRob Herring st,trim-hs-current = <15>; 718*724ba675SRob Herring st,trim-hs-impedance = <1>; 719*724ba675SRob Herring st,tune-squelch-level = <3>; 720*724ba675SRob Herring st,tune-hs-rx-offset = <2>; 721*724ba675SRob Herring st,no-lsfs-sc; 722*724ba675SRob Herring}; 723*724ba675SRob Herring 724*724ba675SRob Herring&usbphyc_port1 { 725*724ba675SRob Herring phy-supply = <&vdd_usb>; 726*724ba675SRob Herring st,tune-hs-dc-level = <2>; 727*724ba675SRob Herring st,enable-fs-rftime-tuning; 728*724ba675SRob Herring st,enable-hs-rftime-reduction; 729*724ba675SRob Herring st,trim-hs-current = <15>; 730*724ba675SRob Herring st,trim-hs-impedance = <1>; 731*724ba675SRob Herring st,tune-squelch-level = <3>; 732*724ba675SRob Herring st,tune-hs-rx-offset = <2>; 733*724ba675SRob Herring st,no-lsfs-sc; 734*724ba675SRob Herring}; 735*724ba675SRob Herring 736*724ba675SRob Herring&vrefbuf { 737*724ba675SRob Herring regulator-min-microvolt = <2500000>; 738*724ba675SRob Herring regulator-max-microvolt = <2500000>; 739*724ba675SRob Herring vdda-supply = <&vdd>; 740*724ba675SRob Herring status = "okay"; 741*724ba675SRob Herring}; 742