1e4fc20d7SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only
2e4fc20d7SKrzysztof Kozlowski%YAML 1.2
3e4fc20d7SKrzysztof Kozlowski---
4e4fc20d7SKrzysztof Kozlowski$id: http://devicetree.org/schemas/display/samsung/samsung,fimd.yaml#
5e4fc20d7SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6e4fc20d7SKrzysztof Kozlowski
7e4fc20d7SKrzysztof Kozlowskititle: Samsung S3C/S5P/Exynos SoC Fully Interactive Mobile Display (FIMD)
8e4fc20d7SKrzysztof Kozlowski
9e4fc20d7SKrzysztof Kozlowskimaintainers:
10e4fc20d7SKrzysztof Kozlowski  - Inki Dae <inki.dae@samsung.com>
11e4fc20d7SKrzysztof Kozlowski  - Seung-Woo Kim <sw0312.kim@samsung.com>
12e4fc20d7SKrzysztof Kozlowski  - Kyungmin Park <kyungmin.park@samsung.com>
138a1e6bb3SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
14e4fc20d7SKrzysztof Kozlowski
15e4fc20d7SKrzysztof Kozlowskiproperties:
16e4fc20d7SKrzysztof Kozlowski  compatible:
17e4fc20d7SKrzysztof Kozlowski    enum:
18e4fc20d7SKrzysztof Kozlowski      - samsung,s3c2443-fimd
19e4fc20d7SKrzysztof Kozlowski      - samsung,s3c6400-fimd
20e4fc20d7SKrzysztof Kozlowski      - samsung,s5pv210-fimd
21e4fc20d7SKrzysztof Kozlowski      - samsung,exynos3250-fimd
22e4fc20d7SKrzysztof Kozlowski      - samsung,exynos4210-fimd
23e4fc20d7SKrzysztof Kozlowski      - samsung,exynos5250-fimd
24e4fc20d7SKrzysztof Kozlowski      - samsung,exynos5420-fimd
25e4fc20d7SKrzysztof Kozlowski
26e4fc20d7SKrzysztof Kozlowski  '#address-cells':
27e4fc20d7SKrzysztof Kozlowski    const: 1
28e4fc20d7SKrzysztof Kozlowski
29e4fc20d7SKrzysztof Kozlowski  clocks:
30e4fc20d7SKrzysztof Kozlowski    maxItems: 2
31e4fc20d7SKrzysztof Kozlowski
32e4fc20d7SKrzysztof Kozlowski  clock-names:
33e4fc20d7SKrzysztof Kozlowski    items:
34e4fc20d7SKrzysztof Kozlowski      - const: sclk_fimd
35e4fc20d7SKrzysztof Kozlowski      - const: fimd
36e4fc20d7SKrzysztof Kozlowski
37e4fc20d7SKrzysztof Kozlowski  display-timings:
38e4fc20d7SKrzysztof Kozlowski    $ref: ../panel/display-timings.yaml#
39e4fc20d7SKrzysztof Kozlowski
40e4fc20d7SKrzysztof Kozlowski  i80-if-timings:
41e4fc20d7SKrzysztof Kozlowski    type: object
42*ba007062SRob Herring    additionalProperties: false
43e4fc20d7SKrzysztof Kozlowski    description: |
44e4fc20d7SKrzysztof Kozlowski      Timing configuration for lcd i80 interface support.
45e4fc20d7SKrzysztof Kozlowski      The parameters are defined as::
46e4fc20d7SKrzysztof Kozlowski      VCLK(internal)  __|??????|_____|??????|_____|??????|_____|??????|_____|??
47e4fc20d7SKrzysztof Kozlowski                        :            :            :            :            :
48e4fc20d7SKrzysztof Kozlowski      Address Output  --:<XXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XX
49e4fc20d7SKrzysztof Kozlowski                        | cs-setup+1 |            :            :            :
50e4fc20d7SKrzysztof Kozlowski                        |<---------->|            :            :            :
51e4fc20d7SKrzysztof Kozlowski      Chip Select     ???????????????|____________:____________:____________|??
52e4fc20d7SKrzysztof Kozlowski                                     | wr-setup+1 |            | wr-hold+1  |
53e4fc20d7SKrzysztof Kozlowski                                     |<---------->|            |<---------->|
54e4fc20d7SKrzysztof Kozlowski      Write Enable    ????????????????????????????|____________|???????????????
55e4fc20d7SKrzysztof Kozlowski                                                  | wr-active+1|
56e4fc20d7SKrzysztof Kozlowski                                                  |<---------->|
57e4fc20d7SKrzysztof Kozlowski      Video Data      ----------------------------<XXXXXXXXXXXXXXXXXXXXXXXXX>--
58e4fc20d7SKrzysztof Kozlowski
59e4fc20d7SKrzysztof Kozlowski    properties:
60e4fc20d7SKrzysztof Kozlowski      cs-setup:
61e4fc20d7SKrzysztof Kozlowski        $ref: /schemas/types.yaml#/definitions/uint32
62e4fc20d7SKrzysztof Kozlowski        description:
63e4fc20d7SKrzysztof Kozlowski          Clock cycles for the active period of address signal is enabled until
64e4fc20d7SKrzysztof Kozlowski          chip select is enabled.
65e4fc20d7SKrzysztof Kozlowski        default: 0
66e4fc20d7SKrzysztof Kozlowski
67e4fc20d7SKrzysztof Kozlowski      wr-active:
68e4fc20d7SKrzysztof Kozlowski        $ref: /schemas/types.yaml#/definitions/uint32
69e4fc20d7SKrzysztof Kozlowski        description:
70e4fc20d7SKrzysztof Kozlowski          Clock cycles for the active period of CS is enabled.
71e4fc20d7SKrzysztof Kozlowski        default: 1
72e4fc20d7SKrzysztof Kozlowski
73e4fc20d7SKrzysztof Kozlowski      wr-hold:
74e4fc20d7SKrzysztof Kozlowski        $ref: /schemas/types.yaml#/definitions/uint32
75e4fc20d7SKrzysztof Kozlowski        description:
76e4fc20d7SKrzysztof Kozlowski          Clock cycles for the active period of CS is disabled until write
77e4fc20d7SKrzysztof Kozlowski          signal is disabled.
78e4fc20d7SKrzysztof Kozlowski        default: 0
79e4fc20d7SKrzysztof Kozlowski
80e4fc20d7SKrzysztof Kozlowski      wr-setup:
81e4fc20d7SKrzysztof Kozlowski        $ref: /schemas/types.yaml#/definitions/uint32
82e4fc20d7SKrzysztof Kozlowski        description:
83e4fc20d7SKrzysztof Kozlowski          Clock cycles for the active period of CS signal is enabled until
84e4fc20d7SKrzysztof Kozlowski          write signal is enabled.
85e4fc20d7SKrzysztof Kozlowski        default: 0
86e4fc20d7SKrzysztof Kozlowski
87e4fc20d7SKrzysztof Kozlowski  iommus:
88e4fc20d7SKrzysztof Kozlowski    minItems: 1
89e4fc20d7SKrzysztof Kozlowski    maxItems: 2
90e4fc20d7SKrzysztof Kozlowski
91e4fc20d7SKrzysztof Kozlowski  iommu-names:
92e4fc20d7SKrzysztof Kozlowski    items:
93e4fc20d7SKrzysztof Kozlowski      - const: m0
94e4fc20d7SKrzysztof Kozlowski      - const: m1
95e4fc20d7SKrzysztof Kozlowski
96e4fc20d7SKrzysztof Kozlowski  interrupts:
97e4fc20d7SKrzysztof Kozlowski    items:
98e4fc20d7SKrzysztof Kozlowski      - description: FIFO level
99e4fc20d7SKrzysztof Kozlowski      - description: VSYNC
100e4fc20d7SKrzysztof Kozlowski      - description: LCD system
101e4fc20d7SKrzysztof Kozlowski
102e4fc20d7SKrzysztof Kozlowski  interrupt-names:
103e4fc20d7SKrzysztof Kozlowski    items:
104e4fc20d7SKrzysztof Kozlowski      - const: fifo
105e4fc20d7SKrzysztof Kozlowski      - const: vsync
106e4fc20d7SKrzysztof Kozlowski      - const: lcd_sys
107e4fc20d7SKrzysztof Kozlowski
108e4fc20d7SKrzysztof Kozlowski  power-domains:
109e4fc20d7SKrzysztof Kozlowski    maxItems: 1
110e4fc20d7SKrzysztof Kozlowski
111e4fc20d7SKrzysztof Kozlowski  reg:
112e4fc20d7SKrzysztof Kozlowski    maxItems: 1
113e4fc20d7SKrzysztof Kozlowski
114e4fc20d7SKrzysztof Kozlowski  samsung,invert-vden:
115e4fc20d7SKrzysztof Kozlowski    type: boolean
116e4fc20d7SKrzysztof Kozlowski    description:
117e4fc20d7SKrzysztof Kozlowski      Video enable signal is inverted.
118e4fc20d7SKrzysztof Kozlowski
119e4fc20d7SKrzysztof Kozlowski  samsung,invert-vclk:
120e4fc20d7SKrzysztof Kozlowski    type: boolean
121e4fc20d7SKrzysztof Kozlowski    description:
122e4fc20d7SKrzysztof Kozlowski      Video clock signal is inverted.
123e4fc20d7SKrzysztof Kozlowski
124e4fc20d7SKrzysztof Kozlowski  samsung,sysreg:
125e4fc20d7SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
126e4fc20d7SKrzysztof Kozlowski    description:
127e4fc20d7SKrzysztof Kozlowski      Phandle to System Register syscon.
128e4fc20d7SKrzysztof Kozlowski
129e4fc20d7SKrzysztof Kozlowski  '#size-cells':
130e4fc20d7SKrzysztof Kozlowski    const: 0
131e4fc20d7SKrzysztof Kozlowski
132e4fc20d7SKrzysztof KozlowskipatternProperties:
133e4fc20d7SKrzysztof Kozlowski  "^port@[0-4]+$":
134e4fc20d7SKrzysztof Kozlowski    $ref: /schemas/graph.yaml#/properties/port
135e4fc20d7SKrzysztof Kozlowski    description: |
136e4fc20d7SKrzysztof Kozlowski      Contains ports with port with index::
137e4fc20d7SKrzysztof Kozlowski       0 - for CAMIF0 input,
138e4fc20d7SKrzysztof Kozlowski       1 - for CAMIF1 input,
139e4fc20d7SKrzysztof Kozlowski       2 - for CAMIF2 input,
140e4fc20d7SKrzysztof Kozlowski       3 - for parallel output,
141e4fc20d7SKrzysztof Kozlowski       4 - for write-back interface
142e4fc20d7SKrzysztof Kozlowski
143e4fc20d7SKrzysztof Kozlowskirequired:
144e4fc20d7SKrzysztof Kozlowski  - compatible
145e4fc20d7SKrzysztof Kozlowski  - clocks
146e4fc20d7SKrzysztof Kozlowski  - clock-names
147e4fc20d7SKrzysztof Kozlowski  - interrupts
148e4fc20d7SKrzysztof Kozlowski  - interrupt-names
149e4fc20d7SKrzysztof Kozlowski  - reg
150e4fc20d7SKrzysztof Kozlowski
151e4fc20d7SKrzysztof KozlowskiallOf:
152e4fc20d7SKrzysztof Kozlowski  - if:
153e4fc20d7SKrzysztof Kozlowski      properties:
154e4fc20d7SKrzysztof Kozlowski        compatible:
155e4fc20d7SKrzysztof Kozlowski          contains:
156e4fc20d7SKrzysztof Kozlowski            const: samsung,exynos5420-fimd
157e4fc20d7SKrzysztof Kozlowski    then:
158e4fc20d7SKrzysztof Kozlowski      properties:
159e4fc20d7SKrzysztof Kozlowski        iommus:
160e4fc20d7SKrzysztof Kozlowski          minItems: 2
161e4fc20d7SKrzysztof Kozlowski          maxItems: 2
162e4fc20d7SKrzysztof Kozlowski
163e4fc20d7SKrzysztof KozlowskiadditionalProperties: false
164e4fc20d7SKrzysztof Kozlowski
165e4fc20d7SKrzysztof Kozlowskiexamples:
166e4fc20d7SKrzysztof Kozlowski  - |
167e4fc20d7SKrzysztof Kozlowski    #include <dt-bindings/clock/exynos4.h>
168e4fc20d7SKrzysztof Kozlowski
169e4fc20d7SKrzysztof Kozlowski    fimd@11c00000 {
170e4fc20d7SKrzysztof Kozlowski        compatible = "samsung,exynos4210-fimd";
171e4fc20d7SKrzysztof Kozlowski        interrupt-parent = <&combiner>;
172e4fc20d7SKrzysztof Kozlowski        reg = <0x11c00000 0x20000>;
173e4fc20d7SKrzysztof Kozlowski        interrupt-names = "fifo", "vsync", "lcd_sys";
174e4fc20d7SKrzysztof Kozlowski        interrupts = <11 0>, <11 1>, <11 2>;
175e4fc20d7SKrzysztof Kozlowski        clocks = <&clock CLK_SCLK_FIMD0>, <&clock CLK_FIMD0>;
176e4fc20d7SKrzysztof Kozlowski        clock-names = "sclk_fimd", "fimd";
177e4fc20d7SKrzysztof Kozlowski        power-domains = <&pd_lcd0>;
178e4fc20d7SKrzysztof Kozlowski        iommus = <&sysmmu_fimd0>;
179e4fc20d7SKrzysztof Kozlowski        samsung,sysreg = <&sys_reg>;
180e4fc20d7SKrzysztof Kozlowski
181e4fc20d7SKrzysztof Kozlowski        #address-cells = <1>;
182e4fc20d7SKrzysztof Kozlowski        #size-cells = <0>;
183e4fc20d7SKrzysztof Kozlowski
184e4fc20d7SKrzysztof Kozlowski        samsung,invert-vden;
185e4fc20d7SKrzysztof Kozlowski        samsung,invert-vclk;
186e4fc20d7SKrzysztof Kozlowski
187e4fc20d7SKrzysztof Kozlowski        pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
188e4fc20d7SKrzysztof Kozlowski        pinctrl-names = "default";
189e4fc20d7SKrzysztof Kozlowski
190e4fc20d7SKrzysztof Kozlowski        port@3 {
191e4fc20d7SKrzysztof Kozlowski            reg = <3>;
192e4fc20d7SKrzysztof Kozlowski
193e4fc20d7SKrzysztof Kozlowski            fimd_dpi_ep: endpoint {
194e4fc20d7SKrzysztof Kozlowski                remote-endpoint = <&lcd_ep>;
195e4fc20d7SKrzysztof Kozlowski            };
196e4fc20d7SKrzysztof Kozlowski        };
197e4fc20d7SKrzysztof Kozlowski    };
198