arm64: dts: apple: t8112: Initial t8112 (M2) device trees
This adds device trees for the following devices:
- Macbook Air (M2, 2022)
- Macbook Pro 13" (M2, 2022)
- Mac mini (M2, 2023)
This brings the hardware support of the machines to the same level as M1
and M1 Pro / Max / Ultra. Supported hardware include NVMe, PCIe, serial,
pinctrl/gpio, I2C, iommu, watchdog, admac, nco, cpufreq, boot
framebuffer for laptop panels and the interrupt controller.
The ethernet LAN device on the M2 Mac mini is the only working PCIe
device. The Wlan/BT devices are powered off and controlled by the not
yet supported SMC. The ASMedia xHCI on the M2 Mac mini requires firmware
to be loaded at startup.
The main missing hardware support to make these devices useful are the
integrated USB 2/3/4 controller, keyboard and trackpad on the laptops
and SMC to power the PCIe Wlan/BT device on.
The M2 Mac mini has currently no working display output. Due to changes
in the display pipeline it is currently not possible to initialize the
HDMI output in the bootloader.
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-03-07 13:10:21 +01:00
|
|
|
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
|
|
|
/*
|
|
|
|
* Apple T8112 "M2" SoC
|
|
|
|
*
|
|
|
|
* Other names: H14G
|
|
|
|
*
|
|
|
|
* Copyright The Asahi Linux Contributors
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
#include <dt-bindings/interrupt-controller/apple-aic.h>
|
|
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
#include <dt-bindings/pinctrl/apple.h>
|
|
|
|
#include <dt-bindings/spmi/spmi.h>
|
|
|
|
|
|
|
|
/ {
|
|
|
|
compatible = "apple,t8112", "apple,arm-platform";
|
|
|
|
|
|
|
|
#address-cells = <2>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
|
2025-07-10 00:21:45 +02:00
|
|
|
aliases {
|
|
|
|
gpu = &gpu;
|
|
|
|
};
|
|
|
|
|
arm64: dts: apple: t8112: Initial t8112 (M2) device trees
This adds device trees for the following devices:
- Macbook Air (M2, 2022)
- Macbook Pro 13" (M2, 2022)
- Mac mini (M2, 2023)
This brings the hardware support of the machines to the same level as M1
and M1 Pro / Max / Ultra. Supported hardware include NVMe, PCIe, serial,
pinctrl/gpio, I2C, iommu, watchdog, admac, nco, cpufreq, boot
framebuffer for laptop panels and the interrupt controller.
The ethernet LAN device on the M2 Mac mini is the only working PCIe
device. The Wlan/BT devices are powered off and controlled by the not
yet supported SMC. The ASMedia xHCI on the M2 Mac mini requires firmware
to be loaded at startup.
The main missing hardware support to make these devices useful are the
integrated USB 2/3/4 controller, keyboard and trackpad on the laptops
and SMC to power the PCIe Wlan/BT device on.
The M2 Mac mini has currently no working display output. Due to changes
in the display pipeline it is currently not possible to initialize the
HDMI output in the bootloader.
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-03-07 13:10:21 +01:00
|
|
|
cpus {
|
|
|
|
#address-cells = <2>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
|
|
|
|
cpu-map {
|
|
|
|
cluster0 {
|
|
|
|
core0 {
|
|
|
|
cpu = <&cpu_e0>;
|
|
|
|
};
|
|
|
|
core1 {
|
|
|
|
cpu = <&cpu_e1>;
|
|
|
|
};
|
|
|
|
core2 {
|
|
|
|
cpu = <&cpu_e2>;
|
|
|
|
};
|
|
|
|
core3 {
|
|
|
|
cpu = <&cpu_e3>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
cluster1 {
|
|
|
|
core0 {
|
|
|
|
cpu = <&cpu_p0>;
|
|
|
|
};
|
|
|
|
core1 {
|
|
|
|
cpu = <&cpu_p1>;
|
|
|
|
};
|
|
|
|
core2 {
|
|
|
|
cpu = <&cpu_p2>;
|
|
|
|
};
|
|
|
|
core3 {
|
|
|
|
cpu = <&cpu_p3>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
cpu_e0: cpu@0 {
|
|
|
|
compatible = "apple,blizzard";
|
|
|
|
device_type = "cpu";
|
|
|
|
reg = <0x0 0x0>;
|
|
|
|
enable-method = "spin-table";
|
|
|
|
cpu-release-addr = <0 0>; /* To be filled by loader */
|
|
|
|
operating-points-v2 = <&ecluster_opp>;
|
|
|
|
capacity-dmips-mhz = <756>;
|
|
|
|
performance-domains = <&cpufreq_e>;
|
|
|
|
next-level-cache = <&l2_cache_0>;
|
|
|
|
i-cache-size = <0x20000>;
|
|
|
|
d-cache-size = <0x10000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
cpu_e1: cpu@1 {
|
|
|
|
compatible = "apple,blizzard";
|
|
|
|
device_type = "cpu";
|
|
|
|
reg = <0x0 0x1>;
|
|
|
|
enable-method = "spin-table";
|
|
|
|
cpu-release-addr = <0 0>; /* To be filled by loader */
|
|
|
|
operating-points-v2 = <&ecluster_opp>;
|
|
|
|
capacity-dmips-mhz = <756>;
|
|
|
|
performance-domains = <&cpufreq_e>;
|
|
|
|
next-level-cache = <&l2_cache_0>;
|
|
|
|
i-cache-size = <0x20000>;
|
|
|
|
d-cache-size = <0x10000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
cpu_e2: cpu@2 {
|
|
|
|
compatible = "apple,blizzard";
|
|
|
|
device_type = "cpu";
|
|
|
|
reg = <0x0 0x2>;
|
|
|
|
enable-method = "spin-table";
|
|
|
|
cpu-release-addr = <0 0>; /* To be filled by loader */
|
|
|
|
operating-points-v2 = <&ecluster_opp>;
|
|
|
|
capacity-dmips-mhz = <756>;
|
|
|
|
performance-domains = <&cpufreq_e>;
|
|
|
|
next-level-cache = <&l2_cache_0>;
|
|
|
|
i-cache-size = <0x20000>;
|
|
|
|
d-cache-size = <0x10000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
cpu_e3: cpu@3 {
|
|
|
|
compatible = "apple,blizzard";
|
|
|
|
device_type = "cpu";
|
|
|
|
reg = <0x0 0x3>;
|
|
|
|
enable-method = "spin-table";
|
|
|
|
cpu-release-addr = <0 0>; /* To be filled by loader */
|
|
|
|
operating-points-v2 = <&ecluster_opp>;
|
|
|
|
capacity-dmips-mhz = <756>;
|
|
|
|
performance-domains = <&cpufreq_e>;
|
|
|
|
next-level-cache = <&l2_cache_0>;
|
|
|
|
i-cache-size = <0x20000>;
|
|
|
|
d-cache-size = <0x10000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
cpu_p0: cpu@10100 {
|
|
|
|
compatible = "apple,avalanche";
|
|
|
|
device_type = "cpu";
|
|
|
|
reg = <0x0 0x10100>;
|
|
|
|
enable-method = "spin-table";
|
|
|
|
cpu-release-addr = <0 0>; /* To be filled by loader */
|
|
|
|
operating-points-v2 = <&pcluster_opp>;
|
|
|
|
capacity-dmips-mhz = <1024>;
|
|
|
|
performance-domains = <&cpufreq_p>;
|
|
|
|
next-level-cache = <&l2_cache_1>;
|
|
|
|
i-cache-size = <0x30000>;
|
|
|
|
d-cache-size = <0x20000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
cpu_p1: cpu@10101 {
|
|
|
|
compatible = "apple,avalanche";
|
|
|
|
device_type = "cpu";
|
|
|
|
reg = <0x0 0x10101>;
|
|
|
|
enable-method = "spin-table";
|
|
|
|
cpu-release-addr = <0 0>; /* To be filled by loader */
|
|
|
|
operating-points-v2 = <&pcluster_opp>;
|
|
|
|
capacity-dmips-mhz = <1024>;
|
|
|
|
performance-domains = <&cpufreq_p>;
|
|
|
|
next-level-cache = <&l2_cache_1>;
|
|
|
|
i-cache-size = <0x30000>;
|
|
|
|
d-cache-size = <0x20000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
cpu_p2: cpu@10102 {
|
|
|
|
compatible = "apple,avalanche";
|
|
|
|
device_type = "cpu";
|
|
|
|
reg = <0x0 0x10102>;
|
|
|
|
enable-method = "spin-table";
|
|
|
|
cpu-release-addr = <0 0>; /* To be filled by loader */
|
|
|
|
operating-points-v2 = <&pcluster_opp>;
|
|
|
|
capacity-dmips-mhz = <1024>;
|
|
|
|
performance-domains = <&cpufreq_p>;
|
|
|
|
next-level-cache = <&l2_cache_1>;
|
|
|
|
i-cache-size = <0x30000>;
|
|
|
|
d-cache-size = <0x20000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
cpu_p3: cpu@10103 {
|
|
|
|
compatible = "apple,avalanche";
|
|
|
|
device_type = "cpu";
|
|
|
|
reg = <0x0 0x10103>;
|
|
|
|
enable-method = "spin-table";
|
|
|
|
cpu-release-addr = <0 0>; /* To be filled by loader */
|
|
|
|
operating-points-v2 = <&pcluster_opp>;
|
|
|
|
capacity-dmips-mhz = <1024>;
|
|
|
|
performance-domains = <&cpufreq_p>;
|
|
|
|
next-level-cache = <&l2_cache_1>;
|
|
|
|
i-cache-size = <0x30000>;
|
|
|
|
d-cache-size = <0x20000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
l2_cache_0: l2-cache-0 {
|
|
|
|
compatible = "cache";
|
|
|
|
cache-level = <2>;
|
|
|
|
cache-unified;
|
|
|
|
cache-size = <0x400000>;
|
|
|
|
};
|
|
|
|
|
|
|
|
l2_cache_1: l2-cache-1 {
|
|
|
|
compatible = "cache";
|
|
|
|
cache-level = <2>;
|
|
|
|
cache-unified;
|
|
|
|
cache-size = <0x1000000>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
ecluster_opp: opp-table-0 {
|
|
|
|
compatible = "operating-points-v2";
|
|
|
|
opp-shared;
|
|
|
|
|
|
|
|
opp01 {
|
|
|
|
opp-hz = /bits/ 64 <600000000>;
|
|
|
|
opp-level = <1>;
|
|
|
|
clock-latency-ns = <7500>;
|
|
|
|
};
|
|
|
|
opp02 {
|
|
|
|
opp-hz = /bits/ 64 <912000000>;
|
|
|
|
opp-level = <2>;
|
|
|
|
clock-latency-ns = <20000>;
|
|
|
|
};
|
|
|
|
opp03 {
|
|
|
|
opp-hz = /bits/ 64 <1284000000>;
|
|
|
|
opp-level = <3>;
|
|
|
|
clock-latency-ns = <22000>;
|
|
|
|
};
|
|
|
|
opp04 {
|
|
|
|
opp-hz = /bits/ 64 <1752000000>;
|
|
|
|
opp-level = <4>;
|
|
|
|
clock-latency-ns = <30000>;
|
|
|
|
};
|
|
|
|
opp05 {
|
|
|
|
opp-hz = /bits/ 64 <2004000000>;
|
|
|
|
opp-level = <5>;
|
|
|
|
clock-latency-ns = <35000>;
|
|
|
|
};
|
|
|
|
opp06 {
|
|
|
|
opp-hz = /bits/ 64 <2256000000>;
|
|
|
|
opp-level = <6>;
|
|
|
|
clock-latency-ns = <39000>;
|
|
|
|
};
|
|
|
|
opp07 {
|
|
|
|
opp-hz = /bits/ 64 <2424000000>;
|
|
|
|
opp-level = <7>;
|
|
|
|
clock-latency-ns = <53000>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
pcluster_opp: opp-table-1 {
|
|
|
|
compatible = "operating-points-v2";
|
|
|
|
opp-shared;
|
|
|
|
|
|
|
|
opp01 {
|
|
|
|
opp-hz = /bits/ 64 <660000000>;
|
|
|
|
opp-level = <1>;
|
|
|
|
clock-latency-ns = <9000>;
|
|
|
|
};
|
|
|
|
opp02 {
|
|
|
|
opp-hz = /bits/ 64 <924000000>;
|
|
|
|
opp-level = <2>;
|
|
|
|
clock-latency-ns = <19000>;
|
|
|
|
};
|
|
|
|
opp03 {
|
|
|
|
opp-hz = /bits/ 64 <1188000000>;
|
|
|
|
opp-level = <3>;
|
|
|
|
clock-latency-ns = <22000>;
|
|
|
|
};
|
|
|
|
opp04 {
|
|
|
|
opp-hz = /bits/ 64 <1452000000>;
|
|
|
|
opp-level = <4>;
|
|
|
|
clock-latency-ns = <24000>;
|
|
|
|
};
|
|
|
|
opp05 {
|
|
|
|
opp-hz = /bits/ 64 <1704000000>;
|
|
|
|
opp-level = <5>;
|
|
|
|
clock-latency-ns = <26000>;
|
|
|
|
};
|
|
|
|
opp06 {
|
|
|
|
opp-hz = /bits/ 64 <1968000000>;
|
|
|
|
opp-level = <6>;
|
|
|
|
clock-latency-ns = <28000>;
|
|
|
|
};
|
|
|
|
opp07 {
|
|
|
|
opp-hz = /bits/ 64 <2208000000>;
|
|
|
|
opp-level = <7>;
|
|
|
|
clock-latency-ns = <30000>;
|
|
|
|
};
|
|
|
|
opp08 {
|
|
|
|
opp-hz = /bits/ 64 <2400000000>;
|
|
|
|
opp-level = <8>;
|
|
|
|
clock-latency-ns = <33000>;
|
|
|
|
};
|
|
|
|
opp09 {
|
|
|
|
opp-hz = /bits/ 64 <2568000000>;
|
|
|
|
opp-level = <9>;
|
|
|
|
clock-latency-ns = <34000>;
|
|
|
|
};
|
|
|
|
opp10 {
|
|
|
|
opp-hz = /bits/ 64 <2724000000>;
|
|
|
|
opp-level = <10>;
|
|
|
|
clock-latency-ns = <36000>;
|
|
|
|
};
|
|
|
|
opp11 {
|
|
|
|
opp-hz = /bits/ 64 <2868000000>;
|
|
|
|
opp-level = <11>;
|
|
|
|
clock-latency-ns = <41000>;
|
|
|
|
};
|
|
|
|
opp12 {
|
|
|
|
opp-hz = /bits/ 64 <2988000000>;
|
|
|
|
opp-level = <12>;
|
|
|
|
clock-latency-ns = <42000>;
|
|
|
|
};
|
|
|
|
opp13 {
|
|
|
|
opp-hz = /bits/ 64 <3096000000>;
|
|
|
|
opp-level = <13>;
|
|
|
|
clock-latency-ns = <44000>;
|
|
|
|
};
|
|
|
|
opp14 {
|
|
|
|
opp-hz = /bits/ 64 <3204000000>;
|
|
|
|
opp-level = <14>;
|
|
|
|
clock-latency-ns = <46000>;
|
|
|
|
};
|
|
|
|
/* Not available until CPU deep sleep is implemented */
|
|
|
|
#if 0
|
|
|
|
opp15 {
|
|
|
|
opp-hz = /bits/ 64 <3324000000>;
|
|
|
|
opp-level = <15>;
|
|
|
|
clock-latency-ns = <62000>;
|
|
|
|
turbo-mode;
|
|
|
|
};
|
|
|
|
opp16 {
|
|
|
|
opp-hz = /bits/ 64 <3408000000>;
|
|
|
|
opp-level = <16>;
|
|
|
|
clock-latency-ns = <62000>;
|
|
|
|
turbo-mode;
|
|
|
|
};
|
|
|
|
opp17 {
|
|
|
|
opp-hz = /bits/ 64 <3504000000>;
|
|
|
|
opp-level = <17>;
|
|
|
|
clock-latency-ns = <62000>;
|
|
|
|
turbo-mode;
|
|
|
|
};
|
|
|
|
#endif
|
|
|
|
};
|
|
|
|
|
|
|
|
timer {
|
|
|
|
compatible = "arm,armv8-timer";
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt";
|
|
|
|
interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
};
|
|
|
|
|
|
|
|
pmu-e {
|
|
|
|
compatible = "apple,blizzard-pmu";
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_FIQ AIC_CPU_PMU_E IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
};
|
|
|
|
|
|
|
|
pmu-p {
|
|
|
|
compatible = "apple,avalanche-pmu";
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_FIQ AIC_CPU_PMU_P IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
};
|
|
|
|
|
|
|
|
clkref: clock-ref {
|
|
|
|
compatible = "fixed-clock";
|
|
|
|
#clock-cells = <0>;
|
|
|
|
clock-frequency = <24000000>;
|
|
|
|
clock-output-names = "clkref";
|
|
|
|
};
|
|
|
|
|
2024-12-03 08:57:59 +01:00
|
|
|
clk_200m: clock-200m {
|
|
|
|
compatible = "fixed-clock";
|
|
|
|
#clock-cells = <0>;
|
|
|
|
clock-frequency = <200000000>;
|
|
|
|
clock-output-names = "clk_200m";
|
|
|
|
};
|
|
|
|
|
arm64: dts: apple: t8112: Initial t8112 (M2) device trees
This adds device trees for the following devices:
- Macbook Air (M2, 2022)
- Macbook Pro 13" (M2, 2022)
- Mac mini (M2, 2023)
This brings the hardware support of the machines to the same level as M1
and M1 Pro / Max / Ultra. Supported hardware include NVMe, PCIe, serial,
pinctrl/gpio, I2C, iommu, watchdog, admac, nco, cpufreq, boot
framebuffer for laptop panels and the interrupt controller.
The ethernet LAN device on the M2 Mac mini is the only working PCIe
device. The Wlan/BT devices are powered off and controlled by the not
yet supported SMC. The ASMedia xHCI on the M2 Mac mini requires firmware
to be loaded at startup.
The main missing hardware support to make these devices useful are the
integrated USB 2/3/4 controller, keyboard and trackpad on the laptops
and SMC to power the PCIe Wlan/BT device on.
The M2 Mac mini has currently no working display output. Due to changes
in the display pipeline it is currently not possible to initialize the
HDMI output in the bootloader.
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-03-07 13:10:21 +01:00
|
|
|
/*
|
|
|
|
* This is a fabulated representation of the input clock
|
|
|
|
* to NCO since we don't know the true clock tree.
|
|
|
|
*/
|
|
|
|
nco_clkref: clock-ref-nco {
|
|
|
|
compatible = "fixed-clock";
|
|
|
|
#clock-cells = <0>;
|
|
|
|
clock-output-names = "nco_ref";
|
|
|
|
};
|
|
|
|
|
2025-07-10 00:21:45 +02:00
|
|
|
reserved-memory {
|
|
|
|
#address-cells = <2>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
ranges;
|
|
|
|
|
|
|
|
gpu_globals: globals {
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
gpu_hw_cal_a: hw-cal-a {
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
gpu_hw_cal_b: hw-cal-b {
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
uat_handoff: uat-handoff {
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
uat_pagetables: uat-pagetables {
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
uat_ttbs: uat-ttbs {
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
arm64: dts: apple: t8112: Initial t8112 (M2) device trees
This adds device trees for the following devices:
- Macbook Air (M2, 2022)
- Macbook Pro 13" (M2, 2022)
- Mac mini (M2, 2023)
This brings the hardware support of the machines to the same level as M1
and M1 Pro / Max / Ultra. Supported hardware include NVMe, PCIe, serial,
pinctrl/gpio, I2C, iommu, watchdog, admac, nco, cpufreq, boot
framebuffer for laptop panels and the interrupt controller.
The ethernet LAN device on the M2 Mac mini is the only working PCIe
device. The Wlan/BT devices are powered off and controlled by the not
yet supported SMC. The ASMedia xHCI on the M2 Mac mini requires firmware
to be loaded at startup.
The main missing hardware support to make these devices useful are the
integrated USB 2/3/4 controller, keyboard and trackpad on the laptops
and SMC to power the PCIe Wlan/BT device on.
The M2 Mac mini has currently no working display output. Due to changes
in the display pipeline it is currently not possible to initialize the
HDMI output in the bootloader.
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-03-07 13:10:21 +01:00
|
|
|
soc {
|
|
|
|
compatible = "simple-bus";
|
|
|
|
#address-cells = <2>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
|
|
|
|
ranges;
|
|
|
|
nonposted-mmio;
|
|
|
|
|
2025-07-10 00:21:45 +02:00
|
|
|
gpu: gpu@206400000 {
|
|
|
|
compatible = "apple,agx-g14g";
|
|
|
|
reg = <0x2 0x6400000 0 0x40000>,
|
|
|
|
<0x2 0x4000000 0 0x1000000>;
|
|
|
|
reg-names = "asc", "sgx";
|
|
|
|
mboxes = <&agx_mbox>;
|
|
|
|
power-domains = <&ps_gfx>;
|
|
|
|
memory-region = <&uat_ttbs>, <&uat_pagetables>, <&uat_handoff>,
|
|
|
|
<&gpu_hw_cal_a>, <&gpu_hw_cal_b>, <&gpu_globals>;
|
|
|
|
memory-region-names = "ttbs", "pagetables", "handoff",
|
|
|
|
"hw-cal-a", "hw-cal-b", "globals";
|
|
|
|
|
|
|
|
apple,firmware-abi = <0 0 0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
agx_mbox: mbox@206408000 {
|
|
|
|
compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
|
|
|
|
reg = <0x2 0x6408000 0x0 0x4000>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 709 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 710 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 711 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 712 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
interrupt-names = "send-empty", "send-not-empty",
|
|
|
|
"recv-empty", "recv-not-empty";
|
|
|
|
#mbox-cells = <0>;
|
|
|
|
};
|
|
|
|
|
arm64: dts: apple: t8112: Initial t8112 (M2) device trees
This adds device trees for the following devices:
- Macbook Air (M2, 2022)
- Macbook Pro 13" (M2, 2022)
- Mac mini (M2, 2023)
This brings the hardware support of the machines to the same level as M1
and M1 Pro / Max / Ultra. Supported hardware include NVMe, PCIe, serial,
pinctrl/gpio, I2C, iommu, watchdog, admac, nco, cpufreq, boot
framebuffer for laptop panels and the interrupt controller.
The ethernet LAN device on the M2 Mac mini is the only working PCIe
device. The Wlan/BT devices are powered off and controlled by the not
yet supported SMC. The ASMedia xHCI on the M2 Mac mini requires firmware
to be loaded at startup.
The main missing hardware support to make these devices useful are the
integrated USB 2/3/4 controller, keyboard and trackpad on the laptops
and SMC to power the PCIe Wlan/BT device on.
The M2 Mac mini has currently no working display output. Due to changes
in the display pipeline it is currently not possible to initialize the
HDMI output in the bootloader.
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-03-07 13:10:21 +01:00
|
|
|
cpufreq_e: cpufreq@210e20000 {
|
|
|
|
compatible = "apple,t8112-cluster-cpufreq", "apple,cluster-cpufreq";
|
|
|
|
reg = <0x2 0x10e20000 0 0x1000>;
|
|
|
|
#performance-domain-cells = <0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
cpufreq_p: cpufreq@211e20000 {
|
|
|
|
compatible = "apple,t8112-cluster-cpufreq", "apple,cluster-cpufreq";
|
|
|
|
reg = <0x2 0x11e20000 0 0x1000>;
|
|
|
|
#performance-domain-cells = <0>;
|
|
|
|
};
|
|
|
|
|
2025-02-17 12:39:34 +01:00
|
|
|
display_dfr: display-pipe@228200000 {
|
|
|
|
compatible = "apple,t8112-display-pipe", "apple,h7-display-pipe";
|
|
|
|
reg = <0x2 0x28200000 0x0 0xc000>,
|
|
|
|
<0x2 0x28400000 0x0 0x4000>;
|
|
|
|
reg-names = "be", "fe";
|
|
|
|
power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 614 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 618 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
interrupt-names = "be", "fe";
|
|
|
|
iommus = <&displaydfr_dart 0>;
|
|
|
|
status = "disabled";
|
|
|
|
|
|
|
|
port {
|
|
|
|
dfr_adp_out_mipi: endpoint {
|
|
|
|
remote-endpoint = <&dfr_mipi_in_adp>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
displaydfr_dart: iommu@228304000 {
|
|
|
|
compatible = "apple,t8110-dart";
|
|
|
|
reg = <0x2 0x28304000 0x0 0x4000>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 616 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
#iommu-cells = <1>;
|
|
|
|
power-domains = <&ps_dispdfr_fe>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
displaydfr_mipi: dsi@228600000 {
|
|
|
|
compatible = "apple,t8112-display-pipe-mipi", "apple,h7-display-pipe-mipi";
|
|
|
|
reg = <0x2 0x28600000 0x0 0x100000>;
|
|
|
|
power-domains = <&ps_mipi_dsi>;
|
|
|
|
status = "disabled";
|
|
|
|
|
|
|
|
ports {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
|
|
|
|
dfr_mipi_in: port@0 {
|
|
|
|
reg = <0>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
|
|
|
|
dfr_mipi_in_adp: endpoint@0 {
|
|
|
|
reg = <0>;
|
|
|
|
remote-endpoint = <&dfr_adp_out_mipi>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
dfr_mipi_out: port@1 {
|
|
|
|
reg = <1>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
arm64: dts: apple: t8112: Initial t8112 (M2) device trees
This adds device trees for the following devices:
- Macbook Air (M2, 2022)
- Macbook Pro 13" (M2, 2022)
- Mac mini (M2, 2023)
This brings the hardware support of the machines to the same level as M1
and M1 Pro / Max / Ultra. Supported hardware include NVMe, PCIe, serial,
pinctrl/gpio, I2C, iommu, watchdog, admac, nco, cpufreq, boot
framebuffer for laptop panels and the interrupt controller.
The ethernet LAN device on the M2 Mac mini is the only working PCIe
device. The Wlan/BT devices are powered off and controlled by the not
yet supported SMC. The ASMedia xHCI on the M2 Mac mini requires firmware
to be loaded at startup.
The main missing hardware support to make these devices useful are the
integrated USB 2/3/4 controller, keyboard and trackpad on the laptops
and SMC to power the PCIe Wlan/BT device on.
The M2 Mac mini has currently no working display output. Due to changes
in the display pipeline it is currently not possible to initialize the
HDMI output in the bootloader.
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-03-07 13:10:21 +01:00
|
|
|
sio_dart: iommu@235004000 {
|
|
|
|
compatible = "apple,t8110-dart";
|
|
|
|
reg = <0x2 0x35004000 0x0 0x4000>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 769 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
#iommu-cells = <1>;
|
|
|
|
power-domains = <&ps_sio_cpu>;
|
|
|
|
};
|
|
|
|
|
|
|
|
i2c0: i2c@235010000 {
|
|
|
|
compatible = "apple,t8112-i2c", "apple,i2c";
|
|
|
|
reg = <0x2 0x35010000 0x0 0x4000>;
|
|
|
|
clocks = <&clkref>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 761 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
pinctrl-0 = <&i2c0_pins>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
#address-cells = <0x1>;
|
|
|
|
#size-cells = <0x0>;
|
|
|
|
power-domains = <&ps_i2c0>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
i2c1: i2c@235014000 {
|
|
|
|
compatible = "apple,t8112-i2c", "apple,i2c";
|
|
|
|
reg = <0x2 0x35014000 0x0 0x4000>;
|
|
|
|
clocks = <&clkref>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 762 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
pinctrl-0 = <&i2c1_pins>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
#address-cells = <0x1>;
|
|
|
|
#size-cells = <0x0>;
|
|
|
|
power-domains = <&ps_i2c1>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
i2c2: i2c@235018000 {
|
|
|
|
compatible = "apple,t8112-i2c", "apple,i2c";
|
|
|
|
reg = <0x2 0x35018000 0x0 0x4000>;
|
|
|
|
clocks = <&clkref>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 763 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
pinctrl-0 = <&i2c2_pins>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
#address-cells = <0x1>;
|
|
|
|
#size-cells = <0x0>;
|
|
|
|
power-domains = <&ps_i2c2>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
i2c3: i2c@23501c000 {
|
|
|
|
compatible = "apple,t8112-i2c", "apple,i2c";
|
|
|
|
reg = <0x2 0x3501c000 0x0 0x4000>;
|
|
|
|
clocks = <&clkref>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 764 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
pinctrl-0 = <&i2c3_pins>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
#address-cells = <0x1>;
|
|
|
|
#size-cells = <0x0>;
|
|
|
|
power-domains = <&ps_i2c3>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
i2c4: i2c@235020000 {
|
|
|
|
compatible = "apple,t8112-i2c", "apple,i2c";
|
|
|
|
reg = <0x2 0x35020000 0x0 0x4000>;
|
|
|
|
clocks = <&clkref>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 765 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
pinctrl-0 = <&i2c4_pins>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
#address-cells = <0x1>;
|
|
|
|
#size-cells = <0x0>;
|
|
|
|
power-domains = <&ps_i2c4>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
2023-04-09 11:18:46 +02:00
|
|
|
fpwm1: pwm@235044000 {
|
|
|
|
compatible = "apple,t8112-fpwm", "apple,s5l-fpwm";
|
|
|
|
reg = <0x2 0x35044000 0x0 0x4000>;
|
|
|
|
power-domains = <&ps_fpwm1>;
|
|
|
|
clocks = <&clkref>;
|
|
|
|
#pwm-cells = <2>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
2024-12-03 08:57:59 +01:00
|
|
|
spi1: spi@235104000 {
|
|
|
|
compatible = "apple,t8112-spi", "apple,spi";
|
|
|
|
reg = <0x2 0x35104000 0x0 0x4000>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 749 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
clocks = <&clk_200m>;
|
|
|
|
pinctrl-0 = <&spi1_pins>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
power-domains = <&ps_spi1>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
spi3: spi@23510c000 {
|
|
|
|
compatible = "apple,t8112-spi", "apple,spi";
|
|
|
|
reg = <0x2 0x3510c000 0x0 0x4000>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 751 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
clocks = <&clkref>;
|
|
|
|
pinctrl-0 = <&spi3_pins>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
power-domains = <&ps_spi3>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
2025-02-25 22:19:54 +01:00
|
|
|
status = "disabled"; /* only used in J493 */
|
2024-12-03 08:57:59 +01:00
|
|
|
};
|
|
|
|
|
arm64: dts: apple: t8112: Initial t8112 (M2) device trees
This adds device trees for the following devices:
- Macbook Air (M2, 2022)
- Macbook Pro 13" (M2, 2022)
- Mac mini (M2, 2023)
This brings the hardware support of the machines to the same level as M1
and M1 Pro / Max / Ultra. Supported hardware include NVMe, PCIe, serial,
pinctrl/gpio, I2C, iommu, watchdog, admac, nco, cpufreq, boot
framebuffer for laptop panels and the interrupt controller.
The ethernet LAN device on the M2 Mac mini is the only working PCIe
device. The Wlan/BT devices are powered off and controlled by the not
yet supported SMC. The ASMedia xHCI on the M2 Mac mini requires firmware
to be loaded at startup.
The main missing hardware support to make these devices useful are the
integrated USB 2/3/4 controller, keyboard and trackpad on the laptops
and SMC to power the PCIe Wlan/BT device on.
The M2 Mac mini has currently no working display output. Due to changes
in the display pipeline it is currently not possible to initialize the
HDMI output in the bootloader.
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-03-07 13:10:21 +01:00
|
|
|
serial0: serial@235200000 {
|
|
|
|
compatible = "apple,s5l-uart";
|
|
|
|
reg = <0x2 0x35200000 0x0 0x1000>;
|
|
|
|
reg-io-width = <4>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 739 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
/*
|
|
|
|
* TODO: figure out the clocking properly, there may
|
|
|
|
* be a third selectable clock.
|
|
|
|
*/
|
|
|
|
clocks = <&clkref>, <&clkref>;
|
|
|
|
clock-names = "uart", "clk_uart_baud0";
|
|
|
|
power-domains = <&ps_uart0>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
serial2: serial@235208000 {
|
|
|
|
compatible = "apple,s5l-uart";
|
|
|
|
reg = <0x2 0x35208000 0x0 0x1000>;
|
|
|
|
reg-io-width = <4>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 741 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
clocks = <&clkref>, <&clkref>;
|
|
|
|
clock-names = "uart", "clk_uart_baud0";
|
|
|
|
power-domains = <&ps_uart2>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
admac: dma-controller@238200000 {
|
|
|
|
compatible = "apple,t8112-admac", "apple,admac";
|
|
|
|
reg = <0x2 0x38200000 0x0 0x34000>;
|
|
|
|
dma-channels = <24>;
|
|
|
|
interrupts-extended = <0>,
|
|
|
|
<&aic AIC_IRQ 760 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<0>,
|
|
|
|
<0>;
|
|
|
|
#dma-cells = <1>;
|
|
|
|
iommus = <&sio_dart 2>;
|
|
|
|
power-domains = <&ps_sio_adma>;
|
|
|
|
resets = <&ps_audio_p>;
|
|
|
|
};
|
|
|
|
|
|
|
|
mca: i2s@238400000 {
|
|
|
|
compatible = "apple,t8112-mca", "apple,mca";
|
|
|
|
reg = <0x2 0x38400000 0x0 0x18000>,
|
|
|
|
<0x2 0x38300000 0x0 0x30000>;
|
|
|
|
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 753 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 754 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 755 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 756 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 757 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 758 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
|
|
|
|
resets = <&ps_audio_p>;
|
|
|
|
clocks = <&nco 0>, <&nco 1>, <&nco 2>,
|
|
|
|
<&nco 3>, <&nco 4>, <&nco 4>;
|
|
|
|
power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>,
|
|
|
|
<&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>;
|
|
|
|
dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>,
|
|
|
|
<&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>,
|
|
|
|
<&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>,
|
|
|
|
<&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>,
|
|
|
|
<&admac 16>, <&admac 17>, <&admac 18>, <&admac 19>,
|
|
|
|
<&admac 20>, <&admac 21>, <&admac 22>, <&admac 23>;
|
|
|
|
dma-names = "tx0a", "rx0a", "tx0b", "rx0b",
|
|
|
|
"tx1a", "rx1a", "tx1b", "rx1b",
|
|
|
|
"tx2a", "rx2a", "tx2b", "rx2b",
|
|
|
|
"tx3a", "rx3a", "tx3b", "rx3b",
|
|
|
|
"tx4a", "rx4a", "tx4b", "rx4b",
|
|
|
|
"tx5a", "rx5a", "tx5b", "rx5b";
|
|
|
|
|
|
|
|
#sound-dai-cells = <1>;
|
|
|
|
};
|
|
|
|
|
|
|
|
nco: clock-controller@23b044000 {
|
|
|
|
compatible = "apple,t8112-nco", "apple,nco";
|
|
|
|
reg = <0x2 0x3b044000 0x0 0x14000>;
|
|
|
|
clocks = <&nco_clkref>;
|
|
|
|
#clock-cells = <1>;
|
|
|
|
};
|
|
|
|
|
|
|
|
aic: interrupt-controller@23b0c0000 {
|
|
|
|
compatible = "apple,t8112-aic", "apple,aic2";
|
|
|
|
#interrupt-cells = <3>;
|
|
|
|
interrupt-controller;
|
|
|
|
reg = <0x2 0x3b0c0000 0x0 0x8000>,
|
|
|
|
<0x2 0x3b0c8000 0x0 0x4>;
|
|
|
|
reg-names = "core", "event";
|
|
|
|
power-domains = <&ps_aic>;
|
|
|
|
|
|
|
|
affinities {
|
|
|
|
e-core-pmu-affinity {
|
|
|
|
apple,fiq-index = <AIC_CPU_PMU_E>;
|
|
|
|
cpus = <&cpu_e0 &cpu_e1 &cpu_e2 &cpu_e3>;
|
|
|
|
};
|
|
|
|
|
|
|
|
p-core-pmu-affinity {
|
|
|
|
apple,fiq-index = <AIC_CPU_PMU_P>;
|
|
|
|
cpus = <&cpu_p0 &cpu_p1 &cpu_p2 &cpu_p3>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
pmgr: power-management@23b700000 {
|
|
|
|
compatible = "apple,t8112-pmgr", "apple,pmgr", "syscon", "simple-mfd";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
reg = <0x2 0x3b700000 0 0x14000>;
|
|
|
|
/* child nodes are added in t8103-pmgr.dtsi */
|
|
|
|
};
|
|
|
|
|
|
|
|
pinctrl_ap: pinctrl@23c100000 {
|
|
|
|
compatible = "apple,t8112-pinctrl", "apple,pinctrl";
|
|
|
|
reg = <0x2 0x3c100000 0x0 0x100000>;
|
|
|
|
power-domains = <&ps_gpio>;
|
|
|
|
|
|
|
|
gpio-controller;
|
|
|
|
#gpio-cells = <2>;
|
|
|
|
gpio-ranges = <&pinctrl_ap 0 0 213>;
|
|
|
|
apple,npins = <213>;
|
|
|
|
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <2>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 199 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 200 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 201 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 202 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 203 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 204 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 205 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
|
|
|
|
i2c0_pins: i2c0-pins {
|
|
|
|
pinmux = <APPLE_PINMUX(111, 1)>,
|
|
|
|
<APPLE_PINMUX(110, 1)>;
|
|
|
|
};
|
|
|
|
|
|
|
|
i2c1_pins: i2c1-pins {
|
|
|
|
pinmux = <APPLE_PINMUX(113, 1)>,
|
|
|
|
<APPLE_PINMUX(112, 1)>;
|
|
|
|
};
|
|
|
|
|
|
|
|
i2c2_pins: i2c2-pins {
|
|
|
|
pinmux = <APPLE_PINMUX(87, 1)>,
|
|
|
|
<APPLE_PINMUX(86, 1)>;
|
|
|
|
};
|
|
|
|
|
|
|
|
i2c3_pins: i2c3-pins {
|
|
|
|
pinmux = <APPLE_PINMUX(54, 1)>,
|
|
|
|
<APPLE_PINMUX(53, 1)>;
|
|
|
|
};
|
|
|
|
|
|
|
|
i2c4_pins: i2c4-pins {
|
|
|
|
pinmux = <APPLE_PINMUX(131, 1)>,
|
|
|
|
<APPLE_PINMUX(130, 1)>;
|
|
|
|
};
|
|
|
|
|
2024-12-03 08:57:59 +01:00
|
|
|
spi1_pins: spi1-pins {
|
arm64: dts: apple: t8112: Initial t8112 (M2) device trees
This adds device trees for the following devices:
- Macbook Air (M2, 2022)
- Macbook Pro 13" (M2, 2022)
- Mac mini (M2, 2023)
This brings the hardware support of the machines to the same level as M1
and M1 Pro / Max / Ultra. Supported hardware include NVMe, PCIe, serial,
pinctrl/gpio, I2C, iommu, watchdog, admac, nco, cpufreq, boot
framebuffer for laptop panels and the interrupt controller.
The ethernet LAN device on the M2 Mac mini is the only working PCIe
device. The Wlan/BT devices are powered off and controlled by the not
yet supported SMC. The ASMedia xHCI on the M2 Mac mini requires firmware
to be loaded at startup.
The main missing hardware support to make these devices useful are the
integrated USB 2/3/4 controller, keyboard and trackpad on the laptops
and SMC to power the PCIe Wlan/BT device on.
The M2 Mac mini has currently no working display output. Due to changes
in the display pipeline it is currently not possible to initialize the
HDMI output in the bootloader.
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-03-07 13:10:21 +01:00
|
|
|
pinmux = <APPLE_PINMUX(46, 1)>,
|
|
|
|
<APPLE_PINMUX(47, 1)>,
|
|
|
|
<APPLE_PINMUX(48, 1)>,
|
|
|
|
<APPLE_PINMUX(49, 1)>;
|
|
|
|
};
|
|
|
|
|
2024-12-03 08:57:59 +01:00
|
|
|
spi3_pins: spi3-pins {
|
|
|
|
pinmux = <APPLE_PINMUX(93, 1)>,
|
|
|
|
<APPLE_PINMUX(94, 1)>,
|
|
|
|
<APPLE_PINMUX(95, 1)>,
|
|
|
|
<APPLE_PINMUX(96, 1)>;
|
|
|
|
};
|
|
|
|
|
arm64: dts: apple: t8112: Initial t8112 (M2) device trees
This adds device trees for the following devices:
- Macbook Air (M2, 2022)
- Macbook Pro 13" (M2, 2022)
- Mac mini (M2, 2023)
This brings the hardware support of the machines to the same level as M1
and M1 Pro / Max / Ultra. Supported hardware include NVMe, PCIe, serial,
pinctrl/gpio, I2C, iommu, watchdog, admac, nco, cpufreq, boot
framebuffer for laptop panels and the interrupt controller.
The ethernet LAN device on the M2 Mac mini is the only working PCIe
device. The Wlan/BT devices are powered off and controlled by the not
yet supported SMC. The ASMedia xHCI on the M2 Mac mini requires firmware
to be loaded at startup.
The main missing hardware support to make these devices useful are the
integrated USB 2/3/4 controller, keyboard and trackpad on the laptops
and SMC to power the PCIe Wlan/BT device on.
The M2 Mac mini has currently no working display output. Due to changes
in the display pipeline it is currently not possible to initialize the
HDMI output in the bootloader.
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-03-07 13:10:21 +01:00
|
|
|
pcie_pins: pcie-pins {
|
|
|
|
pinmux = <APPLE_PINMUX(162, 1)>,
|
|
|
|
<APPLE_PINMUX(163, 1)>,
|
|
|
|
<APPLE_PINMUX(164, 1)>;
|
|
|
|
// TODO: 1 more CLKREQs
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
pinctrl_nub: pinctrl@23d1f0000 {
|
|
|
|
compatible = "apple,t8112-pinctrl", "apple,pinctrl";
|
|
|
|
reg = <0x2 0x3d1f0000 0x0 0x4000>;
|
|
|
|
power-domains = <&ps_nub_gpio>;
|
|
|
|
|
|
|
|
gpio-controller;
|
|
|
|
#gpio-cells = <2>;
|
|
|
|
gpio-ranges = <&pinctrl_nub 0 0 24>;
|
|
|
|
apple,npins = <24>;
|
|
|
|
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <2>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 371 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 372 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 373 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 374 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 375 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 376 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 377 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
};
|
|
|
|
|
|
|
|
pmgr_mini: power-management@23d280000 {
|
|
|
|
compatible = "apple,t8112-pmgr", "apple,pmgr", "syscon", "simple-mfd";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
reg = <0x2 0x3d280000 0 0x4000>;
|
|
|
|
/* child nodes are added in t8103-pmgr.dtsi */
|
|
|
|
};
|
|
|
|
|
|
|
|
wdt: watchdog@23d2b0000 {
|
|
|
|
compatible = "apple,t8112-wdt", "apple,wdt";
|
|
|
|
reg = <0x2 0x3d2b0000 0x0 0x4000>;
|
|
|
|
clocks = <&clkref>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 379 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
};
|
|
|
|
|
2025-04-09 23:52:14 +02:00
|
|
|
nub_spmi: spmi@23d714000 {
|
|
|
|
compatible = "apple,t8112-spmi", "apple,spmi";
|
|
|
|
reg = <0x2 0x3d714000 0x0 0x100>;
|
|
|
|
#address-cells = <2>;
|
|
|
|
#size-cells = <0>;
|
2025-04-23 19:55:15 +02:00
|
|
|
|
|
|
|
pmic1: pmic@e {
|
|
|
|
compatible = "apple,stowe-pmic", "apple,spmi-nvmem";
|
|
|
|
reg = <0xe SPMI_USID>;
|
|
|
|
|
|
|
|
nvmem-layout {
|
|
|
|
compatible = "fixed-layout";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
|
|
|
|
fault_shadow: fault-shadow@867b {
|
|
|
|
reg = <0x867b 0x10>;
|
|
|
|
};
|
|
|
|
|
|
|
|
socd: socd@8b00 {
|
|
|
|
reg = <0x8b00 0x400>;
|
|
|
|
};
|
|
|
|
|
|
|
|
boot_stage: boot-stage@f701 {
|
|
|
|
reg = <0xf701 0x1>;
|
|
|
|
};
|
|
|
|
|
2025-06-10 17:17:35 +00:00
|
|
|
boot_error_count: boot-error-count@f702,0 {
|
2025-04-23 19:55:15 +02:00
|
|
|
reg = <0xf702 0x1>;
|
|
|
|
bits = <0 4>;
|
|
|
|
};
|
|
|
|
|
2025-06-10 17:17:35 +00:00
|
|
|
panic_count: panic-count@f702,4 {
|
2025-04-23 19:55:15 +02:00
|
|
|
reg = <0xf702 0x1>;
|
|
|
|
bits = <4 4>;
|
|
|
|
};
|
|
|
|
|
|
|
|
boot_error_stage: boot-error-stage@f703 {
|
|
|
|
reg = <0xf703 0x1>;
|
|
|
|
};
|
|
|
|
|
2025-06-10 17:17:35 +00:00
|
|
|
shutdown_flag: shutdown-flag@f70f,3 {
|
2025-04-23 19:55:15 +02:00
|
|
|
reg = <0xf70f 0x1>;
|
|
|
|
bits = <3 1>;
|
|
|
|
};
|
|
|
|
|
|
|
|
pm_setting: pm-setting@f801 {
|
|
|
|
reg = <0xf801 0x1>;
|
|
|
|
};
|
|
|
|
|
|
|
|
rtc_offset: rtc-offset@f900 {
|
|
|
|
reg = <0xf900 0x6>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2025-04-09 23:52:14 +02:00
|
|
|
};
|
|
|
|
|
arm64: dts: apple: t8112: Initial t8112 (M2) device trees
This adds device trees for the following devices:
- Macbook Air (M2, 2022)
- Macbook Pro 13" (M2, 2022)
- Mac mini (M2, 2023)
This brings the hardware support of the machines to the same level as M1
and M1 Pro / Max / Ultra. Supported hardware include NVMe, PCIe, serial,
pinctrl/gpio, I2C, iommu, watchdog, admac, nco, cpufreq, boot
framebuffer for laptop panels and the interrupt controller.
The ethernet LAN device on the M2 Mac mini is the only working PCIe
device. The Wlan/BT devices are powered off and controlled by the not
yet supported SMC. The ASMedia xHCI on the M2 Mac mini requires firmware
to be loaded at startup.
The main missing hardware support to make these devices useful are the
integrated USB 2/3/4 controller, keyboard and trackpad on the laptops
and SMC to power the PCIe Wlan/BT device on.
The M2 Mac mini has currently no working display output. Due to changes
in the display pipeline it is currently not possible to initialize the
HDMI output in the bootloader.
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
2023-03-07 13:10:21 +01:00
|
|
|
pinctrl_smc: pinctrl@23e820000 {
|
|
|
|
compatible = "apple,t8112-pinctrl", "apple,pinctrl";
|
|
|
|
reg = <0x2 0x3e820000 0x0 0x4000>;
|
|
|
|
|
|
|
|
gpio-controller;
|
|
|
|
#gpio-cells = <2>;
|
|
|
|
gpio-ranges = <&pinctrl_smc 0 0 18>;
|
|
|
|
apple,npins = <18>;
|
|
|
|
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <2>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 490 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 491 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 492 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 493 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 494 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 495 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 496 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
};
|
|
|
|
|
|
|
|
pinctrl_aop: pinctrl@24a820000 {
|
|
|
|
compatible = "apple,t8112-pinctrl", "apple,pinctrl";
|
|
|
|
reg = <0x2 0x4a820000 0x0 0x4000>;
|
|
|
|
|
|
|
|
gpio-controller;
|
|
|
|
#gpio-cells = <2>;
|
|
|
|
gpio-ranges = <&pinctrl_aop 0 0 54>;
|
|
|
|
apple,npins = <54>;
|
|
|
|
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <2>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 301 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 302 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 303 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 304 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 305 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 306 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 307 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
};
|
|
|
|
|
|
|
|
ans_mbox: mbox@277408000 {
|
|
|
|
compatible = "apple,t8112-asc-mailbox", "apple,asc-mailbox-v4";
|
|
|
|
reg = <0x2 0x77408000 0x0 0x4000>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 717 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 718 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 719 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 720 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
interrupt-names = "send-empty", "send-not-empty",
|
|
|
|
"recv-empty", "recv-not-empty";
|
|
|
|
#mbox-cells = <0>;
|
|
|
|
power-domains = <&ps_ans>;
|
|
|
|
};
|
|
|
|
|
|
|
|
sart: sart@27bc50000 {
|
|
|
|
compatible = "apple,t8112-sart", "apple,t6000-sart";
|
|
|
|
reg = <0x2 0x7bc50000 0x0 0x10000>;
|
|
|
|
power-domains = <&ps_ans>;
|
|
|
|
};
|
|
|
|
|
|
|
|
nvme@27bcc0000 {
|
|
|
|
compatible = "apple,t8112-nvme-ans2", "apple,nvme-ans2";
|
|
|
|
reg = <0x2 0x7bcc0000 0x0 0x40000>,
|
|
|
|
<0x2 0x77400000 0x0 0x4000>;
|
|
|
|
reg-names = "nvme", "ans";
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 724 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
mboxes = <&ans_mbox>;
|
|
|
|
apple,sart = <&sart>;
|
|
|
|
power-domains = <&ps_ans>, <&ps_apcie_st>;
|
|
|
|
power-domain-names = "ans", "apcie0";
|
|
|
|
resets = <&ps_ans>;
|
|
|
|
};
|
|
|
|
|
|
|
|
pcie0_dart: iommu@681008000 {
|
|
|
|
compatible = "apple,t8110-dart";
|
|
|
|
reg = <0x6 0x81008000 0x0 0x4000>;
|
|
|
|
#iommu-cells = <1>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 782 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
power-domains = <&ps_apcie_gp>;
|
|
|
|
};
|
|
|
|
|
|
|
|
pcie1_dart: iommu@682008000 {
|
|
|
|
compatible = "apple,t8110-dart";
|
|
|
|
reg = <0x6 0x82008000 0x0 0x4000>;
|
|
|
|
#iommu-cells = <1>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 785 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
power-domains = <&ps_apcie_gp>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
pcie2_dart: iommu@683008000 {
|
|
|
|
compatible = "apple,t8110-dart";
|
|
|
|
reg = <0x6 0x83008000 0x0 0x4000>;
|
|
|
|
#iommu-cells = <1>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 788 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
power-domains = <&ps_apcie_gp>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
pcie3_dart: iommu@684008000 {
|
|
|
|
compatible = "apple,t8110-dart";
|
|
|
|
reg = <0x6 0x84008000 0x0 0x4000>;
|
|
|
|
#iommu-cells = <1>;
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 791 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
power-domains = <&ps_apcie_gp>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
pcie0: pcie@690000000 {
|
|
|
|
compatible = "apple,t8112-pcie", "apple,pcie";
|
|
|
|
device_type = "pci";
|
|
|
|
|
|
|
|
reg = <0x6 0x90000000 0x0 0x1000000>,
|
|
|
|
<0x6 0x80000000 0x0 0x100000>,
|
|
|
|
<0x6 0x81000000 0x0 0x4000>,
|
|
|
|
<0x6 0x82000000 0x0 0x4000>,
|
|
|
|
<0x6 0x83000000 0x0 0x4000>,
|
|
|
|
<0x6 0x84000000 0x0 0x4000>;
|
|
|
|
reg-names = "config", "rc", "port0", "port1", "port2", "port3";
|
|
|
|
|
|
|
|
interrupt-parent = <&aic>;
|
|
|
|
interrupts = <AIC_IRQ 781 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 784 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 787 IRQ_TYPE_LEVEL_HIGH>,
|
|
|
|
<AIC_IRQ 790 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
|
|
|
|
msi-controller;
|
|
|
|
msi-parent = <&pcie0>;
|
|
|
|
msi-ranges = <&aic AIC_IRQ 793 IRQ_TYPE_EDGE_RISING 32>;
|
|
|
|
|
|
|
|
iommu-map = <0x100 &pcie0_dart 0 1>,
|
|
|
|
<0x200 &pcie1_dart 1 1>,
|
|
|
|
<0x300 &pcie2_dart 2 1>,
|
|
|
|
<0x400 &pcie3_dart 3 1>;
|
|
|
|
iommu-map-mask = <0xff00>;
|
|
|
|
|
|
|
|
bus-range = <0 4>;
|
|
|
|
#address-cells = <3>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
ranges = <0x43000000 0x6 0xa0000000 0x6 0xa0000000 0x0 0x20000000>,
|
|
|
|
<0x02000000 0x0 0xc0000000 0x6 0xc0000000 0x0 0x40000000>;
|
|
|
|
|
|
|
|
power-domains = <&ps_apcie_gp>;
|
|
|
|
pinctrl-0 = <&pcie_pins>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
|
|
|
|
port00: pci@0,0 {
|
|
|
|
device_type = "pci";
|
|
|
|
reg = <0x0 0x0 0x0 0x0 0x0>;
|
|
|
|
reset-gpios = <&pinctrl_ap 166 GPIO_ACTIVE_LOW>;
|
|
|
|
|
|
|
|
#address-cells = <3>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
ranges;
|
|
|
|
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <1>;
|
|
|
|
|
|
|
|
interrupt-map-mask = <0 0 0 7>;
|
|
|
|
interrupt-map = <0 0 0 1 &port00 0 0 0 0>,
|
|
|
|
<0 0 0 2 &port00 0 0 0 1>,
|
|
|
|
<0 0 0 3 &port00 0 0 0 2>,
|
|
|
|
<0 0 0 4 &port00 0 0 0 3>;
|
|
|
|
};
|
|
|
|
|
|
|
|
port01: pci@1,0 {
|
|
|
|
device_type = "pci";
|
|
|
|
reg = <0x800 0x0 0x0 0x0 0x0>;
|
|
|
|
reset-gpios = <&pinctrl_ap 167 GPIO_ACTIVE_LOW>;
|
|
|
|
|
|
|
|
#address-cells = <3>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
ranges;
|
|
|
|
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <1>;
|
|
|
|
|
|
|
|
interrupt-map-mask = <0 0 0 7>;
|
|
|
|
interrupt-map = <0 0 0 1 &port01 0 0 0 0>,
|
|
|
|
<0 0 0 2 &port01 0 0 0 1>,
|
|
|
|
<0 0 0 3 &port01 0 0 0 2>,
|
|
|
|
<0 0 0 4 &port01 0 0 0 3>;
|
|
|
|
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
port02: pci@2,0 {
|
|
|
|
device_type = "pci";
|
|
|
|
reg = <0x1000 0x0 0x0 0x0 0x0>;
|
|
|
|
reset-gpios = <&pinctrl_ap 168 GPIO_ACTIVE_LOW>;
|
|
|
|
|
|
|
|
#address-cells = <3>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
ranges;
|
|
|
|
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <1>;
|
|
|
|
|
|
|
|
interrupt-map-mask = <0 0 0 7>;
|
|
|
|
interrupt-map = <0 0 0 1 &port02 0 0 0 0>,
|
|
|
|
<0 0 0 2 &port02 0 0 0 1>,
|
|
|
|
<0 0 0 3 &port02 0 0 0 2>,
|
|
|
|
<0 0 0 4 &port02 0 0 0 3>;
|
|
|
|
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
/* TODO: GPIO unknown */
|
|
|
|
port03: pci@3,0 {
|
|
|
|
device_type = "pci";
|
|
|
|
reg = <0x1800 0x0 0x0 0x0 0x0>;
|
|
|
|
//reset-gpios = <&pinctrl_ap 33 GPIO_ACTIVE_LOW>;
|
|
|
|
|
|
|
|
#address-cells = <3>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
ranges;
|
|
|
|
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <1>;
|
|
|
|
|
|
|
|
interrupt-map-mask = <0 0 0 7>;
|
|
|
|
interrupt-map = <0 0 0 1 &port03 0 0 0 0>,
|
|
|
|
<0 0 0 2 &port03 0 0 0 1>,
|
|
|
|
<0 0 0 3 &port03 0 0 0 2>,
|
|
|
|
<0 0 0 4 &port03 0 0 0 3>;
|
|
|
|
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
#include "t8112-pmgr.dtsi"
|