Skip to contentSkip to conversation

ARM: dts: imx5: Add dts files for USB armory.

PATCH In review Vagrant Cascadian 5 participants 10 messages Mar 27, 2015 – May 13, 2015

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: dts: imx5: Add dts files for USB armory.

Add support for the USB armory board by Inverse Path. This board features a Freescale iMX53 SoC, 512MB RAM, and USB OTG operating in either peripheral or host mode, and 5 GPIO pins.

One .dtb is generated for operating in peripheral mode, and one is generated for operating in host mode.

Cc Andrej Rosano <[email protected]>
Cc Rob Herring <[email protected]>
Cc Pawel Moll <[email protected]>
Cc Mark Rutland <[email protected]>
Cc Ian Campbell <[email protected]>
Cc Kumar Gala <[email protected]>
Cc Russell King <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc devicetree at vger.kernel.org
Cc linux-arm-kernel at lists.infradead.org
Cc linux-kernel at vger.kernel.org
---
 arch/arm/boot/dts/Makefile                      |   2 +
 arch/arm/boot/dts/imx53-usbarmory-host_mode.dts |  17 +++
 arch/arm/boot/dts/imx53-usbarmory.dts           |  13 ++
 arch/arm/boot/dts/imx53-usbarmory.dtsi          | 183 ++++++++++++++++++++++++
 4 files changed, 215 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dtsi
arch/arm/boot/dts/Makefile +2 -0
index a1c776b..bd2258b 100644
@@ -244,6 +244,8 @@ dtb-$(CONFIG_SOC_IMX53) += \
 	imx53-smd.dtb \
 	imx53-tx53-x03x.dtb \
 	imx53-tx53-x13x.dtb \
+	imx53-usbarmory.dtb \
+	imx53-usbarmory-host_mode.dtb \
 	imx53-voipac-bsb.dtb
 dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6dl-aristainetos_4.dtb \
arch/arm/boot/dts/imx53-usbarmory-host_mode.dts new file +17 -0
new file mode 100644
index 0000000..a94cb1d
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx53-usbarmory.dtsi"
+
+&usbotg {
+	dr_mode = "host";
+};
arch/arm/boot/dts/imx53-usbarmory.dts new file +13 -0
new file mode 100644
index 0000000..c86a4d8
@@ -0,0 +1,13 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx53-usbarmory.dtsi"
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +183 -0

183 lines not on this page · raw message

Signature · 9 lines
2.1.4

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150327/fde88b42/attachment.sig>
#1 lore raw
Quoted 6 lines · Vagrant Cascadian

Add support for the USB armory board by Inverse Path. This board features a Freescale iMX53 SoC, 512MB RAM, and USB OTG operating in either peripheral or host mode, and 5 GPIO pins.

One .dtb is generated for operating in peripheral mode, and one is generated for operating in host mode.

Is it possible to ask bootloader to patch the dtb instead of maintaining a new one for just changing one USB property?

Quoted 43 lines
Cc Andrej Rosano <[email protected]>
Cc Rob Herring <[email protected]>
Cc Pawel Moll <[email protected]>
Cc Mark Rutland <[email protected]>
Cc Ian Campbell <[email protected]>
Cc Kumar Gala <[email protected]>
Cc Russell King <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc devicetree at vger.kernel.org
Cc linux-arm-kernel at lists.infradead.org
Cc linux-kernel at vger.kernel.org
---
 arch/arm/boot/dts/Makefile                      |   2 +
 arch/arm/boot/dts/imx53-usbarmory-host_mode.dts |  17 +++
 arch/arm/boot/dts/imx53-usbarmory.dts           |  13 ++
 arch/arm/boot/dts/imx53-usbarmory.dtsi          | 183 ++++++++++++++++++++++++
 4 files changed, 215 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dtsi
arch/arm/boot/dts/Makefile +2 -0
index a1c776b..bd2258b 100644
@@ -244,6 +244,8 @@ dtb-$(CONFIG_SOC_IMX53) += \
 	imx53-smd.dtb \
 	imx53-tx53-x03x.dtb \
 	imx53-tx53-x13x.dtb \
+	imx53-usbarmory.dtb \
+	imx53-usbarmory-host_mode.dtb \
 	imx53-voipac-bsb.dtb
 dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6dl-aristainetos_4.dtb \
arch/arm/boot/dts/imx53-usbarmory-host_mode.dts new file +0 -0
new file mode 100644
index 0000000..a94cb1d

arch/arm/boot/dts/imx53-usbarmory-host_mode.dts line 10

Quoted 10 lines
arch/arm/boot/dts/imx53-usbarmory-host_mode.dts new file +10 -0
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */

For new dts file, we suggest to use GPL/X11 dual-license for considering non-Linux device tree users. Below is an example.

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

