[PATCH] ARM: dt: sun7i: Add Banana Pi board
Maxime Ripard
maxime.ripard at free-electrons.com
Thu Jul 31 02:58:00 PDT 2014
Hi Hans,
On Tue, Jul 29, 2014 at 07:02:28PM +0200, Hans de Goede wrote:
> The Banana Pi is an A20 based development board using Raspberry Pi compatible
> IO headers. It comes with 1 GB RAM, 1 Gb ethernet, 2x USB host, sata, hdmi
> and stereo audio out + various expenansion headers:
>
> http://www.bananapi.org/
>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/sun7i-a20-bananapi.dts | 183 +++++++++++++++++++++++++++++++
> 2 files changed, 184 insertions(+)
> create mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index bdbc84a..440e037 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -379,6 +379,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \
> sun6i-a31-hummingbird.dtb \
> sun6i-a31-m9.dtb
> dtb-$(CONFIG_MACH_SUN7I) += \
> + sun7i-a20-bananapi.dtb \
> sun7i-a20-cubieboard2.dtb \
> sun7i-a20-cubietruck.dtb \
> sun7i-a20-i12-tvbox.dtb \
> diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
> new file mode 100644
> index 0000000..0332b82
> --- /dev/null
> +++ b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
> @@ -0,0 +1,183 @@
> +/*
> + * Copyright 2014 Hans de Goede <hdegoede at redhat.com>
> + *
> + * The code contained herein is licensed under the GNU General Public
> + * License. You may obtain a copy of the GNU General Public License
> + * Version 2 or later at the following locations:
> + *
> + * http://www.opensource.org/licenses/gpl-license.html
> + * http://www.gnu.org/copyleft/gpl.html
> + */
> +
> +/dts-v1/;
> +/include/ "sun7i-a20.dtsi"
> +/include/ "sunxi-common-regulators.dtsi"
> +
> +/ {
> + model = "LeMaker Banana Pi";
> + compatible = "lemaker,bananapi", "allwinner,sun7i-a20";
> +
> + soc at 01c00000 {
> + spi0: spi at 01c05000 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&spi0_pins_a>;
> + status = "okay";
> + };
> +
> + mmc0: mmc at 01c0f000 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
> + vmmc-supply = <®_vcc3v3>;
> + bus-width = <4>;
> + cd-gpios = <&pio 7 10 0>; /* PH10 */
> + cd-inverted;
> + status = "okay";
> + };
> +
> + usbphy: phy at 01c13400 {
> + usb1_vbus-supply = <®_usb1_vbus>;
> + usb2_vbus-supply = <®_usb2_vbus>;
> + status = "okay";
> + };
> +
> + ehci0: usb at 01c14000 {
> + status = "okay";
> + };
> +
> + ohci0: usb at 01c14400 {
> + status = "okay";
> + };
> +
> + ahci: sata at 01c18000 {
> + status = "okay";
> + };
> +
> + ehci1: usb at 01c1c000 {
> + status = "okay";
> + };
> +
> + ohci1: usb at 01c1c400 {
> + status = "okay";
> + };
> +
> + pinctrl at 01c20800 {
> + uart3_pins_bananapi: uart3_pin at 0 {
> + allwinner,pins = "PH0", "PH1";
> + allwinner,function = "uart3";
> + allwinner,drive = <0>;
> + allwinner,pull = <0>;
> + };
That node should be in the DTSI
> +
> + mmc0_cd_pin_bananapi: mmc0_cd_pin at 0 {
> + allwinner,pins = "PH10";
> + allwinner,function = "gpio_in";
> + allwinner,drive = <0>;
> + allwinner,pull = <1>;
> + };
> +
> + gmac_power_pin_bananapi: gmac_power_pin at 0 {
> + allwinner,pins = "PH23";
> + allwinner,function = "gpio_out";
> + allwinner,drive = <0>;
> + allwinner,pull = <0>;
> + };
> +
> + led_pins_bananapi: led_pins at 0 {
> + allwinner,pins = "PH24";
> + allwinner,function = "gpio_out";
> + allwinner,drive = <0>;
> + allwinner,pull = <0>;
> + };
> + };
> +
> + ir0: ir at 01c21800 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&ir0_pins_a>;
> + status = "okay";
> + };
> +
> + uart0: serial at 01c28000 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart0_pins_a>;
> + status = "okay";
> + };
> +
> + uart3: serial at 01c28c00 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart3_pins_bananapi>;
> + status = "okay";
> + };
> +
> + uart7: serial at 01c29c00 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&uart7_pins_a>;
> + status = "okay";
> + };
> +
> + i2c0: i2c at 01c2ac00 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c0_pins_a>;
> + status = "okay";
> +
> + axp209: pmic at 34 {
> + compatible = "x-powers,axp209";
> + reg = <0x34>;
> + interrupt-parent = <&nmi_intc>;
> + interrupts = <0 8>;
> +
> + interrupt-controller;
> + #interrupt-cells = <1>;
> + };
> + };
> +
> + i2c2: i2c at 01c2b400 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2c2_pins_a>;
> + status = "okay";
> + };
> +
> + gmac: ethernet at 01c50000 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&gmac_pins_rgmii_a>;
> + phy = <&phy1>;
> + phy-mode = "rgmii";
> + phy-supply = <®_gmac_3v3>;
> + status = "okay";
> +
> + phy1: ethernet-phy at 1 {
> + reg = <1>;
> + };
> + };
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> + pinctrl-names = "default";
> + pinctrl-0 = <&led_pins_bananapi>;
> +
> + green {
> + label = "bananapi:green:usr";
> + gpios = <&pio 7 24 0>;
> + };
> + };
> +
> + reg_usb1_vbus: usb1-vbus {
> + status = "okay";
> + };
> +
> + reg_usb2_vbus: usb2-vbus {
> + status = "okay";
> + };
> +
> + reg_gmac_3v3: gmac-3v3 {
> + compatible = "regulator-fixed";
> + pinctrl-names = "default";
> + pinctrl-0 = <&gmac_power_pin_bananapi>;
> + regulator-name = "gmac-3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + startup-delay-us = <50000>;
> + enable-active-high;
> + gpio = <&pio 7 23 0>;
> + };
> +};
Looks fine otherwise, thanks!
Maxime
--
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/20140731/6f761c60/attachment.sig>
More information about the linux-arm-kernel
mailing list