ARM: dts: add dts files for Cubieboard4
Subsystems (3)
cover ARM: dts: add dts files for Cubieboard4
From: Tyler Baker <[email protected]>
This series adds basic support for the Cubietech Cubieboard4.
The Cubietech Cubieboard4 is a A80 based development board with 2GB DDR3, 8GB eMMC, Micro SD, HDMI, VGA, 3.5mm audio jack. One USB OTG port and four USB 2.0 ports.
The sun9i-a80-optimus device tree[1] has been used to boot this board for some time now, as the two platforms are very similar. But there are differences, so it deserves it's own device tree. I've tested this series on a Cubieboard4[2][3] and can confirm UART, eMMC, and MMC are working properly.
This patch series is based on arm-soc v4.0-rc2.
[1] http://kernelci.org/boot/sun9i-a80-cubieboard4/
[2] http://lava.kernelci.org/scheduler/job/47969/log_file#L_13_308
[3] http://lava.kernelci.org/scheduler/job/47969/log_file#L_17_11
Tyler Baker (2):
ARM: dts: add cubietech cubieboard4
ARM: dts: add vendor prefix for cubietech
.../devicetree/bindings/vendor-prefixes.txt | 1 + arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 100 +++++++++++++++++++++ 3 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
Signature · 1 line
2.1.0
PATCH 1/2 ARM: dts: add cubietech cubieboard4
From: Tyler Baker <[email protected]>
Add a Cubietech Cubieboard4 device tree and instruct make to build it. This device tree has been derived from the sun9i-a80-optimus.dts as they are very similar in design[1]. Notably, I2C3 is not used on Cubieboard4 and the LED/PWM definitions will need to be updated in the future.
[1] http://dl.cubieboard.org/model/cc-a80/Hardware/CC-A80-HW-V1.1.pdf
--- arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 100 ++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
arch/arm/boot/dts/Makefile +2 -1
@@ -553,7 +553,8 @@ dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-a23-ippo-q8h-v5.dtb \ sun8i-a23-ippo-q8h-v1.2.dtb dtb-$(CONFIG_MACH_SUN9I) += \ - sun9i-a80-optimus.dtb + sun9i-a80-optimus.dtb \ + sun9i-a80-cubieboard4.dtb dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += \ tegra20-harmony.dtb \ tegra20-iris-512.dtb \
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts new file +100 -0
100 lines not on this page · raw message
Signature · 1 line
2.1.0
PATCH 1/2 ARM: dts: add cubietech cubieboard4
Hi Tyler,
Quoted 88 lines · tyler.baker at linaro.org
From: Tyler Baker <[email protected]>
Add a Cubietech Cubieboard4 device tree and instruct make to build it. This device tree has been derived from the
sun9i-a80-optimus.dtsas they are very similar in design[1]. Notably, I2C3 is not used on Cubieboard4 and the LED/PWM definitions will need to be updated in the future.[1] http://dl.cubieboard.org/model/cc-a80/Hardware/CC-A80-HW-V1.1.pdf
Signed-off-by Tyler Baker <[email protected]>--- arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 100 ++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/sun9i-a80-cubieboard4.dtsarch/arm/boot/dts/Makefile +2
-1@@ -553,7 +553,8 @@ dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-a23-ippo-q8h-v5.dtb \ sun8i-a23-ippo-q8h-v1.2.dtb dtb-$(CONFIG_MACH_SUN9I) += \ - sun9i-a80-optimus.dtb + sun9i-a80-optimus.dtb \ + sun9i-a80-cubieboard4.dtb dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += \ tegra20-harmony.dtb \ tegra20-iris-512.dtb \arch/arm/boot/dts/sun9i-a80-cubieboard4.dts new file +52
-0@@ -0,0 +1,100 @@ +/* + * Copyright 2015 Tyler Baker + * + * Tyler Baker <[email protected]> + * Chen-Yu Tsai <[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. + */ + +/dts-v1/; +#include "sun9i-a80.dtsi" +#include "sunxi-common-regulators.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/pinctrl/sun4i-a10.h> +
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts line 62
Quoted 10 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts new file +10
-0+/ { + model = "Cubietech Cubieboard4"; + compatible = "cubietech,a80-cubietruck", "allwinner,sun9i-a80"; + + aliases { + serial0 = &uart0; + }; + + chosen { + bootargs = "earlyprintk console=ttyS0,115200";
It would be great not to use earlyprintk, just in case we have a kernel compiled with earlyprintk support, but for another SoC.
And while we're at it, using stdout-path would allow use to get rid of the bootargs entirely.
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts line 68
Quoted 6 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts new file +6
-0+ }; + +}; + +&pio { +
This new line is not needed.
Quoted 22 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts new file +22
-0+ mmc0_cd_pin_cubieboard4: mmc0_cd_pin at 0 { + allwinner,pins = "PH18"; + allwinner,function = "gpio_in"; + allwinner,drive = <SUN4I_PINCTRL_10_MA>; + allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; + }; +}; + +&mmc0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins>, <&mmc0_cd_pin_cubieboard4>; + vmmc-supply = <®_vcc3v0>; + bus-width = <4>; + cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH18 */ + cd-inverted; + status = "okay"; +}; + +&mmc2 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc2_8bit_pins>; + vmmc-supply = <®_vcc3v0>;
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts line 100
Quoted 10 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts new file +10
-0+ bus-width = <8>; + non-removable; + status = "okay"; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins_a>; + status = "okay"; +};
Looks good otherwise, 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/20150308/f2a2eb90/attachment.sig>
PATCH 1/2 ARM: dts: add cubietech cubieboard4
Hi Maxime,
Quoted 86 lines · Maxime Ripard
Hi Tyler,
Quoted 83 lines · tyler.baker at linaro.org
From: Tyler Baker <[email protected]>
Add a Cubietech Cubieboard4 device tree and instruct make to build it. This device tree has been derived from the
sun9i-a80-optimus.dtsas they are very similar in design[1]. Notably, I2C3 is not used on Cubieboard4 and the LED/PWM definitions will need to be updated in the future.[1] http://dl.cubieboard.org/model/cc-a80/Hardware/CC-A80-HW-V1.1.pdf
Signed-off-by Tyler Baker <[email protected]>--- arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 100 ++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/sun9i-a80-cubieboard4.dtsarch/arm/boot/dts/Makefile +2
-1@@ -553,7 +553,8 @@ dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-a23-ippo-q8h-v5.dtb \ sun8i-a23-ippo-q8h-v1.2.dtb dtb-$(CONFIG_MACH_SUN9I) += \ - sun9i-a80-optimus.dtb + sun9i-a80-optimus.dtb \ + sun9i-a80-cubieboard4.dtb dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += \ tegra20-harmony.dtb \ tegra20-iris-512.dtb \arch/arm/boot/dts/sun9i-a80-cubieboard4.dts new file +47
-0@@ -0,0 +1,100 @@ +/* + * Copyright 2015 Tyler Baker + * + * Tyler Baker <[email protected]> + * Chen-Yu Tsai <[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. + */ + +/dts-v1/; +#include "sun9i-a80.dtsi"
Quoted 8 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts line 55
Quoted 8 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts new file +8
-0+#include "sunxi-common-regulators.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/pinctrl/sun4i-a10.h> + +/ { + model = "Cubietech Cubieboard4"; + compatible = "cubietech,a80-cubietruck", "allwinner,sun9i-a80";
I noticed this should not be a80-cubietruck but instead a80-cubieboard4. Will fix in v1.
Quoted 11 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts line 62
Quoted 7 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts new file +7
-0+ + aliases { + serial0 = &uart0; + }; + + chosen { + bootargs = "earlyprintk console=ttyS0,115200";It would be great not to use earlyprintk, just in case we have a kernel compiled with earlyprintk support, but for another SoC.
Quoted 2 lines
And while we're at it, using stdout-path would allow use to get rid of the bootargs entirely.
Great suggestion. I've removed the bootargs, added stdout-path, and have done some testing locally. Working just fine, will be included in v1.
Quoted 9 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts line 68
Quoted 7 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts new file +6
-0+ }; + +}; + +&pio { +This new line is not needed.
Ack.
Quoted 27 lines
Quoted 27 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts new file +26
-0+ mmc0_cd_pin_cubieboard4: mmc0_cd_pin at 0 { + allwinner,pins = "PH18"; + allwinner,function = "gpio_in"; + allwinner,drive = <SUN4I_PINCTRL_10_MA>; + allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; + }; +}; + +&mmc0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins>, <&mmc0_cd_pin_cubieboard4>; + vmmc-supply = <®_vcc3v0>; + bus-width = <4>; + cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH18 */ + cd-inverted; + status = "okay"; +}; + +&mmc2 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc2_8bit_pins>; + vmmc-supply = <®_vcc3v0>; + bus-width = <8>; + non-removable; + status = "okay"; +};
Quoted 8 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts line 100
Quoted 6 lines
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts new file +6
-0+ +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins_a>; + status = "okay"; +};Looks good otherwise, thanks!
Thanks for the review!
Quoted 7 lines
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
Tyler
PATCH 2/2 ARM: dts: add vendor prefix for cubietech
In reply to tyler.baker at linaro.orgFrom: Tyler Baker <[email protected]>
Add a cubietech vendor prefix, as it is missing. The cubietruck, cubieboard2, and cubieboard all already reference this prefix.
--- Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
@@ -45,6 +45,7 @@ cnxt Conexant Systems, Inc. cortina Cortina Systems, Inc. cosmic Cosmic Circuits crystalfontz Crystalfontz America, Inc. +cubietech Cubietech, Ltd. dallas Maxim Integrated Products (formerly Dallas Semiconductor) davicom DAVICOM Semiconductor, Inc. denx Denx Software Engineering
Signature · 1 line
2.1.0
Maxime Ripard
AppliedPATCH 2/2 ARM: dts: add vendor prefix for cubietech
Quoted 6 lines · tyler.baker at linaro.org
From: Tyler Baker <[email protected]>
Add a cubietech vendor prefix, as it is missing. The cubietruck, cubieboard2, and cubieboard all already reference this prefix.
Signed-off-by Tyler Baker <[email protected]>
Applied, 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/20150308/06a82ebb/attachment.sig>