linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 1/2] dt-bindings: arm: fsl: add nxp based toradex colibri bindings
@ 2020-03-16 14:33 Igor Opaniuk
  2020-03-16 14:33 ` [PATCH v5 2/2] ARM: dts: colibri: introduce device trees with UHS-I support Igor Opaniuk
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Igor Opaniuk @ 2020-03-16 14:33 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Max Krummenacher, Philippe Schenker, Stefan Agner,
	Marcel Ziswiler, Shawn Guo, Oleksandr Suvorov, Igor Opaniuk,
	Andreas Kemnade, Andrey Smirnov, Anson Huang, Fabio Estevam,
	Manivannan Sadhasivam, Mark Rutland, Rob Herring, Robert Jones,
	Sébastien Szymanski, devicetree, linux-kernel

From: Igor Opaniuk <igor.opaniuk@toradex.com>

Document Colibri iMX6S/DL V1.1x re-design devicetree binding.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
---

 Documentation/devicetree/bindings/arm/fsl.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml
index 0e17e1f6fb80..7342097056c3 100644
--- a/Documentation/devicetree/bindings/arm/fsl.yaml
+++ b/Documentation/devicetree/bindings/arm/fsl.yaml
@@ -169,7 +169,9 @@ properties:
               - technologic,imx6dl-ts4900
               - technologic,imx6dl-ts7970
               - toradex,colibri_imx6dl          # Colibri iMX6 Module
+              - toradex,colibri_imx6dl-v1_1     # Colibri iMX6 Module V1.1
               - toradex,colibri_imx6dl-eval-v3  # Colibri iMX6 Module on Colibri Evaluation Board V3
+              - toradex,colibri_imx6dl-v1_1-eval-v3 # Colibri iMX6 Module V1.1 on Colibri Evaluation Board V3
               - ysoft,imx6dl-yapp4-draco  # i.MX6 DualLite Y Soft IOTA Draco board
               - ysoft,imx6dl-yapp4-hydra  # i.MX6 DualLite Y Soft IOTA Hydra board
               - ysoft,imx6dl-yapp4-ursa   # i.MX6 Solo Y Soft IOTA Ursa board
-- 
2.17.1


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

* [PATCH v5 2/2] ARM: dts: colibri: introduce device trees with UHS-I support
  2020-03-16 14:33 [PATCH v5 1/2] dt-bindings: arm: fsl: add nxp based toradex colibri bindings Igor Opaniuk
@ 2020-03-16 14:33 ` Igor Opaniuk
  2020-03-20 22:35 ` [PATCH v5 1/2] dt-bindings: arm: fsl: add nxp based toradex colibri bindings Rob Herring
  2020-04-14 13:49 ` Shawn Guo
  2 siblings, 0 replies; 4+ messages in thread
From: Igor Opaniuk @ 2020-03-16 14:33 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Max Krummenacher, Philippe Schenker, Stefan Agner,
	Marcel Ziswiler, Shawn Guo, Oleksandr Suvorov, Igor Opaniuk,
	Fabio Estevam, Mark Rutland, NXP Linux Team,
	Pengutronix Kernel Team, Rob Herring, Sascha Hauer, devicetree,
	linux-kernel

From: Igor Opaniuk <igor.opaniuk@toradex.com>

1. Introduce dtsi with overlay configuration for enabling UHS-I
for Colibri iMX6S/DL V1.1x re-design.
2. Introduce new dts for the Colibri iMX6S/DL V1.1x
on Colibri Evaluation Carrier Board V3.x. However, disable 1.8V for
the Colibri Evaluation Board since this carrier board has 3.3V pull-ups on.
3. Provide proper configuration for VGEN3, which allows that rail to
be automatically switched to 1.8 volts for proper UHS-I operation mode.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
---

v5:
- Fix copyright/licensing [Shawn Guo]
- Don't enable 1.8V by default, as some carrier boards have 3.3V pull-ups,
  which leads to [  164.058099] mmc0: error -110 whilst initialising SD
  card errors. [Marcel Ziswiler]
- Change hierarchy: move SD-card properties to the module level device
  tree include (to explicitly state that these properties relate to module,
  not carrier board) + people can easily include it in their custom
  carrier board device trees.

v4:
- Document Colibri iMX6S/DL V1.1x re-design devicetree binding [Shawn Guo]
- wakeup-source property fix [Shawn Guo]

v3:
- change hierarchy according to Marco's suggestions [Marco Felsch]
- adjust compatible string adding v1.1 [Stefan Agner]

