1// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2/* 3 * Copyright (c) 2024-2026 TQ-Systems GmbH <linux@ew.tq-group.com>, 4 * D-82229 Seefeld, Germany. 5 * Author: Alexander Stein 6 * Author: Markus Niebel 7 */ 8 9/dts-v1/; 10 11#include <dt-bindings/gpio/gpio.h> 12#include "imx95.dtsi" 13 14/ { 15 memory@80000000 { 16 device_type = "memory"; 17 /* 18 * DRAM base addr, size : 2048 MiB DRAM 19 * should be corrected by bootloader 20 */ 21 reg = <0 0x80000000 0 0x80000000>; 22 }; 23 24 reg_1v8: regulator-1v8 { 25 compatible = "regulator-fixed"; 26 regulator-name = "V_1V8"; 27 regulator-min-microvolt = <1800000>; 28 regulator-max-microvolt = <1800000>; 29 regulator-always-on; 30 }; 31 32 reg_3v3: regulator-3v3 { 33 compatible = "regulator-fixed"; 34 regulator-name = "V_3V3"; 35 regulator-min-microvolt = <3300000>; 36 regulator-max-microvolt = <3300000>; 37 regulator-always-on; 38 }; 39 40 reg_sdvmmc: regulator-sdvmmc { 41 compatible = "regulator-fixed"; 42 pinctrl-names = "default"; 43 pinctrl-0 = <&pinctrl_sdvmmc>; 44 regulator-name = "SD_PWR_EN"; 45 regulator-min-microvolt = <3300000>; 46 regulator-max-microvolt = <3300000>; 47 gpio = <&gpio3 7 GPIO_ACTIVE_HIGH>; 48 off-on-delay-us = <12000>; 49 enable-active-high; 50 /* can be enabled by mainboard with SD-Card support */ 51 status = "disabled"; 52 }; 53}; 54 55&adc1 { 56 vref-supply = <®_1v8>; 57}; 58 59&flexspi1 { 60 pinctrl-names = "default"; 61 pinctrl-0 = <&pinctrl_flexspi1>; 62 status = "okay"; 63 64 flash0: flash@0 { 65 compatible = "jedec,spi-nor"; 66 reg = <0>; 67 spi-max-frequency = <66000000>; 68 spi-tx-bus-width = <4>; 69 spi-rx-bus-width = <4>; 70 vcc-supply = <®_1v8>; 71 72 partitions { 73 compatible = "fixed-partitions"; 74 #address-cells = <1>; 75 #size-cells = <1>; 76 }; 77 }; 78}; 79 80/* System Manager */ 81&gpio1 { 82 status = "reserved"; 83}; 84 85/* System Manager */ 86&lpi2c1 { 87 status = "reserved"; 88}; 89 90&lpi2c2 { 91 clock-frequency = <400000>; 92 pinctrl-names = "default"; 93 pinctrl-0 = <&pinctrl_lpi2c2>; 94 status = "okay"; 95 96 pcf85063: rtc@51 { 97 compatible = "nxp,pcf85063a"; 98 reg = <0x51>; 99 quartz-load-femtofarads = <7000>; 100 }; 101 102 m24c64: eeprom@54 { 103 compatible = "atmel,24c64"; 104 reg = <0x54>; 105 pagesize = <32>; 106 vcc-supply = <®_3v3>; 107 }; 108 109 /* protectable identification memory (part of M24C64-D @54) */ 110 eeprom@5c { 111 compatible = "atmel,24c64d-wl"; 112 reg = <0x5c>; 113 pagesize = <32>; 114 vcc-supply = <®_3v3>; 115 }; 116 117 imu@6b { 118 compatible = "st,ism330dhcx"; 119 reg = <0x6b>; 120 vdd-supply = <®_3v3>; 121 vddio-supply = <®_3v3>; 122 }; 123}; 124 125&thermal_zones { 126 pf09-thermal { 127 polling-delay = <2000>; 128 polling-delay-passive = <250>; 129 thermal-sensors = <&scmi_sensor 2>; 130 131 trips { 132 pf09_alert: trip0 { 133 hysteresis = <2000>; 134 temperature = <140000>; 135 type = "passive"; 136 }; 137 138 pf09_crit: trip1 { 139 hysteresis = <2000>; 140 temperature = <155000>; 141 type = "critical"; 142 }; 143 }; 144 }; 145 146 pf53arm-thermal { 147 polling-delay = <2000>; 148 polling-delay-passive = <250>; 149 thermal-sensors = <&scmi_sensor 4>; 150 151 cooling-maps { 152 map0 { 153 trip = <&pf5301_alert>; 154 cooling-device = 155 <&A55_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 156 <&A55_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 157 <&A55_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 158 <&A55_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 159 <&A55_4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 160 <&A55_5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 161 }; 162 }; 163 164 trips { 165 pf5301_alert: trip0 { 166 hysteresis = <2000>; 167 temperature = <140000>; 168 type = "passive"; 169 }; 170 171 pf5301_crit: trip1 { 172 hysteresis = <2000>; 173 temperature = <155000>; 174 type = "critical"; 175 }; 176 }; 177 }; 178 179 pf53soc-thermal { 180 polling-delay = <2000>; 181 polling-delay-passive = <250>; 182 thermal-sensors = <&scmi_sensor 3>; 183 184 trips { 185 pf5302_alert: trip0 { 186 hysteresis = <2000>; 187 temperature = <140000>; 188 type = "passive"; 189 }; 190 191 pf5302_crit: trip1 { 192 hysteresis = <2000>; 193 temperature = <155000>; 194 type = "critical"; 195 }; 196 }; 197 }; 198}; 199 200&usdhc1 { 201 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 202 pinctrl-0 = <&pinctrl_usdhc1>; 203 pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 204 pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 205 bus-width = <8>; 206 non-removable; 207 no-sdio; 208 no-sd; 209 status = "okay"; 210}; 211 212&wdog3 { 213 status = "okay"; 214}; 215 216&scmi_iomuxc { 217 pinctrl_flexspi1: flexspi1grp { 218 fsl,pins = <IMX95_PAD_XSPI1_SS0_B__FLEXSPI1_A_SS0_B 0x19e>, 219 <IMX95_PAD_XSPI1_DATA0__FLEXSPI1_A_DATA_BIT0 0x19e>, 220 <IMX95_PAD_XSPI1_DATA1__FLEXSPI1_A_DATA_BIT1 0x19e>, 221 <IMX95_PAD_XSPI1_DATA2__FLEXSPI1_A_DATA_BIT2 0x19e>, 222 <IMX95_PAD_XSPI1_DATA3__FLEXSPI1_A_DATA_BIT3 0x19e>, 223 /* SION to allow clock loopback from pad */ 224 <IMX95_PAD_XSPI1_SCLK__FLEXSPI1_A_SCLK 0x4000019e>, 225 <IMX95_PAD_XSPI1_DQS__FLEXSPI1_A_DQS 0x4000019e>; 226 }; 227 228 pinctrl_lpi2c2: lpi2c2grp { 229 fsl,pins = <IMX95_PAD_I2C2_SCL__AONMIX_TOP_LPI2C2_SCL 0x4000191e>, 230 <IMX95_PAD_I2C2_SDA__AONMIX_TOP_LPI2C2_SDA 0x4000191e>; 231 }; 232 233 pinctrl_sdvmmc: sdvmmcgrp { 234 fsl,pins = <IMX95_PAD_SD2_RESET_B__GPIO3_IO_BIT7 0x11e>; 235 }; 236 237 pinctrl_usdhc1: usdhc1grp { 238 fsl,pins = <IMX95_PAD_SD1_CLK__USDHC1_CLK 0x158e>, 239 <IMX95_PAD_SD1_CMD__USDHC1_CMD 0x138e>, 240 <IMX95_PAD_SD1_DATA0__USDHC1_DATA0 0x138e>, 241 <IMX95_PAD_SD1_DATA1__USDHC1_DATA1 0x138e>, 242 <IMX95_PAD_SD1_DATA2__USDHC1_DATA2 0x138e>, 243 <IMX95_PAD_SD1_DATA3__USDHC1_DATA3 0x138e>, 244 <IMX95_PAD_SD1_DATA4__USDHC1_DATA4 0x138e>, 245 <IMX95_PAD_SD1_DATA5__USDHC1_DATA5 0x138e>, 246 <IMX95_PAD_SD1_DATA6__USDHC1_DATA6 0x138e>, 247 <IMX95_PAD_SD1_DATA7__USDHC1_DATA7 0x138e>, 248 <IMX95_PAD_SD1_STROBE__USDHC1_STROBE 0x158e>; 249 }; 250 251 pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { 252 fsl,pins = <IMX95_PAD_SD1_CLK__USDHC1_CLK 0x158e>, 253 <IMX95_PAD_SD1_CMD__USDHC1_CMD 0x138e>, 254 <IMX95_PAD_SD1_DATA0__USDHC1_DATA0 0x138e>, 255 <IMX95_PAD_SD1_DATA1__USDHC1_DATA1 0x138e>, 256 <IMX95_PAD_SD1_DATA2__USDHC1_DATA2 0x138e>, 257 <IMX95_PAD_SD1_DATA3__USDHC1_DATA3 0x138e>, 258 <IMX95_PAD_SD1_DATA4__USDHC1_DATA4 0x138e>, 259 <IMX95_PAD_SD1_DATA5__USDHC1_DATA5 0x138e>, 260 <IMX95_PAD_SD1_DATA6__USDHC1_DATA6 0x138e>, 261 <IMX95_PAD_SD1_DATA7__USDHC1_DATA7 0x138e>, 262 <IMX95_PAD_SD1_STROBE__USDHC1_STROBE 0x158e>; 263 }; 264 265 pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { 266 fsl,pins = <IMX95_PAD_SD1_CLK__USDHC1_CLK 0x15fe>, 267 <IMX95_PAD_SD1_CMD__USDHC1_CMD 0x13fe>, 268 <IMX95_PAD_SD1_DATA0__USDHC1_DATA0 0x13fe>, 269 <IMX95_PAD_SD1_DATA1__USDHC1_DATA1 0x13fe>, 270 <IMX95_PAD_SD1_DATA2__USDHC1_DATA2 0x13fe>, 271 <IMX95_PAD_SD1_DATA3__USDHC1_DATA3 0x13fe>, 272 <IMX95_PAD_SD1_DATA4__USDHC1_DATA4 0x13fe>, 273 <IMX95_PAD_SD1_DATA5__USDHC1_DATA5 0x13fe>, 274 <IMX95_PAD_SD1_DATA6__USDHC1_DATA6 0x13fe>, 275 <IMX95_PAD_SD1_DATA7__USDHC1_DATA7 0x13fe>, 276 <IMX95_PAD_SD1_STROBE__USDHC1_STROBE 0x15fe>; 277 }; 278}; 279