All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 0/8] MIPS: CI20: add HDMI out support
@ 2020-02-26 19:12 ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: dri-devel, devicetree, linux-kernel, linux-mips, linux-gpio,
	letux-kernel, kernel, H. Nikolaus Schaller

This patch series adds HDMI output to the jz4780/CI20 board.

It is based on taking the old 3.18 vendor kernel and trying
to achieve the same with modern DTS setup and new/modified
drivers.

Unfortunately, in this first RFC, only EDID and creation of
/dev/fb0 are working. Also, HDMI hot plugging is detected.

But there is no HDMI output signal. So some tiny piece seems
to be missing to enable/configure the Synposys HDMI controller.

We need help from the community to fix this.

Note: device tree bindings are from 2015 and still seem to
fit - except they are not in yaml format.

Original authors of most patches are
* Paul Boddie <paul@boddie.org.uk>
* Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>


H. Nikolaus Schaller (2):
  drm: ingenic-drm: add MODULE_DEVICE_TABLE
  MIPS: CI20: defconfig: configure for DRM_DW_HDMI_JZ4780

Paul Boddie (4):
  drm: ingenic: add jz4780 Synopsys HDMI driver.
  pinctrl: ingenic: add hdmi-ddc pin control group
  MIPS: DTS: jz4780: account for Synopsys HDMI driver and LCD controller
  MIPS: DTS: CI20: add HDMI setup

Zubair Lutfullah Kakakhel (2):
  dt-bindings: video: Add jz4780-lcd binding
  dt-bindings: video: Add jz4780-hdmi binding

 .../bindings/display/ingenic-jz4780-hdmi.txt  |  41 ++++++
 .../bindings/display/ingenic-jz4780-lcd.txt   |  39 ++++++
 arch/mips/boot/dts/ingenic/ci20.dts           |  64 ++++++++++
 arch/mips/boot/dts/ingenic/jz4780.dtsi        |  32 +++++
 arch/mips/configs/ci20_defconfig              |   3 +
 drivers/gpu/drm/ingenic/Kconfig               |   8 ++
 drivers/gpu/drm/ingenic/Makefile              |   1 +
 drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c      | 120 ++++++++++++++++++
 drivers/gpu/drm/ingenic/ingenic-drm.c         |   2 +
 drivers/pinctrl/pinctrl-ingenic.c             |   7 +
 10 files changed, 317 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt
 create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt
 create mode 100644 drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c

-- 
2.23.0


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

* [RFC 0/8] MIPS: CI20: add HDMI out support
@ 2020-02-26 19:12 ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: devicetree, H. Nikolaus Schaller, linux-kernel, dri-devel,
	linux-mips, linux-gpio, kernel, letux-kernel

This patch series adds HDMI output to the jz4780/CI20 board.

It is based on taking the old 3.18 vendor kernel and trying
to achieve the same with modern DTS setup and new/modified
drivers.

Unfortunately, in this first RFC, only EDID and creation of
/dev/fb0 are working. Also, HDMI hot plugging is detected.

But there is no HDMI output signal. So some tiny piece seems
to be missing to enable/configure the Synposys HDMI controller.

We need help from the community to fix this.

Note: device tree bindings are from 2015 and still seem to
fit - except they are not in yaml format.

Original authors of most patches are
* Paul Boddie <paul@boddie.org.uk>
* Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>


H. Nikolaus Schaller (2):
  drm: ingenic-drm: add MODULE_DEVICE_TABLE
  MIPS: CI20: defconfig: configure for DRM_DW_HDMI_JZ4780

Paul Boddie (4):
  drm: ingenic: add jz4780 Synopsys HDMI driver.
  pinctrl: ingenic: add hdmi-ddc pin control group
  MIPS: DTS: jz4780: account for Synopsys HDMI driver and LCD controller
  MIPS: DTS: CI20: add HDMI setup

Zubair Lutfullah Kakakhel (2):
  dt-bindings: video: Add jz4780-lcd binding
  dt-bindings: video: Add jz4780-hdmi binding

 .../bindings/display/ingenic-jz4780-hdmi.txt  |  41 ++++++
 .../bindings/display/ingenic-jz4780-lcd.txt   |  39 ++++++
 arch/mips/boot/dts/ingenic/ci20.dts           |  64 ++++++++++
 arch/mips/boot/dts/ingenic/jz4780.dtsi        |  32 +++++
 arch/mips/configs/ci20_defconfig              |   3 +
 drivers/gpu/drm/ingenic/Kconfig               |   8 ++
 drivers/gpu/drm/ingenic/Makefile              |   1 +
 drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c      | 120 ++++++++++++++++++
 drivers/gpu/drm/ingenic/ingenic-drm.c         |   2 +
 drivers/pinctrl/pinctrl-ingenic.c             |   7 +
 10 files changed, 317 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt
 create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt
 create mode 100644 drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c

-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [RFC 1/8] dt-bindings: video: Add jz4780-lcd binding
  2020-02-26 19:12 ` H. Nikolaus Schaller
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  -1 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: dri-devel, devicetree, linux-kernel, linux-mips, linux-gpio,
	letux-kernel, kernel, Zubair Lutfullah Kakakhel

From: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>

Add DT bindings for the LCD controller on the jz4780 SoC

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 .../bindings/display/ingenic-jz4780-lcd.txt   | 39 +++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt

diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt
new file mode 100644
index 000000000000..8512ce3f93df
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt
@@ -0,0 +1,39 @@
+Bindings for Ingenic JZ4780 LCD Controller
+
+LCD Controller is the Display Controller for the Ingenic JZ4780 SoC
+
+Required properties:
+- compatible: should be "ingenic,jz4780-lcd"
+- reg: Should contain the address & size of the LCD controller registers.
+- interrupts: Should specify the interrupt provided by parent.
+- clocks: Should contain two clock specifiers for the JZ4780_CLK_TVE JZ4780_CLK_LCD0PIXCLK.
+- clock-names : Must be "lcd_clk", "lcd_pixclk";
+- port: A port node with endpoint definitions as defined in
+  Documentation/devicetree/bindings/media/video-interfaces.txt.
+
+Optional properties:
+- interrupt-parent: phandle to parent interrupt controller
+
+Example:
+
+lcd: jz4780-lcdk@0x13050000 {
+	compatible = "ingenic,jz4780-lcd";
+	reg = <0x13050000 0x1800>;
+
+	clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
+	clock-names = "lcd_clk", "lcd_pixclk";
+
+	interrupt-parent = <&intc>;
+	interrupts = <31>;
+
+	jz4780_lcd_out: port {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			jz4780_out_hdmi: endpoint@0 {
+				reg = <0>;
+				remote-endpoint = <&hdmi_in_lcd>;
+			};
+		};
+
+};
-- 
2.23.0


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

* [RFC 1/8] dt-bindings: video: Add jz4780-lcd binding
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: devicetree, Zubair Lutfullah Kakakhel, linux-kernel, dri-devel,
	linux-mips, linux-gpio, kernel, letux-kernel

From: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>

Add DT bindings for the LCD controller on the jz4780 SoC

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 .../bindings/display/ingenic-jz4780-lcd.txt   | 39 +++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt

diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt
new file mode 100644
index 000000000000..8512ce3f93df
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt
@@ -0,0 +1,39 @@
+Bindings for Ingenic JZ4780 LCD Controller
+
+LCD Controller is the Display Controller for the Ingenic JZ4780 SoC
+
+Required properties:
+- compatible: should be "ingenic,jz4780-lcd"
+- reg: Should contain the address & size of the LCD controller registers.
+- interrupts: Should specify the interrupt provided by parent.
+- clocks: Should contain two clock specifiers for the JZ4780_CLK_TVE JZ4780_CLK_LCD0PIXCLK.
+- clock-names : Must be "lcd_clk", "lcd_pixclk";
+- port: A port node with endpoint definitions as defined in
+  Documentation/devicetree/bindings/media/video-interfaces.txt.
+
+Optional properties:
+- interrupt-parent: phandle to parent interrupt controller
+
+Example:
+
+lcd: jz4780-lcdk@0x13050000 {
+	compatible = "ingenic,jz4780-lcd";
+	reg = <0x13050000 0x1800>;
+
+	clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
+	clock-names = "lcd_clk", "lcd_pixclk";
+
+	interrupt-parent = <&intc>;
+	interrupts = <31>;
+
+	jz4780_lcd_out: port {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			jz4780_out_hdmi: endpoint@0 {
+				reg = <0>;
+				remote-endpoint = <&hdmi_in_lcd>;
+			};
+		};
+
+};
-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [RFC 2/8] dt-bindings: video: Add jz4780-hdmi binding
  2020-02-26 19:12 ` H. Nikolaus Schaller
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  -1 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: dri-devel, devicetree, linux-kernel, linux-mips, linux-gpio,
	letux-kernel, kernel, Zubair Lutfullah Kakakhel

From: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>

Add DT bindings for the hdmi driver for the Ingenic JZ4780 SoC.

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 .../bindings/display/ingenic-jz4780-hdmi.txt  | 41 +++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt

diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt
new file mode 100644
index 000000000000..f02e59fbdd5a
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt
@@ -0,0 +1,41 @@
+Device-Tree bindings for Ingenic JZ4780 HDMI Transmitter
+
+The HDMI Transmitter in the Ingenic JZ4780 is a Synopsys DesignWare HDMI 1.4
+TX controller IP with accompanying PHY IP.
+
+Required properties:
+ - #address-cells : should be <1>
+ - #size-cells : should be <0>
+ - compatible : should be "ingenic,jz4780-hdmi"
+ - reg-io-width: must be <4>
+ - clocks: phandle to isrf and iahb clocks
+ - clock-names : must be "isrf" and "iahb"
+ - ports: Port nodes with endpoint definitions as defined in
+   Documentation/devicetree/bindings/media/video-interfaces.txt,
+
+Optional properties:
+ - ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
+
+example:
+
+hdmi: hdmi@10180000 {
+	compatible = "ingenic,jz4780-hdmi";
+	reg = <0x10180000 0x8000>;
+	reg-io-width = <4>;
+	ddc-i2c-bus = <&i2c4>;
+	interrupt-parent = <&intc>;
+	interrupts = <3>;
+	clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>;
+	clock-names = "isfr", "iahb";
+
+	ports {
+		hdmi_in: port {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			hdmi_in_lcd: endpoint@0 {
+				reg = <0>;
+				remote-endpoint = <&jz4780_out_hdmi>;
+			};
+		};
+	};
+};
-- 
2.23.0


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

* [RFC 2/8] dt-bindings: video: Add jz4780-hdmi binding
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: devicetree, Zubair Lutfullah Kakakhel, linux-kernel, dri-devel,
	linux-mips, linux-gpio, kernel, letux-kernel

From: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>

Add DT bindings for the hdmi driver for the Ingenic JZ4780 SoC.

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 .../bindings/display/ingenic-jz4780-hdmi.txt  | 41 +++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt

diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt
new file mode 100644
index 000000000000..f02e59fbdd5a
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt
@@ -0,0 +1,41 @@
+Device-Tree bindings for Ingenic JZ4780 HDMI Transmitter
+
+The HDMI Transmitter in the Ingenic JZ4780 is a Synopsys DesignWare HDMI 1.4
+TX controller IP with accompanying PHY IP.
+
+Required properties:
+ - #address-cells : should be <1>
+ - #size-cells : should be <0>
+ - compatible : should be "ingenic,jz4780-hdmi"
+ - reg-io-width: must be <4>
+ - clocks: phandle to isrf and iahb clocks
+ - clock-names : must be "isrf" and "iahb"
+ - ports: Port nodes with endpoint definitions as defined in
+   Documentation/devicetree/bindings/media/video-interfaces.txt,
+
+Optional properties:
+ - ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
+
+example:
+
+hdmi: hdmi@10180000 {
+	compatible = "ingenic,jz4780-hdmi";
+	reg = <0x10180000 0x8000>;
+	reg-io-width = <4>;
+	ddc-i2c-bus = <&i2c4>;
+	interrupt-parent = <&intc>;
+	interrupts = <3>;
+	clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>;
+	clock-names = "isfr", "iahb";
+
+	ports {
+		hdmi_in: port {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			hdmi_in_lcd: endpoint@0 {
+				reg = <0>;
+				remote-endpoint = <&jz4780_out_hdmi>;
+			};
+		};
+	};
+};
-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [RFC 3/8] drm: ingenic-drm: add MODULE_DEVICE_TABLE
  2020-02-26 19:12 ` H. Nikolaus Schaller
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  -1 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: dri-devel, devicetree, linux-kernel, linux-mips, linux-gpio,
	letux-kernel, kernel, H. Nikolaus Schaller

so that the driver can load by matching the device tree
if compiled as module.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 drivers/gpu/drm/ingenic/ingenic-drm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/ingenic/ingenic-drm.c b/drivers/gpu/drm/ingenic/ingenic-drm.c
index 6d47ef7b148c..d8617096dd8e 100644
--- a/drivers/gpu/drm/ingenic/ingenic-drm.c
+++ b/drivers/gpu/drm/ingenic/ingenic-drm.c
@@ -844,6 +844,8 @@ static const struct of_device_id ingenic_drm_of_match[] = {
 	{ /* sentinel */ },
 };
 
+MODULE_DEVICE_TABLE(of, ingenic_drm_of_match);
+
 static struct platform_driver ingenic_drm_driver = {
 	.driver = {
 		.name = "ingenic-drm",
-- 
2.23.0


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

* [RFC 3/8] drm: ingenic-drm: add MODULE_DEVICE_TABLE
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: devicetree, H. Nikolaus Schaller, linux-kernel, dri-devel,
	linux-mips, linux-gpio, kernel, letux-kernel

so that the driver can load by matching the device tree
if compiled as module.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 drivers/gpu/drm/ingenic/ingenic-drm.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/ingenic/ingenic-drm.c b/drivers/gpu/drm/ingenic/ingenic-drm.c
index 6d47ef7b148c..d8617096dd8e 100644
--- a/drivers/gpu/drm/ingenic/ingenic-drm.c
+++ b/drivers/gpu/drm/ingenic/ingenic-drm.c
@@ -844,6 +844,8 @@ static const struct of_device_id ingenic_drm_of_match[] = {
 	{ /* sentinel */ },
 };
 
+MODULE_DEVICE_TABLE(of, ingenic_drm_of_match);
+
 static struct platform_driver ingenic_drm_driver = {
 	.driver = {
 		.name = "ingenic-drm",
-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [RFC 4/8] drm: ingenic: add jz4780 Synopsys HDMI driver.
  2020-02-26 19:12 ` H. Nikolaus Schaller
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  -1 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: dri-devel, devicetree, linux-kernel, linux-mips, linux-gpio,
	letux-kernel, kernel, H . Nikolaus Schaller

