1// SPDX-License-Identifier: GPL-2.0+ OR MIT 2/* 3 * Nodes present on both dies of T6022 (M2 Ultra) and present on M2 Pro/Max. 4 * 5 * Copyright The Asahi Linux Contributors 6 */ 7 8 DIE_NODE(cpufreq_e): cpufreq@210e20000 { 9 compatible = "apple,t6020-cluster-cpufreq", "apple,t8112-cluster-cpufreq"; 10 reg = <0x2 0x10e20000 0 0x1000>; 11 #performance-domain-cells = <0>; 12 }; 13 14 DIE_NODE(cpufreq_p0): cpufreq@211e20000 { 15 compatible = "apple,t6020-cluster-cpufreq", "apple,t8112-cluster-cpufreq"; 16 reg = <0x2 0x11e20000 0 0x1000>; 17 #performance-domain-cells = <0>; 18 }; 19 20 DIE_NODE(cpufreq_p1): cpufreq@212e20000 { 21 compatible = "apple,t6020-cluster-cpufreq", "apple,t8112-cluster-cpufreq"; 22 reg = <0x2 0x12e20000 0 0x1000>; 23 #performance-domain-cells = <0>; 24 }; 25 26 DIE_NODE(pmgr): power-management@28e080000 { 27 compatible = "apple,t6020-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; 28 #address-cells = <1>; 29 #size-cells = <1>; 30 reg = <0x2 0x8e080000 0 0x8000>; 31 }; 32 33 DIE_NODE(pmgr_south): power-management@28e680000 { 34 compatible = "apple,t6020-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; 35 #address-cells = <1>; 36 #size-cells = <1>; 37 reg = <0x2 0x8e680000 0 0x8000>; 38 }; 39 40 DIE_NODE(pmgr_east): power-management@290280000 { 41 compatible = "apple,t6020-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; 42 #address-cells = <1>; 43 #size-cells = <1>; 44 reg = <0x2 0x90280000 0 0xc000>; 45 }; 46 47 DIE_NODE(pinctrl_nub): pinctrl@29e1f0000 { 48 compatible = "apple,t6020-pinctrl", "apple,t8103-pinctrl"; 49 reg = <0x2 0x9e1f0000 0x0 0x4000>; 50 power-domains = <&DIE_NODE(ps_nub_gpio)>; 51 52 gpio-controller; 53 #gpio-cells = <2>; 54 gpio-ranges = <&DIE_NODE(pinctrl_nub) 0 0 30>; 55 apple,npins = <30>; 56 57 interrupt-controller; 58 #interrupt-cells = <2>; 59 interrupt-parent = <&aic>; 60 interrupts = <AIC_IRQ DIE_NO 711 IRQ_TYPE_LEVEL_HIGH>, 61 <AIC_IRQ DIE_NO 712 IRQ_TYPE_LEVEL_HIGH>, 62 <AIC_IRQ DIE_NO 713 IRQ_TYPE_LEVEL_HIGH>, 63 <AIC_IRQ DIE_NO 714 IRQ_TYPE_LEVEL_HIGH>, 64 <AIC_IRQ DIE_NO 715 IRQ_TYPE_LEVEL_HIGH>, 65 <AIC_IRQ DIE_NO 716 IRQ_TYPE_LEVEL_HIGH>, 66 <AIC_IRQ DIE_NO 717 IRQ_TYPE_LEVEL_HIGH>; 67 }; 68 69 DIE_NODE(pmgr_mini): power-management@29e280000 { 70 compatible = "apple,t6020-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; 71 #address-cells = <1>; 72 #size-cells = <1>; 73 reg = <0x2 0x9e280000 0 0x4000>; 74 }; 75 76 DIE_NODE(pinctrl_aop): pinctrl@2a6820000 { 77 compatible = "apple,t6020-pinctrl", "apple,t8103-pinctrl"; 78 reg = <0x2 0xa6820000 0x0 0x4000>; 79 80 gpio-controller; 81 #gpio-cells = <2>; 82 gpio-ranges = <&DIE_NODE(pinctrl_aop) 0 0 72>; 83 apple,npins = <72>; 84 85 interrupt-controller; 86 #interrupt-cells = <2>; 87 interrupt-parent = <&aic>; 88 interrupts = <AIC_IRQ DIE_NO 598 IRQ_TYPE_LEVEL_HIGH>, 89 <AIC_IRQ DIE_NO 599 IRQ_TYPE_LEVEL_HIGH>, 90 <AIC_IRQ DIE_NO 600 IRQ_TYPE_LEVEL_HIGH>, 91 <AIC_IRQ DIE_NO 601 IRQ_TYPE_LEVEL_HIGH>, 92 <AIC_IRQ DIE_NO 602 IRQ_TYPE_LEVEL_HIGH>, 93 <AIC_IRQ DIE_NO 603 IRQ_TYPE_LEVEL_HIGH>, 94 <AIC_IRQ DIE_NO 604 IRQ_TYPE_LEVEL_HIGH>; 95 }; 96 97 DIE_NODE(pinctrl_ap): pinctrl@39b028000 { 98 compatible = "apple,t6020-pinctrl", "apple,t8103-pinctrl"; 99 reg = <0x3 0x9b028000 0x0 0x4000>; 100 101 interrupt-parent = <&aic>; 102 interrupts = <AIC_IRQ DIE_NO 458 IRQ_TYPE_LEVEL_HIGH>, 103 <AIC_IRQ DIE_NO 459 IRQ_TYPE_LEVEL_HIGH>, 104 <AIC_IRQ DIE_NO 460 IRQ_TYPE_LEVEL_HIGH>, 105 <AIC_IRQ DIE_NO 461 IRQ_TYPE_LEVEL_HIGH>, 106 <AIC_IRQ DIE_NO 462 IRQ_TYPE_LEVEL_HIGH>, 107 <AIC_IRQ DIE_NO 463 IRQ_TYPE_LEVEL_HIGH>, 108 <AIC_IRQ DIE_NO 464 IRQ_TYPE_LEVEL_HIGH>; 109 110 clocks = <&clkref>; 111 power-domains = <&DIE_NODE(ps_gpio)>; 112 113 gpio-controller; 114 #gpio-cells = <2>; 115 gpio-ranges = <&DIE_NODE(pinctrl_ap) 0 0 255>; 116 apple,npins = <255>; 117 118 interrupt-controller; 119 #interrupt-cells = <2>; 120 }; 121 122 DIE_NODE(pmgr_gfx): power-management@404e80000 { 123 compatible = "apple,t6020-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; 124 #address-cells = <1>; 125 #size-cells = <1>; 126 127 reg = <0x4 0x4e80000 0 0x4000>; 128 }; 129 130 DIE_NODE(dwc3_0): usb@702280000 { 131 compatible = "apple,t6020-dwc3", "apple,t8103-dwc3"; 132 reg = <0x7 0x02280000 0x0 0xcd00>, <0x7 0x0228cd00 0x0 0x3200>; 133 reg-names = "dwc3-core", "dwc3-apple"; 134 interrupt-parent = <&aic>; 135 interrupts = <AIC_IRQ DIE_NO 1256 IRQ_TYPE_LEVEL_HIGH>; 136 dr_mode = "otg"; 137 usb-role-switch; 138 role-switch-default-mode = "host"; 139 iommus = <&DIE_NODE(dwc3_0_dart_0) 0>, 140 <&DIE_NODE(dwc3_0_dart_1) 1>; 141 power-domains = <&DIE_NODE(ps_atc0_usb)>; 142 resets = <&DIE_NODE(atcphy0)>; 143 phys = <&DIE_NODE(atcphy0) PHY_TYPE_USB2>, <&DIE_NODE(atcphy0) PHY_TYPE_USB3>; 144 phy-names = "usb2-phy", "usb3-phy"; 145 }; 146 147 DIE_NODE(dwc3_0_dart_0): iommu@702f00000 { 148 compatible = "apple,t6020-dart", "apple,t8110-dart"; 149 reg = <0x7 0x02f00000 0x0 0x4000>; 150 interrupt-parent = <&aic>; 151 interrupts = <AIC_IRQ DIE_NO 1260 IRQ_TYPE_LEVEL_HIGH>; 152 power-domains = <&DIE_NODE(ps_atc0_usb)>; 153 #iommu-cells = <1>; 154 }; 155 156 DIE_NODE(dwc3_0_dart_1): iommu@702f80000 { 157 compatible = "apple,t6020-dart", "apple,t8110-dart"; 158 reg = <0x7 0x02f80000 0x0 0x4000>; 159 interrupt-parent = <&aic>; 160 interrupts = <AIC_IRQ DIE_NO 1260 IRQ_TYPE_LEVEL_HIGH>; 161 power-domains = <&DIE_NODE(ps_atc0_usb)>; 162 #iommu-cells = <1>; 163 }; 164 165 DIE_NODE(atcphy0): phy@703000000 { 166 compatible = "apple,t6020-atcphy", "apple,t8103-atcphy"; 167 reg = <0x7 0x03000000 0x0 0x4c000>, 168 <0x7 0x03050000 0x0 0x8000>, 169 <0x7 0x00000000 0x0 0x4000>, 170 <0x7 0x02a90000 0x0 0x4000>, 171 <0x7 0x02a84000 0x0 0x4000>; 172 reg-names = "core", "lpdptx", "axi2af", "usb2phy", 173 "pipehandler"; 174 175 #phy-cells = <1>; 176 #reset-cells = <0>; 177 178 orientation-switch; 179 mode-switch; 180 power-domains = <&DIE_NODE(ps_atc0_usb)>; 181 }; 182 183 DIE_NODE(dwc3_1): usb@b02280000 { 184 compatible = "apple,t6020-dwc3", "apple,t8103-dwc3"; 185 reg = <0xb 0x02280000 0x0 0xcd00>, <0xb 0x0228cd00 0x0 0x3200>; 186 reg-names = "dwc3-core", "dwc3-apple"; 187 interrupt-parent = <&aic>; 188 interrupts = <AIC_IRQ DIE_NO 1274 IRQ_TYPE_LEVEL_HIGH>; 189 dr_mode = "otg"; 190 usb-role-switch; 191 role-switch-default-mode = "host"; 192 iommus = <&DIE_NODE(dwc3_1_dart_0) 0>, 193 <&DIE_NODE(dwc3_1_dart_1) 1>; 194 power-domains = <&DIE_NODE(ps_atc1_usb)>; 195 resets = <&DIE_NODE(atcphy1)>; 196 phys = <&DIE_NODE(atcphy1) PHY_TYPE_USB2>, <&DIE_NODE(atcphy1) PHY_TYPE_USB3>; 197 phy-names = "usb2-phy", "usb3-phy"; 198 }; 199 200 DIE_NODE(dwc3_1_dart_0): iommu@b02f00000 { 201 compatible = "apple,t6020-dart", "apple,t8110-dart"; 202 reg = <0xb 0x02f00000 0x0 0x4000>; 203 interrupt-parent = <&aic>; 204 interrupts = <AIC_IRQ DIE_NO 1278 IRQ_TYPE_LEVEL_HIGH>; 205 power-domains = <&DIE_NODE(ps_atc1_usb)>; 206 #iommu-cells = <1>; 207 }; 208 209 DIE_NODE(dwc3_1_dart_1): iommu@b02f80000 { 210 compatible = "apple,t6020-dart", "apple,t8110-dart"; 211 reg = <0xb 0x02f80000 0x0 0x4000>; 212 interrupt-parent = <&aic>; 213 interrupts = <AIC_IRQ DIE_NO 1278 IRQ_TYPE_LEVEL_HIGH>; 214 power-domains = <&DIE_NODE(ps_atc1_usb)>; 215 #iommu-cells = <1>; 216 }; 217 218 DIE_NODE(atcphy1): phy@b03000000 { 219 compatible = "apple,t6020-atcphy", "apple,t8103-atcphy"; 220 reg = <0xb 0x03000000 0x0 0x4c000>, 221 <0xb 0x03050000 0x0 0x8000>, 222 <0xb 0x00000000 0x0 0x4000>, 223 <0xb 0x02a90000 0x0 0x4000>, 224 <0xb 0x02a84000 0x0 0x4000>; 225 reg-names = "core", "lpdptx", "axi2af", "usb2phy", 226 "pipehandler"; 227 228 #phy-cells = <1>; 229 #reset-cells = <0>; 230 231 orientation-switch; 232 mode-switch; 233 power-domains = <&DIE_NODE(ps_atc1_usb)>; 234 }; 235 236 DIE_NODE(dwc3_2): usb@f02280000 { 237 compatible = "apple,t6020-dwc3", "apple,t8103-dwc3"; 238 reg = <0xf 0x02280000 0x0 0xcd00>, <0xf 0x0228cd00 0x0 0x3200>; 239 reg-names = "dwc3-core", "dwc3-apple"; 240 interrupt-parent = <&aic>; 241 interrupts = <AIC_IRQ DIE_NO 1292 IRQ_TYPE_LEVEL_HIGH>; 242 dr_mode = "otg"; 243 usb-role-switch; 244 role-switch-default-mode = "host"; 245 iommus = <&DIE_NODE(dwc3_2_dart_0) 0>, 246 <&DIE_NODE(dwc3_2_dart_1) 1>; 247 power-domains = <&DIE_NODE(ps_atc2_usb)>; 248 resets = <&DIE_NODE(atcphy2)>; 249 phys = <&DIE_NODE(atcphy2) PHY_TYPE_USB2>, <&DIE_NODE(atcphy2) PHY_TYPE_USB3>; 250 phy-names = "usb2-phy", "usb3-phy"; 251 }; 252 253 DIE_NODE(dwc3_2_dart_0): iommu@f02f00000 { 254 compatible = "apple,t6020-dart", "apple,t8110-dart"; 255 reg = <0xf 0x02f00000 0x0 0x4000>; 256 interrupt-parent = <&aic>; 257 interrupts = <AIC_IRQ DIE_NO 1296 IRQ_TYPE_LEVEL_HIGH>; 258 power-domains = <&DIE_NODE(ps_atc2_usb)>; 259 #iommu-cells = <1>; 260 }; 261 262 DIE_NODE(dwc3_2_dart_1): iommu@f02f80000 { 263 compatible = "apple,t6020-dart", "apple,t8110-dart"; 264 reg = <0xf 0x02f80000 0x0 0x4000>; 265 interrupt-parent = <&aic>; 266 interrupts = <AIC_IRQ DIE_NO 1296 IRQ_TYPE_LEVEL_HIGH>; 267 power-domains = <&DIE_NODE(ps_atc2_usb)>; 268 #iommu-cells = <1>; 269 }; 270 271 DIE_NODE(atcphy2): phy@f03000000 { 272 compatible = "apple,t6020-atcphy", "apple,t8103-atcphy"; 273 reg = <0xf 0x03000000 0x0 0x4c000>, 274 <0xf 0x03050000 0x0 0x8000>, 275 <0xf 0x00000000 0x0 0x4000>, 276 <0xf 0x02a90000 0x0 0x4000>, 277 <0xf 0x02a84000 0x0 0x4000>; 278 reg-names = "core", "lpdptx", "axi2af", "usb2phy", 279 "pipehandler"; 280 281 #phy-cells = <1>; 282 #reset-cells = <0>; 283 284 orientation-switch; 285 mode-switch; 286 power-domains = <&DIE_NODE(ps_atc2_usb)>; 287 }; 288 289 DIE_NODE(dwc3_3): usb@1302280000 { 290 compatible = "apple,t6020-dwc3", "apple,t8103-dwc3"; 291 reg = <0x13 0x02280000 0x0 0xcd00>, <0x13 0x0228cd00 0x0 0x3200>; 292 reg-names = "dwc3-core", "dwc3-apple"; 293 interrupt-parent = <&aic>; 294 interrupts = <AIC_IRQ DIE_NO 1310 IRQ_TYPE_LEVEL_HIGH>; 295 dr_mode = "otg"; 296 usb-role-switch; 297 role-switch-default-mode = "host"; 298 iommus = <&DIE_NODE(dwc3_3_dart_0) 0>, 299 <&DIE_NODE(dwc3_3_dart_1) 1>; 300 power-domains = <&DIE_NODE(ps_atc3_usb)>; 301 resets = <&DIE_NODE(atcphy3)>; 302 phys = <&DIE_NODE(atcphy3) PHY_TYPE_USB2>, <&DIE_NODE(atcphy3) PHY_TYPE_USB3>; 303 phy-names = "usb2-phy", "usb3-phy"; 304 }; 305 306 DIE_NODE(dwc3_3_dart_0): iommu@1302f00000 { 307 compatible = "apple,t6020-dart", "apple,t8110-dart"; 308 reg = <0x13 0x02f00000 0x0 0x4000>; 309 interrupt-parent = <&aic>; 310 interrupts = <AIC_IRQ DIE_NO 1314 IRQ_TYPE_LEVEL_HIGH>; 311 power-domains = <&DIE_NODE(ps_atc3_usb)>; 312 #iommu-cells = <1>; 313 }; 314 315 DIE_NODE(dwc3_3_dart_1): iommu@1302f80000 { 316 compatible = "apple,t6020-dart", "apple,t8110-dart"; 317 reg = <0x13 0x02f80000 0x0 0x4000>; 318 interrupt-parent = <&aic>; 319 interrupts = <AIC_IRQ DIE_NO 1314 IRQ_TYPE_LEVEL_HIGH>; 320 power-domains = <&DIE_NODE(ps_atc3_usb)>; 321 #iommu-cells = <1>; 322 }; 323 324 DIE_NODE(atcphy3): phy@1303000000 { 325 compatible = "apple,t6020-atcphy", "apple,t8103-atcphy"; 326 reg = <0x13 0x03000000 0x0 0x4c000>, 327 <0x13 0x03050000 0x0 0x8000>, 328 <0x13 0x00000000 0x0 0x4000>, 329 <0x13 0x02a90000 0x0 0x4000>, 330 <0x13 0x02a84000 0x0 0x4000>; 331 reg-names = "core", "lpdptx", "axi2af", "usb2phy", 332 "pipehandler"; 333 334 #phy-cells = <1>; 335 #reset-cells = <0>; 336 337 orientation-switch; 338 mode-switch; 339 power-domains = <&DIE_NODE(ps_atc3_usb)>; 340 }; 341