xref: /linux/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-mipi-dsi.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
10dac2102SJohan Jonker# SPDX-License-Identifier: GPL-2.0
20dac2102SJohan Jonker%YAML 1.2
30dac2102SJohan Jonker---
40dac2102SJohan Jonker$id: http://devicetree.org/schemas/display/rockchip/rockchip,dw-mipi-dsi.yaml#
50dac2102SJohan Jonker$schema: http://devicetree.org/meta-schemas/core.yaml#
60dac2102SJohan Jonker
70dac2102SJohan Jonkertitle: Rockchip specific extensions to the Synopsys Designware MIPI DSI
80dac2102SJohan Jonker
90dac2102SJohan Jonkermaintainers:
100dac2102SJohan Jonker  - Sandy Huang <hjc@rock-chips.com>
110dac2102SJohan Jonker  - Heiko Stuebner <heiko@sntech.de>
120dac2102SJohan Jonker
130dac2102SJohan Jonkerproperties:
140dac2102SJohan Jonker  compatible:
150dac2102SJohan Jonker    items:
160dac2102SJohan Jonker      - enum:
170dac2102SJohan Jonker          - rockchip,px30-mipi-dsi
18*9bb3d9adSAlex Bee          - rockchip,rk3128-mipi-dsi
190dac2102SJohan Jonker          - rockchip,rk3288-mipi-dsi
200dac2102SJohan Jonker          - rockchip,rk3399-mipi-dsi
210dac2102SJohan Jonker          - rockchip,rk3568-mipi-dsi
229610f9fdSJagan Teki          - rockchip,rv1126-mipi-dsi
230dac2102SJohan Jonker      - const: snps,dw-mipi-dsi
240dac2102SJohan Jonker
250dac2102SJohan Jonker  interrupts:
260dac2102SJohan Jonker    maxItems: 1
270dac2102SJohan Jonker
280dac2102SJohan Jonker  clocks:
290dac2102SJohan Jonker    minItems: 1
300dac2102SJohan Jonker    maxItems: 4
310dac2102SJohan Jonker
320dac2102SJohan Jonker  clock-names:
330dac2102SJohan Jonker    oneOf:
340dac2102SJohan Jonker      - minItems: 2
350dac2102SJohan Jonker        items:
360dac2102SJohan Jonker          - const: ref
370dac2102SJohan Jonker          - const: pclk
380dac2102SJohan Jonker          - const: phy_cfg
390dac2102SJohan Jonker          - const: grf
400dac2102SJohan Jonker      - const: pclk
410dac2102SJohan Jonker
420dac2102SJohan Jonker  rockchip,grf:
430dac2102SJohan Jonker    $ref: /schemas/types.yaml#/definitions/phandle
440dac2102SJohan Jonker    description:
450dac2102SJohan Jonker      This SoC uses GRF regs to switch between vopl/vopb.
460dac2102SJohan Jonker
470dac2102SJohan Jonker  phys:
480dac2102SJohan Jonker    maxItems: 1
490dac2102SJohan Jonker
500dac2102SJohan Jonker  phy-names:
510dac2102SJohan Jonker    const: dphy
520dac2102SJohan Jonker
530dac2102SJohan Jonker  "#phy-cells":
540dac2102SJohan Jonker    const: 0
550dac2102SJohan Jonker    description:
560dac2102SJohan Jonker      Defined when in use as ISP phy.
570dac2102SJohan Jonker
580dac2102SJohan Jonker  power-domains:
590dac2102SJohan Jonker    maxItems: 1
600dac2102SJohan Jonker
610dac2102SJohan Jonker  "#address-cells":
620dac2102SJohan Jonker    const: 1
630dac2102SJohan Jonker
640dac2102SJohan Jonker  "#size-cells":
650dac2102SJohan Jonker    const: 0
660dac2102SJohan Jonker
670dac2102SJohan Jonkerrequired:
680dac2102SJohan Jonker  - compatible
690dac2102SJohan Jonker  - clocks
700dac2102SJohan Jonker  - clock-names
710dac2102SJohan Jonker  - rockchip,grf
720dac2102SJohan Jonker
730dac2102SJohan JonkerallOf:
740dac2102SJohan Jonker  - $ref: /schemas/display/bridge/snps,dw-mipi-dsi.yaml#
750dac2102SJohan Jonker  - if:
760dac2102SJohan Jonker      properties:
770dac2102SJohan Jonker        compatible:
780dac2102SJohan Jonker          contains:
790dac2102SJohan Jonker            enum:
800dac2102SJohan Jonker              - rockchip,px30-mipi-dsi
81*9bb3d9adSAlex Bee              - rockchip,rk3128-mipi-dsi
820dac2102SJohan Jonker              - rockchip,rk3568-mipi-dsi
839610f9fdSJagan Teki              - rockchip,rv1126-mipi-dsi
840dac2102SJohan Jonker
850dac2102SJohan Jonker    then:
860dac2102SJohan Jonker      properties:
870dac2102SJohan Jonker        clocks:
880dac2102SJohan Jonker          maxItems: 1
890dac2102SJohan Jonker
900dac2102SJohan Jonker        clock-names:
910dac2102SJohan Jonker          maxItems: 1
920dac2102SJohan Jonker
930dac2102SJohan Jonker      required:
940dac2102SJohan Jonker        - phys
950dac2102SJohan Jonker        - phy-names
960dac2102SJohan Jonker
970dac2102SJohan Jonker  - if:
980dac2102SJohan Jonker      properties:
990dac2102SJohan Jonker        compatible:
1000dac2102SJohan Jonker          contains:
1010dac2102SJohan Jonker            const: rockchip,rk3288-mipi-dsi
1020dac2102SJohan Jonker
1030dac2102SJohan Jonker    then:
1040dac2102SJohan Jonker      properties:
1050dac2102SJohan Jonker        clocks:
1060dac2102SJohan Jonker          maxItems: 2
1070dac2102SJohan Jonker
1080dac2102SJohan Jonker        clock-names:
1090dac2102SJohan Jonker          maxItems: 2
1100dac2102SJohan Jonker
1110dac2102SJohan Jonker  - if:
1120dac2102SJohan Jonker      properties:
1130dac2102SJohan Jonker        compatible:
1140dac2102SJohan Jonker          contains:
1150dac2102SJohan Jonker            const: rockchip,rk3399-mipi-dsi
1160dac2102SJohan Jonker
1170dac2102SJohan Jonker    then:
1180dac2102SJohan Jonker      properties:
1190dac2102SJohan Jonker        clocks:
1200dac2102SJohan Jonker          minItems: 4
1210dac2102SJohan Jonker
1220dac2102SJohan Jonker        clock-names:
1230dac2102SJohan Jonker          minItems: 4
1240dac2102SJohan Jonker
1250dac2102SJohan JonkerunevaluatedProperties: false
1260dac2102SJohan Jonker
1270dac2102SJohan Jonkerexamples:
1280dac2102SJohan Jonker  - |
1290dac2102SJohan Jonker    #include <dt-bindings/clock/rk3288-cru.h>
1300dac2102SJohan Jonker    #include <dt-bindings/interrupt-controller/arm-gic.h>
1310dac2102SJohan Jonker    #include <dt-bindings/interrupt-controller/irq.h>
1320dac2102SJohan Jonker
1330dac2102SJohan Jonker    mipi_dsi: dsi@ff960000 {
1340dac2102SJohan Jonker      compatible = "rockchip,rk3288-mipi-dsi", "snps,dw-mipi-dsi";
1350dac2102SJohan Jonker      reg = <0xff960000 0x4000>;
1360dac2102SJohan Jonker      interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1370dac2102SJohan Jonker      clocks = <&cru SCLK_MIPIDSI_24M>, <&cru PCLK_MIPI_DSI0>;
1380dac2102SJohan Jonker      clock-names = "ref", "pclk";
1390dac2102SJohan Jonker      resets = <&cru SRST_MIPIDSI0>;
1400dac2102SJohan Jonker      reset-names = "apb";
1410dac2102SJohan Jonker      rockchip,grf = <&grf>;
1420dac2102SJohan Jonker
1430dac2102SJohan Jonker      ports {
1440dac2102SJohan Jonker        #address-cells = <1>;
1450dac2102SJohan Jonker        #size-cells = <0>;
1460dac2102SJohan Jonker
1470dac2102SJohan Jonker        mipi_in: port@0 {
1480dac2102SJohan Jonker          reg = <0>;
1490dac2102SJohan Jonker          #address-cells = <1>;
1500dac2102SJohan Jonker          #size-cells = <0>;
1510dac2102SJohan Jonker
1520dac2102SJohan Jonker          mipi_in_vopb: endpoint@0 {
1530dac2102SJohan Jonker            reg = <0>;
1540dac2102SJohan Jonker            remote-endpoint = <&vopb_out_mipi>;
1550dac2102SJohan Jonker          };
1560dac2102SJohan Jonker          mipi_in_vopl: endpoint@1 {
1570dac2102SJohan Jonker            reg = <1>;
1580dac2102SJohan Jonker            remote-endpoint = <&vopl_out_mipi>;
1590dac2102SJohan Jonker          };
1600dac2102SJohan Jonker        };
1610dac2102SJohan Jonker
1620dac2102SJohan Jonker        mipi_out: port@1 {
1630dac2102SJohan Jonker          reg = <1>;
1640dac2102SJohan Jonker
1650dac2102SJohan Jonker          mipi_out_panel: endpoint {
1660dac2102SJohan Jonker            remote-endpoint = <&panel_in_mipi>;
1670dac2102SJohan Jonker          };
1680dac2102SJohan Jonker        };
1690dac2102SJohan Jonker      };
1700dac2102SJohan Jonker    };
171