1// SPDX-License-Identifier: GPL-2.0 OR X11 2/* 3 * Device Tree Include file for TQ-Systems TQMa7x boards with full mounted PCB. 4 * 5 * Copyright (C) 2016 TQ-Systems GmbH 6 * Author: Markus Niebel <Markus.Niebel@tq-group.com> 7 * Copyright (C) 2019 Bruno Thomsen <bruno.thomsen@gmail.com> 8 */ 9 10/ { 11 memory@80000000 { 12 device_type = "memory"; 13 /* 512 MB - default configuration */ 14 reg = <0x80000000 0x20000000>; 15 }; 16}; 17 18&cpu0 { 19 cpu-supply = <&sw1a_reg>; 20}; 21 22&gpio2 { 23 /* Configured as pullup by QSPI pin group */ 24 qspi-reset-hog { 25 gpio-hog; 26 gpios = <4 GPIO_ACTIVE_LOW>; 27 input; 28 line-name = "qspi-reset"; 29 }; 30}; 31 32&i2c1 { 33 pinctrl-names = "default"; 34 pinctrl-0 = <&pinctrl_i2c1>; 35 clock-frequency = <100000>; 36 status = "okay"; 37 38 pfuze3000: pmic@8 { 39 pinctrl-names = "default"; 40 pinctrl-0 = <&pinctrl_pmic1>; 41 compatible = "fsl,pfuze3000"; 42 reg = <0x08>; 43 44 regulators { 45 sw1a_reg: sw1a { 46 regulator-min-microvolt = <700000>; 47 regulator-max-microvolt = <3300000>; 48 regulator-boot-on; 49 regulator-always-on; 50 regulator-ramp-delay = <6250>; 51 }; 52 53 /* use sw1c_reg to align with pfuze100/pfuze200 */ 54 sw1c_reg: sw1b { 55 regulator-min-microvolt = <700000>; 56 regulator-max-microvolt = <1475000>; 57 regulator-boot-on; 58 regulator-always-on; 59 regulator-ramp-delay = <6250>; 60 }; 61 62 sw2_reg: sw2 { 63 regulator-min-microvolt = <1500000>; 64 regulator-max-microvolt = <1850000>; 65 regulator-boot-on; 66 regulator-always-on; 67 }; 68 69 sw3a_reg: sw3 { 70 regulator-min-microvolt = <900000>; 71 regulator-max-microvolt = <1650000>; 72 regulator-boot-on; 73 regulator-always-on; 74 }; 75 76 swbst_reg: swbst { 77 regulator-min-microvolt = <5000000>; 78 regulator-max-microvolt = <5150000>; 79 }; 80 81 snvs_reg: vsnvs { 82 regulator-min-microvolt = <1000000>; 83 regulator-max-microvolt = <3000000>; 84 regulator-boot-on; 85 regulator-always-on; 86 }; 87 88 vref_reg: vrefddr { 89 regulator-boot-on; 90 regulator-always-on; 91 }; 92 93 vgen1_reg: vldo1 { 94 regulator-min-microvolt = <1800000>; 95 regulator-max-microvolt = <3300000>; 96 regulator-always-on; 97 }; 98 99 vgen2_reg: vldo2 { 100 regulator-min-microvolt = <800000>; 101 regulator-max-microvolt = <1550000>; 102 regulator-always-on; 103 }; 104 105 vgen3_reg: vccsd { 106 regulator-min-microvolt = <2850000>; 107 regulator-max-microvolt = <3300000>; 108 regulator-always-on; 109 }; 110 111 vgen4_reg: v33 { 112 regulator-min-microvolt = <2850000>; 113 regulator-max-microvolt = <3300000>; 114 regulator-always-on; 115 }; 116 117 vgen5_reg: vldo3 { 118 regulator-min-microvolt = <1800000>; 119 regulator-max-microvolt = <3300000>; 120 regulator-always-on; 121 }; 122 123 vgen6_reg: vldo4 { 124 regulator-min-microvolt = <1800000>; 125 regulator-max-microvolt = <3300000>; 126 regulator-always-on; 127 }; 128 }; 129 }; 130 131 /* LM75A temperature sensor, TQMa7x 01xx */ 132 lm75a: temperature-sensor@48 { 133 compatible = "national,lm75a"; 134 reg = <0x48>; 135 }; 136 137 /* NXP SE97BTP with temperature sensor + eeprom, TQMa7x 02xx */ 138 se97b: temperature-sensor-eeprom@1e { 139 compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 140 reg = <0x1e>; 141 }; 142 143 /* ST M24C64 */ 144 m24c64: eeprom@50 { 145 compatible = "atmel,24c64"; 146 reg = <0x50>; 147 pagesize = <32>; 148 status = "okay"; 149 }; 150 151 at24c02: eeprom@56 { 152 compatible = "atmel,24c02"; 153 reg = <0x56>; 154 pagesize = <16>; 155 status = "okay"; 156 }; 157 158 ds1339: rtc@68 { 159 compatible = "dallas,ds1339"; 160 reg = <0x68>; 161 }; 162}; 163 164&iomuxc { 165 pinctrl_i2c1: i2c1grp { 166 fsl,pins = < 167 MX7D_PAD_I2C1_SDA__I2C1_SDA 0x40000078 168 MX7D_PAD_I2C1_SCL__I2C1_SCL 0x40000078 169 >; 170 }; 171 172 pinctrl_pmic1: pmic1grp { 173 fsl,pins = < 174 MX7D_PAD_SD2_RESET_B__GPIO5_IO11 0x4000005C 175 >; 176 }; 177 178 pinctrl_qspi: qspigrp { 179 fsl,pins = < 180 MX7D_PAD_EPDC_DATA00__QSPI_A_DATA0 0x5A 181 MX7D_PAD_EPDC_DATA01__QSPI_A_DATA1 0x5A 182 MX7D_PAD_EPDC_DATA02__QSPI_A_DATA2 0x5A 183 MX7D_PAD_EPDC_DATA03__QSPI_A_DATA3 0x5A 184 MX7D_PAD_EPDC_DATA05__QSPI_A_SCLK 0x11 185 MX7D_PAD_EPDC_DATA06__QSPI_A_SS0_B 0x54 186 MX7D_PAD_EPDC_DATA07__QSPI_A_SS1_B 0x54 187 >; 188 }; 189 190 pinctrl_qspi_reset: qspi_resetgrp { 191 fsl,pins = < 192 /* #QSPI_RESET */ 193 MX7D_PAD_EPDC_DATA04__GPIO2_IO4 0x52 194 >; 195 }; 196 197 pinctrl_usdhc3: usdhc3grp { 198 fsl,pins = < 199 MX7D_PAD_SD3_CMD__SD3_CMD 0x59 200 MX7D_PAD_SD3_CLK__SD3_CLK 0x56 201 MX7D_PAD_SD3_DATA0__SD3_DATA0 0x59 202 MX7D_PAD_SD3_DATA1__SD3_DATA1 0x59 203 MX7D_PAD_SD3_DATA2__SD3_DATA2 0x59 204 MX7D_PAD_SD3_DATA3__SD3_DATA3 0x59 205 MX7D_PAD_SD3_DATA4__SD3_DATA4 0x59 206 MX7D_PAD_SD3_DATA5__SD3_DATA5 0x59 207 MX7D_PAD_SD3_DATA6__SD3_DATA6 0x59 208 MX7D_PAD_SD3_DATA7__SD3_DATA7 0x59 209 MX7D_PAD_SD3_STROBE__SD3_STROBE 0x19 210 >; 211 }; 212 213 pinctrl_usdhc3_100mhz: usdhc3grp_100mhz { 214 fsl,pins = < 215 MX7D_PAD_SD3_CMD__SD3_CMD 0x5a 216 MX7D_PAD_SD3_CLK__SD3_CLK 0x51 217 MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5a 218 MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5a 219 MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5a 220 MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5a 221 MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5a 222 MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5a 223 MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5a 224 MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5a 225 MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1a 226 >; 227 }; 228 229 pinctrl_usdhc3_200mhz: usdhc3grp_200mhz { 230 fsl,pins = < 231 MX7D_PAD_SD3_CMD__SD3_CMD 0x5b 232 MX7D_PAD_SD3_CLK__SD3_CLK 0x51 233 MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5b 234 MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5b 235 MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5b 236 MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5b 237 MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5b 238 MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5b 239 MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5b 240 MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5b 241 MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1b 242 >; 243 }; 244}; 245 246&iomuxc_lpsr { 247 pinctrl_wdog1: wdog1grp { 248 fsl,pins = < 249 MX7D_PAD_LPSR_GPIO1_IO00__WDOG1_WDOG_B 0x30 250 >; 251 }; 252}; 253 254&qspi { 255 pinctrl-names = "default"; 256 pinctrl-0 = <&pinctrl_qspi &pinctrl_qspi_reset>; 257 status = "okay"; 258 259 flash0: flash@0 { 260 compatible = "jedec,spi-nor"; 261 reg = <0>; 262 spi-max-frequency = <29000000>; 263 spi-rx-bus-width = <4>; 264 spi-tx-bus-width = <4>; 265 }; 266}; 267 268&sdma { 269 status = "okay"; 270}; 271 272&usdhc3 { 273 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 274 pinctrl-0 = <&pinctrl_usdhc3>; 275 pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 276 pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 277 assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>; 278 assigned-clock-rates = <400000000>; 279 bus-width = <8>; 280 non-removable; 281 vmmc-supply = <&vgen4_reg>; 282 vqmmc-supply = <&sw2_reg>; 283 status = "okay"; 284}; 285 286&wdog1 { 287 pinctrl-names = "default"; 288 pinctrl-0 = <&pinctrl_wdog1>; 289 /* 290 * Errata e10574: 291 * WDOG reset needs to run with WDOG_RESET_B signal enabled. 292 * X1-51 (WDOG1#) signal needs carrier board handling to reset 293 * TQMa7 on X1-22 (RESET_IN#). 294 */ 295 fsl,ext-reset-output; 296 status = "okay"; 297}; 298