linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] Fix A64 HDMI PHY device tree binding
@ 2018-09-07  7:22 Icenowy Zheng
  2018-09-07  7:22 ` [PATCH 1/5] dt-bindings: sun4i-drm: drop second PLL from A64 HDMI PHY binding Icenowy Zheng
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Icenowy Zheng @ 2018-09-07  7:22 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Icenowy Zheng

When adding support for A64 HDMI PHY in 4.19, we assumed that the two
PLL-VIDEOs can both feed the HDMI PHY clock. However experiments show
that the mux bit discovered in R40 blob is not applicable on A64. This
is not discovered, as normally with a single display pipeline only
PLL-VIDEO0 will be used.

In this patchset the second PLL is dropped, and a binding specially for
R40 HDMI PHY is added (which seems to have the mux).

PATCH 1 and 2 are dropping second PLL for A64 HDMI PHY, and PATCH 3 to 5
are adding R40 HDMI PHY binding.

This patchset targets v4.19 fixes tree, because the binding is
introduced in v4.19, and if we don't fix it there a wrong binding will
be left in a stable version released.

Icenowy Zheng (5):
  dt-bindings: sun4i-drm: drop second PLL from A64 HDMI PHY binding
  drm: sun4i: drop second PLL from A64 HDMI PHY
  dt-bindings: sun4i-drm: add compatible for R40 HDMI PHY
  drm/sun4i: add support for R40 HDMI PHY
  ARM: sun8i: dts: drop A64 HDMI PHY fallback compatible from R40 DT

 .../devicetree/bindings/display/sunxi/sun4i-drm.txt |  5 +++--
 arch/arm/boot/dts/sun8i-r40.dtsi                    |  3 +--
 drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c              | 13 ++++++++++++-
 3 files changed, 16 insertions(+), 5 deletions(-)

-- 
2.18.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/5] dt-bindings: sun4i-drm: drop second PLL from A64 HDMI PHY binding
  2018-09-07  7:22 [PATCH 0/5] Fix A64 HDMI PHY device tree binding Icenowy Zheng
@ 2018-09-07  7:22 ` Icenowy Zheng
  2018-09-10 14:22   ` Maxime Ripard
  2018-09-07  7:22 ` [PATCH 2/5] drm: sun4i: drop second PLL from A64 HDMI PHY Icenowy Zheng
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Icenowy Zheng @ 2018-09-07  7:22 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Icenowy Zheng

By experiments it seems that the A64 HDMI PHY is not able to use the
second video PLL as the clock parent.

Drop pll-1 from the device tree binding of A64 HDMI PHY.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
 Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
index f8773ecb7525..62034039cee1 100644
--- a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
+++ b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
@@ -114,7 +114,6 @@ Required properties:
 
 H3 and A64 HDMI PHY require additional clocks:
   - pll-0: parent of phy clock
