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