Skip to contentSkip to conversation

ARM: dt: sunxi: Add Itead Ibox support

PATCH New codekipper at gmail.com 2 participants 5 messages Jan 23, 2016 – Jan 27, 2016

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

v4 cover ARM: dt: sunxi: Add Itead Ibox support

From: Marcus Cooper <[email protected]>

Hi All,

this patch series is an extension of the initial patch delivery for the Itead Ibox as found here
https://groups.google.com/d/msg/linux-sunxi/GR_co3ObW8s/0BTPQljmAAAJ.

There seems to be a few Itead variants out there based on their A10/A20 core module and this patch series attempts to organise the device tree files with some consideration that these variants may be added later.

I've also converted the A10 Itead Iteaduino dts to use this common file. As I don't have this board to verify the changes I simply compared the output of the fdtdump before and after applying these patches. The only difference was the reduction to the dcdc2 max voltage.

BR,
CK

---
Changes since v3:
- Removed spi0 from Itead Ibox dts.
- Removed unneccessary header references.
- Removed Itead A10/A20 Core dtsi, moving what SoC specific parts to the board dts and generic parts to the common dtsi.
- fixed naming delimiters in compatibles.

Changes since v2:
- removed duplicate naming
- moved enabling of some peripherals to board level.

Changes since v1:
- Added audio codec.
- Seperated into individual patches
- added Itead A10 core dtsi
- modified sun4i-a10-itead-iteaduino-plus.dts to use itead common core dtsii

Marcus Cooper (3):
ARM: dts: sunxi: Add sunxi-itead-core-common.dtsi
ARM: dts: sun7i: Add Itead Ibox support
ARM: dts: sun4i: Itead Iteaduino to use common code

 arch/arm/boot/dts/Makefile                         |   1 +
 .../boot/dts/sun4i-a10-itead-iteaduino-plus.dts    |  86 +------------
 arch/arm/boot/dts/sun7i-a20-itead-ibox.dts         | 125 +++++++++++++++++++
 arch/arm/boot/dts/sunxi-itead-core-common.dtsi     | 136 +++++++++++++++++++++
 4 files changed, 264 insertions(+), 84 deletions(-)
 create mode 100644 arch/arm/boot/dts/sun7i-a20-itead-ibox.dts
 create mode 100644 arch/arm/boot/dts/sunxi-itead-core-common.dtsi
Signature · 1 line
2.7.0
#1 lore raw

PATCH v4 1/3 ARM: dts: sunxi: Add sunxi-itead-core-common.dtsi

From: Marcus Cooper <[email protected]>

Itead have a core module board that can be populated with either an Allwinner A10 or A20 SoC. This patch creates a common dtsi which these boards can use.

---
 arch/arm/boot/dts/sunxi-itead-core-common.dtsi | 136 +++++++++++++++++++++++++
 1 file changed, 136 insertions(+)
 create mode 100644 arch/arm/boot/dts/sunxi-itead-core-common.dtsi
arch/arm/boot/dts/sunxi-itead-core-common.dtsi new file +136 -0
new file mode 100644
index 0000000..2565d51
@@ -0,0 +1,136 @@
+/*
+ * Copyright 2015 - Marcus Cooper <[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; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     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 "AS IS", 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.
+ */
+
+#include "sunxi-common-regulators.dtsi"
+
+/ {
+	aliases {
+		serial0 = &uart0;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+};
+
+&cpu0 {
+	cpu-supply = <&reg_dcdc2>;
+};
+
+&ehci0 {
+	status = "okay";
+};
+
+&ehci1 {
+	status = "okay";
+};
+
+&i2c0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c0_pins_a>;
+	status = "okay";
+
+	axp209: pmic at 34 {
+		reg = <0x34>;
+	};
+};
+
+&i2c1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c1_pins_a>;
+	status = "okay";
+};
+
+&ohci0 {
+	status = "okay";
+};
+
+&ohci1 {
+	status = "okay";
+};
+
+#include "axp209.dtsi"
+
+&reg_dcdc2 {
+	regulator-always-on;
+	regulator-min-microvolt = <1000000>;
+	regulator-max-microvolt = <1400000>;
+	regulator-name = "vdd-cpu";
+};
+
+&reg_dcdc3 {
+	regulator-always-on;
+	regulator-min-microvolt = <1000000>;
+	regulator-max-microvolt = <1400000>;
+	regulator-name = "vdd-int-dll";
+};
+
+&reg_ldo1 {
+	regulator-name = "vdd-rtc";
+};
+
+&reg_ldo2 {
+	regulator-always-on;
+	regulator-min-microvolt = <3000000>;
+	regulator-max-microvolt = <3000000>;
+	regulator-name = "avcc";
+};
+
+&reg_usb1_vbus {
+	status = "okay";
+};
+
+&reg_usb2_vbus {
+	status = "okay";
+};
+
+&uart0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart0_pins_a>;
+	status = "okay";
+};
+
+&usbphy {
+	usb1_vbus-supply = <&reg_usb1_vbus>;
+	usb2_vbus-supply = <&reg_usb2_vbus>;
+	status = "okay";
+};
Signature · 1 line
2.7.0
#2 lore raw

PATCH v4 2/3 ARM: dts: sun7i: Add Itead Ibox support

In reply to codekipper at gmail.com

From: Marcus Cooper <[email protected]>

The Itead Ibox is a multi board device based on the Allwinner A20 SoC. It contains the A20 Itead Core module and a base board for the external interfaces.

The core module comes with 4GB NAND and 1GB DDR RAM.