Quoted 84 lines
arch/arm/boot/dts/imx53-usbarmory-host_mode.dts new file +7 -0
+
+/dts-v1/;
+#include "imx53-usbarmory.dtsi"
+
+&usbotg {
+	dr_mode = "host";
+};
arch/arm/boot/dts/imx53-usbarmory.dts new file +13 -0
new file mode 100644
index 0000000..c86a4d8
@@ -0,0 +1,13 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx53-usbarmory.dtsi"
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +52 -0
new file mode 100644
index 0000000..b4a9052
@@ -0,0 +1,183 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include "imx53.dtsi"
+
+/ {
+	model = "Inverse Path USB armory";
+	compatible = "inversepath,imx53-usbarmory", "fsl,imx53";
+};
+
+/ {
+	chosen {
+		stdout-path = &uart1;
+	};
+
+	memory {
+		reg = <0x70000000 0x20000000>;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&led_pin_gpio4_27>;
+
+		user {
+			label = "LED";
+			gpios = <&gpio4 27 0>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+};
+
+&esdhc1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_esdhc1>;
+	status = "okay";
+};
+
+&iomuxc {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_hog>;
+
+	imx53-usbarmory {
+		pinctrl_hog: hoggrp {

arch/arm/boot/dts/imx53-usbarmory.dtsi line 62

Quoted 10 lines
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +10 -0
+			fsl,pins = <
+				MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x80000000
+				MX53_PAD_GPIO_8__GPIO1_8          0x80000000
+				MX53_PAD_PATA_DATA14__GPIO2_14    0x80000000
+				MX53_PAD_PATA_DATA15__GPIO2_15    0x80000000
+				MX53_PAD_EIM_DA11__GPIO3_11       0x80000000
+				MX53_PAD_EIM_DA12__GPIO3_12       0x80000000
+				MX53_PAD_PATA_DA_0__GPIO7_6       0x80000000
+				MX53_PAD_PATA_DA_2__GPIO7_8	  0x80000000
+				MX53_PAD_GPIO_16__GPIO7_11        0x80000000

Please use a proper pad configuration value instead of using whatever comes from firmware.

arch/arm/boot/dts/imx53-usbarmory.dtsi line 68

Quoted 6 lines
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +6 -0
+			>;
+		};
+
+		led_pin_gpio4_27: led_gpio4_27 at 0 {
+			fsl,pins = <
+				MX53_PAD_DISP0_DAT6__GPIO4_27 0x80000000

Ditto

Quoted 8 lines
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +8 -0
+			>;
+		};
+
+		pinctrl_esdhc1: esdhc1grp {
+			fsl,pins = <
+				MX53_PAD_SD1_DATA0__ESDHC1_DAT0		0x1d5
+				MX53_PAD_SD1_DATA1__ESDHC1_DAT1		0x1d5
+				MX53_PAD_SD1_DATA2__ESDHC1_DAT2		0x1d5

arch/arm/boot/dts/imx53-usbarmory.dtsi line 86

Quoted 10 lines
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +10 -0
+				MX53_PAD_SD1_DATA3__ESDHC1_DAT3		0x1d5
+				MX53_PAD_SD1_CMD__ESDHC1_CMD		0x1d5
+				MX53_PAD_SD1_CLK__ESDHC1_CLK		0x1d5
+			>;
+		};
+
+		pinctrl_i2c1: i2c1grp {
+			fsl,pins = <
+				MX53_PAD_CSI0_DAT8__I2C1_SDA	0xc0000000
+				MX53_PAD_CSI0_DAT9__I2C1_SCL	0xc0000000

Ditto

Quoted 11 lines
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +11 -0
+			>;
+		};
+
+		pinctrl_uart1: uart1grp {
+			fsl,pins = <
+				MX53_PAD_CSI0_DAT10__UART1_TXD_MUX	0x1e4
+				MX53_PAD_CSI0_DAT11__UART1_RXD_MUX	0x1e4
+			>;
+		};
+	};
+};

arch/arm/boot/dts/imx53-usbarmory.dtsi line 107

Quoted 10 lines
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +10 -0
+
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart1>;
+	status = "okay";
+};
+
+&vpu {
+	status = "okay";
+};

This is unnecessary, as vpu block is always enabled in imx53.dtsi.

arch/arm/boot/dts/imx53-usbarmory.dtsi line 114

