Merge git://git.denx.de/u-boot-sunxi
authorTom Rini <trini@konsulko.com>
Tue, 19 Dec 2017 12:57:33 +0000 (07:57 -0500)
committerTom Rini <trini@konsulko.com>
Tue, 19 Dec 2017 12:57:33 +0000 (07:57 -0500)
29 files changed:
arch/arm/dts/Makefile
arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts [new file with mode: 0644]
arch/arm/dts/sun50i-h5-orangepi-prime.dts
arch/arm/dts/sun50i-h5.dtsi
arch/arm/dts/sun8i-a83t-tbs-a711.dts [new file with mode: 0644]
arch/arm/mach-sunxi/Kconfig
board/sunxi/MAINTAINERS
board/sunxi/gmac.c
cmd/fastboot/Kconfig
configs/A13-OLinuXino_defconfig
configs/A20-OLinuXino-Lime2-eMMC_defconfig
configs/A20-OLinuXino-Lime2_defconfig
configs/A20-OLinuXino_MICRO-eMMC_defconfig
configs/A20-OLinuXino_MICRO_defconfig
configs/A33-OLinuXino_defconfig
configs/CHIP_defconfig
configs/CHIP_pro_defconfig
configs/Cubietruck_defconfig
configs/Nintendo_NES_Classic_Edition_defconfig
configs/Sinlinx_SinA33_defconfig
configs/nanopi_neo_plus2_defconfig [new file with mode: 0644]
configs/parrot_r16_defconfig
configs/tbs_a711_defconfig [new file with mode: 0644]
disk/Kconfig
drivers/net/Kconfig
drivers/video/sunxi/sunxi_de2.c
drivers/video/sunxi/sunxi_dw_hdmi.c
include/configs/sunxi-common.h
include/part_efi.h

index 1c9ac1468b2625c02395e51dc773f8f5d76cb634..7b798ae7383667253630364e934059ee9a427da6 100644 (file)
@@ -324,7 +324,8 @@ dtb-$(CONFIG_MACH_SUN8I_A33) += \
 dtb-$(CONFIG_MACH_SUN8I_A83T) += \
        sun8i-a83t-allwinner-h8homlet-v2.dtb \
        sun8i-a83t-bananapi-m3.dtb \
-       sun8i-a83t-cubietruck-plus.dtb
+       sun8i-a83t-cubietruck-plus.dtb \
+       sun8i-a83t-tbs-a711.dts
 dtb-$(CONFIG_MACH_SUN8I_H3) += \
        sun8i-h2-plus-orangepi-zero.dtb \
        sun8i-h3-bananapi-m2-plus.dtb \
@@ -345,6 +346,7 @@ dtb-$(CONFIG_MACH_SUN8I_V3S) += \
        sun8i-v3s-licheepi-zero.dtb
 dtb-$(CONFIG_MACH_SUN50I_H5) += \
        sun50i-h5-nanopi-neo2.dtb \
+       sun50i-h5-nanopi-neo-plus2.dtb \
        sun50i-h5-orangepi-pc2.dtb \
        sun50i-h5-orangepi-prime.dtb \
        sun50i-h5-orangepi-zero-plus2.dtb
diff --git a/arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts b/arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts
new file mode 100644 (file)
index 0000000..f1406c2
--- /dev/null
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2017 Antony Antony <antony@phenome.org>
+ * Copyright (c) 2016 ARM Ltd.
+ *
+ * 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 library 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 library 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 "sun50i-h5.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "FriendlyARM NanoPi NEO Plus 2";
+       compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       reg_vcc3v3: vcc3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+};
+
+&ehci1 {
+       status = "okay";
+};
+
+&mmc0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
+       vmmc-supply = <&reg_vcc3v3>;
+       bus-width = <4>;
+       cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
+       cd-inverted;
+       status = "okay";
+};
+
+&mmc2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_8bit_pins>;
+       vmmc-supply = <&reg_vcc3v3>;
+       bus-width = <8>;
+       non-removable;
+       cap-mmc-hw-reset;
+       status = "okay";
+};
+
+&ohci1 {
+       status = "okay";
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_pins_a>;
+       status = "okay";
+};
+
+&usbphy {
+       status = "okay";
+};
index 67eade7debbfd3070a138beb68c9a8a12a2f4ef1..d4577dfae15e8547a367b845dd649f1725285fe7 100644 (file)
        };
 };
 