-  - pll-1: second possible phy clock parent (A64 only)
 
 TV Encoder
 ----------
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/5] drm: sun4i: drop second PLL from A64 HDMI PHY
  2018-09-07  7:22 [PATCH 0/5] Fix A64 HDMI PHY device tree binding Icenowy Zheng
  2018-09-07  7:22 ` [PATCH 1/5] dt-bindings: sun4i-drm: drop second PLL from A64 HDMI PHY binding Icenowy Zheng
@ 2018-09-07  7:22 ` Icenowy Zheng
  2018-09-07  7:22 ` [PATCH 3/5] dt-bindings: sun4i-drm: add compatible for R40 " Icenowy Zheng
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 13+ messages in thread
From: Icenowy Zheng @ 2018-09-07  7:22 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Icenowy Zheng

The A64 HDMI PHY seems to be not able to use the second video PLL as
clock parent in experiments.

Drop the support for the second PLL from A64 HDMI PHY driver.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
 drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
index 82502b351aec..a564b5dfe082 100644
--- a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
+++ b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
@@ -398,7 +398,6 @@ static struct regmap_config sun8i_hdmi_phy_regmap_config = {
 
 static const struct sun8i_hdmi_phy_variant sun50i_a64_hdmi_phy = {
 	.has_phy_clk = true,
-	.has_second_pll = true,
 	.phy_init = &sun8i_hdmi_phy_init_h3,
 	.phy_disable = &sun8i_hdmi_phy_disable_h3,
 	.phy_config = &sun8i_hdmi_phy_config_h3,
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/5] dt-bindings: sun4i-drm: add compatible for R40 HDMI PHY
  2018-09-07  7:22 [PATCH 0/5] Fix A64 HDMI PHY device tree binding Icenowy Zheng
  2018-09-07  7:22 ` [PATCH 1/5] dt-bindings: sun4i-drm: drop second PLL from A64 HDMI PHY binding Icenowy Zheng
  2018-09-07  7:22 ` [PATCH 2/5] drm: sun4i: drop second PLL from A64 HDMI PHY Icenowy Zheng
@ 2018-09-07  7:22 ` Icenowy Zheng
  2018-09-07  7:22 ` [PATCH 4/5] drm/sun4i: add support " Icenowy Zheng
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 13+ messages in thread
From: Icenowy Zheng @ 2018-09-07  7:22 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Icenowy Zheng

The Allwinner R40 HDMI PHY is currently the only one that seems to be
able to select between two PLL inputs.

Add a compatible string for it, and the pll-1 clock input definition.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
 Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
index 62034039cee1..a750ff0f068d 100644
--- a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
+++ b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
@@ -103,6 +103,7 @@ Required properties:
   - compatible: value must be one of:
     * allwinner,sun8i-a83t-hdmi-phy
     * allwinner,sun8i-h3-hdmi-phy
+    * allwinner,sun8i-r40-hdmi-phy
     * allwinner,sun50i-a64-hdmi-phy
   - reg: base address and size of memory-mapped region
   - clocks: phandles to the clocks feeding the HDMI PHY
@@ -112,8 +113,9 @@ Required properties:
   - resets: phandle to the reset controller driving the PHY
   - reset-names: must be "phy"
 
-H3 and A64 HDMI PHY require additional clocks:
+H3, A64 and R40 HDMI PHY require additional clocks:
   - pll-0: parent of phy clock
+  - pll-1: second possible phy clock parent (R40 only)
 
 TV Encoder
 ----------
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 4/5] drm/sun4i: add support for R40 HDMI PHY
  2018-09-07  7:22 [PATCH 0/5] Fix A64 HDMI PHY device tree binding Icenowy Zheng
                   ` (2 preceding siblings ...)
  2018-09-07  7:22 ` [PATCH 3/5] dt-bindings: sun4i-drm: add compatible for R40 " Icenowy Zheng
@ 2018-09-07  7:22 ` Icenowy Zheng
  2018-09-07  7:22 ` [PATCH 5/5] ARM: sun8i: dts: drop A64 HDMI PHY fallback compatible from R40 DT Icenowy Zheng
  2018-09-10  5:03 ` [linux-sunxi] [PATCH 0/5] Fix A64 HDMI PHY device tree binding Chen-Yu Tsai
  5 siblings, 0 replies; 13+ messages in thread
From: Icenowy Zheng @ 2018-09-07  7:22 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Icenowy Zheng

The R40 SoC has a HDMI PHY that is possible to mux two video PLLs.

Add support for it.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
 drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
index a564b5dfe082..471993097ced 100644
--- a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
+++ b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
@@ -416,6 +416,14 @@ static const struct sun8i_hdmi_phy_variant sun8i_h3_hdmi_phy = {
 	.phy_config = &sun8i_hdmi_phy_config_h3,
 };
 
