devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] ARM: dts: imx6sx: Initial UDOO Neo enablement
@ 2016-07-05  4:04 Andreas Färber
  2016-07-05  4:04 ` [PATCH 1/3] ARM: dts: imx6sx-sabreauto: Fix misspelled property Andreas Färber
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Andreas Färber @ 2016-07-05  4:04 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: Shawn Guo, Sascha Hauer, Fabio Estevam, Ettore Chimenti,
	Andreas Färber, devicetree-u79uwXL29TY76Z2rM5mHXA

Hello,

This series adds initial support for the i.MX 6SoloX based UDOO Neo boards.

First, a typo in another imx6sx board is fixed, found by code review.

The main patch adds an initial set of device trees with serial, LEDs,
Ethernet, I2C and PMIC.

A second patch adds SD card support. This part does not yet work stable,
I keep getting timeouts on next-20160701 with UDOO Neo Basic after varying time.

Regards,
Andreas

Cc: Shawn Guo <shawnguo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Sascha Hauer <kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Cc: Fabio Estevam <fabio.estevam-3arQi8VN3Tc@public.gmane.org>
Cc: Ettore Chimenti <ettore.chimenti-GcR40IO4/Fc@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org

Andreas Färber (3):
  ARM: dts: imx6sx-sabreauto: Fix misspelled property
  ARM: dts: imx6sx: Add UDOO Neo support
  ARM: dts: imx6sx-udoo-neo: Add SD

 arch/arm/boot/dts/Makefile                     |   5 +-
 arch/arm/boot/dts/imx6sx-sabreauto.dts         |   2 +-
 arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts    |  69 ++++++
 arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts |  54 +++++
 arch/arm/boot/dts/imx6sx-udoo-neo-full.dts     |  69 ++++++
 arch/arm/boot/dts/imx6sx-udoo-neo.dtsi         | 295 +++++++++++++++++++++++++
 6 files changed, 492 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts
 create mode 100644 arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts
 create mode 100644 arch/arm/boot/dts/imx6sx-udoo-neo-full.dts
 create mode 100644 arch/arm/boot/dts/imx6sx-udoo-neo.dtsi

-- 
2.6.6

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH 1/3] ARM: dts: imx6sx-sabreauto: Fix misspelled property
  2016-07-05  4:04 [PATCH 0/3] ARM: dts: imx6sx: Initial UDOO Neo enablement Andreas Färber
@ 2016-07-05  4:04 ` Andreas Färber
       [not found]   ` <1467691450-22975-2-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
  2016-07-05  4:04 ` [PATCH 2/3] ARM: dts: imx6sx: Add UDOO Neo support Andreas Färber
       [not found] ` <1467691450-22975-1-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
  2 siblings, 1 reply; 15+ messages in thread
From: Andreas Färber @ 2016-07-05  4:04 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Shawn Guo, Sascha Hauer, Fabio Estevam, Ettore Chimenti,
	Andreas Färber, Sudeep Holla, Rob Herring, Mark Rutland,
	Russell King,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

In commit 99fc5ba0bfb6 ("ARM: dts: imx6sx: add i.mx6sx sabreauto board
support") it should've been enable-sdio-wakeup (not -wakup). But that is
now considered a legacy name for wakeup-source, so directly use the new
name instead, as done in commit 26cefdd15db1 for the other occurrence.

Fixes: 26cefdd15db1 ("ARM: dts: imx: replace legacy wakeup property with 'wakeup-source'")
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 arch/arm/boot/dts/imx6sx-sabreauto.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/imx6sx-sabreauto.dts b/arch/arm/boot/dts/imx6sx-sabreauto.dts
index 96ea936eeeb0..240a2864d044 100644
--- a/arch/arm/boot/dts/imx6sx-sabreauto.dts
+++ b/arch/arm/boot/dts/imx6sx-sabreauto.dts
@@ -64,7 +64,7 @@
 	cd-gpios = <&gpio7 11 GPIO_ACTIVE_LOW>;
 	no-1-8-v;
 	keep-power-in-suspend;
-	enable-sdio-wakup;
+	wakeup-source;
 	status = "okay";
 };
 
-- 
2.6.6

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

* [PATCH 2/3] ARM: dts: imx6sx: Add UDOO Neo support
  2016-07-05  4:04 [PATCH 0/3] ARM: dts: imx6sx: Initial UDOO Neo enablement Andreas Färber
  2016-07-05  4:04 ` [PATCH 1/3] ARM: dts: imx6sx-sabreauto: Fix misspelled property Andreas Färber
@ 2016-07-05  4:04 ` Andreas Färber
  2016-07-05  6:27   ` Uwe Kleine-König
       [not found]   ` <1467691450-22975-3-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
       [not found] ` <1467691450-22975-1-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
  2 siblings, 2 replies; 15+ messages in thread
From: Andreas Färber @ 2016-07-05  4:04 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Shawn Guo, Sascha Hauer, Fabio Estevam, Ettore Chimenti,
	Andreas Färber, Rob Herring, Mark Rutland, Russell King,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

Add initial device trees for UDOO Neo Basic, Extended and Full boards.
Serial console is enabled, other serial ports are prepared.
Both user LEDs are enabled, with the orange one reserved for the M4.
I2C based PMIC is enabled. Ethernet is enabled for Basic and Full.

Cc: Ettore Chimenti <ettore.chimenti@udoo.org>
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 arch/arm/boot/dts/Makefile                     |   5 +-
 arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts    |  69 +++++++
 arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts |  54 +++++
 arch/arm/boot/dts/imx6sx-udoo-neo-full.dts     |  69 +++++++
 arch/arm/boot/dts/imx6sx-udoo-neo.dtsi         | 261 +++++++++++++++++++++++++
 5 files changed, 457 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts
 create mode 100644 arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts
 create mode 100644 arch/arm/boot/dts/imx6sx-udoo-neo-full.dts
 create mode 100644 arch/arm/boot/dts/imx6sx-udoo-neo.dtsi

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 8ff3f580d7de..780e17976a14 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -397,7 +397,10 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
 	imx6sx-sabreauto.dtb \
 	imx6sx-sdb-reva.dtb \
 	imx6sx-sdb-sai.dtb \
-	imx6sx-sdb.dtb
+	imx6sx-sdb.dtb \
+	imx6sx-udoo-neo-basic.dtb \
+	imx6sx-udoo-neo-extended.dtb \
+	imx6sx-udoo-neo-full.dtb
 dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ul-14x14-evk.dtb \
 	imx6ul-pico-hobbit.dtb \
diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts b/arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts
new file mode 100644
index 000000000000..615a1df89c0c
--- /dev/null
+++ b/arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2016 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "imx6sx-udoo-neo.dtsi"
+
+/ {
+	model = "UDOO Neo Basic";
+	compatible = "fsl,imx6sx";
+
+	memory {
+		reg = <0x80000000 0x20000000>;
+	};
+};
+
+&fec1 {
+	status = "okay";
+	phy-handle = <&ethphy1>;
+
+	mdio {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		ethphy1: ethernet-phy@0 {
+			compatible = "ethernet-phy-ieee802.3-c22";
+			reg = <0>;
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts b/arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts
new file mode 100644
index 000000000000..d6fdd17cd3ac
--- /dev/null
+++ b/arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2016 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "imx6sx-udoo-neo.dtsi"
+
+/ {
+	model = "UDOO Neo Extended";
+	compatible = "fsl,imx6sx";
+
+	memory {
+		reg = <0x80000000 0x40000000>;
+	};
+};
diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo-full.dts b/arch/arm/boot/dts/imx6sx-udoo-neo-full.dts
new file mode 100644
index 000000000000..d4820c7cd152
--- /dev/null
+++ b/arch/arm/boot/dts/imx6sx-udoo-neo-full.dts
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2016 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "imx6sx-udoo-neo.dtsi"
+
+/ {
+	model = "UDOO Neo Full";
+	compatible = "fsl,imx6sx";
+
+	memory {
+		reg = <0x80000000 0x40000000>;
+	};
+};
+
+&fec1 {
+	status = "okay";
+	phy-handle = <&ethphy1>;
+
+	mdio {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		ethphy1: ethernet-phy@0 {
+			compatible = "ethernet-phy-ieee802.3-c22";
+			reg = <0>;
+		};
+	};
+};
diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
new file mode 100644
index 000000000000..e074409644d8
--- /dev/null
+++ b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
@@ -0,0 +1,261 @@
+/*
+ * Copyright (c) 2016 Andreas Färber
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "imx6sx.dtsi"
+
+/ {
+	compatible = "fsl,imx6sx";
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		red {
+			label = "udoo-neo:red:mmc";
+			gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>;
+			default-state = "off";
+		};
+
+		orange {
+			label = "udoo-neo:orange:user";
+			gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;
+			default-state = "keep";
+		};
+	};
+};
+
+&cpu0 {
+	arm-supply = <&sw1a_reg>;
+	soc-supply = <&sw1c_reg>;
+};
+
+&fec1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_enet1>;
+	phy-mode = "rmii";
+	phy-reset-gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
+};
+
+&i2c1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c1>;
+	clock-frequency = <100000>;
+	status = "okay";
+
+	pmic: pmic@08 {
+		compatible = "fsl,pfuze3000";
+		reg = <0x08>;
+
+		regulators {
+			sw1a_reg: sw1a {
+				regulator-min-microvolt = <700000>;
+				regulator-max-microvolt = <1475000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <6250>;
+			};
+
+			sw1c_reg: sw1b {
+				regulator-min-microvolt = <700000>;
+				regulator-max-microvolt = <1475000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <6250>;
+			};
+
+			sw2_reg: sw2 {
+				regulator-min-microvolt = <1500000>;
+				regulator-max-microvolt = <1850000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3a_reg: sw3 {
+				regulator-min-microvolt = <900000>;
+				regulator-max-microvolt = <1650000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			swbst_reg: swbst {
+				regulator-min-microvolt = <5000000>;
+				regulator-max-microvolt = <5150000>;
+			};
+
+			snvs_reg: vsnvs {
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vref_reg: vrefddr {
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vgen1_reg: vldo1 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen2_reg: vldo2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1550000>;
+			};
+
+			vgen3_reg: vccsd {
+				regulator-min-microvolt = <2850000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen4_reg: v33 {
+				regulator-min-microvolt = <2850000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen5_reg: vldo3 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen6_reg: vldo4 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+		};
+	};
+};
+
+&iomuxc {
+	imx6sx-udoo-neo {
+		pinctrl_enet1: enet1grp {
+			fsl,pins =
+				<MX6SX_PAD_ENET1_CRS__GPIO2_IO_1	0xa0b1>,
+				<MX6SX_PAD_ENET1_MDC__ENET1_MDC		0xa0b1>,
+				<MX6SX_PAD_ENET1_MDIO__ENET1_MDIO	0xa0b1>,
+				<MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0	0xa0b1>,
+				<MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1	0xa0b1>,
+				<MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN	0xa0b1>,
+
+				<MX6SX_PAD_ENET1_TX_CLK__ENET1_REF_CLK1	0x3081>,
+				<MX6SX_PAD_ENET2_TX_CLK__GPIO2_IO_9	0x3081>,
+				<MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0	0x3081>,
+				<MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1	0x3081>,
+				<MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN	0x3081>,
+				<MX6SX_PAD_RGMII1_RXC__ENET1_RX_ER	0x3081>,
+
+				<MX6SX_PAD_ENET2_RX_CLK__ENET2_REF_CLK_25M	0x91>;
+		};
+
+		pinctrl_i2c1: i2c1grp {
+			fsl,pins =
+				<MX6SX_PAD_GPIO1_IO00__I2C1_SCL		0x4001b8b1>,
+				<MX6SX_PAD_GPIO1_IO01__I2C1_SDA		0x4001b8b1>;
+		};
+
+		pinctrl_uart1: uart1grp {
+			fsl,pins =
+				<MX6SX_PAD_GPIO1_IO04__UART1_TX		0x1b0b1>,
+				<MX6SX_PAD_GPIO1_IO05__UART1_RX		0x1b0b1>;
+		};
+
+		pinctrl_uart2: uart2grp {
+			fsl,pins =
+				<MX6SX_PAD_GPIO1_IO06__UART2_TX		0x1b0b1>,
+				<MX6SX_PAD_GPIO1_IO07__UART2_RX		0x1b0b1>;
+		};
+
+		pinctrl_uart5: uart5grp {
+			fsl,pins =
+				<MX6SX_PAD_SD4_DATA4__UART5_RX		0x1b0b1>,
+				<MX6SX_PAD_SD4_DATA5__UART5_TX		0x1b0b1>;
+		};
+
+		pinctrl_uart6: uart6grp {
+			fsl,pins =
+				<MX6SX_PAD_CSI_DATA00__UART6_RI_B	0x1b0b1>,
+				<MX6SX_PAD_CSI_DATA01__UART6_DSR_B	0x1b0b1>,
+				<MX6SX_PAD_CSI_DATA02__UART6_DTR_B	0x1b0b1>,
+				<MX6SX_PAD_CSI_DATA03__UART6_DCD_B	0x1b0b1>,
+				<MX6SX_PAD_CSI_DATA04__UART6_RX		0x1b0b1>,
+				<MX6SX_PAD_CSI_DATA05__UART6_TX		0x1b0b1>,
+				<MX6SX_PAD_CSI_DATA06__UART6_RTS_B	0x1b0b1>,
+				<MX6SX_PAD_CSI_DATA07__UART6_CTS_B	0x1b0b1>;
+		};
+	};
+};
+
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart1>;
+	status = "okay";
+};
+
+/* Cortex-M4 serial */
+&uart2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart2>;
+	status = "disabled";
+};
+
+/* Arduino serial */
+&uart5 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart5>;
+	status = "disabled";
+};
+
+&uart6 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart6>;
+	uart-has-rtscts;
+	status = "disabled";
+};
-- 
2.6.6

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

* [PATCH 3/3] ARM: dts: imx6sx-udoo-neo: Add SD
       [not found] ` <1467691450-22975-1-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
@ 2016-07-05  4:04   ` Andreas Färber
  2016-08-08 14:12     ` Shawn Guo
  0 siblings, 1 reply; 15+ messages in thread
From: Andreas Färber @ 2016-07-05  4:04 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: Shawn Guo, Sascha Hauer, Fabio Estevam, Ettore Chimenti,
	Andreas Färber, Rob Herring, Mark Rutland, Russell King,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

Enable the SDHC node and model the SDIO_PWR GPIO as a regulator.
Use the SD card as default trigger for the red LED.

Cc: Ettore Chimenti <ettore.chimenti-GcR40IO4/Fc@public.gmane.org>
Signed-off-by: Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org>
---
 

 arch/arm/boot/dts/imx6sx-udoo-neo.dtsi | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
index e074409644d8..85f5e8606dab 100644
--- a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
+++ b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
@@ -56,6 +56,7 @@
 			label = "udoo-neo:red:mmc";
 			gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>;
 			default-state = "off";
+			linux,default-trigger = "mmc0";
 		};
 
 		orange {
@@ -64,6 +65,17 @@
 			default-state = "keep";
 		};
 	};
+
+	sdio_pwr_reg: sd-gpio-regulator {
+		compatible = "regulator-fixed";
+		gpio = <&gpio6 1 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		regulator-name = "SDIO_PWR";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-boot-on;
+		regulator-always-on;
+	};
 };
 
 &cpu0 {
@@ -230,6 +242,17 @@
 				<MX6SX_PAD_CSI_DATA06__UART6_RTS_B	0x1b0b1>,
 				<MX6SX_PAD_CSI_DATA07__UART6_CTS_B	0x1b0b1>;
 		};
+
+		pinctrl_usdhc2: usdhc2grp {
+			fsl,pins =
+				<MX6SX_PAD_SD2_CMD__USDHC2_CMD		0x17059>,
+				<MX6SX_PAD_SD2_CLK__USDHC2_CLK		0x10059>,
+				<MX6SX_PAD_SD2_DATA0__USDHC2_DATA0	0x17059>,
+				<MX6SX_PAD_SD2_DATA1__USDHC2_DATA1	0x17059>,
+				<MX6SX_PAD_SD2_DATA2__USDHC2_DATA2	0x17059>,
+				<MX6SX_PAD_SD2_DATA3__USDHC2_DATA3	0x17059>,
+				<MX6SX_PAD_SD1_DATA0__GPIO6_IO_2	0x17059>; /* CD */
+		};
 	};
 };
 
@@ -259,3 +282,14 @@
 	uart-has-rtscts;
 	status = "disabled";
 };
+
+&usdhc2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usdhc2>;
+	bus-width = <4>;
+	cd-gpios = <&gpio6 2 GPIO_ACTIVE_LOW>;
+	no-1-8-v;
+	keep-power-in-suspend;
+	wakeup-source;
+	status = "okay";
+};
-- 
2.6.6

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 2/3] ARM: dts: imx6sx: Add UDOO Neo support
  2016-07-05  4:04 ` [PATCH 2/3] ARM: dts: imx6sx: Add UDOO Neo support Andreas Färber
@ 2016-07-05  6:27   ` Uwe Kleine-König
       [not found]     ` <20160705062736.GL16643-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
       [not found]   ` <1467691450-22975-3-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
  1 sibling, 1 reply; 15+ messages in thread
From: Uwe Kleine-König @ 2016-07-05  6:27 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Mark Rutland,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Russell King, open list, Ettore Chimenti, Rob Herring,
	Sascha Hauer, Fabio Estevam, Shawn Guo, linux-arm-kernel

Hello,

On Tue, Jul 05, 2016 at 06:04:09AM +0200, Andreas Färber wrote:
> +&iomuxc {
> +	imx6sx-udoo-neo {

There is no need for this machine group. Please just put the pinctrl
groups directly into &iomuxc { }.

> +		pinctrl_enet1: enet1grp {
> +			fsl,pins =
> +				<MX6SX_PAD_ENET1_CRS__GPIO2_IO_1	0xa0b1>,
> +				<MX6SX_PAD_ENET1_MDC__ENET1_MDC		0xa0b1>,

It's unusual to write pinmuxes this way. The usual form is to write it
in a single array. (Not sure I'm using the right term here.) Having said
that I like it your way, but still it should (IMHO) get a more official
blessing.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

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

* Re: [PATCH 1/3] ARM: dts: imx6sx-sabreauto: Fix misspelled property
       [not found]   ` <1467691450-22975-2-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
@ 2016-07-05  8:54     ` Sudeep Holla
  2016-08-08 13:58     ` Shawn Guo
  1 sibling, 0 replies; 15+ messages in thread
From: Sudeep Holla @ 2016-07-05  8:54 UTC (permalink / raw)
  To: Andreas Färber,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: Sudeep Holla, Shawn Guo, Sascha Hauer, Fabio Estevam,
	Ettore Chimenti, Rob Herring, Mark Rutland, Russell King,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list



On 05/07/16 05:04, Andreas Färber wrote:
> In commit 99fc5ba0bfb6 ("ARM: dts: imx6sx: add i.mx6sx sabreauto board
> support") it should've been enable-sdio-wakeup (not -wakup). But that is
> now considered a legacy name for wakeup-source, so directly use the new
> name instead, as done in commit 26cefdd15db1 for the other occurrence.
>
> Fixes: 26cefdd15db1 ("ARM: dts: imx: replace legacy wakeup property with 'wakeup-source'")
> Cc: Sudeep Holla <sudeep.holla-5wv7dgnIgG8@public.gmane.org>

Ah, I failed to find this occurrence with grep. Thanks for fixing it.

Acked-by: Sudeep Holla <sudeep.holla-5wv7dgnIgG8@public.gmane.org>

-- 
Regards,
Sudeep
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 2/3] ARM: dts: imx6sx: Add UDOO Neo support
       [not found]   ` <1467691450-22975-3-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
@ 2016-07-05 12:04     ` Fabio Estevam
  2016-07-05 13:55       ` Andreas Färber
  2016-08-08 14:04     ` Shawn Guo
  1 sibling, 1 reply; 15+ messages in thread
From: Fabio Estevam @ 2016-07-05 12:04 UTC (permalink / raw)
  To: Andreas Färber
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Shawn Guo, Sascha Hauer, Fabio Estevam, Ettore Chimenti,
	Rob Herring, Mark Rutland, Russell King,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

On Tue, Jul 5, 2016 at 1:04 AM, Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org> wrote:

> +/dts-v1/;
> +
> +#include "imx6sx-udoo-neo.dtsi"
> +
> +/ {
> +       model = "UDOO Neo Basic";

This should be something like:

model = "Udoo i.MX6 SoloX UDOO Neo Basic";

> +       compatible = "fsl,imx6sx";

compatible = "udoo,imx6sx-udoo-neo", "fsl,imx6sx";

Then you can also send a separate patch to add udoo to
Documentation/devicetree/bindings/vendor-prefixes.txt.

Same applies to other places in this patch.

> +&fec1 {
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&pinctrl_enet1>;
> +       phy-mode = "rmii";
> +       phy-reset-gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;

Shouldn't this be GPIO_ACTIVE_LOW instead?
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 2/3] ARM: dts: imx6sx: Add UDOO Neo support
  2016-07-05 12:04     ` Fabio Estevam
@ 2016-07-05 13:55       ` Andreas Färber
  2016-07-05 18:33         ` Uwe Kleine-König
  0 siblings, 1 reply; 15+ messages in thread
From: Andreas Färber @ 2016-07-05 13:55 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Mark Rutland, devicetree, Russell King, LKML, Ettore Chimenti,
	Rob Herring, Sascha Hauer, Fabio Estevam, Shawn Guo,
	linux-arm-kernel@lists.infradead.org

Hi Fabio,

Am 05.07.2016 um 14:04 schrieb Fabio Estevam:
> On Tue, Jul 5, 2016 at 1:04 AM, Andreas Färber <afaerber@suse.de> wrote:
> 
>> +/dts-v1/;
>> +
>> +#include "imx6sx-udoo-neo.dtsi"
>> +
>> +/ {
>> +       model = "UDOO Neo Basic";
> 
> This should be something like:
> 
> model = "Udoo i.MX6 SoloX UDOO Neo Basic";

Why should anyone use such a weird concatenation of names? If you wanted
"UDOO Neo Basic (based on i.MX 6SoloX)" that would be more
understandable, but there is no UDOO Neo Basic board with another SoC:

http://www.udoo.org/udoo-neo/

imx6dl-udoo.dts uses "Udoo i.MX6 Dual-lite Board" and
imx6q-udoo.dts  uses "Udoo i.MX6 Quad Board".

So I'm open to discussing UDOO vs. Udoo spelling, but I don't see a
requirement for mixing board vendor, SoC name and board name.

/proc/cpuinfo displays "Freescale i.MX6 SoloX (Device Tree)" based on
SoC compatible string and mach-imx/mach-imx6sx.c.

Note that NXP calls it "i.MX6SX" or "i.MX 6SoloX" (spacing):

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors/i.mx-6-processors/i.mx6qp/i.mx-6solox-processors-heterogeneous-processing-with-arm-cortex-a9-and-cortex-m4-cores:i.MX6SX

>> +       compatible = "fsl,imx6sx";
> 
> compatible = "udoo,imx6sx-udoo-neo", "fsl,imx6sx";
> 
> Then you can also send a separate patch to add udoo to
> Documentation/devicetree/bindings/vendor-prefixes.txt.
> 
> Same applies to other places in this patch.

I know we could add compatibles. But you say it backwards: If I add a
compatible string the vendor _must_ be defined in vendor-prefixes.txt
and the board compatible _must_ be documented, too. Since I saw that
there is no prefix for UDOO in vendor-prefixes.txt nor an arm/udoo.txt
file to document its board compatibles _despite_ "udoo,imx6q-udoo" and
"udoo,imx6dl-udoo" being in use, as an annoyed UDOO Neo owner I'd rather
leave it to UDOO to add those on their own as follow-up if they care.
Their downstream kernel does not have such a compatible string, they use
"fsl,imx6sx-sdb", which looks like a bad case of copy&paste to me.

However, "udoo,neo-basic", "udoo,neo", "fsl,imx6sx" should be sufficient
since unlike the Quad/Dual situation there is no SoC variation here. Or
"seco,udoo-neo"? "udoo,udoo-neo" looks duplicate.

>> +&fec1 {
>> +       pinctrl-names = "default";
>> +       pinctrl-0 = <&pinctrl_enet1>;
>> +       phy-mode = "rmii";
>> +       phy-reset-gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
> 
> Shouldn't this be GPIO_ACTIVE_LOW instead?

Hm, network worked okay for me like this, how do we verify?

Schematics are here: http://www.udoo.org/other-resources/

Thanks,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)

_______________________________________________
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] 15+ messages in thread

* Re: [PATCH 2/3] ARM: dts: imx6sx: Add UDOO Neo support
       [not found]     ` <20160705062736.GL16643-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
@ 2016-07-05 14:46       ` Andreas Färber
  0 siblings, 0 replies; 15+ messages in thread
From: Andreas Färber @ 2016-07-05 14:46 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Mark Rutland,
	devicetree, Russell King, LKML, Ettore Chimenti, Rob Herring,
	Sascha Hauer, Fabio Estevam, Shawn Guo

Hi Uwe,

Am 05.07.2016 um 08:27 schrieb Uwe Kleine-König:
> On Tue, Jul 05, 2016 at 06:04:09AM +0200, Andreas Färber wrote:
>> +&iomuxc {
>> +	imx6sx-udoo-neo {
> 
> There is no need for this machine group. Please just put the pinctrl
> groups directly into &iomuxc { }.

OK, will do. Adopted from imx6sx-sdb.dtsi and imx6sx-sabreauto.dts -
please update the existing files to be like you expect new ones to be.

>> +		pinctrl_enet1: enet1grp {
>> +			fsl,pins =
>> +				<MX6SX_PAD_ENET1_CRS__GPIO2_IO_1	0xa0b1>,
>> +				<MX6SX_PAD_ENET1_MDC__ENET1_MDC		0xa0b1>,
> 
> It's unusual to write pinmuxes this way. The usual form is to write it
> in a single array. (Not sure I'm using the right term here.) Having said
> that I like it your way, but still it should (IMHO) get a more official
> blessing.

In previous reviews I've been told that this is the new expected way to
write tuples, so I assumed that would apply here too, in that you can
have a varying count of tuples (mux lines), which in this case happen to
always have the same cell count (6).

For example I've rewritten pinctrl-0 lines in exynos5250 device trees
because maintainers considered it lazy to spare the inner ">, <",
despite still used in many places including bindings documentation.

The binary .dtb representation should be the same either way.

booting-without-of.txt doesn't comment and has no such example apart
from compatible string lists, so not sure whether that's just different
maintainer tastes or formalized somewhere?

That said, I seem to have a talent for finding such inconsistencies. ;)

Cheers,
Andreas

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 2/3] ARM: dts: imx6sx: Add UDOO Neo support
  2016-07-05 13:55       ` Andreas Färber
@ 2016-07-05 18:33         ` Uwe Kleine-König
  0 siblings, 0 replies; 15+ messages in thread
From: Uwe Kleine-König @ 2016-07-05 18:33 UTC (permalink / raw)
  To: Andreas Färber
  Cc: Fabio Estevam, Mark Rutland, devicetree, Russell King, LKML,
	Ettore Chimenti, Rob Herring, Sascha Hauer, Fabio Estevam,
	Shawn Guo, linux-arm-kernel@lists.infradead.org

On Tue, Jul 05, 2016 at 03:55:23PM +0200, Andreas Färber wrote:
> Hi Fabio,
> 
> Am 05.07.2016 um 14:04 schrieb Fabio Estevam:
> > On Tue, Jul 5, 2016 at 1:04 AM, Andreas Färber <afaerber@suse.de> wrote:
> > 
> >> +/dts-v1/;
> >> +
> >> +#include "imx6sx-udoo-neo.dtsi"
> >> +
> >> +/ {
> >> +       model = "UDOO Neo Basic";
> > 
> > This should be something like:
> > 
> > model = "Udoo i.MX6 SoloX UDOO Neo Basic";
> 
> Why should anyone use such a weird concatenation of names? If you wanted
> "UDOO Neo Basic (based on i.MX 6SoloX)" that would be more
> understandable, but there is no UDOO Neo Basic board with another SoC:
> 
> http://www.udoo.org/udoo-neo/
> 
> imx6dl-udoo.dts uses "Udoo i.MX6 Dual-lite Board" and
> imx6q-udoo.dts  uses "Udoo i.MX6 Quad Board".

Ack, I'm OK with "UDOO Neo Basic" et al, too.

> > [ discussion about what to use for compatible ]
> However, "udoo,neo-basic", "udoo,neo", "fsl,imx6sx" should be sufficient
> since unlike the Quad/Dual situation there is no SoC variation here. Or
> "seco,udoo-neo"? "udoo,udoo-neo" looks duplicate.

I'd use

	"udoo,neo-basic", "fsl,imx6sx";

> >> +&fec1 {
> >> +       pinctrl-names = "default";
> >> +       pinctrl-0 = <&pinctrl_enet1>;
> >> +       phy-mode = "rmii";
> >> +       phy-reset-gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
> > 
> > Shouldn't this be GPIO_ACTIVE_LOW instead?
> 
> Hm, network worked okay for me like this, how do we verify?
> 
> Schematics are here: http://www.udoo.org/other-resources/

The phy's RST# pin is connected to a signal that routes to ENET1_CRS /
C7. That corresponds to GPIO2_IO01.

Also that's what is used in "my" device tree that was created by a
colleague who probably took udoo's dts as reference.

Regarding the question how to verify that:

	barebox@Freescale i.MX6 SoloX UDOO NEO Board:/ ifup eth0
	eth0: 100Mbps full duplex link detected
	T DHCP client bound to address 192.168.24.110

	barebox@Freescale i.MX6 SoloX UDOO NEO Board:/ ping 192.168.23.4
	host 192.168.23.4 is alive

	barebox@Freescale i.MX6 SoloX UDOO NEO Board:/ gpio_direction_output 33 0

	barebox@Freescale i.MX6 SoloX UDOO NEO Board:/ ping 192.168.23.4
	eth0: transmission timeout
	T eth0: transmission timeout
	T eth0: transmission timeout
	T eth0: transmission timeout
	T eth0: transmission timeout
	T eth0: transmission timeout
	ping failed: Connection timed out

	barebox@Freescale i.MX6 SoloX UDOO NEO Board:/ gpio_direction_output 33 1

	barebox@Freescale i.MX6 SoloX UDOO NEO Board:/ ping 192.168.23.4
	host 192.168.23.4 is alive

So I'd say the right thing to do is:

	phy-reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;

And as the fec driver ignores the flag (for historic reasons), the only
other correct possibility is:

	phy-reset-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
	phy-reset-active-high;

which is wrong here though.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

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

* Re: [PATCH 1/3] ARM: dts: imx6sx-sabreauto: Fix misspelled property
       [not found]   ` <1467691450-22975-2-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
  2016-07-05  8:54     ` Sudeep Holla
@ 2016-08-08 13:58     ` Shawn Guo
  1 sibling, 0 replies; 15+ messages in thread
From: Shawn Guo @ 2016-08-08 13:58 UTC (permalink / raw)
  To: Andreas Färber
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Sascha Hauer,
	Fabio Estevam, Ettore Chimenti, Sudeep Holla, Rob Herring,
	Mark Rutland, Russell King,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

On Tue, Jul 05, 2016 at 06:04:08AM +0200, Andreas Färber wrote:
> In commit 99fc5ba0bfb6 ("ARM: dts: imx6sx: add i.mx6sx sabreauto board
> support") it should've been enable-sdio-wakeup (not -wakup). But that is
> now considered a legacy name for wakeup-source, so directly use the new
> name instead, as done in commit 26cefdd15db1 for the other occurrence.
> 
> Fixes: 26cefdd15db1 ("ARM: dts: imx: replace legacy wakeup property with 'wakeup-source'")
> Cc: Sudeep Holla <sudeep.holla-5wv7dgnIgG8@public.gmane.org>
> Cc: Shawn Guo <shawnguo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> Signed-off-by: Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 2/3] ARM: dts: imx6sx: Add UDOO Neo support
       [not found]   ` <1467691450-22975-3-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
  2016-07-05 12:04     ` Fabio Estevam
@ 2016-08-08 14:04     ` Shawn Guo
  1 sibling, 0 replies; 15+ messages in thread
From: Shawn Guo @ 2016-08-08 14:04 UTC (permalink / raw)
  To: Andreas Färber
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Sascha Hauer,
	Fabio Estevam, Ettore Chimenti, Rob Herring, Mark Rutland,
	Russell King,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list

On Tue, Jul 05, 2016 at 06:04:09AM +0200, Andreas Färber wrote:
> +&fec1 {
> +	status = "okay";
> +	phy-handle = <&ethphy1>;

We generally have 'status' at the bottom of property list.

Shawn

> +
> +	mdio {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		ethphy1: ethernet-phy@0 {
> +			compatible = "ethernet-phy-ieee802.3-c22";
> +			reg = <0>;
> +		};
> +	};
> +};
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 3/3] ARM: dts: imx6sx-udoo-neo: Add SD
  2016-07-05  4:04   ` [PATCH 3/3] ARM: dts: imx6sx-udoo-neo: Add SD Andreas Färber
@ 2016-08-08 14:12     ` Shawn Guo
  2016-08-08 15:00       ` Andreas Färber
  0 siblings, 1 reply; 15+ messages in thread
From: Shawn Guo @ 2016-08-08 14:12 UTC (permalink / raw)
  To: Andreas Färber
  Cc: linux-arm-kernel, Mark Rutland,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Russell King, open list, Ettore Chimenti, Rob Herring,
	Sascha Hauer, Fabio Estevam

On Tue, Jul 05, 2016 at 06:04:10AM +0200, Andreas Färber wrote:
> Enable the SDHC node and model the SDIO_PWR GPIO as a regulator.
> Use the SD card as default trigger for the red LED.
> 
> Cc: Ettore Chimenti <ettore.chimenti@udoo.org>
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  
> 
>  arch/arm/boot/dts/imx6sx-udoo-neo.dtsi | 34 ++++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> index e074409644d8..85f5e8606dab 100644
> --- a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> +++ b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> @@ -56,6 +56,7 @@
>  			label = "udoo-neo:red:mmc";
>  			gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>;
>  			default-state = "off";
> +			linux,default-trigger = "mmc0";
>  		};
>  
>  		orange {
> @@ -64,6 +65,17 @@
>  			default-state = "keep";
>  		};
>  	};
> +
> +	sdio_pwr_reg: sd-gpio-regulator {
> +		compatible = "regulator-fixed";
> +		gpio = <&gpio6 1 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +		regulator-name = "SDIO_PWR";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +		regulator-boot-on;
> +		regulator-always-on;
> +	};

Is it correct to model SDIO power control GPIO as a boot-on and
always-on fixed regulator?  It will be powered-on even when SDIO driver
is not enabled or loaded.

Shawn

>  };
>  
>  &cpu0 {
> @@ -230,6 +242,17 @@
>  				<MX6SX_PAD_CSI_DATA06__UART6_RTS_B	0x1b0b1>,
>  				<MX6SX_PAD_CSI_DATA07__UART6_CTS_B	0x1b0b1>;
>  		};
> +
> +		pinctrl_usdhc2: usdhc2grp {
> +			fsl,pins =
> +				<MX6SX_PAD_SD2_CMD__USDHC2_CMD		0x17059>,
> +				<MX6SX_PAD_SD2_CLK__USDHC2_CLK		0x10059>,
> +				<MX6SX_PAD_SD2_DATA0__USDHC2_DATA0	0x17059>,
> +				<MX6SX_PAD_SD2_DATA1__USDHC2_DATA1	0x17059>,
> +				<MX6SX_PAD_SD2_DATA2__USDHC2_DATA2	0x17059>,
> +				<MX6SX_PAD_SD2_DATA3__USDHC2_DATA3	0x17059>,
> +				<MX6SX_PAD_SD1_DATA0__GPIO6_IO_2	0x17059>; /* CD */
> +		};
>  	};
>  };
>  
> @@ -259,3 +282,14 @@
>  	uart-has-rtscts;
>  	status = "disabled";
>  };
> +
> +&usdhc2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usdhc2>;
> +	bus-width = <4>;
> +	cd-gpios = <&gpio6 2 GPIO_ACTIVE_LOW>;
> +	no-1-8-v;
> +	keep-power-in-suspend;
> +	wakeup-source;
> +	status = "okay";
> +};
> -- 
> 2.6.6
> 
> 
> _______________________________________________
> 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] 15+ messages in thread

