Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'tegra-for-5.3-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt

arm64: tegra: Device tree changes for v5.3-rc1

This contains the bulk of the Tegra changes this cycle. It has a bunch
of improvements across almost all boards. These are mostly small and not
too exciting additions.

Most notably perhaps is the continuation of Jetson Nano support, which
is now mostly on feature parity with Jetson TX1.

* tag 'tegra-for-5.3-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: (28 commits)
arm64: tegra: Enable PCIe slots in P2972-0000 board
arm64: tegra: Add P2U and PCIe controller nodes to Tegra194 DT
arm64: tegra: Add PEX DPD states as pinctrl properties
arm64: tegra: Enable ACONNECT, ADMA and AGIC
arm64: tegra: Add ACONNECT, ADMA and AGIC nodes
arm64: tegra: Sort device tree nodes alphabetically
arm64: tegra: Fix Jetson Nano GPU regulator
arm64: tegra: Update Jetson TX1 GPU regulator timings
arm64: tegra: Fix AGIC register range
arm64: tegra: Add INA3221 channel info for Jetson TX2
arm64: tegra: Enable PWM on Jetson Nano
arm64: tegra: Enable CPU sleep on Jetson Nano
arm64: tegra: Add ID EEPROMs on Jetson Nano
arm64: tegra: Add ID EEPROM for Jetson TX2 Developer Kit
arm64: tegra: Add ID EEPROM for Jetson TX2 module
arm64: tegra: Add ID EEPROM for Jetson TX1 Developer Kit
arm64: tegra: Add ID EEPROM for Jetson TX1 module
arm64: tegra: Don't use architected timer for suspend on Tegra210
arm64: tegra: Mark architected timer as always on
arm64: tegra: Add pin control states for I2C on Tegra186
...

Signed-off-by: Olof Johansson <olof@lixom.net>

