drm: add DT bindings documentation for atmel-hlcdc-dc driver
authorBoris Brezillon <boris.brezillon@free-electrons.com>
Mon, 7 Jul 2014 16:31:14 +0000 (18:31 +0200)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Wed, 21 Jan 2015 08:46:02 +0000 (09:46 +0100)
The Atmel HLCDC (HLCD Controller) IP available on some Atmel SoCs (i.e.
at91sam9n12, at91sam9x5 family or sama5d3 family) provides a display
controller device.

The HLCDC block provides a single RGB output port, and only supports LCD
panels connection to LCD panels for now.

The atmel,panel property link the HLCDC RGB output with the LCD panel
connected on this port (note that the HLCDC RGB connector implementation
makes use of the DRM panel framework).

Connection to other external devices (DRM bridges) might be added later by
mean of a new atmel,xxx (atmel,bridge) property.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt b/Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt
new file mode 100644 (file)
index 0000000..ebc1a91
--- /dev/null
@@ -0,0 +1,53 @@
+Device-Tree bindings for Atmel's HLCDC (High LCD Controller) DRM driver
+
+The Atmel HLCDC Display Controller is subdevice of the HLCDC MFD device.
+See ../mfd/atmel-hlcdc.txt for more details.
+
+Required properties:
+ - compatible: value should be "atmel,hlcdc-display-controller"
+ - pinctrl-names: the pin control state names. Should contain "default".
+ - pinctrl-0: should contain the default pinctrl states.
+ - #address-cells: should be set to 1.
+ - #size-cells: should be set to 0.
+
+Required children nodes:
+ Children nodes are encoding available output ports and their connections
+ to external devices using the OF graph reprensentation (see ../graph.txt).
+ At least one port node is required.
+
+Example:
+
+       hlcdc: hlcdc@f0030000 {
+               compatible = "atmel,sama5d3-hlcdc";
+               reg = <0xf0030000 0x2000>;
+               interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
+               clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
+               clock-names = "periph_clk","sys_clk", "slow_clk";
+               status = "disabled";
+
+               hlcdc-display-controller {
+                       compatible = "atmel,hlcdc-display-controller";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               reg = <0>;
+
+                               hlcdc_panel_output: endpoint@0 {
+                                       reg = <0>;
+                                       remote-endpoint = <&panel_input>;
+                               };
+                       };
+               };
+
+               hlcdc_pwm: hlcdc-pwm {
+                       compatible = "atmel,hlcdc-pwm";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&pinctrl_lcd_pwm>;
+                       #pwm-cells = <3>;
+               };
+       };