1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright (C) 2019-2020 Marek Vasut <marex@denx.de> 4724ba675SRob Herring */ 5724ba675SRob Herring 6724ba675SRob Herring#include "stm32mp15-pinctrl.dtsi" 7724ba675SRob Herring#include "stm32mp15xxaa-pinctrl.dtsi" 8724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 9724ba675SRob Herring#include <dt-bindings/mfd/st,stpmic1.h> 10724ba675SRob Herring 11724ba675SRob Herring/ { 12724ba675SRob Herring aliases { 13724ba675SRob Herring ethernet0 = ðernet0; 14724ba675SRob Herring ethernet1 = &ksz8851; 15724ba675SRob Herring rtc0 = &hwrtc; 16724ba675SRob Herring rtc1 = &rtc; 17724ba675SRob Herring }; 18724ba675SRob Herring 19724ba675SRob Herring memory@c0000000 { 20724ba675SRob Herring device_type = "memory"; 21724ba675SRob Herring reg = <0xC0000000 0x40000000>; 22724ba675SRob Herring }; 23724ba675SRob Herring 24724ba675SRob Herring reserved-memory { 25724ba675SRob Herring #address-cells = <1>; 26724ba675SRob Herring #size-cells = <1>; 27724ba675SRob Herring ranges; 28724ba675SRob Herring 29724ba675SRob Herring mcuram2: mcuram2@10000000 { 30724ba675SRob Herring compatible = "shared-dma-pool"; 31724ba675SRob Herring reg = <0x10000000 0x40000>; 32724ba675SRob Herring no-map; 33724ba675SRob Herring }; 34724ba675SRob Herring 35724ba675SRob Herring vdev0vring0: vdev0vring0@10040000 { 36724ba675SRob Herring compatible = "shared-dma-pool"; 37724ba675SRob Herring reg = <0x10040000 0x1000>; 38724ba675SRob Herring no-map; 39724ba675SRob Herring }; 40724ba675SRob Herring 41724ba675SRob Herring vdev0vring1: vdev0vring1@10041000 { 42724ba675SRob Herring compatible = "shared-dma-pool"; 43724ba675SRob Herring reg = <0x10041000 0x1000>; 44724ba675SRob Herring no-map; 45724ba675SRob Herring }; 46724ba675SRob Herring 47724ba675SRob Herring vdev0buffer: vdev0buffer@10042000 { 48724ba675SRob Herring compatible = "shared-dma-pool"; 49724ba675SRob Herring reg = <0x10042000 0x4000>; 50724ba675SRob Herring no-map; 51724ba675SRob Herring }; 52724ba675SRob Herring 53724ba675SRob Herring mcuram: mcuram@30000000 { 54724ba675SRob Herring compatible = "shared-dma-pool"; 55724ba675SRob Herring reg = <0x30000000 0x40000>; 56724ba675SRob Herring no-map; 57724ba675SRob Herring }; 58724ba675SRob Herring 59724ba675SRob Herring retram: retram@38000000 { 60724ba675SRob Herring compatible = "shared-dma-pool"; 61724ba675SRob Herring reg = <0x38000000 0x10000>; 62724ba675SRob Herring no-map; 63724ba675SRob Herring }; 64724ba675SRob Herring }; 65724ba675SRob Herring 66724ba675SRob Herring ethernet_vio: vioregulator { 67724ba675SRob Herring compatible = "regulator-fixed"; 68724ba675SRob Herring regulator-name = "vio"; 69724ba675SRob Herring regulator-min-microvolt = <3300000>; 70724ba675SRob Herring regulator-max-microvolt = <3300000>; 71724ba675SRob Herring gpio = <&gpiog 3 GPIO_ACTIVE_LOW>; 72724ba675SRob Herring regulator-always-on; 73724ba675SRob Herring regulator-boot-on; 74724ba675SRob Herring vin-supply = <&vdd>; 75724ba675SRob Herring }; 76724ba675SRob Herring}; 77724ba675SRob Herring 78724ba675SRob Herring&adc { 79724ba675SRob Herring vdd-supply = <&vdd>; 80724ba675SRob Herring vdda-supply = <&vdda>; 81724ba675SRob Herring vref-supply = <&vdda>; 82724ba675SRob Herring status = "okay"; 83724ba675SRob Herring}; 84724ba675SRob Herring 85724ba675SRob Herring&adc1 { 86724ba675SRob Herring channel@0 { 87724ba675SRob Herring reg = <0>; 88724ba675SRob Herring st,min-sample-time-ns = <5000>; 89724ba675SRob Herring }; 90724ba675SRob Herring}; 91724ba675SRob Herring 92724ba675SRob Herring&adc2 { 93724ba675SRob Herring channel@1 { 94724ba675SRob Herring reg = <1>; 95724ba675SRob Herring st,min-sample-time-ns = <5000>; 96724ba675SRob Herring }; 97724ba675SRob Herring}; 98724ba675SRob Herring 99724ba675SRob Herring&crc1 { 100724ba675SRob Herring status = "okay"; 101724ba675SRob Herring}; 102724ba675SRob Herring 103724ba675SRob Herring&dac { 104724ba675SRob Herring pinctrl-names = "default"; 105724ba675SRob Herring pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>; 106724ba675SRob Herring vref-supply = <&vdda>; 107724ba675SRob Herring status = "okay"; 108724ba675SRob Herring 109724ba675SRob Herring dac1: dac@1 { 110724ba675SRob Herring status = "okay"; 111724ba675SRob Herring }; 112724ba675SRob Herring dac2: dac@2 { 113724ba675SRob Herring status = "okay"; 114724ba675SRob Herring }; 115724ba675SRob Herring}; 116724ba675SRob Herring 117724ba675SRob Herring&dts { 118724ba675SRob Herring status = "okay"; 119724ba675SRob Herring}; 120724ba675SRob Herring 121724ba675SRob Herringðernet0 { 122724ba675SRob Herring status = "okay"; 123724ba675SRob Herring pinctrl-0 = <ðernet0_rmii_pins_c &mco2_pins_a>; 124724ba675SRob Herring pinctrl-1 = <ðernet0_rmii_sleep_pins_c &mco2_sleep_pins_a>; 125724ba675SRob Herring pinctrl-names = "default", "sleep"; 126724ba675SRob Herring phy-mode = "rmii"; 127724ba675SRob Herring max-speed = <100>; 128724ba675SRob Herring phy-handle = <&phy0>; 129724ba675SRob Herring 130724ba675SRob Herring mdio { 131724ba675SRob Herring #address-cells = <1>; 132724ba675SRob Herring #size-cells = <0>; 133724ba675SRob Herring compatible = "snps,dwmac-mdio"; 134724ba675SRob Herring 135724ba675SRob Herring phy0: ethernet-phy@1 { 136724ba675SRob Herring reg = <1>; 137724ba675SRob Herring /* LAN8710Ai */ 138724ba675SRob Herring compatible = "ethernet-phy-id0007.c0f0", 139724ba675SRob Herring "ethernet-phy-ieee802.3-c22"; 140724ba675SRob Herring clocks = <&rcc CK_MCO2>; 141724ba675SRob Herring reset-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>; 142724ba675SRob Herring reset-assert-us = <500>; 143724ba675SRob Herring reset-deassert-us = <500>; 144724ba675SRob Herring smsc,disable-energy-detect; 145724ba675SRob Herring interrupt-parent = <&gpioi>; 146724ba675SRob Herring interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 147724ba675SRob Herring }; 148724ba675SRob Herring }; 149724ba675SRob Herring}; 150724ba675SRob Herring 151724ba675SRob Herring&fmc { 152724ba675SRob Herring pinctrl-names = "default", "sleep"; 153724ba675SRob Herring pinctrl-0 = <&fmc_pins_b>; 154724ba675SRob Herring pinctrl-1 = <&fmc_sleep_pins_b>; 155724ba675SRob Herring status = "okay"; 156724ba675SRob Herring 157724ba675SRob Herring ksz8851: ethernet@1,0 { 158724ba675SRob Herring compatible = "micrel,ks8851-mll"; 159724ba675SRob Herring reg = <1 0x0 0x2>, <1 0x2 0x20000>; 160724ba675SRob Herring interrupt-parent = <&gpioc>; 161724ba675SRob Herring interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 162724ba675SRob Herring bank-width = <2>; 163724ba675SRob Herring 164724ba675SRob Herring /* Timing values are in nS */ 165724ba675SRob Herring st,fmc2-ebi-cs-mux-enable; 166724ba675SRob Herring st,fmc2-ebi-cs-transaction-type = <4>; 167724ba675SRob Herring st,fmc2-ebi-cs-buswidth = <16>; 168724ba675SRob Herring st,fmc2-ebi-cs-address-setup-ns = <5>; 169724ba675SRob Herring st,fmc2-ebi-cs-address-hold-ns = <5>; 170724ba675SRob Herring st,fmc2-ebi-cs-bus-turnaround-ns = <5>; 171724ba675SRob Herring st,fmc2-ebi-cs-data-setup-ns = <45>; 172724ba675SRob Herring st,fmc2-ebi-cs-data-hold-ns = <1>; 173724ba675SRob Herring st,fmc2-ebi-cs-write-address-setup-ns = <5>; 174724ba675SRob Herring st,fmc2-ebi-cs-write-address-hold-ns = <5>; 175724ba675SRob Herring st,fmc2-ebi-cs-write-bus-turnaround-ns = <5>; 176724ba675SRob Herring st,fmc2-ebi-cs-write-data-setup-ns = <45>; 177724ba675SRob Herring st,fmc2-ebi-cs-write-data-hold-ns = <1>; 178724ba675SRob Herring }; 179724ba675SRob Herring}; 180724ba675SRob Herring 181724ba675SRob Herring&gpioa { 182724ba675SRob Herring gpio-line-names = "", "", "", "", 183724ba675SRob Herring "", "", "DHCOM-K", "", 184724ba675SRob Herring "", "", "", "", 185724ba675SRob Herring "", "", "", ""; 186724ba675SRob Herring}; 187724ba675SRob Herring 188724ba675SRob Herring&gpiob { 189724ba675SRob Herring gpio-line-names = "", "", "", "", 190724ba675SRob Herring "", "", "", "", 191724ba675SRob Herring "DHCOM-Q", "", "", "", 192724ba675SRob Herring "", "", "", ""; 193724ba675SRob Herring}; 194724ba675SRob Herring 195724ba675SRob Herring&gpioc { 196724ba675SRob Herring gpio-line-names = "", "", "", "", 197724ba675SRob Herring "", "", "DHCOM-E", "", 198724ba675SRob Herring "", "", "", "", 199724ba675SRob Herring "", "", "", ""; 200724ba675SRob Herring}; 201724ba675SRob Herring 202724ba675SRob Herring&gpiod { 203724ba675SRob Herring gpio-line-names = "", "", "", "", 204724ba675SRob Herring "", "", "DHCOM-B", "", 205724ba675SRob Herring "", "", "", "DHCOM-F", 206724ba675SRob Herring "DHCOM-D", "", "", ""; 207724ba675SRob Herring}; 208724ba675SRob Herring 209724ba675SRob Herring&gpioe { 210724ba675SRob Herring gpio-line-names = "", "", "", "", 211724ba675SRob Herring "", "", "DHCOM-P", "", 212724ba675SRob Herring "", "", "", "", 213724ba675SRob Herring "", "", "", ""; 214724ba675SRob Herring}; 215724ba675SRob Herring 216724ba675SRob Herring&gpiof { 217724ba675SRob Herring gpio-line-names = "", "", "", "DHCOM-A", 218724ba675SRob Herring "", "", "", "", 219724ba675SRob Herring "", "", "", "", 220724ba675SRob Herring "", "", "", ""; 221724ba675SRob Herring}; 222724ba675SRob Herring 223724ba675SRob Herring&gpiog { 224724ba675SRob Herring gpio-line-names = "DHCOM-C", "", "", "", 225724ba675SRob Herring "", "", "", "", 226724ba675SRob Herring "DHCOM-L", "", "", "", 227724ba675SRob Herring "", "", "", ""; 228724ba675SRob Herring}; 229724ba675SRob Herring 230724ba675SRob Herring&gpioh { 231724ba675SRob Herring gpio-line-names = "", "", "", "", 232724ba675SRob Herring "", "", "", "DHCOM-N", 233724ba675SRob Herring "DHCOM-J", "DHCOM-W", "DHCOM-V", "DHCOM-U", 234724ba675SRob Herring "DHCOM-T", "", "DHCOM-S", ""; 235724ba675SRob Herring}; 236724ba675SRob Herring 237724ba675SRob Herring&gpioi { 238724ba675SRob Herring gpio-line-names = "DHCOM-G", "DHCOM-O", "DHCOM-H", "DHCOM-I", 239724ba675SRob Herring "DHCOM-R", "DHCOM-M", "", "", 240724ba675SRob Herring "", "", "", "", 241724ba675SRob Herring "", "", "", ""; 242724ba675SRob Herring}; 243724ba675SRob Herring 244724ba675SRob Herring&i2c4 { 245724ba675SRob Herring pinctrl-names = "default"; 246724ba675SRob Herring pinctrl-0 = <&i2c4_pins_a>; 247724ba675SRob Herring i2c-scl-rising-time-ns = <185>; 248724ba675SRob Herring i2c-scl-falling-time-ns = <20>; 249724ba675SRob Herring status = "okay"; 250724ba675SRob Herring /* spare dmas for other usage */ 251724ba675SRob Herring /delete-property/dmas; 252724ba675SRob Herring /delete-property/dma-names; 253724ba675SRob Herring 254724ba675SRob Herring hwrtc: rtc@32 { 255724ba675SRob Herring compatible = "microcrystal,rv8803"; 256724ba675SRob Herring reg = <0x32>; 257724ba675SRob Herring }; 258724ba675SRob Herring 259724ba675SRob Herring pmic: stpmic@33 { 260724ba675SRob Herring compatible = "st,stpmic1"; 261724ba675SRob Herring reg = <0x33>; 262724ba675SRob Herring interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; 263724ba675SRob Herring interrupt-controller; 264724ba675SRob Herring #interrupt-cells = <2>; 265724ba675SRob Herring status = "okay"; 266724ba675SRob Herring 267724ba675SRob Herring regulators { 268724ba675SRob Herring compatible = "st,stpmic1-regulators"; 269724ba675SRob Herring ldo1-supply = <&v3v3>; 270724ba675SRob Herring ldo2-supply = <&v3v3>; 271724ba675SRob Herring ldo3-supply = <&vdd_ddr>; 272724ba675SRob Herring ldo5-supply = <&v3v3>; 273724ba675SRob Herring ldo6-supply = <&v3v3>; 274724ba675SRob Herring pwr_sw1-supply = <&bst_out>; 275724ba675SRob Herring pwr_sw2-supply = <&bst_out>; 276724ba675SRob Herring 277724ba675SRob Herring vddcore: buck1 { 278724ba675SRob Herring regulator-name = "vddcore"; 279724ba675SRob Herring regulator-min-microvolt = <800000>; 280724ba675SRob Herring regulator-max-microvolt = <1350000>; 281724ba675SRob Herring regulator-always-on; 282724ba675SRob Herring regulator-initial-mode = <0>; 283724ba675SRob Herring regulator-over-current-protection; 284724ba675SRob Herring }; 285724ba675SRob Herring 286724ba675SRob Herring vdd_ddr: buck2 { 287724ba675SRob Herring regulator-name = "vdd_ddr"; 288724ba675SRob Herring regulator-min-microvolt = <1350000>; 289724ba675SRob Herring regulator-max-microvolt = <1350000>; 290724ba675SRob Herring regulator-always-on; 291724ba675SRob Herring regulator-initial-mode = <0>; 292724ba675SRob Herring regulator-over-current-protection; 293724ba675SRob Herring }; 294724ba675SRob Herring 295724ba675SRob Herring vdd: buck3 { 296724ba675SRob Herring regulator-name = "vdd"; 297724ba675SRob Herring regulator-min-microvolt = <3300000>; 298724ba675SRob Herring regulator-max-microvolt = <3300000>; 299724ba675SRob Herring regulator-always-on; 300724ba675SRob Herring st,mask-reset; 301724ba675SRob Herring regulator-initial-mode = <0>; 302724ba675SRob Herring regulator-over-current-protection; 303724ba675SRob Herring }; 304724ba675SRob Herring 305724ba675SRob Herring v3v3: buck4 { 306724ba675SRob Herring regulator-name = "v3v3"; 307724ba675SRob Herring regulator-min-microvolt = <3300000>; 308724ba675SRob Herring regulator-max-microvolt = <3300000>; 309724ba675SRob Herring regulator-always-on; 310724ba675SRob Herring regulator-over-current-protection; 311724ba675SRob Herring regulator-initial-mode = <0>; 312724ba675SRob Herring }; 313724ba675SRob Herring 314724ba675SRob Herring vdda: ldo1 { 315724ba675SRob Herring regulator-name = "vdda"; 316724ba675SRob Herring regulator-always-on; 317724ba675SRob Herring regulator-min-microvolt = <2900000>; 318724ba675SRob Herring regulator-max-microvolt = <2900000>; 319724ba675SRob Herring interrupts = <IT_CURLIM_LDO1 0>; 320724ba675SRob Herring }; 321724ba675SRob Herring 322724ba675SRob Herring v2v8: ldo2 { 323724ba675SRob Herring regulator-name = "v2v8"; 324724ba675SRob Herring regulator-min-microvolt = <2800000>; 325724ba675SRob Herring regulator-max-microvolt = <2800000>; 326724ba675SRob Herring interrupts = <IT_CURLIM_LDO2 0>; 327724ba675SRob Herring }; 328724ba675SRob Herring 329724ba675SRob Herring vtt_ddr: ldo3 { 330724ba675SRob Herring regulator-name = "vtt_ddr"; 331724ba675SRob Herring regulator-min-microvolt = <500000>; 332724ba675SRob Herring regulator-max-microvolt = <750000>; 333724ba675SRob Herring regulator-always-on; 334724ba675SRob Herring regulator-over-current-protection; 335724ba675SRob Herring }; 336724ba675SRob Herring 337724ba675SRob Herring vdd_usb: ldo4 { 338724ba675SRob Herring regulator-name = "vdd_usb"; 339724ba675SRob Herring interrupts = <IT_CURLIM_LDO4 0>; 340724ba675SRob Herring }; 341724ba675SRob Herring 342724ba675SRob Herring vdd_sd: ldo5 { 343724ba675SRob Herring regulator-name = "vdd_sd"; 344724ba675SRob Herring regulator-min-microvolt = <2900000>; 345724ba675SRob Herring regulator-max-microvolt = <2900000>; 346724ba675SRob Herring interrupts = <IT_CURLIM_LDO5 0>; 347724ba675SRob Herring regulator-boot-on; 348724ba675SRob Herring }; 349724ba675SRob Herring 350724ba675SRob Herring v1v8: ldo6 { 351724ba675SRob Herring regulator-name = "v1v8"; 352724ba675SRob Herring regulator-min-microvolt = <1800000>; 353724ba675SRob Herring regulator-max-microvolt = <1800000>; 354724ba675SRob Herring interrupts = <IT_CURLIM_LDO6 0>; 355724ba675SRob Herring }; 356724ba675SRob Herring 357724ba675SRob Herring vref_ddr: vref_ddr { 358724ba675SRob Herring regulator-name = "vref_ddr"; 359724ba675SRob Herring regulator-always-on; 360724ba675SRob Herring }; 361724ba675SRob Herring 362724ba675SRob Herring bst_out: boost { 363724ba675SRob Herring regulator-name = "bst_out"; 364724ba675SRob Herring interrupts = <IT_OCP_BOOST 0>; 365724ba675SRob Herring }; 366724ba675SRob Herring 367724ba675SRob Herring vbus_otg: pwr_sw1 { 368724ba675SRob Herring regulator-name = "vbus_otg"; 369724ba675SRob Herring interrupts = <IT_OCP_OTG 0>; 370724ba675SRob Herring }; 371724ba675SRob Herring 372724ba675SRob Herring vbus_sw: pwr_sw2 { 373724ba675SRob Herring regulator-name = "vbus_sw"; 374724ba675SRob Herring interrupts = <IT_OCP_SWOUT 0>; 375724ba675SRob Herring regulator-active-discharge = <1>; 376724ba675SRob Herring }; 377724ba675SRob Herring }; 378724ba675SRob Herring 379724ba675SRob Herring onkey { 380724ba675SRob Herring compatible = "st,stpmic1-onkey"; 381724ba675SRob Herring interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>; 382724ba675SRob Herring interrupt-names = "onkey-falling", "onkey-rising"; 383724ba675SRob Herring power-off-time-sec = <10>; 384724ba675SRob Herring status = "okay"; 385724ba675SRob Herring }; 386724ba675SRob Herring 387724ba675SRob Herring watchdog { 388724ba675SRob Herring compatible = "st,stpmic1-wdt"; 389724ba675SRob Herring status = "disabled"; 390724ba675SRob Herring }; 391724ba675SRob Herring }; 392724ba675SRob Herring 393724ba675SRob Herring touchscreen@49 { 394724ba675SRob Herring compatible = "ti,tsc2004"; 395724ba675SRob Herring reg = <0x49>; 396724ba675SRob Herring vio-supply = <&v3v3>; 397724ba675SRob Herring interrupts-extended = <&gpioh 15 IRQ_TYPE_EDGE_FALLING>; 398724ba675SRob Herring }; 399724ba675SRob Herring 400724ba675SRob Herring eeprom@50 { 401724ba675SRob Herring compatible = "atmel,24c02"; 402724ba675SRob Herring reg = <0x50>; 403724ba675SRob Herring pagesize = <16>; 404724ba675SRob Herring }; 405724ba675SRob Herring}; 406724ba675SRob Herring 407724ba675SRob Herring&ipcc { 408724ba675SRob Herring status = "okay"; 409724ba675SRob Herring}; 410724ba675SRob Herring 411724ba675SRob Herring&iwdg2 { 412724ba675SRob Herring timeout-sec = <32>; 413724ba675SRob Herring status = "okay"; 414724ba675SRob Herring}; 415724ba675SRob Herring 416724ba675SRob Herring&m4_rproc { 417724ba675SRob Herring memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, 418724ba675SRob Herring <&vdev0vring1>, <&vdev0buffer>; 419*deb7edbcSMarek Vasut mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>; 420*deb7edbcSMarek Vasut mbox-names = "vq0", "vq1", "shutdown", "detach"; 421724ba675SRob Herring interrupt-parent = <&exti>; 422724ba675SRob Herring interrupts = <68 1>; 423724ba675SRob Herring status = "okay"; 424724ba675SRob Herring}; 425724ba675SRob Herring 426724ba675SRob Herring&pwr_regulators { 427724ba675SRob Herring vdd-supply = <&vdd>; 428724ba675SRob Herring vdd_3v3_usbfs-supply = <&vdd_usb>; 429724ba675SRob Herring}; 430724ba675SRob Herring 431724ba675SRob Herring&qspi { 432724ba675SRob Herring pinctrl-names = "default", "sleep"; 433724ba675SRob Herring pinctrl-0 = <&qspi_clk_pins_a 434724ba675SRob Herring &qspi_bk1_pins_a 435724ba675SRob Herring &qspi_cs1_pins_a>; 436724ba675SRob Herring pinctrl-1 = <&qspi_clk_sleep_pins_a 437724ba675SRob Herring &qspi_bk1_sleep_pins_a 438724ba675SRob Herring &qspi_cs1_sleep_pins_a>; 439724ba675SRob Herring reg = <0x58003000 0x1000>, <0x70000000 0x4000000>; 440724ba675SRob Herring #address-cells = <1>; 441724ba675SRob Herring #size-cells = <0>; 442724ba675SRob Herring status = "okay"; 443724ba675SRob Herring 444724ba675SRob Herring flash0: flash@0 { 445724ba675SRob Herring compatible = "jedec,spi-nor"; 446724ba675SRob Herring reg = <0>; 447724ba675SRob Herring spi-rx-bus-width = <4>; 448724ba675SRob Herring spi-max-frequency = <108000000>; 449724ba675SRob Herring #address-cells = <1>; 450724ba675SRob Herring #size-cells = <1>; 451724ba675SRob Herring }; 452724ba675SRob Herring}; 453724ba675SRob Herring 454724ba675SRob Herring&rcc { 455724ba675SRob Herring /* Connect MCO2 output to ETH_RX_CLK input via pad-pad connection */ 456724ba675SRob Herring clocks = <&rcc CK_MCO2>; 457724ba675SRob Herring clock-names = "ETH_RX_CLK/ETH_REF_CLK"; 458724ba675SRob Herring 459724ba675SRob Herring /* 460724ba675SRob Herring * Set PLL4P output to 100 MHz to supply SDMMC with faster clock, 461724ba675SRob Herring * set MCO2 output to 50 MHz to supply ETHRX clock with PLL4P/2, 462724ba675SRob Herring * so that MCO2 behaves as a divider for the ETHRX clock here. 463724ba675SRob Herring */ 464724ba675SRob Herring assigned-clocks = <&rcc CK_MCO2>, <&rcc PLL4_P>; 465724ba675SRob Herring assigned-clock-parents = <&rcc PLL4_P>; 466724ba675SRob Herring assigned-clock-rates = <50000000>, <100000000>; 467724ba675SRob Herring}; 468724ba675SRob Herring 469724ba675SRob Herring&rng1 { 470724ba675SRob Herring status = "okay"; 471724ba675SRob Herring}; 472724ba675SRob Herring 473724ba675SRob Herring&rtc { 474724ba675SRob Herring status = "okay"; 475724ba675SRob Herring}; 476724ba675SRob Herring 477724ba675SRob Herring&sdmmc1 { 478724ba675SRob Herring pinctrl-names = "default", "opendrain", "sleep", "init"; 479724ba675SRob Herring pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; 480724ba675SRob Herring pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>; 481724ba675SRob Herring pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>; 482724ba675SRob Herring pinctrl-3 = <&sdmmc1_b4_init_pins_a &sdmmc1_dir_init_pins_a>; 483724ba675SRob Herring cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 484724ba675SRob Herring disable-wp; 485724ba675SRob Herring st,sig-dir; 486724ba675SRob Herring st,neg-edge; 487724ba675SRob Herring st,use-ckin; 488724ba675SRob Herring st,cmd-gpios = <&gpiod 2 0>; 489724ba675SRob Herring st,ck-gpios = <&gpioc 12 0>; 490724ba675SRob Herring st,ckin-gpios = <&gpioe 4 0>; 491724ba675SRob Herring bus-width = <4>; 492724ba675SRob Herring vmmc-supply = <&vdd_sd>; 493724ba675SRob Herring status = "okay"; 494724ba675SRob Herring}; 495724ba675SRob Herring 496724ba675SRob Herring&sdmmc1_b4_pins_a { 497724ba675SRob Herring /* 498724ba675SRob Herring * SD bus pull-up resistors: 499724ba675SRob Herring * - optional on SoMs with SD voltage translator 500724ba675SRob Herring * - mandatory on SoMs without SD voltage translator 501724ba675SRob Herring */ 502724ba675SRob Herring pins1 { 503724ba675SRob Herring bias-pull-up; 504724ba675SRob Herring }; 505724ba675SRob Herring pins2 { 506724ba675SRob Herring bias-pull-up; 507724ba675SRob Herring }; 508724ba675SRob Herring}; 509724ba675SRob Herring 510724ba675SRob Herring&sdmmc2 { 511724ba675SRob Herring pinctrl-names = "default", "opendrain", "sleep"; 512724ba675SRob Herring pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>; 513724ba675SRob Herring pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>; 514724ba675SRob Herring pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>; 515724ba675SRob Herring non-removable; 516724ba675SRob Herring no-sd; 517724ba675SRob Herring no-sdio; 518724ba675SRob Herring st,neg-edge; 519724ba675SRob Herring bus-width = <8>; 520724ba675SRob Herring vmmc-supply = <&v3v3>; 521724ba675SRob Herring vqmmc-supply = <&v3v3>; 522724ba675SRob Herring mmc-ddr-3_3v; 523724ba675SRob Herring status = "okay"; 524724ba675SRob Herring}; 525724ba675SRob Herring 526724ba675SRob Herring&sdmmc3 { 527724ba675SRob Herring pinctrl-names = "default", "opendrain", "sleep"; 528724ba675SRob Herring pinctrl-0 = <&sdmmc3_b4_pins_a>; 529724ba675SRob Herring pinctrl-1 = <&sdmmc3_b4_od_pins_a>; 530724ba675SRob Herring pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>; 531724ba675SRob Herring broken-cd; 532724ba675SRob Herring st,neg-edge; 533724ba675SRob Herring bus-width = <4>; 534724ba675SRob Herring vmmc-supply = <&v3v3>; 535724ba675SRob Herring vqmmc-supply = <&v3v3>; 536724ba675SRob Herring mmc-ddr-3_3v; 537724ba675SRob Herring status = "okay"; 538724ba675SRob Herring}; 539724ba675SRob Herring 540724ba675SRob Herring&uart4 { 541724ba675SRob Herring pinctrl-names = "default"; 542724ba675SRob Herring pinctrl-0 = <&uart4_pins_a>; 543724ba675SRob Herring /delete-property/dmas; 544724ba675SRob Herring /delete-property/dma-names; 545724ba675SRob Herring status = "okay"; 546724ba675SRob Herring}; 547