162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/display/bridge/ite,it6505.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: ITE it6505
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Allen Chen <allen.chen@ite.com.tw>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  The IT6505 is a high-performance DisplayPort 1.1a transmitter,
1462306a36Sopenharmony_ci  fully compliant with DisplayPort 1.1a, HDCP 1.3 specifications.
1562306a36Sopenharmony_ci  The IT6505 supports color depth of up to 36 bits (12 bits/color)
1662306a36Sopenharmony_ci  and ensures robust transmission of high-quality uncompressed video
1762306a36Sopenharmony_ci  content, along with uncompressed and compressed digital audio content.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci  Aside from the various video output formats supported, the IT6505
2062306a36Sopenharmony_ci  also encodes and transmits up to 8 channels of I2S digital audio,
2162306a36Sopenharmony_ci  with sampling rate up to 192kHz and sample size up to 24 bits.
2262306a36Sopenharmony_ci  In addition, an S/PDIF input port takes in compressed audio of up to
2362306a36Sopenharmony_ci  192kHz frame rate.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci  Each IT6505 chip comes preprogrammed with an unique HDCP key,
2662306a36Sopenharmony_ci  in compliance with the HDCP 1.3 standard so as to provide secure
2762306a36Sopenharmony_ci  transmission of high-definition content. Users of the IT6505 need not
2862306a36Sopenharmony_ci  purchase any HDCP keys or ROMs.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciproperties:
3162306a36Sopenharmony_ci  compatible:
3262306a36Sopenharmony_ci    const: ite,it6505
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci  reg:
3562306a36Sopenharmony_ci    maxItems: 1
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  ovdd-supply:
3862306a36Sopenharmony_ci    description: I/O voltage
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci  pwr18-supply:
4162306a36Sopenharmony_ci    description: core voltage
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci  interrupts:
4462306a36Sopenharmony_ci    maxItems: 1
4562306a36Sopenharmony_ci    description: interrupt specifier of INT pin
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci  reset-gpios:
4862306a36Sopenharmony_ci    maxItems: 1
4962306a36Sopenharmony_ci    description: gpio specifier of RESET pin
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci  extcon:
5262306a36Sopenharmony_ci    maxItems: 1
5362306a36Sopenharmony_ci    description: extcon specifier for the Power Delivery
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci  ports:
5662306a36Sopenharmony_ci    $ref: /schemas/graph.yaml#/properties/ports
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci    properties:
5962306a36Sopenharmony_ci      port@0:
6062306a36Sopenharmony_ci        $ref: /schemas/graph.yaml#/$defs/port-base
6162306a36Sopenharmony_ci        unevaluatedProperties: false
6262306a36Sopenharmony_ci        description: A port node pointing to DPI host port node
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci        properties:
6562306a36Sopenharmony_ci          endpoint:
6662306a36Sopenharmony_ci            $ref: /schemas/graph.yaml#/$defs/endpoint-base
6762306a36Sopenharmony_ci            unevaluatedProperties: false
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci            properties:
7062306a36Sopenharmony_ci              link-frequencies:
7162306a36Sopenharmony_ci                minItems: 1
7262306a36Sopenharmony_ci                maxItems: 1
7362306a36Sopenharmony_ci                description: Allowed max link frequencies in Hz
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci      port@1:
7662306a36Sopenharmony_ci        $ref: /schemas/graph.yaml#/$defs/port-base
7762306a36Sopenharmony_ci        unevaluatedProperties: false
7862306a36Sopenharmony_ci        description: Video port for DP output
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci        properties:
8162306a36Sopenharmony_ci          endpoint:
8262306a36Sopenharmony_ci            $ref: /schemas/graph.yaml#/$defs/endpoint-base
8362306a36Sopenharmony_ci            unevaluatedProperties: false
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci            properties:
8662306a36Sopenharmony_ci              data-lanes:
8762306a36Sopenharmony_ci                minItems: 1
8862306a36Sopenharmony_ci                uniqueItems: true
8962306a36Sopenharmony_ci                items:
9062306a36Sopenharmony_ci                  - enum: [ 0, 1 ]
9162306a36Sopenharmony_ci                  - const: 1
9262306a36Sopenharmony_ci                  - const: 2
9362306a36Sopenharmony_ci                  - const: 3
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci    required:
9662306a36Sopenharmony_ci      - port@0
9762306a36Sopenharmony_ci      - port@1
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_cirequired:
10062306a36Sopenharmony_ci  - compatible
10162306a36Sopenharmony_ci  - ovdd-supply
10262306a36Sopenharmony_ci  - pwr18-supply
10362306a36Sopenharmony_ci  - interrupts
10462306a36Sopenharmony_ci  - reset-gpios
10562306a36Sopenharmony_ci  - extcon
10662306a36Sopenharmony_ci  - ports
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ciadditionalProperties: false
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ciexamples:
11162306a36Sopenharmony_ci  - |
11262306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci    i2c {
11562306a36Sopenharmony_ci        #address-cells = <1>;
11662306a36Sopenharmony_ci        #size-cells = <0>;
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci        dp-bridge@5c {
11962306a36Sopenharmony_ci            compatible = "ite,it6505";
12062306a36Sopenharmony_ci            interrupts = <152 IRQ_TYPE_EDGE_FALLING 152 0>;
12162306a36Sopenharmony_ci            reg = <0x5c>;
12262306a36Sopenharmony_ci            pinctrl-names = "default";
12362306a36Sopenharmony_ci            pinctrl-0 = <&it6505_pins>;
12462306a36Sopenharmony_ci            ovdd-supply = <&mt6358_vsim1_reg>;
12562306a36Sopenharmony_ci            pwr18-supply = <&it6505_pp18_reg>;
12662306a36Sopenharmony_ci            reset-gpios = <&pio 179 1>;
12762306a36Sopenharmony_ci            extcon = <&usbc_extcon>;
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci            ports {
13062306a36Sopenharmony_ci                #address-cells = <1>;
13162306a36Sopenharmony_ci                #size-cells = <0>;
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ci                port@0 {
13462306a36Sopenharmony_ci                    reg = <0>;
13562306a36Sopenharmony_ci                    it6505_in: endpoint {
13662306a36Sopenharmony_ci                        remote-endpoint = <&dpi_out>;
13762306a36Sopenharmony_ci                        link-frequencies = /bits/ 64 <150000000>;
13862306a36Sopenharmony_ci                    };
13962306a36Sopenharmony_ci                };
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci                port@1 {
14262306a36Sopenharmony_ci                    reg = <1>;
14362306a36Sopenharmony_ci                    it6505_out: endpoint {
14462306a36Sopenharmony_ci                        remote-endpoint = <&dp_in>;
14562306a36Sopenharmony_ci                        data-lanes = <0 1>;
14662306a36Sopenharmony_ci                    };
14762306a36Sopenharmony_ci                };
14862306a36Sopenharmony_ci            };
14962306a36Sopenharmony_ci        };
15062306a36Sopenharmony_ci    };
151