[U-Boot] New sunxi board: Lamobo Bananapi R1

Hans de Goede hdegoede at redhat.com
Sat Jul 4 10:08:03 CEST 2015


Hi Fabioca,

On 15-06-15 15:17, fabioca wrote:
> Please find patch below. I indicated as maintainer name Hans The Goede, as he
> his the maintainer of all other sunxi boards. Hope that was the correct
> thing to do.

For the next version of this patch please set the MAINTAINERS entry to
yourself, I do not have such a board so I cannot maintain it.

> Fabio
>
> commit dacdf4dc3174ef1e86884c7d47700abad19b5bb3
> Author: Fabio Cannizzo <Fabio_Cannizzo at yahoo.com>
> Date:   Sun Jun 14 21:22:21 2015 +0800
>
>      ARM: sun7i: Add config and dts file for Lamobo bananapi R1 board.
>
>      The config file is a copy of the one for bananapi
>
>      This dts file is an almost exact copy of the one for bananapi, except
> for the following differences:
>      - changed the device name
>      - overriden the value of PB3 to pull-up, to allow SATA to work with the
> standard u-boot parameters
>      Perhaps soemone with more experience of dts files should create an
> include file with all common definitions.

Have you submitted the dts file for inclusion into the upstream kernel already?

Also please change the name to not use bananapi in imt, the bananaFOO boards
are made by lemaker.org and this is not a lemaker board, the print on the board
itself calls it the lamobo-rq, as does the linux-sunxi community page and
the lamobo page:

http://linux-sunxi.org/Lamobo_R1
http://www.lamobo.com/lamobor.html

So please call the defconfig Lamobo_R1_defconfig and the dts file
sun7i-a20-lamobo-r1.dts

And set the model and compatible fields in the dts
accordingly.

Also I understand that a CONFIG_GMAC_TX_DELAY=4 may be better
for this board, have you tested this ?

Regards,

Hans