From: Paul Boddie <paul@boddie.org.uk>

A specialisation of the generic Synopsys HDMI driver is employed for JZ4780
HDMI support. This requires a new driver, plus device tree and configuration
modifications.

Signed-off-by: Paul Boddie <paul@boddie.org.uk>
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 drivers/gpu/drm/ingenic/Kconfig          |   8 ++
 drivers/gpu/drm/ingenic/Makefile         |   1 +
 drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c | 120 +++++++++++++++++++++++
 3 files changed, 129 insertions(+)
 create mode 100644 drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c

diff --git a/drivers/gpu/drm/ingenic/Kconfig b/drivers/gpu/drm/ingenic/Kconfig
index d82c3d37ec9c..44bfd0d35af1 100644
--- a/drivers/gpu/drm/ingenic/Kconfig
+++ b/drivers/gpu/drm/ingenic/Kconfig
@@ -14,3 +14,11 @@ config DRM_INGENIC
 	  Choose this option for DRM support for the Ingenic SoCs.
 
 	  If M is selected the module will be called ingenic-drm.
+
+config DRM_DW_HDMI_JZ4780
+	tristate "HDMI Support for Ingenic JZ4780"
+	depends on DRM_INGENIC
+	depends on OF
+	select DRM_DW_HDMI
+	help
+	  Choose this option for HDMI output from the Ingenic JZ4780.
diff --git a/drivers/gpu/drm/ingenic/Makefile b/drivers/gpu/drm/ingenic/Makefile
index 11cac42ce0bb..238383de63c7 100644
--- a/drivers/gpu/drm/ingenic/Makefile
+++ b/drivers/gpu/drm/ingenic/Makefile
@@ -1 +1,2 @@
 obj-$(CONFIG_DRM_INGENIC) += ingenic-drm.o
+obj-$(CONFIG_DRM_DW_HDMI_JZ4780) += dw_hdmi-jz4780.o
diff --git a/drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c b/drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c
new file mode 100644
index 000000000000..fa379e337263
--- /dev/null
+++ b/drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c
@@ -0,0 +1,120 @@
+// SPDX-License-Identifier: GPL-2.0
+/* Copyright (C) 2011-2013 Freescale Semiconductor, Inc.
+ * Copyright (C) 2019 Paul Boddie <paul@boddie.org.uk>
+ *
+ * Derived from dw_hdmi-imx.c with i.MX portions removed.
+ * Probe and remove operations derived from rcar_dw_hdmi.c.
+ */
+
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/regmap.h>
+
+#include <drm/bridge/dw_hdmi.h>
+#include <drm/drm_of.h>
+
+static const struct dw_hdmi_mpll_config jz4780_mpll_cfg[] = {
+	{ 45250000,  { { 0x01e0, 0x0000 },
+		       { 0x21e1, 0x0000 },
+		       { 0x41e2, 0x0000 } } },
+	{ 92500000,  { { 0x0140, 0x0005 },
+		       { 0x2141, 0x0005 },
+		       { 0x4142, 0x0005 } } },
+	{ 148500000, { { 0x00a0, 0x000a },
+		       { 0x20a1, 0x000a },
+		       { 0x40a2, 0x000a } } },
+	{ 216000000, { { 0x00a0, 0x000a },
+		       { 0x2001, 0x000f },
+		       { 0x4002, 0x000f } } },
+	{ ~0UL,      { { 0x0000, 0x0000 },
+		       { 0x0000, 0x0000 },
+		       { 0x0000, 0x0000 } } }
+};
+
+static const struct dw_hdmi_curr_ctrl jz4780_cur_ctr[] = {
+	/*pixelclk     bpp8    bpp10   bpp12 */
+	{ 54000000,  { 0x091c, 0x091c, 0x06dc } },
+	{ 58400000,  { 0x091c, 0x06dc, 0x06dc } },
+	{ 72000000,  { 0x06dc, 0x06dc, 0x091c } },
+	{ 74250000,  { 0x06dc, 0x0b5c, 0x091c } },
+	{ 118800000, { 0x091c, 0x091c, 0x06dc } },
+	{ 216000000, { 0x06dc, 0x0b5c, 0x091c } },
+	{ ~0UL,      { 0x0000, 0x0000, 0x0000 } },
+};
+
+/*
+ * Resistance term 133Ohm Cfg
+ * PREEMP config 0.00
+ * TX/CK level 10
+ */
+static const struct dw_hdmi_phy_config jz4780_phy_config[] = {
+	/*pixelclk   symbol   term   vlev */
+	{ 216000000, 0x800d, 0x0005, 0x01ad},
+	{ ~0UL,      0x0000, 0x0000, 0x0000}
+};
+
+static enum drm_mode_status
+jz4780_hdmi_mode_valid(struct drm_connector *con,
+		       const struct drm_display_mode *mode)
+{
+	if (mode->clock < 13500)
+		return MODE_CLOCK_LOW;
+	/* FIXME: Hardware is capable of 270MHz, but setup data is missing. */
+	if (mode->clock > 216000)
+		return MODE_CLOCK_HIGH;
+
+	return MODE_OK;
+}
+
+static struct dw_hdmi_plat_data jz4780_dw_hdmi_plat_data = {
+	.mpll_cfg   = jz4780_mpll_cfg,
+	.cur_ctr    = jz4780_cur_ctr,
+	.phy_config = jz4780_phy_config,
+	.mode_valid = jz4780_hdmi_mode_valid,
+};
+
+static const struct of_device_id jz4780_dw_hdmi_dt_ids[] = {
+	{ .compatible = "ingenic,jz4780-dw-hdmi" },
+	{ /* Sentinel */ },
+};
+MODULE_DEVICE_TABLE(of, jz4780_dw_hdmi_dt_ids);
+
+static int jz4780_dw_hdmi_probe(struct platform_device *pdev)
+{
+	struct dw_hdmi *hdmi;
+
+	hdmi = dw_hdmi_probe(pdev, &jz4780_dw_hdmi_plat_data);
+	if (IS_ERR(hdmi))
+		return PTR_ERR(hdmi);
+
+	platform_set_drvdata(pdev, hdmi);
+
+	return 0;
+}
+
+static int jz4780_dw_hdmi_remove(struct platform_device *pdev)
+{
+	struct dw_hdmi *hdmi = platform_get_drvdata(pdev);
+
+	dw_hdmi_remove(hdmi);
+
+	return 0;
+}
+
+static struct platform_driver jz4780_dw_hdmi_platform_driver = {
+	.probe  = jz4780_dw_hdmi_probe,
+	.remove = jz4780_dw_hdmi_remove,
+	.driver = {
+		.name = "dw-hdmi-jz4780",
+		.of_match_table = jz4780_dw_hdmi_dt_ids,
+	},
+};
+
+module_platform_driver(jz4780_dw_hdmi_platform_driver);
+
+MODULE_AUTHOR("Andy Yan <andy.yan@rock-chips.com>");
+MODULE_AUTHOR("Yakir Yang <ykk@rock-chips.com>");
+MODULE_AUTHOR("Paul Boddie <paul@boddie.org.uk>");
+MODULE_DESCRIPTION("Ingenic JZ4780 DW-HDMI Driver Extension");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:dw-hdmi-jz4780");
-- 
2.23.0


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

* [RFC 4/8] drm: ingenic: add jz4780 Synopsys HDMI driver.
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: devicetree, H . Nikolaus Schaller, linux-kernel, dri-devel,
	linux-mips, linux-gpio, kernel, letux-kernel

From: Paul Boddie <paul@boddie.org.uk>

A specialisation of the generic Synopsys HDMI driver is employed for JZ4780
HDMI support. This requires a new driver, plus device tree and configuration
modifications.

Signed-off-by: Paul Boddie <paul@boddie.org.uk>
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 drivers/gpu/drm/ingenic/Kconfig          |   8 ++
 drivers/gpu/drm/ingenic/Makefile         |   1 +
 drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c | 120 +++++++++++++++++++++++
 3 files changed, 129 insertions(+)
 create mode 100644 drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c

diff --git a/drivers/gpu/drm/ingenic/Kconfig b/drivers/gpu/drm/ingenic/Kconfig
index d82c3d37ec9c..44bfd0d35af1 100644
--- a/drivers/gpu/drm/ingenic/Kconfig
+++ b/drivers/gpu/drm/ingenic/Kconfig
@@ -14,3 +14,11 @@ config DRM_INGENIC
 	  Choose this option for DRM support for the Ingenic SoCs.
 
 	  If M is selected the module will be called ingenic-drm.
+
+config DRM_DW_HDMI_JZ4780
+	tristate "HDMI Support for Ingenic JZ4780"
+	depends on DRM_INGENIC
+	depends on OF
+	select DRM_DW_HDMI
+	help
+	  Choose this option for HDMI output from the Ingenic JZ4780.
diff --git a/drivers/gpu/drm/ingenic/Makefile b/drivers/gpu/drm/ingenic/Makefile
index 11cac42ce0bb..238383de63c7 100644
--- a/drivers/gpu/drm/ingenic/Makefile
+++ b/drivers/gpu/drm/ingenic/Makefile
@@ -1 +1,2 @@
 obj-$(CONFIG_DRM_INGENIC) += ingenic-drm.o
