Skip to contentSkip to conversation

Add support for CL-SOM-iMX7 and SBC-iMX7

PATCH Superseded Ilya Ledvich 4 participants 32 messages Dec 7, 2015 – Dec 22, 2015

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

cover Add support for CL-SOM-iMX7 and SBC-iMX7

This patch series adds support for CompuLab CL-SOM-iMX7 and SBC-iMX7 boards.

CL-SOM-iMX7 is a miniature System-on-Module (SoM) based on Freescale i.MX7 ARM Cortex-A7 System-on-Chip.

SBC-iMX7 is a single board computer, implemented with the CL-SOM-iMX7 System-on-Module providing most of the functions, and SB-SOM-iMX7 carrier board providing additional peripheral functions and connectors.

The SBC-iMX7 provides following features:

CPU: Freescale i.MX 7Dual ARM Cortex-A7, 1GHz NEON SIMD and VFPv4 or
Freescale i.MX 7Solo ARM Cortex-A7, 800MHz NEON SIMD and VFPv4

RAM: DDR3, 256MB - 2GB

Storage: NAND flash, 128MB - 1GB or eMMC flash, 4GB - 32GB
SPI flash, 2MB
Standard full-size SD socket

Ethernet: Up to 2x 10/100/1000Mbps Ethernet ports (MAC+PHY)

WiFi/BT: Dual-band 2x2 802.11a/b/g/n WiFi interface (TI WiLink 8 WL1837 chipset)

Analog Audio: Audio codec with analog stereo output, stereo input and microphone support

More details can be found here:

http://www.compulab.co.il/products/computer-on-modules/cl-som-imx7-freescale-i-mx-7-system-on-module/

http://www.compulab.co.il/products/sbcs/sbc-imx7-freescale-i-mx-7-single-board-computer/

This series provides basic DT support including following features:

* Memory configuration
* eMMC
* 2x Gigabit Ethernet ports (FEC1 and FEC2)
* I2C2 bus
* EEPROM
* PCA9555 GPIO extender
* PMIC
* UART1
* USB OTG port

Ilya Ledvich (8):
ARM: dts: imx7d: cl-som-imx7: add basic module support
ARM: dts: imx7d: cl-som-imx7: add usb otg support
ARM: dts: imx7d: cl-som-imx7: add eMMC support
ARM: dts: imx7d: cl-som-imx7: add fec1 support
ARM: dts: imx7d: cl-som-imx7: add eeprom support
ARM: dts: imx7d: cl-som-imx7: add gpio extender support
ARM: dts: imx7d: cl-som-imx7: add fec2 support
ARM: dts: imx7d: sbc-imx7: add basic board support

 Documentation/devicetree/bindings/arm/fsl.txt |   8 +
 arch/arm/boot/dts/Makefile                    |   2 +
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts       | 294 ++++++++++++++++++++++++++
 arch/arm/boot/dts/imx7d-sbc-imx7.dts          |  43 ++++
 4 files changed, 347 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx7d-cl-som-imx7.dts
 create mode 100644 arch/arm/boot/dts/imx7d-sbc-imx7.dts
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/8 ARM: dts: imx7d: cl-som-imx7: add basic module support

CL-SOM-iMX7 is a miniature System-on-Module (SoM) based on Freescale i.MX7 System-on-Chip family.

http://www.compulab.co.il/products/computer-on-modules/cl-som-imx7-freescale-i-mx-7-system-on-module/

Add basic DT support for standalone module (without a carrier board):

* Memory configuration
* I2C2 bus
* PMIC
* UART1

---
 Documentation/devicetree/bindings/arm/fsl.txt |   4 +
 arch/arm/boot/dts/Makefile                    |   1 +
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts       | 150 ++++++++++++++++++++++++++
 3 files changed, 155 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx7d-cl-som-imx7.dts
Documentation/devicetree/bindings/arm/fsl.txt +4 -0
index 34c88b0..30b0ba1 100644
@@ -53,6 +53,10 @@ i.MX6 Quad SABRE Automotive Board
 Required root node properties:
     - compatible = "fsl,imx6q-sabreauto", "fsl,imx6q";
 
+i.MX7D CL-SOM-iMX7 Board
+Required root node properties:
+    - compatible = "compulab,cl-som-imx7", "fsl,imx7d";
+
 Generic i.MX boards
 -------------------
 
arch/arm/boot/dts/Makefile +1 -0
index 30bbc37..83ed521 100644
@@ -350,6 +350,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
 dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ul-14x14-evk.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
+	imx7d-cl-som-imx7.dtb \
 	imx7d-sdb.dtb
 dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-qds.dtb \
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +150 -0

150 lines not on this page · raw message

Signature · 1 line
1.9.1
maintainer
#2 lore raw

PATCH 1/8 ARM: dts: imx7d: cl-som-imx7: add basic module support

Quoted 7 lines · Ilya Ledvich

CL-SOM-iMX7 is a miniature System-on-Module (SoM) based on Freescale i.MX7 System-on-Chip family.

http://www.compulab.co.il/products/computer-on-modules/cl-som-imx7-freescale-i-mx-7-system-on-module/

Add basic DT support for standalone module (without a carrier board):

Quoted 7 lines

* Memory configuration
* I2C2 bus
* PMIC
* UART1

One nit, otherwise:

arch/arm/boot/dts/imx7d-cl-som-imx7.dts line 35

Quoted 6 lines

