2023-04-26 06:08:54

by Aradhya Bhatia

[permalink] [raw]
Subject: [PATCH v2 0/2] arm64: dts/ti: Enable OLDI display on AM654 EVM

Hello,

This patch series adds support for the Rocktech RK101II01D-CT OLDI
panel, on top of AM654 base-board EVM.

Moreover, it enables support for TI ECAP and TI EHRPWM drivers to
provide SW control of backlight.

While the AM654 GP EVM also consists of usb/pcie expansion board, I have
only added support for base-board + OLDI panel as I do not have the
required hardware.

The first patch of this series, was picked up from TI's public tree[1]
based on 5.10 LTS kernel.

[1]:
https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am654-evm-oldi-lcd1evm.dts?h=ti-linux-5.10.y

Change Log:

V1 -> V2:
- Renamed the panel overlay file.
- Added am654-gp-evm build option in DT Makefile.
- Changes suggested by Tomi Valkeinen and Nishanth Menon.

V1: https://lore.kernel.org/linux-devicetree/[email protected]/

Aradhya Bhatia (1):
arm64: defconfig: Enable PWM drivers for TI ECAP and EHRPWM

Jyri Sarha (1):
arm64: dts/ti: am65x: Add Rocktech OLDI panel DT overlay

arch/arm64/boot/dts/ti/Makefile | 2 +
...am654-base-board-rocktech-rk101-panel.dtso | 69 +++++++++++++++++++
arch/arm64/configs/defconfig | 2 +
3 files changed, 73 insertions(+)
create mode 100644 arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso

--
2.39.1


2023-04-26 06:09:18

by Aradhya Bhatia

[permalink] [raw]
Subject: [PATCH v2 2/2] arm64: defconfig: Enable PWM drivers for TI ECAP and EHRPWM

TI's K3 SoCs uses the Enhanced high resolution PWM (EHRPWM) and the ECAP
modules for generating PWM signals, used in various application.

One such example is controlling the backlight power of the display
panels connected to the EVMs.

Enable these modules.

Signed-off-by: Aradhya Bhatia <[email protected]>
---
arch/arm64/configs/defconfig | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 7790ee42c68a..dd8094eef17f 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -1283,6 +1283,8 @@ CONFIG_PWM_SAMSUNG=y
CONFIG_PWM_SL28CPLD=m
CONFIG_PWM_SUN4I=m
CONFIG_PWM_TEGRA=m
+CONFIG_PWM_TIECAP=m
+CONFIG_PWM_TIEHRPWM=m
CONFIG_PWM_VISCONTI=m
CONFIG_SL28CPLD_INTC=y
CONFIG_QCOM_PDC=y
--
2.39.1

2023-04-26 06:09:23

by Aradhya Bhatia

[permalink] [raw]
Subject: [PATCH v2 1/2] arm64: dts/ti: am65x: Add Rocktech OLDI panel DT overlay

From: Jyri Sarha <[email protected]>

The OLDI-LCD1EVM add on board has Rocktech RK101II01D-CT panel[1] with
integrated touch screen. The integrated touch screen is Goodix GT928.
Add DT nodes for these and connect the endpoint nodes with DSS.

[1]: Product datasheet
https://www.digimax.it/media_import/DISPLAY/ROCKTECH/TFT%20LCD/RK101II01D-CT/RK101II01D-CT_DS_001.pdf

Signed-off-by: Jyri Sarha <[email protected]>
Signed-off-by: Nikhil Devshatwar <[email protected]>
[[email protected]: Make cosmetic and 6.1 DTSO syntax changes]
Signed-off-by: Aradhya Bhatia <[email protected]>
Reviewed-by: Tomi Valkeinen <[email protected]>
---
arch/arm64/boot/dts/ti/Makefile | 2 +
...am654-base-board-rocktech-rk101-panel.dtso | 69 +++++++++++++++++++
2 files changed, 71 insertions(+)
create mode 100644 arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso

diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index 6acd12409d59..3e6c4aa24f85 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -20,12 +20,14 @@ dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb

# Boards with AM65x SoC
+k3-am654-gp-evm-dtbs := k3-am654-base-board.dtb k3-am654-base-board-rocktech-rk101-panel.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am6528-iot2050-basic.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am6528-iot2050-basic-pg2.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-m2.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb
+dtb-$(CONFIG_ARCH_K3) += k3-am654-gp-evm.dtb

