Skip to contentSkip to conversation

ARM: dts: imx53: add support for USB armory board

PATCH New andrej at inversepath.com 4 participants 7 messages Apr 24, 2015 – Apr 27, 2015

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

PATCH 1/1 ARM: dts: imx53: add support for USB armory board

From: Andrej Rosano <[email protected]>

Add support for Inverse Path USB armory board, an open source flash-drive sized computer based on Freescale i.MX53 SoC.

http://inversepath.com/usbarmory

As the device can work in either USB device mode or USB host mode, two different device tree file are needed along with one common include file.

Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Matthias Brugger <[email protected]>
Cc Chris Kuethe <[email protected]>
Cc Vagrant Cascadian <[email protected]>
---
 .../devicetree/bindings/vendor-prefixes.txt        |    1 +
 arch/arm/boot/dts/imx53-usbarmory-common.dtsi      |  205 ++++++++++++++++++++
 arch/arm/boot/dts/imx53-usbarmory-host.dts         |   18 ++
 arch/arm/boot/dts/imx53-usbarmory.dts              |   18 ++
 4 files changed, 242 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-host.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
index 83737a3..e7a10ce 100644
@@ -102,6 +102,7 @@ img	Imagination Technologies Ltd.
 innolux	Innolux Corporation
 intel	Intel Corporation
 intercontrol	Inter Control Group
+inversepath	Inverse Path, S.r.l.
 isee	ISEE 2007 S.L.
 isil	Intersil
 karo	Ka-Ro electronics GmbH
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +205 -0

205 lines not on this page · raw message

arch/arm/boot/dts/imx53-usbarmory-host.dts new file +18 -0
new file mode 100644
index 0000000..ea2ea45
@@ -0,0 +1,18 @@
+/*
+ * USB armory MkI host mode device tree file
+ * http://inversepath.com/usbarmory
+ *
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */
+
+/dts-v1/;
+
+#include "imx53-usbarmory-common.dtsi"
+
+&usbotg {
+	dr_mode = "host";
+	status = "okay";
+};
arch/arm/boot/dts/imx53-usbarmory.dts new file +18 -0
new file mode 100644
index 0000000..902a73b
@@ -0,0 +1,18 @@
+/*
+ * USB armory MkI device mode device tree file
+ * http://inversepath.com/usbarmory
+ *
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */
+
+/dts-v1/;
+
+#include "imx53-usbarmory-common.dtsi"
+
+&usbotg {
+	dr_mode = "peripheral";
+	status = "okay";
+};
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH 1/1 ARM: dts: imx53: add support for USB armory board

Don't forget to patch the makefile...

arm/boot/dts/Makefile 2015-04-24 12:55:49.255690003 -0700 renamed from arm/boot/dts/Makefile.orig 2016-04-24 12:54:17.219917799 -0700 +2 -0
@@ -244,6 +244,8 @@
  imx53-smd.dtb \
  imx53-tx53-x03x.dtb \
  imx53-tx53-x13x.dtb \
+ imx53-usbarmory.dtb \
+ imx53-usbarmory-host.dtb \
  imx53-voipac-bsb.dtb
 dtb-$(CONFIG_SOC_IMX6Q) += \
  imx6dl-aristainetos_4.dtb \
Quoted 301 lines · On Fri, Apr 24, 2015 at 6:33 AM, <[email protected]> wrote:

From: Andrej Rosano <[email protected]>

Add support for Inverse Path USB armory board, an open source flash-drive sized computer based on Freescale i.MX53 SoC.

http://inversepath.com/usbarmory

As the device can work in either USB device mode or USB host mode, two different device tree file are needed along with one common include file.

Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Matthias Brugger <[email protected]>
Cc Chris Kuethe <[email protected]>
Cc Vagrant Cascadian <[email protected]>
---
 .../devicetree/bindings/vendor-prefixes.txt        |    1 +
 arch/arm/boot/dts/imx53-usbarmory-common.dtsi      |  205 ++++++++++++++++++++
 arch/arm/boot/dts/imx53-usbarmory-host.dts         |   18 ++
 arch/arm/boot/dts/imx53-usbarmory.dts              |   18 ++
 4 files changed, 242 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-host.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