+&i2c2 {

arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +5 -0
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c2>;
+	status = "okay";
+
+	pmic: pfuze3000 at 08 {

Use generic node names: "pmic at 8"

Quoted 2 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +2 -0
+		compatible = "fsl,pfuze3000";
+		reg = <0x08>;
#3 lore raw

PATCH v2 1/1 ARM: dts: imx7d: cl-som-imx7: add basic module support

From: Ilya Ledvich <[email protected]>

CL-SOM-iMX7 is a miniature System-on-Module (SoM) based on Freescale i.MX7 System-on-Chip family.

http://www.compulab.co.il/products/computer-on-modules/cl-som-imx7-freescale-i-mx-7-system-on-module/

Add basic DT support for standalone module (without a carrier board):

* Memory configuration
* I2C2 bus
* PMIC
* UART1

---

v2: use generic node name for pmic (Thanks Rob).

 Documentation/devicetree/bindings/arm/fsl.txt |   4 +
 arch/arm/boot/dts/Makefile                    |   1 +
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts       | 150 ++++++++++++++++++++++++++
 3 files changed, 155 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx7d-cl-som-imx7.dts
Documentation/devicetree/bindings/arm/fsl.txt +4 -0
index 34c88b0..30b0ba1 100644
@@ -53,6 +53,10 @@ i.MX6 Quad SABRE Automotive Board
 Required root node properties:
     - compatible = "fsl,imx6q-sabreauto", "fsl,imx6q";
 
+i.MX7D CL-SOM-iMX7 Board
+Required root node properties:
+    - compatible = "compulab,cl-som-imx7", "fsl,imx7d";
+
 Generic i.MX boards
 -------------------
 
arch/arm/boot/dts/Makefile +1 -0
index 30bbc37..83ed521 100644
@@ -350,6 +350,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
 dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ul-14x14-evk.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
+	imx7d-cl-som-imx7.dtb \
 	imx7d-sdb.dtb
 dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-qds.dtb \
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +150 -0

150 lines not on this page · raw message

Signature · 1 line
2.4.10
#4 lore raw

PATCH v2 1/1 ARM: dts: imx7d: cl-som-imx7: add basic module support

Quoted 31 lines · Igor Grinberg

From: Ilya Ledvich <[email protected]>

CL-SOM-iMX7 is a miniature System-on-Module (SoM) based on Freescale i.MX7 System-on-Chip family.

http://www.compulab.co.il/products/computer-on-modules/cl-som-imx7-freescale-i-mx-7-system-on-module/

Add basic DT support for standalone module (without a carrier board):

* Memory configuration
* I2C2 bus
* PMIC
* UART1

---

v2: use generic node name for pmic (Thanks Rob).

 arch/arm/boot/dts/Makefile                    |   1 +
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts       | 150 ++++++++++++++++++++++++++
 3 files changed, 155 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx7d-cl-som-imx7.dts
Documentation/devicetree/bindings/arm/fsl.txt +0 -0
index 34c88b0..30b0ba1 100644

Documentation/devicetree/bindings/arm/fsl.txt i.MX6 Quad SABRE Automotive Board · line 59

Quoted 7 lines
Documentation/devicetree/bindings/arm/fsl.txt +4 -0
@@ -53,6 +53,10 @@ i.MX6 Quad SABRE Automotive Board
 Required root node properties:
     - compatible = "fsl,imx6q-sabreauto", "fsl,imx6q";
 
+i.MX7D CL-SOM-iMX7 Board
+Required root node properties:
+    - compatible = "compulab,cl-som-imx7", "fsl,imx7d";
+

This is not a board produced by FSL, so it should be documented in fsl.txt.

Quoted 21 lines
Documentation/devicetree/bindings/arm/fsl.txt +0 -0
 Generic i.MX boards
 -------------------
 
arch/arm/boot/dts/Makefile +1 -0
index 30bbc37..83ed521 100644
@@ -350,6 +350,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
 dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ul-14x14-evk.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
+	imx7d-cl-som-imx7.dtb \
 	imx7d-sdb.dtb
 dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-qds.dtb \
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +0 -0
new file mode 100644
index 0000000..ba05198

arch/arm/boot/dts/imx7d-cl-som-imx7.dts line 10

Quoted 10 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +10 -0
@@ -0,0 +1,150 @@
+/*
+ * Support for CompuLab CL-SOM-iMX7 System-on-Module
+ *
+ * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
+ * Author: Ilya Ledvich <[email protected]>
+ *
+ * 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.
+ */

GPL/X11 dual licence is generally suggested for newly added dts files, as it will let non-Linux OS use them.

Quoted 115 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +115 -0
+
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+#include "imx7d.dtsi"
+
+/ {
+	model = "CompuLab CL-SOM-iMX7";
+	compatible = "compulab,cl-som-imx7", "fsl,imx7d";
+
+	memory {
+		reg = <0x80000000 0x10000000>; /* 256 MB - minimal configuration */
+	};
+};
+
+&cpu0 {
+	arm-supply = <&sw1a_reg>;
+};
+
+&i2c2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c2>;
+	status = "okay";
+
+	pmic: pmic at 8 {
+		compatible = "fsl,pfuze3000";
+		reg = <0x08>;
+
+		regulators {
+			sw1a_reg: sw1a {
+				regulator-min-microvolt = <700000>;
+				regulator-max-microvolt = <1475000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <6250>;
+			};
+
+			/* use sw1c_reg to align with pfuze100/pfuze200 */
+			sw1c_reg: sw1b {
+				regulator-min-microvolt = <700000>;
+				regulator-max-microvolt = <1475000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <6250>;
+			};
+
+			sw2_reg: sw2 {
+				regulator-min-microvolt = <1500000>;
+				regulator-max-microvolt = <1850000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3a_reg: sw3 {
+				regulator-min-microvolt = <900000>;
+				regulator-max-microvolt = <1650000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			swbst_reg: swbst {
+				regulator-min-microvolt = <5000000>;
+				regulator-max-microvolt = <5150000>;
+			};
+
+			snvs_reg: vsnvs {
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vref_reg: vrefddr {
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vgen1_reg: vldo1 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen2_reg: vldo2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1550000>;
+			};
+
+			vgen3_reg: vccsd {
+				regulator-min-microvolt = <2850000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen4_reg: v33 {
+				regulator-min-microvolt = <2850000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen5_reg: vldo3 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen6_reg: vldo4 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+		};
+	};
+};
+

arch/arm/boot/dts/imx7d-cl-som-imx7.dts line 135

Quoted 10 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +10 -0
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart1>;
+	assigned-clocks = <&clks IMX7D_UART1_ROOT_SRC>;
+	assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>;
+	status = "okay";
+};
+
+&iomuxc {
+	cl-som-imx7 {

Since commit (5fcdf6a7ed95 pinctrl: imx: Allow parsing DT without function nodes), this level of container node is not really needed any more.

Shawn

Quoted 19 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +15 -0
+		pinctrl_i2c2: i2c2grp {
+			fsl,pins = <
+				MX7D_PAD_I2C2_SDA__I2C2_SDA		0x4000007f
+				MX7D_PAD_I2C2_SCL__I2C2_SCL		0x4000007f
+			>;
+		};
+
+		pinctrl_uart1: uart1grp {
+			fsl,pins = <
+				MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX	0x79
+				MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX	0x79
+			>;
+		};
+	};
+};
Signature · 1 line
2.4.10
#5 lore raw

PATCH v2 1/1 ARM: dts: imx7d: cl-som-imx7: add basic module support

Hi Shawn,

Quoted 2 lines · Shawn Guo
Quoted 1 line · Igor Grinberg

From: Ilya Ledvich <[email protected]>

[...]

Quoted 8 lines
Quoted 8 lines
Documentation/devicetree/bindings/arm/fsl.txt +0 -0
index 34c88b0..30b0ba1 100644
@@ -53,6 +53,10 @@ i.MX6 Quad SABRE Automotive Board
 Required root node properties:
     - compatible = "fsl,imx6q-sabreauto", "fsl,imx6q";
 
Quoted 7 lines

Documentation/devicetree/bindings/arm/fsl.txt i.MX6 Quad SABRE Automotive Board · line 59

Quoted 4 lines
Documentation/devicetree/bindings/arm/fsl.txt +4 -0
+i.MX7D CL-SOM-iMX7 Board
+Required root node properties:
+    - compatible = "compulab,cl-som-imx7", "fsl,imx7d";
+

This is not a board produced by FSL, so it should be documented in fsl.txt.

You mean _should not_ be documented in fsl.txt, right?
Ok, I have no problem with that, we've just used the same approach OMAP takes - all the OMAP based boards are documented in the same file:
Documentation/devicetree/bindings/arm/omap/omap.txt

Do you think we should document it in:
Documentation/devicetree/bindings/arm/compulab-boards.txt (this file should already exist in arm-soc/next/dt)?

Quoted 27 lines
Quoted 27 lines
Documentation/devicetree/bindings/arm/fsl.txt +0 -0
 Generic i.MX boards
 -------------------
 
arch/arm/boot/dts/Makefile +1 -0
index 30bbc37..83ed521 100644
@@ -350,6 +350,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
 dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ul-14x14-evk.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
+	imx7d-cl-som-imx7.dtb \
 	imx7d-sdb.dtb
 dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-qds.dtb \
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +5 -0
new file mode 100644
index 0000000..ba05198
@@ -0,0 +1,150 @@
+/*
+ * Support for CompuLab CL-SOM-iMX7 System-on-Module
+ *
+ * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
+ * Author: Ilya Ledvich <[email protected]>
Quoted 8 lines

arch/arm/boot/dts/imx7d-cl-som-imx7.dts line 10

Quoted 5 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +5 -0
+ *
+ * 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.
+ */

GPL/X11 dual licence is generally suggested for newly added dts files, as it will let non-Linux OS use them.

I don't remember we've used this one before...
Can you please point to an example?

[...]

Quoted 6 lines

arch/arm/boot/dts/imx7d-cl-som-imx7.dts line 135

Quoted 2 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +2 -0
+&iomuxc {
+	cl-som-imx7 {

Since commit (5fcdf6a7ed95 pinctrl: imx: Allow parsing DT without function nodes), this level of container node is not really needed any more.

Ok. Will be done for the next version. Thanks!

Quoted 23 lines

Shawn

Quoted 19 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +15 -0
+		pinctrl_i2c2: i2c2grp {
+			fsl,pins = <
+				MX7D_PAD_I2C2_SDA__I2C2_SDA		0x4000007f
+				MX7D_PAD_I2C2_SCL__I2C2_SCL		0x4000007f
+			>;
+		};
+
+		pinctrl_uart1: uart1grp {
+			fsl,pins = <
+				MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX	0x79
+				MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX	0x79
+			>;
+		};
+	};
+};
Signature · 1 line
2.4.10
Signature · 2 lines
Regards,
Igor.
#6 lore raw

PATCH v2 1/1 ARM: dts: imx7d: cl-som-imx7: add basic module support

Quoted 24 lines · Igor Grinberg

Hi Shawn,

Quoted 2 lines · Shawn Guo
Quoted 1 line · Igor Grinberg

From: Ilya Ledvich <[email protected]>

[...]

Quoted 8 lines
Quoted 8 lines
Documentation/devicetree/bindings/arm/fsl.txt +0 -0
index 34c88b0..30b0ba1 100644
@@ -53,6 +53,10 @@ i.MX6 Quad SABRE Automotive Board
 Required root node properties:
     - compatible = "fsl,imx6q-sabreauto", "fsl,imx6q";
 
Quoted 7 lines

Documentation/devicetree/bindings/arm/fsl.txt i.MX6 Quad SABRE Automotive Board · line 59

Quoted 4 lines
Documentation/devicetree/bindings/arm/fsl.txt +4 -0
+i.MX7D CL-SOM-iMX7 Board
+Required root node properties:
+    - compatible = "compulab,cl-som-imx7", "fsl,imx7d";
+

This is not a board produced by FSL, so it should be documented in fsl.txt.

Quoted 1 line

You mean _should not_ be documented in fsl.txt, right?

Right. Sorry.

Quoted 3 lines

Ok, I have no problem with that, we've just used the same approach OMAP takes - all the OMAP based boards are documented in the same file:
Documentation/devicetree/bindings/arm/omap/omap.txt

omap.txt is probably fine, as it's not ti.txt.

Quoted 4 lines

Do you think we should document it in:
Documentation/devicetree/bindings/arm/compulab-boards.txt (this file should already exist in arm-soc/next/dt)?

Yeah, if the file already exist, it's the best option. But, as it doesn't exist on my tree, I can not apply this change.

Quoted 37 lines
Quoted 28 lines
Quoted 28 lines
Documentation/devicetree/bindings/arm/fsl.txt +0 -0
 Generic i.MX boards
 -------------------
 
arch/arm/boot/dts/Makefile +1 -0
index 30bbc37..83ed521 100644
@@ -350,6 +350,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
 dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ul-14x14-evk.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
+	imx7d-cl-som-imx7.dtb \
 	imx7d-sdb.dtb
 dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-qds.dtb \
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +5 -0
new file mode 100644
index 0000000..ba05198
@@ -0,0 +1,150 @@
+/*
+ * Support for CompuLab CL-SOM-iMX7 System-on-Module
+ *
+ * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
+ * Author: Ilya Ledvich <[email protected]>
Quoted 8 lines

arch/arm/boot/dts/imx7d-cl-som-imx7.dts line 10

Quoted 5 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +5 -0
+ *
+ * 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.
+ */

GPL/X11 dual licence is generally suggested for newly added dts files, as it will let non-Linux OS use them.

Quoted 2 lines

I don't remember we've used this one before...
Can you please point to an example?

The following command will give you a plenty of examples.

$ git grep X11 arch/arm/boot/dts

Shawn

#7 lore raw

PATCH v2 1/1 ARM: dts: imx7d: cl-som-imx7: add basic module support

Hi Shawn,

Quoted 27 lines · Shawn Guo
Quoted 24 lines · Igor Grinberg

Hi Shawn,

Quoted 2 lines · Shawn Guo
Quoted 1 line · Igor Grinberg

From: Ilya Ledvich <[email protected]>

[...]

Quoted 8 lines
Quoted 8 lines
Documentation/devicetree/bindings/arm/fsl.txt +0 -0
index 34c88b0..30b0ba1 100644
@@ -53,6 +53,10 @@ i.MX6 Quad SABRE Automotive Board
 Required root node properties:
     - compatible = "fsl,imx6q-sabreauto", "fsl,imx6q";
 
Quoted 7 lines

Documentation/devicetree/bindings/arm/fsl.txt i.MX6 Quad SABRE Automotive Board · line 59

Quoted 4 lines
Documentation/devicetree/bindings/arm/fsl.txt +4 -0
+i.MX7D CL-SOM-iMX7 Board
+Required root node properties:
+    - compatible = "compulab,cl-som-imx7", "fsl,imx7d";
+

This is not a board produced by FSL, so it should be documented in fsl.txt.

Quoted 1 line

You mean _should not_ be documented in fsl.txt, right?

Quoted 7 lines

Right. Sorry.

Quoted 3 lines

Ok, I have no problem with that, we've just used the same approach OMAP takes - all the OMAP based boards are documented in the same file:
Documentation/devicetree/bindings/arm/omap/omap.txt

omap.txt is probably fine, as it's not ti.txt.

Have you considered creating a kind of imx.txt?

Quoted 8 lines
Quoted 5 lines

Do you think we should document it in:
Documentation/devicetree/bindings/arm/compulab-boards.txt (this file should already exist in arm-soc/next/dt)?

Yeah, if the file already exist, it's the best option. But, as it doesn't exist on my tree, I can not apply this change.

It is already in linux-next.
Who do you think should apply the v2 patch then?
May be the arm-soc guys? (Cc'ed Olof and Arnd)

Quoted 38 lines
Quoted 38 lines
Quoted 37 lines
Quoted 24 lines
Documentation/devicetree/bindings/arm/fsl.txt +0 -0
 Generic i.MX boards
 -------------------
 
arch/arm/boot/dts/Makefile +1 -0
index 30bbc37..83ed521 100644
@@ -350,6 +350,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
 dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ul-14x14-evk.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
+	imx7d-cl-som-imx7.dtb \
 	imx7d-sdb.dtb
 dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-qds.dtb \
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +0 -0
new file mode 100644
index 0000000..ba05198

arch/arm/boot/dts/imx7d-cl-som-imx7.dts line 10

Quoted 10 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +10 -0
@@ -0,0 +1,150 @@
+/*
+ * Support for CompuLab CL-SOM-iMX7 System-on-Module
+ *
+ * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
+ * Author: Ilya Ledvich <[email protected]>
+ *
+ * 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.
+ */

GPL/X11 dual licence is generally suggested for newly added dts files, as it will let non-Linux OS use them.

Quoted 6 lines
Quoted 2 lines

I don't remember we've used this one before...
Can you please point to an example?

The following command will give you a plenty of examples.

$ git grep X11 arch/arm/boot/dts

10x!

Signature · 2 lines
Regards,
Igor.
#8 lore raw

PATCH v2 1/1 ARM: dts: imx7d: cl-som-imx7: add basic module support

Quoted 10 lines · Igor Grinberg
Quoted 6 lines
Quoted 3 lines

Do you think we should document it in:
Documentation/devicetree/bindings/arm/compulab-boards.txt (this file should already exist in arm-soc/next/dt)?

Yeah, if the file already exist, it's the best option. But, as it doesn't exist on my tree, I can not apply this change.

It is already in linux-next.
Who do you think should apply the v2 patch then?
May be the arm-soc guys? (Cc'ed Olof and Arnd)

I think the best approach here is you leave the change out from the patch, and send that change to arm-soc folks.

Shawn

#9 lore raw

PATCH v2 1/1 ARM: dts: imx7d: cl-som-imx7: add basic module support

In reply to Igor Grinberg
Quoted 10 lines · Igor Grinberg
Quoted 6 lines
Quoted 3 lines

Do you think we should document it in:
Documentation/devicetree/bindings/arm/compulab-boards.txt (this file should already exist in arm-soc/next/dt)?

Yeah, if the file already exist, it's the best option. But, as it doesn't exist on my tree, I can not apply this change.

It is already in linux-next.
Who do you think should apply the v2 patch then?
May be the arm-soc guys? (Cc'ed Olof and Arnd)

I think you can leave out the change from the patch, so that I can apply. And you send that change separately to arm-soc folks.

Shawn

#10 lore raw

PATCH v2 1/1 ARM: dts: imx7d: cl-som-imx7: add basic module support

Quoted 8 lines · Shawn Guo
Quoted 7 lines · Igor Grinberg
Quoted 6 lines
Quoted 3 lines

Do you think we should document it in:
Documentation/devicetree/bindings/arm/compulab-boards.txt (this file should already exist in arm-soc/next/dt)?

Yeah, if the file already exist, it's the best option. But, as it doesn't exist on my tree, I can not apply this change.

Quoted 6 lines
Quoted 3 lines

It is already in linux-next.
Who do you think should apply the v2 patch then?
May be the arm-soc guys? (Cc'ed Olof and Arnd)

I think you can leave out the change from the patch, so that I can apply. And you send that change separately to arm-soc folks.

Ok. We'll send a v2 today.

Thanks!

Signature · 2 lines
Regards,
Igor.
#11 lore raw

PATCH 2/8 ARM: dts: imx7d: cl-som-imx7: add usb otg support

In reply to Ilya Ledvich

Add support for single USB OTG port.

---
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
arch/arm/boot/dts/imx7d-cl-som-imx7.dts +29 -0
index 6fa6580..a8f52cf 100644
@@ -21,6 +21,22 @@
 	memory {
 		reg = <0x80000000 0x10000000>; /* 256 MB - minimal configuration */
 	};
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		reg_usb_otg1_vbus: regulator at 0 {
+			compatible = "regulator-fixed";
+			reg = <0>;
+			regulator-name = "usb_otg1_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+			enable-active-high;
+		};
+	};
 };
 
 &cpu0 {
@@ -131,6 +147,13 @@
 	status = "okay";
 };
 
+&usbotg1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usbotg1>;
+	vbus-supply = <&reg_usb_otg1_vbus>;
+	status = "okay";
+};
+
 &iomuxc {
 	cl-som-imx7 {
 		pinctrl_i2c2: i2c2grp {
@@ -146,5 +169,11 @@
 				MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX	0x79
 			>;
 		};
+
+		pinctrl_usbotg1: usbotg1grp {
+			fsl,pins = <
+				MX7D_PAD_GPIO1_IO05__GPIO1_IO5		0x14 /* OTG PWREN */
+			>;
+		};
 	};
 };
Signature · 1 line
1.9.1
#12 lore raw

PATCH 3/8 ARM: dts: imx7d: cl-som-imx7: add eMMC support

In reply to Ilya Ledvich

Add support for eMMC as a main storage.

---
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
arch/arm/boot/dts/imx7d-cl-som-imx7.dts +27 -0
index a8f52cf..44849ab 100644
@@ -154,6 +154,17 @@
 	status = "okay";
 };
 
+&usdhc3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usdhc3>;
+	assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>;
+	assigned-clock-rates = <400000000>;
+	bus-width = <8>;
+	fsl,tuning-step = <2>;
+	non-removable;
+	status = "okay";
+};
+
 &iomuxc {
 	cl-som-imx7 {
 		pinctrl_i2c2: i2c2grp {
@@ -175,5 +186,21 @@
 				MX7D_PAD_GPIO1_IO05__GPIO1_IO5		0x14 /* OTG PWREN */
 			>;
 		};
+
+		pinctrl_usdhc3: usdhc3grp {
+			fsl,pins = <
+				MX7D_PAD_SD3_CMD__SD3_CMD		0x59
+				MX7D_PAD_SD3_CLK__SD3_CLK		0x19
+				MX7D_PAD_SD3_DATA0__SD3_DATA0		0x59
+				MX7D_PAD_SD3_DATA1__SD3_DATA1		0x59
+				MX7D_PAD_SD3_DATA2__SD3_DATA2		0x59
+				MX7D_PAD_SD3_DATA3__SD3_DATA3		0x59
+				MX7D_PAD_SD3_DATA4__SD3_DATA4		0x59
+				MX7D_PAD_SD3_DATA5__SD3_DATA5		0x59
+				MX7D_PAD_SD3_DATA6__SD3_DATA6		0x59
+				MX7D_PAD_SD3_DATA7__SD3_DATA7		0x59
+				MX7D_PAD_SD3_STROBE__SD3_STROBE		0x19
+			>;
+		};
 	};
 };
Signature · 1 line
1.9.1
#13 lore raw

PATCH 4/8 ARM: dts: imx7d: cl-som-imx7: add fec1 support

In reply to Ilya Ledvich

Add support for the 1-st Freescale Ethernet Controller (FEC1).

---
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 41 +++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
arch/arm/boot/dts/imx7d-cl-som-imx7.dts +41 -0
index 44849ab..97e96c6 100644
@@ -43,6 +43,28 @@
 	arm-supply = <&sw1a_reg>;
 };
 
+&fec1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_enet1>;
+	assigned-clocks = <&clks IMX7D_ENET1_TIME_ROOT_SRC>,
+			  <&clks IMX7D_ENET1_TIME_ROOT_CLK>;
+	assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>;
+	assigned-clock-rates = <0>, <100000000>;
+	phy-mode = "rgmii";
+	phy-handle = <&ethphy0>;
+	fsl,magic-packet;
+	status = "okay";
+
+	mdio {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		ethphy0: ethernet-phy at 0 {
+			reg = <0>;
+		};
+	};
+};
+
 &i2c2 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_i2c2>;
@@ -167,6 +189,25 @@
 
 &iomuxc {
 	cl-som-imx7 {
+		pinctrl_enet1: enet1grp {
+			fsl,pins = <
+				MX7D_PAD_SD2_CD_B__ENET1_MDIO			0x3
+				MX7D_PAD_SD2_WP__ENET1_MDC			0x3
+				MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC	0x1
+				MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0	0x1
+				MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1	0x1
+				MX7D_PAD_ENET1_RGMII_TD2__ENET1_RGMII_TD2	0x1
+				MX7D_PAD_ENET1_RGMII_TD3__ENET1_RGMII_TD3	0x1
+				MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL	0x1
+				MX7D_PAD_ENET1_RGMII_RXC__ENET1_RGMII_RXC	0x1
+				MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0	0x1
+				MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1	0x1
+				MX7D_PAD_ENET1_RGMII_RD2__ENET1_RGMII_RD2	0x1
+				MX7D_PAD_ENET1_RGMII_RD3__ENET1_RGMII_RD3	0x1
+				MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL	0x1
+			>;
+		};
+
 		pinctrl_i2c2: i2c2grp {
 			fsl,pins = <
 				MX7D_PAD_I2C2_SDA__I2C2_SDA		0x4000007f
Signature · 1 line
1.9.1
#14 lore raw

PATCH 5/8 ARM: dts: imx7d: cl-som-imx7: add eeprom support

In reply to Ilya Ledvich

Add support for the module EEPROM over I2C2 bus.

---
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 6 ++++++
 1 file changed, 6 insertions(+)
arch/arm/boot/dts/imx7d-cl-som-imx7.dts +6 -0
index 97e96c6..b938d9e 100644
@@ -159,6 +159,12 @@
 			};
 		};
 	};
+
+	eeprom at 50 {
+		compatible = "atmel,24c08";
+		reg = <0x50>;
+		pagesize = <16>;
+	};
 };
 
 &uart1 {
Signature · 1 line
1.9.1
#15 lore raw

PATCH 6/8 ARM: dts: imx7d: cl-som-imx7: add gpio extender support

In reply to Ilya Ledvich

Add support for PCA9555 GPIO extender over I2C2 bus.

---
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 7 +++++++
 1 file changed, 7 insertions(+)
arch/arm/boot/dts/imx7d-cl-som-imx7.dts +7 -0
index b938d9e..30bbdcd 100644
@@ -160,6 +160,13 @@
 		};
 	};
 
