devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] ARM: dts: imx: Add Engicam 1.5 MX6 support
@ 2018-08-14 13:21 Jacopo Mondi
  2018-08-14 13:21 ` [PATCH v2 1/2] ARM: dts: imx6qdl: Add Engicam i.Core 1.5 MX6 Jacopo Mondi
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jacopo Mondi @ 2018-08-14 13:21 UTC (permalink / raw)
  To: shawnguo, s.hauer, kernel, fabio.estevam, linux-imx, robh+dt,
	mark.rutland, linux, jagan
  Cc: devicetree, Jacopo Mondi, linux-arm-kernel

Hello,
   the 'EDIMM Starter Kit 1.5 MIPI Evaluation" board, whose support has been
introduced by commit:
commit 3fe08835773121870b1de7d0cac9a4ade796661e ("ARM: dts: imx6q: Add Engicam
i.CoreM6 1.5 Quad/Dual MIPI starter kit support")

is actually based on 1.5 version of the "i.Core 1.5 MX6" CPU module which
differs from the original "i.Core MX6" for a few details, including the one that
has sparkled this activity: the ethernet PHY interface clock provider.

Instead of fixing the PHY clock provider in the imx6q-icore-mipi.dts file, I
preferred adding a new .dtsi for the 1.5 version of the module, to gather
differences between version in a single place. Then I've referenced the new one
in the dts file.

As a result, the ethernet interface is now working on the EDIMM 1.5 MIPI
evaluation kit.

Thanks
   j

v1 -> v2:
- Add Fabio's Reviewed-by tags
- Adjust commit message in [2/2]

Jacopo Mondi (2):
  ARM: dts: imx6qdl: Add Engicam i.Core 1.5 MX6
  ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6

 arch/arm/boot/dts/imx6q-icore-mipi.dts   |  4 ++--
 arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi | 34 ++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi

--
2.7.4

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

* [PATCH v2 1/2] ARM: dts: imx6qdl: Add Engicam i.Core 1.5 MX6
  2018-08-14 13:21 [PATCH v2 0/2] ARM: dts: imx: Add Engicam 1.5 MX6 support Jacopo Mondi
@ 2018-08-14 13:21 ` Jacopo Mondi
  2018-08-14 13:21 ` [PATCH v2 2/2] ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6 Jacopo Mondi
  2018-08-27  7:03 ` [PATCH v2 0/2] ARM: dts: imx: Add Engicam 1.5 MX6 support Shawn Guo
  2 siblings, 0 replies; 4+ messages in thread
From: Jacopo Mondi @ 2018-08-14 13:21 UTC (permalink / raw)
  To: shawnguo, s.hauer, kernel, fabio.estevam, linux-imx, robh+dt,
	mark.rutland, linux, jagan
  Cc: devicetree, Jacopo Mondi, Jacopo Mondi, linux-arm-kernel

From: Jacopo Mondi <jacopo@jmondi.org>

The 1.5 version of Engicam's i.Core MX6 CPU module features a different clock
provider for the ethernet's PHY interface. Adjust the FEC ptp clock to
reference CLK_ENET_REF clock source, and set SION bit of
MX6QDL_PAD_GPIO_16__ENET_REF_CLK to adjust the input path of that pin.

The newly introduced imx6ql-icore-1.5.dtsi allows to collect in a single
place differences between version '1.0' and '1.5' of the module.

Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi | 34 ++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi

diff --git a/arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi b/arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi
new file mode 100644
index 0000000..d91d46b
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2018 Jacopo Mondi <jacopo@jmondi.org>
+ */
+
+#include "imx6qdl-icore.dtsi"
+
+&iomuxc {
+	pinctrl_enet: enetgrp {
+		fsl,pins = <
+			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN	0x1b0b0
+			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0b0
+			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN	0x1b0b0
+			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1	0x1b0b0
+			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0	0x1b0b0
+			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1	0x1b0b0
+			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0	0x1b0b0
+			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
+			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
+			MX6QDL_PAD_GPIO_17__GPIO7_IO12		0x1b0b0
+		>;
+	};
+};
+
+&fec {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_enet>;
+	phy-reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>;
+	clocks = <&clks IMX6QDL_CLK_ENET>,
+		 <&clks IMX6QDL_CLK_ENET>,
+		 <&clks IMX6QDL_CLK_ENET_REF>;
+	phy-mode = "rmii";
+	status = "okay";
+};
-- 
2.7.4

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