index 83737a3..e7a10ce 100644
@@ -102,6 +102,7 @@ img Imagination Technologies Ltd.
 innolux        Innolux Corporation
 intel  Intel Corporation
 intercontrol   Inter Control Group
+inversepath    Inverse Path, S.r.l.
 isee   ISEE 2007 S.L.
 isil   Intersil
 karo   Ka-Ro electronics GmbH
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +205 -0
new file mode 100644
index 0000000..4b4feae
@@ -0,0 +1,205 @@
+/*
+ * USB armory MkI device tree include file
+ * http://inversepath.com/usbarmory
+ *
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */
+
+#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";
+               };
+       };
+
+       soc {
+               aips at 60000000 {
+                       sahara: crypto at 63ff8000 {
+                               compatible = "fsl,imx53-sahara";
+                               reg = <0x63ff8000 0x4000>;
+                               interrupts = <19 20>;
+                               clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>,
+                                        <&clks IMX5_CLK_SAHARA_IPG_GATE>;
+                               clock-names = "ipg", "ahb";
+                       };
+               };
+       };
+};
+
+&cpu0 {
+       device_type = "cpu";
+       compatible = "arm,cortex-a8";
+       reg = <0x0>;
+       clocks = <&clks IMX5_CLK_ARM>;
+       clock-latency = <61036>;
+       voltage-tolerance = <5>;
+       operating-points = <
+               /* kHz */
+                166666  850000
+                400000  900000
+                800000 1050000
+       >;
+};
+
+&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";
+};
+
+&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>;
+                       };
+               };
+       };
+};
arch/arm/boot/dts/imx53-usbarmory-host.dts new file +18 -0
new file mode 100644
index 0000000..ea2ea45
@@ -0,0 +1,18 @@
+/*
+ * USB armory MkI host mode device tree file
+ * http://inversepath.com/usbarmory
+ *
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */
+
+/dts-v1/;
+
+#include "imx53-usbarmory-common.dtsi"
+
+&usbotg {
+       dr_mode = "host";
+       status = "okay";
+};
arch/arm/boot/dts/imx53-usbarmory.dts new file +18 -1
new file mode 100644
index 0000000..902a73b
@@ -0,0 +1,18 @@
+/*
+ * USB armory MkI device mode device tree file
+ * http://inversepath.com/usbarmory
+ *
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */
+
+/dts-v1/;
+
+#include "imx53-usbarmory-common.dtsi"
+
+&usbotg {
+       dr_mode = "peripheral";
+       status = "okay";
+};
--

1.7.10.4

Signature · 1 line
GDB has a 'break' feature; why doesn't it have 'fix' too?
#2 lore raw

PATCH 1/1 ARM: dts: imx53: add support for USB armory board

Quoted 7 lines · Chris Kuethe

Don't forget to patch the makefile...

arm/boot/dts/Makefile 2015-04-24 12:55:49.255690003 -0700 line 251

Quoted 8 lines
arm/boot/dts/Makefile 2015-04-24 12:55:49.255690003 -0700 renamed from arm/boot/dts/Makefile.orig 2016-04-24 12:54:17.219917799 -0700 +2 -0
@@ -244,6 +244,8 @@
  imx53-smd.dtb \
  imx53-tx53-x03x.dtb \
  imx53-tx53-x13x.dtb \
+ imx53-usbarmory.dtb \
+ imx53-usbarmory-host.dtb \
  imx53-voipac-bsb.dtb
 dtb-$(CONFIG_SOC_IMX6Q) += \
  imx6dl-aristainetos_4.dtb \

Sure!

Thanks,
Andrej

Quoted 295 lines · On Fri, Apr 24, 2015 at 6:33 AM, <[email protected]> wrote:
Quoted 293 lines

From: Andrej Rosano <[email protected]>

Add support for Inverse Path USB armory board, an open source flash-drive sized computer based on Freescale i.MX53 SoC.

http://inversepath.com/usbarmory

