2015-05-04 20:09:04

by Sebastian Hesselbarth

[permalink] [raw]
Subject: [PATCH v2 0/5] Add proper support for Compulab CM-A510/SBC-A510

This is v2 of the patch set to improve current mainline support for
the Compulab CM-A510 System-on-Module (SoM) and its default Compulab
SBC-A510 base board.

Compared to v1 [1] there have been the overall changes:
- Drop i2c-mux-pinctrl rework as Wolfram Sang raised concerns with
respect to OF_DYNAMIC. Instead we add i2c-mux-pinctrl node by
default and wait until corresponding driver respects disabled
sub-bus nodes. This will add 3 additional i2c busses to all
Dove based boards, but no functional change with respect to
i2c-0.
- Split patches dealing with arch/arm/boot/dts/Makefile to route
them though arm-soc directly.

Other patches of v1 have already been taken by MVEBU SoC maintainers
as fixes.

Patches are based on v4.1-rc1 and are intended for v4.2. All patches
contain appropriate Acked-by's from related maintainers. Patches 3
and 5 should go thought arm-soc directly, the rest can go though
mvebu tree.

Sebastian

[1] http://thread.gmane.org/gmane.linux.drivers.devicetree/110324

Sebastian Hesselbarth (5):
devicetree: vendor-prefixes: Add CompuLab to known vendors
ARM: dts: dove: Add internal i2c multiplexer node
ARM: dts: dove: Remove Compulab CM-A510 from Makefile
ARM: dts: dove: Add proper support for Compulab CM-A510/SBC-A510
ARM: dts: dove: Add Compulab SBC-A510 to Makefile

.../devicetree/bindings/vendor-prefixes.txt | 1 +
arch/arm/boot/dts/Makefile | 4 +-
arch/arm/boot/dts/dove-cm-a510.dts | 38 ----
arch/arm/boot/dts/dove-cm-a510.dtsi | 195 +++++++++++++++++++++
arch/arm/boot/dts/dove-sbc-a510.dts | 182 +++++++++++++++++++
arch/arm/boot/dts/dove.dtsi | 40 ++++-
6 files changed, 418 insertions(+), 42 deletions(-)
delete mode 100644 arch/arm/boot/dts/dove-cm-a510.dts
create mode 100644 arch/arm/boot/dts/dove-cm-a510.dtsi
create mode 100644 arch/arm/boot/dts/dove-sbc-a510.dts

---
Cc: Jason Cooper <[email protected]>
Cc: Andrew Lunn <[email protected]>
Cc: Gregory Clement <[email protected]>
Cc: Gabriel Dobato <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Olof Johansson <[email protected]>
Cc: [email protected]
Cc: [email protected]
--
2.1.0


2015-05-04 20:09:06

by Sebastian Hesselbarth

[permalink] [raw]
Subject: [PATCH v2 1/5] devicetree: vendor-prefixes: Add CompuLab to known vendors

This adds "compulab" as a vendor-prefix for CompuLab (compulab.co.il),
an Israeli company that builds ARM-based SoMs and CoMs.

Signed-off-by: Sebastian Hesselbarth <[email protected]>
Acked-by: Rob Herring <[email protected]>
---
Cc: Jason Cooper <[email protected]>
Cc: Andrew Lunn <[email protected]>
Cc: Gregory Clement <[email protected]>
Cc: Gabriel Dobato <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
Documentation/devicetree/bindings/vendor-prefixes.txt | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 80339192c93e..ff94ac484887 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -49,6 +49,7 @@ cirrus Cirrus Logic, Inc.
cloudengines Cloud Engines, Inc.
cnm Chips&Media, Inc.
cnxt Conexant Systems, Inc.
+compulab CompuLab
cortina Cortina Systems, Inc.
cosmic Cosmic Circuits
crystalfontz Crystalfontz America, Inc.
--
2.1.0

2015-05-04 20:11:12

by Sebastian Hesselbarth

[permalink] [raw]
Subject: [PATCH v2 2/5] ARM: dts: dove: Add internal i2c multiplexer node

This adds a i2c-mux-pinctrl node to dove.dtsi for the internal i2c
mux found on Dove SoCs. Up to now, we had no board using any of the
two additional i2c busses, so make sure the change does not break
any existing boards.

