xref: /freebsd/sys/contrib/device-tree/Bindings/display/samsung/samsung,exynos5433-decon.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1*c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*c9ccf3a3SEmmanuel Vadot%YAML 1.2
3*c9ccf3a3SEmmanuel Vadot---
4*c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/display/samsung/samsung,exynos5433-decon.yaml#
5*c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c9ccf3a3SEmmanuel Vadot
7*c9ccf3a3SEmmanuel Vadottitle: Samsung Exynos5433 SoC Display and Enhancement Controller (DECON)
8*c9ccf3a3SEmmanuel Vadot
9*c9ccf3a3SEmmanuel Vadotmaintainers:
10*c9ccf3a3SEmmanuel Vadot  - Inki Dae <inki.dae@samsung.com>
11*c9ccf3a3SEmmanuel Vadot  - Seung-Woo Kim <sw0312.kim@samsung.com>
12*c9ccf3a3SEmmanuel Vadot  - Kyungmin Park <kyungmin.park@samsung.com>
13*c9ccf3a3SEmmanuel Vadot  - Krzysztof Kozlowski <krzk@kernel.org>
14*c9ccf3a3SEmmanuel Vadot
15*c9ccf3a3SEmmanuel Vadotdescription: |
16*c9ccf3a3SEmmanuel Vadot  DECON (Display and Enhancement Controller) is the Display Controller for the
17*c9ccf3a3SEmmanuel Vadot  Exynos5433 series of SoCs which transfers the image data from a video memory
18*c9ccf3a3SEmmanuel Vadot  buffer to an external LCD interface.
19*c9ccf3a3SEmmanuel Vadot
20*c9ccf3a3SEmmanuel Vadotproperties:
21*c9ccf3a3SEmmanuel Vadot  compatible:
22*c9ccf3a3SEmmanuel Vadot    enum:
23*c9ccf3a3SEmmanuel Vadot      - samsung,exynos5433-decon
24*c9ccf3a3SEmmanuel Vadot      - samsung,exynos5433-decon-tv
25*c9ccf3a3SEmmanuel Vadot
26*c9ccf3a3SEmmanuel Vadot  clocks:
27*c9ccf3a3SEmmanuel Vadot    maxItems: 11
28*c9ccf3a3SEmmanuel Vadot
29*c9ccf3a3SEmmanuel Vadot  clock-names:
30*c9ccf3a3SEmmanuel Vadot    items:
31*c9ccf3a3SEmmanuel Vadot      - const: pclk
32*c9ccf3a3SEmmanuel Vadot      - const: aclk_decon
33*c9ccf3a3SEmmanuel Vadot      - const: aclk_smmu_decon0x
34*c9ccf3a3SEmmanuel Vadot      - const: aclk_xiu_decon0x
35*c9ccf3a3SEmmanuel Vadot      - const: pclk_smmu_decon0x
36*c9ccf3a3SEmmanuel Vadot      - const: aclk_smmu_decon1x
37*c9ccf3a3SEmmanuel Vadot      - const: aclk_xiu_decon1x
38*c9ccf3a3SEmmanuel Vadot      - const: pclk_smmu_decon1x
39*c9ccf3a3SEmmanuel Vadot      - const: sclk_decon_vclk
40*c9ccf3a3SEmmanuel Vadot      - const: sclk_decon_eclk
41*c9ccf3a3SEmmanuel Vadot      - const: dsd
42*c9ccf3a3SEmmanuel Vadot
43*c9ccf3a3SEmmanuel Vadot  interrupts:
44*c9ccf3a3SEmmanuel Vadot    minItems: 3
45*c9ccf3a3SEmmanuel Vadot    maxItems: 4
46*c9ccf3a3SEmmanuel Vadot    description: |
47*c9ccf3a3SEmmanuel Vadot      Interrupts depend on mode of work:
48*c9ccf3a3SEmmanuel Vadot       - video mode: vsync
49*c9ccf3a3SEmmanuel Vadot       - command mode: lcd_sys
50*c9ccf3a3SEmmanuel Vadot       - command mode with software trigger: lcd_sys, te
51*c9ccf3a3SEmmanuel Vadot
52*c9ccf3a3SEmmanuel Vadot  interrupt-names:
53*c9ccf3a3SEmmanuel Vadot    minItems: 3
54*c9ccf3a3SEmmanuel Vadot    items:
55*c9ccf3a3SEmmanuel Vadot      - const: fifo
56*c9ccf3a3SEmmanuel Vadot      - const: vsync
57*c9ccf3a3SEmmanuel Vadot      - const: lcd_sys
58*c9ccf3a3SEmmanuel Vadot      - const: te
59*c9ccf3a3SEmmanuel Vadot
60*c9ccf3a3SEmmanuel Vadot  iommus:
61*c9ccf3a3SEmmanuel Vadot    maxItems: 2
62*c9ccf3a3SEmmanuel Vadot
63*c9ccf3a3SEmmanuel Vadot  iommu-names:
64*c9ccf3a3SEmmanuel Vadot    items:
65*c9ccf3a3SEmmanuel Vadot      - const: m0
66*c9ccf3a3SEmmanuel Vadot      - const: m1
67*c9ccf3a3SEmmanuel Vadot
68*c9ccf3a3SEmmanuel Vadot  ports:
69*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
70*c9ccf3a3SEmmanuel Vadot    description:
71*c9ccf3a3SEmmanuel Vadot      Contains a port which is connected to mic node.
72*c9ccf3a3SEmmanuel Vadot
73*c9ccf3a3SEmmanuel Vadot  power-domains:
74*c9ccf3a3SEmmanuel Vadot    maxItems: 1
75*c9ccf3a3SEmmanuel Vadot
76*c9ccf3a3SEmmanuel Vadot  reg:
77*c9ccf3a3SEmmanuel Vadot    maxItems: 1
78*c9ccf3a3SEmmanuel Vadot
79*c9ccf3a3SEmmanuel Vadot  samsung,disp-sysreg:
80*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
81*c9ccf3a3SEmmanuel Vadot    description:
82*c9ccf3a3SEmmanuel Vadot      Phandle to DISP system controller interface.
83*c9ccf3a3SEmmanuel Vadot
84*c9ccf3a3SEmmanuel Vadotrequired:
85*c9ccf3a3SEmmanuel Vadot  - compatible
86*c9ccf3a3SEmmanuel Vadot  - clocks
87*c9ccf3a3SEmmanuel Vadot  - clock-names
88*c9ccf3a3SEmmanuel Vadot  - interrupts
89*c9ccf3a3SEmmanuel Vadot  - interrupt-names
90*c9ccf3a3SEmmanuel Vadot  - ports
91*c9ccf3a3SEmmanuel Vadot  - reg
92*c9ccf3a3SEmmanuel Vadot
93*c9ccf3a3SEmmanuel VadotadditionalProperties: false
94*c9ccf3a3SEmmanuel Vadot
95*c9ccf3a3SEmmanuel Vadotexamples:
96*c9ccf3a3SEmmanuel Vadot  - |
97*c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/clock/exynos5433.h>
98*c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
99*c9ccf3a3SEmmanuel Vadot
100*c9ccf3a3SEmmanuel Vadot    display-controller@13800000 {
101*c9ccf3a3SEmmanuel Vadot        compatible = "samsung,exynos5433-decon";
102*c9ccf3a3SEmmanuel Vadot        reg = <0x13800000 0x2104>;
103*c9ccf3a3SEmmanuel Vadot        clocks = <&cmu_disp CLK_PCLK_DECON>,
104*c9ccf3a3SEmmanuel Vadot                 <&cmu_disp CLK_ACLK_DECON>,
105*c9ccf3a3SEmmanuel Vadot                 <&cmu_disp CLK_ACLK_SMMU_DECON0X>,
106*c9ccf3a3SEmmanuel Vadot                 <&cmu_disp CLK_ACLK_XIU_DECON0X>,
107*c9ccf3a3SEmmanuel Vadot                 <&cmu_disp CLK_PCLK_SMMU_DECON0X>,
108*c9ccf3a3SEmmanuel Vadot                 <&cmu_disp CLK_ACLK_SMMU_DECON1X>,
109*c9ccf3a3SEmmanuel Vadot                 <&cmu_disp CLK_ACLK_XIU_DECON1X>,
110*c9ccf3a3SEmmanuel Vadot                 <&cmu_disp CLK_PCLK_SMMU_DECON1X>,
111*c9ccf3a3SEmmanuel Vadot                 <&cmu_disp CLK_SCLK_DECON_VCLK>,
112*c9ccf3a3SEmmanuel Vadot                 <&cmu_disp CLK_SCLK_DECON_ECLK>,
113*c9ccf3a3SEmmanuel Vadot                 <&cmu_disp CLK_SCLK_DSD>;
114*c9ccf3a3SEmmanuel Vadot        clock-names = "pclk",
115*c9ccf3a3SEmmanuel Vadot                      "aclk_decon",
116*c9ccf3a3SEmmanuel Vadot                      "aclk_smmu_decon0x",
117*c9ccf3a3SEmmanuel Vadot                      "aclk_xiu_decon0x",
118*c9ccf3a3SEmmanuel Vadot                      "pclk_smmu_decon0x",
119*c9ccf3a3SEmmanuel Vadot                      "aclk_smmu_decon1x",
120*c9ccf3a3SEmmanuel Vadot                      "aclk_xiu_decon1x",
121*c9ccf3a3SEmmanuel Vadot                      "pclk_smmu_decon1x",
122*c9ccf3a3SEmmanuel Vadot                      "sclk_decon_vclk",
123*c9ccf3a3SEmmanuel Vadot                      "sclk_decon_eclk",
124*c9ccf3a3SEmmanuel Vadot                      "dsd";
125*c9ccf3a3SEmmanuel Vadot        power-domains = <&pd_disp>;
126*c9ccf3a3SEmmanuel Vadot        interrupt-names = "fifo", "vsync", "lcd_sys";
127*c9ccf3a3SEmmanuel Vadot        interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
128*c9ccf3a3SEmmanuel Vadot                     <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
129*c9ccf3a3SEmmanuel Vadot                     <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>;
130*c9ccf3a3SEmmanuel Vadot        samsung,disp-sysreg = <&syscon_disp>;
131*c9ccf3a3SEmmanuel Vadot        iommus = <&sysmmu_decon0x>, <&sysmmu_decon1x>;
132*c9ccf3a3SEmmanuel Vadot        iommu-names = "m0", "m1";
133*c9ccf3a3SEmmanuel Vadot
134*c9ccf3a3SEmmanuel Vadot        ports {
135*c9ccf3a3SEmmanuel Vadot            #address-cells = <1>;
136*c9ccf3a3SEmmanuel Vadot            #size-cells = <0>;
137*c9ccf3a3SEmmanuel Vadot
138*c9ccf3a3SEmmanuel Vadot            port@0 {
139*c9ccf3a3SEmmanuel Vadot                reg = <0>;
140*c9ccf3a3SEmmanuel Vadot                decon_to_mic: endpoint {
141*c9ccf3a3SEmmanuel Vadot                    remote-endpoint = <&mic_to_decon>;
142*c9ccf3a3SEmmanuel Vadot                };
143*c9ccf3a3SEmmanuel Vadot            };
144*c9ccf3a3SEmmanuel Vadot        };
145*c9ccf3a3SEmmanuel Vadot    };
146