As the device can work in either USB device mode or USB host mode, two different device tree file are needed along with one common include file.

Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Matthias Brugger <[email protected]>
Cc Chris Kuethe <[email protected]>
Cc Vagrant Cascadian <[email protected]>
---
 .../devicetree/bindings/vendor-prefixes.txt        |    1 +
 arch/arm/boot/dts/imx53-usbarmory-common.dtsi      |  205 ++++++++++++++++++++
 arch/arm/boot/dts/imx53-usbarmory-host.dts         |   18 ++
 arch/arm/boot/dts/imx53-usbarmory.dts              |   18 ++
 4 files changed, 242 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-host.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
index 83737a3..e7a10ce 100644
@@ -102,6 +102,7 @@ img Imagination Technologies Ltd.
 innolux        Innolux Corporation
 intel  Intel Corporation
 intercontrol   Inter Control Group
+inversepath    Inverse Path, S.r.l.
 isee   ISEE 2007 S.L.
 isil   Intersil
 karo   Ka-Ro electronics GmbH
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +205 -0
new file mode 100644
index 0000000..4b4feae
@@ -0,0 +1,205 @@
+/*
+ * USB armory MkI device tree include file
+ * http://inversepath.com/usbarmory
+ *
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */
+
+#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";
+               };
+       };
+
+       soc {
+               aips at 60000000 {
+                       sahara: crypto at 63ff8000 {
+                               compatible = "fsl,imx53-sahara";
+                               reg = <0x63ff8000 0x4000>;
+                               interrupts = <19 20>;
+                               clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>,
+                                        <&clks IMX5_CLK_SAHARA_IPG_GATE>;
+                               clock-names = "ipg", "ahb";
+                       };
+               };
+       };
+};
+
+&cpu0 {
+       device_type = "cpu";
+       compatible = "arm,cortex-a8";
+       reg = <0x0>;
+       clocks = <&clks IMX5_CLK_ARM>;
+       clock-latency = <61036>;
+       voltage-tolerance = <5>;
+       operating-points = <
+               /* kHz */
+                166666  850000
+                400000  900000
+                800000 1050000
+       >;
+};
+
+&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";
+};
+
+&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>;
+                       };
+               };
+       };
+};
arch/arm/boot/dts/imx53-usbarmory-host.dts new file +18 -0
new file mode 100644
index 0000000..ea2ea45
@@ -0,0 +1,18 @@
+/*
+ * USB armory MkI host mode device tree file
+ * http://inversepath.com/usbarmory
+ *
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */
+
+/dts-v1/;
+
+#include "imx53-usbarmory-common.dtsi"
+
+&usbotg {
+       dr_mode = "host";
+       status = "okay";
+};
arch/arm/boot/dts/imx53-usbarmory.dts new file +13 -0
new file mode 100644
index 0000000..902a73b
@@ -0,0 +1,18 @@
+/*
+ * USB armory MkI device mode device tree file
+ * http://inversepath.com/usbarmory
+ *
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */
+
+/dts-v1/;
+
+#include "imx53-usbarmory-common.dtsi"
Quoted 13 lines
Quoted 8 lines
arch/arm/boot/dts/imx53-usbarmory.dts new file +5 -1
+
+&usbotg {
+       dr_mode = "peripheral";
+       status = "okay";
+};
--

1.7.10.4

Signature · 1 line
GDB has a 'break' feature; why doesn't it have 'fix' too?

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

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

reviewer
#3 lore raw

PATCH 1/1 ARM: dts: imx53: add support for USB armory board

In reply to andrej at inversepath.com
Quoted 6 lines · On Fri, Apr 24, 2015 at 10:33 AM, <[email protected]> wrote:

From: Andrej Rosano <[email protected]>

Add support for Inverse Path USB armory board, an open source flash-drive sized computer based on Freescale i.MX53 SoC.

http://inversepath.com/usbarmory

Nice board!

Quoted 25 lines

