linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support
@ 2018-07-26 17:12 Icenowy Zheng
  2018-07-26 17:12 ` [PATCH v3.1 01/10] clk: sunxi-ng: a64: Add minimal rate for video PLLs Icenowy Zheng
                   ` (10 more replies)
  0 siblings, 11 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-26 17:12 UTC (permalink / raw)
  To: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi, Icenowy Zheng

Allwinner A64 has display engine pipeline like other Allwinner SOC's A83T/H3/H5.

A64 behaviour similar to Allwinner A83T where
Mixer0 => TCON0 => LVDS/RGB/MIPI-DSI
Mixer1 => TCON1 => HDMI
as per Display System Block Diagram from the A64 user manual.

This is third patch-set followed with previous RFC[1], first and second
series[2][3] and merely concentrated on HDMI pipeline through TCON1 and
rest will add eventually.

I just rebased and slightly re-integrated the patchset according to the
requirments of the maintainer, and added the mixer0->tcon0 pipeline.
The further maintainship of the patchset still needs to be discussed
between I and Jagan.

--Icenowy

Icenowy Zheng (1):
  dt-bindings: sun4i-drm: add HDMI VCC supply property for sun8i-dw-hdmi

Jagan Teki (8):
  clk: sunxi-ng: a64: Add minimal rate for video PLLs
  dt-bindings: display: Add compatible for A64 DE2 display pipeline
  drm/sun4i: Add support for A64 mixers
  drm/sun4i: Add support for A64 display engine
  dt-bindings: display: Add compatible for A64 HDMI
  dt-bindings: clock: sun50i-a64-ccu: Add PLL_VIDEO[0-1] macros
  arm64: dts: allwinner: a64: Add display pipeline
  arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI

Jernej Skrabec (1):
  drm/sun4i: Add support for HDMI voltage regulator

 .../bindings/display/sunxi/sun4i-drm.txt      |   9 +
 .../dts/allwinner/sun50i-a64-bananapi-m64.dts |  34 ++++
 .../dts/allwinner/sun50i-a64-nanopi-a64.dts   |  34 ++++
 .../dts/allwinner/sun50i-a64-olinuxino.dts    |  34 ++++
 .../dts/allwinner/sun50i-a64-orangepi-win.dts |  34 ++++
 .../boot/dts/allwinner/sun50i-a64-pine64.dts  |  34 ++++
 .../allwinner/sun50i-a64-sopine-baseboard.dts |  34 ++++
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 169 ++++++++++++++++++
 drivers/clk/sunxi-ng/ccu-sun50i-a64.c         |  46 ++---
 drivers/gpu/drm/sun4i/sun4i_drv.c             |   1 +
 drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c         |  17 +-
 drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h         |   2 +
 drivers/gpu/drm/sun4i/sun8i_mixer.c           |  24 +++
 include/dt-bindings/clock/sun50i-a64-ccu.h    |   2 +
 14 files changed, 451 insertions(+), 23 deletions(-)

-- 
2.18.0


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

* [PATCH v3.1 01/10] clk: sunxi-ng: a64: Add minimal rate for video PLLs
  2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
@ 2018-07-26 17:12 ` Icenowy Zheng
  2018-07-26 17:53   ` [linux-sunxi] " Jernej Škrabec
  2018-07-26 17:12 ` [PATCH v3.1 02/10] dt-bindings: display: Add compatible for A64 DE2 display pipeline Icenowy Zheng
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-26 17:12 UTC (permalink / raw)
  To: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi, Icenowy Zheng

From: Jagan Teki <jagan@amarulasolutions.com>

According to documentation and experience with other similar SoCs, video
PLLs don't work stable if their output frequency is set below 192 MHz.

Because of that, set minimal rate to both A64 video PLLs to 192 MHz.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
Changes for v3.1, v3:
- none 
Changes for v2:
- New patch

 drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 46 ++++++++++++++-------------
 1 file changed, 24 insertions(+), 22 deletions(-)

diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
index ee9c12cf3f08..d0e30192f0cf 100644
--- a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
@@ -64,17 +64,18 @@ static SUNXI_CCU_NM_WITH_GATE_LOCK(pll_audio_base_clk, "pll-audio-base",
 				   BIT(28),	/* lock */
 				   CLK_SET_RATE_UNGATE);
 
-static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK(pll_video0_clk, "pll-video0",
-					"osc24M", 0x010,
-					8, 7,		/* N */
-					0, 4,		/* M */
-					BIT(24),	/* frac enable */
-					BIT(25),	/* frac select */
-					270000000,	/* frac rate 0 */
-					297000000,	/* frac rate 1 */
-					BIT(31),	/* gate */
-					BIT(28),	/* lock */
-					CLK_SET_RATE_UNGATE);
+static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK_MIN(pll_video0_clk, "pll-video0",
+					    "osc24M", 0x010,
+					    192000000,	/* Minimum rate */
+					    8, 7,		/* N */
+					    0, 4,		/* M */
+					    BIT(24),	/* frac enable */
+					    BIT(25),	/* frac select */
+					    270000000,	/* frac rate 0 */
+					    297000000,	/* frac rate 1 */
+					    BIT(31),	/* gate */
+					    BIT(28),	/* lock */
+					    CLK_SET_RATE_UNGATE);
 
 static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK(pll_ve_clk, "pll-ve",
 					"osc24M", 0x018,
@@ -125,17 +126,18 @@ static struct ccu_nk pll_periph1_clk = {
 	},
 };
 
-static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK(pll_video1_clk, "pll-video1",
-					"osc24M", 0x030,
-					8, 7,		/* N */
-					0, 4,		/* M */
-					BIT(24),	/* frac enable */
-					BIT(25),	/* frac select */
-					270000000,	/* frac rate 0 */
-					297000000,	/* frac rate 1 */
-					BIT(31),	/* gate */
-					BIT(28),	/* lock */
-					CLK_SET_RATE_UNGATE);
+static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK_MIN(pll_video1_clk, "pll-video1",
+					    "osc24M", 0x030,
+					    192000000,	/* Minimum rate */
+					    8, 7,		/* N */
+					    0, 4,		/* M */
+					    BIT(24),	/* frac enable */
+					    BIT(25),	/* frac select */
+					    270000000,	/* frac rate 0 */
+					    297000000,	/* frac rate 1 */
+					    BIT(31),	/* gate */
+					    BIT(28),	/* lock */
+					    CLK_SET_RATE_UNGATE);
 
 static SUNXI_CCU_NM_WITH_FRAC_GATE_LOCK(pll_gpu_clk, "pll-gpu",
 					"osc24M", 0x038,
-- 
2.18.0


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

* [PATCH v3.1 02/10] dt-bindings: display: Add compatible for A64 DE2 display pipeline
  2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
  2018-07-26 17:12 ` [PATCH v3.1 01/10] clk: sunxi-ng: a64: Add minimal rate for video PLLs Icenowy Zheng
@ 2018-07-26 17:12 ` Icenowy Zheng
  2018-07-26 17:12 ` [PATCH v3.1 03/10] drm/sun4i: Add support for A64 mixers Icenowy Zheng
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-26 17:12 UTC (permalink / raw)
  To: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi, Icenowy Zheng

From: Jagan Teki <jagan@amarulasolutions.com>

Allwinner A64 has a DE2 display pipeline. The TCONs are similar to the
ones in A83T, but the mixers are new (similar to the later R40 SoC).

This patch adds dt-binding documentation for A64 DE2 display pipeline.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Rob Herring <robh@kernel.org>
[Icenowy: Refactor and also cover TCON0]
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
Changes for v3.1:
- added mixer0 and TCON0
Changes for v3:
- collect Rob r-w-b tag
Changes for v2:
- Add fallback compatible for tcon1
- Add separate compatible for mixer1 

 .../devicetree/bindings/display/sunxi/sun4i-drm.txt          | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
index f8773ecb7525..7b79c5e3dffc 100644
--- a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
+++ b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
@@ -151,6 +151,8 @@ Required properties:
    * allwinner,sun8i-v3s-tcon
    * allwinner,sun9i-a80-tcon-lcd
    * allwinner,sun9i-a80-tcon-tv
+   * "allwinner,sun50i-a64-tcon-lcd", "allwinner,sun8i-a83t-tcon-lcd"
+   * "allwinner,sun50i-a64-tcon-tv", "allwinner,sun8i-a83t-tcon-tv"
  - reg: base address and size of memory-mapped region
  - interrupts: interrupt associated to this IP
  - clocks: phandles to the clocks feeding the TCON.
@@ -370,6 +372,8 @@ Required properties:
     * allwinner,sun8i-a83t-de2-mixer-1
     * allwinner,sun8i-h3-de2-mixer-0
     * allwinner,sun8i-v3s-de2-mixer
+    * allwinner,sun50i-a64-de2-mixer-0
+    * allwinner,sun50i-a64-de2-mixer-1
   - reg: base address and size of the memory-mapped region.
   - clocks: phandles to the clocks feeding the mixer
     * bus: the mixer interface clock
@@ -403,6 +407,7 @@ Required properties:
     * allwinner,sun8i-r40-display-engine
     * allwinner,sun8i-v3s-display-engine
     * allwinner,sun9i-a80-display-engine
+    * allwinner,sun50i-a64-display-engine
 
   - allwinner,pipelines: list of phandle to the display engine
     frontends (DE 1.0) or mixers (DE 2.0) available.
-- 
2.18.0


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

* [PATCH v3.1 03/10] drm/sun4i: Add support for A64 mixers
  2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
  2018-07-26 17:12 ` [PATCH v3.1 01/10] clk: sunxi-ng: a64: Add minimal rate for video PLLs Icenowy Zheng
  2018-07-26 17:12 ` [PATCH v3.1 02/10] dt-bindings: display: Add compatible for A64 DE2 display pipeline Icenowy Zheng
@ 2018-07-26 17:12 ` Icenowy Zheng
  2018-07-26 17:56   ` [linux-sunxi] " Jernej Škrabec
  2018-07-26 17:12 ` [PATCH v3.1 04/10] drm/sun4i: Add support for A64 display engine Icenowy Zheng
                   ` (7 subsequent siblings)
  10 siblings, 1 reply; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-26 17:12 UTC (permalink / raw)
  To: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi, Icenowy Zheng

From: Jagan Teki <jagan@amarulasolutions.com>

Mixers in Allwinner have similar capabilities as others SoCs with DE2.

Add support for them.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
[Icenowy: Add mixer0]
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
Changes for v3.1:
- Add mixer0
Changes for v3:
- none 
Changes for v2:
- New patch

 drivers/gpu/drm/sun4i/sun8i_mixer.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/sun8i_mixer.c
index fc3713608f78..8b3d02b146b7 100644
--- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
@@ -569,6 +569,22 @@ static const struct sun8i_mixer_cfg sun8i_v3s_mixer_cfg = {
 	.mod_rate = 150000000,
 };
 
+static const struct sun8i_mixer_cfg sun50i_a64_mixer0_cfg = {
+	.ccsc		= 0,
+	.mod_rate	= 297000000,
+	.scaler_mask	= 0xf,
+	.ui_num		= 3,
+	.vi_num		= 1,
+};
+
+static const struct sun8i_mixer_cfg sun50i_a64_mixer1_cfg = {
+	.ccsc		= 1,
+	.mod_rate	= 297000000,
+	.scaler_mask	= 0x3,
+	.ui_num		= 1,
+	.vi_num		= 1,
+};
+
 static const struct of_device_id sun8i_mixer_of_table[] = {
 	{
 		.compatible = "allwinner,sun8i-a83t-de2-mixer-0",
@@ -594,6 +610,14 @@ static const struct of_device_id sun8i_mixer_of_table[] = {
 		.compatible = "allwinner,sun8i-v3s-de2-mixer",
 		.data = &sun8i_v3s_mixer_cfg,
 	},
+	{
+		.compatible = "allwinner,sun50i-a64-de2-mixer-0",
+		.data = &sun50i_a64_mixer0_cfg,
+	},
+	{
+		.compatible = "allwinner,sun50i-a64-de2-mixer-1",
+		.data = &sun50i_a64_mixer1_cfg,
+	},
 	{ }
 };
 MODULE_DEVICE_TABLE(of, sun8i_mixer_of_table);
-- 
2.18.0


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

* [PATCH v3.1 04/10] drm/sun4i: Add support for A64 display engine
  2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
                   ` (2 preceding siblings ...)
  2018-07-26 17:12 ` [PATCH v3.1 03/10] drm/sun4i: Add support for A64 mixers Icenowy Zheng
@ 2018-07-26 17:12 ` Icenowy Zheng
  2018-07-26 17:12 ` [PATCH v3.1 05/10] dt-bindings: display: Add compatible for A64 HDMI Icenowy Zheng
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-26 17:12 UTC (permalink / raw)
  To: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi, Icenowy Zheng

From: Jagan Teki <jagan@amarulasolutions.com>

Display Engine(DE2) in Allwinner A64 has two mixers and tcons.

The routing for mixer0 is through tcon0 and connected to
LVDS/RGB/MIPI-DSI controller.

The routing for mixer1 is through tcon1 and connected to HDMI.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
Changes for v3.1, v3, v2:
- none

 drivers/gpu/drm/sun4i/sun4i_drv.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
index dd19d674055c..e3c1c436b9d5 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -421,6 +421,7 @@ static const struct of_device_id sun4i_drv_of_table[] = {
 	{ .compatible = "allwinner,sun8i-r40-display-engine" },
 	{ .compatible = "allwinner,sun8i-v3s-display-engine" },
 	{ .compatible = "allwinner,sun9i-a80-display-engine" },
+	{ .compatible = "allwinner,sun50i-a64-display-engine" },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, sun4i_drv_of_table);
-- 
2.18.0


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

* [PATCH v3.1 05/10] dt-bindings: display: Add compatible for A64 HDMI
  2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
                   ` (3 preceding siblings ...)
  2018-07-26 17:12 ` [PATCH v3.1 04/10] drm/sun4i: Add support for A64 display engine Icenowy Zheng
@ 2018-07-26 17:12 ` Icenowy Zheng
  2018-07-26 17:12 ` [PATCH v3.1 06/10] dt-bindings: clock: sun50i-a64-ccu: Add PLL_VIDEO[0-1] macros Icenowy Zheng
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-26 17:12 UTC (permalink / raw)
  To: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi, Icenowy Zheng

From: Jagan Teki <jagan@amarulasolutions.com>

The HDMI controller on Allwinner A64 is similar on the one on
H3/H5/A83T (although the PHY is different with A83T).

Add A64 compatible and append A83T compatible as fallback.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Rob Herring <robh@kernel.org>
[Icenowy: refactor commit log]
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
Changes for v3.1:
- Refactor commit log to make it more clear.
Changes for v3:
- collect Rob r-w-b tag
Changes for v2:
- Add fallback compatible

 Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
index 7b79c5e3dffc..fdb8fb29033f 100644
--- a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
+++ b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
@@ -78,6 +78,7 @@ Required properties:
 
   - compatible: value must be one of:
     * "allwinner,sun8i-a83t-dw-hdmi"
+    * "allwinner,sun50i-a64-dw-hdmi", "allwinner,sun8i-a83t-dw-hdmi"
   - reg: base address and size of memory-mapped region
   - reg-io-width: See dw_hdmi.txt. Shall be 1.
   - interrupts: HDMI interrupt number
-- 
2.18.0


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

* [PATCH v3.1 06/10] dt-bindings: clock: sun50i-a64-ccu: Add PLL_VIDEO[0-1] macros
  2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
                   ` (4 preceding siblings ...)
  2018-07-26 17:12 ` [PATCH v3.1 05/10] dt-bindings: display: Add compatible for A64 HDMI Icenowy Zheng
@ 2018-07-26 17:12 ` Icenowy Zheng
  2018-07-26 17:59   ` [linux-sunxi] " Jernej Škrabec
  2018-07-26 17:12 ` [PATCH v3.1 07/10] arm64: dts: allwinner: a64: Add display pipeline Icenowy Zheng
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-26 17:12 UTC (permalink / raw)
  To: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi, Icenowy Zheng

From: Jagan Teki <jagan@amarulasolutions.com>

Allwinner A64 has two clock parents PLL_VIDEO0 and PLL_VIDEO1.

Include these macros on dt-bindings so-that the same can be
used while defining CCU clock phadles.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
Changes for v3.1:
- none
Changes for v3:
- collect Rob r-w-b tag
Changes for v2:
- new patch

 include/dt-bindings/clock/sun50i-a64-ccu.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/dt-bindings/clock/sun50i-a64-ccu.h b/include/dt-bindings/clock/sun50i-a64-ccu.h
index d66432c6e675..d1d7d5b7d06a 100644
--- a/include/dt-bindings/clock/sun50i-a64-ccu.h
+++ b/include/dt-bindings/clock/sun50i-a64-ccu.h
@@ -43,7 +43,9 @@
 #ifndef _DT_BINDINGS_CLK_SUN50I_A64_H_
 #define _DT_BINDINGS_CLK_SUN50I_A64_H_
 
+#define CLK_PLL_VIDEO0		7
 #define CLK_PLL_PERIPH0		11
+#define CLK_PLL_VIDEO1		15
 
 #define CLK_BUS_MIPI_DSI	28
 #define CLK_BUS_CE		29
-- 
2.18.0


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

* [PATCH v3.1 07/10] arm64: dts: allwinner: a64: Add display pipeline
  2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
                   ` (5 preceding siblings ...)
  2018-07-26 17:12 ` [PATCH v3.1 06/10] dt-bindings: clock: sun50i-a64-ccu: Add PLL_VIDEO[0-1] macros Icenowy Zheng
@ 2018-07-26 17:12 ` Icenowy Zheng
  2018-07-26 18:01   ` [linux-sunxi] " Jernej Škrabec
  2018-07-27 15:42   ` Icenowy Zheng
  2018-07-26 17:12 ` [PATCH v3.1 08/10] dt-bindings: sun4i-drm: add HDMI VCC supply property for sun8i-dw-hdmi Icenowy Zheng
                   ` (3 subsequent siblings)
  10 siblings, 2 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-26 17:12 UTC (permalink / raw)
  To: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi, Icenowy Zheng

From: Jagan Teki <jagan@amarulasolutions.com>

Allwinner A64 have a display pipeline with 2 mixers/TCONs, the first
TCON is connected to LCD and the second is to HDMI.

The HDMI controller/PHY pair is similar to the one on H3/H5, but have
two video PLLs selectable.

Add all required device tree nodes of the display pipeline, including
the TCON0 LCD one and the TCON1 HDMI one.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
[Icenowy: refactor commit message and add 1st pipeline]
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
Changes for v3.1:
- Refactor commit message to make it more clear.
- Added first pipeline (mixer0 -> tcon0)
Changes for v3:
- Squash all pipeline components in one patch
- Add status for mixer1 and tcon1
Changes for v2:
- Change compatibles and other based on previous patch changes

 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 169 ++++++++++++++++++
 1 file changed, 169 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index d3daf90a8715..fe9cc673fe07 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -112,6 +112,12 @@
 		};
 	};
 
+	de: display-engine {
+		compatible = "allwinner,sun50i-a64-display-engine";
+		allwinner,pipelines = <&mixer1>;
+		status = "disabled";
+	};
+
 	osc24M: osc24M_clk {
 		#clock-cells = <0>;
 		compatible = "fixed-clock";
@@ -194,6 +200,55 @@
 				#clock-cells = <1>;
 				#reset-cells = <1>;
 			};
+
+			mixer0: mixer@100000 {
+				compatible = "allwinner,sun50i-a64-de2-mixer-0";
+				reg = <0x100000 0x100000>;
+				clocks = <&display_clocks CLK_BUS_MIXER0>,
+					 <&display_clocks CLK_MIXER0>;
+				clock-names = "bus",
+					      "mod";
+				resets = <&display_clocks RST_MIXER0>;
+				status = "disabled";
+
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					mixer0_out: port@1 {
+						reg = <1>;
+
+						mixer0_out_tcon0: endpoint {
+							remote-endpoint = <&tcon0_in_mixer0>;
+						};
+					};
+				};
+			};
+
+			mixer1: mixer@200000 {
+				compatible = "allwinner,sun50i-a64-de2-mixer-1";
+				reg = <0x200000 0x100000>;
+				clocks = <&display_clocks CLK_BUS_MIXER1>,
+					 <&display_clocks CLK_MIXER1>;
+				clock-names = "bus",
+					      "mod";
+				/* The reset line is shared */
+				resets = <&display_clocks RST_WB>;
+				status = "disabled";
+
+				ports {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					mixer1_out: port@1 {
+						reg = <1>;
+
+						mixer1_out_tcon1: endpoint {
+							remote-endpoint = <&tcon1_in_mixer1>;
+						};
+					};
+				};
+			};
 		};
 
 		syscon: syscon@1c00000 {
@@ -228,6 +283,76 @@
 			#dma-cells = <1>;
 		};
 
+		tcon0: lcd-controller@1c0c000 {
+			compatible = "allwinner,sun50i-a64-tcon-lcd",
+				     "allwinner,sun8i-a83t-tcon-lcd";
+			reg = <0x01c0c000 0x1000>;
+			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
+			clock-names = "ahb", "tcon-ch0";
+			clock-output-names = "tcon-pixel-clock";
+			resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>;
+			reset-names = "lcd", "lvds";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				tcon0_in: port@0 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <0>;
+
+					tcon0_in_mixer0: endpoint@0 {
+						reg = <0>;
+						remote-endpoint = <&mixer0_out_tcon0>;
+					};
+				};
+
+				tcon0_out: port@1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <1>;
+				};
+			};
+		};
+
+		tcon1: lcd-controller@1c0d000 {
+			compatible = "allwinner,sun50i-a64-tcon-tv",
+				     "allwinner,sun8i-a83t-tcon-tv";
+			reg = <0x01c0d000 0x1000>;
+			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>;
+			clock-names = "ahb", "tcon-ch1";
+			resets = <&ccu RST_BUS_TCON1>;
+			reset-names = "lcd";
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				tcon1_in: port@0 {
+					reg = <0>;
+
+					tcon1_in_mixer1: endpoint {
+						remote-endpoint = <&mixer1_out_tcon1>;
+					};
+				};
+
+				tcon1_out: port@1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <1>;
+
+					tcon1_out_hdmi: endpoint@1 {
+						reg = <1>;
+						remote-endpoint = <&hdmi_in_tcon1>;
+					};
+				};
+			};
+		};
+
 		mmc0: mmc@1c0f000 {
 			compatible = "allwinner,sun50i-a64-mmc";
 			reg = <0x01c0f000 0x1000>;
@@ -686,6 +811,50 @@
 			status = "disabled";
 		};
 