+&ehci1 {
+       status = "okay";
+};
+
 &mmc0 {
        compatible = "allwinner,sun50i-h5-mmc",
                     "allwinner,sun50i-a64-mmc",
        status = "okay";
 };
 
+&ohci1 {
+       status = "okay";
+};
+
 &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_pins_a>;
 &usbphy {
        status = "okay";
 };
-
-&ohci1 {
-       status = "okay";
-};
-
-&ehci1 {
-       status = "okay";
-};
index 4904c18054719063b0b95caeacd8dc90b8d0239d..c052f311314e909321642d828e4234a1af3498ee 100644 (file)
        };
 };
 
+&ccu {
+       compatible = "allwinner,sun50i-h5-ccu";
+};
+
 &gic {
        compatible = "arm,gic-400";
 };
+
+&mmc0 {
+       compatible = "allwinner,sun50i-h5-mmc",
+                    "allwinner,sun50i-a64-mmc";
+       clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
+       clock-names = "ahb", "mmc";
+};
+
+&mmc1 {
+       compatible = "allwinner,sun50i-h5-mmc",
+                    "allwinner,sun50i-a64-mmc";
+       clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
+       clock-names = "ahb", "mmc";
+};
+
+&mmc2 {
+       compatible = "allwinner,sun50i-h5-emmc",
+                    "allwinner,sun50i-a64-emmc";
+       clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
+       clock-names = "ahb", "mmc";
+};
+
+&pio {
+       interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
+                    <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
+                  <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
+       compatible = "allwinner,sun50i-h5-pinctrl";
+};
diff --git a/arch/arm/dts/sun8i-a83t-tbs-a711.dts b/arch/arm/dts/sun8i-a83t-tbs-a711.dts
new file mode 100644 (file)
index 0000000..80e8b1c
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2017 Ondřej Jirman
+ * Ondřej Jirman <megous@megous.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 "sun8i-a83t.dtsi"
+
+/ {
+       model = "TBS A711 Tablet";
+       compatible = "tbs-biometrics,a711", "allwinner,sun8i-a83t";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+};
+
+&ehci0 {
+       status = "okay";
+};
+
+&ohci0 {
+       status = "okay";
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_pins_b>;
+       status = "okay";
+};
+
+&usb_otg {
+       status = "okay";
+};
index 09cfec6f573375da975269e33bfae1afdd8f128c..1fededd0a31a2b10edcb94640ceaadf4d7a495c0 100644 (file)
@@ -397,9 +397,9 @@ config SYS_CLK_FREQ
        default 1008000000 if MACH_SUN5I
        default 1008000000 if MACH_SUN6I
        default 912000000 if MACH_SUN7I
+       default 816000000 if MACH_SUN50I || MACH_SUN50I_H5
        default 1008000000 if MACH_SUN8I
        default 1008000000 if MACH_SUN9I
-       default 816000000 if MACH_SUN50I
 
 config SYS_CONFIG_NAME
        default "sun4i" if MACH_SUN4I
index 99809c6a1ce27469f32b9ee9743474736ee3cd4b..ee24d709132a935ec5f4c2def0e8e1551df7cd30 100644 (file)
@@ -286,6 +286,11 @@ M: Jagan Teki <jagan@amarulasolutions.com>
 S:     Maintained
 F:     configs/nanopi_neo2_defconfig
 