As the device can work in either USB device mode or USB host mode, two different device tree file are needed along with one common include file.

Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Matthias Brugger <[email protected]>
Cc Chris Kuethe <[email protected]>
Cc Vagrant Cascadian <[email protected]>
---
 .../devicetree/bindings/vendor-prefixes.txt        |    1 +
 arch/arm/boot/dts/imx53-usbarmory-common.dtsi      |  205 ++++++++++++++++++++
 arch/arm/boot/dts/imx53-usbarmory-host.dts         |   18 ++
 arch/arm/boot/dts/imx53-usbarmory.dts              |   18 ++
 4 files changed, 242 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-host.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
Documentation/devicetree/bindings/vendor-prefixes.txt +0 -0
index 83737a3..e7a10ce 100644

Documentation/devicetree/bindings/vendor-prefixes.txt img Imagination Technologies Ltd. · line 105

Quoted 4 lines
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
@@ -102,6 +102,7 @@ img Imagination Technologies Ltd.
 innolux        Innolux Corporation
 intel  Intel Corporation
 intercontrol   Inter Control Group
+inversepath    Inverse Path, S.r.l.

This should be in a separate patch.

Quoted 6 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +0 -0
new file mode 100644
index 0000000..4b4feae

arch/arm/boot/dts/imx53-usbarmory-common.dtsi line 9

Quoted 9 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +9 -0
@@ -0,0 +1,205 @@
+/*
+ * USB armory MkI device tree include file
+ * http://inversepath.com/usbarmory
+ *
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */

Could you use a dual-license type? Take a look at imx6sl-warp.dts as a reference.

arch/arm/boot/dts/imx53-usbarmory-common.dtsi line 50

Quoted 12 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +12 -0
+       soc {
+               aips at 60000000 {
+                       sahara: crypto at 63ff8000 {
+                               compatible = "fsl,imx53-sahara";
+                               reg = <0x63ff8000 0x4000>;
+                               interrupts = <19 20>;
+                               clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>,
+                                        <&clks IMX5_CLK_SAHARA_IPG_GATE>;
+                               clock-names = "ipg", "ahb";
+                       };
+               };
+       };

There is a sahara node in imx53.dtsi, so no need to put it here.

Quoted 6 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +6 -0
+};
+
+&cpu0 {
+       device_type = "cpu";
+       compatible = "arm,cortex-a8";
+       reg = <0x0>;

arch/arm/boot/dts/imx53-usbarmory-common.dtsi line 66

Quoted 10 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +10 -0
+       clocks = <&clks IMX5_CLK_ARM>;
+       clock-latency = <61036>;
+       voltage-tolerance = <5>;
+       operating-points = <
+               /* kHz */
+                166666  850000
+                400000  900000
+                800000 1050000
+       >;
+};

Same here. This is also part of imx53.dtsi.

Quoted 14 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +14 -0
+
+&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 = <

arch/arm/boot/dts/imx53-usbarmory-common.dtsi line 90

Quoted 10 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +10 -0
+                               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 don't use 0x80000000 settings. Better to pass the real IOMUX values, so that we don't need to rely on the bootloader pin settings.

arch/arm/boot/dts/imx53-usbarmory-common.dtsi line 134

Quoted 3 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +3 -0
+&vpu {
+       status = "okay";
+};

VPU is already enabled in imx53.dtsi.

Regards,

Fabio Estevam

#4 lore raw

PATCH 1/1 ARM: dts: imx53: add support for USB armory board

Quoted 9 lines · Fabio Estevam
Quoted 6 lines · On Fri, Apr 24, 2015 at 10:33 AM, <[email protected]> wrote:

From: Andrej Rosano <[email protected]>

Add support for Inverse Path USB armory board, an open source flash-drive sized computer based on Freescale i.MX53 SoC.

http://inversepath.com/usbarmory

Nice board!

Thanks!

Quoted 21 lines
Quoted 21 lines

As the device can work in either USB device mode or USB host mode, two different device tree file are needed along with one common include file.

Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Matthias Brugger <[email protected]>
Cc Chris Kuethe <[email protected]>
Cc Vagrant Cascadian <[email protected]>
---
 .../devicetree/bindings/vendor-prefixes.txt        |    1 +
 arch/arm/boot/dts/imx53-usbarmory-common.dtsi      |  205 ++++++++++++++++++++
 arch/arm/boot/dts/imx53-usbarmory-host.dts         |   18 ++
 arch/arm/boot/dts/imx53-usbarmory.dts              |   18 ++
 4 files changed, 242 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-host.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