v2:
- rework hierarchy of dts files, and a separate dtsi for Colibri
  iMX6S/DL V1.1x re-design, where UHS-I was added [Marcel Ziswiler]
- add comments about vgen3 power rail [Marcel Ziswiler]
- fix other minor issues, addressing Marcel's comments. [Marcel Ziswiler]

 arch/arm/boot/dts/Makefile                    |  1 +
 .../boot/dts/imx6dl-colibri-v1_1-eval-v3.dts  | 31 +++++++++++++
 .../boot/dts/imx6qdl-colibri-v1_1-uhs.dtsi    | 44 +++++++++++++++++++
 arch/arm/boot/dts/imx6qdl-colibri.dtsi        | 11 ++++-
 4 files changed, 86 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/imx6dl-colibri-v1_1-eval-v3.dts
 create mode 100644 arch/arm/boot/dts/imx6qdl-colibri-v1_1-uhs.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index d6546d2676b9..97da51be1de6 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -412,6 +412,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6dl-aristainetos2_4.dtb \
 	imx6dl-aristainetos2_7.dtb \
 	imx6dl-colibri-eval-v3.dtb \
+	imx6dl-colibri-v1_1-eval-v3.dtb \
 	imx6dl-cubox-i.dtb \
 	imx6dl-cubox-i-emmc-som-v15.dtb \
 	imx6dl-cubox-i-som-v15.dtb \
diff --git a/arch/arm/boot/dts/imx6dl-colibri-v1_1-eval-v3.dts b/arch/arm/boot/dts/imx6dl-colibri-v1_1-eval-v3.dts
new file mode 100644
index 000000000000..223275f028f1
--- /dev/null
+++ b/arch/arm/boot/dts/imx6dl-colibri-v1_1-eval-v3.dts
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Copyright 2020 Toradex
+ */
+
+/dts-v1/;
+
+#include "imx6dl-colibri-eval-v3.dts"
+#include "imx6qdl-colibri-v1_1-uhs.dtsi"
+
+/ {
+	model = "Toradex Colibri iMX6DL/S V1.1 on Colibri Evaluation Board V3";
+	compatible = "toradex,colibri_imx6dl-v1_1-eval-v3",
+		     "toradex,colibri_imx6dl-v1_1",
+		     "toradex,colibri_imx6dl-eval-v3",
+		     "toradex,colibri_imx6dl",
+		     "fsl,imx6dl";
+};
+
+/* Colibri MMC */
+&usdhc1 {
+	status = "okay";
+	/*
+	 * Please make sure your carrier board does not pull-up any of
+	 * the MMC/SD signals to 3.3 volt before attempting to activate
+	 * UHS-I support.
+	 * To let signaling voltage be changed to 1.8V, please
+	 * delete no-1-8-v property (example below):
+	 * /delete-property/no-1-8-v;
+	 */
+};
diff --git a/arch/arm/boot/dts/imx6qdl-colibri-v1_1-uhs.dtsi b/arch/arm/boot/dts/imx6qdl-colibri-v1_1-uhs.dtsi
new file mode 100644
index 000000000000..7672fbfc29be
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qdl-colibri-v1_1-uhs.dtsi
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: GPL-2.0+ OR MIT
+/*
+ * Copyright 2020 Toradex
+ */
+
+&iomuxc {
+	pinctrl_usdhc1_100mhz: usdhc1grp100mhz {
+		fsl,pins = <
+			MX6QDL_PAD_SD1_CMD__SD1_CMD    0x170b1
+			MX6QDL_PAD_SD1_CLK__SD1_CLK    0x100b1
+			MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x170b1
+			MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x170b1
+			MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x170b1
+			MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x170b1
+		>;
+	};
+
+	pinctrl_usdhc1_200mhz: usdhc1grp200mhz {
+		fsl,pins = <
+			MX6QDL_PAD_SD1_CMD__SD1_CMD    0x170f1
+			MX6QDL_PAD_SD1_CLK__SD1_CLK    0x100f1
+			MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x170f1
+			MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x170f1
+			MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x170f1
+			MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x170f1
+		>;
+	};
+};
+
+/* Colibri MMC */
+&usdhc1 {
+	pinctrl-names = "default", "state_100mhz", "state_200mhz";
+	pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_mmc_cd>;
+	pinctrl-1 = <&pinctrl_usdhc1_100mhz &pinctrl_mmc_cd>;
+	pinctrl-2 = <&pinctrl_usdhc1_200mhz &pinctrl_mmc_cd>;
+	vmmc-supply = <&reg_module_3v3>;
+	vqmmc-supply = <&vgen3_reg>;
+	wakeup-source;
+	keep-power-in-suspend;
+	sd-uhs-sdr12;
+	sd-uhs-sdr25;
+	sd-uhs-sdr50;
+	sd-uhs-sdr104;
+};
diff --git a/arch/arm/boot/dts/imx6qdl-colibri.dtsi b/arch/arm/boot/dts/imx6qdl-colibri.dtsi
index d03dff23863d..e85a41e84fd4 100644
--- a/arch/arm/boot/dts/imx6qdl-colibri.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-colibri.dtsi
@@ -229,7 +229,16 @@
 				regulator-always-on;
 			};
 