+obj-$(CONFIG_DRM_DW_HDMI_JZ4780) += dw_hdmi-jz4780.o
diff --git a/drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c b/drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c
new file mode 100644
index 000000000000..fa379e337263
--- /dev/null
+++ b/drivers/gpu/drm/ingenic/dw_hdmi-jz4780.c
@@ -0,0 +1,120 @@
+// SPDX-License-Identifier: GPL-2.0
+/* Copyright (C) 2011-2013 Freescale Semiconductor, Inc.
+ * Copyright (C) 2019 Paul Boddie <paul@boddie.org.uk>
+ *
+ * Derived from dw_hdmi-imx.c with i.MX portions removed.
+ * Probe and remove operations derived from rcar_dw_hdmi.c.
+ */
+
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/regmap.h>
+
+#include <drm/bridge/dw_hdmi.h>
+#include <drm/drm_of.h>
+
+static const struct dw_hdmi_mpll_config jz4780_mpll_cfg[] = {
+	{ 45250000,  { { 0x01e0, 0x0000 },
+		       { 0x21e1, 0x0000 },
+		       { 0x41e2, 0x0000 } } },
+	{ 92500000,  { { 0x0140, 0x0005 },
+		       { 0x2141, 0x0005 },
+		       { 0x4142, 0x0005 } } },
+	{ 148500000, { { 0x00a0, 0x000a },
+		       { 0x20a1, 0x000a },
+		       { 0x40a2, 0x000a } } },
+	{ 216000000, { { 0x00a0, 0x000a },
+		       { 0x2001, 0x000f },
+		       { 0x4002, 0x000f } } },
+	{ ~0UL,      { { 0x0000, 0x0000 },
+		       { 0x0000, 0x0000 },
+		       { 0x0000, 0x0000 } } }
+};
+
+static const struct dw_hdmi_curr_ctrl jz4780_cur_ctr[] = {
+	/*pixelclk     bpp8    bpp10   bpp12 */
+	{ 54000000,  { 0x091c, 0x091c, 0x06dc } },
+	{ 58400000,  { 0x091c, 0x06dc, 0x06dc } },
+	{ 72000000,  { 0x06dc, 0x06dc, 0x091c } },
+	{ 74250000,  { 0x06dc, 0x0b5c, 0x091c } },
+	{ 118800000, { 0x091c, 0x091c, 0x06dc } },
+	{ 216000000, { 0x06dc, 0x0b5c, 0x091c } },
+	{ ~0UL,      { 0x0000, 0x0000, 0x0000 } },
+};
+
+/*
+ * Resistance term 133Ohm Cfg
+ * PREEMP config 0.00
+ * TX/CK level 10
+ */
+static const struct dw_hdmi_phy_config jz4780_phy_config[] = {
+	/*pixelclk   symbol   term   vlev */
+	{ 216000000, 0x800d, 0x0005, 0x01ad},
+	{ ~0UL,      0x0000, 0x0000, 0x0000}
+};
+
+static enum drm_mode_status
+jz4780_hdmi_mode_valid(struct drm_connector *con,
+		       const struct drm_display_mode *mode)
+{
+	if (mode->clock < 13500)
+		return MODE_CLOCK_LOW;
+	/* FIXME: Hardware is capable of 270MHz, but setup data is missing. */
+	if (mode->clock > 216000)
+		return MODE_CLOCK_HIGH;
+
+	return MODE_OK;
+}
+
+static struct dw_hdmi_plat_data jz4780_dw_hdmi_plat_data = {
+	.mpll_cfg   = jz4780_mpll_cfg,
+	.cur_ctr    = jz4780_cur_ctr,
+	.phy_config = jz4780_phy_config,
+	.mode_valid = jz4780_hdmi_mode_valid,
+};
+
+static const struct of_device_id jz4780_dw_hdmi_dt_ids[] = {
+	{ .compatible = "ingenic,jz4780-dw-hdmi" },
+	{ /* Sentinel */ },
+};
+MODULE_DEVICE_TABLE(of, jz4780_dw_hdmi_dt_ids);
+
+static int jz4780_dw_hdmi_probe(struct platform_device *pdev)
+{
+	struct dw_hdmi *hdmi;
+
+	hdmi = dw_hdmi_probe(pdev, &jz4780_dw_hdmi_plat_data);
+	if (IS_ERR(hdmi))
+		return PTR_ERR(hdmi);
+
+	platform_set_drvdata(pdev, hdmi);
+
+	return 0;
+}
+
+static int jz4780_dw_hdmi_remove(struct platform_device *pdev)
+{
+	struct dw_hdmi *hdmi = platform_get_drvdata(pdev);
+
+	dw_hdmi_remove(hdmi);
+
+	return 0;
+}
+
+static struct platform_driver jz4780_dw_hdmi_platform_driver = {
+	.probe  = jz4780_dw_hdmi_probe,
+	.remove = jz4780_dw_hdmi_remove,
+	.driver = {
+		.name = "dw-hdmi-jz4780",
+		.of_match_table = jz4780_dw_hdmi_dt_ids,
+	},
+};
+
+module_platform_driver(jz4780_dw_hdmi_platform_driver);
+
+MODULE_AUTHOR("Andy Yan <andy.yan@rock-chips.com>");
+MODULE_AUTHOR("Yakir Yang <ykk@rock-chips.com>");
+MODULE_AUTHOR("Paul Boddie <paul@boddie.org.uk>");
+MODULE_DESCRIPTION("Ingenic JZ4780 DW-HDMI Driver Extension");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:dw-hdmi-jz4780");
-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [RFC 5/8] pinctrl: ingenic: add hdmi-ddc pin control group
  2020-02-26 19:12 ` H. Nikolaus Schaller
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  -1 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: dri-devel, devicetree, linux-kernel, linux-mips, linux-gpio,
	letux-kernel, kernel, H . Nikolaus Schaller

From: Paul Boddie <paul@boddie.org.uk>

Signed-off-by: Paul Boddie <paul@boddie.org.uk>
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 drivers/pinctrl/pinctrl-ingenic.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/pinctrl/pinctrl-ingenic.c b/drivers/pinctrl/pinctrl-ingenic.c
index 96f04d121ebd..1599a003c31f 100644
--- a/drivers/pinctrl/pinctrl-ingenic.c
+++ b/drivers/pinctrl/pinctrl-ingenic.c
@@ -4,6 +4,7 @@
  *
  * Copyright (c) 2017 Paul Cercueil <paul@crapouillou.net>
  * Copyright (c) 2019 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
+ * Copyright (c) 2017, 2019 Paul Boddie <paul@boddie.org.uk>
  */
 
 #include <linux/compiler.h>
@@ -900,6 +901,7 @@ static int jz4780_mmc0_8bit_a_pins[] = { 0x04, 0x05, 0x06, 0x07, 0x18, };
 static int jz4780_i2c3_pins[] = { 0x6a, 0x6b, };
 static int jz4780_i2c4_e_pins[] = { 0x8c, 0x8d, };
 static int jz4780_i2c4_f_pins[] = { 0xb9, 0xb8, };
+static int jz4780_hdmi_ddc_pins[] = { 0xb9, 0xb8, };
 
 static int jz4780_uart2_data_funcs[] = { 1, 1, };
 static int jz4780_uart2_hwflow_funcs[] = { 1, 1, };
@@ -908,6 +910,7 @@ static int jz4780_mmc0_8bit_a_funcs[] = { 1, 1, 1, 1, 1, };
 static int jz4780_i2c3_funcs[] = { 1, 1, };
 static int jz4780_i2c4_e_funcs[] = { 1, 1, };
 static int jz4780_i2c4_f_funcs[] = { 1, 1, };
+static int jz4780_hdmi_ddc_funcs[] = { 0, 0, };
 
 static const struct group_desc jz4780_groups[] = {
 	INGENIC_PIN_GROUP("uart0-data", jz4770_uart0_data),
@@ -950,6 +953,7 @@ static const struct group_desc jz4780_groups[] = {
 	INGENIC_PIN_GROUP("i2c3-data", jz4780_i2c3),
 	INGENIC_PIN_GROUP("i2c4-data-e", jz4780_i2c4_e),
 	INGENIC_PIN_GROUP("i2c4-data-f", jz4780_i2c4_f),
+	INGENIC_PIN_GROUP("hdmi-ddc", jz4780_hdmi_ddc),
 	INGENIC_PIN_GROUP("cim-data", jz4770_cim_8bit),
 	INGENIC_PIN_GROUP("lcd-24bit", jz4770_lcd_24bit),
 	{ "lcd-no-pins", },
@@ -982,6 +986,7 @@ static const char *jz4780_nemc_groups[] = {
 static const char *jz4780_i2c3_groups[] = { "i2c3-data", };
 static const char *jz4780_i2c4_groups[] = { "i2c4-data-e", "i2c4-data-f", };
 static const char *jz4780_cim_groups[] = { "cim-data", };
+static const char *jz4780_hdmi_ddc_groups[] = { "hdmi-ddc", };
 
 static const struct function_desc jz4780_functions[] = {
 	{ "uart0", jz4770_uart0_groups, ARRAY_SIZE(jz4770_uart0_groups), },
@@ -1014,6 +1019,8 @@ static const struct function_desc jz4780_functions[] = {
 	{ "pwm5", jz4770_pwm5_groups, ARRAY_SIZE(jz4770_pwm5_groups), },
 	{ "pwm6", jz4770_pwm6_groups, ARRAY_SIZE(jz4770_pwm6_groups), },
 	{ "pwm7", jz4770_pwm7_groups, ARRAY_SIZE(jz4770_pwm7_groups), },
+	{ "hdmi-ddc", jz4780_hdmi_ddc_groups,
+		      ARRAY_SIZE(jz4780_hdmi_ddc_groups), },
 };
 
 static const struct ingenic_chip_info jz4780_chip_info = {
-- 
2.23.0


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

* [RFC 5/8] pinctrl: ingenic: add hdmi-ddc pin control group
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: devicetree, H . Nikolaus Schaller, linux-kernel, dri-devel,
	linux-mips, linux-gpio, kernel, letux-kernel

From: Paul Boddie <paul@boddie.org.uk>

Signed-off-by: Paul Boddie <paul@boddie.org.uk>
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 drivers/pinctrl/pinctrl-ingenic.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/pinctrl/pinctrl-ingenic.c b/drivers/pinctrl/pinctrl-ingenic.c
index 96f04d121ebd..1599a003c31f 100644
--- a/drivers/pinctrl/pinctrl-ingenic.c
+++ b/drivers/pinctrl/pinctrl-ingenic.c
@@ -4,6 +4,7 @@
  *
  * Copyright (c) 2017 Paul Cercueil <paul@crapouillou.net>
  * Copyright (c) 2019 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
+ * Copyright (c) 2017, 2019 Paul Boddie <paul@boddie.org.uk>
  */
 
 #include <linux/compiler.h>
@@ -900,6 +901,7 @@ static int jz4780_mmc0_8bit_a_pins[] = { 0x04, 0x05, 0x06, 0x07, 0x18, };
 static int jz4780_i2c3_pins[] = { 0x6a, 0x6b, };
 static int jz4780_i2c4_e_pins[] = { 0x8c, 0x8d, };
 static int jz4780_i2c4_f_pins[] = { 0xb9, 0xb8, };
+static int jz4780_hdmi_ddc_pins[] = { 0xb9, 0xb8, };
 
 static int jz4780_uart2_data_funcs[] = { 1, 1, };
 static int jz4780_uart2_hwflow_funcs[] = { 1, 1, };
@@ -908,6 +910,7 @@ static int jz4780_mmc0_8bit_a_funcs[] = { 1, 1, 1, 1, 1, };
 static int jz4780_i2c3_funcs[] = { 1, 1, };
 static int jz4780_i2c4_e_funcs[] = { 1, 1, };
 static int jz4780_i2c4_f_funcs[] = { 1, 1, };
+static int jz4780_hdmi_ddc_funcs[] = { 0, 0, };
 
 static const struct group_desc jz4780_groups[] = {
 	INGENIC_PIN_GROUP("uart0-data", jz4770_uart0_data),
@@ -950,6 +953,7 @@ static const struct group_desc jz4780_groups[] = {
 	INGENIC_PIN_GROUP("i2c3-data", jz4780_i2c3),
 	INGENIC_PIN_GROUP("i2c4-data-e", jz4780_i2c4_e),
 	INGENIC_PIN_GROUP("i2c4-data-f", jz4780_i2c4_f),
+	INGENIC_PIN_GROUP("hdmi-ddc", jz4780_hdmi_ddc),
 	INGENIC_PIN_GROUP("cim-data", jz4770_cim_8bit),
 	INGENIC_PIN_GROUP("lcd-24bit", jz4770_lcd_24bit),
 	{ "lcd-no-pins", },
@@ -982,6 +986,7 @@ static const char *jz4780_nemc_groups[] = {
 static const char *jz4780_i2c3_groups[] = { "i2c3-data", };
 static const char *jz4780_i2c4_groups[] = { "i2c4-data-e", "i2c4-data-f", };
 static const char *jz4780_cim_groups[] = { "cim-data", };
+static const char *jz4780_hdmi_ddc_groups[] = { "hdmi-ddc", };
 
 static const struct function_desc jz4780_functions[] = {
 	{ "uart0", jz4770_uart0_groups, ARRAY_SIZE(jz4770_uart0_groups), },
@@ -1014,6 +1019,8 @@ static const struct function_desc jz4780_functions[] = {
 	{ "pwm5", jz4770_pwm5_groups, ARRAY_SIZE(jz4770_pwm5_groups), },
 	{ "pwm6", jz4770_pwm6_groups, ARRAY_SIZE(jz4770_pwm6_groups), },
 	{ "pwm7", jz4770_pwm7_groups, ARRAY_SIZE(jz4770_pwm7_groups), },
+	{ "hdmi-ddc", jz4780_hdmi_ddc_groups,
+		      ARRAY_SIZE(jz4780_hdmi_ddc_groups), },
 };
 
 static const struct ingenic_chip_info jz4780_chip_info = {
-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [RFC 6/8] MIPS: DTS: jz4780: account for Synopsys HDMI driver and LCD controller
  2020-02-26 19:12 ` H. Nikolaus Schaller
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  -1 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: dri-devel, devicetree, linux-kernel, linux-mips, linux-gpio,
	letux-kernel, kernel, H . Nikolaus Schaller

From: Paul Boddie <paul@boddie.org.uk>

A specialisation of the generic Synopsys HDMI driver is employed for JZ4780
HDMI support. This requires a new driver, plus device tree and configuration
modifications.

Signed-off-by: Paul Boddie <paul@boddie.org.uk>
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/mips/boot/dts/ingenic/jz4780.dtsi | 32 ++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/arch/mips/boot/dts/ingenic/jz4780.dtsi b/arch/mips/boot/dts/ingenic/jz4780.dtsi
index f928329b034b..391d4e1efd35 100644
--- a/arch/mips/boot/dts/ingenic/jz4780.dtsi
+++ b/arch/mips/boot/dts/ingenic/jz4780.dtsi
@@ -433,4 +433,36 @@
 
 		status = "disabled";
 	};
+
+	hdmi: hdmi@10180000 {
+		compatible = "ingenic,jz4780-dw-hdmi";
+		reg = <0x10180000 0x8000>;
+		reg-io-width = <4>;
+
+		clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>;
+		clock-names = "isfr" , "iahb";
+
+		assigned-clocks = <&cgu JZ4780_CLK_HDMI>;
+		assigned-clock-rates = <27000000>;
+
+		interrupt-parent = <&intc>;
+		interrupts = <3>;
+
+		/* ddc-i2c-bus = <&i2c4>; */
+
+		status = "disabled";
+	};
+
+	lcd: lcd@13050000 {
+		compatible = "ingenic,jz4740-lcd";
+		reg = <0x13050000 0x1800>;
+
+		clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
+		clock-names = "lcd", "lcd_pclk";
+
+		interrupt-parent = <&intc>;
+		interrupts = <31>;
+
+		status = "disabled";
+	};
 };
-- 
2.23.0


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

* [RFC 6/8] MIPS: DTS: jz4780: account for Synopsys HDMI driver and LCD controller
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: devicetree, H . Nikolaus Schaller, linux-kernel, dri-devel,
	linux-mips, linux-gpio, kernel, letux-kernel

From: Paul Boddie <paul@boddie.org.uk>

A specialisation of the generic Synopsys HDMI driver is employed for JZ4780
HDMI support. This requires a new driver, plus device tree and configuration
modifications.

Signed-off-by: Paul Boddie <paul@boddie.org.uk>
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/mips/boot/dts/ingenic/jz4780.dtsi | 32 ++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/arch/mips/boot/dts/ingenic/jz4780.dtsi b/arch/mips/boot/dts/ingenic/jz4780.dtsi
index f928329b034b..391d4e1efd35 100644
--- a/arch/mips/boot/dts/ingenic/jz4780.dtsi
+++ b/arch/mips/boot/dts/ingenic/jz4780.dtsi
@@ -433,4 +433,36 @@
 
 		status = "disabled";
 	};
+
+	hdmi: hdmi@10180000 {
+		compatible = "ingenic,jz4780-dw-hdmi";
+		reg = <0x10180000 0x8000>;
+		reg-io-width = <4>;
+
+		clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>;
+		clock-names = "isfr" , "iahb";
+
+		assigned-clocks = <&cgu JZ4780_CLK_HDMI>;
+		assigned-clock-rates = <27000000>;
+
+		interrupt-parent = <&intc>;
+		interrupts = <3>;
+
+		/* ddc-i2c-bus = <&i2c4>; */
+
+		status = "disabled";
+	};
+
+	lcd: lcd@13050000 {
+		compatible = "ingenic,jz4740-lcd";
+		reg = <0x13050000 0x1800>;
+
+		clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
+		clock-names = "lcd", "lcd_pclk";
+
+		interrupt-parent = <&intc>;
+		interrupts = <31>;
+
+		status = "disabled";
+	};
 };
