1 // SPDX-License-Identifier: (GPL-2.0-or-later 1 // SPDX-License-Identifier: (GPL-2.0-or-later OR X11) 2 /* 2 /* 3 * Copyright 2018-2023 TQ-Systems GmbH <linux@e 3 * Copyright 2018-2023 TQ-Systems GmbH <linux@ew.tq-group.com>, 4 * D-82229 Seefeld, Germany. 4 * D-82229 Seefeld, Germany. 5 * Author: Alexander Stein 5 * Author: Alexander Stein 6 */ 6 */ 7 7 8 / { 8 / { 9 memory@80000000 { 9 memory@80000000 { 10 device_type = "memory"; 10 device_type = "memory"; 11 reg = <0x00000000 0x80000000 0 11 reg = <0x00000000 0x80000000 0 0x40000000>; 12 }; 12 }; 13 13 14 reg_1v8: regulator-1v8 { 14 reg_1v8: regulator-1v8 { 15 compatible = "regulator-fixed" 15 compatible = "regulator-fixed"; 16 regulator-name = "V_1V8"; 16 regulator-name = "V_1V8"; 17 regulator-min-microvolt = <180 17 regulator-min-microvolt = <1800000>; 18 regulator-max-microvolt = <180 18 regulator-max-microvolt = <1800000>; 19 }; 19 }; 20 20 21 reg_3v3: regulator-3v3 { 21 reg_3v3: regulator-3v3 { 22 compatible = "regulator-fixed" 22 compatible = "regulator-fixed"; 23 regulator-name = "V_3V3"; 23 regulator-name = "V_3V3"; 24 regulator-min-microvolt = <330 24 regulator-min-microvolt = <3300000>; 25 regulator-max-microvolt = <330 25 regulator-max-microvolt = <3300000>; 26 }; 26 }; 27 27 28 reserved-memory { 28 reserved-memory { 29 #address-cells = <2>; 29 #address-cells = <2>; 30 #size-cells = <2>; 30 #size-cells = <2>; 31 ranges; 31 ranges; 32 32 33 /* 33 /* 34 * global autoconfigured regio 34 * global autoconfigured region for contiguous allocations 35 * must not exceed memory size 35 * must not exceed memory size and region 36 */ 36 */ 37 linux,cma { 37 linux,cma { 38 compatible = "shared-d 38 compatible = "shared-dma-pool"; 39 reusable; 39 reusable; 40 size = <0 0x20000000>; 40 size = <0 0x20000000>; 41 alloc-ranges = <0 0x96 41 alloc-ranges = <0 0x96000000 0 0x30000000>; 42 linux,cma-default; 42 linux,cma-default; 43 }; 43 }; 44 }; 44 }; 45 }; 45 }; 46 46 47 /* TQMa8Xx only uses industrial grade, reduce 47 /* TQMa8Xx only uses industrial grade, reduce trip points accordingly */ 48 &cpu_alert0 { 48 &cpu_alert0 { 49 temperature = <95000>; 49 temperature = <95000>; 50 }; 50 }; 51 51 52 &cpu_crit0 { 52 &cpu_crit0 { 53 temperature = <100000>; 53 temperature = <100000>; 54 }; 54 }; 55 /* end of temperature grade adjustments */ 55 /* end of temperature grade adjustments */ 56 56 57 &flexspi0 { 57 &flexspi0 { 58 pinctrl-names = "default"; 58 pinctrl-names = "default"; 59 pinctrl-0 = <&pinctrl_flexspi0>; 59 pinctrl-0 = <&pinctrl_flexspi0>; 60 status = "okay"; 60 status = "okay"; 61 61 62 flash0: flash@0 { 62 flash0: flash@0 { 63 reg = <0>; 63 reg = <0>; >> 64 #address-cells = <1>; >> 65 #size-cells = <1>; 64 compatible = "jedec,spi-nor"; 66 compatible = "jedec,spi-nor"; 65 spi-max-frequency = <66000000> 67 spi-max-frequency = <66000000>; 66 spi-tx-bus-width = <1>; 68 spi-tx-bus-width = <1>; 67 spi-rx-bus-width = <4>; 69 spi-rx-bus-width = <4>; 68 << 69 partitions { << 70 compatible = "fixed-pa << 71 #address-cells = <1>; << 72 #size-cells = <1>; << 73 }; << 74 }; 70 }; 75 }; 71 }; 76 72 77 /* TODO GPU */ 73 /* TODO GPU */ 78 74 79 &i2c1 { 75 &i2c1 { 80 #address-cells = <1>; 76 #address-cells = <1>; 81 #size-cells = <0>; 77 #size-cells = <0>; 82 clock-frequency = <100000>; 78 clock-frequency = <100000>; 83 pinctrl-names = "default", "gpio"; 79 pinctrl-names = "default", "gpio"; 84 pinctrl-0 = <&pinctrl_lpi2c1>; 80 pinctrl-0 = <&pinctrl_lpi2c1>; 85 pinctrl-1 = <&pinctrl_lpi2c1gpio>; 81 pinctrl-1 = <&pinctrl_lpi2c1gpio>; 86 scl-gpios = <&lsio_gpio1 27 (GPIO_ACTI 82 scl-gpios = <&lsio_gpio1 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 87 sda-gpios = <&lsio_gpio1 28 (GPIO_ACTI 83 sda-gpios = <&lsio_gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 88 status = "okay"; 84 status = "okay"; 89 85 90 se97: temperature-sensor@1b { 86 se97: temperature-sensor@1b { 91 compatible = "nxp,se97b", "jed 87 compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 92 reg = <0x1b>; 88 reg = <0x1b>; 93 }; 89 }; 94 90 95 pcf85063: rtc@51 { 91 pcf85063: rtc@51 { 96 compatible = "nxp,pcf85063a"; 92 compatible = "nxp,pcf85063a"; 97 reg = <0x51>; 93 reg = <0x51>; 98 quartz-load-femtofarads = <700 94 quartz-load-femtofarads = <7000>; 99 }; 95 }; 100 96 101 at24c02: eeprom@53 { 97 at24c02: eeprom@53 { 102 compatible = "nxp,se97b", "atm 98 compatible = "nxp,se97b", "atmel,24c02"; 103 reg = <0x53>; 99 reg = <0x53>; 104 pagesize = <16>; 100 pagesize = <16>; 105 read-only; 101 read-only; 106 vcc-supply = <®_3v3>; 102 vcc-supply = <®_3v3>; 107 }; 103 }; 108 104 109 m24c64: eeprom@57 { 105 m24c64: eeprom@57 { 110 compatible = "atmel,24c64"; 106 compatible = "atmel,24c64"; 111 reg = <0x57>; 107 reg = <0x57>; 112 pagesize = <32>; 108 pagesize = <32>; 113 vcc-supply = <®_3v3>; 109 vcc-supply = <®_3v3>; 114 }; 110 }; 115 }; 111 }; 116 112 117 &mu_m0 { 113 &mu_m0 { 118 status = "okay"; 114 status = "okay"; 119 }; 115 }; 120 116 121 &mu1_m0 { 117 &mu1_m0 { 122 status = "okay"; 118 status = "okay"; 123 }; 119 }; 124 120 125 &thermal_zones { 121 &thermal_zones { 126 pmic_thermal: pmic-thermal { 122 pmic_thermal: pmic-thermal { 127 polling-delay-passive = <250>; 123 polling-delay-passive = <250>; 128 polling-delay = <2000>; 124 polling-delay = <2000>; 129 thermal-sensors = <&tsens IMX_ 125 thermal-sensors = <&tsens IMX_SC_R_PMIC_0>; 130 126 131 trips { 127 trips { 132 pmic_alert0: trip0 { 128 pmic_alert0: trip0 { 133 temperature = 129 temperature = <110000>; 134 hysteresis = < 130 hysteresis = <2000>; 135 type = "passiv 131 type = "passive"; 136 }; 132 }; 137 133 138 pmic_crit0: trip1 { 134 pmic_crit0: trip1 { 139 temperature = 135 temperature = <125000>; 140 hysteresis = < 136 hysteresis = <2000>; 141 type = "critic 137 type = "critical"; 142 }; 138 }; 143 }; 139 }; 144 140 145 cooling-maps { 141 cooling-maps { 146 map0 { 142 map0 { 147 trip = <&pmic_ 143 trip = <&pmic_alert0>; 148 cooling-device 144 cooling-device = 149 <&A35_ 145 <&A35_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 150 <&A35_ 146 <&A35_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 151 <&A35_ 147 <&A35_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 152 <&A35_ 148 <&A35_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 153 }; 149 }; 154 }; 150 }; 155 }; 151 }; 156 }; 152 }; 157 153 158 &usdhc1 { 154 &usdhc1 { 159 pinctrl-names = "default", "state_100m 155 pinctrl-names = "default", "state_100mhz", "state_200mhz"; 160 pinctrl-0 = <&pinctrl_usdhc1>; 156 pinctrl-0 = <&pinctrl_usdhc1>; 161 pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 157 pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 162 pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 158 pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 163 vqmmc-supply = <®_1v8>; 159 vqmmc-supply = <®_1v8>; 164 vmmc-supply = <®_3v3>; 160 vmmc-supply = <®_3v3>; 165 bus-width = <8>; 161 bus-width = <8>; 166 non-removable; 162 non-removable; 167 no-sdio; 163 no-sdio; 168 no-sd; 164 no-sd; 169 status = "okay"; 165 status = "okay"; 170 }; 166 }; 171 167 172 &vpu { 168 &vpu { 173 compatible = "nxp,imx8qxp-vpu"; 169 compatible = "nxp,imx8qxp-vpu"; 174 status = "okay"; 170 status = "okay"; 175 }; 171 }; 176 172 177 &vpu_core0 { 173 &vpu_core0 { 178 memory-region = <&decoder_boot>, <&dec 174 memory-region = <&decoder_boot>, <&decoder_rpc>; 179 status = "okay"; 175 status = "okay"; 180 }; 176 }; 181 177 182 &vpu_core1 { 178 &vpu_core1 { 183 memory-region = <&encoder_boot>, <&enc 179 memory-region = <&encoder_boot>, <&encoder_rpc>; 184 status = "okay"; 180 status = "okay"; 185 }; 181 }; 186 182 187 &iomuxc { 183 &iomuxc { 188 pinctrl_flexspi0: flexspi0grp { 184 pinctrl_flexspi0: flexspi0grp { 189 fsl,pins = < 185 fsl,pins = < 190 IMX8QXP_QSPI0A_DATA0_L 186 IMX8QXP_QSPI0A_DATA0_LSIO_QSPI0A_DATA0 0x0600004d 191 IMX8QXP_QSPI0A_DATA1_L 187 IMX8QXP_QSPI0A_DATA1_LSIO_QSPI0A_DATA1 0x0600004d 192 IMX8QXP_QSPI0A_DATA2_L 188 IMX8QXP_QSPI0A_DATA2_LSIO_QSPI0A_DATA2 0x0600004d 193 IMX8QXP_QSPI0A_DATA3_L 189 IMX8QXP_QSPI0A_DATA3_LSIO_QSPI0A_DATA3 0x0600004d 194 IMX8QXP_QSPI0A_DQS_LSI 190 IMX8QXP_QSPI0A_DQS_LSIO_QSPI0A_DQS 0x0600004d 195 IMX8QXP_QSPI0A_SS0_B_L 191 IMX8QXP_QSPI0A_SS0_B_LSIO_QSPI0A_SS0_B 0x0600004d 196 IMX8QXP_QSPI0A_SCLK_LS 192 IMX8QXP_QSPI0A_SCLK_LSIO_QSPI0A_SCLK 0x0600004d 197 IMX8QXP_QSPI0B_SCLK_LS 193 IMX8QXP_QSPI0B_SCLK_LSIO_QSPI0B_SCLK 0x0600004d 198 IMX8QXP_QSPI0B_DATA0_L 194 IMX8QXP_QSPI0B_DATA0_LSIO_QSPI0B_DATA0 0x0600004d 199 IMX8QXP_QSPI0B_DATA1_L 195 IMX8QXP_QSPI0B_DATA1_LSIO_QSPI0B_DATA1 0x0600004d 200 IMX8QXP_QSPI0B_DATA2_L 196 IMX8QXP_QSPI0B_DATA2_LSIO_QSPI0B_DATA2 0x0600004d 201 IMX8QXP_QSPI0B_DATA3_L 197 IMX8QXP_QSPI0B_DATA3_LSIO_QSPI0B_DATA3 0x0600004d 202 IMX8QXP_QSPI0B_DQS_LSI 198 IMX8QXP_QSPI0B_DQS_LSIO_QSPI0B_DQS 0x0600004d 203 IMX8QXP_QSPI0B_SS0_B_L 199 IMX8QXP_QSPI0B_SS0_B_LSIO_QSPI0B_SS0_B 0x0600004d 204 IMX8QXP_QSPI0B_SS1_B_L 200 IMX8QXP_QSPI0B_SS1_B_LSIO_QSPI0B_SS1_B 0x0600004d 205 >; 201 >; 206 }; 202 }; 207 203 208 pinctrl_lpi2c1: lpi2c1grp { 204 pinctrl_lpi2c1: lpi2c1grp { 209 fsl,pins = < 205 fsl,pins = < 210 IMX8QXP_MIPI_DSI0_GPIO 206 IMX8QXP_MIPI_DSI0_GPIO0_00_ADMA_I2C1_SCL 0x06000021 211 IMX8QXP_MIPI_DSI0_GPIO 207 IMX8QXP_MIPI_DSI0_GPIO0_01_ADMA_I2C1_SDA 0x06000021 212 >; 208 >; 213 }; 209 }; 214 210 215 pinctrl_lpi2c1gpio: lpi2c1gpiogrp { 211 pinctrl_lpi2c1gpio: lpi2c1gpiogrp { 216 fsl,pins = < 212 fsl,pins = < 217 IMX8QXP_MIPI_DSI0_GPIO 213 IMX8QXP_MIPI_DSI0_GPIO0_00_LSIO_GPIO1_IO27 0x06000021 218 IMX8QXP_MIPI_DSI0_GPIO 214 IMX8QXP_MIPI_DSI0_GPIO0_01_LSIO_GPIO1_IO28 0x06000021 219 >; 215 >; 220 }; 216 }; 221 217 222 pinctrl_usdhc1: usdhc1grp { 218 pinctrl_usdhc1: usdhc1grp { 223 fsl,pins = < 219 fsl,pins = < 224 IMX8QXP_EMMC0_CLK_CONN 220 IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK 0x06000041 225 IMX8QXP_EMMC0_CMD_CONN 221 IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD 0x00000021 226 IMX8QXP_EMMC0_DATA0_CO 222 IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0 0x00000021 227 IMX8QXP_EMMC0_DATA1_CO 223 IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1 0x00000021 228 IMX8QXP_EMMC0_DATA2_CO 224 IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2 0x00000021 229 IMX8QXP_EMMC0_DATA3_CO 225 IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3 0x00000021 230 IMX8QXP_EMMC0_DATA4_CO 226 IMX8QXP_EMMC0_DATA4_CONN_EMMC0_DATA4 0x00000021 231 IMX8QXP_EMMC0_DATA5_CO 227 IMX8QXP_EMMC0_DATA5_CONN_EMMC0_DATA5 0x00000021 232 IMX8QXP_EMMC0_DATA6_CO 228 IMX8QXP_EMMC0_DATA6_CONN_EMMC0_DATA6 0x00000021 233 IMX8QXP_EMMC0_DATA7_CO 229 IMX8QXP_EMMC0_DATA7_CONN_EMMC0_DATA7 0x00000021 234 IMX8QXP_EMMC0_STROBE_C 230 IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE 0x00000041 235 >; 231 >; 236 }; 232 }; 237 233 238 pinctrl_usdhc1_100mhz: usdhc1-100mhzgr 234 pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { 239 fsl,pins = < 235 fsl,pins = < 240 IMX8QXP_EMMC0_CLK_CONN 236 IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK 0x06000040 241 IMX8QXP_EMMC0_CMD_CONN 237 IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD 0x00000020 242 IMX8QXP_EMMC0_DATA0_CO 238 IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0 0x00000020 243 IMX8QXP_EMMC0_DATA1_CO 239 IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1 0x00000020 244 IMX8QXP_EMMC0_DATA2_CO 240 IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2 0x00000020 245 IMX8QXP_EMMC0_DATA3_CO 241 IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3 0x00000020 246 IMX8QXP_EMMC0_DATA4_CO 242 IMX8QXP_EMMC0_DATA4_CONN_EMMC0_DATA4 0x00000020 247 IMX8QXP_EMMC0_DATA5_CO 243 IMX8QXP_EMMC0_DATA5_CONN_EMMC0_DATA5 0x00000020 248 IMX8QXP_EMMC0_DATA6_CO 244 IMX8QXP_EMMC0_DATA6_CONN_EMMC0_DATA6 0x00000020 249 IMX8QXP_EMMC0_DATA7_CO 245 IMX8QXP_EMMC0_DATA7_CONN_EMMC0_DATA7 0x00000020 250 IMX8QXP_EMMC0_STROBE_C 246 IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE 0x00000040 251 >; 247 >; 252 }; 248 }; 253 249 254 pinctrl_usdhc1_200mhz: usdhc1-200mhzgr 250 pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { 255 fsl,pins = < 251 fsl,pins = < 256 IMX8QXP_EMMC0_CLK_CONN 252 IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK 0x06000040 257 IMX8QXP_EMMC0_CMD_CONN 253 IMX8QXP_EMMC0_CMD_CONN_EMMC0_CMD 0x00000020 258 IMX8QXP_EMMC0_DATA0_CO 254 IMX8QXP_EMMC0_DATA0_CONN_EMMC0_DATA0 0x00000020 259 IMX8QXP_EMMC0_DATA1_CO 255 IMX8QXP_EMMC0_DATA1_CONN_EMMC0_DATA1 0x00000020 260 IMX8QXP_EMMC0_DATA2_CO 256 IMX8QXP_EMMC0_DATA2_CONN_EMMC0_DATA2 0x00000020 261 IMX8QXP_EMMC0_DATA3_CO 257 IMX8QXP_EMMC0_DATA3_CONN_EMMC0_DATA3 0x00000020 262 IMX8QXP_EMMC0_DATA4_CO 258 IMX8QXP_EMMC0_DATA4_CONN_EMMC0_DATA4 0x00000020 263 IMX8QXP_EMMC0_DATA5_CO 259 IMX8QXP_EMMC0_DATA5_CONN_EMMC0_DATA5 0x00000020 264 IMX8QXP_EMMC0_DATA6_CO 260 IMX8QXP_EMMC0_DATA6_CONN_EMMC0_DATA6 0x00000020 265 IMX8QXP_EMMC0_DATA7_CO 261 IMX8QXP_EMMC0_DATA7_CONN_EMMC0_DATA7 0x00000020 266 IMX8QXP_EMMC0_STROBE_C 262 IMX8QXP_EMMC0_STROBE_CONN_EMMC0_STROBE 0x00000040 267 >; 263 >; 268 }; 264 }; 269 }; 265 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.