+	pca9555: pca9555 at 20 {
+		compatible = "nxp,pca9555";
+		gpio-controller;
+		#gpio-cells = <2>;
+		reg = <0x20>;
+	};
+
 	eeprom at 50 {
 		compatible = "atmel,24c08";
 		reg = <0x50>;
Signature · 1 line
1.9.1
#16 lore raw

PATCH 7/8 ARM: dts: imx7d: cl-som-imx7: add fec2 support

In reply to Ilya Ledvich

Add support for the 2-nd Freescale Ethernet Controller (FEC2).

---
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 34 +++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
arch/arm/boot/dts/imx7d-cl-som-imx7.dts +34 -0
index 30bbdcd..77b6587 100644
@@ -62,9 +62,26 @@
 		ethphy0: ethernet-phy at 0 {
 			reg = <0>;
 		};
+
+		ethphy1: ethernet-phy at 1 {
+			reg = <1>;
+		};
 	};
 };
 
+&fec2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_enet2>;
+	assigned-clocks = <&clks IMX7D_ENET2_TIME_ROOT_SRC>,
+			  <&clks IMX7D_ENET2_TIME_ROOT_CLK>;
+	assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>;
+	assigned-clock-rates = <0>, <100000000>;
+	phy-mode = "rgmii";
+	phy-handle = <&ethphy1>;
+	fsl,magic-packet;
+	status = "okay";
+};
+
 &i2c2 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_i2c2>;