+static const struct sun8i_hdmi_phy_variant sun8i_r40_hdmi_phy = {
+	.has_phy_clk = true,
+	.has_second_pll = true,
+	.phy_init = &sun8i_hdmi_phy_init_h3,
+	.phy_disable = &sun8i_hdmi_phy_disable_h3,
+	.phy_config = &sun8i_hdmi_phy_config_h3,
+};
+
 static const struct of_device_id sun8i_hdmi_phy_of_table[] = {
 	{
 		.compatible = "allwinner,sun50i-a64-hdmi-phy",
@@ -429,6 +437,10 @@ static const struct of_device_id sun8i_hdmi_phy_of_table[] = {
 		.compatible = "allwinner,sun8i-h3-hdmi-phy",
 		.data = &sun8i_h3_hdmi_phy,
 	},
+	{
+		.compatible = "allwinner,sun8i-r40-hdmi-phy",
+		.data = &sun8i_r40_hdmi_phy,
+	},
 	{ /* sentinel */ }
 };
 
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 5/5] ARM: sun8i: dts: drop A64 HDMI PHY fallback compatible from R40 DT
  2018-09-07  7:22 [PATCH 0/5] Fix A64 HDMI PHY device tree binding Icenowy Zheng
                   ` (3 preceding siblings ...)
  2018-09-07  7:22 ` [PATCH 4/5] drm/sun4i: add support " Icenowy Zheng
@ 2018-09-07  7:22 ` Icenowy Zheng
  2018-09-10 14:23   ` Maxime Ripard
  2018-09-10  5:03 ` [linux-sunxi] [PATCH 0/5] Fix A64 HDMI PHY device tree binding Chen-Yu Tsai
  5 siblings, 1 reply; 13+ messages in thread
From: Icenowy Zheng @ 2018-09-07  7:22 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel,
	linux-sunxi, Icenowy Zheng

The R40 HDMI PHY seems to be different to the A64 one, the A64 one
has no input mux, but the R40 one has.

Drop the A64 fallback compatible from the HDMI PHY node in R40 DT.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
 arch/arm/boot/dts/sun8i-r40.dtsi | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi
index ffd9f00f74a4..5f547c161baf 100644
--- a/arch/arm/boot/dts/sun8i-r40.dtsi
+++ b/arch/arm/boot/dts/sun8i-r40.dtsi
@@ -800,8 +800,7 @@
 		};
 
 		hdmi_phy: hdmi-phy@1ef0000 {
-			compatible = "allwinner,sun8i-r40-hdmi-phy",
-				     "allwinner,sun50i-a64-hdmi-phy";
+			compatible = "allwinner,sun8i-r40-hdmi-phy";
 			reg = <0x01ef0000 0x10000>;
 			clocks = <&ccu CLK_BUS_HDMI1>, <&ccu CLK_HDMI_SLOW>,
 				 <&ccu 7>, <&ccu 16>;
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [linux-sunxi] [PATCH 0/5] Fix A64 HDMI PHY device tree binding
  2018-09-07  7:22 [PATCH 0/5] Fix A64 HDMI PHY device tree binding Icenowy Zheng
                   ` (4 preceding siblings ...)
  2018-09-07  7:22 ` [PATCH 5/5] ARM: sun8i: dts: drop A64 HDMI PHY fallback compatible from R40 DT Icenowy Zheng
@ 2018-09-10  5:03 ` Chen-Yu Tsai
  5 siblings, 0 replies; 13+ messages in thread
From: Chen-Yu Tsai @ 2018-09-10  5:03 UTC (permalink / raw)
  To: Icenowy Zheng
  Cc: Maxime Ripard, Rob Herring, Jernej Skrabec, dri-devel,
	devicetree, linux-arm-kernel, linux-kernel, linux-sunxi

On Fri, Sep 7, 2018 at 3:22 PM Icenowy Zheng <icenowy@aosc.io> wrote:
>
> When adding support for A64 HDMI PHY in 4.19, we assumed that the two
> PLL-VIDEOs can both feed the HDMI PHY clock. However experiments show
> that the mux bit discovered in R40 blob is not applicable on A64. This
> is not discovered, as normally with a single display pipeline only
> PLL-VIDEO0 will be used.
>
> In this patchset the second PLL is dropped, and a binding specially for
> R40 HDMI PHY is added (which seems to have the mux).
>
> PATCH 1 and 2 are dropping second PLL for A64 HDMI PHY, and PATCH 3 to 5
> are adding R40 HDMI PHY binding.
>
> This patchset targets v4.19 fixes tree, because the binding is
> introduced in v4.19, and if we don't fix it there a wrong binding will
> be left in a stable version released.