+958 -100
+72 -3
arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
··· 7 7 #include "tegra186-p3310.dtsi" 8 8 9 9 / { 10 - model = "NVIDIA Tegra186 P2771-0000 Development Board"; 10 + model = "NVIDIA Jetson TX2 Developer Kit"; 11 11 compatible = "nvidia,p2771-0000", "nvidia,tegra186"; 12 + 13 + aconnect { 14 + status = "okay"; 15 + 16 + dma-controller@2930000 { 17 + status = "okay"; 18 + }; 19 + 20 + interrupt-controller@2a40000 { 21 + status = "okay"; 22 + }; 23 + }; 12 24 13 25 i2c@3160000 { 14 26 power-monitor@42 { 15 27 compatible = "ti,ina3221"; 16 28 reg = <0x42>; 29 + #address-cells = <1>; 30 + #size-cells = <0>; 31 + 32 + channel@0 { 33 + reg = <0x0>; 34 + label = "VDD_MUX"; 35 + shunt-resistor-micro-ohms = <20000>; 36 + }; 37 + 38 + channel@1 { 39 + reg = <0x1>; 40 + label = "VDD_5V0_IO_SYS"; 41 + shunt-resistor-micro-ohms = <5000>; 42 + }; 43 + 44 + channel@2 { 45 + reg = <0x2>; 46 + label = "VDD_3V3_SYS"; 47 + shunt-resistor-micro-ohms = <10000>; 48 + }; 17 49 }; 18 50 19 51 power-monitor@43 { 20 52 compatible = "ti,ina3221"; 21 53 reg = <0x43>; 54 + #address-cells = <1>; 55 + #size-cells = <0>; 56 + 57 + channel@0 { 58 + reg = <0x0>; 59 + label = "VDD_3V3_IO_SLP"; 60 + shunt-resistor-micro-ohms = <10000>; 61 + }; 62 + 63 + channel@1 { 64 + reg = <0x1>; 65 + label = "VDD_1V8_IO"; 66 + shunt-resistor-micro-ohms = <10000>; 67 + }; 68 + 69 + channel@2 { 70 + reg = <0x2>; 71 + label = "VDD_M2_IN"; 72 + shunt-resistor-micro-ohms = <10000>; 73 + }; 22 74 }; 23 75 24 76 exp1: gpio@74 { ··· 83 31 84 32 #gpio-cells = <2>; 85 33 gpio-controller; 34 + 35 + vcc-supply = <&vdd_3v3_sys>; 86 36 }; 87 37 88 38 exp2: gpio@77 { ··· 97 43 98 44 #gpio-cells = <2>; 99 45 gpio-controller; 46 + 47 + vcc-supply = <&vdd_1v8>; 100 48 }; 101 49 }; 102 50 ··· 199 143 <&{/padctl@3520000/pads/usb2/lanes/usb2-1}>, 200 144 <&{/padctl@3520000/pads/usb3/lanes/usb3-0}>; 201 145 phy-names = "usb2-0", "usb2-1", "usb3-0"; 146 + }; 147 + 148 + i2c@c250000 { 149 + /* carrier board ID EEPROM */ 150 + eeprom@57 { 151 + compatible = "atmel,24c02"; 152 + reg = <0x57>; 153 + 154 + address-bits = <8>; 155 + page-size = <8>; 156 + size = <256>; 157 + read-only; 158 + }; 202 159 }; 203 160 204 161 pcie@10003000 { ··· 347 278 regulator-min-microvolt = <5000000>; 348 279 regulator-max-microvolt = <5000000>; 349 280 350 - gpio = <&gpio TEGRA_MAIN_GPIO(L, 4) GPIO_ACTIVE_HIGH>; 281 + gpio = <&gpio TEGRA186_MAIN_GPIO(L, 4) GPIO_ACTIVE_HIGH>; 351 282 enable-active-high; 352 283 353 284 vin-supply = <&vdd_5v0_sys>; ··· 361 292 regulator-min-microvolt = <5000000>; 362 293 regulator-max-microvolt = <5000000>; 363 294 364 - gpio = <&gpio TEGRA_MAIN_GPIO(L, 5) GPIO_ACTIVE_HIGH>; 295 + gpio = <&gpio TEGRA186_MAIN_GPIO(L, 5) GPIO_ACTIVE_HIGH>; 365 296 enable-active-high; 366 297 367 298 vin-supply = <&vdd_5v0_sys>;
+52 -1
arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
··· 4 4 #include <dt-bindings/mfd/max77620.h> 5 5 6 6 / { 7 - model = "NVIDIA Tegra186 P3310 Processor Module"; 7 + model = "NVIDIA Jetson TX2"; 8 8 compatible = "nvidia,p3310", "nvidia,tegra186"; 9 9 10 10 aliases { ··· 67 67 power-monitor@40 { 68 68 compatible = "ti,ina3221"; 69 69 reg = <0x40>; 70 + #address-cells = <1>; 71 + #size-cells = <0>; 72 + 73 + channel@0 { 74 + reg = <0x0>; 75 + label = "VDD_SYS_GPU"; 76 + shunt-resistor-micro-ohms = <10000>; 77 + }; 78 + 79 + channel@1 { 80 + reg = <0x1>; 81 + label = "VDD_SYS_SOC"; 82 + shunt-resistor-micro-ohms = <10000>; 83 + }; 84 + 85 + channel@2 { 86 + reg = <0x2>; 87 + label = "VDD_3V8_WIFI"; 88 + shunt-resistor-micro-ohms = <10000>; 89 + }; 70 90 }; 71 91 72 92 power-monitor@41 { 73 93 compatible = "ti,ina3221"; 74 94 reg = <0x41>; 95 + #address-cells = <1>; 96 + #size-cells = <0>; 97 + 98 + channel@0 { 99 + reg = <0x0>; 100 + label = "VDD_IN"; 101 + shunt-resistor-micro-ohms = <5000>; 102 + }; 103 + 104 + channel@1 { 105 + reg = <0x1>; 106 + label = "VDD_SYS_CPU"; 107 + shunt-resistor-micro-ohms = <10000>; 108 + }; 109 + 110 + channel@2 { 111 + reg = <0x2>; 112 + label = "VDD_5V0_DDR"; 113 + shunt-resistor-micro-ohms = <10000>; 114 + }; 75 115 }; 76 116 }; 77 117 ··· 164 124 165 125 i2c@c250000 { 166 126 status = "okay"; 127 + 128 + /* module ID EEPROM */ 129 + eeprom@50 { 130 + compatible = "atmel,24c02"; 131 + reg = <0x50>; 132 + 133 + address-bits = <8>; 134 + page-size = <8>; 135 + size = <256>; 136 + read-only; 137 + }; 167 138 }; 168 139 169 140 rtc@c2a0000 {
+177 -41
arch/arm64/boot/dts/nvidia/tegra186.dtsi
··· 70 70 snps,rxpbl = <8>; 71 71 }; 72 72 73 + aconnect { 74 + compatible = "nvidia,tegra186-aconnect", 75 + "nvidia,tegra210-aconnect"; 76 + clocks = <&bpmp TEGRA186_CLK_APE>, 77 + <&bpmp TEGRA186_CLK_APB2APE>; 78 + clock-names = "ape", "apb2ape"; 79 + power-domains = <&bpmp TEGRA186_POWER_DOMAIN_AUD>; 80 + #address-cells = <1>; 81 + #size-cells = <1>; 82 + ranges = <0x02900000 0x0 0x02900000 0x200000>; 83 + status = "disabled"; 84 + 85 + dma-controller@2930000 { 86 + compatible = "nvidia,tegra186-adma"; 87 + reg = <0x02930000 0x20000>; 88 + interrupt-parent = <&agic>; 89 + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 90 + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 91 + <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 92 + <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 93 + <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 94 + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 95 + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 96 + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 97 + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 98 + <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 99 + <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 100 + <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 101 + <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 102 + <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 103 + <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 104 + <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, 105 + <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 106 + <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 107 + <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 108 + <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 109 + <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>, 110 + <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, 111 + <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 112 + <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>, 113 + <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 114 + <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 115 + <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, 116 + <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, 117 + <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, 118 + <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, 119 + <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, 120 + <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 121 + #dma-cells = <1>; 122 + clocks = <&bpmp TEGRA186_CLK_AHUB>; 123 + clock-names = "d_audio"; 124 + status = "disabled"; 125 + }; 126 + 127 + agic: interrupt-controller@2a40000 { 128 + compatible = "nvidia,tegra186-agic", 129 + "nvidia,tegra210-agic"; 130 + #interrupt-cells = <3>; 131 + interrupt-controller; 132 + reg = <0x02a41000 0x1000>, 133 + <0x02a42000 0x2000>; 134 + interrupts = <GIC_SPI 145 135 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 136 + clocks = <&bpmp TEGRA186_CLK_APE>; 137 + clock-names = "clk"; 138 + status = "disabled"; 139 + }; 140 + }; 141 + 73 142 memory-controller@2c00000 { 74 143 compatible = "nvidia,tegra186-mc"; 75 144 reg = <0x0 0x02c00000 0x0 0xb0000>; ··· 242 173 clock-names = "div-clk"; 243 174 resets = <&bpmp TEGRA186_RESET_I2C4>; 244 175 reset-names = "i2c"; 176 + pinctrl-names = "default", "idle"; 177 + pinctrl-0 = <&state_dpaux1_i2c>; 178 + pinctrl-1 = <&state_dpaux1_off>; 245 179 status = "disabled"; 246 180 }; 247 181 ··· 273 201 clock-names = "div-clk"; 274 202 resets = <&bpmp TEGRA186_RESET_I2C6>; 275 203 reset-names = "i2c"; 204 + pinctrl-names = "default", "idle"; 205 + pinctrl-0 = <&state_dpaux_i2c>; 206 + pinctrl-1 = <&state_dpaux_off>; 276 207 status = "disabled"; 277 208 }; 278 209 ··· 1196 1121 }; 1197 1122 }; 1198 1123 1199 - cpus { 1200 - #address-cells = <1>; 1201 - #size-cells = <0>; 1202 - 1203 - cpu@0 { 1204 - compatible = "nvidia,tegra186-denver"; 1205 - device_type = "cpu"; 1206 - reg = <0x000>; 1207 - }; 1208 - 1209 - cpu@1 { 1210 - compatible = "nvidia,tegra186-denver"; 1211 - device_type = "cpu"; 1212 - reg = <0x001>; 1213 - }; 1214 - 1215 - cpu@2 { 1216 - compatible = "arm,cortex-a57"; 1217 - device_type = "cpu"; 1218 - reg = <0x100>; 1219 - }; 1220 - 1221 - cpu@3 { 1222 - compatible = "arm,cortex-a57"; 1223 - device_type = "cpu"; 1224 - reg = <0x101>; 1225 - }; 1226 - 1227 - cpu@4 { 1228 - compatible = "arm,cortex-a57"; 1229 - device_type = "cpu"; 1230 - reg = <0x102>; 1231 - }; 1232 - 1233 - cpu@5 { 1234 - compatible = "arm,cortex-a57"; 1235 - device_type = "cpu"; 1236 - reg = <0x103>; 1237 - }; 1238 - }; 1239 - 1240 1124 bpmp: bpmp { 1241 1125 compatible = "nvidia,tegra186-bpmp"; 1242 1126 iommus = <&smmu TEGRA186_SID_BPMP>; ··· 1217 1183 bpmp_thermal: thermal { 1218 1184 compatible = "nvidia,tegra186-bpmp-thermal"; 1219 1185 #thermal-sensor-cells = <1>; 1186 + }; 1187 + }; 1188 + 1189 + cpus { 1190 + #address-cells = <1>; 1191 + #size-cells = <0>; 1192 + 1193 + cpu@0 { 1194 + compatible = "nvidia,tegra186-denver"; 1195 + device_type = "cpu"; 1196 + i-cache-size = <0x20000>; 1197 + i-cache-line-size = <64>; 1198 + i-cache-sets = <512>; 1199 + d-cache-size = <0x10000>; 1200 + d-cache-line-size = <64>; 1201 + d-cache-sets = <256>; 1202 + next-level-cache = <&L2_DENVER>; 1203 + reg = <0x000>; 1204 + }; 1205 + 1206 + cpu@1 { 1207 + compatible = "nvidia,tegra186-denver"; 1208 + device_type = "cpu"; 1209 + i-cache-size = <0x20000>; 1210 + i-cache-line-size = <64>; 1211 + i-cache-sets = <512>; 1212 + d-cache-size = <0x10000>; 1213 + d-cache-line-size = <64>; 1214 + d-cache-sets = <256>; 1215 + next-level-cache = <&L2_DENVER>; 1216 + reg = <0x001>; 1217 + }; 1218 + 1219 + cpu@2 { 1220 + compatible = "arm,cortex-a57"; 1221 + device_type = "cpu"; 1222 + i-cache-size = <0xC000>; 1223 + i-cache-line-size = <64>; 1224 + i-cache-sets = <256>; 1225 + d-cache-size = <0x8000>; 1226 + d-cache-line-size = <64>; 1227 + d-cache-sets = <256>; 1228 + next-level-cache = <&L2_A57>; 1229 + reg = <0x100>; 1230 + }; 1231 + 1232 + cpu@3 { 1233 + compatible = "arm,cortex-a57"; 1234 + device_type = "cpu"; 1235 + i-cache-size = <0xC000>; 1236 + i-cache-line-size = <64>; 1237 + i-cache-sets = <256>; 1238 + d-cache-size = <0x8000>; 1239 + d-cache-line-size = <64>; 1240 + d-cache-sets = <256>; 1241 + next-level-cache = <&L2_A57>; 1242 + reg = <0x101>; 1243 + }; 1244 + 1245 + cpu@4 { 1246 + compatible = "arm,cortex-a57"; 1247 + device_type = "cpu"; 1248 + i-cache-size = <0xC000>; 1249 + i-cache-line-size = <64>; 1250 + i-cache-sets = <256>; 1251 + d-cache-size = <0x8000>; 1252 + d-cache-line-size = <64>; 1253 + d-cache-sets = <256>; 1254 + next-level-cache = <&L2_A57>; 1255 + reg = <0x102>; 1256 + }; 1257 + 1258 + cpu@5 { 1259 + compatible = "arm,cortex-a57"; 1260 + device_type = "cpu"; 1261 + i-cache-size = <0xC000>; 1262 + i-cache-line-size = <64>; 1263 + i-cache-sets = <256>; 1264 + d-cache-size = <0x8000>; 1265 + d-cache-line-size = <64>; 1266 + d-cache-sets = <256>; 1267 + next-level-cache = <&L2_A57>; 1268 + reg = <0x103>; 1269 + }; 1270 + 1271 + L2_DENVER: l2-cache0 { 1272 + compatible = "cache"; 1273 + cache-unified; 1274 + cache-level = <2>; 1275 + cache-size = <0x200000>; 1276 + cache-line-size = <64>; 1277 + cache-sets = <2048>; 1278 + }; 1279 + 1280 + L2_A57: l2-cache1 { 1281 + compatible = "cache"; 1282 + cache-unified; 1283 + cache-level = <2>; 1284 + cache-size = <0x200000>; 1285 + cache-line-size = <64>; 1286 + cache-sets = <2048>; 1220 1287 }; 1221 1288 }; 1222 1289 ··· 1429 1294 <GIC_PPI 10 1430 1295 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 1431 1296 interrupt-parent = <&gic>; 1297 + always-on; 1432 1298 }; 1433 1299 };
+2 -2
arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
··· 4 4 #include <dt-bindings/mfd/max77620.h> 5 5 6 6 / { 7 - model = "NVIDIA Tegra194 P2888 Processor Module"; 7 + model = "NVIDIA Jetson AGX Xavier"; 8 8 compatible = "nvidia,p2888", "nvidia,tegra194"; 9 9 10 10 aliases { ··· 191 191 regulator-boot-on; 192 192 }; 193 193 194 - sd3 { 194 + vdd_1v8ao: sd3 { 195 195 regulator-name = "VDD_1V8AO"; 196 196 regulator-min-microvolt = <1800000>; 197 197 regulator-max-microvolt = <1800000>;
+54 -1
arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts
··· 7 7 #include "tegra194-p2888.dtsi" 8 8 9 9 / { 10 - model = "NVIDIA Jetson AGX Xavier Development Kit"; 10 + model = "NVIDIA Jetson AGX Xavier Developer Kit"; 11 11 compatible = "nvidia,p2972-0000", "nvidia,tegra194"; 12 12 13 13 cbb { 14 + aconnect { 15 + status = "okay"; 16 + 17 + dma-controller@2930000 { 18 + status = "okay"; 19 + }; 20 + 21 + interrupt-controller@2a40000 { 22 + status = "okay"; 23 + }; 24 + }; 25 + 14 26 ddc: i2c@31c0000 { 15 27 status = "okay"; 16 28 }; ··· 62 50 GPIO_ACTIVE_LOW>; 63 51 }; 64 52 }; 53 + }; 54 + 55 + pcie@14100000 { 56 + status = "okay"; 57 + 58 + vddio-pex-ctl-supply = <&vdd_1v8ao>; 59 + 60 + phys = <&p2u_hsio_0>; 61 + phy-names = "p2u-0"; 62 + }; 63 + 64 + pcie@14140000 { 65 + status = "okay"; 66 + 67 + vddio-pex-ctl-supply = <&vdd_1v8ao>; 68 + 69 + phys = <&p2u_hsio_7>; 70 + phy-names = "p2u-0"; 71 + }; 72 + 73 + pcie@14180000 { 74 + status = "okay"; 75 + 76 + vddio-pex-ctl-supply = <&vdd_1v8ao>; 77 + 78 + phys = <&p2u_hsio_2>, <&p2u_hsio_3>, <&p2u_hsio_4>, 79 + <&p2u_hsio_5>; 80 + phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3"; 81 + }; 82 + 83 + pcie@141a0000 { 84 + status = "disabled"; 85 + 86 + vddio-pex-ctl-supply = <&vdd_1v8ao>; 87 + 88 + phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>, 89 + <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>, 90 + <&p2u_nvhs_6>, <&p2u_nvhs_7>; 91 + 92 + phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4", 93 + "p2u-5", "p2u-6", "p2u-7"; 65 94 }; 66 95 67 96 fan: fan {
+509
arch/arm64/boot/dts/nvidia/tegra194.dtsi
··· 59 59 snps,rxpbl = <8>; 60 60 }; 61 61 62 + aconnect { 63 + compatible = "nvidia,tegra194-aconnect", 64 + "nvidia,tegra210-aconnect"; 65 + clocks = <&bpmp TEGRA194_CLK_APE>, 66 + <&bpmp TEGRA194_CLK_APB2APE>; 67 + clock-names = "ape", "apb2ape"; 68 + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_AUD>; 69 + #address-cells = <1>; 70 + #size-cells = <1>; 71 + ranges = <0x02900000 0x02900000 0x200000>; 72 + status = "disabled"; 73 + 74 + dma-controller@2930000 { 75 + compatible = "nvidia,tegra194-adma", 76 + "nvidia,tegra186-adma"; 77 + reg = <0x02930000 0x20000>; 78 + interrupt-parent = <&agic>; 79 + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 80 + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 81 + <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 82 + <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 83 + <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 84 + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 85 + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 86 + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 87 + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 88 + <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 89 + <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 90 + <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 91 + <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 92 + <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 93 + <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 94 + <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, 95 + <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 96 + <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 97 + <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 98 + <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 99 + <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>, 100 + <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, 101 + <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 102 + <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>, 103 + <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 104 + <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 105 + <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, 106 + <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, 107 + <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, 108 + <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, 109 + <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, 110 + <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 111 + #dma-cells = <1>; 112 + clocks = <&bpmp TEGRA194_CLK_AHUB>; 113 + clock-names = "d_audio"; 114 + status = "disabled"; 115 + }; 116 + 117 + agic: interrupt-controller@2a40000 { 118 + compatible = "nvidia,tegra194-agic", 119 + "nvidia,tegra210-agic"; 120 + #interrupt-cells = <3>; 121 + interrupt-controller; 122 + reg = <0x02a41000 0x1000>, 123 + <0x02a42000 0x2000>; 124 + interrupts = <GIC_SPI 145 125 + (GIC_CPU_MASK_SIMPLE(4) | 126 + IRQ_TYPE_LEVEL_HIGH)>; 127 + clocks = <&bpmp TEGRA194_CLK_APE>; 128 + clock-names = "clk"; 129 + status = "disabled"; 130 + }; 131 + }; 132 + 62 133 uarta: serial@3100000 { 63 134 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart"; 64 135 reg = <0x03100000 0x40>; ··· 492 421 "shared3", "shared4", "shared5", "shared6", 493 422 "shared7"; 494 423 #mbox-cells = <2>; 424 + }; 425 + 426 + p2u_hsio_0: phy@3e10000 { 427 + compatible = "nvidia,tegra194-p2u"; 428 + reg = <0x03e10000 0x10000>; 429 + reg-names = "ctl"; 430 + 431 + #phy-cells = <0>; 432 + }; 433 + 434 + p2u_hsio_1: phy@3e20000 { 435 + compatible = "nvidia,tegra194-p2u"; 436 + reg = <0x03e20000 0x10000>; 437 + reg-names = "ctl"; 438 + 439 + #phy-cells = <0>; 440 + }; 441 + 442 + p2u_hsio_2: phy@3e30000 { 443 + compatible = "nvidia,tegra194-p2u"; 444 + reg = <0x03e30000 0x10000>; 445 + reg-names = "ctl"; 446 + 447 + #phy-cells = <0>; 448 + }; 449 + 450 + p2u_hsio_3: phy@3e40000 { 451 + compatible = "nvidia,tegra194-p2u"; 452 + reg = <0x03e40000 0x10000>; 453 + reg-names = "ctl"; 454 + 455 + #phy-cells = <0>; 456 + }; 457 + 458 + p2u_hsio_4: phy@3e50000 { 459 + compatible = "nvidia,tegra194-p2u"; 460 + reg = <0x03e50000 0x10000>; 461 + reg-names = "ctl"; 462 + 463 + #phy-cells = <0>; 464 + }; 465 + 466 + p2u_hsio_5: phy@3e60000 { 467 + compatible = "nvidia,tegra194-p2u"; 468 + reg = <0x03e60000 0x10000>; 469 + reg-names = "ctl"; 470 + 471 + #phy-cells = <0>; 472 + }; 473 + 474 + p2u_hsio_6: phy@3e70000 { 475 + compatible = "nvidia,tegra194-p2u"; 476 + reg = <0x03e70000 0x10000>; 477 + reg-names = "ctl"; 478 + 479 + #phy-cells = <0>; 480 + }; 481 + 482 + p2u_hsio_7: phy@3e80000 { 483 + compatible = "nvidia,tegra194-p2u"; 484 + reg = <0x03e80000 0x10000>; 485 + reg-names = "ctl"; 486 + 487 + #phy-cells = <0>; 488 + }; 489 + 490 + p2u_hsio_8: phy@3e90000 { 491 + compatible = "nvidia,tegra194-p2u"; 492 + reg = <0x03e90000 0x10000>; 493 + reg-names = "ctl"; 494 + 495 + #phy-cells = <0>; 496 + }; 497 + 498 + p2u_hsio_9: phy@3ea0000 { 499 + compatible = "nvidia,tegra194-p2u"; 500 + reg = <0x03ea0000 0x10000>; 501 + reg-names = "ctl"; 502 + 503 + #phy-cells = <0>; 504 + }; 505 + 506 + p2u_nvhs_0: phy@3eb0000 { 507 + compatible = "nvidia,tegra194-p2u"; 508 + reg = <0x03eb0000 0x10000>; 509 + reg-names = "ctl"; 510 + 511 + #phy-cells = <0>; 512 + }; 513 + 514 + p2u_nvhs_1: phy@3ec0000 { 515 + compatible = "nvidia,tegra194-p2u"; 516 + reg = <0x03ec0000 0x10000>; 517 + reg-names = "ctl"; 518 + 519 + #phy-cells = <0>; 520 + }; 521 + 522 + p2u_nvhs_2: phy@3ed0000 { 523 + compatible = "nvidia,tegra194-p2u"; 524 + reg = <0x03ed0000 0x10000>; 525 + reg-names = "ctl"; 526 + 527 + #phy-cells = <0>; 528 + }; 529 + 530 + p2u_nvhs_3: phy@3ee0000 { 531 + compatible = "nvidia,tegra194-p2u"; 532 + reg = <0x03ee0000 0x10000>; 533 + reg-names = "ctl"; 534 + 535 + #phy-cells = <0>; 536 + }; 537 + 538 + p2u_nvhs_4: phy@3ef0000 { 539 + compatible = "nvidia,tegra194-p2u"; 540 + reg = <0x03ef0000 0x10000>; 541 + reg-names = "ctl"; 542 + 543 + #phy-cells = <0>; 544 + }; 545 + 546 + p2u_nvhs_5: phy@3f00000 { 547 + compatible = "nvidia,tegra194-p2u"; 548 + reg = <0x03f00000 0x10000>; 549 + reg-names = "ctl"; 550 + 551 + #phy-cells = <0>; 552 + }; 553 + 554 + p2u_nvhs_6: phy@3f10000 { 555 + compatible = "nvidia,tegra194-p2u"; 556 + reg = <0x03f10000 0x10000>; 557 + reg-names = "ctl"; 558 + 559 + #phy-cells = <0>; 560 + }; 561 + 562 + p2u_nvhs_7: phy@3f20000 { 563 + compatible = "nvidia,tegra194-p2u"; 564 + reg = <0x03f20000 0x10000>; 565 + reg-names = "ctl"; 566 + 567 + #phy-cells = <0>; 568 + }; 569 + 570 + p2u_hsio_10: phy@3f30000 { 571 + compatible = "nvidia,tegra194-p2u"; 572 + reg = <0x03f30000 0x10000>; 573 + reg-names = "ctl"; 574 + 575 + #phy-cells = <0>; 576 + }; 577 + 578 + p2u_hsio_11: phy@3f40000 { 579 + compatible = "nvidia,tegra194-p2u"; 580 + reg = <0x03f40000 0x10000>; 581 + reg-names = "ctl"; 582 + 583 + #phy-cells = <0>; 495 584 }; 496 585 497 586 hsp_aon: hsp@c150000 { ··· 1117 886 }; 1118 887 }; 1119 888 889 + pcie@14100000 { 890 + compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 891 + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX1A>; 892 + reg = <0x00 0x14100000 0x0 0x00020000 /* appl registers (128K) */ 893 + 0x00 0x30000000 0x0 0x00040000 /* configuration space (256K) */ 894 + 0x00 0x30040000 0x0 0x00040000 /* iATU_DMA reg space (256K) */ 895 + 0x00 0x30080000 0x0 0x00040000>; /* DBI reg space (256K) */ 896 + reg-names = "appl", "config", "atu_dma", "dbi"; 897 + 898 + status = "disabled"; 899 + 900 + #address-cells = <3>; 901 + #size-cells = <2>; 902 + device_type = "pci"; 903 + num-lanes = <1>; 904 + num-viewport = <8>; 905 + linux,pci-domain = <1>; 906 + 907 + clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_1>; 908 + clock-names = "core"; 909 + 910 + resets = <&bpmp TEGRA194_RESET_PEX0_CORE_1_APB>, 911 + <&bpmp TEGRA194_RESET_PEX0_CORE_1>; 912 + reset-names = "apb", "core"; 913 + 914 + interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 915 + <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 916 + interrupt-names = "intr", "msi"; 917 + 918 + #interrupt-cells = <1>; 919 + interrupt-map-mask = <0 0 0 0>; 920 + interrupt-map = <0 0 0 0 &gic GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 921 + 922 + nvidia,bpmp = <&bpmp 1>; 923 + 924 + supports-clkreq; 925 + nvidia,aspm-cmrt-us = <60>; 926 + nvidia,aspm-pwr-on-t-us = <20>; 927 + nvidia,aspm-l0s-entrance-latency-us = <3>; 928 + 929 + bus-range = <0x0 0xff>; 930 + ranges = <0x81000000 0x0 0x30100000 0x0 0x30100000 0x0 0x00100000 /* downstream I/O (1MB) */ 931 + 0xc2000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */ 932 + 0x82000000 0x0 0x40000000 0x12 0x30000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */ 933 + }; 934 + 935 + pcie@14120000 { 936 + compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 937 + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX1A>; 938 + reg = <0x00 0x14120000 0x0 0x00020000 /* appl registers (128K) */ 939 + 0x00 0x32000000 0x0 0x00040000 /* configuration space (256K) */ 940 + 0x00 0x32040000 0x0 0x00040000 /* iATU_DMA reg space (256K) */ 941 + 0x00 0x32080000 0x0 0x00040000>; /* DBI reg space (256K) */ 942 + reg-names = "appl", "config", "atu_dma", "dbi"; 943 + 944 + status = "disabled"; 945 + 946 + #address-cells = <3>; 947 + #size-cells = <2>; 948 + device_type = "pci"; 949 + num-lanes = <1>; 950 + num-viewport = <8>; 951 + linux,pci-domain = <2>; 952 + 953 + clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_2>; 954 + clock-names = "core"; 955 + 956 + resets = <&bpmp TEGRA194_RESET_PEX0_CORE_2_APB>, 957 + <&bpmp TEGRA194_RESET_PEX0_CORE_2>; 958 + reset-names = "apb", "core"; 959 + 960 + interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 961 + <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 962 + interrupt-names = "intr", "msi"; 963 + 964 + #interrupt-cells = <1>; 965 + interrupt-map-mask = <0 0 0 0>; 966 + interrupt-map = <0 0 0 0 &gic GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 967 + 968 + nvidia,bpmp = <&bpmp 2>; 969 + 970 + supports-clkreq; 971 + nvidia,aspm-cmrt-us = <60>; 972 + nvidia,aspm-pwr-on-t-us = <20>; 973 + nvidia,aspm-l0s-entrance-latency-us = <3>; 974 + 975 + bus-range = <0x0 0xff>; 976 + ranges = <0x81000000 0x0 0x32100000 0x0 0x32100000 0x0 0x00100000 /* downstream I/O (1MB) */ 977 + 0xc2000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */ 978 + 0x82000000 0x0 0x40000000 0x12 0x70000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */ 979 + }; 980 + 981 + pcie@14140000 { 982 + compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 983 + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX1A>; 984 + reg = <0x00 0x14140000 0x0 0x00020000 /* appl registers (128K) */ 985 + 0x00 0x34000000 0x0 0x00040000 /* configuration space (256K) */ 986 + 0x00 0x34040000 0x0 0x00040000 /* iATU_DMA reg space (256K) */ 987 + 0x00 0x34080000 0x0 0x00040000>; /* DBI reg space (256K) */ 988 + reg-names = "appl", "config", "atu_dma", "dbi"; 989 + 990 + status = "disabled"; 991 + 992 + #address-cells = <3>; 993 + #size-cells = <2>; 994 + device_type = "pci"; 995 + num-lanes = <1>; 996 + num-viewport = <8>; 997 + linux,pci-domain = <3>; 998 + 999 + clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_3>; 1000 + clock-names = "core"; 1001 + 1002 + resets = <&bpmp TEGRA194_RESET_PEX0_CORE_3_APB>, 1003 + <&bpmp TEGRA194_RESET_PEX0_CORE_3>; 1004 + reset-names = "apb", "core"; 1005 + 1006 + interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 1007 + <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 1008 + interrupt-names = "intr", "msi"; 1009 + 1010 + #interrupt-cells = <1>; 1011 + interrupt-map-mask = <0 0 0 0>; 1012 + interrupt-map = <0 0 0 0 &gic GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 1013 + 1014 + nvidia,bpmp = <&bpmp 3>; 1015 + 1016 + supports-clkreq; 1017 + nvidia,aspm-cmrt-us = <60>; 1018 + nvidia,aspm-pwr-on-t-us = <20>; 1019 + nvidia,aspm-l0s-entrance-latency-us = <3>; 1020 + 1021 + bus-range = <0x0 0xff>; 1022 + ranges = <0x81000000 0x0 0x34100000 0x0 0x34100000 0x0 0x00100000 /* downstream I/O (1MB) */ 1023 + 0xc2000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */ 1024 + 0x82000000 0x0 0x40000000 0x12 0xb0000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */ 1025 + }; 1026 + 1027 + pcie@14160000 { 1028 + compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 1029 + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX4A>; 1030 + reg = <0x00 0x14160000 0x0 0x00020000 /* appl registers (128K) */ 1031 + 0x00 0x36000000 0x0 0x00040000 /* configuration space (256K) */ 1032 + 0x00 0x36040000 0x0 0x00040000 /* iATU_DMA reg space (256K) */ 1033 + 0x00 0x36080000 0x0 0x00040000>; /* DBI reg space (256K) */ 1034 + reg-names = "appl", "config", "atu_dma", "dbi"; 1035 + 1036 + status = "disabled"; 1037 + 1038 + #address-cells = <3>; 1039 + #size-cells = <2>; 1040 + device_type = "pci"; 1041 + num-lanes = <4>; 1042 + num-viewport = <8>; 1043 + linux,pci-domain = <4>; 1044 + 1045 + clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_4>; 1046 + clock-names = "core"; 1047 + 1048 + resets = <&bpmp TEGRA194_RESET_PEX0_CORE_4_APB>, 1049 + <&bpmp TEGRA194_RESET_PEX0_CORE_4>; 1050 + reset-names = "apb", "core"; 1051 + 1052 + interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 1053 + <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 1054 + interrupt-names = "intr", "msi"; 1055 + 1056 + #interrupt-cells = <1>; 1057 + interrupt-map-mask = <0 0 0 0>; 1058 + interrupt-map = <0 0 0 0 &gic GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 1059 + 1060 + nvidia,bpmp = <&bpmp 4>; 1061 + 1062 + supports-clkreq; 1063 + nvidia,aspm-cmrt-us = <60>; 1064 + nvidia,aspm-pwr-on-t-us = <20>; 1065 + nvidia,aspm-l0s-entrance-latency-us = <3>; 1066 + 1067 + bus-range = <0x0 0xff>; 1068 + ranges = <0x81000000 0x0 0x36100000 0x0 0x36100000 0x0 0x00100000 /* downstream I/O (1MB) */ 1069 + 0xc2000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ 1070 + 0x82000000 0x0 0x40000000 0x17 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */ 1071 + }; 1072 + 1073 + pcie@14180000 { 1074 + compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 1075 + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8B>; 1076 + reg = <0x00 0x14180000 0x0 0x00020000 /* appl registers (128K) */ 1077 + 0x00 0x38000000 0x0 0x00040000 /* configuration space (256K) */ 1078 + 0x00 0x38040000 0x0 0x00040000 /* iATU_DMA reg space (256K) */ 1079 + 0x00 0x38080000 0x0 0x00040000>; /* DBI reg space (256K) */ 1080 + reg-names = "appl", "config", "atu_dma", "dbi"; 1081 + 1082 + status = "disabled"; 1083 + 1084 + #address-cells = <3>; 1085 + #size-cells = <2>; 1086 + device_type = "pci"; 1087 + num-lanes = <8>; 1088 + num-viewport = <8>; 1089 + linux,pci-domain = <0>; 1090 + 1091 + clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_0>; 1092 + clock-names = "core"; 1093 + 1094 + resets = <&bpmp TEGRA194_RESET_PEX0_CORE_0_APB>, 1095 + <&bpmp TEGRA194_RESET_PEX0_CORE_0>; 1096 + reset-names = "apb", "core"; 1097 + 1098 + interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 1099 + <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 1100 + interrupt-names = "intr", "msi"; 1101 + 1102 + #interrupt-cells = <1>; 1103 + interrupt-map-mask = <0 0 0 0>; 1104 + interrupt-map = <0 0 0 0 &gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 1105 + 1106 + nvidia,bpmp = <&bpmp 0>; 1107 + 1108 + supports-clkreq; 1109 + nvidia,aspm-cmrt-us = <60>; 1110 + nvidia,aspm-pwr-on-t-us = <20>; 1111 + nvidia,aspm-l0s-entrance-latency-us = <3>; 1112 + 1113 + bus-range = <0x0 0xff>; 1114 + ranges = <0x81000000 0x0 0x38100000 0x0 0x38100000 0x0 0x00100000 /* downstream I/O (1MB) */ 1115 + 0xc2000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ 1116 + 0x82000000 0x0 0x40000000 0x1b 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */ 1117 + }; 1118 + 1119 + pcie@141a0000 { 1120 + compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 1121 + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8A>; 1122 + reg = <0x00 0x141a0000 0x0 0x00020000 /* appl registers (128K) */ 1123 + 0x00 0x3a000000 0x0 0x00040000 /* configuration space (256K) */ 1124 + 0x00 0x3a040000 0x0 0x00040000 /* iATU_DMA reg space (256K) */ 1125 + 0x00 0x3a080000 0x0 0x00040000>; /* DBI reg space (256K) */ 1126 + reg-names = "appl", "config", "atu_dma", "dbi"; 1127 + 1128 + status = "disabled"; 1129 + 1130 + #address-cells = <3>; 1131 + #size-cells = <2>; 1132 + device_type = "pci"; 1133 + num-lanes = <8>; 1134 + num-viewport = <8>; 1135 + linux,pci-domain = <5>; 1136 + 1137 + clocks = <&bpmp TEGRA194_CLK_PEX1_CORE_5>, 1138 + <&bpmp TEGRA194_CLK_PEX1_CORE_5M>; 1139 + clock-names = "core", "core_m"; 1140 + 1141 + resets = <&bpmp TEGRA194_RESET_PEX1_CORE_5_APB>, 1142 + <&bpmp TEGRA194_RESET_PEX1_CORE_5>; 1143 + reset-names = "apb", "core"; 1144 + 1145 + interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */ 1146 + <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */ 1147 + interrupt-names = "intr", "msi"; 1148 + 1149 + nvidia,bpmp = <&bpmp 5>; 1150 + 1151 + #interrupt-cells = <1>; 1152 + interrupt-map-mask = <0 0 0 0>; 1153 + interrupt-map = <0 0 0 0 &gic GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 1154 + 1155 + supports-clkreq; 1156 + nvidia,aspm-cmrt-us = <60>; 1157 + nvidia,aspm-pwr-on-t-us = <20>; 1158 + nvidia,aspm-l0s-entrance-latency-us = <3>; 1159 + 1160 + bus-range = <0x0 0xff>; 1161 + ranges = <0x81000000 0x0 0x3a100000 0x0 0x3a100000 0x0 0x00100000 /* downstream I/O (1MB) */ 1162 + 0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ 1163 + 0x82000000 0x0 0x40000000 0x1f 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */ 1164 + }; 1165 + 1120 1166 sysram@40000000 { 1121 1167 compatible = "nvidia,tegra194-sysram", "mmio-sram"; 1122 1168 reg = <0x0 0x40000000 0x0 0x50000>; ··· 1561 1053 <GIC_PPI 10 1562 1054 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 1563 1055 interrupt-parent = <&gic>; 1056 + always-on; 1564 1057 }; 1565 1058 };
+15 -1
arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
··· 264 264 }; 265 265 }; 266 266 267 + i2c@7000c500 { 268 + /* module ID EEPROM */ 269 + eeprom@50 { 270 + compatible = "atmel,24c02"; 271 + reg = <0x50>; 272 + 273 + address-bits = <8>; 274 + page-size = <8>; 275 + size = <256>; 276 + read-only; 277 + }; 278 + }; 279 + 267 280 pmc@7000e400 { 268 281 nvidia,invert-interrupt; 269 282 }; ··· 341 328 regulator-max-microvolt = <1320000>; 342 329 enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>; 343 330 regulator-ramp-delay = <80>; 344 - regulator-enable-ramp-delay = <1000>; 331 + regulator-enable-ramp-delay = <2000>; 332 + regulator-settling-time-us = <160>; 345 333 }; 346 334 }; 347 335 };
+13
arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
··· 79 79 }; 80 80 }; 81 81 82 + i2c@7000c500 { 83 + /* carrier board ID EEPROM */ 84 + eeprom@57 { 85 + compatible = "atmel,24c02"; 86 + reg = <0x57>; 87 + 88 + address-bits = <8>; 89 + page-size = <8>; 90 + size = <256>; 91 + read-only; 92 + }; 93 + }; 94 + 82 95 clock@70110000 { 83 96 status = "okay"; 84 97
+43 -9
arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
··· 88 88 status = "okay"; 89 89 }; 90 90 91 + pwm@7000a000 { 92 + status = "okay"; 93 + }; 94 + 95 + i2c@7000c500 { 96 + status = "okay"; 97 + clock-frequency = <100000>; 98 + 99 + eeprom@50 { 100 + compatible = "atmel,24c02"; 101 + reg = <0x50>; 102 + 103 + address-bits = <8>; 104 + page-size = <8>; 105 + size = <256>; 106 + read-only; 107 + }; 108 + 109 + eeprom@57 { 110 + compatible = "atmel,24c02"; 111 + reg = <0x57>; 112 + 113 + address-bits = <8>; 114 + page-size = <8>; 115 + size = <256>; 116 + read-only; 117 + }; 118 + }; 119 + 91 120 hdmi_ddc: i2c@7000c700 { 92 121 status = "okay"; 93 122 clock-frequency = <100000>; ··· 544 515 cpu@3 { 545 516 enable-method = "psci"; 546 517 }; 518 + 519 + idle-states { 520 + cpu-sleep { 521 + status = "okay"; 522 + }; 523 + }; 547 524 }; 548 525 549 526 gpio-keys { ··· 668 633 }; 669 634 670 635 vdd_gpu: regulator@6 { 671 - compatible = "regulator-fixed"; 636 + compatible = "pwm-regulator"; 672 637 reg = <6>; 673 - 638 + pwms = <&pwm 1 4880>; 674 639 regulator-name = "VDD_GPU"; 675 - regulator-min-microvolt = <5000000>; 676 - regulator-max-microvolt = <5000000>; 677 - regulator-enable-ramp-delay = <250>; 678 - 679 - gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; 680 - enable-active-high; 681 - 640 + regulator-min-microvolt = <710000>; 641 + regulator-max-microvolt = <1320000>; 642 + regulator-ramp-delay = <80>; 643 + regulator-enable-ramp-delay = <2000>; 644 + regulator-settling-time-us = <160>; 645 + enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>; 682 646 vin-supply = <&vdd_5v0_sys>; 683 647 }; 684 648 };
+21 -1
arch/arm64/boot/dts/nvidia/tegra210.dtsi
··· 48 48 <&tegra_car 72>, 49 49 <&tegra_car 74>; 50 50 reset-names = "pex", "afi", "pcie_x"; 51 + 52 + pinctrl-names = "default", "idle"; 53 + pinctrl-0 = <&pex_dpd_disable>; 54 + pinctrl-1 = <&pex_dpd_enable>; 55 + 51 56 status = "disabled"; 52 57 53 58 pci@1,0 { ··· 853 848 pins = "sdmmc3"; 854 849 power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; 855 850 }; 851 + 852 + pex_dpd_disable: pex_en { 853 + pex-dpd-disable { 854 + pins = "pex-bias", "pex-clk1", "pex-clk2"; 855 + low-power-disable; 856 + }; 857 + }; 858 + 859 + pex_dpd_enable: pex_dis { 860 + pex-dpd-enable { 861 + pins = "pex-bias", "pex-clk1", "pex-clk2"; 862 + low-power-enable; 863 + }; 864 + }; 856 865 }; 857 866 858 867 fuse@7000f800 { ··· 1277 1258 compatible = "nvidia,tegra210-agic"; 1278 1259 #interrupt-cells = <3>; 1279 1260 interrupt-controller; 1280 - reg = <0x702f9000 0x2000>, 1261 + reg = <0x702f9000 0x1000>, 1281 1262 <0x702fa000 0x2000>; 1282 1263 interrupts = <GIC_SPI 102 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1283 1264 clocks = <&tegra_car TEGRA210_CLK_APE>; ··· 1449 1430 <GIC_PPI 10 1450 1431 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 1451 1432 interrupt-parent = <&gic>; 1433 + arm,no-tick-in-suspend; 1452 1434 }; 1453 1435 1454 1436 soctherm: thermal-sensor@700e2000 {
-41
include/dt-bindings/gpio/tegra186-gpio.h
··· 41 41 #define TEGRA186_MAIN_GPIO(port, offset) \ 42 42 ((TEGRA186_MAIN_GPIO_PORT_##port * 8) + offset) 43 43 44 - /* need to keep these for backwards-compatibility */ 45 - #define TEGRA_MAIN_GPIO_PORT_A 0 46 - #define TEGRA_MAIN_GPIO_PORT_B 1 47 - #define TEGRA_MAIN_GPIO_PORT_C 2 48 - #define TEGRA_MAIN_GPIO_PORT_D 3 49 - #define TEGRA_MAIN_GPIO_PORT_E 4 50 - #define TEGRA_MAIN_GPIO_PORT_F 5 51 - #define TEGRA_MAIN_GPIO_PORT_G 6 52 - #define TEGRA_MAIN_GPIO_PORT_H 7 53 - #define TEGRA_MAIN_GPIO_PORT_I 8 54 - #define TEGRA_MAIN_GPIO_PORT_J 9 55 - #define TEGRA_MAIN_GPIO_PORT_K 10 56 - #define TEGRA_MAIN_GPIO_PORT_L 11 57 - #define TEGRA_MAIN_GPIO_PORT_M 12 58 - #define TEGRA_MAIN_GPIO_PORT_N 13 59 - #define TEGRA_MAIN_GPIO_PORT_O 14 60 - #define TEGRA_MAIN_GPIO_PORT_P 15 61 - #define TEGRA_MAIN_GPIO_PORT_Q 16 62 - #define TEGRA_MAIN_GPIO_PORT_R 17 63 - #define TEGRA_MAIN_GPIO_PORT_T 18 64 - #define TEGRA_MAIN_GPIO_PORT_X 19 65 - #define TEGRA_MAIN_GPIO_PORT_Y 20 66 - #define TEGRA_MAIN_GPIO_PORT_BB 21 67 - #define TEGRA_MAIN_GPIO_PORT_CC 22 68 - 69 - #define TEGRA_MAIN_GPIO(port, offset) \ 70 - ((TEGRA_MAIN_GPIO_PORT_##port * 8) + offset) 71 - 72 44 /* GPIOs implemented by AON GPIO controller */ 73 45 #define TEGRA186_AON_GPIO_PORT_S 0 74 46 #define TEGRA186_AON_GPIO_PORT_U 1 ··· 53 81 54 82 #define TEGRA186_AON_GPIO(port, offset) \ 55 83 ((TEGRA186_AON_GPIO_PORT_##port * 8) + offset) 56 - 57 - /* need to keep these for backwards-compatibility */ 58 - #define TEGRA_AON_GPIO_PORT_S 0 59 - #define TEGRA_AON_GPIO_PORT_U 1 60 - #define TEGRA_AON_GPIO_PORT_V 2 61 - #define TEGRA_AON_GPIO_PORT_W 3 62 - #define TEGRA_AON_GPIO_PORT_Z 4 63 - #define TEGRA_AON_GPIO_PORT_AA 5 64 - #define TEGRA_AON_GPIO_PORT_EE 6 65 - #define TEGRA_AON_GPIO_PORT_FF 7 66 - 67 - #define TEGRA_AON_GPIO(port, offset) \ 68 - ((TEGRA_AON_GPIO_PORT_##port * 8) + offset) 69 84 70 85 #endif