diff mbox

[v8,06/17] dt-bindings: add document for analogix display port driver

Message ID 1446020793-10532-1-git-send-email-ykk@rock-chips.com (mailing list archive)
State New, archived
Headers show

Commit Message

Yakir Yang Oct. 28, 2015, 8:26 a.m. UTC
Analogix dp driver is split from exynos dp driver, so we just
make an copy of exynos_dp.txt, and then simplify exynos_dp.txt

Beside update some exynos dtsi file with the latest change
according to the devicetree binding documents.

Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
---
Changes in v8:
- Correct the right document path of display-timing.txt (Heiko)
- Correct the misspell of 'from' to 'frm'. (Heiko)

Changes in v7: None
Changes in v6: None
Changes in v5: None
Changes in v4:
- Split all DTS changes, and provide backward compatibility. Mark old
  properties as deprecated but still support them. (Krzysztof)
- Update "analogix,hpd-gpio" to "hpd-gpios" prop name. (Rob)
- Deprecated some properties which could parsed from Edid/Mode/DPCD. (Thierry)
    "analogix,color-space" & "analogix,color-depth"   &
    "analogix,link-rate"   & "analogix,lane-count"    &
    "analogix,ycbcr-coeff" & "analogix,dynamic-range" &
    "vsync-active-high"    & "hsync-active-high"      & "interlaces"

Changes in v3:
- Add devicetree binding documents. (Heiko)
- Remove sync pol & colorimetry properies from the new analogix dp driver
  devicetree binding. (Thierry)
- Update the exist exynos dtsi file with the latest DP DT properies.

Changes in v2: None

 .../bindings/display/bridge/analogix_dp.txt        | 50 +++++++++++++++++
 .../bindings/display/exynos/exynos_dp.txt          | 65 ++++++++--------------
 2 files changed, 72 insertions(+), 43 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/bridge/analogix_dp.txt

Comments

Heiko Stübner Oct. 28, 2015, 8:02 p.m. UTC | #1
Hi Yakir,

Am Mittwoch, 28. Oktober 2015, 16:26:33 schrieb Yakir Yang:
> diff --git a/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt b/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
> index 7a3a9cd..9905081 100644
> --- a/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
> +++ b/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
> @@ -31,45 +31,31 @@ Required properties for dp-controller:
>  		from general PHY binding: the phandle for the PHY device.
>  	-phy-names:
>  		from general PHY binding: Should be "dp".
> -	-samsung,color-space:
> -		input video data format.
> -			COLOR_RGB = 0, COLOR_YCBCR422 = 1, COLOR_YCBCR444 = 2
> -	-samsung,dynamic-range:
> -		dynamic range for input video data.
> -			VESA = 0, CEA = 1
> -	-samsung,ycbcr-coeff:
> -		YCbCr co-efficients for input video.
> -			COLOR_YCBCR601 = 0, COLOR_YCBCR709 = 1
> -	-samsung,color-depth:
> -		number of bits per colour component.
> -			COLOR_6 = 0, COLOR_8 = 1, COLOR_10 = 2, COLOR_12 = 3
> -	-samsung,link-rate:
> -		link rate supported by the panel.
> -			LINK_RATE_1_62GBPS = 0x6, LINK_RATE_2_70GBPS = 0x0A
> -	-samsung,lane-count:
> -		number of lanes supported by the panel.
> -			LANE_COUNT1 = 1, LANE_COUNT2 = 2, LANE_COUNT4 = 4
> -	- display-timings: timings for the connected panel as described by
> -		Documentation/devicetree/bindings/video/display-timing.txt
											^^ display/display-timings.txt
otherwise this patch does not apply.
Yakir Yang Oct. 29, 2015, 1:12 a.m. UTC | #2
Hi Heiko,