+NANOPI-NEO-PLUS2 BOARD
+M:     Antony Antony <antony@phenome.org>
+S:     Maintained
+F:     configs/nanopi_neo_plus2_defconfig
+
 NANOPI-NEO-AIR BOARD
 M:     Jelle van der Waa <jelle@vdwaa.nl>
 S:     Maintained
index 69eb8ff2d921170817b0e3d12c9ad9472c75045e..826650c89bc10d7a2a9fc730828af4846cfa0762 100644 (file)
@@ -33,7 +33,11 @@ void eth_init_board(void)
 
 #ifndef CONFIG_MACH_SUN6I
        /* Configure pin mux settings for GMAC */
+#ifdef CONFIG_SUN7I_GMAC_FORCE_TXERR
+       for (pin = SUNXI_GPA(0); pin <= SUNXI_GPA(17); pin++) {
+#else
        for (pin = SUNXI_GPA(0); pin <= SUNXI_GPA(16); pin++) {
+#endif
 #ifdef CONFIG_RGMII
                /* skip unused pins in RGMII mode */
                if (pin == SUNXI_GPA(9) || pin == SUNXI_GPA(14))
index 4ce7a775e28ebd136eb70a8e696ca2bcd9fd2ee8..cbb9183ea266ed275aef91a90e30c01b5fa71208 100644 (file)
@@ -66,6 +66,7 @@ config FASTBOOT_USB_DEV
 
 config FASTBOOT_FLASH
        bool "Enable FASTBOOT FLASH command"
+       default y if ARCH_SUNXI
        help
          The fastboot protocol includes a "flash" command for writing
          the downloaded image to a non-volatile storage device. Define
index 3c2a6f828661bed0975f836f797029f913db28e5..4e6569822bbb986c5eebf29d4e4dd68cdbf16a50 100644 (file)
@@ -16,7 +16,6 @@ CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SPL_I2C_SUPPORT=y
-CONFIG_FASTBOOT_FLASH=y
 CONFIG_CMD_DFU=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
index 97f2e7d345d4d44c5df6087f6071a13abaa1e606..ce1cf8e59351ace209d474549b7754c4da5462a2 100644 (file)
@@ -13,7 +13,6 @@ CONFIG_AHCI=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SPL_I2C_SUPPORT=y
-CONFIG_FASTBOOT_FLASH=y
 CONFIG_CMD_DFU=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
index 2916112f144f5b1ec64253d172cec04474e28003..1edc8447a62db3562df4d77e01d4faf0275d4168 100644 (file)
@@ -12,7 +12,6 @@ CONFIG_AHCI=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SPL_I2C_SUPPORT=y
-CONFIG_FASTBOOT_FLASH=y
 CONFIG_CMD_DFU=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
index 586e6abab07ddac2136c37ea66a3037d7a6a721e..7e7f17b51551d55cb144ce082c4efaf8830fdf37 100644 (file)
@@ -20,6 +20,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SCSI_AHCI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_SUN7I_GMAC=y
+CONFIG_SUN7I_GMAC_FORCE_TXERR=y
 CONFIG_AXP_ALDO3_VOLT=2800
 CONFIG_AXP_ALDO4_VOLT=2800
 CONFIG_SCSI=y
index 4abac45de504c4d92c875eec2ba2612e390de77c..11e75221f7c4a238a38273d49556e4aaa8bd280b 100644 (file)
@@ -21,6 +21,7 @@ CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SCSI_AHCI=y
 CONFIG_ETH_DESIGNWARE=y
 CONFIG_SUN7I_GMAC=y
+CONFIG_SUN7I_GMAC_FORCE_TXERR=y
 CONFIG_AXP_ALDO3_VOLT=2800
 CONFIG_AXP_ALDO4_VOLT=2800
 CONFIG_SCSI=y
index c11991de7e5aa4c3d2627d32a3c449408c70cebd..894bb19cf0bd157a70749fa1cf5e8553260db465 100644 (file)
@@ -1,5 +1,6 @@
 CONFIG_ARM=y
 CONFIG_ARCH_SUNXI=y
+CONFIG_CONS_INDEX=1
 CONFIG_MACH_SUN8I_A33=y
 CONFIG_DRAM_CLK=432
 CONFIG_DRAM_ZQ=15291
index d057bee17241acb6fa07cc0f6e3913db8892f4f5..062ac76e6d660b0ab54aecf3bbd001ab29660c94 100644 (file)
@@ -7,7 +7,6 @@ CONFIG_VIDEO_COMPOSITE=y
 CONFIG_DEFAULT_DEVICE_TREE="sun5i-r8-chip"
 CONFIG_SPL=y
 CONFIG_SPL_I2C_SUPPORT=y
-CONFIG_FASTBOOT_FLASH=y
 CONFIG_CMD_DFU=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 # CONFIG_SPL_DOS_PARTITION is not set
index fa572eac57d3205a44cd56de7393a65ece2996cf..f47aead6f904f40cf1a2520a608c277f6efa4d85 100644 (file)
@@ -8,7 +8,6 @@ CONFIG_DEFAULT_DEVICE_TREE="sun5i-gr8-chip-pro"
 CONFIG_SYS_EXTRA_OPTIONS="SYS_NAND_BLOCK_SIZE=0x40000,SYS_NAND_PAGE_SIZE=4096,SYS_NAND_OOBSIZE=256"
 CONFIG_SPL=y
 CONFIG_SPL_I2C_SUPPORT=y
-CONFIG_FASTBOOT_FLASH=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_CMD_LOADB is not set
index 8da593be6ab33685e7b112d8cb8fb8d1dddef356..889c648c368d006678327ffc3bcb8d9301c5d692 100644 (file)
@@ -14,7 +14,6 @@ CONFIG_AHCI=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
 CONFIG_SPL_I2C_SUPPORT=y
-CONFIG_FASTBOOT_FLASH=y
 CONFIG_CMD_DFU=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
index 78aa0c732de958669bac250ac04af7ed078011ab..b9e553e0a5c4ec3c6c450c9bd2fc9a5505b354ce 100644 (file)
@@ -9,7 +9,6 @@ CONFIG_AXP_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-r16-nintendo-nes-classic-edition"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_FASTBOOT_FLASH=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_SPL_DOS_PARTITION is not set
index 7818e3cf79755c8fbb422b770acaa778d3109427..9e2d9e21639bf5b853f78eb76c2c9f57ab560089 100644 (file)
@@ -14,7 +14,6 @@ CONFIG_VIDEO_LCD_BL_PWM="PH0"
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-a33-sinlinx-sina33"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_FASTBOOT_FLASH=y
 CONFIG_CMD_DFU=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
diff --git a/configs/nanopi_neo_plus2_defconfig b/configs/nanopi_neo_plus2_defconfig
new file mode 100644 (file)
index 0000000..83a8dff
--- /dev/null
@@ -0,0 +1,18 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN50I_H5=y
+CONFIG_DRAM_CLK=408
+CONFIG_DRAM_ZQ=3881977
+CONFIG_MACPWR="PD6"
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-nanopi-neo-plus2"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_IMLS is not set
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_ISO_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_SUN8I_EMAC=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
index c7dc889a16371d22e8b34ba752e889749cd65c5b..c3e61784ac7c38c582ce93286439172db884a837 100644 (file)
@@ -12,7 +12,6 @@ CONFIG_AXP_GPIO=y
 CONFIG_DEFAULT_DEVICE_TREE="sun8i-r16-parrot"
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL=y
-CONFIG_FASTBOOT_FLASH=y
 # CONFIG_CMD_FLASH is not set
 # CONFIG_CMD_FPGA is not set
 # CONFIG_SPL_DOS_PARTITION is not set
diff --git a/configs/tbs_a711_defconfig b/configs/tbs_a711_defconfig
new file mode 100644 (file)
index 0000000..03deae0
--- /dev/null
@@ -0,0 +1,23 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN8I_A83T=y
+CONFIG_DRAM_TYPE=7
+CONFIG_DRAM_CLK=648
+CONFIG_DRAM_ZQ=15355
+CONFIG_DRAM_ODT_EN=y
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
+CONFIG_USB0_VBUS_PIN="AXP0-VBUS-ENABLE"
+CONFIG_USB0_VBUS_DET="AXP0-VBUS-DETECT"
+CONFIG_USB0_ID_DET="PH11"
+CONFIG_AXP_GPIO=y
+CONFIG_DEFAULT_DEVICE_TREE="sun8i-a83t-tbs-a711"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL=y
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_FPGA is not set
+# CONFIG_SPL_DOS_PARTITION is not set
+# CONFIG_SPL_ISO_PARTITION is not set
+# CONFIG_SPL_EFI_PARTITION is not set
+CONFIG_AXP_DCDC5_VOLT=1200
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_MUSB_GADGET=y
index 93965621206574056260c1f56870619372648ba9..0446bb63ca7ee35bcb4cd3d698bfc10b35bddcbe 100644 (file)
@@ -78,6 +78,20 @@ config EFI_PARTITION
          common when EFI is the bootloader.  Note 2TB partition limit;
          see disk/part_efi.c
 
+config EFI_PARTITION_ENTRIES_NUMBERS
+       int "Number of the EFI partition entries"
+       depends on EFI_PARTITION
+       default 56 if ARCH_SUNXI
+       default 128
+       help
+         Specify the number of partition entries in the GPT. This is
+         meant to allow less than the standard specifies for devices
+         that might need to place their first-stage bootloader in the
+         middle of a regular GPT.
+
+         If unsure, leave at 128 entries, which is the standard
+         number.
+
 config EFI_PARTITION_ENTRIES_OFF
         int "Offset (in bytes) of the EFI partition entries"
        depends on EFI_PARTITION
index 52555da4b32ad62e79b89e6cae4403b17c0c8a54..d42d915f17f4128752e6a1d94c78968bcccebed3 100644 (file)
@@ -244,6 +244,14 @@ config SUN7I_GMAC
        help
          Enable the support for Sun7i GMAC Ethernet controller
 
+config SUN7I_GMAC_FORCE_TXERR
+       bool "Force PA17 as gmac function"
+       depends on SUN7I_GMAC
+       help
+         Some ethernet phys needs TXERR control. Since the GMAC
+         doesn't have such signal, setting PA17 as GMAC function
+         makes the pin output low, which enables data transmission.
+
 config SUN4I_EMAC
        bool "Allwinner Sun4i Ethernet MAC support"
        depends on DM_ETH
index 6d6bb2e0c3210254de64820f611d516b397466c8..860187323c964128727a7d112a756f4e3a4fe2a9 100644 (file)
@@ -319,7 +319,7 @@ U_BOOT_DEVICE(sunxi_de2) = {
 #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_VIDEO_DT_SIMPLEFB)
 int sunxi_simplefb_setup(void *blob)
 {
-       struct udevice *de2, *hdmi;
+       struct udevice *de2, *hdmi, *lcd;
        struct video_priv *de2_priv;
        struct video_uc_platdata *de2_plat;
        int mux;
@@ -355,6 +355,15 @@ int sunxi_simplefb_setup(void *blob)
                debug("HDMI present but not probed\n");
        }
 
+       ret = uclass_find_device_by_name(UCLASS_DISPLAY,
+                                        "sunxi_lcd", &lcd);
+       if (ret)
+               debug("LCD not present\n");
+       else if (device_active(lcd))
+               pipeline = "mixer0-lcd0";
+       else
+               debug("LCD present but not probed\n");
+
        if (!pipeline) {
                debug("No active display present\n");
                return 0;
index 33920a2b676a9126902aa0fe8598e5de5e8ba5c1..4f01d1bded2b8ca4aeb2153ed61110a1e0c5df18 100644 (file)
@@ -304,15 +304,11 @@ static int sunxi_dw_hdmi_enable(struct udevice *dev, int panel_bpp,
 
        sunxi_dw_hdmi_lcdc_init(priv->mux, edid, panel_bpp);
 
-       /*
-        * Condition in original code is a bit weird. This is attempt
-        * to make it more reasonable and it works. It could be that
-        * bits and conditions are related and should be separated.
-        */
-       if (!((edid->flags & DISPLAY_FLAGS_HSYNC_HIGH) &&
-             (edid->flags & DISPLAY_FLAGS_VSYNC_HIGH))) {
-               setbits_le32(&phy->pol, 0x300);
-       }
+       if (edid->flags & DISPLAY_FLAGS_HSYNC_LOW)
+               setbits_le32(&phy->pol, 0x200);
+
+       if (edid->flags & DISPLAY_FLAGS_VSYNC_LOW)
+               setbits_le32(&phy->pol, 0x100);
 
        setbits_le32(&phy->ctrl, 0xf << 12);
 
index 26f889dd3eed2cb800b73d05c4bfda51fdc64743..3855c564f91495e4e1a659253fbfaa7fe02eb685 100644 (file)
@@ -34,6 +34,7 @@
 
 #ifdef CONFIG_ARM64
 #define CONFIG_BUILD_TARGET "u-boot.itb"
+#define CONFIG_SYS_BOOTM_LEN           (32 << 20)
 #endif
 
 /* Serial & console */
@@ -491,6 +492,20 @@ extern int soft_i2c_gpio_scl;
 #define SUNXI_MTDPARTS_DEFAULT
 #endif
 
+#define PARTS_DEFAULT \
+       "name=loader1,start=8k,size=32k,uuid=${uuid_gpt_loader1};" \
+       "name=loader2,size=984k,uuid=${uuid_gpt_loader2};" \
+       "name=esp,size=128M,bootable,uuid=${uuid_gpt_esp};" \
+       "name=system,size=-,uuid=${uuid_gpt_system};"
+
+#define UUID_GPT_ESP "c12a7328-f81f-11d2-ba4b-00a0c93ec93b"
+
+#ifdef CONFIG_ARM64
+#define UUID_GPT_SYSTEM "b921b045-1df0-41c3-af44-4c6f280d3fae"
+#else
+#define UUID_GPT_SYSTEM "69dad710-2ce4-4e3c-b16c-21a1d49abed3"
+#endif
+
 #define CONSOLE_ENV_SETTINGS \
        CONSOLE_STDIN_SETTINGS \
        CONSOLE_STDOUT_SETTINGS
@@ -509,6 +524,9 @@ extern int soft_i2c_gpio_scl;
        "console=ttyS0,115200\0" \
        SUNXI_MTDIDS_DEFAULT \
        SUNXI_MTDPARTS_DEFAULT \
+       "uuid_gpt_esp=" UUID_GPT_ESP "\0" \
+       "uuid_gpt_system=" UUID_GPT_SYSTEM "\0" \
+       "partitions=" PARTS_DEFAULT "\0" \
        BOOTCMD_SUNXI_COMPAT \
        BOOTENV
 
index 31e6bc6e140fe2956b15da1012b74be71bf422c0..4c8f6cc473c8fd02c8140629c8fa8c2462a87fb1 100644 (file)
@@ -27,7 +27,7 @@
 #define GPT_HEADER_SIGNATURE 0x5452415020494645ULL
 #define GPT_HEADER_REVISION_V1 0x00010000
 #define GPT_PRIMARY_PARTITION_TABLE_LBA 1ULL
-#define GPT_ENTRY_NUMBERS              128
+#define GPT_ENTRY_NUMBERS              CONFIG_EFI_PARTITION_ENTRIES_NUMBERS
 #define GPT_ENTRY_SIZE                 128
 
 #define PARTITION_SYSTEM_GUID \