-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [RFC 7/8] MIPS: DTS: CI20: add HDMI setup
  2020-02-26 19:12 ` H. Nikolaus Schaller
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  -1 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: dri-devel, devicetree, linux-kernel, linux-mips, linux-gpio,
	letux-kernel, kernel, H . Nikolaus Schaller

From: Paul Boddie <paul@boddie.org.uk>

We need to hook up
* HDMI power regulator
* HDMI connector
* DDC pinmux
* HDMI and LCD endpoint connections

Signed-off-by: Paul Boddie <paul@boddie.org.uk>
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/mips/boot/dts/ingenic/ci20.dts | 64 +++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/arch/mips/boot/dts/ingenic/ci20.dts b/arch/mips/boot/dts/ingenic/ci20.dts
index 37b93166bf22..efa8270afbba 100644
--- a/arch/mips/boot/dts/ingenic/ci20.dts
+++ b/arch/mips/boot/dts/ingenic/ci20.dts
@@ -60,6 +60,28 @@
 		enable-active-high;
 	};
 
+	hdmi_power: fixedregulator@2 {
+		compatible = "regulator-fixed";
+		regulator-name = "hdmi_power";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		gpio = <&gpa 25 GPIO_ACTIVE_LOW>;
+		enable-active-high;
+		regulator-always-on;
+	};
+
+	hdmi_out: connector {
+		compatible = "hdmi-connector";
+		label = "HDMI OUT";
+		type = "a";
+
+		port {
+			hdmi_con: endpoint {
+				remote-endpoint = <&dw_hdmi_out>;
+			};
+		};
+	};
+
 	wlan0_power: fixedregulator@1 {
 		compatible = "regulator-fixed";
 		regulator-name = "wlan0_power";
@@ -423,6 +445,12 @@
 		bias-disable;
 	};
 
+	pins_hdmi_ddc: hdmi_ddc {
+		function = "hdmi-ddc";
+		groups = "hdmi-ddc";
+		bias-disable;
+	};
+
 	pins_nemc: nemc {
 		function = "nemc";
 		groups = "nemc-data", "nemc-cle-ale", "nemc-rd-we", "nemc-frd-fwe";
@@ -459,3 +487,39 @@
 	assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>;
 	assigned-clock-rates = <3000000>, <3000000>;
 };
+
+&hdmi {
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&pins_hdmi_ddc>;
+
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		port@0 {
+			reg = <0>;
+			dw_hdmi_in: endpoint {
+				remote-endpoint = <&lcd_out>;
+			};
+		};
+
+		port@1 {
+			reg = <1>;
+			dw_hdmi_out: endpoint {
+				remote-endpoint = <&hdmi_con>;
+			};
+		};
+	};
+};
+
+&lcd {
+	status = "okay";
+
+	port {
+		lcd_out: endpoint {
+			remote-endpoint = <&dw_hdmi_in>;
+		};
+	};
+};
-- 
2.23.0


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

* [RFC 7/8] MIPS: DTS: CI20: add HDMI setup
@ 2020-02-26 19:12   ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:12 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: devicetree, H . Nikolaus Schaller, linux-kernel, dri-devel,
	linux-mips, linux-gpio, kernel, letux-kernel

From: Paul Boddie <paul@boddie.org.uk>

We need to hook up
* HDMI power regulator
* HDMI connector
* DDC pinmux
* HDMI and LCD endpoint connections

Signed-off-by: Paul Boddie <paul@boddie.org.uk>
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/mips/boot/dts/ingenic/ci20.dts | 64 +++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/arch/mips/boot/dts/ingenic/ci20.dts b/arch/mips/boot/dts/ingenic/ci20.dts
index 37b93166bf22..efa8270afbba 100644
--- a/arch/mips/boot/dts/ingenic/ci20.dts
+++ b/arch/mips/boot/dts/ingenic/ci20.dts
@@ -60,6 +60,28 @@
 		enable-active-high;
 	};
 
+	hdmi_power: fixedregulator@2 {
+		compatible = "regulator-fixed";
+		regulator-name = "hdmi_power";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		gpio = <&gpa 25 GPIO_ACTIVE_LOW>;
+		enable-active-high;
+		regulator-always-on;
+	};
+
+	hdmi_out: connector {
+		compatible = "hdmi-connector";
+		label = "HDMI OUT";
+		type = "a";
+
+		port {
+			hdmi_con: endpoint {
+				remote-endpoint = <&dw_hdmi_out>;
+			};
+		};
+	};
+
 	wlan0_power: fixedregulator@1 {
 		compatible = "regulator-fixed";
 		regulator-name = "wlan0_power";
@@ -423,6 +445,12 @@
 		bias-disable;
 	};
 
+	pins_hdmi_ddc: hdmi_ddc {
+		function = "hdmi-ddc";
+		groups = "hdmi-ddc";
+		bias-disable;
+	};
+
 	pins_nemc: nemc {
 		function = "nemc";
 		groups = "nemc-data", "nemc-cle-ale", "nemc-rd-we", "nemc-frd-fwe";
@@ -459,3 +487,39 @@
 	assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>;
 	assigned-clock-rates = <3000000>, <3000000>;
 };
+
+&hdmi {
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&pins_hdmi_ddc>;
+
+	ports {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		port@0 {
+			reg = <0>;
+			dw_hdmi_in: endpoint {
+				remote-endpoint = <&lcd_out>;
+			};
+		};
+
+		port@1 {
+			reg = <1>;
+			dw_hdmi_out: endpoint {
+				remote-endpoint = <&hdmi_con>;
+			};
+		};
+	};
+};
+
+&lcd {
+	status = "okay";
+
+	port {
+		lcd_out: endpoint {
+			remote-endpoint = <&dw_hdmi_in>;
+		};
+	};
+};
-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* [RFC 8/8] MIPS: CI20: defconfig: configure for DRM_DW_HDMI_JZ4780
  2020-02-26 19:12 ` H. Nikolaus Schaller
@ 2020-02-26 19:13   ` H. Nikolaus Schaller
  -1 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:13 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: dri-devel, devicetree, linux-kernel, linux-mips, linux-gpio,
	letux-kernel, kernel, H. Nikolaus Schaller

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/mips/configs/ci20_defconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/mips/configs/ci20_defconfig b/arch/mips/configs/ci20_defconfig
index be41df2a81fb..3f733a555cb2 100644
--- a/arch/mips/configs/ci20_defconfig
+++ b/arch/mips/configs/ci20_defconfig
@@ -103,6 +103,9 @@ CONFIG_RTC_CLASS=y
 CONFIG_RTC_DRV_JZ4740=y
 CONFIG_DMADEVICES=y
 CONFIG_DMA_JZ4780=y
+CONFIG_DRM=m
+CONFIG_DRM_DW_HDMI_JZ4780=m
+CONFIG_DRM_DW_HDMI=m
 # CONFIG_IOMMU_SUPPORT is not set
 CONFIG_MEMORY=y
 CONFIG_EXT4_FS=y
-- 
2.23.0


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

* [RFC 8/8] MIPS: CI20: defconfig: configure for DRM_DW_HDMI_JZ4780
@ 2020-02-26 19:13   ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-26 19:13 UTC (permalink / raw)
  To: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman
  Cc: devicetree, H. Nikolaus Schaller, linux-kernel, dri-devel,
	linux-mips, linux-gpio, kernel, letux-kernel

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
---
 arch/mips/configs/ci20_defconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/mips/configs/ci20_defconfig b/arch/mips/configs/ci20_defconfig
index be41df2a81fb..3f733a555cb2 100644
--- a/arch/mips/configs/ci20_defconfig
+++ b/arch/mips/configs/ci20_defconfig
@@ -103,6 +103,9 @@ CONFIG_RTC_CLASS=y
 CONFIG_RTC_DRV_JZ4740=y
 CONFIG_DMADEVICES=y
 CONFIG_DMA_JZ4780=y
+CONFIG_DRM=m
+CONFIG_DRM_DW_HDMI_JZ4780=m
+CONFIG_DRM_DW_HDMI=m
 # CONFIG_IOMMU_SUPPORT is not set
 CONFIG_MEMORY=y
 CONFIG_EXT4_FS=y
-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [RFC 0/8] MIPS: CI20: add HDMI out support
  2020-02-26 19:12 ` H. Nikolaus Schaller
@ 2020-02-27 12:23   ` Sam Ravnborg
  -1 siblings, 0 replies; 34+ messages in thread
From: Sam Ravnborg @ 2020-02-27 12:23 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman, devicetree, linux-kernel,
	dri-devel, linux-mips, linux-gpio, kernel, letux-kernel

Hi Nikolaus.

On Wed, Feb 26, 2020 at 08:12:52PM +0100, H. Nikolaus Schaller wrote:
> This patch series adds HDMI output to the jz4780/CI20 board.
> 
> It is based on taking the old 3.18 vendor kernel and trying
> to achieve the same with modern DTS setup and new/modified
> drivers.
> 
> Unfortunately, in this first RFC, only EDID and creation of
> /dev/fb0 are working. Also, HDMI hot plugging is detected.
> 
> But there is no HDMI output signal. So some tiny piece seems
> to be missing to enable/configure the Synposys HDMI controller.
> 
> We need help from the community to fix this.
> 
> Note: device tree bindings are from 2015 and still seem to
> fit - except they are not in yaml format.
> 
> Original authors of most patches are
> * Paul Boddie <paul@boddie.org.uk>
> * Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> 
> 
> H. Nikolaus Schaller (2):
>   drm: ingenic-drm: add MODULE_DEVICE_TABLE
>   MIPS: CI20: defconfig: configure for DRM_DW_HDMI_JZ4780
> 
> Paul Boddie (4):
>   drm: ingenic: add jz4780 Synopsys HDMI driver.
>   pinctrl: ingenic: add hdmi-ddc pin control group
>   MIPS: DTS: jz4780: account for Synopsys HDMI driver and LCD controller
>   MIPS: DTS: CI20: add HDMI setup
> 
> Zubair Lutfullah Kakakhel (2):
>   dt-bindings: video: Add jz4780-lcd binding
>   dt-bindings: video: Add jz4780-hdmi binding
> 
>  .../bindings/display/ingenic-jz4780-hdmi.txt  |  41 ++++++
>  .../bindings/display/ingenic-jz4780-lcd.txt   |  39 ++++++
New bindings in DT Schema format please...
We want to have then in a formal launguage so we can use these
to verify the DT files.

	Sam

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

* Re: [RFC 0/8] MIPS: CI20: add HDMI out support
@ 2020-02-27 12:23   ` Sam Ravnborg
  0 siblings, 0 replies; 34+ messages in thread
From: Sam Ravnborg @ 2020-02-27 12:23 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Mark Rutland, devicetree, Paul Boddie, Geert Uytterhoeven,
	Paul Burton, linux-gpio, David Airlie, dri-devel, linux-kernel,
	Ralf Baechle, linux-mips, Paul Cercueil, Andi Kleen, Rob Herring,
	Krzysztof Kozlowski, kernel, letux-kernel, Eric W. Biederman

Hi Nikolaus.

On Wed, Feb 26, 2020 at 08:12:52PM +0100, H. Nikolaus Schaller wrote:
> This patch series adds HDMI output to the jz4780/CI20 board.
> 
> It is based on taking the old 3.18 vendor kernel and trying
> to achieve the same with modern DTS setup and new/modified
> drivers.
> 
> Unfortunately, in this first RFC, only EDID and creation of
> /dev/fb0 are working. Also, HDMI hot plugging is detected.
> 
> But there is no HDMI output signal. So some tiny piece seems
> to be missing to enable/configure the Synposys HDMI controller.
> 
> We need help from the community to fix this.
> 
> Note: device tree bindings are from 2015 and still seem to
> fit - except they are not in yaml format.
> 
> Original authors of most patches are
> * Paul Boddie <paul@boddie.org.uk>
> * Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> 
> 
> H. Nikolaus Schaller (2):
>   drm: ingenic-drm: add MODULE_DEVICE_TABLE
>   MIPS: CI20: defconfig: configure for DRM_DW_HDMI_JZ4780
> 
> Paul Boddie (4):
>   drm: ingenic: add jz4780 Synopsys HDMI driver.
>   pinctrl: ingenic: add hdmi-ddc pin control group
>   MIPS: DTS: jz4780: account for Synopsys HDMI driver and LCD controller
>   MIPS: DTS: CI20: add HDMI setup
> 
> Zubair Lutfullah Kakakhel (2):
>   dt-bindings: video: Add jz4780-lcd binding
>   dt-bindings: video: Add jz4780-hdmi binding
> 
>  .../bindings/display/ingenic-jz4780-hdmi.txt  |  41 ++++++
>  .../bindings/display/ingenic-jz4780-lcd.txt   |  39 ++++++
New bindings in DT Schema format please...
We want to have then in a formal launguage so we can use these
to verify the DT files.

	Sam
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [RFC 0/8] MIPS: CI20: add HDMI out support
  2020-02-27 12:23   ` Sam Ravnborg
@ 2020-02-27 12:56     ` H. Nikolaus Schaller
  -1 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-27 12:56 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman, devicetree, linux-kernel,
	dri-devel, linux-mips, linux-gpio, kernel, letux-kernel

Hi Sam,

> Am 27.02.2020 um 13:23 schrieb Sam Ravnborg <sam@ravnborg.org>:
> 
> Hi Nikolaus.
> 
> On Wed, Feb 26, 2020 at 08:12:52PM +0100, H. Nikolaus Schaller wrote:
>> This patch series adds HDMI output to the jz4780/CI20 board.
>> 
>> It is based on taking the old 3.18 vendor kernel and trying
>> to achieve the same with modern DTS setup and new/modified
>> drivers.
>> 
>> Unfortunately, in this first RFC, only EDID and creation of
>> /dev/fb0 are working. Also, HDMI hot plugging is detected.
>> 
>> But there is no HDMI output signal. So some tiny piece seems
>> to be missing to enable/configure the Synposys HDMI controller.
>> 
>> We need help from the community to fix this.
>> 
>> Note: device tree bindings are from 2015 and still seem to
>> fit - except they are not in yaml format.
>> 
>> Original authors of most patches are
>> * Paul Boddie <paul@boddie.org.uk>
>> * Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
>> 
>> 
>> H. Nikolaus Schaller (2):
>>  drm: ingenic-drm: add MODULE_DEVICE_TABLE
>>  MIPS: CI20: defconfig: configure for DRM_DW_HDMI_JZ4780
>> 
>> Paul Boddie (4):
>>  drm: ingenic: add jz4780 Synopsys HDMI driver.
>>  pinctrl: ingenic: add hdmi-ddc pin control group
>>  MIPS: DTS: jz4780: account for Synopsys HDMI driver and LCD controller
>>  MIPS: DTS: CI20: add HDMI setup
>> 
>> Zubair Lutfullah Kakakhel (2):
>>  dt-bindings: video: Add jz4780-lcd binding
>>  dt-bindings: video: Add jz4780-hdmi binding
>> 
>> .../bindings/display/ingenic-jz4780-hdmi.txt  |  41 ++++++
>> .../bindings/display/ingenic-jz4780-lcd.txt   |  39 ++++++
> New bindings in DT Schema format please...
> We want to have then in a formal launguage so we can use these
> to verify the DT files.

Yes, I know. And I fully support the goal.

But I personally do not have the time to learn the (IMHO brain-twisting)
way the Schema format is working. Especially, I am not interested
in becoming volunteer translator for .txt based schemas developed
by someone else.

So I hope that someone from the community can and is willing to do
that.

Or that there will appear good tools soon. E.g. some GUI
based editor tool would be very helpful so that you don't have
to fight with the yaml indentation rules. Like there are XML
and DTD editors. And even HTML is rarely written manually any more.

