[PATCH v4 0/4] Add support rockchip RGB output interface

STALE3232d

Revision v4 of 7 in this series.

4 messages, 2 authors, 2017-11-02 · open the first message on its own page

[PATCH v4 0/4] Add support rockchip RGB output interface

From: Sandy Huang <hjc@rock-chips.com>
Date: 2017-11-01 07:52:46

This patches add support rockchip RGB output, Some Rockchip CRTCs, like rv1108,
can directly output parallel and serial RGB data to panel or to conversion chip.
So we add this driver to probe encoder and connector to support this case.

Sandy Huang (4):
  devicetree/bindings: display: Add doucument for RGB panels
  devicetree/bindings: display: Add document for rockchip RGB output
  drm/rockchip: Add support for Rockchip Soc RGB output interface
  drm/rockchip: vop: Add more RGB output interface type

 .../bindings/display/panel/panel-rgb.txt           | 116 +++++++
 .../bindings/display/rockchip/rockchip-rgb.txt     |  72 +++++
 drivers/gpu/drm/rockchip/Kconfig                   |  11 +
 drivers/gpu/drm/rockchip/Makefile                  |   1 +
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c        |   2 +
 drivers/gpu/drm/rockchip/rockchip_drm_drv.h        |   1 +
 drivers/gpu/drm/rockchip/rockchip_drm_vop.h        |   2 +
 drivers/gpu/drm/rockchip/rockchip_rgb.c            | 344 +++++++++++++++++++++
 8 files changed, 549 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/panel-rgb.txt
 create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt
 create mode 100644 drivers/gpu/drm/rockchip/rockchip_rgb.c

-- 
2.7.4


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[PATCH v4 1/4] devicetree/bindings: display: Add doucument for RGB panels

From: Sandy Huang <hjc@rock-chips.com>
Date: 2017-11-01 07:52:50

Describe the panel property rgb-mode for parallel and serial
RGB output interface, include the connection relations for each
mode.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
---
Changes:
 .../bindings/display/panel/panel-rgb.txt           | 116 +++++++++++++++++++++
 1 file changed, 116 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/panel-rgb.txt
