Skip to contentSkip to conversation

ARM: am335x: Add support for ICEv2 board

PATCH Superseded Lokesh Vutla 4 participants 6 messages Mar 22, 2016 – Mar 23, 2016

Subsystems (4)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover ARM: am335x: Add support for ICEv2 board

This series adds support for AM3359 ICEv2 board.

Boot log: http://pastebin.ubuntu.com/15470564/

Lokesh Vutla (2):
ARM: dts: am335x: Add initial support for ICEv2 board
ARM: omap2plus_defconfig: Enable GPIO_TPIC2810

 .../devicetree/bindings/arm/omap/omap.txt          |   3 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/am335x-icev2.dts                 | 303 +++++++++++++++++++++
 arch/arm/configs/omap2plus_defconfig               |   1 +
 4 files changed, 308 insertions(+)
 create mode 100644 arch/arm/boot/dts/am335x-icev2.dts
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/2 ARM: dts: am335x: Add initial support for ICEv2 board

TI's Industrial Communication Engine EVM is a low cost hardware mainly developed for industrial communication type applications using serial or Ethernet based interfaces. This platform features TI's AM3359 with 800MHz single core Cortex-A8 processor, 256MB DDR3, 64MB SPI flash, 8MB NOR Flash, mmc, usb, can, dual Ethernet ports.

For more information, look at HW user guide[1], Data manual[2].

Just add basic support for the moment.

[1] http://processors.wiki.ti.com/index.php/AM335x_Industrial_Communication_Engine_EVM_Rev2_1_HW_User_Guide
[2] http://www.ti.com/lit/ds/symlink/am3359.pdf

---
 .../devicetree/bindings/arm/omap/omap.txt          |   3 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/am335x-icev2.dts                 | 303 +++++++++++++++++++++
 3 files changed, 307 insertions(+)
 create mode 100644 arch/arm/boot/dts/am335x-icev2.dts
Documentation/devicetree/bindings/arm/omap/omap.txt +3 -0
index 21e71a5..20f6d71 100644
@@ -133,6 +133,9 @@ Boards:
 - AM335X Bone : Low cost community board
   compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3"
 
+- AM3359 ICEv2 : Low cost Industrial Communication Engine EVM.
+  compatible = "ti,am3359-icev2", "ti,am33xx", "ti,omap3"
+
 - AM335X OrionLXm : Substation Automation Platform
   compatible = "novatech,am335x-lxm", "ti,am33xx"
 
arch/arm/boot/dts/Makefile +1 -0
index 52b34a0..7dcf55e 100644
@@ -486,6 +486,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \
 	am335x-cm-t335.dtb \
 	am335x-evm.dtb \
 	am335x-evmsk.dtb \
+	am335x-icev2.dtb \
 	am335x-lxm.dtb \
 	am335x-nano.dtb \
 	am335x-pepper.dtb \
arch/arm/boot/dts/am335x-icev2.dts new file +303 -0

303 lines not on this page · raw message

Signature · 1 line
2.1.4
#2 lore raw

PATCH 1/2 ARM: dts: am335x: Add initial support for ICEv2 board

Quoted 89 lines · Lokesh Vutla

TI's Industrial Communication Engine EVM is a low cost hardware mainly developed for industrial communication type applications using serial or Ethernet based interfaces. This platform features TI's AM3359 with 800MHz single core Cortex-A8 processor, 256MB DDR3, 64MB SPI flash, 8MB NOR Flash, mmc, usb, can, dual Ethernet ports.

For more information, look at HW user guide[1], Data manual[2].

Just add basic support for the moment.

[1] http://processors.wiki.ti.com/index.php/AM335x_Industrial_Communication_Engine_EVM_Rev2_1_HW_User_Guide
[2] http://www.ti.com/lit/ds/symlink/am3359.pdf

---
  .../devicetree/bindings/arm/omap/omap.txt          |   3 +
  arch/arm/boot/dts/Makefile                         |   1 +
  arch/arm/boot/dts/am335x-icev2.dts                 | 303 +++++++++++++++++++++
  3 files changed, 307 insertions(+)

create mode 100644 arch/arm/boot/dts/am335x-icev2.dts

Documentation/devicetree/bindings/arm/omap/omap.txt +3 -0
index 21e71a5..20f6d71 100644
@@ -133,6 +133,9 @@ Boards:
  - AM335X Bone : Low cost community board
    compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3"
 