Quoted 11 lines

Documentation/devicetree/bindings/vendor-prefixes.txt img Imagination Technologies Ltd. · line 105

Quoted 9 lines
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
index 83737a3..e7a10ce 100644
@@ -102,6 +102,7 @@ img Imagination Technologies Ltd.
 innolux        Innolux Corporation
 intel  Intel Corporation
 intercontrol   Inter Control Group
+inversepath    Inverse Path, S.r.l.

This should be in a separate patch.

Ok.

Quoted 11 lines
Quoted 11 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +4 -0
new file mode 100644
index 0000000..4b4feae
@@ -0,0 +1,205 @@
+/*
+ * USB armory MkI device tree include file
+ * http://inversepath.com/usbarmory
+ *
Quoted 8 lines

arch/arm/boot/dts/imx53-usbarmory-common.dtsi line 9

Quoted 5 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +5 -0
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */

Could you use a dual-license type? Take a look at imx6sl-warp.dts as a reference.

Sure.

Quoted 14 lines

arch/arm/boot/dts/imx53-usbarmory-common.dtsi line 50

Quoted 13 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +12 -0
+       soc {
+               aips at 60000000 {
+                       sahara: crypto at 63ff8000 {
+                               compatible = "fsl,imx53-sahara";
+                               reg = <0x63ff8000 0x4000>;
+                               interrupts = <19 20>;
+                               clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>,
+                                        <&clks IMX5_CLK_SAHARA_IPG_GATE>;
+                               clock-names = "ipg", "ahb";
+                       };
+               };
+       };
Quoted 1 line

There is a sahara node in imx53.dtsi, so no need to put it here.

Ok.

Quoted 11 lines
Quoted 11 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +10 -0
+};
+
+&cpu0 {
+       device_type = "cpu";
+       compatible = "arm,cortex-a8";
+       reg = <0x0>;
+       clocks = <&clks IMX5_CLK_ARM>;
+       clock-latency = <61036>;
+       voltage-tolerance = <5>;
+       operating-points = <
Quoted 8 lines

arch/arm/boot/dts/imx53-usbarmory-common.dtsi line 66

Quoted 6 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +6 -0
+               /* kHz */
+                166666  850000
+                400000  900000
+                800000 1050000
+       >;
+};

Same here. This is also part of imx53.dtsi.

This is necessary because the USB armory mounts a i.MX534 and it does not support the 1 and 1.2 GHz operating point. Or maybe there is a better way to restrict the operating frequency range?

Quoted 29 lines
Quoted 15 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +14 -0
+
+&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 = <

arch/arm/boot/dts/imx53-usbarmory-common.dtsi line 90

Quoted 10 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +10 -0
+                               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 don't use 0x80000000 settings. Better to pass the real IOMUX values, so that we don't need to rely on the bootloader pin settings.

Quoted 5 lines

arch/arm/boot/dts/imx53-usbarmory-common.dtsi line 134

Quoted 3 lines
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +3 -0
+&vpu {
+       status = "okay";
+};

VPU is already enabled in imx53.dtsi.

There is no "status" defined for vpu in imx53.dtsi, also imx53-qsb-common.dtsi explicitly enable it.

Quoted 4 lines

Regards,

Fabio Estevam

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

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

#5 lore raw

PATCH 1/1 ARM: dts: imx53: add support for USB armory board

Quoted 8 lines · Andrej Rosano
Quoted 5 lines

Review

Quoted 3 lines

+&vpu {

(quoted diff) +2 -0
+       status = "okay";
+};

VPU is already enabled in imx53.dtsi.

There is no "status" defined for vpu in imx53.dtsi, also imx53-qsb-common.dtsi explicitly enable it.

No status equals to status = "okay". We have status = "disabled" in <soc>.dtsi and explicitly enable it by changing status to "okay" for devices which have pin out on board. For devices like VPU, DMA which is completely SoC internal, we simply do not use status and have them always enabled.

Shawn

