| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/display/bridge/toshiba,tc358775.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Toshiba TC358775 DSI to LVDS bridge |
| |
| maintainers: |
| - Vinay Simha BN <simhavcs@gmail.com> |
| |
| description: | |
| This binding supports DSI to LVDS bridges TC358765 and TC358775 |
| |
| MIPI DSI-RX Data 4-lane, CLK 1-lane with data rates up to 800 Mbps/lane. |
| Video frame size: |
| Up to 1600x1200 24-bit/pixel resolution for single-link LVDS display panel |
| limited by 135 MHz LVDS speed |
| Up to WUXGA (1920x1200 24-bit pixels) resolution for dual-link LVDS display |
| panel, limited by 270 MHz LVDS speed. |
| |
| properties: |
| compatible: |
| enum: |
| - toshiba,tc358765 |
| - toshiba,tc358775 |
| |
| reg: |
| maxItems: 1 |
| description: i2c address of the bridge, 0x0f |
| |
| vdd-supply: |
| description: 1.2V LVDS Power Supply |
| |
| vddio-supply: |
| 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: |
| $ref: /schemas/graph.yaml#/properties/ports |
| |
| properties: |
| port@0: |
| $ref: /schemas/graph.yaml#/$defs/port-base |
| unevaluatedProperties: false |
| description: | |
| DSI Input. The remote endpoint phandle should be a |
| reference to a valid mipi_dsi_host device node. |
| |
| properties: |
| endpoint: |
| $ref: /schemas/media/video-interfaces.yaml# |
| unevaluatedProperties: false |
| |
| properties: |
| data-lanes: |
| description: array of physical DSI data lane indexes. |
| minItems: 1 |
| items: |
| - const: 1 |
| - const: 2 |
| - const: 3 |
| - const: 4 |
| |
| port@1: |
| $ref: /schemas/graph.yaml#/properties/port |
| description: | |
| Video port for LVDS output (panel or connector). |
| |
| port@2: |
| $ref: /schemas/graph.yaml#/properties/port |
| description: | |
| Video port for Dual link LVDS output (panel or connector). |
| |
| required: |
| - port@0 |
| - port@1 |
| |
| required: |
| - compatible |
| - reg |
| - vdd-supply |
| - vddio-supply |
| - reset-gpios |
| - ports |
| |
| allOf: |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: toshiba,tc358765 |
| then: |
| properties: |
| stby-gpios: false |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/gpio/gpio.h> |
| |
| /* For single-link LVDS display panel */ |
| |
| i2c@78b8000 { |
| /* On High speed expansion */ |
| label = "HS-I2C2"; |
| reg = <0x078b8000 0x500>; |
| clock-frequency = <400000>; /* fastmode operation */ |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| tc_bridge: bridge@f { |
| compatible = "toshiba,tc358775"; |
| reg = <0x0f>; |
| |
| vdd-supply = <&pm8916_l2>; |
| vddio-supply = <&pm8916_l6>; |
| |
| stby-gpios = <&msmgpio 99 GPIO_ACTIVE_LOW>; |
| reset-gpios = <&msmgpio 72 GPIO_ACTIVE_LOW>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| d2l_in_test: endpoint { |
| remote-endpoint = <&dsi0_out>; |
| data-lanes = <1 2 3 4>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| lvds_out: endpoint { |
| remote-endpoint = <&panel_in>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| dsi@1a98000 { |
| reg = <0x1a98000 0x25c>; |
| reg-names = "dsi_ctrl"; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| port@1 { |
| reg = <1>; |
| dsi0_out: endpoint { |
| remote-endpoint = <&d2l_in_test>; |
| }; |
| }; |
| }; |
| }; |
| |
| - | |
| /* For dual-link LVDS display panel */ |
| |
| i2c@78b8000 { |
| /* On High speed expansion */ |
| label = "HS-I2C2"; |
| reg = <0x078b8000 0x500>; |
| clock-frequency = <400000>; /* fastmode operation */ |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| tc_bridge_dual: bridge@f { |
| compatible = "toshiba,tc358775"; |
| reg = <0x0f>; |
| |
| vdd-supply = <&pm8916_l2>; |
| vddio-supply = <&pm8916_l6>; |
| |
| stby-gpios = <&msmgpio 99 GPIO_ACTIVE_LOW>; |
| reset-gpios = <&msmgpio 72 GPIO_ACTIVE_LOW>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| d2l_in_dual: endpoint { |
| remote-endpoint = <&dsi0_out_dual>; |
| data-lanes = <1 2 3 4>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| lvds0_out: endpoint { |
| remote-endpoint = <&panel_in0>; |
| }; |
| }; |
| |
| port@2 { |
| reg = <2>; |
| lvds1_out: endpoint { |
| remote-endpoint = <&panel_in1>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| dsi@1a98000 { |
| reg = <0x1a98000 0x25c>; |
| reg-names = "dsi_ctrl"; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| port@1 { |
| reg = <1>; |
| dsi0_out_dual: endpoint { |
| remote-endpoint = <&d2l_in_dual>; |
| }; |
| }; |
| }; |
| }; |
| ... |