Skip to content

Commit 89dd30d

Browse files
committed
arm64: dts: apple: t6020-j474,t6021-j475: Enable dcpext0/dptx-phy/dp2hdmi
After all parts are in place enable the DCP on the M2 Pro Mac Mini and the M2 Max Mac Studio for HDMI output. Use dcpext0 for HDMI out. dcp on t8112 and t602x does not wake up after sleep + reset but dcpext* does. Use dcpext0 for sharing the code with M1* devices. My interpretation of the tea leaves from Apple's marketing department suggests that dcpext is more capable (6k 60Hz vs 5k 60Hz) so use dcpext as long as only one is used. Signed-off-by: Janne Grunau <j@jannau.net>
1 parent d506554 commit 89dd30d

3 files changed

Lines changed: 103 additions & 5 deletions

File tree

arch/arm64/boot/dts/apple/t6020-j474s.dts

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,57 @@
5656
model = "Mac mini J474";
5757
};
5858

59+
&lpdptxphy {
60+
status = "okay";
61+
};
62+
63+
#define USE_DCPEXT0 1
64+
65+
#if USE_DCPEXT0
66+
/ {
67+
aliases {
68+
dcpext0 = &dcpext0;
69+
/delete-property/ dcp;
70+
};
71+
};
72+
73+
&framebuffer0 {
74+
power-domains = <&ps_dispext0_cpu0>, <&ps_dptx_phy_ps>;
75+
};
76+
77+
&dcp {
78+
status = "disabled";
79+
};
80+
&display {
81+
iommus = <&dispext0_dart 0>;
82+
};
83+
&dispext0_dart {
84+
status = "okay";
85+
};
86+
&dcpext0_dart {
87+
status = "okay";
88+
};
89+
&dcpext0_mbox {
90+
status = "okay";
91+
};
92+
&dcpext0 {
93+
#else
94+
&dcp {
95+
#endif
96+
status = "okay";
97+
apple,connector-type = "HDMI-A";
98+
99+
/* HDMI HPD gpio, used as interrupt*/
100+
hdmi-hpd-gpios = <&pinctrl_aop 25 GPIO_ACTIVE_HIGH>;
101+
102+
hdmi-pwren-gpios = <&smc_gpio 23 GPIO_ACTIVE_HIGH>;
103+
dp2hdmi-pwren-gpios = <&smc_gpio 25 GPIO_ACTIVE_HIGH>;
104+
105+
phys = <&lpdptxphy>;
106+
phy-names = "dp-phy";
107+
apple,dptx-phy = <4>;
108+
};
109+
59110
&gpu {
60111
/* Apple does not do this, but they probably should */
61112
apple,perf-base-pstate = <3>;

arch/arm64/boot/dts/apple/t6021-j475c.dts

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,58 @@
5757
model = "Mac Studio J475";
5858
};
5959

60+
&lpdptxphy {
61+
status = "okay";
62+
};
63+
64+
65+
#define USE_DCPEXT0 1
66+
67+
#if USE_DCPEXT0
68+
/ {
69+
aliases {
70+
dcpext0 = &dcpext0;
71+
/delete-property/ dcp;
72+
};
73+
};
74+
75+
&framebuffer0 {
76+
power-domains = <&ps_dispext0_cpu0>, <&ps_dptx_phy_ps>;
77+
};
78+
79+
&dcp {
80+
status = "disabled";
81+
};
82+
&display {
83+
iommus = <&dispext0_dart 0>;
84+
};
85+
&dispext0_dart {
86+
status = "okay";
87+
};
88+
&dcpext0_dart {
89+
status = "okay";
90+
};
91+
&dcpext0_mbox {
92+
status = "okay";
93+
};
94+
&dcpext0 {
95+
#else
96+
&dcp {
97+
#endif
98+
status = "okay";
99+
apple,connector-type = "HDMI-A";
100+
101+
/* HDMI HPD gpio, used as interrupt*/
102+
hdmi-hpd-gpios = <&pinctrl_aop 25 GPIO_ACTIVE_HIGH>;
103+
104+
hdmi-pwren-gpios = <&smc_gpio 23 GPIO_ACTIVE_HIGH>;
105+
dp2hdmi-pwren-gpios = <&smc_gpio 25 GPIO_ACTIVE_HIGH>;
106+
107+
phys = <&lpdptxphy>;
108+
phy-names = "dp-phy";
109+
apple,dptx-phy = <4>;
110+
};
111+
60112
&gpu {
61113
apple,idleoff-standby-timer = <3000>;
62114
apple,perf-base-pstate = <5>;

arch/arm64/boot/dts/apple/t602x-j474-j475.dtsi

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,6 @@
2121
power-domains = <&ps_disp0_cpu0>, <&ps_dptx_phy_ps>;
2222
};
2323

24-
/* disable dcp until it is supported */
25-
&dcp {
26-
status = "disabled";
27-
};
28-
2924
&hpm0 {
3025
interrupts = <44 IRQ_TYPE_LEVEL_LOW>;
3126
};

0 commit comments

Comments
 (0)