[RFC v3 PATCH v6 11/16] ARM: dts: s6e3fa0: add DT bindings
Andrzej Hajda
a.hajda at samsung.com
Mon May 5 03:35:17 PDT 2014
On 04/27/2014 03:50 AM, YoungJun Cho wrote:
> This patch adds DT bindings for s6e3fa0 panel.
> The bindings describes panel resources, display timings and cpu mode timings.
>
> Changelog v2:
> - Adds unit address (commented by Sachin Kamat)
> Changelog v3:
> - Removes optional delay, size properties (commented by Laurent Pinchart)
> - Adds OLED detection, TE gpio properties
> Changelog v4:
> - Moves CPU timings relevant properties from FIMD DT
> (commeted by Laurent Pinchart, Andrzej Hajda)
> Changelog v5:
> - Fixes gpio property names (commented by Andrzej Hajda)
> Changelog v6:
> - Renames CPU timings to CPU mode timings
> - Modifies CPU mode timings internal properties relevant things
> (commeted by Laurent Pinchart, Andrzej Hajda)
>
> Signed-off-by: YoungJun Cho <yj44.cho at samsung.com>
> Acked-by: Inki Dae <inki.dae at samsung.com>
> Acked-by: Kyungmin Park <kyungmin.park at samsung.com>
> ---
> .../devicetree/bindings/panel/samsung,s6e3fa0.txt | 68 ++++++++++++++++++++
> 1 file changed, 68 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/panel/samsung,s6e3fa0.txt
>
> diff --git a/Documentation/devicetree/bindings/panel/samsung,s6e3fa0.txt b/Documentation/devicetree/bindings/panel/samsung,s6e3fa0.txt
> new file mode 100644
> index 0000000..9f06645
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/panel/samsung,s6e3fa0.txt
> @@ -0,0 +1,68 @@
> +Samsung S6E3FA0 AMOLED LCD 5.7 inch panel
> +
> +Required properties:
> + - compatible: "samsung,s6e3fa0"
> + - reg: the virtual channel number of a DSI peripheral
> + - vdd3-supply: core voltage supply
> + - vci-supply: voltage supply for analog circuits
> + - reset-gpios: a GPIO spec for the reset pin
> + - det-gpios: a GPIO spec for the OLED detection pin
> + - te-gpios: a GPIO spec for the TE pin
> + - display-timings: timings for the connected panel as described by [1]
This still bothers me, it forces users to provide bunch of fake
properties (four porches, two syncs and clock-frequency) just because we
need to pass somehow pixel width and height. And do we really need pixel
dimension to be passed via DT? I guess it could be:
- hardcoded into the driver,
- derived from the panel id,
- maybe read from the panel, this is the best option I guess but I am
not sure if panel provides an API for this.
Regards
Andrzej
> + - cpu-mode-timings: CPU interface timings for the connected panel,
> + and it contains following properties.
> + Required properties:
> + - wr-active: clock cycles for the active period of CS enable in CPU
> + interface.
> + Optional properties:
> + - cs-setup: clock cycles for the active period of address signal
> + enable until chip select is enable in CPU interface.
> + If not specified, the default value(0) will be used.
> + - wr-setup: clock cycles for the active period of CS signal enable
> + until write signal is enable in CPU interface.
> + If not specified, the default value(0) will be used.
> + - wr-hold: clock cycles for the active period of CS disable until
> + write signal is disable in CPU interface.
> + If not specified, the default value(0) will be used.
> +
> +Optional properties:
> +
> +The device node can contain one 'port' child node with one child 'endpoint'
> +node, according to the bindings defined in [2]. This node should describe
> +panel's video bus.
> +
> +[1]: Documentation/devicetree/bindings/video/display-timing.txt
> +[2]: Documentation/devicetree/bindings/media/video-interfaces.txt
> +
> +Example:
> +
> + panel at 0 {
> + compatible = "samsung,s6e3fa0";
> + reg = <0>;
> + vdd3-supply = <&vcclcd_reg>;
> + vci-supply = <&vlcd_reg>;
> + reset-gpios = <&gpy7 4 0>;
> + det-gpios = <&gpg0 6 0>;
> + te-gpios = <&gpd1 7 0>;
> +
> + display-timings {
> + timing0: timing-0 {
> + clock-frequency = <0>;
> + hactive = <1080>;
> + vactive = <1920>;
> + hfront-porch = <2>;
> + hback-porch = <2>;
> + hsync-len = <1>;
> + vfront-porch = <1>;
> + vback-porch = <4>;
> + vsync-len = <1>;
> + };
> + };
> +
> + cpu-mode-timings {
> + cs-setup = <0>;
> + wr-setup = <0>;
> + wr-active = <1>;
> + wr-hold = <0>;
> + };
> + };
>
More information about the dri-devel
mailing list