On 10/29/2015 04:02 AM, Heiko Stuebner wrote:
> Hi Yakir,
>
> Am Mittwoch, 28. Oktober 2015, 16:26:33 schrieb Yakir Yang:
>> diff --git a/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt b/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
>> index 7a3a9cd..9905081 100644
>> --- a/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
>> +++ b/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
>> @@ -31,45 +31,31 @@ Required properties for dp-controller:
>>   		from general PHY binding: the phandle for the PHY device.
>>   	-phy-names:
>>   		from general PHY binding: Should be "dp".
>> -	-samsung,color-space:
>> -		input video data format.
>> -			COLOR_RGB = 0, COLOR_YCBCR422 = 1, COLOR_YCBCR444 = 2
>> -	-samsung,dynamic-range:
>> -		dynamic range for input video data.
>> -			VESA = 0, CEA = 1
>> -	-samsung,ycbcr-coeff:
>> -		YCbCr co-efficients for input video.
>> -			COLOR_YCBCR601 = 0, COLOR_YCBCR709 = 1
>> -	-samsung,color-depth:
>> -		number of bits per colour component.
>> -			COLOR_6 = 0, COLOR_8 = 1, COLOR_10 = 2, COLOR_12 = 3
>> -	-samsung,link-rate:
>> -		link rate supported by the panel.
>> -			LINK_RATE_1_62GBPS = 0x6, LINK_RATE_2_70GBPS = 0x0A
>> -	-samsung,lane-count:
>> -		number of lanes supported by the panel.
>> -			LANE_COUNT1 = 1, LANE_COUNT2 = 2, LANE_COUNT4 = 4
>> -	- display-timings: timings for the connected panel as described by
>> -		Documentation/devicetree/bindings/video/display-timing.txt
> 											^^ display/display-timings.txt
> otherwise this patch does not apply.

I thought I have deleted this old path of "display-timing.txt", and 
changed it to

-		Documentation/devicetree/bindings/video/display-timing.txt

+		Documentation/devicetree/bindings/display/panel/display-timing.txt

And the real path of "display-timing.txt" in linux-next [tag 20151022] 
do under
the "display/panel/", those change should be right.

Thanks,
- Yakir
Heiko Stübner Oct. 29, 2015, 8:40 a.m. UTC | #3
Am Donnerstag, 29. Oktober 2015, 09:12:21 schrieb Yakir Yang:
> Hi Heiko,
> 
> On 10/29/2015 04:02 AM, Heiko Stuebner wrote:
> > Hi Yakir,
> >
> > Am Mittwoch, 28. Oktober 2015, 16:26:33 schrieb Yakir Yang:
> >> diff --git a/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt b/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
> >> index 7a3a9cd..9905081 100644
> >> --- a/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
> >> +++ b/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
> >> @@ -31,45 +31,31 @@ Required properties for dp-controller:
> >>   		from general PHY binding: the phandle for the PHY device.
> >>   	-phy-names:
> >>   		from general PHY binding: Should be "dp".
> >> -	-samsung,color-space:
> >> -		input video data format.
> >> -			COLOR_RGB = 0, COLOR_YCBCR422 = 1, COLOR_YCBCR444 = 2
> >> -	-samsung,dynamic-range:
> >> -		dynamic range for input video data.
> >> -			VESA = 0, CEA = 1
> >> -	-samsung,ycbcr-coeff:
> >> -		YCbCr co-efficients for input video.
> >> -			COLOR_YCBCR601 = 0, COLOR_YCBCR709 = 1
> >> -	-samsung,color-depth:
> >> -		number of bits per colour component.
> >> -			COLOR_6 = 0, COLOR_8 = 1, COLOR_10 = 2, COLOR_12 = 3
> >> -	-samsung,link-rate:
> >> -		link rate supported by the panel.
> >> -			LINK_RATE_1_62GBPS = 0x6, LINK_RATE_2_70GBPS = 0x0A
> >> -	-samsung,lane-count:
> >> -		number of lanes supported by the panel.
> >> -			LANE_COUNT1 = 1, LANE_COUNT2 = 2, LANE_COUNT4 = 4
> >> -	- display-timings: timings for the connected panel as described by
> >> -		Documentation/devicetree/bindings/video/display-timing.txt
> > 											^^ display/display-timings.txt
> > otherwise this patch does not apply.
> 
> I thought I have deleted this old path of "display-timing.txt", and 
> changed it to
> 
> -		Documentation/devicetree/bindings/video/display-timing.txt

