Sasha Finkelstein via B4 Relay 於 2024/11/25 早上6:29 寫道: > From: Sasha Finkelstein <fnkl.kernel@xxxxxxxxx> > > Adds device tree entries for the touchbar screen > > Co-developed-by: Janne Grunau <j@xxxxxxxxxx> > Signed-off-by: Janne Grunau <j@xxxxxxxxxx> > Signed-off-by: Sasha Finkelstein <fnkl.kernel@xxxxxxxxx> > --- > 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