Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/samsung/samsung,fimd.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Samsung S3C/S5P/Exynos SoC Fully Interactive Mobile Display (FIMD)
0008 
0009 maintainers:
0010   - Inki Dae <inki.dae@samsung.com>
0011   - Seung-Woo Kim <sw0312.kim@samsung.com>
0012   - Kyungmin Park <kyungmin.park@samsung.com>
0013   - Krzysztof Kozlowski <krzk@kernel.org>
0014 
0015 properties:
0016   compatible:
0017     enum:
0018       - samsung,s3c2443-fimd
0019       - samsung,s3c6400-fimd
0020       - samsung,s5pv210-fimd
0021       - samsung,exynos3250-fimd
0022       - samsung,exynos4210-fimd
0023       - samsung,exynos5250-fimd
0024       - samsung,exynos5420-fimd
0025 
0026   '#address-cells':
0027     const: 1
0028 
0029   clocks:
0030     minItems: 2
0031     maxItems: 2
0032 
0033   clock-names:
0034     items:
0035       - const: sclk_fimd
0036       - const: fimd
0037 
0038   display-timings:
0039     $ref: ../panel/display-timings.yaml#
0040 
0041   i80-if-timings:
0042     type: object
0043     description: |
0044       Timing configuration for lcd i80 interface support.
0045       The parameters are defined as::
0046       VCLK(internal)  __|??????|_____|??????|_____|??????|_____|??????|_____|??
0047                         :            :            :            :            :
0048       Address Output  --:<XXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XX
0049                         | cs-setup+1 |            :            :            :
0050                         |<---------->|            :            :            :
0051       Chip Select     ???????????????|____________:____________:____________|??
0052                                      | wr-setup+1 |            | wr-hold+1  |
0053                                      |<---------->|            |<---------->|
0054       Write Enable    ????????????????????????????|____________|???????????????
0055                                                   | wr-active+1|
0056                                                   |<---------->|
0057       Video Data      ----------------------------<XXXXXXXXXXXXXXXXXXXXXXXXX>--
0058 
0059     properties:
0060       cs-setup:
0061         $ref: /schemas/types.yaml#/definitions/uint32
0062         description:
0063           Clock cycles for the active period of address signal is enabled until
0064           chip select is enabled.
0065         default: 0
0066 
0067       wr-active:
0068         $ref: /schemas/types.yaml#/definitions/uint32
0069         description:
0070           Clock cycles for the active period of CS is enabled.
0071         default: 1
0072 
0073       wr-hold:
0074         $ref: /schemas/types.yaml#/definitions/uint32
0075         description:
0076           Clock cycles for the active period of CS is disabled until write
0077           signal is disabled.
0078         default: 0
0079 
0080       wr-setup:
0081         $ref: /schemas/types.yaml#/definitions/uint32
0082         description:
0083           Clock cycles for the active period of CS signal is enabled until
0084           write signal is enabled.
0085         default: 0
0086 
0087   iommus:
0088     minItems: 1
0089     maxItems: 2
0090 
0091   iommu-names:
0092     items:
0093       - const: m0
0094       - const: m1
0095 
0096   interrupts:
0097     items:
0098       - description: FIFO level
0099       - description: VSYNC
0100       - description: LCD system
0101 
0102   interrupt-names:
0103     items:
0104       - const: fifo
0105       - const: vsync
0106       - const: lcd_sys
0107 
0108   power-domains:
0109     maxItems: 1
0110 
0111   reg:
0112     maxItems: 1
0113 
0114   samsung,invert-vden:
0115     type: boolean
0116     description:
0117       Video enable signal is inverted.
0118 
0119   samsung,invert-vclk:
0120     type: boolean
0121     description:
0122       Video clock signal is inverted.
0123 
0124   samsung,sysreg:
0125     $ref: /schemas/types.yaml#/definitions/phandle
0126     description:
0127       Phandle to System Register syscon.
0128 
0129   '#size-cells':
0130     const: 0
0131 
0132 patternProperties:
0133   "^port@[0-4]+$":
0134     $ref: /schemas/graph.yaml#/properties/port
0135     description: |
0136       Contains ports with port with index::
0137        0 - for CAMIF0 input,
0138        1 - for CAMIF1 input,
0139        2 - for CAMIF2 input,
0140        3 - for parallel output,
0141        4 - for write-back interface
0142 
0143 required:
0144   - compatible
0145   - clocks
0146   - clock-names
0147   - interrupts
0148   - interrupt-names
0149   - reg
0150 
0151 allOf:
0152   - if:
0153       properties:
0154         compatible:
0155           contains:
0156             const: samsung,exynos5420-fimd
0157     then:
0158       properties:
0159         iommus:
0160           minItems: 2
0161           maxItems: 2
0162 
0163 additionalProperties: false
0164 
0165 examples:
0166   - |
0167     #include <dt-bindings/clock/exynos4.h>
0168 
0169     fimd@11c00000 {
0170         compatible = "samsung,exynos4210-fimd";
0171         interrupt-parent = <&combiner>;
0172         reg = <0x11c00000 0x20000>;
0173         interrupt-names = "fifo", "vsync", "lcd_sys";
0174         interrupts = <11 0>, <11 1>, <11 2>;
0175         clocks = <&clock CLK_SCLK_FIMD0>, <&clock CLK_FIMD0>;
0176         clock-names = "sclk_fimd", "fimd";
0177         power-domains = <&pd_lcd0>;
0178         iommus = <&sysmmu_fimd0>;
0179         samsung,sysreg = <&sys_reg>;
0180 
0181         #address-cells = <1>;
0182         #size-cells = <0>;
0183 
0184         samsung,invert-vden;
0185         samsung,invert-vclk;
0186 
0187         pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
0188         pinctrl-names = "default";
0189 
0190         port@3 {
0191             reg = <3>;
0192 
0193             fimd_dpi_ep: endpoint {
0194                 remote-endpoint = <&lcd_ep>;
0195             };
0196         };
0197     };