Please add fixes tags.

The patches look good, though I'm not sure about patches 3 and 4 going in fixes.

ChenYu


> Icenowy Zheng (5):
>   dt-bindings: sun4i-drm: drop second PLL from A64 HDMI PHY binding
>   drm: sun4i: drop second PLL from A64 HDMI PHY
>   dt-bindings: sun4i-drm: add compatible for R40 HDMI PHY
>   drm/sun4i: add support for R40 HDMI PHY
>   ARM: sun8i: dts: drop A64 HDMI PHY fallback compatible from R40 DT
>
>  .../devicetree/bindings/display/sunxi/sun4i-drm.txt |  5 +++--
>  arch/arm/boot/dts/sun8i-r40.dtsi                    |  3 +--
>  drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c              | 13 ++++++++++++-
>  3 files changed, 16 insertions(+), 5 deletions(-)
>
> --
> 2.18.0
>
> --
> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/5] dt-bindings: sun4i-drm: drop second PLL from A64 HDMI PHY binding
  2018-09-07  7:22 ` [PATCH 1/5] dt-bindings: sun4i-drm: drop second PLL from A64 HDMI PHY binding Icenowy Zheng
@ 2018-09-10 14:22   ` Maxime Ripard
  0 siblings, 0 replies; 13+ messages in thread
From: Maxime Ripard @ 2018-09-10 14:22 UTC (permalink / raw)
  To: Icenowy Zheng
  Cc: Chen-Yu Tsai, Rob Herring, Jernej Skrabec, dri-devel, devicetree,
	linux-arm-kernel, linux-kernel, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 1223 bytes --]

On Fri, Sep 07, 2018 at 03:22:30PM +0800, Icenowy Zheng wrote:
> By experiments it seems that the A64 HDMI PHY is not able to use the
> second video PLL as the clock parent.
> 
> Drop pll-1 from the device tree binding of A64 HDMI PHY.
> 
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> ---
>  Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
> index f8773ecb7525..62034039cee1 100644
> --- a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
> +++ b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
> @@ -114,7 +114,6 @@ Required properties:
>  
>  H3 and A64 HDMI PHY require additional clocks:
>    - pll-0: parent of phy clock
> -  - pll-1: second possible phy clock parent (A64 only)

You shouldn't need to do this. The DT is about the hardware. The fact
that we haven't figured out how to use it is quite irrelevant, and can
change in the future, unlike this binding.

Maxime

-- 
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 5/5] ARM: sun8i: dts: drop A64 HDMI PHY fallback compatible from R40 DT
  2018-09-07  7:22 ` [PATCH 5/5] ARM: sun8i: dts: drop A64 HDMI PHY fallback compatible from R40 DT Icenowy Zheng
@ 2018-09-10 14:23   ` Maxime Ripard
  2018-09-10 14:32     ` Jernej Škrabec
  0 siblings, 1 reply; 13+ messages in thread
From: Maxime Ripard @ 2018-09-10 14:23 UTC (permalink / raw)
  To: Icenowy Zheng
  Cc: Chen-Yu Tsai, Rob Herring, Jernej Skrabec, dri-devel, devicetree,
	linux-arm-kernel, linux-kernel, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 1011 bytes --]

On Fri, Sep 07, 2018 at 03:22:34PM +0800, Icenowy Zheng wrote:
> The R40 HDMI PHY seems to be different to the A64 one, the A64 one
> has no input mux, but the R40 one has.
> 
> Drop the A64 fallback compatible from the HDMI PHY node in R40 DT.
> 
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> ---
>  arch/arm/boot/dts/sun8i-r40.dtsi | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi
> index ffd9f00f74a4..5f547c161baf 100644
> --- a/arch/arm/boot/dts/sun8i-r40.dtsi
> +++ b/arch/arm/boot/dts/sun8i-r40.dtsi
> @@ -800,8 +800,7 @@
>  		};
>  
>  		hdmi_phy: hdmi-phy@1ef0000 {
> -			compatible = "allwinner,sun8i-r40-hdmi-phy",
> -				     "allwinner,sun50i-a64-hdmi-phy";
> +			compatible = "allwinner,sun8i-r40-hdmi-phy";

If you could use the A64 phy before, you can still use it now.

Maxime

-- 
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 5/5] ARM: sun8i: dts: drop A64 HDMI PHY fallback compatible from R40 DT
  2018-09-10 14:23   ` Maxime Ripard