Quoted 7 lines
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +7 -0
+
+&usbotg {
+	dr_mode = "peripheral";
+	status = "okay";
+};
+
+&i2c1 {

Please sort the node alphabetically in label names.

Quoted 29 lines
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +29 -0
+	ltc3589: pmic at 34 {
+		compatible = "lltc,ltc3589-2";
+		reg = <0x34>;
+
+		regulators {
+			sw1_reg: sw1 {
+				regulator-min-microvolt = <591930>;
+				regulator-max-microvolt = <1224671>;
+				lltc,fb-voltage-divider = <100000 158000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw2_reg: sw2 {
+				regulator-min-microvolt = <704123>;
+				regulator-max-microvolt = <1456803>;
+				lltc,fb-voltage-divider = <180000 191000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3_reg: sw3 {
+				regulator-min-microvolt = <1341250>;
+				regulator-max-microvolt = <2775000>;
+				lltc,fb-voltage-divider = <270000 100000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;

arch/arm/boot/dts/imx53-usbarmory.dtsi line 153

Quoted 10 lines
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +10 -0
+				regulator-always-on;
+			};
+
+			bb_out_reg: bb-out {
+				regulator-min-microvolt = <3387341>;
+				regulator-max-microvolt = <3387341>;
+				lltc,fb-voltage-divider = <511000 158000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};

Miss a new line here.

Shawn

Quoted 33 lines
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +30 -0
+			ldo1_reg: ldo1 {
+				regulator-min-microvolt = <1306329>;
+				regulator-max-microvolt = <1306329>;
+				lltc,fb-voltage-divider = <100000 158000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo2_reg: ldo2 {
+				regulator-min-microvolt = <704123>;
+				regulator-max-microvolt = <1456806>;
+				lltc,fb-voltage-divider = <180000 191000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo3_reg: ldo3 {
+				regulator-min-microvolt = <2800000>;
+				regulator-max-microvolt = <2800000>;
+				regulator-boot-on;
+			};
+
+			ldo4_reg: ldo4 {
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <3200000>;
+			};
+		};
+	};
+};
Signature · 1 line
2.1.4
#2 lore raw
Quoted 10 lines · Shawn Guo
Quoted 6 lines · Vagrant Cascadian

Add support for the USB armory board by Inverse Path. This board features a Freescale iMX53 SoC, 512MB RAM, and USB OTG operating in either peripheral or host mode, and 5 GPIO pins.

One .dtb is generated for operating in peripheral mode, and one is generated for operating in host mode.

Is it possible to ask bootloader to patch the dtb instead of maintaining a new one for just changing one USB property?

It does appear to be possible with u-boot:

load mmc 0:1 $fdt_addr_r $fdtfile
fdt addr $fdt_addr_r
fdt set /soc/aips at 50000000/usb at 53f80000 dr_mode host

Since the user would have to manually select the appropriate .dtb anyways, it may be reasonable to drop the host_mode.dtb and rely on the u-boot to tweak the fdt on boot to switch between usb modes.

It is considerably more complicated than setting the fdtfile variable to the desired .dtb, as various out-of-the box boot scripts will load the .dtb file defined in the fdtfile variable, overwriting any changes made with "fdt set".

Given the additional complication in boot scripts, my preference would be to ship both .dtb files...

Thanks for the time and consideration!

live well,
vagrant
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150427/bf4f0b42/attachment-0001.sig>

#3 lore raw
Quoted 14 lines · Vagrant Cascadian
Quoted 10 lines · Shawn Guo
Quoted 6 lines · Vagrant Cascadian

Add support for the USB armory board by Inverse Path. This board features a Freescale iMX53 SoC, 512MB RAM, and USB OTG operating in either peripheral or host mode, and 5 GPIO pins.

One .dtb is generated for operating in peripheral mode, and one is generated for operating in host mode.

Is it possible to ask bootloader to patch the dtb instead of maintaining a new one for just changing one USB property?

It does appear to be possible with u-boot:

Quoted 7 lines

load mmc 0:1 $fdt_addr_r $fdtfile
fdt addr $fdt_addr_r
fdt set /soc/aips at 50000000/usb at 53f80000 dr_mode host

Since the user would have to manually select the appropriate .dtb anyways, it may be reasonable to drop the host_mode.dtb and rely on the u-boot to tweak the fdt on boot to switch between usb modes.

Given that it is possible to set from u-boot, I'm wondering if it wouldn't be worth reworking the patch to only generate a single .dtb for now, and revisit the options for switching between USB host mode and peripheral mode later?

live well,
vagrant
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150513/07daa1b2/attachment.sig>

reviewer
#4 lore raw
Quoted 4 lines · Vagrant Cascadian

Given that it is possible to set from u-boot, I'm wondering if it wouldn't be worth reworking the patch to only generate a single .dtb for now, and revisit the options for switching between USB host mode and peripheral mode later?

I think this is a good idea.

Regards,

Fabio Estevam

#5 lore raw
In reply to Vagrant Cascadian

+Peter

Quoted 6 lines · Vagrant Cascadian

Add support for the USB armory board by Inverse Path. This board features a Freescale iMX53 SoC, 512MB RAM, and USB OTG operating in either peripheral or host mode, and 5 GPIO pins.

One .dtb is generated for operating in peripheral mode, and one is generated for operating in host mode.

Vagrant,

Does that mean this board can work in peripheral or host mode but can switch between them at run-time?

Shawn

Quoted 271 lines
Cc Andrej Rosano <[email protected]>
Cc Rob Herring <[email protected]>
Cc Pawel Moll <[email protected]>
Cc Mark Rutland <[email protected]>
Cc Ian Campbell <[email protected]>
Cc Kumar Gala <[email protected]>
Cc Russell King <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc devicetree at vger.kernel.org
Cc linux-arm-kernel at lists.infradead.org
Cc linux-kernel at vger.kernel.org
---
 arch/arm/boot/dts/Makefile                      |   2 +
 arch/arm/boot/dts/imx53-usbarmory-host_mode.dts |  17 +++
 arch/arm/boot/dts/imx53-usbarmory.dts           |  13 ++
 arch/arm/boot/dts/imx53-usbarmory.dtsi          | 183 ++++++++++++++++++++++++
 4 files changed, 215 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dtsi
arch/arm/boot/dts/Makefile +2 -0
index a1c776b..bd2258b 100644
@@ -244,6 +244,8 @@ dtb-$(CONFIG_SOC_IMX53) += \
 	imx53-smd.dtb \
 	imx53-tx53-x03x.dtb \
 	imx53-tx53-x13x.dtb \
+	imx53-usbarmory.dtb \
+	imx53-usbarmory-host_mode.dtb \
 	imx53-voipac-bsb.dtb
 dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6dl-aristainetos_4.dtb \
arch/arm/boot/dts/imx53-usbarmory-host_mode.dts new file +17 -0
new file mode 100644
index 0000000..a94cb1d
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx53-usbarmory.dtsi"
+
+&usbotg {
+	dr_mode = "host";
+};
arch/arm/boot/dts/imx53-usbarmory.dts new file +13 -0
new file mode 100644
index 0000000..c86a4d8
@@ -0,0 +1,13 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx53-usbarmory.dtsi"
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +183 -0
new file mode 100644
index 0000000..b4a9052
@@ -0,0 +1,183 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include "imx53.dtsi"
+
+/ {
+	model = "Inverse Path USB armory";
+	compatible = "inversepath,imx53-usbarmory", "fsl,imx53";
+};
+
+/ {
+	chosen {
+		stdout-path = &uart1;
+	};
+
+	memory {
+		reg = <0x70000000 0x20000000>;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&led_pin_gpio4_27>;
+
+		user {
+			label = "LED";
+			gpios = <&gpio4 27 0>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+};
+
+&esdhc1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_esdhc1>;
+	status = "okay";
+};
+
+&iomuxc {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_hog>;
+
+	imx53-usbarmory {
+		pinctrl_hog: hoggrp {
+			fsl,pins = <
+				MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x80000000
+				MX53_PAD_GPIO_8__GPIO1_8          0x80000000
+				MX53_PAD_PATA_DATA14__GPIO2_14    0x80000000
+				MX53_PAD_PATA_DATA15__GPIO2_15    0x80000000
+				MX53_PAD_EIM_DA11__GPIO3_11       0x80000000
+				MX53_PAD_EIM_DA12__GPIO3_12       0x80000000
+				MX53_PAD_PATA_DA_0__GPIO7_6       0x80000000
+				MX53_PAD_PATA_DA_2__GPIO7_8	  0x80000000
+				MX53_PAD_GPIO_16__GPIO7_11        0x80000000
+			>;
+		};
+
+		led_pin_gpio4_27: led_gpio4_27 at 0 {
+			fsl,pins = <
+				MX53_PAD_DISP0_DAT6__GPIO4_27 0x80000000
+			>;
+		};
+
+		pinctrl_esdhc1: esdhc1grp {
+			fsl,pins = <
+				MX53_PAD_SD1_DATA0__ESDHC1_DAT0		0x1d5
+				MX53_PAD_SD1_DATA1__ESDHC1_DAT1		0x1d5
+				MX53_PAD_SD1_DATA2__ESDHC1_DAT2		0x1d5
+				MX53_PAD_SD1_DATA3__ESDHC1_DAT3		0x1d5
+				MX53_PAD_SD1_CMD__ESDHC1_CMD		0x1d5
+				MX53_PAD_SD1_CLK__ESDHC1_CLK		0x1d5
+			>;
+		};
+
+		pinctrl_i2c1: i2c1grp {
+			fsl,pins = <
+				MX53_PAD_CSI0_DAT8__I2C1_SDA	0xc0000000
+				MX53_PAD_CSI0_DAT9__I2C1_SCL	0xc0000000
+			>;
+		};
+
+		pinctrl_uart1: uart1grp {
+			fsl,pins = <
+				MX53_PAD_CSI0_DAT10__UART1_TXD_MUX	0x1e4
+				MX53_PAD_CSI0_DAT11__UART1_RXD_MUX	0x1e4
+			>;
+		};
+	};
+};
+
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart1>;
+	status = "okay";
+};
+
+&vpu {
+	status = "okay";
+};
+
+&usbotg {
+	dr_mode = "peripheral";
+	status = "okay";
+};
+
+&i2c1 {
+	ltc3589: pmic at 34 {
+		compatible = "lltc,ltc3589-2";
+		reg = <0x34>;
+
+		regulators {
+			sw1_reg: sw1 {
+				regulator-min-microvolt = <591930>;
+				regulator-max-microvolt = <1224671>;
+				lltc,fb-voltage-divider = <100000 158000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw2_reg: sw2 {
+				regulator-min-microvolt = <704123>;
+				regulator-max-microvolt = <1456803>;
+				lltc,fb-voltage-divider = <180000 191000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3_reg: sw3 {
+				regulator-min-microvolt = <1341250>;
+				regulator-max-microvolt = <2775000>;
+				lltc,fb-voltage-divider = <270000 100000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			bb_out_reg: bb-out {
+				regulator-min-microvolt = <3387341>;
+				regulator-max-microvolt = <3387341>;
+				lltc,fb-voltage-divider = <511000 158000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			ldo1_reg: ldo1 {
+				regulator-min-microvolt = <1306329>;
+				regulator-max-microvolt = <1306329>;
+				lltc,fb-voltage-divider = <100000 158000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo2_reg: ldo2 {
+				regulator-min-microvolt = <704123>;
+				regulator-max-microvolt = <1456806>;
+				lltc,fb-voltage-divider = <180000 191000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo3_reg: ldo3 {
+				regulator-min-microvolt = <2800000>;
+				regulator-max-microvolt = <2800000>;
+				regulator-boot-on;
+			};
+
+			ldo4_reg: ldo4 {
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <3200000>;
+			};
+		};
+	};
+};
Signature · 1 line
2.1.4
#6 lore raw

Hi Shawn,

Quoted 7 lines · Shawn Guo

+Peter

Quoted 4 lines · Vagrant Cascadian

Add support for the USB armory board by Inverse Path. This board features a Freescale iMX53 SoC, 512MB RAM, and USB OTG operating in either peripheral or host mode, and 5 GPIO pins.

Quoted 7 lines
Quoted 2 lines

One .dtb is generated for operating in peripheral mode, and one is generated for operating in host mode.

Vagrant,

Does that mean this board can work in peripheral or host mode but can switch between them at run-time?

The board can switch between host and peripheral mode without any hardware modification, but it need to reboot itself to pick up the corresponding dtb file. I am not sure if there is possible using the devicetree overlay feature to switch between the two modes runtime.

Andrej

Quoted 266 lines

Shawn

Quoted 263 lines
Cc Andrej Rosano <[email protected]>
Cc Rob Herring <[email protected]>
Cc Pawel Moll <[email protected]>
Cc Mark Rutland <[email protected]>
Cc Ian Campbell <[email protected]>
Cc Kumar Gala <[email protected]>
Cc Russell King <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc devicetree at vger.kernel.org
Cc linux-arm-kernel at lists.infradead.org
Cc linux-kernel at vger.kernel.org
---
 arch/arm/boot/dts/Makefile                      |   2 +
 arch/arm/boot/dts/imx53-usbarmory-host_mode.dts |  17 +++
 arch/arm/boot/dts/imx53-usbarmory.dts           |  13 ++
 arch/arm/boot/dts/imx53-usbarmory.dtsi          | 183 ++++++++++++++++++++++++
 4 files changed, 215 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dtsi
arch/arm/boot/dts/Makefile +2 -0
index a1c776b..bd2258b 100644
@@ -244,6 +244,8 @@ dtb-$(CONFIG_SOC_IMX53) += \
 	imx53-smd.dtb \
 	imx53-tx53-x03x.dtb \
 	imx53-tx53-x13x.dtb \
+	imx53-usbarmory.dtb \
+	imx53-usbarmory-host_mode.dtb \
 	imx53-voipac-bsb.dtb
 dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6dl-aristainetos_4.dtb \
arch/arm/boot/dts/imx53-usbarmory-host_mode.dts new file +17 -0
new file mode 100644
index 0000000..a94cb1d
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx53-usbarmory.dtsi"
+
+&usbotg {
+	dr_mode = "host";
+};
arch/arm/boot/dts/imx53-usbarmory.dts new file +13 -0
new file mode 100644
index 0000000..c86a4d8
@@ -0,0 +1,13 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx53-usbarmory.dtsi"
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +178 -0
new file mode 100644
index 0000000..b4a9052
@@ -0,0 +1,183 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include "imx53.dtsi"
+
+/ {
+	model = "Inverse Path USB armory";
+	compatible = "inversepath,imx53-usbarmory", "fsl,imx53";
+};
+
+/ {
+	chosen {
+		stdout-path = &uart1;
+	};
+
+	memory {
+		reg = <0x70000000 0x20000000>;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&led_pin_gpio4_27>;
+
+		user {
+			label = "LED";
+			gpios = <&gpio4 27 0>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+};
+
+&esdhc1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_esdhc1>;
+	status = "okay";
+};
+
+&iomuxc {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_hog>;
+
+	imx53-usbarmory {
+		pinctrl_hog: hoggrp {
+			fsl,pins = <
+				MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x80000000
+				MX53_PAD_GPIO_8__GPIO1_8          0x80000000
+				MX53_PAD_PATA_DATA14__GPIO2_14    0x80000000
+				MX53_PAD_PATA_DATA15__GPIO2_15    0x80000000
+				MX53_PAD_EIM_DA11__GPIO3_11       0x80000000
+				MX53_PAD_EIM_DA12__GPIO3_12       0x80000000
+				MX53_PAD_PATA_DA_0__GPIO7_6       0x80000000
+				MX53_PAD_PATA_DA_2__GPIO7_8	  0x80000000
+				MX53_PAD_GPIO_16__GPIO7_11        0x80000000
+			>;
+		};
+
+		led_pin_gpio4_27: led_gpio4_27 at 0 {
+			fsl,pins = <
+				MX53_PAD_DISP0_DAT6__GPIO4_27 0x80000000
+			>;
+		};
+
+		pinctrl_esdhc1: esdhc1grp {
+			fsl,pins = <
+				MX53_PAD_SD1_DATA0__ESDHC1_DAT0		0x1d5
+				MX53_PAD_SD1_DATA1__ESDHC1_DAT1		0x1d5
+				MX53_PAD_SD1_DATA2__ESDHC1_DAT2		0x1d5
+				MX53_PAD_SD1_DATA3__ESDHC1_DAT3		0x1d5
+				MX53_PAD_SD1_CMD__ESDHC1_CMD		0x1d5
+				MX53_PAD_SD1_CLK__ESDHC1_CLK		0x1d5
+			>;
+		};
+
+		pinctrl_i2c1: i2c1grp {
+			fsl,pins = <
+				MX53_PAD_CSI0_DAT8__I2C1_SDA	0xc0000000
+				MX53_PAD_CSI0_DAT9__I2C1_SCL	0xc0000000
+			>;
+		};
+
+		pinctrl_uart1: uart1grp {
+			fsl,pins = <
+				MX53_PAD_CSI0_DAT10__UART1_TXD_MUX	0x1e4
+				MX53_PAD_CSI0_DAT11__UART1_RXD_MUX	0x1e4
+			>;
+		};
+	};
+};
+
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart1>;
+	status = "okay";
+};
+
+&vpu {
+	status = "okay";
+};
+
+&usbotg {
+	dr_mode = "peripheral";
+	status = "okay";
+};
+
+&i2c1 {
+	ltc3589: pmic at 34 {
+		compatible = "lltc,ltc3589-2";
+		reg = <0x34>;
+
+		regulators {
+			sw1_reg: sw1 {
+				regulator-min-microvolt = <591930>;
+				regulator-max-microvolt = <1224671>;
+				lltc,fb-voltage-divider = <100000 158000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw2_reg: sw2 {
+				regulator-min-microvolt = <704123>;
+				regulator-max-microvolt = <1456803>;
+				lltc,fb-voltage-divider = <180000 191000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3_reg: sw3 {
+				regulator-min-microvolt = <1341250>;
+				regulator-max-microvolt = <2775000>;
+				lltc,fb-voltage-divider = <270000 100000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			bb_out_reg: bb-out {
+				regulator-min-microvolt = <3387341>;
+				regulator-max-microvolt = <3387341>;
+				lltc,fb-voltage-divider = <511000 158000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			ldo1_reg: ldo1 {
+				regulator-min-microvolt = <1306329>;
+				regulator-max-microvolt = <1306329>;
+				lltc,fb-voltage-divider = <100000 158000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo2_reg: ldo2 {
+				regulator-min-microvolt = <704123>;
+				regulator-max-microvolt = <1456806>;
+				lltc,fb-voltage-divider = <180000 191000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo3_reg: ldo3 {
+				regulator-min-microvolt = <2800000>;
+				regulator-max-microvolt = <2800000>;
+				regulator-boot-on;
+			};
+
+			ldo4_reg: ldo4 {
+				regulator-min-microvolt = <1200000>;
Quoted 10 lines
Quoted 8 lines
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +5 -0
+				regulator-max-microvolt = <3200000>;
+			};
+		};
+	};
+};
Signature · 1 line
2.1.4

--
Andrej Rosano Inverse Path Srl
<[email protected]> http://www.inversepath.com

0x01939B21 5BB8 574E 68E8 D841 E18F D5E9 CEAD E0CF 0193 9B21

#7 lore raw
Quoted 15 lines · Andrej Rosano

Hi Shawn,

Quoted 12 lines · Shawn Guo

+Peter

Quoted 6 lines · Vagrant Cascadian

Add support for the USB armory board by Inverse Path. This board features a Freescale iMX53 SoC, 512MB RAM, and USB OTG operating in either peripheral or host mode, and 5 GPIO pins.

One .dtb is generated for operating in peripheral mode, and one is generated for operating in host mode.

Vagrant,

Quoted 8 lines
Quoted 2 lines

Does that mean this board can work in peripheral or host mode but can switch between them at run-time?

The board can switch between host and peripheral mode without any hardware modification, but it need to reboot itself to pick up the corresponding dtb file. I am not sure if there is possible using the devicetree overlay feature to switch between the two modes runtime.

Not a good way, it is just one board with two different usb cables.

Current chipidea usb driver supports role switch function well, if you have a gpio or id pin for it.

Peter

Quoted 284 lines

Andrej

Quoted 266 lines

Shawn

Quoted 263 lines
Cc Andrej Rosano <[email protected]>
Cc Rob Herring <[email protected]>
Cc Pawel Moll <[email protected]>
Cc Mark Rutland <[email protected]>
Cc Ian Campbell <[email protected]>
Cc Kumar Gala <[email protected]>
Cc Russell King <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc devicetree at vger.kernel.org
Cc linux-arm-kernel at lists.infradead.org
Cc linux-kernel at vger.kernel.org
---
 arch/arm/boot/dts/Makefile                      |   2 +
 arch/arm/boot/dts/imx53-usbarmory-host_mode.dts |  17 +++
 arch/arm/boot/dts/imx53-usbarmory.dts           |  13 ++
 arch/arm/boot/dts/imx53-usbarmory.dtsi          | 183 ++++++++++++++++++++++++
 4 files changed, 215 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dtsi
arch/arm/boot/dts/Makefile +2 -0
index a1c776b..bd2258b 100644
@@ -244,6 +244,8 @@ dtb-$(CONFIG_SOC_IMX53) += \
 	imx53-smd.dtb \
 	imx53-tx53-x03x.dtb \
 	imx53-tx53-x13x.dtb \
+	imx53-usbarmory.dtb \
+	imx53-usbarmory-host_mode.dtb \
 	imx53-voipac-bsb.dtb
 dtb-$(CONFIG_SOC_IMX6Q) += \
 	imx6dl-aristainetos_4.dtb \
arch/arm/boot/dts/imx53-usbarmory-host_mode.dts new file +17 -0
new file mode 100644
index 0000000..a94cb1d
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx53-usbarmory.dtsi"
+
+&usbotg {
+	dr_mode = "host";
+};
arch/arm/boot/dts/imx53-usbarmory.dts new file +13 -0
new file mode 100644
index 0000000..c86a4d8
@@ -0,0 +1,13 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx53-usbarmory.dtsi"
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +178 -0
new file mode 100644
index 0000000..b4a9052
@@ -0,0 +1,183 @@
+/*
+ * Copyright 2015 Inverse Path, S.r.l.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include "imx53.dtsi"
+
+/ {
+	model = "Inverse Path USB armory";
+	compatible = "inversepath,imx53-usbarmory", "fsl,imx53";
+};
+
+/ {
+	chosen {
+		stdout-path = &uart1;
+	};
+
+	memory {
+		reg = <0x70000000 0x20000000>;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&led_pin_gpio4_27>;
+
+		user {
+			label = "LED";
+			gpios = <&gpio4 27 0>;
+			linux,default-trigger = "heartbeat";
+		};
+	};
+};
+
+&esdhc1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_esdhc1>;
+	status = "okay";
+};
+
+&iomuxc {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_hog>;
+
+	imx53-usbarmory {
+		pinctrl_hog: hoggrp {
+			fsl,pins = <
+				MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x80000000
+				MX53_PAD_GPIO_8__GPIO1_8          0x80000000
+				MX53_PAD_PATA_DATA14__GPIO2_14    0x80000000
+				MX53_PAD_PATA_DATA15__GPIO2_15    0x80000000
+				MX53_PAD_EIM_DA11__GPIO3_11       0x80000000
+				MX53_PAD_EIM_DA12__GPIO3_12       0x80000000
+				MX53_PAD_PATA_DA_0__GPIO7_6       0x80000000
+				MX53_PAD_PATA_DA_2__GPIO7_8	  0x80000000
+				MX53_PAD_GPIO_16__GPIO7_11        0x80000000
+			>;
+		};
+
+		led_pin_gpio4_27: led_gpio4_27 at 0 {
+			fsl,pins = <
+				MX53_PAD_DISP0_DAT6__GPIO4_27 0x80000000
+			>;
+		};
+
+		pinctrl_esdhc1: esdhc1grp {
+			fsl,pins = <
+				MX53_PAD_SD1_DATA0__ESDHC1_DAT0		0x1d5
+				MX53_PAD_SD1_DATA1__ESDHC1_DAT1		0x1d5
+				MX53_PAD_SD1_DATA2__ESDHC1_DAT2		0x1d5
+				MX53_PAD_SD1_DATA3__ESDHC1_DAT3		0x1d5
+				MX53_PAD_SD1_CMD__ESDHC1_CMD		0x1d5
+				MX53_PAD_SD1_CLK__ESDHC1_CLK		0x1d5
+			>;
+		};
+
+		pinctrl_i2c1: i2c1grp {
+			fsl,pins = <
+				MX53_PAD_CSI0_DAT8__I2C1_SDA	0xc0000000
+				MX53_PAD_CSI0_DAT9__I2C1_SCL	0xc0000000
+			>;
+		};
+
+		pinctrl_uart1: uart1grp {
+			fsl,pins = <
+				MX53_PAD_CSI0_DAT10__UART1_TXD_MUX	0x1e4
+				MX53_PAD_CSI0_DAT11__UART1_RXD_MUX	0x1e4
+			>;
+		};
+	};
+};
+
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart1>;
+	status = "okay";
+};
+
+&vpu {
+	status = "okay";
+};
+
+&usbotg {
+	dr_mode = "peripheral";
+	status = "okay";
+};
+
+&i2c1 {
+	ltc3589: pmic at 34 {
+		compatible = "lltc,ltc3589-2";
+		reg = <0x34>;
+
+		regulators {
+			sw1_reg: sw1 {
+				regulator-min-microvolt = <591930>;
+				regulator-max-microvolt = <1224671>;
+				lltc,fb-voltage-divider = <100000 158000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw2_reg: sw2 {
+				regulator-min-microvolt = <704123>;
+				regulator-max-microvolt = <1456803>;
+				lltc,fb-voltage-divider = <180000 191000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3_reg: sw3 {
+				regulator-min-microvolt = <1341250>;
+				regulator-max-microvolt = <2775000>;
+				lltc,fb-voltage-divider = <270000 100000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			bb_out_reg: bb-out {
+				regulator-min-microvolt = <3387341>;
+				regulator-max-microvolt = <3387341>;
+				lltc,fb-voltage-divider = <511000 158000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			ldo1_reg: ldo1 {
+				regulator-min-microvolt = <1306329>;
+				regulator-max-microvolt = <1306329>;
+				lltc,fb-voltage-divider = <100000 158000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo2_reg: ldo2 {
+				regulator-min-microvolt = <704123>;
+				regulator-max-microvolt = <1456806>;
+				lltc,fb-voltage-divider = <180000 191000>;
+				regulator-ramp-delay = <7000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			ldo3_reg: ldo3 {
+				regulator-min-microvolt = <2800000>;
+				regulator-max-microvolt = <2800000>;
+				regulator-boot-on;
+			};
+
+			ldo4_reg: ldo4 {
+				regulator-min-microvolt = <1200000>;
Quoted 10 lines
Quoted 8 lines
arch/arm/boot/dts/imx53-usbarmory.dtsi new file +5 -0
+				regulator-max-microvolt = <3200000>;
+			};
+		};
+	};
+};
Signature · 1 line
2.1.4

--
Andrej Rosano Inverse Path Srl
<[email protected]> http://www.inversepath.com

0x01939B21 5BB8 574E 68E8 D841 E18F D5E9 CEAD E0CF 0193 9B21

Signature · 2 lines
Best Regards,
Peter Chen
reviewer
#8 lore raw

Hi Peter,

Quoted 2 lines · Peter Chen

Current chipidea usb driver supports role switch function well, if you have a gpio or id pin for it.

On mx6 we are able to perform OTG role-switch funtion as they have the OTG_ID pins.

We are talking about mx53 here, which does not have such OTG_ID pins, so not sure how they can perform role-switch in run-time?

Regards,

Fabio Estevam

#9 lore raw
Quoted 4 lines · Fabio Estevam

Hi Peter,

On Tue, Apr 28, 2015 at 5:20 AM, Peter Chen <[email protected]> wrote:

Quoted 9 lines
Quoted 2 lines

Current chipidea usb driver supports role switch function well, if you have a gpio or id pin for it.

On mx6 we are able to perform OTG role-switch funtion as they have the OTG_ID pins.

We are talking about mx53 here, which does not have such OTG_ID pins, so not sure how they can perform role-switch in run-time?

Using gpio as extcon, lvan is working on patch for that

http://www.spinics.net/lists/linux-usb/msg123903.html

Signature · 2 lines
Best Regards,
Peter Chen