Therefore, we rename the i2c-controller node label to "i2c" and
enable it by default. Also, the dedicated sub-bus (now "i2c0") is
enabled by default. The two optional sub-busses require additional
external pin-muxing, so disable them by default.

Signed-off-by: Sebastian Hesselbarth <[email protected]>
Acked-by: Gregory CLEMENT <[email protected]>
---
Cc: Jason Cooper <[email protected]>
Cc: Andrew Lunn <[email protected]>
Cc: Gregory Clement <[email protected]>
Cc: Gabriel Dobato <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
arch/arm/boot/dts/dove.dtsi | 40 ++++++++++++++++++++++++++++++++++++++--
1 file changed, 38 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi
index 9ad829523a13..38b1f7e6004e 100644
--- a/arch/arm/boot/dts/dove.dtsi
+++ b/arch/arm/boot/dts/dove.dtsi
@@ -33,6 +33,42 @@
marvell,tauros2-cache-features = <0>;
};

+ i2c-mux {
+ compatible = "i2c-mux-pinctrl";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c-parent = <&i2c>;
+
+ pinctrl-names = "i2c0", "i2c1", "i2c2";
+ pinctrl-0 = <&pmx_i2cmux_0>;
+ pinctrl-1 = <&pmx_i2cmux_1>;
+ pinctrl-2 = <&pmx_i2cmux_2>;
+
+ i2c0: i2c@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+ };
+
+ i2c1: i2c@1 {
+ reg = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ /* Requires pmx_i2c1 on i2c controller node */
+ status = "disabled";
+ };
+
+ i2c2: i2c@2 {
+ reg = <2>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ /* Requires pmx_i2c2 on i2c controller node */
+ status = "disabled";
+ };
+ };
+
mbus {
compatible = "marvell,dove-mbus", "marvell,mbus", "simple-bus";
#address-cells = <2>;
@@ -123,7 +159,7 @@
status = "disabled";
};