+- AM3359 ICEv2 : Low cost Industrial Communication Engine EVM.
+  compatible = "ti,am3359-icev2", "ti,am33xx", "ti,omap3"
+
  - AM335X OrionLXm : Substation Automation Platform
    compatible = "novatech,am335x-lxm", "ti,am33xx"
 
arch/arm/boot/dts/Makefile +1 -0
index 52b34a0..7dcf55e 100644
@@ -486,6 +486,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \
  	am335x-cm-t335.dtb \
  	am335x-evm.dtb \
  	am335x-evmsk.dtb \
+	am335x-icev2.dtb \
  	am335x-lxm.dtb \
  	am335x-nano.dtb \
  	am335x-pepper.dtb \
arch/arm/boot/dts/am335x-icev2.dts new file +36 -0
new file mode 100644
index 0000000..59c91e8
@@ -0,0 +1,303 @@
+/*
+ * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/*
+ * AM335x ICE V2 board
+ * http://www.ti.com/tool/tmdsice3359
+ */
+
+/dts-v1/;
+
+#include "am33xx.dtsi"
+
+/ {
+	model = "TI AM3359 ICE-V2";
+	compatible = "ti,am3359-icev2", "ti,am33xx";
+
+	memory {
+		device_type = "memory";
+		reg = <0x80000000 0x10000000>; /* 256 MB */
+	};
+
+	vbat: fixedregulator at 0 {
+		compatible = "regulator-fixed";
+		regulator-name = "vbat";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		regulator-boot-on;
+	};
+
+	vtt_fixed: fixedregulator at 1 {
+		compatible = "regulator-fixed";

arch/arm/boot/dts/am335x-icev2.dts line 46

Quoted 10 lines
arch/arm/boot/dts/am335x-icev2.dts new file +10 -0
+		regulator-name = "vtt";
+		regulator-min-microvolt = <1500000>;
+		regulator-max-microvolt = <1500000>;
+		gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
+		regulator-always-on;
+		regulator-boot-on;
+		enable-active-high;
+	};
+
+	leds {

Could you split this node on two leds at 0 and led at 1 and and move all tpic2810 leds under leds0 and all gpio leds under leds at 1?

otherwise gpio leds will not work because tpic2810 is configured as module and so leds-gpio will be deferred until tpic2810 is loaded (but it can be never loaded ;)

led at x numeration has to be started from 0 for each leds at Y.

Quoted 10 lines
arch/arm/boot/dts/am335x-icev2.dts new file +10 -0
+		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&user_leds>;
+
+		led at 0 {
+			label = "out0";
+			gpios = <&tpic2810 0 GPIO_ACTIVE_HIGH>;
+			default-state = "off";
+		};
+

[...]

Quoted 8 lines
arch/arm/boot/dts/am335x-icev2.dts new file +8 -0
+		/* Tricolor status LEDs */
+		led at 8 {
+			label = "status0:red:cpu0";
+			gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
+			default-state = "off";
+			linux,default-trigger = "cpu0";
+		};
+

[...]

Quoted 1 line
Signature · 2 lines
regards,
-grygorii
#3 lore raw

PATCH 1/2 ARM: dts: am335x: Add initial support for ICEv2 board

Quoted 104 lines · Grygorii Strashko
Quoted 89 lines · Lokesh Vutla

TI's Industrial Communication Engine EVM is a low cost hardware mainly developed for industrial communication type applications using serial or Ethernet based interfaces. This platform features TI's AM3359 with 800MHz single core Cortex-A8 processor, 256MB DDR3, 64MB SPI flash, 8MB NOR Flash, mmc, usb, can, dual Ethernet ports.

For more information, look at HW user guide[1], Data manual[2].

Just add basic support for the moment.

[1] http://processors.wiki.ti.com/index.php/AM335x_Industrial_Communication_Engine_EVM_Rev2_1_HW_User_Guide
[2] http://www.ti.com/lit/ds/symlink/am3359.pdf

---
  .../devicetree/bindings/arm/omap/omap.txt          |   3 +
  arch/arm/boot/dts/Makefile                         |   1 +
  arch/arm/boot/dts/am335x-icev2.dts                 | 303 +++++++++++++++++++++
  3 files changed, 307 insertions(+)

create mode 100644 arch/arm/boot/dts/am335x-icev2.dts

Documentation/devicetree/bindings/arm/omap/omap.txt +3 -0
index 21e71a5..20f6d71 100644
@@ -133,6 +133,9 @@ Boards:
  - AM335X Bone : Low cost community board
    compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3"
 
+- AM3359 ICEv2 : Low cost Industrial Communication Engine EVM.
+  compatible = "ti,am3359-icev2", "ti,am33xx", "ti,omap3"
+
  - AM335X OrionLXm : Substation Automation Platform
    compatible = "novatech,am335x-lxm", "ti,am33xx"
 
arch/arm/boot/dts/Makefile +1 -0
index 52b34a0..7dcf55e 100644
@@ -486,6 +486,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \
  	am335x-cm-t335.dtb \
  	am335x-evm.dtb \
  	am335x-evmsk.dtb \
+	am335x-icev2.dtb \
  	am335x-lxm.dtb \
  	am335x-nano.dtb \
  	am335x-pepper.dtb \
arch/arm/boot/dts/am335x-icev2.dts new file +36 -0
new file mode 100644
index 0000000..59c91e8
@@ -0,0 +1,303 @@
+/*
+ * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/*
+ * AM335x ICE V2 board
+ * http://www.ti.com/tool/tmdsice3359
+ */
+
+/dts-v1/;
+
+#include "am33xx.dtsi"
+
+/ {
+	model = "TI AM3359 ICE-V2";
+	compatible = "ti,am3359-icev2", "ti,am33xx";
+
+	memory {
+		device_type = "memory";
+		reg = <0x80000000 0x10000000>; /* 256 MB */
+	};
+
+	vbat: fixedregulator at 0 {
+		compatible = "regulator-fixed";
+		regulator-name = "vbat";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		regulator-boot-on;
+	};
+
+	vtt_fixed: fixedregulator at 1 {
+		compatible = "regulator-fixed";

arch/arm/boot/dts/am335x-icev2.dts line 46

Quoted 10 lines
arch/arm/boot/dts/am335x-icev2.dts new file +10 -0
+		regulator-name = "vtt";
+		regulator-min-microvolt = <1500000>;
+		regulator-max-microvolt = <1500000>;
+		gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
+		regulator-always-on;
+		regulator-boot-on;
+		enable-active-high;
+	};
+
+	leds {

Could you split this node on two leds at 0 and led at 1 and and move all tpic2810 leds under leds0 and all gpio leds under leds at 1?

Quoted 5 lines

otherwise gpio leds will not work because tpic2810 is configured as module and so leds-gpio will be deferred until tpic2810 is loaded (but it can be never loaded ;)

led at x numeration has to be started from 0 for each leds at Y.

Hmm I get your point. I was always doing insmod of tpic2810 before doing insmod of leds-gpio. Will fix it and repost.

Thanks and regards,
Lokesh

maintainer
#4 lore raw

PATCH 1/2 ARM: dts: am335x: Add initial support for ICEv2 board

In reply to Lokesh Vutla
Quoted 8 lines · Lokesh Vutla

TI's Industrial Communication Engine EVM is a low cost hardware mainly developed for industrial communication type applications using serial or Ethernet based interfaces. This platform features TI's AM3359 with 800MHz single core Cortex-A8 processor, 256MB DDR3, 64MB SPI flash, 8MB NOR Flash, mmc, usb, can, dual Ethernet ports.

For more information, look at HW user guide[1], Data manual[2].

Quoted 8 lines

Just add basic support for the moment.

[1] http://processors.wiki.ti.com/index.php/AM335x_Industrial_Communication_Engine_EVM_Rev2_1_HW_User_Guide
[2] http://www.ti.com/lit/ds/symlink/am3359.pdf

---
 .../devicetree/bindings/arm/omap/omap.txt          |   3 +
Quoted 4 lines
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/am335x-icev2.dts                 | 303 +++++++++++++++++++++
 3 files changed, 307 insertions(+)
 create mode 100644 arch/arm/boot/dts/am335x-icev2.dts
#5 lore raw

PATCH 2/2 ARM: omap2plus_defconfig: Enable GPIO_TPIC2810

In reply to Lokesh Vutla

Enable the TI TPIC2810 8-Bit LED Driver with I2C Interface. This is used in AM335x ICEv2 Boards.

---
 arch/arm/configs/omap2plus_defconfig | 1 +
 1 file changed, 1 insertion(+)
arch/arm/configs/omap2plus_defconfig +1 -0
index 156bc88..b4f17a4c 100644
@@ -245,6 +245,7 @@ CONFIG_DEBUG_GPIO=y
 CONFIG_GPIO_SYSFS=y
 CONFIG_GPIO_PCA953X=m
 CONFIG_GPIO_PCF857X=y
+CONFIG_GPIO_TPIC2810=m
 CONFIG_GPIO_TWL4030=y
 CONFIG_GPIO_PALMAS=y
 CONFIG_W1=m
Signature · 1 line
2.1.4