diff --git a/config/buildroot_nano.patch b/config/buildroot_nano.patch index 9af2f2266ab4c8bd55eb33e1039b23775febd0b3..32d3c57eeb481813711e697ca6a7595b87bb3018 100644 --- a/config/buildroot_nano.patch +++ b/config/buildroot_nano.patch @@ -1,1227 +1,72 @@ - board/friendlyarm/nanopi-neo-plus2/boot.cmd | 6 + - board/friendlyarm/nanopi-neo-plus2/genimage.cfg | 45 ++ - board/friendlyarm/nanopi-neo-plus2/linux.patch | 382 +++++++++++ - board/friendlyarm/nanopi-neo-plus2/linux_defconfig | 728 +++++++++++++++++++++ - board/friendlyarm/nanopi-neo-plus2/my.dts | 12 + - .../friendlyarm/nanopi-neo-plus2/overlay/etc/fstab | 9 + - .../overlay/etc/network/interfaces | 10 + - board/friendlyarm/nanopi-neo-plus2/readme.txt | 37 ++ - board/friendlyarm/nanopi-neo-plus2/uboot.patch | 24 + - board/friendlyarm/nanopi-neo-plus2/uboot_defconfig | 16 + - configs/nanopi_neo_plus2_defconfig | 103 +++ - package/dropbear/S50dropbear | 2 +- - package/openssh/S50sshd | 3 + - 13 files changed, 1376 insertions(+), 1 deletion(-) + board/friendlyarm/nanopi-neo-plus2/boot.cmd | 6 ++ + board/friendlyarm/nanopi-neo-plus2/genimage.cfg | 4 +- + .../nanopi-neo-plus2/linux-extras.config | 4 + + .../nanopi-neo-plus2/nanopi-neo-plus2.dts | 7 ++ + .../nanopi-neo-plus2/rootfs_overlay/etc/fstab | 10 +++ + .../rootfs_overlay/etc/network/interfaces | 10 +++ + configs/friendlyarm_nanopi_neo_plus2_defconfig | 94 +++++++++++++--------- + package/dropbear/S50dropbear | 2 +- + package/openssh/S50sshd | 3 + + 9 files changed, 97 insertions(+), 43 deletions(-) diff --git a/board/friendlyarm/nanopi-neo-plus2/boot.cmd b/board/friendlyarm/nanopi-neo-plus2/boot.cmd new file mode 100644 -index 0000000000..227604a23d +index 0000000000..ec83aa9ef3 --- /dev/null +++ b/board/friendlyarm/nanopi-neo-plus2/boot.cmd @@ -0,0 +1,6 @@ +setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait + +fatload mmc 0 $kernel_addr_r Image -+fatload mmc 0 $fdt_addr_r sun50i-h5-nanopi-neo-plus2.dtb ++fatload mmc 0 $fdt_addr_r nanopi-neo-plus2.dtb + +booti $kernel_addr_r - $fdt_addr_r diff --git a/board/friendlyarm/nanopi-neo-plus2/genimage.cfg b/board/friendlyarm/nanopi-neo-plus2/genimage.cfg -new file mode 100644 -index 0000000000..8b2e674e37 ---- /dev/null +index fb871abd43..bf6f68872d 100644 +--- a/board/friendlyarm/nanopi-neo-plus2/genimage.cfg +++ b/board/friendlyarm/nanopi-neo-plus2/genimage.cfg -@@ -0,0 +1,45 @@ -+image boot.vfat { -+ vfat { -+ files = { -+ "Image", -+ "sun50i-h5-nanopi-neo-plus2.dtb", +@@ -2,8 +2,8 @@ image boot.vfat { + vfat { + files = { + "Image", +- "sun50i-h5-nanopi-neo-plus2.dtb", +- "extlinux" ++ "nanopi-neo-plus2.dtb", + "boot.scr" -+ } -+ } -+ size = 64M -+} -+ -+image sdcard.img { -+ hdimage { -+ } -+ -+ partition spl { -+ in-partition-table = "no" -+ image = "sunxi-spl.bin" -+ offset = 8192 -+ } -+ -+ partition u-boot { -+ in-partition-table = "no" -+ image = "u-boot.itb" -+ offset = 40K -+ size = 1M # 1MB - 40K -+ } -+ -+ partition boot { -+ partition-type = 0xC -+ bootable = "true" -+ image = "boot.vfat" -+ } -+ -+ partition squashfs { -+ partition-type = 0x83 -+ image = "rootfs.squashfs" -+ } -+ -+ partition rootfs { -+ partition-type = 0x83 -+ image = "rootfs.ext4" -+ size = 2G -+ } -+} -diff --git a/board/friendlyarm/nanopi-neo-plus2/linux.patch b/board/friendlyarm/nanopi-neo-plus2/linux.patch -new file mode 100644 -index 0000000000..81dab72ca1 ---- /dev/null -+++ b/board/friendlyarm/nanopi-neo-plus2/linux.patch -@@ -0,0 +1,382 @@ -+ arch/arm/boot/dts/sunxi-h3-h5.dtsi | 20 ++ -+ .../dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts | 3 +- -+ arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi | 15 +- -+ drivers/thermal/Kconfig | 7 + -+ drivers/thermal/Makefile | 1 + -+ drivers/thermal/sun8i_ths.c | 239 +++++++++++++++++++++ -+ 6 files changed, 281 insertions(+), 4 deletions(-) -+ -+diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -+index d74a6cbbfdf4..06144aace59b 100644 -+--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi -++++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi -+@@ -483,6 +483,18 @@ -+ }; -+ }; -+ -++ ths: ths@1c25000 { -++ #thermal-sensor-cells = <0>; -++ compatible = "allwinner,sun8i-h3-ths"; -++ reg = <0x01c25000 0x400>, -++ <0x01c14234 0x4>; -++ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; -++ resets = <&ccu RST_BUS_THS>; -++ reset-names = "ahb"; -++ clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>; -++ clock-names = "ahb", "ths"; -++ }; -++ -+ timer@1c20c00 { -+ compatible = "allwinner,sun4i-a10-timer"; -+ reg = <0x01c20c00 0xa0>; -+@@ -866,4 +878,12 @@ -+ }; -+ }; -+ }; -++ -++ thermal-zones { -++ cpu_thermal: cpu_thermal { -++ polling-delay-passive = <330>; -++ polling-delay = <1000>; -++ thermal-sensors = <&ths 0>; -++ }; -++ }; -+ }; -+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts -+index 506e25ba028a..798d6ad90017 100644 -+--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts -++++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts -+@@ -63,7 +63,7 @@ -+ -+ leds { -+ compatible = "gpio-leds"; -+- -++/* -+ pwr { -+ label = "nanopi:green:pwr"; -+ gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; -+@@ -74,6 +74,7 @@ -+ label = "nanopi:red:status"; -+ gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>; -+ }; -++*/ -+ }; -+ -+ reg_gmac_3v3: gmac-3v3 { -+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi -+index 96acafd3a852..690420d926b6 100644 -+--- a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi -++++ b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi -+@@ -54,21 +54,21 @@ -+ enable-method = "psci"; -+ }; -+ -+- cpu@1 { -++ cpu1: cpu@1 { -+ compatible = "arm,cortex-a53"; -+ device_type = "cpu"; -+ reg = <1>; -+ enable-method = "psci"; -+ }; -+ -+- cpu@2 { -++ cpu2: cpu@2 { -+ compatible = "arm,cortex-a53"; -+ device_type = "cpu"; -+ reg = <2>; -+ enable-method = "psci"; -+ }; -+ -+- cpu@3 { -++ cpu3: cpu@3 { -+ compatible = "arm,cortex-a53"; -+ device_type = "cpu"; -+ reg = <3>; -+@@ -76,6 +76,15 @@ -+ }; -+ }; -+ -++ pmu { -++ compatible = "arm,cortex-a53-pmu", "arm,armv8-pmuv3"; -++ interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, -++ <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, -++ <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, -++ <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; -++ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; -++ }; -++ -+ psci { -+ compatible = "arm,psci-0.2"; -+ method = "smc"; -+diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig -+index 653aa27a25a4..6cb1a6dd69d6 100644 -+--- a/drivers/thermal/Kconfig -++++ b/drivers/thermal/Kconfig -+@@ -349,6 +349,13 @@ depends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || ARCH_BCM_IPROC || \ -+ source "drivers/thermal/broadcom/Kconfig" -+ endmenu -+ -++config SUN8I_THS -++ tristate "Thermal sensor driver for Allwinner H3" -++ depends on MACH_SUN8I || (ARM64 && ARCH_SUNXI) -++ depends on OF -++ help -++ Enable this to support thermal reporting on some newer Allwinner SoCs. -++ -+ menu "Texas Instruments thermal drivers" -+ depends on ARCH_HAS_BANDGAP || COMPILE_TEST -+ depends on HAS_IOMEM -+diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile -+index 486d682be047..76cc16097a90 100644 -+--- a/drivers/thermal/Makefile -++++ b/drivers/thermal/Makefile -+@@ -53,3 +53,4 @@ obj-$(CONFIG_MTK_THERMAL) += mtk_thermal.o -+ obj-$(CONFIG_GENERIC_ADC_THERMAL) += thermal-generic-adc.o -+ obj-$(CONFIG_ZX2967_THERMAL) += zx2967_thermal.o -+ obj-$(CONFIG_UNIPHIER_THERMAL) += uniphier_thermal.o -++obj-$(CONFIG_SUN8I_THS) += sun8i_ths.o -+diff --git a/drivers/thermal/sun8i_ths.c b/drivers/thermal/sun8i_ths.c -+new file mode 100644 -+index 000000000000..cfe7d1073b8c -+--- /dev/null -++++ b/drivers/thermal/sun8i_ths.c -+@@ -0,0 +1,239 @@ -++/* -++ * Thermal sensor driver for Allwinner H3 SoC -++ * -++ * Copyright (C) 2016 Ondřej Jirman -++ * Based on the work of Josef Gajdusek <atx@atx.name> -++ * -++ * This software is licensed under the terms of the GNU General Public -++ * License version 2, as published by the Free Software Foundation, and -++ * may be copied, distributed, and modified under those terms. -++ * -++ * This program 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. -++ * -++ */ -++ -++#include <linux/clk.h> -++#include <linux/interrupt.h> -++#include <linux/io.h> -++#include <linux/module.h> -++#include <linux/of_device.h> -++#include <linux/platform_device.h> -++#include <linux/reset.h> -++#include <linux/slab.h> -++#include <linux/thermal.h> -++#include <linux/printk.h> -++ -++#define THS_H3_CTRL0 0x00 -++#define THS_H3_CTRL2 0x40 -++#define THS_H3_INT_CTRL 0x44 -++#define THS_H3_STAT 0x48 -++#define THS_H3_FILTER 0x70 -++#define THS_H3_CDATA 0x74 -++#define THS_H3_DATA 0x80 -++ -++#define THS_H3_CTRL0_SENSOR_ACQ0(x) (x) -++#define THS_H3_CTRL2_SENSE_EN BIT(0) -++#define THS_H3_CTRL2_SENSOR_ACQ1(x) ((x) << 16) -++#define THS_H3_INT_CTRL_DATA_IRQ_EN BIT(8) -++#define THS_H3_INT_CTRL_THERMAL_PER(x) ((x) << 12) -++#define THS_H3_STAT_DATA_IRQ_STS BIT(8) -++#define THS_H3_FILTER_TYPE(x) ((x) << 0) -++#define THS_H3_FILTER_EN BIT(2) -++ -++#define THS_H3_CLK_IN 40000000 /* Hz */ -++#define THS_H3_DATA_PERIOD 330 /* ms */ -++ -++#define THS_H3_FILTER_TYPE_VALUE 2 /* average over 2^(n+1) samples */ -++#define THS_H3_FILTER_DIV (1 << (THS_H3_FILTER_TYPE_VALUE + 1)) -++#define THS_H3_INT_CTRL_THERMAL_PER_VALUE \ -++ (THS_H3_DATA_PERIOD * (THS_H3_CLK_IN / 1000) / THS_H3_FILTER_DIV / 4096 - 1) -++#define THS_H3_CTRL0_SENSOR_ACQ0_VALUE 0x3f /* 16us */ -++#define THS_H3_CTRL2_SENSOR_ACQ1_VALUE 0x3f -++ -++struct sun8i_ths_data { -++ struct reset_control *reset; -++ struct clk *clk; -++ struct clk *busclk; -++ void __iomem *regs; -++ struct thermal_zone_device *tzd; -++ u32 temp; -++}; -++ -++static int sun8i_ths_get_temp(void *_data, int *out) -++{ -++ struct sun8i_ths_data *data = _data; -++ -++ if (data->temp == 0) -++ return -EBUSY; -++ -++ /* Formula and parameters from the Allwinner 3.4 kernel */ -++ *out = 217000 - (int)((data->temp * 1000000) / 8253); -++ return 0; -++} -++ -++static irqreturn_t sun8i_ths_irq_thread(int irq, void *_data) -++{ -++ struct sun8i_ths_data *data = _data; -++ -++ writel(THS_H3_STAT_DATA_IRQ_STS, data->regs + THS_H3_STAT); -++ -++ data->temp = readl(data->regs + THS_H3_DATA); -++ if (data->temp) -++ thermal_zone_device_update(data->tzd, THERMAL_EVENT_TEMP_SAMPLE); -++ -++ return IRQ_HANDLED; -++} -++ -++static void sun8i_ths_h3_init(struct sun8i_ths_data *data) -++{ -++ writel(THS_H3_CTRL0_SENSOR_ACQ0(THS_H3_CTRL0_SENSOR_ACQ0_VALUE), -++ data->regs + THS_H3_CTRL0); -++ writel(THS_H3_FILTER_EN | THS_H3_FILTER_TYPE(THS_H3_FILTER_TYPE_VALUE), -++ data->regs + THS_H3_FILTER); -++ writel(THS_H3_CTRL2_SENSOR_ACQ1(THS_H3_CTRL2_SENSOR_ACQ1_VALUE) | -++ THS_H3_CTRL2_SENSE_EN, -++ data->regs + THS_H3_CTRL2); -++ writel(THS_H3_INT_CTRL_THERMAL_PER(THS_H3_INT_CTRL_THERMAL_PER_VALUE) | -++ THS_H3_INT_CTRL_DATA_IRQ_EN, -++ data->regs + THS_H3_INT_CTRL); -++} -++ -++static const struct thermal_zone_of_device_ops sun8i_ths_thermal_ops = { -++ .get_temp = sun8i_ths_get_temp, -++}; -++ -++static int sun8i_ths_probe(struct platform_device *pdev) -++{ -++ struct sun8i_ths_data *data; -++ struct resource *res; -++ int ret; -++ int irq; -++ -++ data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); -++ if (!data) -++ return -ENOMEM; -++ -++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); -++ if (!res) { -++ dev_err(&pdev->dev, "no memory resources defined\n"); -++ return -EINVAL; -++ } -++ -++ data->regs = devm_ioremap_resource(&pdev->dev, res); -++ if (IS_ERR(data->regs)) { -++ ret = PTR_ERR(data->regs); -++ dev_err(&pdev->dev, "failed to ioremap THS registers: %d\n", ret); -++ return ret; -++ } -++ -++ irq = platform_get_irq(pdev, 0); -++ if (irq < 0) { -++ dev_err(&pdev->dev, "failed to get IRQ: %d\n", irq); -++ return irq; -++ } -++ -++ ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, -++ sun8i_ths_irq_thread, IRQF_ONESHOT, -++ dev_name(&pdev->dev), data); -++ if (ret) -++ return ret; -++ -++ data->busclk = devm_clk_get(&pdev->dev, "ahb"); -++ if (IS_ERR(data->busclk)) { -++ ret = PTR_ERR(data->busclk); -++ dev_err(&pdev->dev, "failed to get ahb clk: %d\n", ret); -++ return ret; -++ } -++ -++ data->clk = devm_clk_get(&pdev->dev, "ths"); -++ if (IS_ERR(data->clk)) { -++ ret = PTR_ERR(data->clk); -++ dev_err(&pdev->dev, "failed to get ths clk: %d\n", ret); -++ return ret; -++ } -++ -++ data->reset = devm_reset_control_get(&pdev->dev, "ahb"); -++ if (IS_ERR(data->reset)) { -++ ret = PTR_ERR(data->reset); -++ dev_err(&pdev->dev, "failed to get reset: %d\n", ret); -++ return ret; -++ } -++ -++ ret = reset_control_deassert(data->reset); -++ if (ret) { -++ dev_err(&pdev->dev, "reset deassert failed: %d\n", ret); -++ return ret; -++ } -++ -++ ret = clk_prepare_enable(data->busclk); -++ if (ret) { -++ dev_err(&pdev->dev, "failed to enable bus clk: %d\n", ret); -++ goto err_assert_reset; -++ } -++ -++ ret = clk_prepare_enable(data->clk); -++ if (ret) { -++ dev_err(&pdev->dev, "failed to enable ths clk: %d\n", ret); -++ goto err_disable_bus; -++ } -++ -++ ret = clk_set_rate(data->clk, THS_H3_CLK_IN); -++ if (ret) -++ goto err_disable_ths; -++ -++ data->tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, 0, data, -++ &sun8i_ths_thermal_ops); -++ if (IS_ERR(data->tzd)) { -++ ret = PTR_ERR(data->tzd); -++ dev_err(&pdev->dev, "failed to register thermal zone: %d\n", -++ ret); -++ goto err_disable_ths; -++ } -++ -++ sun8i_ths_h3_init(data); -++ -++ platform_set_drvdata(pdev, data); -++ return 0; -++ -++err_disable_ths: -++ clk_disable_unprepare(data->clk); -++err_disable_bus: -++ clk_disable_unprepare(data->busclk); -++err_assert_reset: -++ reset_control_assert(data->reset); -++ return ret; -++} -++ -++static int sun8i_ths_remove(struct platform_device *pdev) -++{ -++ struct sun8i_ths_data *data = platform_get_drvdata(pdev); -++ -++ reset_control_assert(data->reset); -++ clk_disable_unprepare(data->clk); -++ clk_disable_unprepare(data->busclk); -++ return 0; -++} -++ -++static const struct of_device_id sun8i_ths_id_table[] = { -++ { .compatible = "allwinner,sun8i-h3-ths", }, -++ { /* sentinel */ }, -++}; -++MODULE_DEVICE_TABLE(of, sun8i_ths_id_table); -++ -++static struct platform_driver sun8i_ths_driver = { -++ .probe = sun8i_ths_probe, -++ .remove = sun8i_ths_remove, -++ .driver = { -++ .name = "sun8i_ths", -++ .of_match_table = sun8i_ths_id_table, -++ }, -++}; -++ -++module_platform_driver(sun8i_ths_driver); -++ -++MODULE_AUTHOR("Ondřej Jirman <megous@megous.com>"); -++MODULE_DESCRIPTION("Thermal sensor driver for Allwinner H3 SoC"); -++MODULE_LICENSE("GPL v2"); -diff --git a/board/friendlyarm/nanopi-neo-plus2/linux_defconfig b/board/friendlyarm/nanopi-neo-plus2/linux_defconfig -new file mode 100644 -index 0000000000..878f31d303 ---- /dev/null -+++ b/board/friendlyarm/nanopi-neo-plus2/linux_defconfig -@@ -0,0 +1,728 @@ -+CONFIG_SYSVIPC=y -+CONFIG_POSIX_MQUEUE=y -+CONFIG_AUDIT=y -+CONFIG_NO_HZ_IDLE=y -+CONFIG_HIGH_RES_TIMERS=y -+CONFIG_PREEMPT=y -+CONFIG_IRQ_TIME_ACCOUNTING=y -+CONFIG_BSD_PROCESS_ACCT=y -+CONFIG_BSD_PROCESS_ACCT_V3=y -+CONFIG_TASKSTATS=y -+CONFIG_TASK_DELAY_ACCT=y -+CONFIG_TASK_XACCT=y -+CONFIG_TASK_IO_ACCOUNTING=y -+CONFIG_IKCONFIG=y -+CONFIG_IKCONFIG_PROC=y -+CONFIG_NUMA_BALANCING=y -+CONFIG_MEMCG=y -+CONFIG_MEMCG_SWAP=y -+CONFIG_BLK_CGROUP=y -+CONFIG_CGROUP_PIDS=y -+CONFIG_CGROUP_HUGETLB=y -+CONFIG_CPUSETS=y -+CONFIG_CGROUP_DEVICE=y -+CONFIG_CGROUP_CPUACCT=y -+CONFIG_CGROUP_PERF=y -+CONFIG_USER_NS=y -+CONFIG_SCHED_AUTOGROUP=y -+CONFIG_BLK_DEV_INITRD=y -+# CONFIG_COMPAT_BRK is not set -+CONFIG_PROFILING=y -+CONFIG_ARCH_SUNXI=y -+CONFIG_ARCH_ALPINE=y -+CONFIG_ARCH_BCM2835=y -+CONFIG_ARCH_BCM_IPROC=y -+CONFIG_ARCH_BERLIN=y -+CONFIG_ARCH_BRCMSTB=y -+CONFIG_ARCH_EXYNOS=y -+CONFIG_ARCH_LAYERSCAPE=y -+CONFIG_ARCH_LG1K=y -+CONFIG_ARCH_HISI=y -+CONFIG_ARCH_MEDIATEK=y -+CONFIG_ARCH_MESON=y -+CONFIG_ARCH_MVEBU=y -+CONFIG_ARCH_QCOM=y -+CONFIG_ARCH_RENESAS=y -+CONFIG_ARCH_ROCKCHIP=y -+CONFIG_ARCH_SEATTLE=y -+CONFIG_ARCH_STRATIX10=y -+CONFIG_ARCH_SYNQUACER=y -+CONFIG_ARCH_TEGRA=y -+CONFIG_ARCH_SPRD=y -+CONFIG_ARCH_THUNDER=y -+CONFIG_ARCH_THUNDER2=y -+CONFIG_ARCH_UNIPHIER=y -+CONFIG_ARCH_VEXPRESS=y -+CONFIG_ARCH_XGENE=y -+CONFIG_ARCH_ZX=y -+CONFIG_ARCH_ZYNQMP=y -+CONFIG_ARM64_VA_BITS_48=y -+CONFIG_SCHED_MC=y -+CONFIG_NUMA=y -+CONFIG_SECCOMP=y -+CONFIG_KEXEC=y -+CONFIG_CRASH_DUMP=y -+CONFIG_XEN=y -+CONFIG_COMPAT=y -+CONFIG_HIBERNATION=y -+CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y -+CONFIG_ARM_CPUIDLE=y -+CONFIG_CPU_FREQ=y -+CONFIG_CPU_FREQ_STAT=y -+CONFIG_CPU_FREQ_GOV_POWERSAVE=m -+CONFIG_CPU_FREQ_GOV_USERSPACE=y -+CONFIG_CPU_FREQ_GOV_ONDEMAND=y -+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m -+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -+CONFIG_CPUFREQ_DT=y -+CONFIG_ACPI_CPPC_CPUFREQ=m -+CONFIG_ARM_ARMADA_37XX_CPUFREQ=y -+CONFIG_ARM_SCPI_CPUFREQ=y -+CONFIG_ARM_TEGRA186_CPUFREQ=y -+CONFIG_ARM_SCPI_PROTOCOL=y -+# CONFIG_DMIID is not set -+CONFIG_EFI_CAPSULE_LOADER=y -+CONFIG_ACPI=y -+CONFIG_ACPI_APEI=y -+CONFIG_ACPI_APEI_GHES=y -+CONFIG_ACPI_APEI_MEMORY_FAILURE=y -+CONFIG_ACPI_APEI_EINJ=y -+CONFIG_VIRTUALIZATION=y -+CONFIG_KVM=y -+CONFIG_ARM64_CRYPTO=y -+CONFIG_CRYPTO_SHA1_ARM64_CE=y -+CONFIG_CRYPTO_SHA2_ARM64_CE=y -+CONFIG_CRYPTO_SHA512_ARM64_CE=m -+CONFIG_CRYPTO_SHA3_ARM64=m -+CONFIG_CRYPTO_SM3_ARM64_CE=m -+CONFIG_CRYPTO_GHASH_ARM64_CE=y -+CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m -+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y -+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -+CONFIG_CRYPTO_CHACHA20_NEON=m -+CONFIG_CRYPTO_AES_ARM64_BS=m -+CONFIG_KPROBES=y -+CONFIG_JUMP_LABEL=y -+CONFIG_MODULES=y -+CONFIG_MODULE_UNLOAD=y -+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -+CONFIG_KSM=y -+CONFIG_MEMORY_FAILURE=y -+CONFIG_TRANSPARENT_HUGEPAGE=y -+CONFIG_CMA=y -+CONFIG_NET=y -+CONFIG_PACKET=y -+CONFIG_UNIX=y -+CONFIG_UNIX_DIAG=m -+CONFIG_XFRM_USER=m -+CONFIG_NET_KEY=m -+CONFIG_INET=y -+CONFIG_IP_MULTICAST=y -+CONFIG_IP_PNP=y -+CONFIG_IP_PNP_DHCP=y -+CONFIG_IP_PNP_BOOTP=y -+CONFIG_IP_PNP_RARP=y -+CONFIG_IP_MROUTE=y -+CONFIG_IPV6=m -+CONFIG_NETFILTER=y -+CONFIG_NETFILTER_NETLINK_ACCT=y -+CONFIG_NETFILTER_NETLINK_QUEUE=y -+CONFIG_NETFILTER_NETLINK_LOG=y -+CONFIG_NETFILTER_NETLINK_OSF=y -+CONFIG_NF_CONNTRACK=y -+CONFIG_NF_LOG_NETDEV=y -+CONFIG_NF_CONNTRACK_MARK=y -+CONFIG_NF_CONNTRACK_ZONES=y -+CONFIG_NF_CONNTRACK_EVENTS=y -+CONFIG_NF_CONNTRACK_TIMEOUT=y -+CONFIG_NF_CONNTRACK_TIMESTAMP=y -+CONFIG_NF_CONNTRACK_LABELS=y -+CONFIG_NF_CONNTRACK_AMANDA=y -+CONFIG_NF_CONNTRACK_FTP=y -+CONFIG_NF_CONNTRACK_IRC=y -+CONFIG_NF_CONNTRACK_NETBIOS_NS=y -+CONFIG_NF_CONNTRACK_SNMP=y -+CONFIG_NF_CONNTRACK_PPTP=y -+CONFIG_NF_CONNTRACK_SANE=y -+CONFIG_NF_CONNTRACK_SIP=y -+CONFIG_NF_CONNTRACK_TFTP=y -+CONFIG_NF_CT_NETLINK=y -+CONFIG_NF_CT_NETLINK_TIMEOUT=y -+CONFIG_NF_CT_NETLINK_HELPER=m -+CONFIG_NETFILTER_NETLINK_GLUE_CT=y -+CONFIG_NF_TABLES=y -+CONFIG_NF_TABLES_SET=y -+CONFIG_NF_TABLES_INET=y -+CONFIG_NF_TABLES_NETDEV=y -+CONFIG_NFT_NUMGEN=y -+CONFIG_NFT_CT=y -+CONFIG_NFT_COUNTER=y -+CONFIG_NFT_CONNLIMIT=y -+CONFIG_NFT_LOG=y -+CONFIG_NFT_LIMIT=y -+CONFIG_NFT_MASQ=m -+CONFIG_NFT_REDIR=m -+CONFIG_NFT_NAT=y -+CONFIG_NFT_TUNNEL=y -+CONFIG_NFT_OBJREF=y -+CONFIG_NFT_QUEUE=y -+CONFIG_NFT_QUOTA=y -+CONFIG_NFT_REJECT=m -+CONFIG_NFT_COMPAT=m -+CONFIG_NFT_HASH=y -+CONFIG_NFT_XFRM=y -+CONFIG_NFT_SOCKET=m -+CONFIG_NFT_OSF=m -+CONFIG_NFT_TPROXY=m -+CONFIG_NFT_DUP_NETDEV=y -+CONFIG_NFT_FWD_NETDEV=y -+CONFIG_NF_FLOW_TABLE=y -+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -+CONFIG_NETFILTER_XT_TARGET_LOG=m -+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -+CONFIG_IP_NF_IPTABLES=y -+CONFIG_IP_NF_FILTER=y -+CONFIG_IP_NF_TARGET_REJECT=m -+CONFIG_IP_NF_NAT=m -+CONFIG_IP_NF_TARGET_MASQUERADE=m -+CONFIG_IP_NF_MANGLE=m -+CONFIG_IP6_NF_IPTABLES=m -+CONFIG_IP6_NF_FILTER=m -+CONFIG_IP6_NF_TARGET_REJECT=m -+CONFIG_IP6_NF_MANGLE=m -+CONFIG_IP6_NF_NAT=m -+CONFIG_IP6_NF_TARGET_MASQUERADE=m -+CONFIG_BRIDGE=m -+CONFIG_BRIDGE_VLAN_FILTERING=y -+CONFIG_VLAN_8021Q=m -+CONFIG_VLAN_8021Q_GVRP=y -+CONFIG_VLAN_8021Q_MVRP=y -+CONFIG_NET_SCHED=y -+CONFIG_BPF_JIT=y -+CONFIG_BT=m -+CONFIG_BT_HIDP=m -+# CONFIG_BT_HS is not set -+# CONFIG_BT_LE is not set -+CONFIG_BT_LEDS=y -+# CONFIG_BT_DEBUGFS is not set -+CONFIG_BT_HCIUART=m -+CONFIG_BT_HCIUART_LL=y -+CONFIG_CFG80211=m -+# CONFIG_CFG80211_DEFAULT_PS is not set -+CONFIG_CFG80211_WEXT=y -+CONFIG_MAC80211=m -+CONFIG_MAC80211_LEDS=y -+CONFIG_RFKILL=m -+CONFIG_NET_9P=y -+CONFIG_NET_9P_VIRTIO=y -+CONFIG_PCI=y -+CONFIG_PCI_IOV=y -+CONFIG_HOTPLUG_PCI=y -+CONFIG_HOTPLUG_PCI_ACPI=y -+CONFIG_PCI_AARDVARK=y -+CONFIG_PCI_TEGRA=y -+CONFIG_PCIE_RCAR=y -+CONFIG_PCI_HOST_GENERIC=y -+CONFIG_PCI_XGENE=y -+CONFIG_PCI_HOST_THUNDER_PEM=y -+CONFIG_PCI_HOST_THUNDER_ECAM=y -+CONFIG_PCI_LAYERSCAPE=y -+CONFIG_PCI_HISI=y -+CONFIG_PCIE_QCOM=y -+CONFIG_PCIE_ARMADA_8K=y -+CONFIG_PCIE_KIRIN=y -+CONFIG_DEVTMPFS=y -+CONFIG_DEVTMPFS_MOUNT=y -+CONFIG_MTD=y -+CONFIG_MTD_BLOCK=y -+CONFIG_MTD_M25P80=y -+CONFIG_MTD_SPI_NOR=y -+CONFIG_BLK_DEV_LOOP=y -+CONFIG_BLK_DEV_NBD=m -+CONFIG_VIRTIO_BLK=y -+CONFIG_SRAM=y -+# CONFIG_SCSI_PROC_FS is not set -+CONFIG_BLK_DEV_SD=y -+CONFIG_SCSI_SAS_ATA=y -+CONFIG_SCSI_HISI_SAS=y -+CONFIG_SCSI_HISI_SAS_PCI=y -+CONFIG_ATA=y -+CONFIG_SATA_AHCI=y -+CONFIG_SATA_AHCI_PLATFORM=y -+CONFIG_AHCI_CEVA=y -+CONFIG_AHCI_MVEBU=y -+CONFIG_AHCI_XGENE=y -+CONFIG_AHCI_QORIQ=y -+CONFIG_SATA_SIL24=y -+CONFIG_SATA_RCAR=y -+CONFIG_PATA_PLATFORM=y -+CONFIG_PATA_OF_PLATFORM=y -+CONFIG_NETDEVICES=y -+CONFIG_BONDING=m -+CONFIG_DUMMY=m -+CONFIG_NET_TEAM=m -+CONFIG_MACVLAN=m -+CONFIG_MACVTAP=m -+CONFIG_IPVLAN=m -+CONFIG_IPVTAP=m -+CONFIG_VXLAN=m -+CONFIG_NETCONSOLE=m -+CONFIG_TUN=m -+CONFIG_VETH=m -+CONFIG_VIRTIO_NET=m -+CONFIG_NLMON=m -+# CONFIG_NET_VENDOR_3COM is not set -+# CONFIG_NET_VENDOR_ADAPTEC is not set -+# CONFIG_NET_VENDOR_AGERE is not set -+# CONFIG_NET_VENDOR_ALACRITECH is not set -+# CONFIG_NET_VENDOR_ALLWINNER is not set -+# CONFIG_NET_VENDOR_ALTEON is not set -+# CONFIG_NET_VENDOR_AMAZON is not set -+# CONFIG_NET_VENDOR_AMD is not set -+# CONFIG_NET_VENDOR_AQUANTIA is not set -+# CONFIG_NET_VENDOR_ARC is not set -+# CONFIG_NET_VENDOR_ATHEROS is not set -+# CONFIG_NET_VENDOR_BROADCOM is not set -+# CONFIG_NET_VENDOR_BROCADE is not set -+# CONFIG_NET_VENDOR_CAVIUM is not set -+# CONFIG_NET_VENDOR_CHELSIO is not set -+# CONFIG_NET_VENDOR_CISCO is not set -+# CONFIG_NET_VENDOR_CORTINA is not set -+# CONFIG_NET_VENDOR_DEC is not set -+# CONFIG_NET_VENDOR_DLINK is not set -+# CONFIG_NET_VENDOR_EMULEX is not set -+# CONFIG_NET_VENDOR_EZCHIP is not set -+# CONFIG_NET_VENDOR_FREESCALE is not set -+# CONFIG_NET_VENDOR_HISILICON is not set -+# CONFIG_NET_VENDOR_HP is not set -+# CONFIG_NET_VENDOR_HUAWEI is not set -+# CONFIG_NET_VENDOR_INTEL is not set -+# CONFIG_NET_VENDOR_MARVELL is not set -+# CONFIG_NET_VENDOR_MELLANOX is not set -+# CONFIG_NET_VENDOR_MICREL is not set -+# CONFIG_NET_VENDOR_MICROCHIP is not set -+# CONFIG_NET_VENDOR_MYRI is not set -+# CONFIG_NET_VENDOR_NATSEMI is not set -+# CONFIG_NET_VENDOR_NETRONOME is not set -+# CONFIG_NET_VENDOR_NI is not set -+# CONFIG_NET_VENDOR_NVIDIA is not set -+# CONFIG_NET_VENDOR_OKI is not set -+# CONFIG_NET_VENDOR_QLOGIC is not set -+# CONFIG_NET_VENDOR_QUALCOMM is not set -+# CONFIG_NET_VENDOR_RDC is not set -+# CONFIG_NET_VENDOR_REALTEK is not set -+# CONFIG_NET_VENDOR_RENESAS is not set -+# CONFIG_NET_VENDOR_ROCKER is not set -+# CONFIG_NET_VENDOR_SAMSUNG is not set -+# CONFIG_NET_VENDOR_SEEQ is not set -+# CONFIG_NET_VENDOR_SOLARFLARE is not set -+# CONFIG_NET_VENDOR_SILAN is not set -+# CONFIG_NET_VENDOR_SIS is not set -+# CONFIG_NET_VENDOR_SMSC is not set -+# CONFIG_NET_VENDOR_SOCIONEXT is not set -+CONFIG_STMMAC_ETH=y -+# CONFIG_DWMAC_IPQ806X is not set -+# CONFIG_DWMAC_MESON is not set -+# CONFIG_DWMAC_ROCKCHIP is not set -+# CONFIG_NET_VENDOR_SUN is not set -+# CONFIG_NET_VENDOR_SYNOPSYS is not set -+# CONFIG_NET_VENDOR_TEHUTI is not set -+# CONFIG_NET_VENDOR_TI is not set -+# CONFIG_NET_VENDOR_VIA is not set -+# CONFIG_NET_VENDOR_WIZNET is not set -+CONFIG_MDIO_BITBANG=y -+CONFIG_MDIO_BUS_MUX_MMIOREG=y -+CONFIG_LED_TRIGGER_PHY=y -+CONFIG_MICROCHIP_PHY=m -+CONFIG_REALTEK_PHY=y -+CONFIG_STE10XP=y -+CONFIG_USB_PEGASUS=m -+CONFIG_USB_RTL8150=m -+CONFIG_USB_RTL8152=m -+CONFIG_USB_USBNET=m -+CONFIG_USB_NET_DM9601=m -+CONFIG_USB_NET_SR9800=m -+CONFIG_USB_NET_SMSC75XX=m -+CONFIG_USB_NET_SMSC95XX=m -+CONFIG_USB_NET_PLUSB=m -+CONFIG_USB_NET_MCS7830=m -+CONFIG_AT76C50X_USB=m -+CONFIG_BRCMFMAC=m -+CONFIG_WL18XX=m -+CONFIG_WLCORE_SDIO=m -+CONFIG_INPUT_EVDEV=y -+CONFIG_KEYBOARD_ADC=m -+CONFIG_KEYBOARD_GPIO=y -+CONFIG_KEYBOARD_CROS_EC=y -+CONFIG_INPUT_MISC=y -+CONFIG_INPUT_PM8941_PWRKEY=y -+CONFIG_INPUT_HISI_POWERKEY=y -+# CONFIG_SERIO_SERPORT is not set -+CONFIG_SERIO_AMBAKMI=y -+CONFIG_LEGACY_PTY_COUNT=16 -+CONFIG_SERIAL_8250=y -+CONFIG_SERIAL_8250_CONSOLE=y -+CONFIG_SERIAL_8250_EXTENDED=y -+CONFIG_SERIAL_8250_SHARE_IRQ=y -+CONFIG_SERIAL_8250_BCM2835AUX=y -+CONFIG_SERIAL_8250_DW=y -+CONFIG_SERIAL_8250_MT6577=y -+CONFIG_SERIAL_8250_UNIPHIER=y -+CONFIG_SERIAL_OF_PLATFORM=y -+CONFIG_SERIAL_AMBA_PL011=y -+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -+CONFIG_SERIAL_MESON=y -+CONFIG_SERIAL_MESON_CONSOLE=y -+CONFIG_SERIAL_SAMSUNG=y -+CONFIG_SERIAL_SAMSUNG_CONSOLE=y -+CONFIG_SERIAL_TEGRA=y -+CONFIG_SERIAL_SH_SCI=y -+CONFIG_SERIAL_MSM=y -+CONFIG_SERIAL_MSM_CONSOLE=y -+CONFIG_SERIAL_XILINX_PS_UART=y -+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y -+CONFIG_SERIAL_MVEBU_UART=y -+CONFIG_SERIAL_DEV_BUS=y -+CONFIG_VIRTIO_CONSOLE=y -+CONFIG_I2C=y -+CONFIG_I2C_CHARDEV=y -+CONFIG_I2C_MUX=y -+CONFIG_I2C_MUX_PCA954x=y -+CONFIG_I2C_BCM2835=m -+CONFIG_I2C_DESIGNWARE_PLATFORM=y -+CONFIG_I2C_IMX=y -+CONFIG_I2C_MESON=y -+CONFIG_I2C_MV64XXX=y -+CONFIG_I2C_PXA=y -+CONFIG_I2C_QUP=y -+CONFIG_I2C_RK3X=y -+CONFIG_I2C_SH_MOBILE=y -+CONFIG_I2C_TEGRA=y -+CONFIG_I2C_UNIPHIER_F=y -+CONFIG_I2C_RCAR=y -+CONFIG_I2C_CROS_EC_TUNNEL=y -+CONFIG_SPI=y -+CONFIG_SPI_BCM2835=m -+CONFIG_SPI_BCM2835AUX=m -+CONFIG_SPI_MESON_SPICC=m -+CONFIG_SPI_MESON_SPIFC=m -+CONFIG_SPI_ORION=y -+CONFIG_SPI_PL022=y -+CONFIG_SPI_ROCKCHIP=y -+CONFIG_SPI_QUP=y -+CONFIG_SPI_S3C64XX=y -+CONFIG_SPI_SPIDEV=m -+CONFIG_SPMI=y -+CONFIG_PINCTRL_SINGLE=y -+CONFIG_PINCTRL_MAX77620=y -+CONFIG_PINCTRL_IPQ8074=y -+CONFIG_PINCTRL_MSM8916=y -+CONFIG_PINCTRL_MSM8994=y -+CONFIG_PINCTRL_MSM8996=y -+CONFIG_PINCTRL_QDF2XXX=y -+CONFIG_PINCTRL_QCOM_SPMI_PMIC=y + } + } + size = 64M +diff --git a/board/friendlyarm/nanopi-neo-plus2/linux-extras.config b/board/friendlyarm/nanopi-neo-plus2/linux-extras.config +index 52b4b4b29e..a6a46ba542 100644 +--- a/board/friendlyarm/nanopi-neo-plus2/linux-extras.config ++++ b/board/friendlyarm/nanopi-neo-plus2/linux-extras.config +@@ -8,3 +8,7 @@ CONFIG_CFG80211_WEXT=y + CONFIG_WLAN=y + CONFIG_WLAN_VENDOR_BROADCOM=y + CONFIG_BRCMFMAC=m ++ ++# MediaTek pinctrl drivers +CONFIG_GPIO_SYSFS=y -+# CONFIG_GPIO_BRCMSTB is not set -+CONFIG_GPIO_DWAPB=y -+# CONFIG_GPIO_TEGRA is not set -+# CONFIG_GPIO_TEGRA186 is not set -+CONFIG_GPIO_PCA953X=y -+CONFIG_GPIO_PCA953X_IRQ=y -+CONFIG_GPIO_MAX77620=y -+CONFIG_POWER_RESET_MSM=y -+CONFIG_POWER_RESET_XGENE=y -+CONFIG_POWER_RESET_SYSCON=y -+CONFIG_SYSCON_REBOOT_MODE=y -+CONFIG_BATTERY_BQ27XXX=y -+CONFIG_SENSORS_ARM_SCPI=y -+CONFIG_SENSORS_LM90=m -+CONFIG_SENSORS_INA2XX=m -+CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y -+CONFIG_CPU_THERMAL=y -+CONFIG_THERMAL_EMULATION=y -+CONFIG_RCAR_GEN3_THERMAL=y -+CONFIG_BRCMSTB_THERMAL=m -+CONFIG_SUN8I_THS=y -+CONFIG_EXYNOS_THERMAL=y -+CONFIG_TEGRA_BPMP_THERMAL=m -+CONFIG_QCOM_TSENS=y -+CONFIG_UNIPHIER_THERMAL=y -+CONFIG_WATCHDOG=y -+CONFIG_S3C2410_WATCHDOG=y -+CONFIG_MESON_GXBB_WATCHDOG=m -+CONFIG_MESON_WATCHDOG=m -+CONFIG_RENESAS_WDT=y -+CONFIG_UNIPHIER_WATCHDOG=y -+CONFIG_BCM2835_WDT=y -+CONFIG_MFD_AXP20X_RSB=y -+CONFIG_MFD_CROS_EC=y -+CONFIG_MFD_EXYNOS_LPASS=m -+CONFIG_MFD_HI6421_PMIC=y -+CONFIG_MFD_HI655X_PMIC=y -+CONFIG_MFD_MAX77620=y -+CONFIG_MFD_SPMI_PMIC=y -+CONFIG_MFD_RK808=y -+CONFIG_MFD_SEC_CORE=y -+CONFIG_REGULATOR_FIXED_VOLTAGE=y -+CONFIG_REGULATOR_AXP20X=y -+CONFIG_REGULATOR_FAN53555=y -+CONFIG_REGULATOR_GPIO=y -+CONFIG_REGULATOR_HI6421V530=y -+CONFIG_REGULATOR_HI655X=y -+CONFIG_REGULATOR_MAX77620=y -+CONFIG_REGULATOR_PWM=y -+CONFIG_REGULATOR_QCOM_SMD_RPM=y -+CONFIG_REGULATOR_QCOM_SPMI=y -+CONFIG_REGULATOR_RK808=y -+CONFIG_REGULATOR_S2MPS11=y -+CONFIG_RC_CORE=m -+CONFIG_RC_DECODERS=y -+CONFIG_RC_DEVICES=y -+CONFIG_IR_MESON=m -+CONFIG_MEDIA_SUPPORT=m -+CONFIG_MEDIA_CAMERA_SUPPORT=y -+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y -+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y -+CONFIG_MEDIA_CONTROLLER=y -+CONFIG_VIDEO_V4L2_SUBDEV_API=y -+# CONFIG_DVB_NET is not set -+CONFIG_V4L_MEM2MEM_DRIVERS=y -+CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m -+CONFIG_VIDEO_SAMSUNG_S5P_MFC=m -+CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m -+CONFIG_VIDEO_RENESAS_FCP=m -+CONFIG_VIDEO_RENESAS_VSP1=m -+CONFIG_DRM=m -+CONFIG_DRM_NOUVEAU=m -+CONFIG_DRM_EXYNOS=m -+CONFIG_DRM_EXYNOS5433_DECON=y -+CONFIG_DRM_EXYNOS7_DECON=y -+CONFIG_DRM_EXYNOS_DSI=y -+# CONFIG_DRM_EXYNOS_DP is not set -+CONFIG_DRM_EXYNOS_HDMI=y -+CONFIG_DRM_EXYNOS_MIC=y -+CONFIG_DRM_ROCKCHIP=m -+CONFIG_ROCKCHIP_ANALOGIX_DP=y -+CONFIG_ROCKCHIP_CDN_DP=y -+CONFIG_ROCKCHIP_DW_HDMI=y -+CONFIG_ROCKCHIP_DW_MIPI_DSI=y -+CONFIG_ROCKCHIP_INNO_HDMI=y -+CONFIG_DRM_RCAR_DU=m -+CONFIG_DRM_TEGRA=m -+CONFIG_DRM_PANEL_SIMPLE=m -+CONFIG_DRM_I2C_ADV7511=m -+CONFIG_DRM_VC4=m -+CONFIG_DRM_HISI_HIBMC=m -+CONFIG_DRM_HISI_KIRIN=m -+CONFIG_DRM_MESON=m -+CONFIG_FB=y -+CONFIG_FB_ARMCLCD=y -+CONFIG_BACKLIGHT_GENERIC=m -+CONFIG_BACKLIGHT_PWM=m -+CONFIG_BACKLIGHT_LP855X=m -+CONFIG_LOGO=y -+# CONFIG_LOGO_LINUX_MONO is not set -+# CONFIG_LOGO_LINUX_VGA16 is not set -+CONFIG_SOUND=y -+CONFIG_SND=y -+CONFIG_SND_SOC=y -+CONFIG_SND_BCM2835_SOC_I2S=m -+CONFIG_SND_SOC_SAMSUNG=y -+CONFIG_SND_SOC_RCAR=m -+CONFIG_SND_SOC_AK4613=m -+CONFIG_SND_SIMPLE_CARD=y -+CONFIG_USB=y -+CONFIG_USB_OTG=y -+CONFIG_USB_XHCI_HCD=y -+CONFIG_USB_XHCI_TEGRA=y -+CONFIG_USB_EHCI_HCD=y -+CONFIG_USB_EHCI_EXYNOS=y -+CONFIG_USB_EHCI_HCD_PLATFORM=y -+CONFIG_USB_OHCI_HCD=y -+CONFIG_USB_OHCI_EXYNOS=y -+CONFIG_USB_OHCI_HCD_PLATFORM=y -+CONFIG_USB_RENESAS_USBHS=m -+CONFIG_USB_STORAGE=y -+CONFIG_USB_MUSB_HDRC=y -+CONFIG_USB_MUSB_SUNXI=y -+CONFIG_USB_DWC3=y -+CONFIG_USB_DWC2=y -+CONFIG_USB_CHIPIDEA=y -+CONFIG_USB_CHIPIDEA_UDC=y -+CONFIG_USB_CHIPIDEA_HOST=y -+CONFIG_USB_ISP1760=y -+CONFIG_USB_HSIC_USB3503=y -+CONFIG_NOP_USB_XCEIV=y -+CONFIG_USB_ULPI=y -+CONFIG_USB_GADGET=y -+CONFIG_USB_RENESAS_USBHS_UDC=m -+CONFIG_USB_RENESAS_USB3=m -+CONFIG_MMC=y -+CONFIG_MMC_BLOCK_MINORS=32 -+CONFIG_MMC_ARMMMCI=y -+CONFIG_MMC_SDHCI=y -+CONFIG_MMC_SDHCI_ACPI=y -+CONFIG_MMC_SDHCI_PLTFM=y -+CONFIG_MMC_SDHCI_OF_ARASAN=y -+CONFIG_MMC_SDHCI_OF_ESDHC=y -+CONFIG_MMC_SDHCI_CADENCE=y -+CONFIG_MMC_SDHCI_TEGRA=y -+CONFIG_MMC_SDHCI_F_SDH30=y -+CONFIG_MMC_MESON_GX=y -+CONFIG_MMC_SDHCI_MSM=y -+CONFIG_MMC_SPI=y -+CONFIG_MMC_SDHI=y -+CONFIG_MMC_DW=y -+CONFIG_MMC_DW_EXYNOS=y -+CONFIG_MMC_DW_K3=y -+CONFIG_MMC_DW_ROCKCHIP=y -+CONFIG_MMC_SUNXI=y -+CONFIG_MMC_BCM2835=y -+CONFIG_MMC_SDHCI_XENON=y -+CONFIG_NEW_LEDS=y -+CONFIG_LEDS_CLASS=y -+CONFIG_LEDS_GPIO=y -+CONFIG_LEDS_PWM=y -+CONFIG_LEDS_SYSCON=y -+CONFIG_LEDS_TRIGGER_DISK=y -+CONFIG_LEDS_TRIGGER_HEARTBEAT=y -+CONFIG_LEDS_TRIGGER_CPU=y -+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y -+CONFIG_LEDS_TRIGGER_PANIC=y -+CONFIG_EDAC=y -+CONFIG_EDAC_GHES=y -+CONFIG_RTC_CLASS=y -+CONFIG_RTC_DRV_MAX77686=y -+CONFIG_RTC_DRV_RK808=m -+CONFIG_RTC_DRV_S5M=y -+CONFIG_RTC_DRV_DS3232=y -+CONFIG_RTC_DRV_EFI=y -+CONFIG_RTC_DRV_S3C=y -+CONFIG_RTC_DRV_PL031=y -+CONFIG_RTC_DRV_SUN6I=y -+CONFIG_RTC_DRV_ARMADA38X=y -+CONFIG_RTC_DRV_TEGRA=y -+CONFIG_RTC_DRV_XGENE=y -+CONFIG_DMADEVICES=y -+CONFIG_DMA_BCM2835=m -+CONFIG_K3_DMA=y -+CONFIG_MV_XOR_V2=y -+CONFIG_PL330_DMA=y -+CONFIG_TEGRA20_APB_DMA=y -+CONFIG_QCOM_BAM_DMA=y -+CONFIG_QCOM_HIDMA_MGMT=y -+CONFIG_QCOM_HIDMA=y -+CONFIG_RCAR_DMAC=y -+CONFIG_RENESAS_USB_DMAC=m -+CONFIG_VFIO=y -+CONFIG_VFIO_PCI=y -+CONFIG_VIRTIO_PCI=y -+CONFIG_VIRTIO_BALLOON=y -+CONFIG_VIRTIO_MMIO=y -+CONFIG_XEN_GNTDEV=y -+CONFIG_XEN_GRANT_DEV_ALLOC=y -+CONFIG_COMMON_CLK_RK808=y -+CONFIG_COMMON_CLK_SCPI=y -+CONFIG_COMMON_CLK_CS2000_CP=y -+CONFIG_COMMON_CLK_S2MPS11=y -+CONFIG_CLK_QORIQ=y -+CONFIG_COMMON_CLK_PWM=y -+CONFIG_COMMON_CLK_QCOM=y -+CONFIG_QCOM_CLK_SMD_RPM=y -+CONFIG_IPQ_GCC_8074=y -+CONFIG_MSM_GCC_8916=y -+CONFIG_MSM_GCC_8994=y -+CONFIG_MSM_MMCC_8996=y -+CONFIG_HWSPINLOCK=y -+CONFIG_HWSPINLOCK_QCOM=y -+CONFIG_ARM_MHU=y -+CONFIG_PLATFORM_MHU=y -+CONFIG_BCM2835_MBOX=y -+CONFIG_QCOM_APCS_IPC=y -+CONFIG_ROCKCHIP_IOMMU=y -+CONFIG_TEGRA_IOMMU_SMMU=y -+CONFIG_ARM_SMMU=y -+CONFIG_ARM_SMMU_V3=y -+CONFIG_QCOM_IOMMU=y -+CONFIG_RPMSG_QCOM_SMD=y -+CONFIG_QCOM_SMEM=y -+CONFIG_QCOM_SMD_RPM=y -+CONFIG_QCOM_SMP2P=y -+CONFIG_QCOM_SMSM=y -+CONFIG_ARCH_R8A7795=y -+CONFIG_ARCH_R8A7796=y -+CONFIG_ARCH_R8A77965=y -+CONFIG_ARCH_R8A77970=y -+CONFIG_ARCH_R8A77980=y -+CONFIG_ARCH_R8A77995=y -+CONFIG_ROCKCHIP_PM_DOMAINS=y -+CONFIG_ARCH_TEGRA_132_SOC=y -+CONFIG_ARCH_TEGRA_210_SOC=y -+CONFIG_ARCH_TEGRA_186_SOC=y -+CONFIG_ARCH_TEGRA_194_SOC=y -+CONFIG_EXTCON_USB_GPIO=y -+CONFIG_MEMORY=y -+CONFIG_IIO=y -+CONFIG_EXYNOS_ADC=y -+CONFIG_ROCKCHIP_SARADC=m -+CONFIG_PWM=y -+CONFIG_PWM_BCM2835=m -+CONFIG_PWM_CROS_EC=m -+CONFIG_PWM_MESON=m -+CONFIG_PWM_RCAR=m -+CONFIG_PWM_ROCKCHIP=y -+CONFIG_PWM_SAMSUNG=y -+CONFIG_PWM_TEGRA=m -+CONFIG_PHY_XGENE=y -+CONFIG_PHY_SUN4I_USB=y -+CONFIG_PHY_HI6220_USB=y -+CONFIG_PHY_MVEBU_CP110_COMPHY=y -+CONFIG_PHY_QCOM_USB_HS=y -+CONFIG_PHY_RCAR_GEN3_USB2=y -+CONFIG_PHY_RCAR_GEN3_USB3=m -+CONFIG_PHY_ROCKCHIP_EMMC=y -+CONFIG_PHY_ROCKCHIP_INNO_USB2=y -+CONFIG_PHY_ROCKCHIP_PCIE=m -+CONFIG_PHY_TEGRA_XUSB=y -+CONFIG_QCOM_L2_PMU=y -+CONFIG_QCOM_L3_PMU=y -+CONFIG_QCOM_QFPROM=y -+CONFIG_UNIPHIER_EFUSE=y -+CONFIG_MESON_EFUSE=m -+CONFIG_TEE=y -+CONFIG_OPTEE=y -+CONFIG_EXT2_FS=y -+CONFIG_EXT3_FS=y -+CONFIG_EXT4_FS_POSIX_ACL=y -+CONFIG_FANOTIFY=y -+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y -+CONFIG_QUOTA=y -+# CONFIG_PRINT_QUOTA_WARNING is not set -+CONFIG_AUTOFS4_FS=y -+CONFIG_VFAT_FS=y -+CONFIG_HUGETLBFS=y -+CONFIG_CONFIGFS_FS=y -+CONFIG_EFIVAR_FS=y -+CONFIG_NFS_FS=y -+CONFIG_NFS_V4=y -+CONFIG_NFS_V4_1=y -+CONFIG_NFS_V4_2=y -+CONFIG_ROOT_NFS=y -+CONFIG_9P_FS=y -+CONFIG_NLS_CODEPAGE_437=y -+CONFIG_NLS_ISO8859_1=y -+CONFIG_SECURITY=y -+CONFIG_CRYPTO_ECHAINIV=y -+CONFIG_CRYPTO_ANSI_CPRNG=y -+CONFIG_DMA_CMA=y -+CONFIG_PRINTK_TIME=y -+CONFIG_DEBUG_INFO=y -+CONFIG_MAGIC_SYSRQ=y -+CONFIG_DEBUG_KERNEL=y -+# CONFIG_SCHED_DEBUG is not set -+# CONFIG_DEBUG_PREEMPT is not set -+CONFIG_LOCK_STAT=y -+CONFIG_FUNCTION_TRACER=y -+CONFIG_FTRACE_SYSCALLS=y -+CONFIG_MEMTEST=y -diff --git a/board/friendlyarm/nanopi-neo-plus2/my.dts b/board/friendlyarm/nanopi-neo-plus2/my.dts ++ +diff --git a/board/friendlyarm/nanopi-neo-plus2/nanopi-neo-plus2.dts b/board/friendlyarm/nanopi-neo-plus2/nanopi-neo-plus2.dts new file mode 100644 -index 0000000000..354d4ad530 +index 0000000000..f80383b0ff --- /dev/null -+++ b/board/friendlyarm/nanopi-neo-plus2/my.dts -@@ -0,0 +1,12 @@ ++++ b/board/friendlyarm/nanopi-neo-plus2/nanopi-neo-plus2.dts +@@ -0,0 +1,7 @@ +/dts-v1/; + -+#include "sun50i-h5-nanopi-neo-plus2.dts" ++#include "allwinner/sun50i-h5-nanopi-neo-plus2.dts" + +/ { -+ compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5"; -+ -+ mymodule2 { -+ compatible = "mymodule2"; -+ alpha2 = "on"; -+ }; ++ /delete-node/ leds; +}; -diff --git a/board/friendlyarm/nanopi-neo-plus2/overlay/etc/fstab b/board/friendlyarm/nanopi-neo-plus2/overlay/etc/fstab +diff --git a/board/friendlyarm/nanopi-neo-plus2/rootfs_overlay/etc/fstab b/board/friendlyarm/nanopi-neo-plus2/rootfs_overlay/etc/fstab new file mode 100644 -index 0000000000..5a655a4aed +index 0000000000..970cea4fcc --- /dev/null -+++ b/board/friendlyarm/nanopi-neo-plus2/overlay/etc/fstab -@@ -0,0 +1,9 @@ ++++ b/board/friendlyarm/nanopi-neo-plus2/rootfs_overlay/etc/fstab +@@ -0,0 +1,10 @@ +# <file system> <mount pt> <type> <options> <dump> <pass> +/dev/root / ext2 rw,noauto 0 1 +proc /proc proc defaults 0 0 @@ -1230,12 +75,13 @@ index 0000000000..5a655a4aed +tmpfs /tmp tmpfs mode=1777 0 0 +tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0 +sysfs /sys sysfs defaults 0 0 -+192.168.0.4:/home/lmi/workspace /usr/workspace nfs hard,intr,nolock 0 0 -diff --git a/board/friendlyarm/nanopi-neo-plus2/overlay/etc/network/interfaces b/board/friendlyarm/nanopi-neo-plus2/overlay/etc/network/interfaces ++192.168.0.4:/home/lmi/workspace /usr/workspace nfs hard,nolock 0 0 ++/dev/mmcblk0p1 /usr/vfat vfat defaults 0 0 +diff --git a/board/friendlyarm/nanopi-neo-plus2/rootfs_overlay/etc/network/interfaces b/board/friendlyarm/nanopi-neo-plus2/rootfs_overlay/etc/network/interfaces new file mode 100644 -index 0000000000..8e507ad7b2 +index 0000000000..1c9a9e2625 --- /dev/null -+++ b/board/friendlyarm/nanopi-neo-plus2/overlay/etc/network/interfaces ++++ b/board/friendlyarm/nanopi-neo-plus2/rootfs_overlay/etc/network/interfaces @@ -0,0 +1,10 @@ +# interface file auto-generated by buildroot + @@ -1246,211 +92,128 @@ index 0000000000..8e507ad7b2 +iface eth0 inet static + address 192.168.0.14 + netmask 255.255.255.0 -+ gateway 192.19.168.0.4 -diff --git a/board/friendlyarm/nanopi-neo-plus2/readme.txt b/board/friendlyarm/nanopi-neo-plus2/readme.txt -new file mode 100644 -index 0000000000..0f445e2bea ---- /dev/null -+++ b/board/friendlyarm/nanopi-neo-plus2/readme.txt -@@ -0,0 +1,37 @@ -+Intro -+===== -+ -+This default configuration will allow you to start experimenting with the -+buildroot environment for the Nanopi NEO2. With the current configuration -+it will bring-up the board, and allow access through the serial console. -+ -+Nanopi NEO2 link: -+http://nanopi.io/nanopi-neo2.html -+ -+Wiki link: -+https://openedev.amarulasolutions.com/display/ODWIKI/FriendlyARM+NanoPi+NEO2 -+ -+This configuration uses U-Boot mainline and kernel mainline. -+ -+How to build -+============ -+ -+ $ make friendlyarm_nanopi_neo2_defconfig -+ $ make -+ -+Note: you will need access to the internet to download the required -+sources. -+ -+How to write the SD card -+======================== -+ -+Once the build process is finished you will have an image called "sdcard.img" -+in the output/images/ directory. -+ -+Copy the bootable "sdcard.img" onto an SD card with "dd": -+ -+ $ sudo dd if=output/images/sdcard.img of=/dev/sdX -+ $ sudo sync -+ -+Insert the micro SDcard in your Nanopi NEO2 and power it up. The console -+is on the serial line, 115200 8N1. -diff --git a/board/friendlyarm/nanopi-neo-plus2/uboot.patch b/board/friendlyarm/nanopi-neo-plus2/uboot.patch -new file mode 100644 -index 0000000000..0d3a666f90 ---- /dev/null -+++ b/board/friendlyarm/nanopi-neo-plus2/uboot.patch -@@ -0,0 +1,24 @@ -+diff --git a/arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts b/arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts -+index f1406c224b..1dde153669 100644 -+--- a/arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts -++++ b/arch/arm/dts/sun50i-h5-nanopi-neo-plus2.dts -+@@ -104,3 +104,18 @@ -+ &usbphy { -+ status = "okay"; -+ }; -++ -++&emac { -++ pinctrl-names = "default"; -++ pinctrl-0 = <&emac_rgmii_pins>; -++ phy-mode = "rgmii"; -++ phy-handle = <&ext_rgmii_phy>; -++ status = "okay"; -++}; -++ -++&external_mdio { -++ ext_rgmii_phy: ethernet-phy@7 { -++ compatible = "ethernet-phy-ieee802.3-c22"; -++ reg = <7>; -++ }; -++}; -+ -diff --git a/board/friendlyarm/nanopi-neo-plus2/uboot_defconfig b/board/friendlyarm/nanopi-neo-plus2/uboot_defconfig -new file mode 100644 -index 0000000000..f1c64ba55e ---- /dev/null -+++ b/board/friendlyarm/nanopi-neo-plus2/uboot_defconfig -@@ -0,0 +1,16 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_SUNXI=y -+CONFIG_SPL=y -+CONFIG_MACH_SUN50I_H5=y -+CONFIG_DRAM_CLK=408 -+CONFIG_DRAM_ZQ=3881977 -+CONFIG_MACPWR="PD6" -+CONFIG_MMC_SUNXI_SLOT_EXTRA=2 -+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h5-nanopi-neo-plus2" -+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -+# CONFIG_CMD_FLASH is not set -+# CONFIG_SPL_DOS_PARTITION is not set -+# CONFIG_SPL_EFI_PARTITION is not set -+CONFIG_ENV_FAT_DEVICE_AND_PART="0:auto" -+CONFIG_SUN8I_EMAC=y -+CONFIG_USB_EHCI_HCD=y -diff --git a/configs/nanopi_neo_plus2_defconfig b/configs/nanopi_neo_plus2_defconfig -new file mode 100644 -index 0000000000..67e02d726b ---- /dev/null -+++ b/configs/nanopi_neo_plus2_defconfig -@@ -0,0 +1,103 @@ -+BR2_aarch64=y -+BR2_ARM_FPU_VFPV4=y ++ gateway 192.168.0.4 +\ No newline at end of file +diff --git a/configs/friendlyarm_nanopi_neo_plus2_defconfig b/configs/friendlyarm_nanopi_neo_plus2_defconfig +index 461e468cb6..f9539225b4 100644 +--- a/configs/friendlyarm_nanopi_neo_plus2_defconfig ++++ b/configs/friendlyarm_nanopi_neo_plus2_defconfig +@@ -1,24 +1,66 @@ + BR2_aarch64=y +-BR2_cortex_a53=y + BR2_ARM_FPU_VFPV4=y +- +-BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3=y +BR2_TOOLCHAIN_EXTERNAL=y -+BR2_PACKAGE_HOST_GDB=y -+BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY=y +BR2_TARGET_GENERIC_ISSUE="Welcome to FriendlyARM Nanopi NEO Plus2" + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y + BR2_ROOTFS_OVERLAY="board/friendlyarm/nanopi-neo-plus2/rootfs_overlay" +- +-# Firmware ++BR2_ROOTFS_POST_BUILD_SCRIPT="board/friendlyarm/nanopi-neo-plus2/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/friendlyarm/nanopi-neo-plus2/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y -+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.2.14" -+BR2_LINUX_KERNEL_PATCH="board/friendlyarm/nanopi-neo-plus2/linux.patch" -+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/friendlyarm/nanopi-neo-plus2/linux_defconfig" ++BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.2" ++BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y ++BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/friendlyarm/nanopi-neo-plus2/linux-extras.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y -+BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-nanopi-neo-plus2" -+BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y ++BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/friendlyarm/nanopi-neo-plus2/nanopi-neo-plus2.dts" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y -+BR2_PACKAGE_LINUX_TOOLS_CPUPOWER=y -+BR2_PACKAGE_LINUX_TOOLS_GPIO=y +BR2_PACKAGE_LINUX_TOOLS_PERF=y -+BR2_PACKAGE_LINUX_TOOLS_PERF_TUI=y -+BR2_PACKAGE_LINUX_TOOLS_TMON=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y -+BR2_PACKAGE_GDB=y -+BR2_PACKAGE_GDB_SERVER=y -+BR2_PACKAGE_GDB_DEBUGGER=y -+BR2_PACKAGE_LSOF=y +BR2_PACKAGE_LTRACE=y -+BR2_PACKAGE_OPROFILE=y +BR2_PACKAGE_STRACE=y -+BR2_PACKAGE_TRACE_CMD=y +BR2_PACKAGE_VALGRIND=y -+BR2_PACKAGE_BINUTILS_TARGET=y -+BR2_PACKAGE_QT5=y -+BR2_PACKAGE_XORG7=y -+BR2_PACKAGE_I2C_TOOLS=y -+BR2_PACKAGE_MEMTOOL=y ++BR2_PACKAGE_LINUX_FIRMWARE=y ++BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y +BR2_PACKAGE_UBOOT_TOOLS=y +BR2_PACKAGE_MICROPYTHON=y +BR2_PACKAGE_MICROPYTHON_LIB=y +BR2_PACKAGE_SQLITE=y -+BR2_PACKAGE_SQLITE_STAT3=y ++BR2_PACKAGE_SQLITE_STAT4=y +BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA=y +BR2_PACKAGE_SQLITE_ENABLE_FTS3=y +BR2_PACKAGE_SQLITE_ENABLE_JSON1=y +BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY=y +BR2_PACKAGE_SQLITE_SECURE_DELETE=y +BR2_PACKAGE_SQLITE_NO_SYNC=y -+BR2_PACKAGE_LIBNETFILTER_ACCT=y -+BR2_PACKAGE_LIBNETFILTER_CONNTRACK=y -+BR2_PACKAGE_LIBNETFILTER_CTHELPER=y -+BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT=y -+BR2_PACKAGE_LIBNETFILTER_LOG=y -+BR2_PACKAGE_LIBNETFILTER_QUEUE=y -+BR2_PACKAGE_ELFUTILS_PROGS=y -+BR2_PACKAGE_NCURSES_WCHAR=y -+BR2_PACKAGE_NCURSES_TARGET_PROGS=y -+BR2_PACKAGE_HAVEGED=y ++BR2_PACKAGE_EXPAT=y ++BR2_PACKAGE_JSON_C=y ++BR2_PACKAGE_LIBYAML=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IPTABLES_BPF_NFSYNPROXY=y +BR2_PACKAGE_IPTABLES_NFTABLES=y +BR2_PACKAGE_IPUTILS=y ++BR2_PACKAGE_IW=y +BR2_PACKAGE_OPENSSH=y ++BR2_PACKAGE_WIRELESS_TOOLS=y ++BR2_PACKAGE_WIRELESS_TOOLS_LIB=y ++BR2_PACKAGE_WPA_SUPPLICANT=y ++BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_PROCPS_NG=y -+BR2_PACKAGE_VIM=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y -+BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs" -+BR2_TARGET_ROOTFS_EXT2_SIZE="160M" -+BR2_TARGET_ROOTFS_SQUASHFS=y -+BR2_TARGET_ARM_TRUSTED_FIRMWARE=y -+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y -+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/apritzel/arm-trusted-firmware.git" -+BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="aa75c8da415158a94b82a430b2b40000778e851f" ++BR2_TARGET_ROOTFS_EXT2_SIZE="200M" + BR2_TARGET_ARM_TRUSTED_FIRMWARE=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/apritzel/arm-trusted-firmware.git" +-BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50iw1p1" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="aa75c8da415158a94b82a430b2b40000778e851f" +-R2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +- +-# Bootloader +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50iw1p1" -+BR2_TARGET_UBOOT=y -+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -+BR2_TARGET_UBOOT_CUSTOM_VERSION=y -+BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01" -+BR2_TARGET_UBOOT_PATCH="board/friendlyarm/nanopi-neo-plus2/uboot.patch" -+BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG=y -+BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE="board/friendlyarm/nanopi-neo-plus2/uboot_defconfig" -+BR2_TARGET_UBOOT_NEEDS_DTC=y -+BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y -+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" -+BR2_TARGET_UBOOT_SPL=y -+BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin" + BR2_TARGET_UBOOT=y + BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y + BR2_TARGET_UBOOT_CUSTOM_VERSION=y +-BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.10" ++BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07" + BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi_neo_plus2" + BR2_TARGET_UBOOT_NEEDS_DTC=y + BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +@@ -27,36 +69,8 @@ BR2_TARGET_UBOOT_FORMAT_CUSTOM=y + BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" + BR2_TARGET_UBOOT_SPL=y + BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin" +- +-# Kernel +-BR2_LINUX_KERNEL=y +-BR2_LINUX_KERNEL_CUSTOM_VERSION=y +-BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.3.4" +-BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +-BR2_LINUX_KERNEL_DTS_SUPPORT=y +-BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-nanopi-neo-plus2" +-BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +-BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/friendlyarm/nanopi-neo-plus2/linux-extras.config" +- +-# Filesystem +-BR2_TARGET_GENERIC_ISSUE="Welcome to FriendlyARM Nanopi NEO Plus2" +-BR2_TARGET_ROOTFS_EXT2=y +-BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_UBOOT_BOOT_SCRIPT=y +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/friendlyarm/nanopi-neo-plus2/boot.cmd" -+BR2_PACKAGE_HOST_DOSFSTOOLS=y -+BR2_PACKAGE_HOST_GENIMAGE=y -+BR2_PACKAGE_HOST_MTOOLS=y -+BR2_PACKAGE_HOST_PYTHON_CYTHON=y -+BR2_PACKAGE_HOST_PYTHON_LXML=y -+BR2_PACKAGE_HOST_PYTHON_SIX=y -+BR2_PACKAGE_HOST_PYTHON_XLRD=y -+BR2_PACKAGE_HOST_UBOOT_TOOLS=y -+BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y -+BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y + BR2_PACKAGE_HOST_DOSFSTOOLS=y + BR2_PACKAGE_HOST_GENIMAGE=y + BR2_PACKAGE_HOST_MTOOLS=y +-BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +-BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/friendlyarm/nanopi-neo-plus2/genimage.cfg" +-BR2_ROOTFS_POST_BUILD_SCRIPT="board/friendlyarm/nanopi-neo-plus2/post-build.sh" +- +-# wireless firmware +-BR2_PACKAGE_LINUX_FIRMWARE=y +-BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y +- +-# wireless tools +-BR2_PACKAGE_IW=y +-BR2_PACKAGE_WIRELESS_TOOLS=y +-BR2_PACKAGE_WIRELESS_TOOLS_LIB=y +-BR2_PACKAGE_WPA_SUPPLICANT=y +-BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y +-BR2_PACKAGE_WPA_SUPPLICANT_CLI=y diff --git a/package/dropbear/S50dropbear b/package/dropbear/S50dropbear index 9474eaafaa..bb8e75850e 100644 --- a/package/dropbear/S50dropbear diff --git a/nano-env b/nano-env index 5e131ea56dc6ac9c001475a1fba7d3c98bdf9ee2..5a77607e79b5c1bb8ded760b992a8926b1eb578f 100755 --- a/nano-env +++ b/nano-env @@ -10,6 +10,6 @@ mkdir -p ~/workspace/nano cd ~/workspace/nano git clone git://git.buildroot.net/buildroot cd buildroot -git checkout -b nano 2019.08 +git checkout -b nano 2020.05.1 patch -p1 < ${SCRIPTDIR}/config/buildroot_nano.patch -make nanopi_neo_plus2_defconfig +make friendlyarm_nanopi_neo_plus2_defconfig