diff --git a/Documentation/devicetree/bindings/display/panel/panel-rgb.txt b/Documentation/devicetree/bindings/display/panel/panel-rgb.txt
new file mode 100644
index 0000000..0c5b054
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/panel-rgb.txt
@@ -0,0 +1,116 @@
+RGB Display Panel
+==================
+
+This describe the panel property rgb-mode for parallel and serial
+RGB output interface. rgb-mode should be "p888", "p666", "p565", "s888"
+and "s888-dummy", the following describe the connection relations.
+
+p888 mode:
+           ___     ___     ___     ___     ___     ___     ___
+dclk    __/   \___/   \___/   \___/   \___/   \___/   \___/   \___
+          ______  ______  ______  ______  ______  ______  ______
+DATA23  ><__R7__><__R7__><__R7__><__R7__><__R7__><__R7__><__R7__><
+DATA22  ><__R6__><__R6__><__R6__><__R6__><__R6__><__R6__><__R6__><
+DATA21  ><__R5__><__R5__><__R5__><__R5__><__R5__><__R5__><__R5__><
+DATA20  ><__R4__><__R4__><__R4__><__R4__><__R4__><__R4__><__R4__><
+DATA19  ><__R3__><__R3__><__R3__><__R3__><__R3__><__R3__><__R3__><
+DATA18  ><__R2__><__R2__><__R2__><__R2__><__R2__><__R2__><__R2__><
+DATA17  ><__R1__><__R1__><__R1__><__R1__><__R1__><__R1__><__R1__><
+DATA16  ><__R0__><__R0__><__R0__><__R0__><__R0__><__R0__><__R0__><
+          ______  ______  ______  ______  ______  ______  ______
+DATA15  ><__G7__><__G7__><__G7__><__G7__><__G7__><__G7__><__G7__><
+DATA14  ><__G6__><__G6__><__G6__><__G6__><__G6__><__G6__><__G6__><
+DATA13  ><__G5__><__G5__><__G5__><__G5__><__G5__><__G5__><__G5__><
+DATA12  ><__G4__><__G4__><__G4__><__G4__><__G4__><__G4__><__G4__><
+DATA11  ><__G3__><__G3__><__G3__><__G3__><__G3__><__G3__><__G3__><
+DATA10  ><__G2__><__G2__><__G2__><__G2__><__G2__><__G2__><__G2__><
+DATA9   ><__G1__><__G1__><__G1__><__G1__><__G1__><__G1__><__G1__><
+DATA8   ><__G0__><__G0__><__G0__><__G0__><__G0__><__G0__><__G0__><
+          ______  ______  ______  ______  ______  ______  ______
+DATA7   ><__B7__><__B7__><__B7__><__B7__><__B7__><__B7__><__B7__><
+DATA6   ><__B6__><__B6__><__B6__><__B6__><__B6__><__B6__><__B6__><
+DATA5   ><__B5__><__B5__><__B5__><__B5__><__B5__><__B5__><__B5__><
+DATA4   ><__B4__><__B4__><__B4__><__B4__><__B4__><__B4__><__B4__><
+DATA3   ><__B3__><__B3__><__B3__><__B3__><__B3__><__B3__><__B3__><
+DATA2   ><__B2__><__B2__><__B2__><__B2__><__B2__><__B2__><__B2__><
+DATA1   ><__B1__><__B1__><__B1__><__B1__><__B1__><__B1__><__B1__><
+DATA0   ><__B0__><__B0__><__B0__><__B0__><__B0__><__B0__><__B0__><
+pixel   |   n   |  n+1  |  n+3  |  n+4  |  n+5  |  n+6  |  n+7  |
+
+p666 mode:
+           ___     ___     ___     ___     ___     ___     ___
+dclk    __/   \___/   \___/   \___/   \___/   \___/   \___/   \___
+          ______  ______  ______  ______  ______  ______  ______
+DATA17  ><__R5__><__R5__><__R5__><__R5__><__R5__><__R5__><__R5__><
+DATA16  ><__R4__><__R4__><__R4__><__R4__><__R4__><__R4__><__R4__><
+DATA15  ><__R3__><__R3__><__R3__><__R3__><__R3__><__R3__><__R3__><
+DATA14  ><__R2__><__R2__><__R2__><__R2__><__R2__><__R2__><__R2__><
+DATA13  ><__R1__><__R1__><__R1__><__R1__><__R1__><__R1__><__R1__><
+DATA12  ><__R0__><__R0__><__R0__><__R0__><__R0__><__R0__><__R0__><
+          ______  ______  ______  ______  ______  ______  ______
+DATA11  ><__G5__><__G5__><__G5__><__G5__><__G5__><__G5__><__G5__><
+DATA10  ><__G4__><__G4__><__G4__><__G4__><__G4__><__G4__><__G4__><
+DATA9   ><__G3__><__G3__><__G3__><__G3__><__G3__><__G3__><__G3__><
+DATA8   ><__G2__><__G2__><__G2__><__G2__><__G2__><__G2__><__G2__><
+DATA7   ><__G1__><__G1__><__G1__><__G1__><__G1__><__G1__><__G1__><
+DATA6   ><__G0__><__G0__><__G0__><__G0__><__G0__><__G0__><__G0__><
+          ______  ______  ______  ______  ______  ______  ______
+DATA5   ><__B5__><__B5__><__B5__><__B5__><__B5__><__B5__><__B5__><
+DATA4   ><__B4__><__B4__><__B4__><__B4__><__B4__><__B4__><__B4__><
+DATA3   ><__B3__><__B3__><__B3__><__B3__><__B3__><__B3__><__B3__><
+DATA2   ><__B2__><__B2__><__B2__><__B2__><__B2__><__B2__><__B2__><
+DATA1   ><__B1__><__B1__><__B1__><__B1__><__B1__><__B1__><__B1__><
+DATA0   ><__B0__><__B0__><__B0__><__B0__><__B0__><__B0__><__B0__><
+pixel   |   n   |  n+1  |  n+3  |  n+4  |  n+5  |  n+6  |  n+7  |
+
+p565 mode:
+           ___     ___     ___     ___     ___     ___     ___
+dclk    __/   \___/   \___/   \___/   \___/   \___/   \___/   \___
+          ______  ______  ______  ______  ______  ______  ______
+DATA15  ><__R4__><__R4__><__R4__><__R4__><__R4__><__R4__><__R4__><
+DATA14  ><__R3__><__R3__><__R3__><__R3__><__R3__><__R3__><__R3__><
+DATA13  ><__R2__><__R2__><__R2__><__R2__><__R2__><__R2__><__R2__><
+DATA12  ><__R1__><__R1__><__R1__><__R1__><__R1__><__R1__><__R1__><
+DATA11  ><__R0__><__R0__><__R0__><__R0__><__R0__><__R0__><__R0__><
+          ______  ______  ______  ______  ______  ______  ______
+DATA10  ><__G5__><__G5__><__G5__><__G5__><__G5__><__G5__><__G5__><
+DATA9   ><__G4__><__G4__><__G4__><__G4__><__G4__><__G4__><__G4__><
+DATA8   ><__G3__><__G3__><__G3__><__G3__><__G3__><__G3__><__G3__><
+DATA7   ><__G2__><__G2__><__G2__><__G2__><__G2__><__G2__><__G2__><
+DATA6   ><__G1__><__G1__><__G1__><__G1__><__G1__><__G1__><__G1__><
+DATA5   ><__G0__><__G0__><__G0__><__G0__><__G0__><__G0__><__G0__><
+          ______  ______  ______  ______  ______  ______  ______
+DATA4   ><__B4__><__B4__><__B4__><__B4__><__B4__><__B4__><__B4__><
+DATA3   ><__B3__><__B3__><__B3__><__B3__><__B3__><__B3__><__B3__><
+DATA2   ><__B2__><__B2__><__B2__><__B2__><__B2__><__B2__><__B2__><
+DATA1   ><__B1__><__B1__><__B1__><__B1__><__B1__><__B1__><__B1__><
+DATA0   ><__B0__><__B0__><__B0__><__B0__><__B0__><__B0__><__B0__><
+pixel   |   n   |  n+1  |  n+3  |  n+4  |  n+5  |  n+6  |  n+7  |
+
+s888 mode:
+           ___     ___     ___     ___     ___     ___     ___
+dclk    __/   \___/   \___/   \___/   \___/   \___/   \___/   \___
+          ______  ______  ______  ______  ______  ______  ______
+DATA7   ><__R7__><__G7__><__B7__><__R7__><__G7__><__B7__><__R7__><
+DATA6   ><__R6__><__G6__><__B6__><__R6__><__G6__><__B6__><__R6__><
+DATA5   ><__R5__><__G5__><__B5__><__R5__><__G5__><__B5__><__R5__><
+DATA4   ><__R4__><__G4__><__B4__><__R4__><__G4__><__B4__><__R4__><
+DATA3   ><__R3__><__G3__><__B3__><__R3__><__G3__><__B3__><__R3__><
+DATA2   ><__R2__><__G2__><__B2__><__R2__><__G2__><__B2__><__R2__><
+DATA1   ><__R1__><__G1__><__B1__><__R1__><__G1__><__B1__><__R1__><
+DATA0   ><__R0__><__G0__><__B0__><__R0__><__G0__><__B0__><__R0__><
+pixel   | --------- n --------- | ------- n + 1 ------- | --------
+
+s888-dummy mode:
+           ___     ___     ___     ___     ___     ___     ___     ___
+dclk    __/   \___/   \___/   \___/   \___/   \___/   \___/   \___/   \___
+          ______  ______  ______  ______   ______  ______  ______  ______
+DATA7   ><__R7__><__G7__><__B7__><_NULL_><__R7__><__G7__><__B7__><_NULL_><
+DATA6   ><__R6__><__G6__><__B6__><_NULL_><__R6__><__G6__><__B6__><_NULL_><
+DATA5   ><__R5__><__G5__><__B5__><_NULL_><__R5__><__G5__><__B5__><_NULL_><
+DATA4   ><__R4__><__G4__><__B4__><_NULL_><__R4__><__G4__><__B4__><_NULL_><
+DATA3   ><__R3__><__G3__><__B3__><_NULL_><__R3__><__G3__><__B3__><_NULL_><
+DATA2   ><__R2__><__G2__><__B2__><_NULL_><__R2__><__G2__><__B2__><_NULL_><
+DATA1   ><__R1__><__G1__><__B1__><_NULL_><__R1__><__G1__><__B1__><_NULL_><
+DATA0   ><__R0__><__G0__><__B0__><_NULL_><__R0__><__G0__><__B0__><_NULL_><
+pixel   | ------------- n ------------- | ----------- n + 1 ----------- |
-- 
2.7.4


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

