12b7f7b75SYann Gautier// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 22b7f7b75SYann Gautier/* 32b7f7b75SYann Gautier * Copyright (C) STMicroelectronics 2022 - All Rights Reserved 42b7f7b75SYann Gautier * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 52b7f7b75SYann Gautier */ 62b7f7b75SYann Gautier 72b7f7b75SYann Gautier/dts-v1/; 82b7f7b75SYann Gautier 92b7f7b75SYann Gautier#include <dt-bindings/clock/stm32mp13-clksrc.h> 102b7f7b75SYann Gautier#include "stm32mp135.dtsi" 112b7f7b75SYann Gautier#include "stm32mp13xf.dtsi" 122b7f7b75SYann Gautier#include "stm32mp13-ddr3-1x4Gb-1066-binF.dtsi" 132b7f7b75SYann Gautier#include "stm32mp13-pinctrl.dtsi" 142b7f7b75SYann Gautier 152b7f7b75SYann Gautier/ { 162b7f7b75SYann Gautier model = "STMicroelectronics STM32MP135F-DK Discovery Board"; 172b7f7b75SYann Gautier compatible = "st,stm32mp135f-dk", "st,stm32mp135"; 182b7f7b75SYann Gautier 192b7f7b75SYann Gautier aliases { 202b7f7b75SYann Gautier serial0 = &uart4; 212b7f7b75SYann Gautier serial1 = &usart1; 222b7f7b75SYann Gautier serial2 = &uart8; 232b7f7b75SYann Gautier serial3 = &usart2; 242b7f7b75SYann Gautier }; 252b7f7b75SYann Gautier 262b7f7b75SYann Gautier chosen { 272b7f7b75SYann Gautier stdout-path = "serial0:115200n8"; 282b7f7b75SYann Gautier }; 292b7f7b75SYann Gautier 302b7f7b75SYann Gautier memory@c0000000 { 312b7f7b75SYann Gautier device_type = "memory"; 322b7f7b75SYann Gautier reg = <0xc0000000 0x20000000>; 332b7f7b75SYann Gautier }; 342b7f7b75SYann Gautier 352b7f7b75SYann Gautier vin: vin { 362b7f7b75SYann Gautier compatible = "regulator-fixed"; 372b7f7b75SYann Gautier regulator-name = "vin"; 382b7f7b75SYann Gautier regulator-min-microvolt = <5000000>; 392b7f7b75SYann Gautier regulator-max-microvolt = <5000000>; 402b7f7b75SYann Gautier regulator-always-on; 412b7f7b75SYann Gautier }; 422b7f7b75SYann Gautier 432b7f7b75SYann Gautier v3v3_ao: v3v3_ao { 442b7f7b75SYann Gautier compatible = "regulator-fixed"; 452b7f7b75SYann Gautier regulator-name = "v3v3_ao"; 462b7f7b75SYann Gautier regulator-min-microvolt = <3300000>; 472b7f7b75SYann Gautier regulator-max-microvolt = <3300000>; 482b7f7b75SYann Gautier regulator-always-on; 492b7f7b75SYann Gautier }; 502b7f7b75SYann Gautier}; 512b7f7b75SYann Gautier 522b7f7b75SYann Gautier&bsec { 532b7f7b75SYann Gautier board_id: board_id@f0 { 542b7f7b75SYann Gautier reg = <0xf0 0x4>; 552b7f7b75SYann Gautier st,non-secure-otp; 562b7f7b75SYann Gautier }; 572b7f7b75SYann Gautier}; 582b7f7b75SYann Gautier 592b7f7b75SYann Gautier&cpu0 { 602b7f7b75SYann Gautier cpu-supply = <&vddcpu>; 612b7f7b75SYann Gautier}; 622b7f7b75SYann Gautier 632b7f7b75SYann Gautier&hash { 642b7f7b75SYann Gautier status = "okay"; 652b7f7b75SYann Gautier}; 662b7f7b75SYann Gautier 672b7f7b75SYann Gautier&i2c4 { 682b7f7b75SYann Gautier pinctrl-names = "default"; 692b7f7b75SYann Gautier pinctrl-0 = <&i2c4_pins_a>; 702b7f7b75SYann Gautier i2c-scl-rising-time-ns = <185>; 712b7f7b75SYann Gautier i2c-scl-falling-time-ns = <20>; 722b7f7b75SYann Gautier clock-frequency = <400000>; 732b7f7b75SYann Gautier status = "disabled"; 742b7f7b75SYann Gautier secure-status = "okay"; 752b7f7b75SYann Gautier 762b7f7b75SYann Gautier pmic: stpmic@33 { 772b7f7b75SYann Gautier compatible = "st,stpmic1"; 782b7f7b75SYann Gautier reg = <0x33>; 792b7f7b75SYann Gautier 802b7f7b75SYann Gautier status = "disabled"; 812b7f7b75SYann Gautier secure-status = "okay"; 822b7f7b75SYann Gautier 832b7f7b75SYann Gautier regulators { 842b7f7b75SYann Gautier compatible = "st,stpmic1-regulators"; 852b7f7b75SYann Gautier buck1-supply = <&vin>; 862b7f7b75SYann Gautier buck2-supply = <&vin>; 872b7f7b75SYann Gautier buck3-supply = <&vin>; 882b7f7b75SYann Gautier buck4-supply = <&vin>; 892b7f7b75SYann Gautier ldo1-supply = <&vin>; 902b7f7b75SYann Gautier ldo4-supply = <&vin>; 912b7f7b75SYann Gautier ldo5-supply = <&vin>; 922b7f7b75SYann Gautier ldo6-supply = <&vin>; 932b7f7b75SYann Gautier vref_ddr-supply = <&vin>; 942b7f7b75SYann Gautier pwr_sw1-supply = <&bst_out>; 952b7f7b75SYann Gautier pwr_sw2-supply = <&v3v3_ao>; 962b7f7b75SYann Gautier 972b7f7b75SYann Gautier vddcpu: buck1 { 982b7f7b75SYann Gautier regulator-name = "vddcpu"; 992b7f7b75SYann Gautier regulator-min-microvolt = <1250000>; 1002b7f7b75SYann Gautier regulator-max-microvolt = <1250000>; 1012b7f7b75SYann Gautier regulator-always-on; 1022b7f7b75SYann Gautier regulator-over-current-protection; 1032b7f7b75SYann Gautier }; 1042b7f7b75SYann Gautier 1052b7f7b75SYann Gautier vdd_ddr: buck2 { 1062b7f7b75SYann Gautier regulator-name = "vdd_ddr"; 1072b7f7b75SYann Gautier regulator-min-microvolt = <1350000>; 1082b7f7b75SYann Gautier regulator-max-microvolt = <1350000>; 1092b7f7b75SYann Gautier regulator-always-on; 1102b7f7b75SYann Gautier regulator-over-current-protection; 1112b7f7b75SYann Gautier }; 1122b7f7b75SYann Gautier 1132b7f7b75SYann Gautier vdd: buck3 { 1142b7f7b75SYann Gautier regulator-name = "vdd"; 1152b7f7b75SYann Gautier regulator-min-microvolt = <3300000>; 1162b7f7b75SYann Gautier regulator-max-microvolt = <3300000>; 1172b7f7b75SYann Gautier regulator-always-on; 1182b7f7b75SYann Gautier st,mask-reset; 1192b7f7b75SYann Gautier regulator-over-current-protection; 1202b7f7b75SYann Gautier }; 1212b7f7b75SYann Gautier 1222b7f7b75SYann Gautier vddcore: buck4 { 1232b7f7b75SYann Gautier regulator-name = "vddcore"; 1242b7f7b75SYann Gautier regulator-min-microvolt = <1250000>; 1252b7f7b75SYann Gautier regulator-max-microvolt = <1250000>; 1262b7f7b75SYann Gautier regulator-always-on; 1272b7f7b75SYann Gautier regulator-over-current-protection; 1282b7f7b75SYann Gautier }; 1292b7f7b75SYann Gautier 1302b7f7b75SYann Gautier vdd_adc: ldo1 { 1312b7f7b75SYann Gautier regulator-name = "vdd_adc"; 1322b7f7b75SYann Gautier regulator-min-microvolt = <3300000>; 1332b7f7b75SYann Gautier regulator-max-microvolt = <3300000>; 1342b7f7b75SYann Gautier }; 1352b7f7b75SYann Gautier 1362b7f7b75SYann Gautier vdd_usb: ldo4 { 1372b7f7b75SYann Gautier regulator-name = "vdd_usb"; 1382b7f7b75SYann Gautier regulator-min-microvolt = <3300000>; 1392b7f7b75SYann Gautier regulator-max-microvolt = <3300000>; 1402b7f7b75SYann Gautier }; 1412b7f7b75SYann Gautier 1422b7f7b75SYann Gautier vdd_sd: ldo5 { 1432b7f7b75SYann Gautier regulator-name = "vdd_sd"; 1442b7f7b75SYann Gautier regulator-min-microvolt = <3300000>; 1452b7f7b75SYann Gautier regulator-max-microvolt = <3300000>; 1462b7f7b75SYann Gautier regulator-boot-on; 1472b7f7b75SYann Gautier }; 1482b7f7b75SYann Gautier 1492b7f7b75SYann Gautier v1v8_periph: ldo6 { 1502b7f7b75SYann Gautier regulator-name = "v1v8_periph"; 1512b7f7b75SYann Gautier regulator-min-microvolt = <1800000>; 1522b7f7b75SYann Gautier regulator-max-microvolt = <1800000>; 1532b7f7b75SYann Gautier }; 1542b7f7b75SYann Gautier 1552b7f7b75SYann Gautier vref_ddr: vref_ddr { 1562b7f7b75SYann Gautier regulator-name = "vref_ddr"; 1572b7f7b75SYann Gautier regulator-always-on; 1582b7f7b75SYann Gautier }; 1592b7f7b75SYann Gautier 1602b7f7b75SYann Gautier bst_out: boost { 1612b7f7b75SYann Gautier regulator-name = "bst_out"; 1622b7f7b75SYann Gautier }; 1632b7f7b75SYann Gautier 1642b7f7b75SYann Gautier v3v3_sw: pwr_sw2 { 1652b7f7b75SYann Gautier regulator-name = "v3v3_sw"; 1662b7f7b75SYann Gautier regulator-active-discharge = <1>; 1672b7f7b75SYann Gautier regulator-always-on; 1682b7f7b75SYann Gautier }; 1692b7f7b75SYann Gautier }; 1702b7f7b75SYann Gautier }; 1712b7f7b75SYann Gautier}; 1722b7f7b75SYann Gautier 1732b7f7b75SYann Gautier&iwdg2 { 1742b7f7b75SYann Gautier timeout-sec = <32>; 1752b7f7b75SYann Gautier status = "okay"; 1762b7f7b75SYann Gautier}; 1772b7f7b75SYann Gautier 1782b7f7b75SYann Gautier&pka { 1792b7f7b75SYann Gautier secure-status = "okay"; 1802b7f7b75SYann Gautier}; 1812b7f7b75SYann Gautier 1822b7f7b75SYann Gautier&pwr_regulators { 1832b7f7b75SYann Gautier vdd-supply = <&vdd>; 1842b7f7b75SYann Gautier vdd_3v3_usbfs-supply = <&vdd_usb>; 1852b7f7b75SYann Gautier}; 1862b7f7b75SYann Gautier 1872b7f7b75SYann Gautier&rcc { 1882b7f7b75SYann Gautier st,clksrc = < 1892b7f7b75SYann Gautier CLK_MPU_PLL1P 1902b7f7b75SYann Gautier CLK_AXI_PLL2P 1912b7f7b75SYann Gautier CLK_MLAHBS_PLL3 1922b7f7b75SYann Gautier CLK_CKPER_HSE 1932b7f7b75SYann Gautier CLK_RTC_LSE 1942b7f7b75SYann Gautier CLK_SDMMC1_PLL4P 1952b7f7b75SYann Gautier CLK_SDMMC2_PLL4P 1962b7f7b75SYann Gautier CLK_STGEN_HSE 1972b7f7b75SYann Gautier CLK_USBPHY_HSE 1982b7f7b75SYann Gautier CLK_I2C4_HSI 1992b7f7b75SYann Gautier CLK_USBO_USBPHY 2002b7f7b75SYann Gautier CLK_I2C12_HSI 2012b7f7b75SYann Gautier CLK_UART2_HSI 2022b7f7b75SYann Gautier CLK_UART4_HSI 2032b7f7b75SYann Gautier CLK_SAES_AXI 2042b7f7b75SYann Gautier >; 2052b7f7b75SYann Gautier 2062b7f7b75SYann Gautier st,clkdiv = < 2072b7f7b75SYann Gautier DIV(DIV_AXI, 0) 2082b7f7b75SYann Gautier DIV(DIV_MLAHB, 0) 2092b7f7b75SYann Gautier DIV(DIV_APB1, 1) 2102b7f7b75SYann Gautier DIV(DIV_APB2, 1) 2112b7f7b75SYann Gautier DIV(DIV_APB3, 1) 2122b7f7b75SYann Gautier DIV(DIV_APB4, 1) 2132b7f7b75SYann Gautier DIV(DIV_APB5, 2) 2142b7f7b75SYann Gautier DIV(DIV_APB6, 1) 2152b7f7b75SYann Gautier DIV(DIV_RTC, 0) 2162b7f7b75SYann Gautier >; 2172b7f7b75SYann Gautier 2182b7f7b75SYann Gautier st,pll_vco { 2192b7f7b75SYann Gautier pll1_vco_1300Mhz: pll1-vco-1300Mhz { 2202b7f7b75SYann Gautier src = < CLK_PLL12_HSE >; 2212b7f7b75SYann Gautier divmn = < 2 80 >; 2222b7f7b75SYann Gautier frac = < 0x800 >; 2232b7f7b75SYann Gautier }; 2242b7f7b75SYann Gautier 2252b7f7b75SYann Gautier pll2_vco_1066Mhz: pll2-vco-1066Mhz { 2262b7f7b75SYann Gautier src = < CLK_PLL12_HSE >; 2272b7f7b75SYann Gautier divmn = < 2 65 >; 2282b7f7b75SYann Gautier frac = < 0x1400 >; 2292b7f7b75SYann Gautier }; 2302b7f7b75SYann Gautier 2312b7f7b75SYann Gautier pll3_vco_417_8Mhz: pll2-vco-417_8Mhz { 2322b7f7b75SYann Gautier src = < CLK_PLL3_HSE >; 2332b7f7b75SYann Gautier divmn = < 1 33 >; 2342b7f7b75SYann Gautier frac = < 0x1a04 >; 2352b7f7b75SYann Gautier }; 2362b7f7b75SYann Gautier 2372b7f7b75SYann Gautier pll4_vco_600Mhz: pll2-vco-600Mhz { 2382b7f7b75SYann Gautier src = < CLK_PLL4_HSE >; 2392b7f7b75SYann Gautier divmn = < 1 49 >; 2402b7f7b75SYann Gautier }; 2412b7f7b75SYann Gautier }; 2422b7f7b75SYann Gautier 2432b7f7b75SYann Gautier /* VCO = 1300.0 MHz => P = 650 (CPU) */ 2442b7f7b75SYann Gautier pll1:st,pll@0 { 2452b7f7b75SYann Gautier compatible = "st,stm32mp1-pll"; 2462b7f7b75SYann Gautier reg = <0>; 2472b7f7b75SYann Gautier 2482b7f7b75SYann Gautier st,pll = < &pll1_cfg1 >; 2492b7f7b75SYann Gautier 2502b7f7b75SYann Gautier pll1_cfg1: pll1_cfg1 { 2512b7f7b75SYann Gautier st,pll_vco = < &pll1_vco_1300Mhz >; 2522b7f7b75SYann Gautier st,pll_div_pqr = < 0 1 1 >; 2532b7f7b75SYann Gautier }; 2542b7f7b75SYann Gautier }; 2552b7f7b75SYann Gautier 2562b7f7b75SYann Gautier /* VCO = 1066.0 MHz => P = 266 (AXI), Q = 266, R = 533 (DDR) */ 2572b7f7b75SYann Gautier pll2:st,pll@1 { 2582b7f7b75SYann Gautier compatible = "st,stm32mp1-pll"; 2592b7f7b75SYann Gautier reg = <1>; 2602b7f7b75SYann Gautier 2612b7f7b75SYann Gautier st,pll = < &pll2_cfg1 >; 2622b7f7b75SYann Gautier 2632b7f7b75SYann Gautier pll2_cfg1: pll2_cfg1 { 2642b7f7b75SYann Gautier st,pll_vco = < &pll2_vco_1066Mhz >; 2652b7f7b75SYann Gautier st,pll_div_pqr = < 1 1 0 >; 2662b7f7b75SYann Gautier }; 2672b7f7b75SYann Gautier }; 2682b7f7b75SYann Gautier 2692b7f7b75SYann Gautier /* VCO = 417.8 MHz => P = 209, Q = 24, R = 209 */ 2702b7f7b75SYann Gautier pll3:st,pll@2 { 2712b7f7b75SYann Gautier compatible = "st,stm32mp1-pll"; 2722b7f7b75SYann Gautier reg = <2>; 2732b7f7b75SYann Gautier 2742b7f7b75SYann Gautier st,pll = < &pll3_cfg1 >; 2752b7f7b75SYann Gautier 2762b7f7b75SYann Gautier pll3_cfg1: pll3_cfg1 { 2772b7f7b75SYann Gautier st,pll_vco = < &pll3_vco_417_8Mhz >; 2782b7f7b75SYann Gautier st,pll_div_pqr = < 1 16 1 >; 2792b7f7b75SYann Gautier }; 2802b7f7b75SYann Gautier }; 2812b7f7b75SYann Gautier 2822b7f7b75SYann Gautier /* VCO = 600.0 MHz => P = 50, Q = 10, R = 100 */ 2832b7f7b75SYann Gautier pll4:st,pll@3 { 2842b7f7b75SYann Gautier compatible = "st,stm32mp1-pll"; 2852b7f7b75SYann Gautier reg = <3>; 2862b7f7b75SYann Gautier 2872b7f7b75SYann Gautier st,pll = < &pll4_cfg1 >; 2882b7f7b75SYann Gautier 2892b7f7b75SYann Gautier pll4_cfg1: pll4_cfg1 { 2902b7f7b75SYann Gautier st,pll_vco = < &pll4_vco_600Mhz >; 2912b7f7b75SYann Gautier st,pll_div_pqr = < 11 59 5 >; 2922b7f7b75SYann Gautier }; 2932b7f7b75SYann Gautier }; 2942b7f7b75SYann Gautier}; 2952b7f7b75SYann Gautier 2962b7f7b75SYann Gautier&rng { 2972b7f7b75SYann Gautier status = "okay"; 2982b7f7b75SYann Gautier}; 2992b7f7b75SYann Gautier 3002b7f7b75SYann Gautier&saes { 3012b7f7b75SYann Gautier secure-status = "okay"; 3022b7f7b75SYann Gautier}; 3032b7f7b75SYann Gautier 3042b7f7b75SYann Gautier&sdmmc1 { 3052b7f7b75SYann Gautier pinctrl-names = "default"; 306*c7ac7d65SYann Gautier pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_clk_pins_a>; 3072b7f7b75SYann Gautier disable-wp; 3082b7f7b75SYann Gautier st,neg-edge; 3092b7f7b75SYann Gautier bus-width = <4>; 3102b7f7b75SYann Gautier vmmc-supply = <&vdd_sd>; 3112b7f7b75SYann Gautier status = "okay"; 3122b7f7b75SYann Gautier}; 3132b7f7b75SYann Gautier 3142b7f7b75SYann Gautier&uart4 { 3152b7f7b75SYann Gautier pinctrl-names = "default"; 3162b7f7b75SYann Gautier pinctrl-0 = <&uart4_pins_a>; 3172b7f7b75SYann Gautier status = "okay"; 3182b7f7b75SYann Gautier}; 3192b7f7b75SYann Gautier 3202b7f7b75SYann Gautier&uart8 { 3212b7f7b75SYann Gautier pinctrl-names = "default"; 3222b7f7b75SYann Gautier pinctrl-0 = <&uart8_pins_a>; 3232b7f7b75SYann Gautier status = "disabled"; 3242b7f7b75SYann Gautier}; 3252b7f7b75SYann Gautier 3262b7f7b75SYann Gautier&usart1 { 3272b7f7b75SYann Gautier pinctrl-names = "default"; 3282b7f7b75SYann Gautier pinctrl-0 = <&usart1_pins_a>; 3292b7f7b75SYann Gautier uart-has-rtscts; 3302b7f7b75SYann Gautier status = "disabled"; 3312b7f7b75SYann Gautier}; 332