xref: /linux/Documentation/devicetree/bindings/display/rockchip/rockchip,dw-mipi-dsi.yaml (revision 260f6f4fda93c8485c8037865c941b42b9cba5d2)
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
189bb3d9adSAlex 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 Jonkerrequired:
620dac2102SJohan Jonker  - compatible
630dac2102SJohan Jonker  - clocks
640dac2102SJohan Jonker  - clock-names
650dac2102SJohan Jonker  - rockchip,grf
660dac2102SJohan Jonker
670dac2102SJohan JonkerallOf:
680dac2102SJohan Jonker  - $ref: /schemas/display/bridge/snps,dw-mipi-dsi.yaml#
690dac2102SJohan Jonker  - if:
700dac2102SJohan Jonker      properties:
710dac2102SJohan Jonker        compatible:
720dac2102SJohan Jonker          contains:
730dac2102SJohan Jonker            enum:
740dac2102SJohan Jonker              - rockchip,px30-mipi-dsi
759bb3d9adSAlex Bee              - rockchip,rk3128-mipi-dsi
760dac2102SJohan Jonker              - rockchip,rk3568-mipi-dsi
779610f9fdSJagan Teki              - rockchip,rv1126-mipi-dsi
780dac2102SJohan Jonker
790dac2102SJohan Jonker    then:
800dac2102SJohan Jonker      properties:
810dac2102SJohan Jonker        clocks:
820dac2102SJohan Jonker          maxItems: 1
830dac2102SJohan Jonker
840dac2102SJohan Jonker        clock-names:
850dac2102SJohan Jonker          maxItems: 1
860dac2102SJohan Jonker
870dac2102SJohan Jonker      required:
880dac2102SJohan Jonker        - phys
890dac2102SJohan Jonker        - phy-names
900dac2102SJohan Jonker
910dac2102SJohan Jonker  - if:
920dac2102SJohan Jonker      properties:
930dac2102SJohan Jonker        compatible:
940dac2102SJohan Jonker          contains:
950dac2102SJohan Jonker            const: rockchip,rk3288-mipi-dsi
960dac2102SJohan Jonker
970dac2102SJohan Jonker    then:
980dac2102SJohan Jonker      properties:
990dac2102SJohan Jonker        clocks:
1000dac2102SJohan Jonker          maxItems: 2
1010dac2102SJohan Jonker
1020dac2102SJohan Jonker        clock-names:
1030dac2102SJohan Jonker          maxItems: 2
1040dac2102SJohan Jonker
1050dac2102SJohan Jonker  - if:
1060dac2102SJohan Jonker      properties:
1070dac2102SJohan Jonker        compatible:
1080dac2102SJohan Jonker          contains:
1090dac2102SJohan Jonker            const: rockchip,rk3399-mipi-dsi
1100dac2102SJohan Jonker
1110dac2102SJohan Jonker    then:
1120dac2102SJohan Jonker      properties:
1130dac2102SJohan Jonker        clocks:
1140dac2102SJohan Jonker          minItems: 4
1150dac2102SJohan Jonker
1160dac2102SJohan Jonker        clock-names:
1170dac2102SJohan Jonker          minItems: 4
1180dac2102SJohan Jonker
1190dac2102SJohan JonkerunevaluatedProperties: false
1200dac2102SJohan Jonker
1210dac2102SJohan Jonkerexamples:
1220dac2102SJohan Jonker  - |
1230dac2102SJohan Jonker    #include <dt-bindings/clock/rk3288-cru.h>
1240dac2102SJohan Jonker    #include <dt-bindings/interrupt-controller/arm-gic.h>
1250dac2102SJohan Jonker    #include <dt-bindings/interrupt-controller/irq.h>
1260dac2102SJohan Jonker
1270dac2102SJohan Jonker    mipi_dsi: dsi@ff960000 {
1280dac2102SJohan Jonker      compatible = "rockchip,rk3288-mipi-dsi", "snps,dw-mipi-dsi";
1290dac2102SJohan Jonker      reg = <0xff960000 0x4000>;
1300dac2102SJohan Jonker      interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
1310dac2102SJohan Jonker      clocks = <&cru SCLK_MIPIDSI_24M>, <&cru PCLK_MIPI_DSI0>;
1320dac2102SJohan Jonker      clock-names = "ref", "pclk";
1330dac2102SJohan Jonker      resets = <&cru SRST_MIPIDSI0>;
1340dac2102SJohan Jonker      reset-names = "apb";
1350dac2102SJohan Jonker      rockchip,grf = <&grf>;
1360dac2102SJohan Jonker
1370dac2102SJohan Jonker      ports {
1380dac2102SJohan Jonker        #address-cells = <1>;
1390dac2102SJohan Jonker        #size-cells = <0>;
1400dac2102SJohan Jonker
1410dac2102SJohan Jonker        mipi_in: port@0 {
1420dac2102SJohan Jonker          reg = <0>;
1430dac2102SJohan Jonker          #address-cells = <1>;
1440dac2102SJohan Jonker          #size-cells = <0>;
1450dac2102SJohan Jonker
1460dac2102SJohan Jonker          mipi_in_vopb: endpoint@0 {
1470dac2102SJohan Jonker            reg = <0>;
1480dac2102SJohan Jonker            remote-endpoint = <&vopb_out_mipi>;
1490dac2102SJohan Jonker          };
1500dac2102SJohan Jonker          mipi_in_vopl: endpoint@1 {
1510dac2102SJohan Jonker            reg = <1>;
1520dac2102SJohan Jonker            remote-endpoint = <&vopl_out_mipi>;
1530dac2102SJohan Jonker          };
1540dac2102SJohan Jonker        };
1550dac2102SJohan Jonker
1560dac2102SJohan Jonker        mipi_out: port@1 {
1570dac2102SJohan Jonker          reg = <1>;
1580dac2102SJohan Jonker
1590dac2102SJohan Jonker          mipi_out_panel: endpoint {
1600dac2102SJohan Jonker            remote-endpoint = <&panel_in_mipi>;
1610dac2102SJohan Jonker          };
1620dac2102SJohan Jonker        };
1630dac2102SJohan Jonker      };
1640dac2102SJohan Jonker    };
165