+		hdmi: hdmi@1ee0000 {
+			compatible = "allwinner,sun50i-a64-dw-hdmi",
+				     "allwinner,sun8i-a83t-dw-hdmi";
+			reg = <0x01ee0000 0x10000>;
+			reg-io-width = <1>;
+			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
+				 <&ccu CLK_HDMI>;
+			clock-names = "iahb", "isfr", "tmds";
+			resets = <&ccu RST_BUS_HDMI1>;
+			reset-names = "ctrl";
+			phys = <&hdmi_phy>;
+			phy-names = "hdmi-phy";
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				hdmi_in: port@0 {
+					reg = <0>;
+
+					hdmi_in_tcon1: endpoint {
+						remote-endpoint = <&tcon1_out_hdmi>;
+					};
+				};
+
+				hdmi_out: port@1 {
+					reg = <1>;
+				};
+			};
+		};
+
+		hdmi_phy: hdmi-phy@1ef0000 {
+			compatible = "allwinner,sun50i-a64-hdmi-phy";
+			reg = <0x01ef0000 0x10000>;
+			clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
+				 <&ccu CLK_PLL_VIDEO0>, <&ccu CLK_PLL_VIDEO1>;
+			clock-names = "bus", "mod", "pll-0", "pll-1";
+			resets = <&ccu RST_BUS_HDMI0>;
+			reset-names = "phy";
+			#phy-cells = <0>;
+		};
+
 		rtc: rtc@1f00000 {
 			compatible = "allwinner,sun6i-a31-rtc";
 			reg = <0x01f00000 0x54>;
-- 
2.18.0


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

* [PATCH v3.1 08/10] dt-bindings: sun4i-drm: add HDMI VCC supply property for sun8i-dw-hdmi
  2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
                   ` (6 preceding siblings ...)
  2018-07-26 17:12 ` [PATCH v3.1 07/10] arm64: dts: allwinner: a64: Add display pipeline Icenowy Zheng
@ 2018-07-26 17:12 ` Icenowy Zheng
  2018-07-30 23:12   ` Rob Herring
  2018-07-26 17:12 ` [PATCH v3.1 09/10] drm/sun4i: Add support for HDMI voltage regulator Icenowy Zheng
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-26 17:12 UTC (permalink / raw)
  To: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi, Icenowy Zheng

Allwiner SoCs with DesignWare HDMI controller all come with a "HVCC"
pin, which is the VCC of HDMI part.

Add a supply property to specify HVCC's regulator in the device tree.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
Changes in v3.1:
- New patch.

 Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
index fdb8fb29033f..cb4769913e89 100644
--- a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
+++ b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
@@ -97,6 +97,9 @@ Required properties:
     first port should be the input endpoint. The second should be the
     output, usually to an HDMI connector.
 
+Optional properties:
+  - hdmi-supply: the VCC power supply of the controller
+
 DWC HDMI PHY
 ------------
 
-- 
2.18.0


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

* [PATCH v3.1 09/10] drm/sun4i: Add support for HDMI voltage regulator
  2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
                   ` (7 preceding siblings ...)
  2018-07-26 17:12 ` [PATCH v3.1 08/10] dt-bindings: sun4i-drm: add HDMI VCC supply property for sun8i-dw-hdmi Icenowy Zheng
@ 2018-07-26 17:12 ` Icenowy Zheng
  2018-07-26 17:12 ` [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI Icenowy Zheng
  2018-07-27 12:59 ` [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Maxime Ripard
  10 siblings, 0 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-26 17:12 UTC (permalink / raw)
  To: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi, Icenowy Zheng

From: Jernej Skrabec <jernej.skrabec@siol.net>

Some boards have HDMI VCC pin connected to voltage regulator which may
not be turned on by default.

Add support for such boards by adding voltage regulator handling code to
HDMI driver.

Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
Changes in v3.1:
- New patch. (Replaced "drm: sun4i: add support for HVCC regulator
  for DWC HDMI glue" by Icenowy.)

 drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c | 17 ++++++++++++++++-
 drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h |  2 ++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c b/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
index 31875b636434..bf7bf4f2fb29 100644
--- a/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
+++ b/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c
@@ -125,10 +125,22 @@ static int sun8i_dw_hdmi_bind(struct device *dev, struct device *master,
 		return PTR_ERR(hdmi->clk_tmds);
 	}
 
+	hdmi->regulator = devm_regulator_get(dev, "hdmi");
+	if (IS_ERR(hdmi->regulator)) {
+		dev_err(dev, "Couldn't get regulator\n");
+		return PTR_ERR(hdmi->regulator);
+	}
+
+	ret = regulator_enable(hdmi->regulator);
+	if (ret) {
+		dev_err(dev, "Failed to enable regulator\n");
+		return ret;
+	}
+
 	ret = reset_control_deassert(hdmi->rst_ctrl);
 	if (ret) {
 		dev_err(dev, "Could not deassert ctrl reset control\n");
-		return ret;
+		goto err_disable_regulator;
 	}
 
 	ret = clk_prepare_enable(hdmi->clk_tmds);
@@ -183,6 +195,8 @@ static int sun8i_dw_hdmi_bind(struct device *dev, struct device *master,
 	clk_disable_unprepare(hdmi->clk_tmds);
 err_assert_ctrl_reset:
 	reset_control_assert(hdmi->rst_ctrl);
+err_disable_regulator:
+	regulator_disable(hdmi->regulator);
 
 	return ret;
 }
@@ -196,6 +210,7 @@ static void sun8i_dw_hdmi_unbind(struct device *dev, struct device *master,
 	sun8i_hdmi_phy_remove(hdmi);
 	clk_disable_unprepare(hdmi->clk_tmds);
 	reset_control_assert(hdmi->rst_ctrl);
+	regulator_disable(hdmi->regulator);
 }
 
 static const struct component_ops sun8i_dw_hdmi_ops = {
diff --git a/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h b/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
index aadbe0a10b0c..7fdc1ecd2892 100644
--- a/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
+++ b/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h
@@ -10,6 +10,7 @@
 #include <drm/drm_encoder.h>
 #include <linux/clk.h>
 #include <linux/regmap.h>
+#include <linux/regulator/consumer.h>
 #include <linux/reset.h>
 
 #define SUN8I_HDMI_PHY_DBG_CTRL_REG	0x0000
@@ -176,6 +177,7 @@ struct sun8i_dw_hdmi {
 	struct drm_encoder		encoder;
 	struct sun8i_hdmi_phy		*phy;
 	struct dw_hdmi_plat_data	plat_data;
+	struct regulator		*regulator;
 	struct reset_control		*rst_ctrl;
 };
 
-- 
2.18.0


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

* [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI
  2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
                   ` (8 preceding siblings ...)
  2018-07-26 17:12 ` [PATCH v3.1 09/10] drm/sun4i: Add support for HDMI voltage regulator Icenowy Zheng
@ 2018-07-26 17:12 ` Icenowy Zheng
  2018-07-26 18:03   ` [linux-sunxi] " Jernej Škrabec
  2018-07-27 12:56   ` Maxime Ripard
  2018-07-27 12:59 ` [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Maxime Ripard
  10 siblings, 2 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-26 17:12 UTC (permalink / raw)
  To: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi, Icenowy Zheng

From: Jagan Teki <jagan@amarulasolutions.com>

Enable all necessary device tree nodes and add connector node to device
trees for all supported A64 boards with HDMI.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
[Icenowy: squash all board patches altogether and change supply name]
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
---
Changes in v3,1:
- Squash all enablement patches altogether.
- Change supply name to match DT binding & driver change.
Changes for v3:
- Enable all pipeline components
Changes for v2:
- none

 .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 34 +++++++++++++++++++
 .../dts/allwinner/sun50i-a64-nanopi-a64.dts   | 34 +++++++++++++++++++
 .../dts/allwinner/sun50i-a64-olinuxino.dts    | 34 +++++++++++++++++++
 .../dts/allwinner/sun50i-a64-orangepi-win.dts | 34 +++++++++++++++++++
 .../boot/dts/allwinner/sun50i-a64-pine64.dts  | 34 +++++++++++++++++++
 .../allwinner/sun50i-a64-sopine-baseboard.dts | 34 +++++++++++++++++++
 6 files changed, 204 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
index 094cfed13df9..0d8f5571d574 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
@@ -60,6 +60,17 @@
 		stdout-path = "serial0:115200n8";
 	};
 
+	connector {
+		compatible = "hdmi-connector";
+		type = "a";
+
+		port {
+			hdmi_con_in: endpoint {
+				remote-endpoint = <&hdmi_out_con>;
+			};
+		};
+	};
+
 	leds {
 		compatible = "gpio-leds";
 
@@ -86,6 +97,10 @@
 	};
 };
 
+&de {
+	status = "okay";
+};
+
 &ehci0 {
 	status = "okay";
 };
@@ -103,6 +118,17 @@
 	status = "okay";
 };
 
+&hdmi {
+	hdmi-supply = <&reg_dldo1>;
+	status = "okay";
+};
+
+&hdmi_out {
+	hdmi_out_con: endpoint {
+		remote-endpoint = <&hdmi_con_in>;
+	};
+};
+
 &i2c1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&i2c1_pins>;
@@ -120,6 +146,10 @@
 	};
 };
 
+&mixer1 {
+	status = "okay";
+};
+
 &mmc0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc0_pins>;
@@ -300,6 +330,10 @@
 	vcc-hdmi-supply = <&reg_dldo1>;
 };
 
+&tcon1 {
+	status = "okay";
+};
+
 &uart0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart0_pins_a>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
index 98dbff19f5cc..2bcf02f46366 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
@@ -57,6 +57,21 @@
 	chosen {
 		stdout-path = "serial0:115200n8";
 	};
+
+	connector {
+		compatible = "hdmi-connector";
+		type = "a";
+
+		port {
+			hdmi_con_in: endpoint {
+				remote-endpoint = <&hdmi_out_con>;
+			};
+		};
+	};
+};
+
+&de {
+	status = "okay";
 };
 
 &ehci0 {
@@ -67,6 +82,17 @@
 	status = "okay";
 };
 
+&hdmi {
+	hdmi-supply = <&reg_dldo1>;
+	status = "okay";
+};
+
+&hdmi_out {
+	hdmi_out_con: endpoint {
+		remote-endpoint = <&hdmi_con_in>;
+	};
+};
+
 /* i2c1 connected with gpio headers like pine64, bananapi */
 &i2c1 {
 	pinctrl-names = "default";
@@ -78,6 +104,10 @@
 	bias-pull-up;
 };
 
+&mixer1 {
+	status = "okay";
+};
+
 &mmc0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc0_pins>;
@@ -199,6 +229,10 @@
 	vcc-hdmi-supply = <&reg_dldo1>;
 };
 
+&tcon1 {
+	status = "okay";
+};
+
 &uart0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart0_pins_a>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
index 3f531393eaee..5445a7a1db51 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
@@ -58,12 +58,42 @@
 		stdout-path = "serial0:115200n8";
 	};
 
+	connector {
+		compatible = "hdmi-connector";
+		type = "a";
+
+		port {
+			hdmi_con_in: endpoint {
+				remote-endpoint = <&hdmi_out_con>;
+			};
+		};
+	};
+
 	wifi_pwrseq: wifi_pwrseq {
 		compatible = "mmc-pwrseq-simple";
 		reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
 	};
 };
 
+&de {
+	status = "okay";
+};
+
+&hdmi {
+	hdmi-supply = <&reg_dldo1>;
+	status = "okay";
+};
+
+&hdmi_out {
+	hdmi_out_con: endpoint {
+		remote-endpoint = <&hdmi_con_in>;
+	};
+};
+
+&mixer1 {
+	status = "okay";
+};
+
 &mmc0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc0_pins>;
@@ -218,6 +248,10 @@
 	vcc-hdmi-supply = <&reg_dldo1>;
 };
 
+&tcon1 {
+	status = "okay";
+};
+
 &uart0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart0_pins_a>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
index 1221764f5719..81a8f92c6c35 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
@@ -57,12 +57,42 @@
 	chosen {
 		stdout-path = "serial0:115200n8";
 	};
+
+	connector {
+		compatible = "hdmi-connector";
+		type = "a";
+
+		port {
+			hdmi_con_in: endpoint {
+				remote-endpoint = <&hdmi_out_con>;
+			};
+		};
+	};
+};
+
+&de {
+	status = "okay";
 };
 
 &ehci1 {
 	status = "okay";
 };
 
+&hdmi {
+	hdmi-supply = <&reg_dldo1>;
+	status = "okay";
+};
+
+&hdmi_out {
+	hdmi_out_con: endpoint {
+		remote-endpoint = <&hdmi_con_in>;
+	};
+};
+
+&mixer1 {
+	status = "okay";
+};
+
 &mmc0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc0_pins>;
@@ -195,6 +225,10 @@
 	vcc-hdmi-supply = <&reg_dldo1>;
 };
 
+&tcon1 {
+	status = "okay";
+};
+
 &uart0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart0_pins_a>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
index 1b9b92e541d2..1b972bade9f6 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
@@ -62,6 +62,21 @@
 	chosen {
 		stdout-path = "serial0:115200n8";
 	};
+
+	connector {
+		compatible = "hdmi-connector";
+		type = "a";
+
+		port {
+			hdmi_con_in: endpoint {
+				remote-endpoint = <&hdmi_out_con>;
+			};
+		};
+	};
+};
+
+&de {
+	status = "okay";
 };
 
 &ehci0 {
@@ -82,6 +97,17 @@
 
 };
 
+&hdmi {
+	hdmi-supply = <&reg_dldo1>;
+	status = "okay";
+};
+
+&hdmi_out {
+	hdmi_out_con: endpoint {
+		remote-endpoint = <&hdmi_con_in>;
+	};
+};
+
 &i2c1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&i2c1_pins>;
@@ -99,6 +125,10 @@
 	};
 };
 
+&mixer1 {
+	status = "okay";
+};
+
 &mmc0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc0_pins>;
@@ -238,6 +268,10 @@
 	status = "disabled";
 };
 
+&tcon1 {
+	status = "okay";
+};
+
 /* On Exp and Euler connectors */
 &uart0 {
 	pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
index c21f2331add6..eff44b069b1d 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
@@ -61,6 +61,17 @@
 		stdout-path = "serial0:115200n8";
 	};
 
+	connector {
+		compatible = "hdmi-connector";
+		type = "a";
+
+		port {
+			hdmi_con_in: endpoint {
+				remote-endpoint = <&hdmi_out_con>;
+			};
+		};
+	};
+
 	reg_vcc1v8: vcc1v8 {
 		compatible = "regulator-fixed";
 		regulator-name = "vcc1v8";
@@ -69,6 +80,10 @@
 	};
 };
 
+&de {
+	status = "okay";
+};
+
 &ehci0 {
 	status = "okay";
 };
@@ -86,6 +101,17 @@
 	status = "okay";
 };
 
+&hdmi {
+	hdmi-supply = <&reg_dldo1>;
+	status = "okay";
+};
+
+&hdmi_out {
+	hdmi_out_con: endpoint {
+		remote-endpoint = <&hdmi_con_in>;
+	};
+};
+
 &mdio {
 	ext_rgmii_phy: ethernet-phy@1 {
 		compatible = "ethernet-phy-ieee802.3-c22";
@@ -93,6 +119,10 @@
 	};
 };
 
+&mixer1 {
+	status = "okay";
+};
+
 &mmc2 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc2_pins>;
@@ -138,6 +168,10 @@
 	vcc-hdmi-supply = <&reg_dldo1>;
 };
 
+&tcon1 {
+	status = "okay";
+};
+
 &uart0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart0_pins_a>;
-- 
2.18.0


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

* Re: [linux-sunxi] [PATCH v3.1 01/10] clk: sunxi-ng: a64: Add minimal rate for video PLLs
  2018-07-26 17:12 ` [PATCH v3.1 01/10] clk: sunxi-ng: a64: Add minimal rate for video PLLs Icenowy Zheng
@ 2018-07-26 17:53   ` Jernej Škrabec
  0 siblings, 0 replies; 29+ messages in thread
From: Jernej Škrabec @ 2018-07-26 17:53 UTC (permalink / raw)
  To: linux-sunxi, icenowy
  Cc: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, dri-devel,
	devicetree, linux-arm-kernel, linux-kernel, linux-clk

Dne četrtek, 26. julij 2018 ob 19:12:48 CEST je Icenowy Zheng napisal(a):
> From: Jagan Teki <jagan@amarulasolutions.com>
> 
> According to documentation and experience with other similar SoCs, video
> PLLs don't work stable if their output frequency is set below 192 MHz.
> 
> Because of that, set minimal rate to both A64 video PLLs to 192 MHz.
> 
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>

Reviewed-by: Jernej Skrabec <jernej.skrabec@siol.net>



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

* Re: [linux-sunxi] [PATCH v3.1 03/10] drm/sun4i: Add support for A64 mixers
  2018-07-26 17:12 ` [PATCH v3.1 03/10] drm/sun4i: Add support for A64 mixers Icenowy Zheng
@ 2018-07-26 17:56   ` Jernej Škrabec
  0 siblings, 0 replies; 29+ messages in thread
From: Jernej Škrabec @ 2018-07-26 17:56 UTC (permalink / raw)
  To: linux-sunxi, icenowy
  Cc: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, dri-devel,
	devicetree, linux-arm-kernel, linux-kernel, linux-clk

Dne četrtek, 26. julij 2018 ob 19:12:50 CEST je Icenowy Zheng napisal(a):
> From: Jagan Teki <jagan@amarulasolutions.com>
> 
> Mixers in Allwinner have similar capabilities as others SoCs with DE2.
> 
> Add support for them.
> 
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> [Icenowy: Add mixer0]
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>

Reviewed-by: Jernej Skrabec <jernej.skrabec@siol.net>

Best regards,
Jernej




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

* Re: [linux-sunxi] [PATCH v3.1 06/10] dt-bindings: clock: sun50i-a64-ccu: Add PLL_VIDEO[0-1] macros
  2018-07-26 17:12 ` [PATCH v3.1 06/10] dt-bindings: clock: sun50i-a64-ccu: Add PLL_VIDEO[0-1] macros Icenowy Zheng
@ 2018-07-26 17:59   ` Jernej Škrabec
  0 siblings, 0 replies; 29+ messages in thread
From: Jernej Škrabec @ 2018-07-26 17:59 UTC (permalink / raw)
  To: linux-sunxi, icenowy
  Cc: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, dri-devel,
	devicetree, linux-arm-kernel, linux-kernel, linux-clk

Dne četrtek, 26. julij 2018 ob 19:12:53 CEST je Icenowy Zheng napisal(a):
> From: Jagan Teki <jagan@amarulasolutions.com>
> 
> Allwinner A64 has two clock parents PLL_VIDEO0 and PLL_VIDEO1.
> 
> Include these macros on dt-bindings so-that the same can be
> used while defining CCU clock phadles.
> 
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> ---
> Changes for v3.1:
> - none
> Changes for v3:
> - collect Rob r-w-b tag
> Changes for v2:
> - new patch
> 
>  include/dt-bindings/clock/sun50i-a64-ccu.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/include/dt-bindings/clock/sun50i-a64-ccu.h
> b/include/dt-bindings/clock/sun50i-a64-ccu.h index
> d66432c6e675..d1d7d5b7d06a 100644
> --- a/include/dt-bindings/clock/sun50i-a64-ccu.h
> +++ b/include/dt-bindings/clock/sun50i-a64-ccu.h
> @@ -43,7 +43,9 @@
>  #ifndef _DT_BINDINGS_CLK_SUN50I_A64_H_
>  #define _DT_BINDINGS_CLK_SUN50I_A64_H_
> 
> +#define CLK_PLL_VIDEO0		7
>  #define CLK_PLL_PERIPH0		11
> +#define CLK_PLL_VIDEO1		15
> 
>  #define CLK_BUS_MIPI_DSI	28
>  #define CLK_BUS_CE		29

You should remove above definitions from drivers/clk/sunxi-ng/ccu-sun50i-a64.h

Best regards,
Jernej




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

