summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/display/bridge/ite,it6505.yaml
blob: c9a882ee6d98f21516b5a061b41c7358c2ac0a79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/ite,it6505.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ITE it6505

maintainers:
  - Allen Chen <allen.chen@ite.com.tw>

description: |
  The IT6505 is a high-performance DisplayPort 1.1a transmitter,
  fully compliant with DisplayPort 1.1a, HDCP 1.3 specifications.
  The IT6505 supports color depth of up to 36 bits (12 bits/color)
  and ensures robust transmission of high-quality uncompressed video
  content, along with uncompressed and compressed digital audio content.

  Aside from the various video output formats supported, the IT6505
  also encodes and transmits up to 8 channels of I2S digital audio,
  with sampling rate up to 192kHz and sample size up to 24 bits.
  In addition, an S/PDIF input port takes in compressed audio of up to
  192kHz frame rate.

  Each IT6505 chip comes preprogrammed with an unique HDCP key,
  in compliance with the HDCP 1.3 standard so as to provide secure
  transmission of high-definition content. Users of the IT6505 need not
  purchase any HDCP keys or ROMs.

properties:
  compatible:
    const: ite,it6505

  reg:
    maxItems: 1

  ovdd-supply:
    description: I/O voltage

  pwr18-supply:
    description: core voltage

  interrupts:
    maxItems: 1
    description: interrupt specifier of INT pin

  reset-gpios:
    maxItems: 1
    description: gpio specifier of RESET pin

  extcon:
    maxItems: 1
    description: extcon specifier for the Power Delivery

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: A port node pointing to DPI host port node

        properties:
          endpoint:
            $ref: /schemas/graph.yaml#/$defs/endpoint-base
            unevaluatedProperties: false

            properties:
              link-frequencies:
                minItems: 1
                maxItems: 1
                description: Allowed max link frequencies in Hz

      port@1:
        $ref: /schemas/graph.yaml#/$defs/port-base
        unevaluatedProperties: false
        description: Video port for DP output

        properties:
          endpoint:
            $ref: /schemas/graph.yaml#/$defs/endpoint-base
            unevaluatedProperties: false

            properties:
              data-lanes:
                minItems: 1
                uniqueItems: true
                items:
                  - enum: [ 0, 1 ]
                  - const: 1
                  - const: 2
                  - const: 3

    required:
      - port@0
      - port@1

required:
  - compatible
  - ovdd-supply
  - pwr18-supply
  - interrupts
  - reset-gpios
  - extcon
  - ports

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        dp-bridge@5c {
            compatible = "ite,it6505";
            interrupts = <152 IRQ_TYPE_EDGE_FALLING 152 0>;
            reg = <0x5c>;
            pinctrl-names = "default";
            pinctrl-0 = <&it6505_pins>;
            ovdd-supply = <&mt6358_vsim1_reg>;
            pwr18-supply = <&it6505_pp18_reg>;
            reset-gpios = <&pio 179 1>;
            extcon = <&usbc_extcon>;

            ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@0 {
                    reg = <0>;
                    it6505_in: endpoint {
                        remote-endpoint = <&dpi_out>;
                        link-frequencies = /bits/ 64 <150000000>;
                    };
                };

                port@1 {
                    reg = <1>;
                    it6505_out: endpoint {
                        remote-endpoint = <&dp_in>;
                        data-lanes = <0 1>;
                    };
                };
            };
        };
    };