# Boards with J7200 SoC
dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb
diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso b/arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso
new file mode 100644
index 000000000000..aed6dcf3bd7d
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso
@@ -0,0 +1,69 @@
+// SPDX-License-Identifier: GPL-2.0
+/**
+ * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for AM654-EVM.
+ *
+ * Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/pwm/pwm.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+&{/} {
+ display0 {
+ compatible = "rocktech,rk101ii01d-ct";
+ backlight = <&lcd_bl>;
+ enable-gpios = <&pca9555 8 GPIO_ACTIVE_HIGH>;
+ port {
+ lcd_in0: endpoint {
+ remote-endpoint = <&oldi_out0>;
+ };
+ };
+ };
+
+ lcd_bl: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
+ brightness-levels =
+ <0 32 64 96 128 160 192 224 255>;
+ default-brightness-level = <8>;
+ };
+};
+
+&dss {
+ status = "okay";
+};
+
+&dss_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ oldi_out0: endpoint {
+ remote-endpoint = <&lcd_in0>;
+ };
+ };
+};
+
+&main_i2c1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ touchscreen@14 {
+ compatible = "goodix,gt928";
+ reg = <0x14>;
+
+ interrupt-parent = <&pca9554>;
+ interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+ touchscreen-size-x = <1280>;
+ touchscreen-size-y = <800>;
+
+ reset-gpios = <&pca9555 9 GPIO_ACTIVE_HIGH>;
+ irq-gpios = <&pca9554 3 GPIO_ACTIVE_HIGH>;
+ };
+};
--
2.39.1

2023-04-26 13:05:05

by Nishanth Menon

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] arm64: dts/ti: am65x: Add Rocktech OLDI panel DT overlay

On 11:36-20230426, Aradhya Bhatia wrote:
[...]
> # Boards with J7200 SoC
> dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb
> diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso b/arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso
> new file mode 100644
> index 000000000000..aed6dcf3bd7d
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso
> @@ -0,0 +1,69 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/**
> + * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for AM654-EVM.

product link please.


--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D

2023-04-26 13:32:48

by Andrew Davis

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] arm64: dts/ti: am65x: Add Rocktech OLDI panel DT overlay

On 4/26/23 1:06 AM, Aradhya Bhatia wrote:
> From: Jyri Sarha <[email protected]>
>
> The OLDI-LCD1EVM add on board has Rocktech RK101II01D-CT panel[1] with
> integrated touch screen. The integrated touch screen is Goodix GT928.
> Add DT nodes for these and connect the endpoint nodes with DSS.
>
> [1]: Product datasheet
> https://www.digimax.it/media_import/DISPLAY/ROCKTECH/TFT%20LCD/RK101II01D-CT/RK101II01D-CT_DS_001.pdf
>
> Signed-off-by: Jyri Sarha <[email protected]>
> Signed-off-by: Nikhil Devshatwar <[email protected]>
> [[email protected]: Make cosmetic and 6.1 DTSO syntax changes]
> Signed-off-by: Aradhya Bhatia <[email protected]>
> Reviewed-by: Tomi Valkeinen <[email protected]>
> ---

LGTM,

Reviewed-by: Andrew Davis <[email protected]>

> arch/arm64/boot/dts/ti/Makefile | 2 +
> ...am654-base-board-rocktech-rk101-panel.dtso | 69 +++++++++++++++++++
> 2 files changed, 71 insertions(+)
> create mode 100644 arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso
>
> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> index 6acd12409d59..3e6c4aa24f85 100644
> --- a/arch/arm64/boot/dts/ti/Makefile
> +++ b/arch/arm64/boot/dts/ti/Makefile
> @@ -20,12 +20,14 @@ dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb
>
> # Boards with AM65x SoC
> +k3-am654-gp-evm-dtbs := k3-am654-base-board.dtb k3-am654-base-board-rocktech-rk101-panel.dtbo
> dtb-$(CONFIG_ARCH_K3) += k3-am6528-iot2050-basic.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-am6528-iot2050-basic-pg2.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-m2.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb
> +dtb-$(CONFIG_ARCH_K3) += k3-am654-gp-evm.dtb
>
> # Boards with J7200 SoC
> dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb
> diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso b/arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso
> new file mode 100644
> index 000000000000..aed6dcf3bd7d
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso
> @@ -0,0 +1,69 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/**
> + * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for AM654-EVM.
> + *
> + * Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/pwm/pwm.h>
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +&{/} {
> + display0 {
> + compatible = "rocktech,rk101ii01d-ct";
> + backlight = <&lcd_bl>;
> + enable-gpios = <&pca9555 8 GPIO_ACTIVE_HIGH>;
> + port {
> + lcd_in0: endpoint {
> + remote-endpoint = <&oldi_out0>;
> + };
> + };
> + };
> +
> + lcd_bl: backlight {
> + compatible = "pwm-backlight";
> + pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
> + brightness-levels =
> + <0 32 64 96 128 160 192 224 255>;
> + default-brightness-level = <8>;
> + };
> +};
> +
> +&dss {
> + status = "okay";
> +};
> +
> +&dss_ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + oldi_out0: endpoint {
> + remote-endpoint = <&lcd_in0>;
> + };
> + };
> +};
> +
> +&main_i2c1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + touchscreen@14 {
> + compatible = "goodix,gt928";
> + reg = <0x14>;
> +
> + interrupt-parent = <&pca9554>;
> + interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
> + touchscreen-size-x = <1280>;
> + touchscreen-size-y = <800>;
> +
> + reset-gpios = <&pca9555 9 GPIO_ACTIVE_HIGH>;
> + irq-gpios = <&pca9554 3 GPIO_ACTIVE_HIGH>;
> + };
> +};

2023-04-26 14:11:33

by Aradhya Bhatia

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] arm64: dts/ti: am65x: Add Rocktech OLDI panel DT overlay



On 26-Apr-23 18:23, Nishanth Menon wrote:
> On 11:36-20230426, Aradhya Bhatia wrote:
> [...]
>> # Boards with J7200 SoC
>> dtb-$(CONFIG_ARCH_K3) += k3-j7200-common-proc-board.dtb
>> diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso b/arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso
>> new file mode 100644
>> index 000000000000..aed6dcf3bd7d
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/ti/k3-am654-base-board-rocktech-rk101-panel.dtso
>> @@ -0,0 +1,69 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/**
>> + * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for AM654-EVM.
>
> product link please.
>

Added the link in the commit message because believing that is the
status quo. Remember referencing this patch[1] a while back.

But a deeper look now tells me that, that might not be the case. Or
perhaps, its different for dt-binding patches and devictree patches.

Will correct this in v3 and send again.

Regards
Aradhya


[1]: https://patchwork.freedesktop.org/patch/357122/