Skip to content

Commit 5bfae3a

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 d892a45 commit 5bfae3a

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
@@ -63,6 +63,57 @@
6363
model = "Mac mini J474";
6464
};
6565

66+
&lpdptxphy {
67+
status = "okay";
68+
};
69+
70+
#define USE_DCPEXT0 1
71+
72+
#if USE_DCPEXT0
73+
/ {
74+
aliases {
75+
dcpext0 = &dcpext0;
76+
/delete-property/ dcp;
77+
};
78+
};
79+
80+
&framebuffer0 {
81+
power-domains = <&ps_dispext0_cpu0>, <&ps_dptx_phy_ps>;
82+
};
83+
84+
&dcp {
85+
status = "disabled";
86+
};
87+
&display {
88+
iommus = <&dispext0_dart 0>;
89+
};
90+
&dispext0_dart {
91+
status = "okay";
92+
};
93+
&dcpext0_dart {
94+
status = "okay";
95+
};
96+
&dcpext0_mbox {
97+
status = "okay";
98+
};
99+
&dcpext0 {
100+
#else
101+
&dcp {
102+
#endif
103+
status = "okay";
104+
apple,connector-type = "HDMI-A";
105+
106+
/* HDMI HPD gpio, used as interrupt*/
107+
hdmi-hpd-gpios = <&pinctrl_aop 25 GPIO_ACTIVE_HIGH>;
108+
109+
hdmi-pwren-gpios = <&smc_gpio 23 GPIO_ACTIVE_HIGH>;
110+
dp2hdmi-pwren-gpios = <&smc_gpio 25 GPIO_ACTIVE_HIGH>;
111+
112+
phys = <&lpdptxphy>;
113+
phy-names = "dp-phy";
114+
apple,dptx-phy = <4>;
115+
};
116+
66117
&gpu {
67118
/* Apple does not do this, but they probably should */
68119
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
@@ -58,6 +58,58 @@
5858
model = "Mac Studio J475";
5959
};
6060

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