diff --git a/config/sources/families/include/sunxi64_common.inc b/config/sources/families/include/sunxi64_common.inc index 911bff31a4..1a4208f167 100644 --- a/config/sources/families/include/sunxi64_common.inc +++ b/config/sources/families/include/sunxi64_common.inc @@ -10,7 +10,7 @@ enable_extension "sunxi-tools" declare -g ARCH=arm64 declare -g ATF_TARGET_MAP="PLAT=$ATF_PLAT DEBUG=1 bl31;;build/$ATF_PLAT/debug/bl31.bin" declare -g BOOTDELAY=1 - +declare -g BOOTBRANCH="tag:v2022.10" declare -g BOOTPATCHDIR='u-boot-sunxi' declare -g BOOTENV_FILE='sunxi.txt' UBOOT_TARGET_MAP="${UBOOT_TARGET_MAP:-;;u-boot-sunxi-with-spl.bin}" diff --git a/config/sources/families/include/sunxi_common.inc b/config/sources/families/include/sunxi_common.inc index 24a60c411c..cfbaab5d7f 100644 --- a/config/sources/families/include/sunxi_common.inc +++ b/config/sources/families/include/sunxi_common.inc @@ -10,6 +10,7 @@ enable_extension "sunxi-tools" declare -g ARCH=armhf declare -g BOOTDELAY=1 declare -g BOOTPATCHDIR="${BOOTPATCHDIR:-"u-boot-sunxi"}" +declare -g BOOTBRANCH="tag:v2022.10" UBOOT_TARGET_MAP="${UBOOT_TARGET_MAP:-;;u-boot-sunxi-with-spl.bin}" declare -g BOOTSCRIPT="boot-sunxi.cmd:boot.cmd" declare -g BOOTENV_FILE='sunxi.txt' diff --git a/patch/u-boot/u-boot-sunxi/allwinner-a10-spi-driver.patch b/patch/u-boot/u-boot-sunxi/allwinner-a10-spi-driver.patch index 7eb2ee9407..33056e261a 100644 --- a/patch/u-boot/u-boot-sunxi/allwinner-a10-spi-driver.patch +++ b/patch/u-boot/u-boot-sunxi/allwinner-a10-spi-driver.patch @@ -1,4 +1,4 @@ -From 7f25d8179776226a8ecfbaad3d3a88e9acd89f28 Mon Sep 17 00:00:00 2001 +From ea6e665f216de304e239b869e9156a192260e098 Mon Sep 17 00:00:00 2001 From: Stefan Mavrodiev Date: Tue, 6 Feb 2018 15:14:33 +0200 Subject: [PATCH] arm: sunxi: Allwinner A10 SPI driver @@ -16,12 +16,12 @@ Reviewed-by: Jagan Teki create mode 100644 drivers/spi/sun4i_spi.c diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig -index b85fca56289..dcd719ff0ac 100644 +index 75b794548b..b412f90802 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -174,6 +174,11 @@ config STM32_QSPI - used to access the SPI NOR flash chips on platforms embedding - this ST IP core. +@@ -439,6 +439,11 @@ config STM32_SPI + SoCs. This uses driver model and requires a device tree binding to + operate. +config SUN4I_SPI + bool "Allwinner A10 SoCs SPI controller" @@ -32,10 +32,10 @@ index b85fca56289..dcd719ff0ac 100644 bool "nVidia Tegra114 SPI driver" help diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile -index ae4f295..67be186 100644 +index 4de77c260a..8137905972 100644 --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile -@@ -56,6 +56,7 @@ obj-$(CONFIG_SH_SPI) += sh_spi.o +@@ -67,6 +67,7 @@ obj-$(CONFIG_SPI_SUNXI) += spi-sunxi.o obj-$(CONFIG_SH_QSPI) += sh_qspi.o obj-$(CONFIG_STM32_QSPI) += stm32_qspi.o obj-$(CONFIG_STM32_SPI) += stm32_spi.o @@ -45,7 +45,7 @@ index ae4f295..67be186 100644 obj-$(CONFIG_TEGRA20_SLINK) += tegra20_slink.o diff --git a/drivers/spi/sun4i_spi.c b/drivers/spi/sun4i_spi.c new file mode 100644 -index 00000000000..b86b5a00adb +index 0000000000..b86b5a00ad --- /dev/null +++ b/drivers/spi/sun4i_spi.c @@ -0,0 +1,456 @@ @@ -505,3 +505,6 @@ index 00000000000..b86b5a00adb + .priv_auto_alloc_size = sizeof(struct sun4i_spi_priv), + .probe = sun4i_spi_probe, +}; +-- +2.40.1 + diff --git a/patch/u-boot/u-boot-sunxi/allwinner-adjust-default-dram-clockspeeds.patch b/patch/u-boot/u-boot-sunxi/allwinner-adjust-default-dram-clockspeeds.patch index 6acb2d7d29..22a4504a40 100644 --- a/patch/u-boot/u-boot-sunxi/allwinner-adjust-default-dram-clockspeeds.patch +++ b/patch/u-boot/u-boot-sunxi/allwinner-adjust-default-dram-clockspeeds.patch @@ -1,10 +1,10 @@ diff --git a/configs/Lamobo_R1_defconfig b/configs/Lamobo_R1_defconfig -index cc29d606a9..dbbdfcc529 100644 +index 3627e4dd3a..8ceeccc2dd 100644 --- a/configs/Lamobo_R1_defconfig +++ b/configs/Lamobo_R1_defconfig -@@ -1,7 +1,7 @@ - CONFIG_ARM=y - CONFIG_ARCH_SUNXI=y +@@ -3,7 +3,7 @@ CONFIG_ARCH_SUNXI=y + CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-lamobo-r1" + CONFIG_SPL=y CONFIG_MACH_SUN7I=y -CONFIG_DRAM_CLK=432 +CONFIG_DRAM_CLK=384 @@ -12,24 +12,63 @@ index cc29d606a9..dbbdfcc529 100644 CONFIG_MMC0_CD_PIN="PH10" CONFIG_SATAPWR="PB3" diff --git a/configs/Linksprite_pcDuino3_defconfig b/configs/Linksprite_pcDuino3_defconfig -index b9f89a013e..6a42c4b500 100644 +index 44a3901e22..c8c93c813f 100644 --- a/configs/Linksprite_pcDuino3_defconfig +++ b/configs/Linksprite_pcDuino3_defconfig -@@ -1,7 +1,7 @@ - CONFIG_ARM=y - CONFIG_ARCH_SUNXI=y +@@ -3,7 +3,7 @@ CONFIG_ARCH_SUNXI=y + CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3" + CONFIG_SPL=y CONFIG_MACH_SUN7I=y -CONFIG_DRAM_CLK=480 +CONFIG_DRAM_CLK=408 CONFIG_DRAM_ZQ=122 CONFIG_SATAPWR="PH2" - CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3" + CONFIG_AHCI=y +diff --git a/configs/Orangepi_defconfig b/configs/Orangepi_defconfig +index ba976f8f5f..ed3ac3215b 100644 +--- a/configs/Orangepi_defconfig ++++ b/configs/Orangepi_defconfig +@@ -3,7 +3,7 @@ CONFIG_ARCH_SUNXI=y + CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi" + CONFIG_SPL=y + CONFIG_MACH_SUN7I=y +-CONFIG_DRAM_CLK=432 ++CONFIG_DRAM_CLK=384 + CONFIG_MACPWR="PH23" + CONFIG_USB1_VBUS_PIN="PH26" + CONFIG_USB2_VBUS_PIN="PH22" +diff --git a/configs/Orangepi_mini_defconfig b/configs/Orangepi_mini_defconfig +index 720e9e5df4..f06a42b018 100644 +--- a/configs/Orangepi_mini_defconfig ++++ b/configs/Orangepi_mini_defconfig +@@ -3,7 +3,7 @@ CONFIG_ARCH_SUNXI=y + CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-orangepi-mini" + CONFIG_SPL=y + CONFIG_MACH_SUN7I=y +-CONFIG_DRAM_CLK=432 ++CONFIG_DRAM_CLK=384 + CONFIG_MACPWR="PH23" + CONFIG_MMC0_CD_PIN="PH10" + CONFIG_MMC3_CD_PIN="PH11" +diff --git a/configs/a64-olinuxino_defconfig b/configs/a64-olinuxino_defconfig +index ccb5abc984..31d2965222 100644 +--- a/configs/a64-olinuxino_defconfig ++++ b/configs/a64-olinuxino_defconfig +@@ -6,6 +6,8 @@ CONFIG_MACH_SUN50I=y + CONFIG_RESERVE_ALLWINNER_BOOT0_HEADER=y + CONFIG_MMC_SUNXI_SLOT_EXTRA=2 + # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set ++CONFIG_DRAM_CLK=624 ++CONFIG_DRAM_ZQ=3881949 + CONFIG_SPL_STACK=0x54000 + CONFIG_SYS_PBSIZE=1024 + CONFIG_SYS_BOOTM_LEN=0x2000000 diff --git a/configs/nanopi_m1_plus_defconfig b/configs/nanopi_m1_plus_defconfig -index a359de8..381b16f 100644 +index c71d721f74..b839b78f4c 100644 --- a/configs/nanopi_m1_plus_defconfig +++ b/configs/nanopi_m1_plus_defconfig @@ -3,7 +3,7 @@ CONFIG_ARCH_SUNXI=y - CONFIG_NR_DRAM_BANKS=1 + CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-m1-plus" CONFIG_SPL=y CONFIG_MACH_SUN8I_H3=y -CONFIG_DRAM_CLK=408 @@ -38,33 +77,20 @@ index a359de8..381b16f 100644 CONFIG_MMC0_CD_PIN="PH13" CONFIG_MMC_SUNXI_SLOT_EXTRA=2 diff --git a/configs/nanopi_neo_plus2_defconfig b/configs/nanopi_neo_plus2_defconfig -index f6b4ca7..34437fc 100644 +index 3f834b756d..a67ea397c4 100644 --- a/configs/nanopi_neo_plus2_defconfig +++ b/configs/nanopi_neo_plus2_defconfig -@@ -1,7 +1,7 @@ - CONFIG_ARM=y - CONFIG_ARCH_SUNXI=y +@@ -3,7 +3,7 @@ CONFIG_ARCH_SUNXI=y + CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-nanopi-neo-plus2" + CONFIG_SPL=y CONFIG_MACH_SUN50I_H5=y -CONFIG_DRAM_CLK=408 +CONFIG_DRAM_CLK=504 CONFIG_DRAM_ZQ=3881977 + # CONFIG_DRAM_ODT_EN is not set CONFIG_MACPWR="PD6" - CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-nanopi-neo-plus2" -diff --git a/configs/Orangepi_defconfig b/configs/Orangepi_defconfig -index b8c1ea4d7c..b4b20372aa 100644 ---- a/configs/Orangepi_defconfig -+++ b/configs/Orangepi_defconfig -@@ -1,7 +1,7 @@ - CONFIG_ARM=y - CONFIG_ARCH_SUNXI=y - CONFIG_MACH_SUN7I=y --CONFIG_DRAM_CLK=432 -+CONFIG_DRAM_CLK=384 - CONFIG_MACPWR="PH23" - CONFIG_USB1_VBUS_PIN="PH26" - CONFIG_USB2_VBUS_PIN="PH22" diff --git a/configs/orangepi_lite_defconfig b/configs/orangepi_lite_defconfig -index 5638c4a..eec13fd 100644 +index c7174170db..d5123a39dd 100644 --- a/configs/orangepi_lite_defconfig +++ b/configs/orangepi_lite_defconfig @@ -3,7 +3,9 @@ CONFIG_ARCH_SUNXI=y @@ -76,23 +102,10 @@ index 5638c4a..eec13fd 100644 +CONFIG_DRAM_ZQ=3881979 +CONFIG_DRAM_ODT_EN=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set - CONFIG_USB_EHCI_HCD=y - CONFIG_USB_OHCI_HCD=y -diff --git a/configs/Orangepi_mini_defconfig b/configs/Orangepi_mini_defconfig -index 19c35ef103..80404ab377 100644 ---- a/configs/Orangepi_mini_defconfig -+++ b/configs/Orangepi_mini_defconfig -@@ -1,7 +1,7 @@ - CONFIG_ARM=y - CONFIG_ARCH_SUNXI=y - CONFIG_MACH_SUN7I=y --CONFIG_DRAM_CLK=432 -+CONFIG_DRAM_CLK=384 - CONFIG_MACPWR="PH23" - CONFIG_MMC0_CD_PIN="PH10" - CONFIG_MMC3_CD_PIN="PH11" + CONFIG_SPL_STACK=0x8000 + CONFIG_SYS_PBSIZE=1024 diff --git a/configs/orangepi_one_defconfig b/configs/orangepi_one_defconfig -index 4fe81f8..5f50366 100644 +index 112ff5e5b6..12695f0fa4 100644 --- a/configs/orangepi_one_defconfig +++ b/configs/orangepi_one_defconfig @@ -3,7 +3,9 @@ CONFIG_ARCH_SUNXI=y @@ -104,10 +117,10 @@ index 4fe81f8..5f50366 100644 +CONFIG_DRAM_ZQ=3881979 +CONFIG_DRAM_ODT_EN=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set - CONFIG_SUN8I_EMAC=y - CONFIG_USB_EHCI_HCD=y + CONFIG_SPL_STACK=0x8000 + CONFIG_SYS_PBSIZE=1024 diff --git a/configs/orangepi_pc2_defconfig b/configs/orangepi_pc2_defconfig -index ba0f2d5..93641c3 100644 +index d0cad2a746..7536b39dc7 100644 --- a/configs/orangepi_pc2_defconfig +++ b/configs/orangepi_pc2_defconfig @@ -3,8 +3,9 @@ CONFIG_ARCH_SUNXI=y @@ -122,11 +135,11 @@ index ba0f2d5..93641c3 100644 CONFIG_SPL_SPI_SUNXI=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set diff --git a/configs/orangepi_plus2e_defconfig b/configs/orangepi_plus2e_defconfig -index 79da5ce..b93284b 100644 +index 85b25ddd16..ac1880d178 100644 --- a/configs/orangepi_plus2e_defconfig +++ b/configs/orangepi_plus2e_defconfig @@ -3,7 +3,9 @@ CONFIG_ARCH_SUNXI=y - CONFIG_NR_DRAM_BANKS=1 + CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-plus2e" CONFIG_SPL=y CONFIG_MACH_SUN8I_H3=y -CONFIG_DRAM_CLK=672 @@ -137,11 +150,11 @@ index 79da5ce..b93284b 100644 CONFIG_MMC_SUNXI_SLOT_EXTRA=2 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set diff --git a/configs/orangepi_plus_defconfig b/configs/orangepi_plus_defconfig -index 808f937..dedb1ca 100644 +index dff0a2fd6e..ce52ed911a 100644 --- a/configs/orangepi_plus_defconfig +++ b/configs/orangepi_plus_defconfig @@ -3,7 +3,9 @@ CONFIG_ARCH_SUNXI=y - CONFIG_NR_DRAM_BANKS=1 + CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-plus" CONFIG_SPL=y CONFIG_MACH_SUN8I_H3=y -CONFIG_DRAM_CLK=672 @@ -152,11 +165,11 @@ index 808f937..dedb1ca 100644 CONFIG_MMC_SUNXI_SLOT_EXTRA=2 CONFIG_USB1_VBUS_PIN="PG13" diff --git a/configs/orangepi_prime_defconfig b/configs/orangepi_prime_defconfig -index d7b8004..2ee5937 100644 +index 690a5f195b..655ac510cd 100644 --- a/configs/orangepi_prime_defconfig +++ b/configs/orangepi_prime_defconfig @@ -3,8 +3,9 @@ CONFIG_ARCH_SUNXI=y - CONFIG_NR_DRAM_BANKS=1 + CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-orangepi-prime" CONFIG_SPL=y CONFIG_MACH_SUN50I_H5=y -CONFIG_DRAM_CLK=672 @@ -165,30 +178,17 @@ index d7b8004..2ee5937 100644 +CONFIG_DRAM_ODT_EN=y # CONFIG_DRAM_ODT_EN is not set # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set - CONFIG_USE_PREBOOT=y + CONFIG_SPL_STACK=0x54000 diff --git a/configs/orangepi_zero_plus2_defconfig b/configs/orangepi_zero_plus2_defconfig -index 57c63b962a..ec9e5c73b1 100644 +index 02f70ccf0c..4f227c73b3 100644 --- a/configs/orangepi_zero_plus2_defconfig +++ b/configs/orangepi_zero_plus2_defconfig -@@ -1,7 +1,7 @@ - CONFIG_ARM=y - CONFIG_ARCH_SUNXI=y +@@ -3,7 +3,7 @@ CONFIG_ARCH_SUNXI=y + CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-orangepi-zero-plus2" + CONFIG_SPL=y CONFIG_MACH_SUN50I_H5=y -CONFIG_DRAM_CLK=672 +CONFIG_DRAM_CLK=504 CONFIG_DRAM_ZQ=3881977 + # CONFIG_DRAM_ODT_EN is not set CONFIG_MMC0_CD_PIN="PH13" - CONFIG_MMC_SUNXI_SLOT_EXTRA=2 -diff --git a/configs/a64-olinuxino_defconfig b/configs/a64-olinuxino_defconfig -index 8a3561b..37f827a 100644 ---- a/configs/a64-olinuxino_defconfig -+++ b/configs/a64-olinuxino_defconfig -@@ -7,6 +7,8 @@ CONFIG_RESERVE_ALLWINNER_BOOT0_HEADER=y - CONFIG_MMC_SUNXI_SLOT_EXTRA=2 - CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-olinuxino" - # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -+CONFIG_DRAM_CLK=624 -+CONFIG_DRAM_ZQ=3881949 - CONFIG_SUN8I_EMAC=y - CONFIG_USB_EHCI_HCD=y - CONFIG_USB_OHCI_HCD=y diff --git a/patch/u-boot/u-boot-sunxi/allwinner-boot-splash.patch b/patch/u-boot/u-boot-sunxi/allwinner-boot-splash.patch index 3d6224cb01..58af02b403 100644 --- a/patch/u-boot/u-boot-sunxi/allwinner-boot-splash.patch +++ b/patch/u-boot/u-boot-sunxi/allwinner-boot-splash.patch @@ -1,4 +1,4 @@ -From 5ac0039607be388a35df2dd4729fcc9d03b84b21 Mon Sep 17 00:00:00 2001 +From 25e72a7d86f8eb8fa93df7c46ec6f91b60233bbb Mon Sep 17 00:00:00 2001 From: The Going <48602507+The-going@users.noreply.github.com> Date: Fri, 1 Apr 2022 22:57:09 +0300 Subject: [PATCH] sunxi boot splash @@ -6,14 +6,14 @@ Subject: [PATCH] sunxi boot splash --- cmd/Kconfig | 1 + include/config_distro_bootcmd.h | 9 +++++++++ - include/configs/sunxi-common.h | 16 ++++++++++++++++ - 3 files changed, 26 insertions(+) + include/configs/sunxi-common.h | 30 ++++++++++++++++++++++++++++++ + 3 files changed, 40 insertions(+) diff --git a/cmd/Kconfig b/cmd/Kconfig -index 3a857b3f..492476e5 100644 +index 0e0be94f41..b21fc797b0 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig -@@ -1662,6 +1662,7 @@ menu "Misc commands" +@@ -1851,6 +1851,7 @@ menu "Misc commands" config CMD_BMP bool "Enable 'bmp' command" depends on LCD || DM_VIDEO || VIDEO @@ -22,10 +22,10 @@ index 3a857b3f..492476e5 100644 This provides a way to obtain information about a BMP-format image and to display it. BMP (which presumably stands for BitMaP) is a diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h -index 750e9e04..9e70ddb3 100644 +index 5506f3168f..4f236979e9 100644 --- a/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h -@@ -430,6 +430,15 @@ +@@ -438,6 +438,15 @@ BOOTENV_SHARED_EFI \ BOOTENV_SHARED_VIRTIO \ "boot_prefixes=/ /boot/\0" \ @@ -42,11 +42,11 @@ index 750e9e04..9e70ddb3 100644 "boot_script_dhcp=boot.scr.uimg\0" \ BOOTENV_BOOT_TARGETS \ diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h -index 958b850d..c4f34dbf 100644 +index 0f0ef4f64b..fc85399978 100644 --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h -@@ -223,6 +223,30 @@ extern int soft_i2c_gpio_scl; - #define CONFIG_VIDEO_LCD_I2C_BUS -1 /* NA, but necessary to compile */ +@@ -114,6 +114,30 @@ + #define LOW_LEVEL_SRAM_STACK 0x00008000 /* End of sram */ #endif +#if defined CONFIG_VIDEO || defined CONFIG_DM_VIDEO @@ -75,8 +75,8 @@ index 958b850d..c4f34dbf 100644 + /* Ethernet support */ - #ifdef CONFIG_USB_EHCI_HCD -@@ -394,8 +404,14 @@ extern int soft_i2c_gpio_scl; + #ifdef CONFIG_ARM64 +@@ -291,8 +315,14 @@ #include #ifdef CONFIG_USB_KEYBOARD @@ -92,6 +92,5 @@ index 958b850d..c4f34dbf 100644 #define CONSOLE_STDIN_SETTINGS \ "stdin=serial\0" -- -2.34.1 - +2.40.1 diff --git a/patch/u-boot/u-boot-sunxi/allwinner-disable-de2-to-improve-edid-detection.patch b/patch/u-boot/u-boot-sunxi/allwinner-disable-de2-to-improve-edid-detection.patch index 45ce558c30..513e767fa4 100644 --- a/patch/u-boot/u-boot-sunxi/allwinner-disable-de2-to-improve-edid-detection.patch +++ b/patch/u-boot/u-boot-sunxi/allwinner-disable-de2-to-improve-edid-detection.patch @@ -1,258 +1,255 @@ -This patch disables display driver in u-boot which improves EDID detection -https://forum.armbian.com/topic/13651-pine-a64-no-hdmi-signal/?do=findComment&comment=99169 - diff --git a/configs/Mele_A1000_defconfig b/configs/Mele_A1000_defconfig -index 20906ff5..aaebbdc9 100644 +index eb3e798800..94caa7b4e1 100644 --- a/configs/Mele_A1000_defconfig +++ b/configs/Mele_A1000_defconfig -@@ -15,3 +15,4 @@ CONFIG_SUN4I_EMAC=y +@@ -21,3 +21,4 @@ CONFIG_SUN4I_EMAC=y CONFIG_SCSI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/Orangepi_mini_defconfig b/configs/Orangepi_mini_defconfig -index f7a3c351..ecd76a3b 100644 +index f06a42b018..9d0c822ab8 100644 --- a/configs/Orangepi_mini_defconfig +++ b/configs/Orangepi_mini_defconfig -@@ -24,3 +24,4 @@ CONFIG_SUN7I_GMAC=y +@@ -30,3 +30,4 @@ CONFIG_SUN7I_GMAC=y CONFIG_SCSI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/a64-olinuxino-emmc_defconfig b/configs/a64-olinuxino-emmc_defconfig -index b6205829..20311403 100644 +index afa0c24b68..3ac8e44c5f 100644 --- a/configs/a64-olinuxino-emmc_defconfig +++ b/configs/a64-olinuxino-emmc_defconfig -@@ -10,3 +10,4 @@ CONFIG_SUPPORT_EMMC_BOOT=y +@@ -13,3 +13,4 @@ CONFIG_SUPPORT_EMMC_BOOT=y CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/a64-olinuxino_defconfig b/configs/a64-olinuxino_defconfig -index cb270cd7..546a4e34 100644 +index 31d2965222..2042fec5c9 100644 --- a/configs/a64-olinuxino_defconfig +++ b/configs/a64-olinuxino_defconfig -@@ -13,3 +13,4 @@ CONFIG_DRAM_ZQ=3881949 +@@ -14,3 +14,4 @@ CONFIG_SYS_BOOTM_LEN=0x2000000 CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/bananapi_m1_plus_defconfig b/configs/bananapi_m1_plus_defconfig -index e533555c..8a611710 100644 +index 290e9c17e2..570f9b161b 100644 --- a/configs/bananapi_m1_plus_defconfig +++ b/configs/bananapi_m1_plus_defconfig -@@ -20,3 +20,4 @@ CONFIG_SUN7I_GMAC=y +@@ -26,3 +26,4 @@ CONFIG_SUN7I_GMAC=y CONFIG_SCSI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/bananapi_m2_plus_h3_defconfig b/configs/bananapi_m2_plus_h3_defconfig -index 21c6aa6b..305ababf 100644 +index d0981f6481..7b0b1b27e9 100644 --- a/configs/bananapi_m2_plus_h3_defconfig +++ b/configs/bananapi_m2_plus_h3_defconfig -@@ -11,3 +11,4 @@ CONFIG_SUN8I_EMAC=y +@@ -13,3 +13,4 @@ CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_MUSB_GADGET=y +CONFIG_VIDEO_DE2=n diff --git a/configs/bananapi_m2_plus_h5_defconfig b/configs/bananapi_m2_plus_h5_defconfig -index afed1372..8b9b07cd 100644 +index a68742e9d6..62ec3c8cd1 100644 --- a/configs/bananapi_m2_plus_h5_defconfig +++ b/configs/bananapi_m2_plus_h5_defconfig -@@ -11,3 +11,4 @@ CONFIG_SUN8I_EMAC=y +@@ -14,3 +14,4 @@ CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_MUSB_GADGET=y +CONFIG_VIDEO_DE2=n diff --git a/configs/bananapi_m2_zero_defconfig b/configs/bananapi_m2_zero_defconfig -index f95c7faf..cd5f43d1 100644 +index 6a3594c093..6c1ba5e7b2 100644 --- a/configs/bananapi_m2_zero_defconfig +++ b/configs/bananapi_m2_zero_defconfig -@@ -6,3 +6,4 @@ CONFIG_DRAM_CLK=408 - CONFIG_MMC0_CD_PIN="" - CONFIG_DEFAULT_DEVICE_TREE="sun8i-h2-plus-bananapi-m2-zero" +@@ -8,3 +8,4 @@ CONFIG_MMC0_CD_PIN="" # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set + CONFIG_SPL_STACK=0x8000 + CONFIG_SYS_PBSIZE=1024 +CONFIG_VIDEO_DE2=n diff --git a/configs/bananapi_m64_defconfig b/configs/bananapi_m64_defconfig -index 7f31cf00..221bea67 100644 +index 36aa80a09b..a0fbb1d9d5 100644 --- a/configs/bananapi_m64_defconfig +++ b/configs/bananapi_m64_defconfig -@@ -11,3 +11,4 @@ CONFIG_SUN8I_EMAC=y +@@ -15,3 +15,4 @@ CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_MUSB_GADGET=y +CONFIG_VIDEO_DE2=n diff --git a/configs/libretech_all_h3_cc_h2_plus_defconfig b/configs/libretech_all_h3_cc_h2_plus_defconfig -index c9a1708e..88035625 100644 +index ca99556802..58062deed9 100644 --- a/configs/libretech_all_h3_cc_h2_plus_defconfig +++ b/configs/libretech_all_h3_cc_h2_plus_defconfig -@@ -9,3 +9,4 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-h2-plus-libretech-all-h3-cc" +@@ -11,3 +11,4 @@ CONFIG_SYS_PBSIZE=1024 CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/libretech_all_h3_cc_h3_defconfig b/configs/libretech_all_h3_cc_h3_defconfig -index 71751238..2be17032 100644 +index 7ca312c8fb..c18f215e9d 100644 --- a/configs/libretech_all_h3_cc_h3_defconfig +++ b/configs/libretech_all_h3_cc_h3_defconfig -@@ -9,3 +9,4 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-libretech-all-h3-cc" +@@ -11,3 +11,4 @@ CONFIG_SYS_PBSIZE=1024 CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/libretech_all_h3_cc_h5_defconfig b/configs/libretech_all_h3_cc_h5_defconfig -index b70b13f4..5e1e3e5a 100644 +index 13ff758212..e0b77f896c 100644 --- a/configs/libretech_all_h3_cc_h5_defconfig +++ b/configs/libretech_all_h3_cc_h5_defconfig -@@ -9,3 +9,4 @@ CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-libretech-all-h3-cc" +@@ -12,3 +12,4 @@ CONFIG_SYS_BOOTM_LEN=0x2000000 CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/libretech_all_h5_cc_h5_defconfig b/configs/libretech_all_h5_cc_h5_defconfig -index ddbd1b51..00275ca4 100644 +index f42747e946..e0bfe910b7 100644 --- a/configs/libretech_all_h5_cc_h5_defconfig +++ b/configs/libretech_all_h5_cc_h5_defconfig -@@ -14,3 +14,4 @@ CONFIG_SPI=y - CONFIG_DM_SPI=y +@@ -15,3 +15,4 @@ CONFIG_SUN8I_EMAC=y + CONFIG_SPI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/nanopi_a64_defconfig b/configs/nanopi_a64_defconfig -index 0d46b332..9485f2b2 100644 +index 226ccaa12f..023518fbde 100644 --- a/configs/nanopi_a64_defconfig +++ b/configs/nanopi_a64_defconfig -@@ -8,3 +8,4 @@ CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-nanopi-a64" +@@ -11,3 +11,4 @@ CONFIG_SYS_BOOTM_LEN=0x2000000 CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/nanopi_m1_defconfig b/configs/nanopi_m1_defconfig -index 2b55853b..bfc0c772 100644 +index 47a6b7804e..330f7a4e2f 100644 --- a/configs/nanopi_m1_defconfig +++ b/configs/nanopi_m1_defconfig -@@ -7,3 +7,4 @@ CONFIG_DRAM_CLK=408 - CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-m1" +@@ -9,3 +9,4 @@ CONFIG_SPL_STACK=0x8000 + CONFIG_SYS_PBSIZE=1024 CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/orangepi_lite2_defconfig b/configs/orangepi_lite2_defconfig -index 35ebf383..2e120864 100644 +index 14c8806281..85bea8f1c8 100644 --- a/configs/orangepi_lite2_defconfig +++ b/configs/orangepi_lite2_defconfig -@@ -9,3 +9,4 @@ CONFIG_MMC0_CD_PIN="PF6" - CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-orangepi-lite2" +@@ -12,3 +12,4 @@ CONFIG_SYS_PBSIZE=1024 + CONFIG_SYS_BOOTM_LEN=0x2000000 CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/orangepi_lite_defconfig b/configs/orangepi_lite_defconfig -index 4ec08283..36dce695 100644 +index d5123a39dd..c5d33b5b01 100644 --- a/configs/orangepi_lite_defconfig +++ b/configs/orangepi_lite_defconfig -@@ -9,3 +9,4 @@ CONFIG_DRAM_ODT_EN=y - CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-lite" +@@ -11,3 +11,4 @@ CONFIG_SPL_STACK=0x8000 + CONFIG_SYS_PBSIZE=1024 CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/orangepi_one_defconfig b/configs/orangepi_one_defconfig -index 4b089bef..b0a6ba4a 100644 +index 12695f0fa4..1386eabcaf 100644 --- a/configs/orangepi_one_defconfig +++ b/configs/orangepi_one_defconfig -@@ -10,3 +10,4 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-orangepi-one" +@@ -12,3 +12,4 @@ CONFIG_SYS_PBSIZE=1024 CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/orangepi_one_plus_defconfig b/configs/orangepi_one_plus_defconfig -index d97b2172..e75684ab 100644 +index a4336332fc..0057e490a7 100644 --- a/configs/orangepi_one_plus_defconfig +++ b/configs/orangepi_one_plus_defconfig -@@ -9,3 +9,4 @@ CONFIG_MMC0_CD_PIN="PF6" - CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-orangepi-one-plus" +@@ -12,3 +12,4 @@ CONFIG_SYS_PBSIZE=1024 + CONFIG_SYS_BOOTM_LEN=0x2000000 CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/orangepi_pc2_defconfig b/configs/orangepi_pc2_defconfig -index 9bb232c6..a2d131cc 100644 +index 7536b39dc7..c9a36ecd69 100644 --- a/configs/orangepi_pc2_defconfig +++ b/configs/orangepi_pc2_defconfig -@@ -14,3 +14,4 @@ CONFIG_SUN8I_EMAC=y +@@ -23,3 +23,4 @@ CONFIG_SPI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_MUSB_GADGET=y +CONFIG_VIDEO_DE2=n diff --git a/configs/orangepi_pc_defconfig b/configs/orangepi_pc_defconfig -index a676294a..aaf5f5ef 100644 +index 28107ad5f7..03eb82b1f6 100644 --- a/configs/orangepi_pc_defconfig +++ b/configs/orangepi_pc_defconfig -@@ -10,3 +10,4 @@ CONFIG_SUN8I_EMAC=y +@@ -14,3 +14,4 @@ CONFIG_SUN8I_EMAC=y CONFIG_SY8106A_POWER=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/orangepi_plus2e_defconfig b/configs/orangepi_plus2e_defconfig -index 2bf1cddd..9d7de7e7 100644 +index ac1880d178..4194435c3d 100644 --- a/configs/orangepi_plus2e_defconfig +++ b/configs/orangepi_plus2e_defconfig -@@ -14,3 +14,4 @@ CONFIG_SUN8I_EMAC=y +@@ -18,3 +18,4 @@ CONFIG_SUN8I_EMAC=y CONFIG_SY8106A_POWER=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/orangepi_plus_defconfig b/configs/orangepi_plus_defconfig -index 96a7d50b..7d465531 100644 +index ce52ed911a..c43e4631e3 100644 --- a/configs/orangepi_plus_defconfig +++ b/configs/orangepi_plus_defconfig -@@ -16,3 +16,4 @@ CONFIG_SUN8I_EMAC=y +@@ -20,3 +20,4 @@ CONFIG_SUN8I_EMAC=y CONFIG_SY8106A_POWER=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/orangepi_prime_defconfig b/configs/orangepi_prime_defconfig -index 83dee0d9..a2e9cf09 100644 +index 655ac510cd..9c909f3d87 100644 --- a/configs/orangepi_prime_defconfig +++ b/configs/orangepi_prime_defconfig -@@ -14,3 +14,4 @@ CONFIG_SUN8I_EMAC=y +@@ -15,3 +15,4 @@ CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_MUSB_GADGET=y +CONFIG_VIDEO_DE2=n diff --git a/configs/orangepi_win_defconfig b/configs/orangepi_win_defconfig -index 8c14389f..7508bed6 100644 +index 7a9ca8e88a..619cc3282e 100644 --- a/configs/orangepi_win_defconfig +++ b/configs/orangepi_win_defconfig -@@ -16,3 +16,4 @@ CONFIG_USB_HOST=y - CONFIG_SUN8I_EMAC=y +@@ -16,3 +16,4 @@ CONFIG_SUN8I_EMAC=y + CONFIG_SPI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/pine64-lts_defconfig b/configs/pine64-lts_defconfig -index ef108a1a..41b8d3ad 100644 +index 3f9ea1e329..55d0dc57e1 100644 --- a/configs/pine64-lts_defconfig +++ b/configs/pine64-lts_defconfig -@@ -13,3 +13,4 @@ CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-pine64-lts" - CONFIG_SUN8I_EMAC=y +@@ -19,3 +19,4 @@ CONFIG_SUN8I_EMAC=y + CONFIG_SPI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/pine64_plus_defconfig b/configs/pine64_plus_defconfig -index a0375770..5aafc17b 100644 +index 62608f93bd..e9e3bdee0d 100644 --- a/configs/pine64_plus_defconfig +++ b/configs/pine64_plus_defconfig -@@ -12,3 +12,4 @@ CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y +@@ -14,3 +14,4 @@ CONFIG_PHY_REALTEK=y CONFIG_SUN8I_EMAC=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_VIDEO_DE2=n diff --git a/configs/pine_h64_defconfig b/configs/pine_h64_defconfig -index 87871fd1..c95654a8 100644 +index 2f511c8051..00183e32a3 100644 --- a/configs/pine_h64_defconfig +++ b/configs/pine_h64_defconfig -@@ -1,6 +1,7 @@ - CONFIG_ARM=y +@@ -2,6 +2,7 @@ CONFIG_ARM=y CONFIG_ARCH_SUNXI=y + CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-pine-h64" CONFIG_SPL=y +CONFIG_VIDEO_DE2=n CONFIG_MACH_SUN50I_H6=y CONFIG_SUNXI_DRAM_H6_LPDDR3=y - CONFIG_MMC0_CD_PIN="PF6" + CONFIG_MACPWR="PC16" diff --git a/patch/u-boot/u-boot-sunxi/allwinner-enable-autoboot-keyed.patch b/patch/u-boot/u-boot-sunxi/allwinner-enable-autoboot-keyed.patch index 3f978f66c7..d5e098c6c0 100644 --- a/patch/u-boot/u-boot-sunxi/allwinner-enable-autoboot-keyed.patch +++ b/patch/u-boot/u-boot-sunxi/allwinner-enable-autoboot-keyed.patch @@ -1,8 +1,8 @@ diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 9898c7d6..c5819d9f 100644 +index 82cd456f51..d726bbf4b3 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1180,6 +1180,8 @@ config ARCH_SUNXI +@@ -1176,6 +1176,8 @@ config ARCH_SUNXI select USB_KEYBOARD if DISTRO_DEFAULTS && USB_HOST select USB_STORAGE if DISTRO_DEFAULTS && USB_HOST select SPL_USE_TINY_PRINTF @@ -12,10 +12,10 @@ index 9898c7d6..c5819d9f 100644 select SYS_RELOC_GD_ENV_ADDR imply BOARD_LATE_INIT diff --git a/boot/Kconfig b/boot/Kconfig -index 08451c65..d0c168cd 100644 +index 6b3b8f072c..5f913fe05c 100644 --- a/boot/Kconfig +++ b/boot/Kconfig -@@ -1003,7 +1003,7 @@ config AUTOBOOT_FLUSH_STDIN +@@ -1050,7 +1050,7 @@ config AUTOBOOT_FLUSH_STDIN config AUTOBOOT_PROMPT string "Autoboot stop prompt" depends on AUTOBOOT_KEYED @@ -24,7 +24,7 @@ index 08451c65..d0c168cd 100644 help This string is displayed before the boot delay selected by CONFIG_BOOTDELAY starts. If it is not defined there is no -@@ -1058,6 +1058,7 @@ config AUTOBOOT_DELAY_STR +@@ -1105,6 +1105,7 @@ config AUTOBOOT_DELAY_STR config AUTOBOOT_STOP_STR string "Stop autobooting via specific input key / string" depends on AUTOBOOT_KEYED && !AUTOBOOT_ENCRYPTION diff --git a/patch/u-boot/u-boot-sunxi/allwinner-enable-r_pio-gpio-access-h3-h5.patch b/patch/u-boot/u-boot-sunxi/allwinner-enable-r_pio-gpio-access-h3-h5.patch index 57793fb6c1..aaaee48a16 100644 --- a/patch/u-boot/u-boot-sunxi/allwinner-enable-r_pio-gpio-access-h3-h5.patch +++ b/patch/u-boot/u-boot-sunxi/allwinner-enable-r_pio-gpio-access-h3-h5.patch @@ -1,8 +1,8 @@ diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c -index 7ac8360..0484e7a 100644 +index 8f7c894286..76495fa900 100644 --- a/arch/arm/mach-sunxi/board.c +++ b/arch/arm/mach-sunxi/board.c -@@ -23,6 +23,7 @@ +@@ -26,6 +26,7 @@ #include #include #include @@ -10,8 +10,8 @@ index 7ac8360..0484e7a 100644 #include -@@ -65,6 +66,11 @@ struct mm_region *mem_map = sunxi_mem_map; - +@@ -78,6 +79,11 @@ ulong board_get_usable_ram_top(ulong total_size) + #ifdef CONFIG_SPL_BUILD static int gpio_init(void) { +#if defined(CONFIG_MACH_SUNXI_H3_H5) diff --git a/patch/u-boot/u-boot-sunxi/allwinner-fdt-setprop-fix-unaligned-access.patch b/patch/u-boot/u-boot-sunxi/allwinner-fdt-setprop-fix-unaligned-access.patch index f164f18806..967ab8cdd8 100644 --- a/patch/u-boot/u-boot-sunxi/allwinner-fdt-setprop-fix-unaligned-access.patch +++ b/patch/u-boot/u-boot-sunxi/allwinner-fdt-setprop-fix-unaligned-access.patch @@ -1,8 +1,8 @@ diff --git a/cmd/fdt.c b/cmd/fdt.c -index d7654b2c4f..a71b7713a8 100644 +index 6fbd9205d3..454f5672fc 100644 --- a/cmd/fdt.c +++ b/cmd/fdt.c -@@ -17,6 +17,7 @@ +@@ -18,6 +18,7 @@ #include #include #include @@ -10,7 +10,7 @@ index d7654b2c4f..a71b7713a8 100644 #define MAX_LEVEL 32 /* how deeply nested we will go */ #define SCRATCHPAD 1024 /* bytes of scratchpad memory */ -@@ -781,7 +782,10 @@ static int fdt_parse_prop(char * const *newval, int count, char *data, int *len) +@@ -798,7 +799,10 @@ static int fdt_parse_prop(char * const *newval, int count, char *data, int *len) cp = newp; tmp = simple_strtoul(cp, &newp, 0); if (*cp != '?') diff --git a/patch/u-boot/u-boot-sunxi/allwinner-fix-nand-spl.patch b/patch/u-boot/u-boot-sunxi/allwinner-fix-nand-spl.patch deleted file mode 100644 index 90251a581b..0000000000 --- a/patch/u-boot/u-boot-sunxi/allwinner-fix-nand-spl.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/drivers/mtd/nand/raw/sunxi_nand_spl.c b/drivers/mtd/nand/raw/sunxi_nand_spl.c -index a29a76c5..6de0b0a3 100644 ---- a/drivers/mtd/nand/raw/sunxi_nand_spl.c -+++ b/drivers/mtd/nand/raw/sunxi_nand_spl.c -@@ -208,7 +208,7 @@ static void nand_apply_config(const struct nfc_config *conf) - - val = readl(SUNXI_NFC_BASE + NFC_CTL); - val &= ~NFC_CTL_PAGE_SIZE_MASK; -- writel(val | NFC_CTL_RAM_METHOD | NFC_CTL_PAGE_SIZE(conf->page_size), -+ writel(val | NFC_CTL_PAGE_SIZE(conf->page_size), - SUNXI_NFC_BASE + NFC_CTL); - writel(conf->ecc_size, SUNXI_NFC_BASE + NFC_CNT); - writel(conf->page_size, SUNXI_NFC_BASE + NFC_SPARE_AREA); diff --git a/patch/u-boot/u-boot-sunxi/allwinner-h3-enable-power-led.patch b/patch/u-boot/u-boot-sunxi/allwinner-h3-enable-power-led.patch index aec4cccffc..c8bb2c8e47 100644 --- a/patch/u-boot/u-boot-sunxi/allwinner-h3-enable-power-led.patch +++ b/patch/u-boot/u-boot-sunxi/allwinner-h3-enable-power-led.patch @@ -1,10 +1,10 @@ diff --git a/board/sunxi/board.c b/board/sunxi/board.c -index 3cf3614..89cf7f5 100644 +index 21a2407e06..09f4a0b8c3 100644 --- a/board/sunxi/board.c +++ b/board/sunxi/board.c -@@ -478,6 +478,11 @@ void sunxi_board_init(void) - int power_failed = 0; - unsigned long ramsize; +@@ -580,6 +580,11 @@ void sunxi_board_init(void) + status_led_init(); + #endif +#ifdef CONFIG_MACH_SUN8I_H3 + /* turn on power LED (PL10) on H3 boards */ @@ -14,4 +14,3 @@ index 3cf3614..89cf7f5 100644 #ifdef CONFIG_SY8106A_POWER power_failed = sy8106a_set_vout1(CONFIG_SY8106A_VOUT1_VOLT); #endif - diff --git a/patch/u-boot/u-boot-sunxi/allwinner-h3-set-safe-axi_apb-clock-dividers.patch b/patch/u-boot/u-boot-sunxi/allwinner-h3-set-safe-axi_apb-clock-dividers.patch index eca8c74bed..e57d607bae 100644 --- a/patch/u-boot/u-boot-sunxi/allwinner-h3-set-safe-axi_apb-clock-dividers.patch +++ b/patch/u-boot/u-boot-sunxi/allwinner-h3-set-safe-axi_apb-clock-dividers.patch @@ -1,8 +1,30 @@ +diff --git a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h +index 7fcf340db6..723113b10b 100644 +--- a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h ++++ b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h +@@ -208,6 +208,7 @@ struct sunxi_ccm_reg { + #define CCM_PLL1_CTRL_N(n) ((((n) - 1) & 0x1f) << 8) + #define CCM_PLL1_CTRL_P(n) (((n) & 0x3) << 16) + #define CCM_PLL1_CTRL_EN (0x1 << 31) ++#define CCM_PLL1_CTRL_LOCK (0x1 << 28) + + #define CCM_PLL3_CTRL_M_SHIFT 0 + #define CCM_PLL3_CTRL_M_MASK (0xf << CCM_PLL3_CTRL_M_SHIFT) diff --git a/arch/arm/mach-sunxi/clock_sun6i.c b/arch/arm/mach-sunxi/clock_sun6i.c -index ad3f8365..aec9e562 100644 +index 23989c6f1b..aec9e56202 100644 --- a/arch/arm/mach-sunxi/clock_sun6i.c +++ b/arch/arm/mach-sunxi/clock_sun6i.c -@@ -167,8 +167,8 @@ void clock_set_pll1(unsigned int clk) +@@ -158,15 +158,17 @@ void clock_set_pll1(unsigned int clk) + writel(CCM_PLL1_CTRL_EN | CCM_PLL1_CTRL_P(p) | + CCM_PLL1_CTRL_N(clk / (24000000 * k / m)) | + CCM_PLL1_CTRL_K(k) | CCM_PLL1_CTRL_M(m), &ccm->pll1_cfg); +- sdelay(200); ++ ++ while (!(readl(&ccm->pll1_cfg) & CCM_PLL1_CTRL_LOCK)) ++ ; + + /* Switch CPU to PLL1 */ + if (IS_ENABLED(CONFIG_MACH_SUNIV)) { writel(CPU_CLK_SRC_PLL1 << CPU_CLK_SRC_SHIFT, &ccm->cpu_axi_cfg); } else { @@ -13,30 +35,3 @@ index ad3f8365..aec9e562 100644 CPU_CLK_SRC_PLL1 << CPU_CLK_SRC_SHIFT, &ccm->cpu_axi_cfg); } -diff --git a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h -index f2990db..b3a8575 100644 ---- a/arch/arm/include/asm/arch-sunxi/clock_sun6i.h -+++ b/arch/arm/include/asm/arch-sunxi/clock_sun6i.h -@@ -180,6 +180,7 @@ struct sunxi_ccm_reg { - #define CCM_PLL1_CTRL_N(n) ((((n) - 1) & 0x1f) << 8) - #define CCM_PLL1_CTRL_P(n) (((n) & 0x3) << 16) - #define CCM_PLL1_CTRL_EN (0x1 << 31) -+#define CCM_PLL1_CTRL_LOCK (0x1 << 28) - - #define CCM_PLL3_CTRL_M_SHIFT 0 - #define CCM_PLL3_CTRL_M_MASK (0xf << CCM_PLL3_CTRL_M_SHIFT) -diff --git a/arch/arm/mach-sunxi/clock_sun6i.c b/arch/arm/mach-sunxi/clock_sun6i.c -index cedddc2..3fe9305 100644 ---- a/arch/arm/mach-sunxi/clock_sun6i.c -+++ b/arch/arm/mach-sunxi/clock_sun6i.c -@@ -114,7 +114,9 @@ void clock_set_pll1(unsigned int clk) - writel(CCM_PLL1_CTRL_EN | CCM_PLL1_CTRL_P(p) | - CCM_PLL1_CTRL_N(clk / (24000000 * k / m)) | - CCM_PLL1_CTRL_K(k) | CCM_PLL1_CTRL_M(m), &ccm->pll1_cfg); -- sdelay(200); -+ -+ while (!(readl(&ccm->pll1_cfg) & CCM_PLL1_CTRL_LOCK)) -+ ; - - /* Switch CPU to PLL1 */ - writel(AXI_DIV_4 << AXI_DIV_SHIFT | diff --git a/patch/u-boot/u-boot-sunxi/allwinner-lower-default-DRAM-freq-A64-H5.patch b/patch/u-boot/u-boot-sunxi/allwinner-lower-default-DRAM-freq-A64-H5.patch index 932fca689d..54b38fd8cc 100644 --- a/patch/u-boot/u-boot-sunxi/allwinner-lower-default-DRAM-freq-A64-H5.patch +++ b/patch/u-boot/u-boot-sunxi/allwinner-lower-default-DRAM-freq-A64-H5.patch @@ -1,13 +1,13 @@ diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig -index 6277abc..84c087e 100644 +index 5712576184..459d7baa29 100644 --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig -@@ -394,7 +394,7 @@ config DRAM_CLK +@@ -465,7 +465,7 @@ config DRAM_CLK default 312 if MACH_SUN6I || MACH_SUN8I default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || \ MACH_SUN8I_V3S - default 672 if MACH_SUN50I + default 648 if MACH_SUN50I || MACH_SUN50I_H5 default 744 if MACH_SUN50I_H6 + default 720 if MACH_SUN50I_H616 ---help--- - Set the dram clock speed, valid range 240 - 480 (prior to sun9i), diff --git a/patch/u-boot/u-boot-sunxi/allwinner-sun8i-set-machid.patch b/patch/u-boot/u-boot-sunxi/allwinner-sun8i-set-machid.patch index 24a33afa45..43e9ccb725 100644 --- a/patch/u-boot/u-boot-sunxi/allwinner-sun8i-set-machid.patch +++ b/patch/u-boot/u-boot-sunxi/allwinner-sun8i-set-machid.patch @@ -1,9 +1,9 @@ diff --git a/include/configs/sun8i.h b/include/configs/sun8i.h -index a4c3fb69e..47ce2e9e6 100644 +index b6cd8d39a8..608a055892 100644 --- a/include/configs/sun8i.h +++ b/include/configs/sun8i.h -@@ -30,4 +30,6 @@ - */ +@@ -10,4 +10,6 @@ + #include +#define CONFIG_MACH_TYPE (0x1029) diff --git a/patch/u-boot/u-boot-sunxi/board_nanopiair/add-nanopi-air-emmc.patch b/patch/u-boot/u-boot-sunxi/board_nanopiair/add-nanopi-air-emmc.patch index fee4a889a9..655212b095 100644 --- a/patch/u-boot/u-boot-sunxi/board_nanopiair/add-nanopi-air-emmc.patch +++ b/patch/u-boot/u-boot-sunxi/board_nanopiair/add-nanopi-air-emmc.patch @@ -1,9 +1,9 @@ diff --git a/arch/arm/dts/sun8i-h3-nanopi-neo-air.dts b/arch/arm/dts/sun8i-h3-nanopi-neo-air.dts -index 6246d3e..4f213e1 100644 +index cd3df12b65..24c462074b 100644 --- a/arch/arm/dts/sun8i-h3-nanopi-neo-air.dts +++ b/arch/arm/dts/sun8i-h3-nanopi-neo-air.dts -@@ -103,6 +103,23 @@ - }; +@@ -113,6 +113,23 @@ + status = "okay"; }; +&mmc2 { @@ -25,13 +25,13 @@ index 6246d3e..4f213e1 100644 + &uart0 { pinctrl-names = "default"; - pinctrl-0 = <&uart0_pins_a>; + pinctrl-0 = <&uart0_pa_pins>; diff --git a/configs/nanopi_neo_air_defconfig b/configs/nanopi_neo_air_defconfig -index 11eb3ab13b..9f83068dd7 100644 +index b83b6a3499..4b13290130 100644 --- a/configs/nanopi_neo_air_defconfig +++ b/configs/nanopi_neo_air_defconfig -@@ -16,3 +16,4 @@ CONFIG_CONSOLE_MUX=y - CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-neo-air" +@@ -11,3 +11,4 @@ CONFIG_SPL_STACK=0x8000 + CONFIG_SYS_PBSIZE=1024 CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y +CONFIG_MMC_SUNXI_SLOT_EXTRA=2 diff --git a/patch/u-boot/u-boot-sunxi/board_nanopiair/adjust-small-boards-cpufreq.patch b/patch/u-boot/u-boot-sunxi/board_nanopiair/adjust-small-boards-cpufreq.patch index 38f5a81977..04c27a8999 100644 --- a/patch/u-boot/u-boot-sunxi/board_nanopiair/adjust-small-boards-cpufreq.patch +++ b/patch/u-boot/u-boot-sunxi/board_nanopiair/adjust-small-boards-cpufreq.patch @@ -1,12 +1,12 @@ diff --git a/configs/nanopi_neo_air_defconfig b/configs/nanopi_neo_air_defconfig -index 11eb3ab13b..d8f3f75192 100644 +index 4b13290130..3c5320ed19 100644 --- a/configs/nanopi_neo_air_defconfig +++ b/configs/nanopi_neo_air_defconfig -@@ -9,5 +9,6 @@ CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-neo-air" - CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-nanopi-neo-air" +@@ -7,6 +7,7 @@ CONFIG_DRAM_CLK=408 + # CONFIG_VIDEO_DE2 is not set # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_CONSOLE_MUX=y +CONFIG_SYS_CLK_FREQ=480000000 + CONFIG_SPL_STACK=0x8000 + CONFIG_SYS_PBSIZE=1024 CONFIG_USB_EHCI_HCD=y - CONFIG_USB_OHCI_HCD=y - CONFIG_MMC_SUNXI_SLOT_EXTRA=2 diff --git a/patch/u-boot/u-boot-sunxi/board_olimex-som-a20/GMAC_TX_DELAY_autocorrection.patch b/patch/u-boot/u-boot-sunxi/board_olimex-som-a20/GMAC_TX_DELAY_autocorrection.patch index 173a9bbc69..9248a05580 100644 --- a/patch/u-boot/u-boot-sunxi/board_olimex-som-a20/GMAC_TX_DELAY_autocorrection.patch +++ b/patch/u-boot/u-boot-sunxi/board_olimex-som-a20/GMAC_TX_DELAY_autocorrection.patch @@ -1,27 +1,27 @@ diff --git a/configs/A20-Olimex-SOM-EVB_defconfig b/configs/A20-Olimex-SOM-EVB_defconfig -index ee94155..0ff93b8 100644 +index 67b47f51f1..ccd2321674 100644 --- a/configs/A20-Olimex-SOM-EVB_defconfig +++ b/configs/A20-Olimex-SOM-EVB_defconfig -@@ -27,3 +27,5 @@ CONFIG_AXP_ALDO4_VOLT=2800 +@@ -31,3 +31,5 @@ CONFIG_AXP_ALDO4_VOLT=2800 CONFIG_SCSI=y CONFIG_USB_EHCI_HCD=y - CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y + CONFIG_USB_OHCI_HCD=y +CONFIG_PHY_MICREL=y +CONFIG_PHY_MICREL_KSZ90X1=y diff --git a/drivers/net/phy/micrel_ksz90x1.c b/drivers/net/phy/micrel_ksz90x1.c -index b350a61..701a3d1 100644 +index e5f578201f..687ad305fd 100644 --- a/drivers/net/phy/micrel_ksz90x1.c +++ b/drivers/net/phy/micrel_ksz90x1.c -@@ -16,6 +16,8 @@ +@@ -14,6 +14,8 @@ #include #include #include +#include +#include - DECLARE_GLOBAL_DATA_PTR; - -@@ -334,6 +336,10 @@ static int ksz9031_phy_extwrite(struct phy_device *phydev, int addr, + /* + * KSZ9021 - KSZ9031 common +@@ -349,6 +351,10 @@ static int ksz9031_phy_extwrite(struct phy_device *phydev, int addr, static int ksz9031_config(struct phy_device *phydev) { int ret; @@ -33,19 +33,19 @@ index b350a61..701a3d1 100644 ret = ksz9031_of_config(phydev); if (ret) diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c -index 6d917f8..87956c0 100644 +index 24c3ea59bb..69524092e8 100644 --- a/drivers/net/phy/realtek.c +++ b/drivers/net/phy/realtek.c -@@ -11,6 +11,8 @@ +@@ -9,6 +9,8 @@ #include #include #include +#include +#include + #include #define PHY_RTL8211x_FORCE_MASTER BIT(1) - -@@ -63,6 +65,9 @@ static int rtl8211b_probe(struct phy_device *phydev) +@@ -131,6 +133,9 @@ static int rtl8210f_probe(struct phy_device *phydev) /* RealTek RTL8211x */ static int rtl8211x_config(struct phy_device *phydev) { @@ -55,7 +55,7 @@ index 6d917f8..87956c0 100644 phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, BMCR_RESET); /* mask interrupt at init; if the interrupt is -@@ -71,6 +76,14 @@ static int rtl8211x_config(struct phy_device *phydev) +@@ -139,6 +144,14 @@ static int rtl8211x_config(struct phy_device *phydev) phy_write(phydev, MDIO_DEVAD_NONE, MIIM_RTL8211x_PHY_INER, MIIM_RTL8211x_PHY_INTR_DIS); diff --git a/patch/u-boot/u-boot-sunxi/board_orangepiprime/enable-ethernet-orangepiprime.patch b/patch/u-boot/u-boot-sunxi/board_orangepiprime/enable-ethernet-orangepiprime.patch index d8d57a1e2d..a013d834f7 100644 --- a/patch/u-boot/u-boot-sunxi/board_orangepiprime/enable-ethernet-orangepiprime.patch +++ b/patch/u-boot/u-boot-sunxi/board_orangepiprime/enable-ethernet-orangepiprime.patch @@ -1,11 +1,11 @@ diff --git a/configs/orangepi_prime_defconfig b/configs/orangepi_prime_defconfig -index 7e10ebe..8d13489 100644 +index 9c909f3d87..28ca65aabf 100644 --- a/configs/orangepi_prime_defconfig +++ b/configs/orangepi_prime_defconfig -@@ -10,6 +10,8 @@ CONFIG_NR_DRAM_BANKS=1 - # CONFIG_DRAM_ODT_EN is not set - CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-orangepi-prime" - # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +@@ -11,6 +11,8 @@ CONFIG_DRAM_ODT_EN=y + CONFIG_SPL_STACK=0x54000 + CONFIG_SYS_PBSIZE=1024 + CONFIG_SYS_BOOTM_LEN=0x2000000 +CONFIG_MACPWR="PD6" +CONFIG_SPL_SPI_SUNXI=y CONFIG_SUN8I_EMAC=y diff --git a/patch/u-boot/u-boot-sunxi/board_orangepizero/adjust-small-boards-cpufreq.patch b/patch/u-boot/u-boot-sunxi/board_orangepizero/adjust-small-boards-cpufreq.patch index a05e1b4648..02fe69a494 100644 --- a/patch/u-boot/u-boot-sunxi/board_orangepizero/adjust-small-boards-cpufreq.patch +++ b/patch/u-boot/u-boot-sunxi/board_orangepizero/adjust-small-boards-cpufreq.patch @@ -1,12 +1,12 @@ diff --git a/configs/orangepi_zero_defconfig b/configs/orangepi_zero_defconfig -index f8dda05..739a5f4 100644 +index 2abdca4003..183a0272f0 100644 --- a/configs/orangepi_zero_defconfig +++ b/configs/orangepi_zero_defconfig -@@ -9,6 +9,7 @@ CONFIG_SPL_SPI_SUNXI=y +@@ -9,6 +9,7 @@ CONFIG_DRAM_ODT_EN=y + # CONFIG_VIDEO_DE2 is not set CONFIG_SPL_SPI_SUNXI=y # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_SYS_CLK_FREQ=480000000 CONFIG_CONSOLE_MUX=y - CONFIG_SPI_FLASH_WINBOND=y - CONFIG_SUN8I_EMAC=y - CONFIG_SPI=y + CONFIG_SPL_STACK=0x8000 + CONFIG_SYS_PBSIZE=1024 diff --git a/patch/u-boot/u-boot-sunxi/board_orangepizeroplus/add-orangepi-zero-plus-pxe-support.patch b/patch/u-boot/u-boot-sunxi/board_orangepizeroplus/add-orangepi-zero-plus-pxe-support.patch index 3109220382..97ebd736c7 100644 --- a/patch/u-boot/u-boot-sunxi/board_orangepizeroplus/add-orangepi-zero-plus-pxe-support.patch +++ b/patch/u-boot/u-boot-sunxi/board_orangepizeroplus/add-orangepi-zero-plus-pxe-support.patch @@ -1,11 +1,11 @@ diff --git a/configs/orangepi_zero_plus_defconfig b/configs/orangepi_zero_plus_defconfig -index 2c4c4900..c2d18e98 100644 +index 15520955f5..cf1ad5071b 100644 --- a/configs/orangepi_zero_plus_defconfig +++ b/configs/orangepi_zero_plus_defconfig -@@ -7,6 +7,8 @@ CONFIG_DRAM_ZQ=3881977 - # CONFIG_DRAM_ODT_EN is not set - CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-orangepi-zero-plus" - # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +@@ -10,6 +10,8 @@ CONFIG_DRAM_ZQ=3881977 + CONFIG_SPL_STACK=0x54000 + CONFIG_SYS_PBSIZE=1024 + CONFIG_SYS_BOOTM_LEN=0x2000000 +CONFIG_MACPWR="PD6" +CONFIG_SPL_SPI_SUNXI=y CONFIG_SUN8I_EMAC=y diff --git a/patch/u-boot/u-boot-sunxi/board_zeropi/add-zeropi.patch b/patch/u-boot/u-boot-sunxi/board_zeropi/add-zeropi.patch deleted file mode 100644 index c28d537ee7..0000000000 --- a/patch/u-boot/u-boot-sunxi/board_zeropi/add-zeropi.patch +++ /dev/null @@ -1,147 +0,0 @@ -diff --git a/configs/zeropi_defconfig b/configs/zeropi_defconfig -new file mode 100644 -index 0000000..1e51018 ---- /dev/null -+++ b/configs/zeropi_defconfig -@@ -0,0 +1,21 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_SUNXI=y -+CONFIG_MACH_SUN8I_H3=y -+CONFIG_DRAM_CLK=408 -+CONFIG_DRAM_ZQ=3881979 -+CONFIG_DRAM_ODT_EN=y -+CONFIG_MACPWR="PD6" -+# CONFIG_VIDEO_DE2 is not set -+CONFIG_NR_DRAM_BANKS=1 -+CONFIG_DEFAULT_DEVICE_TREE="sun8i-h3-zeropi" -+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -+CONFIG_CONSOLE_MUX=y -+CONFIG_SPL=y -+CONFIG_SYS_CLK_FREQ=480000000 -+# CONFIG_CMD_IMLS is not set -+# CONFIG_CMD_FLASH is not set -+# CONFIG_CMD_FPGA is not set -+CONFIG_SUN8I_EMAC=y -+CONFIG_USB_EHCI_HCD=y -+CONFIG_USB_EHCI_HCD=y -+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 4f8ca34..019ac0b 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -312,6 +312,7 @@ dtb-$(CONFIG_MACH_SUN8I_H3) += \ - sun8i-h2-plus-libretech-all-h3-cc.dtb \ - sun8i-h2-plus-orangepi-r1.dtb \ - sun8i-h2-plus-orangepi-zero.dtb \ -+ sun8i-h3-zeropi.dtb \ - sun8i-h3-bananapi-m2-plus.dtb \ - sun8i-h3-bananapi-m2-plus-v1.2.dtb \ - sun8i-h3-beelink-x2.dtb \ -diff --git a/arch/arm/dts/sun8i-h3-zeropi.dts b/arch/arm/dts/sun8i-h3-zeropi.dts -new file mode 100644 -index 0000000000000..4edee84316249 ---- /dev/null -+++ b/arch/arm/dts/sun8i-h3-zeropi.dts -@@ -0,0 +1,100 @@ -+/* -+ * 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. -+ */ -+ -+#include "sun8i-h3-nanopi.dtsi" -+ -+/ { -+ model = "FriendlyElec ZeroPi"; -+ compatible = "friendlyarm,zeropi", "allwinner,sun8i-h3"; -+ -+ reg_gmac_3v3: gmac-3v3 { -+ compatible = "regulator-fixed"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&gmac_power_pin_nanopi>; -+ regulator-name = "gmac-3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ startup-delay-us = <100000>; -+ enable-active-high; -+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; -+ }; -+}; -+ -+&ehci0 { -+ status = "okay"; -+}; -+ -+&ohci0 { -+ status = "okay"; -+}; -+ -+&pio { -+ gmac_power_pin_nanopi: gmac_power_pin@0 { -+ pins = "PD6"; -+ function = "gpio_out"; -+ }; -+}; -+ -+&external_mdio { -+ ext_rgmii_phy: ethernet-phy@1 { -+ compatible = "ethernet-phy-ieee802.3-c22"; -+ reg = <7>; -+ }; -+}; -+ -+&emac { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&emac_rgmii_pins>; -+ phy-supply = <®_gmac_3v3>; -+ phy-handle = <&ext_rgmii_phy>; -+ phy-mode = "rgmii"; -+ -+ allwinner,leds-active-low; -+ status = "okay"; -+}; -+ -+&usb_otg { -+ status = "okay"; -+ dr_mode = "peripheral"; -+}; -+ -+&usbphy { -+ usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ -+}; -+ -\ No newline at end of file