@@ -221,6 +238,23 @@
 			>;
 		};
 
+		pinctrl_enet2: enet2grp {
+			fsl,pins = <
+				MX7D_PAD_EPDC_GDSP__ENET2_RGMII_TXC		0x1
+				MX7D_PAD_EPDC_SDCE2__ENET2_RGMII_TD0		0x1
+				MX7D_PAD_EPDC_SDCE3__ENET2_RGMII_TD1		0x1
+				MX7D_PAD_EPDC_GDCLK__ENET2_RGMII_TD2		0x1
+				MX7D_PAD_EPDC_GDOE__ENET2_RGMII_TD3		0x1
+				MX7D_PAD_EPDC_GDRL__ENET2_RGMII_TX_CTL		0x1
+				MX7D_PAD_EPDC_SDCE1__ENET2_RGMII_RXC		0x1
+				MX7D_PAD_EPDC_SDCLK__ENET2_RGMII_RD0		0x1
+				MX7D_PAD_EPDC_SDLE__ENET2_RGMII_RD1		0x1
+				MX7D_PAD_EPDC_SDOE__ENET2_RGMII_RD2		0x1
+				MX7D_PAD_EPDC_SDSHR__ENET2_RGMII_RD3		0x1
+				MX7D_PAD_EPDC_SDCE0__ENET2_RGMII_RX_CTL		0x1
+			>;
+		};
+
 		pinctrl_i2c2: i2c2grp {
 			fsl,pins = <
 				MX7D_PAD_I2C2_SDA__I2C2_SDA		0x4000007f
Signature · 1 line
1.9.1
#17 lore raw

PATCH 8/8 ARM: dts: imx7d: sbc-imx7: add basic board support

In reply to Ilya Ledvich

SBC-iMX7 is a single board computer designed for industrial and embedded applications. It is based on the Freescale i.MX7 system-on-chip. SBC-iMX7 is implemented with the CL-SOM-iMX7 System-on-Module providing most of the functions, and SB-SOM-iMX7 carrier board providing additional peripheral functions and connectors.

http://www.compulab.co.il/products/sbcs/sbc-imx7-freescale-i-mx-7-single-board-computer/

http://www.compulab.co.il/products/computer-on-modules/cl-som-imx7-freescale-i-mx-7-system-on-module/

Add basic board support, including SD card as a secondary boot and storage device

---
 Documentation/devicetree/bindings/arm/fsl.txt |  4 +++
 arch/arm/boot/dts/Makefile                    |  1 +
 arch/arm/boot/dts/imx7d-sbc-imx7.dts          | 43 +++++++++++++++++++++++++++
 3 files changed, 48 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx7d-sbc-imx7.dts
Documentation/devicetree/bindings/arm/fsl.txt +4 -0
index 30b0ba1..15307d3 100644
@@ -57,6 +57,10 @@ i.MX7D CL-SOM-iMX7 Board
 Required root node properties:
     - compatible = "compulab,cl-som-imx7", "fsl,imx7d";
 
+i.MX7D SBC-iMX7 Single Board Computer
+Required root node properties:
+    - compatible = "compulab,sbc-imx7", "compulab,cl-som-imx7", "fsl,imx7d";
+
 Generic i.MX boards
 -------------------
 
arch/arm/boot/dts/Makefile +1 -0
index 83ed521..72ef172 100644
@@ -351,6 +351,7 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ul-14x14-evk.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
 	imx7d-cl-som-imx7.dtb \
+	imx7d-sbc-imx7.dtb \
 	imx7d-sdb.dtb
 dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-qds.dtb \
arch/arm/boot/dts/imx7d-sbc-imx7.dts new file +43 -0

43 lines not on this page · raw message

Signature · 1 line
1.9.1
maintainer
#18 lore raw

PATCH 8/8 ARM: dts: imx7d: sbc-imx7: add basic board support

Quoted 7 lines · Ilya Ledvich

SBC-iMX7 is a single board computer designed for industrial and embedded applications. It is based on the Freescale i.MX7 system-on-chip. SBC-iMX7 is implemented with the CL-SOM-iMX7 System-on-Module providing most of the functions, and SB-SOM-iMX7 carrier board providing additional peripheral functions and connectors.

Quoted 8 lines

http://www.compulab.co.il/products/sbcs/sbc-imx7-freescale-i-mx-7-single-board-computer/

http://www.compulab.co.il/products/computer-on-modules/cl-som-imx7-freescale-i-mx-7-system-on-module/

Add basic board support, including SD card as a secondary boot and storage device

Quoted 86 lines
---
 Documentation/devicetree/bindings/arm/fsl.txt |  4 +++
 arch/arm/boot/dts/Makefile                    |  1 +
 arch/arm/boot/dts/imx7d-sbc-imx7.dts          | 43 +++++++++++++++++++++++++++
 3 files changed, 48 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx7d-sbc-imx7.dts
Documentation/devicetree/bindings/arm/fsl.txt +4 -0
index 30b0ba1..15307d3 100644
@@ -57,6 +57,10 @@ i.MX7D CL-SOM-iMX7 Board
 Required root node properties:
     - compatible = "compulab,cl-som-imx7", "fsl,imx7d";
 
+i.MX7D SBC-iMX7 Single Board Computer
+Required root node properties:
+    - compatible = "compulab,sbc-imx7", "compulab,cl-som-imx7", "fsl,imx7d";
+
 Generic i.MX boards
 -------------------
 
arch/arm/boot/dts/Makefile +1 -0
index 83ed521..72ef172 100644
@@ -351,6 +351,7 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ul-14x14-evk.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
 	imx7d-cl-som-imx7.dtb \
+	imx7d-sbc-imx7.dtb \
 	imx7d-sdb.dtb
 dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-qds.dtb \
arch/arm/boot/dts/imx7d-sbc-imx7.dts new file +43 -0
new file mode 100644
index 0000000..3d5384a
@@ -0,0 +1,43 @@
+/*
+ * Support for CompuLab SBC-iMX7 Single Board Computer
+ *
+ * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
+ * Author: Ilya Ledvich <[email protected]>
+ *
+ * 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.
+ */
+
+#include "imx7d-cl-som-imx7.dts"
+
+/ {
+	model = "CompuLab SBC-iMX7";
+	compatible = "compulab,sbc-imx7", "compulab,cl-som-imx7", "fsl,imx7d";
+};
+
+&usdhc1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usdhc1>;
+	cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
+	wp-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
+	enable-sdio-wakeup;
+	status = "okay";
+};
+
+&iomuxc {
+	cl-som-imx7 {
+		pinctrl_usdhc1: usdhc1grp {
+			fsl,pins = <
+				MX7D_PAD_SD1_CMD__SD1_CMD		0x59
+				MX7D_PAD_SD1_CLK__SD1_CLK		0x19
+				MX7D_PAD_SD1_DATA0__SD1_DATA0		0x59
+				MX7D_PAD_SD1_DATA1__SD1_DATA1		0x59
+				MX7D_PAD_SD1_DATA2__SD1_DATA2		0x59
+				MX7D_PAD_SD1_DATA3__SD1_DATA3		0x59
+				MX7D_PAD_SD1_CD_B__GPIO5_IO0		0x59 /* CD */
+				MX7D_PAD_SD1_WP__GPIO5_IO1		0x59 /* WP */
+			>;
+		};
+	};
+};
Signature · 1 line
1.9.1
#19 lore raw