IMHO such tools should have been developed and in place *before*
the rule to provide DT schemata is enforced.

Anyways, I have requested for comments (and did expect this one).

BR and thanks,
Nikolaus


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

* Re: [RFC 0/8] MIPS: CI20: add HDMI out support
@ 2020-02-27 12:56     ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-27 12:56 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Mark Rutland, devicetree, Paul Boddie, Geert Uytterhoeven,
	Paul Burton, linux-gpio, David Airlie, dri-devel, linux-kernel,
	Ralf Baechle, linux-mips, Paul Cercueil, Andi Kleen, Rob Herring,
	Krzysztof Kozlowski, kernel, letux-kernel, Eric W. Biederman

Hi Sam,

> Am 27.02.2020 um 13:23 schrieb Sam Ravnborg <sam@ravnborg.org>:
> 
> Hi Nikolaus.
> 
> On Wed, Feb 26, 2020 at 08:12:52PM +0100, H. Nikolaus Schaller wrote:
>> This patch series adds HDMI output to the jz4780/CI20 board.
>> 
>> It is based on taking the old 3.18 vendor kernel and trying
>> to achieve the same with modern DTS setup and new/modified
>> drivers.
>> 
>> Unfortunately, in this first RFC, only EDID and creation of
>> /dev/fb0 are working. Also, HDMI hot plugging is detected.
>> 
>> But there is no HDMI output signal. So some tiny piece seems
>> to be missing to enable/configure the Synposys HDMI controller.
>> 
>> We need help from the community to fix this.
>> 
>> Note: device tree bindings are from 2015 and still seem to
>> fit - except they are not in yaml format.
>> 
>> Original authors of most patches are
>> * Paul Boddie <paul@boddie.org.uk>
>> * Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
>> 
>> 
>> H. Nikolaus Schaller (2):
>>  drm: ingenic-drm: add MODULE_DEVICE_TABLE
>>  MIPS: CI20: defconfig: configure for DRM_DW_HDMI_JZ4780
>> 
>> Paul Boddie (4):
>>  drm: ingenic: add jz4780 Synopsys HDMI driver.
>>  pinctrl: ingenic: add hdmi-ddc pin control group
>>  MIPS: DTS: jz4780: account for Synopsys HDMI driver and LCD controller
>>  MIPS: DTS: CI20: add HDMI setup
>> 
>> Zubair Lutfullah Kakakhel (2):
>>  dt-bindings: video: Add jz4780-lcd binding
>>  dt-bindings: video: Add jz4780-hdmi binding
>> 
>> .../bindings/display/ingenic-jz4780-hdmi.txt  |  41 ++++++
>> .../bindings/display/ingenic-jz4780-lcd.txt   |  39 ++++++
> New bindings in DT Schema format please...
> We want to have then in a formal launguage so we can use these
> to verify the DT files.

Yes, I know. And I fully support the goal.

But I personally do not have the time to learn the (IMHO brain-twisting)
way the Schema format is working. Especially, I am not interested
in becoming volunteer translator for .txt based schemas developed
by someone else.

So I hope that someone from the community can and is willing to do
that.

Or that there will appear good tools soon. E.g. some GUI
based editor tool would be very helpful so that you don't have
to fight with the yaml indentation rules. Like there are XML
and DTD editors. And even HTML is rarely written manually any more.

IMHO such tools should have been developed and in place *before*
the rule to provide DT schemata is enforced.

Anyways, I have requested for comments (and did expect this one).

BR and thanks,
Nikolaus

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [RFC 0/8] MIPS: CI20: add HDMI out support
  2020-02-27 12:56     ` H. Nikolaus Schaller
@ 2020-02-27 16:57       ` Sam Ravnborg
  -1 siblings, 0 replies; 34+ messages in thread
From: Sam Ravnborg @ 2020-02-27 16:57 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman, devicetree, linux-kernel,
	dri-devel, linux-mips, linux-gpio, kernel, letux-kernel

Hi Nikolaus.

> >> Zubair Lutfullah Kakakhel (2):
> >>  dt-bindings: video: Add jz4780-lcd binding
> >>  dt-bindings: video: Add jz4780-hdmi binding
> >> 
> >> .../bindings/display/ingenic-jz4780-hdmi.txt  |  41 ++++++
> >> .../bindings/display/ingenic-jz4780-lcd.txt   |  39 ++++++
> > New bindings in DT Schema format please...
> > We want to have then in a formal launguage so we can use these
> > to verify the DT files.
> 
> Yes, I know. And I fully support the goal.
> 
> But I personally do not have the time to learn the (IMHO brain-twisting)
> way the Schema format is working. Especially, I am not interested
> in becoming volunteer translator for .txt based schemas developed
> by someone else.
> 
> So I hope that someone from the community can and is willing to do
> that.

I went ahead and typed them - please review and use these if OK.

	Sam

From 6fee276807dfe4a502ff760e7c7840480d275052 Mon Sep 17 00:00:00 2001
From: Sam Ravnborg <sam@ravnborg.org>
Date: Thu, 27 Feb 2020 17:18:29 +0100
Subject: [PATCH 1/2] dt-bindings: display: add ingenic-jz4780-lcd DT Schema

Add DT bindings for the LCD controller on the jz4780 SoC
Based on .txt binding from Zubair Lutfullah Kakakhel

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Cc: H. Nikolaus Schaller <hns@goldelico.com>
Cc: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org
---
 .../bindings/display/ingenic-jz4780-lcd.yaml  | 78 +++++++++++++++++++
 1 file changed, 78 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml

diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml
new file mode 100644
index 000000000000..c71415a3a342
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml
@@ -0,0 +1,78 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/ingenic-jz4780-lcd.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bindings for Ingenic JZ4780 LCD Controller
+
+maintainers:
+  - Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
+  - H. Nikolaus Schaller <hns@goldelico.com>
+
+description: |
+  LCD Controller is the Display Controller for the Ingenic JZ4780 SoC
+
+properties:
+  compatible:
+    items:
+      - const: ingenic,jz4780-lcd
+
+  reg:
+    maxItems: 1
+    description: the address & size of the LCD controller registers
+
+  interrupts:
+    maxItems: 1
+    description: Specifies the interrupt provided by parent
+
+  clocks:
+    maxItems: 2
+    description: Clock specifiers for the JZ4780_CLK_TVE JZ4780_CLK_LCD0PIXCLK
+
+  clock-names:
+    items:
+      - const: lcd_clk
+      - const: lcd_pixclk
+
+  port:
+    type: object
+    description: |
+      A port node with endpoint definitions as defined in
+      Documentation/devicetree/bindings/media/video-interfaces.txt
+
+required:
+    - compatible
+    - reg
+    - interrupts
+    - clocks
+    - clock-names
+    - port
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/jz4780-cgu.h>
+    lcd: jz4780-lcdk@0x13050000 {
+        compatible = "ingenic,jz4780-lcd";
+        reg = <0x13050000 0x1800>;
+
+        clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
+        clock-names = "lcd_clk", "lcd_pixclk";
+
+        interrupt-parent = <&intc>;
+        interrupts = <31>;
+
+        jz4780_lcd_out: port {
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            jz4780_out_hdmi: endpoint@0 {
+                reg = <0>;
+                remote-endpoint = <&hdmi_in_lcd>;
+            };
+        };
+    };
+
+...
-- 
2.20.1

From f4d01a657e07d468eb0bc811ed8edae0b58d66d7 Mon Sep 17 00:00:00 2001
From: Sam Ravnborg <sam@ravnborg.org>
Date: Thu, 27 Feb 2020 17:52:34 +0100
Subject: [PATCH 2/2] dt-bindings: display: add ingenic-jz4780-ihdmi DT Schema

Add DT bindings for the hdmi driver for the Ingenic JZ4780 SoC.
Based on .txt binding from Zubair Lutfullah Kakakhel

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Cc: H. Nikolaus Schaller <hns@goldelico.com>
Cc: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org
---
 .../bindings/display/ingenic-jz4780-hdmi.yaml | 83 +++++++++++++++++++
 1 file changed, 83 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml

diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml
new file mode 100644
index 000000000000..9b71c427bd69
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml
@@ -0,0 +1,83 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/ingenic-jz4780-hdmi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bindings for Ingenic JZ4780 HDMI Transmitter
+
+maintainers:
+  - Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
+  - H. Nikolaus Schaller <hns@goldelico.com>
+
+description: |
+  The HDMI Transmitter in the Ingenic JZ4780 is a Synopsys DesignWare HDMI 1.4
+  TX controller IP with accompanying PHY IP.
+
+allOf:
+  - $ref: panel/panel-common.yaml#
+
+properties:
+  compatible:
+    items:
+      - const: ingenic,jz4780-hdmi
+
+  reg:
+    maxItems: 1
+    description: the address & size of the LCD controller registers
+
+  reg-io-width:
+    const: 4
+
+  interrupts:
+    maxItems: 1
+    description: Specifies the interrupt provided by parent
+
+  clocks:
+    maxItems: 2
+    description: Clock specifiers for isrf and iahb clocks
+
+  clock-names:
+    items:
+      - const: isfr
+      - const: iahb
+
+  ddc-i2c-bus: true
+  ports: true
+
+required:
+    - compatible
+    - clocks
+    - clock-names
+    - ports
+    - reg-io-width
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/jz4780-cgu.h>
+
+    hdmi: hdmi@10180000 {
+        compatible = "ingenic,jz4780-hdmi";
+        reg = <0x10180000 0x8000>;
+        reg-io-width = <4>;
+        ddc-i2c-bus = <&i2c4>;
+        interrupt-parent = <&intc>;
+        interrupts = <3>;
+        clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>;
+        clock-names = "isfr", "iahb";
+
+        ports {
+            hdmi_in: port {
+                #address-cells = <1>;
+                #size-cells = <0>;
+                hdmi_in_lcd: endpoint@0 {
+                    reg = <0>;
+                    remote-endpoint = <&jz4780_out_hdmi>;
+                };
+            };
+        };
+    };
+
+...
-- 
2.20.1


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

* Re: [RFC 0/8] MIPS: CI20: add HDMI out support
@ 2020-02-27 16:57       ` Sam Ravnborg
  0 siblings, 0 replies; 34+ messages in thread
From: Sam Ravnborg @ 2020-02-27 16:57 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Mark Rutland, devicetree, Paul Boddie, Geert Uytterhoeven,
	Paul Burton, linux-gpio, David Airlie, dri-devel, linux-kernel,
	Ralf Baechle, linux-mips, Paul Cercueil, Andi Kleen, Rob Herring,
	Krzysztof Kozlowski, kernel, letux-kernel, Eric W. Biederman

Hi Nikolaus.

> >> Zubair Lutfullah Kakakhel (2):
> >>  dt-bindings: video: Add jz4780-lcd binding
> >>  dt-bindings: video: Add jz4780-hdmi binding
> >> 
> >> .../bindings/display/ingenic-jz4780-hdmi.txt  |  41 ++++++
> >> .../bindings/display/ingenic-jz4780-lcd.txt   |  39 ++++++
> > New bindings in DT Schema format please...
> > We want to have then in a formal launguage so we can use these
> > to verify the DT files.
> 
> Yes, I know. And I fully support the goal.
> 
> But I personally do not have the time to learn the (IMHO brain-twisting)
> way the Schema format is working. Especially, I am not interested
> in becoming volunteer translator for .txt based schemas developed
> by someone else.
> 
> So I hope that someone from the community can and is willing to do
> that.

I went ahead and typed them - please review and use these if OK.

	Sam

From 6fee276807dfe4a502ff760e7c7840480d275052 Mon Sep 17 00:00:00 2001
From: Sam Ravnborg <sam@ravnborg.org>
Date: Thu, 27 Feb 2020 17:18:29 +0100
Subject: [PATCH 1/2] dt-bindings: display: add ingenic-jz4780-lcd DT Schema

Add DT bindings for the LCD controller on the jz4780 SoC
Based on .txt binding from Zubair Lutfullah Kakakhel

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Cc: H. Nikolaus Schaller <hns@goldelico.com>
Cc: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org
---
 .../bindings/display/ingenic-jz4780-lcd.yaml  | 78 +++++++++++++++++++
 1 file changed, 78 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml

diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml
new file mode 100644
index 000000000000..c71415a3a342
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml
@@ -0,0 +1,78 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/ingenic-jz4780-lcd.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bindings for Ingenic JZ4780 LCD Controller
+
+maintainers:
+  - Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
+  - H. Nikolaus Schaller <hns@goldelico.com>
+
+description: |
+  LCD Controller is the Display Controller for the Ingenic JZ4780 SoC
+
+properties:
+  compatible:
+    items:
+      - const: ingenic,jz4780-lcd
+
+  reg:
+    maxItems: 1
+    description: the address & size of the LCD controller registers
+
+  interrupts:
+    maxItems: 1
+    description: Specifies the interrupt provided by parent
+
+  clocks:
+    maxItems: 2
+    description: Clock specifiers for the JZ4780_CLK_TVE JZ4780_CLK_LCD0PIXCLK
+
+  clock-names:
+    items:
+      - const: lcd_clk
+      - const: lcd_pixclk
+
+  port:
+    type: object
+    description: |
+      A port node with endpoint definitions as defined in
+      Documentation/devicetree/bindings/media/video-interfaces.txt
+
+required:
+    - compatible
+    - reg
+    - interrupts
+    - clocks
+    - clock-names
+    - port
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/jz4780-cgu.h>
+    lcd: jz4780-lcdk@0x13050000 {
+        compatible = "ingenic,jz4780-lcd";
+        reg = <0x13050000 0x1800>;
+
+        clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
+        clock-names = "lcd_clk", "lcd_pixclk";
+
+        interrupt-parent = <&intc>;
+        interrupts = <31>;
+
+        jz4780_lcd_out: port {
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            jz4780_out_hdmi: endpoint@0 {
+                reg = <0>;
+                remote-endpoint = <&hdmi_in_lcd>;
+            };
+        };
+    };
+
+...
-- 
2.20.1

From f4d01a657e07d468eb0bc811ed8edae0b58d66d7 Mon Sep 17 00:00:00 2001
From: Sam Ravnborg <sam@ravnborg.org>
Date: Thu, 27 Feb 2020 17:52:34 +0100
Subject: [PATCH 2/2] dt-bindings: display: add ingenic-jz4780-ihdmi DT Schema

Add DT bindings for the hdmi driver for the Ingenic JZ4780 SoC.
Based on .txt binding from Zubair Lutfullah Kakakhel

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Cc: H. Nikolaus Schaller <hns@goldelico.com>
Cc: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org
---
 .../bindings/display/ingenic-jz4780-hdmi.yaml | 83 +++++++++++++++++++
 1 file changed, 83 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml

diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml
new file mode 100644
index 000000000000..9b71c427bd69
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml
@@ -0,0 +1,83 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/ingenic-jz4780-hdmi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bindings for Ingenic JZ4780 HDMI Transmitter
+
+maintainers:
+  - Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
+  - H. Nikolaus Schaller <hns@goldelico.com>
+
+description: |
+  The HDMI Transmitter in the Ingenic JZ4780 is a Synopsys DesignWare HDMI 1.4
+  TX controller IP with accompanying PHY IP.
+
+allOf:
+  - $ref: panel/panel-common.yaml#
+
+properties:
+  compatible:
+    items:
+      - const: ingenic,jz4780-hdmi
+
+  reg:
+    maxItems: 1
+    description: the address & size of the LCD controller registers
+
+  reg-io-width:
+    const: 4
+
+  interrupts:
+    maxItems: 1
+    description: Specifies the interrupt provided by parent
+
+  clocks:
+    maxItems: 2
+    description: Clock specifiers for isrf and iahb clocks
+
+  clock-names:
+    items:
+      - const: isfr
+      - const: iahb
+
+  ddc-i2c-bus: true
+  ports: true
+
+required:
+    - compatible
+    - clocks
+    - clock-names
+    - ports
+    - reg-io-width
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/jz4780-cgu.h>
+
+    hdmi: hdmi@10180000 {
+        compatible = "ingenic,jz4780-hdmi";
+        reg = <0x10180000 0x8000>;
+        reg-io-width = <4>;
+        ddc-i2c-bus = <&i2c4>;
+        interrupt-parent = <&intc>;
+        interrupts = <3>;
+        clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>;
+        clock-names = "isfr", "iahb";
+
+        ports {
+            hdmi_in: port {
+                #address-cells = <1>;
+                #size-cells = <0>;
+                hdmi_in_lcd: endpoint@0 {
+                    reg = <0>;
+                    remote-endpoint = <&jz4780_out_hdmi>;
+                };
+            };
+        };
+    };
+
+...
-- 
2.20.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [RFC 0/8] MIPS: CI20: add HDMI out support
  2020-02-27 16:57       ` Sam Ravnborg