* [PATCH v2 2/2] ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6
  2018-08-14 13:21 [PATCH v2 0/2] ARM: dts: imx: Add Engicam 1.5 MX6 support Jacopo Mondi
  2018-08-14 13:21 ` [PATCH v2 1/2] ARM: dts: imx6qdl: Add Engicam i.Core 1.5 MX6 Jacopo Mondi
@ 2018-08-14 13:21 ` Jacopo Mondi
  2018-08-27  7:03 ` [PATCH v2 0/2] ARM: dts: imx: Add Engicam 1.5 MX6 support Shawn Guo
  2 siblings, 0 replies; 4+ messages in thread
From: Jacopo Mondi @ 2018-08-14 13:21 UTC (permalink / raw)
  To: shawnguo, s.hauer, kernel, fabio.estevam, linux-imx, robh+dt,
	mark.rutland, linux, jagan
  Cc: devicetree, Jacopo Mondi, Jacopo Mondi, linux-arm-kernel

From: Jacopo Mondi <jacopo@jmondi.org>

The "EDIMM STARTER KIT i.Core 1.5 MIPI Evaluation" is based on the 1.5 version
of the i.Core MX6 cpu module. The 1.5 version differs from the original one for
a few details, including the ethernet PHY interface clock provider.

With this commit, the ethernet interface works properly:
SMSC LAN8710/LAN8720 2188000.ethernet-1:00: attached PHY driver

While before using the 1.5 version, ethernet failed to startup do to un-clocked
PHY interface:
fec 2188000.ethernet eth0: could not attach to PHY

Fixes: 3fe088357731 ("ARM: dts: imx6q: Add Engicam i.CoreM6 1.5 Quad/Dual MIPI starter kit support")
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 arch/arm/boot/dts/imx6q-icore-mipi.dts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/imx6q-icore-mipi.dts b/arch/arm/boot/dts/imx6q-icore-mipi.dts
index 95b2efd..1f15882 100644
--- a/arch/arm/boot/dts/imx6q-icore-mipi.dts
+++ b/arch/arm/boot/dts/imx6q-icore-mipi.dts
@@ -8,10 +8,10 @@
 /dts-v1/;
 
 #include "imx6q.dtsi"
-#include "imx6qdl-icore.dtsi"
+#include "imx6qdl-icore-1.5.dtsi"
 
 / {
-	model = "Engicam i.CoreM6 Quad/Dual MIPI Starter Kit";
+	model = "Engicam i.CoreM6 1.5 Quad/Dual MIPI Starter Kit";
 	compatible = "engicam,imx6-icore", "fsl,imx6q";
 };
 
-- 
2.7.4

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

* Re: [PATCH v2 0/2] ARM: dts: imx: Add Engicam 1.5 MX6 support
  2018-08-14 13:21 [PATCH v2 0/2] ARM: dts: imx: Add Engicam 1.5 MX6 support Jacopo Mondi
  2018-08-14 13:21 ` [PATCH v2 1/2] ARM: dts: imx6qdl: Add Engicam i.Core 1.5 MX6 Jacopo Mondi
  2018-08-14 13:21 ` [PATCH v2 2/2] ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6 Jacopo Mondi
@ 2018-08-27  7:03 ` Shawn Guo
  2 siblings, 0 replies; 4+ messages in thread
From: Shawn Guo @ 2018-08-27  7:03 UTC (permalink / raw)
  To: Jacopo Mondi
  Cc: mark.rutland, devicetree, s.hauer, linux, robh+dt, linux-imx,
	kernel, fabio.estevam, linux-arm-kernel, jagan

On Tue, Aug 14, 2018 at 03:21:44PM +0200, Jacopo Mondi wrote:
> Jacopo Mondi (2):
>   ARM: dts: imx6qdl: Add Engicam i.Core 1.5 MX6
>   ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6

Applied both, thanks.

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

end of thread, other threads:[~2018-08-27  7:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-14 13:21 [PATCH v2 0/2] ARM: dts: imx: Add Engicam 1.5 MX6 support Jacopo Mondi
2018-08-14 13:21 ` [PATCH v2 1/2] ARM: dts: imx6qdl: Add Engicam i.Core 1.5 MX6 Jacopo Mondi
2018-08-14 13:21 ` [PATCH v2 2/2] ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6 Jacopo Mondi
2018-08-27  7:03 ` [PATCH v2 0/2] ARM: dts: imx: Add Engicam 1.5 MX6 support Shawn Guo

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