cover Add support for CL-SOM-iMX7 and SBC-iMX7

In reply to Ilya Ledvich
Quoted 8 lines · Ilya Ledvich

Ilya Ledvich (8):
ARM: dts: imx7d: cl-som-imx7: add basic module support
ARM: dts: imx7d: cl-som-imx7: add usb otg support
ARM: dts: imx7d: cl-som-imx7: add eMMC support
ARM: dts: imx7d: cl-som-imx7: add fec1 support
ARM: dts: imx7d: cl-som-imx7: add eeprom support
ARM: dts: imx7d: cl-som-imx7: add gpio extender support
ARM: dts: imx7d: cl-som-imx7: add fec2 support

For the initial board support submission, it doesn't really need such splitting. Please merge above patches into one.

Shawn

Quoted 1 line

ARM: dts: imx7d: sbc-imx7: add basic board support

#20 lore raw

cover Add support for CL-SOM-iMX7 and SBC-iMX7

Hi Shawn,

Quoted 10 lines · Shawn Guo
Quoted 8 lines · Ilya Ledvich

Ilya Ledvich (8):
ARM: dts: imx7d: cl-som-imx7: add basic module support
ARM: dts: imx7d: cl-som-imx7: add usb otg support
ARM: dts: imx7d: cl-som-imx7: add eMMC support
ARM: dts: imx7d: cl-som-imx7: add fec1 support
ARM: dts: imx7d: cl-som-imx7: add eeprom support
ARM: dts: imx7d: cl-som-imx7: add gpio extender support
ARM: dts: imx7d: cl-som-imx7: add fec2 support

Quoted 2 lines

For the initial board support submission, it doesn't really need such splitting. Please merge above patches into one.

Yeah, I know there is no need for such splitting, yet I think if the splitting is done right - it is much simpler to review, it provides a better bisectability (in case it will be needed in the future), and also if for some reason one (or more) patches are needing some time consuming rework, others (earlier ones in the series) can be accepted meanwhile.

So, I really like to keep it this way, unless you insist.

Thanks!

