Skip to content

Commit 6af9a08

Browse files
committed
arm64: dts: apple: t602x: Add t6020 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 ebecad7 commit 6af9a08

3 files changed

Lines changed: 162 additions & 0 deletions

File tree

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,14 @@
344344
};
345345
};
346346

347+
&dcpext0_die1 {
348+
apple,bw-scratch = <&pmgr_dcp 0 4 0x1240>;
349+
};
350+
351+
&dcpext1_die1 {
352+
apple,bw-scratch = <&pmgr_dcp 0 4 0x1248>;
353+
};
354+
347355
&ps_gfx {
348356
// On t6022, the die0 GPU power domain needs both AFR power domains
349357
power-domains = <&ps_afr>, <&ps_afr_die1>;

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

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,6 +555,34 @@
555555
clock-output-names = "clk_disp0";
556556
};
557557

558+
clk_dispext0: clock-dispext0 {
559+
compatible = "fixed-clock";
560+
#clock-cells = <0>;
561+
clock-frequency = <0>;
562+
clock-output-names = "clk_dispext0";
563+
};
564+
565+
clk_dispext0_die1: clock-dispext0_die1 {
566+
compatible = "fixed-clock";
567+
#clock-cells = <0>;
568+
clock-frequency = <0>;
569+
clock-output-names = "clk_dispext0_die1";
570+
};
571+
572+
clk_dispext1: clock-dispext1 {
573+
compatible = "fixed-clock";
574+
#clock-cells = <0>;
575+
clock-frequency = <0>;
576+
clock-output-names = "clk_dispext1";
577+
};
578+
579+
clk_dispext1_die1: clock-dispext1_die1 {
580+
compatible = "fixed-clock";
581+
#clock-cells = <0>;
582+
clock-frequency = <0>;
583+
clock-output-names = "clk_dispext1_die1";
584+
};
585+
558586
/*
559587
* This is a fabulated representation of the input clock
560588
* to NCO since we don't know the true clock tree.

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

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

27+
DIE_NODE(dispext0_dart): iommu@289304000 {
28+
compatible = "apple,t6020-dart", "apple,t8110-dart";
29+
reg = <0x2 0x89304000 0x0 0x4000>;
30+
#iommu-cells = <1>;
31+
interrupt-parent = <&aic>;
32+
interrupts = <AIC_IRQ DIE_NO 950 IRQ_TYPE_LEVEL_HIGH>;
33+
power-domains = <&DIE_NODE(ps_dispext0_cpu0)>;
34+
apple,dma-range = <0x100 0x0 0x10 0x0>;
35+
status = "disabled";
36+
};
37+
38+
DIE_NODE(dcpext0_dart): iommu@28930c000 {
39+
compatible = "apple,t6020-dart", "apple,t8110-dart";
40+
reg = <0x2 0x8930c000 0x0 0x4000>;
41+
#iommu-cells = <1>;
42+
interrupt-parent = <&aic>;
43+
interrupts = <AIC_IRQ DIE_NO 950 IRQ_TYPE_LEVEL_HIGH>;
44+
power-domains = <&DIE_NODE(ps_dispext0_cpu0)>;
45+
apple,dma-range = <0x100 0x0 0x10 0x0>;
46+
status = "disabled";
47+
};
48+
49+
DIE_NODE(dcpext0_mbox): mbox@289c08000 {
50+
compatible = "apple,t6020-asc-mailbox", "apple,asc-mailbox-v4";
51+
reg = <0x2 0x89c08000 0x0 0x4000>;
52+
interrupt-parent = <&aic>;
53+
interrupts = <AIC_IRQ DIE_NO 971 IRQ_TYPE_LEVEL_HIGH>,
54+
<AIC_IRQ DIE_NO 972 IRQ_TYPE_LEVEL_HIGH>,
55+
<AIC_IRQ DIE_NO 973 IRQ_TYPE_LEVEL_HIGH>,
56+
<AIC_IRQ DIE_NO 974 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,t6020-dcpext", "apple,dcpext";
67+
mboxes = <&DIE_NODE(dcpext0_mbox)>;
68+
mbox-names = "mbox";
69+
iommus = <&DIE_NODE(dcpext0_dart) 5>;
70+
71+
reg-names = "coproc", "disp-0", "disp-1", "disp-2", "disp-3";
72+
reg = <0x2 0x89c00000 0x0 0x4000>,
73+
<0x2 0x88000000 0x0 0x4000000>,
74+
<0x2 0x89320000 0x0 0x4000>,
75+
<0x2 0x89344000 0x0 0x4000>,
76+
<0x2 0x89800000 0x0 0x800000>;
77+
apple,bw-scratch = <&pmgr_dcp 0 4 0x1210>;
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+
2790
DIE_NODE(pmgr): power-management@28e080000 {
2891
compatible = "apple,t6020-pmgr", "apple,pmgr", "syscon", "simple-mfd";
2992
#address-cells = <1>;
@@ -102,6 +165,69 @@
102165
<AIC_IRQ DIE_NO 604 IRQ_TYPE_LEVEL_HIGH>;
103166
};
104167

168+
DIE_NODE(dispext1_dart): iommu@315304000 {
169+
compatible = "apple,t6020-dart", "apple,t8110-dart";
170+
reg = <0x3 0x15304000 0x0 0x4000>;
171+
#iommu-cells = <1>;
172+
interrupt-parent = <&aic>;
173+
interrupts = <AIC_IRQ DIE_NO 986 IRQ_TYPE_LEVEL_HIGH>;
174+
power-domains = <&DIE_NODE(ps_dispext1_cpu0)>;
175+
apple,dma-range = <0x100 0x0 0x10 0x0>;
176+
status = "disabled";
177+
};
178+
179+
DIE_NODE(dcpext1_dart): iommu@31530c000 {
180+
compatible = "apple,t6020-dart", "apple,t8110-dart";
181+
reg = <0x3 0x1530c000 0x0 0x4000>;
182+
#iommu-cells = <1>;
183+
interrupt-parent = <&aic>;
184+
interrupts = <AIC_IRQ DIE_NO 986 IRQ_TYPE_LEVEL_HIGH>;
185+
power-domains = <&DIE_NODE(ps_dispext1_cpu0)>;
186+
apple,dma-range = <0x100 0x0 0x10 0x0>;
187+
status = "disabled";
188+
};
189+
190+
DIE_NODE(dcpext1_mbox): mbox@315c08000 {
191+
compatible = "apple,t6020-asc-mailbox", "apple,asc-mailbox-v4";
192+
reg = <0x3 0x15c08000 0x0 0x4000>;
193+
interrupt-parent = <&aic>;
194+
interrupts = <AIC_IRQ DIE_NO 1007 IRQ_TYPE_LEVEL_HIGH>,
195+
<AIC_IRQ DIE_NO 1008 IRQ_TYPE_LEVEL_HIGH>,
196+
<AIC_IRQ DIE_NO 1009 IRQ_TYPE_LEVEL_HIGH>,
197+
<AIC_IRQ DIE_NO 1010 IRQ_TYPE_LEVEL_HIGH>;
198+
interrupt-names = "send-empty", "send-not-empty",
199+
"recv-empty", "recv-not-empty";
200+
#mbox-cells = <0>;
201+
power-domains = <&DIE_NODE(ps_dispext1_cpu0)>;
202+
resets = <&DIE_NODE(ps_dispext1_cpu0)>;
203+
status = "disabled";
204+
};
205+
206+
DIE_NODE(dcpext1): dcp@315c00000 {
207+
compatible = "apple,t6020-dcpext", "apple,dcpext";
208+
mboxes = <&DIE_NODE(dcpext1_mbox)>;
209+
mbox-names = "mbox";
210+
iommus = <&DIE_NODE(dcpext1_dart) 5>;
211+
212+
reg-names = "coproc", "disp-0", "disp-1", "disp-2", "disp-3";
213+
reg = <0x3 0x15c00000 0x0 0x4000>,
214+
<0x3 0x14000000 0x0 0x4000000>,
215+
<0x3 0x15320000 0x0 0x4000>,
216+
<0x3 0x15344000 0x0 0x4000>,
217+
<0x3 0x15800000 0x0 0x800000>;
218+
apple,bw-scratch = <&pmgr_dcp 0 4 0x1218>;
219+
power-domains = <&DIE_NODE(ps_dispext1_cpu0)>;
220+
resets = <&DIE_NODE(ps_dispext1_cpu0)>;
221+
clocks = <&DIE_NODE(clk_dispext1)>;
222+
phandle = <&DIE_NODE(dcpext1)>;
223+
apple,dcp-index = <2>;
224+
status = "disabled";
225+
226+
piodma {
227+
iommus = <&DIE_NODE(dispext1_dart) 4>;
228+
};
229+
};
230+
105231
DIE_NODE(pinctrl_ap): pinctrl@39b028000 {
106232
compatible = "apple,t6020-pinctrl", "apple,pinctrl";
107233
reg = <0x3 0x9b028000 0x0 0x4000>;

0 commit comments

Comments
 (0)