@ 2018-09-10 14:32     ` Jernej Škrabec
  2018-09-17 14:54       ` Maxime Ripard
  0 siblings, 1 reply; 13+ messages in thread
From: Jernej Škrabec @ 2018-09-10 14:32 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Icenowy Zheng, Chen-Yu Tsai, Rob Herring, dri-devel, devicetree,
	linux-arm-kernel, linux-kernel, linux-sunxi

Dne ponedeljek, 10. september 2018 ob 16:23:54 CEST je Maxime Ripard 
napisal(a):
> On Fri, Sep 07, 2018 at 03:22:34PM +0800, Icenowy Zheng wrote:
> > The R40 HDMI PHY seems to be different to the A64 one, the A64 one
> > has no input mux, but the R40 one has.
> > 
> > Drop the A64 fallback compatible from the HDMI PHY node in R40 DT.
> > 
> > Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> > ---
> > 
> >  arch/arm/boot/dts/sun8i-r40.dtsi | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi
> > b/arch/arm/boot/dts/sun8i-r40.dtsi index ffd9f00f74a4..5f547c161baf
> > 100644
> > --- a/arch/arm/boot/dts/sun8i-r40.dtsi
> > +++ b/arch/arm/boot/dts/sun8i-r40.dtsi
> > @@ -800,8 +800,7 @@
> > 
> >  		};
> >  		
> >  		hdmi_phy: hdmi-phy@1ef0000 {
> > 
> > -			compatible = "allwinner,sun8i-r40-hdmi-phy",
> > -				     "allwinner,sun50i-a64-hdmi-phy";
> > +			compatible = "allwinner,sun8i-r40-hdmi-phy";
> 
> If you could use the A64 phy before, you can still use it now.

Not exactly. Given that we don't know how to switch between HDMI PHY clock 
parents on A64 (if it is actually connected at all, there is no information 
about that in manual and AW didn't answered our questions, despite asking them 
through different channels), A64 compatible will be associated with quirk, 
which will tell that only one clock parent is usable.

However, R40 HDMI PHY has definetly two clock parents, as it was tested by me 
and Icenowy and we know how to switch between them without issues. 
Technically, we could have A64 compatible there, but that would mean only 
single PHY parent is considered instead of two.

Best regards,
Jernej




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 5/5] ARM: sun8i: dts: drop A64 HDMI PHY fallback compatible from R40 DT
  2018-09-10 14:32     ` Jernej Škrabec
@ 2018-09-17 14:54       ` Maxime Ripard
  2018-09-17 22:57         ` Icenowy Zheng
  0 siblings, 1 reply; 13+ messages in thread
From: Maxime Ripard @ 2018-09-17 14:54 UTC (permalink / raw)
  To: Jernej Škrabec
  Cc: Icenowy Zheng, Chen-Yu Tsai, Rob Herring, dri-devel, devicetree,
	linux-arm-kernel, linux-kernel, linux-sunxi

[-- Attachment #1: Type: text/plain, Size: 2337 bytes --]

On Mon, Sep 10, 2018 at 04:32:30PM +0200, Jernej Škrabec wrote:
> Dne ponedeljek, 10. september 2018 ob 16:23:54 CEST je Maxime Ripard 
> napisal(a):
> > On Fri, Sep 07, 2018 at 03:22:34PM +0800, Icenowy Zheng wrote:
> > > The R40 HDMI PHY seems to be different to the A64 one, the A64 one
> > > has no input mux, but the R40 one has.
> > > 
> > > Drop the A64 fallback compatible from the HDMI PHY node in R40 DT.
> > > 
> > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> > > ---
> > > 
> > >  arch/arm/boot/dts/sun8i-r40.dtsi | 3 +--
> > >  1 file changed, 1 insertion(+), 2 deletions(-)
> > > 
> > > diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi
> > > b/arch/arm/boot/dts/sun8i-r40.dtsi index ffd9f00f74a4..5f547c161baf
> > > 100644
> > > --- a/arch/arm/boot/dts/sun8i-r40.dtsi
> > > +++ b/arch/arm/boot/dts/sun8i-r40.dtsi
> > > @@ -800,8 +800,7 @@
> > > 
> > >  		};
> > >  		
> > >  		hdmi_phy: hdmi-phy@1ef0000 {
> > > 
> > > -			compatible = "allwinner,sun8i-r40-hdmi-phy",
> > > -				     "allwinner,sun50i-a64-hdmi-phy";
> > > +			compatible = "allwinner,sun8i-r40-hdmi-phy";
> > 
> > If you could use the A64 phy before, you can still use it now.
> 
> Not exactly. Given that we don't know how to switch between HDMI PHY clock 
> parents on A64 (if it is actually connected at all, there is no information 
> about that in manual and AW didn't answered our questions, despite asking them 
> through different channels), A64 compatible will be associated with quirk, 
> which will tell that only one clock parent is usable.
> 
> However, R40 HDMI PHY has definetly two clock parents, as it was tested by me 
> and Icenowy and we know how to switch between them without issues. 
> Technically, we could have A64 compatible there, but that would mean only 
> single PHY parent is considered instead of two.

The DT change above would mean that you can't operate the R40 phy in
the same way than the A64's. From what you're telling me now, this
isn't exactly what is going on: you can operate the R40 phy just like
the A64: with a single PLL instead of two. You operate in a degraded
and non-optimal mode, but it still works.

And it's exactly what the DT is already saying.

Maxime

-- 
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 5/5] ARM: sun8i: dts: drop A64 HDMI PHY fallback compatible from R40 DT
  2018-09-17 14:54       ` Maxime Ripard