Signature · 2 lines
Regards,
Igor.
#21 lore raw

cover Add support for CL-SOM-iMX7 and SBC-iMX7

Quoted 13 lines · Igor Grinberg

Hi Shawn,

Quoted 10 lines · Shawn Guo
Quoted 8 lines · Ilya Ledvich

Ilya Ledvich (8):
ARM: dts: imx7d: cl-som-imx7: add basic module support
ARM: dts: imx7d: cl-som-imx7: add usb otg support
ARM: dts: imx7d: cl-som-imx7: add eMMC support
ARM: dts: imx7d: cl-som-imx7: add fec1 support
ARM: dts: imx7d: cl-som-imx7: add eeprom support
ARM: dts: imx7d: cl-som-imx7: add gpio extender support
ARM: dts: imx7d: cl-som-imx7: add fec2 support

Quoted 5 lines
Quoted 2 lines

For the initial board support submission, it doesn't really need such splitting. Please merge above patches into one.

Yeah, I know there is no need for such splitting, yet I think if the splitting is done right - it is much simpler to review,

Not really for a initial board support.

Quoted 2 lines

it provides a better bisectability (in case it will be needed in the future),

This is an initial board support submission and all the devices added there should be functional. The bisectability shouldn't needed in this case.

Quoted 3 lines

and also if for some reason one (or more) patches are needing some time consuming rework, others (earlier ones in the series) can be accepted meanwhile.

It's not really the case for this series.

Quoted 2 lines

So, I really like to keep it this way, unless you insist.

Please merge them.

Shawn

#22 lore raw

cover Add support for CL-SOM-iMX7 and SBC-iMX7

Quoted 29 lines · Shawn Guo
Quoted 13 lines · Igor Grinberg

Hi Shawn,

Quoted 10 lines · Shawn Guo
Quoted 8 lines · Ilya Ledvich

Ilya Ledvich (8):
ARM: dts: imx7d: cl-som-imx7: add basic module support
ARM: dts: imx7d: cl-som-imx7: add usb otg support
ARM: dts: imx7d: cl-som-imx7: add eMMC support
ARM: dts: imx7d: cl-som-imx7: add fec1 support
ARM: dts: imx7d: cl-som-imx7: add eeprom support
ARM: dts: imx7d: cl-som-imx7: add gpio extender support
ARM: dts: imx7d: cl-som-imx7: add fec2 support

Quoted 5 lines
Quoted 2 lines

For the initial board support submission, it doesn't really need such splitting. Please merge above patches into one.

Yeah, I know there is no need for such splitting, yet I think if the splitting is done right - it is much simpler to review,

Not really for a initial board support.

Quoted 2 lines

it provides a better bisectability (in case it will be needed in the future),

This is an initial board support submission and all the devices added there should be functional. The bisectability shouldn't needed in this case.

Quoted 5 lines
Quoted 3 lines

and also if for some reason one (or more) patches are needing some time consuming rework, others (earlier ones in the series) can be accepted meanwhile.

It's not really the case for this series.

I'm glad you think so :-)

Quoted 5 lines
Quoted 3 lines

So, I really like to keep it this way, unless you insist.

Please merge them.

Ok.

Signature · 2 lines
Regards,
Igor.
#23 lore raw

v2 cover Add support for CL-SOM-iMX7 and SBC-iMX7

In reply to Ilya Ledvich

This patch series adds support for CompuLab CL-SOM-iMX7 and SBC-iMX7 boards.

CL-SOM-iMX7 is a miniature System-on-Module (SoM) based on Freescale i.MX7 ARM Cortex-A7 System-on-Chip.
s
SBC-iMX7 is a single board computer, implemented with the CL-SOM-iMX7 System-on-Module providing most of the functions, and SB-SOM-iMX7 carrier board providing additional peripheral functions and connectors.

The SBC-iMX7 provides following features:

CPU: Freescale i.MX 7Dual ARM Cortex-A7, 1GHz NEON SIMD and VFPv4 or
Freescale i.MX 7Solo ARM Cortex-A7, 800MHz NEON SIMD and VFPv4

RAM: DDR3, 256MB - 2GB

Storage: NAND flash, 128MB - 1GB or eMMC flash, 4GB - 32GB
SPI flash, 2MB
Standard full-size SD socket

Ethernet: Up to 2x 10/100/1000Mbps Ethernet ports (MAC+PHY)

WiFi/BT: Dual-band 2x2 802.11a/b/g/n WiFi interface (TI WiLink 8 WL1837 chipset)

Analog Audio: Audio codec with analog stereo output, stereo input and microphone support

More details can be found here:

http://www.compulab.co.il/products/computer-on-modules/cl-som-imx7-freescale-i-mx-7-system-on-module/

http://www.compulab.co.il/products/sbcs/sbc-imx7-freescale-i-mx-7-single-board-computer/

This series provides basic DT support including following features:

* Memory configuration
* eMMC
* 2x Gigabit Ethernet ports (FEC1 and FEC2)
* I2C2 bus
* EEPROM
* PCA9555 GPIO extender
* PMIC
* UART1
* USB OTG port

Changes history:
v2: use generic node name for pmic (Thanks Rob)
move board description out of fsl.txt (Shawn) use GPL/X11 dual licence for newly added dts files (Shawn) discard one level of container node (Shawn) squash several patches into one patch (Shawn)

Ilya Ledvich (2):
ARM: dts: imx7d: cl-som-imx7: add basic module support
ARM: dts: imx7d: sbc-imx7: add basic board support

 arch/arm/boot/dts/Makefile              |   2 +
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 293 ++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/imx7d-sbc-imx7.dts    |  44 +++++
 3 files changed, 339 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx7d-cl-som-imx7.dts
 create mode 100644 arch/arm/boot/dts/imx7d-sbc-imx7.dts
Signature · 1 line
1.9.1
#24 lore raw

PATCH v2 1/2 ARM: dts: imx7d: cl-som-imx7: add basic module support

CL-SOM-iMX7 is a miniature System-on-Module (SoM) based on Freescale i.MX7 System-on-Chip family.

http://www.compulab.co.il/products/computer-on-modules/cl-som-imx7-freescale-i-mx-7-system-on-module/

Add basic DT support for standalone module (without a carrier board):

* Memory configuration
* eMMC
* 2x Gigabit Ethernet ports (FEC1 and FEC2)
* I2C2 bus
* EEPROM
* PCA9555 GPIO extender
* PMIC
* UART1
* USB OTG port

---

v2: use generic node name for pmic (Thanks Rob)
move board description out of fsl.txt (Shawn) use GPL/X11 dual licence for newly added dts files (Shawn) discard one level of container node (Shawn) squash several patches into one patch (Shawn)

 arch/arm/boot/dts/Makefile              |   1 +
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 293 ++++++++++++++++++++++++++++++++
 2 files changed, 294 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx7d-cl-som-imx7.dts
arch/arm/boot/dts/Makefile +1 -0
index 30bbc37..83ed521 100644
@@ -350,6 +350,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
 dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ul-14x14-evk.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
+	imx7d-cl-som-imx7.dtb \
 	imx7d-sdb.dtb
 dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-qds.dtb \
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +293 -0

293 lines not on this page · raw message

Signature · 1 line
1.9.1
#25 lore raw

PATCH v2 1/2 ARM: dts: imx7d: cl-som-imx7: add basic module support

Quoted 69 lines · Ilya Ledvich

CL-SOM-iMX7 is a miniature System-on-Module (SoM) based on Freescale i.MX7 System-on-Chip family.

http://www.compulab.co.il/products/computer-on-modules/cl-som-imx7-freescale-i-mx-7-system-on-module/

Add basic DT support for standalone module (without a carrier board):

* Memory configuration
* eMMC
* 2x Gigabit Ethernet ports (FEC1 and FEC2)
* I2C2 bus
* EEPROM
* PCA9555 GPIO extender
* PMIC
* UART1
* USB OTG port

---

v2: use generic node name for pmic (Thanks Rob)
move board description out of fsl.txt (Shawn) use GPL/X11 dual licence for newly added dts files (Shawn) discard one level of container node (Shawn) squash several patches into one patch (Shawn)

 arch/arm/boot/dts/Makefile              |   1 +
 arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 293 ++++++++++++++++++++++++++++++++
 2 files changed, 294 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx7d-cl-som-imx7.dts
arch/arm/boot/dts/Makefile +1 -0
index 30bbc37..83ed521 100644
@@ -350,6 +350,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
 dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ul-14x14-evk.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
