xref: /rk3399_ARM-atf/fdts/stm32mp135f-dk.dts (revision 78ff36192f7dd4defa874d8f4387ec94cfcd20ee)
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_SDMMC1_PLL4P
1942b7f7b75SYann Gautier		CLK_SDMMC2_PLL4P
1952b7f7b75SYann Gautier		CLK_STGEN_HSE
1962b7f7b75SYann Gautier		CLK_USBPHY_HSE
1972b7f7b75SYann Gautier		CLK_I2C4_HSI
1982b7f7b75SYann Gautier		CLK_USBO_USBPHY
1992b7f7b75SYann Gautier		CLK_I2C12_HSI
2002b7f7b75SYann Gautier		CLK_UART2_HSI
2012b7f7b75SYann Gautier		CLK_UART4_HSI
2022b7f7b75SYann Gautier		CLK_SAES_AXI
2032b7f7b75SYann Gautier	>;
2042b7f7b75SYann Gautier
2052b7f7b75SYann Gautier	st,clkdiv = <
2062b7f7b75SYann Gautier		DIV(DIV_AXI, 0)
2072b7f7b75SYann Gautier		DIV(DIV_MLAHB, 0)
2082b7f7b75SYann Gautier		DIV(DIV_APB1, 1)
2092b7f7b75SYann Gautier		DIV(DIV_APB2, 1)
2102b7f7b75SYann Gautier		DIV(DIV_APB3, 1)
2112b7f7b75SYann Gautier		DIV(DIV_APB4, 1)
2122b7f7b75SYann Gautier		DIV(DIV_APB5, 2)
2132b7f7b75SYann Gautier		DIV(DIV_APB6, 1)
2142b7f7b75SYann Gautier	>;
2152b7f7b75SYann Gautier
2162b7f7b75SYann Gautier	st,pll_vco {
2172b7f7b75SYann Gautier		pll2_vco_1066Mhz: pll2-vco-1066Mhz {
2182b7f7b75SYann Gautier			src = <CLK_PLL12_HSE>;
2192b7f7b75SYann Gautier			divmn = <2 65>;
2202b7f7b75SYann Gautier			frac = <0x1400>;
2212b7f7b75SYann Gautier		};
2222b7f7b75SYann Gautier
2238b826636SGabriel Fernandez		pll3_vco_417Mhz: pll3-vco-417Mhz {
2242b7f7b75SYann Gautier			src = <CLK_PLL3_HSE>;
2252b7f7b75SYann Gautier			divmn = <1 33>;
2262b7f7b75SYann Gautier			frac = <0x1a04>;
2272b7f7b75SYann Gautier		};
2282b7f7b75SYann Gautier
22993ed4f08SYann Gautier		pll4_vco_600Mhz: pll4-vco-600Mhz {
2302b7f7b75SYann Gautier			src = <CLK_PLL4_HSE>;
2312b7f7b75SYann Gautier			divmn = <1 49>;
2322b7f7b75SYann Gautier		};
2332b7f7b75SYann Gautier	};
2342b7f7b75SYann Gautier
2352b7f7b75SYann Gautier	/* VCO = 1066.0 MHz => P = 266 (AXI), Q = 266, R = 533 (DDR) */
2362b7f7b75SYann Gautier	pll2:st,pll@1 {
2372b7f7b75SYann Gautier		compatible = "st,stm32mp1-pll";
2382b7f7b75SYann Gautier		reg = <1>;
2392b7f7b75SYann Gautier
2402b7f7b75SYann Gautier		st,pll = <&pll2_cfg1>;
2412b7f7b75SYann Gautier
2422b7f7b75SYann Gautier		pll2_cfg1: pll2_cfg1 {
2432b7f7b75SYann Gautier			st,pll_vco = <&pll2_vco_1066Mhz>;
2442b7f7b75SYann Gautier			st,pll_div_pqr = <1 1 0>;
2452b7f7b75SYann Gautier		};
2462b7f7b75SYann Gautier	};
2472b7f7b75SYann Gautier
2482b7f7b75SYann Gautier	/* VCO = 417.8 MHz => P = 209, Q = 24, R = 209 */
2492b7f7b75SYann Gautier	pll3:st,pll@2 {
2502b7f7b75SYann Gautier		compatible = "st,stm32mp1-pll";
2512b7f7b75SYann Gautier		reg = <2>;
2522b7f7b75SYann Gautier
2532b7f7b75SYann Gautier		st,pll = <&pll3_cfg1>;
2542b7f7b75SYann Gautier
2552b7f7b75SYann Gautier		pll3_cfg1: pll3_cfg1 {
2568b826636SGabriel Fernandez			st,pll_vco = <&pll3_vco_417Mhz>;
2572b7f7b75SYann Gautier			st,pll_div_pqr = <1 16 1>;
2582b7f7b75SYann Gautier		};
2592b7f7b75SYann Gautier	};
2602b7f7b75SYann Gautier
2612b7f7b75SYann Gautier	/* VCO = 600.0 MHz => P = 50, Q = 10, R = 100 */
2622b7f7b75SYann Gautier	pll4:st,pll@3 {
2632b7f7b75SYann Gautier		compatible = "st,stm32mp1-pll";
2642b7f7b75SYann Gautier		reg = <3>;
2652b7f7b75SYann Gautier
2662b7f7b75SYann Gautier		st,pll = <&pll4_cfg1>;
2672b7f7b75SYann Gautier
2682b7f7b75SYann Gautier		pll4_cfg1: pll4_cfg1 {
2692b7f7b75SYann Gautier			st,pll_vco = <&pll4_vco_600Mhz>;
2702b7f7b75SYann Gautier			st,pll_div_pqr = <11 59 5>;
2712b7f7b75SYann Gautier		};
2722b7f7b75SYann Gautier	};
2732b7f7b75SYann Gautier};
2742b7f7b75SYann Gautier
2752b7f7b75SYann Gautier&rng {
2762b7f7b75SYann Gautier	status = "okay";
2772b7f7b75SYann Gautier};
2782b7f7b75SYann Gautier
2792b7f7b75SYann Gautier&saes {
2808ef8e0e3SLionel Debieve	status = "okay";
2812b7f7b75SYann Gautier};
2822b7f7b75SYann Gautier
2832b7f7b75SYann Gautier&sdmmc1 {
2842b7f7b75SYann Gautier	pinctrl-names = "default";
285c7ac7d65SYann Gautier	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_clk_pins_a>;
2862b7f7b75SYann Gautier	disable-wp;
2872b7f7b75SYann Gautier	st,neg-edge;
2882b7f7b75SYann Gautier	bus-width = <4>;
2892b7f7b75SYann Gautier	vmmc-supply = <&vdd_sd>;
2902b7f7b75SYann Gautier	status = "okay";
2912b7f7b75SYann Gautier};
2922b7f7b75SYann Gautier
2932b7f7b75SYann Gautier&uart4 {
2942b7f7b75SYann Gautier	pinctrl-names = "default";
2952b7f7b75SYann Gautier	pinctrl-0 = <&uart4_pins_a>;
2962b7f7b75SYann Gautier	status = "okay";
2972b7f7b75SYann Gautier};
2982b7f7b75SYann Gautier
2992b7f7b75SYann Gautier&uart8 {
3002b7f7b75SYann Gautier	pinctrl-names = "default";
3012b7f7b75SYann Gautier	pinctrl-0 = <&uart8_pins_a>;
3022b7f7b75SYann Gautier	status = "disabled";
3032b7f7b75SYann Gautier};
3042b7f7b75SYann Gautier
3052b7f7b75SYann Gautier&usart1 {
3062b7f7b75SYann Gautier	pinctrl-names = "default";
3072b7f7b75SYann Gautier	pinctrl-0 = <&usart1_pins_a>;
3082b7f7b75SYann Gautier	uart-has-rtscts;
3092b7f7b75SYann Gautier	status = "disabled";
3102b7f7b75SYann Gautier};
311