From: Sasha Finkelstein <fnkl.kernel@gmail.com>
Adds device tree entries for the touchbar screen
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
---
arch/arm64/boot/dts/apple/t8103-j293.dts | 8 ++++++++
arch/arm64/boot/dts/apple/t8103.dtsi | 26 ++++++++++++++++++++++++++
arch/arm64/boot/dts/apple/t8112-j493.dts | 15 +++++++++++++++
arch/arm64/boot/dts/apple/t8112.dtsi | 25 +++++++++++++++++++++++++
4 files changed, 74 insertions(+)
diff --git a/arch/arm64/boot/dts/apple/t8103-j293.dts b/arch/arm64/boot/dts/apple/t8103-j293.dts
index 56b0c67bfcda321b60c621de092643017693ff91..349a8fce6b0b8ccf3305f940ba7242e2c1a67754 100644
--- a/arch/arm64/boot/dts/apple/t8103-j293.dts
+++ b/arch/arm64/boot/dts/apple/t8103-j293.dts
@@ -49,3 +49,11 @@ &i2c4 {
&fpwm1 {
status = "okay";
};
+
+&display_dfr {
+ status = "okay";
+ dfr_panel: panel@0 {
+ compatible = "apple,summit";
+ reg = <0>;
+ };
+};
diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi
index 9b0dad6b618444ac6b1c9735c50cccfc3965f947..b377c92c5db3cb4fea53ae2c5dd85acf038429a3 100644
--- a/arch/arm64/boot/dts/apple/t8103.dtsi
+++ b/arch/arm64/boot/dts/apple/t8103.dtsi
@@ -356,6 +356,32 @@ cpufreq_p: performance-controller@211e20000 {
#performance-domain-cells = <0>;
};
+ display_dfr: display-pipe@228200000 {
+ compatible = "apple,t8103-display-pipe", "apple,h7-display-pipe";
+ reg-names = "be", "fe", "mipi";
+ reg = <0x2 0x28200000 0x0 0xc000>,
+ <0x2 0x28400000 0x0 0x4000>,
+ <0x2 0x28600000 0x0 0x100000>;
+ power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>, <&ps_mipi_dsi>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 502 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 506 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "be", "fe";
+ status = "disabled";
+ iommus = <&displaydfr_dart 0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ displaydfr_dart: iommu@228304000 {
+ compatible = "apple,t8103-dart";
+ reg = <0x2 0x28304000 0x0 0x4000>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 504 IRQ_TYPE_LEVEL_HIGH>;
+ #iommu-cells = <1>;
+ power-domains = <&ps_dispdfr_fe>;
+ };
+
sio_dart: iommu@235004000 {
compatible = "apple,t8103-dart";
reg = <0x2 0x35004000 0x0 0x4000>;
diff --git a/arch/arm64/boot/dts/apple/t8112-j493.dts b/arch/arm64/boot/dts/apple/t8112-j493.dts
index 0ad908349f55406783942735a2e9dad54cda00ec..80e371495f3e097f91e94549c7ac2949609f566f 100644
--- a/arch/arm64/boot/dts/apple/t8112-j493.dts
+++ b/arch/arm64/boot/dts/apple/t8112-j493.dts
@@ -35,6 +35,21 @@ led-0 {
};
};
+&display_dfr {
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dfr_panel: panel@0 {
+ compatible = "apple,summit";
+ reg = <0>;
+ };
+};
+
+&displaydfr_dart {
+ status = "okay";
+};
+
/*
* Force the bus number assignments so that we can declare some of the
* on-board devices and properties that are populated by the bootloader
diff --git a/arch/arm64/boot/dts/apple/t8112.dtsi b/arch/arm64/boot/dts/apple/t8112.dtsi
index 1666e6ab250bc0be9b8318e3c8fc903ccd3f3760..726b11376692580abb129b9be35107bee1550a93 100644
--- a/arch/arm64/boot/dts/apple/t8112.dtsi
+++ b/arch/arm64/boot/dts/apple/t8112.dtsi
@@ -379,6 +379,31 @@ cpufreq_p: cpufreq@211e20000 {
#performance-domain-cells = <0>;
};
+ display_dfr: display-pipe@228200000 {
+ compatible = "apple,t8112-display-pipe", "apple,h7-display-pipe";
+ reg-names = "be", "fe", "mipi";
+ reg = <0x2 0x28200000 0x0 0xc000>,
+ <0x2 0x28400000 0x0 0x4000>,
+ <0x2 0x28600000 0x0 0x100000>;
+ power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>, <&ps_mipi_dsi>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 614 IRQ_TYPE_LEVEL_HIGH>,
+ <AIC_IRQ 618 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "be", "fe";
+ status = "disabled";
+ iommus = <&displaydfr_dart 0>;
+ };
+
+ displaydfr_dart: iommu@228304000 {
+ compatible = "apple,t8110-dart";
+ reg = <0x2 0x28304000 0x0 0x4000>;
+ interrupt-parent = <&aic>;
+ interrupts = <AIC_IRQ 616 IRQ_TYPE_LEVEL_HIGH>;
+ #iommu-cells = <1>;
+ power-domains = <&ps_dispdfr_fe>;
+ status = "disabled";
+ };
+
sio_dart: iommu@235004000 {
compatible = "apple,t8110-dart";
reg = <0x2 0x35004000 0x0 0x4000>;
--
2.47.0
Sasha Finkelstein via B4 Relay 於 2024/11/25 早上6:29 寫道:
[...]
> diff --git a/arch/arm64/boot/dts/apple/t8112.dtsi b/arch/arm64/boot/dts/apple/t8112.dtsi
> index 1666e6ab250bc0be9b8318e3c8fc903ccd3f3760..726b11376692580abb129b9be35107bee1550a93 100644
> --- a/arch/arm64/boot/dts/apple/t8112.dtsi
> +++ b/arch/arm64/boot/dts/apple/t8112.dtsi
> @@ -379,6 +379,31 @@ cpufreq_p: cpufreq@211e20000 {
> #performance-domain-cells = <0>;
> };
>
> + display_dfr: display-pipe@228200000 {
> + compatible = "apple,t8112-display-pipe", "apple,h7-display-pipe";
> + reg-names = "be", "fe", "mipi";
> + reg = <0x2 0x28200000 0x0 0xc000>,
> + <0x2 0x28400000 0x0 0x4000>,
> + <0x2 0x28600000 0x0 0x100000>;
> + power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>, <&ps_mipi_dsi>;
> + interrupt-parent = <&aic>;
> + interrupts = <AIC_IRQ 614 IRQ_TYPE_LEVEL_HIGH>,
> + <AIC_IRQ 618 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "be", "fe";
> + status = "disabled";
Forgot to add, status should go after other properties here as well.
> + iommus = <&displaydfr_dart 0>;
> + };
[...]
Nick Chan
Sasha Finkelstein via B4 Relay 於 2024/11/25 早上6:29 寫道:
> From: Sasha Finkelstein <fnkl.kernel@gmail.com>
>
> Adds device tree entries for the touchbar screen
>
> Co-developed-by: Janne Grunau <j@jannau.net>
> Signed-off-by: Janne Grunau <j@jannau.net>
> Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
> ---
> arch/arm64/boot/dts/apple/t8103-j293.dts | 8 ++++++++
> arch/arm64/boot/dts/apple/t8103.dtsi | 26 ++++++++++++++++++++++++++
> arch/arm64/boot/dts/apple/t8112-j493.dts | 15 +++++++++++++++
> arch/arm64/boot/dts/apple/t8112.dtsi | 25 +++++++++++++++++++++++++
> 4 files changed, 74 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/apple/t8103-j293.dts b/arch/arm64/boot/dts/apple/t8103-j293.dts
> index 56b0c67bfcda321b60c621de092643017693ff91..349a8fce6b0b8ccf3305f940ba7242e2c1a67754 100644
> --- a/arch/arm64/boot/dts/apple/t8103-j293.dts
> +++ b/arch/arm64/boot/dts/apple/t8103-j293.dts
> @@ -49,3 +49,11 @@ &i2c4 {
> &fpwm1 {
> status = "okay";
> };
> +
> +&display_dfr {
Inconsistent placement of #address-cells and #size-cells.
> + status = "okay";
There should be a blank line here.
> + dfr_panel: panel@0 {
> + compatible = "apple,summit";
> + reg = <0>;
> + };
> +};
> diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi
> index 9b0dad6b618444ac6b1c9735c50cccfc3965f947..b377c92c5db3cb4fea53ae2c5dd85acf038429a3 100644
> --- a/arch/arm64/boot/dts/apple/t8103.dtsi
> +++ b/arch/arm64/boot/dts/apple/t8103.dtsi
> @@ -356,6 +356,32 @@ cpufreq_p: performance-controller@211e20000 {
> #performance-domain-cells = <0>;
> };
>
> + display_dfr: display-pipe@228200000 {
> + compatible = "apple,t8103-display-pipe", "apple,h7-display-pipe";
> + reg-names = "be", "fe", "mipi";
> + reg = <0x2 0x28200000 0x0 0xc000>,
> + <0x2 0x28400000 0x0 0x4000>,
> + <0x2 0x28600000 0x0 0x100000>;
> + power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>, <&ps_mipi_dsi>;
> + interrupt-parent = <&aic>;
> + interrupts = <AIC_IRQ 502 IRQ_TYPE_LEVEL_HIGH>,
> + <AIC_IRQ 506 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "be", "fe";
> + status = "disabled";
> + iommus = <&displaydfr_dart 0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
Inconsistent placement of #address-cells and #size-cells.
> + };
> +
> + displaydfr_dart: iommu@228304000 {
> + compatible = "apple,t8103-dart";
> + reg = <0x2 0x28304000 0x0 0x4000>;
> + interrupt-parent = <&aic>;
> + interrupts = <AIC_IRQ 504 IRQ_TYPE_LEVEL_HIGH>;
> + #iommu-cells = <1>;
> + power-domains = <&ps_dispdfr_fe>;
Not every M1 (T8103) device has a touch bar. Disable it here and
then enable it in t8103-j293.dts.
> + };
> +
> sio_dart: iommu@235004000 {
> compatible = "apple,t8103-dart";
> reg = <0x2 0x35004000 0x0 0x4000>;
> diff --git a/arch/arm64/boot/dts/apple/t8112-j493.dts b/arch/arm64/boot/dts/apple/t8112-j493.dts
> index 0ad908349f55406783942735a2e9dad54cda00ec..80e371495f3e097f91e94549c7ac2949609f566f 100644
> --- a/arch/arm64/boot/dts/apple/t8112-j493.dts
> +++ b/arch/arm64/boot/dts/apple/t8112-j493.dts
> @@ -35,6 +35,21 @@ led-0 {
> };
> };
>
> +&display_dfr {
> + status = "okay";
status should be after other properties, before child nodes.
> + #address-cells = <1>;
> + #size-cells = <0>;
Inconsistent placement of #address-cells and #size-cells. I would place
them in
t8112.dtsi.
> +
> + dfr_panel: panel@0 {
> + compatible = "apple,summit";
> + reg = <0>;
> + };
> +};
> +
> +&displaydfr_dart {
> + status = "okay";
> +};
> +
> /*
> * Force the bus number assignments so that we can declare some of the
> * on-board devices and properties that are populated by the bootloader
> diff --git a/arch/arm64/boot/dts/apple/t8112.dtsi b/arch/arm64/boot/dts/apple/t8112.dtsi
> index 1666e6ab250bc0be9b8318e3c8fc903ccd3f3760..726b11376692580abb129b9be35107bee1550a93 100644
> --- a/arch/arm64/boot/dts/apple/t8112.dtsi
> +++ b/arch/arm64/boot/dts/apple/t8112.dtsi
> @@ -379,6 +379,31 @@ cpufreq_p: cpufreq@211e20000 {
> #performance-domain-cells = <0>;
> };
>
> + display_dfr: display-pipe@228200000 {
> + compatible = "apple,t8112-display-pipe", "apple,h7-display-pipe";
> + reg-names = "be", "fe", "mipi";
> + reg = <0x2 0x28200000 0x0 0xc000>,
> + <0x2 0x28400000 0x0 0x4000>,
> + <0x2 0x28600000 0x0 0x100000>;
> + power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>, <&ps_mipi_dsi>;
> + interrupt-parent = <&aic>;
> + interrupts = <AIC_IRQ 614 IRQ_TYPE_LEVEL_HIGH>,
> + <AIC_IRQ 618 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "be", "fe";
> + status = "disabled";
> + iommus = <&displaydfr_dart 0>;
> + };
> +
> + displaydfr_dart: iommu@228304000 {
> + compatible = "apple,t8110-dart";
> + reg = <0x2 0x28304000 0x0 0x4000>;
> + interrupt-parent = <&aic>;
> + interrupts = <AIC_IRQ 616 IRQ_TYPE_LEVEL_HIGH>;
> + #iommu-cells = <1>;
> + power-domains = <&ps_dispdfr_fe>;
> + status = "disabled";
> + };
> +
> sio_dart: iommu@235004000 {
> compatible = "apple,t8110-dart";
> reg = <0x2 0x35004000 0x0 0x4000>;
>
Nick Chan
© 2016 - 2026 Red Hat, Inc.