+	imx7d-cl-som-imx7.dtb \
 	imx7d-sdb.dtb
 dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-qds.dtb \
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +19 -0
new file mode 100644
index 0000000..1ec4528
@@ -0,0 +1,293 @@
+/*
+ * Support for CompuLab CL-SOM-iMX7 System-on-Module
+ *
+ * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
+ * Author: Ilya Ledvich <[email protected]>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+#include "imx7d.dtsi"
+
+/ {
+	model = "CompuLab CL-SOM-iMX7";

arch/arm/boot/dts/imx7d-cl-som-imx7.dts line 29

Quoted 10 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +10 -0
+	compatible = "compulab,cl-som-imx7", "fsl,imx7d";
+
+	memory {
+		reg = <0x80000000 0x10000000>; /* 256 MB - minimal configuration */
+	};
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;

DT maintainers dislike this fake "simple-bus" container, and we were asked to put fixed regulator directly under root. I fixed it up like below:

	reg_usb_otg1_vbus: regulator-vbus {
		compatible = "regulator-fixed";
		regulator-name = "usb_otg1_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

Shawn

Quoted 268 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +264 -0
+
+		reg_usb_otg1_vbus: regulator at 0 {
+			compatible = "regulator-fixed";
+			reg = <0>;
+			regulator-name = "usb_otg1_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+			enable-active-high;
+		};
+	};
+};
+
+&cpu0 {
+	arm-supply = <&sw1a_reg>;
+};
+
+&fec1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_enet1>;
+	assigned-clocks = <&clks IMX7D_ENET1_TIME_ROOT_SRC>,
+			  <&clks IMX7D_ENET1_TIME_ROOT_CLK>;
+	assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>;
+	assigned-clock-rates = <0>, <100000000>;
+	phy-mode = "rgmii";
+	phy-handle = <&ethphy0>;
+	fsl,magic-packet;
+	status = "okay";
+
+	mdio {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		ethphy0: ethernet-phy at 0 {
+			reg = <0>;
+		};
+
+		ethphy1: ethernet-phy at 1 {
+			reg = <1>;
+		};
+	};
+};
+
+&fec2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_enet2>;
+	assigned-clocks = <&clks IMX7D_ENET2_TIME_ROOT_SRC>,
+			  <&clks IMX7D_ENET2_TIME_ROOT_CLK>;
+	assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>;
+	assigned-clock-rates = <0>, <100000000>;
+	phy-mode = "rgmii";
+	phy-handle = <&ethphy1>;
+	fsl,magic-packet;
+	status = "okay";
+};
+
+&i2c2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c2>;
+	status = "okay";
+
+	pmic: pmic at 8 {
+		compatible = "fsl,pfuze3000";
+		reg = <0x08>;
+
+		regulators {
+			sw1a_reg: sw1a {
+				regulator-min-microvolt = <700000>;
+				regulator-max-microvolt = <1475000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <6250>;
+			};
+
+			/* use sw1c_reg to align with pfuze100/pfuze200 */
+			sw1c_reg: sw1b {
+				regulator-min-microvolt = <700000>;
+				regulator-max-microvolt = <1475000>;
+				regulator-boot-on;
+				regulator-always-on;
+				regulator-ramp-delay = <6250>;
+			};
+
+			sw2_reg: sw2 {
+				regulator-min-microvolt = <1500000>;
+				regulator-max-microvolt = <1850000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			sw3a_reg: sw3 {
+				regulator-min-microvolt = <900000>;
+				regulator-max-microvolt = <1650000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			swbst_reg: swbst {
+				regulator-min-microvolt = <5000000>;
+				regulator-max-microvolt = <5150000>;
+			};
+
+			snvs_reg: vsnvs {
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vref_reg: vrefddr {
+				regulator-boot-on;
+				regulator-always-on;
+			};
+
+			vgen1_reg: vldo1 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen2_reg: vldo2 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <1550000>;
+			};
+
+			vgen3_reg: vccsd {
+				regulator-min-microvolt = <2850000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen4_reg: v33 {
+				regulator-min-microvolt = <2850000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen5_reg: vldo3 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+
+			vgen6_reg: vldo4 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+		};
+	};
+
+	pca9555: pca9555 at 20 {
+		compatible = "nxp,pca9555";
+		gpio-controller;
+		#gpio-cells = <2>;
+		reg = <0x20>;
+	};
+
+	eeprom at 50 {
+		compatible = "atmel,24c08";
+		reg = <0x50>;
+		pagesize = <16>;
+	};
+};
+
+&uart1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_uart1>;
+	assigned-clocks = <&clks IMX7D_UART1_ROOT_SRC>;
+	assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>;
+	status = "okay";
+};
+
+&usbotg1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usbotg1>;
+	vbus-supply = <&reg_usb_otg1_vbus>;
+	status = "okay";
+};
+
+&usdhc3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usdhc3>;
+	assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>;
+	assigned-clock-rates = <400000000>;
+	bus-width = <8>;
+	fsl,tuning-step = <2>;
+	non-removable;
+	status = "okay";
+};
+
+&iomuxc {
+	pinctrl_enet1: enet1grp {
+		fsl,pins = <
+			MX7D_PAD_SD2_CD_B__ENET1_MDIO			0x3
+			MX7D_PAD_SD2_WP__ENET1_MDC			0x3
+			MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC	0x1
+			MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0	0x1
+			MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1	0x1
+			MX7D_PAD_ENET1_RGMII_TD2__ENET1_RGMII_TD2	0x1
+			MX7D_PAD_ENET1_RGMII_TD3__ENET1_RGMII_TD3	0x1
+			MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL	0x1
+			MX7D_PAD_ENET1_RGMII_RXC__ENET1_RGMII_RXC	0x1
+			MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0	0x1
+			MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1	0x1
+			MX7D_PAD_ENET1_RGMII_RD2__ENET1_RGMII_RD2	0x1
+			MX7D_PAD_ENET1_RGMII_RD3__ENET1_RGMII_RD3	0x1
+			MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL	0x1
+		>;
+	};
+
+	pinctrl_enet2: enet2grp {
+		fsl,pins = <
+			MX7D_PAD_EPDC_GDSP__ENET2_RGMII_TXC		0x1
+			MX7D_PAD_EPDC_SDCE2__ENET2_RGMII_TD0		0x1
+			MX7D_PAD_EPDC_SDCE3__ENET2_RGMII_TD1		0x1
+			MX7D_PAD_EPDC_GDCLK__ENET2_RGMII_TD2		0x1
+			MX7D_PAD_EPDC_GDOE__ENET2_RGMII_TD3		0x1
+			MX7D_PAD_EPDC_GDRL__ENET2_RGMII_TX_CTL		0x1
+			MX7D_PAD_EPDC_SDCE1__ENET2_RGMII_RXC		0x1
+			MX7D_PAD_EPDC_SDCLK__ENET2_RGMII_RD0		0x1
+			MX7D_PAD_EPDC_SDLE__ENET2_RGMII_RD1		0x1
+			MX7D_PAD_EPDC_SDOE__ENET2_RGMII_RD2		0x1
+			MX7D_PAD_EPDC_SDSHR__ENET2_RGMII_RD3		0x1
+			MX7D_PAD_EPDC_SDCE0__ENET2_RGMII_RX_CTL		0x1
+		>;
+	};
+
+	pinctrl_i2c2: i2c2grp {
+		fsl,pins = <
+			MX7D_PAD_I2C2_SDA__I2C2_SDA		0x4000007f
+			MX7D_PAD_I2C2_SCL__I2C2_SCL		0x4000007f
+		>;
+	};
+
+	pinctrl_uart1: uart1grp {
+		fsl,pins = <
+			MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX	0x79
+			MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX	0x79
+		>;
+	};
+
+	pinctrl_usbotg1: usbotg1grp {
+		fsl,pins = <
+			MX7D_PAD_GPIO1_IO05__GPIO1_IO5		0x14 /* OTG PWREN */
+		>;
+	};
+
+	pinctrl_usdhc3: usdhc3grp {
+		fsl,pins = <
+			MX7D_PAD_SD3_CMD__SD3_CMD		0x59
+			MX7D_PAD_SD3_CLK__SD3_CLK		0x19
+			MX7D_PAD_SD3_DATA0__SD3_DATA0		0x59
+			MX7D_PAD_SD3_DATA1__SD3_DATA1		0x59
+			MX7D_PAD_SD3_DATA2__SD3_DATA2		0x59
+			MX7D_PAD_SD3_DATA3__SD3_DATA3		0x59
+			MX7D_PAD_SD3_DATA4__SD3_DATA4		0x59
+			MX7D_PAD_SD3_DATA5__SD3_DATA5		0x59
+			MX7D_PAD_SD3_DATA6__SD3_DATA6		0x59
+			MX7D_PAD_SD3_DATA7__SD3_DATA7		0x59
+			MX7D_PAD_SD3_STROBE__SD3_STROBE		0x19
+		>;
+	};
+};
Signature · 1 line
1.9.1
#26 lore raw

