16e9896c0SJohann Neuhauser// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 26e9896c0SJohann Neuhauser/* 36e9896c0SJohann Neuhauser * Copyright (C) 2019-2020 Marek Vasut <marex@denx.de> 46e9896c0SJohann Neuhauser * Copyright (C) 2022 DH electronics GmbH 56e9896c0SJohann Neuhauser */ 66e9896c0SJohann Neuhauser 76e9896c0SJohann Neuhauser#include "stm32mp15-pinctrl.dtsi" 86e9896c0SJohann Neuhauser#include "stm32mp15xxaa-pinctrl.dtsi" 96e9896c0SJohann Neuhauser#include <dt-bindings/gpio/gpio.h> 106e9896c0SJohann Neuhauser#include <dt-bindings/mfd/st,stpmic1.h> 116e9896c0SJohann Neuhauser 126e9896c0SJohann Neuhauser/ { 136e9896c0SJohann Neuhauser aliases { 146e9896c0SJohann Neuhauser ethernet0 = ðernet0; 156e9896c0SJohann Neuhauser ethernet1 = &ksz8851; 166e9896c0SJohann Neuhauser rtc0 = &hwrtc; 176e9896c0SJohann Neuhauser rtc1 = &rtc; 186e9896c0SJohann Neuhauser }; 196e9896c0SJohann Neuhauser 206e9896c0SJohann Neuhauser memory@c0000000 { 216e9896c0SJohann Neuhauser device_type = "memory"; 226e9896c0SJohann Neuhauser reg = <0xC0000000 0x40000000>; 236e9896c0SJohann Neuhauser }; 246e9896c0SJohann Neuhauser 256e9896c0SJohann Neuhauser reserved-memory { 266e9896c0SJohann Neuhauser #address-cells = <1>; 276e9896c0SJohann Neuhauser #size-cells = <1>; 286e9896c0SJohann Neuhauser ranges; 296e9896c0SJohann Neuhauser 306e9896c0SJohann Neuhauser mcuram2: mcuram2@10000000 { 316e9896c0SJohann Neuhauser compatible = "shared-dma-pool"; 326e9896c0SJohann Neuhauser reg = <0x10000000 0x40000>; 336e9896c0SJohann Neuhauser no-map; 346e9896c0SJohann Neuhauser }; 356e9896c0SJohann Neuhauser 366e9896c0SJohann Neuhauser vdev0vring0: vdev0vring0@10040000 { 376e9896c0SJohann Neuhauser compatible = "shared-dma-pool"; 386e9896c0SJohann Neuhauser reg = <0x10040000 0x1000>; 396e9896c0SJohann Neuhauser no-map; 406e9896c0SJohann Neuhauser }; 416e9896c0SJohann Neuhauser 426e9896c0SJohann Neuhauser vdev0vring1: vdev0vring1@10041000 { 436e9896c0SJohann Neuhauser compatible = "shared-dma-pool"; 446e9896c0SJohann Neuhauser reg = <0x10041000 0x1000>; 456e9896c0SJohann Neuhauser no-map; 466e9896c0SJohann Neuhauser }; 476e9896c0SJohann Neuhauser 486e9896c0SJohann Neuhauser vdev0buffer: vdev0buffer@10042000 { 496e9896c0SJohann Neuhauser compatible = "shared-dma-pool"; 506e9896c0SJohann Neuhauser reg = <0x10042000 0x4000>; 516e9896c0SJohann Neuhauser no-map; 526e9896c0SJohann Neuhauser }; 536e9896c0SJohann Neuhauser 546e9896c0SJohann Neuhauser mcuram: mcuram@30000000 { 556e9896c0SJohann Neuhauser compatible = "shared-dma-pool"; 566e9896c0SJohann Neuhauser reg = <0x30000000 0x40000>; 576e9896c0SJohann Neuhauser no-map; 586e9896c0SJohann Neuhauser }; 596e9896c0SJohann Neuhauser 606e9896c0SJohann Neuhauser retram: retram@38000000 { 616e9896c0SJohann Neuhauser compatible = "shared-dma-pool"; 626e9896c0SJohann Neuhauser reg = <0x38000000 0x10000>; 636e9896c0SJohann Neuhauser no-map; 646e9896c0SJohann Neuhauser }; 656e9896c0SJohann Neuhauser }; 666e9896c0SJohann Neuhauser 676e9896c0SJohann Neuhauser ethernet_vio: vioregulator { 686e9896c0SJohann Neuhauser compatible = "regulator-fixed"; 696e9896c0SJohann Neuhauser regulator-name = "vio"; 706e9896c0SJohann Neuhauser regulator-min-microvolt = <3300000>; 716e9896c0SJohann Neuhauser regulator-max-microvolt = <3300000>; 726e9896c0SJohann Neuhauser gpio = <&gpiog 3 GPIO_ACTIVE_LOW>; 736e9896c0SJohann Neuhauser regulator-always-on; 746e9896c0SJohann Neuhauser regulator-boot-on; 756e9896c0SJohann Neuhauser vin-supply = <&vdd>; 766e9896c0SJohann Neuhauser }; 776e9896c0SJohann Neuhauser}; 786e9896c0SJohann Neuhauser 796e9896c0SJohann Neuhauser&adc { 806e9896c0SJohann Neuhauser vdd-supply = <&vdd>; 816e9896c0SJohann Neuhauser vdda-supply = <&vdda>; 826e9896c0SJohann Neuhauser vref-supply = <&vdda>; 836e9896c0SJohann Neuhauser status = "okay"; 846e9896c0SJohann Neuhauser 856e9896c0SJohann Neuhauser adc1: adc@0 { 866e9896c0SJohann Neuhauser st,min-sample-time-nsecs = <5000>; 876e9896c0SJohann Neuhauser st,adc-channels = <0>; 886e9896c0SJohann Neuhauser status = "okay"; 896e9896c0SJohann Neuhauser }; 906e9896c0SJohann Neuhauser 916e9896c0SJohann Neuhauser adc2: adc@100 { 926e9896c0SJohann Neuhauser st,adc-channels = <1>; 936e9896c0SJohann Neuhauser st,min-sample-time-nsecs = <5000>; 946e9896c0SJohann Neuhauser status = "okay"; 956e9896c0SJohann Neuhauser }; 966e9896c0SJohann Neuhauser}; 976e9896c0SJohann Neuhauser 986e9896c0SJohann Neuhauser&crc1 { 996e9896c0SJohann Neuhauser status = "okay"; 1006e9896c0SJohann Neuhauser}; 1016e9896c0SJohann Neuhauser 1026e9896c0SJohann Neuhauser&dac { 1036e9896c0SJohann Neuhauser pinctrl-names = "default"; 1046e9896c0SJohann Neuhauser pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>; 1056e9896c0SJohann Neuhauser vref-supply = <&vdda>; 1066e9896c0SJohann Neuhauser status = "okay"; 1076e9896c0SJohann Neuhauser 1086e9896c0SJohann Neuhauser dac1: dac@1 { 1096e9896c0SJohann Neuhauser status = "okay"; 1106e9896c0SJohann Neuhauser }; 1116e9896c0SJohann Neuhauser dac2: dac@2 { 1126e9896c0SJohann Neuhauser status = "okay"; 1136e9896c0SJohann Neuhauser }; 1146e9896c0SJohann Neuhauser}; 1156e9896c0SJohann Neuhauser 1166e9896c0SJohann Neuhauser&dts { 1176e9896c0SJohann Neuhauser status = "okay"; 1186e9896c0SJohann Neuhauser}; 1196e9896c0SJohann Neuhauser 1206e9896c0SJohann Neuhauserðernet0 { 1216e9896c0SJohann Neuhauser status = "okay"; 1226e9896c0SJohann Neuhauser pinctrl-0 = <ðernet0_rmii_pins_c &mco2_pins_a>; 1236e9896c0SJohann Neuhauser pinctrl-1 = <ðernet0_rmii_sleep_pins_c &mco2_sleep_pins_a>; 1246e9896c0SJohann Neuhauser pinctrl-names = "default", "sleep"; 1256e9896c0SJohann Neuhauser phy-mode = "rmii"; 1266e9896c0SJohann Neuhauser max-speed = <100>; 1276e9896c0SJohann Neuhauser phy-handle = <&phy0>; 1286e9896c0SJohann Neuhauser 1296e9896c0SJohann Neuhauser mdio0 { 1306e9896c0SJohann Neuhauser #address-cells = <1>; 1316e9896c0SJohann Neuhauser #size-cells = <0>; 1326e9896c0SJohann Neuhauser compatible = "snps,dwmac-mdio"; 1336e9896c0SJohann Neuhauser 1346e9896c0SJohann Neuhauser phy0: ethernet-phy@1 { 1356e9896c0SJohann Neuhauser reg = <1>; 1366e9896c0SJohann Neuhauser /* LAN8710Ai */ 1376e9896c0SJohann Neuhauser compatible = "ethernet-phy-id0007.c0f0", 1386e9896c0SJohann Neuhauser "ethernet-phy-ieee802.3-c22"; 1396e9896c0SJohann Neuhauser clocks = <&rcc CK_MCO2>; 1406e9896c0SJohann Neuhauser reset-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>; 1416e9896c0SJohann Neuhauser reset-assert-us = <500>; 1426e9896c0SJohann Neuhauser reset-deassert-us = <500>; 1436e9896c0SJohann Neuhauser smsc,disable-energy-detect; 1446e9896c0SJohann Neuhauser interrupt-parent = <&gpioi>; 1456e9896c0SJohann Neuhauser interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 1466e9896c0SJohann Neuhauser }; 1476e9896c0SJohann Neuhauser }; 1486e9896c0SJohann Neuhauser}; 1496e9896c0SJohann Neuhauser 15041115447SGatien Chevallier&etzpc { 15141115447SGatien Chevallier st,decprot = 15241115447SGatien Chevallier <DECPROT(STM32MP1_ETZPC_USART1_ID, DECPROT_NS_RW, DECPROT_UNLOCK)>, 15341115447SGatien Chevallier <DECPROT(STM32MP1_ETZPC_SPI6_ID, DECPROT_NS_RW, DECPROT_UNLOCK)>, 15441115447SGatien Chevallier <DECPROT(STM32MP1_ETZPC_I2C4_ID, DECPROT_NS_RW, DECPROT_UNLOCK)>, 15541115447SGatien Chevallier <DECPROT(STM32MP1_ETZPC_I2C6_ID, DECPROT_NS_RW, DECPROT_UNLOCK)>, 15641115447SGatien Chevallier <DECPROT(STM32MP1_ETZPC_RNG1_ID, DECPROT_NS_RW, DECPROT_UNLOCK)>, 15741115447SGatien Chevallier <DECPROT(STM32MP1_ETZPC_HASH1_ID, DECPROT_NS_RW, DECPROT_UNLOCK)>, 15841115447SGatien Chevallier <DECPROT(STM32MP1_ETZPC_CRYP1_ID, DECPROT_NS_RW, DECPROT_UNLOCK)>, 15941115447SGatien Chevallier <DECPROT(STM32MP1_ETZPC_DDRCTRL_ID, DECPROT_NS_R_S_W, DECPROT_LOCK)>, 16041115447SGatien Chevallier <DECPROT(STM32MP1_ETZPC_DDRPHYC_ID, DECPROT_NS_R_S_W, DECPROT_LOCK)>, 16141115447SGatien Chevallier <DECPROT(STM32MP1_ETZPC_STGENC_ID, DECPROT_S_RW, DECPROT_LOCK)>, 16241115447SGatien Chevallier <DECPROT(STM32MP1_ETZPC_BKPSRAM_ID, DECPROT_S_RW, DECPROT_LOCK)>, 16341115447SGatien Chevallier <DECPROT(STM32MP1_ETZPC_IWDG1_ID, DECPROT_NS_RW, DECPROT_LOCK)>; 16441115447SGatien Chevallier}; 16541115447SGatien Chevallier 1666e9896c0SJohann Neuhauser&fmc { 1676e9896c0SJohann Neuhauser pinctrl-names = "default", "sleep"; 1686e9896c0SJohann Neuhauser pinctrl-0 = <&fmc_pins_b>; 1696e9896c0SJohann Neuhauser pinctrl-1 = <&fmc_sleep_pins_b>; 1706e9896c0SJohann Neuhauser status = "okay"; 1716e9896c0SJohann Neuhauser 1726e9896c0SJohann Neuhauser ksz8851: ethernet@1,0 { 1736e9896c0SJohann Neuhauser compatible = "micrel,ks8851-mll"; 1746e9896c0SJohann Neuhauser reg = <1 0x0 0x2>, <1 0x2 0x20000>; 1756e9896c0SJohann Neuhauser interrupt-parent = <&gpioc>; 1766e9896c0SJohann Neuhauser interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 1776e9896c0SJohann Neuhauser bank-width = <2>; 1786e9896c0SJohann Neuhauser 1796e9896c0SJohann Neuhauser /* Timing values are in nS */ 1806e9896c0SJohann Neuhauser st,fmc2-ebi-cs-mux-enable; 1816e9896c0SJohann Neuhauser st,fmc2-ebi-cs-transaction-type = <4>; 1826e9896c0SJohann Neuhauser st,fmc2-ebi-cs-buswidth = <16>; 1836e9896c0SJohann Neuhauser st,fmc2-ebi-cs-address-setup-ns = <5>; 1846e9896c0SJohann Neuhauser st,fmc2-ebi-cs-address-hold-ns = <5>; 1856e9896c0SJohann Neuhauser st,fmc2-ebi-cs-bus-turnaround-ns = <5>; 1866e9896c0SJohann Neuhauser st,fmc2-ebi-cs-data-setup-ns = <45>; 1876e9896c0SJohann Neuhauser st,fmc2-ebi-cs-data-hold-ns = <1>; 1886e9896c0SJohann Neuhauser st,fmc2-ebi-cs-write-address-setup-ns = <5>; 1896e9896c0SJohann Neuhauser st,fmc2-ebi-cs-write-address-hold-ns = <5>; 1906e9896c0SJohann Neuhauser st,fmc2-ebi-cs-write-bus-turnaround-ns = <5>; 1916e9896c0SJohann Neuhauser st,fmc2-ebi-cs-write-data-setup-ns = <45>; 1926e9896c0SJohann Neuhauser st,fmc2-ebi-cs-write-data-hold-ns = <1>; 1936e9896c0SJohann Neuhauser }; 1946e9896c0SJohann Neuhauser}; 1956e9896c0SJohann Neuhauser 1966e9896c0SJohann Neuhauser&gpioa { 1976e9896c0SJohann Neuhauser gpio-line-names = "", "", "", "", 1986e9896c0SJohann Neuhauser "", "", "DHCOM-K", "", 1996e9896c0SJohann Neuhauser "", "", "", "", 2006e9896c0SJohann Neuhauser "", "", "", ""; 2016e9896c0SJohann Neuhauser}; 2026e9896c0SJohann Neuhauser 2036e9896c0SJohann Neuhauser&gpiob { 2046e9896c0SJohann Neuhauser gpio-line-names = "", "", "", "", 2056e9896c0SJohann Neuhauser "", "", "", "", 2066e9896c0SJohann Neuhauser "DHCOM-Q", "", "", "", 2076e9896c0SJohann Neuhauser "", "", "", ""; 2086e9896c0SJohann Neuhauser}; 2096e9896c0SJohann Neuhauser 2106e9896c0SJohann Neuhauser&gpioc { 2116e9896c0SJohann Neuhauser gpio-line-names = "", "", "", "", 2126e9896c0SJohann Neuhauser "", "", "DHCOM-E", "", 2136e9896c0SJohann Neuhauser "", "", "", "", 2146e9896c0SJohann Neuhauser "", "", "", ""; 2156e9896c0SJohann Neuhauser}; 2166e9896c0SJohann Neuhauser 2176e9896c0SJohann Neuhauser&gpiod { 2186e9896c0SJohann Neuhauser gpio-line-names = "", "", "", "", 2196e9896c0SJohann Neuhauser "", "", "DHCOM-B", "", 2206e9896c0SJohann Neuhauser "", "", "", "DHCOM-F", 2216e9896c0SJohann Neuhauser "DHCOM-D", "", "", ""; 2226e9896c0SJohann Neuhauser}; 2236e9896c0SJohann Neuhauser 2246e9896c0SJohann Neuhauser&gpioe { 2256e9896c0SJohann Neuhauser gpio-line-names = "", "", "", "", 2266e9896c0SJohann Neuhauser "", "", "DHCOM-P", "", 2276e9896c0SJohann Neuhauser "", "", "", "", 2286e9896c0SJohann Neuhauser "", "", "", ""; 2296e9896c0SJohann Neuhauser}; 2306e9896c0SJohann Neuhauser 2316e9896c0SJohann Neuhauser&gpiof { 2326e9896c0SJohann Neuhauser gpio-line-names = "", "", "", "DHCOM-A", 2336e9896c0SJohann Neuhauser "", "", "", "", 2346e9896c0SJohann Neuhauser "", "", "", "", 2356e9896c0SJohann Neuhauser "", "", "", ""; 2366e9896c0SJohann Neuhauser}; 2376e9896c0SJohann Neuhauser 2386e9896c0SJohann Neuhauser&gpiog { 2396e9896c0SJohann Neuhauser gpio-line-names = "DHCOM-C", "", "", "", 2406e9896c0SJohann Neuhauser "", "", "", "", 2416e9896c0SJohann Neuhauser "DHCOM-L", "", "", "", 2426e9896c0SJohann Neuhauser "", "", "", ""; 2436e9896c0SJohann Neuhauser}; 2446e9896c0SJohann Neuhauser 2456e9896c0SJohann Neuhauser&gpioh { 2466e9896c0SJohann Neuhauser gpio-line-names = "", "", "", "", 2476e9896c0SJohann Neuhauser "", "", "", "DHCOM-N", 2486e9896c0SJohann Neuhauser "DHCOM-J", "DHCOM-W", "DHCOM-V", "DHCOM-U", 2496e9896c0SJohann Neuhauser "DHCOM-T", "", "DHCOM-S", ""; 2506e9896c0SJohann Neuhauser}; 2516e9896c0SJohann Neuhauser 2526e9896c0SJohann Neuhauser&gpioi { 2536e9896c0SJohann Neuhauser gpio-line-names = "DHCOM-G", "DHCOM-O", "DHCOM-H", "DHCOM-I", 2546e9896c0SJohann Neuhauser "DHCOM-R", "DHCOM-M", "", "", 2556e9896c0SJohann Neuhauser "", "", "", "", 2566e9896c0SJohann Neuhauser "", "", "", ""; 2576e9896c0SJohann Neuhauser}; 2586e9896c0SJohann Neuhauser 2596e9896c0SJohann Neuhauser&i2c4 { 260*234a510dSEtienne Carriere compatible = "st,stm32mp15-i2c-non-secure"; 2616e9896c0SJohann Neuhauser pinctrl-names = "default"; 2626e9896c0SJohann Neuhauser pinctrl-0 = <&i2c4_pins_a>; 2636e9896c0SJohann Neuhauser i2c-scl-rising-time-ns = <185>; 2646e9896c0SJohann Neuhauser i2c-scl-falling-time-ns = <20>; 2656e9896c0SJohann Neuhauser status = "okay"; 2666e9896c0SJohann Neuhauser /* spare dmas for other usage */ 2676e9896c0SJohann Neuhauser /delete-property/dmas; 2686e9896c0SJohann Neuhauser /delete-property/dma-names; 2696e9896c0SJohann Neuhauser 2706e9896c0SJohann Neuhauser hwrtc: rtc@32 { 2716e9896c0SJohann Neuhauser compatible = "microcrystal,rv8803"; 2726e9896c0SJohann Neuhauser reg = <0x32>; 2736e9896c0SJohann Neuhauser }; 2746e9896c0SJohann Neuhauser 2756e9896c0SJohann Neuhauser pmic: stpmic@33 { 2766e9896c0SJohann Neuhauser compatible = "st,stpmic1"; 2776e9896c0SJohann Neuhauser reg = <0x33>; 2786e9896c0SJohann Neuhauser interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; 2796e9896c0SJohann Neuhauser interrupt-controller; 2806e9896c0SJohann Neuhauser #interrupt-cells = <2>; 2816e9896c0SJohann Neuhauser status = "okay"; 2826e9896c0SJohann Neuhauser 2836e9896c0SJohann Neuhauser regulators { 2846e9896c0SJohann Neuhauser compatible = "st,stpmic1-regulators"; 2856e9896c0SJohann Neuhauser ldo1-supply = <&v3v3>; 2866e9896c0SJohann Neuhauser ldo2-supply = <&v3v3>; 2876e9896c0SJohann Neuhauser ldo3-supply = <&vdd_ddr>; 2886e9896c0SJohann Neuhauser ldo5-supply = <&v3v3>; 2896e9896c0SJohann Neuhauser ldo6-supply = <&v3v3>; 2906e9896c0SJohann Neuhauser pwr_sw1-supply = <&bst_out>; 2916e9896c0SJohann Neuhauser pwr_sw2-supply = <&bst_out>; 2926e9896c0SJohann Neuhauser 2936e9896c0SJohann Neuhauser vddcore: buck1 { 2946e9896c0SJohann Neuhauser regulator-name = "vddcore"; 2956e9896c0SJohann Neuhauser regulator-min-microvolt = <800000>; 2966e9896c0SJohann Neuhauser regulator-max-microvolt = <1350000>; 2976e9896c0SJohann Neuhauser regulator-always-on; 2986e9896c0SJohann Neuhauser regulator-initial-mode = <0>; 2996e9896c0SJohann Neuhauser regulator-over-current-protection; 3006e9896c0SJohann Neuhauser }; 3016e9896c0SJohann Neuhauser 3026e9896c0SJohann Neuhauser vdd_ddr: buck2 { 3036e9896c0SJohann Neuhauser regulator-name = "vdd_ddr"; 3046e9896c0SJohann Neuhauser regulator-min-microvolt = <1350000>; 3056e9896c0SJohann Neuhauser regulator-max-microvolt = <1350000>; 3066e9896c0SJohann Neuhauser regulator-always-on; 3076e9896c0SJohann Neuhauser regulator-initial-mode = <0>; 3086e9896c0SJohann Neuhauser regulator-over-current-protection; 3096e9896c0SJohann Neuhauser }; 3106e9896c0SJohann Neuhauser 3116e9896c0SJohann Neuhauser vdd: buck3 { 3126e9896c0SJohann Neuhauser regulator-name = "vdd"; 3136e9896c0SJohann Neuhauser regulator-min-microvolt = <3300000>; 3146e9896c0SJohann Neuhauser regulator-max-microvolt = <3300000>; 3156e9896c0SJohann Neuhauser regulator-always-on; 3166e9896c0SJohann Neuhauser st,mask-reset; 3176e9896c0SJohann Neuhauser regulator-initial-mode = <0>; 3186e9896c0SJohann Neuhauser regulator-over-current-protection; 3196e9896c0SJohann Neuhauser }; 3206e9896c0SJohann Neuhauser 3216e9896c0SJohann Neuhauser v3v3: buck4 { 3226e9896c0SJohann Neuhauser regulator-name = "v3v3"; 3236e9896c0SJohann Neuhauser regulator-min-microvolt = <3300000>; 3246e9896c0SJohann Neuhauser regulator-max-microvolt = <3300000>; 3256e9896c0SJohann Neuhauser regulator-always-on; 3266e9896c0SJohann Neuhauser regulator-over-current-protection; 3276e9896c0SJohann Neuhauser regulator-initial-mode = <0>; 3286e9896c0SJohann Neuhauser }; 3296e9896c0SJohann Neuhauser 3306e9896c0SJohann Neuhauser vdda: ldo1 { 3316e9896c0SJohann Neuhauser regulator-name = "vdda"; 3326e9896c0SJohann Neuhauser regulator-always-on; 3336e9896c0SJohann Neuhauser regulator-min-microvolt = <2900000>; 3346e9896c0SJohann Neuhauser regulator-max-microvolt = <2900000>; 3356e9896c0SJohann Neuhauser interrupts = <IT_CURLIM_LDO1 0>; 3366e9896c0SJohann Neuhauser }; 3376e9896c0SJohann Neuhauser 3386e9896c0SJohann Neuhauser v2v8: ldo2 { 3396e9896c0SJohann Neuhauser regulator-name = "v2v8"; 3406e9896c0SJohann Neuhauser regulator-min-microvolt = <2800000>; 3416e9896c0SJohann Neuhauser regulator-max-microvolt = <2800000>; 3426e9896c0SJohann Neuhauser interrupts = <IT_CURLIM_LDO2 0>; 3436e9896c0SJohann Neuhauser }; 3446e9896c0SJohann Neuhauser 3456e9896c0SJohann Neuhauser vtt_ddr: ldo3 { 3466e9896c0SJohann Neuhauser regulator-name = "vtt_ddr"; 3476e9896c0SJohann Neuhauser regulator-min-microvolt = <500000>; 3486e9896c0SJohann Neuhauser regulator-max-microvolt = <750000>; 3496e9896c0SJohann Neuhauser regulator-always-on; 3506e9896c0SJohann Neuhauser regulator-over-current-protection; 3516e9896c0SJohann Neuhauser }; 3526e9896c0SJohann Neuhauser 3536e9896c0SJohann Neuhauser vdd_usb: ldo4 { 3546e9896c0SJohann Neuhauser regulator-name = "vdd_usb"; 3556e9896c0SJohann Neuhauser interrupts = <IT_CURLIM_LDO4 0>; 3566e9896c0SJohann Neuhauser }; 3576e9896c0SJohann Neuhauser 3586e9896c0SJohann Neuhauser vdd_sd: ldo5 { 3596e9896c0SJohann Neuhauser regulator-name = "vdd_sd"; 3606e9896c0SJohann Neuhauser regulator-min-microvolt = <2900000>; 3616e9896c0SJohann Neuhauser regulator-max-microvolt = <2900000>; 3626e9896c0SJohann Neuhauser interrupts = <IT_CURLIM_LDO5 0>; 3636e9896c0SJohann Neuhauser regulator-boot-on; 3646e9896c0SJohann Neuhauser }; 3656e9896c0SJohann Neuhauser 3666e9896c0SJohann Neuhauser v1v8: ldo6 { 3676e9896c0SJohann Neuhauser regulator-name = "v1v8"; 3686e9896c0SJohann Neuhauser regulator-min-microvolt = <1800000>; 3696e9896c0SJohann Neuhauser regulator-max-microvolt = <1800000>; 3706e9896c0SJohann Neuhauser interrupts = <IT_CURLIM_LDO6 0>; 3716e9896c0SJohann Neuhauser }; 3726e9896c0SJohann Neuhauser 3736e9896c0SJohann Neuhauser vref_ddr: vref_ddr { 3746e9896c0SJohann Neuhauser regulator-name = "vref_ddr"; 3756e9896c0SJohann Neuhauser regulator-always-on; 3766e9896c0SJohann Neuhauser }; 3776e9896c0SJohann Neuhauser 3786e9896c0SJohann Neuhauser bst_out: boost { 3796e9896c0SJohann Neuhauser regulator-name = "bst_out"; 3806e9896c0SJohann Neuhauser interrupts = <IT_OCP_BOOST 0>; 3816e9896c0SJohann Neuhauser }; 3826e9896c0SJohann Neuhauser 3836e9896c0SJohann Neuhauser vbus_otg: pwr_sw1 { 3846e9896c0SJohann Neuhauser regulator-name = "vbus_otg"; 3856e9896c0SJohann Neuhauser interrupts = <IT_OCP_OTG 0>; 3866e9896c0SJohann Neuhauser }; 3876e9896c0SJohann Neuhauser 3886e9896c0SJohann Neuhauser vbus_sw: pwr_sw2 { 3896e9896c0SJohann Neuhauser regulator-name = "vbus_sw"; 3906e9896c0SJohann Neuhauser interrupts = <IT_OCP_SWOUT 0>; 3916e9896c0SJohann Neuhauser regulator-active-discharge = <1>; 3926e9896c0SJohann Neuhauser }; 3936e9896c0SJohann Neuhauser }; 3946e9896c0SJohann Neuhauser 3956e9896c0SJohann Neuhauser onkey { 3966e9896c0SJohann Neuhauser compatible = "st,stpmic1-onkey"; 3976e9896c0SJohann Neuhauser interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>; 3986e9896c0SJohann Neuhauser interrupt-names = "onkey-falling", "onkey-rising"; 3996e9896c0SJohann Neuhauser power-off-time-sec = <10>; 4006e9896c0SJohann Neuhauser status = "okay"; 4016e9896c0SJohann Neuhauser }; 4026e9896c0SJohann Neuhauser 4036e9896c0SJohann Neuhauser watchdog { 4046e9896c0SJohann Neuhauser compatible = "st,stpmic1-wdt"; 4056e9896c0SJohann Neuhauser status = "disabled"; 4066e9896c0SJohann Neuhauser }; 4076e9896c0SJohann Neuhauser }; 4086e9896c0SJohann Neuhauser 4096e9896c0SJohann Neuhauser touchscreen@49 { 4106e9896c0SJohann Neuhauser compatible = "ti,tsc2004"; 4116e9896c0SJohann Neuhauser reg = <0x49>; 4126e9896c0SJohann Neuhauser vio-supply = <&v3v3>; 4136e9896c0SJohann Neuhauser interrupts-extended = <&gpioh 15 IRQ_TYPE_EDGE_FALLING>; 4146e9896c0SJohann Neuhauser }; 4156e9896c0SJohann Neuhauser 4166e9896c0SJohann Neuhauser eeprom@50 { 4176e9896c0SJohann Neuhauser compatible = "atmel,24c02"; 4186e9896c0SJohann Neuhauser reg = <0x50>; 4196e9896c0SJohann Neuhauser pagesize = <16>; 4206e9896c0SJohann Neuhauser }; 4216e9896c0SJohann Neuhauser}; 4226e9896c0SJohann Neuhauser 4236e9896c0SJohann Neuhauser&ipcc { 4246e9896c0SJohann Neuhauser status = "okay"; 4256e9896c0SJohann Neuhauser}; 4266e9896c0SJohann Neuhauser 4276e9896c0SJohann Neuhauser&iwdg2 { 4286e9896c0SJohann Neuhauser timeout-sec = <32>; 4296e9896c0SJohann Neuhauser status = "okay"; 4306e9896c0SJohann Neuhauser secure-status = "disabled"; 4316e9896c0SJohann Neuhauser}; 4326e9896c0SJohann Neuhauser 4336e9896c0SJohann Neuhauser&m4_rproc { 4346e9896c0SJohann Neuhauser memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, 4356e9896c0SJohann Neuhauser <&vdev0vring1>, <&vdev0buffer>; 4366e9896c0SJohann Neuhauser mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>; 4376e9896c0SJohann Neuhauser mbox-names = "vq0", "vq1", "shutdown"; 4386e9896c0SJohann Neuhauser interrupt-parent = <&exti>; 4396e9896c0SJohann Neuhauser interrupts = <68 1>; 4406e9896c0SJohann Neuhauser status = "okay"; 4416e9896c0SJohann Neuhauser}; 4426e9896c0SJohann Neuhauser 4436e9896c0SJohann Neuhauser&pwr_regulators { 4446e9896c0SJohann Neuhauser vdd-supply = <&vdd>; 4456e9896c0SJohann Neuhauser vdd_3v3_usbfs-supply = <&vdd_usb>; 4466e9896c0SJohann Neuhauser}; 4476e9896c0SJohann Neuhauser 4486e9896c0SJohann Neuhauser&qspi { 4496e9896c0SJohann Neuhauser pinctrl-names = "default", "sleep"; 4506e9896c0SJohann Neuhauser pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>; 4516e9896c0SJohann Neuhauser pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>; 4526e9896c0SJohann Neuhauser reg = <0x58003000 0x1000>, <0x70000000 0x4000000>; 4536e9896c0SJohann Neuhauser #address-cells = <1>; 4546e9896c0SJohann Neuhauser #size-cells = <0>; 4556e9896c0SJohann Neuhauser status = "okay"; 4566e9896c0SJohann Neuhauser 4576e9896c0SJohann Neuhauser flash0: flash@0 { 4586e9896c0SJohann Neuhauser compatible = "jedec,spi-nor"; 4596e9896c0SJohann Neuhauser reg = <0>; 4606e9896c0SJohann Neuhauser spi-rx-bus-width = <4>; 4616e9896c0SJohann Neuhauser spi-max-frequency = <108000000>; 4626e9896c0SJohann Neuhauser #address-cells = <1>; 4636e9896c0SJohann Neuhauser #size-cells = <1>; 4646e9896c0SJohann Neuhauser }; 4656e9896c0SJohann Neuhauser}; 4666e9896c0SJohann Neuhauser 4676e9896c0SJohann Neuhauser&rcc { 4686e9896c0SJohann Neuhauser /* Connect MCO2 output to ETH_RX_CLK input via pad-pad connection */ 4696e9896c0SJohann Neuhauser /* clocks = <&rcc CK_MCO2>; Not supported in OP-TEE OS */ 4706e9896c0SJohann Neuhauser /* clock-names = "ETH_RX_CLK/ETH_REF_CLK"; Not supported */ 4716e9896c0SJohann Neuhauser 4726e9896c0SJohann Neuhauser /* 4736e9896c0SJohann Neuhauser * Set PLL4P output to 100 MHz to supply SDMMC with faster clock, 4746e9896c0SJohann Neuhauser * set MCO2 output to 50 MHz to supply ETHRX clock with PLL4P/2, 4756e9896c0SJohann Neuhauser * so that MCO2 behaves as a divider for the ETHRX clock here. 4766e9896c0SJohann Neuhauser */ 4776e9896c0SJohann Neuhauser /* assigned-clocks = <&rcc CK_MCO2>, <&rcc PLL4_P>; Not supported */ 4786e9896c0SJohann Neuhauser /* assigned-clock-parents = <&rcc PLL4_P>; Not supported */ 4796e9896c0SJohann Neuhauser /* assigned-clock-rates = <50000000>, <100000000>; Not supported */ 4806e9896c0SJohann Neuhauser 4816e9896c0SJohann Neuhauser status = "okay"; 4826e9896c0SJohann Neuhauser}; 4836e9896c0SJohann Neuhauser 4846e9896c0SJohann Neuhauser&rng1 { 4856e9896c0SJohann Neuhauser status = "okay"; 4866e9896c0SJohann Neuhauser}; 4876e9896c0SJohann Neuhauser 4886e9896c0SJohann Neuhauser&rtc { 4896e9896c0SJohann Neuhauser status = "okay"; 4906e9896c0SJohann Neuhauser}; 4916e9896c0SJohann Neuhauser 4926e9896c0SJohann Neuhauser&sdmmc1 { 4936e9896c0SJohann Neuhauser pinctrl-names = "default", "opendrain", "sleep", "init"; 4946e9896c0SJohann Neuhauser pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; 4956e9896c0SJohann Neuhauser pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>; 4966e9896c0SJohann Neuhauser pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>; 4976e9896c0SJohann Neuhauser pinctrl-3 = <&sdmmc1_b4_init_pins_a &sdmmc1_dir_init_pins_a>; 4986e9896c0SJohann Neuhauser cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 4996e9896c0SJohann Neuhauser disable-wp; 5006e9896c0SJohann Neuhauser st,sig-dir; 5016e9896c0SJohann Neuhauser st,neg-edge; 5026e9896c0SJohann Neuhauser st,use-ckin; 5036e9896c0SJohann Neuhauser st,cmd-gpios = <&gpiod 2 0>; 5046e9896c0SJohann Neuhauser st,ck-gpios = <&gpioc 12 0>; 5056e9896c0SJohann Neuhauser st,ckin-gpios = <&gpioe 4 0>; 5066e9896c0SJohann Neuhauser bus-width = <4>; 5076e9896c0SJohann Neuhauser vmmc-supply = <&vdd_sd>; 5086e9896c0SJohann Neuhauser status = "okay"; 5096e9896c0SJohann Neuhauser}; 5106e9896c0SJohann Neuhauser 5116e9896c0SJohann Neuhauser&sdmmc1_b4_pins_a { 5126e9896c0SJohann Neuhauser /* 5136e9896c0SJohann Neuhauser * SD bus pull-up resistors: 5146e9896c0SJohann Neuhauser * - optional on SoMs with SD voltage translator 5156e9896c0SJohann Neuhauser * - mandatory on SoMs without SD voltage translator 5166e9896c0SJohann Neuhauser */ 5176e9896c0SJohann Neuhauser pins1 { 5186e9896c0SJohann Neuhauser bias-pull-up; 5196e9896c0SJohann Neuhauser }; 5206e9896c0SJohann Neuhauser pins2 { 5216e9896c0SJohann Neuhauser bias-pull-up; 5226e9896c0SJohann Neuhauser }; 5236e9896c0SJohann Neuhauser}; 5246e9896c0SJohann Neuhauser 5256e9896c0SJohann Neuhauser&sdmmc2 { 5266e9896c0SJohann Neuhauser pinctrl-names = "default", "opendrain", "sleep"; 5276e9896c0SJohann Neuhauser pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>; 5286e9896c0SJohann Neuhauser pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>; 5296e9896c0SJohann Neuhauser pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>; 5306e9896c0SJohann Neuhauser non-removable; 5316e9896c0SJohann Neuhauser no-sd; 5326e9896c0SJohann Neuhauser no-sdio; 5336e9896c0SJohann Neuhauser st,neg-edge; 5346e9896c0SJohann Neuhauser bus-width = <8>; 5356e9896c0SJohann Neuhauser vmmc-supply = <&v3v3>; 5366e9896c0SJohann Neuhauser vqmmc-supply = <&v3v3>; 5376e9896c0SJohann Neuhauser mmc-ddr-3_3v; 5386e9896c0SJohann Neuhauser status = "okay"; 5396e9896c0SJohann Neuhauser}; 5406e9896c0SJohann Neuhauser 5416e9896c0SJohann Neuhauser&sdmmc3 { 5426e9896c0SJohann Neuhauser pinctrl-names = "default", "opendrain", "sleep"; 5436e9896c0SJohann Neuhauser pinctrl-0 = <&sdmmc3_b4_pins_a>; 5446e9896c0SJohann Neuhauser pinctrl-1 = <&sdmmc3_b4_od_pins_a>; 5456e9896c0SJohann Neuhauser pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>; 5466e9896c0SJohann Neuhauser broken-cd; 5476e9896c0SJohann Neuhauser st,neg-edge; 5486e9896c0SJohann Neuhauser bus-width = <4>; 5496e9896c0SJohann Neuhauser vmmc-supply = <&v3v3>; 5506e9896c0SJohann Neuhauser vqmmc-supply = <&v3v3>; 5516e9896c0SJohann Neuhauser mmc-ddr-3_3v; 5526e9896c0SJohann Neuhauser status = "okay"; 5536e9896c0SJohann Neuhauser}; 5546e9896c0SJohann Neuhauser 5556e9896c0SJohann Neuhauser&uart4 { 5566e9896c0SJohann Neuhauser pinctrl-names = "default"; 5576e9896c0SJohann Neuhauser pinctrl-0 = <&uart4_pins_a>; 5586e9896c0SJohann Neuhauser /delete-property/dmas; 5596e9896c0SJohann Neuhauser /delete-property/dma-names; 5606e9896c0SJohann Neuhauser status = "okay"; 5616e9896c0SJohann Neuhauser}; 562