* [PATCH] ARM: dts: imx5: Add dts files for USB armory.
@ 2015-03-27 20:23 Vagrant Cascadian
2015-04-27 8:14 ` Shawn Guo
2015-04-27 11:57 ` Shawn Guo
0 siblings, 2 replies; 10+ messages in thread
From: Vagrant Cascadian @ 2015-03-27 20:23 UTC (permalink / raw)
To: devicetree
Cc: Mark Rutland, Russell King, Pawel Moll, Ian Campbell,
Andrej Rosano, linux-kernel, Rob Herring, Sascha Hauer,
Kumar Gala, Shawn Guo, linux-arm-kernel
[-- Attachment #1.1: Type: text/plain, Size: 7687 bytes --]
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.
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Cc: Andrej Rosano <andrej@inversepath.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@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
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index a1c776b..bd2258b 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -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 \
diff --git a/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts b/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
new file mode 100644
index 0000000..a94cb1d
--- /dev/null
+++ b/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
@@ -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";
+};
diff --git a/arch/arm/boot/dts/imx53-usbarmory.dts b/arch/arm/boot/dts/imx53-usbarmory.dts
new file mode 100644
index 0000000..c86a4d8
--- /dev/null
+++ b/arch/arm/boot/dts/imx53-usbarmory.dts
@@ -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"
diff --git a/arch/arm/boot/dts/imx53-usbarmory.dtsi b/arch/arm/boot/dts/imx53-usbarmory.dtsi
new file mode 100644
index 0000000..b4a9052
--- /dev/null
+++ b/arch/arm/boot/dts/imx53-usbarmory.dtsi
@@ -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@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@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>;
+ };
+ };
+ };
+};
--
2.1.4
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] ARM: dts: imx5: Add dts files for USB armory.
2015-03-27 20:23 [PATCH] ARM: dts: imx5: Add dts files for USB armory Vagrant Cascadian
@ 2015-04-27 8:14 ` Shawn Guo
2015-04-27 20:48 ` Vagrant Cascadian
2015-04-27 11:57 ` Shawn Guo
1 sibling, 1 reply; 10+ messages in thread
From: Shawn Guo @ 2015-04-27 8:14 UTC (permalink / raw)
To: Vagrant Cascadian
Cc: devicetree, Andrej Rosano, Rob Herring, Pawel Moll, Mark Rutland,
Ian Campbell, Kumar Gala, Russell King, Sascha Hauer,
linux-arm-kernel, linux-kernel
On Fri, Mar 27, 2015 at 01:23:00PM -0700, Vagrant Cascadian wrote:
> 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?
>
> Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
> Cc: Andrej Rosano <andrej@inversepath.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Pawel Moll <pawel.moll@arm.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
> Cc: Kumar Gala <galak@codeaurora.org>
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: Shawn Guo <shawn.guo@linaro.org>
> Cc: Sascha Hauer <kernel@pengutronix.de>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@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
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index a1c776b..bd2258b 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -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 \
> diff --git a/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts b/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
> new file mode 100644
> index 0000000..a94cb1d
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
> @@ -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
> +
> +/dts-v1/;
> +#include "imx53-usbarmory.dtsi"
> +
> +&usbotg {
> + dr_mode = "host";
> +};
> diff --git a/arch/arm/boot/dts/imx53-usbarmory.dts b/arch/arm/boot/dts/imx53-usbarmory.dts
> new file mode 100644
> index 0000000..c86a4d8
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx53-usbarmory.dts
> @@ -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"
> diff --git a/arch/arm/boot/dts/imx53-usbarmory.dtsi b/arch/arm/boot/dts/imx53-usbarmory.dtsi
> new file mode 100644
> index 0000000..b4a9052
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx53-usbarmory.dtsi
> @@ -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
Please use a proper pad configuration value instead of using whatever
comes from firmware.
> + >;
> + };
> +
> + led_pin_gpio4_27: led_gpio4_27@0 {
> + fsl,pins = <
> + MX53_PAD_DISP0_DAT6__GPIO4_27 0x80000000
Ditto
> + >;
> + };
> +
> + 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
Ditto
> + >;
> + };
> +
> + 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";
> +};
This is unnecessary, as vpu block is always enabled in imx53.dtsi.
> +
> +&usbotg {
> + dr_mode = "peripheral";
> + status = "okay";
> +};
> +
> +&i2c1 {
Please sort the node alphabetically in label names.
> + ltc3589: pmic@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;
> + };
Miss a new line here.
Shawn
> + 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>;
> + };
> + };
> + };
> +};
> --
> 2.1.4
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ARM: dts: imx5: Add dts files for USB armory.
2015-03-27 20:23 [PATCH] ARM: dts: imx5: Add dts files for USB armory Vagrant Cascadian
2015-04-27 8:14 ` Shawn Guo
@ 2015-04-27 11:57 ` Shawn Guo
2015-04-27 13:37 ` Andrej Rosano
1 sibling, 1 reply; 10+ messages in thread
From: Shawn Guo @ 2015-04-27 11:57 UTC (permalink / raw)
To: Vagrant Cascadian, Peter Chen
Cc: devicetree, Andrej Rosano, Rob Herring, Pawel Moll, Mark Rutland,
Ian Campbell, Kumar Gala, Russell King, Sascha Hauer,
linux-arm-kernel, linux-kernel
+Peter
On Fri, Mar 27, 2015 at 01:23:00PM -0700, Vagrant Cascadian wrote:
> 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
>
> Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
> Cc: Andrej Rosano <andrej@inversepath.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> Cc: Pawel Moll <pawel.moll@arm.com>
> Cc: Mark Rutland <mark.rutland@arm.com>
> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
> Cc: Kumar Gala <galak@codeaurora.org>
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: Shawn Guo <shawn.guo@linaro.org>
> Cc: Sascha Hauer <kernel@pengutronix.de>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@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
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index a1c776b..bd2258b 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -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 \
> diff --git a/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts b/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
> new file mode 100644
> index 0000000..a94cb1d
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
> @@ -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";
> +};
> diff --git a/arch/arm/boot/dts/imx53-usbarmory.dts b/arch/arm/boot/dts/imx53-usbarmory.dts
> new file mode 100644
> index 0000000..c86a4d8
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx53-usbarmory.dts
> @@ -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"
> diff --git a/arch/arm/boot/dts/imx53-usbarmory.dtsi b/arch/arm/boot/dts/imx53-usbarmory.dtsi
> new file mode 100644
> index 0000000..b4a9052
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx53-usbarmory.dtsi
> @@ -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@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@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>;
> + };
> + };
> + };
> +};
> --
> 2.1.4
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ARM: dts: imx5: Add dts files for USB armory.
2015-04-27 11:57 ` Shawn Guo
@ 2015-04-27 13:37 ` Andrej Rosano
[not found] ` <20150427133708.GC11598-GPwhfZ5g21+KIOzWgp228laTQe2KTcn/@public.gmane.org>
0 siblings, 1 reply; 10+ messages in thread
From: Andrej Rosano @ 2015-04-27 13:37 UTC (permalink / raw)
To: Shawn Guo
Cc: Mark Rutland, devicetree, Russell King, Pawel Moll, Ian Campbell,
Vagrant Cascadian, linux-kernel, Rob Herring, Peter Chen,
Sascha Hauer, Kumar Gala, linux-arm-kernel
Hi Shawn,
On Mon, Apr 27, 2015 at 07:57:48PM +0800, Shawn Guo wrote:
> +Peter
>
> On Fri, Mar 27, 2015 at 01:23:00PM -0700, Vagrant Cascadian wrote:
> > 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?
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
>
> Shawn
>
> >
> > Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
> > Cc: Andrej Rosano <andrej@inversepath.com>
> > Cc: Rob Herring <robh+dt@kernel.org>
> > Cc: Pawel Moll <pawel.moll@arm.com>
> > Cc: Mark Rutland <mark.rutland@arm.com>
> > Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
> > Cc: Kumar Gala <galak@codeaurora.org>
> > Cc: Russell King <linux@arm.linux.org.uk>
> > Cc: Shawn Guo <shawn.guo@linaro.org>
> > Cc: Sascha Hauer <kernel@pengutronix.de>
> > Cc: devicetree@vger.kernel.org
> > Cc: linux-arm-kernel@lists.infradead.org
> > Cc: linux-kernel@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
> >
> > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > index a1c776b..bd2258b 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -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 \
> > diff --git a/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts b/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
> > new file mode 100644
> > index 0000000..a94cb1d
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
> > @@ -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";
> > +};
> > diff --git a/arch/arm/boot/dts/imx53-usbarmory.dts b/arch/arm/boot/dts/imx53-usbarmory.dts
> > new file mode 100644
> > index 0000000..c86a4d8
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx53-usbarmory.dts
> > @@ -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"
> > diff --git a/arch/arm/boot/dts/imx53-usbarmory.dtsi b/arch/arm/boot/dts/imx53-usbarmory.dtsi
> > new file mode 100644
> > index 0000000..b4a9052
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx53-usbarmory.dtsi
> > @@ -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@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@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>;
> > + };
> > + };
> > + };
> > +};
> > --
> > 2.1.4
> >
>
>
--
Andrej Rosano Inverse Path Srl
<andrej@inversepath.com> http://www.inversepath.com
0x01939B21 5BB8 574E 68E8 D841 E18F D5E9 CEAD E0CF 0193 9B21
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ARM: dts: imx5: Add dts files for USB armory.
2015-04-27 8:14 ` Shawn Guo
@ 2015-04-27 20:48 ` Vagrant Cascadian
[not found] ` <87y4ldnvqd.fsf-LkDtOWtB3X7R7s880joybQ@public.gmane.org>
0 siblings, 1 reply; 10+ messages in thread
From: Vagrant Cascadian @ 2015-04-27 20:48 UTC (permalink / raw)
To: Shawn Guo
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, Andrej Rosano, Rob Herring,
Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, Russell King,
Sascha Hauer, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
[-- Attachment #1: Type: text/plain, Size: 1326 bytes --]
On 2015-04-27, Shawn Guo wrote:
> On Fri, Mar 27, 2015 at 01:23:00PM -0700, Vagrant Cascadian wrote:
>> 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@50000000/usb@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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ARM: dts: imx5: Add dts files for USB armory.
[not found] ` <20150427133708.GC11598-GPwhfZ5g21+KIOzWgp228laTQe2KTcn/@public.gmane.org>
@ 2015-04-28 8:20 ` Peter Chen
2015-04-30 2:22 ` Fabio Estevam
0 siblings, 1 reply; 10+ messages in thread
From: Peter Chen @ 2015-04-28 8:20 UTC (permalink / raw)
To: Shawn Guo, Vagrant Cascadian, devicetree-u79uwXL29TY76Z2rM5mHXA,
Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Russell King, Sascha Hauer,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
On Mon, Apr 27, 2015 at 03:37:08PM +0200, Andrej Rosano wrote:
> Hi Shawn,
>
> On Mon, Apr 27, 2015 at 07:57:48PM +0800, Shawn Guo wrote:
> > +Peter
> >
> > On Fri, Mar 27, 2015 at 01:23:00PM -0700, Vagrant Cascadian wrote:
> > > 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?
>
> 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
> Andrej
>
> >
> > Shawn
> >
> > >
> > > Signed-off-by: Vagrant Cascadian <vagrant-8fiUuRrzOP0dnm+yROfE0A@public.gmane.org>
> > > Cc: Andrej Rosano <andrej-6l9oX9VzF44FueaiHvvTSg@public.gmane.org>
> > > Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> > > Cc: Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>
> > > Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
> > > Cc: Ian Campbell <ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>
> > > Cc: Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
> > > Cc: Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>
> > > Cc: Shawn Guo <shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> > > Cc: Sascha Hauer <kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
> > > Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> > > Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> > > Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.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
> > >
> > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> > > index a1c776b..bd2258b 100644
> > > --- a/arch/arm/boot/dts/Makefile
> > > +++ b/arch/arm/boot/dts/Makefile
> > > @@ -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 \
> > > diff --git a/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts b/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
> > > new file mode 100644
> > > index 0000000..a94cb1d
> > > --- /dev/null
> > > +++ b/arch/arm/boot/dts/imx53-usbarmory-host_mode.dts
> > > @@ -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";
> > > +};
> > > diff --git a/arch/arm/boot/dts/imx53-usbarmory.dts b/arch/arm/boot/dts/imx53-usbarmory.dts
> > > new file mode 100644
> > > index 0000000..c86a4d8
> > > --- /dev/null
> > > +++ b/arch/arm/boot/dts/imx53-usbarmory.dts
> > > @@ -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"
> > > diff --git a/arch/arm/boot/dts/imx53-usbarmory.dtsi b/arch/arm/boot/dts/imx53-usbarmory.dtsi
> > > new file mode 100644
> > > index 0000000..b4a9052
> > > --- /dev/null
> > > +++ b/arch/arm/boot/dts/imx53-usbarmory.dtsi
> > > @@ -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@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@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>;
> > > + };
> > > + };
> > > + };
> > > +};
> > > --
> > > 2.1.4
> > >
> >
> >
>
> --
> Andrej Rosano Inverse Path Srl
> <andrej-6l9oX9VzF44FueaiHvvTSg@public.gmane.org> http://www.inversepath.com
>
> 0x01939B21 5BB8 574E 68E8 D841 E18F D5E9 CEAD E0CF 0193 9B21
--
Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ARM: dts: imx5: Add dts files for USB armory.
2015-04-28 8:20 ` Peter Chen
@ 2015-04-30 2:22 ` Fabio Estevam
2015-04-30 8:51 ` Peter Chen
0 siblings, 1 reply; 10+ messages in thread
From: Fabio Estevam @ 2015-04-30 2:22 UTC (permalink / raw)
To: Peter Chen
Cc: Shawn Guo, Vagrant Cascadian, devicetree@vger.kernel.org,
Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Russell King, Sascha Hauer, linux-arm-kernel@lists.infradead.org,
linux-kernel
Hi Peter,
On Tue, Apr 28, 2015 at 5:20 AM, Peter Chen <peter.chen@freescale.com> wrote:
> 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
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ARM: dts: imx5: Add dts files for USB armory.
2015-04-30 2:22 ` Fabio Estevam
@ 2015-04-30 8:51 ` Peter Chen
0 siblings, 0 replies; 10+ messages in thread
From: Peter Chen @ 2015-04-30 8:51 UTC (permalink / raw)
To: Fabio Estevam
Cc: Shawn Guo, Vagrant Cascadian, devicetree@vger.kernel.org,
Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
Russell King, Sascha Hauer, linux-arm-kernel@lists.infradead.org,
linux-kernel
On Wed, Apr 29, 2015 at 11:22:11PM -0300, Fabio Estevam wrote:
> Hi Peter,
>
> On Tue, Apr 28, 2015 at 5:20 AM, Peter Chen <peter.chen@freescale.com> wrote:
>
> > 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
--
Best Regards,
Peter Chen
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ARM: dts: imx5: Add dts files for USB armory.
[not found] ` <87y4ldnvqd.fsf-LkDtOWtB3X7R7s880joybQ@public.gmane.org>
@ 2015-05-13 17:53 ` Vagrant Cascadian
[not found] ` <87vbfwe547.fsf-LkDtOWtB3X7R7s880joybQ@public.gmane.org>
0 siblings, 1 reply; 10+ messages in thread
From: Vagrant Cascadian @ 2015-05-13 17:53 UTC (permalink / raw)
To: Shawn Guo
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA, Andrej Rosano, Rob Herring,
Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, Russell King,
Sascha Hauer, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-kernel-u79uwXL29TY76Z2rM5mHXA
[-- Attachment #1: Type: text/plain, Size: 1244 bytes --]
On 2015-04-27, Vagrant Cascadian wrote:
> On 2015-04-27, Shawn Guo wrote:
>> On Fri, Mar 27, 2015 at 01:23:00PM -0700, Vagrant Cascadian wrote:
>>> 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@50000000/usb@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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ARM: dts: imx5: Add dts files for USB armory.
[not found] ` <87vbfwe547.fsf-LkDtOWtB3X7R7s880joybQ@public.gmane.org>
@ 2015-05-13 18:08 ` Fabio Estevam
0 siblings, 0 replies; 10+ messages in thread
From: Fabio Estevam @ 2015-05-13 18:08 UTC (permalink / raw)
To: Vagrant Cascadian
Cc: Shawn Guo, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Andrej Rosano, Rob Herring, Pawel Moll, Mark Rutland,
Ian Campbell, Kumar Gala, Russell King, Sascha Hauer,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-kernel
On Wed, May 13, 2015 at 2:53 PM, Vagrant Cascadian <vagrant-8fiUuRrzOP0dnm+yROfE0A@public.gmane.org> wrote:
> 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
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-05-13 18:08 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-27 20:23 [PATCH] ARM: dts: imx5: Add dts files for USB armory Vagrant Cascadian
2015-04-27 8:14 ` Shawn Guo
2015-04-27 20:48 ` Vagrant Cascadian
[not found] ` <87y4ldnvqd.fsf-LkDtOWtB3X7R7s880joybQ@public.gmane.org>
2015-05-13 17:53 ` Vagrant Cascadian
[not found] ` <87vbfwe547.fsf-LkDtOWtB3X7R7s880joybQ@public.gmane.org>
2015-05-13 18:08 ` Fabio Estevam
2015-04-27 11:57 ` Shawn Guo
2015-04-27 13:37 ` Andrej Rosano
[not found] ` <20150427133708.GC11598-GPwhfZ5g21+KIOzWgp228laTQe2KTcn/@public.gmane.org>
2015-04-28 8:20 ` Peter Chen
2015-04-30 2:22 ` Fabio Estevam
2015-04-30 8:51 ` Peter Chen
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).