> ---
> View this message in context: http://u-boot.10912.n7.nabble.com/New-sunxi-board-Lamobo-Bananapi-R1-tp217120.html
> Sent from the U-Boot mailing list archive at Nabble.com.
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 9c735c6..a32d772 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -103,6 +103,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
>   	sun7i-a20-ainol-aw1.dtb \
>   	sun7i-a20-bananapi.dtb \
>   	sun7i-a20-bananapro.dtb \
> +	sun7i-a20-bananapir1.dtb \
>   	sun7i-a20-cubieboard2.dtb \
>   	sun7i-a20-cubietruck.dtb \
>   	sun7i-a20-hummingbird.dtb \
> diff --git a/arch/arm/dts/sun7i-a20-bananapir1.dts
> b/arch/arm/dts/sun7i-a20-bananapir1.dts
> new file mode 100644
> index 0000000..a77fb5c
> --- /dev/null
> +++ b/arch/arm/dts/sun7i-a20-bananapir1.dts
> @@ -0,0 +1,231 @@
> +/*
> + * Copyright 2014 Hans de Goede <hdegoede at redhat.com>
> + *
> + * Hans de Goede <hdegoede at redhat.com>
> + *
> + * 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 "sun7i-a20.dtsi"
> +#include "sunxi-common-regulators.dtsi"
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/pinctrl/sun4i-a10.h>
> +
> +/ {
> +	model = "Lamobo Banana Pi R1";
> +	compatible = "lemaker,bananapi", "allwinner,sun7i-a20";
> +
> +	aliases {
> +		serial0 = &uart0;
> +		serial1 = &uart3;
> +		serial2 = &uart7;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	leds {
> +		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&led_pins_bananapi>;
> +
> +		green {
> +			label = "bananapi:green:usr";
> +			gpios = <&pio 7 24 GPIO_ACTIVE_HIGH>;
> +		};
> +	};
> +
> +	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 = <100000>;
> +		enable-active-high;
> +		gpio = <&pio 7 23 GPIO_ACTIVE_HIGH>;
> +	};
> +};
> +
> +&ahci {
> +	status = "okay";
> +};
> +
> +&ehci0 {
> +	status = "okay";
> +};
> +
> +&ehci1 {
> +	status = "okay";
> +};
> +
> +&gmac {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&gmac_pins_rgmii_a>;
> +	phy = <&phy1>;
> +	phy-mode = "rgmii";
> +	phy-supply = <&reg_gmac_3v3>;
> +	status = "okay";
> +
> +	phy1: ethernet-phy at 1 {
> +		reg = <1>;
> +	};
> +};
> +
> +&i2c0 {
> +	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 IRQ_TYPE_LEVEL_LOW>;
> +
> +		interrupt-controller;
> +		#interrupt-cells = <1>;
> +	};
> +};
> +
> +&i2c2 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&i2c2_pins_a>;
> +	status = "okay";
> +};
> +
> +&ir0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&ir0_rx_pins_a>;
> +	status = "okay";
> +};
> +
> +&mmc0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
> +	vmmc-supply = <&reg_vcc3v3>;
> +	bus-width = <4>;
> +	cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
> +	cd-inverted;
> +	status = "okay";
> +};
> +
> +&ohci0 {
> +	status = "okay";
> +};
> +
> +&ohci1 {
> +	status = "okay";
> +};
> +
> +&pio {
> +	mmc0_cd_pin_bananapi: mmc0_cd_pin at 0 {
> +		allwinner,pins = "PH10";
> +		allwinner,function = "gpio_in";
> +		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> +		allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
> +	};
> +
> +	gmac_power_pin_bananapi: gmac_power_pin at 0 {
> +		allwinner,pins = "PH23";
> +		allwinner,function = "gpio_out";
> +		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> +		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
> +	};
> +
> +	led_pins_bananapi: led_pins at 0 {
> +		allwinner,pins = "PH24";
> +		allwinner,function = "gpio_out";
> +		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> +		allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
> +	};
> +
> +	ir0_tx_pins_a: ir0 at 1 {
> +		allwinner,pins = "PB3";
> +		allwinner,function = "ir0";
> +		allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> +		allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
> +		};
> +
> +};
> +
> +&reg_usb1_vbus {
> +	status = "okay";
> +};
> +
> +&reg_usb2_vbus {
> +	status = "okay";
> +};
> +
> +&spi0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&spi0_pins_a>,
> +		    <&spi0_cs0_pins_a>,
> +		    <&spi0_cs1_pins_a>;
> +	status = "okay";
> +};
> +
> +&uart0 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&uart0_pins_a>;
> +	status = "okay";
> +};
> +
> +&uart3 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&uart3_pins_b>;
> +	status = "okay";
> +};
> +
> +&uart7 {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&uart7_pins_a>;
> +	status = "okay";
> +};
> +
> +&usbphy {
> +	usb1_vbus-supply = <&reg_usb1_vbus>;
> +	usb2_vbus-supply = <&reg_usb2_vbus>;
> +	status = "okay";
> +};
> diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
> index 7a42055..abf2c1c 100644
> --- a/board/sunxi/MAINTAINERS
> +++ b/board/sunxi/MAINTAINERS
> @@ -30,6 +30,7 @@ F:	include/configs/sun7i.h
>   F:	configs/A20-OLinuXino_MICRO_defconfig
>   F:	configs/Bananapi_defconfig
>   F:	configs/Bananapro_defconfig
> +F:	configs/Bananapir1_defconfig
>   F:	configs/i12-tvbox_defconfig
>   F:	configs/Linksprite_pcDuino3_defconfig
>   F:	configs/Linksprite_pcDuino3_fdt_defconfig
> diff --git a/configs/Bananapir1_defconfig b/configs/Bananapir1_defconfig
> new file mode 100644
> index 0000000..bf665e7
> --- /dev/null
> +++ b/configs/Bananapir1_defconfig
> @@ -0,0 +1,9 @@
> +CONFIG_ARM=y
> +CONFIG_ARCH_SUNXI=y
> +CONFIG_MACH_SUN7I=y
> +CONFIG_DRAM_CLK=432
> +CONFIG_GMAC_TX_DELAY=3
> +CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-bananapir1"
> +CONFIG_SPL=y
> +CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
> +CONFIG_ETH_DESIGNWARE=y
>


More information about the U-Boot mailing list