18a72a2deSVinod Koul# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28a72a2deSVinod Koul%YAML 1.2
38a72a2deSVinod Koul---
48a72a2deSVinod Koul$id: http://devicetree.org/schemas/display/bridge/lontium,lt9611.yaml#
58a72a2deSVinod Koul$schema: http://devicetree.org/meta-schemas/core.yaml#
68a72a2deSVinod Koul
78a72a2deSVinod Koultitle: Lontium LT9611 2 Port MIPI to HDMI Bridge
88a72a2deSVinod Koul
98a72a2deSVinod Koulmaintainers:
108a72a2deSVinod Koul  - Vinod Koul <vkoul@kernel.org>
118a72a2deSVinod Koul
128a72a2deSVinod Kouldescription: |
138a72a2deSVinod Koul  The LT9611 is a bridge device which converts DSI to HDMI
148a72a2deSVinod Koul
158a72a2deSVinod Koulproperties:
168a72a2deSVinod Koul  compatible:
178a72a2deSVinod Koul    enum:
188a72a2deSVinod Koul      - lontium,lt9611
198a72a2deSVinod Koul
208a72a2deSVinod Koul  reg:
218a72a2deSVinod Koul    maxItems: 1
228a72a2deSVinod Koul
238a72a2deSVinod Koul  "#sound-dai-cells":
248a72a2deSVinod Koul    const: 1
258a72a2deSVinod Koul
268a72a2deSVinod Koul  interrupts:
278a72a2deSVinod Koul    maxItems: 1
288a72a2deSVinod Koul
298a72a2deSVinod Koul  reset-gpios:
308a72a2deSVinod Koul    maxItems: 1
318a72a2deSVinod Koul    description: GPIO connected to active high RESET pin.
328a72a2deSVinod Koul
338a72a2deSVinod Koul  vdd-supply:
348a72a2deSVinod Koul    description: Regulator for 1.8V MIPI phy power.
358a72a2deSVinod Koul
368a72a2deSVinod Koul  vcc-supply:
378a72a2deSVinod Koul    description: Regulator for 3.3V IO power.
388a72a2deSVinod Koul
398a72a2deSVinod Koul  ports:
408a72a2deSVinod Koul    type: object
418a72a2deSVinod Koul
428a72a2deSVinod Koul    properties:
438a72a2deSVinod Koul      "#address-cells":
448a72a2deSVinod Koul        const: 1
458a72a2deSVinod Koul
468a72a2deSVinod Koul      "#size-cells":
478a72a2deSVinod Koul        const: 0
488a72a2deSVinod Koul
498a72a2deSVinod Koul      port@0:
508a72a2deSVinod Koul        type: object
518a72a2deSVinod Koul        description: |
528a72a2deSVinod Koul          Primary MIPI port-1 for MIPI input
538a72a2deSVinod Koul
548a72a2deSVinod Koul        properties:
558a72a2deSVinod Koul          reg:
568a72a2deSVinod Koul            const: 0
578a72a2deSVinod Koul
588a72a2deSVinod Koul        patternProperties:
598a72a2deSVinod Koul          "^endpoint(@[0-9])$":
608a72a2deSVinod Koul            type: object
618a72a2deSVinod Koul            additionalProperties: false
628a72a2deSVinod Koul
638a72a2deSVinod Koul            properties:
648a72a2deSVinod Koul              remote-endpoint:
658a72a2deSVinod Koul                $ref: /schemas/types.yaml#/definitions/phandle
668a72a2deSVinod Koul
678a72a2deSVinod Koul        required:
688a72a2deSVinod Koul          - reg
698a72a2deSVinod Koul
708a72a2deSVinod Koul      port@1:
718a72a2deSVinod Koul        type: object
728a72a2deSVinod Koul        description: |
738a72a2deSVinod Koul          Additional MIPI port-2 for MIPI input, used in combination
748a72a2deSVinod Koul          with primary MIPI port-1 to drive higher resolution displays
758a72a2deSVinod Koul
768a72a2deSVinod Koul        properties:
778a72a2deSVinod Koul          reg:
788a72a2deSVinod Koul            const: 1
798a72a2deSVinod Koul
808a72a2deSVinod Koul        patternProperties:
818a72a2deSVinod Koul          "^endpoint(@[0-9])$":
828a72a2deSVinod Koul            type: object
838a72a2deSVinod Koul            additionalProperties: false
848a72a2deSVinod Koul
858a72a2deSVinod Koul            properties:
868a72a2deSVinod Koul              remote-endpoint:
878a72a2deSVinod Koul                $ref: /schemas/types.yaml#/definitions/phandle
888a72a2deSVinod Koul
898a72a2deSVinod Koul        required:
908a72a2deSVinod Koul          - reg
918a72a2deSVinod Koul
928a72a2deSVinod Koul      port@2:
938a72a2deSVinod Koul        type: object
948a72a2deSVinod Koul        description: |
958a72a2deSVinod Koul          HDMI port for HDMI output
968a72a2deSVinod Koul
978a72a2deSVinod Koul        properties:
988a72a2deSVinod Koul          reg:
998a72a2deSVinod Koul            const: 2
1008a72a2deSVinod Koul
1018a72a2deSVinod Koul        patternProperties:
1028a72a2deSVinod Koul          "^endpoint(@[0-9])$":
1038a72a2deSVinod Koul            type: object
1048a72a2deSVinod Koul            additionalProperties: false
1058a72a2deSVinod Koul
1068a72a2deSVinod Koul            properties:
1078a72a2deSVinod Koul              remote-endpoint:
1088a72a2deSVinod Koul                $ref: /schemas/types.yaml#/definitions/phandle
1098a72a2deSVinod Koul
1108a72a2deSVinod Koul        required:
1118a72a2deSVinod Koul          - reg
1128a72a2deSVinod Koul
1138a72a2deSVinod Koul    required:
1148a72a2deSVinod Koul      - "#address-cells"
1158a72a2deSVinod Koul      - "#size-cells"
1168a72a2deSVinod Koul      - port@0
1178a72a2deSVinod Koul      - port@2
1188a72a2deSVinod Koul
1198a72a2deSVinod Koulrequired:
1208a72a2deSVinod Koul  - compatible
1218a72a2deSVinod Koul  - reg
1228a72a2deSVinod Koul  - interrupts
1238a72a2deSVinod Koul  - vdd-supply
1248a72a2deSVinod Koul  - vcc-supply
1258a72a2deSVinod Koul  - ports
1268a72a2deSVinod Koul
1278a72a2deSVinod KouladditionalProperties: false
1288a72a2deSVinod Koul
1298a72a2deSVinod Koulexamples:
1308a72a2deSVinod Koul  - |
1318a72a2deSVinod Koul    #include <dt-bindings/gpio/gpio.h>
1328a72a2deSVinod Koul    #include <dt-bindings/interrupt-controller/irq.h>
1338a72a2deSVinod Koul
1348a72a2deSVinod Koul    i2c10 {
1358a72a2deSVinod Koul      #address-cells = <1>;
1368a72a2deSVinod Koul      #size-cells = <0>;
1378a72a2deSVinod Koul
1388a72a2deSVinod Koul      hdmi-bridge@3b {
1398a72a2deSVinod Koul        compatible = "lontium,lt9611";
1408a72a2deSVinod Koul        reg = <0x3b>;
1418a72a2deSVinod Koul
1428a72a2deSVinod Koul        reset-gpios = <&tlmm 128 GPIO_ACTIVE_HIGH>;
1438a72a2deSVinod Koul        interrupts-extended = <&tlmm 84 IRQ_TYPE_EDGE_FALLING>;
1448a72a2deSVinod Koul
1458a72a2deSVinod Koul        vdd-supply = <&lt9611_1v8>;
1468a72a2deSVinod Koul        vcc-supply = <&lt9611_3v3>;
1478a72a2deSVinod Koul
1488a72a2deSVinod Koul        ports {
1498a72a2deSVinod Koul          #address-cells = <1>;
1508a72a2deSVinod Koul          #size-cells = <0>;
1518a72a2deSVinod Koul
1528a72a2deSVinod Koul          port@0 {
1538a72a2deSVinod Koul            reg = <0>;
1548a72a2deSVinod Koul            lt9611_a: endpoint {
1558a72a2deSVinod Koul              remote-endpoint = <&dsi0_out>;
1568a72a2deSVinod Koul            };
1578a72a2deSVinod Koul          };
1588a72a2deSVinod Koul
1598a72a2deSVinod Koul          port@1 {
1608a72a2deSVinod Koul            reg = <1>;
1618a72a2deSVinod Koul            lt9611_b: endpoint {
1628a72a2deSVinod Koul              remote-endpoint = <&dsi1_out>;
1638a72a2deSVinod Koul            };
1648a72a2deSVinod Koul          };
1658a72a2deSVinod Koul
1668a72a2deSVinod Koul          port@2 {
1678a72a2deSVinod Koul            reg = <2>;
1688a72a2deSVinod Koul            lt9611_out: endpoint {
1698a72a2deSVinod Koul              remote-endpoint = <&hdmi_con>;
1708a72a2deSVinod Koul            };
1718a72a2deSVinod Koul          };
1728a72a2deSVinod Koul        };
1738a72a2deSVinod Koul      };
1748a72a2deSVinod Koul    };
1758a72a2deSVinod Koul
1768a72a2deSVinod Koul...
177