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