Re: [PATCH 1/2] dt-binding: Add DSI/LVDS tc358775 bridge bindings

Andrzej Hajda
2020-03-12T10:35:04Z

Hi Vinay,

Next time add patch version to de subject of email.

On 11.03.2020 10:48, Vinay Simha BN wrote:
> Add yaml documentation for DSI/LVDS tc358775 bridge
>
> Signed-off-by: Vinay Simha BN <simhavcs@gmail.com>
>
> ---
> v1:
> Initial version
> ---
> .../bindings/display/bridge/toshiba-tc358775.yaml | 174 +++++++++++++++++++++
> 1 file changed, 174 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml b/Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> new file mode 100644
> index 0000000..e9a9544
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/bridge/toshiba-tc358775.yaml
> @@ -0,0 +1,174 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: https://protect2.fireeye.com/url?k=cc9be7f9-9155e4b4-cc9a6cb6-000babff24ad-2a6ce73e1e41d358&u=http://devicetree.org/schemas/display/bridge/toshiba-tc358775.yaml#
> +$schema: https://protect2.fireeye.com/url?k=293d6151-74f3621c-293cea1e-000babff24ad-793c0a803cb80d71&u=http://devicetree.org/meta-schemas/core.yaml#
> +
> +
> +title: Toshiba TC358775 DSI to LVDS bridge bindings
> +
> +maintainers:
> + - Vinay Simha BN <simhavcs@gmail.com>
> +
> +description: |
> + This binding supports DSI to LVDS bridge TC358775
> +
> +properties:
> + compatible:
> + const: toshiba,tc358775
> +
> + reg:
> + maxItems: 1
> + description: i2c address of the bridge, 0x0f
> +
> + tc, dsi-lanes: 1
> + maxItems: 1
> + description: Number of DSI data lanes connected to the DSI host. It should
> + be one of 1, 2, 3 or 4.
> +
> + tc, dual-link: 1
> + maxItems: 1
> + description: To configure the LVDS transmitter either as single-link or dual-link.

As Laurent commented earlier, it would be better to use two ports. See
for example for input LVDS ports in:

Documentation/devicetree/bindings/display/bridge/thine,thc63lvd1024.txt

Both should be defined in bindings but the 2nd can be optional in dts.

Regards

Andrzej

> +
> + vdd-supply:
> + maxItems: 1
> + description: 1.2V LVDS Power Supply
> +
> + vddio-supply:
> + maxItems: 1
> + description: 1.8V IO Power Supply
> +
> + stby-gpios:
> + maxItems: 1
> + description: Standby pin, Low active
> +
> + reset-gpios:
> + maxItems: 1
> + description: Hardware reset, Low active
> +
> + ports:
> + type: object
> +
> + properties:
> + port@0:
> + type: object
> + description: |
> + DSI Input. The remote endpoint phandle should be a
> + reference to a valid mipi_dsi_host device node.
> + port@1:
> + type: object
> + description: |
> + Video port for LVDS output (panel or connector).
> +
> + required:
> + - port@0
> + - port@1
> +
> +required:
> + - compatible
> + - reg
> + - dsi-lanes
> + - vdd-supply
> + - vddio-supply
> + - stby-gpios
> + - reset-gpios
> + - ports
> +
> +examples:
> + - |
> + i2c@78b8000 {
> + /* On High speed expansion */
> + label = "HS-I2C2";
> + status = "okay";
> +
> + tc_bridge: bridge@f {
> + status = "okay";
> +
> + compatible = "toshiba,tc358775";
> + reg = <0x0f>;
> +
> + tc,dsi-lanes = <4>;
> + tc,dual-link = <0>;
> +
> + vdd-supply = <&pm8916_l2>;
> + vddio-supply = <&pm8916_l6>;
> +
> + stby-gpio = <&msmgpio 99 GPIO_ACTIVE_LOW>;
> + reset-gpio = <&msmgpio 72 GPIO_ACTIVE_LOW>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> + d2l_in: endpoint {
> + remote-endpoint = <&dsi0_out>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> + d2l_out: endpoint {
> + remote-endpoint = <&panel_in>;
> + };
> + };
> + };
> + };
> + };
> +
> + panel: auo,b101xtn01 {
> + status = "okay";
> + compatible = "auo,b101xtn01", "panel-lvds";
> + power-supply = <&pm8916_l14>;
> +
> + width-mm = <223>;
> + height-mm = <125>;
> +
> + data-mapping = "jeida-24";
> +
> + panel-timing {
> + /* 1366x768 @60Hz */
> + clock-frequency = <72000000>;
> + hactive = <1366>;
> + vactive = <768>;
> + hsync-len = <70>;
> + hfront-porch = <20>;
> + hback-porch = <0>;
> + vsync-len = <42>;
> + vfront-porch = <14>;
> + vback-porch = <0>;
> + };
> +
> + port {
> + panel_in: endpoint {
> + remote-endpoint = <&d2l_out>;
> + };
> + };
> + };
> +
> + mdss@1a00000 {
> + status = "okay";
> +
> + mdp@1a01000 {
> + status = "okay";
> + };
> +
> + dsi@1a98000 {
> + status = "okay";
> + ..
> + ports {
> + port@1 {
> + dsi0_out: endpoint {
> + remote-endpoint = <&d2l_in>;
> + data-lanes = <0 1 2 3>;
> + };
> + };
> + };
> + };
> +
> + dsi-phy@1a98300 {
> + status = "okay";
> + ..
> + };
> + };