@ 2020-02-27 17:02         ` H. Nikolaus Schaller
  -1 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-27 17:02 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Rob Herring, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman, devicetree, linux-kernel,
	dri-devel, linux-mips, linux-gpio, kernel, letux-kernel

Hi Sam,
great. Thank you very much!

> Am 27.02.2020 um 17:57 schrieb Sam Ravnborg <sam@ravnborg.org>:
> 
> Hi Nikolaus.
> 
>>>> Zubair Lutfullah Kakakhel (2):
>>>> dt-bindings: video: Add jz4780-lcd binding
>>>> dt-bindings: video: Add jz4780-hdmi binding
>>>> 
>>>> .../bindings/display/ingenic-jz4780-hdmi.txt  |  41 ++++++
>>>> .../bindings/display/ingenic-jz4780-lcd.txt   |  39 ++++++
>>> New bindings in DT Schema format please...
>>> We want to have then in a formal launguage so we can use these
>>> to verify the DT files.
>> 
>> Yes, I know. And I fully support the goal.
>> 
>> But I personally do not have the time to learn the (IMHO brain-twisting)
>> way the Schema format is working. Especially, I am not interested
>> in becoming volunteer translator for .txt based schemas developed
>> by someone else.
>> 
>> So I hope that someone from the community can and is willing to do
>> that.
> 
> I went ahead and typed them - please review and use these if OK.
> 
> 	Sam
> 
> From 6fee276807dfe4a502ff760e7c7840480d275052 Mon Sep 17 00:00:00 2001
> From: Sam Ravnborg <sam@ravnborg.org>
> Date: Thu, 27 Feb 2020 17:18:29 +0100
> Subject: [PATCH 1/2] dt-bindings: display: add ingenic-jz4780-lcd DT Schema
> 
> Add DT bindings for the LCD controller on the jz4780 SoC
> Based on .txt binding from Zubair Lutfullah Kakakhel
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> Cc: H. Nikolaus Schaller <hns@goldelico.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: devicetree@vger.kernel.org
> ---
> .../bindings/display/ingenic-jz4780-lcd.yaml  | 78 +++++++++++++++++++
> 1 file changed, 78 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml
> new file mode 100644
> index 000000000000..c71415a3a342
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml
> @@ -0,0 +1,78 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/ingenic-jz4780-lcd.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Bindings for Ingenic JZ4780 LCD Controller
> +
> +maintainers:
> +  - Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> +  - H. Nikolaus Schaller <hns@goldelico.com>
> +
> +description: |
> +  LCD Controller is the Display Controller for the Ingenic JZ4780 SoC
> +
> +properties:
> +  compatible:
> +    items:
> +      - const: ingenic,jz4780-lcd
> +
> +  reg:
> +    maxItems: 1
> +    description: the address & size of the LCD controller registers
> +
> +  interrupts:
> +    maxItems: 1
> +    description: Specifies the interrupt provided by parent
> +
> +  clocks:
> +    maxItems: 2
> +    description: Clock specifiers for the JZ4780_CLK_TVE JZ4780_CLK_LCD0PIXCLK
> +
> +  clock-names:
> +    items:
> +      - const: lcd_clk
> +      - const: lcd_pixclk
> +
> +  port:
> +    type: object
> +    description: |
> +      A port node with endpoint definitions as defined in
> +      Documentation/devicetree/bindings/media/video-interfaces.txt
> +
> +required:
> +    - compatible
> +    - reg
> +    - interrupts
> +    - clocks
> +    - clock-names
> +    - port
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/jz4780-cgu.h>
> +    lcd: jz4780-lcdk@0x13050000 {
> +        compatible = "ingenic,jz4780-lcd";
> +        reg = <0x13050000 0x1800>;
> +
> +        clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
> +        clock-names = "lcd_clk", "lcd_pixclk";
> +
> +        interrupt-parent = <&intc>;
> +        interrupts = <31>;
> +
> +        jz4780_lcd_out: port {
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            jz4780_out_hdmi: endpoint@0 {
> +                reg = <0>;
> +                remote-endpoint = <&hdmi_in_lcd>;
> +            };
> +        };
> +    };
> +
> +...
> -- 
> 2.20.1
> 
> From f4d01a657e07d468eb0bc811ed8edae0b58d66d7 Mon Sep 17 00:00:00 2001
> From: Sam Ravnborg <sam@ravnborg.org>
> Date: Thu, 27 Feb 2020 17:52:34 +0100
> Subject: [PATCH 2/2] dt-bindings: display: add ingenic-jz4780-ihdmi DT Schema
> 
> Add DT bindings for the hdmi driver for the Ingenic JZ4780 SoC.
> Based on .txt binding from Zubair Lutfullah Kakakhel
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> Cc: H. Nikolaus Schaller <hns@goldelico.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: devicetree@vger.kernel.org
> ---
> .../bindings/display/ingenic-jz4780-hdmi.yaml | 83 +++++++++++++++++++
> 1 file changed, 83 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml
> new file mode 100644
> index 000000000000..9b71c427bd69
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml
> @@ -0,0 +1,83 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/ingenic-jz4780-hdmi.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Bindings for Ingenic JZ4780 HDMI Transmitter
> +
> +maintainers:
> +  - Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> +  - H. Nikolaus Schaller <hns@goldelico.com>
> +
> +description: |
> +  The HDMI Transmitter in the Ingenic JZ4780 is a Synopsys DesignWare HDMI 1.4
> +  TX controller IP with accompanying PHY IP.
> +
> +allOf:
> +  - $ref: panel/panel-common.yaml#
> +
> +properties:
> +  compatible:
> +    items:
> +      - const: ingenic,jz4780-hdmi
> +
> +  reg:
> +    maxItems: 1
> +    description: the address & size of the LCD controller registers
> +
> +  reg-io-width:
> +    const: 4
> +
> +  interrupts:
> +    maxItems: 1
> +    description: Specifies the interrupt provided by parent
> +
> +  clocks:
> +    maxItems: 2
> +    description: Clock specifiers for isrf and iahb clocks
> +
> +  clock-names:
> +    items:
> +      - const: isfr
> +      - const: iahb
> +
> +  ddc-i2c-bus: true
> +  ports: true
> +
> +required:
> +    - compatible
> +    - clocks
> +    - clock-names
> +    - ports
> +    - reg-io-width
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/jz4780-cgu.h>
> +
> +    hdmi: hdmi@10180000 {
> +        compatible = "ingenic,jz4780-hdmi";
> +        reg = <0x10180000 0x8000>;
> +        reg-io-width = <4>;
> +        ddc-i2c-bus = <&i2c4>;
> +        interrupt-parent = <&intc>;
> +        interrupts = <3>;
> +        clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>;
> +        clock-names = "isfr", "iahb";
> +
> +        ports {
> +            hdmi_in: port {
> +                #address-cells = <1>;
> +                #size-cells = <0>;
> +                hdmi_in_lcd: endpoint@0 {
> +                    reg = <0>;
> +                    remote-endpoint = <&jz4780_out_hdmi>;
> +                };
> +            };
> +        };
> +    };
> +
> +...
> -- 
> 2.20.1
> 


I'll integrate into v2.

Now we need to make the HDMI output show something...

BR,
Nikolaus


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

* Re: [RFC 0/8] MIPS: CI20: add HDMI out support
@ 2020-02-27 17:02         ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-02-27 17:02 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Mark Rutland, devicetree, Paul Boddie, Geert Uytterhoeven,
	Paul Burton, linux-gpio, David Airlie, dri-devel, linux-kernel,
	Ralf Baechle, linux-mips, Paul Cercueil, Andi Kleen, Rob Herring,
	Krzysztof Kozlowski, kernel, letux-kernel, Eric W. Biederman

Hi Sam,
great. Thank you very much!

> Am 27.02.2020 um 17:57 schrieb Sam Ravnborg <sam@ravnborg.org>:
> 
> Hi Nikolaus.
> 
>>>> Zubair Lutfullah Kakakhel (2):
>>>> dt-bindings: video: Add jz4780-lcd binding
>>>> dt-bindings: video: Add jz4780-hdmi binding
>>>> 
>>>> .../bindings/display/ingenic-jz4780-hdmi.txt  |  41 ++++++
>>>> .../bindings/display/ingenic-jz4780-lcd.txt   |  39 ++++++
>>> New bindings in DT Schema format please...
>>> We want to have then in a formal launguage so we can use these
>>> to verify the DT files.
>> 
>> Yes, I know. And I fully support the goal.
>> 
>> But I personally do not have the time to learn the (IMHO brain-twisting)
>> way the Schema format is working. Especially, I am not interested
>> in becoming volunteer translator for .txt based schemas developed
>> by someone else.
>> 
>> So I hope that someone from the community can and is willing to do
>> that.
> 
> I went ahead and typed them - please review and use these if OK.
> 
> 	Sam
> 
> From 6fee276807dfe4a502ff760e7c7840480d275052 Mon Sep 17 00:00:00 2001
> From: Sam Ravnborg <sam@ravnborg.org>
> Date: Thu, 27 Feb 2020 17:18:29 +0100
> Subject: [PATCH 1/2] dt-bindings: display: add ingenic-jz4780-lcd DT Schema
> 
> Add DT bindings for the LCD controller on the jz4780 SoC
> Based on .txt binding from Zubair Lutfullah Kakakhel
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> Cc: H. Nikolaus Schaller <hns@goldelico.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: devicetree@vger.kernel.org
> ---
> .../bindings/display/ingenic-jz4780-lcd.yaml  | 78 +++++++++++++++++++
> 1 file changed, 78 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml
> new file mode 100644
> index 000000000000..c71415a3a342
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.yaml
> @@ -0,0 +1,78 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/ingenic-jz4780-lcd.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Bindings for Ingenic JZ4780 LCD Controller
> +
> +maintainers:
> +  - Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> +  - H. Nikolaus Schaller <hns@goldelico.com>
> +
> +description: |
> +  LCD Controller is the Display Controller for the Ingenic JZ4780 SoC
> +
> +properties:
> +  compatible:
> +    items:
> +      - const: ingenic,jz4780-lcd
> +
> +  reg:
> +    maxItems: 1
> +    description: the address & size of the LCD controller registers
> +
> +  interrupts:
> +    maxItems: 1
> +    description: Specifies the interrupt provided by parent
> +
> +  clocks:
> +    maxItems: 2
> +    description: Clock specifiers for the JZ4780_CLK_TVE JZ4780_CLK_LCD0PIXCLK
> +
> +  clock-names:
> +    items:
> +      - const: lcd_clk
> +      - const: lcd_pixclk
> +
> +  port:
> +    type: object
> +    description: |
> +      A port node with endpoint definitions as defined in
> +      Documentation/devicetree/bindings/media/video-interfaces.txt
> +
> +required:
> +    - compatible
> +    - reg
> +    - interrupts
> +    - clocks
> +    - clock-names
> +    - port
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/jz4780-cgu.h>
> +    lcd: jz4780-lcdk@0x13050000 {
> +        compatible = "ingenic,jz4780-lcd";
> +        reg = <0x13050000 0x1800>;
> +
> +        clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
> +        clock-names = "lcd_clk", "lcd_pixclk";
> +
> +        interrupt-parent = <&intc>;
> +        interrupts = <31>;
> +
> +        jz4780_lcd_out: port {
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            jz4780_out_hdmi: endpoint@0 {
> +                reg = <0>;
> +                remote-endpoint = <&hdmi_in_lcd>;
> +            };
> +        };
> +    };
> +
> +...
> -- 
> 2.20.1
> 
> From f4d01a657e07d468eb0bc811ed8edae0b58d66d7 Mon Sep 17 00:00:00 2001
> From: Sam Ravnborg <sam@ravnborg.org>
> Date: Thu, 27 Feb 2020 17:52:34 +0100
> Subject: [PATCH 2/2] dt-bindings: display: add ingenic-jz4780-ihdmi DT Schema
> 
> Add DT bindings for the hdmi driver for the Ingenic JZ4780 SoC.
> Based on .txt binding from Zubair Lutfullah Kakakhel
> 
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> Cc: H. Nikolaus Schaller <hns@goldelico.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: devicetree@vger.kernel.org
> ---
> .../bindings/display/ingenic-jz4780-hdmi.yaml | 83 +++++++++++++++++++
> 1 file changed, 83 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml
> new file mode 100644
> index 000000000000..9b71c427bd69
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.yaml
> @@ -0,0 +1,83 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/ingenic-jz4780-hdmi.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Bindings for Ingenic JZ4780 HDMI Transmitter
> +
> +maintainers:
> +  - Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> +  - H. Nikolaus Schaller <hns@goldelico.com>
> +
> +description: |
> +  The HDMI Transmitter in the Ingenic JZ4780 is a Synopsys DesignWare HDMI 1.4
> +  TX controller IP with accompanying PHY IP.
> +
> +allOf:
> +  - $ref: panel/panel-common.yaml#
> +
> +properties:
> +  compatible:
> +    items:
> +      - const: ingenic,jz4780-hdmi
> +
> +  reg:
> +    maxItems: 1
> +    description: the address & size of the LCD controller registers
> +
> +  reg-io-width:
> +    const: 4
> +
> +  interrupts:
> +    maxItems: 1
> +    description: Specifies the interrupt provided by parent
> +
> +  clocks:
> +    maxItems: 2
> +    description: Clock specifiers for isrf and iahb clocks
> +
> +  clock-names:
> +    items:
> +      - const: isfr
> +      - const: iahb
> +
> +  ddc-i2c-bus: true
> +  ports: true
> +
> +required:
> +    - compatible
> +    - clocks
> +    - clock-names
> +    - ports
> +    - reg-io-width
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/jz4780-cgu.h>
> +
> +    hdmi: hdmi@10180000 {
> +        compatible = "ingenic,jz4780-hdmi";
> +        reg = <0x10180000 0x8000>;
> +        reg-io-width = <4>;
> +        ddc-i2c-bus = <&i2c4>;
> +        interrupt-parent = <&intc>;
> +        interrupts = <3>;
> +        clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>;
> +        clock-names = "isfr", "iahb";
> +
> +        ports {
> +            hdmi_in: port {
> +                #address-cells = <1>;
> +                #size-cells = <0>;
> +                hdmi_in_lcd: endpoint@0 {
> +                    reg = <0>;
> +                    remote-endpoint = <&jz4780_out_hdmi>;
> +                };
> +            };
> +        };
> +    };
> +
> +...
> -- 
> 2.20.1
> 


I'll integrate into v2.

Now we need to make the HDMI output show something...

BR,
Nikolaus

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [RFC 2/8] dt-bindings: video: Add jz4780-hdmi binding
  2020-02-26 19:12   ` H. Nikolaus Schaller
