diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile index b08f9ed1df..8471bb3cf4 100644 --- a/package/boot/uboot-sunxi/Makefile +++ b/package/boot/uboot-sunxi/Makefile @@ -9,13 +9,13 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=u-boot -PKG_VERSION:=2015.07 +PKG_VERSION:=2016.01-rc2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:= \ http://mirror2.openwrt.org/sources \ ftp://ftp.denx.de/pub/u-boot -PKG_MD5SUM:=3dac9a0b46fed77fc768ad3bd2d68c05 +PKG_MD5SUM:=aca6c7a38534812ab529e90aae976422 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) @@ -66,6 +66,10 @@ define uboot/Cubietruck TITLE:=U-Boot for Cubietruck endef +define uboot/Hummingbird_A31 + TITLE:=U-Boot for the Hummingbird A31 board +endef + define uboot/Mele_M9 TITLE:=U-Boot for the Mele M9 (A31) endef @@ -86,6 +90,10 @@ define uboot/Lamobo_R1 TITLE:=U-Boot for Lamobo R1 endef +define uboot/orangepi_plus + TITLE:=U-Boot for Orange Pi Plus (H3) +endef + UBOOTS:= \ A10-OLinuXino-Lime \ A13-OLinuXino \ @@ -96,11 +104,13 @@ UBOOTS:= \ Cubieboard \ Cubieboard2 \ Cubietruck \ + Hummingbird_A31 \ Mele_M9 \ OLIMEX_A13_SOM \ Linksprite_pcDuino \ Linksprite_pcDuino3 \ Lamobo_R1 \ + orangepi_plus define Package/uboot/template define Package/uboot-sunxi-$(1) diff --git a/package/boot/uboot-sunxi/patches/002-add-lamobo-r1.diff b/package/boot/uboot-sunxi/patches/002-add-lamobo-r1.diff deleted file mode 100644 index 0f7196fc11..0000000000 --- a/package/boot/uboot-sunxi/patches/002-add-lamobo-r1.diff +++ /dev/null @@ -1,285 +0,0 @@ -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-lamobo-r1.dtb \ - sun7i-a20-cubieboard2.dtb \ - sun7i-a20-cubietruck.dtb \ - sun7i-a20-hummingbird.dtb \ -diff --git a/arch/arm/dts/sun7i-a20-lamobo-r1.dts -b/arch/arm/dts/sun7i-a20-lamobo-r1.dts -new file mode 100644 -index 0000000..a77fb5c ---- /dev/null -+++ b/arch/arm/dts/sun7i-a20-lamobo-r1.dts -@@ -0,0 +1,231 @@ -+/* -+ * Copyright 2014 Hans de Goede -+ * -+ * Hans de Goede -+ * -+ * 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 -+#include -+#include -+ -+/ { -+ 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 = <®_gmac_3v3>; -+ status = "okay"; -+ -+ phy1: ethernet-phy@1 { -+ reg = <1>; -+ }; -+}; -+ -+&i2c0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c0_pins_a>; -+ status = "okay"; -+ -+ axp209: pmic@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 = <®_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@0 { -+ allwinner,pins = "PH10"; -+ allwinner,function = "gpio_in"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ gmac_power_pin_bananapi: gmac_power_pin@0 { -+ allwinner,pins = "PH23"; -+ allwinner,function = "gpio_out"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ led_pins_bananapi: led_pins@0 { -+ allwinner,pins = "PH24"; -+ allwinner,function = "gpio_out"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ ir0_tx_pins_a: ir0@1 { -+ allwinner,pins = "PB3"; -+ allwinner,function = "ir0"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+}; -+ -+®_usb1_vbus { -+ status = "okay"; -+}; -+ -+®_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 = <®_usb1_vbus>; -+ usb2_vbus-supply = <®_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/Lamobo_R1_defconfig - F: configs/i12-tvbox_defconfig - F: configs/Linksprite_pcDuino3_defconfig - F: configs/Linksprite_pcDuino3_fdt_defconfig -diff --git a/configs/Lamobo_R1_defconfig b/configs/Lamobo_R1_defconfig -new file mode 100644 -index 0000000..bf665e7 ---- /dev/null -+++ b/configs/Lamobo_R1_defconfig -@@ -0,0 +1,17 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_SUNXI=y -+CONFIG_MACH_SUN7I=y -+CONFIG_DRAM_CLK=432 -+CONFIG_GMAC_TX_DELAY=4 -+CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-lamobo-r1" -+CONFIG_SPL=y -+CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI" -+CONFIG_ETH_DESIGNWARE=y -+# CONFIG_CMD_IMLS is not set -+# CONFIG_CMD_FLASH is not set -+# CONFIG_CMD_FPGA is not set -+CONFIG_DM_SERIAL=y -+CONFIG_USB=y -+CONFIG_DM_USB=y -+CONFIG_NETDEVICES=y -+CONFIG_NET=y diff --git a/package/boot/uboot-sunxi/patches/003-add-olimex-a13-som.diff b/package/boot/uboot-sunxi/patches/002-add-olimex-a13-som.diff similarity index 94% rename from package/boot/uboot-sunxi/patches/003-add-olimex-a13-som.diff rename to package/boot/uboot-sunxi/patches/002-add-olimex-a13-som.diff index e160b3da10..a8c5b3d938 100644 --- a/package/boot/uboot-sunxi/patches/003-add-olimex-a13-som.diff +++ b/package/boot/uboot-sunxi/patches/002-add-olimex-a13-som.diff @@ -1,7 +1,7 @@ diff -ruN u-boot-2015.01.old/configs/OLIMEX_A13_SOM_defconfig u-boot-2015.01/configs/OLIMEX_A13_SOM_defconfig --- u-boot-2015.01.old/configs/OLIMEX_A13_SOM_defconfig 1970-01-01 01:00:00.000000000 +0100 +++ u-boot-2015.01/configs/OLIMEX_A13_SOM_defconfig 2015-01-18 16:25:11.908986082 +0100 -@@ -0,0 +1,15 @@ +@@ -0,0 +1,16 @@ +CONFIG_SPL=y +CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=2,NO_AXP,USB_EHCI" +CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino" @@ -17,3 +17,4 @@ diff -ruN u-boot-2015.01.old/configs/OLIMEX_A13_SOM_defconfig u-boot-2015.01/con +CONFIG_DM_SERIAL=y +CONFIG_USB=y +CONFIG_DM_USB=y ++CONFIG_SYS_NS16550=y diff --git a/package/boot/uboot-sunxi/patches/004-sunxi-mmc-set-transfer-timeout-according-to-byte_cnt.patch b/package/boot/uboot-sunxi/patches/004-sunxi-mmc-set-transfer-timeout-according-to-byte_cnt.patch deleted file mode 100644 index 964aa577b1..0000000000 --- a/package/boot/uboot-sunxi/patches/004-sunxi-mmc-set-transfer-timeout-according-to-byte_cnt.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/package/boot/uboot-sunxi/patches/004-sunxi-mmc-set-transfer-timeout-according-to-byte_cnt.patch b/package/boot/uboot-sunxi/patches/004-sunxi-mmc-set-transfer-timeout-according-to-byte_cnt.patch -new file mode 100644 -index 0000000..180b60b ---- /dev/null -+++ b/package/boot/uboot-sunxi/patches/004-sunxi-mmc-set-transfer-timeout-according-to-byte_cnt.patch -@@ -0,0 +1,36 @@ -+From 8a5481e2e51a86e858c4f1481729421f26cc240c Mon Sep 17 00:00:00 2001 -+From: Yousong Zhou -+Date: Sat, 29 Aug 2015 21:26:11 +0800 -+Subject: [PATCH] sunxi: mmc: set transfer timeout according to byte_cnt. -+ -+Originally a timeout value of 2 seconds was used regardless of the size -+of data to be transfered. This prevented slow devices from working -+correctly while there was no much gain for faster devices, e.g. it takes -+3708ms for a transfer of uImage of size 1899008 bytes. -+ -+Signed-off-by: Yousong Zhou -+--- -+ drivers/mmc/sunxi_mmc.c | 6 ++++-- -+ 1 file changed, 4 insertions(+), 2 deletions(-) -+ -+diff --git a/drivers/mmc/sunxi_mmc.c b/drivers/mmc/sunxi_mmc.c -+index e7ab828..7a990f7 100644 -+--- a/drivers/mmc/sunxi_mmc.c -++++ b/drivers/mmc/sunxi_mmc.c -+@@ -257,9 +257,11 @@ static int mmc_trans_data_by_cpu(struct mmc *mmc, struct mmc_data *data) -+ const uint32_t status_bit = reading ? SUNXI_MMC_STATUS_FIFO_EMPTY : -+ SUNXI_MMC_STATUS_FIFO_FULL; -+ unsigned i; -+- unsigned byte_cnt = data->blocksize * data->blocks; -+- unsigned timeout_msecs = 2000; -+ unsigned *buff = (unsigned int *)(reading ? data->dest : data->src); -++ unsigned byte_cnt = data->blocksize * data->blocks; -++ unsigned timeout_msecs = byte_cnt >> 8; -++ if (timeout_msecs < 2000) -++ timeout_msecs = 2000; -+ -+ /* Always read / write data through the CPU */ -+ setbits_le32(&mmchost->reg->gctrl, SUNXI_MMC_GCTRL_ACCESS_BY_AHB); -+-- -+1.7.10.4 -+