* Re: [linux-sunxi] [PATCH v3.1 07/10] arm64: dts: allwinner: a64: Add display pipeline
  2018-07-26 17:12 ` [PATCH v3.1 07/10] arm64: dts: allwinner: a64: Add display pipeline Icenowy Zheng
@ 2018-07-26 18:01   ` Jernej Škrabec
  2018-07-27 15:42   ` Icenowy Zheng
  1 sibling, 0 replies; 29+ messages in thread
From: Jernej Škrabec @ 2018-07-26 18:01 UTC (permalink / raw)
  To: linux-sunxi, icenowy
  Cc: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, dri-devel,
	devicetree, linux-arm-kernel, linux-kernel, linux-clk

Dne četrtek, 26. julij 2018 ob 19:12:54 CEST je Icenowy Zheng napisal(a):
> From: Jagan Teki <jagan@amarulasolutions.com>
> 
> Allwinner A64 have a display pipeline with 2 mixers/TCONs, the first
> TCON is connected to LCD and the second is to HDMI.
> 
> The HDMI controller/PHY pair is similar to the one on H3/H5, but have
> two video PLLs selectable.
> 
> Add all required device tree nodes of the display pipeline, including
> the TCON0 LCD one and the TCON1 HDMI one.
> 
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> [Icenowy: refactor commit message and add 1st pipeline]
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> ---
> Changes for v3.1:
> - Refactor commit message to make it more clear.
> - Added first pipeline (mixer0 -> tcon0)
> Changes for v3:
> - Squash all pipeline components in one patch
> - Add status for mixer1 and tcon1
> Changes for v2:
> - Change compatibles and other based on previous patch changes
> 
>  arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 169 ++++++++++++++++++
>  1 file changed, 169 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi index
> d3daf90a8715..fe9cc673fe07 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> @@ -112,6 +112,12 @@
>  		};
>  	};
> 
> +	de: display-engine {
> +		compatible = "allwinner,sun50i-a64-display-engine";
> +		allwinner,pipelines = <&mixer1>;
> +		status = "disabled";
> +	};
> +
>  	osc24M: osc24M_clk {
>  		#clock-cells = <0>;
>  		compatible = "fixed-clock";
> @@ -194,6 +200,55 @@
>  				#clock-cells = <1>;
>  				#reset-cells = <1>;
>  			};
> +
> +			mixer0: mixer@100000 {
> +				compatible = "allwinner,sun50i-a64-de2-mixer-0";
> +				reg = <0x100000 0x100000>;
> +				clocks = <&display_clocks CLK_BUS_MIXER0>,
> +					 <&display_clocks CLK_MIXER0>;
> +				clock-names = "bus",
> +					      "mod";
> +				resets = <&display_clocks RST_MIXER0>;
> +				status = "disabled";
> +
> +				ports {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					mixer0_out: port@1 {
> +						reg = <1>;
> +
> +						mixer0_out_tcon0: endpoint {
> +							remote-endpoint = <&tcon0_in_mixer0>;
> +						};
> +					};
> +				};
> +			};
> +
> +			mixer1: mixer@200000 {
> +				compatible = "allwinner,sun50i-a64-de2-mixer-1";
> +				reg = <0x200000 0x100000>;
> +				clocks = <&display_clocks CLK_BUS_MIXER1>,
> +					 <&display_clocks CLK_MIXER1>;
> +				clock-names = "bus",
> +					      "mod";
> +				/* The reset line is shared */
> +				resets = <&display_clocks RST_WB>;
> +				status = "disabled";
> +
> +				ports {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					mixer1_out: port@1 {
> +						reg = <1>;
> +
> +						mixer1_out_tcon1: endpoint {
> +							remote-endpoint = <&tcon1_in_mixer1>;
> +						};
> +					};
> +				};
> +			};
>  		};
> 
>  		syscon: syscon@1c00000 {
> @@ -228,6 +283,76 @@
>  			#dma-cells = <1>;
>  		};
> 
> +		tcon0: lcd-controller@1c0c000 {
> +			compatible = "allwinner,sun50i-a64-tcon-lcd",
> +				     "allwinner,sun8i-a83t-tcon-lcd";
> +			reg = <0x01c0c000 0x1000>;
> +			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
> +			clock-names = "ahb", "tcon-ch0";
> +			clock-output-names = "tcon-pixel-clock";
> +			resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>;
> +			reset-names = "lcd", "lvds";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				tcon0_in: port@0 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +					reg = <0>;
> +
> +					tcon0_in_mixer0: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&mixer0_out_tcon0>;
> +					};
> +				};
> +
> +				tcon0_out: port@1 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +					reg = <1>;
> +				};
> +			};
> +		};
> +
> +		tcon1: lcd-controller@1c0d000 {
> +			compatible = "allwinner,sun50i-a64-tcon-tv",
> +				     "allwinner,sun8i-a83t-tcon-tv";
> +			reg = <0x01c0d000 0x1000>;
> +			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>;
> +			clock-names = "ahb", "tcon-ch1";
> +			resets = <&ccu RST_BUS_TCON1>;
> +			reset-names = "lcd";
> +			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				tcon1_in: port@0 {
> +					reg = <0>;
> +
> +					tcon1_in_mixer1: endpoint {
> +						remote-endpoint = <&mixer1_out_tcon1>;
> +					};
> +				};
> +
> +				tcon1_out: port@1 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +					reg = <1>;
> +
> +					tcon1_out_hdmi: endpoint@1 {
> +						reg = <1>;
> +						remote-endpoint = <&hdmi_in_tcon1>;
> +					};
> +				};
> +			};
> +		};
> +
>  		mmc0: mmc@1c0f000 {
>  			compatible = "allwinner,sun50i-a64-mmc";
>  			reg = <0x01c0f000 0x1000>;
> @@ -686,6 +811,50 @@
>  			status = "disabled";
>  		};
> 
> +		hdmi: hdmi@1ee0000 {
> +			compatible = "allwinner,sun50i-a64-dw-hdmi",
> +				     "allwinner,sun8i-a83t-dw-hdmi";
> +			reg = <0x01ee0000 0x10000>;
> +			reg-io-width = <1>;
> +			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
> +				 <&ccu CLK_HDMI>;
> +			clock-names = "iahb", "isfr", "tmds";
> +			resets = <&ccu RST_BUS_HDMI1>;
> +			reset-names = "ctrl";
> +			phys = <&hdmi_phy>;
> +			phy-names = "hdmi-phy";
> +			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				hdmi_in: port@0 {
> +					reg = <0>;
> +
> +					hdmi_in_tcon1: endpoint {
> +						remote-endpoint = <&tcon1_out_hdmi>;
> +					};
> +				};
> +
> +				hdmi_out: port@1 {
> +					reg = <1>;
> +				};
> +			};
> +		};
> +
> +		hdmi_phy: hdmi-phy@1ef0000 {
> +			compatible = "allwinner,sun50i-a64-hdmi-phy";
> +			reg = <0x01ef0000 0x10000>;
> +			clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
> +				 <&ccu CLK_PLL_VIDEO0>, <&ccu CLK_PLL_VIDEO1>;

You should use numbers directly for easier merging through different trees.

Best regards,
Jernej

> +			clock-names = "bus", "mod", "pll-0", "pll-1";
> +			resets = <&ccu RST_BUS_HDMI0>;
> +			reset-names = "phy";
> +			#phy-cells = <0>;
> +		};
> +
>  		rtc: rtc@1f00000 {
>  			compatible = "allwinner,sun6i-a31-rtc";
>  			reg = <0x01f00000 0x54>;





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

* Re: [linux-sunxi] [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI
  2018-07-26 17:12 ` [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI Icenowy Zheng
@ 2018-07-26 18:03   ` Jernej Škrabec
  2018-07-27  0:44     ` Icenowy Zheng
  2018-07-27 12:56   ` Maxime Ripard
  1 sibling, 1 reply; 29+ messages in thread
From: Jernej Škrabec @ 2018-07-26 18:03 UTC (permalink / raw)
  To: linux-sunxi, icenowy
  Cc: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, dri-devel,
	devicetree, linux-arm-kernel, linux-kernel, linux-clk

Dne četrtek, 26. julij 2018 ob 19:12:57 CEST je Icenowy Zheng napisal(a):
> From: Jagan Teki <jagan@amarulasolutions.com>
> 
> Enable all necessary device tree nodes and add connector node to device
> trees for all supported A64 boards with HDMI.
> 
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> [Icenowy: squash all board patches altogether and change supply name]
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> ---
> Changes in v3,1:
> - Squash all enablement patches altogether.
> - Change supply name to match DT binding & driver change.
> Changes for v3:
> - Enable all pipeline components
> Changes for v2:
> - none
> 
>  .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 34 +++++++++++++++++++
>  .../dts/allwinner/sun50i-a64-nanopi-a64.dts   | 34 +++++++++++++++++++
>  .../dts/allwinner/sun50i-a64-olinuxino.dts    | 34 +++++++++++++++++++
>  .../dts/allwinner/sun50i-a64-orangepi-win.dts | 34 +++++++++++++++++++
>  .../boot/dts/allwinner/sun50i-a64-pine64.dts  | 34 +++++++++++++++++++
>  .../allwinner/sun50i-a64-sopine-baseboard.dts | 34 +++++++++++++++++++
>  6 files changed, 204 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts index
> 094cfed13df9..0d8f5571d574 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
> @@ -60,6 +60,17 @@
>  		stdout-path = "serial0:115200n8";
>  	};
> 
> +	connector {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +
> +		port {
> +			hdmi_con_in: endpoint {
> +				remote-endpoint = <&hdmi_out_con>;
> +			};
> +		};
> +	};
> +
>  	leds {
>  		compatible = "gpio-leds";
> 
> @@ -86,6 +97,10 @@
>  	};
>  };
> 
> +&de {
> +	status = "okay";
> +};
> +
>  &ehci0 {
>  	status = "okay";
>  };
> @@ -103,6 +118,17 @@
>  	status = "okay";
>  };
> 
> +&hdmi {
> +	hdmi-supply = <&reg_dldo1>;
> +	status = "okay";
> +};
> +
> +&hdmi_out {
> +	hdmi_out_con: endpoint {
> +		remote-endpoint = <&hdmi_con_in>;
> +	};
> +};
> +
>  &i2c1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&i2c1_pins>;
> @@ -120,6 +146,10 @@
>  	};
>  };
> 
> +&mixer1 {
> +	status = "okay";
> +};
> +
>  &mmc0 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&mmc0_pins>;
> @@ -300,6 +330,10 @@
>  	vcc-hdmi-supply = <&reg_dldo1>;
>  };
> 
> +&tcon1 {
> +	status = "okay";
> +};
> +
>  &uart0 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&uart0_pins_a>;
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts index
> 98dbff19f5cc..2bcf02f46366 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
> @@ -57,6 +57,21 @@
>  	chosen {
>  		stdout-path = "serial0:115200n8";
>  	};
> +
> +	connector {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +
> +		port {
> +			hdmi_con_in: endpoint {
> +				remote-endpoint = <&hdmi_out_con>;
> +			};
> +		};
> +	};
> +};
> +
> +&de {
> +	status = "okay";
>  };
> 
>  &ehci0 {
> @@ -67,6 +82,17 @@
>  	status = "okay";
>  };
> 
> +&hdmi {
> +	hdmi-supply = <&reg_dldo1>;
> +	status = "okay";
> +};
> +
> +&hdmi_out {
> +	hdmi_out_con: endpoint {
> +		remote-endpoint = <&hdmi_con_in>;
> +	};
> +};
> +
>  /* i2c1 connected with gpio headers like pine64, bananapi */
>  &i2c1 {
>  	pinctrl-names = "default";
> @@ -78,6 +104,10 @@
>  	bias-pull-up;
>  };
> 
> +&mixer1 {
> +	status = "okay";
> +};
> +
>  &mmc0 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&mmc0_pins>;
> @@ -199,6 +229,10 @@
>  	vcc-hdmi-supply = <&reg_dldo1>;
>  };
> 
> +&tcon1 {
> +	status = "okay";
> +};
> +
>  &uart0 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&uart0_pins_a>;
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts index
> 3f531393eaee..5445a7a1db51 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
> @@ -58,12 +58,42 @@
>  		stdout-path = "serial0:115200n8";
>  	};
> 
> +	connector {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +
> +		port {
> +			hdmi_con_in: endpoint {
> +				remote-endpoint = <&hdmi_out_con>;
> +			};
> +		};
> +	};
> +
>  	wifi_pwrseq: wifi_pwrseq {
>  		compatible = "mmc-pwrseq-simple";
>  		reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
>  	};
>  };
> 
> +&de {
> +	status = "okay";
> +};
> +
> +&hdmi {
> +	hdmi-supply = <&reg_dldo1>;
> +	status = "okay";
> +};
> +
> +&hdmi_out {
> +	hdmi_out_con: endpoint {
> +		remote-endpoint = <&hdmi_con_in>;
> +	};
> +};
> +
> +&mixer1 {
> +	status = "okay";
> +};
> +
>  &mmc0 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&mmc0_pins>;
> @@ -218,6 +248,10 @@
>  	vcc-hdmi-supply = <&reg_dldo1>;
>  };
> 
> +&tcon1 {
> +	status = "okay";
> +};
> +
>  &uart0 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&uart0_pins_a>;
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts index
> 1221764f5719..81a8f92c6c35 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
> @@ -57,12 +57,42 @@
>  	chosen {
>  		stdout-path = "serial0:115200n8";
>  	};
> +
> +	connector {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +
> +		port {
> +			hdmi_con_in: endpoint {
> +				remote-endpoint = <&hdmi_out_con>;
> +			};
> +		};
> +	};
> +};
> +
> +&de {
> +	status = "okay";
>  };
> 
>  &ehci1 {
>  	status = "okay";
>  };
> 
> +&hdmi {
> +	hdmi-supply = <&reg_dldo1>;
> +	status = "okay";
> +};
> +
> +&hdmi_out {
> +	hdmi_out_con: endpoint {
> +		remote-endpoint = <&hdmi_con_in>;
> +	};
> +};
> +
> +&mixer1 {
> +	status = "okay";
> +};
> +
>  &mmc0 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&mmc0_pins>;
> @@ -195,6 +225,10 @@
>  	vcc-hdmi-supply = <&reg_dldo1>;
>  };
> 
> +&tcon1 {
> +	status = "okay";
> +};
> +
>  &uart0 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&uart0_pins_a>;
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts index
> 1b9b92e541d2..1b972bade9f6 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> @@ -62,6 +62,21 @@
>  	chosen {
>  		stdout-path = "serial0:115200n8";
>  	};
> +
> +	connector {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +
> +		port {
> +			hdmi_con_in: endpoint {
> +				remote-endpoint = <&hdmi_out_con>;
> +			};
> +		};
> +	};
> +};
> +
> +&de {
> +	status = "okay";
>  };
> 
>  &ehci0 {
> @@ -82,6 +97,17 @@
> 
>  };
> 
> +&hdmi {
> +	hdmi-supply = <&reg_dldo1>;
> +	status = "okay";
> +};
> +
> +&hdmi_out {
> +	hdmi_out_con: endpoint {
> +		remote-endpoint = <&hdmi_con_in>;
> +	};
> +};
> +
>  &i2c1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&i2c1_pins>;
> @@ -99,6 +125,10 @@
>  	};
>  };
> 
> +&mixer1 {
> +	status = "okay";
> +};
> +
>  &mmc0 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&mmc0_pins>;
> @@ -238,6 +268,10 @@
>  	status = "disabled";
>  };
> 
> +&tcon1 {
> +	status = "okay";
> +};
> +
>  /* On Exp and Euler connectors */
>  &uart0 {
>  	pinctrl-names = "default";
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts index
> c21f2331add6..eff44b069b1d 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
> @@ -61,6 +61,17 @@
>  		stdout-path = "serial0:115200n8";
>  	};
> 
> +	connector {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +
> +		port {
> +			hdmi_con_in: endpoint {
> +				remote-endpoint = <&hdmi_out_con>;
> +			};
> +		};
> +	};
> +
>  	reg_vcc1v8: vcc1v8 {
>  		compatible = "regulator-fixed";
>  		regulator-name = "vcc1v8";
> @@ -69,6 +80,10 @@
>  	};
>  };
> 
> +&de {
> +	status = "okay";
> +};
> +
>  &ehci0 {
>  	status = "okay";
>  };
> @@ -86,6 +101,17 @@
>  	status = "okay";
>  };
> 
> +&hdmi {
> +	hdmi-supply = <&reg_dldo1>;
> +	status = "okay";
> +};
> +
> +&hdmi_out {
> +	hdmi_out_con: endpoint {
> +		remote-endpoint = <&hdmi_con_in>;
> +	};
> +};
> +
>  &mdio {
>  	ext_rgmii_phy: ethernet-phy@1 {
>  		compatible = "ethernet-phy-ieee802.3-c22";
> @@ -93,6 +119,10 @@
>  	};
>  };
> 
> +&mixer1 {
> +	status = "okay";
> +};
> +
>  &mmc2 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&mmc2_pins>;
> @@ -138,6 +168,10 @@
>  	vcc-hdmi-supply = <&reg_dldo1>;

How is it possible to have vcc-hdmi-supply already defined? Did I miss some 
patch?

Best regards,
Jernej

>  };
> 
> +&tcon1 {
> +	status = "okay";
> +};
> +
>  &uart0 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&uart0_pins_a>;





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

* Re: [linux-sunxi] [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI
  2018-07-26 18:03   ` [linux-sunxi] " Jernej Škrabec
@ 2018-07-27  0:44     ` Icenowy Zheng
  0 siblings, 0 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-27  0:44 UTC (permalink / raw)
  To: jernej.skrabec, Jernej Škrabec, linux-sunxi
  Cc: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, dri-devel,
	devicetree, linux-arm-kernel, linux-kernel, linux-clk



于 2018年7月27日 GMT+08:00 上午2:03:00, "Jernej Škrabec" <jernej.skrabec@siol.net> 写到:
>Dne četrtek, 26. julij 2018 ob 19:12:57 CEST je Icenowy Zheng
>napisal(a):
>> From: Jagan Teki <jagan@amarulasolutions.com>
>> 
>> Enable all necessary device tree nodes and add connector node to
>device
>> trees for all supported A64 boards with HDMI.
>> 
>> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
>> [Icenowy: squash all board patches altogether and change supply name]
>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
>> ---
>> Changes in v3,1:
>> - Squash all enablement patches altogether.
>> - Change supply name to match DT binding & driver change.
>> Changes for v3:
>> - Enable all pipeline components
>> Changes for v2:
>> - none
>> 
>>  .../dts/allwinner/sun50i-a64-bananapi-m64.dts | 34
>+++++++++++++++++++
>>  .../dts/allwinner/sun50i-a64-nanopi-a64.dts   | 34
>+++++++++++++++++++
>>  .../dts/allwinner/sun50i-a64-olinuxino.dts    | 34
>+++++++++++++++++++
>>  .../dts/allwinner/sun50i-a64-orangepi-win.dts | 34
>+++++++++++++++++++
>>  .../boot/dts/allwinner/sun50i-a64-pine64.dts  | 34
>+++++++++++++++++++
>>  .../allwinner/sun50i-a64-sopine-baseboard.dts | 34
>+++++++++++++++++++
>>  6 files changed, 204 insertions(+)
>> 
>> diff --git
>a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts index
>> 094cfed13df9..0d8f5571d574 100644
>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
>> @@ -60,6 +60,17 @@
>>  		stdout-path = "serial0:115200n8";
>>  	};
>> 
>> +	connector {
>> +		compatible = "hdmi-connector";
>> +		type = "a";
>> +
>> +		port {
>> +			hdmi_con_in: endpoint {
>> +				remote-endpoint = <&hdmi_out_con>;
>> +			};
>> +		};
>> +	};
>> +
>>  	leds {
>>  		compatible = "gpio-leds";
>> 
>> @@ -86,6 +97,10 @@
>>  	};
>>  };
>> 
>> +&de {
>> +	status = "okay";
>> +};
>> +
>>  &ehci0 {
>>  	status = "okay";
>>  };
>> @@ -103,6 +118,17 @@
>>  	status = "okay";
>>  };
>> 
>> +&hdmi {
>> +	hdmi-supply = <&reg_dldo1>;
>> +	status = "okay";
>> +};
>> +
>> +&hdmi_out {
>> +	hdmi_out_con: endpoint {
>> +		remote-endpoint = <&hdmi_con_in>;
>> +	};
>> +};
>> +
>>  &i2c1 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&i2c1_pins>;
>> @@ -120,6 +146,10 @@
>>  	};
>>  };
>> 
>> +&mixer1 {
>> +	status = "okay";
>> +};
>> +
>>  &mmc0 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&mmc0_pins>;
>> @@ -300,6 +330,10 @@
>>  	vcc-hdmi-supply = <&reg_dldo1>;
>>  };
>> 
>> +&tcon1 {
>> +	status = "okay";
>> +};
>> +
>>  &uart0 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&uart0_pins_a>;
>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts index
>> 98dbff19f5cc..2bcf02f46366 100644
>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
>> @@ -57,6 +57,21 @@
>>  	chosen {
>>  		stdout-path = "serial0:115200n8";
>>  	};
>> +
>> +	connector {
>> +		compatible = "hdmi-connector";
>> +		type = "a";
>> +
>> +		port {
>> +			hdmi_con_in: endpoint {
>> +				remote-endpoint = <&hdmi_out_con>;
>> +			};
>> +		};
>> +	};
>> +};
>> +
>> +&de {
>> +	status = "okay";
>>  };
>> 
>>  &ehci0 {
>> @@ -67,6 +82,17 @@
>>  	status = "okay";
>>  };
>> 
>> +&hdmi {
>> +	hdmi-supply = <&reg_dldo1>;
>> +	status = "okay";
>> +};
>> +
>> +&hdmi_out {
>> +	hdmi_out_con: endpoint {
>> +		remote-endpoint = <&hdmi_con_in>;
>> +	};
>> +};
>> +
>>  /* i2c1 connected with gpio headers like pine64, bananapi */
>>  &i2c1 {
>>  	pinctrl-names = "default";
>> @@ -78,6 +104,10 @@
>>  	bias-pull-up;
>>  };
>> 
>> +&mixer1 {
>> +	status = "okay";
>> +};
>> +
>>  &mmc0 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&mmc0_pins>;
>> @@ -199,6 +229,10 @@
>>  	vcc-hdmi-supply = <&reg_dldo1>;
>>  };
>> 
>> +&tcon1 {
>> +	status = "okay";
>> +};
>> +
>>  &uart0 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&uart0_pins_a>;
>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts index
>> 3f531393eaee..5445a7a1db51 100644
>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
>> @@ -58,12 +58,42 @@
>>  		stdout-path = "serial0:115200n8";
>>  	};
>> 
>> +	connector {
>> +		compatible = "hdmi-connector";
>> +		type = "a";
>> +
>> +		port {
>> +			hdmi_con_in: endpoint {
>> +				remote-endpoint = <&hdmi_out_con>;
>> +			};
>> +		};
>> +	};
>> +
>>  	wifi_pwrseq: wifi_pwrseq {
>>  		compatible = "mmc-pwrseq-simple";
>>  		reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
>>  	};
>>  };
>> 
>> +&de {
>> +	status = "okay";
>> +};
>> +
>> +&hdmi {
>> +	hdmi-supply = <&reg_dldo1>;
>> +	status = "okay";
>> +};
>> +
>> +&hdmi_out {
>> +	hdmi_out_con: endpoint {
>> +		remote-endpoint = <&hdmi_con_in>;
>> +	};
>> +};
>> +
>> +&mixer1 {
>> +	status = "okay";
>> +};
>> +
>>  &mmc0 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&mmc0_pins>;
>> @@ -218,6 +248,10 @@
>>  	vcc-hdmi-supply = <&reg_dldo1>;
>>  };
>> 
>> +&tcon1 {
>> +	status = "okay";
>> +};
>> +
>>  &uart0 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&uart0_pins_a>;
>> diff --git
>a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts index
>> 1221764f5719..81a8f92c6c35 100644
>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
>> @@ -57,12 +57,42 @@
>>  	chosen {
>>  		stdout-path = "serial0:115200n8";
>>  	};
>> +
>> +	connector {
>> +		compatible = "hdmi-connector";
>> +		type = "a";
>> +
>> +		port {
>> +			hdmi_con_in: endpoint {
>> +				remote-endpoint = <&hdmi_out_con>;
>> +			};
>> +		};
>> +	};
>> +};
>> +
>> +&de {
>> +	status = "okay";
>>  };
>> 
>>  &ehci1 {
>>  	status = "okay";
>>  };
>> 
>> +&hdmi {
>> +	hdmi-supply = <&reg_dldo1>;
>> +	status = "okay";
>> +};
>> +
>> +&hdmi_out {
>> +	hdmi_out_con: endpoint {
>> +		remote-endpoint = <&hdmi_con_in>;
>> +	};
>> +};
>> +
>> +&mixer1 {
>> +	status = "okay";
>> +};
>> +
>>  &mmc0 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&mmc0_pins>;
>> @@ -195,6 +225,10 @@
>>  	vcc-hdmi-supply = <&reg_dldo1>;
>>  };
>> 
>> +&tcon1 {
>> +	status = "okay";
>> +};
>> +
>>  &uart0 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&uart0_pins_a>;
>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts index
>> 1b9b92e541d2..1b972bade9f6 100644
>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>> @@ -62,6 +62,21 @@
>>  	chosen {
>>  		stdout-path = "serial0:115200n8";
>>  	};
>> +
>> +	connector {
>> +		compatible = "hdmi-connector";
>> +		type = "a";
>> +
>> +		port {
>> +			hdmi_con_in: endpoint {
>> +				remote-endpoint = <&hdmi_out_con>;
>> +			};
>> +		};
>> +	};
>> +};
>> +
>> +&de {
>> +	status = "okay";
>>  };
>> 
>>  &ehci0 {
>> @@ -82,6 +97,17 @@
>> 
>>  };
>> 
>> +&hdmi {
>> +	hdmi-supply = <&reg_dldo1>;
>> +	status = "okay";
>> +};
>> +
>> +&hdmi_out {
>> +	hdmi_out_con: endpoint {
>> +		remote-endpoint = <&hdmi_con_in>;
>> +	};
>> +};
>> +
>>  &i2c1 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&i2c1_pins>;
>> @@ -99,6 +125,10 @@
>>  	};
>>  };
>> 
>> +&mixer1 {
>> +	status = "okay";
>> +};
>> +
>>  &mmc0 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&mmc0_pins>;
>> @@ -238,6 +268,10 @@
>>  	status = "disabled";
>>  };
>> 
>> +&tcon1 {
>> +	status = "okay";
>> +};
>> +
>>  /* On Exp and Euler connectors */
>>  &uart0 {
>>  	pinctrl-names = "default";
>> diff --git
>a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts index
>> c21f2331add6..eff44b069b1d 100644
>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
>> @@ -61,6 +61,17 @@
>>  		stdout-path = "serial0:115200n8";
>>  	};
>> 
>> +	connector {
>> +		compatible = "hdmi-connector";
>> +		type = "a";
>> +
>> +		port {
>> +			hdmi_con_in: endpoint {
>> +				remote-endpoint = <&hdmi_out_con>;
>> +			};
>> +		};
>> +	};
>> +
>>  	reg_vcc1v8: vcc1v8 {
>>  		compatible = "regulator-fixed";
>>  		regulator-name = "vcc1v8";
>> @@ -69,6 +80,10 @@
>>  	};
>>  };
>> 
>> +&de {
>> +	status = "okay";
>> +};
>> +
>>  &ehci0 {
>>  	status = "okay";
>>  };
>> @@ -86,6 +101,17 @@
>>  	status = "okay";
>>  };
>> 
>> +&hdmi {
>> +	hdmi-supply = <&reg_dldo1>;
>> +	status = "okay";
>> +};
>> +
>> +&hdmi_out {
>> +	hdmi_out_con: endpoint {
>> +		remote-endpoint = <&hdmi_con_in>;
>> +	};
>> +};
>> +
>>  &mdio {
>>  	ext_rgmii_phy: ethernet-phy@1 {
>>  		compatible = "ethernet-phy-ieee802.3-c22";
>> @@ -93,6 +119,10 @@
>>  	};
>>  };
>> 
>> +&mixer1 {
>> +	status = "okay";
>> +};
>> +
>>  &mmc2 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&mmc2_pins>;
>> @@ -138,6 +168,10 @@
>>  	vcc-hdmi-supply = <&reg_dldo1>;
>
>How is it possible to have vcc-hdmi-supply already defined? Did I miss

It's for simplefb.

>some 
>patch?
>
>Best regards,
>Jernej
>
>>  };
>> 
>> +&tcon1 {
>> +	status = "okay";
>> +};
>> +
>>  &uart0 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&uart0_pins_a>;

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

* Re: [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI
  2018-07-26 17:12 ` [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI Icenowy Zheng
  2018-07-26 18:03   ` [linux-sunxi] " Jernej Škrabec
@ 2018-07-27 12:56   ` Maxime Ripard
  2018-07-27 13:26     ` Icenowy Zheng
  1 sibling, 1 reply; 29+ messages in thread
From: Maxime Ripard @ 2018-07-27 12:56 UTC (permalink / raw)
  To: Icenowy Zheng
  Cc: Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec, dri-devel,
	devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi

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

On Fri, Jul 27, 2018 at 01:12:57AM +0800, Icenowy Zheng wrote:
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> index 1b9b92e541d2..1b972bade9f6 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> @@ -62,6 +62,21 @@
>  	chosen {
>  		stdout-path = "serial0:115200n8";
>  	};
> +
> +	connector {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +
> +		port {
> +			hdmi_con_in: endpoint {
> +				remote-endpoint = <&hdmi_out_con>;
> +			};
> +		};
> +	};
> +};
> +
> +&de {
> +	status = "okay";
>  };
>  
>  &ehci0 {
> @@ -82,6 +97,17 @@
>  
>  };
>  
> +&hdmi {
> +	hdmi-supply = <&reg_dldo1>;
> +	status = "okay";
> +};
> +
> +&hdmi_out {
> +	hdmi_out_con: endpoint {
> +		remote-endpoint = <&hdmi_con_in>;
> +	};
> +};
> +
>  &i2c1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&i2c1_pins>;
> @@ -99,6 +125,10 @@
>  	};
>  };
>  
> +&mixer1 {
> +	status = "okay";
> +};
> +
>  &mmc0 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&mmc0_pins>;
> @@ -238,6 +268,10 @@
>  	status = "disabled";
>  };
>  
> +&tcon1 {
> +	status = "okay";
> +};

Is it working or not on the pine64?

Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

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

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

* Re: [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support
  2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
                   ` (9 preceding siblings ...)
  2018-07-26 17:12 ` [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI Icenowy Zheng
@ 2018-07-27 12:59 ` Maxime Ripard
  10 siblings, 0 replies; 29+ messages in thread
From: Maxime Ripard @ 2018-07-27 12:59 UTC (permalink / raw)
  To: Icenowy Zheng
  Cc: Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec, dri-devel,
	devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi

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

On Fri, Jul 27, 2018 at 01:12:47AM +0800, Icenowy Zheng wrote:
> Allwinner A64 has display engine pipeline like other Allwinner SOC's A83T/H3/H5.
> 
> A64 behaviour similar to Allwinner A83T where
> Mixer0 => TCON0 => LVDS/RGB/MIPI-DSI
> Mixer1 => TCON1 => HDMI
> as per Display System Block Diagram from the A64 user manual.
> 
> This is third patch-set followed with previous RFC[1], first and second
> series[2][3] and merely concentrated on HDMI pipeline through TCON1 and
> rest will add eventually.
> 
> I just rebased and slightly re-integrated the patchset according to the
> requirments of the maintainer, and added the mixer0->tcon0 pipeline.
> The further maintainship of the patchset still needs to be discussed
> between I and Jagan.

Beside the comment on the pine64, it looks good to me. Can you
resubmit those patches after rc1 is out?

Thanks!
Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

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

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

* Re: [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI
  2018-07-27 12:56   ` Maxime Ripard
@ 2018-07-27 13:26     ` Icenowy Zheng
  2018-07-27 13:57       ` Jagan Teki
  2018-07-27 14:00       ` Maxime Ripard
  0 siblings, 2 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-27 13:26 UTC (permalink / raw)
  To: linux-arm-kernel, Maxime Ripard
  Cc: devicetree, Jernej Skrabec, linux-sunxi, linux-kernel, dri-devel,
	Chen-Yu Tsai, Rob Herring, Jagan Teki, linux-clk



于 2018年7月27日 GMT+08:00 下午8:56:15, Maxime Ripard <maxime.ripard@bootlin.com> 写到:
>On Fri, Jul 27, 2018 at 01:12:57AM +0800, Icenowy Zheng wrote:
>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>> index 1b9b92e541d2..1b972bade9f6 100644
>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>> @@ -62,6 +62,21 @@
>>  	chosen {
>>  		stdout-path = "serial0:115200n8";
>>  	};
>> +
>> +	connector {
>> +		compatible = "hdmi-connector";
>> +		type = "a";
>> +
>> +		port {
>> +			hdmi_con_in: endpoint {
>> +				remote-endpoint = <&hdmi_out_con>;
>> +			};
>> +		};
>> +	};
>> +};
>> +
>> +&de {
>> +	status = "okay";
>>  };
>>  
>>  &ehci0 {
>> @@ -82,6 +97,17 @@
>>  
>>  };
>>  
>> +&hdmi {
>> +	hdmi-supply = <&reg_dldo1>;
>> +	status = "okay";
>> +};
>> +
>> +&hdmi_out {
>> +	hdmi_out_con: endpoint {
>> +		remote-endpoint = <&hdmi_con_in>;
>> +	};
>> +};
>> +
>>  &i2c1 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&i2c1_pins>;
>> @@ -99,6 +125,10 @@
>>  	};
>>  };
>>  
>> +&mixer1 {
>> +	status = "okay";
>> +};
>> +
>>  &mmc0 {
>>  	pinctrl-names = "default";
>>  	pinctrl-0 = <&mmc0_pins>;
>> @@ -238,6 +268,10 @@
>>  	status = "disabled";
>>  };
>>  
>> +&tcon1 {
>> +	status = "okay";
>> +};
>
>Is it working or not on the pine64?

Not tested yet, as my main A64 device is Pine A64-LTS now.

>
>Maxime

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