@ 2020-03-03 14:40     ` Rob Herring
  -1 siblings, 0 replies; 34+ messages in thread
From: Rob Herring @ 2020-03-03 14:40 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Mark Rutland, Ralf Baechle, Paul Burton, Linus Walleij,
	Andi Kleen, Krzysztof Kozlowski, Geert Uytterhoeven,
	Eric W. Biederman, dri-devel, devicetree, linux-kernel,
	linux-mips, linux-gpio, letux-kernel, kernel,
	Zubair Lutfullah Kakakhel

On Wed, Feb 26, 2020 at 08:12:54PM +0100, H. Nikolaus Schaller wrote:
> From: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> 
> Add DT bindings for the hdmi driver for the Ingenic JZ4780 SoC.
> 
> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> ---
>  .../bindings/display/ingenic-jz4780-hdmi.txt  | 41 +++++++++++++++++++
>  1 file changed, 41 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt
> 
> diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt
> new file mode 100644
> index 000000000000..f02e59fbdd5a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt
> @@ -0,0 +1,41 @@
> +Device-Tree bindings for Ingenic JZ4780 HDMI Transmitter
> +
> +The HDMI Transmitter in the Ingenic JZ4780 is a Synopsys DesignWare HDMI 1.4
> +TX controller IP with accompanying PHY IP.
> +
> +Required properties:
> + - #address-cells : should be <1>
> + - #size-cells : should be <0>

These aren't in the example.

> + - compatible : should be "ingenic,jz4780-hdmi"
> + - reg-io-width: must be <4>

If it can only be 4, then you can just assume that from the compatible.

> + - clocks: phandle to isrf and iahb clocks
> + - clock-names : must be "isrf" and "iahb"
> + - ports: Port nodes with endpoint definitions as defined in
> +   Documentation/devicetree/bindings/media/video-interfaces.txt,
> +
> +Optional properties:
> + - ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing

This goes in a connector node. It's not part of the HDMI block.

That also means you need an out port to the connector.

> +
> +example:
> +
> +hdmi: hdmi@10180000 {
> +	compatible = "ingenic,jz4780-hdmi";
> +	reg = <0x10180000 0x8000>;
> +	reg-io-width = <4>;
> +	ddc-i2c-bus = <&i2c4>;
> +	interrupt-parent = <&intc>;
> +	interrupts = <3>;
> +	clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>;
> +	clock-names = "isfr", "iahb";
> +
> +	ports {
> +		hdmi_in: port {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			hdmi_in_lcd: endpoint@0 {
> +				reg = <0>;
> +				remote-endpoint = <&jz4780_out_hdmi>;
> +			};
> +		};
> +	};
> +};
> -- 
> 2.23.0
> 

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

* Re: [RFC 2/8] dt-bindings: video: Add jz4780-hdmi binding
@ 2020-03-03 14:40     ` Rob Herring
  0 siblings, 0 replies; 34+ messages in thread
From: Rob Herring @ 2020-03-03 14:40 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Mark Rutland, devicetree, Paul Boddie, Zubair Lutfullah Kakakhel,
	Geert Uytterhoeven, Paul Burton, David Airlie, dri-devel,
	linux-kernel, Ralf Baechle, linux-mips, Paul Cercueil,
	linux-gpio, Andi Kleen, Krzysztof Kozlowski, kernel,
	letux-kernel, Eric W. Biederman

On Wed, Feb 26, 2020 at 08:12:54PM +0100, H. Nikolaus Schaller wrote:
> From: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> 
> Add DT bindings for the hdmi driver for the Ingenic JZ4780 SoC.
> 
> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> ---
>  .../bindings/display/ingenic-jz4780-hdmi.txt  | 41 +++++++++++++++++++
>  1 file changed, 41 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt
> 
> diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt
> new file mode 100644
> index 000000000000..f02e59fbdd5a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-hdmi.txt
> @@ -0,0 +1,41 @@
> +Device-Tree bindings for Ingenic JZ4780 HDMI Transmitter
> +
> +The HDMI Transmitter in the Ingenic JZ4780 is a Synopsys DesignWare HDMI 1.4
> +TX controller IP with accompanying PHY IP.
> +
> +Required properties:
> + - #address-cells : should be <1>
> + - #size-cells : should be <0>

These aren't in the example.

> + - compatible : should be "ingenic,jz4780-hdmi"
> + - reg-io-width: must be <4>

If it can only be 4, then you can just assume that from the compatible.

> + - clocks: phandle to isrf and iahb clocks
> + - clock-names : must be "isrf" and "iahb"
> + - ports: Port nodes with endpoint definitions as defined in
> +   Documentation/devicetree/bindings/media/video-interfaces.txt,
> +
> +Optional properties:
> + - ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing

This goes in a connector node. It's not part of the HDMI block.

That also means you need an out port to the connector.

> +
> +example:
> +
> +hdmi: hdmi@10180000 {
> +	compatible = "ingenic,jz4780-hdmi";
> +	reg = <0x10180000 0x8000>;
> +	reg-io-width = <4>;
> +	ddc-i2c-bus = <&i2c4>;
> +	interrupt-parent = <&intc>;
> +	interrupts = <3>;
> +	clocks = <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_AHB0>;
> +	clock-names = "isfr", "iahb";
> +
> +	ports {
> +		hdmi_in: port {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			hdmi_in_lcd: endpoint@0 {
> +				reg = <0>;
> +				remote-endpoint = <&jz4780_out_hdmi>;
> +			};
> +		};
> +	};
> +};
> -- 
> 2.23.0
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [RFC 1/8] dt-bindings: video: Add jz4780-lcd binding
  2020-02-26 19:12   ` H. Nikolaus Schaller
@ 2020-03-03 14:42     ` Rob Herring
  -1 siblings, 0 replies; 34+ messages in thread
From: Rob Herring @ 2020-03-03 14:42 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Paul Cercueil, Paul Boddie, David Airlie, Daniel Vetter,
	Mark Rutland, Ralf Baechle, Paul Burton, Linus Walleij,
	Andi Kleen, Krzysztof Kozlowski, Geert Uytterhoeven,
	Eric W. Biederman, dri-devel, devicetree, linux-kernel,
	linux-mips, linux-gpio, letux-kernel, kernel,
	Zubair Lutfullah Kakakhel

On Wed, Feb 26, 2020 at 08:12:53PM +0100, H. Nikolaus Schaller wrote:
> From: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> 
> Add DT bindings for the LCD controller on the jz4780 SoC
> 
> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> ---
>  .../bindings/display/ingenic-jz4780-lcd.txt   | 39 +++++++++++++++++++
>  1 file changed, 39 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt
> 
> diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt
> new file mode 100644
> index 000000000000..8512ce3f93df
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt
> @@ -0,0 +1,39 @@
> +Bindings for Ingenic JZ4780 LCD Controller
> +
> +LCD Controller is the Display Controller for the Ingenic JZ4780 SoC
> +
> +Required properties:
> +- compatible: should be "ingenic,jz4780-lcd"
> +- reg: Should contain the address & size of the LCD controller registers.
> +- interrupts: Should specify the interrupt provided by parent.
> +- clocks: Should contain two clock specifiers for the JZ4780_CLK_TVE JZ4780_CLK_LCD0PIXCLK.
> +- clock-names : Must be "lcd_clk", "lcd_pixclk";
> +- port: A port node with endpoint definitions as defined in
> +  Documentation/devicetree/bindings/media/video-interfaces.txt.
> +
> +Optional properties:
> +- interrupt-parent: phandle to parent interrupt controller

Drop this. 'interrupt-parent' is always valid and could be in a parent 
node.

> +
> +Example:
> +
> +lcd: jz4780-lcdk@0x13050000 {

Drop the '0x'.

> +	compatible = "ingenic,jz4780-lcd";
> +	reg = <0x13050000 0x1800>;
> +
> +	clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
> +	clock-names = "lcd_clk", "lcd_pixclk";
> +
> +	interrupt-parent = <&intc>;
> +	interrupts = <31>;
> +
> +	jz4780_lcd_out: port {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			jz4780_out_hdmi: endpoint@0 {
> +				reg = <0>;

Don't need an address as there's only 1 endpoint.

> +				remote-endpoint = <&hdmi_in_lcd>;
> +			};
> +		};
> +
> +};
> -- 
> 2.23.0
> 

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

* Re: [RFC 1/8] dt-bindings: video: Add jz4780-lcd binding
@ 2020-03-03 14:42     ` Rob Herring
  0 siblings, 0 replies; 34+ messages in thread
From: Rob Herring @ 2020-03-03 14:42 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Mark Rutland, devicetree, Paul Boddie, Zubair Lutfullah Kakakhel,
	Geert Uytterhoeven, Paul Burton, David Airlie, dri-devel,
	linux-kernel, Ralf Baechle, linux-mips, Paul Cercueil,
	linux-gpio, Andi Kleen, Krzysztof Kozlowski, kernel,
	letux-kernel, Eric W. Biederman

On Wed, Feb 26, 2020 at 08:12:53PM +0100, H. Nikolaus Schaller wrote:
> From: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> 
> Add DT bindings for the LCD controller on the jz4780 SoC
> 
> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> ---
>  .../bindings/display/ingenic-jz4780-lcd.txt   | 39 +++++++++++++++++++
>  1 file changed, 39 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt
> 
> diff --git a/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt
> new file mode 100644
> index 000000000000..8512ce3f93df
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/ingenic-jz4780-lcd.txt
> @@ -0,0 +1,39 @@
> +Bindings for Ingenic JZ4780 LCD Controller
> +
> +LCD Controller is the Display Controller for the Ingenic JZ4780 SoC
> +
> +Required properties:
> +- compatible: should be "ingenic,jz4780-lcd"
> +- reg: Should contain the address & size of the LCD controller registers.
> +- interrupts: Should specify the interrupt provided by parent.
> +- clocks: Should contain two clock specifiers for the JZ4780_CLK_TVE JZ4780_CLK_LCD0PIXCLK.
> +- clock-names : Must be "lcd_clk", "lcd_pixclk";
> +- port: A port node with endpoint definitions as defined in
> +  Documentation/devicetree/bindings/media/video-interfaces.txt.
> +
> +Optional properties:
> +- interrupt-parent: phandle to parent interrupt controller

Drop this. 'interrupt-parent' is always valid and could be in a parent 
node.

> +
> +Example:
> +
> +lcd: jz4780-lcdk@0x13050000 {

Drop the '0x'.

> +	compatible = "ingenic,jz4780-lcd";
> +	reg = <0x13050000 0x1800>;
> +
> +	clocks = <&cgu JZ4780_CLK_TVE>, <&cgu JZ4780_CLK_LCD0PIXCLK>;
> +	clock-names = "lcd_clk", "lcd_pixclk";
> +
> +	interrupt-parent = <&intc>;
> +	interrupts = <31>;
> +
> +	jz4780_lcd_out: port {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			jz4780_out_hdmi: endpoint@0 {
> +				reg = <0>;

Don't need an address as there's only 1 endpoint.

> +				remote-endpoint = <&hdmi_in_lcd>;
> +			};
> +		};
> +
> +};
> -- 
> 2.23.0
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [RFC 0/8] MIPS: CI20: add HDMI out support
  2020-02-27 12:56     ` H. Nikolaus Schaller
