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

dt-bindings: display: samsung,exynos5-dp: convert to DT Schema

Convert Samsung Exynos5250/5420 SoC Display Port Controller bindings to
DT schema with a change: add power-domains, already used in DTS.

This Display Port controller is actually variant of Analogix Display
Port bridge, however new DT Schema does not reference analogix,dp.yaml,
because of incompatibilities in the driver. The analogix,dp.yaml
expects two ports, input and output, but Linux Exynos DP DRM driver and
DTS use only one port: output.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20240313182855.14140-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Rob Herring <robh@kernel.org>

authored by

Krzysztof Kozlowski and committed by
Rob Herring
ad6d17e1 4cece764

+163 -112
-112
Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
··· 1 - The Exynos display port interface should be configured based on 2 - the type of panel connected to it. 3 - 4 - We use two nodes: 5 - -dp-controller node 6 - -dptx-phy node(defined inside dp-controller node) 7 - 8 - For the DP-PHY initialization, we use the dptx-phy node. 9 - Required properties for dptx-phy: deprecated, use phys and phy-names 10 - -reg: deprecated 11 - Base address of DP PHY register. 12 - -samsung,enable-mask: deprecated 13 - The bit-mask used to enable/disable DP PHY. 14 - 15 - For the Panel initialization, we read data from dp-controller node. 16 - Required properties for dp-controller: 17 - -compatible: 18 - should be "samsung,exynos5-dp". 19 - -reg: 20 - physical base address of the controller and length 21 - of memory mapped region. 22 - -interrupts: 23 - interrupt combiner values. 24 - -clocks: 25 - from common clock binding: handle to dp clock. 26 - -clock-names: 27 - from common clock binding: Shall be "dp". 28 - -phys: 29 - from general PHY binding: the phandle for the PHY device. 30 - -phy-names: 31 - from general PHY binding: Should be "dp". 32 - 33 - Optional properties for dp-controller: 34 - -interlaced: 35 - interlace scan mode. 36 - Progressive if defined, Interlaced if not defined 37 - -vsync-active-high: 38 - VSYNC polarity configuration. 39 - High if defined, Low if not defined 40 - -hsync-active-high: 41 - HSYNC polarity configuration. 42 - High if defined, Low if not defined 43 - -samsung,hpd-gpio: 44 - Hotplug detect GPIO. 45 - Indicates which GPIO should be used for hotplug 46 - detection 47 - -video interfaces: Device node can contain video interface port 48 - nodes according to [1]. 49 - - display-timings: timings for the connected panel as described by 50 - Documentation/devicetree/bindings/display/panel/display-timing.txt 51 - 52 - For the below properties, please refer to Analogix DP binding document: 53 - * Documentation/devicetree/bindings/display/bridge/analogix,dp.yaml 54 - -phys (required) 55 - -phy-names (required) 56 - -hpd-gpios (optional) 57 - force-hpd (optional) 58 - 59 - Deprecated properties for DisplayPort: 60 - -interlaced: deprecated prop that can parsed from drm_display_mode. 61 - -vsync-active-high: deprecated prop that can parsed from drm_display_mode. 62 - -hsync-active-high: deprecated prop that can parsed from drm_display_mode. 63 - -samsung,ycbcr-coeff: deprecated prop that can parsed from drm_display_mode. 64 - -samsung,dynamic-range: deprecated prop that can parsed from drm_display_mode. 65 - -samsung,color-space: deprecated prop that can parsed from drm_display_info. 66 - -samsung,color-depth: deprecated prop that can parsed from drm_display_info. 67 - -samsung,link-rate: deprecated prop that can reading from monitor by dpcd method. 68 - -samsung,lane-count: deprecated prop that can reading from monitor by dpcd method. 69 - -samsung,hpd-gpio: deprecated name for hpd-gpios. 70 - 71 - ------------------------------------------------------------------------------- 72 - 73 - Example: 74 - 75 - SOC specific portion: 76 - dp-controller { 77 - compatible = "samsung,exynos5-dp"; 78 - reg = <0x145b0000 0x10000>; 79 - interrupts = <10 3>; 80 - interrupt-parent = <&combiner>; 81 - clocks = <&clock 342>; 82 - clock-names = "dp"; 83 - 84 - phys = <&dp_phy>; 85 - phy-names = "dp"; 86 - }; 87 - 88 - Board Specific portion: 89 - dp-controller { 90 - display-timings { 91 - native-mode = <&lcd_timing>; 92 - lcd_timing: 1366x768 { 93 - clock-frequency = <70589280>; 94 - hactive = <1366>; 95 - vactive = <768>; 96 - hfront-porch = <40>; 97 - hback-porch = <40>; 98 - hsync-len = <32>; 99 - vback-porch = <10>; 100 - vfront-porch = <12>; 101 - vsync-len = <6>; 102 - }; 103 - }; 104 - 105 - ports { 106 - port@0 { 107 - dp_out: endpoint { 108 - remote-endpoint = <&bridge_in>; 109 - }; 110 - }; 111 - }; 112 - };
+163
Documentation/devicetree/bindings/display/samsung/samsung,exynos5-dp.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/display/samsung/samsung,exynos5-dp.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Samsung Exynos5250/Exynos5420 SoC Display Port 8 + 9 + maintainers: 10 + - Inki Dae <inki.dae@samsung.com> 11 + - Seung-Woo Kim <sw0312.kim@samsung.com> 12 + - Kyungmin Park <kyungmin.park@samsung.com> 13 + - Krzysztof Kozlowski <krzk@kernel.org> 14 + 15 + properties: 16 + compatible: 17 + const: samsung,exynos5-dp 18 + 19 + reg: 20 + maxItems: 1 21 + 22 + clocks: 23 + maxItems: 1 24 + 25 + clock-names: 26 + items: 27 + - const: dp 28 + 29 + display-timings: 30 + $ref: /schemas/display/panel/display-timings.yaml# 31 + 32 + interrupts: 33 + maxItems: 1 34 + 35 + hpd-gpios: 36 + description: 37 + Hotplug detect GPIO. 38 + Indicates which GPIO should be used for hotplug detection 39 + 40 + phys: 41 + maxItems: 1 42 + 43 + phy-names: 44 + items: 45 + - const: dp 46 + 47 + power-domains: 48 + maxItems: 1 49 + 50 + interlaced: 51 + type: boolean 52 + deprecated: true 53 + description: 54 + Interlace scan mode. Progressive if defined, interlaced if not defined. 55 + 56 + vsync-active-high: 57 + type: boolean 58 + deprecated: true 59 + description: 60 + VSYNC polarity configuration. High if defined, low if not defined 61 + 62 + hsync-active-high: 63 + type: boolean 64 + deprecated: true 65 + description: 66 + HSYNC polarity configuration. High if defined, low if not defined 67 + 68 + ports: 69 + $ref: /schemas/graph.yaml#/properties/ports 70 + 71 + properties: 72 + port: 73 + $ref: /schemas/graph.yaml#/properties/port 74 + description: 75 + Port node with one endpoint connected to a dp-connector node. 76 + 77 + required: 78 + - port 79 + 80 + samsung,hpd-gpios: 81 + maxItems: 1 82 + deprecated: true 83 + 84 + samsung,ycbcr-coeff: 85 + $ref: /schemas/types.yaml#/definitions/uint32 86 + deprecated: true 87 + description: 88 + Deprecated prop that can parsed from drm_display_mode. 89 + 90 + samsung,dynamic-range: 91 + $ref: /schemas/types.yaml#/definitions/uint32 92 + deprecated: true 93 + description: 94 + Deprecated prop that can parsed from drm_display_mode. 95 + 96 + samsung,color-space: 97 + $ref: /schemas/types.yaml#/definitions/uint32 98 + deprecated: true 99 + description: 100 + Deprecated prop that can parsed from drm_display_info. 101 + 102 + samsung,color-depth: 103 + $ref: /schemas/types.yaml#/definitions/uint32 104 + deprecated: true 105 + description: 106 + Deprecated prop that can parsed from drm_display_info. 107 + 108 + samsung,link-rate: 109 + $ref: /schemas/types.yaml#/definitions/uint32 110 + deprecated: true 111 + description: 112 + Deprecated prop that can reading from monitor by dpcd method. 113 + 114 + samsung,lane-count: 115 + $ref: /schemas/types.yaml#/definitions/uint32 116 + deprecated: true 117 + description: 118 + Deprecated prop that can reading from monitor by dpcd method. 119 + 120 + required: 121 + - compatible 122 + - reg 123 + - clocks 124 + - clock-names 125 + - interrupts 126 + - phys 127 + - phy-names 128 + 129 + additionalProperties: false 130 + 131 + examples: 132 + - | 133 + #include <dt-bindings/clock/exynos5250.h> 134 + #include <dt-bindings/gpio/gpio.h> 135 + #include <dt-bindings/interrupt-controller/arm-gic.h> 136 + 137 + dp-controller@145b0000 { 138 + compatible = "samsung,exynos5-dp"; 139 + reg = <0x145b0000 0x1000>; 140 + clocks = <&clock CLK_DP>; 141 + clock-names = "dp"; 142 + interrupts = <10 3>; 143 + interrupt-parent = <&combiner>; 144 + phys = <&dp_phy>; 145 + phy-names = "dp"; 146 + pinctrl-0 = <&dp_hpd>; 147 + pinctrl-names = "default"; 148 + power-domains = <&pd_disp1>; 149 + 150 + samsung,color-space = <0>; 151 + samsung,color-depth = <1>; 152 + samsung,link-rate = <0x0a>; 153 + samsung,lane-count = <2>; 154 + hpd-gpios = <&gpx0 7 GPIO_ACTIVE_HIGH>; 155 + 156 + ports { 157 + port { 158 + dp_out: endpoint { 159 + remote-endpoint = <&bridge_in>; 160 + }; 161 + }; 162 + }; 163 + };