PATCH v2 1/2 ARM: dts: imx7d: cl-som-imx7: add basic module support

Hi Shawn,

Quoted 1 line · Shawn Guo

On Tue, Dec 22, 2015 at 10:15:19AM +0200, Ilya Ledvich wrote:

[...]

Quoted 17 lines

arch/arm/boot/dts/imx7d-cl-som-imx7.dts line 29

Quoted 12 lines
arch/arm/boot/dts/imx7d-cl-som-imx7.dts new file +12 -0
+/ {
+	model = "CompuLab CL-SOM-iMX7";
+	compatible = "compulab,cl-som-imx7", "fsl,imx7d";
+
+	memory {
+		reg = <0x80000000 0x10000000>; /* 256 MB - minimal configuration */
+	};
+
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;

DT maintainers dislike this fake "simple-bus" container, and we were asked to put fixed regulator directly under root. I fixed it up like below:

Quoted 9 lines
	reg_usb_otg1_vbus: regulator-vbus {
		compatible = "regulator-fixed";
		regulator-name = "usb_otg1_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

Looks good! Thanks for adjusting this.

[...]

Signature · 2 lines
Regards,
Igor.
#27 lore raw

PATCH v2 2/2 ARM: dts: imx7d: sbc-imx7: add basic board support

In reply to Ilya Ledvich

SBC-iMX7 is a single board computer designed for industrial and embedded applications. It is based on the Freescale i.MX7 system-on-chip. SBC-iMX7 is implemented with the CL-SOM-iMX7 System-on-Module providing most of the functions, and SB-SOM-iMX7 carrier board providing additional peripheral functions and connectors.

http://www.compulab.co.il/products/sbcs/sbc-imx7-freescale-i-mx-7-single-board-computer/

http://www.compulab.co.il/products/computer-on-modules/cl-som-imx7-freescale-i-mx-7-system-on-module/

Add basic board support, including SD card as a secondary boot and storage device

---

v2: move board description out of fsl.txt (Shawn)
use GPL/X11 dual licence for newly added dts files (Shawn)

 arch/arm/boot/dts/Makefile           |  1 +
 arch/arm/boot/dts/imx7d-sbc-imx7.dts | 44 ++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 arch/arm/boot/dts/imx7d-sbc-imx7.dts
arch/arm/boot/dts/Makefile +1 -0
index 83ed521..72ef172 100644
@@ -351,6 +351,7 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ul-14x14-evk.dtb
 dtb-$(CONFIG_SOC_IMX7D) += \
 	imx7d-cl-som-imx7.dtb \
+	imx7d-sbc-imx7.dtb \
 	imx7d-sdb.dtb
 dtb-$(CONFIG_SOC_LS1021A) += \
 	ls1021a-qds.dtb \
arch/arm/boot/dts/imx7d-sbc-imx7.dts new file +44 -0

44 lines not on this page · raw message

Signature · 1 line
1.9.1
#28 lore raw

PATCH v2 2/2 ARM: dts: imx7d: sbc-imx7: add basic board support

Quoted 26 lines · Ilya Ledvich
arch/arm/boot/dts/imx7d-sbc-imx7.dts new file +20 -0
new file mode 100644
index 0000000..000f5b6
@@ -0,0 +1,44 @@
+/*
+ * Support for CompuLab SBC-iMX7 Single Board Computer
+ *
+ * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
+ * Author: Ilya Ledvich <[email protected]>
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ */
+
+#include "imx7d-cl-som-imx7.dts"
+
+/ {
+	model = "CompuLab SBC-iMX7";
+	compatible = "compulab,sbc-imx7", "compulab,cl-som-imx7", "fsl,imx7d";
+};
+
+&usdhc1 {

arch/arm/boot/dts/imx7d-sbc-imx7.dts line 30

Quoted 10 lines
arch/arm/boot/dts/imx7d-sbc-imx7.dts new file +10 -0
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_usdhc1>;
+	cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
+	wp-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
+	enable-sdio-wakeup;
+	status = "okay";
+};
+
+&iomuxc {
+	cl-som-imx7 {

This container should be dropped too. Please check my imx/dt branch for the fixup I made.

Shawn

Quoted 18 lines
arch/arm/boot/dts/imx7d-sbc-imx7.dts new file +14 -0
+		pinctrl_usdhc1: usdhc1grp {
+			fsl,pins = <
+				MX7D_PAD_SD1_CMD__SD1_CMD		0x59
+				MX7D_PAD_SD1_CLK__SD1_CLK		0x19
+				MX7D_PAD_SD1_DATA0__SD1_DATA0		0x59
+				MX7D_PAD_SD1_DATA1__SD1_DATA1		0x59
+				MX7D_PAD_SD1_DATA2__SD1_DATA2		0x59
+				MX7D_PAD_SD1_DATA3__SD1_DATA3		0x59
+				MX7D_PAD_SD1_CD_B__GPIO5_IO0		0x59 /* CD */
+				MX7D_PAD_SD1_WP__GPIO5_IO1		0x59 /* WP */
+			>;
+		};
+	};
+};
Signature · 1 line
1.9.1
#29 lore raw

PATCH v2 2/2 ARM: dts: imx7d: sbc-imx7: add basic board support

Quoted 1 line · Shawn Guo

On Tue, Dec 22, 2015 at 10:15:20AM +0200, Ilya Ledvich wrote:

[...]

Quoted 5 lines

arch/arm/boot/dts/imx7d-sbc-imx7.dts line 30

Quoted 2 lines

+&iomuxc {

arch/arm/boot/dts/imx7d-sbc-imx7.dts new file +1 -0
+	cl-som-imx7 {

This container should be dropped too. Please check my imx/dt branch for the fixup I made.

Ahhh... Sorry, we've messed this up...
While removing the redundant container from the other patch, this one was forgotten...
Sorry about this. Will pay more attention next time.

I've checked out your imx/dt branch and both patches look good. Thanks for fixing this for us!

Quoted 22 lines

Shawn

Quoted 18 lines
arch/arm/boot/dts/imx7d-sbc-imx7.dts new file +14 -0
+		pinctrl_usdhc1: usdhc1grp {
+			fsl,pins = <
+				MX7D_PAD_SD1_CMD__SD1_CMD		0x59
+				MX7D_PAD_SD1_CLK__SD1_CLK		0x19
+				MX7D_PAD_SD1_DATA0__SD1_DATA0		0x59
+				MX7D_PAD_SD1_DATA1__SD1_DATA1		0x59
+				MX7D_PAD_SD1_DATA2__SD1_DATA2		0x59
+				MX7D_PAD_SD1_DATA3__SD1_DATA3		0x59
+				MX7D_PAD_SD1_CD_B__GPIO5_IO0		0x59 /* CD */
+				MX7D_PAD_SD1_WP__GPIO5_IO1		0x59 /* WP */
+			>;
+		};
+	};
+};
Signature · 1 line
1.9.1
Signature · 2 lines
Regards,
Igor.
#30 lore raw

v2 cover Add support for CL-SOM-iMX7 and SBC-iMX7

In reply to Ilya Ledvich
Quoted 3 lines · Ilya Ledvich

Ilya Ledvich (2):
ARM: dts: imx7d: cl-som-imx7: add basic module support
ARM: dts: imx7d: sbc-imx7: add basic board support

I still have two comments there. But considering that I'm about to send v4.5 stuff today, I fixed them up and applied the series. I will reply to individual patch with my comments.

Shawn

#31 lore raw

v2 cover Add support for CL-SOM-iMX7 and SBC-iMX7

Quoted 8 lines · Shawn Guo
Quoted 3 lines · Ilya Ledvich

Ilya Ledvich (2):
ARM: dts: imx7d: cl-som-imx7: add basic module support
ARM: dts: imx7d: sbc-imx7: add basic board support

I still have two comments there. But considering that I'm about to send v4.5 stuff today, I fixed them up and applied the series. I will reply to individual patch with my comments.

Thank you very much for fixing those up.
I've checked the imx/dt branch and it looks good.

Thanks!

Signature · 2 lines
Regards,
Igor.