@ 2020-03-03 14:58       ` Rob Herring
  -1 siblings, 0 replies; 34+ messages in thread
From: Rob Herring @ 2020-03-03 14:58 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Sam Ravnborg, Paul Cercueil, Paul Boddie, David Airlie,
	Daniel Vetter, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman, devicetree, linux-kernel,
	dri-devel, linux-mips, linux-gpio, kernel, letux-kernel

On Thu, Feb 27, 2020 at 01:56:56PM +0100, H. Nikolaus Schaller wrote:
> Hi Sam,
> 
> > Am 27.02.2020 um 13:23 schrieb Sam Ravnborg <sam@ravnborg.org>:
> > 
> > Hi Nikolaus.
> > 
> > On Wed, Feb 26, 2020 at 08:12:52PM +0100, H. Nikolaus Schaller wrote:
> >> This patch series adds HDMI output to the jz4780/CI20 board.
> >> 
> >> It is based on taking the old 3.18 vendor kernel and trying
> >> to achieve the same with modern DTS setup and new/modified
> >> drivers.
> >> 
> >> Unfortunately, in this first RFC, only EDID and creation of
> >> /dev/fb0 are working. Also, HDMI hot plugging is detected.
> >> 
> >> But there is no HDMI output signal. So some tiny piece seems
> >> to be missing to enable/configure the Synposys HDMI controller.
> >> 
> >> We need help from the community to fix this.
> >> 
> >> Note: device tree bindings are from 2015 and still seem to
> >> fit - except they are not in yaml format.
> >> 
> >> Original authors of most patches are
> >> * Paul Boddie <paul@boddie.org.uk>
> >> * Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> >> 
> >> 
> >> H. Nikolaus Schaller (2):
> >>  drm: ingenic-drm: add MODULE_DEVICE_TABLE
> >>  MIPS: CI20: defconfig: configure for DRM_DW_HDMI_JZ4780
> >> 
> >> Paul Boddie (4):
> >>  drm: ingenic: add jz4780 Synopsys HDMI driver.
> >>  pinctrl: ingenic: add hdmi-ddc pin control group
> >>  MIPS: DTS: jz4780: account for Synopsys HDMI driver and LCD controller
> >>  MIPS: DTS: CI20: add HDMI setup
> >> 
> >> Zubair Lutfullah Kakakhel (2):
> >>  dt-bindings: video: Add jz4780-lcd binding
> >>  dt-bindings: video: Add jz4780-hdmi binding
> >> 
> >> .../bindings/display/ingenic-jz4780-hdmi.txt  |  41 ++++++
> >> .../bindings/display/ingenic-jz4780-lcd.txt   |  39 ++++++
> > New bindings in DT Schema format please...
> > We want to have then in a formal launguage so we can use these
> > to verify the DT files.
> 
> Yes, I know. And I fully support the goal.
> 
> But I personally do not have the time to learn the (IMHO brain-twisting)
> way the Schema format is working. Especially, I am not interested
> in becoming volunteer translator for .txt based schemas developed
> by someone else.
> 
> So I hope that someone from the community can and is willing to do
> that.
> 
> Or that there will appear good tools soon. E.g. some GUI
> based editor tool would be very helpful so that you don't have
> to fight with the yaml indentation rules. Like there are XML
> and DTD editors. And even HTML is rarely written manually any more.
> 
> IMHO such tools should have been developed and in place *before*
> the rule to provide DT schemata is enforced.

You mean tools like what is discussed here:

https://www.redhat.com/sysadmin/yaml-tips

There's also yaml-format in the dtschema repo which will reformat a file 
to the desired formatting. It is just a wrapper around ruamel yaml 
library.

Rob

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

* Re: [RFC 0/8] MIPS: CI20: add HDMI out support
@ 2020-03-03 14:58       ` Rob Herring
  0 siblings, 0 replies; 34+ messages in thread
From: Rob Herring @ 2020-03-03 14:58 UTC (permalink / raw)
  To: H. Nikolaus Schaller
  Cc: Mark Rutland, devicetree, Paul Boddie, Geert Uytterhoeven,
	Paul Burton, David Airlie, dri-devel, linux-kernel, Ralf Baechle,
	linux-mips, Paul Cercueil, linux-gpio, Andi Kleen,
	Krzysztof Kozlowski, kernel, letux-kernel, Sam Ravnborg,
	Eric W. Biederman

On Thu, Feb 27, 2020 at 01:56:56PM +0100, H. Nikolaus Schaller wrote:
> Hi Sam,
> 
> > Am 27.02.2020 um 13:23 schrieb Sam Ravnborg <sam@ravnborg.org>:
> > 
> > Hi Nikolaus.
> > 
> > On Wed, Feb 26, 2020 at 08:12:52PM +0100, H. Nikolaus Schaller wrote:
> >> This patch series adds HDMI output to the jz4780/CI20 board.
> >> 
> >> It is based on taking the old 3.18 vendor kernel and trying
> >> to achieve the same with modern DTS setup and new/modified
> >> drivers.
> >> 
> >> Unfortunately, in this first RFC, only EDID and creation of
> >> /dev/fb0 are working. Also, HDMI hot plugging is detected.
> >> 
> >> But there is no HDMI output signal. So some tiny piece seems
> >> to be missing to enable/configure the Synposys HDMI controller.
> >> 
> >> We need help from the community to fix this.
> >> 
> >> Note: device tree bindings are from 2015 and still seem to
> >> fit - except they are not in yaml format.
> >> 
> >> Original authors of most patches are
> >> * Paul Boddie <paul@boddie.org.uk>
> >> * Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
> >> 
> >> 
> >> H. Nikolaus Schaller (2):
> >>  drm: ingenic-drm: add MODULE_DEVICE_TABLE
> >>  MIPS: CI20: defconfig: configure for DRM_DW_HDMI_JZ4780
> >> 
> >> Paul Boddie (4):
> >>  drm: ingenic: add jz4780 Synopsys HDMI driver.
> >>  pinctrl: ingenic: add hdmi-ddc pin control group
> >>  MIPS: DTS: jz4780: account for Synopsys HDMI driver and LCD controller
> >>  MIPS: DTS: CI20: add HDMI setup
> >> 
> >> Zubair Lutfullah Kakakhel (2):
> >>  dt-bindings: video: Add jz4780-lcd binding
> >>  dt-bindings: video: Add jz4780-hdmi binding
> >> 
> >> .../bindings/display/ingenic-jz4780-hdmi.txt  |  41 ++++++
> >> .../bindings/display/ingenic-jz4780-lcd.txt   |  39 ++++++
> > New bindings in DT Schema format please...
> > We want to have then in a formal launguage so we can use these
> > to verify the DT files.
> 
> Yes, I know. And I fully support the goal.
> 
> But I personally do not have the time to learn the (IMHO brain-twisting)
> way the Schema format is working. Especially, I am not interested
> in becoming volunteer translator for .txt based schemas developed
> by someone else.
> 
> So I hope that someone from the community can and is willing to do
> that.
> 
> Or that there will appear good tools soon. E.g. some GUI
> based editor tool would be very helpful so that you don't have
> to fight with the yaml indentation rules. Like there are XML
> and DTD editors. And even HTML is rarely written manually any more.
> 
> IMHO such tools should have been developed and in place *before*
> the rule to provide DT schemata is enforced.

You mean tools like what is discussed here:

https://www.redhat.com/sysadmin/yaml-tips

There's also yaml-format in the dtschema repo which will reformat a file 
to the desired formatting. It is just a wrapper around ruamel yaml 
library.

Rob
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

* Re: [RFC 0/8] MIPS: CI20: add HDMI out support
  2020-03-03 14:58       ` Rob Herring
@ 2020-03-03 15:19         ` H. Nikolaus Schaller
  -1 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-03-03 15:19 UTC (permalink / raw)
  To: Rob Herring
  Cc: Sam Ravnborg, Paul Cercueil, Paul Boddie, David Airlie,
	Daniel Vetter, Mark Rutland, Ralf Baechle, Paul Burton,
	Linus Walleij, Andi Kleen, Krzysztof Kozlowski,
	Geert Uytterhoeven, Eric W. Biederman,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Linux Kernel Mailing List, open list:DRM PANEL DRIVERS,
	linux-mips, open list:GPIO SUBSYSTEM,
	Discussions about the Letux Kernel

Hi Rob,

> Am 03.03.2020 um 15:58 schrieb Rob Herring <robh@kernel.org>:
> 
> On Thu, Feb 27, 2020 at 01:56:56PM +0100, H. Nikolaus Schaller wrote:
>> Hi Sam,
>> 
>> 
>> Or that there will appear good tools soon. E.g. some GUI
>> based editor tool would be very helpful so that you don't have
>> to fight with the yaml indentation rules. Like there are XML
>> and DTD editors. And even HTML is rarely written manually any more.
>> 
>> IMHO such tools should have been developed and in place *before*
>> the rule to provide DT schemata is enforced.
> 
> You mean tools like what is discussed here:
> 
> https://www.redhat.com/sysadmin/yaml-tips
> 
> There's also yaml-format in the dtschema repo which will reformat a file 
> to the desired formatting. It is just a wrapper around ruamel yaml 
> library.

What I dream of is a higher level higher abstraction than a YAML
editor because the problems I face are not only YAML syntax but that
I don't know what should be where in a scheme file and why.

So I'd like to have a Schema editor. I.e. some editor where I
can edit a list of properties and can e.g. checkmark "required".
And simply type a description into some text field.

And the editor knows where to place the keywords -item -enum
-oneOf -description etc. when doing a Save operation.

Basically what I dream of is more like MarkDown where you write text,
titles paragraphs etc. and that gets magically translated into 
valid HTML. Or even better analogy: OpenOffice where you just
write and format your text and one does not have to edit PostScript
printer commands.

But it is likely to stay a dream.

BR and thanks,
Nikolaus


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

* Re: [RFC 0/8] MIPS: CI20: add HDMI out support
@ 2020-03-03 15:19         ` H. Nikolaus Schaller
  0 siblings, 0 replies; 34+ messages in thread
From: H. Nikolaus Schaller @ 2020-03-03 15:19 UTC (permalink / raw)
  To: Rob Herring
  Cc: Mark Rutland,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Paul Boddie, Geert Uytterhoeven, Paul Burton, David Airlie,
	open list:DRM PANEL DRIVERS, Linux Kernel Mailing List,
	Ralf Baechle, linux-mips, Paul Cercueil,
	open list:GPIO SUBSYSTEM, Andi Kleen, Krzysztof Kozlowski,
	Discussions about the Letux Kernel, Sam Ravnborg,
	Eric W. Biederman

Hi Rob,

> Am 03.03.2020 um 15:58 schrieb Rob Herring <robh@kernel.org>:
> 
> On Thu, Feb 27, 2020 at 01:56:56PM +0100, H. Nikolaus Schaller wrote:
>> Hi Sam,
>> 
>> 
>> Or that there will appear good tools soon. E.g. some GUI
>> based editor tool would be very helpful so that you don't have
>> to fight with the yaml indentation rules. Like there are XML
>> and DTD editors. And even HTML is rarely written manually any more.
>> 
>> IMHO such tools should have been developed and in place *before*
>> the rule to provide DT schemata is enforced.
> 
> You mean tools like what is discussed here:
> 
> https://www.redhat.com/sysadmin/yaml-tips
> 
> There's also yaml-format in the dtschema repo which will reformat a file 
> to the desired formatting. It is just a wrapper around ruamel yaml 
> library.

What I dream of is a higher level higher abstraction than a YAML
editor because the problems I face are not only YAML syntax but that
I don't know what should be where in a scheme file and why.

So I'd like to have a Schema editor. I.e. some editor where I
can edit a list of properties and can e.g. checkmark "required".
And simply type a description into some text field.

And the editor knows where to place the keywords -item -enum
-oneOf -description etc. when doing a Save operation.

Basically what I dream of is more like MarkDown where you write text,
titles paragraphs etc. and that gets magically translated into 
valid HTML. Or even better analogy: OpenOffice where you just
write and format your text and one does not have to edit PostScript
printer commands.

But it is likely to stay a dream.

BR and thanks,
Nikolaus

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

end of thread, other threads:[~2020-03-04  7:48 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-26 19:12 [RFC 0/8] MIPS: CI20: add HDMI out support H. Nikolaus Schaller
2020-02-26 19:12 ` H. Nikolaus Schaller
2020-02-26 19:12 ` [RFC 1/8] dt-bindings: video: Add jz4780-lcd binding H. Nikolaus Schaller
2020-02-26 19:12   ` H. Nikolaus Schaller
2020-03-03 14:42   ` Rob Herring
2020-03-03 14:42     ` Rob Herring
2020-02-26 19:12 ` [RFC 2/8] dt-bindings: video: Add jz4780-hdmi binding H. Nikolaus Schaller
2020-02-26 19:12   ` H. Nikolaus Schaller
2020-03-03 14:40   ` Rob Herring
2020-03-03 14:40     ` Rob Herring
2020-02-26 19:12 ` [RFC 3/8] drm: ingenic-drm: add MODULE_DEVICE_TABLE H. Nikolaus Schaller
2020-02-26 19:12   ` H. Nikolaus Schaller
2020-02-26 19:12 ` [RFC 4/8] drm: ingenic: add jz4780 Synopsys HDMI driver H. Nikolaus Schaller
2020-02-26 19:12   ` H. Nikolaus Schaller
2020-02-26 19:12 ` [RFC 5/8] pinctrl: ingenic: add hdmi-ddc pin control group H. Nikolaus Schaller
2020-02-26 19:12   ` H. Nikolaus Schaller
2020-02-26 19:12 ` [RFC 6/8] MIPS: DTS: jz4780: account for Synopsys HDMI driver and LCD controller H. Nikolaus Schaller
2020-02-26 19:12   ` H. Nikolaus Schaller
2020-02-26 19:12 ` [RFC 7/8] MIPS: DTS: CI20: add HDMI setup H. Nikolaus Schaller
2020-02-26 19:12   ` H. Nikolaus Schaller
2020-02-26 19:13 ` [RFC 8/8] MIPS: CI20: defconfig: configure for DRM_DW_HDMI_JZ4780 H. Nikolaus Schaller
2020-02-26 19:13   ` H. Nikolaus Schaller
2020-02-27 12:23 ` [RFC 0/8] MIPS: CI20: add HDMI out support Sam Ravnborg
2020-02-27 12:23   ` Sam Ravnborg
2020-02-27 12:56   ` H. Nikolaus Schaller
2020-02-27 12:56     ` H. Nikolaus Schaller
2020-02-27 16:57     ` Sam Ravnborg
2020-02-27 16:57       ` Sam Ravnborg
2020-02-27 17:02       ` H. Nikolaus Schaller
2020-02-27 17:02         ` H. Nikolaus Schaller
2020-03-03 14:58     ` Rob Herring
2020-03-03 14:58       ` Rob Herring
2020-03-03 15:19       ` H. Nikolaus Schaller
2020-03-03 15:19         ` H. Nikolaus Schaller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.