1*a4e31cf0SBoerge Struempfel// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) 2*a4e31cf0SBoerge Struempfel/* 3*a4e31cf0SBoerge Struempfel * Copyright (C) 2025, Ultratronik GmbH 4*a4e31cf0SBoerge Struempfel * Copyright (C) STMicroelectronics 2025 - All Rights Reserved 5*a4e31cf0SBoerge Struempfel * Author: Boerge Struempfel <boerge.struempfel@gmail.com> for Ultratronik GmbH. 6*a4e31cf0SBoerge Struempfel */ 7*a4e31cf0SBoerge Struempfel 8*a4e31cf0SBoerge Struempfel/dts-v1/; 9*a4e31cf0SBoerge Struempfel 10*a4e31cf0SBoerge Struempfel#include <dt-bindings/clock/stm32mp25-clksrc.h> 11*a4e31cf0SBoerge Struempfel#include "stm32mp257.dtsi" 12*a4e31cf0SBoerge Struempfel#include "stm32mp257d-ultra-fly-sbc-ca35tdcid-rcc.dtsi" 13*a4e31cf0SBoerge Struempfel#include "stm32mp25-lpddr4-2x16Gbits-32bits-1200MHz.dtsi" 14*a4e31cf0SBoerge Struempfel#include "stm32mp25-pinctrl.dtsi" 15*a4e31cf0SBoerge Struempfel#include "stm32mp25xxak-pinctrl.dtsi" 16*a4e31cf0SBoerge Struempfel 17*a4e31cf0SBoerge Struempfel/ { 18*a4e31cf0SBoerge Struempfel model = "Ultratronik Ultra Fly SBC based on STM32MP257D"; 19*a4e31cf0SBoerge Struempfel compatible = "st,stm32mp257d-ultra-fly-sbc", "st,stm32mp257"; 20*a4e31cf0SBoerge Struempfel 21*a4e31cf0SBoerge Struempfel aliases { 22*a4e31cf0SBoerge Struempfel serial0 = &usart1; 23*a4e31cf0SBoerge Struempfel }; 24*a4e31cf0SBoerge Struempfel 25*a4e31cf0SBoerge Struempfel chosen { 26*a4e31cf0SBoerge Struempfel stdout-path = "serial0:115200n8"; 27*a4e31cf0SBoerge Struempfel }; 28*a4e31cf0SBoerge Struempfel 29*a4e31cf0SBoerge Struempfel memory@80000000 { 30*a4e31cf0SBoerge Struempfel device_type = "memory"; 31*a4e31cf0SBoerge Struempfel reg = <0x0 0x80000000 0x1 0x00000000>; 32*a4e31cf0SBoerge Struempfel }; 33*a4e31cf0SBoerge Struempfel}; 34*a4e31cf0SBoerge Struempfel 35*a4e31cf0SBoerge Struempfel&ddr { 36*a4e31cf0SBoerge Struempfel vdd1-supply = <&vdd1_ddr>; 37*a4e31cf0SBoerge Struempfel vdd2-supply = <&vdd2_ddr>; 38*a4e31cf0SBoerge Struempfel vddq-supply = <&vdd2_ddr>; 39*a4e31cf0SBoerge Struempfel}; 40*a4e31cf0SBoerge Struempfel 41*a4e31cf0SBoerge Struempfel&i2c7 { 42*a4e31cf0SBoerge Struempfel pinctrl-names = "default"; 43*a4e31cf0SBoerge Struempfel pinctrl-0 = <&i2c7_pins_a>; 44*a4e31cf0SBoerge Struempfel i2c-scl-rising-time-ns = <185>; 45*a4e31cf0SBoerge Struempfel i2c-scl-falling-time-ns = <20>; 46*a4e31cf0SBoerge Struempfel clock-frequency = <400000>; 47*a4e31cf0SBoerge Struempfel status = "okay"; 48*a4e31cf0SBoerge Struempfel #address-cells = <1>; 49*a4e31cf0SBoerge Struempfel #size-cells = <0>; 50*a4e31cf0SBoerge Struempfel 51*a4e31cf0SBoerge Struempfel pmic2: stpmic@33 { 52*a4e31cf0SBoerge Struempfel compatible = "st,stpmic2"; 53*a4e31cf0SBoerge Struempfel reg = <0x33>; 54*a4e31cf0SBoerge Struempfel status = "okay"; 55*a4e31cf0SBoerge Struempfel 56*a4e31cf0SBoerge Struempfel regulators { 57*a4e31cf0SBoerge Struempfel compatible = "st,stpmic2-regulators"; 58*a4e31cf0SBoerge Struempfel 59*a4e31cf0SBoerge Struempfel vddcpu: buck1 { 60*a4e31cf0SBoerge Struempfel regulator-name = "vddcpu"; 61*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <800000>; 62*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <910000>; 63*a4e31cf0SBoerge Struempfel regulator-always-on; 64*a4e31cf0SBoerge Struempfel }; 65*a4e31cf0SBoerge Struempfel vddcore: buck2 { 66*a4e31cf0SBoerge Struempfel regulator-name = "vddcore"; 67*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <820000>; 68*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <820000>; 69*a4e31cf0SBoerge Struempfel regulator-always-on; 70*a4e31cf0SBoerge Struempfel }; 71*a4e31cf0SBoerge Struempfel vddgpu: buck3 { 72*a4e31cf0SBoerge Struempfel regulator-name = "vddgpu"; 73*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <800000>; 74*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <900000>; 75*a4e31cf0SBoerge Struempfel regulator-always-on; 76*a4e31cf0SBoerge Struempfel }; 77*a4e31cf0SBoerge Struempfel vddio_pmic: buck4 { 78*a4e31cf0SBoerge Struempfel regulator-name = "vddio_pmic"; 79*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <3300000>; 80*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <3300000>; 81*a4e31cf0SBoerge Struempfel regulator-always-on; 82*a4e31cf0SBoerge Struempfel }; 83*a4e31cf0SBoerge Struempfel v1v8: buck5 { 84*a4e31cf0SBoerge Struempfel regulator-name = "v1v8"; 85*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <1800000>; 86*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <1800000>; 87*a4e31cf0SBoerge Struempfel regulator-always-on; 88*a4e31cf0SBoerge Struempfel }; 89*a4e31cf0SBoerge Struempfel vdd2_ddr: buck6 { 90*a4e31cf0SBoerge Struempfel regulator-name = "vdd2_ddr"; 91*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <1100000>; 92*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <1100000>; 93*a4e31cf0SBoerge Struempfel }; 94*a4e31cf0SBoerge Struempfel v3v3: buck7 { 95*a4e31cf0SBoerge Struempfel regulator-name = "v3v3"; 96*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <3300000>; 97*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <3300000>; 98*a4e31cf0SBoerge Struempfel regulator-always-on; 99*a4e31cf0SBoerge Struempfel }; 100*a4e31cf0SBoerge Struempfel vdda1v8_aon: ldo1 { 101*a4e31cf0SBoerge Struempfel regulator-name = "vdda1v8_aon"; 102*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <1800000>; 103*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <1800000>; 104*a4e31cf0SBoerge Struempfel regulator-always-on; 105*a4e31cf0SBoerge Struempfel }; 106*a4e31cf0SBoerge Struempfel vdd_emmc: ldo2 { 107*a4e31cf0SBoerge Struempfel regulator-name = "vdd_emmc"; 108*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <3300000>; 109*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <3300000>; 110*a4e31cf0SBoerge Struempfel regulator-always-on; 111*a4e31cf0SBoerge Struempfel }; 112*a4e31cf0SBoerge Struempfel vdd1_ddr: ldo3 { 113*a4e31cf0SBoerge Struempfel regulator-name = "vdd1_ddr"; 114*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <1800000>; 115*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <1800000>; 116*a4e31cf0SBoerge Struempfel regulator-enable-ramp-delay = <1000>; 117*a4e31cf0SBoerge Struempfel }; 118*a4e31cf0SBoerge Struempfel vdd3v3_usb: ldo4 { 119*a4e31cf0SBoerge Struempfel regulator-name = "vdd3v3_usb"; 120*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <3300000>; 121*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <3300000>; 122*a4e31cf0SBoerge Struempfel regulator-always-on; 123*a4e31cf0SBoerge Struempfel }; 124*a4e31cf0SBoerge Struempfel vdd_sdcard: ldo7 { 125*a4e31cf0SBoerge Struempfel regulator-name = "vdd_sdcard"; 126*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <3300000>; 127*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <3300000>; 128*a4e31cf0SBoerge Struempfel regulator-always-on; 129*a4e31cf0SBoerge Struempfel }; 130*a4e31cf0SBoerge Struempfel vddio_sdcard: ldo8 { 131*a4e31cf0SBoerge Struempfel regulator-name = "vddio_sdcard"; 132*a4e31cf0SBoerge Struempfel st,regulator-bypass-microvolt = <3300000>; 133*a4e31cf0SBoerge Struempfel regulator-min-microvolt = <1800000>; 134*a4e31cf0SBoerge Struempfel regulator-max-microvolt = <3300000>; 135*a4e31cf0SBoerge Struempfel regulator-always-on; 136*a4e31cf0SBoerge Struempfel }; 137*a4e31cf0SBoerge Struempfel }; 138*a4e31cf0SBoerge Struempfel }; 139*a4e31cf0SBoerge Struempfel}; 140*a4e31cf0SBoerge Struempfel 141*a4e31cf0SBoerge Struempfel&pwr { 142*a4e31cf0SBoerge Struempfel vddio1: vddio1 { 143*a4e31cf0SBoerge Struempfel vddio1-supply = <&vddio_sdcard>; 144*a4e31cf0SBoerge Struempfel }; 145*a4e31cf0SBoerge Struempfel vddio2: vddio2 { 146*a4e31cf0SBoerge Struempfel vddio2-supply = <&v1v8>; 147*a4e31cf0SBoerge Struempfel }; 148*a4e31cf0SBoerge Struempfel vddio3: vddio3 { 149*a4e31cf0SBoerge Struempfel vddio3-supply = <&vddio_pmic>; 150*a4e31cf0SBoerge Struempfel }; 151*a4e31cf0SBoerge Struempfel vddio4: vddio4 { 152*a4e31cf0SBoerge Struempfel vddio4-supply = <&vddio_pmic>; 153*a4e31cf0SBoerge Struempfel }; 154*a4e31cf0SBoerge Struempfel vddio: vddio { 155*a4e31cf0SBoerge Struempfel vdd-supply = <&vddio_pmic>; 156*a4e31cf0SBoerge Struempfel }; 157*a4e31cf0SBoerge Struempfel}; 158*a4e31cf0SBoerge Struempfel 159*a4e31cf0SBoerge Struempfel&sdmmc1 { 160*a4e31cf0SBoerge Struempfel pinctrl-names = "default"; 161*a4e31cf0SBoerge Struempfel pinctrl-0 = <&sdmmc1_b4_pins_a>; 162*a4e31cf0SBoerge Struempfel st,neg-edge; 163*a4e31cf0SBoerge Struempfel bus-width = <4>; 164*a4e31cf0SBoerge Struempfel vmmc-supply = <&vdd_sdcard>; 165*a4e31cf0SBoerge Struempfel vqmmc-supply = <&vddio1>; 166*a4e31cf0SBoerge Struempfel status = "okay"; 167*a4e31cf0SBoerge Struempfel}; 168*a4e31cf0SBoerge Struempfel 169*a4e31cf0SBoerge Struempfel&sdmmc2 { 170*a4e31cf0SBoerge Struempfel pinctrl-names = "default"; 171*a4e31cf0SBoerge Struempfel pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>; 172*a4e31cf0SBoerge Struempfel non-removable; 173*a4e31cf0SBoerge Struempfel no-sd; 174*a4e31cf0SBoerge Struempfel no-sdio; 175*a4e31cf0SBoerge Struempfel st,neg-edge; 176*a4e31cf0SBoerge Struempfel bus-width = <8>; 177*a4e31cf0SBoerge Struempfel vmmc-supply = <&vdd_emmc>; 178*a4e31cf0SBoerge Struempfel vqmmc-supply = <&vddio2>; 179*a4e31cf0SBoerge Struempfel status = "okay"; 180*a4e31cf0SBoerge Struempfel}; 181*a4e31cf0SBoerge Struempfel 182*a4e31cf0SBoerge Struempfel&usart1 { 183*a4e31cf0SBoerge Struempfel pinctrl-names = "default"; 184*a4e31cf0SBoerge Struempfel pinctrl-0 = <&usart1_pins_a>; 185*a4e31cf0SBoerge Struempfel status = "okay"; 186*a4e31cf0SBoerge Struempfel}; 187*a4e31cf0SBoerge Struempfel 188*a4e31cf0SBoerge Struempfel&pinctrl { 189*a4e31cf0SBoerge Struempfel usart1_pins_a: usart1-0 { 190*a4e31cf0SBoerge Struempfel pins1 { 191*a4e31cf0SBoerge Struempfel pinmux = <STM32_PINMUX('A', 3, AF6)>; /* USART1_TX */ 192*a4e31cf0SBoerge Struempfel bias-disable; 193*a4e31cf0SBoerge Struempfel drive-push-pull; 194*a4e31cf0SBoerge Struempfel slew-rate = <0>; 195*a4e31cf0SBoerge Struempfel }; 196*a4e31cf0SBoerge Struempfel pins2 { 197*a4e31cf0SBoerge Struempfel pinmux = <STM32_PINMUX('G', 15, AF6)>; /* USART1_RX */ 198*a4e31cf0SBoerge Struempfel bias-disable; 199*a4e31cf0SBoerge Struempfel }; 200*a4e31cf0SBoerge Struempfel }; 201*a4e31cf0SBoerge Struempfel}; 202