@ 2018-09-17 22:57         ` Icenowy Zheng
  2018-09-19 16:20           ` [linux-sunxi] " Chen-Yu Tsai
  0 siblings, 1 reply; 13+ messages in thread
From: Icenowy Zheng @ 2018-09-17 22:57 UTC (permalink / raw)
  To: Maxime Ripard, Jernej �0�7krabec
  Cc: Chen-Yu Tsai, Rob Herring, dri-devel, devicetree,
	linux-arm-kernel, linux-kernel, linux-sunxi

在 2018-09-17一的 16:54 +0200,Maxime Ripard写道:
> On Mon, Sep 10, 2018 at 04:32:30PM +0200, Jernej Škrabec wrote:
> > Dne ponedeljek, 10. september 2018 ob 16:23:54 CEST je Maxime
> > Ripard 
> > napisal(a):
> > > On Fri, Sep 07, 2018 at 03:22:34PM +0800, Icenowy Zheng wrote:
> > > > The R40 HDMI PHY seems to be different to the A64 one, the A64
> > > > one
> > > > has no input mux, but the R40 one has.
> > > > 
> > > > Drop the A64 fallback compatible from the HDMI PHY node in R40
> > > > DT.
> > > > 
> > > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> > > > ---
> > > > 
> > > >  arch/arm/boot/dts/sun8i-r40.dtsi | 3 +--
> > > >  1 file changed, 1 insertion(+), 2 deletions(-)
> > > > 
> > > > diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi
> > > > b/arch/arm/boot/dts/sun8i-r40.dtsi index
> > > > ffd9f00f74a4..5f547c161baf
> > > > 100644
> > > > --- a/arch/arm/boot/dts/sun8i-r40.dtsi
> > > > +++ b/arch/arm/boot/dts/sun8i-r40.dtsi
> > > > @@ -800,8 +800,7 @@
> > > > 
> > > >  		};
> > > >  		
> > > >  		hdmi_phy: hdmi-phy@1ef0000 {
> > > > 
> > > > -			compatible = "allwinner,sun8i-r40-hdmi-
> > > > phy",
> > > > -				     "allwinner,sun50i-a64-
> > > > hdmi-phy";
> > > > +			compatible = "allwinner,sun8i-r40-hdmi-
> > > > phy";
> > > 
> > > If you could use the A64 phy before, you can still use it now.
> > 
> > Not exactly. Given that we don't know how to switch between HDMI
> > PHY clock 
> > parents on A64 (if it is actually connected at all, there is no
> > information 
> > about that in manual and AW didn't answered our questions, despite
> > asking them 
> > through different channels), A64 compatible will be associated with
> > quirk, 
> > which will tell that only one clock parent is usable.
> > 
> > However, R40 HDMI PHY has definetly two clock parents, as it was
> > tested by me 
> > and Icenowy and we know how to switch between them without issues. 
> > Technically, we could have A64 compatible there, but that would
> > mean only 
> > single PHY parent is considered instead of two.
> 
> The DT change above would mean that you can't operate the R40 phy in
> the same way than the A64's. From what you're telling me now, this
> isn't exactly what is going on: you can operate the R40 phy just like
> the A64: with a single PLL instead of two. You operate in a degraded
> and non-optimal mode, but it still works.

The status of R40 HDMI PHY input mux is not determined when use A64
driver, which makes it not working when the bootloader initializes it
to use the second PLL (the A64 driver will assume the parent is the
first PLL).

> 
> And it's exactly what the DT is already saying.
> 
> Maxime
> 


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [linux-sunxi] Re: [PATCH 5/5] ARM: sun8i: dts: drop A64 HDMI PHY fallback compatible from R40 DT
  2018-09-17 22:57         ` Icenowy Zheng
@ 2018-09-19 16:20           ` Chen-Yu Tsai
  0 siblings, 0 replies; 13+ messages in thread
From: Chen-Yu Tsai @ 2018-09-19 16:20 UTC (permalink / raw)
  To: Icenowy Zheng
  Cc: Maxime Ripard, Jernej Skrabec, Rob Herring, dri-devel,
	devicetree, linux-arm-kernel, linux-kernel, linux-sunxi

On Tue, Sep 18, 2018 at 6:57 AM Icenowy Zheng <icenowy@aosc.io> wrote:
>
> 在 2018-09-17一的 16:54 +0200,Maxime Ripard写道:
> > On Mon, Sep 10, 2018 at 04:32:30PM +0200, Jernej Škrabec wrote:
> > > Dne ponedeljek, 10. september 2018 ob 16:23:54 CEST je Maxime
> > > Ripard
> > > napisal(a):
> > > > On Fri, Sep 07, 2018 at 03:22:34PM +0800, Icenowy Zheng wrote:
> > > > > The R40 HDMI PHY seems to be different to the A64 one, the A64
> > > > > one
> > > > > has no input mux, but the R40 one has.
> > > > >
> > > > > Drop the A64 fallback compatible from the HDMI PHY node in R40
> > > > > DT.
> > > > >
> > > > > Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> > > > > ---
> > > > >
> > > > >  arch/arm/boot/dts/sun8i-r40.dtsi | 3 +--
> > > > >  1 file changed, 1 insertion(+), 2 deletions(-)
> > > > >
> > > > > diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi
> > > > > b/arch/arm/boot/dts/sun8i-r40.dtsi index
> > > > > ffd9f00f74a4..5f547c161baf
> > > > > 100644
> > > > > --- a/arch/arm/boot/dts/sun8i-r40.dtsi
> > > > > +++ b/arch/arm/boot/dts/sun8i-r40.dtsi
> > > > > @@ -800,8 +800,7 @@
> > > > >
> > > > >                 };
> > > > >
> > > > >                 hdmi_phy: hdmi-phy@1ef0000 {
> > > > >
> > > > > -                       compatible = "allwinner,sun8i-r40-hdmi-
> > > > > phy",
> > > > > -                                    "allwinner,sun50i-a64-
> > > > > hdmi-phy";
> > > > > +                       compatible = "allwinner,sun8i-r40-hdmi-
> > > > > phy";
> > > >
> > > > If you could use the A64 phy before, you can still use it now.
> > >
> > > Not exactly. Given that we don't know how to switch between HDMI
> > > PHY clock
> > > parents on A64 (if it is actually connected at all, there is no
> > > information
> > > about that in manual and AW didn't answered our questions, despite
> > > asking them
> > > through different channels), A64 compatible will be associated with
> > > quirk,
> > > which will tell that only one clock parent is usable.
> > >
> > > However, R40 HDMI PHY has definetly two clock parents, as it was
> > > tested by me
> > > and Icenowy and we know how to switch between them without issues.
> > > Technically, we could have A64 compatible there, but that would
> > > mean only
> > > single PHY parent is considered instead of two.
> >
> > The DT change above would mean that you can't operate the R40 phy in
> > the same way than the A64's. From what you're telling me now, this
> > isn't exactly what is going on: you can operate the R40 phy just like
> > the A64: with a single PLL instead of two. You operate in a degraded
> > and non-optimal mode, but it still works.

I suppose it's a slightly different semantic. While we have no definite
data regarding the A64, there are some possibilities:

  1. The muxing mechanism isn't present on the A64, and the HDMI PHY
     only takes one clock.

  2. The muxing is present, but only the first parent is connected.
     Switching to the second input causes it to stop working.

  3. Same as above, but both parents are connected to video0-pll.
     This might be indistinguishable from 1., even if checking whether
     the bit modifications stick or not.

In any case, I think this deserves proper experimentation, and subsequent
documentation in the bindings of our "assumptions" (i.e. educated guess)
about what the hardware is doing.

>
> The status of R40 HDMI PHY input mux is not determined when use A64
> driver, which makes it not working when the bootloader initializes it
> to use the second PLL (the A64 driver will assume the parent is the
> first PLL).

That doesn't sound good. But it really depends on what we assume the
A64 is doing.

ChenYu

> >
> > And it's exactly what the DT is already saying.
> >
> > Maxime
> >
>
> --
> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2018-09-19 16:20 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-07  7:22 [PATCH 0/5] Fix A64 HDMI PHY device tree binding Icenowy Zheng
2018-09-07  7:22 ` [PATCH 1/5] dt-bindings: sun4i-drm: drop second PLL from A64 HDMI PHY binding Icenowy Zheng
2018-09-10 14:22   ` Maxime Ripard
2018-09-07  7:22 ` [PATCH 2/5] drm: sun4i: drop second PLL from A64 HDMI PHY Icenowy Zheng
2018-09-07  7:22 ` [PATCH 3/5] dt-bindings: sun4i-drm: add compatible for R40 " Icenowy Zheng
2018-09-07  7:22 ` [PATCH 4/5] drm/sun4i: add support " Icenowy Zheng
2018-09-07  7:22 ` [PATCH 5/5] ARM: sun8i: dts: drop A64 HDMI PHY fallback compatible from R40 DT Icenowy Zheng
2018-09-10 14:23   ` Maxime Ripard
2018-09-10 14:32     ` Jernej Škrabec
2018-09-17 14:54       ` Maxime Ripard
2018-09-17 22:57         ` Icenowy Zheng
2018-09-19 16:20           ` [linux-sunxi] " Chen-Yu Tsai
2018-09-10  5:03 ` [linux-sunxi] [PATCH 0/5] Fix A64 HDMI PHY device tree binding Chen-Yu Tsai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).