[PATCH v4 2/4] devicetree/bindings: display: Add document for rockchip RGB output

From: Sandy Huang <hjc@rock-chips.com>
Date: 2017-11-01 07:54:57

This path add support rv1108 rgb output interface driver.

Signed-off-by: Sandy Huang <redacted>
---
Changes in v4: None
Changes in v3:
 move rgb-mode to panel node which describe at:
 Documentation/devicetree/bindings/display/panel/panel-rgb.txt

Changes in v2:
 1. rename rockchip,rgb-mode to rgb-mode;
 2. delete reg for signle endpoint;
 .../bindings/display/rockchip/rockchip-rgb.txt     | 72 ++++++++++++++++++++++
 1 file changed, 72 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt
diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt b/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt
new file mode 100644
index 0000000..d91a7bf
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/rockchip/rockchip-rgb.txt
@@ -0,0 +1,72 @@
+Rockchip RV1108 RGB interface
+================================
+
+Required properties:
+- compatible: matching the soc type:
+	- "rockchip,rv1108-rgb";
+
+Optional properties:
+- pinctrl-names: must contain a "lcdc" entry.
+- pinctrl-0: pin control group to be used for this interface.
+
+The rgb has two video ports described by:
+	Documentation/devicetree/bindings/media/video-interfaces.txt
+Their connections are modeled using the OF graph bindings specified in
+	Documentation/devicetree/bindings/graph.txt.
+
+- video port 0 for the VOP input, the remote endpoint maybe vopb/vopl/vop
+- video port 1 for either a panel or subsequent encoder
+
+the panel described by:
+	Documentation/devicetree/bindings/display/panel/simple-panel.txt
+rgb-mode nodes described by:
+	Documentation/devicetree/bindings/display/panel/panel-rgb.txt
+Panel other required properties:
+- ports for remote rgb output.
+
+Example:
+
+panel: panel {
+	compatible = "auo,b101ean01";
+	enable-gpios = <&gpio7 21 GPIO_ACTIVE_HIGH>;
+	rgb-mode = "p888";
+
+	ports {
+		panel_in_rgb: endpoint {
+			remote-endpoint = <&rgb_out_panel>;
+		};
+	};
+};
+
+For Rockchip RV1108:
+
+	rgb: rgb {
+		compatible = "rockchip,rv1108-rgb";
+		pinctrl-names = "lcdc";
+		pinctrl-0 = <&lcdc_ctl>;
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			rgb_in: port@0 {
+				reg = <0>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				rgb_in_vop: endpoint {
+					remote-endpoint = <&vop_out_rgb>;
+				};
+			};
+
+			rgb_out: port@1 {
+				reg = <1>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				rgb_out_panel: endpoint {
+					remote-endpoint = <&panel_in_rgb>;
+				};
+			};
+		};
+	};
-- 
2.7.4


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Re: [PATCH v4 1/4] devicetree/bindings: display: Add doucument for RGB panels

From: Rob Herring <robh@kernel.org>
Date: 2017-11-02 00:22:14

On Wed, Nov 01, 2017 at 03:52:38PM +0800, Sandy Huang wrote:
Describe the panel property rgb-mode for parallel and serial
RGB output interface, include the connection relations for each
mode.

Signed-off-by: Sandy Huang <redacted>
---
Changes:
 .../bindings/display/panel/panel-rgb.txt           | 116 +++++++++++++++++++++
 1 file changed, 116 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/panel/panel-rgb.txt
There's a couple of attempts to do the same thing[1] and I'm not taking 
more than 1. I'd suggest you split this from the rest of your series and 
work out this part separately with others.

Rob

[1] https://patchwork.kernel.org/patch/9999407/
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help