xref: /rk3399_ARM-atf/fdts/stm32mp135f-dk.dts (revision b8816d3cbdb838298185e3145d24f86dd86699cb)
12b7f7b75SYann Gautier// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
22b7f7b75SYann Gautier/*
3*b8816d3cSYann Gautier * Copyright (C) 2022-2024, STMicroelectronics - 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 {
53*b8816d3cSYann 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 {
1798ef8e0e3SLionel Debieve	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
2318b826636SGabriel Fernandez		pll3_vco_417Mhz: pll3-vco-417Mhz {
2322b7f7b75SYann Gautier			src = <CLK_PLL3_HSE>;
2332b7f7b75SYann Gautier			divmn = <1 33>;
2342b7f7b75SYann Gautier			frac = <0x1a04>;
2352b7f7b75SYann Gautier		};
2362b7f7b75SYann Gautier
23793ed4f08SYann Gautier		pll4_vco_600Mhz: pll4-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 {
2778b826636SGabriel Fernandez			st,pll_vco = <&pll3_vco_417Mhz>;
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 {
3018ef8e0e3SLionel Debieve	status = "okay";
3022b7f7b75SYann Gautier};
3032b7f7b75SYann Gautier
3042b7f7b75SYann Gautier&sdmmc1 {
3052b7f7b75SYann Gautier	pinctrl-names = "default";
306c7ac7d65SYann 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