* Re: [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI
  2018-07-27 13:26     ` Icenowy Zheng
@ 2018-07-27 13:57       ` Jagan Teki
  2018-07-27 14:11         ` [linux-sunxi] " Icenowy Zheng
  2018-07-27 14:20         ` Icenowy Zheng
  2018-07-27 14:00       ` Maxime Ripard
  1 sibling, 2 replies; 29+ messages in thread
From: Jagan Teki @ 2018-07-27 13:57 UTC (permalink / raw)
  To: Icenowy Zheng, Maxime Ripard
  Cc: linux-arm-kernel, devicetree, Jernej Skrabec, linux-sunxi,
	linux-kernel, dri-devel, Chen-Yu Tsai, Rob Herring, linux-clk

On Fri, Jul 27, 2018 at 6:56 PM, Icenowy Zheng <icenowy@aosc.io> wrote:
>
>
> 于 2018年7月27日 GMT+08:00 下午8:56:15, Maxime Ripard <maxime.ripard@bootlin.com> 写到:
>>On Fri, Jul 27, 2018 at 01:12:57AM +0800, Icenowy Zheng wrote:
>>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>>b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>>> index 1b9b92e541d2..1b972bade9f6 100644
>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>>> @@ -62,6 +62,21 @@
>>>      chosen {
>>>              stdout-path = "serial0:115200n8";
>>>      };
>>> +
>>> +    connector {
>>> +            compatible = "hdmi-connector";
>>> +            type = "a";
>>> +
>>> +            port {
>>> +                    hdmi_con_in: endpoint {
>>> +                            remote-endpoint = <&hdmi_out_con>;
>>> +                    };
>>> +            };
>>> +    };
>>> +};
>>> +
>>> +&de {
>>> +    status = "okay";
>>>  };
>>>
>>>  &ehci0 {
>>> @@ -82,6 +97,17 @@
>>>
>>>  };
>>>
>>> +&hdmi {
>>> +    hdmi-supply = <&reg_dldo1>;
>>> +    status = "okay";
>>> +};
>>> +
>>> +&hdmi_out {
>>> +    hdmi_out_con: endpoint {
>>> +            remote-endpoint = <&hdmi_con_in>;
>>> +    };
>>> +};
>>> +
>>>  &i2c1 {
>>>      pinctrl-names = "default";
>>>      pinctrl-0 = <&i2c1_pins>;
>>> @@ -99,6 +125,10 @@
>>>      };
>>>  };
>>>
>>> +&mixer1 {
>>> +    status = "okay";
>>> +};
>>> +
>>>  &mmc0 {
>>>      pinctrl-names = "default";
>>>      pinctrl-0 = <&mmc0_pins>;
>>> @@ -238,6 +268,10 @@
>>>      status = "disabled";
>>>  };
>>>
>>> +&tcon1 {
>>> +    status = "okay";
>>> +};
>>
>>Is it working or not on the pine64?
>
> Not tested yet, as my main A64 device is Pine A64-LTS now.

I have seen BPI-M64 seems failing.

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version
4.18.0-rc6-next-20180727-00014-gc7092bc38139 (jagan@jagan-XPS-13-9350)
(gcc version 6.3.1 20170109 (Linaro GCC 6.3-2
017.02)) #1 SMP PREEMPT Fri Jul 27 19:05:15 IST 2018
[    0.000000] Machine model: BananaPi-M64
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 32 MiB at 0x00000000bc000000
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem
0x0000000000000000-0x00000000bdffffff]
[    0.000000] NUMA: NODE_DATA [mem 0xbbfd7780-0xbbfd8f3f]
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000bdffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000bdffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bdffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv0.2 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] random: get_random_bytes called from
start_kernel+0xa4/0x414 with crng_init=0
[    0.000000] percpu: Embedded 23 pages/cpu @(____ptrval____) s56728
r8192 d29288 u94208
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: enabling workaround for ARM erratum 843419
[    0.000000] CPU features: enabling workaround for ARM erratum 845719
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 508032
[    0.000000] Policy zone: DMA32
[    0.000000] Kernel command line: console=ttyS0,115200 earlyprintk
root=/dev/mmcblk0p2 rootwait
[    0.000000] Memory: 1979032K/2064384K available (10812K kernel
code, 1382K rwdata, 5096K rodata, 1344K init, 382K bss, 52584K
reserved, 32768K
 cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=4.
[    0.000000]  Tasks RCU enabled.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] Persistent clock returned invalid value
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000004] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps
every 4398046511097ns
[    0.000491] Console: colour dummy device 80x25
[    0.000575] Calibrating delay loop (skipped), value calculated
using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[    0.000589] pid_max: default: 32768 minimum: 301
[    0.000671] Security Framework initialized
[    0.001977] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.002635] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.002684] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.002713] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes)
[    0.024041] ASID allocator initialised with 32768 entries
[    0.032035] rcu: Hierarchical SRCU implementation.
[    0.041639] EFI services will not be available.
[    0.048073] smp: Bringing up secondary CPUs ...
[    0.080932] Detected VIPT I-cache on CPU1
[    0.080992] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.112631] Detected VIPT I-cache on CPU2
[    0.112667] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.144707] Detected VIPT I-cache on CPU3
[    0.144739] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.144814] smp: Brought up 1 node, 4 CPUs
[    0.144840] SMP: Total of 4 processors activated.
[    0.144849] CPU features: detected: 32-bit EL0 Support
[    0.154877] CPU: All CPU(s) started at EL2
[    0.154897] alternatives: patching kernel code
[    0.156490] devtmpfs: initialized
[    0.161841] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.161905] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.163334] pinctrl core: initialized pinctrl subsystem
[    0.164938] DMI not present or invalid.
[    0.165455] NET: Registered protocol family 16
[    0.165896] audit: initializing netlink subsys (disabled)
[    0.166040] audit: type=2000 audit(0.160:1): state=initialized
audit_enabled=0 res=1
[    0.167564] cpuidle: using governor menu
[    0.167960] vdso: 2 pages (1 code @ (____ptrval____), 1 data @
(____ptrval____))
[    0.167974] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.171685] DMA: preallocated 256 KiB pool for atomic allocations
[    0.172948] Serial: AMBA PL011 UART driver
[    0.195691] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.196128] cryptd: max_cpu_qlen set to 1000
[    0.196923] ACPI: Interpreter disabled.
[    0.198046] vgaarb: loaded
[    0.198380] SCSI subsystem initialized
[    0.199024] usbcore: registered new interface driver usbfs
[    0.199093] usbcore: registered new interface driver hub
[    0.199167] usbcore: registered new device driver usb
[    0.200125] pps_core: LinuxPPS API ver. 1 registered
[    0.200137] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
Rodolfo Giometti <giometti@linux.it>
[    0.200166] PTP clock support registered
[    0.200335] EDAC MC: Ver: 3.0.0
[    0.201397] Advanced Linux Sound Architecture Driver Initialized.
[    0.202248] clocksource: Switched to clocksource arch_sys_counter
[    0.202467] VFS: Disk quotas dquot_6.6.0
[    0.202538] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.202946] pnp: PnP ACPI: disabled
[    0.210691] NET: Registered protocol family 2
[    0.211403] tcp_listen_portaddr_hash hash table entries: 1024
(order: 2, 16384 bytes)
[    0.211468] TCP established hash table entries: 16384 (order: 5,
131072 bytes)
[    0.211683] TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
[    0.211987] TCP: Hash tables configured (established 16384 bind 16384)
[    0.212142] UDP hash table entries: 1024 (order: 3, 32768 bytes)
[    0.212209] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
[    0.212390] NET: Registered protocol family 1
[    0.212813] RPC: Registered named UNIX socket transport module.
[    0.212821] RPC: Registered udp transport module.
[    0.212827] RPC: Registered tcp transport module.
[    0.212833] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.213695] kvm [1]: 8-bit VMID
[    0.215775] kvm [1]: vgic interrupt IRQ1
[    0.215975] kvm [1]: Hyp mode initialized successfully
[    0.220557] Initialise system trusted keyrings
[    0.220710] workingset: timestamp_bits=45 max_order=19 bucket_order=0
[    0.229546] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.230522] NFS: Registering the id_resolver key type
[    0.230557] Key type id_resolver registered
[    0.230564] Key type id_legacy registered
[    0.230580] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.230785] 9p: Installing v9fs 9p2000 file system support
[    0.230909] pstore: using deflate compression
[    0.234029] Key type asymmetric registered
[    0.234046] Asymmetric key parser 'x509' registered
[    0.234104] Block layer SCSI generic (bsg) driver version 0.4
loaded (major 244)
[    0.234115] io scheduler noop registered
[    0.234122] io scheduler deadline registered
[    0.234384] io scheduler cfq registered (default)
[    0.234394] io scheduler mq-deadline registered
[    0.234402] io scheduler kyber registered
[    0.235702] sun50i-de2-bus 1000000.de2: DMA mask not set
[    0.235744] sun50i-de2-bus 1000000.de2: Error couldn't map SRAM to device
[    0.236353] sun4i-usb-phy 1c19400.phy: DMA mask not set
[    0.236428] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
[    0.239670] sun50i-a64-pinctrl 1c20800.pinctrl: DMA mask not set
[    0.241173] sun50i-a64-r-pinctrl 1f02c00.pinctrl: DMA mask not set
[    0.242701] sun50i-a64-r-pinctrl 1f02c00.pinctrl: initialized sunXi
PIO driver
[    0.246771] EINJ: ACPI disabled.
[    0.249349] sun50i-a64-ccu 1c20000.clock: DMA mask not set
[    0.252866] sunxi-sram 1c00000.syscon: DMA mask not set
[    0.253218] sram 18000.sram: DMA mask not set
[    0.259221] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.261898] SuperH (H)SCI(F) driver initialized
[    0.262440] msm_serial: driver initialized
[    0.263282] sun4i-drm display-engine: DMA mask not set
[    0.263852] sun4i-tcon 1c0c000.lcd-controller: DMA mask not set
[    0.263952] sun4i-tcon 1c0d000.lcd-controller: DMA mask not set
[    0.264879] sun8i-dw-hdmi 1ee0000.hdmi: DMA mask not set
[    0.265396] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.273880] loop: module loaded
[    0.279047] libphy: Fixed MDIO Bus: probed
[    0.279631] tun: Universal TUN/TAP device driver, 1.6
[    0.280729] thunder_xcv, ver 1.0
[    0.280798] thunder_bgx, ver 1.0
[    0.280852] nicpf, ver 1.0
[    0.281358] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    0.281367] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    0.281427] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
[    0.281435] igb: Copyright (c) 2007-2014 Intel Corporation.
[    0.281490] igbvf: Intel(R) Gigabit Virtual Function Network Driver
- version 2.4.0-k
[    0.281498] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[    0.281875] sky2: driver version 1.30
[    0.282744] VFIO - User Level meta-driver version: 0.3
[    0.284239] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.284252] ehci-pci: EHCI PCI platform driver
[    0.284303] ehci-platform: EHCI generic platform driver
[    0.284417] ehci-platform 1c1a000.usb: DMA mask not set
[    0.284559] ehci-platform 1c1a000.usb: EHCI Host Controller
[    0.284587] ehci-platform 1c1a000.usb: new USB bus registered,
assigned bus number 1
[    0.285256] ehci-platform 1c1a000.usb: irq 14, io mem 0x01c1a000
[    0.298255] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[    0.299042] hub 1-0:1.0: USB hub found
[    0.299079] hub 1-0:1.0: 1 port detected
[    0.299554] ehci-platform 1c1b000.usb: DMA mask not set
[    0.299832] ehci-orion: EHCI orion driver
[    0.300060] ehci-exynos: EHCI EXYNOS driver
[    0.300186] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.300219] ohci-pci: OHCI PCI platform driver
[    0.300309] ohci-platform: OHCI generic platform driver
[    0.300404] ohci-platform 1c1a400.usb: DMA mask not set
[    0.300502] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[    0.300528] ohci-platform 1c1a400.usb: new USB bus registered,
assigned bus number 2
[    0.300860] ohci-platform 1c1a400.usb: irq 15, io mem 0x01c1a400
[    0.362977] hub 2-0:1.0: USB hub found
[    0.363017] hub 2-0:1.0: 1 port detected
[    0.363420] ohci-platform 1c1b400.usb: DMA mask not set
[    0.363676] ohci-exynos: OHCI EXYNOS driver
[    0.364386] usbcore: registered new interface driver usb-storage
[    0.364713] musb-sunxi 1c19000.usb: DMA mask not set
[    0.367499] sun6i-rtc 1f00000.rtc: DMA mask not set
[    0.367858] sun6i-rtc 1f00000.rtc: rtc core: registered rtc-sun6i as rtc0
[    0.367871] sun6i-rtc 1f00000.rtc: RTC enabled
[    0.368196] i2c /dev entries driver
[    0.372718] pwrseq_simple wifi_pwrseq: DMA mask not set
[    0.373113] sdhci: Secure Digital Host Controller Interface driver
[    0.373125] sdhci: Copyright(c) Pierre Ossman
[    0.373456] Synopsys Designware Multimedia Card Interface Driver
[    0.374617] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.375695] leds-gpio leds: DMA mask not set
[    0.376136] ledtrig-cpu: registered to indicate activity on CPUs
[    0.377457] usbcore: registered new interface driver usbhid
[    0.377472] usbhid: USB HID core driver
[    0.380972] NET: Registered protocol family 17
[    0.381230] 9pnet: Installing 9P2000 support
[    0.381304] Key type dns_resolver registered
[    0.381985] registered taskstats version 1
[    0.381994] Loading compiled-in X.509 certificates
[    0.390508] sunxi-de2-clks 1000000.clock: DMA mask not set
[    0.392353] sun8i-mixer 1200000.mixer: DMA mask not set
[    0.402857] sun4i-drm display-engine: bound 1200000.mixer (ops
sun8i_mixer_ops)
[    0.403112] sun4i-drm display-engine: bound 1c0d000.lcd-controller
(ops sun4i_tcon_ops)
[    0.403172] sun8i-dw-hdmi 1ee0000.hdmi: Couldn't get regulator
[    0.403191] sun4i-drm display-engine: failed to bind 1ee0000.hdmi
(ops sun8i_dw_hdmi_ops): -517
[    0.403322] sun4i-drm display-engine: Couldn't bind all pipelines components
[    0.403422] sun4i-drm display-engine: master bind failed: -517
[    0.404396] sunxi-rsb 1f03400.rsb: DMA mask not set
[    0.404487] sunxi-rsb 1f03400.rsb: RSB running at 3000000 Hz
[    0.404925] axp20x-rsb sunxi-rsb-3a3: AXP20x variant AXP803 found
[    0.407592] dcdc1: supplied by regulator-dummy
[    0.407904] dcdc2: supplied by regulator-dummy
[    0.408131] dcdc4: supplied by regulator-dummy
[    0.408355] dcdc5: supplied by regulator-dummy
[    0.408608] dcdc6: supplied by regulator-dummy
[    0.408822] dc1sw: supplied by regulator-dummy
[    0.409052] aldo1: supplied by regulator-dummy
[    0.409167] afvcc-csi: Bringing 3300000uV into 2800000-2800000uV
[    0.409380] aldo2: supplied by regulator-dummy
[    0.409598] aldo3: supplied by regulator-dummy
[    0.409836] dldo1: supplied by regulator-dummy
[    0.410087] dldo2: supplied by regulator-dummy
[    0.410160] vcc-wifi: Bringing 2900000uV into 3300000-3300000uV
[    0.410393] dldo3: supplied by regulator-dummy
[    0.410623] dldo4: supplied by regulator-dummy
[    0.410884] eldo1: supplied by regulator-dummy
[    0.411113] eldo2: supplied by regulator-dummy
[    0.411333] eldo3: supplied by regulator-dummy
[    0.411596] fldo1: supplied by regulator-dummy
[    0.411835] fldo2: supplied by regulator-dummy
[    0.412088] rtc-ldo: supplied by regulator-dummy
[    0.412300] ldo-io0: supplied by regulator-dummy
[    0.412561] ldo-io1: supplied by regulator-dummy
[    0.412846] drivevbus: supplied by regulator-dummy
[    0.413096] axp20x-rsb sunxi-rsb-3a3: AXP20X driver loaded
[    0.413597] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
[    0.419074] sun50i-a64-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.419935] dw-apb-uart 1c28000.serial: DMA mask not set
[    0.420349] console [ttyS0] disabled
[    0.440883] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 21,
base_baud = 1500000) is a U6_16550A
[    1.757108] console [ttyS0] enabled
[    1.761887] dw-apb-uart 1c28400.serial: DMA mask not set
[    1.788099] 1c28400.serial: ttyS1 at MMIO 0x1c28400 (irq = 22,
base_baud = 1500000) is a U6_16550A
[    1.802439] mv64xxx_i2c 1c2b000.i2c: DMA mask not set
[    1.809485] sunxi-mmc 1c0f000.mmc: DMA mask not set
[    1.814529] sunxi-mmc 1c0f000.mmc: Linked as a consumer to regulator.1
[    1.821642] WARNING: CPU: 2 PID: 50 at
./include/linux/dma-mapping.h:516 sunxi_mmc_probe+0x1f4/0x508
[    1.830760] Modules linked in:
[    1.833818] CPU: 2 PID: 50 Comm: kworker/2:1 Not tainted
4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
[    1.843281] Hardware name: BananaPi-M64 (DT)
[    1.847554] Workqueue: events deferred_probe_work_func
[    1.852689] pstate: 60000005 (nZCv daif -PAN -UAO)
[    1.857476] pc : sunxi_mmc_probe+0x1f4/0x508
[    1.861742] lr : sunxi_mmc_probe+0x1d4/0x508
[    1.866004] sp : ffff00000975bb60
[    1.869313] x29: ffff00000975bb60 x28: 0000000000000000
[    1.874621] x27: ffff0000096abce8 x26: ffff00000917de78
[    1.879929] x25: 0000000000000000 x24: ffff80007897fdd8
[    1.885237] x23: ffff000009169000 x22: ffff000008b17000
[    1.890545] x21: ffff80007897fd80 x20: ffff800079063410
[    1.895852] x19: ffff80007897f800 x18: ffffffffffffffff
[    1.901160] x17: 0000000000000000 x16: 0000000000000000
[    1.906468] x15: ffff0000091696c8 x14: ffff00008975ba37
[    1.911775] x13: ffffff0000000000 x12: 0000000000000008
[    1.917083] x11: 0101010101010101 x10: ffffff7f7fffffff
[    1.922390] x9 : 0000000000000000 x8 : ffff800078fe4140
[    1.927697] x7 : ffff800078fe4140 x6 : ffff800078fe4141
[    1.933004] x5 : ffff800078879ec0 x4 : ffff8000789b3000
[    1.938311] x3 : ffff8000789b3100 x2 : 0000000000000000
[    1.943618] x1 : ffff8000791327c0 x0 : 0000000000000000
[    1.948926] Call trace:
[    1.951373]  sunxi_mmc_probe+0x1f4/0x508
[    1.955293]  platform_drv_probe+0x50/0xa8
[    1.959299]  really_probe+0x1fc/0x290
[    1.962959]  driver_probe_device+0x58/0x100
[    1.967138]  __device_attach_driver+0x9c/0xf8
[    1.971490]  bus_for_each_drv+0x70/0xc8
[    1.975322]  __device_attach+0xdc/0x138
[    1.979153]  device_initial_probe+0x10/0x18
[    1.983331]  bus_probe_device+0x94/0xa0
[    1.987162]  deferred_probe_work_func+0x6c/0xa0
[    1.991690]  process_one_work+0x1c8/0x318
[    1.995697]  worker_thread+0x234/0x428
[    1.999443]  kthread+0xf8/0x128
[    2.002584]  ret_from_fork+0x10/0x18
[    2.006154] ---[ end trace 7f686a1ed4dfbded ]---
[    2.011182] sunxi-mmc 1c0f000.mmc: swiotlb: coherent allocation
failed, size=4096
[    2.018674] CPU: 2 PID: 50 Comm: kworker/2:1 Tainted: G        W
     4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
[    2.029524] Hardware name: BananaPi-M64 (DT)
[    2.033793] Workqueue: events deferred_probe_work_func
[    2.038924] Call trace:
[    2.041372]  dump_backtrace+0x0/0x150
[    2.045031]  show_stack+0x14/0x20
[    2.048346]  dump_stack+0x8c/0xac
[    2.051660]  swiotlb_alloc+0x130/0x170
[    2.055406]  __dma_alloc+0xc4/0x1b0
[    2.058893]  sunxi_mmc_probe+0x34c/0x508
[    2.062812]  platform_drv_probe+0x50/0xa8
[    2.066817]  really_probe+0x1fc/0x290
[    2.070475]  driver_probe_device+0x58/0x100
[    2.074653]  __device_attach_driver+0x9c/0xf8
[    2.079004]  bus_for_each_drv+0x70/0xc8
[    2.082835]  __device_attach+0xdc/0x138
[    2.086667]  device_initial_probe+0x10/0x18
[    2.090844]  bus_probe_device+0x94/0xa0
[    2.094675]  deferred_probe_work_func+0x6c/0xa0
[    2.099202]  process_one_work+0x1c8/0x318
[    2.103209]  worker_thread+0x234/0x428
[    2.106954]  kthread+0xf8/0x128
[    2.110092]  ret_from_fork+0x10/0x18
[    2.113685] sunxi-mmc 1c0f000.mmc: Failed to allocate DMA descriptor mem
[    2.120519] sunxi-mmc 1c0f000.mmc: Dropping the link to regulator.1
[    2.126845] sunxi-mmc: probe of 1c0f000.mmc failed with error -12
[    2.134550] sunxi-mmc 1c10000.mmc: DMA mask not set
[    2.139583] sunxi-mmc 1c10000.mmc: Linked as a consumer to regulator.11
[    2.146279] sunxi-mmc 1c10000.mmc: Linked as a consumer to regulator.13
[    2.153403] sunxi-mmc 1c10000.mmc: swiotlb: coherent allocation
failed, size=4096
[    2.160898] CPU: 2 PID: 50 Comm: kworker/2:1 Tainted: G        W
     4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
[    2.171749] Hardware name: BananaPi-M64 (DT)
[    2.176026] Workqueue: events deferred_probe_work_func
[    2.181159] Call trace:
[    2.183608]  dump_backtrace+0x0/0x150
[    2.187269]  show_stack+0x14/0x20
[    2.190583]  dump_stack+0x8c/0xac
[    2.193899]  swiotlb_alloc+0x130/0x170
[    2.197645]  __dma_alloc+0xc4/0x1b0
[    2.201135]  sunxi_mmc_probe+0x34c/0x508
[    2.205056]  platform_drv_probe+0x50/0xa8
[    2.209061]  really_probe+0x1fc/0x290
[    2.212719]  driver_probe_device+0x58/0x100
[    2.216897]  __device_attach_driver+0x9c/0xf8
[    2.221249]  bus_for_each_drv+0x70/0xc8
[    2.225081]  __device_attach+0xdc/0x138
[    2.228912]  device_initial_probe+0x10/0x18
[    2.233090]  bus_probe_device+0x94/0xa0
[    2.236922]  deferred_probe_work_func+0x6c/0xa0
[    2.241450]  process_one_work+0x1c8/0x318
[    2.245456]  worker_thread+0x234/0x428
[    2.249202]  kthread+0xf8/0x128
[    2.252341]  ret_from_fork+0x10/0x18
[    2.255939] sunxi-mmc 1c10000.mmc: Failed to allocate DMA descriptor mem
[    2.262765] sunxi-mmc 1c10000.mmc: Dropping the link to regulator.13
[    2.269180] sunxi-mmc 1c10000.mmc: Dropping the link to regulator.11
[    2.275574] sunxi-mmc: probe of 1c10000.mmc failed with error -12
[    2.283233] sunxi-mmc 1c11000.mmc: DMA mask not set
[    2.288259] sunxi-mmc 1c11000.mmc: Linked as a consumer to regulator.1
[    2.295295] sunxi-mmc 1c11000.mmc: swiotlb: coherent allocation
failed, size=4096
[    2.302792] CPU: 2 PID: 50 Comm: kworker/2:1 Tainted: G        W
     4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
[    2.313642] Hardware name: BananaPi-M64 (DT)
[    2.317920] Workqueue: events deferred_probe_work_func
[    2.323052] Call trace:
[    2.325501]  dump_backtrace+0x0/0x150
[    2.329162]  show_stack+0x14/0x20
[    2.332476]  dump_stack+0x8c/0xac
[    2.335790]  swiotlb_alloc+0x130/0x170
[    2.339537]  __dma_alloc+0xc4/0x1b0
[    2.343026]  sunxi_mmc_probe+0x34c/0x508
[    2.346946]  platform_drv_probe+0x50/0xa8
[    2.350951]  really_probe+0x1fc/0x290
[    2.354610]  driver_probe_device+0x58/0x100
[    2.358789]  __device_attach_driver+0x9c/0xf8
[    2.363141]  bus_for_each_drv+0x70/0xc8
[    2.366973]  __device_attach+0xdc/0x138
[    2.370804]  device_initial_probe+0x10/0x18
[    2.374983]  bus_probe_device+0x94/0xa0
[    2.378815]  deferred_probe_work_func+0x6c/0xa0
[    2.383343]  process_one_work+0x1c8/0x318
[    2.387349]  worker_thread+0x234/0x428
[    2.391095]  kthread+0xf8/0x128
[    2.394235]  ret_from_fork+0x10/0x18
[    2.397830] sunxi-mmc 1c11000.mmc: Failed to allocate DMA descriptor mem
[    2.404650] sunxi-mmc 1c11000.mmc: Dropping the link to regulator.1
[    2.410967] sunxi-mmc: probe of 1c11000.mmc failed with error -12
[    2.430226] sun4i-drm display-engine: bound 1200000.mixer (ops
sun8i_mixer_ops)
[    2.437766] sun4i-drm display-engine: bound 1c0d000.lcd-controller
(ops sun4i_tcon_ops)
[    2.445889] sun8i-dw-hdmi 1ee0000.hdmi: Linked as a consumer to regulator.10
[    2.453957] sun8i-dw-hdmi 1ee0000.hdmi: Detected HDMI TX controller
v1.32a with HDCP (sun8i_dw_hdmi_phy)
[    2.463964] sun8i-dw-hdmi 1ee0000.hdmi: registered DesignWare HDMI
I2C bus driver
[    2.472454] sun4i-drm display-engine: bound 1ee0000.hdmi (ops
sun8i_dw_hdmi_ops)
[    2.479866] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.486486] [drm] No driver support for vblank timestamp query.
[    2.648129] random: fast init done
[    2.699113] WARNING: CPU: 2 PID: 50 at
./include/linux/dma-mapping.h:516 drm_gem_cma_create+0x68/0x128
[    2.708404] Modules linked in:
[    2.711464] CPU: 2 PID: 50 Comm: kworker/2:1 Tainted: G        W
     4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
[    2.722314] Hardware name: BananaPi-M64 (DT)
[    2.726585] Workqueue: events deferred_probe_work_func
[    2.731720] pstate: 80000005 (Nzcv daif -PAN -UAO)
[    2.736505] pc : drm_gem_cma_create+0x68/0x128
[    2.740944] lr : drm_gem_cma_create+0x40/0x128
[    2.745380] sp : ffff00000975b870
[    2.748689] x29: ffff00000975b870 x28: ffff800078d34c18
[    2.753997] x27: ffff800078d34d00 x26: ffff8000789b3f00
[    2.759304] x25: ffff80007897f800 x24: ffff800078d126f0
[    2.764613] x23: ffff000008b17000 x22: ffff000009169000
[    2.769920] x21: ffff800079060810 x20: ffff800078d12600
[    2.775228] x19: 00000000004f2000 x18: ffffffffffffffff
[    2.780536] x17: 0000000000000000 x16: 0000000000000000
[    2.785843] x15: ffff80007897fab0 x14: 00000387000003a6
[    2.791151] x13: 0000038400000384 x12: 0000000000000028
[    2.796458] x11: 0101010101010101 x10: 0000000000000000
[    2.801765] x9 : 00000000010ffff0 x8 : ffff8000789b07c0
[    2.807073] x7 : 0000000000100000 x6 : 00000000001004f2
[    2.812380] x5 : 0000000000000000 x4 : 0000000000000010
[    2.817688] x3 : 0000000000000000 x2 : d1022ccae126e900
[    2.822996] x1 : ffff8000791327c0 x0 : 0000000000000000
[    2.828303] Call trace:
[    2.830750]  drm_gem_cma_create+0x68/0x128
[    2.834842]  drm_gem_cma_dumb_create+0x40/0xa8
[    2.839283]  drm_mode_create_dumb+0x94/0xb0
[    2.843465]  drm_client_framebuffer_create+0x90/0x1f8
[    2.848511]  drm_fb_helper_generic_probe+0x4c/0x238
[    2.853385]  __drm_fb_helper_initial_config_and_unlock+0x1e0/0x3a0
[    2.859557]  drm_fb_helper_fbdev_setup+0xcc/0x1c8
[    2.864255]  drm_fbdev_cma_init+0x9c/0xc8
[    2.868260]  drm_fb_cma_fbdev_init+0xc/0x20
[    2.872441]  sun4i_framebuffer_init+0x48/0x58
[    2.876793]  sun4i_drv_bind+0x180/0x1d0
[    2.880627]  try_to_bring_up_master+0x144/0x1a8
[    2.885153]  component_add+0x98/0x160
[    2.888811]  sun8i_mixer_probe+0x18/0x20
[    2.892731]  platform_drv_probe+0x50/0xa8
[    2.896736]  really_probe+0x1fc/0x290
[    2.900395]  driver_probe_device+0x58/0x100
[    2.904573]  __device_attach_driver+0x9c/0xf8
[    2.908925]  bus_for_each_drv+0x70/0xc8
[    2.912757]  __device_attach+0xdc/0x138
[    2.916588]  device_initial_probe+0x10/0x18
[    2.920766]  bus_probe_device+0x94/0xa0
[    2.924599]  deferred_probe_work_func+0x6c/0xa0
[    2.929128]  process_one_work+0x1c8/0x318
[    2.933134]  worker_thread+0x234/0x428
[    2.936880]  kthread+0xf8/0x128
[    2.940020]  ret_from_fork+0x10/0x18
[    2.943591] ---[ end trace 7f686a1ed4dfbdee ]---
[    2.949730] sun4i-drm display-engine:
[drm:drm_fb_helper_fbdev_setup] *ERROR* Failed to set fbdev
configuration
[    2.959846] sun4i-drm display-engine: Couldn't create our framebuffer
[    2.966492] sun4i-drm display-engine: master bind failed: -12
[    2.972352] sun8i-mixer: probe of 1200000.mixer failed with error -12
[    2.980094] sun4i-usb-phy 1c19400.phy: Linked as a consumer to regulator.22
[    2.988807] ehci-platform 1c1b000.usb: EHCI Host Controller
[    2.994429] ehci-platform 1c1b000.usb: new USB bus registered,
assigned bus number 3
[    3.002709] ehci-platform 1c1b000.usb: irq 16, io mem 0x01c1b000
[    3.022268] ehci-platform 1c1b000.usb: USB 2.0 started, EHCI 1.00
[    3.029045] hub 3-0:1.0: USB hub found
[    3.032841] hub 3-0:1.0: 1 port detected
[    3.038440] ohci-platform 1c1b400.usb: Generic Platform OHCI controller
[    3.045089] ohci-platform 1c1b400.usb: new USB bus registered,
assigned bus number 4
[    3.053135] ohci-platform 1c1b400.usb: irq 17, io mem 0x01c1b400
[    3.122925] hub 4-0:1.0: USB hub found
[    3.126713] hub 4-0:1.0: 1 port detected
[    3.132346] usb_phy_generic usb_phy_generic.2.auto:
usb_phy_generic.2.auto supply vcc not found, using dummy regulator
[    3.143150] usb_phy_generic usb_phy_generic.2.auto: Linked as a
consumer to regulator.0
[    3.151793] musb-hdrc musb-hdrc.3.auto: MUSB HDRC host driver
[    3.157559] musb-hdrc musb-hdrc.3.auto: new USB bus registered,
assigned bus number 5
[    3.166017] hub 5-0:1.0: USB hub found
[    3.169808] hub 5-0:1.0: 1 port detected
[    3.174817] sun6i-rtc 1f00000.rtc: setting system clock to
1970-01-01 00:00:09 UTC (9)
[    3.183177] vcc-wifi-io: disabling
[    3.186642] cpvdd: disabling
[    3.189573] ALSA device list:
[    3.192551]   No soundcards found.
[    3.196433] Waiting for root device /dev/mmcblk0p2...
[    3.374265] usb 3-1: new high-speed USB device number 2 using ehci-platform
[    3.535499] hub 3-1:1.0: USB hub found
[    3.539377] hub 3-1:1.0: 4 ports detected

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

* Re: [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI
  2018-07-27 13:26     ` Icenowy Zheng
  2018-07-27 13:57       ` Jagan Teki
@ 2018-07-27 14:00       ` Maxime Ripard
  2018-07-27 15:42         ` Icenowy Zheng
  1 sibling, 1 reply; 29+ messages in thread
From: Maxime Ripard @ 2018-07-27 14:00 UTC (permalink / raw)
  To: Icenowy Zheng
  Cc: linux-arm-kernel, devicetree, Jernej Skrabec, linux-sunxi,
	linux-kernel, dri-devel, Chen-Yu Tsai, Rob Herring, Jagan Teki,
	linux-clk

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

On Fri, Jul 27, 2018 at 09:26:11PM +0800, Icenowy Zheng wrote:
> 
> 
> 于 2018年7月27日 GMT+08:00 下午8:56:15, Maxime Ripard <maxime.ripard@bootlin.com> 写到:
> >On Fri, Jul 27, 2018 at 01:12:57AM +0800, Icenowy Zheng wrote:
> >> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> >b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> >> index 1b9b92e541d2..1b972bade9f6 100644
> >> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> >> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> >> @@ -62,6 +62,21 @@
> >>  	chosen {
> >>  		stdout-path = "serial0:115200n8";
> >>  	};
> >> +
> >> +	connector {
> >> +		compatible = "hdmi-connector";
> >> +		type = "a";
> >> +
> >> +		port {
> >> +			hdmi_con_in: endpoint {
> >> +				remote-endpoint = <&hdmi_out_con>;
> >> +			};
> >> +		};
> >> +	};
> >> +};
> >> +
> >> +&de {
> >> +	status = "okay";
> >>  };
> >>  
> >>  &ehci0 {
> >> @@ -82,6 +97,17 @@
> >>  
> >>  };
> >>  
> >> +&hdmi {
> >> +	hdmi-supply = <&reg_dldo1>;
> >> +	status = "okay";
> >> +};
> >> +
> >> +&hdmi_out {
> >> +	hdmi_out_con: endpoint {
> >> +		remote-endpoint = <&hdmi_con_in>;
> >> +	};
> >> +};
> >> +
> >>  &i2c1 {
> >>  	pinctrl-names = "default";
> >>  	pinctrl-0 = <&i2c1_pins>;
> >> @@ -99,6 +125,10 @@
> >>  	};
> >>  };
> >>  
> >> +&mixer1 {
> >> +	status = "okay";
> >> +};
> >> +
> >>  &mmc0 {
> >>  	pinctrl-names = "default";
> >>  	pinctrl-0 = <&mmc0_pins>;
> >> @@ -238,6 +268,10 @@
> >>  	status = "disabled";
> >>  };
> >>  
> >> +&tcon1 {
> >> +	status = "okay";
> >> +};
> >
> >Is it working or not on the pine64?
> 
> Not tested yet, as my main A64 device is Pine A64-LTS now.

It was last reported as broken, so it's better to leave it out of that
patch until someone figures it out.

Thanks!
Maxime

-- 
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

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

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

* Re: [linux-sunxi] Re: [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI
  2018-07-27 13:57       ` Jagan Teki
@ 2018-07-27 14:11         ` Icenowy Zheng
  2018-07-27 14:20         ` Icenowy Zheng
  1 sibling, 0 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-27 14:11 UTC (permalink / raw)
  To: jagan, Jagan Teki, Maxime Ripard
  Cc: linux-arm-kernel, devicetree, Jernej Skrabec, linux-sunxi,
	linux-kernel, dri-devel, Chen-Yu Tsai, Rob Herring, linux-clk



于 2018年7月27日 GMT+08:00 下午9:57:08, Jagan Teki <jagan@amarulasolutions.com> 写到:
>On Fri, Jul 27, 2018 at 6:56 PM, Icenowy Zheng <icenowy@aosc.io> wrote:
>>
>>
>> 于 2018年7月27日 GMT+08:00 下午8:56:15, Maxime Ripard
><maxime.ripard@bootlin.com> 写到:
>>>On Fri, Jul 27, 2018 at 01:12:57AM +0800, Icenowy Zheng wrote:
>>>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>>>b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>>>> index 1b9b92e541d2..1b972bade9f6 100644
>>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>>>> @@ -62,6 +62,21 @@
>>>>      chosen {
>>>>              stdout-path = "serial0:115200n8";
>>>>      };
>>>> +
>>>> +    connector {
>>>> +            compatible = "hdmi-connector";
>>>> +            type = "a";
>>>> +
>>>> +            port {
>>>> +                    hdmi_con_in: endpoint {
>>>> +                            remote-endpoint = <&hdmi_out_con>;
>>>> +                    };
>>>> +            };
>>>> +    };
>>>> +};
>>>> +
>>>> +&de {
>>>> +    status = "okay";
>>>>  };
>>>>
>>>>  &ehci0 {
>>>> @@ -82,6 +97,17 @@
>>>>
>>>>  };
>>>>
>>>> +&hdmi {
>>>> +    hdmi-supply = <&reg_dldo1>;
>>>> +    status = "okay";
>>>> +};
>>>> +
>>>> +&hdmi_out {
>>>> +    hdmi_out_con: endpoint {
>>>> +            remote-endpoint = <&hdmi_con_in>;
>>>> +    };
>>>> +};
>>>> +
>>>>  &i2c1 {
>>>>      pinctrl-names = "default";
>>>>      pinctrl-0 = <&i2c1_pins>;
>>>> @@ -99,6 +125,10 @@
>>>>      };
>>>>  };
>>>>
>>>> +&mixer1 {
>>>> +    status = "okay";
>>>> +};
>>>> +
>>>>  &mmc0 {
>>>>      pinctrl-names = "default";
>>>>      pinctrl-0 = <&mmc0_pins>;
>>>> @@ -238,6 +268,10 @@
>>>>      status = "disabled";
>>>>  };
>>>>
>>>> +&tcon1 {
>>>> +    status = "okay";
>>>> +};
>>>
>>>Is it working or not on the pine64?
>>
>> Not tested yet, as my main A64 device is Pine A64-LTS now.
>
>I have seen BPI-M64 seems failing.
>
>[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
>[    0.000000] Linux version
>4.18.0-rc6-next-20180727-00014-gc7092bc38139 (jagan@jagan-XPS-13-9350)
>(gcc version 6.3.1 20170109 (Linaro GCC 6.3-2
>017.02)) #1 SMP PREEMPT Fri Jul 27 19:05:15 IST 2018
>[    0.000000] Machine model: BananaPi-M64
>[    0.000000] efi: Getting EFI parameters from FDT:
>[    0.000000] efi: UEFI not found.
>[    0.000000] cma: Reserved 32 MiB at 0x00000000bc000000
>[    0.000000] NUMA: No NUMA configuration found
>[    0.000000] NUMA: Faking a node at [mem
>0x0000000000000000-0x00000000bdffffff]
>[    0.000000] NUMA: NODE_DATA [mem 0xbbfd7780-0xbbfd8f3f]
>[    0.000000] Zone ranges:
>[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000bdffffff]
>[    0.000000]   Normal   empty
>[    0.000000] Movable zone start for each node
>[    0.000000] Early memory node ranges
>[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000bdffffff]
>[    0.000000] Initmem setup node 0 [mem
>0x0000000040000000-0x00000000bdffffff]
>[    0.000000] psci: probing for conduit method from DT.
>[    0.000000] psci: PSCIv0.2 detected in firmware.
>[    0.000000] psci: Using standard PSCI v0.2 function IDs
>[    0.000000] psci: Trusted OS migration not required
>[    0.000000] random: get_random_bytes called from
>start_kernel+0xa4/0x414 with crng_init=0
>[    0.000000] percpu: Embedded 23 pages/cpu @(____ptrval____) s56728
>r8192 d29288 u94208
>[    0.000000] Detected VIPT I-cache on CPU0
>[    0.000000] CPU features: enabling workaround for ARM erratum 843419
>[    0.000000] CPU features: enabling workaround for ARM erratum 845719
>[    0.000000] CPU features: detected: Kernel page table isolation
>(KPTI)
>[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages:
>508032
>[    0.000000] Policy zone: DMA32
>[    0.000000] Kernel command line: console=ttyS0,115200 earlyprintk
>root=/dev/mmcblk0p2 rootwait
>[    0.000000] Memory: 1979032K/2064384K available (10812K kernel
>code, 1382K rwdata, 5096K rodata, 1344K init, 382K bss, 52584K
>reserved, 32768K
> cma-reserved)
>[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4,
>Nodes=1
>[    0.000000] rcu: Preemptible hierarchical RCU implementation.
>[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=64 to
>nr_cpu_ids=4.
>[    0.000000]  Tasks RCU enabled.
>[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16,
>nr_cpu_ids=4
>[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
>[    0.000000] GIC: Using split EOI/Deactivate mode
>[    0.000000] Persistent clock returned invalid value
>[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
>[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
>max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
>[    0.000004] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps
>every 4398046511097ns
>[    0.000491] Console: colour dummy device 80x25
>[    0.000575] Calibrating delay loop (skipped), value calculated
>using timer frequency.. 48.00 BogoMIPS (lpj=96000)
>[    0.000589] pid_max: default: 32768 minimum: 301
>[    0.000671] Security Framework initialized
>[    0.001977] Dentry cache hash table entries: 262144 (order: 9,
>2097152 bytes)
>[    0.002635] Inode-cache hash table entries: 131072 (order: 8,
>1048576 bytes)
>[    0.002684] Mount-cache hash table entries: 4096 (order: 3, 32768
>bytes)
>[    0.002713] Mountpoint-cache hash table entries: 4096 (order: 3,
>32768 bytes)
>[    0.024041] ASID allocator initialised with 32768 entries
>[    0.032035] rcu: Hierarchical SRCU implementation.
>[    0.041639] EFI services will not be available.
>[    0.048073] smp: Bringing up secondary CPUs ...
>[    0.080932] Detected VIPT I-cache on CPU1
>[    0.080992] CPU1: Booted secondary processor 0x0000000001
>[0x410fd034]
>[    0.112631] Detected VIPT I-cache on CPU2
>[    0.112667] CPU2: Booted secondary processor 0x0000000002
>[0x410fd034]
>[    0.144707] Detected VIPT I-cache on CPU3
>[    0.144739] CPU3: Booted secondary processor 0x0000000003
>[0x410fd034]
>[    0.144814] smp: Brought up 1 node, 4 CPUs
>[    0.144840] SMP: Total of 4 processors activated.
>[    0.144849] CPU features: detected: 32-bit EL0 Support
>[    0.154877] CPU: All CPU(s) started at EL2
>[    0.154897] alternatives: patching kernel code
>[    0.156490] devtmpfs: initialized
>[    0.161841] clocksource: jiffies: mask: 0xffffffff max_cycles:
>0xffffffff, max_idle_ns: 7645041785100000 ns
>[    0.161905] futex hash table entries: 1024 (order: 4, 65536 bytes)
>[    0.163334] pinctrl core: initialized pinctrl subsystem
>[    0.164938] DMI not present or invalid.
>[    0.165455] NET: Registered protocol family 16
>[    0.165896] audit: initializing netlink subsys (disabled)
>[    0.166040] audit: type=2000 audit(0.160:1): state=initialized
>audit_enabled=0 res=1
>[    0.167564] cpuidle: using governor menu
>[    0.167960] vdso: 2 pages (1 code @ (____ptrval____), 1 data @
>(____ptrval____))
>[    0.167974] hw-breakpoint: found 6 breakpoint and 4 watchpoint
>registers.
>[    0.171685] DMA: preallocated 256 KiB pool for atomic allocations
>[    0.172948] Serial: AMBA PL011 UART driver
>[    0.195691] HugeTLB registered 2.00 MiB page size, pre-allocated 0
>pages
>[    0.196128] cryptd: max_cpu_qlen set to 1000
>[    0.196923] ACPI: Interpreter disabled.
>[    0.198046] vgaarb: loaded
>[    0.198380] SCSI subsystem initialized
>[    0.199024] usbcore: registered new interface driver usbfs
>[    0.199093] usbcore: registered new interface driver hub
>[    0.199167] usbcore: registered new device driver usb
>[    0.200125] pps_core: LinuxPPS API ver. 1 registered
>[    0.200137] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
>Rodolfo Giometti <giometti@linux.it>
>[    0.200166] PTP clock support registered
>[    0.200335] EDAC MC: Ver: 3.0.0
>[    0.201397] Advanced Linux Sound Architecture Driver Initialized.
>[    0.202248] clocksource: Switched to clocksource arch_sys_counter
>[    0.202467] VFS: Disk quotas dquot_6.6.0
>[    0.202538] VFS: Dquot-cache hash table entries: 512 (order 0, 4096
>bytes)
>[    0.202946] pnp: PnP ACPI: disabled
>[    0.210691] NET: Registered protocol family 2
>[    0.211403] tcp_listen_portaddr_hash hash table entries: 1024
>(order: 2, 16384 bytes)
>[    0.211468] TCP established hash table entries: 16384 (order: 5,
>131072 bytes)
>[    0.211683] TCP bind hash table entries: 16384 (order: 6, 262144
>bytes)
>[    0.211987] TCP: Hash tables configured (established 16384 bind
>16384)
>[    0.212142] UDP hash table entries: 1024 (order: 3, 32768 bytes)
>[    0.212209] UDP-Lite hash table entries: 1024 (order: 3, 32768
>bytes)
>[    0.212390] NET: Registered protocol family 1
>[    0.212813] RPC: Registered named UNIX socket transport module.
>[    0.212821] RPC: Registered udp transport module.
>[    0.212827] RPC: Registered tcp transport module.
>[    0.212833] RPC: Registered tcp NFSv4.1 backchannel transport
>module.
>[    0.213695] kvm [1]: 8-bit VMID
>[    0.215775] kvm [1]: vgic interrupt IRQ1
>[    0.215975] kvm [1]: Hyp mode initialized successfully
>[    0.220557] Initialise system trusted keyrings
>[    0.220710] workingset: timestamp_bits=45 max_order=19
>bucket_order=0
>[    0.229546] squashfs: version 4.0 (2009/01/31) Phillip Lougher
>[    0.230522] NFS: Registering the id_resolver key type
>[    0.230557] Key type id_resolver registered
>[    0.230564] Key type id_legacy registered
>[    0.230580] nfs4filelayout_init: NFSv4 File Layout Driver
>Registering...
>[    0.230785] 9p: Installing v9fs 9p2000 file system support
>[    0.230909] pstore: using deflate compression
>[    0.234029] Key type asymmetric registered
>[    0.234046] Asymmetric key parser 'x509' registered
>[    0.234104] Block layer SCSI generic (bsg) driver version 0.4
>loaded (major 244)
>[    0.234115] io scheduler noop registered
>[    0.234122] io scheduler deadline registered
>[    0.234384] io scheduler cfq registered (default)
>[    0.234394] io scheduler mq-deadline registered
>[    0.234402] io scheduler kyber registered
>[    0.235702] sun50i-de2-bus 1000000.de2: DMA mask not set
>[    0.235744] sun50i-de2-bus 1000000.de2: Error couldn't map SRAM to
>device
>[    0.236353] sun4i-usb-phy 1c19400.phy: DMA mask not set
>[    0.236428] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
>[    0.239670] sun50i-a64-pinctrl 1c20800.pinctrl: DMA mask not set
>[    0.241173] sun50i-a64-r-pinctrl 1f02c00.pinctrl: DMA mask not set
>[    0.242701] sun50i-a64-r-pinctrl 1f02c00.pinctrl: initialized sunXi
>PIO driver
>[    0.246771] EINJ: ACPI disabled.
>[    0.249349] sun50i-a64-ccu 1c20000.clock: DMA mask not set
>[    0.252866] sunxi-sram 1c00000.syscon: DMA mask not set
>[    0.253218] sram 18000.sram: DMA mask not set
>[    0.259221] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
>[    0.261898] SuperH (H)SCI(F) driver initialized
>[    0.262440] msm_serial: driver initialized
>[    0.263282] sun4i-drm display-engine: DMA mask not set
>[    0.263852] sun4i-tcon 1c0c000.lcd-controller: DMA mask not set
>[    0.263952] sun4i-tcon 1c0d000.lcd-controller: DMA mask not set
>[    0.264879] sun8i-dw-hdmi 1ee0000.hdmi: DMA mask not set
>[    0.265396] cacheinfo: Unable to detect cache hierarchy for CPU 0
>[    0.273880] loop: module loaded
>[    0.279047] libphy: Fixed MDIO Bus: probed
>[    0.279631] tun: Universal TUN/TAP device driver, 1.6
>[    0.280729] thunder_xcv, ver 1.0
>[    0.280798] thunder_bgx, ver 1.0
>[    0.280852] nicpf, ver 1.0
>[    0.281358] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
>[    0.281367] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
>[    0.281427] igb: Intel(R) Gigabit Ethernet Network Driver - version
>5.4.0-k
>[    0.281435] igb: Copyright (c) 2007-2014 Intel Corporation.
>[    0.281490] igbvf: Intel(R) Gigabit Virtual Function Network Driver
>- version 2.4.0-k
>[    0.281498] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
>[    0.281875] sky2: driver version 1.30
>[    0.282744] VFIO - User Level meta-driver version: 0.3
>[    0.284239] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI)
>Driver
>[    0.284252] ehci-pci: EHCI PCI platform driver
>[    0.284303] ehci-platform: EHCI generic platform driver
>[    0.284417] ehci-platform 1c1a000.usb: DMA mask not set
>[    0.284559] ehci-platform 1c1a000.usb: EHCI Host Controller
>[    0.284587] ehci-platform 1c1a000.usb: new USB bus registered,
>assigned bus number 1
>[    0.285256] ehci-platform 1c1a000.usb: irq 14, io mem 0x01c1a000
>[    0.298255] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
>[    0.299042] hub 1-0:1.0: USB hub found
>[    0.299079] hub 1-0:1.0: 1 port detected
>[    0.299554] ehci-platform 1c1b000.usb: DMA mask not set
>[    0.299832] ehci-orion: EHCI orion driver
>[    0.300060] ehci-exynos: EHCI EXYNOS driver
>[    0.300186] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
>[    0.300219] ohci-pci: OHCI PCI platform driver
>[    0.300309] ohci-platform: OHCI generic platform driver
>[    0.300404] ohci-platform 1c1a400.usb: DMA mask not set
>[    0.300502] ohci-platform 1c1a400.usb: Generic Platform OHCI
>controller
>[    0.300528] ohci-platform 1c1a400.usb: new USB bus registered,
>assigned bus number 2
>[    0.300860] ohci-platform 1c1a400.usb: irq 15, io mem 0x01c1a400
>[    0.362977] hub 2-0:1.0: USB hub found
>[    0.363017] hub 2-0:1.0: 1 port detected
>[    0.363420] ohci-platform 1c1b400.usb: DMA mask not set
>[    0.363676] ohci-exynos: OHCI EXYNOS driver
>[    0.364386] usbcore: registered new interface driver usb-storage
>[    0.364713] musb-sunxi 1c19000.usb: DMA mask not set
>[    0.367499] sun6i-rtc 1f00000.rtc: DMA mask not set
>[    0.367858] sun6i-rtc 1f00000.rtc: rtc core: registered rtc-sun6i as
>rtc0
>[    0.367871] sun6i-rtc 1f00000.rtc: RTC enabled
>[    0.368196] i2c /dev entries driver
>[    0.372718] pwrseq_simple wifi_pwrseq: DMA mask not set
>[    0.373113] sdhci: Secure Digital Host Controller Interface driver
>[    0.373125] sdhci: Copyright(c) Pierre Ossman
>[    0.373456] Synopsys Designware Multimedia Card Interface Driver
>[    0.374617] sdhci-pltfm: SDHCI platform and OF driver helper
>[    0.375695] leds-gpio leds: DMA mask not set
>[    0.376136] ledtrig-cpu: registered to indicate activity on CPUs
>[    0.377457] usbcore: registered new interface driver usbhid
>[    0.377472] usbhid: USB HID core driver
>[    0.380972] NET: Registered protocol family 17
>[    0.381230] 9pnet: Installing 9P2000 support
>[    0.381304] Key type dns_resolver registered
>[    0.381985] registered taskstats version 1
>[    0.381994] Loading compiled-in X.509 certificates
>[    0.390508] sunxi-de2-clks 1000000.clock: DMA mask not set
>[    0.392353] sun8i-mixer 1200000.mixer: DMA mask not set
>[    0.402857] sun4i-drm display-engine: bound 1200000.mixer (ops
>sun8i_mixer_ops)
>[    0.403112] sun4i-drm display-engine: bound 1c0d000.lcd-controller
>(ops sun4i_tcon_ops)
>[    0.403172] sun8i-dw-hdmi 1ee0000.hdmi: Couldn't get regulator
>[    0.403191] sun4i-drm display-engine: failed to bind 1ee0000.hdmi
>(ops sun8i_dw_hdmi_ops): -517
>[    0.403322] sun4i-drm display-engine: Couldn't bind all pipelines
>components
>[    0.403422] sun4i-drm display-engine: master bind failed: -517
>[    0.404396] sunxi-rsb 1f03400.rsb: DMA mask not set
>[    0.404487] sunxi-rsb 1f03400.rsb: RSB running at 3000000 Hz
>[    0.404925] axp20x-rsb sunxi-rsb-3a3: AXP20x variant AXP803 found
>[    0.407592] dcdc1: supplied by regulator-dummy
>[    0.407904] dcdc2: supplied by regulator-dummy
>[    0.408131] dcdc4: supplied by regulator-dummy
>[    0.408355] dcdc5: supplied by regulator-dummy
>[    0.408608] dcdc6: supplied by regulator-dummy
>[    0.408822] dc1sw: supplied by regulator-dummy
>[    0.409052] aldo1: supplied by regulator-dummy
>[    0.409167] afvcc-csi: Bringing 3300000uV into 2800000-2800000uV
>[    0.409380] aldo2: supplied by regulator-dummy
>[    0.409598] aldo3: supplied by regulator-dummy
>[    0.409836] dldo1: supplied by regulator-dummy
>[    0.410087] dldo2: supplied by regulator-dummy
>[    0.410160] vcc-wifi: Bringing 2900000uV into 3300000-3300000uV
>[    0.410393] dldo3: supplied by regulator-dummy
>[    0.410623] dldo4: supplied by regulator-dummy
>[    0.410884] eldo1: supplied by regulator-dummy
>[    0.411113] eldo2: supplied by regulator-dummy
>[    0.411333] eldo3: supplied by regulator-dummy
>[    0.411596] fldo1: supplied by regulator-dummy
>[    0.411835] fldo2: supplied by regulator-dummy
>[    0.412088] rtc-ldo: supplied by regulator-dummy
>[    0.412300] ldo-io0: supplied by regulator-dummy
>[    0.412561] ldo-io1: supplied by regulator-dummy
>[    0.412846] drivevbus: supplied by regulator-dummy
>[    0.413096] axp20x-rsb sunxi-rsb-3a3: AXP20X driver loaded
>[    0.413597] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
>[    0.419074] sun50i-a64-pinctrl 1c20800.pinctrl: initialized sunXi
>PIO driver
>[    0.419935] dw-apb-uart 1c28000.serial: DMA mask not set
>[    0.420349] console [ttyS0] disabled
>[    0.440883] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 21,
>base_baud = 1500000) is a U6_16550A
>[    1.757108] console [ttyS0] enabled
>[    1.761887] dw-apb-uart 1c28400.serial: DMA mask not set
>[    1.788099] 1c28400.serial: ttyS1 at MMIO 0x1c28400 (irq = 22,
>base_baud = 1500000) is a U6_16550A
>[    1.802439] mv64xxx_i2c 1c2b000.i2c: DMA mask not set
>[    1.809485] sunxi-mmc 1c0f000.mmc: DMA mask not set
>[    1.814529] sunxi-mmc 1c0f000.mmc: Linked as a consumer to
>regulator.1
>[    1.821642] WARNING: CPU: 2 PID: 50 at
>./include/linux/dma-mapping.h:516 sunxi_mmc_probe+0x1f4/0x508
>[    1.830760] Modules linked in:
>[    1.833818] CPU: 2 PID: 50 Comm: kworker/2:1 Not tainted
>4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
>[    1.843281] Hardware name: BananaPi-M64 (DT)
>[    1.847554] Workqueue: events deferred_probe_work_func
>[    1.852689] pstate: 60000005 (nZCv daif -PAN -UAO)
>[    1.857476] pc : sunxi_mmc_probe+0x1f4/0x508
>[    1.861742] lr : sunxi_mmc_probe+0x1d4/0x508
>[    1.866004] sp : ffff00000975bb60
>[    1.869313] x29: ffff00000975bb60 x28: 0000000000000000
>[    1.874621] x27: ffff0000096abce8 x26: ffff00000917de78
>[    1.879929] x25: 0000000000000000 x24: ffff80007897fdd8
>[    1.885237] x23: ffff000009169000 x22: ffff000008b17000
>[    1.890545] x21: ffff80007897fd80 x20: ffff800079063410
>[    1.895852] x19: ffff80007897f800 x18: ffffffffffffffff
>[    1.901160] x17: 0000000000000000 x16: 0000000000000000
>[    1.906468] x15: ffff0000091696c8 x14: ffff00008975ba37
>[    1.911775] x13: ffffff0000000000 x12: 0000000000000008
>[    1.917083] x11: 0101010101010101 x10: ffffff7f7fffffff
>[    1.922390] x9 : 0000000000000000 x8 : ffff800078fe4140
>[    1.927697] x7 : ffff800078fe4140 x6 : ffff800078fe4141
>[    1.933004] x5 : ffff800078879ec0 x4 : ffff8000789b3000
>[    1.938311] x3 : ffff8000789b3100 x2 : 0000000000000000
>[    1.943618] x1 : ffff8000791327c0 x0 : 0000000000000000
>[    1.948926] Call trace:
>[    1.951373]  sunxi_mmc_probe+0x1f4/0x508
>[    1.955293]  platform_drv_probe+0x50/0xa8
>[    1.959299]  really_probe+0x1fc/0x290
>[    1.962959]  driver_probe_device+0x58/0x100
>[    1.967138]  __device_attach_driver+0x9c/0xf8
>[    1.971490]  bus_for_each_drv+0x70/0xc8
>[    1.975322]  __device_attach+0xdc/0x138
>[    1.979153]  device_initial_probe+0x10/0x18
>[    1.983331]  bus_probe_device+0x94/0xa0
>[    1.987162]  deferred_probe_work_func+0x6c/0xa0
>[    1.991690]  process_one_work+0x1c8/0x318
>[    1.995697]  worker_thread+0x234/0x428
>[    1.999443]  kthread+0xf8/0x128
>[    2.002584]  ret_from_fork+0x10/0x18
>[    2.006154] ---[ end trace 7f686a1ed4dfbded ]---
>[    2.011182] sunxi-mmc 1c0f000.mmc: swiotlb: coherent allocation
>failed, size=4096
>[    2.018674] CPU: 2 PID: 50 Comm: kworker/2:1 Tainted: G        W
>     4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
>[    2.029524] Hardware name: BananaPi-M64 (DT)
>[    2.033793] Workqueue: events deferred_probe_work_func
>[    2.038924] Call trace:
>[    2.041372]  dump_backtrace+0x0/0x150
>[    2.045031]  show_stack+0x14/0x20
>[    2.048346]  dump_stack+0x8c/0xac
>[    2.051660]  swiotlb_alloc+0x130/0x170
>[    2.055406]  __dma_alloc+0xc4/0x1b0
>[    2.058893]  sunxi_mmc_probe+0x34c/0x508
>[    2.062812]  platform_drv_probe+0x50/0xa8
>[    2.066817]  really_probe+0x1fc/0x290
>[    2.070475]  driver_probe_device+0x58/0x100
>[    2.074653]  __device_attach_driver+0x9c/0xf8
>[    2.079004]  bus_for_each_drv+0x70/0xc8
>[    2.082835]  __device_attach+0xdc/0x138
>[    2.086667]  device_initial_probe+0x10/0x18
>[    2.090844]  bus_probe_device+0x94/0xa0
>[    2.094675]  deferred_probe_work_func+0x6c/0xa0
>[    2.099202]  process_one_work+0x1c8/0x318
>[    2.103209]  worker_thread+0x234/0x428
>[    2.106954]  kthread+0xf8/0x128
>[    2.110092]  ret_from_fork+0x10/0x18
>[    2.113685] sunxi-mmc 1c0f000.mmc: Failed to allocate DMA descriptor
>mem
>[    2.120519] sunxi-mmc 1c0f000.mmc: Dropping the link to regulator.1
>[    2.126845] sunxi-mmc: probe of 1c0f000.mmc failed with error -12
>[    2.134550] sunxi-mmc 1c10000.mmc: DMA mask not set
>[    2.139583] sunxi-mmc 1c10000.mmc: Linked as a consumer to
>regulator.11
>[    2.146279] sunxi-mmc 1c10000.mmc: Linked as a consumer to
>regulator.13
>[    2.153403] sunxi-mmc 1c10000.mmc: swiotlb: coherent allocation
>failed, size=4096
>[    2.160898] CPU: 2 PID: 50 Comm: kworker/2:1 Tainted: G        W
>     4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
>[    2.171749] Hardware name: BananaPi-M64 (DT)
>[    2.176026] Workqueue: events deferred_probe_work_func
>[    2.181159] Call trace:
>[    2.183608]  dump_backtrace+0x0/0x150
>[    2.187269]  show_stack+0x14/0x20
>[    2.190583]  dump_stack+0x8c/0xac
>[    2.193899]  swiotlb_alloc+0x130/0x170
>[    2.197645]  __dma_alloc+0xc4/0x1b0
>[    2.201135]  sunxi_mmc_probe+0x34c/0x508
>[    2.205056]  platform_drv_probe+0x50/0xa8
>[    2.209061]  really_probe+0x1fc/0x290
>[    2.212719]  driver_probe_device+0x58/0x100
>[    2.216897]  __device_attach_driver+0x9c/0xf8
>[    2.221249]  bus_for_each_drv+0x70/0xc8
>[    2.225081]  __device_attach+0xdc/0x138
>[    2.228912]  device_initial_probe+0x10/0x18
>[    2.233090]  bus_probe_device+0x94/0xa0
>[    2.236922]  deferred_probe_work_func+0x6c/0xa0
>[    2.241450]  process_one_work+0x1c8/0x318
>[    2.245456]  worker_thread+0x234/0x428
>[    2.249202]  kthread+0xf8/0x128
>[    2.252341]  ret_from_fork+0x10/0x18
>[    2.255939] sunxi-mmc 1c10000.mmc: Failed to allocate DMA descriptor
>mem
>[    2.262765] sunxi-mmc 1c10000.mmc: Dropping the link to regulator.13
>[    2.269180] sunxi-mmc 1c10000.mmc: Dropping the link to regulator.11
>[    2.275574] sunxi-mmc: probe of 1c10000.mmc failed with error -12
>[    2.283233] sunxi-mmc 1c11000.mmc: DMA mask not set
>[    2.288259] sunxi-mmc 1c11000.mmc: Linked as a consumer to
>regulator.1
>[    2.295295] sunxi-mmc 1c11000.mmc: swiotlb: coherent allocation
>failed, size=4096
>[    2.302792] CPU: 2 PID: 50 Comm: kworker/2:1 Tainted: G        W
>     4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
>[    2.313642] Hardware name: BananaPi-M64 (DT)
>[    2.317920] Workqueue: events deferred_probe_work_func
>[    2.323052] Call trace:
>[    2.325501]  dump_backtrace+0x0/0x150
>[    2.329162]  show_stack+0x14/0x20
>[    2.332476]  dump_stack+0x8c/0xac
>[    2.335790]  swiotlb_alloc+0x130/0x170
>[    2.339537]  __dma_alloc+0xc4/0x1b0
>[    2.343026]  sunxi_mmc_probe+0x34c/0x508
>[    2.346946]  platform_drv_probe+0x50/0xa8
>[    2.350951]  really_probe+0x1fc/0x290
>[    2.354610]  driver_probe_device+0x58/0x100
>[    2.358789]  __device_attach_driver+0x9c/0xf8
>[    2.363141]  bus_for_each_drv+0x70/0xc8
>[    2.366973]  __device_attach+0xdc/0x138
>[    2.370804]  device_initial_probe+0x10/0x18
>[    2.374983]  bus_probe_device+0x94/0xa0
>[    2.378815]  deferred_probe_work_func+0x6c/0xa0
>[    2.383343]  process_one_work+0x1c8/0x318
>[    2.387349]  worker_thread+0x234/0x428
>[    2.391095]  kthread+0xf8/0x128
>[    2.394235]  ret_from_fork+0x10/0x18
>[    2.397830] sunxi-mmc 1c11000.mmc: Failed to allocate DMA descriptor
>mem
>[    2.404650] sunxi-mmc 1c11000.mmc: Dropping the link to regulator.1
>[    2.410967] sunxi-mmc: probe of 1c11000.mmc failed with error -12
>[    2.430226] sun4i-drm display-engine: bound 1200000.mixer (ops
>sun8i_mixer_ops)
>[    2.437766] sun4i-drm display-engine: bound 1c0d000.lcd-controller
>(ops sun4i_tcon_ops)
>[    2.445889] sun8i-dw-hdmi 1ee0000.hdmi: Linked as a consumer to
>regulator.10
>[    2.453957] sun8i-dw-hdmi 1ee0000.hdmi: Detected HDMI TX controller
>v1.32a with HDCP (sun8i_dw_hdmi_phy)
>[    2.463964] sun8i-dw-hdmi 1ee0000.hdmi: registered DesignWare HDMI
>I2C bus driver
>[    2.472454] sun4i-drm display-engine: bound 1ee0000.hdmi (ops
>sun8i_dw_hdmi_ops)
>[    2.479866] [drm] Supports vblank timestamp caching Rev 2
>(21.10.2013).
>[    2.486486] [drm] No driver support for vblank timestamp query.
>[    2.648129] random: fast init done
>[    2.699113] WARNING: CPU: 2 PID: 50 at
>./include/linux/dma-mapping.h:516 drm_gem_cma_create+0x68/0x128
>[    2.708404] Modules linked in:
>[    2.711464] CPU: 2 PID: 50 Comm: kworker/2:1 Tainted: G        W
>     4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
>[    2.722314] Hardware name: BananaPi-M64 (DT)
>[    2.726585] Workqueue: events deferred_probe_work_func
>[    2.731720] pstate: 80000005 (Nzcv daif -PAN -UAO)
>[    2.736505] pc : drm_gem_cma_create+0x68/0x128
>[    2.740944] lr : drm_gem_cma_create+0x40/0x128
>[    2.745380] sp : ffff00000975b870
>[    2.748689] x29: ffff00000975b870 x28: ffff800078d34c18
>[    2.753997] x27: ffff800078d34d00 x26: ffff8000789b3f00
>[    2.759304] x25: ffff80007897f800 x24: ffff800078d126f0
>[    2.764613] x23: ffff000008b17000 x22: ffff000009169000
>[    2.769920] x21: ffff800079060810 x20: ffff800078d12600
>[    2.775228] x19: 00000000004f2000 x18: ffffffffffffffff
>[    2.780536] x17: 0000000000000000 x16: 0000000000000000
>[    2.785843] x15: ffff80007897fab0 x14: 00000387000003a6
>[    2.791151] x13: 0000038400000384 x12: 0000000000000028
>[    2.796458] x11: 0101010101010101 x10: 0000000000000000
>[    2.801765] x9 : 00000000010ffff0 x8 : ffff8000789b07c0
>[    2.807073] x7 : 0000000000100000 x6 : 00000000001004f2
>[    2.812380] x5 : 0000000000000000 x4 : 0000000000000010
>[    2.817688] x3 : 0000000000000000 x2 : d1022ccae126e900
>[    2.822996] x1 : ffff8000791327c0 x0 : 0000000000000000
>[    2.828303] Call trace:
>[    2.830750]  drm_gem_cma_create+0x68/0x128
>[    2.834842]  drm_gem_cma_dumb_create+0x40/0xa8
>[    2.839283]  drm_mode_create_dumb+0x94/0xb0
>[    2.843465]  drm_client_framebuffer_create+0x90/0x1f8
>[    2.848511]  drm_fb_helper_generic_probe+0x4c/0x238
>[    2.853385]  __drm_fb_helper_initial_config_and_unlock+0x1e0/0x3a0
>[    2.859557]  drm_fb_helper_fbdev_setup+0xcc/0x1c8
>[    2.864255]  drm_fbdev_cma_init+0x9c/0xc8
>[    2.868260]  drm_fb_cma_fbdev_init+0xc/0x20
>[    2.872441]  sun4i_framebuffer_init+0x48/0x58
>[    2.876793]  sun4i_drv_bind+0x180/0x1d0
>[    2.880627]  try_to_bring_up_master+0x144/0x1a8
>[    2.885153]  component_add+0x98/0x160
>[    2.888811]  sun8i_mixer_probe+0x18/0x20
>[    2.892731]  platform_drv_probe+0x50/0xa8
>[    2.896736]  really_probe+0x1fc/0x290
>[    2.900395]  driver_probe_device+0x58/0x100
>[    2.904573]  __device_attach_driver+0x9c/0xf8
>[    2.908925]  bus_for_each_drv+0x70/0xc8
>[    2.912757]  __device_attach+0xdc/0x138
>[    2.916588]  device_initial_probe+0x10/0x18
>[    2.920766]  bus_probe_device+0x94/0xa0
>[    2.924599]  deferred_probe_work_func+0x6c/0xa0
>[    2.929128]  process_one_work+0x1c8/0x318
>[    2.933134]  worker_thread+0x234/0x428
>[    2.936880]  kthread+0xf8/0x128
>[    2.940020]  ret_from_fork+0x10/0x18
>[    2.943591] ---[ end trace 7f686a1ed4dfbdee ]---
>[    2.949730] sun4i-drm display-engine:
>[drm:drm_fb_helper_fbdev_setup] *ERROR* Failed to set fbdev

Have you configured a big enough CMA?

>configuration
>[    2.959846] sun4i-drm display-engine: Couldn't create our
>framebuffer
>[    2.966492] sun4i-drm display-engine: master bind failed: -12
>[    2.972352] sun8i-mixer: probe of 1200000.mixer failed with error
>-12
>[    2.980094] sun4i-usb-phy 1c19400.phy: Linked as a consumer to
>regulator.22
>[    2.988807] ehci-platform 1c1b000.usb: EHCI Host Controller
>[    2.994429] ehci-platform 1c1b000.usb: new USB bus registered,
>assigned bus number 3
>[    3.002709] ehci-platform 1c1b000.usb: irq 16, io mem 0x01c1b000
>[    3.022268] ehci-platform 1c1b000.usb: USB 2.0 started, EHCI 1.00
>[    3.029045] hub 3-0:1.0: USB hub found
>[    3.032841] hub 3-0:1.0: 1 port detected
>[    3.038440] ohci-platform 1c1b400.usb: Generic Platform OHCI
>controller
>[    3.045089] ohci-platform 1c1b400.usb: new USB bus registered,
>assigned bus number 4
>[    3.053135] ohci-platform 1c1b400.usb: irq 17, io mem 0x01c1b400
>[    3.122925] hub 4-0:1.0: USB hub found
>[    3.126713] hub 4-0:1.0: 1 port detected
>[    3.132346] usb_phy_generic usb_phy_generic.2.auto:
>usb_phy_generic.2.auto supply vcc not found, using dummy regulator
>[    3.143150] usb_phy_generic usb_phy_generic.2.auto: Linked as a
>consumer to regulator.0
>[    3.151793] musb-hdrc musb-hdrc.3.auto: MUSB HDRC host driver
>[    3.157559] musb-hdrc musb-hdrc.3.auto: new USB bus registered,
>assigned bus number 5
>[    3.166017] hub 5-0:1.0: USB hub found
>[    3.169808] hub 5-0:1.0: 1 port detected
>[    3.174817] sun6i-rtc 1f00000.rtc: setting system clock to
>1970-01-01 00:00:09 UTC (9)
>[    3.183177] vcc-wifi-io: disabling
>[    3.186642] cpvdd: disabling
>[    3.189573] ALSA device list:
>[    3.192551]   No soundcards found.
>[    3.196433] Waiting for root device /dev/mmcblk0p2...
>[    3.374265] usb 3-1: new high-speed USB device number 2 using
>ehci-platform
>[    3.535499] hub 3-1:1.0: USB hub found
>[    3.539377] hub 3-1:1.0: 4 ports detected

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

* Re: [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI
  2018-07-27 13:57       ` Jagan Teki
  2018-07-27 14:11         ` [linux-sunxi] " Icenowy Zheng
@ 2018-07-27 14:20         ` Icenowy Zheng
  1 sibling, 0 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-27 14:20 UTC (permalink / raw)
  To: Jagan Teki
  Cc: Maxime Ripard, devicetree, Jernej Skrabec, linux-kernel,
	dri-devel, linux-sunxi, Rob Herring, Chen-Yu Tsai, linux-clk,
	linux-arm-kernel

在 2018-07-27 21:57,Jagan Teki 写道:
> On Fri, Jul 27, 2018 at 6:56 PM, Icenowy Zheng <icenowy@aosc.io> wrote:
>> 
>> 
>> 于 2018年7月27日 GMT+08:00 下午8:56:15, Maxime Ripard 
>> <maxime.ripard@bootlin.com> 写到:
>>> On Fri, Jul 27, 2018 at 01:12:57AM +0800, Icenowy Zheng wrote:
>>>> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>>> b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>>>> index 1b9b92e541d2..1b972bade9f6 100644
>>>> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>>>> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>>>> @@ -62,6 +62,21 @@
>>>>      chosen {
>>>>              stdout-path = "serial0:115200n8";
>>>>      };
>>>> +
>>>> +    connector {
>>>> +            compatible = "hdmi-connector";
>>>> +            type = "a";
>>>> +
>>>> +            port {
>>>> +                    hdmi_con_in: endpoint {
>>>> +                            remote-endpoint = <&hdmi_out_con>;
>>>> +                    };
>>>> +            };
>>>> +    };
>>>> +};
>>>> +
>>>> +&de {
>>>> +    status = "okay";
>>>>  };
>>>> 
>>>>  &ehci0 {
>>>> @@ -82,6 +97,17 @@
>>>> 
>>>>  };
>>>> 
>>>> +&hdmi {
>>>> +    hdmi-supply = <&reg_dldo1>;
>>>> +    status = "okay";
>>>> +};
>>>> +
>>>> +&hdmi_out {
>>>> +    hdmi_out_con: endpoint {
>>>> +            remote-endpoint = <&hdmi_con_in>;
>>>> +    };
>>>> +};
>>>> +
>>>>  &i2c1 {
>>>>      pinctrl-names = "default";
>>>>      pinctrl-0 = <&i2c1_pins>;
>>>> @@ -99,6 +125,10 @@
>>>>      };
>>>>  };
>>>> 
>>>> +&mixer1 {
>>>> +    status = "okay";
>>>> +};
>>>> +
>>>>  &mmc0 {
>>>>      pinctrl-names = "default";
>>>>      pinctrl-0 = <&mmc0_pins>;
>>>> @@ -238,6 +268,10 @@
>>>>      status = "disabled";
>>>>  };
>>>> 
>>>> +&tcon1 {
>>>> +    status = "okay";
>>>> +};
>>> 
>>> Is it working or not on the pine64?
>> 
>> Not tested yet, as my main A64 device is Pine A64-LTS now.
> 
> I have seen BPI-M64 seems failing.

Or could you try to use a slightly older version of linux-next?

I doubt the newest one have some severe regression that needs
to be figured.

> 
> [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
> [    0.000000] Linux version
> 4.18.0-rc6-next-20180727-00014-gc7092bc38139 (jagan@jagan-XPS-13-9350)
> (gcc version 6.3.1 20170109 (Linaro GCC 6.3-2
> 017.02)) #1 SMP PREEMPT Fri Jul 27 19:05:15 IST 2018
> [    0.000000] Machine model: BananaPi-M64
> [    0.000000] efi: Getting EFI parameters from FDT:
> [    0.000000] efi: UEFI not found.
> [    0.000000] cma: Reserved 32 MiB at 0x00000000bc000000
> [    0.000000] NUMA: No NUMA configuration found
> [    0.000000] NUMA: Faking a node at [mem
> 0x0000000000000000-0x00000000bdffffff]
> [    0.000000] NUMA: NODE_DATA [mem 0xbbfd7780-0xbbfd8f3f]
> [    0.000000] Zone ranges:
> [    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000bdffffff]
> [    0.000000]   Normal   empty
> [    0.000000] Movable zone start for each node
> [    0.000000] Early memory node ranges
> [    0.000000]   node   0: [mem 0x0000000040000000-0x00000000bdffffff]
> [    0.000000] Initmem setup node 0 [mem 
> 0x0000000040000000-0x00000000bdffffff]
> [    0.000000] psci: probing for conduit method from DT.
> [    0.000000] psci: PSCIv0.2 detected in firmware.
> [    0.000000] psci: Using standard PSCI v0.2 function IDs
> [    0.000000] psci: Trusted OS migration not required
> [    0.000000] random: get_random_bytes called from
> start_kernel+0xa4/0x414 with crng_init=0
> [    0.000000] percpu: Embedded 23 pages/cpu @(____ptrval____) s56728
> r8192 d29288 u94208
> [    0.000000] Detected VIPT I-cache on CPU0
> [    0.000000] CPU features: enabling workaround for ARM erratum 843419
> [    0.000000] CPU features: enabling workaround for ARM erratum 845719
> [    0.000000] CPU features: detected: Kernel page table isolation 
> (KPTI)
> [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 
> 508032
> [    0.000000] Policy zone: DMA32
> [    0.000000] Kernel command line: console=ttyS0,115200 earlyprintk
> root=/dev/mmcblk0p2 rootwait
> [    0.000000] Memory: 1979032K/2064384K available (10812K kernel
> code, 1382K rwdata, 5096K rodata, 1344K init, 382K bss, 52584K
> reserved, 32768K
>  cma-reserved)
> [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, 
> Nodes=1
> [    0.000000] rcu: Preemptible hierarchical RCU implementation.
> [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=64 to 
> nr_cpu_ids=4.
> [    0.000000]  Tasks RCU enabled.
> [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, 
> nr_cpu_ids=4
> [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
> [    0.000000] GIC: Using split EOI/Deactivate mode
> [    0.000000] Persistent clock returned invalid value
> [    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys).
> [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
> max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
> [    0.000004] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps
> every 4398046511097ns
> [    0.000491] Console: colour dummy device 80x25
> [    0.000575] Calibrating delay loop (skipped), value calculated
> using timer frequency.. 48.00 BogoMIPS (lpj=96000)
> [    0.000589] pid_max: default: 32768 minimum: 301
> [    0.000671] Security Framework initialized
> [    0.001977] Dentry cache hash table entries: 262144 (order: 9, 
> 2097152 bytes)
> [    0.002635] Inode-cache hash table entries: 131072 (order: 8, 
> 1048576 bytes)
> [    0.002684] Mount-cache hash table entries: 4096 (order: 3, 32768 
> bytes)
> [    0.002713] Mountpoint-cache hash table entries: 4096 (order: 3, 
> 32768 bytes)
> [    0.024041] ASID allocator initialised with 32768 entries
> [    0.032035] rcu: Hierarchical SRCU implementation.
> [    0.041639] EFI services will not be available.
> [    0.048073] smp: Bringing up secondary CPUs ...
> [    0.080932] Detected VIPT I-cache on CPU1
> [    0.080992] CPU1: Booted secondary processor 0x0000000001 
> [0x410fd034]
> [    0.112631] Detected VIPT I-cache on CPU2
> [    0.112667] CPU2: Booted secondary processor 0x0000000002 
> [0x410fd034]
> [    0.144707] Detected VIPT I-cache on CPU3
> [    0.144739] CPU3: Booted secondary processor 0x0000000003 
> [0x410fd034]
> [    0.144814] smp: Brought up 1 node, 4 CPUs
> [    0.144840] SMP: Total of 4 processors activated.
> [    0.144849] CPU features: detected: 32-bit EL0 Support
> [    0.154877] CPU: All CPU(s) started at EL2
> [    0.154897] alternatives: patching kernel code
> [    0.156490] devtmpfs: initialized
> [    0.161841] clocksource: jiffies: mask: 0xffffffff max_cycles:
> 0xffffffff, max_idle_ns: 7645041785100000 ns
> [    0.161905] futex hash table entries: 1024 (order: 4, 65536 bytes)
> [    0.163334] pinctrl core: initialized pinctrl subsystem
> [    0.164938] DMI not present or invalid.
> [    0.165455] NET: Registered protocol family 16
> [    0.165896] audit: initializing netlink subsys (disabled)
> [    0.166040] audit: type=2000 audit(0.160:1): state=initialized
> audit_enabled=0 res=1
> [    0.167564] cpuidle: using governor menu
> [    0.167960] vdso: 2 pages (1 code @ (____ptrval____), 1 data @
> (____ptrval____))
> [    0.167974] hw-breakpoint: found 6 breakpoint and 4 watchpoint 
> registers.
> [    0.171685] DMA: preallocated 256 KiB pool for atomic allocations
> [    0.172948] Serial: AMBA PL011 UART driver
> [    0.195691] HugeTLB registered 2.00 MiB page size, pre-allocated 0 
> pages
> [    0.196128] cryptd: max_cpu_qlen set to 1000
> [    0.196923] ACPI: Interpreter disabled.
> [    0.198046] vgaarb: loaded
> [    0.198380] SCSI subsystem initialized
> [    0.199024] usbcore: registered new interface driver usbfs
> [    0.199093] usbcore: registered new interface driver hub
> [    0.199167] usbcore: registered new device driver usb
> [    0.200125] pps_core: LinuxPPS API ver. 1 registered
> [    0.200137] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
> Rodolfo Giometti <giometti@linux.it>
> [    0.200166] PTP clock support registered
> [    0.200335] EDAC MC: Ver: 3.0.0
> [    0.201397] Advanced Linux Sound Architecture Driver Initialized.
> [    0.202248] clocksource: Switched to clocksource arch_sys_counter
> [    0.202467] VFS: Disk quotas dquot_6.6.0
> [    0.202538] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 
> bytes)
> [    0.202946] pnp: PnP ACPI: disabled
> [    0.210691] NET: Registered protocol family 2
> [    0.211403] tcp_listen_portaddr_hash hash table entries: 1024
> (order: 2, 16384 bytes)
> [    0.211468] TCP established hash table entries: 16384 (order: 5,
> 131072 bytes)
> [    0.211683] TCP bind hash table entries: 16384 (order: 6, 262144 
> bytes)
> [    0.211987] TCP: Hash tables configured (established 16384 bind 
> 16384)
> [    0.212142] UDP hash table entries: 1024 (order: 3, 32768 bytes)
> [    0.212209] UDP-Lite hash table entries: 1024 (order: 3, 32768 
> bytes)
> [    0.212390] NET: Registered protocol family 1
> [    0.212813] RPC: Registered named UNIX socket transport module.
> [    0.212821] RPC: Registered udp transport module.
> [    0.212827] RPC: Registered tcp transport module.
> [    0.212833] RPC: Registered tcp NFSv4.1 backchannel transport 
> module.
> [    0.213695] kvm [1]: 8-bit VMID
> [    0.215775] kvm [1]: vgic interrupt IRQ1
> [    0.215975] kvm [1]: Hyp mode initialized successfully
> [    0.220557] Initialise system trusted keyrings
> [    0.220710] workingset: timestamp_bits=45 max_order=19 
> bucket_order=0
> [    0.229546] squashfs: version 4.0 (2009/01/31) Phillip Lougher
> [    0.230522] NFS: Registering the id_resolver key type
> [    0.230557] Key type id_resolver registered
> [    0.230564] Key type id_legacy registered
> [    0.230580] nfs4filelayout_init: NFSv4 File Layout Driver 
> Registering...
> [    0.230785] 9p: Installing v9fs 9p2000 file system support
> [    0.230909] pstore: using deflate compression
> [    0.234029] Key type asymmetric registered
> [    0.234046] Asymmetric key parser 'x509' registered
> [    0.234104] Block layer SCSI generic (bsg) driver version 0.4
> loaded (major 244)
> [    0.234115] io scheduler noop registered
> [    0.234122] io scheduler deadline registered
> [    0.234384] io scheduler cfq registered (default)
> [    0.234394] io scheduler mq-deadline registered
> [    0.234402] io scheduler kyber registered
> [    0.235702] sun50i-de2-bus 1000000.de2: DMA mask not set
> [    0.235744] sun50i-de2-bus 1000000.de2: Error couldn't map SRAM to 
> device
> [    0.236353] sun4i-usb-phy 1c19400.phy: DMA mask not set
> [    0.236428] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
> [    0.239670] sun50i-a64-pinctrl 1c20800.pinctrl: DMA mask not set
> [    0.241173] sun50i-a64-r-pinctrl 1f02c00.pinctrl: DMA mask not set
> [    0.242701] sun50i-a64-r-pinctrl 1f02c00.pinctrl: initialized sunXi
> PIO driver
> [    0.246771] EINJ: ACPI disabled.
> [    0.249349] sun50i-a64-ccu 1c20000.clock: DMA mask not set
> [    0.252866] sunxi-sram 1c00000.syscon: DMA mask not set
> [    0.253218] sram 18000.sram: DMA mask not set
> [    0.259221] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> [    0.261898] SuperH (H)SCI(F) driver initialized
> [    0.262440] msm_serial: driver initialized
> [    0.263282] sun4i-drm display-engine: DMA mask not set
> [    0.263852] sun4i-tcon 1c0c000.lcd-controller: DMA mask not set
> [    0.263952] sun4i-tcon 1c0d000.lcd-controller: DMA mask not set
> [    0.264879] sun8i-dw-hdmi 1ee0000.hdmi: DMA mask not set
> [    0.265396] cacheinfo: Unable to detect cache hierarchy for CPU 0
> [    0.273880] loop: module loaded
> [    0.279047] libphy: Fixed MDIO Bus: probed
> [    0.279631] tun: Universal TUN/TAP device driver, 1.6
> [    0.280729] thunder_xcv, ver 1.0
> [    0.280798] thunder_bgx, ver 1.0
> [    0.280852] nicpf, ver 1.0
> [    0.281358] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
> [    0.281367] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
> [    0.281427] igb: Intel(R) Gigabit Ethernet Network Driver - version 
> 5.4.0-k
> [    0.281435] igb: Copyright (c) 2007-2014 Intel Corporation.
> [    0.281490] igbvf: Intel(R) Gigabit Virtual Function Network Driver
> - version 2.4.0-k
> [    0.281498] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
> [    0.281875] sky2: driver version 1.30
> [    0.282744] VFIO - User Level meta-driver version: 0.3
> [    0.284239] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) 
> Driver
> [    0.284252] ehci-pci: EHCI PCI platform driver
> [    0.284303] ehci-platform: EHCI generic platform driver
> [    0.284417] ehci-platform 1c1a000.usb: DMA mask not set
> [    0.284559] ehci-platform 1c1a000.usb: EHCI Host Controller
> [    0.284587] ehci-platform 1c1a000.usb: new USB bus registered,
> assigned bus number 1
> [    0.285256] ehci-platform 1c1a000.usb: irq 14, io mem 0x01c1a000
> [    0.298255] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
> [    0.299042] hub 1-0:1.0: USB hub found
> [    0.299079] hub 1-0:1.0: 1 port detected
> [    0.299554] ehci-platform 1c1b000.usb: DMA mask not set
> [    0.299832] ehci-orion: EHCI orion driver
> [    0.300060] ehci-exynos: EHCI EXYNOS driver
> [    0.300186] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
> [    0.300219] ohci-pci: OHCI PCI platform driver
> [    0.300309] ohci-platform: OHCI generic platform driver
> [    0.300404] ohci-platform 1c1a400.usb: DMA mask not set
> [    0.300502] ohci-platform 1c1a400.usb: Generic Platform OHCI 
> controller
> [    0.300528] ohci-platform 1c1a400.usb: new USB bus registered,
> assigned bus number 2
> [    0.300860] ohci-platform 1c1a400.usb: irq 15, io mem 0x01c1a400
> [    0.362977] hub 2-0:1.0: USB hub found
> [    0.363017] hub 2-0:1.0: 1 port detected
> [    0.363420] ohci-platform 1c1b400.usb: DMA mask not set
> [    0.363676] ohci-exynos: OHCI EXYNOS driver
> [    0.364386] usbcore: registered new interface driver usb-storage
> [    0.364713] musb-sunxi 1c19000.usb: DMA mask not set
> [    0.367499] sun6i-rtc 1f00000.rtc: DMA mask not set
> [    0.367858] sun6i-rtc 1f00000.rtc: rtc core: registered rtc-sun6i as 
> rtc0
> [    0.367871] sun6i-rtc 1f00000.rtc: RTC enabled
> [    0.368196] i2c /dev entries driver
> [    0.372718] pwrseq_simple wifi_pwrseq: DMA mask not set
> [    0.373113] sdhci: Secure Digital Host Controller Interface driver
> [    0.373125] sdhci: Copyright(c) Pierre Ossman
> [    0.373456] Synopsys Designware Multimedia Card Interface Driver
> [    0.374617] sdhci-pltfm: SDHCI platform and OF driver helper
> [    0.375695] leds-gpio leds: DMA mask not set
> [    0.376136] ledtrig-cpu: registered to indicate activity on CPUs
> [    0.377457] usbcore: registered new interface driver usbhid
> [    0.377472] usbhid: USB HID core driver
> [    0.380972] NET: Registered protocol family 17
> [    0.381230] 9pnet: Installing 9P2000 support
> [    0.381304] Key type dns_resolver registered
> [    0.381985] registered taskstats version 1
> [    0.381994] Loading compiled-in X.509 certificates
> [    0.390508] sunxi-de2-clks 1000000.clock: DMA mask not set
> [    0.392353] sun8i-mixer 1200000.mixer: DMA mask not set
> [    0.402857] sun4i-drm display-engine: bound 1200000.mixer (ops
> sun8i_mixer_ops)
> [    0.403112] sun4i-drm display-engine: bound 1c0d000.lcd-controller
> (ops sun4i_tcon_ops)
> [    0.403172] sun8i-dw-hdmi 1ee0000.hdmi: Couldn't get regulator
> [    0.403191] sun4i-drm display-engine: failed to bind 1ee0000.hdmi
> (ops sun8i_dw_hdmi_ops): -517
> [    0.403322] sun4i-drm display-engine: Couldn't bind all pipelines 
> components
> [    0.403422] sun4i-drm display-engine: master bind failed: -517
> [    0.404396] sunxi-rsb 1f03400.rsb: DMA mask not set
> [    0.404487] sunxi-rsb 1f03400.rsb: RSB running at 3000000 Hz
> [    0.404925] axp20x-rsb sunxi-rsb-3a3: AXP20x variant AXP803 found
> [    0.407592] dcdc1: supplied by regulator-dummy
> [    0.407904] dcdc2: supplied by regulator-dummy
> [    0.408131] dcdc4: supplied by regulator-dummy
> [    0.408355] dcdc5: supplied by regulator-dummy
> [    0.408608] dcdc6: supplied by regulator-dummy
> [    0.408822] dc1sw: supplied by regulator-dummy
> [    0.409052] aldo1: supplied by regulator-dummy
> [    0.409167] afvcc-csi: Bringing 3300000uV into 2800000-2800000uV
> [    0.409380] aldo2: supplied by regulator-dummy
> [    0.409598] aldo3: supplied by regulator-dummy
> [    0.409836] dldo1: supplied by regulator-dummy
> [    0.410087] dldo2: supplied by regulator-dummy
> [    0.410160] vcc-wifi: Bringing 2900000uV into 3300000-3300000uV
> [    0.410393] dldo3: supplied by regulator-dummy
> [    0.410623] dldo4: supplied by regulator-dummy
> [    0.410884] eldo1: supplied by regulator-dummy
> [    0.411113] eldo2: supplied by regulator-dummy
> [    0.411333] eldo3: supplied by regulator-dummy
> [    0.411596] fldo1: supplied by regulator-dummy
> [    0.411835] fldo2: supplied by regulator-dummy
> [    0.412088] rtc-ldo: supplied by regulator-dummy
> [    0.412300] ldo-io0: supplied by regulator-dummy
> [    0.412561] ldo-io1: supplied by regulator-dummy
> [    0.412846] drivevbus: supplied by regulator-dummy
> [    0.413096] axp20x-rsb sunxi-rsb-3a3: AXP20X driver loaded
> [    0.413597] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
> [    0.419074] sun50i-a64-pinctrl 1c20800.pinctrl: initialized sunXi 
> PIO driver
> [    0.419935] dw-apb-uart 1c28000.serial: DMA mask not set
> [    0.420349] console [ttyS0] disabled
> [    0.440883] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 21,
> base_baud = 1500000) is a U6_16550A
> [    1.757108] console [ttyS0] enabled
> [    1.761887] dw-apb-uart 1c28400.serial: DMA mask not set
> [    1.788099] 1c28400.serial: ttyS1 at MMIO 0x1c28400 (irq = 22,
> base_baud = 1500000) is a U6_16550A
> [    1.802439] mv64xxx_i2c 1c2b000.i2c: DMA mask not set
> [    1.809485] sunxi-mmc 1c0f000.mmc: DMA mask not set
> [    1.814529] sunxi-mmc 1c0f000.mmc: Linked as a consumer to 
> regulator.1
> [    1.821642] WARNING: CPU: 2 PID: 50 at
> ./include/linux/dma-mapping.h:516 sunxi_mmc_probe+0x1f4/0x508
> [    1.830760] Modules linked in:
> [    1.833818] CPU: 2 PID: 50 Comm: kworker/2:1 Not tainted
> 4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
> [    1.843281] Hardware name: BananaPi-M64 (DT)
> [    1.847554] Workqueue: events deferred_probe_work_func
> [    1.852689] pstate: 60000005 (nZCv daif -PAN -UAO)
> [    1.857476] pc : sunxi_mmc_probe+0x1f4/0x508
> [    1.861742] lr : sunxi_mmc_probe+0x1d4/0x508
> [    1.866004] sp : ffff00000975bb60
> [    1.869313] x29: ffff00000975bb60 x28: 0000000000000000
> [    1.874621] x27: ffff0000096abce8 x26: ffff00000917de78
> [    1.879929] x25: 0000000000000000 x24: ffff80007897fdd8
> [    1.885237] x23: ffff000009169000 x22: ffff000008b17000
> [    1.890545] x21: ffff80007897fd80 x20: ffff800079063410
> [    1.895852] x19: ffff80007897f800 x18: ffffffffffffffff
> [    1.901160] x17: 0000000000000000 x16: 0000000000000000
> [    1.906468] x15: ffff0000091696c8 x14: ffff00008975ba37
> [    1.911775] x13: ffffff0000000000 x12: 0000000000000008
> [    1.917083] x11: 0101010101010101 x10: ffffff7f7fffffff
> [    1.922390] x9 : 0000000000000000 x8 : ffff800078fe4140
> [    1.927697] x7 : ffff800078fe4140 x6 : ffff800078fe4141
> [    1.933004] x5 : ffff800078879ec0 x4 : ffff8000789b3000
> [    1.938311] x3 : ffff8000789b3100 x2 : 0000000000000000
> [    1.943618] x1 : ffff8000791327c0 x0 : 0000000000000000
> [    1.948926] Call trace:
> [    1.951373]  sunxi_mmc_probe+0x1f4/0x508
> [    1.955293]  platform_drv_probe+0x50/0xa8
> [    1.959299]  really_probe+0x1fc/0x290
> [    1.962959]  driver_probe_device+0x58/0x100
> [    1.967138]  __device_attach_driver+0x9c/0xf8
> [    1.971490]  bus_for_each_drv+0x70/0xc8
> [    1.975322]  __device_attach+0xdc/0x138
> [    1.979153]  device_initial_probe+0x10/0x18
> [    1.983331]  bus_probe_device+0x94/0xa0
> [    1.987162]  deferred_probe_work_func+0x6c/0xa0
> [    1.991690]  process_one_work+0x1c8/0x318
> [    1.995697]  worker_thread+0x234/0x428
> [    1.999443]  kthread+0xf8/0x128
> [    2.002584]  ret_from_fork+0x10/0x18
> [    2.006154] ---[ end trace 7f686a1ed4dfbded ]---
> [    2.011182] sunxi-mmc 1c0f000.mmc: swiotlb: coherent allocation
> failed, size=4096
> [    2.018674] CPU: 2 PID: 50 Comm: kworker/2:1 Tainted: G        W
>      4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
> [    2.029524] Hardware name: BananaPi-M64 (DT)
> [    2.033793] Workqueue: events deferred_probe_work_func
> [    2.038924] Call trace:
> [    2.041372]  dump_backtrace+0x0/0x150
> [    2.045031]  show_stack+0x14/0x20
> [    2.048346]  dump_stack+0x8c/0xac
> [    2.051660]  swiotlb_alloc+0x130/0x170
> [    2.055406]  __dma_alloc+0xc4/0x1b0
> [    2.058893]  sunxi_mmc_probe+0x34c/0x508
> [    2.062812]  platform_drv_probe+0x50/0xa8
> [    2.066817]  really_probe+0x1fc/0x290
> [    2.070475]  driver_probe_device+0x58/0x100
> [    2.074653]  __device_attach_driver+0x9c/0xf8
> [    2.079004]  bus_for_each_drv+0x70/0xc8
> [    2.082835]  __device_attach+0xdc/0x138
> [    2.086667]  device_initial_probe+0x10/0x18
> [    2.090844]  bus_probe_device+0x94/0xa0
> [    2.094675]  deferred_probe_work_func+0x6c/0xa0
> [    2.099202]  process_one_work+0x1c8/0x318
> [    2.103209]  worker_thread+0x234/0x428
> [    2.106954]  kthread+0xf8/0x128
> [    2.110092]  ret_from_fork+0x10/0x18
> [    2.113685] sunxi-mmc 1c0f000.mmc: Failed to allocate DMA descriptor 
> mem
> [    2.120519] sunxi-mmc 1c0f000.mmc: Dropping the link to regulator.1
> [    2.126845] sunxi-mmc: probe of 1c0f000.mmc failed with error -12
> [    2.134550] sunxi-mmc 1c10000.mmc: DMA mask not set
> [    2.139583] sunxi-mmc 1c10000.mmc: Linked as a consumer to 
> regulator.11
> [    2.146279] sunxi-mmc 1c10000.mmc: Linked as a consumer to 
> regulator.13
> [    2.153403] sunxi-mmc 1c10000.mmc: swiotlb: coherent allocation
> failed, size=4096
> [    2.160898] CPU: 2 PID: 50 Comm: kworker/2:1 Tainted: G        W
>      4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
> [    2.171749] Hardware name: BananaPi-M64 (DT)
> [    2.176026] Workqueue: events deferred_probe_work_func
> [    2.181159] Call trace:
> [    2.183608]  dump_backtrace+0x0/0x150
> [    2.187269]  show_stack+0x14/0x20
> [    2.190583]  dump_stack+0x8c/0xac
> [    2.193899]  swiotlb_alloc+0x130/0x170
> [    2.197645]  __dma_alloc+0xc4/0x1b0
> [    2.201135]  sunxi_mmc_probe+0x34c/0x508
> [    2.205056]  platform_drv_probe+0x50/0xa8
> [    2.209061]  really_probe+0x1fc/0x290
> [    2.212719]  driver_probe_device+0x58/0x100
> [    2.216897]  __device_attach_driver+0x9c/0xf8
> [    2.221249]  bus_for_each_drv+0x70/0xc8
> [    2.225081]  __device_attach+0xdc/0x138
> [    2.228912]  device_initial_probe+0x10/0x18
> [    2.233090]  bus_probe_device+0x94/0xa0
> [    2.236922]  deferred_probe_work_func+0x6c/0xa0
> [    2.241450]  process_one_work+0x1c8/0x318
> [    2.245456]  worker_thread+0x234/0x428
> [    2.249202]  kthread+0xf8/0x128
> [    2.252341]  ret_from_fork+0x10/0x18
> [    2.255939] sunxi-mmc 1c10000.mmc: Failed to allocate DMA descriptor 
> mem
> [    2.262765] sunxi-mmc 1c10000.mmc: Dropping the link to regulator.13
> [    2.269180] sunxi-mmc 1c10000.mmc: Dropping the link to regulator.11
> [    2.275574] sunxi-mmc: probe of 1c10000.mmc failed with error -12
> [    2.283233] sunxi-mmc 1c11000.mmc: DMA mask not set
> [    2.288259] sunxi-mmc 1c11000.mmc: Linked as a consumer to 
> regulator.1
> [    2.295295] sunxi-mmc 1c11000.mmc: swiotlb: coherent allocation
> failed, size=4096
> [    2.302792] CPU: 2 PID: 50 Comm: kworker/2:1 Tainted: G        W
>      4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
> [    2.313642] Hardware name: BananaPi-M64 (DT)
> [    2.317920] Workqueue: events deferred_probe_work_func
> [    2.323052] Call trace:
> [    2.325501]  dump_backtrace+0x0/0x150
> [    2.329162]  show_stack+0x14/0x20
> [    2.332476]  dump_stack+0x8c/0xac
> [    2.335790]  swiotlb_alloc+0x130/0x170
> [    2.339537]  __dma_alloc+0xc4/0x1b0
> [    2.343026]  sunxi_mmc_probe+0x34c/0x508
> [    2.346946]  platform_drv_probe+0x50/0xa8
> [    2.350951]  really_probe+0x1fc/0x290
> [    2.354610]  driver_probe_device+0x58/0x100
> [    2.358789]  __device_attach_driver+0x9c/0xf8
> [    2.363141]  bus_for_each_drv+0x70/0xc8
> [    2.366973]  __device_attach+0xdc/0x138
> [    2.370804]  device_initial_probe+0x10/0x18
> [    2.374983]  bus_probe_device+0x94/0xa0
> [    2.378815]  deferred_probe_work_func+0x6c/0xa0
> [    2.383343]  process_one_work+0x1c8/0x318
> [    2.387349]  worker_thread+0x234/0x428
> [    2.391095]  kthread+0xf8/0x128
> [    2.394235]  ret_from_fork+0x10/0x18
> [    2.397830] sunxi-mmc 1c11000.mmc: Failed to allocate DMA descriptor 
> mem
> [    2.404650] sunxi-mmc 1c11000.mmc: Dropping the link to regulator.1
> [    2.410967] sunxi-mmc: probe of 1c11000.mmc failed with error -12
> [    2.430226] sun4i-drm display-engine: bound 1200000.mixer (ops
> sun8i_mixer_ops)
> [    2.437766] sun4i-drm display-engine: bound 1c0d000.lcd-controller
> (ops sun4i_tcon_ops)
> [    2.445889] sun8i-dw-hdmi 1ee0000.hdmi: Linked as a consumer to 
> regulator.10
> [    2.453957] sun8i-dw-hdmi 1ee0000.hdmi: Detected HDMI TX controller
> v1.32a with HDCP (sun8i_dw_hdmi_phy)
> [    2.463964] sun8i-dw-hdmi 1ee0000.hdmi: registered DesignWare HDMI
> I2C bus driver
> [    2.472454] sun4i-drm display-engine: bound 1ee0000.hdmi (ops
> sun8i_dw_hdmi_ops)
> [    2.479866] [drm] Supports vblank timestamp caching Rev 2 
> (21.10.2013).
> [    2.486486] [drm] No driver support for vblank timestamp query.
> [    2.648129] random: fast init done
> [    2.699113] WARNING: CPU: 2 PID: 50 at
> ./include/linux/dma-mapping.h:516 drm_gem_cma_create+0x68/0x128
> [    2.708404] Modules linked in:
> [    2.711464] CPU: 2 PID: 50 Comm: kworker/2:1 Tainted: G        W
>      4.18.0-rc6-next-20180727-00014-gc7092bc38139 #1
> [    2.722314] Hardware name: BananaPi-M64 (DT)
> [    2.726585] Workqueue: events deferred_probe_work_func
> [    2.731720] pstate: 80000005 (Nzcv daif -PAN -UAO)
> [    2.736505] pc : drm_gem_cma_create+0x68/0x128
> [    2.740944] lr : drm_gem_cma_create+0x40/0x128
> [    2.745380] sp : ffff00000975b870
> [    2.748689] x29: ffff00000975b870 x28: ffff800078d34c18
> [    2.753997] x27: ffff800078d34d00 x26: ffff8000789b3f00
> [    2.759304] x25: ffff80007897f800 x24: ffff800078d126f0
> [    2.764613] x23: ffff000008b17000 x22: ffff000009169000
> [    2.769920] x21: ffff800079060810 x20: ffff800078d12600
> [    2.775228] x19: 00000000004f2000 x18: ffffffffffffffff
> [    2.780536] x17: 0000000000000000 x16: 0000000000000000
> [    2.785843] x15: ffff80007897fab0 x14: 00000387000003a6
> [    2.791151] x13: 0000038400000384 x12: 0000000000000028
> [    2.796458] x11: 0101010101010101 x10: 0000000000000000
> [    2.801765] x9 : 00000000010ffff0 x8 : ffff8000789b07c0
> [    2.807073] x7 : 0000000000100000 x6 : 00000000001004f2
> [    2.812380] x5 : 0000000000000000 x4 : 0000000000000010
> [    2.817688] x3 : 0000000000000000 x2 : d1022ccae126e900
> [    2.822996] x1 : ffff8000791327c0 x0 : 0000000000000000
> [    2.828303] Call trace:
> [    2.830750]  drm_gem_cma_create+0x68/0x128
> [    2.834842]  drm_gem_cma_dumb_create+0x40/0xa8
> [    2.839283]  drm_mode_create_dumb+0x94/0xb0
> [    2.843465]  drm_client_framebuffer_create+0x90/0x1f8
> [    2.848511]  drm_fb_helper_generic_probe+0x4c/0x238
> [    2.853385]  __drm_fb_helper_initial_config_and_unlock+0x1e0/0x3a0
> [    2.859557]  drm_fb_helper_fbdev_setup+0xcc/0x1c8
> [    2.864255]  drm_fbdev_cma_init+0x9c/0xc8
> [    2.868260]  drm_fb_cma_fbdev_init+0xc/0x20
> [    2.872441]  sun4i_framebuffer_init+0x48/0x58
> [    2.876793]  sun4i_drv_bind+0x180/0x1d0
> [    2.880627]  try_to_bring_up_master+0x144/0x1a8
> [    2.885153]  component_add+0x98/0x160
> [    2.888811]  sun8i_mixer_probe+0x18/0x20
> [    2.892731]  platform_drv_probe+0x50/0xa8
> [    2.896736]  really_probe+0x1fc/0x290
> [    2.900395]  driver_probe_device+0x58/0x100
> [    2.904573]  __device_attach_driver+0x9c/0xf8
> [    2.908925]  bus_for_each_drv+0x70/0xc8
> [    2.912757]  __device_attach+0xdc/0x138
> [    2.916588]  device_initial_probe+0x10/0x18
> [    2.920766]  bus_probe_device+0x94/0xa0
> [    2.924599]  deferred_probe_work_func+0x6c/0xa0
> [    2.929128]  process_one_work+0x1c8/0x318
> [    2.933134]  worker_thread+0x234/0x428
> [    2.936880]  kthread+0xf8/0x128
> [    2.940020]  ret_from_fork+0x10/0x18
> [    2.943591] ---[ end trace 7f686a1ed4dfbdee ]---
> [    2.949730] sun4i-drm display-engine:
> [drm:drm_fb_helper_fbdev_setup] *ERROR* Failed to set fbdev
> configuration
> [    2.959846] sun4i-drm display-engine: Couldn't create our 
> framebuffer
> [    2.966492] sun4i-drm display-engine: master bind failed: -12
> [    2.972352] sun8i-mixer: probe of 1200000.mixer failed with error 
> -12
> [    2.980094] sun4i-usb-phy 1c19400.phy: Linked as a consumer to 
> regulator.22
> [    2.988807] ehci-platform 1c1b000.usb: EHCI Host Controller
> [    2.994429] ehci-platform 1c1b000.usb: new USB bus registered,
> assigned bus number 3
> [    3.002709] ehci-platform 1c1b000.usb: irq 16, io mem 0x01c1b000
> [    3.022268] ehci-platform 1c1b000.usb: USB 2.0 started, EHCI 1.00
> [    3.029045] hub 3-0:1.0: USB hub found
> [    3.032841] hub 3-0:1.0: 1 port detected
> [    3.038440] ohci-platform 1c1b400.usb: Generic Platform OHCI 
> controller
> [    3.045089] ohci-platform 1c1b400.usb: new USB bus registered,
> assigned bus number 4
> [    3.053135] ohci-platform 1c1b400.usb: irq 17, io mem 0x01c1b400
> [    3.122925] hub 4-0:1.0: USB hub found
> [    3.126713] hub 4-0:1.0: 1 port detected
> [    3.132346] usb_phy_generic usb_phy_generic.2.auto:
> usb_phy_generic.2.auto supply vcc not found, using dummy regulator
> [    3.143150] usb_phy_generic usb_phy_generic.2.auto: Linked as a
> consumer to regulator.0
> [    3.151793] musb-hdrc musb-hdrc.3.auto: MUSB HDRC host driver
> [    3.157559] musb-hdrc musb-hdrc.3.auto: new USB bus registered,
> assigned bus number 5
> [    3.166017] hub 5-0:1.0: USB hub found
> [    3.169808] hub 5-0:1.0: 1 port detected
> [    3.174817] sun6i-rtc 1f00000.rtc: setting system clock to
> 1970-01-01 00:00:09 UTC (9)
> [    3.183177] vcc-wifi-io: disabling
> [    3.186642] cpvdd: disabling
> [    3.189573] ALSA device list:
> [    3.192551]   No soundcards found.
> [    3.196433] Waiting for root device /dev/mmcblk0p2...
> [    3.374265] usb 3-1: new high-speed USB device number 2 using 
> ehci-platform
> [    3.535499] hub 3-1:1.0: USB hub found
> [    3.539377] hub 3-1:1.0: 4 ports detected
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI
  2018-07-27 14:00       ` Maxime Ripard
@ 2018-07-27 15:42         ` Icenowy Zheng
  2018-07-27 15:44           ` [linux-sunxi] " Jernej Škrabec
  0 siblings, 1 reply; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-27 15:42 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: linux-arm-kernel, devicetree, Jernej Skrabec, linux-sunxi,
	linux-kernel, dri-devel, Chen-Yu Tsai, Rob Herring, Jagan Teki,
	linux-clk

在 2018-07-27 22:00,Maxime Ripard 写道:
> On Fri, Jul 27, 2018 at 09:26:11PM +0800, Icenowy Zheng wrote:
>> 
>> 
>> 于 2018年7月27日 GMT+08:00 下午8:56:15, Maxime Ripard 
>> <maxime.ripard@bootlin.com> 写到:
>> >On Fri, Jul 27, 2018 at 01:12:57AM +0800, Icenowy Zheng wrote:
>> >> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>> >b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>> >> index 1b9b92e541d2..1b972bade9f6 100644
>> >> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>> >> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
>> >> @@ -62,6 +62,21 @@
>> >>  	chosen {
>> >>  		stdout-path = "serial0:115200n8";
>> >>  	};
>> >> +
>> >> +	connector {
>> >> +		compatible = "hdmi-connector";
>> >> +		type = "a";
>> >> +
>> >> +		port {
>> >> +			hdmi_con_in: endpoint {
>> >> +				remote-endpoint = <&hdmi_out_con>;
>> >> +			};
>> >> +		};
>> >> +	};
>> >> +};
>> >> +
>> >> +&de {
>> >> +	status = "okay";
>> >>  };
>> >>
>> >>  &ehci0 {
>> >> @@ -82,6 +97,17 @@
>> >>
>> >>  };
>> >>
>> >> +&hdmi {
>> >> +	hdmi-supply = <&reg_dldo1>;
>> >> +	status = "okay";
>> >> +};
>> >> +
>> >> +&hdmi_out {
>> >> +	hdmi_out_con: endpoint {
>> >> +		remote-endpoint = <&hdmi_con_in>;
>> >> +	};
>> >> +};
>> >> +
>> >>  &i2c1 {
>> >>  	pinctrl-names = "default";
>> >>  	pinctrl-0 = <&i2c1_pins>;
>> >> @@ -99,6 +125,10 @@
>> >>  	};
>> >>  };
>> >>
>> >> +&mixer1 {
>> >> +	status = "okay";
>> >> +};
>> >> +
>> >>  &mmc0 {
>> >>  	pinctrl-names = "default";
>> >>  	pinctrl-0 = <&mmc0_pins>;
>> >> @@ -238,6 +268,10 @@
>> >>  	status = "disabled";
>> >>  };
>> >>
>> >> +&tcon1 {
>> >> +	status = "okay";
>> >> +};
>> >
>> >Is it working or not on the pine64?
>> 
>> Not tested yet, as my main A64 device is Pine A64-LTS now.
> 
> It was last reported as broken, so it's better to leave it out of that
> patch until someone figures it out.

Sorry, I did find a bug. Although after fixing it HDMI on Pine A64+
works fine.

Will fix the bug when sending v3.2 (resending after rc1).

> 
> Thanks!
> Maxime

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

* Re: [PATCH v3.1 07/10] arm64: dts: allwinner: a64: Add display pipeline
  2018-07-26 17:12 ` [PATCH v3.1 07/10] arm64: dts: allwinner: a64: Add display pipeline Icenowy Zheng
  2018-07-26 18:01   ` [linux-sunxi] " Jernej Škrabec
@ 2018-07-27 15:42   ` Icenowy Zheng
  1 sibling, 0 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-27 15:42 UTC (permalink / raw)
  To: Maxime Ripard, Rob Herring, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec
  Cc: devicetree, linux-kernel, dri-devel, linux-sunxi, linux-clk,
	linux-arm-kernel

在 2018-07-27五的 01:12 +0800,Icenowy Zheng写道:
> From: Jagan Teki <jagan@amarulasolutions.com>
> 
> Allwinner A64 have a display pipeline with 2 mixers/TCONs, the first
> TCON is connected to LCD and the second is to HDMI.
> 
> The HDMI controller/PHY pair is similar to the one on H3/H5, but have
> two video PLLs selectable.
> 
> Add all required device tree nodes of the display pipeline, including
> the TCON0 LCD one and the TCON1 HDMI one.
> 
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> [Icenowy: refactor commit message and add 1st pipeline]
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> ---
> Changes for v3.1:
> - Refactor commit message to make it more clear.
> - Added first pipeline (mixer0 -> tcon0)
> Changes for v3:
> - Squash all pipeline components in one patch
> - Add status for mixer1 and tcon1
> Changes for v2:
> - Change compatibles and other based on previous patch changes
> 
>  arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 169
> ++++++++++++++++++
>  1 file changed, 169 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> index d3daf90a8715..fe9cc673fe07 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> @@ -112,6 +112,12 @@
>  		};
>  	};
>  
> +	de: display-engine {
> +		compatible = "allwinner,sun50i-a64-display-engine";
> +		allwinner,pipelines = <&mixer1>;
> +		status = "disabled";
> +	};
> +
>  	osc24M: osc24M_clk {
>  		#clock-cells = <0>;
>  		compatible = "fixed-clock";
> @@ -194,6 +200,55 @@
>  				#clock-cells = <1>;
>  				#reset-cells = <1>;
>  			};
> +
> +			mixer0: mixer@100000 {
> +				compatible = "allwinner,sun50i-a64-de2-
> mixer-0";
> +				reg = <0x100000 0x100000>;
> +				clocks = <&display_clocks
> CLK_BUS_MIXER0>,
> +					 <&display_clocks CLK_MIXER0>;
> +				clock-names = "bus",
> +					      "mod";
> +				resets = <&display_clocks RST_MIXER0>;
> +				status = "disabled";
> +
> +				ports {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					mixer0_out: port@1 {
> +						reg = <1>;
> +
> +						mixer0_out_tcon0:
> endpoint {
> +							remote-endpoint 
> = <&tcon0_in_mixer0>;
> +						};
> +					};
> +				};
> +			};
> +
> +			mixer1: mixer@200000 {
> +				compatible = "allwinner,sun50i-a64-de2-
> mixer-1";
> +				reg = <0x200000 0x100000>;
> +				clocks = <&display_clocks
> CLK_BUS_MIXER1>,
> +					 <&display_clocks CLK_MIXER1>;
> +				clock-names = "bus",
> +					      "mod";
> +				/* The reset line is shared */
> +				resets = <&display_clocks RST_WB>;

Sorry here the reset line is not shared, and should be RST_MIXER1.

> +				status = "disabled";
> +
> +				ports {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					mixer1_out: port@1 {
> +						reg = <1>;
> +
> +						mixer1_out_tcon1:
> endpoint {
> +							remote-endpoint 
> = <&tcon1_in_mixer1>;
> +						};
> +					};
> +				};
> +			};
>  		};
>  
>  		syscon: syscon@1c00000 {
> @@ -228,6 +283,76 @@
>  			#dma-cells = <1>;
>  		};
>  
> +		tcon0: lcd-controller@1c0c000 {
> +			compatible = "allwinner,sun50i-a64-tcon-lcd",
> +				     "allwinner,sun8i-a83t-tcon-lcd";
> +			reg = <0x01c0c000 0x1000>;
> +			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&ccu CLK_BUS_TCON0>, <&ccu
> CLK_TCON0>;
> +			clock-names = "ahb", "tcon-ch0";
> +			clock-output-names = "tcon-pixel-clock";
> +			resets = <&ccu RST_BUS_TCON0>, <&ccu
> RST_BUS_LVDS>;
> +			reset-names = "lcd", "lvds";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				tcon0_in: port@0 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +					reg = <0>;
> +
> +					tcon0_in_mixer0: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint =
> <&mixer0_out_tcon0>;
> +					};
> +				};
> +
> +				tcon0_out: port@1 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +					reg = <1>;
> +				};
> +			};
> +		};
> +
> +		tcon1: lcd-controller@1c0d000 {
> +			compatible = "allwinner,sun50i-a64-tcon-tv",
> +				     "allwinner,sun8i-a83t-tcon-tv";
> +			reg = <0x01c0d000 0x1000>;
> +			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&ccu CLK_BUS_TCON1>, <&ccu
> CLK_TCON1>;
> +			clock-names = "ahb", "tcon-ch1";
> +			resets = <&ccu RST_BUS_TCON1>;
> +			reset-names = "lcd";
> +			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				tcon1_in: port@0 {
> +					reg = <0>;
> +
> +					tcon1_in_mixer1: endpoint {
> +						remote-endpoint =
> <&mixer1_out_tcon1>;
> +					};
> +				};
> +
> +				tcon1_out: port@1 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +					reg = <1>;
> +
> +					tcon1_out_hdmi: endpoint@1 {
> +						reg = <1>;
> +						remote-endpoint =
> <&hdmi_in_tcon1>;
> +					};
> +				};
> +			};
> +		};
> +
>  		mmc0: mmc@1c0f000 {
>  			compatible = "allwinner,sun50i-a64-mmc";
>  			reg = <0x01c0f000 0x1000>;
> @@ -686,6 +811,50 @@
>  			status = "disabled";
>  		};
>  
> +		hdmi: hdmi@1ee0000 {
> +			compatible = "allwinner,sun50i-a64-dw-hdmi",
> +				     "allwinner,sun8i-a83t-dw-hdmi";
> +			reg = <0x01ee0000 0x10000>;
> +			reg-io-width = <1>;
> +			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&ccu CLK_BUS_HDMI>, <&ccu
> CLK_HDMI_DDC>,
> +				 <&ccu CLK_HDMI>;
> +			clock-names = "iahb", "isfr", "tmds";
> +			resets = <&ccu RST_BUS_HDMI1>;
> +			reset-names = "ctrl";
> +			phys = <&hdmi_phy>;
> +			phy-names = "hdmi-phy";
> +			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				hdmi_in: port@0 {
> +					reg = <0>;
> +
> +					hdmi_in_tcon1: endpoint {
> +						remote-endpoint =
> <&tcon1_out_hdmi>;
> +					};
> +				};
> +
> +				hdmi_out: port@1 {
> +					reg = <1>;
> +				};
> +			};
> +		};
> +
> +		hdmi_phy: hdmi-phy@1ef0000 {
> +			compatible = "allwinner,sun50i-a64-hdmi-phy";
> +			reg = <0x01ef0000 0x10000>;
> +			clocks = <&ccu CLK_BUS_HDMI>, <&ccu
> CLK_HDMI_DDC>,
> +				 <&ccu CLK_PLL_VIDEO0>, <&ccu
> CLK_PLL_VIDEO1>;
> +			clock-names = "bus", "mod", "pll-0", "pll-1";
> +			resets = <&ccu RST_BUS_HDMI0>;
> +			reset-names = "phy";
> +			#phy-cells = <0>;
> +		};
> +
>  		rtc: rtc@1f00000 {
>  			compatible = "allwinner,sun6i-a31-rtc";
>  			reg = <0x01f00000 0x54>;


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

* Re: [linux-sunxi] Re: [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI
  2018-07-27 15:42         ` Icenowy Zheng
@ 2018-07-27 15:44           ` Jernej Škrabec
  0 siblings, 0 replies; 29+ messages in thread
From: Jernej Škrabec @ 2018-07-27 15:44 UTC (permalink / raw)
  To: linux-sunxi, icenowy
  Cc: Maxime Ripard, linux-arm-kernel, devicetree, linux-kernel,
	dri-devel, Chen-Yu Tsai, Rob Herring, Jagan Teki, linux-clk

Dne petek, 27. julij 2018 ob 17:42:08 CEST je Icenowy Zheng napisal(a):
> 在 2018-07-27 22:00,Maxime Ripard 写道:
> 
> > On Fri, Jul 27, 2018 at 09:26:11PM +0800, Icenowy Zheng wrote:
> >> 于 2018年7月27日 GMT+08:00 下午8:56:15, Maxime Ripard
> >> 
> >> <maxime.ripard@bootlin.com> 写到:
> >> >On Fri, Jul 27, 2018 at 01:12:57AM +0800, Icenowy Zheng wrote:
> >> >> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> >> >
> >> >b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> >> >
> >> >> index 1b9b92e541d2..1b972bade9f6 100644
> >> >> --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> >> >> +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
> >> >> @@ -62,6 +62,21 @@
> >> >> 
> >> >>  	chosen {
> >> >>  	
> >> >>  		stdout-path = "serial0:115200n8";
> >> >>  	
> >> >>  	};
> >> >> 
> >> >> +
> >> >> +	connector {
> >> >> +		compatible = "hdmi-connector";
> >> >> +		type = "a";
> >> >> +
> >> >> +		port {
> >> >> +			hdmi_con_in: endpoint {
> >> >> +				remote-endpoint = <&hdmi_out_con>;
> >> >> +			};
> >> >> +		};
> >> >> +	};
> >> >> +};
> >> >> +
> >> >> +&de {
> >> >> +	status = "okay";
> >> >> 
> >> >>  };
> >> >>  
> >> >>  &ehci0 {
> >> >> 
> >> >> @@ -82,6 +97,17 @@
> >> >> 
> >> >>  };
> >> >> 
> >> >> +&hdmi {
> >> >> +	hdmi-supply = <&reg_dldo1>;
> >> >> +	status = "okay";
> >> >> +};
> >> >> +
> >> >> +&hdmi_out {
> >> >> +	hdmi_out_con: endpoint {
> >> >> +		remote-endpoint = <&hdmi_con_in>;
> >> >> +	};
> >> >> +};
> >> >> +
> >> >> 
> >> >>  &i2c1 {
> >> >>  
> >> >>  	pinctrl-names = "default";
> >> >>  	pinctrl-0 = <&i2c1_pins>;
> >> >> 
> >> >> @@ -99,6 +125,10 @@
> >> >> 
> >> >>  	};
> >> >>  
> >> >>  };
> >> >> 
> >> >> +&mixer1 {
> >> >> +	status = "okay";
> >> >> +};
> >> >> +
> >> >> 
> >> >>  &mmc0 {
> >> >>  
> >> >>  	pinctrl-names = "default";
> >> >>  	pinctrl-0 = <&mmc0_pins>;
> >> >> 
> >> >> @@ -238,6 +268,10 @@
> >> >> 
> >> >>  	status = "disabled";
> >> >>  
> >> >>  };
> >> >> 
> >> >> +&tcon1 {
> >> >> +	status = "okay";
> >> >> +};
> >> >
> >> >Is it working or not on the pine64?
> >> 
> >> Not tested yet, as my main A64 device is Pine A64-LTS now.
> > 
> > It was last reported as broken, so it's better to leave it out of that
> > patch until someone figures it out.
> 
> Sorry, I did find a bug. Although after fixing it HDMI on Pine A64+
> works fine.
> 
> Will fix the bug when sending v3.2 (resending after rc1).

Why don't you simply send v4, with all patches and changelogs? It would be 
easier to comprehend.

Best regards,
Jernej

> 
> > Thanks!
> > Maxime





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

* Re: [PATCH v3.1 08/10] dt-bindings: sun4i-drm: add HDMI VCC supply property for sun8i-dw-hdmi
  2018-07-26 17:12 ` [PATCH v3.1 08/10] dt-bindings: sun4i-drm: add HDMI VCC supply property for sun8i-dw-hdmi Icenowy Zheng
@ 2018-07-30 23:12   ` Rob Herring
  2018-07-30 23:51     ` Icenowy Zheng
  0 siblings, 1 reply; 29+ messages in thread
From: Rob Herring @ 2018-07-30 23:12 UTC (permalink / raw)
  To: Icenowy Zheng
  Cc: Maxime Ripard, Chen-Yu Tsai, Jagan Teki, Jernej Skrabec,
	dri-devel, devicetree, linux-arm-kernel, linux-kernel, linux-clk,
	linux-sunxi

On Fri, Jul 27, 2018 at 01:12:55AM +0800, Icenowy Zheng wrote:
> Allwiner SoCs with DesignWare HDMI controller all come with a "HVCC"
> pin, which is the VCC of HDMI part.
> 
> Add a supply property to specify HVCC's regulator in the device tree.
> 
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> ---
> Changes in v3.1:
> - New patch.
> 
>  Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
> index fdb8fb29033f..cb4769913e89 100644
> --- a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
> +++ b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
> @@ -97,6 +97,9 @@ Required properties:
>      first port should be the input endpoint. The second should be the
>      output, usually to an HDMI connector.
>  
> +Optional properties:
> +  - hdmi-supply: the VCC power supply of the controller

"hdmi" doesn't sound like the name of the supply. "hvcc" or just "vcc" 
would be more appropriate.

Rob

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

* Re: [PATCH v3.1 08/10] dt-bindings: sun4i-drm: add HDMI VCC supply property for sun8i-dw-hdmi
  2018-07-30 23:12   ` Rob Herring
@ 2018-07-30 23:51     ` Icenowy Zheng
  0 siblings, 0 replies; 29+ messages in thread
From: Icenowy Zheng @ 2018-07-30 23:51 UTC (permalink / raw)
  To: linux-arm-kernel, Rob Herring
  Cc: devicetree, Jernej Skrabec, Maxime Ripard, linux-sunxi,
	linux-kernel, dri-devel, Chen-Yu Tsai, Jagan Teki, linux-clk



于 2018年7月31日 GMT+08:00 上午7:12:44, Rob Herring <robh@kernel.org> 写到:
>On Fri, Jul 27, 2018 at 01:12:55AM +0800, Icenowy Zheng wrote:
>> Allwiner SoCs with DesignWare HDMI controller all come with a "HVCC"
>> pin, which is the VCC of HDMI part.
>> 
>> Add a supply property to specify HVCC's regulator in the device tree.
>> 
>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
>> ---
>> Changes in v3.1:
>> - New patch.
>> 
>>  Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt | 3
>+++
>>  1 file changed, 3 insertions(+)
>> 
>> diff --git
>a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
>b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
>> index fdb8fb29033f..cb4769913e89 100644
>> --- a/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
>> +++ b/Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
>> @@ -97,6 +97,9 @@ Required properties:
>>      first port should be the input endpoint. The second should be
>the
>>      output, usually to an HDMI connector.
>>  
>> +Optional properties:
>> +  - hdmi-supply: the VCC power supply of the controller
>
>"hdmi" doesn't sound like the name of the supply. "hvcc" or just "vcc" 
>would be more appropriate.

Okay. In original versions it used to be "hvcc-supply", and
I will pick the name again.

>
>Rob
>
>_______________________________________________
>linux-arm-kernel mailing list
>linux-arm-kernel@lists.infradead.org
>http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2018-07-30 23:52 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-26 17:12 [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 01/10] clk: sunxi-ng: a64: Add minimal rate for video PLLs Icenowy Zheng
2018-07-26 17:53   ` [linux-sunxi] " Jernej Škrabec
2018-07-26 17:12 ` [PATCH v3.1 02/10] dt-bindings: display: Add compatible for A64 DE2 display pipeline Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 03/10] drm/sun4i: Add support for A64 mixers Icenowy Zheng
2018-07-26 17:56   ` [linux-sunxi] " Jernej Škrabec
2018-07-26 17:12 ` [PATCH v3.1 04/10] drm/sun4i: Add support for A64 display engine Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 05/10] dt-bindings: display: Add compatible for A64 HDMI Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 06/10] dt-bindings: clock: sun50i-a64-ccu: Add PLL_VIDEO[0-1] macros Icenowy Zheng
2018-07-26 17:59   ` [linux-sunxi] " Jernej Škrabec
2018-07-26 17:12 ` [PATCH v3.1 07/10] arm64: dts: allwinner: a64: Add display pipeline Icenowy Zheng
2018-07-26 18:01   ` [linux-sunxi] " Jernej Škrabec
2018-07-27 15:42   ` Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 08/10] dt-bindings: sun4i-drm: add HDMI VCC supply property for sun8i-dw-hdmi Icenowy Zheng
2018-07-30 23:12   ` Rob Herring
2018-07-30 23:51     ` Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 09/10] drm/sun4i: Add support for HDMI voltage regulator Icenowy Zheng
2018-07-26 17:12 ` [PATCH v3.1 10/10] arm64: dts: allwinner: a64: Enable HDMI output on A64 boards w/ HDMI Icenowy Zheng
2018-07-26 18:03   ` [linux-sunxi] " Jernej Škrabec
2018-07-27  0:44     ` Icenowy Zheng
2018-07-27 12:56   ` Maxime Ripard
2018-07-27 13:26     ` Icenowy Zheng
2018-07-27 13:57       ` Jagan Teki
2018-07-27 14:11         ` [linux-sunxi] " Icenowy Zheng
2018-07-27 14:20         ` Icenowy Zheng
2018-07-27 14:00       ` Maxime Ripard
2018-07-27 15:42         ` Icenowy Zheng
2018-07-27 15:44           ` [linux-sunxi] " Jernej Škrabec
2018-07-27 12:59 ` [PATCH v3.1 00/10] arm64: allwinner: Add A64 DE2 HDMI support Maxime Ripard

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).