Linux Tegra architecture development
 help / color / mirror / Atom feed
* [PATCH v3 0/5] Add JDI LPM102A188A display panel support
@ 2023-08-07 13:33 Diogo Ivo
  2023-08-07 13:33 ` [PATCH v3 3/5] arm64: dts: smaug: Add DSI/CSI regulator Diogo Ivo
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Diogo Ivo @ 2023-08-07 13:33 UTC (permalink / raw)
  To: neil.armstrong, sam, airlied, daniel, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, thierry.reding, dri-devel,
	devicetree, linux-tegra
  Cc: Diogo Ivo

Hello,

These patches add support for the JDI LPM102A188A display panel,
found in the Google Pixel C.

Patch 1 adds the DT bindings for the panel.

Patch 2 adds the panel driver, which is based on the downstream
kernel driver published by Google and developed by Sean Paul.

Patches 3-5 add DT nodes for the regulator, backlight controller and
display panel. 

The first version of this patch series can be found at:
https://lore.kernel.org/all/20220929170502.1034040-1-diogo.ivo@tecnico.ulisboa.pt/

The first submission of v2 can be found at:
https://lore.kernel.org/all/20221025153746.101278-1-diogo.ivo@tecnico.ulisboa.pt/

Changes in v2:
 - Patch 1: remove touchscreen reset gpio property
 - Patch 2: clear register based on its value rather than a DT property
 - Patch 3: tune backlight delay values
 - Patch 4: add generic node names, remove underscores

Changes in v3:
 - Patch 1: add Reviewed-by
 - Patch 2: fix error handling, remove enabled/prepared booleans, add
   dc/dc setting
 - Patches 3-5: Split previous patch 3 into three different patches,
   each adding a separate node 
 - removed previous patch 2 pertaining to Tegra DSI reset as it was upstreamed

Diogo Ivo (5):
  dt-bindings: display: Add bindings for JDI LPM102A188A
  drm/panel: Add driver for JDI LPM102A188A
  arm64: dts: smaug: Add DSI/CSI regulator
  arm64: dts: smaug: Add backlight node
  arm64: dts: smaug: Add display panel node

 .../display/panel/jdi,lpm102a188a.yaml        |  94 +++
 arch/arm64/boot/dts/nvidia/tegra210-smaug.dts |  66 +++
 drivers/gpu/drm/panel/Kconfig                 |  11 +
 drivers/gpu/drm/panel/Makefile                |   1 +
 drivers/gpu/drm/panel/panel-jdi-lpm102a188a.c | 551 ++++++++++++++++++
 5 files changed, 723 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/jdi,lpm102a188a.yaml
 create mode 100644 drivers/gpu/drm/panel/panel-jdi-lpm102a188a.c

-- 
2.41.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v3 3/5] arm64: dts: smaug: Add DSI/CSI regulator
  2023-08-07 13:33 [PATCH v3 0/5] Add JDI LPM102A188A display panel support Diogo Ivo
@ 2023-08-07 13:33 ` Diogo Ivo
  2023-08-07 13:33 ` [PATCH v3 4/5] arm64: dts: smaug: Add backlight node Diogo Ivo
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Diogo Ivo @ 2023-08-07 13:33 UTC (permalink / raw)
  To: robh+dt, krzysztof.kozlowski+dt, conor+dt, thierry.reding,
	jonathanh, devicetree, linux-tegra
  Cc: Diogo Ivo

Add the node for the DSI/CSI regulator in the Pixel C.

Signed-off-by: Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>
---
 arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
index 7de4da9a0191..bfdb0f8531f6 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
+++ b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
@@ -1929,4 +1929,12 @@ usbc_vbus: regulator-usbc-vbus {
 		regulator-min-microvolt = <5000000>;
 		regulator-max-microvolt = <5000000>;
 	};
+
+	vdd_dsi_csi: regulator-vdd-dsi-csi {
+		compatible = "regulator-fixed";
+		regulator-name = "AVDD_DSI_CSI_1V2";
+		regulator-min-microvolt = <1200000>;
+		regulator-max-microvolt = <1200000>;
+		vin-supply = <&pp1200_avdd>;
+	};
 };
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 4/5] arm64: dts: smaug: Add backlight node
  2023-08-07 13:33 [PATCH v3 0/5] Add JDI LPM102A188A display panel support Diogo Ivo
  2023-08-07 13:33 ` [PATCH v3 3/5] arm64: dts: smaug: Add DSI/CSI regulator Diogo Ivo