-			/* vgen3: unused */
+			/*
+			 * +V3.3_1.8_SD1 coming off VGEN3 and supplying
+			 * the i.MX 6 NVCC_SD1.
+			 */
+			vgen3_reg: vgen3 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
 
 			vgen4_reg: vgen4 {
 				regulator-min-microvolt = <1800000>;
-- 
2.17.1


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

* Re: [PATCH v5 1/2] dt-bindings: arm: fsl: add nxp based toradex colibri bindings
  2020-03-16 14:33 [PATCH v5 1/2] dt-bindings: arm: fsl: add nxp based toradex colibri bindings Igor Opaniuk
  2020-03-16 14:33 ` [PATCH v5 2/2] ARM: dts: colibri: introduce device trees with UHS-I support Igor Opaniuk
@ 2020-03-20 22:35 ` Rob Herring
  2020-04-14 13:49 ` Shawn Guo
  2 siblings, 0 replies; 4+ messages in thread
From: Rob Herring @ 2020-03-20 22:35 UTC (permalink / raw)
  To: Igor Opaniuk
  Cc: linux-arm-kernel, Max Krummenacher, Philippe Schenker,
	Stefan Agner, Marcel Ziswiler, Shawn Guo, Oleksandr Suvorov,
	Igor Opaniuk, Andreas Kemnade, Andrey Smirnov, Anson Huang,
	Fabio Estevam, Manivannan Sadhasivam, Mark Rutland, Robert Jones,
	Sébastien Szymanski, devicetree, linux-kernel

On Mon, 16 Mar 2020 16:33:44 +0200, Igor Opaniuk wrote:
> From: Igor Opaniuk <igor.opaniuk@toradex.com>
> 
> Document Colibri iMX6S/DL V1.1x re-design devicetree binding.
> 
> Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
> ---
> 
>  Documentation/devicetree/bindings/arm/fsl.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

Acked-by: Rob Herring <robh@kernel.org>

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

* Re: [PATCH v5 1/2] dt-bindings: arm: fsl: add nxp based toradex colibri bindings
  2020-03-16 14:33 [PATCH v5 1/2] dt-bindings: arm: fsl: add nxp based toradex colibri bindings Igor Opaniuk
  2020-03-16 14:33 ` [PATCH v5 2/2] ARM: dts: colibri: introduce device trees with UHS-I support Igor Opaniuk
  2020-03-20 22:35 ` [PATCH v5 1/2] dt-bindings: arm: fsl: add nxp based toradex colibri bindings Rob Herring
@ 2020-04-14 13:49 ` Shawn Guo
  2 siblings, 0 replies; 4+ messages in thread
From: Shawn Guo @ 2020-04-14 13:49 UTC (permalink / raw)
  To: Igor Opaniuk
  Cc: linux-arm-kernel, Max Krummenacher, Philippe Schenker,
	Stefan Agner, Marcel Ziswiler, Oleksandr Suvorov, Igor Opaniuk,
	Andreas Kemnade, Andrey Smirnov, Anson Huang, Fabio Estevam,
	Manivannan Sadhasivam, Mark Rutland, Rob Herring, Robert Jones,
	Sébastien Szymanski, devicetree, linux-kernel

On Mon, Mar 16, 2020 at 04:33:44PM +0200, Igor Opaniuk wrote:
> From: Igor Opaniuk <igor.opaniuk@toradex.com>
> 
> Document Colibri iMX6S/DL V1.1x re-design devicetree binding.
> 
> Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>

Applied both, thanks.

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

end of thread, other threads:[~2020-04-14 13:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-16 14:33 [PATCH v5 1/2] dt-bindings: arm: fsl: add nxp based toradex colibri bindings Igor Opaniuk
2020-03-16 14:33 ` [PATCH v5 2/2] ARM: dts: colibri: introduce device trees with UHS-I support Igor Opaniuk
2020-03-20 22:35 ` [PATCH v5 1/2] dt-bindings: arm: fsl: add nxp based toradex colibri bindings Rob Herring
2020-04-14 13:49 ` 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).