mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
2e7c04aec8
With bus-type/bus-width properties in the endpoint nodes, the video- interface of the connection can be specified for cases where the heuristic fails to select the correct output mode. This can happen e.g. if not all RGB pins are routed on the PCB; the driver has no way of knowing this, and needs to be told explicitly. This is critical for the devices that have the "conflicting output formats" issue (SAM9N12, SAM9X5, SAMA5D3), since the most significant RGB bits move around depending on the selected output mode. For devices that do not have the "conflicting output formats" issue (SAMA5D2, SAMA5D4), this is completely irrelevant. Acked-by: Boris Brezillon <boris.brezillon@bootlin.com> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Signed-off-by: Peter Rosin <peda@axentia.se> Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180825085620.10566-3-peda@axentia.se
76 lines
2.1 KiB
Plaintext
76 lines
2.1 KiB
Plaintext
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.
|
|
|
|
Optional properties in grandchild nodes:
|
|
Any endpoint grandchild node may specify a desired video interface
|
|
according to ../../media/video-interfaces.txt, specifically
|
|
- bus-width: recognized values are <12>, <16>, <18> and <24>, and
|
|
override any output mode selection heuristic, forcing "rgb444",
|
|
"rgb565", "rgb666" and "rgb888" respectively.
|
|
|
|
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";
|
|
|
|
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>;
|
|
};
|
|
};
|
|
|
|
Example 2: With a video interface override to force rgb565; as above
|
|
but with these changes/additions:
|
|
|
|
&hlcdc {
|
|
hlcdc-display-controller {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb565>;
|
|
|
|
port@0 {
|
|
hlcdc_panel_output: endpoint@0 {
|
|
bus-width = <16>;
|
|
};
|
|
};
|
|
};
|
|
};
|