@ 2023-08-07 13:33 ` Diogo Ivo
  2023-08-07 13:33 ` [PATCH v3 5/5] arm64: dts: smaug: Add display panel node Diogo Ivo
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Diogo Ivo @ 2023-08-07 13:33 UTC (permalink / raw)
  To: robh+dt, krzysztof.kozlowski+dt, conor+dt, thierry.reding,
	jonathanh, devicetree, linux-tegra
  Cc: Diogo Ivo

The Google Pixel C has a TI LP8557 backlight controller, so add a
DT node for it.

Signed-off-by: Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>
---
 arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 31 +++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
index bfdb0f8531f6..84ccb1495f21 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
+++ b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
@@ -1648,6 +1648,37 @@ nau8825@1a {
 			status = "okay";
 		};
 
+		backlight: backlight@2c {
+			compatible = "ti,lp8557";
+			reg = <0x2c>;
+			power-supply = <&pplcd_vdd>;
+			enable-supply = <&pp1800_lcdio>;
+			bl-name = "lp8557-backlight";
+			dev-ctrl = /bits/ 8 <0x01>;
+			init-brt = /bits/ 8 <0x80>;
+
+			/* Full scale current, 20mA */
+			rom-11h {
+				rom-addr = /bits/ 8 <0x11>;
+				rom-val = /bits/ 8 <0x05>;
+			};
+			/* Frequency = 4.9kHz, magic undocumented val */
+			rom-12h {
+				rom-addr = /bits/ 8 <0x12>;
+				rom-val = /bits/ 8 <0x29>;
+			};
+			/* Boost freq = 1MHz, BComp option = 1 */
+			rom-13h {
+				rom-addr = /bits/ 8 <0x13>;
+				rom-val = /bits/ 8 <0x03>;
+			};
+			/* 4V OV, 6 output LED string enabled */
+			rom-14h {
+				rom-addr = /bits/ 8 <0x14>;
+				rom-val = /bits/ 8 <0xbf>;
+			};
+		};
+
 		audio-codec@2d {
 			compatible = "realtek,rt5677";
 			reg = <0x2d>;
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v3 5/5] arm64: dts: smaug: Add display panel node
  2023-08-07 13:33 [PATCH v3 0/5] Add JDI LPM102A188A display panel support Diogo Ivo
  2023-08-07 13:33 ` [PATCH v3 3/5] arm64: dts: smaug: Add DSI/CSI regulator Diogo Ivo
  2023-08-07 13:33 ` [PATCH v3 4/5] arm64: dts: smaug: Add backlight node Diogo Ivo
@ 2023-08-07 13:33 ` Diogo Ivo
  2023-08-16 16:29 ` (subset) [PATCH v3 0/5] Add JDI LPM102A188A display panel support Thierry Reding
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Diogo Ivo @ 2023-08-07 13:33 UTC (permalink / raw)
  To: robh+dt, krzysztof.kozlowski+dt, conor+dt, thierry.reding,
	jonathanh, devicetree, linux-tegra
  Cc: Diogo Ivo

The Google Pixel C has a JDI LPM102A188A display panel, so add a
DT node for it.

Signed-off-by: Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>
---
 arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 27 +++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
