Skip to content

Commit d1b7930

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 79a3b4a commit d1b7930

3 files changed

Lines changed: 168 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
@@ -346,6 +346,14 @@
346346
};
347347
};
348348

349+
&dcpext0_die1 {
350+
apple,bw-scratch = <&pmgr_dcp 0 4 0x1240>;
351+
};
352+
353+
&dcpext1_die1 {
354+
apple,bw-scratch = <&pmgr_dcp 0 4 0x1248>;
355+
};
356+
349357
&ps_gfx {
350358
// On t6022, the die0 GPU power domain needs both AFR power domains
351359
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
@@ -558,6 +558,34 @@
558558
clock-output-names = "clk_disp0";
559559
};
560560

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

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

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

26+
DIE_NODE(dispext0_dart): iommu@289304000 {
27+
compatible = "apple,t6020-dart", "apple,t8110-dart";
28+
reg = <0x2 0x89304000 0x0 0x4000>;
29+
#iommu-cells = <1>;
30+
interrupt-parent = <&aic>;
31+
interrupts = <AIC_IRQ DIE_NO 950 IRQ_TYPE_LEVEL_HIGH>;
32+
power-domains = <&DIE_NODE(ps_dispext0_cpu0)>;
33+
apple,dma-range = <0x100 0x0 0x10 0x0>;
34+
status = "disabled";
35+
};
36+
37+
DIE_NODE(dcpext0_dart): iommu@28930c000 {
38+
compatible = "apple,t6020-dart", "apple,t8110-dart";
39+
reg = <0x2 0x8930c000 0x0 0x4000>;
40+
#iommu-cells = <1>;
41+
interrupt-parent = <&aic>;
42+
interrupts = <AIC_IRQ DIE_NO 950 IRQ_TYPE_LEVEL_HIGH>;
43+
power-domains = <&DIE_NODE(ps_dispext0_cpu0)>;
44+
apple,dma-range = <0x100 0x0 0x10 0x0>;
45+
status = "disabled";
46+
};
47+
48+
DIE_NODE(dcpext0_mbox): mbox@289c08000 {
49+
compatible = "apple,t6020-asc-mailbox", "apple,asc-mailbox-v4";
50+
reg = <0x2 0x89c08000 0x0 0x4000>;
51+
interrupt-parent = <&aic>;
52+
interrupts = <AIC_IRQ DIE_NO 971 IRQ_TYPE_LEVEL_HIGH>,
53+
<AIC_IRQ DIE_NO 972 IRQ_TYPE_LEVEL_HIGH>,
54+
<AIC_IRQ DIE_NO 973 IRQ_TYPE_LEVEL_HIGH>,
55+
<AIC_IRQ DIE_NO 974 IRQ_TYPE_LEVEL_HIGH>;
56+
interrupt-names = "send-empty", "send-not-empty",
57+
"recv-empty", "recv-not-empty";
58+
#mbox-cells = <0>;
59+
power-domains = <&DIE_NODE(ps_dispext0_cpu0)>;
60+
resets = <&DIE_NODE(ps_dispext0_cpu0)>;
61+
status = "disabled";
62+
};
63+
64+
DIE_NODE(dcpext0): dcp@289c00000 {
65+
compatible = "apple,t6020-dcpext", "apple,dcpext";
66+
mboxes = <&DIE_NODE(dcpext0_mbox)>;
67+
mbox-names = "mbox";
68+
iommus = <&DIE_NODE(dcpext0_dart) 5>;
69+
70+
reg-names = "coproc", "disp-0", "disp-1", "disp-2", "disp-3";
71+
reg = <0x2 0x89c00000 0x0 0x4000>,
72+
<0x2 0x88000000 0x0 0x4000000>,
73+
<0x2 0x89320000 0x0 0x4000>,
74+
<0x2 0x89344000 0x0 0x4000>,
75+
<0x2 0x89800000 0x0 0x800000>;
76+
apple,bw-scratch = <&pmgr_dcp 0 4 0x1210>;
77+
power-domains = <&DIE_NODE(ps_dispext0_cpu0)>;
78+
resets = <&DIE_NODE(ps_dispext0_cpu0)>;
79+
clocks = <&DIE_NODE(clk_dispext0)>;
80+
phandle = <&DIE_NODE(dcpext0)>;
81+
apple,dcp-index = <1>;
82+
status = "disabled";
83+
// required bus properties for 'piodma' subdevice
84+
#address-cells = <2>;
85+
#size-cells = <2>;
86+
87+
piodma {
88+
iommus = <&DIE_NODE(dispext0_dart) 4>;
89+
};
90+
};
91+
2692
DIE_NODE(pmgr): power-management@28e080000 {
2793
compatible = "apple,t6020-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd";
2894
#address-cells = <1>;
@@ -101,6 +167,72 @@
101167
<AIC_IRQ DIE_NO 604 IRQ_TYPE_LEVEL_HIGH>;
102168
};
103169

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

0 commit comments

Comments
 (0)