#6 lore raw

PATCH 1/1 ARM: dts: imx53: add support for USB armory board

In reply to andrej at inversepath.com
Quoted 11 lines · andrej at inversepath.com

From: Andrej Rosano <[email protected]>

Add support for Inverse Path USB armory board, an open source flash-drive sized computer based on Freescale i.MX53 SoC.

http://inversepath.com/usbarmory

As the device can work in either USB device mode or USB host mode, two different device tree file are needed along with one common include file.

Quoted 6 lines
Cc Shawn Guo <[email protected]>
Cc Sascha Hauer <[email protected]>
Cc Matthias Brugger <[email protected]>
Cc Chris Kuethe <[email protected]>
Cc Vagrant Cascadian <[email protected]>

Please also check the comment in thread [1].

Shawn

[1] http://thread.gmane.org/gmane.linux.ports.arm.kernel/403682

Quoted 284 lines
---
 .../devicetree/bindings/vendor-prefixes.txt        |    1 +
 arch/arm/boot/dts/imx53-usbarmory-common.dtsi      |  205 ++++++++++++++++++++
 arch/arm/boot/dts/imx53-usbarmory-host.dts         |   18 ++
 arch/arm/boot/dts/imx53-usbarmory.dts              |   18 ++
 4 files changed, 242 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-common.dtsi
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory-host.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
index 83737a3..e7a10ce 100644
@@ -102,6 +102,7 @@ img	Imagination Technologies Ltd.
 innolux	Innolux Corporation
 intel	Intel Corporation
 intercontrol	Inter Control Group
+inversepath	Inverse Path, S.r.l.
 isee	ISEE 2007 S.L.
 isil	Intersil
 karo	Ka-Ro electronics GmbH
arch/arm/boot/dts/imx53-usbarmory-common.dtsi new file +205 -0
new file mode 100644
index 0000000..4b4feae
@@ -0,0 +1,205 @@
+/*
+ * USB armory MkI device tree include file
+ * http://inversepath.com/usbarmory
+ *
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */
+
+#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";
+		};
+	};
+
+	soc {
+		aips at 60000000 {
+			sahara: crypto at 63ff8000 {
+				compatible = "fsl,imx53-sahara";
+				reg = <0x63ff8000 0x4000>;
+				interrupts = <19 20>;
+				clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>,
+					 <&clks IMX5_CLK_SAHARA_IPG_GATE>;
+				clock-names = "ipg", "ahb";
+			};
+		};
+	};
+};
+
+&cpu0 {
+	device_type = "cpu";
+	compatible = "arm,cortex-a8";
+	reg = <0x0>;
+	clocks = <&clks IMX5_CLK_ARM>;
+	clock-latency = <61036>;
+	voltage-tolerance = <5>;
+	operating-points = <
+		/* kHz */
+		 166666  850000
+		 400000  900000
+		 800000 1050000
+	>;
+};
+
+&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";
+};
+
+&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>;
+			};
+		};
+	};
+};
arch/arm/boot/dts/imx53-usbarmory-host.dts new file +18 -0
new file mode 100644
index 0000000..ea2ea45
@@ -0,0 +1,18 @@
+/*
+ * USB armory MkI host mode device tree file
+ * http://inversepath.com/usbarmory
+ *
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */
+
+/dts-v1/;
+
+#include "imx53-usbarmory-common.dtsi"
+
+&usbotg {
+	dr_mode = "host";
+	status = "okay";
+};
arch/arm/boot/dts/imx53-usbarmory.dts new file +18 -0
new file mode 100644
index 0000000..902a73b
@@ -0,0 +1,18 @@
+/*
+ * USB armory MkI device mode device tree file
+ * http://inversepath.com/usbarmory
+ *
+ * Copyright (C) 2015, Inverse Path
+ * Andrej Rosano <[email protected]>
+ *
+ * Licensed under GPLv2
+ */
+
+/dts-v1/;
+
+#include "imx53-usbarmory-common.dtsi"
+
+&usbotg {
+	dr_mode = "peripheral";
+	status = "okay";
+};
Signature · 1 line
1.7.10.4