in the changes I got from Rob Hering's dt-branch [0] the path in the file
is already display/display-timing.txt so applying a change with video/...
in it fails. Anyway, as this will probably only make it in after the merge-
window, we can see how this ends up before anyway :-) .

> 
> +		Documentation/devicetree/bindings/display/panel/display-timing.txt
> 
> And the real path of "display-timing.txt" in linux-next [tag 20151022] 
> do under
> the "display/panel/", those change should be right.


Heiko

[0] https://git.kernel.org/cgit/linux/kernel/git/robh/linux.git/commit/?h=dt/next&id=efdbd7345f8836f7495f3ac6ee237d86cb3bb6b0
Yakir Yang Oct. 29, 2015, 8:56 a.m. UTC | #4
On 10/29/2015 04:40 PM, Heiko Stuebner wrote:
> Am Donnerstag, 29. Oktober 2015, 09:12:21 schrieb Yakir Yang:
>> Hi Heiko,
>>
>> On 10/29/2015 04:02 AM, Heiko Stuebner wrote:
>>> Hi Yakir,
>>>
>>> Am Mittwoch, 28. Oktober 2015, 16:26:33 schrieb Yakir Yang:
>>>> diff --git a/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt b/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
>>>> index 7a3a9cd..9905081 100644
>>>> --- a/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
>>>> +++ b/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
>>>> @@ -31,45 +31,31 @@ Required properties for dp-controller:
>>>>    		from general PHY binding: the phandle for the PHY device.
>>>>    	-phy-names:
>>>>    		from general PHY binding: Should be "dp".
>>>> -	-samsung,color-space:
>>>> -		input video data format.
>>>> -			COLOR_RGB = 0, COLOR_YCBCR422 = 1, COLOR_YCBCR444 = 2
>>>> -	-samsung,dynamic-range:
>>>> -		dynamic range for input video data.
>>>> -			VESA = 0, CEA = 1
>>>> -	-samsung,ycbcr-coeff:
>>>> -		YCbCr co-efficients for input video.
>>>> -			COLOR_YCBCR601 = 0, COLOR_YCBCR709 = 1
>>>> -	-samsung,color-depth:
>>>> -		number of bits per colour component.
>>>> -			COLOR_6 = 0, COLOR_8 = 1, COLOR_10 = 2, COLOR_12 = 3
>>>> -	-samsung,link-rate:
>>>> -		link rate supported by the panel.
>>>> -			LINK_RATE_1_62GBPS = 0x6, LINK_RATE_2_70GBPS = 0x0A
>>>> -	-samsung,lane-count:
>>>> -		number of lanes supported by the panel.
>>>> -			LANE_COUNT1 = 1, LANE_COUNT2 = 2, LANE_COUNT4 = 4
>>>> -	- display-timings: timings for the connected panel as described by
>>>> -		Documentation/devicetree/bindings/video/display-timing.txt
>>> 											^^ display/display-timings.txt
>>> otherwise this patch does not apply.
>> I thought I have deleted this old path of "display-timing.txt", and
>> changed it to
>>
>> -		Documentation/devicetree/bindings/video/display-timing.txt
> in the changes I got from Rob Hering's dt-branch [0] the path in the file
> is already display/display-timing.txt so applying a change with video/...
> in it fails. Anyway, as this will probably only make it in after the merge-
> window, we can see how this ends up before anyway :-) .

Agree

>
>> +		Documentation/devicetree/bindings/display/panel/display-timing.txt
>>
>> And the real path of "display-timing.txt" in linux-next [tag 20151022]
>> do under
>> the "display/panel/", those change should be right.
>
> Heiko
>
> [0] https://git.kernel.org/cgit/linux/kernel/git/robh/linux.git/commit/?h=dt/next&id=efdbd7345f8836f7495f3ac6ee237d86cb3bb6b0

