Hi Fabrizio,
Thank you for the patch.
On Thu, Aug 29, 2019 at 12:38:33PM +0100, Fabrizio Castro wrote:
The HiHope RZ/G2M is advertised as compatible with panel idk-1110wr from Advantech, however the panel isn't sold alongside the board. A new dts, adding everything that's required to get the panel to work the HiHope RZ/G2M, is the most convenient way to support the HiHope RZ/G2M when it's connected to the idk-1110wr.
Signed-off-by: Fabrizio Castro fabrizio.castro@bp.renesas.com
v1->v2:
- added space between lvds-connector-en-gpio and curly brace
arch/arm64/boot/dts/renesas/Makefile | 1 + .../r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts | 86 ++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts
diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile index 42b74c2..5d94301 100644 --- a/arch/arm64/boot/dts/renesas/Makefile +++ b/arch/arm64/boot/dts/renesas/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m.dtb dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-ex.dtb +dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-ex-idk-1110wr.dtb dtb-$(CONFIG_ARCH_R8A774C0) += r8a774c0-cat874.dtb r8a774c0-ek874.dtb dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-salvator-x.dtb r8a7795-h3ulcb.dtb dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-h3ulcb-kf.dtb diff --git a/arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts b/arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts new file mode 100644 index 0000000..67fe04c --- /dev/null +++ b/arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: GPL-2.0 +/*
- Device Tree Source for the HiHope RZ/G2M sub board connected to an
- Advantech IDK-1110WR 10.1" LVDS panel
- Copyright (C) 2019 Renesas Electronics Corp.
- */
+#include "r8a774a1-hihope-rzg2m-ex.dts"
+/ {
- backlight {
compatible = "pwm-backlight";
pwms = <&pwm0 0 50000>;
brightness-levels = <0 2 8 16 32 64 128 255>;
default-brightness-level = <6>;
- };
- panel-lvds {
compatible = "advantech,idk-1110wr", "panel-lvds";
width-mm = <223>;
height-mm = <125>;
data-mapping = "jeida-24";
panel-timing {
/* 1024x600 @60Hz */
clock-frequency = <51200000>;
hactive = <1024>;
vactive = <600>;
hsync-len = <240>;
hfront-porch = <40>;
hback-porch = <40>;
vfront-porch = <15>;
vback-porch = <10>;
vsync-len = <10>;
};
port {
panel_in: endpoint {
remote-endpoint = <&lvds0_out>;
};
};
- };
+};
+&gpio1 {
- /*
* When GP1_20 is LOW LVDS0 is connected to the LVDS connector
* When GP1_20 is HIGH LVDS0 is connected to the LT8918L
*/
I knew that runtime-configurable output routing would be needed one day. While I'm not opposed to merging this patch as-is, it means that a board shipping this DT will not support the DSI output. I suppose that's not a problem as using DSI would require an external DSI panel, which would require a different DT anyway. In the general case, however, implementing support in the DU driver for output routing outside the SoC will be interesting to say the least :-)
Acked-by: Laurent Pinchart laurent.pinchart@ideasonboard.com
- lvds-connector-en-gpio {
gpio-hog;
gpios = <20 GPIO_ACTIVE_HIGH>;
output-low;
line-name = "lvds-connector-en-gpio";
- };
+};
+&lvds0 {
- status = "okay";
- ports {
port@1 {
lvds0_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
- };
+};
+&pfc {
- pwm0_pins: pwm0 {
groups = "pwm0";
function = "pwm0";
- };
+};
+&pwm0 {
- pinctrl-0 = <&pwm0_pins>;
- pinctrl-names = "default";
- status = "okay";
+};