index 84ccb1495f21..8c68106eaa98 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
+++ b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
@@ -31,6 +31,33 @@ memory {
 	};
 
 	host1x@50000000 {
+		dsia: dsi@54300000 {
+			avdd-dsi-csi-supply = <&vdd_dsi_csi>;
+			status = "okay";
+
+			link2: panel@0 {
+				compatible = "jdi,lpm102a188a";
+				reg = <0>;
+			};
+		};
+
+		dsib: dsi@54400000 {
+			avdd-dsi-csi-supply = <&vdd_dsi_csi>;
+			nvidia,ganged-mode = <&dsia>;
+			status = "okay";
+
+			link1: panel@0 {
+				compatible = "jdi,lpm102a188a";
+				reg = <0>;
+				power-supply = <&pplcd_vdd>;
+				ddi-supply = <&pp1800_lcdio>;
+				enable-gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
+				reset-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
+				link2 = <&link2>;
+				backlight = <&backlight>;
+			};
+		};
+
 		dpaux: dpaux@545c0000 {
 			status = "okay";
 		};
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: (subset) [PATCH v3 0/5] Add JDI LPM102A188A display panel support
  2023-08-07 13:33 [PATCH v3 0/5] Add JDI LPM102A188A display panel support Diogo Ivo
                   ` (2 preceding siblings ...)
  2023-08-07 13:33 ` [PATCH v3 5/5] arm64: dts: smaug: Add display panel node Diogo Ivo
@ 2023-08-16 16:29 ` Thierry Reding
  2023-08-16 16:30 ` Thierry Reding
  2023-08-16 16:56 ` (subset) " Neil Armstrong
  5 siblings, 0 replies; 8+ messages in thread
From: Thierry Reding @ 2023-08-16 16:29 UTC (permalink / raw)
  To: neil.armstrong, sam, airlied, daniel, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, thierry.reding, dri-devel,
	devicetree, linux-tegra, Diogo Ivo

From: Thierry Reding <treding@nvidia.com>


On Mon, 07 Aug 2023 14:33:00 +0100, Diogo Ivo wrote:
> These patches add support for the JDI LPM102A188A display panel,
> found in the Google Pixel C.
> 
> Patch 1 adds the DT bindings for the panel.
> 
> Patch 2 adds the panel driver, which is based on the downstream
> kernel driver published by Google and developed by Sean Paul.
> 
> [...]

Applied, thanks!

[3/5] arm64: dts: smaug: Add DSI/CSI regulator
      (no commit info)
[4/5] arm64: dts: smaug: Add backlight node
      (no commit info)
[5/5] arm64: dts: smaug: Add display panel node
      (no commit info)

Best regards,
-- 
Thierry Reding <treding@nvidia.com>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/5] Add JDI LPM102A188A display panel support
  2023-08-07 13:33 [PATCH v3 0/5] Add JDI LPM102A188A display panel support Diogo Ivo
                   ` (3 preceding siblings ...)
  2023-08-16 16:29 ` (subset) [PATCH v3 0/5] Add JDI LPM102A188A display panel support Thierry Reding
@ 2023-08-16 16:30 ` Thierry Reding
  2023-08-16 16:57   ` neil.armstrong
  2023-08-16 16:56 ` (subset) " Neil Armstrong
  5 siblings, 1 reply; 8+ messages in thread
From: Thierry Reding @ 2023-08-16 16:30 UTC (permalink / raw)
  To: Diogo Ivo
  Cc: neil.armstrong, sam, airlied, daniel, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, dri-devel, devicetree,
	linux-tegra

[-- Attachment #1: Type: text/plain, Size: 1711 bytes --]

On Mon, Aug 07, 2023 at 02:33:00PM +0100, Diogo Ivo wrote:
> Hello,
> 
> These patches add support for the JDI LPM102A188A display panel,
> found in the Google Pixel C.
> 
> Patch 1 adds the DT bindings for the panel.
> 
> Patch 2 adds the panel driver, which is based on the downstream
> kernel driver published by Google and developed by Sean Paul.
> 
> Patches 3-5 add DT nodes for the regulator, backlight controller and
> display panel. 
> 
> The first version of this patch series can be found at:
> https://lore.kernel.org/all/20220929170502.1034040-1-diogo.ivo@tecnico.ulisboa.pt/
> 
> The first submission of v2 can be found at:
> https://lore.kernel.org/all/20221025153746.101278-1-diogo.ivo@tecnico.ulisboa.pt/
> 
> Changes in v2:
>  - Patch 1: remove touchscreen reset gpio property
>  - Patch 2: clear register based on its value rather than a DT property
>  - Patch 3: tune backlight delay values
>  - Patch 4: add generic node names, remove underscores
> 
> Changes in v3:
>  - Patch 1: add Reviewed-by
>  - Patch 2: fix error handling, remove enabled/prepared booleans, add
>    dc/dc setting
>  - Patches 3-5: Split previous patch 3 into three different patches,
>    each adding a separate node 
>  - removed previous patch 2 pertaining to Tegra DSI reset as it was upstreamed
> 
> Diogo Ivo (5):
>   dt-bindings: display: Add bindings for JDI LPM102A188A
>   drm/panel: Add driver for JDI LPM102A188A
>   arm64: dts: smaug: Add DSI/CSI regulator
>   arm64: dts: smaug: Add backlight node
>   arm64: dts: smaug: Add display panel node

I've picked up patches 3-5 into the Tegra tree and I assume the other
two will go in through drm-misc?

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: (subset) [PATCH v3 0/5] Add JDI LPM102A188A display panel support
  2023-08-07 13:33 [PATCH v3 0/5] Add JDI LPM102A188A display panel support Diogo Ivo
                   ` (4 preceding siblings ...)
  2023-08-16 16:30 ` Thierry Reding
@ 2023-08-16 16:56 ` Neil Armstrong
  5 siblings, 0 replies; 8+ messages in thread
From: Neil Armstrong @ 2023-08-16 16:56 UTC (permalink / raw)
  To: sam, airlied, daniel, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	thierry.reding, dri-devel, devicetree, linux-tegra, Diogo Ivo

Hi,

On Mon, 07 Aug 2023 14:33:00 +0100, Diogo Ivo wrote:
> These patches add support for the JDI LPM102A188A display panel,
> found in the Google Pixel C.
> 
> Patch 1 adds the DT bindings for the panel.
> 
> Patch 2 adds the panel driver, which is based on the downstream
> kernel driver published by Google and developed by Sean Paul.
> 
> [...]

Thanks, Applied to https://anongit.freedesktop.org/git/drm/drm-misc.git (drm-misc-next)

[1/5] dt-bindings: display: Add bindings for JDI LPM102A188A
      https://cgit.freedesktop.org/drm/drm-misc/commit/?id=a913a739ab6e6ef10c0c47cb85dd4a105b3d9df7
[2/5] drm/panel: Add driver for JDI LPM102A188A
      https://cgit.freedesktop.org/drm/drm-misc/commit/?id=25205087df1ffe06ccea9302944ed1f77dc68c6f

-- 
Neil


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v3 0/5] Add JDI LPM102A188A display panel support
  2023-08-16 16:30 ` Thierry Reding
@ 2023-08-16 16:57   ` neil.armstrong
  0 siblings, 0 replies; 8+ messages in thread
From: neil.armstrong @ 2023-08-16 16:57 UTC (permalink / raw)
  To: Thierry Reding, Diogo Ivo
  Cc: sam, airlied, daniel, robh+dt, krzysztof.kozlowski+dt, conor+dt,
	dri-devel, devicetree, linux-tegra

On 16/08/2023 18:30, Thierry Reding wrote:
> On Mon, Aug 07, 2023 at 02:33:00PM +0100, Diogo Ivo wrote:
>> Hello,
>>
>> These patches add support for the JDI LPM102A188A display panel,
>> found in the Google Pixel C.
>>
>> Patch 1 adds the DT bindings for the panel.
>>
>> Patch 2 adds the panel driver, which is based on the downstream
>> kernel driver published by Google and developed by Sean Paul.
>>
>> Patches 3-5 add DT nodes for the regulator, backlight controller and
>> display panel.
>>
>> The first version of this patch series can be found at:
>> https://lore.kernel.org/all/20220929170502.1034040-1-diogo.ivo@tecnico.ulisboa.pt/
>>
>> The first submission of v2 can be found at:
>> https://lore.kernel.org/all/20221025153746.101278-1-diogo.ivo@tecnico.ulisboa.pt/
>>
>> Changes in v2:
>>   - Patch 1: remove touchscreen reset gpio property
>>   - Patch 2: clear register based on its value rather than a DT property
>>   - Patch 3: tune backlight delay values
>>   - Patch 4: add generic node names, remove underscores
>>
>> Changes in v3:
>>   - Patch 1: add Reviewed-by
>>   - Patch 2: fix error handling, remove enabled/prepared booleans, add
>>     dc/dc setting
>>   - Patches 3-5: Split previous patch 3 into three different patches,
>>     each adding a separate node
>>   - removed previous patch 2 pertaining to Tegra DSI reset as it was upstreamed
>>
>> Diogo Ivo (5):
>>    dt-bindings: display: Add bindings for JDI LPM102A188A
>>    drm/panel: Add driver for JDI LPM102A188A
>>    arm64: dts: smaug: Add DSI/CSI regulator
>>    arm64: dts: smaug: Add backlight node
>>    arm64: dts: smaug: Add display panel node
> 
> I've picked up patches 3-5 into the Tegra tree and I assume the other
> two will go in through drm-misc?

Sure, done !

> 
> Thierry


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-08-16 16:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-07 13:33 [PATCH v3 0/5] Add JDI LPM102A188A display panel support Diogo Ivo
2023-08-07 13:33 ` [PATCH v3 3/5] arm64: dts: smaug: Add DSI/CSI regulator Diogo Ivo
2023-08-07 13:33 ` [PATCH v3 4/5] arm64: dts: smaug: Add backlight node Diogo Ivo
2023-08-07 13:33 ` [PATCH v3 5/5] arm64: dts: smaug: Add display panel node Diogo Ivo
2023-08-16 16:29 ` (subset) [PATCH v3 0/5] Add JDI LPM102A188A display panel support Thierry Reding
2023-08-16 16:30 ` Thierry Reding
2023-08-16 16:57   ` neil.armstrong
2023-08-16 16:56 ` (subset) " Neil Armstrong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox