linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: imx6: Add Embest MarS Board
@ 2015-04-01  8:10 Vianney le Clément de Saint-Marcq
  2015-04-01  8:15 ` Lucas Stach
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Vianney le Clément de Saint-Marcq @ 2015-04-01  8:10 UTC (permalink / raw)
  To: linux-arm-kernel

Add device tree for the Embest/Element 14 MarS Board [1], an i.MX6 Dual
based development board.

The e-MMC chip is disabled because initialization fails (error -110).
A possible cause is described in [2].

[1] http://www.embest-tech.com/shop/star/marsboard.html
[2] https://community.freescale.com/message/442168#442168

Signed-off-by: Vianney le Cl?ment de Saint-Marcq <vianney.leclement@essensium.com>
---
 arch/arm/boot/dts/Makefile            |   1 +
 arch/arm/boot/dts/imx6q-marsboard.dts | 401 ++++++++++++++++++++++++++++++++++
 2 files changed, 402 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx6q-marsboard.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 91bd5bd..06fa33e 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -249,6 +249,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
 	imx6q-gw54xx.dtb \
 	imx6q-gw552x.dtb \
 	imx6q-hummingboard.dtb \
+	imx6q-marsboard.dtb \
 	imx6q-nitrogen6x.dtb \
 	imx6q-phytec-pbab01.dtb \
 	imx6q-rex-pro.dtb \
diff --git a/arch/arm/boot/dts/imx6q-marsboard.dts b/arch/arm/boot/dts/imx6q-marsboard.dts
new file mode 100644
index 0000000..30265c6
--- /dev/null
+++ b/arch/arm/boot/dts/imx6q-marsboard.dts
@@ -0,0 +1,401 @@
+/*
+ * Copyright 2015 Vianney le Cl?ment de Saint-Marcq, Essensium NV
+ *  Based on imx6dl-riotboard.dts Copyright Iain Paton.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+/dts-v1/;
+#include "imx6q.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	model = "MarS Board i.MX6 Dual Board";
+	compatible = "embest,imx6q-marsboard", "fsl,imx6q";
+
+	memory {
+		reg = <0x10000000 0x40000000>;
+	};
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		reg_2p5v: regulator at 0 {
+			compatible = "regulator-fixed";
+			reg = <0>;
+			regulator-name = "2P5V";
+			regulator-min-microvolt = <2500000>;
+			regulator-max-microvolt = <2500000>;
+		};
+
+		reg_3p3v: regulator at 1 {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "3P3V";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+		};
+
+		reg_usb_otg_vbus: regulator at 2 {
+			compatible = "regulator-fixed";
+			reg = <2>;
+			regulator-name = "usb_otg_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			gpio = <&gpio3 22 0>;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_led>;
+
+		led0: user1 {
+			label = "user1";
+			gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
+			default-state = "on";
+			linux,default-trigger = "heartbeat";
+		};
+
+		led1: user2 {
+			label = "user2";
+			gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
+			default-state = "off";
+		};
+	};
+};
+
+&audmux {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_audmux>;
+	status = "okay";
+};
+
+&ecspi1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_ecspi1>;
+	cs-gpios = <&gpio2 30 0>;
+	fsl,spi-num-chipselects = <1>;
+	status = "okay";
+
+	flash: m25p80 at 0 {
+		compatible = "st,sst25vf016b";
+		reg = <0>;
+		spi-max-frequency = <20000000>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		bootloader at 0 {
+			reg = <0x00000000 0x00100000>;
+			read-only;
+		};
+
+		kernel at 100000 {
+			reg = <0x00100000 0x00100000>;
+		};
+	};
+};
+
+&fec {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_enet>;
+	phy-mode = "rgmii";
+	status = "okay";
+};
+
+&hdmi {
+	ddc-i2c-bus = <&i2c2>;
+	status = "okay";
+};
+
+&i2c1 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c1>;
+	status = "okay";
+};
+
+&i2c2 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c2>;
+	status = "okay";
+};
+
+&i2c3 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c3>;
+	status = "okay";
+};
+
+&pwm1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm1>;
+	status = "okay";
+};
+
+&pwm2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm2>;
+	status = "okay";
+};
+
+&pwm3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm3>;
+	status = "okay";
+};
+
+&pwm4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_pwm4>;
+	status = "okay";
+};
+
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart1>;
+	status = "okay";
+};
+
+&uart2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart2>;
+	status = "okay";
+};
+
+&uart3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart3>;
+	status = "okay";
+};
+
+&uart4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart4>;
+	status = "okay";
+};
+
+&uart5 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart5>;
+	status = "okay";
+};
+
+&usbh1 {
+	dr_mode = "host";
+	disable-over-current;
+	status = "okay";
+};
+
+&usbotg {
+	vbus-supply = <&reg_usb_otg_vbus>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usbotg>;
+	disable-over-current;
+	dr_mode = "otg";
+	status = "okay";
+};
+
+&usdhc2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usdhc2>;
+	cd-gpios = <&gpio1 4 0>;
+	vmmc-supply = <&reg_3p3v>;
+	status = "okay";
+};
+
+&usdhc3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usdhc3>;
+	vmmc-supply = <&reg_3p3v>;
+	non-removable;
+	/* Disabled because eMMC initialization fails */
+	/*status = "okay";*/
+};
+
+&iomuxc {
+	pinctrl-names = "default";
+
+	imx6-marsboard {
+		pinctrl_audmux: audmuxgrp {
+			fsl,pins = <
+				MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0
+				MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
+				MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0
+				MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
+			>;
+		};
+
+		pinctrl_ecspi1: ecspi1grp {
+			fsl,pins = <
+				MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
+				MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
+				MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
+				MX6QDL_PAD_EIM_EB2__GPIO2_IO30		0x000b1		/* CS0 */
+			>;
+		};
+
+		pinctrl_ecspi2: ecspi2grp {
+			fsl,pins = <
+				MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK		0x100b1
+				MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI		0x100b1
+				MX6QDL_PAD_EIM_OE__ECSPI2_MISO		0x100b1
+				MX6QDL_PAD_EIM_LBA__GPIO2_IO27		0x000b1		/* CS0 */
+				MX6QDL_PAD_EIM_A17__GPIO2_IO21		0x000b1		/* IRQ */
+			>;
+		};
+
+		pinctrl_enet: enetgrp {
+			fsl,pins = <
+				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
+				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
+				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b0b0
+				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b0b0
+				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b0b0
+				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b0b0
+				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b0b0
+				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b0b0
+				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x0a0b1		/* AR8035 CLK_25M --> ENET_REF_CLK (V22) */
+				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0		/* AR8035 pin strapping: IO voltage: pull up */
+				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x130b0		/* AR8035 pin strapping: PHYADDR#0: pull down */
+				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x130b0		/* AR8035 pin strapping: PHYADDR#1: pull down */
+				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b0b0		/* AR8035 pin strapping: MODE#1: pull up */
+				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b0b0		/* AR8035 pin strapping: MODE#3: pull up */
+				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x130b0		/* AR8035 pin strapping: MODE#0: pull down */
+				MX6QDL_PAD_EIM_D31__GPIO3_IO31		0x130b0		/* RGMII_nRST */
+				MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28	0x180b0		/* AR8035 interrupt */
+			>;
+		};
+
+		pinctrl_i2c1: i2c1grp {
+			fsl,pins = <
+				MX6QDL_PAD_CSI0_DAT8__I2C1_SDA		0x4001b8b1
+				MX6QDL_PAD_CSI0_DAT9__I2C1_SCL		0x4001b8b1
+			>;
+		};
+
+		pinctrl_i2c2: i2c2grp {
+			fsl,pins = <
+				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
+				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
+			>;
+		};
+
+		pinctrl_i2c3: i2c3grp {
+			fsl,pins = <
+				MX6QDL_PAD_GPIO_5__I2C3_SCL		0x4001b8b1
+				MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001b8b1
+			>;
+		};
+
+		pinctrl_led: ledgrp {
+			fsl,pins = <
+				MX6QDL_PAD_EIM_A25__GPIO5_IO02		0x1b0b1	/* user led0 */
+				MX6QDL_PAD_EIM_D28__GPIO3_IO28		0x1b0b1	/* user led1 */
+			>;
+		};
+
+		pinctrl_pwm1: pwm1grp {
+			fsl,pins = <
+				MX6QDL_PAD_GPIO_9__PWM1_OUT		0x1b0b1
+			>;
+		};
+
+		pinctrl_pwm2: pwm2grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD1_DAT2__PWM2_OUT		0x1b0b1
+			>;
+		};
+
+		pinctrl_pwm3: pwm3grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD4_DAT1__PWM3_OUT		0x1b0b1
+			>;
+		};
+
+		pinctrl_pwm4: pwm4grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD4_DAT2__PWM4_OUT		0x1b0b1
+			>;
+		};
+
+		pinctrl_uart1: uart1grp {
+			fsl,pins = <
+				MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0b1
+				MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0b1
+				MX6QDL_PAD_EIM_D19__UART1_CTS_B		0x1b0b1
+				MX6QDL_PAD_EIM_D20__UART1_RTS_B		0x1b0b1
+			>;
+		};
+
+		pinctrl_uart2: uart2grp {
+			fsl,pins = <
+				MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
+				MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
+			>;
+		};
+
+		pinctrl_uart3: uart3grp {
+			fsl,pins = <
+				MX6QDL_PAD_EIM_D24__UART3_TX_DATA	0x1b0b1
+				MX6QDL_PAD_EIM_D25__UART3_RX_DATA	0x1b0b1
+				MX6QDL_PAD_EIM_EB3__UART3_RTS_B		0x1b0b1
+				MX6QDL_PAD_EIM_D23__UART3_CTS_B		0x1b0b1
+			>;
+		};
+
+		pinctrl_uart4: uart4grp {
+			fsl,pins = <
+				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
+				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
+			>;
+		};
+
+		pinctrl_uart5: uart5grp {
+			fsl,pins = <
+				MX6QDL_PAD_KEY_COL1__UART5_TX_DATA	0x1b0b1
+				MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA	0x1b0b1
+			>;
+		};
+
+		pinctrl_usbotg: usbotggrp {
+			fsl,pins = <
+				MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x17059
+				MX6QDL_PAD_EIM_D22__GPIO3_IO22		0x000b0	/* MX6QDL_PAD_EIM_D22__USB_OTG_PWR */
+				MX6QDL_PAD_EIM_D21__USB_OTG_OC		0x1b0b0
+			>;
+		};
+
+		pinctrl_usdhc2: usdhc2grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD2_CMD__SD2_CMD		0x17059
+				MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10059
+				MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059
+				MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059
+				MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059
+				MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059
+				MX6QDL_PAD_GPIO_4__GPIO1_IO04		0x1b0b0	/* SD2 CD */
+			>;
+		};
+
+		pinctrl_usdhc3: usdhc3grp {
+			fsl,pins = <
+				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
+				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
+				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
+				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
+				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
+				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
+				MX6QDL_PAD_SD3_RST__GPIO7_IO08		0x1b0b0	/* SD3 RST (eMMC) */
+			>;
+		};
+	};
+};
-- 
2.3.5

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

* [PATCH] ARM: dts: imx6: Add Embest MarS Board
  2015-04-01  8:10 [PATCH] ARM: dts: imx6: Add Embest MarS Board Vianney le Clément de Saint-Marcq
@ 2015-04-01  8:15 ` Lucas Stach
  2015-04-01  8:32   ` Vianney le Clément
  2015-04-01 11:39 ` Fabio Estevam
  2015-04-27  8:39 ` Shawn Guo
  2 siblings, 1 reply; 12+ messages in thread
From: Lucas Stach @ 2015-04-01  8:15 UTC (permalink / raw)
  To: linux-arm-kernel

Am Mittwoch, den 01.04.2015, 10:10 +0200 schrieb Vianney le Cl?ment de
Saint-Marcq:
> Add device tree for the Embest/Element 14 MarS Board [1], an i.MX6 Dual
> based development board.
> 
> The e-MMC chip is disabled because initialization fails (error -110).
> A possible cause is described in [2].

So if the problem is that there are only 4 connected data lines one the
board, couldn't you simply add the property bus-width = <4>; to the emmc
node?

> 
> [1] http://www.embest-tech.com/shop/star/marsboard.html
> [2] https://community.freescale.com/message/442168#442168
> 
> Signed-off-by: Vianney le Cl?ment de Saint-Marcq <vianney.leclement@essensium.com>
> ---
>  arch/arm/boot/dts/Makefile            |   1 +
>  arch/arm/boot/dts/imx6q-marsboard.dts | 401 ++++++++++++++++++++++++++++++++++
>  2 files changed, 402 insertions(+)
>  create mode 100644 arch/arm/boot/dts/imx6q-marsboard.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 91bd5bd..06fa33e 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -249,6 +249,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
>  	imx6q-gw54xx.dtb \
>  	imx6q-gw552x.dtb \
>  	imx6q-hummingboard.dtb \
> +	imx6q-marsboard.dtb \
>  	imx6q-nitrogen6x.dtb \
>  	imx6q-phytec-pbab01.dtb \
>  	imx6q-rex-pro.dtb \
> diff --git a/arch/arm/boot/dts/imx6q-marsboard.dts b/arch/arm/boot/dts/imx6q-marsboard.dts
> new file mode 100644
> index 0000000..30265c6
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx6q-marsboard.dts
> @@ -0,0 +1,401 @@
> +/*
> + * Copyright 2015 Vianney le Cl?ment de Saint-Marcq, Essensium NV
> + *  Based on imx6dl-riotboard.dts Copyright Iain Paton.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +
> +/dts-v1/;
> +#include "imx6q.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +
> +/ {
> +	model = "MarS Board i.MX6 Dual Board";
> +	compatible = "embest,imx6q-marsboard", "fsl,imx6q";
> +
> +	memory {
> +		reg = <0x10000000 0x40000000>;
> +	};
> +
> +	regulators {
> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		reg_2p5v: regulator at 0 {
> +			compatible = "regulator-fixed";
> +			reg = <0>;
> +			regulator-name = "2P5V";
> +			regulator-min-microvolt = <2500000>;
> +			regulator-max-microvolt = <2500000>;
> +		};
> +
> +		reg_3p3v: regulator at 1 {
> +			compatible = "regulator-fixed";
> +			reg = <1>;
> +			regulator-name = "3P3V";
> +			regulator-min-microvolt = <3300000>;
> +			regulator-max-microvolt = <3300000>;
> +		};
> +
> +		reg_usb_otg_vbus: regulator at 2 {
> +			compatible = "regulator-fixed";
> +			reg = <2>;
> +			regulator-name = "usb_otg_vbus";
> +			regulator-min-microvolt = <5000000>;
> +			regulator-max-microvolt = <5000000>;
> +			gpio = <&gpio3 22 0>;
> +		};
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_led>;
> +
> +		led0: user1 {
> +			label = "user1";
> +			gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
> +			default-state = "on";
> +			linux,default-trigger = "heartbeat";
> +		};
> +
> +		led1: user2 {
> +			label = "user2";
> +			gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
> +			default-state = "off";
> +		};
> +	};
> +};
> +
> +&audmux {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_audmux>;
> +	status = "okay";
> +};
> +
> +&ecspi1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_ecspi1>;
> +	cs-gpios = <&gpio2 30 0>;
> +	fsl,spi-num-chipselects = <1>;
> +	status = "okay";
> +
> +	flash: m25p80 at 0 {
> +		compatible = "st,sst25vf016b";
> +		reg = <0>;
> +		spi-max-frequency = <20000000>;
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +
> +		bootloader at 0 {
> +			reg = <0x00000000 0x00100000>;
> +			read-only;
> +		};
> +
> +		kernel at 100000 {
> +			reg = <0x00100000 0x00100000>;
> +		};
> +	};
> +};
> +
> +&fec {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_enet>;
> +	phy-mode = "rgmii";
> +	status = "okay";
> +};
> +
> +&hdmi {
> +	ddc-i2c-bus = <&i2c2>;
> +	status = "okay";
> +};
> +
> +&i2c1 {
> +	clock-frequency = <100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c1>;
> +	status = "okay";
> +};
> +
> +&i2c2 {
> +	clock-frequency = <100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c2>;
> +	status = "okay";
> +};
> +
> +&i2c3 {
> +	clock-frequency = <100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c3>;
> +	status = "okay";
> +};
> +
> +&pwm1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pwm1>;
> +	status = "okay";
> +};
> +
> +&pwm2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pwm2>;
> +	status = "okay";
> +};
> +
> +&pwm3 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pwm3>;
> +	status = "okay";
> +};
> +
> +&pwm4 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pwm4>;
> +	status = "okay";
> +};
> +
> +&uart1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_uart1>;
> +	status = "okay";
> +};
> +
> +&uart2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_uart2>;
> +	status = "okay";
> +};
> +
> +&uart3 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_uart3>;
> +	status = "okay";
> +};
> +
> +&uart4 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_uart4>;
> +	status = "okay";
> +};
> +
> +&uart5 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_uart5>;
> +	status = "okay";
> +};
> +
> +&usbh1 {
> +	dr_mode = "host";
> +	disable-over-current;
> +	status = "okay";
> +};
> +
> +&usbotg {
> +	vbus-supply = <&reg_usb_otg_vbus>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usbotg>;
> +	disable-over-current;
> +	dr_mode = "otg";
> +	status = "okay";
> +};
> +
> +&usdhc2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usdhc2>;
> +	cd-gpios = <&gpio1 4 0>;
> +	vmmc-supply = <&reg_3p3v>;
> +	status = "okay";
> +};
> +
> +&usdhc3 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usdhc3>;
> +	vmmc-supply = <&reg_3p3v>;
> +	non-removable;
> +	/* Disabled because eMMC initialization fails */
> +	/*status = "okay";*/
> +};
> +
> +&iomuxc {
> +	pinctrl-names = "default";
> +
> +	imx6-marsboard {
> +		pinctrl_audmux: audmuxgrp {
> +			fsl,pins = <
> +				MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0
> +				MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
> +				MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0
> +				MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
> +			>;
> +		};
> +
> +		pinctrl_ecspi1: ecspi1grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
> +				MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
> +				MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
> +				MX6QDL_PAD_EIM_EB2__GPIO2_IO30		0x000b1		/* CS0 */
> +			>;
> +		};
> +
> +		pinctrl_ecspi2: ecspi2grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK		0x100b1
> +				MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI		0x100b1
> +				MX6QDL_PAD_EIM_OE__ECSPI2_MISO		0x100b1
> +				MX6QDL_PAD_EIM_LBA__GPIO2_IO27		0x000b1		/* CS0 */
> +				MX6QDL_PAD_EIM_A17__GPIO2_IO21		0x000b1		/* IRQ */
> +			>;
> +		};
> +
> +		pinctrl_enet: enetgrp {
> +			fsl,pins = <
> +				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
> +				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
> +				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b0b0
> +				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b0b0
> +				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b0b0
> +				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b0b0
> +				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b0b0
> +				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b0b0
> +				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x0a0b1		/* AR8035 CLK_25M --> ENET_REF_CLK (V22) */
> +				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0		/* AR8035 pin strapping: IO voltage: pull up */
> +				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x130b0		/* AR8035 pin strapping: PHYADDR#0: pull down */
> +				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x130b0		/* AR8035 pin strapping: PHYADDR#1: pull down */
> +				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b0b0		/* AR8035 pin strapping: MODE#1: pull up */
> +				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b0b0		/* AR8035 pin strapping: MODE#3: pull up */
> +				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x130b0		/* AR8035 pin strapping: MODE#0: pull down */
> +				MX6QDL_PAD_EIM_D31__GPIO3_IO31		0x130b0		/* RGMII_nRST */
> +				MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28	0x180b0		/* AR8035 interrupt */
> +			>;
> +		};
> +
> +		pinctrl_i2c1: i2c1grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_CSI0_DAT8__I2C1_SDA		0x4001b8b1
> +				MX6QDL_PAD_CSI0_DAT9__I2C1_SCL		0x4001b8b1
> +			>;
> +		};
> +
> +		pinctrl_i2c2: i2c2grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
> +				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
> +			>;
> +		};
> +
> +		pinctrl_i2c3: i2c3grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_GPIO_5__I2C3_SCL		0x4001b8b1
> +				MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001b8b1
> +			>;
> +		};
> +
> +		pinctrl_led: ledgrp {
> +			fsl,pins = <
> +				MX6QDL_PAD_EIM_A25__GPIO5_IO02		0x1b0b1	/* user led0 */
> +				MX6QDL_PAD_EIM_D28__GPIO3_IO28		0x1b0b1	/* user led1 */
> +			>;
> +		};
> +
> +		pinctrl_pwm1: pwm1grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_GPIO_9__PWM1_OUT		0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_pwm2: pwm2grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_SD1_DAT2__PWM2_OUT		0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_pwm3: pwm3grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_SD4_DAT1__PWM3_OUT		0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_pwm4: pwm4grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_SD4_DAT2__PWM4_OUT		0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_uart1: uart1grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0b1
> +				MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0b1
> +				MX6QDL_PAD_EIM_D19__UART1_CTS_B		0x1b0b1
> +				MX6QDL_PAD_EIM_D20__UART1_RTS_B		0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_uart2: uart2grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
> +				MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_uart3: uart3grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_EIM_D24__UART3_TX_DATA	0x1b0b1
> +				MX6QDL_PAD_EIM_D25__UART3_RX_DATA	0x1b0b1
> +				MX6QDL_PAD_EIM_EB3__UART3_RTS_B		0x1b0b1
> +				MX6QDL_PAD_EIM_D23__UART3_CTS_B		0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_uart4: uart4grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
> +				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_uart5: uart5grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_KEY_COL1__UART5_TX_DATA	0x1b0b1
> +				MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA	0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_usbotg: usbotggrp {
> +			fsl,pins = <
> +				MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x17059
> +				MX6QDL_PAD_EIM_D22__GPIO3_IO22		0x000b0	/* MX6QDL_PAD_EIM_D22__USB_OTG_PWR */
> +				MX6QDL_PAD_EIM_D21__USB_OTG_OC		0x1b0b0
> +			>;
> +		};
> +
> +		pinctrl_usdhc2: usdhc2grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_SD2_CMD__SD2_CMD		0x17059
> +				MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10059
> +				MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059
> +				MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059
> +				MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059
> +				MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059
> +				MX6QDL_PAD_GPIO_4__GPIO1_IO04		0x1b0b0	/* SD2 CD */
> +			>;
> +		};
> +
> +		pinctrl_usdhc3: usdhc3grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
> +				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
> +				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
> +				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
> +				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
> +				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
> +				MX6QDL_PAD_SD3_RST__GPIO7_IO08		0x1b0b0	/* SD3 RST (eMMC) */
> +			>;
> +		};
> +	};
> +};

-- 
Pengutronix e.K.             | Lucas Stach                 |
Industrial Linux Solutions   | http://www.pengutronix.de/  |

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

* [PATCH] ARM: dts: imx6: Add Embest MarS Board
  2015-04-01  8:15 ` Lucas Stach
@ 2015-04-01  8:32   ` Vianney le Clément
  2015-04-24 12:22     ` Catalin Crenguta
  0 siblings, 1 reply; 12+ messages in thread
From: Vianney le Clément @ 2015-04-01  8:32 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 1, 2015 at 10:15 , Lucas Stach <l.stach@pengutronix.de> 
wrote:
> Am Mittwoch, den 01.04.2015, 10:10 +0200 schrieb Vianney le Cl?ment 
> de
> Saint-Marcq:
>>  Add device tree for the Embest/Element 14 MarS Board [1], an i.MX6 
>> Dual
>>  based development board.
>> 
>>  The e-MMC chip is disabled because initialization fails (error 
>> -110).
>>  A possible cause is described in [2].
> 
> So if the problem is that there are only 4 connected data lines one 
> the
> board, couldn't you simply add the property bus-width = <4>; to the 
> emmc
> node?

It is already the case (imx6qdl.dtsi, line 929), but to no avail.  That 
is why I wrote "possible" cause as I did not find any evidence of the 
described behaviour in my (admittedly limited) investigations.


Vianney le Cl?ment de Saint-Marcq
Embedded Software Developper ? +32 485 84 55 05
Essensium, Mind division ? www.mind.be
GPG: 727B CFE9 355F 1B02 0820 EE1C 9042 3E07 A804 0316

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

* [PATCH] ARM: dts: imx6: Add Embest MarS Board
  2015-04-01  8:10 [PATCH] ARM: dts: imx6: Add Embest MarS Board Vianney le Clément de Saint-Marcq
  2015-04-01  8:15 ` Lucas Stach
@ 2015-04-01 11:39 ` Fabio Estevam
  2015-04-01 13:25   ` Vianney le Clément
  2015-04-27  8:39 ` Shawn Guo
  2 siblings, 1 reply; 12+ messages in thread
From: Fabio Estevam @ 2015-04-01 11:39 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 1, 2015 at 5:10 AM, Vianney le Cl?ment de Saint-Marcq
<vianney.leclement@essensium.com> wrote:
> Add device tree for the Embest/Element 14 MarS Board [1], an i.MX6 Dual
> based development board.
>
> The e-MMC chip is disabled because initialization fails (error -110).
> A possible cause is described in [2].
>
> [1] http://www.embest-tech.com/shop/star/marsboard.html
> [2] https://community.freescale.com/message/442168#442168
>
> Signed-off-by: Vianney le Cl?ment de Saint-Marcq <vianney.leclement@essensium.com>

Couldn't this be combined with the existing
arch/arm/boot/dts/imx6dl-riotboard.dts?

Regards,

Fabio Estevam

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

* [PATCH] ARM: dts: imx6: Add Embest MarS Board
  2015-04-01 11:39 ` Fabio Estevam
@ 2015-04-01 13:25   ` Vianney le Clément
  0 siblings, 0 replies; 12+ messages in thread
From: Vianney le Clément @ 2015-04-01 13:25 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 1, 2015 at 1:39 , Fabio Estevam <festevam@gmail.com> wrote:
> On Wed, Apr 1, 2015 at 5:10 AM, Vianney le Cl?ment de Saint-Marcq
> <vianney.leclement@essensium.com> wrote:
>>  Add device tree for the Embest/Element 14 MarS Board [1], an i.MX6 
>> Dual
>>  based development board.
>> 
>>  The e-MMC chip is disabled because initialization fails (error 
>> -110).
>>  A possible cause is described in [2].
>> 
>>  [1] http://www.embest-tech.com/shop/star/marsboard.html
>>  [2] https://community.freescale.com/message/442168#442168
>> 
>>  Signed-off-by: Vianney le Cl?ment de Saint-Marcq 
>> <vianney.leclement@essensium.com>
> 
> Couldn't this be combined with the existing
> arch/arm/boot/dts/imx6dl-riotboard.dts?

While both boards do indeed share a lot of the schematics, the 
marsboard has some differences, e.g., in pin configuration, that 
requires a separate dts.  We could split common parts out in a new 
dtsi, but I am not sure it is worth the hassle.

Regards,
Vianney

Vianney le Cl?ment de Saint-Marcq
Embedded Software Developper ? +32 485 84 55 05
Essensium, Mind division ? www.mind.be
GPG: 727B CFE9 355F 1B02 0820 EE1C 9042 3E07 A804 0316

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

* [PATCH] ARM: dts: imx6: Add Embest MarS Board
  2015-04-01  8:32   ` Vianney le Clément
@ 2015-04-24 12:22     ` Catalin Crenguta
  2015-04-24 12:28       ` Lucas Stach
  0 siblings, 1 reply; 12+ messages in thread
From: Catalin Crenguta @ 2015-04-24 12:22 UTC (permalink / raw)
  To: linux-arm-kernel

This is still not working on 4.0 with this devicetree and eMMC enabled.

[    1.467617] Driver 'mmcblk' needs updating - please use bus_type methods
[    1.474581] sdhci: Secure Digital Host Controller Interface driver
[    1.480776] sdhci: Copyright(c) Pierre Ossman
[    1.485229] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.491920] sdhci-esdhc-imx 2194000.usdhc: could not get ultra high
speed state, work on normal mode
[    1.502624] sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
[    1.553863] mmc0: SDHCI controller on 2194000.usdhc [2194000.usdhc]
using ADMA
[    1.562020] sdhci-esdhc-imx 2198000.usdhc: could not get ultra high
speed state, work on normal mode
[    1.572519] sdhci-esdhc-imx 2198000.usdhc: No vqmmc regulator found
[    1.623290] mmc1: SDHCI controller on 2198000.usdhc [2198000.usdhc]
using ADMA
[    1.632466] usbcore: registered new interface driver usbhid
[    1.638080] usbhid: USB HID core driver
[    1.648923] TCP: cubic registered
[    1.653864] NET: Registered protocol family 10
[    1.661093] sit: IPv6 over IPv4 tunneling driver
[    1.667826] NET: Registered protocol family 17
[    1.672323] can: controller area network core (rev 20120528 abi 9)
[    1.678754] NET: Registered protocol family 29
[    1.683259] can: raw protocol (rev 20120528)
[    1.683659] usb 1-1: new high-speed USB device number 2 using ci_hdrc
[    1.694117] can: broadcast manager protocol (rev 20120528 t)
[    1.699821] can: netlink gateway (rev 20130117) max_hops=1
[    1.705994] Key type dns_resolver registered
[    1.715425] Registering SWP/SWPB emulation handler
[    1.728171] snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to
1970-01-01 00:00:00 UTC (0)
[    1.773338] usb_otg_vbus: disabling
[    1.776858] 2P5V: disabling
[    1.780066] ALSA device list:
[    1.783043]   No soundcards found.
[    1.787866] Waiting for root device /dev/mmcblk0p1...
[    1.836367] hub 1-1:1.0: USB hub found
[    1.840349] hub 1-1:1.0: 4 ports detected
[    1.879136] mmc1: MAN_BKOPS_EN bit is not set
[    1.893823] mmc1: new high speed MMC card at address 0001
[    1.901285] mmcblk0: mmc1:0001 NCard  3.71 GiB
[    1.906172] mmcblk0boot0: mmc1:0001 NCard  partition 1 2.00 MiB
[    1.912424] mmcblk0boot1: mmc1:0001 NCard  partition 2 2.00 MiB
[    1.918676] mmcblk0rpmb: mmc1:0001 NCard  partition 3 128 KiB
[    1.928406]  mmcblk0: p1
[   12.033443] mmc1: Timeout waiting for hardware interrupt.
[   12.039193] mmcblk0: error -110 transferring data, sector 20482, nr
2, cmd response 0x900, card status 0xb00
[   12.049118] mmc1: tried to reset card
[   12.052804] mmcblk0: retrying using single block read
[   22.073257] mmc1: Timeout waiting for hardware interrupt.
[   22.078969] mmcblk0: error -110 transferring data, sector 20480, nr
8, cmd response 0x900, card status 0xb00
[   22.088897] mmc1: tried to reset card
[   22.092585] mmcblk0: retrying using single block read
[   22.100654] EXT3-fs (mmcblk0p1): error: magic mismatch
[   32.113294] mmc1: Timeout waiting for hardware interrupt.
[   32.119153] mmcblk0: error -110 transferring data, sector 20482, nr
2, cmd response 0x900, card status 0xb00
[   32.129070] mmc1: tried to reset card
[   32.132758] mmcblk0: retrying using single block read
[   32.138719] EXT2-fs (mmcblk0p1): error: couldn't mount because of
unsupported optional features (4)

On Wed, Apr 1, 2015 at 11:32 AM, Vianney le Cl?ment
<vianney.leclement@essensium.com> wrote:
> On Wed, Apr 1, 2015 at 10:15 , Lucas Stach <l.stach@pengutronix.de> wrote:
>>
>> Am Mittwoch, den 01.04.2015, 10:10 +0200 schrieb Vianney le Cl?ment de
>> Saint-Marcq:
>>>
>>>  Add device tree for the Embest/Element 14 MarS Board [1], an i.MX6 Dual
>>>  based development board.
>>>
>>>  The e-MMC chip is disabled because initialization fails (error -110).
>>>  A possible cause is described in [2].
>>
>>
>> So if the problem is that there are only 4 connected data lines one the
>> board, couldn't you simply add the property bus-width = <4>; to the emmc
>> node?
>
>
> It is already the case (imx6qdl.dtsi, line 929), but to no avail.  That is
> why I wrote "possible" cause as I did not find any evidence of the described
> behaviour in my (admittedly limited) investigations.
>
>
> Vianney le Cl?ment de Saint-Marcq
> Embedded Software Developper ? +32 485 84 55 05
> Essensium, Mind division ? www.mind.be
> GPG: 727B CFE9 355F 1B02 0820 EE1C 9042 3E07 A804 0316
>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH] ARM: dts: imx6: Add Embest MarS Board
  2015-04-24 12:22     ` Catalin Crenguta
@ 2015-04-24 12:28       ` Lucas Stach
  2015-04-27  6:47         ` Catalin Crenguta
  0 siblings, 1 reply; 12+ messages in thread
From: Lucas Stach @ 2015-04-24 12:28 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Catalin,

This may as well be a signaling issue. You could try to slow down the
the MMC bus speed or play a bit with the pin drive strength values. Note
that in those cases _reducing_ the drive strength may be the right thing
to do.

Regards,
Lucas

Am Freitag, den 24.04.2015, 15:22 +0300 schrieb Catalin Crenguta:
> This is still not working on 4.0 with this devicetree and eMMC enabled.
> 
> [    1.467617] Driver 'mmcblk' needs updating - please use bus_type methods
> [    1.474581] sdhci: Secure Digital Host Controller Interface driver
> [    1.480776] sdhci: Copyright(c) Pierre Ossman
> [    1.485229] sdhci-pltfm: SDHCI platform and OF driver helper
> [    1.491920] sdhci-esdhc-imx 2194000.usdhc: could not get ultra high
> speed state, work on normal mode
> [    1.502624] sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
> [    1.553863] mmc0: SDHCI controller on 2194000.usdhc [2194000.usdhc]
> using ADMA
> [    1.562020] sdhci-esdhc-imx 2198000.usdhc: could not get ultra high
> speed state, work on normal mode
> [    1.572519] sdhci-esdhc-imx 2198000.usdhc: No vqmmc regulator found
> [    1.623290] mmc1: SDHCI controller on 2198000.usdhc [2198000.usdhc]
> using ADMA
> [    1.632466] usbcore: registered new interface driver usbhid
> [    1.638080] usbhid: USB HID core driver
> [    1.648923] TCP: cubic registered
> [    1.653864] NET: Registered protocol family 10
> [    1.661093] sit: IPv6 over IPv4 tunneling driver
> [    1.667826] NET: Registered protocol family 17
> [    1.672323] can: controller area network core (rev 20120528 abi 9)
> [    1.678754] NET: Registered protocol family 29
> [    1.683259] can: raw protocol (rev 20120528)
> [    1.683659] usb 1-1: new high-speed USB device number 2 using ci_hdrc
> [    1.694117] can: broadcast manager protocol (rev 20120528 t)
> [    1.699821] can: netlink gateway (rev 20130117) max_hops=1
> [    1.705994] Key type dns_resolver registered
> [    1.715425] Registering SWP/SWPB emulation handler
> [    1.728171] snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to
> 1970-01-01 00:00:00 UTC (0)
> [    1.773338] usb_otg_vbus: disabling
> [    1.776858] 2P5V: disabling
> [    1.780066] ALSA device list:
> [    1.783043]   No soundcards found.
> [    1.787866] Waiting for root device /dev/mmcblk0p1...
> [    1.836367] hub 1-1:1.0: USB hub found
> [    1.840349] hub 1-1:1.0: 4 ports detected
> [    1.879136] mmc1: MAN_BKOPS_EN bit is not set
> [    1.893823] mmc1: new high speed MMC card at address 0001
> [    1.901285] mmcblk0: mmc1:0001 NCard  3.71 GiB
> [    1.906172] mmcblk0boot0: mmc1:0001 NCard  partition 1 2.00 MiB
> [    1.912424] mmcblk0boot1: mmc1:0001 NCard  partition 2 2.00 MiB
> [    1.918676] mmcblk0rpmb: mmc1:0001 NCard  partition 3 128 KiB
> [    1.928406]  mmcblk0: p1
> [   12.033443] mmc1: Timeout waiting for hardware interrupt.
> [   12.039193] mmcblk0: error -110 transferring data, sector 20482, nr
> 2, cmd response 0x900, card status 0xb00
> [   12.049118] mmc1: tried to reset card
> [   12.052804] mmcblk0: retrying using single block read
> [   22.073257] mmc1: Timeout waiting for hardware interrupt.
> [   22.078969] mmcblk0: error -110 transferring data, sector 20480, nr
> 8, cmd response 0x900, card status 0xb00
> [   22.088897] mmc1: tried to reset card
> [   22.092585] mmcblk0: retrying using single block read
> [   22.100654] EXT3-fs (mmcblk0p1): error: magic mismatch
> [   32.113294] mmc1: Timeout waiting for hardware interrupt.
> [   32.119153] mmcblk0: error -110 transferring data, sector 20482, nr
> 2, cmd response 0x900, card status 0xb00
> [   32.129070] mmc1: tried to reset card
> [   32.132758] mmcblk0: retrying using single block read
> [   32.138719] EXT2-fs (mmcblk0p1): error: couldn't mount because of
> unsupported optional features (4)
> 
> On Wed, Apr 1, 2015 at 11:32 AM, Vianney le Cl?ment
> <vianney.leclement@essensium.com> wrote:
> > On Wed, Apr 1, 2015 at 10:15 , Lucas Stach <l.stach@pengutronix.de> wrote:
> >>
> >> Am Mittwoch, den 01.04.2015, 10:10 +0200 schrieb Vianney le Cl?ment de
> >> Saint-Marcq:
> >>>
> >>>  Add device tree for the Embest/Element 14 MarS Board [1], an i.MX6 Dual
> >>>  based development board.
> >>>
> >>>  The e-MMC chip is disabled because initialization fails (error -110).
> >>>  A possible cause is described in [2].
> >>
> >>
> >> So if the problem is that there are only 4 connected data lines one the
> >> board, couldn't you simply add the property bus-width = <4>; to the emmc
> >> node?
> >
> >
> > It is already the case (imx6qdl.dtsi, line 929), but to no avail.  That is
> > why I wrote "possible" cause as I did not find any evidence of the described
> > behaviour in my (admittedly limited) investigations.
> >
> >
> > Vianney le Cl?ment de Saint-Marcq
> > Embedded Software Developper ? +32 485 84 55 05
> > Essensium, Mind division ? www.mind.be
> > GPG: 727B CFE9 355F 1B02 0820 EE1C 9042 3E07 A804 0316
> >
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

-- 
Pengutronix e.K.             | Lucas Stach                 |
Industrial Linux Solutions   | http://www.pengutronix.de/  |

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

* [PATCH] ARM: dts: imx6: Add Embest MarS Board
  2015-04-24 12:28       ` Lucas Stach
@ 2015-04-27  6:47         ` Catalin Crenguta
  2015-04-27  7:07           ` Vianney le Clément
  0 siblings, 1 reply; 12+ messages in thread
From: Catalin Crenguta @ 2015-04-27  6:47 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Lucas,

On Fri, Apr 24, 2015 at 3:28 PM, Lucas Stach <l.stach@pengutronix.de> wrote:
> Hi Catalin,
>
> This may as well be a signaling issue. You could try to slow down the
> the MMC bus speed or play a bit with the pin drive strength values. Note
> that in those cases _reducing_ the drive strength may be the right thing
> to do.
>

Thank you!
I have managed to get it working after changing the drive strength to
260 Ohm and speed to 50 MHz.
Changing only the speed to 50 MHz didn't work, I had to also change
the drive strength. I haven't tested other values.
Maybe this can be pushed to mainline?

> Regards,
> Lucas

Best regards,
Catalin

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

* [PATCH] ARM: dts: imx6: Add Embest MarS Board
  2015-04-27  6:47         ` Catalin Crenguta
@ 2015-04-27  7:07           ` Vianney le Clément
  2015-04-27  9:19             ` Catalin Crenguta
  0 siblings, 1 reply; 12+ messages in thread
From: Vianney le Clément @ 2015-04-27  7:07 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Apr 27, 2015 at 8:47 , Catalin Crenguta 
<catalin.crenguta@gmail.com> wrote:
> I have managed to get it working after changing the drive strength to
> 260 Ohm and speed to 50 MHz.
> Changing only the speed to 50 MHz didn't work, I had to also change
> the drive strength. I haven't tested other values.
> Maybe this can be pushed to mainline?

Hi Catalin,

Sorry for not being able to answer earlier.  Great that you made eMMC 
to work.  Can you share your pinmux configuration for usdhc3, so I can 
send a follow-up patch?

Thanks,
Vianney

Vianney le Cl?ment de Saint-Marcq
Embedded Software Developper ? +32 485 84 55 05
Essensium, Mind division ? www.mind.be
GPG: 727B CFE9 355F 1B02 0820 EE1C 9042 3E07 A804 0316

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

* [PATCH] ARM: dts: imx6: Add Embest MarS Board
  2015-04-01  8:10 [PATCH] ARM: dts: imx6: Add Embest MarS Board Vianney le Clément de Saint-Marcq
  2015-04-01  8:15 ` Lucas Stach
  2015-04-01 11:39 ` Fabio Estevam
@ 2015-04-27  8:39 ` Shawn Guo
  2015-04-27  9:42   ` Vianney le Clément
  2 siblings, 1 reply; 12+ messages in thread
From: Shawn Guo @ 2015-04-27  8:39 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 01, 2015 at 10:10:09AM +0200, Vianney le Cl?ment de Saint-Marcq wrote:
> Add device tree for the Embest/Element 14 MarS Board [1], an i.MX6 Dual
> based development board.
> 
> The e-MMC chip is disabled because initialization fails (error -110).
> A possible cause is described in [2].

If eMMC doesn't work yet, you should just not add it.

> 
> [1] http://www.embest-tech.com/shop/star/marsboard.html
> [2] https://community.freescale.com/message/442168#442168
> 
> Signed-off-by: Vianney le Cl?ment de Saint-Marcq <vianney.leclement@essensium.com>
> ---
>  arch/arm/boot/dts/Makefile            |   1 +
>  arch/arm/boot/dts/imx6q-marsboard.dts | 401 ++++++++++++++++++++++++++++++++++
>  2 files changed, 402 insertions(+)
>  create mode 100644 arch/arm/boot/dts/imx6q-marsboard.dts
> 
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 91bd5bd..06fa33e 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -249,6 +249,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
>  	imx6q-gw54xx.dtb \
>  	imx6q-gw552x.dtb \
>  	imx6q-hummingboard.dtb \
> +	imx6q-marsboard.dtb \
>  	imx6q-nitrogen6x.dtb \
>  	imx6q-phytec-pbab01.dtb \
>  	imx6q-rex-pro.dtb \
> diff --git a/arch/arm/boot/dts/imx6q-marsboard.dts b/arch/arm/boot/dts/imx6q-marsboard.dts
> new file mode 100644
> index 0000000..30265c6
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx6q-marsboard.dts
> @@ -0,0 +1,401 @@
> +/*
> + * Copyright 2015 Vianney le Cl?ment de Saint-Marcq, Essensium NV
> + *  Based on imx6dl-riotboard.dts Copyright Iain Paton.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */

For new dts file, we suggest to use GPL/X11 dual-license for non-Linux
users. Find example below.

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/imx6q-hummingboard.dts

> +
> +/dts-v1/;
> +#include "imx6q.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +
> +/ {
> +	model = "MarS Board i.MX6 Dual Board";
> +	compatible = "embest,imx6q-marsboard", "fsl,imx6q";
> +
> +	memory {
> +		reg = <0x10000000 0x40000000>;
> +	};
> +
> +	regulators {
> +		compatible = "simple-bus";
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		reg_2p5v: regulator at 0 {
> +			compatible = "regulator-fixed";
> +			reg = <0>;
> +			regulator-name = "2P5V";
> +			regulator-min-microvolt = <2500000>;
> +			regulator-max-microvolt = <2500000>;
> +		};
> +
> +		reg_3p3v: regulator at 1 {
> +			compatible = "regulator-fixed";
> +			reg = <1>;
> +			regulator-name = "3P3V";
> +			regulator-min-microvolt = <3300000>;
> +			regulator-max-microvolt = <3300000>;
> +		};
> +
> +		reg_usb_otg_vbus: regulator at 2 {
> +			compatible = "regulator-fixed";
> +			reg = <2>;
> +			regulator-name = "usb_otg_vbus";
> +			regulator-min-microvolt = <5000000>;
> +			regulator-max-microvolt = <5000000>;
> +			gpio = <&gpio3 22 0>;

Use the definition in dt-bindings/gpio/gpio.h.  That's why you include
it in the file, right?

> +		};
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_led>;
> +
> +		led0: user1 {

The label is defined for nothing.

> +			label = "user1";
> +			gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
> +			default-state = "on";
> +			linux,default-trigger = "heartbeat";
> +		};
> +
> +		led1: user2 {
> +			label = "user2";
> +			gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
> +			default-state = "off";
> +		};
> +	};
> +};
> +
> +&audmux {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_audmux>;
> +	status = "okay";
> +};
> +
> +&ecspi1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_ecspi1>;
> +	cs-gpios = <&gpio2 30 0>;

Ditto

> +	fsl,spi-num-chipselects = <1>;
> +	status = "okay";
> +
> +	flash: m25p80 at 0 {
> +		compatible = "st,sst25vf016b";
> +		reg = <0>;
> +		spi-max-frequency = <20000000>;
> +		#address-cells = <1>;
> +		#size-cells = <1>;
> +
> +		bootloader at 0 {
> +			reg = <0x00000000 0x00100000>;
> +			read-only;
> +		};
> +
> +		kernel at 100000 {
> +			reg = <0x00100000 0x00100000>;
> +		};

Do not put the partition table in the default DTS, as it's an
user/software level configuration.

> +	};
> +};
> +
> +&fec {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_enet>;
> +	phy-mode = "rgmii";
> +	status = "okay";
> +};
> +
> +&hdmi {
> +	ddc-i2c-bus = <&i2c2>;
> +	status = "okay";
> +};
> +
> +&i2c1 {
> +	clock-frequency = <100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c1>;
> +	status = "okay";
> +};
> +
> +&i2c2 {
> +	clock-frequency = <100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c2>;
> +	status = "okay";
> +};
> +
> +&i2c3 {
> +	clock-frequency = <100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c3>;
> +	status = "okay";
> +};
> +
> +&pwm1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pwm1>;
> +	status = "okay";
> +};
> +
> +&pwm2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pwm2>;
> +	status = "okay";
> +};
> +
> +&pwm3 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pwm3>;
> +	status = "okay";
> +};
> +
> +&pwm4 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_pwm4>;
> +	status = "okay";
> +};
> +
> +&uart1 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_uart1>;
> +	status = "okay";
> +};
> +
> +&uart2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_uart2>;
> +	status = "okay";
> +};
> +
> +&uart3 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_uart3>;
> +	status = "okay";
> +};
> +
> +&uart4 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_uart4>;
> +	status = "okay";
> +};
> +
> +&uart5 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_uart5>;
> +	status = "okay";
> +};
> +
> +&usbh1 {
> +	dr_mode = "host";
> +	disable-over-current;
> +	status = "okay";
> +};
> +
> +&usbotg {
> +	vbus-supply = <&reg_usb_otg_vbus>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usbotg>;
> +	disable-over-current;
> +	dr_mode = "otg";
> +	status = "okay";
> +};
> +
> +&usdhc2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usdhc2>;
> +	cd-gpios = <&gpio1 4 0>;
> +	vmmc-supply = <&reg_3p3v>;
> +	status = "okay";
> +};
> +
> +&usdhc3 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_usdhc3>;
> +	vmmc-supply = <&reg_3p3v>;
> +	non-removable;
> +	/* Disabled because eMMC initialization fails */
> +	/*status = "okay";*/
> +};
> +
> +&iomuxc {
> +	pinctrl-names = "default";

It makes no sense to have pinctrl-names without anything like pinctrl-0.

> +
> +	imx6-marsboard {
> +		pinctrl_audmux: audmuxgrp {
> +			fsl,pins = <
> +				MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0
> +				MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
> +				MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0
> +				MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
> +			>;
> +		};
> +
> +		pinctrl_ecspi1: ecspi1grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1
> +				MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1
> +				MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1
> +				MX6QDL_PAD_EIM_EB2__GPIO2_IO30		0x000b1		/* CS0 */
> +			>;
> +		};
> +
> +		pinctrl_ecspi2: ecspi2grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK		0x100b1
> +				MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI		0x100b1
> +				MX6QDL_PAD_EIM_OE__ECSPI2_MISO		0x100b1
> +				MX6QDL_PAD_EIM_LBA__GPIO2_IO27		0x000b1		/* CS0 */
> +				MX6QDL_PAD_EIM_A17__GPIO2_IO21		0x000b1		/* IRQ */
> +			>;
> +		};
> +
> +		pinctrl_enet: enetgrp {
> +			fsl,pins = <
> +				MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
> +				MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
> +				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b0b0
> +				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b0b0
> +				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b0b0
> +				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b0b0
> +				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b0b0
> +				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b0b0
> +				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x0a0b1		/* AR8035 CLK_25M --> ENET_REF_CLK (V22) */
> +				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0		/* AR8035 pin strapping: IO voltage: pull up */
> +				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x130b0		/* AR8035 pin strapping: PHYADDR#0: pull down */
> +				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x130b0		/* AR8035 pin strapping: PHYADDR#1: pull down */
> +				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b0b0		/* AR8035 pin strapping: MODE#1: pull up */
> +				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b0b0		/* AR8035 pin strapping: MODE#3: pull up */
> +				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x130b0		/* AR8035 pin strapping: MODE#0: pull down */
> +				MX6QDL_PAD_EIM_D31__GPIO3_IO31		0x130b0		/* RGMII_nRST */
> +				MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28	0x180b0		/* AR8035 interrupt */

Can we put the comment right above to shorten the lines a bit?

				/* AR8035 CLK_25M --> ENET_REF_CLK (V22) */
				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x0a0b1
				/* AR8035 pin strapping: IO voltage: pull up */
				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b0b0

> +			>;
> +		};
> +
> +		pinctrl_i2c1: i2c1grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_CSI0_DAT8__I2C1_SDA		0x4001b8b1
> +				MX6QDL_PAD_CSI0_DAT9__I2C1_SCL		0x4001b8b1
> +			>;
> +		};
> +
> +		pinctrl_i2c2: i2c2grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_KEY_COL3__I2C2_SCL		0x4001b8b1
> +				MX6QDL_PAD_KEY_ROW3__I2C2_SDA		0x4001b8b1
> +			>;
> +		};
> +
> +		pinctrl_i2c3: i2c3grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_GPIO_5__I2C3_SCL		0x4001b8b1
> +				MX6QDL_PAD_GPIO_6__I2C3_SDA		0x4001b8b1
> +			>;
> +		};
> +
> +		pinctrl_led: ledgrp {
> +			fsl,pins = <
> +				MX6QDL_PAD_EIM_A25__GPIO5_IO02		0x1b0b1	/* user led0 */
> +				MX6QDL_PAD_EIM_D28__GPIO3_IO28		0x1b0b1	/* user led1 */
> +			>;
> +		};
> +
> +		pinctrl_pwm1: pwm1grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_GPIO_9__PWM1_OUT		0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_pwm2: pwm2grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_SD1_DAT2__PWM2_OUT		0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_pwm3: pwm3grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_SD4_DAT1__PWM3_OUT		0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_pwm4: pwm4grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_SD4_DAT2__PWM4_OUT		0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_uart1: uart1grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0b1
> +				MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0b1
> +				MX6QDL_PAD_EIM_D19__UART1_CTS_B		0x1b0b1
> +				MX6QDL_PAD_EIM_D20__UART1_RTS_B		0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_uart2: uart2grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
> +				MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_uart3: uart3grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_EIM_D24__UART3_TX_DATA	0x1b0b1
> +				MX6QDL_PAD_EIM_D25__UART3_RX_DATA	0x1b0b1
> +				MX6QDL_PAD_EIM_EB3__UART3_RTS_B		0x1b0b1
> +				MX6QDL_PAD_EIM_D23__UART3_CTS_B		0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_uart4: uart4grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
> +				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_uart5: uart5grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_KEY_COL1__UART5_TX_DATA	0x1b0b1
> +				MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA	0x1b0b1
> +			>;
> +		};
> +
> +		pinctrl_usbotg: usbotggrp {
> +			fsl,pins = <
> +				MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x17059
> +				MX6QDL_PAD_EIM_D22__GPIO3_IO22		0x000b0	/* MX6QDL_PAD_EIM_D22__USB_OTG_PWR */

What does the comment mean?

Shawn

> +				MX6QDL_PAD_EIM_D21__USB_OTG_OC		0x1b0b0
> +			>;
> +		};
> +
> +		pinctrl_usdhc2: usdhc2grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_SD2_CMD__SD2_CMD		0x17059
> +				MX6QDL_PAD_SD2_CLK__SD2_CLK		0x10059
> +				MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x17059
> +				MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x17059
> +				MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x17059
> +				MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x17059
> +				MX6QDL_PAD_GPIO_4__GPIO1_IO04		0x1b0b0	/* SD2 CD */
> +			>;
> +		};
> +
> +		pinctrl_usdhc3: usdhc3grp {
> +			fsl,pins = <
> +				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
> +				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
> +				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
> +				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
> +				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
> +				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
> +				MX6QDL_PAD_SD3_RST__GPIO7_IO08		0x1b0b0	/* SD3 RST (eMMC) */
> +			>;
> +		};
> +	};
> +};
> -- 
> 2.3.5
> 

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