* Re: [PATCH 3/3] ARM: dts: imx6sx-udoo-neo: Add SD
  2016-08-08 14:12     ` Shawn Guo
@ 2016-08-08 15:00       ` Andreas Färber
       [not found]         ` <16912a4e-88c8-b11a-16bb-927ee6bf1775-l3A5Bk7waGM@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Andreas Färber @ 2016-08-08 15:00 UTC (permalink / raw)
  To: Shawn Guo
  Cc: linux-arm-kernel, Mark Rutland, devicetree, Russell King, LKML,
	Ettore Chimenti, Rob Herring, Sascha Hauer, Fabio Estevam

Am 08.08.2016 um 16:12 schrieb Shawn Guo:
> On Tue, Jul 05, 2016 at 06:04:10AM +0200, Andreas Färber wrote:
>> Enable the SDHC node and model the SDIO_PWR GPIO as a regulator.
>> Use the SD card as default trigger for the red LED.
>>
>> Cc: Ettore Chimenti <ettore.chimenti@udoo.org>
>> Signed-off-by: Andreas Färber <afaerber@suse.de>
>> ---
>>  
>>
>>  arch/arm/boot/dts/imx6sx-udoo-neo.dtsi | 34 ++++++++++++++++++++++++++++++++++
>>  1 file changed, 34 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
>> index e074409644d8..85f5e8606dab 100644
>> --- a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
>> +++ b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
>> @@ -56,6 +56,7 @@
>>  			label = "udoo-neo:red:mmc";
>>  			gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>;
>>  			default-state = "off";
>> +			linux,default-trigger = "mmc0";
>>  		};
>>  
>>  		orange {
>> @@ -64,6 +65,17 @@
>>  			default-state = "keep";
>>  		};
>>  	};
>> +
>> +	sdio_pwr_reg: sd-gpio-regulator {
>> +		compatible = "regulator-fixed";
>> +		gpio = <&gpio6 1 GPIO_ACTIVE_HIGH>;
>> +		enable-active-high;
>> +		regulator-name = "SDIO_PWR";
>> +		regulator-min-microvolt = <3300000>;
>> +		regulator-max-microvolt = <3300000>;
>> +		regulator-boot-on;
>> +		regulator-always-on;
>> +	};
> 
> Is it correct to model SDIO power control GPIO as a boot-on and
> always-on fixed regulator?  It will be powered-on even when SDIO driver
> is not enabled or loaded.

AFAIR the issue was that the driver does not use any -supply properties
where we could hook this regulator up for enabling. So modeling it as an
always-on regulator seemed like the only way to ensure it gets enabled
without relying on the bootloader?

Note that the board boots U-Boot from SD, so it is somewhat likely that
the rootfs will be on SD, too.

Do you spot anything missing or wrong on the SD node below that would
explain the reliability issues described in the cover letter?

Regards,
Andreas

P.S. Thanks for picking up 1/3 - was waiting on that for preparing a v2.

>>  };
>>  
>>  &cpu0 {
>> @@ -230,6 +242,17 @@
>>  				<MX6SX_PAD_CSI_DATA06__UART6_RTS_B	0x1b0b1>,
>>  				<MX6SX_PAD_CSI_DATA07__UART6_CTS_B	0x1b0b1>;
>>  		};
>> +
>> +		pinctrl_usdhc2: usdhc2grp {
>> +			fsl,pins =
>> +				<MX6SX_PAD_SD2_CMD__USDHC2_CMD		0x17059>,
>> +				<MX6SX_PAD_SD2_CLK__USDHC2_CLK		0x10059>,
>> +				<MX6SX_PAD_SD2_DATA0__USDHC2_DATA0	0x17059>,
>> +				<MX6SX_PAD_SD2_DATA1__USDHC2_DATA1	0x17059>,
>> +				<MX6SX_PAD_SD2_DATA2__USDHC2_DATA2	0x17059>,
>> +				<MX6SX_PAD_SD2_DATA3__USDHC2_DATA3	0x17059>,
>> +				<MX6SX_PAD_SD1_DATA0__GPIO6_IO_2	0x17059>; /* CD */
>> +		};
>>  	};
>>  };
>>  
>> @@ -259,3 +282,14 @@
>>  	uart-has-rtscts;
>>  	status = "disabled";
>>  };
>> +
>> +&usdhc2 {
>> +	pinctrl-names = "default";
>> +	pinctrl-0 = <&pinctrl_usdhc2>;
>> +	bus-width = <4>;
>> +	cd-gpios = <&gpio6 2 GPIO_ACTIVE_LOW>;
>> +	no-1-8-v;
>> +	keep-power-in-suspend;
>> +	wakeup-source;
>> +	status = "okay";
>> +};

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)

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

* Re: [PATCH 3/3] ARM: dts: imx6sx-udoo-neo: Add SD
       [not found]         ` <16912a4e-88c8-b11a-16bb-927ee6bf1775-l3A5Bk7waGM@public.gmane.org>
