Skip to content

Commit ebecad7

Browse files
committed
arm64: dts: apple: t600x: Add t6000 dispext device nodes
While thunderbolt and DP-altmode are not working 2 dispext/dcpext devices are enough. "dispext0" will be used for the HDMI output and dispext1 can be used for DP-altmopde experiments. All nodes are disabled and have be enabled explicitly in device .dts or .dtsi. Signed-off-by: Janne Grunau <j@jannau.net>
1 parent b7635e8 commit ebecad7

3 files changed

Lines changed: 164 additions & 0 deletions

File tree

arch/arm64/boot/dts/apple/t6002.dtsi

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,16 @@
305305
};
306306
};
307307

308+
&dcpext0_die1 {
309+
// TODO: verify
310+
apple,bw-scratch = <&pmgr_dcp 0 4 0x9c0>;
311+
};
312+
313+
&dcpext1_die1 {
314+
// TODO: verify
315+
apple,bw-scratch = <&pmgr_dcp 0 4 0x9c8>;
316+
};
317+
308318
&ps_gfx {
309319
// On t6002, the die0 GPU power domain needs both AFR power domains
310320
power-domains = <&ps_afr>, <&ps_afr_die1>;

arch/arm64/boot/dts/apple/t600x-common.dtsi

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,34 @@
441441
clock-frequency = <237333328>;
442442
clock-output-names = "clk_disp0";
443443
};
444+
445+
clk_dispext0: clock-dispext0 {
446+
compatible = "fixed-clock";
447+
#clock-cells = <0>;
448+
clock-frequency = <0>;
449+
clock-output-names = "clk_dispext0";
450+
};
451+
452+
clk_dispext0_die1: clock-dispext0_die1 {
453+
compatible = "fixed-clock";
454+
#clock-cells = <0>;
455+
clock-frequency = <0>;
456+
clock-output-names = "clk_dispext0_die1";
457+
};
458+
459+
clk_dispext1: clock-dispext1 {
460+
compatible = "fixed-clock";
461+
#clock-cells = <0>;
462+
clock-frequency = <0>;
463+
clock-output-names = "clk_dispext1";
464+
};
465+
466+
clk_dispext1_die1: clock-dispext1_die1 {
467+
compatible = "fixed-clock";
468+
#clock-cells = <0>;
469+
clock-frequency = <0>;
470+
clock-output-names = "clk_dispext1_die1";
471+
};
444472
/*
445473
* This is a fabulated representation of the input clock
446474
* to NCO since we don't know the true clock tree.

arch/arm64/boot/dts/apple/t600x-dieX.dtsi

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,132 @@
2424
#performance-domain-cells = <0>;
2525
};
2626

27+
DIE_NODE(dispext0_dart): iommu@289304000 {
28+
compatible = "apple,t6000-dart";
29+
reg = <0x2 0x89304000 0x0 0x4000>;
30+
#iommu-cells = <1>;
31+
interrupt-parent = <&aic>;
32+
interrupts = <AIC_IRQ DIE_NO 873 IRQ_TYPE_LEVEL_HIGH>;
33+
power-domains = <&DIE_NODE(ps_dispext0_cpu0)>;
34+
apple,dma-range = <0x0 0x0 0x0 0xfc000000>;
35+
status = "disabled";
36+
};
37+
38+
DIE_NODE(dcpext0_dart): iommu@28930c000 {
39+
compatible = "apple,t6000-dart";
40+
reg = <0x2 0x8930c000 0x0 0x4000>;
41+
#iommu-cells = <1>;
42+
interrupt-parent = <&aic>;
43+
interrupts = <AIC_IRQ DIE_NO 873 IRQ_TYPE_LEVEL_HIGH>;
44+
power-domains = <&DIE_NODE(ps_dispext0_cpu0)>;
45+
apple,dma-range = <0x1f0 0x0 0x0 0xfc000000>;
46+
status = "disabled";
47+
};
48+
49+
DIE_NODE(dcpext0_mbox): mbox@289c08000 {
50+
compatible = "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4";
51+
reg = <0x2 0x89c08000 0x0 0x4000>;
52+
interrupt-parent = <&aic>;
53+
interrupts = <AIC_IRQ DIE_NO 894 IRQ_TYPE_LEVEL_HIGH>,
54+
<AIC_IRQ DIE_NO 895 IRQ_TYPE_LEVEL_HIGH>,
55+
<AIC_IRQ DIE_NO 896 IRQ_TYPE_LEVEL_HIGH>,
56+
<AIC_IRQ DIE_NO 897 IRQ_TYPE_LEVEL_HIGH>;
57+
interrupt-names = "send-empty", "send-not-empty",
58+
"recv-empty", "recv-not-empty";
59+
#mbox-cells = <0>;
60+
power-domains = <&DIE_NODE(ps_dispext0_cpu0)>;
61+
resets = <&DIE_NODE(ps_dispext0_cpu0)>;
62+
status = "disabled";
63+
};
64+
65+
DIE_NODE(dcpext0): dcp@289c00000 {
66+
compatible = "apple,t6000-dcpext", "apple,dcpext";
67+
mboxes = <&DIE_NODE(dcpext0_mbox)>;
68+
mbox-names = "mbox";
69+
iommus = <&DIE_NODE(dcpext0_dart) 0>;
70+
71+
reg-names = "coproc", "disp-0", "disp-1", "disp-2", "disp-3";
72+
reg = <0x2 0x89c00000 0x0 0x4000>,
73+
<0x2 0x88000000 0x0 0x3000000>,
74+
<0x2 0x89320000 0x0 0x4000>,
75+
<0x2 0x89344000 0x0 0x4000>,
76+
<0x2 0x89800000 0x0 0x800000>;
77+
apple,bw-scratch = <&pmgr_dcp 0 4 0x990>;
78+
power-domains = <&DIE_NODE(ps_dispext0_cpu0)>;
79+
resets = <&DIE_NODE(ps_dispext0_cpu0)>;
80+
clocks = <&DIE_NODE(clk_dispext0)>;
81+
phandle = <&DIE_NODE(dcpext0)>;
82+
apple,dcp-index = <1>;
83+
status = "disabled";
84+
85+
piodma {
86+
iommus = <&DIE_NODE(dispext0_dart) 4>;
87+
};
88+
};
89+
90+
DIE_NODE(dispext1_dart): iommu@28c304000 {
91+
compatible = "apple,t6000-dart", "apple,t8110-dart";
92+
reg = <0x2 0x8c304000 0x0 0x4000>;
93+
#iommu-cells = <1>;
94+
interrupt-parent = <&aic>;
95+
interrupts = <AIC_IRQ DIE_NO 909 IRQ_TYPE_LEVEL_HIGH>;
96+
power-domains = <&DIE_NODE(ps_dispext1_cpu0)>;
97+
apple,dma-range = <0x0 0x0 0x0 0xfc000000>;
98+
status = "disabled";
99+
};
100+
101+
DIE_NODE(dcpext1_dart): iommu@28c30c000 {
102+
compatible = "apple,t6000-dart", "apple,t8110-dart";
103+
reg = <0x2 0x8c30c000 0x0 0x4000>;
104+
#iommu-cells = <1>;
105+
interrupt-parent = <&aic>;
106+
interrupts = <AIC_IRQ DIE_NO 909 IRQ_TYPE_LEVEL_HIGH>;
107+
power-domains = <&DIE_NODE(ps_dispext1_cpu0)>;
108+
apple,dma-range = <0x1f0 0x0 0x0 0xfc000000>;
109+
status = "disabled";
110+
};
111+
112+
DIE_NODE(dcpext1_mbox): mbox@28cc08000 {
113+
compatible = "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4";
114+
reg = <0x2 0x8cc08000 0x0 0x4000>;
115+
interrupt-parent = <&aic>;
116+
interrupts = <AIC_IRQ DIE_NO 930 IRQ_TYPE_LEVEL_HIGH>,
117+
<AIC_IRQ DIE_NO 931 IRQ_TYPE_LEVEL_HIGH>,
118+
<AIC_IRQ DIE_NO 932 IRQ_TYPE_LEVEL_HIGH>,
119+
<AIC_IRQ DIE_NO 933 IRQ_TYPE_LEVEL_HIGH>;
120+
interrupt-names = "send-empty", "send-not-empty",
121+
"recv-empty", "recv-not-empty";
122+
#mbox-cells = <0>;
123+
power-domains = <&DIE_NODE(ps_dispext1_cpu0)>;
124+
resets = <&DIE_NODE(ps_dispext1_cpu0)>;
125+
status = "disabled";
126+
};
127+
128+
DIE_NODE(dcpext1): dcp@28cc00000 {
129+
compatible = "apple,t6000-dcpext", "apple,dcpext";
130+
mboxes = <&DIE_NODE(dcpext1_mbox)>;
131+
mbox-names = "mbox";
132+
iommus = <&DIE_NODE(dcpext1_dart) 0>;
133+
134+
reg-names = "coproc", "disp-0", "disp-1", "disp-2", "disp-3";
135+
reg = <0x2 0x8cc00000 0x0 0x4000>,
136+
<0x2 0x8b000000 0x0 0x3000000>,
137+
<0x2 0x8c320000 0x0 0x4000>,
138+
<0x2 0x8c344000 0x0 0x4000>,
139+
<0x2 0x8c800000 0x0 0x800000>;
140+
apple,bw-scratch = <&pmgr_dcp 0 4 0x998>;
141+
power-domains = <&DIE_NODE(ps_dispext1_cpu0)>;
142+
resets = <&DIE_NODE(ps_dispext1_cpu0)>;
143+
clocks = <&DIE_NODE(clk_dispext1)>;
144+
phandle = <&DIE_NODE(dcpext1)>;
145+
apple,dcp-index = <2>;
146+
status = "disabled";
147+
148+
piodma {
149+
iommus = <&DIE_NODE(dispext1_dart) 4>;
150+
};
151+
};
152+
27153
DIE_NODE(pmgr): power-management@28e080000 {
28154
compatible = "apple,t6000-pmgr", "apple,pmgr", "syscon", "simple-mfd";
29155
#address-cells = <1>;

0 commit comments

Comments
 (0)