Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: display: samsung,exynos-fimd: convert to dtschema

Convert the S3C/S5P/Exynos FIMD bindings to DT schema format.

The conversion includes also updates to the bindings, matching the
current DTS and Linux driver: adding optional iommus and power-domains.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220208171823.226211-11-krzysztof.kozlowski@canonical.com

authored by

Krzysztof Kozlowski and committed by
Rob Herring
e4fc20d7 4c5e180b

+198 -107
-107
Documentation/devicetree/bindings/display/exynos/samsung-fimd.txt
··· 1 - Device-Tree bindings for Samsung SoC display controller (FIMD) 2 - 3 - FIMD (Fully Interactive Mobile Display) is the Display Controller for the 4 - Samsung series of SoCs which transfers the image data from a video memory 5 - buffer to an external LCD interface. 6 - 7 - Required properties: 8 - - compatible: value should be one of the following 9 - "samsung,s3c2443-fimd"; /* for S3C24XX SoCs */ 10 - "samsung,s3c6400-fimd"; /* for S3C64XX SoCs */ 11 - "samsung,s5pv210-fimd"; /* for S5PV210 SoC */ 12 - "samsung,exynos3250-fimd"; /* for Exynos3250/3472 SoCs */ 13 - "samsung,exynos4210-fimd"; /* for Exynos4 SoCs */ 14 - "samsung,exynos5250-fimd"; /* for Exynos5250 SoCs */ 15 - "samsung,exynos5420-fimd"; /* for Exynos5420/5422/5800 SoCs */ 16 - 17 - - reg: physical base address and length of the FIMD registers set. 18 - 19 - - interrupts: should contain a list of all FIMD IP block interrupts in the 20 - order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier 21 - format depends on the interrupt controller used. 22 - 23 - - interrupt-names: should contain the interrupt names: "fifo", "vsync", 24 - "lcd_sys", in the same order as they were listed in the interrupts 25 - property. 26 - 27 - - pinctrl-0: pin control group to be used for this controller. 28 - 29 - - pinctrl-names: must contain a "default" entry. 30 - 31 - - clocks: must include clock specifiers corresponding to entries in the 32 - clock-names property. 33 - 34 - - clock-names: list of clock names sorted in the same order as the clocks 35 - property. Must contain "sclk_fimd" and "fimd". 36 - 37 - Optional Properties: 38 - - power-domains: a phandle to FIMD power domain node. 39 - - samsung,invert-vden: video enable signal is inverted 40 - - samsung,invert-vclk: video clock signal is inverted 41 - - display-timings: timing settings for FIMD, as described in document [1]. 42 - Can be used in case timings cannot be provided otherwise 43 - or to override timings provided by the panel. 44 - - samsung,sysreg: handle to syscon used to control the system registers 45 - - i80-if-timings: timing configuration for lcd i80 interface support. 46 - - cs-setup: clock cycles for the active period of address signal is enabled 47 - until chip select is enabled. 48 - If not specified, the default value(0) will be used. 49 - - wr-setup: clock cycles for the active period of CS signal is enabled until 50 - write signal is enabled. 51 - If not specified, the default value(0) will be used. 52 - - wr-active: clock cycles for the active period of CS is enabled. 53 - If not specified, the default value(1) will be used. 54 - - wr-hold: clock cycles for the active period of CS is disabled until write 55 - signal is disabled. 56 - If not specified, the default value(0) will be used. 57 - 58 - The parameters are defined as: 59 - 60 - VCLK(internal) __|??????|_____|??????|_____|??????|_____|??????|_____|?? 61 - : : : : : 62 - Address Output --:<XXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XX 63 - | cs-setup+1 | : : : 64 - |<---------->| : : : 65 - Chip Select ???????????????|____________:____________:____________|?? 66 - | wr-setup+1 | | wr-hold+1 | 67 - |<---------->| |<---------->| 68 - Write Enable ????????????????????????????|____________|??????????????? 69 - | wr-active+1| 70 - |<---------->| 71 - Video Data ----------------------------<XXXXXXXXXXXXXXXXXXXXXXXXX>-- 72 - 73 - The device node can contain 'port' child nodes according to the bindings defined 74 - in [2]. The following are properties specific to those nodes: 75 - - reg: (required) port index, can be: 76 - 0 - for CAMIF0 input, 77 - 1 - for CAMIF1 input, 78 - 2 - for CAMIF2 input, 79 - 3 - for parallel output, 80 - 4 - for write-back interface 81 - 82 - [1]: Documentation/devicetree/bindings/display/panel/display-timing.txt 83 - [2]: Documentation/devicetree/bindings/media/video-interfaces.txt 84 - 85 - Example: 86 - 87 - SoC specific DT entry: 88 - 89 - fimd@11c00000 { 90 - compatible = "samsung,exynos4210-fimd"; 91 - interrupt-parent = <&combiner>; 92 - reg = <0x11c00000 0x20000>; 93 - interrupt-names = "fifo", "vsync", "lcd_sys"; 94 - interrupts = <11 0>, <11 1>, <11 2>; 95 - clocks = <&clock 140>, <&clock 283>; 96 - clock-names = "sclk_fimd", "fimd"; 97 - power-domains = <&pd_lcd0>; 98 - status = "disabled"; 99 - }; 100 - 101 - Board specific DT entry: 102 - 103 - fimd@11c00000 { 104 - pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>; 105 - pinctrl-names = "default"; 106 - status = "okay"; 107 - };
+198
Documentation/devicetree/bindings/display/samsung/samsung,fimd.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/display/samsung/samsung,fimd.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Samsung S3C/S5P/Exynos SoC Fully Interactive Mobile Display (FIMD) 8 + 9 + maintainers: 10 + - Inki Dae <inki.dae@samsung.com> 11 + - Joonyoung Shim <jy0922.shim@samsung.com> 12 + - Seung-Woo Kim <sw0312.kim@samsung.com> 13 + - Kyungmin Park <kyungmin.park@samsung.com> 14 + - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> 15 + 16 + properties: 17 + compatible: 18 + enum: 19 + - samsung,s3c2443-fimd 20 + - samsung,s3c6400-fimd 21 + - samsung,s5pv210-fimd 22 + - samsung,exynos3250-fimd 23 + - samsung,exynos4210-fimd 24 + - samsung,exynos5250-fimd 25 + - samsung,exynos5420-fimd 26 + 27 + '#address-cells': 28 + const: 1 29 + 30 + clocks: 31 + minItems: 2 32 + maxItems: 2 33 + 34 + clock-names: 35 + items: 36 + - const: sclk_fimd 37 + - const: fimd 38 + 39 + display-timings: 40 + $ref: ../panel/display-timings.yaml# 41 + 42 + i80-if-timings: 43 + type: object 44 + description: | 45 + Timing configuration for lcd i80 interface support. 46 + The parameters are defined as:: 47 + VCLK(internal) __|??????|_____|??????|_____|??????|_____|??????|_____|?? 48 + : : : : : 49 + Address Output --:<XXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XXXXXXXXXXXX:XX 50 + | cs-setup+1 | : : : 51 + |<---------->| : : : 52 + Chip Select ???????????????|____________:____________:____________|?? 53 + | wr-setup+1 | | wr-hold+1 | 54 + |<---------->| |<---------->| 55 + Write Enable ????????????????????????????|____________|??????????????? 56 + | wr-active+1| 57 + |<---------->| 58 + Video Data ----------------------------<XXXXXXXXXXXXXXXXXXXXXXXXX>-- 59 + 60 + properties: 61 + cs-setup: 62 + $ref: /schemas/types.yaml#/definitions/uint32 63 + description: 64 + Clock cycles for the active period of address signal is enabled until 65 + chip select is enabled. 66 + default: 0 67 + 68 + wr-active: 69 + $ref: /schemas/types.yaml#/definitions/uint32 70 + description: 71 + Clock cycles for the active period of CS is enabled. 72 + default: 1 73 + 74 + wr-hold: 75 + $ref: /schemas/types.yaml#/definitions/uint32 76 + description: 77 + Clock cycles for the active period of CS is disabled until write 78 + signal is disabled. 79 + default: 0 80 + 81 + wr-setup: 82 + $ref: /schemas/types.yaml#/definitions/uint32 83 + description: 84 + Clock cycles for the active period of CS signal is enabled until 85 + write signal is enabled. 86 + default: 0 87 + 88 + iommus: 89 + minItems: 1 90 + maxItems: 2 91 + 92 + iommu-names: 93 + items: 94 + - const: m0 95 + - const: m1 96 + 97 + interrupts: 98 + items: 99 + - description: FIFO level 100 + - description: VSYNC 101 + - description: LCD system 102 + 103 + interrupt-names: 104 + items: 105 + - const: fifo 106 + - const: vsync 107 + - const: lcd_sys 108 + 109 + power-domains: 110 + maxItems: 1 111 + 112 + reg: 113 + maxItems: 1 114 + 115 + samsung,invert-vden: 116 + type: boolean 117 + description: 118 + Video enable signal is inverted. 119 + 120 + samsung,invert-vclk: 121 + type: boolean 122 + description: 123 + Video clock signal is inverted. 124 + 125 + samsung,sysreg: 126 + $ref: /schemas/types.yaml#/definitions/phandle 127 + description: 128 + Phandle to System Register syscon. 129 + 130 + '#size-cells': 131 + const: 0 132 + 133 + patternProperties: 134 + "^port@[0-4]+$": 135 + $ref: /schemas/graph.yaml#/properties/port 136 + description: | 137 + Contains ports with port with index:: 138 + 0 - for CAMIF0 input, 139 + 1 - for CAMIF1 input, 140 + 2 - for CAMIF2 input, 141 + 3 - for parallel output, 142 + 4 - for write-back interface 143 + 144 + required: 145 + - compatible 146 + - clocks 147 + - clock-names 148 + - interrupts 149 + - interrupt-names 150 + - reg 151 + 152 + allOf: 153 + - if: 154 + properties: 155 + compatible: 156 + contains: 157 + const: samsung,exynos5420-fimd 158 + then: 159 + properties: 160 + iommus: 161 + minItems: 2 162 + maxItems: 2 163 + 164 + additionalProperties: false 165 + 166 + examples: 167 + - | 168 + #include <dt-bindings/clock/exynos4.h> 169 + 170 + fimd@11c00000 { 171 + compatible = "samsung,exynos4210-fimd"; 172 + interrupt-parent = <&combiner>; 173 + reg = <0x11c00000 0x20000>; 174 + interrupt-names = "fifo", "vsync", "lcd_sys"; 175 + interrupts = <11 0>, <11 1>, <11 2>; 176 + clocks = <&clock CLK_SCLK_FIMD0>, <&clock CLK_FIMD0>; 177 + clock-names = "sclk_fimd", "fimd"; 178 + power-domains = <&pd_lcd0>; 179 + iommus = <&sysmmu_fimd0>; 180 + samsung,sysreg = <&sys_reg>; 181 + 182 + #address-cells = <1>; 183 + #size-cells = <0>; 184 + 185 + samsung,invert-vden; 186 + samsung,invert-vclk; 187 + 188 + pinctrl-0 = <&lcd_clk>, <&lcd_data24>; 189 + pinctrl-names = "default"; 190 + 191 + port@3 { 192 + reg = <3>; 193 + 194 + fimd_dpi_ep: endpoint { 195 + remote-endpoint = <&lcd_ep>; 196 + }; 197 + }; 198 + };