The base board to which the core board is connected provides 3 USB 2.0 Host ports, 1 USB 2.0 OTG, 1 uSD slot, 10/100 Ethernet port, HDMI, IR receiver, SPDIF and a 32-pin GPIO header. This header expands the features of core board by exposing the VGA pins, audio In/Out pins, SATA, SPI, I2C, UARTS, USB-OTG and power.

---
 arch/arm/boot/dts/Makefile                 |   1 +
 arch/arm/boot/dts/sun7i-a20-itead-ibox.dts | 125 +++++++++++++++++++++++++++++
 2 files changed, 126 insertions(+)
 create mode 100644 arch/arm/boot/dts/sun7i-a20-itead-ibox.dts
arch/arm/boot/dts/Makefile +1 -0
index da910b2..5c5e8f4 100644
@@ -638,6 +638,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
 	sun7i-a20-cubieboard2.dtb \
 	sun7i-a20-cubietruck.dtb \
 	sun7i-a20-hummingbird.dtb \
+	sun7i-a20-itead-ibox.dtb \
 	sun7i-a20-i12-tvbox.dtb \
 	sun7i-a20-icnova-swac.dtb \
 	sun7i-a20-m3.dtb \
arch/arm/boot/dts/sun7i-a20-itead-ibox.dts new file +125 -0

125 lines not on this page · raw message

Signature · 1 line
2.7.0
#3 lore raw

PATCH v4 3/3 ARM: dts: sun4i: Itead Iteaduino to use common code

In reply to codekipper at gmail.com

From: Marcus Cooper <[email protected]>

Convert the Itead Iteaduino A10 to use the new common itead core dtsi.

---
 .../boot/dts/sun4i-a10-itead-iteaduino-plus.dts    | 86 +---------------------
 1 file changed, 2 insertions(+), 84 deletions(-)
arch/arm/boot/dts/sun4i-a10-itead-iteaduino-plus.dts +2 -84
index 985e155..4e798f0 100644
@@ -1,5 +1,6 @@
 /*
  * Copyright 2015 Josef Gajdusek <[email protected]>
+ * Copyright 2015 - Marcus Cooper <[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
@@ -42,22 +43,11 @@
 
 /dts-v1/;
 #include "sun4i-a10.dtsi"
-#include "sunxi-common-regulators.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/pinctrl/sun4i-a10.h>
+#include "sunxi-itead-core-common.dtsi"
 
 / {
 	model = "Iteaduino Plus A10";
 	compatible = "itead,iteaduino-plus-a10", "allwinner,sun4i-a10";
-
-	aliases {
-		serial0 = &uart0;
-	};
-
-	chosen {
-		stdout-path = "serial0:115200n8";
-	};
 };
 
 &ahci {
@@ -65,18 +55,6 @@
 	status = "okay";
 };
 
-&cpu0 {
-	cpu-supply = <&reg_dcdc2>;
-};
-
-&ehci0 {
-	status = "okay";
-};
-
-&ehci1 {
-	status = "okay";
-};
-
 &emac {
 	pinctrl-names = "default";
 	pinctrl-0 = <&emac_pins_a>;
@@ -89,12 +67,7 @@
 };
 
 &i2c0 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&i2c0_pins_a>;
-	status = "okay";
-
 	axp209: pmic at 34 {
-		reg = <0x34>;
 		interrupts = <0>;
 	};
 };
@@ -135,68 +108,13 @@
 	status = "okay";
 };
 
-&ohci0 {
-	status = "okay";
-};
-
-&ohci1 {
-	status = "okay";
-};
-
 &reg_ahci_5v {
 	status = "okay";
 };
 
-#include "axp209.dtsi"
-
-&reg_dcdc2 {
-	regulator-always-on;
-	regulator-min-microvolt = <1000000>;
-	regulator-max-microvolt = <1450000>;
-	regulator-name = "vdd-cpu";
-};
-
-&reg_dcdc3 {
-	regulator-always-on;
-	regulator-min-microvolt = <1000000>;
-	regulator-max-microvolt = <1400000>;
-	regulator-name = "vdd-int-dll";
-};
-
-&reg_ldo1 {
-	regulator-name = "vdd-rtc";
-};
-
-&reg_ldo2 {
-	regulator-always-on;
-	regulator-min-microvolt = <3000000>;
-	regulator-max-microvolt = <3000000>;
-	regulator-name = "avcc";
-};
-
-&reg_usb1_vbus {
-	status = "okay";
-};
-
-&reg_usb2_vbus {
-	status = "okay";
-};
-
 &spi0 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&spi0_pins_a>,
 		    <&spi0_cs0_pins_a>;
 	status = "okay";
 };
-
-&uart0 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&uart0_pins_a>;
-	status = "okay";
-};
-
-&usbphy {
-	usb1_vbus-supply = <&reg_usb1_vbus>;
-	usb2_vbus-supply = <&reg_usb2_vbus>;
-	status = "okay";
-};
Signature · 1 line
2.7.0
#4 lore raw

v4 cover ARM: dt: sunxi: Add Itead Ibox support

In reply to codekipper at gmail.com
Quoted 8 lines · codekipper at gmail.com

From: Marcus Cooper <[email protected]>

Hi All,

this patch series is an extension of the initial patch delivery for the Itead Ibox as found here
https://groups.google.com/d/msg/linux-sunxi/GR_co3ObW8s/0BTPQljmAAAJ.

Quoted 9 lines

There seems to be a few Itead variants out there based on their A10/A20 core module and this patch series attempts to organise the device tree files with some consideration that these variants may be added later.

I've also converted the A10 Itead Iteaduino dts to use this common file. As I don't have this board to verify the changes I simply compared the output of the fdtdump before and after applying these patches. The only difference was the reduction to the dcdc2 max voltage.

Applied all three, thanks!

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160127/65a374a4/attachment.sig>