From 7275e795e520c7064af52ba67c74d7bac27eea4f Mon Sep 17 00:00:00 2001 From: Sasha Finkelstein Date: Mon, 17 Feb 2025 12:39:34 +0100 Subject: [PATCH 1/6] arm64: dts: apple: Add touchbar screen nodes Adds device tree entries for the touchbar screen Co-developed-by: Janne Grunau Signed-off-by: Janne Grunau Reviewed-by: Nick Chan Reviewed-by: Neal Gompa Signed-off-by: Sasha Finkelstein Link: https://lore.kernel.org/r/20250217-adpdrm-v7-4-ca2e44b3c7d8@gmail.com Signed-off-by: Sven Peter --- arch/arm64/boot/dts/apple/t8103-j293.dts | 31 ++++++++++++ arch/arm64/boot/dts/apple/t8103.dtsi | 61 ++++++++++++++++++++++++ arch/arm64/boot/dts/apple/t8112-j493.dts | 31 ++++++++++++ arch/arm64/boot/dts/apple/t8112.dtsi | 61 ++++++++++++++++++++++++ 4 files changed, 184 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8103-j293.dts b/arch/arm64/boot/dts/apple/t8103-j293.dts index 0a93d3891c23..2dfe7b895b2b 100644 --- a/arch/arm64/boot/dts/apple/t8103-j293.dts +++ b/arch/arm64/boot/dts/apple/t8103-j293.dts @@ -76,3 +76,34 @@ touchbar0: touchbar@0 { touchscreen-inverted-y; }; }; + +&display_dfr { + status = "okay"; +}; + +&dfr_mipi_out { + dfr_mipi_out_panel: endpoint@0 { + reg = <0>; + remote-endpoint = <&dfr_panel_in>; + }; +}; + +&displaydfr_mipi { + status = "okay"; + + dfr_panel: panel@0 { + compatible = "apple,j293-summit", "apple,summit"; + reg = <0>; + max-brightness = <255>; + + port { + dfr_panel_in: endpoint { + remote-endpoint = <&dfr_mipi_out_panel>; + }; + }; + }; +}; + +&displaydfr_dart { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi index c9b789a2ff7e..97b6a067394e 100644 --- a/arch/arm64/boot/dts/apple/t8103.dtsi +++ b/arch/arm64/boot/dts/apple/t8103.dtsi @@ -370,6 +370,67 @@ cpufreq_p: performance-controller@211e20000 { #performance-domain-cells = <0>; }; + display_dfr: display-pipe@228200000 { + compatible = "apple,t8103-display-pipe", "apple,h7-display-pipe"; + reg = <0x2 0x28200000 0x0 0xc000>, + <0x2 0x28400000 0x0 0x4000>; + reg-names = "be", "fe"; + power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>; + interrupt-parent = <&aic>; + interrupts = , + ; + interrupt-names = "be", "fe"; + iommus = <&displaydfr_dart 0>; + status = "disabled"; + + port { + dfr_adp_out_mipi: endpoint { + remote-endpoint = <&dfr_mipi_in_adp>; + }; + }; + }; + + displaydfr_dart: iommu@228304000 { + compatible = "apple,t8103-dart"; + reg = <0x2 0x28304000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_dispdfr_fe>; + status = "disabled"; + }; + + displaydfr_mipi: dsi@228600000 { + compatible = "apple,t8103-display-pipe-mipi", "apple,h7-display-pipe-mipi"; + reg = <0x2 0x28600000 0x0 0x100000>; + power-domains = <&ps_mipi_dsi>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + dfr_mipi_in: port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + dfr_mipi_in_adp: endpoint@0 { + reg = <0>; + remote-endpoint = <&dfr_adp_out_mipi>; + }; + }; + + dfr_mipi_out: port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + }; + }; + }; + 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 045bd0716cb7..3d73f9ee2f46 100644 --- a/arch/arm64/boot/dts/apple/t8112-j493.dts +++ b/arch/arm64/boot/dts/apple/t8112-j493.dts @@ -40,6 +40,37 @@ led-0 { }; }; +&display_dfr { + status = "okay"; +}; + +&dfr_mipi_out { + dfr_mipi_out_panel: endpoint@0 { + reg = <0>; + remote-endpoint = <&dfr_panel_in>; + }; +}; + +&displaydfr_mipi { + status = "okay"; + + dfr_panel: panel@0 { + compatible = "apple,j493-summit", "apple,summit"; + reg = <0>; + max-brightness = <255>; + + port { + dfr_panel_in: endpoint { + remote-endpoint = <&dfr_mipi_out_panel>; + }; + }; + }; +}; + +&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 271986a7697f..d9b966d68e4f 100644 --- a/arch/arm64/boot/dts/apple/t8112.dtsi +++ b/arch/arm64/boot/dts/apple/t8112.dtsi @@ -386,6 +386,67 @@ cpufreq_p: cpufreq@211e20000 { #performance-domain-cells = <0>; }; + display_dfr: display-pipe@228200000 { + compatible = "apple,t8112-display-pipe", "apple,h7-display-pipe"; + reg = <0x2 0x28200000 0x0 0xc000>, + <0x2 0x28400000 0x0 0x4000>; + reg-names = "be", "fe"; + power-domains = <&ps_dispdfr_fe>, <&ps_dispdfr_be>; + interrupt-parent = <&aic>; + interrupts = , + ; + interrupt-names = "be", "fe"; + iommus = <&displaydfr_dart 0>; + status = "disabled"; + + port { + dfr_adp_out_mipi: endpoint { + remote-endpoint = <&dfr_mipi_in_adp>; + }; + }; + }; + + displaydfr_dart: iommu@228304000 { + compatible = "apple,t8110-dart"; + reg = <0x2 0x28304000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_dispdfr_fe>; + status = "disabled"; + }; + + displaydfr_mipi: dsi@228600000 { + compatible = "apple,t8112-display-pipe-mipi", "apple,h7-display-pipe-mipi"; + reg = <0x2 0x28600000 0x0 0x100000>; + power-domains = <&ps_mipi_dsi>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + dfr_mipi_in: port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + dfr_mipi_in_adp: endpoint@0 { + reg = <0>; + remote-endpoint = <&dfr_adp_out_mipi>; + }; + }; + + dfr_mipi_out: port@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + }; + }; + }; + sio_dart: iommu@235004000 { compatible = "apple,t8110-dart"; reg = <0x2 0x35004000 0x0 0x4000>; From 0f8f64b2329ff96a297bcfaf49c8e632ab642a45 Mon Sep 17 00:00:00 2001 From: Nick Chan Date: Fri, 28 Feb 2025 12:32:12 +0800 Subject: [PATCH 2/6] arm64: dts: apple: s5l8960x: Add backlight nodes Add DWI backlight controller nodes for Apple A7 SoC, and enable it for iPhone 5s. Signed-off-by: Nick Chan Link: https://lore.kernel.org/r/20250228-dwi-dt-v2-1-69e450bc4bfb@gmail.com Signed-off-by: Sven Peter --- arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi | 4 ++++ arch/arm64/boot/dts/apple/s5l8960x.dtsi | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi b/arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi index bfbd2629e206..8868df1538d6 100644 --- a/arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi +++ b/arch/arm64/boot/dts/apple/s5l8960x-5s.dtsi @@ -51,6 +51,10 @@ switch-mute { }; }; +&dwi_bl { + status = "okay"; +}; + &framebuffer0 { power-domains = <&ps_disp0 &ps_mipi_dsi>; }; diff --git a/arch/arm64/boot/dts/apple/s5l8960x.dtsi b/arch/arm64/boot/dts/apple/s5l8960x.dtsi index 64dbae5c7351..d820b0e43050 100644 --- a/arch/arm64/boot/dts/apple/s5l8960x.dtsi +++ b/arch/arm64/boot/dts/apple/s5l8960x.dtsi @@ -100,6 +100,13 @@ aic: interrupt-controller@20e100000 { power-domains = <&ps_aic>; }; + dwi_bl: backlight@20e200010 { + compatible = "apple,s5l8960x-dwi-bl", "apple,dwi-bl"; + reg = <0x2 0x0e200010 0x0 0x8>; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + pinctrl: pinctrl@20e300000 { compatible = "apple,s5l8960x-pinctrl", "apple,pinctrl"; reg = <0x2 0x0e300000 0x0 0x100000>; From 897359ae3c502d2217ef642044a9cdb0be90260a Mon Sep 17 00:00:00 2001 From: Nick Chan Date: Fri, 28 Feb 2025 12:32:13 +0800 Subject: [PATCH 3/6] arm64: dts: apple: t7000: Add backlight nodes Add DWI backlight controller nodes for Apple A8 SoC, and enable it for: - iPhone 6 - iPhone 6 Plus - iPad mini 4 - iPod touch 6 Signed-off-by: Nick Chan Link: https://lore.kernel.org/r/20250228-dwi-dt-v2-2-69e450bc4bfb@gmail.com Signed-off-by: Sven Peter --- arch/arm64/boot/dts/apple/t7000-handheld.dtsi | 4 ++++ arch/arm64/boot/dts/apple/t7000.dtsi | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t7000-handheld.dtsi b/arch/arm64/boot/dts/apple/t7000-handheld.dtsi index 8984c9ec6cc8..7b58aa648b53 100644 --- a/arch/arm64/boot/dts/apple/t7000-handheld.dtsi +++ b/arch/arm64/boot/dts/apple/t7000-handheld.dtsi @@ -22,6 +22,10 @@ framebuffer0: framebuffer@0 { }; }; +&dwi_bl { + status = "okay"; +}; + &serial0 { status = "okay"; }; diff --git a/arch/arm64/boot/dts/apple/t7000.dtsi b/arch/arm64/boot/dts/apple/t7000.dtsi index 32cac8c30e62..85a34dc7bc01 100644 --- a/arch/arm64/boot/dts/apple/t7000.dtsi +++ b/arch/arm64/boot/dts/apple/t7000.dtsi @@ -155,6 +155,13 @@ aic: interrupt-controller@20e100000 { power-domains = <&ps_aic>; }; + dwi_bl: backlight@20e200010 { + compatible = "apple,t7000-dwi-bl", "apple,dwi-bl"; + reg = <0x2 0x0e200010 0x0 0x8>; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + pinctrl: pinctrl@20e300000 { compatible = "apple,t7000-pinctrl", "apple,pinctrl"; reg = <0x2 0x0e300000 0x0 0x100000>; From 4384b6c781bcfa0b5b8255d5bf359affd8021f5d Mon Sep 17 00:00:00 2001 From: Nick Chan Date: Fri, 28 Feb 2025 12:32:14 +0800 Subject: [PATCH 4/6] arm64: dts: apple: s800-0-3: Add backlight nodes Add DWI backlight controller nodes for Apple A9 SoC, and enable it for: - iPhone 6 - iPhone 6s - iPhone SE - iPad 5 Signed-off-by: Nick Chan Link: https://lore.kernel.org/r/20250228-dwi-dt-v2-3-69e450bc4bfb@gmail.com Signed-off-by: Sven Peter --- arch/arm64/boot/dts/apple/s800-0-3-common.dtsi | 4 ++++ arch/arm64/boot/dts/apple/s800-0-3.dtsi | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/arch/arm64/boot/dts/apple/s800-0-3-common.dtsi b/arch/arm64/boot/dts/apple/s800-0-3-common.dtsi index 4276bd890e81..cb42c5f2c1b6 100644 --- a/arch/arm64/boot/dts/apple/s800-0-3-common.dtsi +++ b/arch/arm64/boot/dts/apple/s800-0-3-common.dtsi @@ -43,6 +43,10 @@ reserved-memory { }; }; +&dwi_bl { + status = "okay"; +}; + &serial0 { status = "okay"; }; diff --git a/arch/arm64/boot/dts/apple/s800-0-3.dtsi b/arch/arm64/boot/dts/apple/s800-0-3.dtsi index 2aec49f0da64..c0e9ae45627c 100644 --- a/arch/arm64/boot/dts/apple/s800-0-3.dtsi +++ b/arch/arm64/boot/dts/apple/s800-0-3.dtsi @@ -91,6 +91,13 @@ aic: interrupt-controller@20e100000 { power-domains = <&ps_aic>; }; + dwi_bl: backlight@20e200080 { + compatible = "apple,s8000-dwi-bl", "apple,dwi-bl"; + reg = <0x2 0x0e200080 0x0 0x8>; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + pinctrl_ap: pinctrl@20f100000 { compatible = "apple,s8000-pinctrl", "apple,pinctrl"; reg = <0x2 0x0f100000 0x0 0x100000>; From 074db7d6f51b69a68c8c7b3c2ca71b177b687a8c Mon Sep 17 00:00:00 2001 From: Nick Chan Date: Fri, 28 Feb 2025 12:32:15 +0800 Subject: [PATCH 5/6] arm64: dts: apple: t8010: Add backlight nodes Add DWI backlight controller nodes for Apple A10 SoC, and enable it for: - iPhone 7 - iPhone 7 Plus - iPod touch 7 - iPad 6 - iPad 7 Signed-off-by: Nick Chan Link: https://lore.kernel.org/r/20250228-dwi-dt-v2-4-69e450bc4bfb@gmail.com Signed-off-by: Sven Peter --- arch/arm64/boot/dts/apple/t8010-common.dtsi | 4 ++++ arch/arm64/boot/dts/apple/t8010.dtsi | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8010-common.dtsi b/arch/arm64/boot/dts/apple/t8010-common.dtsi index 6613fb57c92f..44dc968638b1 100644 --- a/arch/arm64/boot/dts/apple/t8010-common.dtsi +++ b/arch/arm64/boot/dts/apple/t8010-common.dtsi @@ -43,6 +43,10 @@ reserved-memory { }; }; +&dwi_bl { + status = "okay"; +}; + &serial0 { status = "okay"; }; diff --git a/arch/arm64/boot/dts/apple/t8010.dtsi b/arch/arm64/boot/dts/apple/t8010.dtsi index b355d443ee47..17e294bd7c44 100644 --- a/arch/arm64/boot/dts/apple/t8010.dtsi +++ b/arch/arm64/boot/dts/apple/t8010.dtsi @@ -167,6 +167,13 @@ aic: interrupt-controller@20e100000 { power-domains = <&ps_aic>; }; + dwi_bl: backlight@20e200080 { + compatible = "apple,t8010-dwi-bl", "apple,dwi-bl"; + reg = <0x2 0x0e200080 0x0 0x8>; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + pinctrl_ap: pinctrl@20f100000 { compatible = "apple,t8010-pinctrl", "apple,pinctrl"; reg = <0x2 0x0f100000 0x0 0x100000>; From e1bc21d8f8fde47173073a2d6233f5faa4864cfc Mon Sep 17 00:00:00 2001 From: Nick Chan Date: Fri, 28 Feb 2025 12:32:16 +0800 Subject: [PATCH 6/6] arm64: dts: apple: t8015: Add backlight nodes Add DWI backlight controller nodes for Apple A11 SoC, and enable it for: - iPhone 8 - iPhone 8 Plus Signed-off-by: Nick Chan Link: https://lore.kernel.org/r/20250228-dwi-dt-v2-5-69e450bc4bfb@gmail.com Signed-off-by: Sven Peter --- arch/arm64/boot/dts/apple/t8015-8.dtsi | 4 ++++ arch/arm64/boot/dts/apple/t8015.dtsi | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8015-8.dtsi b/arch/arm64/boot/dts/apple/t8015-8.dtsi index b6505b5185bd..0300ee1a2ffb 100644 --- a/arch/arm64/boot/dts/apple/t8015-8.dtsi +++ b/arch/arm64/boot/dts/apple/t8015-8.dtsi @@ -11,3 +11,7 @@ / { chassis-type = "handset"; }; + +&dwi_bl { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/apple/t8015.dtsi b/arch/arm64/boot/dts/apple/t8015.dtsi index b68647bebd20..4d54afcecd50 100644 --- a/arch/arm64/boot/dts/apple/t8015.dtsi +++ b/arch/arm64/boot/dts/apple/t8015.dtsi @@ -262,6 +262,13 @@ pmgr: power-management@232000000 { reg = <0x2 0x32000000 0 0x8c000>; }; + dwi_bl: backlight@232200080 { + compatible = "apple,t8015-dwi-bl", "apple,dwi-bl"; + reg = <0x2 0x32200080 0x0 0x8>; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + pinctrl_ap: pinctrl@233100000 { compatible = "apple,t8015-pinctrl", "apple,pinctrl"; reg = <0x2 0x33100000 0x0 0x1000>;