@ 2016-08-15 12:38           ` Shawn Guo
  0 siblings, 0 replies; 15+ messages in thread
From: Shawn Guo @ 2016-08-15 12:38 UTC (permalink / raw)
  To: Andreas Färber
  Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Mark Rutland,
	devicetree, Russell King, LKML, Ettore Chimenti, Rob Herring,
	Sascha Hauer, Fabio Estevam

On Mon, Aug 08, 2016 at 05:00:41PM +0200, Andreas Färber wrote:
> Am 08.08.2016 um 16:12 schrieb Shawn Guo:
> > On Tue, Jul 05, 2016 at 06:04:10AM +0200, Andreas Färber wrote:
> >> Enable the SDHC node and model the SDIO_PWR GPIO as a regulator.
> >> Use the SD card as default trigger for the red LED.
> >>
> >> Cc: Ettore Chimenti <ettore.chimenti-GcR40IO4/Fc@public.gmane.org>
> >> Signed-off-by: Andreas Färber <afaerber-l3A5Bk7waGM@public.gmane.org>
> >> ---
> >>  
> >>
> >>  arch/arm/boot/dts/imx6sx-udoo-neo.dtsi | 34 ++++++++++++++++++++++++++++++++++
> >>  1 file changed, 34 insertions(+)
> >>
> >> diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> >> index e074409644d8..85f5e8606dab 100644
> >> --- a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> >> +++ b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> >> @@ -56,6 +56,7 @@
> >>  			label = "udoo-neo:red:mmc";
> >>  			gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>;
> >>  			default-state = "off";
> >> +			linux,default-trigger = "mmc0";
> >>  		};
> >>  
> >>  		orange {
> >> @@ -64,6 +65,17 @@
> >>  			default-state = "keep";
> >>  		};
> >>  	};
> >> +
> >> +	sdio_pwr_reg: sd-gpio-regulator {
> >> +		compatible = "regulator-fixed";
> >> +		gpio = <&gpio6 1 GPIO_ACTIVE_HIGH>;
> >> +		enable-active-high;
> >> +		regulator-name = "SDIO_PWR";
> >> +		regulator-min-microvolt = <3300000>;
> >> +		regulator-max-microvolt = <3300000>;
> >> +		regulator-boot-on;
> >> +		regulator-always-on;
> >> +	};
> > 
> > Is it correct to model SDIO power control GPIO as a boot-on and
> > always-on fixed regulator?  It will be powered-on even when SDIO driver
> > is not enabled or loaded.
> 
> AFAIR the issue was that the driver does not use any -supply properties
> where we could hook this regulator up for enabling. So modeling it as an
> always-on regulator seemed like the only way to ensure it gets enabled
> without relying on the bootloader?

If I understand it correctly, SDHCI driver calls
mmc_regulator_get_supply() to handle vmmc and vqmmc supply.  Can
vmmc-supply be used here?

Shawn
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2016-08-15 12:38 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-05  4:04 [PATCH 0/3] ARM: dts: imx6sx: Initial UDOO Neo enablement Andreas Färber
2016-07-05  4:04 ` [PATCH 1/3] ARM: dts: imx6sx-sabreauto: Fix misspelled property Andreas Färber
     [not found]   ` <1467691450-22975-2-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
2016-07-05  8:54     ` Sudeep Holla
2016-08-08 13:58     ` Shawn Guo
2016-07-05  4:04 ` [PATCH 2/3] ARM: dts: imx6sx: Add UDOO Neo support Andreas Färber
2016-07-05  6:27   ` Uwe Kleine-König
     [not found]     ` <20160705062736.GL16643-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2016-07-05 14:46       ` Andreas Färber
     [not found]   ` <1467691450-22975-3-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
2016-07-05 12:04     ` Fabio Estevam
2016-07-05 13:55       ` Andreas Färber
2016-07-05 18:33         ` Uwe Kleine-König
2016-08-08 14:04     ` Shawn Guo
     [not found] ` <1467691450-22975-1-git-send-email-afaerber-l3A5Bk7waGM@public.gmane.org>
2016-07-05  4:04   ` [PATCH 3/3] ARM: dts: imx6sx-udoo-neo: Add SD Andreas Färber
2016-08-08 14:12     ` Shawn Guo
2016-08-08 15:00       ` Andreas Färber
     [not found]         ` <16912a4e-88c8-b11a-16bb-927ee6bf1775-l3A5Bk7waGM@public.gmane.org>
2016-08-15 12:38           ` 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).