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