1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright (C) 2022-2023 Steffen Trumtrar <kernel@pengutronix.de> 4*724ba675SRob Herring * Copyright (C) Phytec GmbH 2019-2020 - All Rights Reserved 5*724ba675SRob Herring * Author: Dom VOVARD <dom.vovard@linrt.com>. 6*724ba675SRob Herring */ 7*724ba675SRob Herring 8*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 9*724ba675SRob Herring#include <dt-bindings/input/input.h> 10*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h> 11*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 12*724ba675SRob Herring#include <dt-bindings/leds/common.h> 13*724ba675SRob Herring#include <dt-bindings/leds/leds-pca9532.h> 14*724ba675SRob Herring#include <dt-bindings/mfd/st,stpmic1.h> 15*724ba675SRob Herring#include <dt-bindings/net/ti-dp83867.h> 16*724ba675SRob Herring#include "stm32mp15-pinctrl.dtsi" 17*724ba675SRob Herring 18*724ba675SRob Herring/ { 19*724ba675SRob Herring model = "PHYTEC phyCORE-STM32MP15 SOM"; 20*724ba675SRob Herring compatible = "phytec,phycore-stm32mp157c-som", "st,stm32mp157"; 21*724ba675SRob Herring 22*724ba675SRob Herring aliases { 23*724ba675SRob Herring ethernet0 = ðernet0; 24*724ba675SRob Herring rtc0 = &i2c4_rtc; 25*724ba675SRob Herring rtc1 = &rtc; 26*724ba675SRob Herring }; 27*724ba675SRob Herring 28*724ba675SRob Herring chosen { 29*724ba675SRob Herring stdout-path = "serial0:115200n8"; 30*724ba675SRob Herring }; 31*724ba675SRob Herring 32*724ba675SRob Herring gpio-keys { 33*724ba675SRob Herring compatible = "gpio-keys"; 34*724ba675SRob Herring 35*724ba675SRob Herring key-home { 36*724ba675SRob Herring label = "Home"; 37*724ba675SRob Herring gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; 38*724ba675SRob Herring linux,code = <KEY_HOME>; 39*724ba675SRob Herring }; 40*724ba675SRob Herring 41*724ba675SRob Herring key-enter { 42*724ba675SRob Herring label = "Enter"; 43*724ba675SRob Herring gpios = <&gpioa 14 GPIO_ACTIVE_LOW>; 44*724ba675SRob Herring linux,code = <KEY_ENTER>; 45*724ba675SRob Herring }; 46*724ba675SRob Herring }; 47*724ba675SRob Herring 48*724ba675SRob Herring reserved-memory { 49*724ba675SRob Herring #address-cells = <1>; 50*724ba675SRob Herring #size-cells = <1>; 51*724ba675SRob Herring ranges; 52*724ba675SRob Herring 53*724ba675SRob Herring retram: retram@38000000 { 54*724ba675SRob Herring compatible = "shared-dma-pool"; 55*724ba675SRob Herring reg = <0x38000000 0x10000>; 56*724ba675SRob Herring no-map; 57*724ba675SRob Herring }; 58*724ba675SRob Herring 59*724ba675SRob Herring mcuram: mcuram@30000000 { 60*724ba675SRob Herring compatible = "shared-dma-pool"; 61*724ba675SRob Herring reg = <0x30000000 0x40000>; 62*724ba675SRob Herring no-map; 63*724ba675SRob Herring }; 64*724ba675SRob Herring 65*724ba675SRob Herring mcuram2: mcuram2@10000000 { 66*724ba675SRob Herring compatible = "shared-dma-pool"; 67*724ba675SRob Herring reg = <0x10000000 0x40000>; 68*724ba675SRob Herring no-map; 69*724ba675SRob Herring }; 70*724ba675SRob Herring 71*724ba675SRob Herring vdev0vring0: vdev0vring0@10040000 { 72*724ba675SRob Herring compatible = "shared-dma-pool"; 73*724ba675SRob Herring reg = <0x10040000 0x1000>; 74*724ba675SRob Herring no-map; 75*724ba675SRob Herring }; 76*724ba675SRob Herring 77*724ba675SRob Herring vdev0vring1: vdev0vring1@10041000 { 78*724ba675SRob Herring compatible = "shared-dma-pool"; 79*724ba675SRob Herring reg = <0x10041000 0x1000>; 80*724ba675SRob Herring no-map; 81*724ba675SRob Herring }; 82*724ba675SRob Herring 83*724ba675SRob Herring vdev0buffer: vdev0buffer@10042000 { 84*724ba675SRob Herring compatible = "shared-dma-pool"; 85*724ba675SRob Herring reg = <0x10042000 0x4000>; 86*724ba675SRob Herring no-map; 87*724ba675SRob Herring }; 88*724ba675SRob Herring }; 89*724ba675SRob Herring 90*724ba675SRob Herring sound { 91*724ba675SRob Herring compatible = "audio-graph-card"; 92*724ba675SRob Herring label = "STM32MP1-PHYCORE"; 93*724ba675SRob Herring routing = 94*724ba675SRob Herring "Playback", "MCLK", /* Set a route between "MCLK" and "playback" widgets */ 95*724ba675SRob Herring "Capture", "MCLK"; 96*724ba675SRob Herring dais = <&sai2b_port>, 97*724ba675SRob Herring <&sai2a_port>; 98*724ba675SRob Herring }; 99*724ba675SRob Herring 100*724ba675SRob Herring regulator_vin: regulator { 101*724ba675SRob Herring compatible = "regulator-fixed"; 102*724ba675SRob Herring regulator-name = "vin"; 103*724ba675SRob Herring regulator-min-microvolt = <5000000>; 104*724ba675SRob Herring regulator-max-microvolt = <5000000>; 105*724ba675SRob Herring regulator-always-on; 106*724ba675SRob Herring }; 107*724ba675SRob Herring}; 108*724ba675SRob Herring 109*724ba675SRob Herringðernet0 { 110*724ba675SRob Herring pinctrl-0 = <ðernet0_rgmii_pins_d>; 111*724ba675SRob Herring pinctrl-1 = <ðernet0_rgmii_sleep_pins_d>; 112*724ba675SRob Herring pinctrl-names = "default", "sleep"; 113*724ba675SRob Herring phy-mode = "rgmii-id"; 114*724ba675SRob Herring max-speed = <1000>; 115*724ba675SRob Herring phy-handle = <&phy0>; 116*724ba675SRob Herring st,eth-clk-sel; 117*724ba675SRob Herring status = "okay"; 118*724ba675SRob Herring 119*724ba675SRob Herring mdio { 120*724ba675SRob Herring #address-cells = <1>; 121*724ba675SRob Herring #size-cells = <0>; 122*724ba675SRob Herring compatible = "snps,dwmac-mdio"; 123*724ba675SRob Herring 124*724ba675SRob Herring phy0: ethernet-phy@1 { 125*724ba675SRob Herring compatible = "ethernet-phy-ieee802.3-c22"; 126*724ba675SRob Herring reg = <1>; 127*724ba675SRob Herring interrupt-parent = <&gpiog>; 128*724ba675SRob Herring interrupts = <12 IRQ_TYPE_EDGE_FALLING>; 129*724ba675SRob Herring ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 130*724ba675SRob Herring ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 131*724ba675SRob Herring ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 132*724ba675SRob Herring ti,min-output-impedance; 133*724ba675SRob Herring enet-phy-lane-no-swap; 134*724ba675SRob Herring ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 135*724ba675SRob Herring }; 136*724ba675SRob Herring }; 137*724ba675SRob Herring}; 138*724ba675SRob Herring 139*724ba675SRob Herring&i2c1 { 140*724ba675SRob Herring pinctrl-names = "default", "sleep"; 141*724ba675SRob Herring pinctrl-0 = <&i2c1_pins_b>; 142*724ba675SRob Herring pinctrl-1 = <&i2c1_sleep_pins_b>; 143*724ba675SRob Herring i2c-scl-rising-time-ns = <100>; 144*724ba675SRob Herring i2c-scl-falling-time-ns = <7>; 145*724ba675SRob Herring status = "okay"; 146*724ba675SRob Herring 147*724ba675SRob Herring codec@18 { 148*724ba675SRob Herring compatible = "ti,tlv320aic3007"; 149*724ba675SRob Herring reg = <0x18>; 150*724ba675SRob Herring #sound-dai-cells = <0>; 151*724ba675SRob Herring 152*724ba675SRob Herring ai3x-micbias-vg = <2>; 153*724ba675SRob Herring 154*724ba675SRob Herring AVDD-supply = <&v3v3>; 155*724ba675SRob Herring IOVDD-supply = <&v3v3>; 156*724ba675SRob Herring DRVDD-supply = <&v3v3>; 157*724ba675SRob Herring DVDD-supply = <&v1v8_audio>; 158*724ba675SRob Herring 159*724ba675SRob Herring clocks = <&sai2b>; 160*724ba675SRob Herring 161*724ba675SRob Herring port { 162*724ba675SRob Herring #address-cells = <1>; 163*724ba675SRob Herring #size-cells = <0>; 164*724ba675SRob Herring 165*724ba675SRob Herring tlv320_tx_endpoint: endpoint@0 { 166*724ba675SRob Herring reg = <0>; 167*724ba675SRob Herring remote-endpoint = <&sai2b_endpoint>; 168*724ba675SRob Herring frame-master; 169*724ba675SRob Herring bitclock-master; 170*724ba675SRob Herring }; 171*724ba675SRob Herring 172*724ba675SRob Herring tlv320_rx_endpoint: endpoint@1 { 173*724ba675SRob Herring reg = <1>; 174*724ba675SRob Herring remote-endpoint = <&sai2a_endpoint>; 175*724ba675SRob Herring frame-master; 176*724ba675SRob Herring bitclock-master; 177*724ba675SRob Herring }; 178*724ba675SRob Herring }; 179*724ba675SRob Herring }; 180*724ba675SRob Herring 181*724ba675SRob Herring touch@44 { 182*724ba675SRob Herring compatible = "st,stmpe811"; 183*724ba675SRob Herring reg = <0x44>; 184*724ba675SRob Herring interrupts = <3 IRQ_TYPE_EDGE_FALLING>; 185*724ba675SRob Herring interrupt-parent = <&gpioi>; 186*724ba675SRob Herring vio-supply = <&v3v3>; 187*724ba675SRob Herring vcc-supply = <&v3v3>; 188*724ba675SRob Herring 189*724ba675SRob Herring touchscreen { 190*724ba675SRob Herring compatible = "st,stmpe-ts"; 191*724ba675SRob Herring st,sample-time = <4>; 192*724ba675SRob Herring st,mod-12b = <1>; 193*724ba675SRob Herring st,ref-sel = <0>; 194*724ba675SRob Herring st,adc-freq = <1>; 195*724ba675SRob Herring st,ave-ctrl = <1>; 196*724ba675SRob Herring st,touch-det-delay = <2>; 197*724ba675SRob Herring st,settling = <2>; 198*724ba675SRob Herring st,fraction-z = <7>; 199*724ba675SRob Herring st,i-drive = <1>; 200*724ba675SRob Herring }; 201*724ba675SRob Herring }; 202*724ba675SRob Herring 203*724ba675SRob Herring leds@62 { 204*724ba675SRob Herring compatible = "nxp,pca9533"; 205*724ba675SRob Herring reg = <0x62>; 206*724ba675SRob Herring 207*724ba675SRob Herring led-0 { 208*724ba675SRob Herring color = <LED_COLOR_ID_RED>; 209*724ba675SRob Herring function = LED_FUNCTION_POWER; 210*724ba675SRob Herring type = <PCA9532_TYPE_LED>; 211*724ba675SRob Herring }; 212*724ba675SRob Herring 213*724ba675SRob Herring led-1 { 214*724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 215*724ba675SRob Herring function = LED_FUNCTION_POWER; 216*724ba675SRob Herring type = <PCA9532_TYPE_LED>; 217*724ba675SRob Herring }; 218*724ba675SRob Herring 219*724ba675SRob Herring led-2 { 220*724ba675SRob Herring color = <LED_COLOR_ID_BLUE>; 221*724ba675SRob Herring function = LED_FUNCTION_HEARTBEAT; 222*724ba675SRob Herring type = <PCA9532_TYPE_LED>; 223*724ba675SRob Herring linux,default-trigger = "heartbeat"; 224*724ba675SRob Herring }; 225*724ba675SRob Herring }; 226*724ba675SRob Herring}; 227*724ba675SRob Herring 228*724ba675SRob Herring&i2c4 { 229*724ba675SRob Herring pinctrl-names = "default", "sleep"; 230*724ba675SRob Herring pinctrl-0 = <&i2c4_pins_a>; 231*724ba675SRob Herring pinctrl-1 = <&i2c4_sleep_pins_a>; 232*724ba675SRob Herring i2c-scl-rising-time-ns = <185>; 233*724ba675SRob Herring i2c-scl-falling-time-ns = <20>; 234*724ba675SRob Herring status = "okay"; 235*724ba675SRob Herring 236*724ba675SRob Herring pmic@33 { 237*724ba675SRob Herring compatible = "st,stpmic1"; 238*724ba675SRob Herring reg = <0x33>; 239*724ba675SRob Herring interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; 240*724ba675SRob Herring interrupt-controller; 241*724ba675SRob Herring #interrupt-cells = <2>; 242*724ba675SRob Herring 243*724ba675SRob Herring regulators { 244*724ba675SRob Herring compatible = "st,stpmic1-regulators"; 245*724ba675SRob Herring buck1-supply = <®ulator_vin>; 246*724ba675SRob Herring buck2-supply = <®ulator_vin>; 247*724ba675SRob Herring buck3-supply = <®ulator_vin>; 248*724ba675SRob Herring buck4-supply = <®ulator_vin>; 249*724ba675SRob Herring ldo1-supply = <&v3v3>; 250*724ba675SRob Herring ldo2-supply = <&v3v3>; 251*724ba675SRob Herring ldo3-supply = <&vdd_ddr>; 252*724ba675SRob Herring ldo4-supply = <®ulator_vin>; 253*724ba675SRob Herring ldo5-supply = <&v3v3>; 254*724ba675SRob Herring ldo6-supply = <&v3v3>; 255*724ba675SRob Herring boost-supply = <®ulator_vin>; 256*724ba675SRob Herring pwr_sw1-supply = <&bst_out>; 257*724ba675SRob Herring pwr_sw2-supply = <&bst_out>; 258*724ba675SRob Herring 259*724ba675SRob Herring vddcore: buck1 { 260*724ba675SRob Herring regulator-name = "vddcore"; 261*724ba675SRob Herring regulator-min-microvolt = <1200000>; 262*724ba675SRob Herring regulator-max-microvolt = <1350000>; 263*724ba675SRob Herring regulator-always-on; 264*724ba675SRob Herring regulator-initial-mode = <0>; 265*724ba675SRob Herring }; 266*724ba675SRob Herring 267*724ba675SRob Herring vdd_ddr: buck2 { 268*724ba675SRob Herring regulator-name = "vdd_ddr"; 269*724ba675SRob Herring regulator-min-microvolt = <1350000>; 270*724ba675SRob Herring regulator-max-microvolt = <1350000>; 271*724ba675SRob Herring regulator-always-on; 272*724ba675SRob Herring regulator-initial-mode = <0>; 273*724ba675SRob Herring }; 274*724ba675SRob Herring 275*724ba675SRob Herring vdd: buck3 { 276*724ba675SRob Herring regulator-name = "vdd"; 277*724ba675SRob Herring regulator-min-microvolt = <3300000>; 278*724ba675SRob Herring regulator-max-microvolt = <3300000>; 279*724ba675SRob Herring regulator-always-on; 280*724ba675SRob Herring st,mask-reset; 281*724ba675SRob Herring regulator-initial-mode = <0>; 282*724ba675SRob Herring }; 283*724ba675SRob Herring 284*724ba675SRob Herring v3v3: buck4 { 285*724ba675SRob Herring regulator-name = "v3v3"; 286*724ba675SRob Herring regulator-min-microvolt = <3300000>; 287*724ba675SRob Herring regulator-max-microvolt = <3300000>; 288*724ba675SRob Herring regulator-always-on; 289*724ba675SRob Herring regulator-initial-mode = <0>; 290*724ba675SRob Herring }; 291*724ba675SRob Herring 292*724ba675SRob Herring v1v8_audio: ldo1 { 293*724ba675SRob Herring regulator-name = "v1v8_audio"; 294*724ba675SRob Herring regulator-min-microvolt = <1800000>; 295*724ba675SRob Herring regulator-max-microvolt = <1800000>; 296*724ba675SRob Herring regulator-always-on; 297*724ba675SRob Herring interrupts = <IT_CURLIM_LDO1 0>; 298*724ba675SRob Herring 299*724ba675SRob Herring }; 300*724ba675SRob Herring 301*724ba675SRob Herring vdd_eth_2v5: ldo2 { 302*724ba675SRob Herring regulator-name = "dd_eth_2v5"; 303*724ba675SRob Herring regulator-min-microvolt = <2500000>; 304*724ba675SRob Herring regulator-max-microvolt = <2500000>; 305*724ba675SRob Herring regulator-always-on; 306*724ba675SRob Herring interrupts = <IT_CURLIM_LDO2 0>; 307*724ba675SRob Herring 308*724ba675SRob Herring }; 309*724ba675SRob Herring 310*724ba675SRob Herring vtt_ddr: ldo3 { 311*724ba675SRob Herring regulator-name = "vtt_ddr"; 312*724ba675SRob Herring regulator-min-microvolt = <500000>; 313*724ba675SRob Herring regulator-max-microvolt = <750000>; 314*724ba675SRob Herring regulator-always-on; 315*724ba675SRob Herring regulator-over-current-protection; 316*724ba675SRob Herring }; 317*724ba675SRob Herring 318*724ba675SRob Herring vdd_usb: ldo4 { 319*724ba675SRob Herring regulator-name = "vdd_usb"; 320*724ba675SRob Herring interrupts = <IT_CURLIM_LDO4 0>; 321*724ba675SRob Herring }; 322*724ba675SRob Herring 323*724ba675SRob Herring vdda: ldo5 { 324*724ba675SRob Herring regulator-name = "vdda"; 325*724ba675SRob Herring regulator-min-microvolt = <2900000>; 326*724ba675SRob Herring regulator-max-microvolt = <2900000>; 327*724ba675SRob Herring interrupts = <IT_CURLIM_LDO5 0>; 328*724ba675SRob Herring regulator-boot-on; 329*724ba675SRob Herring }; 330*724ba675SRob Herring 331*724ba675SRob Herring vdd_eth_1v0: ldo6 { 332*724ba675SRob Herring regulator-name = "vdd_eth_1v0"; 333*724ba675SRob Herring regulator-min-microvolt = <1000000>; 334*724ba675SRob Herring regulator-max-microvolt = <1000000>; 335*724ba675SRob Herring regulator-always-on; 336*724ba675SRob Herring interrupts = <IT_CURLIM_LDO6 0>; 337*724ba675SRob Herring 338*724ba675SRob Herring }; 339*724ba675SRob Herring 340*724ba675SRob Herring vref_ddr: vref_ddr { 341*724ba675SRob Herring regulator-name = "vref_ddr"; 342*724ba675SRob Herring regulator-always-on; 343*724ba675SRob Herring }; 344*724ba675SRob Herring 345*724ba675SRob Herring bst_out: boost { 346*724ba675SRob Herring regulator-name = "bst_out"; 347*724ba675SRob Herring interrupts = <IT_OCP_BOOST 0>; 348*724ba675SRob Herring }; 349*724ba675SRob Herring 350*724ba675SRob Herring vbus_otg: pwr_sw1 { 351*724ba675SRob Herring regulator-name = "vbus_otg"; 352*724ba675SRob Herring interrupts = <IT_OCP_OTG 0>; 353*724ba675SRob Herring regulator-active-discharge = <1>; 354*724ba675SRob Herring }; 355*724ba675SRob Herring 356*724ba675SRob Herring vbus_sw: pwr_sw2 { 357*724ba675SRob Herring regulator-name = "vbus_sw"; 358*724ba675SRob Herring interrupts = <IT_OCP_SWOUT 0>; 359*724ba675SRob Herring regulator-active-discharge = <1>; 360*724ba675SRob Herring }; 361*724ba675SRob Herring }; 362*724ba675SRob Herring 363*724ba675SRob Herring onkey { 364*724ba675SRob Herring compatible = "st,stpmic1-onkey"; 365*724ba675SRob Herring interrupts = <IT_PONKEY_F 0>, 366*724ba675SRob Herring <IT_PONKEY_R 0>; 367*724ba675SRob Herring interrupt-names = "onkey-falling", 368*724ba675SRob Herring "onkey-rising"; 369*724ba675SRob Herring power-off-time-sec = <10>; 370*724ba675SRob Herring }; 371*724ba675SRob Herring 372*724ba675SRob Herring watchdog { 373*724ba675SRob Herring compatible = "st,stpmic1-wdt"; 374*724ba675SRob Herring }; 375*724ba675SRob Herring }; 376*724ba675SRob Herring 377*724ba675SRob Herring i2c4_eeprom: eeprom@50 { 378*724ba675SRob Herring compatible = "microchip,24c32", 379*724ba675SRob Herring "atmel,24c32"; 380*724ba675SRob Herring reg = <0x50>; 381*724ba675SRob Herring }; 382*724ba675SRob Herring 383*724ba675SRob Herring i2c4_rtc: rtc@52 { 384*724ba675SRob Herring compatible = "microcrystal,rv3028"; 385*724ba675SRob Herring reg = <0x52>; 386*724ba675SRob Herring }; 387*724ba675SRob Herring}; 388*724ba675SRob Herring 389*724ba675SRob Herring&ipcc { 390*724ba675SRob Herring status = "okay"; 391*724ba675SRob Herring}; 392*724ba675SRob Herring 393*724ba675SRob Herring&iwdg2 { 394*724ba675SRob Herring timeout-sec = <32>; 395*724ba675SRob Herring status = "okay"; 396*724ba675SRob Herring}; 397*724ba675SRob Herring 398*724ba675SRob Herring&m_can2 { 399*724ba675SRob Herring pinctrl-names = "default", "sleep"; 400*724ba675SRob Herring pinctrl-0 = <&m_can2_pins_a>; 401*724ba675SRob Herring pinctrl-1 = <&m_can2_sleep_pins_a>; 402*724ba675SRob Herring status = "okay"; 403*724ba675SRob Herring}; 404*724ba675SRob Herring 405*724ba675SRob Herring&m4_rproc { 406*724ba675SRob Herring memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, 407*724ba675SRob Herring <&vdev0vring1>, <&vdev0buffer>; 408*724ba675SRob Herring mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>; 409*724ba675SRob Herring mbox-names = "vq0", "vq1", "shutdown", "detach"; 410*724ba675SRob Herring interrupt-parent = <&exti>; 411*724ba675SRob Herring interrupts = <68 1>; 412*724ba675SRob Herring status = "okay"; 413*724ba675SRob Herring}; 414*724ba675SRob Herring 415*724ba675SRob Herring&pwr_regulators { 416*724ba675SRob Herring vdd-supply = <&vdd>; 417*724ba675SRob Herring vdd_3v3_usbfs-supply = <&vdd_usb>; 418*724ba675SRob Herring}; 419*724ba675SRob Herring 420*724ba675SRob Herring&qspi { 421*724ba675SRob Herring pinctrl-names = "default", "sleep"; 422*724ba675SRob Herring pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>; 423*724ba675SRob Herring pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>; 424*724ba675SRob Herring status = "okay"; 425*724ba675SRob Herring 426*724ba675SRob Herring flash0: flash@0 { 427*724ba675SRob Herring compatible = "winbond,w25q128", "jedec,spi-nor"; 428*724ba675SRob Herring reg = <0>; 429*724ba675SRob Herring spi-rx-bus-width = <4>; 430*724ba675SRob Herring spi-max-frequency = <50000000>; 431*724ba675SRob Herring m25p,fast-read; 432*724ba675SRob Herring #address-cells = <1>; 433*724ba675SRob Herring #size-cells = <1>; 434*724ba675SRob Herring }; 435*724ba675SRob Herring}; 436*724ba675SRob Herring 437*724ba675SRob Herring&rng1 { 438*724ba675SRob Herring status = "okay"; 439*724ba675SRob Herring}; 440*724ba675SRob Herring 441*724ba675SRob Herring&rtc { 442*724ba675SRob Herring status = "okay"; 443*724ba675SRob Herring}; 444*724ba675SRob Herring 445*724ba675SRob Herring&sai2 { 446*724ba675SRob Herring clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>; 447*724ba675SRob Herring clock-names = "pclk", "x8k", "x11k"; 448*724ba675SRob Herring pinctrl-names = "default", "sleep"; 449*724ba675SRob Herring pinctrl-0 = <&sai2a_pins_b>, <&sai2b_pins_d>; 450*724ba675SRob Herring pinctrl-1 = <&sai2a_sleep_pins_b>, <&sai2b_sleep_pins_d>; 451*724ba675SRob Herring status = "okay"; 452*724ba675SRob Herring}; 453*724ba675SRob Herring 454*724ba675SRob Herring&sai2a { 455*724ba675SRob Herring dma-names = "rx"; 456*724ba675SRob Herring st,sync = <&sai2b 2>; 457*724ba675SRob Herring clocks = <&rcc SAI2_K>, <&sai2b>; 458*724ba675SRob Herring clock-names = "sai_ck", "MCLK"; 459*724ba675SRob Herring #clock-cells = <0>; 460*724ba675SRob Herring 461*724ba675SRob Herring sai2a_port: port { 462*724ba675SRob Herring sai2a_endpoint: endpoint { 463*724ba675SRob Herring remote-endpoint = <&tlv320_rx_endpoint>; 464*724ba675SRob Herring mclk-fs = <256>; 465*724ba675SRob Herring dai-tdm-slot-num = <2>; 466*724ba675SRob Herring dai-tdm-slot-width = <16>; 467*724ba675SRob Herring }; 468*724ba675SRob Herring }; 469*724ba675SRob Herring}; 470*724ba675SRob Herring 471*724ba675SRob Herring&sai2b { 472*724ba675SRob Herring dma-names = "tx"; 473*724ba675SRob Herring #clock-cells = <0>; 474*724ba675SRob Herring 475*724ba675SRob Herring sai2b_port: port { 476*724ba675SRob Herring sai2b_endpoint: endpoint { 477*724ba675SRob Herring remote-endpoint = <&tlv320_tx_endpoint>; 478*724ba675SRob Herring mclk-fs = <256>; 479*724ba675SRob Herring dai-tdm-slot-num = <2>; 480*724ba675SRob Herring dai-tdm-slot-width = <16>; 481*724ba675SRob Herring }; 482*724ba675SRob Herring }; 483*724ba675SRob Herring}; 484*724ba675SRob Herring 485*724ba675SRob Herring&sdmmc1 { 486*724ba675SRob Herring pinctrl-names = "default", "opendrain", "sleep"; 487*724ba675SRob Herring pinctrl-0 = <&sdmmc1_b4_pins_b>; 488*724ba675SRob Herring pinctrl-1 = <&sdmmc1_b4_od_pins_b>; 489*724ba675SRob Herring pinctrl-2 = <&sdmmc1_b4_sleep_pins_b>; 490*724ba675SRob Herring cd-gpios = <&gpiof 3 GPIO_ACTIVE_LOW>; 491*724ba675SRob Herring disable-wp; 492*724ba675SRob Herring st,neg-edge; 493*724ba675SRob Herring bus-width = <4>; 494*724ba675SRob Herring vmmc-supply = <&v3v3>; 495*724ba675SRob Herring status = "okay"; 496*724ba675SRob Herring}; 497*724ba675SRob Herring 498*724ba675SRob Herring&sdmmc2 { 499*724ba675SRob Herring pinctrl-names = "default", "opendrain", "sleep"; 500*724ba675SRob Herring pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_e>; 501*724ba675SRob Herring pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_e>; 502*724ba675SRob Herring pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_e>; 503*724ba675SRob Herring non-removable; 504*724ba675SRob Herring no-sd; 505*724ba675SRob Herring no-sdio; 506*724ba675SRob Herring st,neg-edge; 507*724ba675SRob Herring bus-width = <8>; 508*724ba675SRob Herring vmmc-supply = <&v3v3>; 509*724ba675SRob Herring vqmmc-supply = <&v3v3>; 510*724ba675SRob Herring mmc-ddr-3_3v; 511*724ba675SRob Herring}; 512*724ba675SRob Herring 513*724ba675SRob Herring&spi1 { 514*724ba675SRob Herring pinctrl-names = "default", "sleep"; 515*724ba675SRob Herring pinctrl-0 = <&spi1_pins_a>; 516*724ba675SRob Herring pinctrl-1 = <&spi1_sleep_pins_a>; 517*724ba675SRob Herring cs-gpios = <&gpioz 3 0>; 518*724ba675SRob Herring status = "okay"; 519*724ba675SRob Herring}; 520*724ba675SRob Herring 521*724ba675SRob Herring&uart4 { 522*724ba675SRob Herring pinctrl-names = "default", "sleep", "idle"; 523*724ba675SRob Herring pinctrl-0 = <&uart4_pins_a>; 524*724ba675SRob Herring pinctrl-1 = <&uart4_sleep_pins_a>; 525*724ba675SRob Herring pinctrl-2 = <&uart4_idle_pins_a>; 526*724ba675SRob Herring pinctrl-3 = <&uart4_pins_a>; 527*724ba675SRob Herring /delete-property/dmas; 528*724ba675SRob Herring /delete-property/dma-names; 529*724ba675SRob Herring status = "okay"; 530*724ba675SRob Herring}; 531*724ba675SRob Herring 532*724ba675SRob Herring&usart1 { 533*724ba675SRob Herring pinctrl-names = "default", "sleep", "idle"; 534*724ba675SRob Herring pinctrl-0 = <&usart1_pins_b &usart1_pins_a>; 535*724ba675SRob Herring pinctrl-1 = <&usart1_sleep_pins_b &usart1_sleep_pins_a>; 536*724ba675SRob Herring pinctrl-2 = <&usart1_idle_pins_b &usart1_idle_pins_a>; 537*724ba675SRob Herring uart-has-rtscts; 538*724ba675SRob Herring status = "okay"; 539*724ba675SRob Herring}; 540*724ba675SRob Herring 541*724ba675SRob Herring&usart3 { 542*724ba675SRob Herring pinctrl-names = "default", "sleep", "idle"; 543*724ba675SRob Herring pinctrl-0 = <&usart3_pins_a>; 544*724ba675SRob Herring pinctrl-1 = <&usart3_sleep_pins_a>; 545*724ba675SRob Herring pinctrl-2 = <&usart3_idle_pins_a>; 546*724ba675SRob Herring status = "okay"; 547*724ba675SRob Herring}; 548*724ba675SRob Herring 549*724ba675SRob Herring&usbh_ehci { 550*724ba675SRob Herring phys = <&usbphyc_port0>; 551*724ba675SRob Herring phy-names = "usb"; 552*724ba675SRob Herring status = "okay"; 553*724ba675SRob Herring}; 554*724ba675SRob Herring 555*724ba675SRob Herring&usbh_ohci { 556*724ba675SRob Herring phys = <&usbphyc_port0>; 557*724ba675SRob Herring phy-names = "usb"; 558*724ba675SRob Herring status = "okay"; 559*724ba675SRob Herring}; 560*724ba675SRob Herring 561*724ba675SRob Herring&usbotg_hs { 562*724ba675SRob Herring phys = <&usbphyc_port1 0>; 563*724ba675SRob Herring phy-names = "usb2-phy"; 564*724ba675SRob Herring status = "okay"; 565*724ba675SRob Herring}; 566*724ba675SRob Herring 567*724ba675SRob Herring&usbphyc { 568*724ba675SRob Herring status = "okay"; 569*724ba675SRob Herring}; 570*724ba675SRob Herring 571*724ba675SRob Herring&usbphyc_port0 { 572*724ba675SRob Herring phy-supply = <&vdd_usb>; 573*724ba675SRob Herring}; 574*724ba675SRob Herring 575*724ba675SRob Herring&usbphyc_port1 { 576*724ba675SRob Herring phy-supply = <&vdd_usb>; 577*724ba675SRob Herring}; 578