1*5c45a11bSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*5c45a11bSKrzysztof Kozlowski%YAML 1.2
3*5c45a11bSKrzysztof Kozlowski---
4*5c45a11bSKrzysztof Kozlowski$id: http://devicetree.org/schemas/display/samsung/samsung,exynos7-decon.yaml#
5*5c45a11bSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5c45a11bSKrzysztof Kozlowski
7*5c45a11bSKrzysztof Kozlowskititle: Samsung Exynos7 SoC Display and Enhancement Controller (DECON)
8*5c45a11bSKrzysztof Kozlowski
9*5c45a11bSKrzysztof Kozlowskimaintainers:
10*5c45a11bSKrzysztof Kozlowski  - Inki Dae <inki.dae@samsung.com>
11*5c45a11bSKrzysztof Kozlowski  - Joonyoung Shim <jy0922.shim@samsung.com>
12*5c45a11bSKrzysztof Kozlowski  - Seung-Woo Kim <sw0312.kim@samsung.com>
13*5c45a11bSKrzysztof Kozlowski  - Kyungmin Park <kyungmin.park@samsung.com>
14*5c45a11bSKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
15*5c45a11bSKrzysztof Kozlowski
16*5c45a11bSKrzysztof Kozlowskidescription: |
17*5c45a11bSKrzysztof Kozlowski  DECON (Display and Enhancement Controller) is the Display Controller for the
18*5c45a11bSKrzysztof Kozlowski  Exynos7 series of SoCs which transfers the image data from a video memory
19*5c45a11bSKrzysztof Kozlowski  buffer to an external LCD interface.
20*5c45a11bSKrzysztof Kozlowski
21*5c45a11bSKrzysztof Kozlowskiproperties:
22*5c45a11bSKrzysztof Kozlowski  compatible:
23*5c45a11bSKrzysztof Kozlowski    const: samsung,exynos7-decon
24*5c45a11bSKrzysztof Kozlowski
25*5c45a11bSKrzysztof Kozlowski  clocks:
26*5c45a11bSKrzysztof Kozlowski    minItems: 4
27*5c45a11bSKrzysztof Kozlowski    maxItems: 4
28*5c45a11bSKrzysztof Kozlowski
29*5c45a11bSKrzysztof Kozlowski  clock-names:
30*5c45a11bSKrzysztof Kozlowski    items:
31*5c45a11bSKrzysztof Kozlowski      - const: pclk_decon0
32*5c45a11bSKrzysztof Kozlowski      - const: aclk_decon0
33*5c45a11bSKrzysztof Kozlowski      - const: decon0_eclk
34*5c45a11bSKrzysztof Kozlowski      - const: decon0_vclk
35*5c45a11bSKrzysztof Kozlowski
36*5c45a11bSKrzysztof Kozlowski  display-timings:
37*5c45a11bSKrzysztof Kozlowski    $ref: ../panel/display-timings.yaml#
38*5c45a11bSKrzysztof Kozlowski
39*5c45a11bSKrzysztof Kozlowski  i80-if-timings:
40*5c45a11bSKrzysztof Kozlowski    type: object
41*5c45a11bSKrzysztof Kozlowski    description: timing configuration for lcd i80 interface support
42*5c45a11bSKrzysztof Kozlowski    properties:
43*5c45a11bSKrzysztof Kozlowski      cs-setup:
44*5c45a11bSKrzysztof Kozlowski        $ref: /schemas/types.yaml#/definitions/uint32
45*5c45a11bSKrzysztof Kozlowski        description:
46*5c45a11bSKrzysztof Kozlowski          Clock cycles for the active period of address signal is enabled until
47*5c45a11bSKrzysztof Kozlowski          chip select is enabled.
48*5c45a11bSKrzysztof Kozlowski        default: 0
49*5c45a11bSKrzysztof Kozlowski
50*5c45a11bSKrzysztof Kozlowski      wr-active:
51*5c45a11bSKrzysztof Kozlowski        $ref: /schemas/types.yaml#/definitions/uint32
52*5c45a11bSKrzysztof Kozlowski        description:
53*5c45a11bSKrzysztof Kozlowski          Clock cycles for the active period of CS is enabled.
54*5c45a11bSKrzysztof Kozlowski        default: 1
55*5c45a11bSKrzysztof Kozlowski
56*5c45a11bSKrzysztof Kozlowski      wr-hold:
57*5c45a11bSKrzysztof Kozlowski        $ref: /schemas/types.yaml#/definitions/uint32
58*5c45a11bSKrzysztof Kozlowski        description:
59*5c45a11bSKrzysztof Kozlowski          Clock cycles for the active period of CS is disabled until write
60*5c45a11bSKrzysztof Kozlowski          signal is disabled.
61*5c45a11bSKrzysztof Kozlowski        default: 0
62*5c45a11bSKrzysztof Kozlowski
63*5c45a11bSKrzysztof Kozlowski      wr-setup:
64*5c45a11bSKrzysztof Kozlowski        $ref: /schemas/types.yaml#/definitions/uint32
65*5c45a11bSKrzysztof Kozlowski        description:
66*5c45a11bSKrzysztof Kozlowski          Clock cycles for the active period of CS signal is enabled until
67*5c45a11bSKrzysztof Kozlowski          write signal is enabled.
68*5c45a11bSKrzysztof Kozlowski        default: 0
69*5c45a11bSKrzysztof Kozlowski
70*5c45a11bSKrzysztof Kozlowski  interrupts:
71*5c45a11bSKrzysztof Kozlowski    items:
72*5c45a11bSKrzysztof Kozlowski      - description: FIFO level
73*5c45a11bSKrzysztof Kozlowski      - description: VSYNC
74*5c45a11bSKrzysztof Kozlowski      - description: LCD system
75*5c45a11bSKrzysztof Kozlowski
76*5c45a11bSKrzysztof Kozlowski  interrupt-names:
77*5c45a11bSKrzysztof Kozlowski    items:
78*5c45a11bSKrzysztof Kozlowski      - const: fifo
79*5c45a11bSKrzysztof Kozlowski      - const: vsync
80*5c45a11bSKrzysztof Kozlowski      - const: lcd_sys
81*5c45a11bSKrzysztof Kozlowski
82*5c45a11bSKrzysztof Kozlowski  power-domains:
83*5c45a11bSKrzysztof Kozlowski    maxItems: 1
84*5c45a11bSKrzysztof Kozlowski
85*5c45a11bSKrzysztof Kozlowski  reg:
86*5c45a11bSKrzysztof Kozlowski    maxItems: 1
87*5c45a11bSKrzysztof Kozlowski
88*5c45a11bSKrzysztof Kozlowskirequired:
89*5c45a11bSKrzysztof Kozlowski  - compatible
90*5c45a11bSKrzysztof Kozlowski  - clocks
91*5c45a11bSKrzysztof Kozlowski  - clock-names
92*5c45a11bSKrzysztof Kozlowski  - interrupts
93*5c45a11bSKrzysztof Kozlowski  - interrupt-names
94*5c45a11bSKrzysztof Kozlowski  - reg
95*5c45a11bSKrzysztof Kozlowski
96*5c45a11bSKrzysztof KozlowskiadditionalProperties: false
97*5c45a11bSKrzysztof Kozlowski
98*5c45a11bSKrzysztof Kozlowskiexamples:
99*5c45a11bSKrzysztof Kozlowski  - |
100*5c45a11bSKrzysztof Kozlowski    #include <dt-bindings/clock/exynos7-clk.h>
101*5c45a11bSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
102*5c45a11bSKrzysztof Kozlowski
103*5c45a11bSKrzysztof Kozlowski    display-controller@13930000 {
104*5c45a11bSKrzysztof Kozlowski        compatible = "samsung,exynos7-decon";
105*5c45a11bSKrzysztof Kozlowski        reg = <0x13930000 0x1000>;
106*5c45a11bSKrzysztof Kozlowski        interrupt-names = "fifo", "vsync", "lcd_sys";
107*5c45a11bSKrzysztof Kozlowski        interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
108*5c45a11bSKrzysztof Kozlowski                     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
109*5c45a11bSKrzysztof Kozlowski                     <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
110*5c45a11bSKrzysztof Kozlowski        clocks = <&clock_disp 100>, /* PCLK_DECON_INT */
111*5c45a11bSKrzysztof Kozlowski                 <&clock_disp 101>, /* ACLK_DECON_INT */
112*5c45a11bSKrzysztof Kozlowski                 <&clock_disp 102>, /* SCLK_DECON_INT_ECLK */
113*5c45a11bSKrzysztof Kozlowski                 <&clock_disp 103>; /* SCLK_DECON_INT_EXTCLKPLL */
114*5c45a11bSKrzysztof Kozlowski        clock-names = "pclk_decon0",
115*5c45a11bSKrzysztof Kozlowski                      "aclk_decon0",
116*5c45a11bSKrzysztof Kozlowski                      "decon0_eclk",
117*5c45a11bSKrzysztof Kozlowski                      "decon0_vclk";
118*5c45a11bSKrzysztof Kozlowski        pinctrl-0 = <&lcd_clk &pwm1_out>;
119*5c45a11bSKrzysztof Kozlowski        pinctrl-names = "default";
120*5c45a11bSKrzysztof Kozlowski    };
121