* [PATCH] ARM: dts: imx6: Add Embest MarS Board
  2015-04-27  7:07           ` Vianney le Clément
@ 2015-04-27  9:19             ` Catalin Crenguta
  0 siblings, 0 replies; 12+ messages in thread
From: Catalin Crenguta @ 2015-04-27  9:19 UTC (permalink / raw)
  To: linux-arm-kernel

> Hi Catalin,
>
> Sorry for not being able to answer earlier.  Great that you made eMMC to
> work.  Can you share your pinmux configuration for usdhc3, so I can send a
> follow-up patch?

I have changed the byte 0x59 with 0x09
0x17059 -> 0x17009
and 0x10059 -> 0x10009

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

* [PATCH] ARM: dts: imx6: Add Embest MarS Board
  2015-04-27  8:39 ` Shawn Guo
@ 2015-04-27  9:42   ` Vianney le Clément
  0 siblings, 0 replies; 12+ messages in thread
From: Vianney le Clément @ 2015-04-27  9:42 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Shawn,

Thanks for taking time reviewing this.  I will send a follow-up patch.

On Mon, Apr 27, 2015 at 10:39 , Shawn Guo <shawn.guo@linaro.org> wrote:
> If eMMC doesn't work yet, you should just not add it.

Thanks to Lucas and Catalin it does work now :).  Will update it in v2.


> For new dts file, we suggest to use GPL/X11 dual-license for non-Linux
> users. Find example below.
> 
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/imx6q-hummingboard.dts

No problem for dual-licensing on my part, but this dts is heavily based 
on imx6q-riotboard.dts (as mentioned in the header), which is only 
licensed under the GPL.


>>  +		pinctrl_usbotg: usbotggrp {
>>  +			fsl,pins = <
>>  +				MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x17059
>>  +				MX6QDL_PAD_EIM_D22__GPIO3_IO22		0x000b0	/* 
>> MX6QDL_PAD_EIM_D22__USB_OTG_PWR */
> 
> What does the comment mean?

It is a leftover from imx6q-riotboard.dts.  I will change it.

Regards,
Vianney

Vianney le Cl?ment de Saint-Marcq
Embedded Software Developper ? +32 485 84 55 05
Essensium, Mind division ? www.mind.be
GPG: 727B CFE9 355F 1B02 0820 EE1C 9042 3E07 A804 0316

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

end of thread, other threads:[~2015-04-27  9:42 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-01  8:10 [PATCH] ARM: dts: imx6: Add Embest MarS Board Vianney le Clément de Saint-Marcq
2015-04-01  8:15 ` Lucas Stach
2015-04-01  8:32   ` Vianney le Clément
2015-04-24 12:22     ` Catalin Crenguta
2015-04-24 12:28       ` Lucas Stach
2015-04-27  6:47         ` Catalin Crenguta
2015-04-27  7:07           ` Vianney le Clément
2015-04-27  9:19             ` Catalin Crenguta
2015-04-01 11:39 ` Fabio Estevam
2015-04-01 13:25   ` Vianney le Clément
2015-04-27  8:39 ` Shawn Guo
2015-04-27  9:42   ` Vianney le Clément

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