Found some conflicting things in that commit:

He move the display-timing.txt from "video/" to "display/panel"
diff --git a/Documentation/devicetree/bindings/video/display-timing.txt 
b/Documentation/devicetree/bindings/display/panel/display-timing.txt
index e1d4a0b..e1d4a0b 100644 --- 
a/Documentation/devicetree/bindings/video/display-timing.txt 
<https://git.kernel.org/cgit/linux/kernel/git/robh/linux.git/tree/Documentation/devicetree/bindings/video/display-timing.txt?h=dt/next&id=9ffecb10283508260936b96022d4ee43a7798b4c> 
+++ b/Documentation/devicetree/bindings/display/panel/display-timing.txt 
<https://git.kernel.org/cgit/linux/kernel/git/robh/linux.git/tree/Documentation/devicetree/bindings/display/panel/display-timing.txt?h=dt/next&id=efdbd7345f8836f7495f3ac6ee237d86cb3bb6b0> 
But didn't give the real path to other documents
--- a/Documentation/devicetree/bindings/video/fsl,imx-fb.txt 
<https://git.kernel.org/cgit/linux/kernel/git/robh/linux.git/tree/Documentation/devicetree/bindings/video/fsl,imx-fb.txt?h=dt/next&id=9ffecb10283508260936b96022d4ee43a7798b4c> 
+++ b/Documentation/devicetree/bindings/display/imx/fsl,imx-fb.txt 
<https://git.kernel.org/cgit/linux/kernel/git/robh/linux.git/tree/Documentation/devicetree/bindings/display/imx/fsl,imx-fb.txt?h=dt/next&id=efdbd7345f8836f7495f3ac6ee237d86cb3bb6b0>
@@ -9,7 +9,7 @@ Required properties:
Required nodes:
- display: Phandle to a display node as described in
- Documentation/devicetree/bindings/video/display-timing.txt
+ Documentation/devicetree/bindings/display/display-timing.txt
Additional, the display node has to define properties:
- bits-per-pixel: Bits per pixel
- fsl,pcr: LCDC PCR value
Thanks, - Yakir
>
>
>
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/display/bridge/analogix_dp.txt b/Documentation/devicetree/bindings/display/bridge/analogix_dp.txt
new file mode 100644
index 0000000..7659a7a
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/analogix_dp.txt
@@ -0,0 +1,50 @@ 
+Analogix Display Port bridge bindings
+
+Required properties for dp-controller:
+	-compatible:
+		platform specific such as:
+		 * "samsung,exynos5-dp"
+		 * "rockchip,rk3288-dp"
+	-reg:
+		physical base address of the controller and length
+		of memory mapped region.
+	-interrupts:
+		interrupt combiner values.
+	-clocks:
+		from common clock binding: handle to dp clock.
+	-clock-names:
+		from common clock binding: Shall be "dp".
+	-interrupt-parent:
+		phandle to Interrupt combiner node.
+	-phys:
+		from general PHY binding: the phandle for the PHY device.
+	-phy-names:
+		from general PHY binding: Should be "dp".
+
+Optional properties for dp-controller:
+	-hpd-gpios:
+		Hotplug detect GPIO.
+		Indicates which GPIO should be used for hotplug detection
+	-port@[X]: SoC specific port nodes with endpoint definitions as defined
+		in Documentation/devicetree/bindings/media/video-interfaces.txt,
+		please refer to the SoC specific binding document:
+		* Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
+		* Documentation/devicetree/bindings/video/analogix_dp-rockchip.txt
+
+
+[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
+-------------------------------------------------------------------------------
+
+Example:
+
+	dp-controller {
+		compatible = "samsung,exynos5-dp";
+		reg = <0x145b0000 0x10000>;
+		interrupts = <10 3>;
+		interrupt-parent = <&combiner>;
+		clocks = <&clock 342>;
+		clock-names = "dp";
+
+		phys = <&dp_phy>;
+		phy-names = "dp";
+	};
diff --git a/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt b/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
index 7a3a9cd..9905081 100644
--- a/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
+++ b/Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
@@ -31,45 +31,31 @@  Required properties for dp-controller:
 		from general PHY binding: the phandle for the PHY device.
 	-phy-names:
 		from general PHY binding: Should be "dp".
-	-samsung,color-space:
-		input video data format.
-			COLOR_RGB = 0, COLOR_YCBCR422 = 1, COLOR_YCBCR444 = 2
-	-samsung,dynamic-range:
-		dynamic range for input video data.
-			VESA = 0, CEA = 1
-	-samsung,ycbcr-coeff:
-		YCbCr co-efficients for input video.
-			COLOR_YCBCR601 = 0, COLOR_YCBCR709 = 1
-	-samsung,color-depth:
-		number of bits per colour component.
-			COLOR_6 = 0, COLOR_8 = 1, COLOR_10 = 2, COLOR_12 = 3
-	-samsung,link-rate:
-		link rate supported by the panel.
-			LINK_RATE_1_62GBPS = 0x6, LINK_RATE_2_70GBPS = 0x0A
-	-samsung,lane-count:
-		number of lanes supported by the panel.
-			LANE_COUNT1 = 1, LANE_COUNT2 = 2, LANE_COUNT4 = 4
-	- display-timings: timings for the connected panel as described by
-		Documentation/devicetree/bindings/video/display-timing.txt
 
 Optional properties for dp-controller:
-	-interlaced:
-		interlace scan mode.
-			Progressive if defined, Interlaced if not defined
-	-vsync-active-high:
-		VSYNC polarity configuration.
-			High if defined, Low if not defined
-	-hsync-active-high:
-		HSYNC polarity configuration.
-			High if defined, Low if not defined
-	-samsung,hpd-gpio:
-		Hotplug detect GPIO.
-			Indicates which GPIO should be used for hotplug
-			detection
-	-video interfaces: Device node can contain video interface port
-			    nodes according to [1].
+	- display-timings: timings for the connected panel as described by
+		Documentation/devicetree/bindings/display/panel/display-timing.txt
+
+For the below properties, please refer to Analogix DP binding document:
+ * Documentation/devicetree/bindings/display/bridge/analogix_dp.txt
+	-phys (required)
+	-phy-names (required)
+	-hpd-gpios (optional)
+	-video interfaces (optional)
 
-[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
+Deprecated properties for DisplayPort:
+-interlaced:            deprecated prop that can parsed from drm_display_mode.
+-vsync-active-high:     deprecated prop that can parsed from drm_display_mode.
+-hsync-active-high:     deprecated prop that can parsed from drm_display_mode.
+-samsung,ycbcr-coeff:   deprecated prop that can parsed from drm_display_mode.
+-samsung,dynamic-range: deprecated prop that can parsed from drm_display_mode.
+-samsung,color-space:   deprecated prop that can parsed from drm_display_info.
+-samsung,color-depth:   deprecated prop that can parsed from drm_display_info.
+-samsung,link-rate:     deprecated prop that can reading from monitor by dpcd method.
+-samsung,lane-count:    deprecated prop that can reading from monitor by dpcd method.
+-samsung,hpd-gpio:      deprecated name for hpd-gpios.
+
+-------------------------------------------------------------------------------
 
 Example:
 
@@ -88,13 +74,6 @@  SOC specific portion:
 
 Board Specific portion:
 	dp-controller {
-		samsung,color-space = <0>;
-		samsung,dynamic-range = <0>;
-		samsung,ycbcr-coeff = <0>;
-		samsung,color-depth = <1>;
-		samsung,link-rate = <0x0a>;
-		samsung,lane-count = <4>;
-
 		display-timings {
 			native-mode = <&lcd_timing>;
 			lcd_timing: 1366x768 {