- i2c0: i2c-ctrl@11000 {
+ i2c: i2c-ctrl@11000 {
compatible = "marvell,mv64xxx-i2c";
reg = <0x11000 0x20>;
#address-cells = <1>;
@@ -132,7 +168,7 @@
clock-frequency = <400000>;
timeout-ms = <1000>;
clocks = <&core_clk 0>;
- status = "disabled";
+ status = "okay";
};

uart0: serial@12000 {
--
2.1.0

2015-05-04 20:10:07

by Sebastian Hesselbarth

[permalink] [raw]
Subject: [PATCH v2 3/5] ARM: dts: dove: Remove Compulab CM-A510 from Makefile

Prior reworking Dove based Compulab CM-A510 device tree, remove it
from the compiled device tree files.

Signed-off-by: Sebastian Hesselbarth <[email protected]>
---
Cc: Jason Cooper <[email protected]>
Cc: Andrew Lunn <[email protected]>
Cc: Gregory Clement <[email protected]>
Cc: Gabriel Dobato <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Olof Johansson <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
arch/arm/boot/dts/Makefile | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 86217db2937a..dc24597c4f2e 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -649,7 +649,6 @@ dtb-$(CONFIG_MACH_ARMADA_XP) += \
armada-xp-openblocks-ax3-4.dtb \
armada-xp-synology-ds414.dtb
dtb-$(CONFIG_MACH_DOVE) += \
- dove-cm-a510.dtb \
dove-cubox.dtb \
dove-cubox-es.dtb \
dove-d2plug.dtb \
--
2.1.0

2015-05-04 20:10:03

by Sebastian Hesselbarth

[permalink] [raw]
Subject: [PATCH v2 4/5] ARM: dts: dove: Add proper support for Compulab CM-A510/SBC-A510

Existing dts file for Compulab CM-A510 was very limited due to missing
hardware. Now that we actually found somebody with that board, properly
rework it to provide a CoM/SoM include and a board file for Compulab's
SBC-A510.

Both the CM-A510 SoM and the SBC-A510 can be configured with different
options, so we only enable a minimum set of options. The actual board
configuration will have to be set by either the bootloader or user.

Although functionally not required, repeat even disabled nodes again
to increse their visibility in the dtsi/dts files.

Signed-off-by: Sebastian Hesselbarth <[email protected]>
Tested-by: Gabriel Dobato <[email protected]>
Acked-by: Gregory CLEMENT <[email protected]>
---
Cc: Jason Cooper <[email protected]>
Cc: Andrew Lunn <[email protected]>
Cc: Gregory Clement <[email protected]>
Cc: Gabriel Dobato <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
arch/arm/boot/dts/dove-cm-a510.dts | 38 -------
arch/arm/boot/dts/dove-cm-a510.dtsi | 195 ++++++++++++++++++++++++++++++++++++
arch/arm/boot/dts/dove-sbc-a510.dts | 182 +++++++++++++++++++++++++++++++++
3 files changed, 377 insertions(+), 38 deletions(-)
delete mode 100644 arch/arm/boot/dts/dove-cm-a510.dts
create mode 100644 arch/arm/boot/dts/dove-cm-a510.dtsi
create mode 100644 arch/arm/boot/dts/dove-sbc-a510.dts

diff --git a/arch/arm/boot/dts/dove-cm-a510.dts b/arch/arm/boot/dts/dove-cm-a510.dts
deleted file mode 100644
index 50c0d6904497..000000000000
--- a/arch/arm/boot/dts/dove-cm-a510.dts
+++ /dev/null
@@ -1,38 +0,0 @@
-/dts-v1/;
-
-#include "dove.dtsi"
-
-/ {
- model = "Compulab CM-A510";
- compatible = "compulab,cm-a510", "marvell,dove";
-
- memory {
- device_type = "memory";
- reg = <0x00000000 0x40000000>;
- };
-
- chosen {
- bootargs = "console=ttyS0,115200n8 earlyprintk";
- };
-};
-
-&uart0 { status = "okay"; };
-&uart1 { status = "okay"; };
-&sdio0 { status = "okay"; };
-&sdio1 { status = "okay"; };
-&sata0 { status = "okay"; };
-
-&spi0 {
- status = "okay";
-
- /* spi0.0: 4M Flash Winbond W25Q32BV */
- spi-flash@0 {
- compatible = "st,w25q32";
- spi-max-frequency = <20000000>;
- reg = <0>;
- };
-};
-
-&i2c0 {
- status = "okay";
-};
diff --git a/arch/arm/boot/dts/dove-cm-a510.dtsi b/arch/arm/boot/dts/dove-cm-a510.dtsi
new file mode 100644
index 000000000000..59b4056b478f
--- /dev/null
+++ b/arch/arm/boot/dts/dove-cm-a510.dtsi
@@ -0,0 +1,195 @@
+/*
+ * Device Tree include for Compulab CM-A510 System-on-Module
+ *
+ * Copyright (C) 2015, Sebastian Hesselbarth <[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.
+ *
+ * a) This file is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of the
+ * License.
+ *
+ * This file is distributed in the hope that it will be useful
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * The CM-A510 comes with several optional components:
+ *
+ * Memory options:
+ * D512: 512M
+ * D1024: 1G
+ *
+ * NAND options:
+ * N512: 512M NAND
+ *
+ * Ethernet options:
+ * E1: PHY RTL8211D on internal GbE (SMI address 0x03)
+ * E2: Additional ethernet NIC RTL8111D on PCIe1
+ *
+ * Audio options:
+ * A: TI TLV320AIC23b audio codec (I2C address 0x1a)
+ *
+ * Touchscreen options:
+ * I: TI TSC2046 touchscreen controller (on SPI1)
+ *
+ * USB options:
+ * U2: 2 dual-role USB2.0 ports
+ * U4: 2 additional USB2.0 host ports (via USB1)
+ *
+ * WiFi options:
+ * W: Broadcom BCM4319 802.11b/g/n (USI WM-N-BM-01 on SDIO1)
+ *
+ * GPIOs used on CM-A510:
+ * 1 GbE PHY reset (active low)
+ * 3 WakeUp
+ * 8 PowerOff (active low)
+ * 13 Touchscreen pen irq (active low)
+ * 65 System LED (active high)
+ * 69 USB Hub reset (active low)
+ * 70 WLAN reset (active low)
+ * 71 WLAN regulator (active high)
+ */
+
+#include "dove.dtsi"
+
+/ {
+ model = "Compulab CM-A510";
+ compatible = "compulab,cm-a510", "marvell,dove";
+
+ /*
+ * Set the minimum memory size here and let the
+ * bootloader set the real size.
+ */
+ memory {
+ device_type = "memory";
+ reg = <0x00000000 0x20000000>;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ /* Set upper NAND data bit to GPO */
+ pinctrl-0 = <&pmx_nand_gpo>;
+ pinctrl-names = "default";
+
+ system {
+ label = "cm-a510:system:green";
+ gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
+ default-state = "keep";
+ };
+ };
+
+ regulators {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ wifi_power: regulator@1 {
+ compatible = "regulator-fixed";
+ regulator-name = "WiFi Power";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio2 7 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+/* Optional RTL8211D GbE PHY on SMI address 0x03 */
+&ethphy {
+ reg = <3>;
+ status = "disabled";
+};
+
+&i2c0 {
+ /* Optional TI TLV320AIC23b audio codec */
+ opt_audio: audio@1a {
+ compatible = "ti,tlv320aic23";
+ reg = <0x1a>;
+ status = "disabled";
+ };
+};
+
+/* Optional RTL8111D GbE NIC on PCIe1 */
+&pcie { status = "disabled"; };
+
+&pcie1 {
+ pinctrl-0 = <&pmx_pcie1_clkreq>;
+ pinctrl-names = "default";
+ status = "disabled";
+};
+
+&pinctrl {
+ pmx_uart2: pmx-uart2 {
+ marvell,pins = "mpp14", "mpp15";
+ marvell,function = "uart2";
+ };
+};
+
+/* Optional Broadcom BCM4319 802.11b/g/n WiFi module */
+&sdio1 {
+ non-removable;
+ vmmc-supply = <&wifi_power>;
+ reset-gpio = <&gpio2 6 GPIO_ACTIVE_LOW>;
+ status = "disabled";
+};
+
+&spi0 {
+ status = "okay";
+
+ /* 1M Flash Winbond W25Q80BL */
+ flash@0 {
+ compatible = "winbond,w25q80";
+ spi-max-frequency = <80000000>;
+ reg = <0>;
+ };
+};
+
+&spi1 {
+ pinctrl-0 = <&pmx_spi1_20_23>;
+ pinctrl-names = "default";
+ status = "disabled";
+
+ /* Optional TI TSC2046 touchscreen controller */
+ opt_touch: touchscreen@0 {
+ compatible = "ti,tsc2046";
+ spi-max-frequency = <2500000>;
+ reg = <0>;
+ pinctrl-0 = <&pmx_gpio_13>;
+ pinctrl-names = "default";
+ interrupts-extended = <&gpio0 13 IRQ_TYPE_EDGE_FALLING>;
+ };
+};
+
+&uart2 {
+ pinctrl-0 = <&pmx_uart2>;
+ pinctrl-names = "default";
+};
diff --git a/arch/arm/boot/dts/dove-sbc-a510.dts b/arch/arm/boot/dts/dove-sbc-a510.dts
new file mode 100644
index 000000000000..288e707dea99
--- /dev/null
+++ b/arch/arm/boot/dts/dove-sbc-a510.dts
@@ -0,0 +1,182 @@
+/*
+ * Device Tree file for Compulab SBC-A510 Single Board Computer
+ *
+ * Copyright (C) 2015, Sebastian Hesselbarth <[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.
+ *
+ * a) This file is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of the
+ * License.
+ *
+ * This file is distributed in the hope that it will be useful
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * Or, alternatively
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * SBC-A510 comprises a PCA9555 I2C GPIO expander its GPIO lines connected to
+ *
+ * 0.0 USB0 VBUS_EN (active high)
+ * 0.1 USB0 VBUS_GOOD
+ * 0.2 DVI transmitter TI TFP410 MSEN
+ * 0.3 DVI transmitter TI TFP410 PD# (active low power down)
+ * 0.4 LVDS transmitter DS90C365 PD# (active low power down)
+ * 0.5 LCD nRST (active low reset)
+ * 0.6 PCIe0 nRST (active low reset)
+ * 0.7 mini-PCIe slot W_DISABLE#
+ *
+ * 1.0 MMC WP
+ * 1.1 Camera Input FPC FLASH_STB and P21.5
+ * 1.2 Camera Input FPC WE and P21.22
+ * 1.3 MMC VCC_EN (active high) and P21.7
+ * 1.4 Camera Input FPC AFTR_RST and P21.17
+ * 1.5 Camera Input FPC OE and P21.19
+ * 1.6 Camera Input FPC SNPSHT and P21.6
+ * 1.7 Camera Input FPC SHTR and P21.10
+ */
+
+/dts-v1/;
+
+#include "dove-cm-a510.dtsi"
+
+/ {
+ model = "Compulab SBC-A510";
+ compatible = "compulab,sbc-a510", "compulab,cm-a510", "marvell,dove";
+
+ chosen {
+ stdout-path = &uart0;
+ };
+
+ regulators {
+ usb0_power: regulator@2 {
+ compatible = "regulator-fixed";
+ regulator-name = "USB Power";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ gpio = <&gpio_ext 0 GPIO_ACTIVE_HIGH>;
+ };
+
+ mmc_power: regulator@3 {
+ compatible = "regulator-fixed";
+ regulator-name = "MMC Power";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio_ext 13 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+/* Ethernet0 depends on CM-A510 option E1 */
+&mdio { status = "disabled"; };
+&eth { status = "disabled"; };
+&ethphy { status = "disabled"; };
+
+/*
+ * USB port 0 can be powered and monitored by I2C GPIO expander:
+ * VBUS_ENABLE on GPIO0, VBUS_GOOD on GPIO1
+ */
+&ehci0 {
+ status = "okay";
+ vbus-supply = <&usb0_power>;
+};
+
+/* USB port 1 (and ports 2, 3 if CM-A510 has U4 option) */
+&ehci1 { status = "okay"; };
+
+/*
+ * I2C bus layout:
+ * i2c0:
+ * - Audio Codec, 0x1a (option from CM-A510)
+ * - DVI transmitter TI TFP410, 0x39
+ * - HDMI/DVI DDC channel
+ * i2c1:
+ * - GPIO expander, NXP PCA9555, 0x20
+ * - VGA DDC channel
+ */
+&i2c {
+ pinctrl-0 = <&pmx_i2c1>;
+ pinctrl-names = "default";
+};
+
+&i2c0 {
+ /* TI TFP410 DVI transmitter */
+ dvi: video@39 {
+ compatible = "ti,tfp410";
+ reg = <0x39>;
+ powerdown-gpio = <&gpio_ext 3 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&i2c1 {
+ status = "okay";
+
+ /* NXP PCA9555 GPIO expander */
+ gpio_ext: gpio@20 {
+ compatible = "nxp,pca9555";
+ reg = <0x20>;
+ #gpio-cells = <2>;
+ };
+};
+
+&pcie { status = "okay"; };
+
+/*
+ * PCIe0 can be configured by Jumper E1 to be either connected to
+ * a mini-PCIe slot or a Pericom PI7C9X111 PCIe-to-PCI bridge.
+ */
+&pcie0 {
+ status = "okay";
+ pinctrl-0 = <&pmx_pcie0_clkreq>;
+ pinctrl-names = "default";
+ reset-gpios = <&gpio_ext 6 GPIO_ACTIVE_LOW>;
+};
+
+/* Ethernet1 depends on CM-A510 option E2 */
+&pcie1 { status = "disabled"; };
+
+/* SATA connector */
+&sata0 { status = "okay"; };
+
+/*
+ * SDIO0 is connected to a MMC/SD/SDIO socket, I2C GPIO expander has
+ * VCC_MMC_ENABLE on GPIO13, MMC_WP on GPIO10
+ */
+&sdio0 {
+ vmmc-supply = <&mmc_power>;
+ wp-gpios = <&gpio_ext 10 GPIO_ACTIVE_LOW>;
+ status = "okay";
+};
+
+/* UART0 on RS232 mini-connector */
+&uart0 { status = "okay"; };
+/* UART2 on pin headers */
+&uart2 { status = "okay"; };
--
2.1.0

2015-05-04 20:09:28

by Sebastian Hesselbarth

[permalink] [raw]
Subject: [PATCH v2 5/5] ARM: dts: dove: Add Compulab SBC-A510 to Makefile

With reworked device tree files for Compulab CM-A510 SoM and SBC-A510
base board, now add the correspoding board file to Makefile again.

Signed-off-by: Sebastian Hesselbarth <[email protected]>
---
Cc: Jason Cooper <[email protected]>
Cc: Andrew Lunn <[email protected]>
Cc: Gregory Clement <[email protected]>
Cc: Gabriel Dobato <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Olof Johansson <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
arch/arm/boot/dts/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index dc24597c4f2e..ba72134f1fd3 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -653,7 +653,8 @@ dtb-$(CONFIG_MACH_DOVE) += \
dove-cubox-es.dtb \
dove-d2plug.dtb \
dove-d3plug.dtb \
- dove-dove-db.dtb
+ dove-dove-db.dtb \
+ dove-sbc-a510.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += \
mt6589-aquaris5.dtb \
mt6592-evb.dtb \
--
2.1.0

2015-05-06 13:06:36

by Gregory CLEMENT

[permalink] [raw]
Subject: Re: [PATCH v2 0/5] Add proper support for Compulab CM-A510/SBC-A510

Hi Sebastian,

On 04/05/2015 22:08, Sebastian Hesselbarth wrote:
> This is v2 of the patch set to improve current mainline support for
> the Compulab CM-A510 System-on-Module (SoM) and its default Compulab
> SBC-A510 base board.
>
> Compared to v1 [1] there have been the overall changes:
> - Drop i2c-mux-pinctrl rework as Wolfram Sang raised concerns with
> respect to OF_DYNAMIC. Instead we add i2c-mux-pinctrl node by
> default and wait until corresponding driver respects disabled
> sub-bus nodes. This will add 3 additional i2c busses to all
> Dove based boards, but no functional change with respect to
> i2c-0.
> - Split patches dealing with arch/arm/boot/dts/Makefile to route
> them though arm-soc directly.
>
> Other patches of v1 have already been taken by MVEBU SoC maintainers
> as fixes.
>
> Patches are based on v4.1-rc1 and are intended for v4.2. All patches
> contain appropriate Acked-by's from related maintainers. Patches 3
> and 5 should go thought arm-soc directly, the rest can go though
> mvebu tree.

Usually even the change of the arch/arm/boot/dts/Makefile go to
arm-soc through mvebu. For patch 5 it makes sens because if the series
is spited then the Makefile could be merged before the new file
to build.

So unless, Arnd or Olof really want to pick the patches 3 and 5 I will
apply the patches 2 to 5 on mvebu/dt.

Arnd, Olof, do you agree?

Thanks,

Gregory



>
> Sebastian
>
> [1] http://thread.gmane.org/gmane.linux.drivers.devicetree/110324
>
> Sebastian Hesselbarth (5):
> devicetree: vendor-prefixes: Add CompuLab to known vendors
> ARM: dts: dove: Add internal i2c multiplexer node
> ARM: dts: dove: Remove Compulab CM-A510 from Makefile
> ARM: dts: dove: Add proper support for Compulab CM-A510/SBC-A510
> ARM: dts: dove: Add Compulab SBC-A510 to Makefile
>
> .../devicetree/bindings/vendor-prefixes.txt | 1 +
> arch/arm/boot/dts/Makefile | 4 +-
> arch/arm/boot/dts/dove-cm-a510.dts | 38 ----
> arch/arm/boot/dts/dove-cm-a510.dtsi | 195 +++++++++++++++++++++
> arch/arm/boot/dts/dove-sbc-a510.dts | 182 +++++++++++++++++++
> arch/arm/boot/dts/dove.dtsi | 40 ++++-
> 6 files changed, 418 insertions(+), 42 deletions(-)
> delete mode 100644 arch/arm/boot/dts/dove-cm-a510.dts
> create mode 100644 arch/arm/boot/dts/dove-cm-a510.dtsi
> create mode 100644 arch/arm/boot/dts/dove-sbc-a510.dts
>
> ---
> Cc: Jason Cooper <[email protected]>
> Cc: Andrew Lunn <[email protected]>
> Cc: Gregory Clement <[email protected]>
> Cc: Gabriel Dobato <[email protected]>
> Cc: Arnd Bergmann <[email protected]>
> Cc: Olof Johansson <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
>


--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

2015-05-06 13:13:24

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH v2 0/5] Add proper support for Compulab CM-A510/SBC-A510

On Wednesday 06 May 2015 15:06:29 Gregory CLEMENT wrote:
>
> On 04/05/2015 22:08, Sebastian Hesselbarth wrote:
> > This is v2 of the patch set to improve current mainline support for
> > the Compulab CM-A510 System-on-Module (SoM) and its default Compulab
> > SBC-A510 base board.
> >
> > Compared to v1 [1] there have been the overall changes:
> > - Drop i2c-mux-pinctrl rework as Wolfram Sang raised concerns with
> > respect to OF_DYNAMIC. Instead we add i2c-mux-pinctrl node by
> > default and wait until corresponding driver respects disabled
> > sub-bus nodes. This will add 3 additional i2c busses to all
> > Dove based boards, but no functional change with respect to
> > i2c-0.
> > - Split patches dealing with arch/arm/boot/dts/Makefile to route
> > them though arm-soc directly.
> >
> > Other patches of v1 have already been taken by MVEBU SoC maintainers
> > as fixes.
> >
> > Patches are based on v4.1-rc1 and are intended for v4.2. All patches
> > contain appropriate Acked-by's from related maintainers. Patches 3
> > and 5 should go thought arm-soc directly, the rest can go though
> > mvebu tree.
>
> Usually even the change of the arch/arm/boot/dts/Makefile go to
> arm-soc through mvebu. For patch 5 it makes sens because if the series
> is spited then the Makefile could be merged before the new file
> to build.
>
> So unless, Arnd or Olof really want to pick the patches 3 and 5 I will
> apply the patches 2 to 5 on mvebu/dt.
>
> Arnd, Olof, do you agree?

Yes, please pick up all the patches and send them to us with your
normal pull requests.

Arnd

2015-05-11 12:58:18

by Gregory CLEMENT

[permalink] [raw]
Subject: Re: [PATCH v2 0/5] Add proper support for Compulab CM-A510/SBC-A510

Hi Sebastian,

On 06/05/2015 15:13, Arnd Bergmann wrote:
> On Wednesday 06 May 2015 15:06:29 Gregory CLEMENT wrote:
>>
>> On 04/05/2015 22:08, Sebastian Hesselbarth wrote:
>>> This is v2 of the patch set to improve current mainline support for
>>> the Compulab CM-A510 System-on-Module (SoM) and its default Compulab
>>> SBC-A510 base board.
>>>
>>> Compared to v1 [1] there have been the overall changes:
>>> - Drop i2c-mux-pinctrl rework as Wolfram Sang raised concerns with
>>> respect to OF_DYNAMIC. Instead we add i2c-mux-pinctrl node by
>>> default and wait until corresponding driver respects disabled
>>> sub-bus nodes. This will add 3 additional i2c busses to all
>>> Dove based boards, but no functional change with respect to
>>> i2c-0.
>>> - Split patches dealing with arch/arm/boot/dts/Makefile to route
>>> them though arm-soc directly.
>>>
>>> Other patches of v1 have already been taken by MVEBU SoC maintainers
>>> as fixes.
>>>
>>> Patches are based on v4.1-rc1 and are intended for v4.2. All patches
>>> contain appropriate Acked-by's from related maintainers. Patches 3
>>> and 5 should go thought arm-soc directly, the rest can go though
>>> mvebu tree.
>>
>> Usually even the change of the arch/arm/boot/dts/Makefile go to
>> arm-soc through mvebu. For patch 5 it makes sens because if the series
>> is spited then the Makefile could be merged before the new file
>> to build.
>>
>> So unless, Arnd or Olof really want to pick the patches 3 and 5 I will
>> apply the patches 2 to 5 on mvebu/dt.
>>
>> Arnd, Olof, do you agree?
>
> Yes, please pick up all the patches and send them to us with your
> normal pull requests.

patches 2 to 5 applied on mvebu/dt

Thanks,

Gregory


>
> Arnd
>


--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com