From 50cb8f657fef429809c9771544aae66a1c18164e Mon Sep 17 00:00:00 2001 From: Jernej Skrabec Date: Thu, 11 Jul 2019 23:10:56 +0200 Subject: [PATCH] Allwinner: Update to kernel 5.2 --- .../patches/linux/08-enable-opi-win-ir.patch | 2 +- .../devices/H6/patches/linux/07-opi3.patch | 404 +------ projects/Allwinner/linux/linux.aarch64.conf | 427 ++++++-- projects/Allwinner/linux/linux.arm.conf | 390 ++++++- .../linux/0002-backport-from-5.2.patch | 989 ------------------ ...5.3.patch => 0002-backport-from-5.3.patch} | 238 ----- 6 files changed, 745 insertions(+), 1705 deletions(-) delete mode 100644 projects/Allwinner/patches/linux/0002-backport-from-5.2.patch rename projects/Allwinner/patches/linux/{0003-backport-from-5.3.patch => 0002-backport-from-5.3.patch} (91%) diff --git a/projects/Allwinner/devices/A64/patches/linux/08-enable-opi-win-ir.patch b/projects/Allwinner/devices/A64/patches/linux/08-enable-opi-win-ir.patch index 7953defbbc..b9d63eb19f 100644 --- a/projects/Allwinner/devices/A64/patches/linux/08-enable-opi-win-ir.patch +++ b/projects/Allwinner/devices/A64/patches/linux/08-enable-opi-win-ir.patch @@ -56,7 +56,7 @@ index 839b2ae88583..86ff1d3a4ffa 100644 + function = "s_cir_rx"; + }; + - r_pwm_pin: pwm { + r_pwm_pin: r-pwm-pin { pins = "PL10"; function = "s_pwm"; -- diff --git a/projects/Allwinner/devices/H6/patches/linux/07-opi3.patch b/projects/Allwinner/devices/H6/patches/linux/07-opi3.patch index bbfc2b929a..d302a8ad9a 100644 --- a/projects/Allwinner/devices/H6/patches/linux/07-opi3.patch +++ b/projects/Allwinner/devices/H6/patches/linux/07-opi3.patch @@ -227,311 +227,48 @@ index c9e861a50a633..ae7977f3f054c 100644 gpio-controller; #gpio-cells = <3>; -From de4dc594bb3cb124d21fd7550ca0497c7fa22ff0 Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman -Date: Thu, 11 Apr 2019 11:20:54 +0200 -Subject: [PATCH 07/34] arm64: dts: h6: Make mmc0_pins the default for &mmc0 +From ce48f9b105340aa4b66f30266c7d9cd4a71a7ca3 Mon Sep 17 00:00:00 2001 +From: Jernej Skrabec +Date: Mon, 24 Jun 2019 12:23:04 +0200 +Subject: [PATCH] OPi3 GPU and eMMC nodes -Signed-off-by: Ondrej Jirman +Signed-off-by: Jernej Skrabec --- - arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 2 ++ - 1 file changed, 2 insertions(+) + .../boot/dts/allwinner/sun50i-h6-orangepi-3.dts | 12 ++++++++++++ + 1 file changed, 12 insertions(+) -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -index ae7977f3f054c..91623a8cd2a08 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -@@ -254,6 +254,8 @@ - resets = <&ccu RST_BUS_MMC0>; - reset-names = "ahb"; - interrupts = ; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc0_pins>; - status = "disabled"; - #address-cells = <1>; - #size-cells = <0>; - -From 45bbbb485eb478df71079fd69f7ee8e48d0b0809 Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman -Date: Thu, 11 Apr 2019 11:11:21 +0200 -Subject: [PATCH 08/34] arm64: dts: allwinner: h6: Add Orange Pi 3 DTS - -Orange Pi 3 is a H6 based SBC made by Xulong, released in January 2019. It -has the following features: - -- Allwinner H6 quad-core 64-bit ARM Cortex-A53 -- GPU Mali-T720 -- 1GB or 2GB LPDDR3 RAM -- AXP805 PMIC -- AP6256 Wifi/BT 5.0 -- USB 2.0 host port (A) -- USB 2.0 micro usb, OTG -- USB 3.0 Host + 4 port USB hub (GL3510) -- Gigabit Ethernet (Realtek RTL8211E phy) -- HDMI 2.0 port -- soldered eMMC (optional) -- 3x LED (one is on the bottom) -- microphone -- audio jack -- PCIe - -Add basic support for the board. - -Signed-off-by: Ondrej Jirman -Signed-off-by: Maxime Ripard ---- - arch/arm64/boot/dts/allwinner/Makefile | 1 + - .../dts/allwinner/sun50i-h6-orangepi-3.dts | 215 ++++++++++++++++++ - 2 files changed, 216 insertions(+) - create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts - -diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile -index 0b09171110994..13a7e87bc35cc 100644 ---- a/arch/arm64/boot/dts/allwinner/Makefile -+++ b/arch/arm64/boot/dts/allwinner/Makefile -@@ -19,6 +19,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-pc2.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb -+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-3.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-lite2.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb - dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts -new file mode 100644 -index 0000000000000..17d4969901086 ---- /dev/null +index 17d496990108..93bdd33694fb 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts -@@ -0,0 +1,229 @@ -+// SPDX-License-Identifier: (GPL-2.0+ or MIT) -+/* -+ * Copyright (C) 2019 OndÅ™ej Jirman -+ */ -+ -+/dts-v1/; -+ -+#include "sun50i-h6.dtsi" -+ -+#include -+ -+/ { -+ model = "OrangePi 3"; -+ compatible = "xunlong,orangepi-3", "allwinner,sun50i-h6"; -+ -+ aliases { -+ serial0 = &uart0; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ leds { -+ compatible = "gpio-leds"; -+ -+ power { -+ label = "orangepi:red:power"; -+ gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ -+ default-state = "on"; -+ }; -+ -+ status { -+ label = "orangepi:green:status"; -+ gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ -+ }; -+ }; -+ -+ reg_vcc5v: vcc5v { -+ /* board wide 5V supply directly from the DC jack */ -+ compatible = "regulator-fixed"; -+ regulator-name = "vcc-5v"; -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ }; -+}; -+ -+&cpu0 { -+ cpu-supply = <®_dcdca>; -+}; -+ -+&ehci0 { -+ status = "okay"; -+}; -+ -+&ehci3 { -+ status = "okay"; -+}; -+ +@@ -58,6 +58,10 @@ + status = "okay"; + }; + +&gpu { + mali-supply = <®_dcdcc>; +}; + -+&mmc0 { -+ vmmc-supply = <®_cldo1>; -+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ -+ bus-width = <4>; -+ status = "okay"; -+}; -+ + &mmc0 { + vmmc-supply = <®_cldo1>; + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ +@@ -65,6 +69,14 @@ + status = "okay"; + }; + +&mmc2 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc2_pins>; -+ vmmc-supply = <®_cldo1>; -+ non-removable; -+ cap-mmc-hw-reset; -+ bus-width = <8>; -+ status = "okay"; -+}; -+ -+&ohci0 { ++ vmmc-supply = <®_cldo1>; ++ non-removable; ++ cap-mmc-hw-reset; ++ bus-width = <8>; + status = "okay"; +}; + -+&ohci3 { -+ status = "okay"; -+}; -+ -+&pio { -+ vcc-pc-supply = <®_bldo2>; -+ vcc-pd-supply = <®_cldo1>; -+}; -+ -+&r_i2c { -+ status = "okay"; -+ -+ axp805: pmic@36 { -+ compatible = "x-powers,axp805", "x-powers,axp806"; -+ reg = <0x36>; -+ interrupt-parent = <&r_intc>; -+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>; -+ interrupt-controller; -+ #interrupt-cells = <1>; -+ x-powers,self-working-mode; -+ vina-supply = <®_vcc5v>; -+ vinb-supply = <®_vcc5v>; -+ vinc-supply = <®_vcc5v>; -+ vind-supply = <®_vcc5v>; -+ vine-supply = <®_vcc5v>; -+ aldoin-supply = <®_vcc5v>; -+ bldoin-supply = <®_vcc5v>; -+ cldoin-supply = <®_vcc5v>; -+ -+ regulators { -+ reg_aldo1: aldo1 { -+ regulator-always-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-pl-led-ir"; -+ }; -+ -+ reg_aldo2: aldo2 { -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc33-audio-tv-ephy-mac"; -+ }; -+ -+ /* ALDO3 is shorted to CLDO1 */ -+ reg_aldo3: aldo3 { -+ regulator-always-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-1"; -+ }; -+ -+ reg_bldo1: bldo1 { -+ regulator-always-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc18-dram-bias-pll"; -+ }; -+ -+ reg_bldo2: bldo2 { -+ regulator-always-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc-efuse-pcie-hdmi-pc"; -+ }; -+ -+ bldo3 { -+ /* unused */ -+ }; -+ -+ bldo4 { -+ /* unused */ -+ }; -+ -+ reg_cldo1: cldo1 { -+ regulator-always-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-2"; -+ }; -+ -+ cldo2 { -+ /* unused */ -+ }; -+ -+ cldo3 { -+ /* unused */ -+ }; -+ -+ reg_dcdca: dcdca { -+ regulator-always-on; -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1160000>; -+ regulator-name = "vdd-cpu"; -+ }; -+ -+ reg_dcdcc: dcdcc { -+ regulator-min-microvolt = <810000>; -+ regulator-max-microvolt = <1080000>; -+ regulator-name = "vdd-gpu"; -+ }; -+ -+ reg_dcdcd: dcdcd { -+ regulator-always-on; -+ regulator-min-microvolt = <960000>; -+ regulator-max-microvolt = <960000>; -+ regulator-name = "vdd-sys"; -+ }; -+ -+ reg_dcdce: dcdce { -+ regulator-always-on; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-name = "vcc-dram"; -+ }; -+ -+ sw { -+ /* unused */ -+ }; -+ }; -+ }; -+}; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_ph_pins>; -+ status = "okay"; -+}; -+ -+&usb2otg { -+ /* -+ * This board doesn't have a controllable VBUS even though it -+ * does have an ID pin. Using it as anything but a USB host is -+ * unsafe. -+ */ -+ dr_mode = "host"; -+ status = "okay"; -+}; -+ -+&usb2phy { -+ usb0_id_det-gpios = <&pio 2 15 GPIO_ACTIVE_HIGH>; /* PC15 */ -+ usb0_vbus-supply = <®_vcc5v>; -+ usb3_vbus-supply = <®_vcc5v>; -+ status = "okay"; -+}; + &ohci0 { + status = "okay"; + }; +-- +2.22.0 From 2a87073bd0857fd9707de2ac96cb04d6d9e0e288 Mon Sep 17 00:00:00 2001 From: Icenowy Zheng @@ -847,89 +584,6 @@ index 6d6b1f66796d9..58a6635c909e3 100644 ext_rgmii_phy: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; -From 756b0ba6d79844dbc04c6c4ea0fc25b52209721a Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman -Date: Fri, 5 Apr 2019 22:21:00 +0200 -Subject: [PATCH 17/34] brcmfmac: Loading the correct firmware for brcm43456 - -SDIO based brcm43456 is currently misdetected as brcm43455 and the wrong -firmware name is used. Correct the detection and load the correct firmware -file. Chiprev for brcm43456 is "9". - -Signed-off-by: Ondrej Jirman ---- - drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 4d104ab80fd8e..50e56fd056baa 100644 ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -@@ -622,6 +622,7 @@ BRCMF_FW_DEF(43430A0, "brcmfmac43430a0-sdio"); - /* Note the names are not postfixed with a1 for backward compatibility */ - BRCMF_FW_DEF(43430A1, "brcmfmac43430-sdio"); - BRCMF_FW_DEF(43455, "brcmfmac43455-sdio"); -+BRCMF_FW_DEF(43456, "brcmfmac43456-sdio"); - BRCMF_FW_DEF(4354, "brcmfmac4354-sdio"); - BRCMF_FW_DEF(4356, "brcmfmac4356-sdio"); - BRCMF_FW_DEF(4373, "brcmfmac4373-sdio"); -@@ -642,7 +643,8 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = { - BRCMF_FW_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), - BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0x00000001, 43430A0), - BRCMF_FW_ENTRY(BRCM_CC_43430_CHIP_ID, 0xFFFFFFFE, 43430A1), -- BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFFC0, 43455), -+ BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0x00000200, 43456), -+ BRCMF_FW_ENTRY(BRCM_CC_4345_CHIP_ID, 0xFFFFFDC0, 43455), - BRCMF_FW_ENTRY(BRCM_CC_4354_CHIP_ID, 0xFFFFFFFF, 4354), - BRCMF_FW_ENTRY(BRCM_CC_4356_CHIP_ID, 0xFFFFFFFF, 4356), - BRCMF_FW_ENTRY(CY_CC_4373_CHIP_ID, 0xFFFFFFFF, 4373), - -From 5bf634f86c57f59f5c4a4fade9ccfe582334464f Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman -Date: Mon, 18 Feb 2019 13:53:18 +0100 -Subject: [PATCH 18/34] arm64: dts: allwinner: h6: Add MMC1 pins - -MMC1 is used on some H6 boards we want to support. Typical use is 4-bit -SDIO interface with a WiFi chip. Add pin definitions for this use case. - -As this is the only possible configration for mmc1, make it the default -one, too. - -Signed-off-by: Ondrej Jirman ---- - arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -index 91623a8cd2a08..c5c0608e67403 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -@@ -219,6 +219,15 @@ - bias-pull-up; - }; - -+ /omit-if-no-ref/ -+ mmc1_pins: mmc1-pins { -+ pins = "PG0", "PG1", "PG2", "PG3", -+ "PG4", "PG5"; -+ function = "mmc1"; -+ drive-strength = <30>; -+ bias-pull-up; -+ }; -+ - mmc2_pins: mmc2-pins { - pins = "PC1", "PC4", "PC5", "PC6", - "PC7", "PC8", "PC9", "PC10", -@@ -270,6 +279,8 @@ - resets = <&ccu RST_BUS_MMC1>; - reset-names = "ahb"; - interrupts = ; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc1_pins>; - status = "disabled"; - #address-cells = <1>; - #size-cells = <0>; - From 200cf18794214700f023440021cb7fd40dcc0f01 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Tue, 9 Apr 2019 00:16:35 +0200 diff --git a/projects/Allwinner/linux/linux.aarch64.conf b/projects/Allwinner/linux/linux.aarch64.conf index ff043f46b5..125c14c682 100644 --- a/projects/Allwinner/linux/linux.aarch64.conf +++ b/projects/Allwinner/linux/linux.aarch64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 5.1.9 Kernel Configuration +# Linux/arm64 5.2.0 Kernel Configuration # # @@ -53,6 +53,8 @@ CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y # CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + CONFIG_GENERIC_IRQ_MULTI_HANDLER=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_GENERIC_TIME_VSYSCALL=y @@ -70,6 +72,8 @@ CONFIG_NO_HZ_IDLE=y # CONFIG_NO_HZ_FULL is not set # CONFIG_NO_HZ is not set CONFIG_HIGH_RES_TIMERS=y +# end of Timers subsystem + # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y @@ -89,6 +93,8 @@ CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y # CONFIG_PSI is not set +# end of CPU/Task time and stats accounting + CONFIG_CPU_ISOLATION=y # @@ -101,9 +107,11 @@ CONFIG_TREE_SRCU=y CONFIG_TASKS_RCU=y CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_NEED_SEGCBLIST=y -CONFIG_BUILD_BIN2C=y +# end of RCU Subsystem + CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y +# CONFIG_IKHEADERS is not set CONFIG_LOG_BUF_SHIFT=17 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 @@ -158,7 +166,6 @@ CONFIG_INITRAMFS_COMPRESSION=".lz4" CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y -CONFIG_ANON_INODES=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_BPF=y @@ -199,6 +206,8 @@ CONFIG_HAVE_PERF_EVENTS=y # CONFIG_PERF_EVENTS=y # CONFIG_DEBUG_PERF_USE_VMALLOC is not set +# end of Kernel Performance Events And Counters + CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLUB_DEBUG=y # CONFIG_COMPAT_BRK is not set @@ -207,9 +216,12 @@ CONFIG_SLUB=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLAB_FREELIST_RANDOM is not set # CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set CONFIG_SLUB_CPU_PARTIAL=y CONFIG_SYSTEM_DATA_VERIFICATION=y CONFIG_PROFILING=y +# end of General setup + CONFIG_ARM64=y CONFIG_64BIT=y CONFIG_MMU=y @@ -224,7 +236,6 @@ CONFIG_STACKTRACE_SUPPORT=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_LOCKDEP_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_GENERIC_HWEIGHT=y @@ -244,6 +255,7 @@ CONFIG_ARCH_PROC_KCORE_TEXT=y # Platform selection # # CONFIG_ARCH_ACTIONS is not set +# CONFIG_ARCH_AGILEX is not set CONFIG_ARCH_SUNXI=y # CONFIG_ARCH_ALPINE is not set # CONFIG_ARCH_BCM2835 is not set @@ -276,6 +288,7 @@ CONFIG_ARCH_SUNXI=y # CONFIG_ARCH_XGENE is not set # CONFIG_ARCH_ZX is not set # CONFIG_ARCH_ZYNQMP is not set +# end of Platform selection # # Kernel Features @@ -293,7 +306,7 @@ CONFIG_ARM64_ERRATUM_832075=y CONFIG_ARM64_ERRATUM_845719=y CONFIG_ARM64_ERRATUM_843419=y CONFIG_ARM64_ERRATUM_1024718=y -CONFIG_ARM64_ERRATUM_1188873=y +CONFIG_ARM64_ERRATUM_1418040=y CONFIG_ARM64_ERRATUM_1165522=y CONFIG_ARM64_ERRATUM_1286807=y CONFIG_ARM64_ERRATUM_1463225=y @@ -310,6 +323,8 @@ CONFIG_SOCIONEXT_SYNQUACER_PREITS=y CONFIG_HISILICON_ERRATUM_161600802=y CONFIG_QCOM_FALKOR_ERRATUM_E1041=y CONFIG_FUJITSU_ERRATUM_010001=y +# end of ARM errata workarounds via the alternatives framework + CONFIG_ARM64_4K_PAGES=y # CONFIG_ARM64_16K_PAGES is not set # CONFIG_ARM64_64K_PAGES is not set @@ -344,6 +359,7 @@ CONFIG_HW_PERF_EVENTS=y CONFIG_SYS_SUPPORTS_HUGETLBFS=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_SECCOMP=y # CONFIG_PARAVIRT is not set # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set @@ -357,8 +373,10 @@ CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HARDEN_EL2_VECTORS=y CONFIG_ARM64_SSBD=y CONFIG_RODATA_FULL_DEFAULT_ENABLED=y -# CONFIG_ARMV8_DEPRECATED is not set # CONFIG_ARM64_SW_TTBR0_PAN is not set +CONFIG_COMPAT=y +CONFIG_KUSER_HELPERS=y +# CONFIG_ARMV8_DEPRECATED is not set # # ARMv8.1 architectural features @@ -367,6 +385,7 @@ CONFIG_ARM64_HW_AFDBM=y CONFIG_ARM64_PAN=y CONFIG_ARM64_LSE_ATOMICS=y CONFIG_ARM64_VHE=y +# end of ARMv8.1 architectural features # # ARMv8.2 architectural features @@ -375,14 +394,18 @@ CONFIG_ARM64_UAO=y # CONFIG_ARM64_PMEM is not set CONFIG_ARM64_RAS_EXTN=y CONFIG_ARM64_CNP=y +# end of ARMv8.2 architectural features # # ARMv8.3 architectural features # CONFIG_ARM64_PTR_AUTH=y +# end of ARMv8.3 architectural features + CONFIG_ARM64_SVE=y CONFIG_ARM64_MODULE_PLTS=y # CONFIG_RANDOMIZE_BASE is not set +# end of Kernel Features # # Boot options @@ -392,7 +415,8 @@ CONFIG_CMDLINE="" CONFIG_EFI_STUB=y CONFIG_EFI=y CONFIG_DMI=y -CONFIG_COMPAT=y +# end of Boot options + CONFIG_SYSVIPC_COMPAT=y CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y @@ -420,6 +444,7 @@ CONFIG_CPU_PM=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_HIBERNATION_HEADER=y CONFIG_ARCH_SUSPEND_POSSIBLE=y +# end of Power management options # # CPU Power Management @@ -439,6 +464,8 @@ CONFIG_DT_IDLE_STATES=y # ARM CPU Idle Drivers # CONFIG_ARM_CPUIDLE=y +# end of ARM CPU Idle Drivers +# end of CPU Idle # # CPU Frequency scaling @@ -467,12 +494,12 @@ CONFIG_CPUFREQ_DT=y CONFIG_CPUFREQ_DT_PLATDEV=y CONFIG_ARM_SCPI_CPUFREQ=y # CONFIG_QORIQ_CPUFREQ is not set +# end of CPU Frequency scaling +# end of CPU Power Management # # Firmware Drivers # -CONFIG_ARM_PSCI_FW=y -# CONFIG_ARM_PSCI_CHECKER is not set # CONFIG_ARM_SCMI_PROTOCOL is not set CONFIG_ARM_SCPI_PROTOCOL=y CONFIG_ARM_SCPI_POWER_DOMAIN=y @@ -480,6 +507,8 @@ CONFIG_ARM_SCPI_POWER_DOMAIN=y CONFIG_DMIID=y # CONFIG_DMI_SYSFS is not set CONFIG_HAVE_ARM_SMCCC=y +CONFIG_ARM_PSCI_FW=y +# CONFIG_ARM_PSCI_CHECKER is not set # CONFIG_GOOGLE_FIRMWARE is not set # @@ -494,11 +523,16 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y CONFIG_EFI_CAPSULE_LOADER=y # CONFIG_EFI_TEST is not set # CONFIG_RESET_ATTACK_MITIGATION is not set +# end of EFI (Extensible Firmware Interface) Support + CONFIG_EFI_EARLYCON=y # # Tegra firmware driver # +# end of Tegra firmware driver +# end of Firmware Drivers + CONFIG_ARCH_SUPPORTS_ACPI=y # CONFIG_ACPI is not set # CONFIG_VIRTUALIZATION is not set @@ -539,10 +573,12 @@ CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_GENERIC_IDLE_POLL_SETUP=y CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_KEEPINITRD=y CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y CONFIG_HAVE_CLK=y CONFIG_HAVE_HW_BREAKPOINT=y CONFIG_HAVE_PERF_REGS=y @@ -550,7 +586,6 @@ CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y CONFIG_HAVE_RCU_TABLE_FREE=y -CONFIG_HAVE_RCU_TABLE_INVALIDATE=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_CMPXCHG_LOCAL=y @@ -589,14 +624,26 @@ CONFIG_STRICT_MODULE_RWX=y CONFIG_REFCOUNT_FULL=y CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y CONFIG_ARCH_USE_MEMREMAP_PROT=y +# CONFIG_LOCK_EVENT_COUNTS is not set # # GCOV-based kernel profiling # # CONFIG_GCOV_KERNEL is not set CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y -CONFIG_PLUGIN_HOSTCC="" +# end of GCOV-based kernel profiling + CONFIG_HAVE_GCC_PLUGINS=y +CONFIG_GCC_PLUGINS=y + +# +# GCC plugins +# +# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set +# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set +# end of GCC plugins +# end of General architecture-dependent options + CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULES=y @@ -629,6 +676,8 @@ CONFIG_BLK_DEBUG_FS=y # CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y CONFIG_EFI_PARTITION=y +# end of Partition Types + CONFIG_BLOCK_COMPAT=y CONFIG_BLK_PM=y @@ -638,6 +687,8 @@ CONFIG_BLK_PM=y CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y # CONFIG_IOSCHED_BFQ is not set +# end of IO Schedulers + CONFIG_ASN1=y CONFIG_UNINLINE_SPIN_UNLOCK=y CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y @@ -661,6 +712,7 @@ CONFIG_ELFCORE=y CONFIG_BINFMT_SCRIPT=y # CONFIG_BINFMT_MISC is not set CONFIG_COREDUMP=y +# end of Executable file formats # # Memory Management options @@ -674,11 +726,13 @@ CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_ARCH_KEEP_MEMBLOCK=y CONFIG_MEMORY_ISOLATION=y # CONFIG_MEMORY_HOTPLUG is not set CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_COMPACTION=y CONFIG_MIGRATION=y +CONFIG_CONTIG_ALLOC=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -705,6 +759,8 @@ CONFIG_FRAME_VECTOR=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_BENCHMARK is not set CONFIG_ARCH_HAS_PTE_SPECIAL=y +# end of Memory Management options + CONFIG_NET=y CONFIG_COMPAT_NETLINK_MESSAGES=y CONFIG_NET_INGRESS=y @@ -748,9 +804,6 @@ CONFIG_INET_ESP=y # CONFIG_INET_ESP_OFFLOAD is not set # CONFIG_INET_IPCOMP is not set CONFIG_INET_TUNNEL=m -CONFIG_INET_XFRM_MODE_TRANSPORT=y -CONFIG_INET_XFRM_MODE_TUNNEL=y -CONFIG_INET_XFRM_MODE_BEET=y CONFIG_INET_DIAG=y CONFIG_INET_TCP_DIAG=y # CONFIG_INET_UDP_DIAG is not set @@ -768,10 +821,6 @@ CONFIG_IPV6=m # CONFIG_INET6_IPCOMP is not set # CONFIG_IPV6_MIP6 is not set # CONFIG_IPV6_ILA is not set -CONFIG_INET6_XFRM_MODE_TRANSPORT=m -CONFIG_INET6_XFRM_MODE_TUNNEL=m -CONFIG_INET6_XFRM_MODE_BEET=m -# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set # CONFIG_IPV6_VTI is not set CONFIG_IPV6_SIT=m # CONFIG_IPV6_SIT_6RD is not set @@ -824,7 +873,6 @@ CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_TFTP=m CONFIG_NF_CT_NETLINK=m CONFIG_NF_NAT=m -CONFIG_NF_NAT_NEEDED=y CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_TFTP=m CONFIG_NF_NAT_REDIRECT=y @@ -858,6 +906,7 @@ CONFIG_NETFILTER_XT_NAT=m # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set # CONFIG_NETFILTER_XT_TARGET_RATEEST is not set CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m # CONFIG_NETFILTER_XT_TARGET_TEE is not set # CONFIG_NETFILTER_XT_TARGET_TPROXY is not set # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set @@ -912,6 +961,8 @@ CONFIG_NETFILTER_XT_MATCH_IPVS=m # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set # CONFIG_NETFILTER_XT_MATCH_TIME is not set # CONFIG_NETFILTER_XT_MATCH_U32 is not set +# end of Core Netfilter Configuration + # CONFIG_IP_SET is not set CONFIG_IP_VS=m # CONFIG_IP_VS_IPV6 is not set @@ -989,6 +1040,7 @@ CONFIG_IP_NF_MANGLE=m # CONFIG_IP_NF_RAW is not set # CONFIG_IP_NF_SECURITY is not set # CONFIG_IP_NF_ARPTABLES is not set +# end of IP: Netfilter Configuration # # IPv6: Netfilter Configuration @@ -1019,6 +1071,8 @@ CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_NAT=m CONFIG_IP6_NF_TARGET_MASQUERADE=m # CONFIG_IP6_NF_TARGET_NPT is not set +# end of IPv6: Netfilter Configuration + CONFIG_NF_DEFRAG_IPV6=m # CONFIG_BRIDGE_NF_EBTABLES is not set # CONFIG_BPFILTER is not set @@ -1128,6 +1182,9 @@ CONFIG_NET_FLOW_LIMIT=y # Network testing # # CONFIG_NET_PKTGEN is not set +# end of Network testing +# end of Networking options + # CONFIG_HAMRADIO is not set # CONFIG_CAN is not set CONFIG_BT=m @@ -1176,7 +1233,10 @@ CONFIG_BT_HCIVHCI=m CONFIG_BT_MRVL=m CONFIG_BT_MRVL_SDIO=m CONFIG_BT_ATH3K=m +# CONFIG_BT_MTKSDIO is not set CONFIG_BT_MTKUART=m +# end of Bluetooth device drivers + # CONFIG_AF_RXRPC is not set # CONFIG_AF_KCM is not set CONFIG_WIRELESS=y @@ -1219,7 +1279,6 @@ CONFIG_NET_9P=y # CONFIG_LWTUNNEL is not set CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y -# CONFIG_NET_DEVLINK is not set CONFIG_FAILOVER=y CONFIG_HAVE_EBPF_JIT=y @@ -1247,6 +1306,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y CONFIG_EXTRA_FIRMWARE="" # CONFIG_FW_LOADER_USER_HELPER is not set +# end of Firmware loader + CONFIG_WANT_DEV_COREDUMP=y CONFIG_ALLOW_DEV_COREDUMP=y CONFIG_DEV_COREDUMP=y @@ -1255,6 +1316,7 @@ CONFIG_DEV_COREDUMP=y # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set # CONFIG_TEST_ASYNC_DRIVER_PROBE is not set CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_CPU_VULNERABILITIES=y CONFIG_SOC_BUS=y CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y @@ -1264,6 +1326,7 @@ CONFIG_REGMAP_IRQ=y CONFIG_DMA_SHARED_BUFFER=y # CONFIG_DMA_FENCE_TRACE is not set CONFIG_GENERIC_ARCH_TOPOLOGY=y +# end of Generic Driver Options # # Bus devices @@ -1273,19 +1336,22 @@ CONFIG_SIMPLE_PM_BUS=y CONFIG_SUN50I_DE2_BUS=y CONFIG_SUNXI_RSB=y CONFIG_VEXPRESS_CONFIG=y +# end of Bus devices + # CONFIG_CONNECTOR is not set # CONFIG_GNSS is not set CONFIG_MTD=y # CONFIG_MTD_TESTS is not set # CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set CONFIG_MTD_OF_PARTS=y # CONFIG_MTD_AR7_PARTS is not set # # Partition parsers # +# CONFIG_MTD_AFS_PARTS is not set # CONFIG_MTD_REDBOOT_PARTS is not set +# end of Partition parsers # # User Modules And Translation Layers @@ -1315,12 +1381,14 @@ CONFIG_MTD_CFI_I2=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set +# end of RAM/ROM/Flash chip drivers # # Mapping drivers for chip access # # CONFIG_MTD_COMPLEX_MAPPINGS is not set # CONFIG_MTD_PLATRAM is not set +# end of Mapping drivers for chip access # # Self-contained MTD device drivers @@ -1338,25 +1406,18 @@ CONFIG_MTD_M25P80=y # Disk-On-Chip Device Drivers # # CONFIG_MTD_DOCG3 is not set +# end of Self-contained MTD device drivers + # CONFIG_MTD_ONENAND is not set -CONFIG_MTD_NAND_ECC=y -# CONFIG_MTD_NAND_ECC_SMC is not set -CONFIG_MTD_NAND=y -# CONFIG_MTD_NAND_ECC_BCH is not set -CONFIG_MTD_NAND_DENALI=y -CONFIG_MTD_NAND_DENALI_DT=y -# CONFIG_MTD_NAND_GPIO is not set -# CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_NANDSIM is not set -# CONFIG_MTD_NAND_BRCMNAND is not set -# CONFIG_MTD_NAND_PLATFORM is not set -# CONFIG_MTD_NAND_SUNXI is not set +# CONFIG_MTD_RAW_NAND is not set # CONFIG_MTD_SPI_NAND is not set # # LPDDR & LPDDR2 PCM memory drivers # # CONFIG_MTD_LPDDR is not set +# end of LPDDR & LPDDR2 PCM memory drivers + CONFIG_MTD_SPI_NOR=y CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y # CONFIG_SPI_CADENCE_QUADSPI is not set @@ -1395,6 +1456,7 @@ CONFIG_BLK_DEV_NBD=m # # CONFIG_NVME_FC is not set # CONFIG_NVME_TARGET is not set +# end of NVME Support # # Misc devices @@ -1429,11 +1491,14 @@ CONFIG_EEPROM_AT25=m # CONFIG_EEPROM_93XX46 is not set # CONFIG_EEPROM_IDT_89HPESX is not set # CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support # # Texas Instruments shared transport line discipline # # CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + # CONFIG_SENSORS_LIS3_SPI is not set # CONFIG_SENSORS_LIS3_I2C is not set # CONFIG_ALTERA_STAPL is not set @@ -1474,8 +1539,11 @@ CONFIG_EEPROM_AT25=m # # VOP Driver # +# end of Intel MIC & related support + # CONFIG_ECHO is not set # CONFIG_MISC_RTSX_USB is not set +# end of Misc devices # # SCSI device support @@ -1510,6 +1578,8 @@ CONFIG_SCSI_SAS_LIBSAS=y CONFIG_SCSI_SAS_ATA=y CONFIG_SCSI_SAS_HOST_SMP=y # CONFIG_SCSI_SRP_ATTRS is not set +# end of SCSI Transports + CONFIG_SCSI_LOWLEVEL=y # CONFIG_ISCSI_TCP is not set # CONFIG_ISCSI_BOOT_SYSFS is not set @@ -1521,6 +1591,8 @@ CONFIG_SCSI_UFSHCD_PLATFORM=m # CONFIG_SCSI_UFS_BSG is not set # CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DH is not set +# end of SCSI device support + CONFIG_HAVE_PATA_PLATFORM=y CONFIG_ATA=y CONFIG_ATA_VERBOSE_ERROR=y @@ -1581,6 +1653,7 @@ CONFIG_DM_THIN_PROVISIONING=m # CONFIG_DM_ZERO is not set # CONFIG_DM_MULTIPATH is not set # CONFIG_DM_DELAY is not set +# CONFIG_DM_DUST is not set # CONFIG_DM_UEVENT is not set # CONFIG_DM_FLAKEY is not set # CONFIG_DM_VERITY is not set @@ -1618,6 +1691,8 @@ CONFIG_VETH=m # # Distributed Switch Architecture drivers # +# end of Distributed Switch Architecture drivers + CONFIG_ETHERNET=y CONFIG_NET_VENDOR_ALACRITECH=y CONFIG_NET_VENDOR_ALLWINNER=y @@ -1725,7 +1800,7 @@ CONFIG_SWPHY=y # # CONFIG_AMD_PHY is not set # CONFIG_AQUANTIA_PHY is not set -# CONFIG_ASIX_PHY is not set +# CONFIG_AX88796B_PHY is not set CONFIG_AT803X_PHY=m # CONFIG_BCM7XXX_PHY is not set # CONFIG_BCM87XX_PHY is not set @@ -1857,6 +1932,7 @@ CONFIG_WLAN_VENDOR_REALTEK=y CONFIG_RTL_CARDS=m # CONFIG_RTL8192CU is not set # CONFIG_RTL8XXXU is not set +# CONFIG_RTW88 is not set CONFIG_WLAN_VENDOR_RSI=y # CONFIG_RSI_91X is not set CONFIG_WLAN_VENDOR_ST=y @@ -1912,6 +1988,7 @@ CONFIG_KEYBOARD_ADC=m # CONFIG_KEYBOARD_ADP5588 is not set # CONFIG_KEYBOARD_ADP5589 is not set CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_QT1050 is not set # CONFIG_KEYBOARD_QT1070 is not set # CONFIG_KEYBOARD_QT2160 is not set # CONFIG_KEYBOARD_DLINK_DIR685 is not set @@ -2006,6 +2083,7 @@ CONFIG_TOUCHSCREEN_ATMEL_MXT=m # CONFIG_TOUCHSCREEN_ZET6223 is not set # CONFIG_TOUCHSCREEN_ZFORCE is not set # CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +# CONFIG_TOUCHSCREEN_IQS5XX is not set CONFIG_INPUT_MISC=y # CONFIG_INPUT_AD714X is not set # CONFIG_INPUT_ATMEL_CAPTOUCH is not set @@ -2016,6 +2094,7 @@ CONFIG_INPUT_MISC=y # CONFIG_INPUT_GP2A is not set # CONFIG_INPUT_GPIO_BEEPER is not set # CONFIG_INPUT_GPIO_DECODER is not set +# CONFIG_INPUT_GPIO_VIBRA is not set # CONFIG_INPUT_ATI_REMOTE2 is not set # CONFIG_INPUT_KEYSPAN_REMOTE is not set # CONFIG_INPUT_KXTJ9 is not set @@ -2051,11 +2130,12 @@ CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_PS2MULT is not set # CONFIG_SERIO_ARC_PS2 is not set # CONFIG_SERIO_APBPS2 is not set -# CONFIG_SERIO_OLPC_APSP is not set # CONFIG_SERIO_SUN4I_PS2 is not set # CONFIG_SERIO_GPIO_PS2 is not set # CONFIG_USERIO is not set # CONFIG_GAMEPORT is not set +# end of Hardware I/O ports +# end of Input device support # # Character devices @@ -2073,6 +2153,7 @@ CONFIG_LEGACY_PTY_COUNT=16 # CONFIG_SERIAL_NONSTANDARD is not set # CONFIG_N_GSM is not set # CONFIG_TRACE_SINK is not set +# CONFIG_NULL_TTY is not set CONFIG_LDISC_AUTOLOAD=y CONFIG_DEVMEM=y @@ -2110,6 +2191,7 @@ CONFIG_SERIAL_AMBA_PL011_CONSOLE=y # CONFIG_SERIAL_UARTLITE is not set CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_SIFIVE is not set # CONFIG_SERIAL_SCCNXP is not set # CONFIG_SERIAL_SC16IS7XX is not set # CONFIG_SERIAL_ALTERA_JTAGUART is not set @@ -2120,6 +2202,8 @@ CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y # CONFIG_SERIAL_ARC is not set # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# end of Serial drivers + CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_HVC_DCC is not set @@ -2137,6 +2221,7 @@ CONFIG_TCG_TIS_I2C_INFINEON=y # CONFIG_TCG_TIS_ST33ZP24_I2C is not set # CONFIG_TCG_TIS_ST33ZP24_SPI is not set # CONFIG_XILLYBUS is not set +# end of Character devices # # I2C support @@ -2160,6 +2245,8 @@ CONFIG_I2C_MUX_PCA954x=y # CONFIG_I2C_MUX_REG is not set # CONFIG_I2C_DEMUX_PINCTRL is not set # CONFIG_I2C_MUX_MLXCPLD is not set +# end of Multiplexer I2C Chip support + CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_ALGOBIT=y @@ -2197,12 +2284,16 @@ CONFIG_I2C_RK3X=y # # Other I2C/SMBus bus drivers # +# end of I2C Hardware Bus support + # CONFIG_I2C_STUB is not set CONFIG_I2C_SLAVE=y # CONFIG_I2C_SLAVE_EEPROM is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + # CONFIG_I3C is not set CONFIG_SPI=y # CONFIG_SPI_DEBUG is not set @@ -2263,6 +2354,8 @@ CONFIG_PTP_1588_CLOCK=y # # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # +# end of PTP clock support + CONFIG_PINCTRL=y CONFIG_GENERIC_PINCTRL_GROUPS=y CONFIG_PINMUX=y @@ -2275,11 +2368,25 @@ CONFIG_PINCTRL_AXP209=y # CONFIG_PINCTRL_MCP23S08 is not set CONFIG_PINCTRL_SINGLE=y # CONFIG_PINCTRL_SX150X is not set +# CONFIG_PINCTRL_STMFX is not set CONFIG_PINCTRL_MAX77620=y # CONFIG_PINCTRL_RK805 is not set # CONFIG_PINCTRL_OCELOT is not set CONFIG_PINCTRL_SUNXI=y +# CONFIG_PINCTRL_SUN4I_A10 is not set +# CONFIG_PINCTRL_SUN5I is not set +# CONFIG_PINCTRL_SUN6I_A31 is not set +# CONFIG_PINCTRL_SUN6I_A31_R is not set +# CONFIG_PINCTRL_SUN8I_A23 is not set +# CONFIG_PINCTRL_SUN8I_A33 is not set +# CONFIG_PINCTRL_SUN8I_A83T is not set +# CONFIG_PINCTRL_SUN8I_A83T_R is not set +# CONFIG_PINCTRL_SUN8I_A23_R is not set +# CONFIG_PINCTRL_SUN8I_H3 is not set CONFIG_PINCTRL_SUN8I_H3_R=y +# CONFIG_PINCTRL_SUN8I_V3S is not set +# CONFIG_PINCTRL_SUN9I_A80 is not set +# CONFIG_PINCTRL_SUN9I_A80_R is not set CONFIG_PINCTRL_SUN50I_A64=y CONFIG_PINCTRL_SUN50I_A64_R=y CONFIG_PINCTRL_SUN50I_H5=y @@ -2305,13 +2412,13 @@ CONFIG_GPIO_GENERIC_PLATFORM=y # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_HLWD is not set CONFIG_GPIO_MB86S7X=y -# CONFIG_GPIO_MOCKUP is not set CONFIG_GPIO_PL061=y # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SYSCON is not set CONFIG_GPIO_XGENE=y # CONFIG_GPIO_XILINX is not set # CONFIG_GPIO_AMD_FCH is not set +# end of Memory mapped GPIO drivers # # I2C GPIO expanders @@ -2325,11 +2432,13 @@ CONFIG_GPIO_PCA953X=y CONFIG_GPIO_PCA953X_IRQ=y # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_TPIC2810 is not set +# end of I2C GPIO expanders # # MFD GPIO expanders # CONFIG_GPIO_MAX77620=y +# end of MFD GPIO expanders # # SPI GPIO expanders @@ -2340,10 +2449,14 @@ CONFIG_GPIO_MAX77620=y # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_XRA1403 is not set +# end of SPI GPIO expanders # # USB GPIO expanders # +# end of USB GPIO expanders + +# CONFIG_GPIO_MOCKUP is not set # CONFIG_W1 is not set CONFIG_POWER_AVS=y CONFIG_POWER_RESET=y @@ -2383,7 +2496,7 @@ CONFIG_AXP20X_POWER=y # CONFIG_CHARGER_LP8727 is not set # CONFIG_CHARGER_GPIO is not set # CONFIG_CHARGER_MANAGER is not set -# CONFIG_CHARGER_LTC3651 is not set +# CONFIG_CHARGER_LT3651 is not set # CONFIG_CHARGER_DETECTOR_MAX14656 is not set # CONFIG_CHARGER_BQ2415X is not set # CONFIG_CHARGER_BQ24190 is not set @@ -2393,6 +2506,7 @@ CONFIG_AXP20X_POWER=y # CONFIG_CHARGER_SMB347 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set # CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_UCS1002 is not set CONFIG_HWMON=y # CONFIG_HWMON_DEBUG_CHIP is not set @@ -2547,6 +2661,7 @@ CONFIG_CPU_THERMAL=y # CONFIG_CLOCK_THERMAL is not set # CONFIG_DEVFREQ_THERMAL is not set CONFIG_THERMAL_EMULATION=y +# CONFIG_THERMAL_MMIO is not set # CONFIG_MAX77620_THERMAL is not set # CONFIG_QORIQ_THERMAL is not set # CONFIG_GENERIC_ADC_THERMAL is not set @@ -2556,6 +2671,11 @@ CONFIG_WATCHDOG_CORE=y CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y # CONFIG_WATCHDOG_SYSFS is not set +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set + # # Watchdog Device Drivers # @@ -2570,17 +2690,13 @@ CONFIG_ARM_SP805_WATCHDOG=y CONFIG_SUNXI_WATCHDOG=y # CONFIG_MAX63XX_WATCHDOG is not set # CONFIG_MAX77620_WATCHDOG is not set +# CONFIG_IMX_SC_WDT is not set # CONFIG_MEN_A21_WDT is not set # # USB-based Watchdog Cards # # CONFIG_USBPCWATCHDOG is not set - -# -# Watchdog Pretimeout Governors -# -# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set CONFIG_SSB_POSSIBLE=y # CONFIG_SSB is not set CONFIG_BCMA_POSSIBLE=y @@ -2625,6 +2741,7 @@ CONFIG_MFD_HI6421_PMIC=y # CONFIG_MFD_88PM860X is not set # CONFIG_MFD_MAX14577 is not set CONFIG_MFD_MAX77620=y +# CONFIG_MFD_MAX77650 is not set # CONFIG_MFD_MAX77686 is not set # CONFIG_MFD_MAX77693 is not set # CONFIG_MFD_MAX77843 is not set @@ -2687,8 +2804,11 @@ CONFIG_MFD_SYSCON=y # CONFIG_MFD_WM8994 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set CONFIG_MFD_VEXPRESS_SYSREG=y # CONFIG_RAVE_SP_CORE is not set +# end of Multifunction device drivers + CONFIG_REGULATOR=y # CONFIG_REGULATOR_DEBUG is not set CONFIG_REGULATOR_FIXED_VOLTAGE=y @@ -2792,7 +2912,7 @@ CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CEC_RC is not set # CONFIG_CEC_PIN_ERROR_INJ is not set CONFIG_MEDIA_CONTROLLER=y -# CONFIG_MEDIA_CONTROLLER_DVB is not set +CONFIG_MEDIA_CONTROLLER_DVB=y CONFIG_MEDIA_CONTROLLER_REQUEST_API=y CONFIG_VIDEO_DEV=y CONFIG_VIDEO_V4L2_SUBDEV_API=y @@ -3045,6 +3165,10 @@ CONFIG_VIDEO_OV2640=m CONFIG_VIDEO_OV7640=m CONFIG_VIDEO_MT9V011=m +# +# Lens drivers +# + # # Flash devices # @@ -3069,6 +3193,8 @@ CONFIG_VIDEO_MT9V011=m # Media SPI Adapters # # CONFIG_CXD2880_SPI_DRV is not set +# end of Media SPI Adapters + CONFIG_MEDIA_TUNER=y CONFIG_MEDIA_TUNER_SIMPLE=y CONFIG_MEDIA_TUNER_TDA18250=m @@ -3254,6 +3380,7 @@ CONFIG_DRM_I2C_CH7006=m CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_I2C_NXP_TDA998X is not set # CONFIG_DRM_I2C_NXP_TDA9950 is not set +# end of I2C encoder or helper chips # # ARM devices @@ -3261,19 +3388,19 @@ CONFIG_DRM_I2C_SIL164=m # CONFIG_DRM_HDLCD is not set # CONFIG_DRM_MALI_DISPLAY is not set # CONFIG_DRM_KOMEDA is not set +# end of ARM devices # # ACP (Audio CoProcessor) Configuration # +# end of ACP (Audio CoProcessor) Configuration -# -# AMD Library routines -# # CONFIG_DRM_VGEM is not set # CONFIG_DRM_VKMS is not set # CONFIG_DRM_UDL is not set # CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_RCAR_LVDS is not set +CONFIG_DRM_RCAR_WRITEBACK=y CONFIG_DRM_SUN4I=y # CONFIG_DRM_SUN4I_HDMI is not set # CONFIG_DRM_SUN4I_BACKEND is not set @@ -3298,6 +3425,8 @@ CONFIG_DRM_PANEL_SIMPLE=m # CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set +# end of Display Panels + CONFIG_DRM_BRIDGE=y CONFIG_DRM_PANEL_BRIDGE=y @@ -3324,12 +3453,16 @@ CONFIG_DRM_DW_HDMI=y # CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set CONFIG_DRM_DW_HDMI_I2S_AUDIO=y CONFIG_DRM_DW_HDMI_CEC=y +# end of Display Interface Bridges + # CONFIG_DRM_ETNAVIV is not set # CONFIG_DRM_ARCPGU is not set # CONFIG_DRM_HISI_KIRIN is not set # CONFIG_DRM_MXSFB is not set # CONFIG_DRM_TINYDRM is not set # CONFIG_DRM_PL111 is not set +# CONFIG_DRM_LIMA is not set +# CONFIG_DRM_PANFROST is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y @@ -3366,7 +3499,11 @@ CONFIG_FB_ARMCLCD=y # CONFIG_FB_METRONOME is not set # CONFIG_FB_SIMPLE is not set # CONFIG_FB_SSD1307 is not set -CONFIG_BACKLIGHT_LCD_SUPPORT=y +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# CONFIG_LCD_CLASS_DEVICE=m # CONFIG_LCD_L4F00242T03 is not set # CONFIG_LCD_LMS283GF05 is not set @@ -3393,6 +3530,8 @@ CONFIG_BACKLIGHT_LP855X=m # CONFIG_BACKLIGHT_LV5207LP is not set # CONFIG_BACKLIGHT_BD6107 is not set # CONFIG_BACKLIGHT_ARCXCNN is not set +# end of Backlight & LCD device support + CONFIG_VIDEOMODE_HELPERS=y CONFIG_HDMI=y @@ -3406,7 +3545,11 @@ CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set +# end of Console display driver support + # CONFIG_LOGO is not set +# end of Graphics support + CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_TIMER=y @@ -3438,10 +3581,13 @@ CONFIG_SND_DRIVERS=y # # HD-Audio # +# end of HD-Audio + CONFIG_SND_HDA_PREALLOC_SIZE=64 CONFIG_SND_SPI=y CONFIG_SND_USB=y CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y # CONFIG_SND_USB_UA101 is not set # CONFIG_SND_USB_CAIAQ is not set # CONFIG_SND_USB_6FIRE is not set @@ -3466,18 +3612,23 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y # # CONFIG_SND_SOC_FSL_ASRC is not set # CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_AUDMIX is not set # CONFIG_SND_SOC_FSL_SSI is not set # CONFIG_SND_SOC_FSL_SPDIF is not set # CONFIG_SND_SOC_FSL_ESAI is not set # CONFIG_SND_SOC_FSL_MICFIL is not set # CONFIG_SND_SOC_IMX_AUDMUX is not set +# end of SoC Audio for Freescale CPUs + # CONFIG_SND_I2S_HI6210_I2S is not set # CONFIG_SND_SOC_IMG is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set +# CONFIG_SND_SOC_SOF_TOPLEVEL is not set # # STMicroelectronics STM32 SOC audio support # +# end of STMicroelectronics STM32 SOC audio support # # Allwinner SoC Audio support @@ -3489,6 +3640,8 @@ CONFIG_SND_SUN50I_CODEC_ANALOG=y CONFIG_SND_SUN4I_I2S=y CONFIG_SND_SUN4I_SPDIF=y CONFIG_SND_SUN8I_ADDA_PR_REGMAP=y +# end of Allwinner SoC Audio support + # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -3625,6 +3778,8 @@ CONFIG_SND_SOC_HDMI_CODEC=y # CONFIG_SND_SOC_NAU8822 is not set # CONFIG_SND_SOC_NAU8824 is not set # CONFIG_SND_SOC_TPA6130A2 is not set +# end of CODEC drivers + CONFIG_SND_SIMPLE_CARD_UTILS=y CONFIG_SND_SIMPLE_CARD=y CONFIG_SND_AUDIO_GRAPH_CARD=y @@ -3655,6 +3810,7 @@ CONFIG_HID_CHERRY=y CONFIG_HID_CHICONY=y # CONFIG_HID_CORSAIR is not set # CONFIG_HID_COUGAR is not set +# CONFIG_HID_MACALLY is not set # CONFIG_HID_PRODIKEYS is not set # CONFIG_HID_CMEDIA is not set CONFIG_HID_CYPRESS=y @@ -3722,6 +3878,7 @@ CONFIG_HID_STEAM=m # CONFIG_HID_THINGM is not set # CONFIG_HID_THRUSTMASTER is not set # CONFIG_HID_UDRAW_PS3 is not set +# CONFIG_HID_U2FZERO is not set # CONFIG_HID_WACOM is not set # CONFIG_HID_WIIMOTE is not set # CONFIG_HID_XINMO is not set @@ -3729,6 +3886,7 @@ CONFIG_HID_STEAM=m # CONFIG_HID_ZYDACRON is not set # CONFIG_HID_SENSOR_HUB is not set # CONFIG_HID_ALPS is not set +# end of Special HID drivers # # USB HID support @@ -3736,11 +3894,15 @@ CONFIG_HID_STEAM=m CONFIG_USB_HID=y # CONFIG_HID_PID is not set # CONFIG_USB_HIDDEV is not set +# end of USB HID support # # I2C HID support # CONFIG_I2C_HID=m +# end of I2C HID support +# end of HID support + CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SUPPORT=y CONFIG_USB_COMMON=y @@ -3911,6 +4073,8 @@ CONFIG_NOP_USB_XCEIV=y # CONFIG_USB_ISP1301 is not set CONFIG_USB_ULPI=y CONFIG_USB_ULPI_VIEWPORT=y +# end of USB Physical Layer drivers + CONFIG_USB_GADGET=y # CONFIG_USB_GADGET_DEBUG is not set # CONFIG_USB_GADGET_DEBUG_FILES is not set @@ -3938,6 +4102,8 @@ CONFIG_USB_BDC_UDC=y # CONFIG_USB_NET2272 is not set # CONFIG_USB_GADGET_XILINX is not set # CONFIG_USB_DUMMY_HCD is not set +# end of USB Peripheral Controller + # CONFIG_USB_CONFIGFS is not set # CONFIG_TYPEC is not set # CONFIG_USB_ROLE_SWITCH is not set @@ -3996,6 +4162,7 @@ CONFIG_LEDS_CLASS=y # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_CR0014114 is not set # CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3532 is not set # CONFIG_LEDS_LM3642 is not set # CONFIG_LEDS_LM3692X is not set # CONFIG_LEDS_PCA9532 is not set @@ -4211,6 +4378,8 @@ CONFIG_DMA_ENGINE_RAID=y CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set # CONFIG_UDMABUF is not set +# end of DMABUF options + # CONFIG_AUXDISPLAY is not set # CONFIG_UIO is not set # CONFIG_VIRT_DRIVERS is not set @@ -4219,6 +4388,8 @@ CONFIG_SYNC_FILE=y # # Microsoft Hyper-V guest support # +# end of Microsoft Hyper-V guest support + CONFIG_STAGING=y # CONFIG_PRISM2_USB is not set # CONFIG_COMEDI is not set @@ -4237,51 +4408,61 @@ CONFIG_RTL8723BS=m # # CONFIG_ADIS16203 is not set # CONFIG_ADIS16240 is not set +# end of Accelerometers # # Analog to digital converters # -# CONFIG_AD7780 is not set # CONFIG_AD7816 is not set # CONFIG_AD7192 is not set # CONFIG_AD7280 is not set +# end of Analog to digital converters # # Analog digital bi-direction converters # # CONFIG_ADT7316 is not set +# end of Analog digital bi-direction converters # # Capacitance to digital converters # # CONFIG_AD7150 is not set # CONFIG_AD7746 is not set +# end of Capacitance to digital converters # # Direct Digital Synthesis # # CONFIG_AD9832 is not set # CONFIG_AD9834 is not set +# end of Direct Digital Synthesis # # Network Analyzer, Impedance Converters # # CONFIG_AD5933 is not set +# end of Network Analyzer, Impedance Converters # # Active energy metering IC # # CONFIG_ADE7854 is not set +# end of Active energy metering IC # # Resolver to digital converters # # CONFIG_AD2S1210 is not set +# end of Resolver to digital converters +# end of IIO staging drivers # # Speakup console speech # # CONFIG_SPEAKUP is not set +# end of Speakup console speech + CONFIG_STAGING_MEDIA=y CONFIG_VIDEO_SUNXI=y CONFIG_VIDEO_SUNXI_CEDRUS=y @@ -4293,6 +4474,8 @@ CONFIG_VIDEO_SUNXI_CEDRUS=y # # Android # +# end of Android + # CONFIG_STAGING_BOARD is not set # CONFIG_LTE_GDM724X is not set # CONFIG_GS_FPGABOOT is not set @@ -4309,10 +4492,14 @@ CONFIG_VIDEO_SUNXI_CEDRUS=y # # Gasket devices # +# end of Gasket devices + # CONFIG_XIL_AXIS_FIFO is not set # CONFIG_EROFS_FS is not set +# CONFIG_FIELDBUS_DEV is not set # CONFIG_GOLDFISH is not set # CONFIG_CHROME_PLATFORMS is not set +# CONFIG_MELLANOX_PLATFORM is not set CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y @@ -4339,6 +4526,7 @@ CONFIG_COMMON_CLK_SCPI=y # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_CLK_SUNXI is not set CONFIG_SUNXI_CCU=y CONFIG_SUN50I_A64_CCU=y CONFIG_SUN50I_H6_CCU=y @@ -4347,6 +4535,8 @@ CONFIG_SUN50I_H6_R_CCU=y CONFIG_SUN8I_H3_CCU=y CONFIG_SUN8I_DE2_CCU=y CONFIG_SUN8I_R_CCU=y +# end of Common Clock Framework + CONFIG_HWSPINLOCK=y # @@ -4362,8 +4552,9 @@ CONFIG_FSL_ERRATUM_A008585=y CONFIG_HISILICON_ERRATUM_161010101=y CONFIG_ARM64_ERRATUM_858921=y CONFIG_SUN50I_ERRATUM_UNKNOWN1=y -CONFIG_ARM_TIMER_SP804=y CONFIG_CLKSRC_VERSATILE=y +# end of Clock Source drivers + CONFIG_MAILBOX=y CONFIG_ARM_MHU=y CONFIG_PLATFORM_MHU=y @@ -4376,6 +4567,7 @@ CONFIG_PLATFORM_MHU=y # Remoteproc drivers # # CONFIG_REMOTEPROC is not set +# end of Remoteproc drivers # # Rpmsg drivers @@ -4385,6 +4577,8 @@ CONFIG_RPMSG=y CONFIG_RPMSG_QCOM_GLINK_NATIVE=y CONFIG_RPMSG_QCOM_GLINK_RPM=y # CONFIG_RPMSG_VIRTIO is not set +# end of Rpmsg drivers + # CONFIG_SOUNDWIRE is not set # @@ -4394,23 +4588,41 @@ CONFIG_RPMSG_QCOM_GLINK_RPM=y # # Amlogic SoC drivers # +# end of Amlogic SoC drivers + +# +# Aspeed SoC drivers +# +# end of Aspeed SoC drivers # # Broadcom SoC drivers # CONFIG_SOC_BRCMSTB=y +# end of Broadcom SoC drivers # # NXP/Freescale QorIQ SoC drivers # +# end of NXP/Freescale QorIQ SoC drivers # # i.MX SoC drivers # +# end of i.MX SoC drivers + +# +# IXP4xx SoC drivers +# +# CONFIG_IXP4XX_QMGR is not set +# CONFIG_IXP4XX_NPE is not set +# end of IXP4xx SoC drivers # # Qualcomm SoC drivers # +# end of Qualcomm SoC drivers + CONFIG_SUNXI_SRAM=y CONFIG_SOC_TI=y @@ -4418,6 +4630,9 @@ CONFIG_SOC_TI=y # Xilinx SoC drivers # # CONFIG_XILINX_VCU is not set +# end of Xilinx SoC drivers +# end of SOC (System On Chip) specific Drivers + CONFIG_PM_DEVFREQ=y # @@ -4491,6 +4706,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_SCA3000 is not set # CONFIG_STK8312 is not set # CONFIG_STK8BA50 is not set +# end of Accelerometers # # Analog to digital converters @@ -4504,6 +4720,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_AD7606_IFACE_SPI is not set # CONFIG_AD7766 is not set # CONFIG_AD7768_1 is not set +# CONFIG_AD7780 is not set # CONFIG_AD7791 is not set # CONFIG_AD7793 is not set # CONFIG_AD7887 is not set @@ -4542,20 +4759,24 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_TI_ADC161S626 is not set # CONFIG_TI_ADS1015 is not set # CONFIG_TI_ADS7950 is not set +# CONFIG_TI_ADS8344 is not set # CONFIG_TI_ADS8688 is not set # CONFIG_TI_ADS124S08 is not set # CONFIG_TI_TLC4541 is not set # CONFIG_VF610_ADC is not set +# end of Analog to digital converters # # Analog Front Ends # # CONFIG_IIO_RESCALE is not set +# end of Analog Front Ends # # Amplifiers # # CONFIG_AD8366 is not set +# end of Amplifiers # # Chemical Sensors @@ -4568,19 +4789,18 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_SENSIRION_SGP30 is not set # CONFIG_SPS30 is not set # CONFIG_VZ89X is not set +# end of Chemical Sensors # # Hid Sensor IIO Common # +# end of Hid Sensor IIO Common # # SSP Sensor Common # # CONFIG_IIO_SSP_SENSORHUB is not set - -# -# Counters -# +# end of SSP Sensor Common # # Digital to analog converters @@ -4618,10 +4838,12 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_TI_DAC7311 is not set # CONFIG_TI_DAC7612 is not set # CONFIG_VF610_DAC is not set +# end of Digital to analog converters # # IIO dummy driver # +# end of IIO dummy driver # # Frequency Synthesizers DDS/PLL @@ -4631,11 +4853,14 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # Clock Generator/Distribution # # CONFIG_AD9523 is not set +# end of Clock Generator/Distribution # # Phase-Locked Loop (PLL) frequency synthesizers # # CONFIG_ADF4350 is not set +# end of Phase-Locked Loop (PLL) frequency synthesizers +# end of Frequency Synthesizers DDS/PLL # # Digital gyroscope sensors @@ -4646,9 +4871,11 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_ADIS16260 is not set # CONFIG_ADXRS450 is not set # CONFIG_BMG160 is not set +# CONFIG_FXAS21002C is not set # CONFIG_MPU3050_I2C is not set # CONFIG_IIO_ST_GYRO_3AXIS is not set # CONFIG_ITG3200 is not set +# end of Digital gyroscope sensors # # Health Sensors @@ -4661,6 +4888,8 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_AFE4404 is not set # CONFIG_MAX30100 is not set # CONFIG_MAX30102 is not set +# end of Heart Rate Monitors +# end of Health Sensors # # Humidity sensors @@ -4672,6 +4901,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_HTU21 is not set # CONFIG_SI7005 is not set # CONFIG_SI7020 is not set +# end of Humidity sensors # # Inertial measurement units @@ -4684,6 +4914,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_INV_MPU6050_I2C is not set # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IIO_ST_LSM6DSX is not set +# end of Inertial measurement units # # Light sensors @@ -4727,6 +4958,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_VEML6070 is not set # CONFIG_VL6180 is not set # CONFIG_ZOPT2201 is not set +# end of Light sensors # # Magnetometer sensors @@ -4743,21 +4975,25 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_RM3100_I2C is not set # CONFIG_SENSORS_RM3100_SPI is not set +# end of Magnetometer sensors # # Multiplexers # # CONFIG_IIO_MUX is not set +# end of Multiplexers # # Inclinometer sensors # +# end of Inclinometer sensors # # Triggers - standalone # # CONFIG_IIO_INTERRUPT_TRIGGER is not set # CONFIG_IIO_SYSFS_TRIGGER is not set +# end of Triggers - standalone # # Digital potentiometers @@ -4771,11 +5007,13 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_MCP4531 is not set # CONFIG_MCP41010 is not set # CONFIG_TPL0102 is not set +# end of Digital potentiometers # # Digital potentiostats # # CONFIG_LMP91000 is not set +# end of Digital potentiostats # # Pressure sensors @@ -4792,28 +5030,33 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_T5403 is not set # CONFIG_HP206C is not set # CONFIG_ZPA2326 is not set +# end of Pressure sensors # # Lightning sensors # # CONFIG_AS3935 is not set +# end of Lightning sensors # # Proximity and distance sensors # # CONFIG_ISL29501 is not set # CONFIG_LIDAR_LITE_V2 is not set +# CONFIG_MB1232 is not set # CONFIG_RFD77402 is not set # CONFIG_SRF04 is not set # CONFIG_SX9500 is not set # CONFIG_SRF08 is not set # CONFIG_VL53L0X_I2C is not set +# end of Proximity and distance sensors # # Resolver to digital converters # # CONFIG_AD2S90 is not set # CONFIG_AD2S1200 is not set +# end of Resolver to digital converters # # Temperature sensors @@ -4825,6 +5068,9 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_TMP007 is not set # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set +# CONFIG_MAX31856 is not set +# end of Temperature sensors + CONFIG_PWM=y CONFIG_PWM_SYSFS=y # CONFIG_PWM_FSL_FTM is not set @@ -4840,6 +5086,8 @@ CONFIG_ARM_GIC_MAX_NR=1 CONFIG_ARM_GIC_V3=y CONFIG_ARM_GIC_V3_ITS=y CONFIG_PARTITION_PERCPU=y +# end of IRQ chip support + # CONFIG_IPACK_BUS is not set CONFIG_ARCH_HAS_RESET_CONTROLLER=y CONFIG_RESET_CONTROLLER=y @@ -4871,6 +5119,8 @@ CONFIG_PHY_QCOM_USB_HS=y # CONFIG_PHY_QCOM_USB_HSIC is not set CONFIG_PHY_SAMSUNG_USB2=y # CONFIG_PHY_TUSB1210 is not set +# end of PHY Subsystem + # CONFIG_POWERCAP is not set # CONFIG_MCB is not set @@ -4882,15 +5132,20 @@ CONFIG_PHY_SAMSUNG_USB2=y CONFIG_ARM_PMU=y # CONFIG_ARM_DSU_PMU is not set # CONFIG_ARM_SPE_PMU is not set +# end of Performance monitor support + CONFIG_RAS=y # # Android # # CONFIG_ANDROID is not set +# end of Android + # CONFIG_LIBNVDIMM is not set # CONFIG_DAX is not set CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y # CONFIG_NVMEM_SUNXI_SID is not set # @@ -4898,6 +5153,8 @@ CONFIG_NVMEM=y # # CONFIG_STM is not set # CONFIG_INTEL_TH is not set +# end of HW tracing support + # CONFIG_FPGA is not set # CONFIG_FSI is not set # CONFIG_TEE is not set @@ -4905,6 +5162,8 @@ CONFIG_PM_OPP=y # CONFIG_SIOX is not set # CONFIG_SLIMBUS is not set # CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# end of Device Drivers # # File systems @@ -4982,12 +5241,14 @@ CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y # Caches # # CONFIG_FSCACHE is not set +# end of Caches # # CD-ROM/DVD Filesystems # # CONFIG_ISO9660_FS is not set # CONFIG_UDF_FS is not set +# end of CD-ROM/DVD Filesystems # # DOS/FAT/NT Filesystems @@ -4999,6 +5260,7 @@ CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" # CONFIG_FAT_DEFAULT_UTF8 is not set # CONFIG_NTFS_FS is not set +# end of DOS/FAT/NT Filesystems # # Pseudo filesystems @@ -5021,6 +5283,8 @@ CONFIG_MEMFD_CREATE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=y CONFIG_EFIVAR_FS=y +# end of Pseudo filesystems + CONFIG_MISC_FILESYSTEMS=y # CONFIG_ORANGEFS_FS is not set # CONFIG_ADFS_FS is not set @@ -5156,6 +5420,8 @@ CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_MAC_TURKISH is not set # CONFIG_NLS_UTF8 is not set # CONFIG_DLM is not set +# CONFIG_UNICODE is not set +# end of File systems # # Security options @@ -5189,6 +5455,23 @@ CONFIG_INTEGRITY_AUDIT=y # CONFIG_EVM is not set CONFIG_DEFAULT_SECURITY_DAC=y CONFIG_LSM="yama,loadpin,safesetid,integrity" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_INIT_STACK_NONE=y +# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set +# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set +# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is not set +# CONFIG_GCC_PLUGIN_STACKLEAK is not set +# end of Memory initialization +# end of Kernel hardening options +# end of Security options + CONFIG_XOR_BLOCKS=m CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y @@ -5213,9 +5496,6 @@ CONFIG_CRYPTO_AKCIPHER=y CONFIG_CRYPTO_KPP2=y CONFIG_CRYPTO_KPP=m CONFIG_CRYPTO_ACOMP2=y -CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_DH is not set -CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y # CONFIG_CRYPTO_USER is not set @@ -5230,6 +5510,15 @@ CONFIG_CRYPTO_AUTHENC=y # CONFIG_CRYPTO_TEST is not set CONFIG_CRYPTO_SIMD=y +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_ECC=m +CONFIG_CRYPTO_ECDH=m +# CONFIG_CRYPTO_ECRDSA is not set + # # Authenticated Encryption with Associated Data # @@ -5358,18 +5647,21 @@ CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SECONDARY_TRUSTED_KEYRING is not set # CONFIG_SYSTEM_BLACKLIST_KEYRING is not set +# end of Certificates for signature checking # # Library routines # CONFIG_RAID6_PQ=m CONFIG_RAID6_PQ_BENCHMARK=y +# CONFIG_PACKING is not set CONFIG_BITREVERSE=y CONFIG_HAVE_ARCH_BITREVERSE=y -CONFIG_RATIONAL=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_NET_UTILS=y +# CONFIG_CORDIC is not set +CONFIG_RATIONAL=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_HAS_FAST_MULTIPLIER=y @@ -5423,6 +5715,7 @@ CONFIG_DMA_DECLARE_COHERENT=y CONFIG_ARCH_HAS_SETUP_DMA_OPS=y CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y +CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y CONFIG_ARCH_HAS_DMA_COHERENT_TO_PFN=y CONFIG_ARCH_HAS_DMA_MMAP_PGPROT=y CONFIG_SWIOTLB=y @@ -5447,7 +5740,6 @@ CONFIG_GLOB=y # CONFIG_GLOB_SELFTEST is not set CONFIG_NLATTR=y CONFIG_CLZ_TAB=y -# CONFIG_CORDIC is not set # CONFIG_DDR is not set # CONFIG_IRQ_POLL is not set CONFIG_MPILIB=y @@ -5461,6 +5753,7 @@ CONFIG_FONT_8x16=y CONFIG_SG_POOL=y CONFIG_SBITMAP=y # CONFIG_STRING_SELFTEST is not set +# end of Library routines # # Kernel hacking @@ -5476,6 +5769,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_DYNAMIC_DEBUG is not set +# end of printk and dmesg options # # Compile-time checks and compiler options @@ -5484,6 +5778,7 @@ CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set # CONFIG_DEBUG_INFO_DWARF4 is not set +# CONFIG_DEBUG_INFO_BTF is not set # CONFIG_GDB_SCRIPTS is not set CONFIG_ENABLE_MUST_CHECK=y CONFIG_FRAME_WARN=2048 @@ -5492,15 +5787,19 @@ CONFIG_FRAME_WARN=2048 # CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set +# CONFIG_OPTIMIZE_INLINING is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_ARCH_WANT_FRAME_POINTERS=y CONFIG_FRAME_POINTER=y # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# end of Compile-time checks and compiler options + CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y # # Memory Debugging @@ -5526,6 +5825,8 @@ CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y CONFIG_CC_HAS_KASAN_GENERIC=y # CONFIG_KASAN is not set CONFIG_KASAN_STACK=1 +# end of Memory Debugging + CONFIG_ARCH_HAS_KCOV=y CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set @@ -5537,6 +5838,8 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_SOFTLOCKUP_DETECTOR is not set # CONFIG_DETECT_HUNG_TASK is not set # CONFIG_WQ_WATCHDOG is not set +# end of Debug Lockups and Hangs + # CONFIG_PANIC_ON_OOPS is not set CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 @@ -5563,13 +5866,15 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_LOCK_TORTURE_TEST is not set # CONFIG_WW_MUTEX_SELFTEST is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + # CONFIG_STACKTRACE is not set # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set # CONFIG_DEBUG_KOBJECT is not set CONFIG_HAVE_DEBUG_BUGVERBOSE=y CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_LIST is not set -# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_PLIST is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set # CONFIG_DEBUG_CREDENTIALS is not set @@ -5582,6 +5887,8 @@ CONFIG_DEBUG_BUGVERBOSE=y CONFIG_RCU_CPU_STALL_TIMEOUT=21 # CONFIG_RCU_TRACE is not set # CONFIG_RCU_EQS_DEBUG is not set +# end of RCU Debugging + # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set @@ -5607,6 +5914,7 @@ CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_ATOMIC64_SELFTEST is not set # CONFIG_TEST_HEXDUMP is not set # CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_STRSCPY is not set # CONFIG_TEST_KSTRTOX is not set # CONFIG_TEST_PRINTF is not set # CONFIG_TEST_BITMAP is not set @@ -5648,3 +5956,4 @@ CONFIG_STRICT_DEVMEM=y # CONFIG_DEBUG_EFI is not set # CONFIG_ARM64_RELOC_TEST is not set # CONFIG_CORESIGHT is not set +# end of Kernel hacking diff --git a/projects/Allwinner/linux/linux.arm.conf b/projects/Allwinner/linux/linux.arm.conf index fbe0a90189..a59df99db7 100644 --- a/projects/Allwinner/linux/linux.arm.conf +++ b/projects/Allwinner/linux/linux.arm.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 5.1.9 Kernel Configuration +# Linux/arm 5.2.0 Kernel Configuration # # @@ -59,6 +59,8 @@ CONFIG_HANDLE_DOMAIN_IRQ=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y # CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + CONFIG_GENERIC_IRQ_MULTI_HANDLER=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_GENERIC_TIME_VSYSCALL=y @@ -76,6 +78,8 @@ CONFIG_NO_HZ_IDLE=y # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y +# end of Timers subsystem + CONFIG_PREEMPT_NONE=y # CONFIG_PREEMPT_VOLUNTARY is not set # CONFIG_PREEMPT is not set @@ -89,6 +93,8 @@ CONFIG_TICK_CPU_ACCOUNTING=y # CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_TASKSTATS is not set # CONFIG_PSI is not set +# end of CPU/Task time and stats accounting + CONFIG_CPU_ISOLATION=y # @@ -100,9 +106,11 @@ CONFIG_SRCU=y CONFIG_TREE_SRCU=y CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_NEED_SEGCBLIST=y -CONFIG_BUILD_BIN2C=y +# end of RCU Subsystem + CONFIG_IKCONFIG=m CONFIG_IKCONFIG_PROC=y +# CONFIG_IKHEADERS is not set CONFIG_LOG_BUF_SHIFT=17 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 @@ -155,7 +163,6 @@ CONFIG_INITRAMFS_COMPRESSION="" CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y -CONFIG_ANON_INODES=y CONFIG_HAVE_UID16=y CONFIG_BPF=y CONFIG_EXPERT=y @@ -200,6 +207,8 @@ CONFIG_PERF_USE_VMALLOC=y # CONFIG_PERF_EVENTS=y # CONFIG_DEBUG_PERF_USE_VMALLOC is not set +# end of Kernel Performance Events And Counters + CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLUB_DEBUG=y # CONFIG_SLUB_MEMCG_SYSFS_ON is not set @@ -210,9 +219,12 @@ CONFIG_SLUB=y CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLAB_FREELIST_RANDOM is not set # CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set CONFIG_SLUB_CPU_PARTIAL=y CONFIG_SYSTEM_DATA_VERIFICATION=y # CONFIG_PROFILING is not set +# end of General setup + CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -220,7 +232,6 @@ CONFIG_HAVE_PROC_CPU=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y @@ -265,6 +276,8 @@ CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_MULTI_V6 is not set CONFIG_ARCH_MULTI_V7=y CONFIG_ARCH_MULTI_V6_V7=y +# end of Multiple platform selection + # CONFIG_ARCH_VIRT is not set # CONFIG_ARCH_ACTIONS is not set # CONFIG_ARCH_ALPINE is not set @@ -294,6 +307,8 @@ CONFIG_ARCH_MULTI_V6_V7=y # CONFIG_SOC_AM33XX is not set # CONFIG_SOC_AM43XX is not set # CONFIG_SOC_DRA7XX is not set +# end of TI OMAP/AM/DM/DRA Family + # CONFIG_ARCH_SIRF is not set # CONFIG_ARCH_QCOM is not set # CONFIG_ARCH_RDA is not set @@ -381,10 +396,12 @@ CONFIG_ARM_ERRATA_643719=y # CONFIG_ARM_ERRATA_825619 is not set # CONFIG_ARM_ERRATA_852421 is not set # CONFIG_ARM_ERRATA_852423 is not set +# end of System Type # # Bus support # +# end of Bus support # # Kernel Features @@ -434,6 +451,7 @@ CONFIG_SECCOMP=y # CONFIG_PARAVIRT is not set # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set # CONFIG_XEN is not set +# end of Kernel Features # # Boot options @@ -452,6 +470,7 @@ CONFIG_CMDLINE_EXTEND=y # CONFIG_CRASH_DUMP is not set CONFIG_AUTO_ZRELADDR=y # CONFIG_EFI is not set +# end of Boot options # # CPU Power Management @@ -484,6 +503,7 @@ CONFIG_CPUFREQ_DT=y CONFIG_CPUFREQ_DT_PLATDEV=y # CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set # CONFIG_QORIQ_CPUFREQ is not set +# end of CPU Frequency scaling # # CPU Idle @@ -498,6 +518,9 @@ CONFIG_CPU_IDLE_GOV_MENU=y # # CONFIG_ARM_CPUIDLE is not set # CONFIG_ARM_HIGHBANK_CPUIDLE is not set +# end of ARM CPU Idle Drivers +# end of CPU Idle +# end of CPU Power Management # # Floating point emulation @@ -510,6 +533,7 @@ CONFIG_VFP=y CONFIG_VFPv3=y CONFIG_NEON=y # CONFIG_KERNEL_MODE_NEON is not set +# end of Floating point emulation # # Power management options @@ -532,20 +556,25 @@ CONFIG_CPU_PM=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARM_CPU_SUSPEND=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y +# end of Power management options # # Firmware Drivers # -CONFIG_ARM_PSCI_FW=y -# CONFIG_ARM_PSCI_CHECKER is not set # CONFIG_FIRMWARE_MEMMAP is not set # CONFIG_FW_CFG_SYSFS is not set +# CONFIG_TRUSTED_FOUNDATIONS is not set CONFIG_HAVE_ARM_SMCCC=y +CONFIG_ARM_PSCI_FW=y +# CONFIG_ARM_PSCI_CHECKER is not set # CONFIG_GOOGLE_FIRMWARE is not set # # Tegra firmware driver # +# end of Tegra firmware driver +# end of Firmware Drivers + CONFIG_ARM_CRYPTO=y CONFIG_CRYPTO_SHA1_ARM=y CONFIG_CRYPTO_SHA256_ARM=y @@ -570,6 +599,7 @@ CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_GENERIC_SMP_IDLE_THREAD=y CONFIG_GENERIC_IDLE_POLL_SETUP=y CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_KEEPINITRD=y CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y CONFIG_ARCH_32BIT_OFF_T=y @@ -608,14 +638,27 @@ CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y CONFIG_STRICT_MODULE_RWX=y CONFIG_ARCH_HAS_PHYS_TO_DMA=y CONFIG_REFCOUNT_FULL=y +# CONFIG_LOCK_EVENT_COUNTS is not set # # GCOV-based kernel profiling # # CONFIG_GCOV_KERNEL is not set CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y -CONFIG_PLUGIN_HOSTCC="" +# end of GCOV-based kernel profiling + CONFIG_HAVE_GCC_PLUGINS=y +CONFIG_GCC_PLUGINS=y + +# +# GCC plugins +# +# CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set +# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set +# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set +# end of GCC plugins +# end of General architecture-dependent options + CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULES=y @@ -629,7 +672,6 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_TRIM_UNUSED_KSYMS is not set CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y -CONFIG_LBDAF=y CONFIG_BLK_SCSI_REQUEST=y CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_BSGLIB=y @@ -667,6 +709,8 @@ CONFIG_LDM_PARTITION=y CONFIG_EFI_PARTITION=y # CONFIG_SYSV68_PARTITION is not set # CONFIG_CMDLINE_PARTITION is not set +# end of Partition Types + CONFIG_BLK_PM=y # @@ -675,6 +719,8 @@ CONFIG_BLK_PM=y CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y # CONFIG_IOSCHED_BFQ is not set +# end of IO Schedulers + CONFIG_ASN1=y CONFIG_INLINE_SPIN_UNLOCK_IRQ=y CONFIG_INLINE_READ_UNLOCK=y @@ -698,16 +744,19 @@ CONFIG_BINFMT_SCRIPT=y # CONFIG_BINFMT_FLAT is not set # CONFIG_BINFMT_MISC is not set CONFIG_COREDUMP=y +# end of Executable file formats # # Memory Management options # CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_ARCH_KEEP_MEMBLOCK=y CONFIG_MEMORY_ISOLATION=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_COMPACTION=y CONFIG_MIGRATION=y +CONFIG_CONTIG_ALLOC=y CONFIG_BOUNCE=y # CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -726,6 +775,8 @@ CONFIG_GENERIC_EARLY_IOREMAP=y CONFIG_FRAME_VECTOR=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_BENCHMARK is not set +# end of Memory Management options + CONFIG_NET=y CONFIG_NET_INGRESS=y CONFIG_SKB_EXTENSIONS=y @@ -762,6 +813,7 @@ CONFIG_IP_MROUTE=y # CONFIG_IP_PIMSM_V1 is not set # CONFIG_IP_PIMSM_V2 is not set # CONFIG_SYN_COOKIES is not set +# CONFIG_NET_IPVTI is not set CONFIG_NET_UDP_TUNNEL=m # CONFIG_NET_FOU is not set # CONFIG_NET_FOU_IP_TUNNELS is not set @@ -770,9 +822,6 @@ CONFIG_INET_ESP=m # CONFIG_INET_ESP_OFFLOAD is not set # CONFIG_INET_IPCOMP is not set CONFIG_INET_TUNNEL=m -CONFIG_INET_XFRM_MODE_TRANSPORT=m -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set # CONFIG_INET_DIAG is not set # CONFIG_TCP_CONG_ADVANCED is not set CONFIG_TCP_CONG_CUBIC=y @@ -786,10 +835,6 @@ CONFIG_IPV6=y # CONFIG_INET6_IPCOMP is not set # CONFIG_IPV6_MIP6 is not set # CONFIG_IPV6_ILA is not set -CONFIG_INET6_XFRM_MODE_TRANSPORT=y -CONFIG_INET6_XFRM_MODE_TUNNEL=y -CONFIG_INET6_XFRM_MODE_BEET=y -# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set # CONFIG_IPV6_VTI is not set CONFIG_IPV6_SIT=m # CONFIG_IPV6_SIT_6RD is not set @@ -840,7 +885,6 @@ CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_TFTP=m CONFIG_NF_CT_NETLINK=m CONFIG_NF_NAT=m -CONFIG_NF_NAT_NEEDED=y CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_TFTP=m CONFIG_NF_NAT_REDIRECT=y @@ -870,6 +914,7 @@ CONFIG_NETFILTER_XT_NAT=m # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set # CONFIG_NETFILTER_XT_TARGET_RATEEST is not set CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m # CONFIG_NETFILTER_XT_TARGET_TEE is not set # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set @@ -922,6 +967,8 @@ CONFIG_NETFILTER_XT_MATCH_IPVS=m # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set # CONFIG_NETFILTER_XT_MATCH_TIME is not set # CONFIG_NETFILTER_XT_MATCH_U32 is not set +# end of Core Netfilter Configuration + # CONFIG_IP_SET is not set CONFIG_IP_VS=m # CONFIG_IP_VS_IPV6 is not set @@ -994,6 +1041,7 @@ CONFIG_IP_NF_TARGET_REDIRECT=m # CONFIG_IP_NF_MANGLE is not set # CONFIG_IP_NF_RAW is not set # CONFIG_IP_NF_ARPTABLES is not set +# end of IP: Netfilter Configuration # # IPv6: Netfilter Configuration @@ -1004,6 +1052,8 @@ CONFIG_IP_NF_TARGET_REDIRECT=m # CONFIG_NF_REJECT_IPV6 is not set # CONFIG_NF_LOG_IPV6 is not set # CONFIG_IP6_NF_IPTABLES is not set +# end of IPv6: Netfilter Configuration + CONFIG_NF_DEFRAG_IPV6=m # CONFIG_BRIDGE_NF_EBTABLES is not set # CONFIG_BPFILTER is not set @@ -1111,6 +1161,9 @@ CONFIG_NET_FLOW_LIMIT=y # Network testing # # CONFIG_NET_PKTGEN is not set +# end of Network testing +# end of Networking options + # CONFIG_HAMRADIO is not set CONFIG_CAN=y CONFIG_CAN_RAW=y @@ -1142,6 +1195,7 @@ CONFIG_CAN_CALC_BITTIMING=y # # CONFIG_CAN_HI311X is not set # CONFIG_CAN_MCP251X is not set +# end of CAN SPI interfaces # # CAN USB interfaces @@ -1154,7 +1208,11 @@ CONFIG_CAN_CALC_BITTIMING=y # CONFIG_CAN_MCBA_USB is not set # CONFIG_CAN_PEAK_USB is not set # CONFIG_CAN_UCAN is not set +# end of CAN USB interfaces + # CONFIG_CAN_DEBUG_DEVICES is not set +# end of CAN Device Drivers + CONFIG_BT=m CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m @@ -1201,7 +1259,10 @@ CONFIG_BT_HCIVHCI=m CONFIG_BT_MRVL=m CONFIG_BT_MRVL_SDIO=m CONFIG_BT_ATH3K=m +# CONFIG_BT_MTKSDIO is not set CONFIG_BT_MTKUART=m +# end of Bluetooth device drivers + # CONFIG_AF_RXRPC is not set # CONFIG_AF_KCM is not set CONFIG_WIRELESS=y @@ -1241,7 +1302,6 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 # CONFIG_LWTUNNEL is not set CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y -# CONFIG_NET_DEVLINK is not set # CONFIG_FAILOVER is not set CONFIG_HAVE_EBPF_JIT=y @@ -1268,6 +1328,8 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y CONFIG_EXTRA_FIRMWARE="" # CONFIG_FW_LOADER_USER_HELPER is not set +# end of Firmware loader + CONFIG_WANT_DEV_COREDUMP=y CONFIG_ALLOW_DEV_COREDUMP=y CONFIG_DEV_COREDUMP=y @@ -1284,6 +1346,7 @@ CONFIG_REGMAP_IRQ=y CONFIG_DMA_SHARED_BUFFER=y # CONFIG_DMA_FENCE_TRACE is not set CONFIG_GENERIC_ARCH_TOPOLOGY=y +# end of Generic Driver Options # # Bus devices @@ -1296,6 +1359,8 @@ CONFIG_ARM_CCI400_PORT_CTRL=y CONFIG_SUN50I_DE2_BUS=y CONFIG_SUNXI_RSB=y # CONFIG_VEXPRESS_CONFIG is not set +# end of Bus devices + # CONFIG_CONNECTOR is not set # CONFIG_GNSS is not set # CONFIG_MTD is not set @@ -1334,6 +1399,7 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 # # CONFIG_NVME_FC is not set # CONFIG_NVME_TARGET is not set +# end of NVME Support # # Misc devices @@ -1367,11 +1433,14 @@ CONFIG_EEPROM_93CX6=m # CONFIG_EEPROM_93XX46 is not set # CONFIG_EEPROM_IDT_89HPESX is not set # CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support # # Texas Instruments shared transport line discipline # # CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + # CONFIG_SENSORS_LIS3_SPI is not set # CONFIG_SENSORS_LIS3_I2C is not set # CONFIG_ALTERA_STAPL is not set @@ -1412,8 +1481,11 @@ CONFIG_EEPROM_93CX6=m # # VOP Driver # +# end of Intel MIC & related support + # CONFIG_ECHO is not set # CONFIG_MISC_RTSX_USB is not set +# end of Misc devices # # SCSI device support @@ -1446,12 +1518,16 @@ CONFIG_SCSI_CONSTANTS=y # CONFIG_SCSI_SAS_ATTRS is not set # CONFIG_SCSI_SAS_LIBSAS is not set # CONFIG_SCSI_SRP_ATTRS is not set +# end of SCSI Transports + CONFIG_SCSI_LOWLEVEL=y # CONFIG_ISCSI_TCP is not set # CONFIG_ISCSI_BOOT_SYSFS is not set # CONFIG_SCSI_UFSHCD is not set # CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DH is not set +# end of SCSI device support + CONFIG_ATA=y CONFIG_ATA_VERBOSE_ERROR=y CONFIG_SATA_PMP=y @@ -1509,6 +1585,7 @@ CONFIG_DM_THIN_PROVISIONING=m # CONFIG_DM_ZERO is not set # CONFIG_DM_MULTIPATH is not set # CONFIG_DM_DELAY is not set +# CONFIG_DM_DUST is not set # CONFIG_DM_UEVENT is not set # CONFIG_DM_FLAKEY is not set # CONFIG_DM_VERITY is not set @@ -1548,6 +1625,8 @@ CONFIG_VETH=m # # Distributed Switch Architecture drivers # +# end of Distributed Switch Architecture drivers + CONFIG_ETHERNET=y CONFIG_NET_VENDOR_ALACRITECH=y CONFIG_NET_VENDOR_ALLWINNER=y @@ -1630,7 +1709,7 @@ CONFIG_SWPHY=y # # CONFIG_AMD_PHY is not set # CONFIG_AQUANTIA_PHY is not set -# CONFIG_ASIX_PHY is not set +# CONFIG_AX88796B_PHY is not set # CONFIG_AT803X_PHY is not set # CONFIG_BCM7XXX_PHY is not set # CONFIG_BCM87XX_PHY is not set @@ -1826,6 +1905,7 @@ CONFIG_RTL8187_LEDS=y CONFIG_RTL_CARDS=m # CONFIG_RTL8192CU is not set # CONFIG_RTL8XXXU is not set +# CONFIG_RTW88 is not set CONFIG_WLAN_VENDOR_RSI=y # CONFIG_RSI_91X is not set CONFIG_WLAN_VENDOR_ST=y @@ -1879,6 +1959,7 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_ADP5588 is not set # CONFIG_KEYBOARD_ADP5589 is not set CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_QT1050 is not set # CONFIG_KEYBOARD_QT1070 is not set # CONFIG_KEYBOARD_QT2160 is not set # CONFIG_KEYBOARD_DLINK_DIR685 is not set @@ -1918,6 +1999,7 @@ CONFIG_INPUT_MISC=y # CONFIG_INPUT_GP2A is not set # CONFIG_INPUT_GPIO_BEEPER is not set # CONFIG_INPUT_GPIO_DECODER is not set +# CONFIG_INPUT_GPIO_VIBRA is not set # CONFIG_INPUT_ATI_REMOTE2 is not set # CONFIG_INPUT_KEYSPAN_REMOTE is not set # CONFIG_INPUT_KXTJ9 is not set @@ -1950,11 +2032,12 @@ CONFIG_SERIO_LIBPS2=y # CONFIG_SERIO_PS2MULT is not set # CONFIG_SERIO_ARC_PS2 is not set # CONFIG_SERIO_APBPS2 is not set -# CONFIG_SERIO_OLPC_APSP is not set # CONFIG_SERIO_SUN4I_PS2 is not set # CONFIG_SERIO_GPIO_PS2 is not set # CONFIG_USERIO is not set # CONFIG_GAMEPORT is not set +# end of Hardware I/O ports +# end of Input device support # # Character devices @@ -1972,6 +2055,7 @@ CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_SERIAL_NONSTANDARD is not set # CONFIG_N_GSM is not set # CONFIG_TRACE_SINK is not set +# CONFIG_NULL_TTY is not set CONFIG_LDISC_AUTOLOAD=y CONFIG_DEVMEM=y CONFIG_DEVKMEM=y @@ -2004,6 +2088,7 @@ CONFIG_SERIAL_OF_PLATFORM=y # CONFIG_SERIAL_UARTLITE is not set CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_SIFIVE is not set # CONFIG_SERIAL_SCCNXP is not set # CONFIG_SERIAL_SC16IS7XX is not set # CONFIG_SERIAL_BCM63XX is not set @@ -2015,6 +2100,8 @@ CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set # CONFIG_SERIAL_ST_ASC is not set +# end of Serial drivers + CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_TTY_PRINTK is not set @@ -2024,6 +2111,7 @@ CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_RAW_DRIVER is not set # CONFIG_TCG_TPM is not set # CONFIG_XILLYBUS is not set +# end of Character devices # # I2C support @@ -2047,6 +2135,8 @@ CONFIG_I2C_MUX=y # CONFIG_I2C_MUX_REG is not set # CONFIG_I2C_DEMUX_PINCTRL is not set # CONFIG_I2C_MUX_MLXCPLD is not set +# end of Multiplexer I2C Chip support + CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_ALGOBIT=y @@ -2080,11 +2170,15 @@ CONFIG_I2C_MV64XXX=y # # Other I2C/SMBus bus drivers # +# end of I2C Hardware Bus support + # CONFIG_I2C_STUB is not set # CONFIG_I2C_SLAVE is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + # CONFIG_I3C is not set CONFIG_SPI=y # CONFIG_SPI_DEBUG is not set @@ -2144,6 +2238,8 @@ CONFIG_PTP_1588_CLOCK=y # # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # +# end of PTP clock support + CONFIG_PINCTRL=y CONFIG_PINMUX=y CONFIG_PINCONF=y @@ -2154,9 +2250,13 @@ CONFIG_GENERIC_PINCONF=y # CONFIG_PINCTRL_MCP23S08 is not set # CONFIG_PINCTRL_SINGLE is not set # CONFIG_PINCTRL_SX150X is not set +# CONFIG_PINCTRL_STMFX is not set # CONFIG_PINCTRL_OCELOT is not set CONFIG_PINCTRL_SUNXI=y CONFIG_PINCTRL_SUN4I_A10=y +CONFIG_PINCTRL_SUN5I=y +CONFIG_PINCTRL_SUN6I_A31=y +CONFIG_PINCTRL_SUN6I_A31_R=y CONFIG_PINCTRL_SUN8I_A23=y CONFIG_PINCTRL_SUN8I_A33=y CONFIG_PINCTRL_SUN8I_A83T=y @@ -2165,6 +2265,13 @@ CONFIG_PINCTRL_SUN8I_A23_R=y CONFIG_PINCTRL_SUN8I_H3=y CONFIG_PINCTRL_SUN8I_H3_R=y CONFIG_PINCTRL_SUN8I_V3S=y +CONFIG_PINCTRL_SUN9I_A80=y +CONFIG_PINCTRL_SUN9I_A80_R=y +# CONFIG_PINCTRL_SUN50I_A64 is not set +# CONFIG_PINCTRL_SUN50I_A64_R is not set +# CONFIG_PINCTRL_SUN50I_H5 is not set +# CONFIG_PINCTRL_SUN50I_H6 is not set +# CONFIG_PINCTRL_SUN50I_H6_R is not set CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y CONFIG_GPIOLIB=y CONFIG_GPIOLIB_FASTPATH_LIMIT=512 @@ -2184,13 +2291,13 @@ CONFIG_GPIO_SYSFS=y # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_HLWD is not set # CONFIG_GPIO_MB86S7X is not set -# CONFIG_GPIO_MOCKUP is not set # CONFIG_GPIO_MPC8XXX is not set # CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_XILINX is not set # CONFIG_GPIO_ZEVIO is not set # CONFIG_GPIO_AMD_FCH is not set +# end of Memory mapped GPIO drivers # # I2C GPIO expanders @@ -2203,11 +2310,13 @@ CONFIG_GPIO_SYSFS=y # CONFIG_GPIO_PCA953X is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_TPIC2810 is not set +# end of I2C GPIO expanders # # MFD GPIO expanders # # CONFIG_HTC_EGPIO is not set +# end of MFD GPIO expanders # # SPI GPIO expanders @@ -2218,10 +2327,14 @@ CONFIG_GPIO_SYSFS=y # CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_PISOSR is not set # CONFIG_GPIO_XRA1403 is not set +# end of SPI GPIO expanders # # USB GPIO expanders # +# end of USB GPIO expanders + +# CONFIG_GPIO_MOCKUP is not set # CONFIG_W1 is not set # CONFIG_POWER_AVS is not set # CONFIG_POWER_RESET is not set @@ -2248,7 +2361,7 @@ CONFIG_POWER_SUPPLY=y # CONFIG_CHARGER_LP8727 is not set # CONFIG_CHARGER_GPIO is not set # CONFIG_CHARGER_MANAGER is not set -# CONFIG_CHARGER_LTC3651 is not set +# CONFIG_CHARGER_LT3651 is not set # CONFIG_CHARGER_DETECTOR_MAX14656 is not set # CONFIG_CHARGER_BQ2415X is not set # CONFIG_CHARGER_BQ24190 is not set @@ -2258,6 +2371,7 @@ CONFIG_POWER_SUPPLY=y # CONFIG_CHARGER_SMB347 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set # CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_UCS1002 is not set CONFIG_HWMON=y # CONFIG_HWMON_DEBUG_CHIP is not set @@ -2410,6 +2524,7 @@ CONFIG_CPU_THERMAL=y CONFIG_CLOCK_THERMAL=y CONFIG_DEVFREQ_THERMAL=y # CONFIG_THERMAL_EMULATION is not set +# CONFIG_THERMAL_MMIO is not set # CONFIG_QORIQ_THERMAL is not set CONFIG_GENERIC_ADC_THERMAL=y CONFIG_WATCHDOG=y @@ -2418,6 +2533,11 @@ CONFIG_WATCHDOG_CORE=y CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y # CONFIG_WATCHDOG_SYSFS is not set +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set + # # Watchdog Device Drivers # @@ -2430,17 +2550,13 @@ CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y # CONFIG_DW_WATCHDOG is not set CONFIG_SUNXI_WATCHDOG=y # CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_IMX_SC_WDT is not set # CONFIG_MEN_A21_WDT is not set # # USB-based Watchdog Cards # # CONFIG_USBPCWATCHDOG is not set - -# -# Watchdog Pretimeout Governors -# -# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set CONFIG_SSB_POSSIBLE=y CONFIG_SSB=m CONFIG_SSB_BLOCKIO=y @@ -2495,6 +2611,7 @@ CONFIG_MFD_AXP20X_RSB=y # CONFIG_MFD_88PM860X is not set # CONFIG_MFD_MAX14577 is not set # CONFIG_MFD_MAX77620 is not set +# CONFIG_MFD_MAX77650 is not set # CONFIG_MFD_MAX77686 is not set # CONFIG_MFD_MAX77693 is not set # CONFIG_MFD_MAX77843 is not set @@ -2561,7 +2678,10 @@ CONFIG_MFD_SYSCON=y # CONFIG_MFD_WM8994 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set # CONFIG_RAVE_SP_CORE is not set +# end of Multifunction device drivers + CONFIG_REGULATOR=y # CONFIG_REGULATOR_DEBUG is not set CONFIG_REGULATOR_FIXED_VOLTAGE=y @@ -2656,7 +2776,7 @@ CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CEC_RC is not set # CONFIG_CEC_PIN_ERROR_INJ is not set CONFIG_MEDIA_CONTROLLER=y -# CONFIG_MEDIA_CONTROLLER_DVB is not set +CONFIG_MEDIA_CONTROLLER_DVB=y CONFIG_MEDIA_CONTROLLER_REQUEST_API=y CONFIG_VIDEO_DEV=y CONFIG_VIDEO_V4L2_SUBDEV_API=y @@ -2895,6 +3015,10 @@ CONFIG_VIDEO_CX25840=m # CONFIG_VIDEO_OV7640=m +# +# Lens drivers +# + # # Flash devices # @@ -2919,6 +3043,8 @@ CONFIG_VIDEO_OV7640=m # Media SPI Adapters # # CONFIG_CXD2880_SPI_DRV is not set +# end of Media SPI Adapters + CONFIG_MEDIA_TUNER=y CONFIG_MEDIA_TUNER_SIMPLE=y CONFIG_MEDIA_TUNER_TDA18250=m @@ -3097,6 +3223,7 @@ CONFIG_DRM_KMS_CMA_HELPER=y # CONFIG_DRM_I2C_SIL164 is not set # CONFIG_DRM_I2C_NXP_TDA998X is not set # CONFIG_DRM_I2C_NXP_TDA9950 is not set +# end of I2C encoder or helper chips # # ARM devices @@ -3104,14 +3231,13 @@ CONFIG_DRM_KMS_CMA_HELPER=y # CONFIG_DRM_HDLCD is not set # CONFIG_DRM_MALI_DISPLAY is not set # CONFIG_DRM_KOMEDA is not set +# end of ARM devices # # ACP (Audio CoProcessor) Configuration # +# end of ACP (Audio CoProcessor) Configuration -# -# AMD Library routines -# # CONFIG_DRM_VGEM is not set # CONFIG_DRM_VKMS is not set # CONFIG_DRM_EXYNOS is not set @@ -3145,6 +3271,8 @@ CONFIG_DRM_PANEL=y # CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# end of Display Panels + CONFIG_DRM_BRIDGE=y CONFIG_DRM_PANEL_BRIDGE=y @@ -3171,6 +3299,8 @@ CONFIG_DRM_DW_HDMI=y # CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set CONFIG_DRM_DW_HDMI_I2S_AUDIO=y CONFIG_DRM_DW_HDMI_CEC=y +# end of Display Interface Bridges + # CONFIG_DRM_STI is not set # CONFIG_DRM_ETNAVIV is not set # CONFIG_DRM_ARCPGU is not set @@ -3178,6 +3308,8 @@ CONFIG_DRM_DW_HDMI_CEC=y # CONFIG_DRM_TINYDRM is not set # CONFIG_DRM_PL111 is not set # CONFIG_DRM_TVE200 is not set +# CONFIG_DRM_LIMA is not set +# CONFIG_DRM_PANFROST is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y @@ -3212,7 +3344,15 @@ CONFIG_FB_DEFERRED_IO=y # CONFIG_FB_METRONOME is not set CONFIG_FB_SIMPLE=y # CONFIG_FB_SSD1307 is not set -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +# end of Backlight & LCD device support + CONFIG_VIDEOMODE_HELPERS=y CONFIG_HDMI=y @@ -3224,7 +3364,11 @@ CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set # CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set +# end of Console display driver support + # CONFIG_LOGO is not set +# end of Graphics support + CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_TIMER=y @@ -3256,11 +3400,14 @@ CONFIG_SND_DRIVERS=y # # HD-Audio # +# end of HD-Audio + CONFIG_SND_HDA_PREALLOC_SIZE=64 CONFIG_SND_ARM=y CONFIG_SND_SPI=y CONFIG_SND_USB=y CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y # CONFIG_SND_USB_UA101 is not set # CONFIG_SND_USB_CAIAQ is not set # CONFIG_SND_USB_6FIRE is not set @@ -3285,18 +3432,23 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y # # CONFIG_SND_SOC_FSL_ASRC is not set # CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_AUDMIX is not set # CONFIG_SND_SOC_FSL_SSI is not set # CONFIG_SND_SOC_FSL_SPDIF is not set # CONFIG_SND_SOC_FSL_ESAI is not set # CONFIG_SND_SOC_FSL_MICFIL is not set # CONFIG_SND_SOC_IMX_AUDMUX is not set +# end of SoC Audio for Freescale CPUs + # CONFIG_SND_I2S_HI6210_I2S is not set # CONFIG_SND_SOC_IMG is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set +# CONFIG_SND_SOC_SOF_TOPLEVEL is not set # # STMicroelectronics STM32 SOC audio support # +# end of STMicroelectronics STM32 SOC audio support # # Allwinner SoC Audio support @@ -3307,6 +3459,8 @@ CONFIG_SND_SUN8I_CODEC_ANALOG=y CONFIG_SND_SUN4I_I2S=y CONFIG_SND_SUN4I_SPDIF=y CONFIG_SND_SUN8I_ADDA_PR_REGMAP=y +# end of Allwinner SoC Audio support + # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set @@ -3442,6 +3596,8 @@ CONFIG_SND_SOC_HDMI_CODEC=y # CONFIG_SND_SOC_NAU8822 is not set # CONFIG_SND_SOC_NAU8824 is not set # CONFIG_SND_SOC_TPA6130A2 is not set +# end of CODEC drivers + CONFIG_SND_SIMPLE_CARD_UTILS=y CONFIG_SND_SIMPLE_CARD=y CONFIG_SND_AUDIO_GRAPH_CARD=y @@ -3472,6 +3628,7 @@ CONFIG_HID_CHERRY=y CONFIG_HID_CHICONY=y # CONFIG_HID_CORSAIR is not set # CONFIG_HID_COUGAR is not set +# CONFIG_HID_MACALLY is not set # CONFIG_HID_PRODIKEYS is not set # CONFIG_HID_CMEDIA is not set CONFIG_HID_CYPRESS=y @@ -3546,6 +3703,7 @@ CONFIG_HID_STEAM=m # CONFIG_HID_ZYDACRON is not set # CONFIG_HID_SENSOR_HUB is not set # CONFIG_HID_ALPS is not set +# end of Special HID drivers # # USB HID support @@ -3553,11 +3711,15 @@ CONFIG_HID_STEAM=m CONFIG_USB_HID=y # CONFIG_HID_PID is not set # CONFIG_USB_HIDDEV is not set +# end of USB HID support # # I2C HID support # # CONFIG_I2C_HID is not set +# end of I2C HID support +# end of HID support + CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SUPPORT=y CONFIG_USB_COMMON=y @@ -3752,6 +3914,8 @@ CONFIG_NOP_USB_XCEIV=y # CONFIG_USB_GPIO_VBUS is not set # CONFIG_USB_ISP1301 is not set # CONFIG_USB_ULPI is not set +# end of USB Physical Layer drivers + CONFIG_USB_GADGET=y # CONFIG_USB_GADGET_DEBUG is not set # CONFIG_USB_GADGET_DEBUG_FILES is not set @@ -3775,6 +3939,8 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 # CONFIG_USB_NET2272 is not set # CONFIG_USB_GADGET_XILINX is not set # CONFIG_USB_DUMMY_HCD is not set +# end of USB Peripheral Controller + # CONFIG_USB_CONFIGFS is not set # CONFIG_TYPEC is not set # CONFIG_USB_ROLE_SWITCH is not set @@ -3817,6 +3983,7 @@ CONFIG_LEDS_CLASS=y # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_CR0014114 is not set # CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3532 is not set # CONFIG_LEDS_LM3642 is not set # CONFIG_LEDS_LM3692X is not set # CONFIG_LEDS_PCA9532 is not set @@ -4018,6 +4185,8 @@ CONFIG_DMA_SUN6I=y CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set # CONFIG_UDMABUF is not set +# end of DMABUF options + # CONFIG_AUXDISPLAY is not set # CONFIG_UIO is not set # CONFIG_VIRT_DRIVERS is not set @@ -4026,6 +4195,8 @@ CONFIG_SYNC_FILE=y # # Microsoft Hyper-V guest support # +# end of Microsoft Hyper-V guest support + CONFIG_STAGING=y # CONFIG_PRISM2_USB is not set # CONFIG_COMEDI is not set @@ -4044,51 +4215,61 @@ CONFIG_STAGING=y # # CONFIG_ADIS16203 is not set # CONFIG_ADIS16240 is not set +# end of Accelerometers # # Analog to digital converters # -# CONFIG_AD7780 is not set # CONFIG_AD7816 is not set # CONFIG_AD7192 is not set # CONFIG_AD7280 is not set +# end of Analog to digital converters # # Analog digital bi-direction converters # # CONFIG_ADT7316 is not set +# end of Analog digital bi-direction converters # # Capacitance to digital converters # # CONFIG_AD7150 is not set # CONFIG_AD7746 is not set +# end of Capacitance to digital converters # # Direct Digital Synthesis # # CONFIG_AD9832 is not set # CONFIG_AD9834 is not set +# end of Direct Digital Synthesis # # Network Analyzer, Impedance Converters # # CONFIG_AD5933 is not set +# end of Network Analyzer, Impedance Converters # # Active energy metering IC # # CONFIG_ADE7854 is not set +# end of Active energy metering IC # # Resolver to digital converters # # CONFIG_AD2S1210 is not set +# end of Resolver to digital converters +# end of IIO staging drivers # # Speakup console speech # # CONFIG_SPEAKUP is not set +# end of Speakup console speech + CONFIG_STAGING_MEDIA=y CONFIG_VIDEO_SUNXI=y CONFIG_VIDEO_SUNXI_CEDRUS=y @@ -4100,6 +4281,8 @@ CONFIG_VIDEO_SUNXI_CEDRUS=y # # Android # +# end of Android + # CONFIG_STAGING_BOARD is not set # CONFIG_LTE_GDM724X is not set # CONFIG_GS_FPGABOOT is not set @@ -4116,8 +4299,11 @@ CONFIG_VIDEO_SUNXI_CEDRUS=y # # Gasket devices # +# end of Gasket devices + # CONFIG_XIL_AXIS_FIFO is not set # CONFIG_EROFS_FS is not set +# CONFIG_FIELDBUS_DEV is not set # CONFIG_GOLDFISH is not set # CONFIG_CHROME_PLATFORMS is not set # CONFIG_MELLANOX_PLATFORM is not set @@ -4141,6 +4327,7 @@ CONFIG_COMMON_CLK=y # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_CLK_SUNXI is not set CONFIG_SUNXI_CCU=y CONFIG_SUN8I_A23_CCU=y CONFIG_SUN8I_A33_CCU=y @@ -4150,6 +4337,8 @@ CONFIG_SUN8I_V3S_CCU=y CONFIG_SUN8I_DE2_CCU=y # CONFIG_SUN8I_R40_CCU is not set CONFIG_SUN8I_R_CCU=y +# end of Common Clock Framework + # CONFIG_HWSPINLOCK is not set # @@ -4161,7 +4350,8 @@ CONFIG_CLKSRC_MMIO=y CONFIG_SUN4I_TIMER=y CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y -# CONFIG_ARM_TIMER_SP804 is not set +# end of Clock Source drivers + # CONFIG_MAILBOX is not set # CONFIG_IOMMU_SUPPORT is not set @@ -4169,11 +4359,14 @@ CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y # Remoteproc drivers # # CONFIG_REMOTEPROC is not set +# end of Remoteproc drivers # # Rpmsg drivers # # CONFIG_RPMSG_VIRTIO is not set +# end of Rpmsg drivers + # CONFIG_SOUNDWIRE is not set # @@ -4183,23 +4376,41 @@ CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y # # Amlogic SoC drivers # +# end of Amlogic SoC drivers + +# +# Aspeed SoC drivers +# +# end of Aspeed SoC drivers # # Broadcom SoC drivers # # CONFIG_SOC_BRCMSTB is not set +# end of Broadcom SoC drivers # # NXP/Freescale QorIQ SoC drivers # +# end of NXP/Freescale QorIQ SoC drivers # # i.MX SoC drivers # +# end of i.MX SoC drivers + +# +# IXP4xx SoC drivers +# +# CONFIG_IXP4XX_QMGR is not set +# CONFIG_IXP4XX_NPE is not set +# end of IXP4xx SoC drivers # # Qualcomm SoC drivers # +# end of Qualcomm SoC drivers + CONFIG_SUNXI_SRAM=y # CONFIG_SOC_TI is not set @@ -4207,6 +4418,9 @@ CONFIG_SUNXI_SRAM=y # Xilinx SoC drivers # # CONFIG_XILINX_VCU is not set +# end of Xilinx SoC drivers +# end of SOC (System On Chip) specific Drivers + CONFIG_PM_DEVFREQ=y # @@ -4278,6 +4492,7 @@ CONFIG_IIO_SW_TRIGGER=y # CONFIG_SCA3000 is not set # CONFIG_STK8312 is not set # CONFIG_STK8BA50 is not set +# end of Accelerometers # # Analog to digital converters @@ -4291,6 +4506,7 @@ CONFIG_IIO_SW_TRIGGER=y # CONFIG_AD7606_IFACE_SPI is not set # CONFIG_AD7766 is not set # CONFIG_AD7768_1 is not set +# CONFIG_AD7780 is not set # CONFIG_AD7791 is not set # CONFIG_AD7793 is not set # CONFIG_AD7887 is not set @@ -4327,20 +4543,24 @@ CONFIG_SUN4I_GPADC=y # CONFIG_TI_ADC161S626 is not set # CONFIG_TI_ADS1015 is not set # CONFIG_TI_ADS7950 is not set +# CONFIG_TI_ADS8344 is not set # CONFIG_TI_ADS8688 is not set # CONFIG_TI_ADS124S08 is not set # CONFIG_TI_TLC4541 is not set # CONFIG_VF610_ADC is not set +# end of Analog to digital converters # # Analog Front Ends # # CONFIG_IIO_RESCALE is not set +# end of Analog Front Ends # # Amplifiers # # CONFIG_AD8366 is not set +# end of Amplifiers # # Chemical Sensors @@ -4353,19 +4573,18 @@ CONFIG_SUN4I_GPADC=y # CONFIG_SENSIRION_SGP30 is not set # CONFIG_SPS30 is not set # CONFIG_VZ89X is not set +# end of Chemical Sensors # # Hid Sensor IIO Common # +# end of Hid Sensor IIO Common # # SSP Sensor Common # # CONFIG_IIO_SSP_SENSORHUB is not set - -# -# Counters -# +# end of SSP Sensor Common # # Digital to analog converters @@ -4403,10 +4622,12 @@ CONFIG_SUN4I_GPADC=y # CONFIG_TI_DAC7311 is not set # CONFIG_TI_DAC7612 is not set # CONFIG_VF610_DAC is not set +# end of Digital to analog converters # # IIO dummy driver # +# end of IIO dummy driver # # Frequency Synthesizers DDS/PLL @@ -4416,11 +4637,14 @@ CONFIG_SUN4I_GPADC=y # Clock Generator/Distribution # # CONFIG_AD9523 is not set +# end of Clock Generator/Distribution # # Phase-Locked Loop (PLL) frequency synthesizers # # CONFIG_ADF4350 is not set +# end of Phase-Locked Loop (PLL) frequency synthesizers +# end of Frequency Synthesizers DDS/PLL # # Digital gyroscope sensors @@ -4431,9 +4655,11 @@ CONFIG_SUN4I_GPADC=y # CONFIG_ADIS16260 is not set # CONFIG_ADXRS450 is not set # CONFIG_BMG160 is not set +# CONFIG_FXAS21002C is not set # CONFIG_MPU3050_I2C is not set # CONFIG_IIO_ST_GYRO_3AXIS is not set # CONFIG_ITG3200 is not set +# end of Digital gyroscope sensors # # Health Sensors @@ -4446,6 +4672,8 @@ CONFIG_SUN4I_GPADC=y # CONFIG_AFE4404 is not set # CONFIG_MAX30100 is not set # CONFIG_MAX30102 is not set +# end of Heart Rate Monitors +# end of Health Sensors # # Humidity sensors @@ -4457,6 +4685,7 @@ CONFIG_SUN4I_GPADC=y # CONFIG_HTU21 is not set # CONFIG_SI7005 is not set # CONFIG_SI7020 is not set +# end of Humidity sensors # # Inertial measurement units @@ -4469,6 +4698,7 @@ CONFIG_SUN4I_GPADC=y # CONFIG_INV_MPU6050_I2C is not set # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IIO_ST_LSM6DSX is not set +# end of Inertial measurement units # # Light sensors @@ -4512,6 +4742,7 @@ CONFIG_SUN4I_GPADC=y # CONFIG_VEML6070 is not set # CONFIG_VL6180 is not set # CONFIG_ZOPT2201 is not set +# end of Light sensors # # Magnetometer sensors @@ -4528,15 +4759,18 @@ CONFIG_SUN4I_GPADC=y # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_RM3100_I2C is not set # CONFIG_SENSORS_RM3100_SPI is not set +# end of Magnetometer sensors # # Multiplexers # # CONFIG_IIO_MUX is not set +# end of Multiplexers # # Inclinometer sensors # +# end of Inclinometer sensors # # Digital potentiometers @@ -4550,11 +4784,13 @@ CONFIG_SUN4I_GPADC=y # CONFIG_MCP4531 is not set # CONFIG_MCP41010 is not set # CONFIG_TPL0102 is not set +# end of Digital potentiometers # # Digital potentiostats # # CONFIG_LMP91000 is not set +# end of Digital potentiostats # # Pressure sensors @@ -4571,28 +4807,33 @@ CONFIG_SUN4I_GPADC=y # CONFIG_T5403 is not set # CONFIG_HP206C is not set # CONFIG_ZPA2326 is not set +# end of Pressure sensors # # Lightning sensors # # CONFIG_AS3935 is not set +# end of Lightning sensors # # Proximity and distance sensors # # CONFIG_ISL29501 is not set # CONFIG_LIDAR_LITE_V2 is not set +# CONFIG_MB1232 is not set # CONFIG_RFD77402 is not set # CONFIG_SRF04 is not set # CONFIG_SX9500 is not set # CONFIG_SRF08 is not set # CONFIG_VL53L0X_I2C is not set +# end of Proximity and distance sensors # # Resolver to digital converters # # CONFIG_AD2S90 is not set # CONFIG_AD2S1200 is not set +# end of Resolver to digital converters # # Temperature sensors @@ -4604,6 +4845,9 @@ CONFIG_SUN4I_GPADC=y # CONFIG_TMP007 is not set # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set +# CONFIG_MAX31856 is not set +# end of Temperature sensors + CONFIG_PWM=y CONFIG_PWM_SYSFS=y # CONFIG_PWM_FSL_FTM is not set @@ -4616,6 +4860,8 @@ CONFIG_PWM_SUN4I=y CONFIG_IRQCHIP=y CONFIG_ARM_GIC=y CONFIG_ARM_GIC_MAX_NR=1 +# end of IRQ chip support + # CONFIG_IPACK_BUS is not set CONFIG_ARCH_HAS_RESET_CONTROLLER=y CONFIG_RESET_CONTROLLER=y @@ -4643,6 +4889,8 @@ CONFIG_PHY_SUN50I_USB3=y # CONFIG_PHY_CPCAP_USB is not set # CONFIG_PHY_MAPPHONE_MDM6600 is not set # CONFIG_PHY_OCELOT_SERDES is not set +# end of PHY Subsystem + # CONFIG_POWERCAP is not set # CONFIG_MCB is not set @@ -4652,14 +4900,19 @@ CONFIG_PHY_SUN50I_USB3=y # CONFIG_ARM_CCI_PMU is not set # CONFIG_ARM_CCN is not set CONFIG_ARM_PMU=y +# end of Performance monitor support + # CONFIG_RAS is not set # # Android # # CONFIG_ANDROID is not set +# end of Android + # CONFIG_DAX is not set CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y CONFIG_NVMEM_SUNXI_SID=y # @@ -4667,6 +4920,8 @@ CONFIG_NVMEM_SUNXI_SID=y # # CONFIG_STM is not set # CONFIG_INTEL_TH is not set +# end of HW tracing support + # CONFIG_FPGA is not set # CONFIG_FSI is not set # CONFIG_TEE is not set @@ -4674,6 +4929,8 @@ CONFIG_PM_OPP=y # CONFIG_SIOX is not set # CONFIG_SLIMBUS is not set # CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# end of Device Drivers # # File systems @@ -4744,6 +5001,7 @@ CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y # Caches # # CONFIG_FSCACHE is not set +# end of Caches # # CD-ROM/DVD Filesystems @@ -4752,6 +5010,7 @@ CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=y +# end of CD-ROM/DVD Filesystems # # DOS/FAT/NT Filesystems @@ -4763,6 +5022,7 @@ CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" # CONFIG_FAT_DEFAULT_UTF8 is not set # CONFIG_NTFS_FS is not set +# end of DOS/FAT/NT Filesystems # # Pseudo filesystems @@ -4778,6 +5038,8 @@ CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y CONFIG_MEMFD_CREATE=y CONFIG_CONFIGFS_FS=y +# end of Pseudo filesystems + CONFIG_MISC_FILESYSTEMS=y # CONFIG_ORANGEFS_FS is not set # CONFIG_ADFS_FS is not set @@ -4898,6 +5160,8 @@ CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_MAC_TURKISH is not set CONFIG_NLS_UTF8=y # CONFIG_DLM is not set +# CONFIG_UNICODE is not set +# end of File systems # # Security options @@ -4916,6 +5180,22 @@ CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y # CONFIG_STATIC_USERMODEHELPER is not set CONFIG_DEFAULT_SECURITY_DAC=y CONFIG_LSM="yama,loadpin,safesetid,integrity" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_INIT_STACK_NONE=y +# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set +# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set +# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is not set +# end of Memory initialization +# end of Kernel hardening options +# end of Security options + CONFIG_CRYPTO=y # @@ -4937,9 +5217,6 @@ CONFIG_CRYPTO_AKCIPHER=y CONFIG_CRYPTO_KPP2=y CONFIG_CRYPTO_KPP=m CONFIG_CRYPTO_ACOMP2=y -CONFIG_CRYPTO_RSA=y -# CONFIG_CRYPTO_DH is not set -CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y # CONFIG_CRYPTO_USER is not set @@ -4953,6 +5230,15 @@ CONFIG_CRYPTO_WORKQUEUE=y CONFIG_CRYPTO_AUTHENC=m # CONFIG_CRYPTO_TEST is not set +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +# CONFIG_CRYPTO_DH is not set +CONFIG_CRYPTO_ECC=m +CONFIG_CRYPTO_ECDH=m +# CONFIG_CRYPTO_ECRDSA is not set + # # Authenticated Encryption with Associated Data # @@ -5081,16 +5367,19 @@ CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SECONDARY_TRUSTED_KEYRING is not set # CONFIG_SYSTEM_BLACKLIST_KEYRING is not set +# end of Certificates for signature checking # # Library routines # +# CONFIG_PACKING is not set CONFIG_BITREVERSE=y CONFIG_HAVE_ARCH_BITREVERSE=y -CONFIG_RATIONAL=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_NET_UTILS=y +CONFIG_CORDIC=m +CONFIG_RATIONAL=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_CRC_CCITT=y @@ -5154,7 +5443,6 @@ CONFIG_GLOB=y # CONFIG_GLOB_SELFTEST is not set CONFIG_NLATTR=y CONFIG_CLZ_TAB=y -CONFIG_CORDIC=m # CONFIG_DDR is not set # CONFIG_IRQ_POLL is not set CONFIG_MPILIB=y @@ -5167,6 +5455,7 @@ CONFIG_FONT_8x16=y CONFIG_SG_POOL=y CONFIG_SBITMAP=y # CONFIG_STRING_SELFTEST is not set +# end of Library routines # # Kernel hacking @@ -5182,6 +5471,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_DYNAMIC_DEBUG is not set +# end of printk and dmesg options # # Compile-time checks and compiler options @@ -5194,13 +5484,17 @@ CONFIG_FRAME_WARN=1024 # CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set +# CONFIG_OPTIMIZE_INLINING is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# end of Compile-time checks and compiler options + CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y # # Memory Debugging @@ -5224,6 +5518,8 @@ CONFIG_DEBUG_MEMORY_INIT=y # CONFIG_DEBUG_HIGHMEM is not set CONFIG_CC_HAS_KASAN_GENERIC=y CONFIG_KASAN_STACK=1 +# end of Memory Debugging + CONFIG_ARCH_HAS_KCOV=y CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set @@ -5235,6 +5531,8 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_SOFTLOCKUP_DETECTOR is not set # CONFIG_DETECT_HUNG_TASK is not set # CONFIG_WQ_WATCHDOG is not set +# end of Debug Lockups and Hangs + # CONFIG_PANIC_ON_OOPS is not set CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 @@ -5259,12 +5557,14 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_LOCK_TORTURE_TEST is not set # CONFIG_WW_MUTEX_SELFTEST is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + # CONFIG_STACKTRACE is not set # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set # CONFIG_DEBUG_KOBJECT is not set # CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_DEBUG_LIST is not set -# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_PLIST is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set # CONFIG_DEBUG_CREDENTIALS is not set @@ -5277,6 +5577,8 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_RCU_CPU_STALL_TIMEOUT=21 # CONFIG_RCU_TRACE is not set # CONFIG_RCU_EQS_DEBUG is not set +# end of RCU Debugging + # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set @@ -5303,6 +5605,7 @@ CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_ATOMIC64_SELFTEST is not set # CONFIG_TEST_HEXDUMP is not set # CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_STRSCPY is not set # CONFIG_TEST_KSTRTOX is not set # CONFIG_TEST_PRINTF is not set # CONFIG_TEST_BITMAP is not set @@ -5345,3 +5648,4 @@ CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" # CONFIG_PID_IN_CONTEXTIDR is not set # CONFIG_CORESIGHT is not set +# end of Kernel hacking diff --git a/projects/Allwinner/patches/linux/0002-backport-from-5.2.patch b/projects/Allwinner/patches/linux/0002-backport-from-5.2.patch deleted file mode 100644 index cfeada910b..0000000000 --- a/projects/Allwinner/patches/linux/0002-backport-from-5.2.patch +++ /dev/null @@ -1,989 +0,0 @@ -From 2495f39ce1fa027aab0c3161c14f074295f81c71 Mon Sep 17 00:00:00 2001 -From: Dafna Hirschfeld -Date: Wed, 6 Mar 2019 16:13:40 -0500 -Subject: [PATCH] media: vicodec: Introducing stateless fwht defs and structs - -Add structs and definitions needed to implement stateless -decoder for fwht and add I/P-frames QP controls to the -public api. - -Signed-off-by: Dafna Hirschfeld -Signed-off-by: Hans Verkuil -Signed-off-by: Mauro Carvalho Chehab ---- - drivers/media/platform/vicodec/vicodec-core.c | 41 ++++++------------- - drivers/media/v4l2-core/v4l2-ctrls.c | 12 ++++++ - include/media/fwht-ctrls.h | 31 ++++++++++++++ - include/media/v4l2-ctrls.h | 5 ++- - include/uapi/linux/v4l2-controls.h | 4 ++ - include/uapi/linux/videodev2.h | 1 + - 6 files changed, 65 insertions(+), 29 deletions(-) - create mode 100644 include/media/fwht-ctrls.h - -diff --git a/drivers/media/platform/vicodec/vicodec-core.c b/drivers/media/platform/vicodec/vicodec-core.c -index b86985babdb1..a3a9d8ac4a33 100644 ---- a/drivers/media/platform/vicodec/vicodec-core.c -+++ b/drivers/media/platform/vicodec/vicodec-core.c -@@ -64,6 +64,10 @@ static const struct v4l2_fwht_pixfmt_info pixfmt_fwht = { - V4L2_PIX_FMT_FWHT, 0, 3, 1, 1, 1, 1, 1, 0, 1 - }; - -+static const struct v4l2_fwht_pixfmt_info pixfmt_stateless_fwht = { -+ V4L2_PIX_FMT_FWHT_STATELESS, 0, 3, 1, 1, 1, 1, 1, 0, 1 -+}; -+ - static void vicodec_dev_release(struct device *dev) - { - } -@@ -1524,10 +1528,6 @@ static int queue_init(void *priv, struct vb2_queue *src_vq, - return vb2_queue_init(dst_vq); - } - --#define VICODEC_CID_CUSTOM_BASE (V4L2_CID_MPEG_BASE | 0xf000) --#define VICODEC_CID_I_FRAME_QP (VICODEC_CID_CUSTOM_BASE + 0) --#define VICODEC_CID_P_FRAME_QP (VICODEC_CID_CUSTOM_BASE + 1) -- - static int vicodec_s_ctrl(struct v4l2_ctrl *ctrl) - { - struct vicodec_ctx *ctx = container_of(ctrl->handler, -@@ -1537,10 +1537,10 @@ static int vicodec_s_ctrl(struct v4l2_ctrl *ctrl) - case V4L2_CID_MPEG_VIDEO_GOP_SIZE: - ctx->state.gop_size = ctrl->val; - return 0; -- case VICODEC_CID_I_FRAME_QP: -+ case V4L2_CID_FWHT_I_FRAME_QP: - ctx->state.i_frame_qp = ctrl->val; - return 0; -- case VICODEC_CID_P_FRAME_QP: -+ case V4L2_CID_FWHT_P_FRAME_QP: - ctx->state.p_frame_qp = ctrl->val; - return 0; - } -@@ -1551,26 +1551,9 @@ static const struct v4l2_ctrl_ops vicodec_ctrl_ops = { - .s_ctrl = vicodec_s_ctrl, - }; - --static const struct v4l2_ctrl_config vicodec_ctrl_i_frame = { -- .ops = &vicodec_ctrl_ops, -- .id = VICODEC_CID_I_FRAME_QP, -- .name = "FWHT I-Frame QP Value", -- .type = V4L2_CTRL_TYPE_INTEGER, -- .min = 1, -- .max = 31, -- .def = 20, -- .step = 1, --}; -- --static const struct v4l2_ctrl_config vicodec_ctrl_p_frame = { -- .ops = &vicodec_ctrl_ops, -- .id = VICODEC_CID_P_FRAME_QP, -- .name = "FWHT P-Frame QP Value", -- .type = V4L2_CTRL_TYPE_INTEGER, -- .min = 1, -- .max = 31, -- .def = 20, -- .step = 1, -+static const struct v4l2_ctrl_config vicodec_ctrl_stateless_state = { -+ .id = V4L2_CID_MPEG_VIDEO_FWHT_PARAMS, -+ .elem_size = sizeof(struct v4l2_ctrl_fwht_params), - }; - - /* -@@ -1603,8 +1586,10 @@ static int vicodec_open(struct file *file) - v4l2_ctrl_handler_init(hdl, 4); - v4l2_ctrl_new_std(hdl, &vicodec_ctrl_ops, V4L2_CID_MPEG_VIDEO_GOP_SIZE, - 1, 16, 1, 10); -- v4l2_ctrl_new_custom(hdl, &vicodec_ctrl_i_frame, NULL); -- v4l2_ctrl_new_custom(hdl, &vicodec_ctrl_p_frame, NULL); -+ v4l2_ctrl_new_std(hdl, &vicodec_ctrl_ops, V4L2_CID_FWHT_I_FRAME_QP, -+ 1, 31, 1, 20); -+ v4l2_ctrl_new_std(hdl, &vicodec_ctrl_ops, V4L2_CID_FWHT_P_FRAME_QP, -+ 1, 31, 1, 20); - if (hdl->error) { - rc = hdl->error; - v4l2_ctrl_handler_free(hdl); -diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c -index 54d66dbc2a31..aed1c3a06500 100644 ---- a/drivers/media/v4l2-core/v4l2-ctrls.c -+++ b/drivers/media/v4l2-core/v4l2-ctrls.c -@@ -849,6 +849,9 @@ const char *v4l2_ctrl_get_name(u32 id) - case V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME: return "Force Key Frame"; - case V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS: return "MPEG-2 Slice Parameters"; - case V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION: return "MPEG-2 Quantization Matrices"; -+ case V4L2_CID_MPEG_VIDEO_FWHT_PARAMS: return "FWHT Stateless Parameters"; -+ case V4L2_CID_FWHT_I_FRAME_QP: return "FWHT I-Frame QP Value"; -+ case V4L2_CID_FWHT_P_FRAME_QP: return "FWHT P-Frame QP Value"; - - /* VPX controls */ - case V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS: return "VPX Number of Partitions"; -@@ -1303,6 +1306,9 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, - case V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION: - *type = V4L2_CTRL_TYPE_MPEG2_QUANTIZATION; - break; -+ case V4L2_CID_MPEG_VIDEO_FWHT_PARAMS: -+ *type = V4L2_CTRL_TYPE_FWHT_PARAMS; -+ break; - default: - *type = V4L2_CTRL_TYPE_INTEGER; - break; -@@ -1669,6 +1675,9 @@ static int std_validate(const struct v4l2_ctrl *ctrl, u32 idx, - case V4L2_CTRL_TYPE_MPEG2_QUANTIZATION: - return 0; - -+ case V4L2_CTRL_TYPE_FWHT_PARAMS: -+ return 0; -+ - default: - return -EINVAL; - } -@@ -2249,6 +2258,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(struct v4l2_ctrl_handler *hdl, - case V4L2_CTRL_TYPE_MPEG2_QUANTIZATION: - elem_size = sizeof(struct v4l2_ctrl_mpeg2_quantization); - break; -+ case V4L2_CTRL_TYPE_FWHT_PARAMS: -+ elem_size = sizeof(struct v4l2_ctrl_fwht_params); -+ break; - default: - if (type < V4L2_CTRL_COMPOUND_TYPES) - elem_size = sizeof(s32); -diff --git a/include/media/fwht-ctrls.h b/include/media/fwht-ctrls.h -new file mode 100644 -index 000000000000..615027410e47 ---- /dev/null -+++ b/include/media/fwht-ctrls.h -@@ -0,0 +1,31 @@ -+/* SPDX-License-Identifier: GPL-2.0 */ -+/* -+ * These are the FWHT state controls for use with stateless FWHT -+ * codec drivers. -+ * -+ * It turns out that these structs are not stable yet and will undergo -+ * more changes. So keep them private until they are stable and ready to -+ * become part of the official public API. -+ */ -+ -+#ifndef _FWHT_CTRLS_H_ -+#define _FWHT_CTRLS_H_ -+ -+#define V4L2_CTRL_TYPE_FWHT_PARAMS 0x0105 -+ -+#define V4L2_CID_MPEG_VIDEO_FWHT_PARAMS (V4L2_CID_MPEG_BASE + 292) -+ -+struct v4l2_ctrl_fwht_params { -+ __u64 backward_ref_ts; -+ __u32 version; -+ __u32 width; -+ __u32 height; -+ __u32 flags; -+ __u32 colorspace; -+ __u32 xfer_func; -+ __u32 ycbcr_enc; -+ __u32 quantization; -+}; -+ -+ -+#endif -diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h -index 200f8a66ecaa..bd621cec65a5 100644 ---- a/include/media/v4l2-ctrls.h -+++ b/include/media/v4l2-ctrls.h -@@ -23,10 +23,11 @@ - #include - - /* -- * Include the mpeg2 stateless codec compound control definitions. -+ * Include the mpeg2 and fwht stateless codec compound control definitions. - * This will move to the public headers once this API is fully stable. - */ - #include -+#include - - /* forward references */ - struct file; -@@ -49,6 +50,7 @@ struct poll_table_struct; - * @p_char: Pointer to a string. - * @p_mpeg2_slice_params: Pointer to a MPEG2 slice parameters structure. - * @p_mpeg2_quantization: Pointer to a MPEG2 quantization data structure. -+ * @p_fwht_params: Pointer to a FWHT stateless parameters structure. - * @p: Pointer to a compound value. - */ - union v4l2_ctrl_ptr { -@@ -60,6 +62,7 @@ union v4l2_ctrl_ptr { - char *p_char; - struct v4l2_ctrl_mpeg2_slice_params *p_mpeg2_slice_params; - struct v4l2_ctrl_mpeg2_quantization *p_mpeg2_quantization; -+ struct v4l2_ctrl_fwht_params *p_fwht_params; - void *p; - }; - -diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h -index 06479f2fb3ae..78816ec88751 100644 ---- a/include/uapi/linux/v4l2-controls.h -+++ b/include/uapi/linux/v4l2-controls.h -@@ -404,6 +404,10 @@ enum v4l2_mpeg_video_multi_slice_mode { - #define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228) - #define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229) - -+/* CIDs for the FWHT codec as used by the vicodec driver. */ -+#define V4L2_CID_FWHT_I_FRAME_QP (V4L2_CID_MPEG_BASE + 290) -+#define V4L2_CID_FWHT_P_FRAME_QP (V4L2_CID_MPEG_BASE + 291) -+ - #define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300) - #define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301) - #define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302) -diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h -index 1db220da3bcc..496e6453450c 100644 ---- a/include/uapi/linux/videodev2.h -+++ b/include/uapi/linux/videodev2.h -@@ -669,6 +669,7 @@ struct v4l2_pix_format { - #define V4L2_PIX_FMT_VP9 v4l2_fourcc('V', 'P', '9', '0') /* VP9 */ - #define V4L2_PIX_FMT_HEVC v4l2_fourcc('H', 'E', 'V', 'C') /* HEVC aka H.265 */ - #define V4L2_PIX_FMT_FWHT v4l2_fourcc('F', 'W', 'H', 'T') /* Fast Walsh Hadamard Transform (vicodec) */ -+#define V4L2_PIX_FMT_FWHT_STATELESS v4l2_fourcc('S', 'F', 'W', 'H') /* Stateless FWHT (vicodec) */ - - /* Vendor-specific formats */ - #define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */ --- -2.21.0 - -From 97ed8eab2a0067bee21aa634c938454660e76a38 Mon Sep 17 00:00:00 2001 -From: Greg Kroah-Hartman -Date: Tue, 2 Apr 2019 12:31:49 +0200 -Subject: [PATCH] staging: add missing SPDX lines to Makefile files - -There are a few remaining drivers/staging/*/Makefile files that do not -have SPDX identifiers in them. Add the correct GPL-2.0 identifier to -them to make scanning tools happy. - -Reviewed-by: Mukesh Ojha -Signed-off-by: Greg Kroah-Hartman ---- - drivers/staging/media/sunxi/Makefile | 1 + - drivers/staging/media/sunxi/cedrus/Makefile | 1 + - 56 files changed, 56 insertions(+) - -diff --git a/drivers/staging/media/sunxi/Makefile b/drivers/staging/media/sunxi/Makefile -index cee2846c3ecf..b87140b0e15f 100644 ---- a/drivers/staging/media/sunxi/Makefile -+++ b/drivers/staging/media/sunxi/Makefile -@@ -1 +1,2 @@ -+# SPDX-License-Identifier: GPL-2.0 - obj-$(CONFIG_VIDEO_SUNXI_CEDRUS) += cedrus/ -diff --git a/drivers/staging/media/sunxi/cedrus/Makefile b/drivers/staging/media/sunxi/cedrus/Makefile -index e9dc68b7bcb6..808842f0119e 100644 ---- a/drivers/staging/media/sunxi/cedrus/Makefile -+++ b/drivers/staging/media/sunxi/cedrus/Makefile -@@ -1,3 +1,4 @@ -+# SPDX-License-Identifier: GPL-2.0 - obj-$(CONFIG_VIDEO_SUNXI_CEDRUS) += sunxi-cedrus.o - - sunxi-cedrus-y = cedrus.o cedrus_video.o cedrus_hw.o cedrus_dec.o cedrus_mpeg2.o --- -2.21.0 - -From 6ece1909256d809df8cf975a62bddd565d03eb1a Mon Sep 17 00:00:00 2001 -From: Jernej Skrabec -Date: Thu, 28 Feb 2019 18:57:48 +0100 -Subject: [PATCH 1/3] clk: sunxi-ng: Allow DE clock to set parent rate - -DE2/DE3 mixers have to run at specific frequency in order to work -optimally. This wasn't actually possible for some SoCs because "de" -clock wasn't allowed to adjust parent rate. - -Add CLK_SET_RATE_PARENT flag to all "de" clocks which didn't have it -yet. - -Signed-off-by: Jernej Skrabec ---- - drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 3 ++- - drivers/clk/sunxi-ng/ccu-sun50i-h6.c | 2 +- - drivers/clk/sunxi-ng/ccu-sun8i-v3s.c | 3 ++- - 3 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c -index 932836d26e2b..be0deee70182 100644 ---- a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c -+++ b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c -@@ -531,7 +531,8 @@ static SUNXI_CCU_GATE(dram_ts_clk, "dram-ts", "dram", - - static const char * const de_parents[] = { "pll-periph0-2x", "pll-de" }; - static SUNXI_CCU_M_WITH_MUX_GATE(de_clk, "de", de_parents, -- 0x104, 0, 4, 24, 3, BIT(31), 0); -+ 0x104, 0, 4, 24, 3, BIT(31), -+ CLK_SET_RATE_PARENT); - - static const char * const tcon0_parents[] = { "pll-mipi", "pll-video0-2x" }; - static const u8 tcon0_table[] = { 0, 2, }; -diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h6.c b/drivers/clk/sunxi-ng/ccu-sun50i-h6.c -index 139e8389615c..daf78966555e 100644 ---- a/drivers/clk/sunxi-ng/ccu-sun50i-h6.c -+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h6.c -@@ -266,7 +266,7 @@ static SUNXI_CCU_M_WITH_MUX_GATE(de_clk, "de", de_parents, 0x600, - 0, 4, /* M */ - 24, 1, /* mux */ - BIT(31), /* gate */ -- 0); -+ CLK_SET_RATE_PARENT); - - static SUNXI_CCU_GATE(bus_de_clk, "bus-de", "psi-ahb1-ahb2", - 0x60c, BIT(0), 0); -diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c b/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c -index 621b1cd996db..ee170bf21cdf 100644 ---- a/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c -+++ b/drivers/clk/sunxi-ng/ccu-sun8i-v3s.c -@@ -325,7 +325,8 @@ static SUNXI_CCU_GATE(dram_ohci_clk, "dram-ohci", "dram", - - static const char * const de_parents[] = { "pll-video", "pll-periph0" }; - static SUNXI_CCU_M_WITH_MUX_GATE(de_clk, "de", de_parents, -- 0x104, 0, 4, 24, 2, BIT(31), 0); -+ 0x104, 0, 4, 24, 2, BIT(31), -+ CLK_SET_RATE_PARENT); - - static const char * const tcon_parents[] = { "pll-video" }; - static SUNXI_CCU_M_WITH_MUX_GATE(tcon_clk, "tcon", tcon_parents, --- -2.20.1 - - -From 3622c17fc40031cd2ca7b4030b83e6fad0c4e127 Mon Sep 17 00:00:00 2001 -From: Jernej Skrabec -Date: Mon, 24 Dec 2018 18:11:56 +0100 -Subject: [PATCH 2/3] drm/sun4i: Add VI scaler line size quirk for DE2/DE3 - -While all RGB scalers have maximum line size of 2048, some YUV scalers -have maximum line size of 2048 and some have line size of 4096. - -Since there is no rule for that, add a quirk. - -Signed-off-by: Jernej Skrabec ---- - drivers/gpu/drm/sun4i/sun8i_mixer.c | 9 +++++++++ - drivers/gpu/drm/sun4i/sun8i_mixer.h | 2 ++ - 2 files changed, 11 insertions(+) - -diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/sun8i_mixer.c -index 44a9ba7d8433..e46edacb7ab4 100644 ---- a/drivers/gpu/drm/sun4i/sun8i_mixer.c -+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c -@@ -554,6 +554,7 @@ static int sun8i_mixer_remove(struct platform_device *pdev) - static const struct sun8i_mixer_cfg sun8i_a83t_mixer0_cfg = { - .ccsc = 0, - .scaler_mask = 0xf, -+ .scanline_yuv = 2048, - .ui_num = 3, - .vi_num = 1, - }; -@@ -561,6 +562,7 @@ static const struct sun8i_mixer_cfg sun8i_a83t_mixer0_cfg = { - static const struct sun8i_mixer_cfg sun8i_a83t_mixer1_cfg = { - .ccsc = 1, - .scaler_mask = 0x3, -+ .scanline_yuv = 2048, - .ui_num = 1, - .vi_num = 1, - }; -@@ -569,6 +571,7 @@ static const struct sun8i_mixer_cfg sun8i_h3_mixer0_cfg = { - .ccsc = 0, - .mod_rate = 432000000, - .scaler_mask = 0xf, -+ .scanline_yuv = 2048, - .ui_num = 3, - .vi_num = 1, - }; -@@ -577,6 +580,7 @@ static const struct sun8i_mixer_cfg sun8i_r40_mixer0_cfg = { - .ccsc = 0, - .mod_rate = 297000000, - .scaler_mask = 0xf, -+ .scanline_yuv = 2048, - .ui_num = 3, - .vi_num = 1, - }; -@@ -585,6 +589,7 @@ static const struct sun8i_mixer_cfg sun8i_r40_mixer1_cfg = { - .ccsc = 1, - .mod_rate = 297000000, - .scaler_mask = 0x3, -+ .scanline_yuv = 2048, - .ui_num = 1, - .vi_num = 1, - }; -@@ -593,6 +598,7 @@ static const struct sun8i_mixer_cfg sun8i_v3s_mixer_cfg = { - .vi_num = 2, - .ui_num = 1, - .scaler_mask = 0x3, -+ .scanline_yuv = 2048, - .ccsc = 0, - .mod_rate = 150000000, - }; -@@ -601,6 +607,7 @@ static const struct sun8i_mixer_cfg sun50i_a64_mixer0_cfg = { - .ccsc = 0, - .mod_rate = 297000000, - .scaler_mask = 0xf, -+ .scanline_yuv = 4096, - .ui_num = 3, - .vi_num = 1, - }; -@@ -609,6 +616,7 @@ static const struct sun8i_mixer_cfg sun50i_a64_mixer1_cfg = { - .ccsc = 1, - .mod_rate = 297000000, - .scaler_mask = 0x3, -+ .scanline_yuv = 2048, - .ui_num = 1, - .vi_num = 1, - }; -@@ -618,6 +626,7 @@ static const struct sun8i_mixer_cfg sun50i_h6_mixer0_cfg = { - .is_de3 = true, - .mod_rate = 600000000, - .scaler_mask = 0xf, -+ .scanline_yuv = 4096, - .ui_num = 3, - .vi_num = 1, - }; -diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h b/drivers/gpu/drm/sun4i/sun8i_mixer.h -index 913d14ce68b0..80e084caa084 100644 ---- a/drivers/gpu/drm/sun4i/sun8i_mixer.h -+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.h -@@ -159,6 +159,7 @@ struct de2_fmt_info { - * @mod_rate: module clock rate that needs to be set in order to have - * a functional block. - * @is_de3: true, if this is next gen display engine 3.0, false otherwise. -+ * @scaline_yuv: size of a scanline for VI scaler for YUV formats. - */ - struct sun8i_mixer_cfg { - int vi_num; -@@ -167,6 +168,7 @@ struct sun8i_mixer_cfg { - int ccsc; - unsigned long mod_rate; - unsigned int is_de3 : 1; -+ unsigned int scanline_yuv; - }; - - struct sun8i_mixer { --- -2.20.1 - - -From 6d1be62144db6bebfdbcb8c50a11ac428dcdc741 Mon Sep 17 00:00:00 2001 -From: Jernej Skrabec -Date: Mon, 24 Dec 2018 18:16:50 +0100 -Subject: [PATCH 3/3] drm/sun4i: Improve VI scaling for DE2/DE3 - -VI planes support coarse scaling which helps to overcome VI scaler -limitations. While exact working of coarse scaling isn't known, it seems -that it just skips programmed amount of rows and columns. This is -especially useful for downscaling very big planes (4K down to 1080p). - -Horizontal coarse scaling is currently used to fit one line to VI scaler -buffer. - -Vertical coarse scaling is used to assure that VI scaler is actually -capable of processing framebuffer in one frame time. - -Signed-off-by: Jernej Skrabec ---- - drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 54 ++++++++++++++++++++++++-- - drivers/gpu/drm/sun4i/sun8i_vi_layer.h | 11 ++++++ - 2 files changed, 62 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c -index 87be898f9b7a..ce42560aa9df 100644 ---- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c -+++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c -@@ -80,6 +80,8 @@ static int sun8i_vi_layer_update_coord(struct sun8i_mixer *mixer, int channel, - u32 bld_base, ch_base; - u32 outsize, insize; - u32 hphase, vphase; -+ u32 hn = 0, hm = 0; -+ u32 vn = 0, vm = 0; - bool subsampled; - - DRM_DEBUG_DRIVER("Updating VI channel %d overlay %d\n", -@@ -137,12 +139,41 @@ static int sun8i_vi_layer_update_coord(struct sun8i_mixer *mixer, int channel, - subsampled = format->hsub > 1 || format->vsub > 1; - - if (insize != outsize || subsampled || hphase || vphase) { -- u32 hscale, vscale; -+ unsigned int scanline, required; -+ struct drm_display_mode *mode; -+ u32 hscale, vscale, fps; -+ u64 ability; - - DRM_DEBUG_DRIVER("HW scaling is enabled\n"); - -- hscale = state->src_w / state->crtc_w; -- vscale = state->src_h / state->crtc_h; -+ mode = &plane->state->crtc->state->mode; -+ fps = (mode->clock * 1000) / (mode->vtotal * mode->htotal); -+ ability = clk_get_rate(mixer->mod_clk); -+ /* BSP algorithm assumes 80% efficiency of VI scaler unit */ -+ ability *= 80; -+ do_div(ability, mode->vdisplay * fps * max(src_w, dst_w)); -+ -+ required = src_h * 100 / dst_h; -+ -+ if (ability < required) { -+ DRM_DEBUG_DRIVER("Using vertical coarse scaling\n"); -+ vm = src_h; -+ vn = (u32)ability * dst_h / 100; -+ src_h = vn; -+ } -+ -+ /* it seems that every RGB scaler has buffer for 2048 pixels */ -+ scanline = subsampled ? mixer->cfg->scanline_yuv : 2048; -+ -+ if (src_w > scanline) { -+ DRM_DEBUG_DRIVER("Using horizontal coarse scaling\n"); -+ hm = src_w; -+ hn = scanline; -+ src_w = hn; -+ } -+ -+ hscale = (src_w << 16) / dst_w; -+ vscale = (src_h << 16) / dst_h; - - sun8i_vi_scaler_setup(mixer, channel, src_w, src_h, dst_w, - dst_h, hscale, vscale, hphase, vphase, -@@ -153,6 +184,23 @@ static int sun8i_vi_layer_update_coord(struct sun8i_mixer *mixer, int channel, - sun8i_vi_scaler_enable(mixer, channel, false); - } - -+ regmap_write(mixer->engine.regs, -+ SUN8I_MIXER_CHAN_VI_HDS_Y(ch_base), -+ SUN8I_MIXER_CHAN_VI_DS_N(hn) | -+ SUN8I_MIXER_CHAN_VI_DS_M(hm)); -+ regmap_write(mixer->engine.regs, -+ SUN8I_MIXER_CHAN_VI_HDS_UV(ch_base), -+ SUN8I_MIXER_CHAN_VI_DS_N(hn) | -+ SUN8I_MIXER_CHAN_VI_DS_M(hm)); -+ regmap_write(mixer->engine.regs, -+ SUN8I_MIXER_CHAN_VI_VDS_Y(ch_base), -+ SUN8I_MIXER_CHAN_VI_DS_N(vn) | -+ SUN8I_MIXER_CHAN_VI_DS_M(vm)); -+ regmap_write(mixer->engine.regs, -+ SUN8I_MIXER_CHAN_VI_VDS_UV(ch_base), -+ SUN8I_MIXER_CHAN_VI_DS_N(vn) | -+ SUN8I_MIXER_CHAN_VI_DS_M(vm)); -+ - /* Set base coordinates */ - DRM_DEBUG_DRIVER("Layer destination coordinates X: %d Y: %d\n", - state->dst.x1, state->dst.y1); -diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.h b/drivers/gpu/drm/sun4i/sun8i_vi_layer.h -index 8a5e6d01c85d..a223a4839f45 100644 ---- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.h -+++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.h -@@ -24,6 +24,14 @@ - ((base) + 0x30 * (layer) + 0x18 + 4 * (plane)) - #define SUN8I_MIXER_CHAN_VI_OVL_SIZE(base) \ - ((base) + 0xe8) -+#define SUN8I_MIXER_CHAN_VI_HDS_Y(base) \ -+ ((base) + 0xf0) -+#define SUN8I_MIXER_CHAN_VI_HDS_UV(base) \ -+ ((base) + 0xf4) -+#define SUN8I_MIXER_CHAN_VI_VDS_Y(base) \ -+ ((base) + 0xf8) -+#define SUN8I_MIXER_CHAN_VI_VDS_UV(base) \ -+ ((base) + 0xfc) - - #define SUN8I_MIXER_CHAN_VI_LAYER_ATTR_EN BIT(0) - /* RGB mode should be set for RGB formats and cleared for YCbCr */ -@@ -33,6 +41,9 @@ - #define SUN50I_MIXER_CHAN_VI_LAYER_ATTR_ALPHA_MASK GENMASK(31, 24) - #define SUN50I_MIXER_CHAN_VI_LAYER_ATTR_ALPHA(x) ((x) << 24) - -+#define SUN8I_MIXER_CHAN_VI_DS_N(x) ((x) << 16) -+#define SUN8I_MIXER_CHAN_VI_DS_M(x) ((x) << 0) -+ - struct sun8i_mixer; - - struct sun8i_vi_layer { --- -2.20.1 - -From 05f640b80bb6797ec11c328d16e9905884653f98 Mon Sep 17 00:00:00 2001 -From: Jernej Skrabec -Date: Sun, 7 Apr 2019 20:36:40 +0200 -Subject: [PATCH] media: cedrus: Fix initialization order - -Currently, MEDIA_IOC_G_TOPOLOGY ioctl on cedrus fails due to incorrect -initialization order. Fix that by moving video_register_device() before -v4l2_m2m_register_media_controller() and while at it, fix error path. - -Reported-by: Jonas Karlman -Signed-off-by: Jernej Skrabec ---- - drivers/staging/media/sunxi/cedrus/cedrus.c | 24 ++++++++++----------- - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c b/drivers/staging/media/sunxi/cedrus/cedrus.c -index b98add3cdedd..d0429c0e6b6b 100644 ---- a/drivers/staging/media/sunxi/cedrus/cedrus.c -+++ b/drivers/staging/media/sunxi/cedrus/cedrus.c -@@ -300,7 +300,7 @@ static int cedrus_probe(struct platform_device *pdev) - "Failed to initialize V4L2 M2M device\n"); - ret = PTR_ERR(dev->m2m_dev); - -- goto err_video; -+ goto err_v4l2; - } - - dev->mdev.dev = &pdev->dev; -@@ -310,23 +310,23 @@ static int cedrus_probe(struct platform_device *pdev) - dev->mdev.ops = &cedrus_m2m_media_ops; - dev->v4l2_dev.mdev = &dev->mdev; - -- ret = v4l2_m2m_register_media_controller(dev->m2m_dev, vfd, -- MEDIA_ENT_F_PROC_VIDEO_DECODER); -- if (ret) { -- v4l2_err(&dev->v4l2_dev, -- "Failed to initialize V4L2 M2M media controller\n"); -- goto err_m2m; -- } -- - ret = video_register_device(vfd, VFL_TYPE_GRABBER, 0); - if (ret) { - v4l2_err(&dev->v4l2_dev, "Failed to register video device\n"); -- goto err_v4l2; -+ goto err_m2m; - } - - v4l2_info(&dev->v4l2_dev, - "Device registered as /dev/video%d\n", vfd->num); - -+ ret = v4l2_m2m_register_media_controller(dev->m2m_dev, vfd, -+ MEDIA_ENT_F_PROC_VIDEO_DECODER); -+ if (ret) { -+ v4l2_err(&dev->v4l2_dev, -+ "Failed to initialize V4L2 M2M media controller\n"); -+ goto err_video; -+ } -+ - ret = media_device_register(&dev->mdev); - if (ret) { - v4l2_err(&dev->v4l2_dev, "Failed to register media device\n"); -@@ -339,10 +339,10 @@ static int cedrus_probe(struct platform_device *pdev) - - err_m2m_mc: - v4l2_m2m_unregister_media_controller(dev->m2m_dev); --err_m2m: -- v4l2_m2m_release(dev->m2m_dev); - err_video: - video_unregister_device(&dev->vfd); -+err_m2m: -+ v4l2_m2m_release(dev->m2m_dev); - err_v4l2: - v4l2_device_unregister(&dev->v4l2_dev); - --- -2.21.0 - -From ed19ec00d4d62a74857ad9c2ea1dbf9671ac3580 Mon Sep 17 00:00:00 2001 -From: Jernej Skrabec -Date: Mon, 28 Jan 2019 19:36:54 +0100 -Subject: [PATCH 1/6] dt-bindings: media: cedrus: Add H6 compatible - -This adds a compatible for H6. H6 VPU supports 10-bit HEVC decoding and -additional AFBC output format for HEVC. - -Signed-off-by: Jernej Skrabec ---- - Documentation/devicetree/bindings/media/cedrus.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Documentation/devicetree/bindings/media/cedrus.txt b/Documentation/devicetree/bindings/media/cedrus.txt -index bce0705df953..20c82fb0c343 100644 ---- a/Documentation/devicetree/bindings/media/cedrus.txt -+++ b/Documentation/devicetree/bindings/media/cedrus.txt -@@ -13,6 +13,7 @@ Required properties: - - "allwinner,sun8i-h3-video-engine" - - "allwinner,sun50i-a64-video-engine" - - "allwinner,sun50i-h5-video-engine" -+ - "allwinner,sun50i-h6-video-engine" - - reg : register base and length of VE; - - clocks : list of clock specifiers, corresponding to entries in - the clock-names property; --- -2.20.1 - - -From 744c66f8c328ef40b6fb246f8b9f2daa9cce4d9d Mon Sep 17 00:00:00 2001 -From: Jernej Skrabec -Date: Mon, 28 Jan 2019 19:47:33 +0100 -Subject: [PATCH 3/6] media: cedrus: Add support for H6 - -H6 has improved VPU. It supports 10-bit HEVC decoding and AFBC output -format for HEVC. - -Signed-off-by: Jernej Skrabec ---- - drivers/staging/media/sunxi/cedrus/cedrus.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c b/drivers/staging/media/sunxi/cedrus/cedrus.c -index ff11cbeba205..b98add3cdedd 100644 ---- a/drivers/staging/media/sunxi/cedrus/cedrus.c -+++ b/drivers/staging/media/sunxi/cedrus/cedrus.c -@@ -396,6 +396,11 @@ static const struct cedrus_variant sun50i_h5_cedrus_variant = { - .capabilities = CEDRUS_CAPABILITY_UNTILED, - }; - -+static const struct cedrus_variant sun50i_h6_cedrus_variant = { -+ .capabilities = CEDRUS_CAPABILITY_UNTILED, -+ .quirks = CEDRUS_QUIRK_NO_DMA_OFFSET, -+}; -+ - static const struct of_device_id cedrus_dt_match[] = { - { - .compatible = "allwinner,sun4i-a10-video-engine", -@@ -425,6 +430,10 @@ static const struct of_device_id cedrus_dt_match[] = { - .compatible = "allwinner,sun50i-h5-video-engine", - .data = &sun50i_h5_cedrus_variant, - }, -+ { -+ .compatible = "allwinner,sun50i-h6-video-engine", -+ .data = &sun50i_h6_cedrus_variant, -+ }, - { /* sentinel */ } - }; - MODULE_DEVICE_TABLE(of, cedrus_dt_match); --- -2.20.1 - - -From c1b3128ac98c05c0afde4e6e065d6b1f2ae1dfa7 Mon Sep 17 00:00:00 2001 -From: Jernej Skrabec -Date: Mon, 28 Jan 2019 19:59:27 +0100 -Subject: [PATCH 6/6] arm64: dts: allwinner: h6: Add Video Engine node - -This adds the Video engine node for H6. It can use whole DRAM range so -there is no need for reserved memory node. - -Signed-off-by: Jernej Skrabec ---- - arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -index 247dc0a5ce89..de4b7a1f1012 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi -@@ -146,6 +146,17 @@ - }; - }; - -+ video-codec@1c0e000 { -+ compatible = "allwinner,sun50i-h6-video-engine"; -+ reg = <0x01c0e000 0x2000>; -+ clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>, -+ <&ccu CLK_MBUS_VE>; -+ clock-names = "ahb", "mod", "ram"; -+ resets = <&ccu RST_BUS_VE>; -+ interrupts = ; -+ allwinner,sram = <&ve_sram 1>; -+ }; -+ - syscon: syscon@3000000 { - compatible = "allwinner,sun50i-h6-system-control", - "allwinner,sun50i-a64-system-control"; --- -2.20.1 - -From 87effaae9e90474546d441b9123bca824e670a0b Mon Sep 17 00:00:00 2001 -From: Fish Lin -Date: Thu, 28 Mar 2019 23:20:46 -0400 -Subject: [PATCH] media: v4l: add I / P frame min max QP definitions - -Add following V4L2 QP parameters for H.264: -* V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP -* V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP -* V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP -* V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP - -These controls will limit QP range for intra and inter frame, -provide more manual control to improve video encode quality. - -Signed-off-by: Fish Lin -Signed-off-by: Hans Verkuil -Signed-off-by: Mauro Carvalho Chehab ---- - .../media/uapi/v4l/ext-ctrls-codec.rst | 24 +++++++++++++++++++ - drivers/media/v4l2-core/v4l2-ctrls.c | 4 ++++ - include/uapi/linux/v4l2-controls.h | 4 ++++ - 3 files changed, 32 insertions(+) - -diff --git a/Documentation/media/uapi/v4l/ext-ctrls-codec.rst b/Documentation/media/uapi/v4l/ext-ctrls-codec.rst -index 67a122339c0e..4a8446203085 100644 ---- a/Documentation/media/uapi/v4l/ext-ctrls-codec.rst -+++ b/Documentation/media/uapi/v4l/ext-ctrls-codec.rst -@@ -1055,6 +1055,30 @@ enum v4l2_mpeg_video_h264_entropy_mode - - Quantization parameter for an B frame for H264. Valid range: from 0 - to 51. - -+``V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (integer)`` -+ Minimum quantization parameter for the H264 I frame to limit I frame -+ quality to a range. Valid range: from 0 to 51. If -+ V4L2_CID_MPEG_VIDEO_H264_MIN_QP is also set, the quantization parameter -+ should be chosen to meet both requirements. -+ -+``V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (integer)`` -+ Maximum quantization parameter for the H264 I frame to limit I frame -+ quality to a range. Valid range: from 0 to 51. If -+ V4L2_CID_MPEG_VIDEO_H264_MAX_QP is also set, the quantization parameter -+ should be chosen to meet both requirements. -+ -+``V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (integer)`` -+ Minimum quantization parameter for the H264 P frame to limit P frame -+ quality to a range. Valid range: from 0 to 51. If -+ V4L2_CID_MPEG_VIDEO_H264_MIN_QP is also set, the quantization parameter -+ should be chosen to meet both requirements. -+ -+``V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (integer)`` -+ Maximum quantization parameter for the H264 P frame to limit P frame -+ quality to a range. Valid range: from 0 to 51. If -+ V4L2_CID_MPEG_VIDEO_H264_MAX_QP is also set, the quantization parameter -+ should be chosen to meet both requirements. -+ - ``V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (integer)`` - Quantization parameter for an I frame for MPEG4. Valid range: from 1 - to 31. -diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c -index b1ae2e555c68..89a1fe564675 100644 ---- a/drivers/media/v4l2-core/v4l2-ctrls.c -+++ b/drivers/media/v4l2-core/v4l2-ctrls.c -@@ -828,6 +828,10 @@ const char *v4l2_ctrl_get_name(u32 id) - case V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION: - return "H264 Constrained Intra Pred"; - case V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET: return "H264 Chroma QP Index Offset"; -+ case V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP: return "H264 I-Frame Minimum QP Value"; -+ case V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP: return "H264 I-Frame Maximum QP Value"; -+ case V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP: return "H264 P-Frame Minimum QP Value"; -+ case V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP: return "H264 P-Frame Maximum QP Value"; - case V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP: return "MPEG4 I-Frame QP Value"; - case V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP: return "MPEG4 P-Frame QP Value"; - case V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP: return "MPEG4 B-Frame QP Value"; -diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h -index 78816ec88751..37807f23231e 100644 ---- a/include/uapi/linux/v4l2-controls.h -+++ b/include/uapi/linux/v4l2-controls.h -@@ -539,6 +539,10 @@ enum v4l2_mpeg_video_h264_hierarchical_coding_type { - #define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (V4L2_CID_MPEG_BASE+382) - #define V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (V4L2_CID_MPEG_BASE+383) - #define V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (V4L2_CID_MPEG_BASE+384) -+#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (V4L2_CID_MPEG_BASE+385) -+#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (V4L2_CID_MPEG_BASE+386) -+#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (V4L2_CID_MPEG_BASE+387) -+#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (V4L2_CID_MPEG_BASE+388) - #define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+400) - #define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401) - #define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+402) --- -2.21.0 - -From 26fae7a41313506931c9be5f532c12d8d654f153 Mon Sep 17 00:00:00 2001 -From: Jernej Skrabec -Date: Tue, 2 Apr 2019 23:06:22 +0200 -Subject: [PATCH] clk: sunxi-ng: h6: Preset hdmi-cec clock parent - -H6 manual and BSP clock driver both states that hdmi-cec clock has two -possible parents, osc32k and pll-periph0-2x with 36621 predivider. -Because pll-periph0-2x is always 1.2 GHz, both parents give same -hdmi-cec rate - 32768 Hz, which is exactly the rate needed for HDMI CEC -controller to operate correctly. - -However, for some reason, HDMI CEC controller doesn't work if default -parent (osc32k) is used. BSP HDMI driver also always use pll-periph0-2x -as hdmi-cec clock parent. - -In order to solve the issue, preset hdmi-cec clock parent to -pll-periph0-2x. - -Signed-off-by: Jernej Skrabec -Signed-off-by: Maxime Ripard ---- - drivers/clk/sunxi-ng/ccu-sun50i-h6.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h6.c b/drivers/clk/sunxi-ng/ccu-sun50i-h6.c -index daf78966555e..33980067b06e 100644 ---- a/drivers/clk/sunxi-ng/ccu-sun50i-h6.c -+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h6.c -@@ -656,6 +656,8 @@ static const char * const hdmi_cec_parents[] = { "osc32k", "pll-periph0-2x" }; - static const struct ccu_mux_fixed_prediv hdmi_cec_predivs[] = { - { .index = 1, .div = 36621 }, - }; -+ -+#define SUN50I_H6_HDMI_CEC_CLK_REG 0xb10 - static struct ccu_mux hdmi_cec_clk = { - .enable = BIT(31), - -@@ -1200,6 +1202,15 @@ static int sun50i_h6_ccu_probe(struct platform_device *pdev) - val &= ~(GENMASK(21, 16) | BIT(0)); - writel(val | (7 << 16), reg + SUN50I_H6_PLL_AUDIO_REG); - -+ /* -+ * First clock parent (osc32K) is unusable for CEC. But since there -+ * is no good way to force parent switch (both run with same frequency), -+ * just set second clock parent here. -+ */ -+ val = readl(reg + SUN50I_H6_HDMI_CEC_CLK_REG); -+ val |= BIT(24); -+ writel(val, reg + SUN50I_H6_HDMI_CEC_CLK_REG); -+ - return sunxi_ccu_probe(pdev->dev.of_node, reg, &sun50i_h6_ccu_desc); - } - --- -2.21.0 - -From 6597ce3de9e443f0cab693496fc529f55ae6eb01 Mon Sep 17 00:00:00 2001 -From: Jernej Skrabec -Date: Wed, 3 Apr 2019 17:14:03 +0200 -Subject: [PATCH] clk: sunxi-ng: h6: Allow video & vpu clocks to change parent - rate - -Video related clocks need to set rate as close as possible to the -requested one, so they should be able to change parent clock rate. - -When processing 4K video, VPU clock has to be set to higher rate than it -is default parent rate. Because of that, VPU clock should be able to -change parent clock rate. - -Add CLK_SET_RATE_PARENT flag to tcon-lcd0, tcon-tv0 and ve. - -Signed-off-by: Jernej Skrabec -Signed-off-by: Maxime Ripard ---- - drivers/clk/sunxi-ng/ccu-sun50i-h6.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h6.c b/drivers/clk/sunxi-ng/ccu-sun50i-h6.c -index 33980067b06e..3c32d7798f27 100644 ---- a/drivers/clk/sunxi-ng/ccu-sun50i-h6.c -+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h6.c -@@ -311,7 +311,7 @@ static SUNXI_CCU_M_WITH_MUX_GATE(ve_clk, "ve", ve_parents, 0x690, - 0, 3, /* M */ - 24, 1, /* mux */ - BIT(31), /* gate */ -- 0); -+ CLK_SET_RATE_PARENT); - - static SUNXI_CCU_GATE(bus_ve_clk, "bus-ve", "psi-ahb1-ahb2", - 0x69c, BIT(0), 0); -@@ -691,7 +691,7 @@ static SUNXI_CCU_MUX_WITH_GATE(tcon_lcd0_clk, "tcon-lcd0", - tcon_lcd0_parents, 0xb60, - 24, 3, /* mux */ - BIT(31), /* gate */ -- 0); -+ CLK_SET_RATE_PARENT); - - static SUNXI_CCU_GATE(bus_tcon_lcd0_clk, "bus-tcon-lcd0", "ahb3", - 0xb7c, BIT(0), 0); -@@ -706,7 +706,7 @@ static SUNXI_CCU_MP_WITH_MUX_GATE(tcon_tv0_clk, "tcon-tv0", - 8, 2, /* P */ - 24, 3, /* mux */ - BIT(31), /* gate */ -- 0); -+ CLK_SET_RATE_PARENT); - - static SUNXI_CCU_GATE(bus_tcon_tv0_clk, "bus-tcon-tv0", "ahb3", - 0xb9c, BIT(0), 0); --- -2.21.0 - diff --git a/projects/Allwinner/patches/linux/0003-backport-from-5.3.patch b/projects/Allwinner/patches/linux/0002-backport-from-5.3.patch similarity index 91% rename from projects/Allwinner/patches/linux/0003-backport-from-5.3.patch rename to projects/Allwinner/patches/linux/0002-backport-from-5.3.patch index b9e475980b..64d8ced047 100644 --- a/projects/Allwinner/patches/linux/0003-backport-from-5.3.patch +++ b/projects/Allwinner/patches/linux/0002-backport-from-5.3.patch @@ -2475,244 +2475,6 @@ index 13e70aebddbe..b9a7dc8d2a40 100644 -- 2.21.0 -From f7275345728a0ff18a0607dd3706f2ca25dc53e0 Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman -Date: Sat, 13 Apr 2019 18:54:12 +0200 -Subject: [PATCH] pinctrl: sunxi: Prepare for alternative bias voltage setting - methods - -H6 has a different I/O voltage bias setting method than A80. Prepare -existing code for using alternative bias voltage setting methods. - -Signed-off-by: Ondrej Jirman -Acked-by: Maxime Ripard -Signed-off-by: Linus Walleij ---- - drivers/pinctrl/sunxi/pinctrl-sun9i-a80-r.c | 2 +- - drivers/pinctrl/sunxi/pinctrl-sun9i-a80.c | 2 +- - drivers/pinctrl/sunxi/pinctrl-sunxi.c | 47 ++++++++++++--------- - drivers/pinctrl/sunxi/pinctrl-sunxi.h | 11 ++++- - 4 files changed, 39 insertions(+), 23 deletions(-) - -diff --git a/drivers/pinctrl/sunxi/pinctrl-sun9i-a80-r.c b/drivers/pinctrl/sunxi/pinctrl-sun9i-a80-r.c -index e05dd9a5551d..a191a65217ac 100644 ---- a/drivers/pinctrl/sunxi/pinctrl-sun9i-a80-r.c -+++ b/drivers/pinctrl/sunxi/pinctrl-sun9i-a80-r.c -@@ -153,7 +153,7 @@ static const struct sunxi_pinctrl_desc sun9i_a80_r_pinctrl_data = { - .pin_base = PL_BASE, - .irq_banks = 2, - .disable_strict_mode = true, -- .has_io_bias_cfg = true, -+ .io_bias_cfg_variant = BIAS_VOLTAGE_GRP_CONFIG, - }; - - static int sun9i_a80_r_pinctrl_probe(struct platform_device *pdev) -diff --git a/drivers/pinctrl/sunxi/pinctrl-sun9i-a80.c b/drivers/pinctrl/sunxi/pinctrl-sun9i-a80.c -index da37d594a13d..0633a03d5e13 100644 ---- a/drivers/pinctrl/sunxi/pinctrl-sun9i-a80.c -+++ b/drivers/pinctrl/sunxi/pinctrl-sun9i-a80.c -@@ -722,7 +722,7 @@ static const struct sunxi_pinctrl_desc sun9i_a80_pinctrl_data = { - .npins = ARRAY_SIZE(sun9i_a80_pins), - .irq_banks = 5, - .disable_strict_mode = true, -- .has_io_bias_cfg = true, -+ .io_bias_cfg_variant = BIAS_VOLTAGE_GRP_CONFIG, - }; - - static int sun9i_a80_pinctrl_probe(struct platform_device *pdev) -diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c -index be04223591d4..98c4de5f4019 100644 ---- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c -+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c -@@ -617,7 +617,7 @@ static int sunxi_pinctrl_set_io_bias_cfg(struct sunxi_pinctrl *pctl, - u32 val, reg; - int uV; - -- if (!pctl->desc->has_io_bias_cfg) -+ if (!pctl->desc->io_bias_cfg_variant) - return 0; - - uV = regulator_get_voltage(supply); -@@ -628,25 +628,32 @@ static int sunxi_pinctrl_set_io_bias_cfg(struct sunxi_pinctrl *pctl, - if (uV == 0) - return 0; - -- /* Configured value must be equal or greater to actual voltage */ -- if (uV <= 1800000) -- val = 0x0; /* 1.8V */ -- else if (uV <= 2500000) -- val = 0x6; /* 2.5V */ -- else if (uV <= 2800000) -- val = 0x9; /* 2.8V */ -- else if (uV <= 3000000) -- val = 0xA; /* 3.0V */ -- else -- val = 0xD; /* 3.3V */ -- -- pin -= pctl->desc->pin_base; -- -- reg = readl(pctl->membase + sunxi_grp_config_reg(pin)); -- reg &= ~IO_BIAS_MASK; -- writel(reg | val, pctl->membase + sunxi_grp_config_reg(pin)); -- -- return 0; -+ switch (pctl->desc->io_bias_cfg_variant) { -+ case BIAS_VOLTAGE_GRP_CONFIG: -+ /* -+ * Configured value must be equal or greater to actual -+ * voltage. -+ */ -+ if (uV <= 1800000) -+ val = 0x0; /* 1.8V */ -+ else if (uV <= 2500000) -+ val = 0x6; /* 2.5V */ -+ else if (uV <= 2800000) -+ val = 0x9; /* 2.8V */ -+ else if (uV <= 3000000) -+ val = 0xA; /* 3.0V */ -+ else -+ val = 0xD; /* 3.3V */ -+ -+ pin -= pctl->desc->pin_base; -+ -+ reg = readl(pctl->membase + sunxi_grp_config_reg(pin)); -+ reg &= ~IO_BIAS_MASK; -+ writel(reg | val, pctl->membase + sunxi_grp_config_reg(pin)); -+ return 0; -+ default: -+ return -EINVAL; -+ } - } - - static int sunxi_pmx_get_funcs_cnt(struct pinctrl_dev *pctldev) -diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.h b/drivers/pinctrl/sunxi/pinctrl-sunxi.h -index ee15ab067b5f..a62b81357136 100644 ---- a/drivers/pinctrl/sunxi/pinctrl-sunxi.h -+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.h -@@ -95,6 +95,15 @@ - #define PINCTRL_SUN7I_A20 BIT(7) - #define PINCTRL_SUN8I_R40 BIT(8) - -+enum sunxi_desc_bias_voltage { -+ BIAS_VOLTAGE_NONE, -+ /* -+ * Bias voltage configuration is done through -+ * Pn_GRP_CONFIG registers, as seen on A80 SoC. -+ */ -+ BIAS_VOLTAGE_GRP_CONFIG, -+}; -+ - struct sunxi_desc_function { - unsigned long variant; - const char *name; -@@ -117,7 +126,7 @@ struct sunxi_pinctrl_desc { - const unsigned int *irq_bank_map; - bool irq_read_needs_mux; - bool disable_strict_mode; -- bool has_io_bias_cfg; -+ enum sunxi_desc_bias_voltage io_bias_cfg_variant; - }; - - struct sunxi_pinctrl_function { --- -2.21.0 - -From cc62383fcebe7f03c274462790fd912f4346304b Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman -Date: Sat, 13 Apr 2019 18:54:13 +0200 -Subject: [PATCH] pinctrl: sunxi: Support I/O bias voltage setting on H6 - -H6 SoC has a "pio group withstand voltage mode" register (datasheet -description), that needs to be used to select either 1.8V or 3.3V I/O mode, -based on what voltage is powering the respective pin banks and is thus used -for I/O signals. - -Add support for configuring this register according to the voltage of the -pin bank regulator (if enabled). - -This is similar to the support for I/O bias voltage setting patch for A80 -and the same concerns apply. See: - - commit 402bfb3c1352 ("Support I/O bias voltage setting on A80") - -Signed-off-by: Ondrej Jirman -Acked-by: Maxime Ripard -Signed-off-by: Linus Walleij ---- - drivers/pinctrl/sunxi/pinctrl-sun50i-h6.c | 1 + - drivers/pinctrl/sunxi/pinctrl-sunxi.c | 11 +++++++++++ - drivers/pinctrl/sunxi/pinctrl-sunxi.h | 7 +++++++ - 3 files changed, 19 insertions(+) - -diff --git a/drivers/pinctrl/sunxi/pinctrl-sun50i-h6.c b/drivers/pinctrl/sunxi/pinctrl-sun50i-h6.c -index ef4268cc6227..3cc1121589c9 100644 ---- a/drivers/pinctrl/sunxi/pinctrl-sun50i-h6.c -+++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-h6.c -@@ -591,6 +591,7 @@ static const struct sunxi_pinctrl_desc h6_pinctrl_data = { - .irq_banks = 4, - .irq_bank_map = h6_irq_bank_map, - .irq_read_needs_mux = true, -+ .io_bias_cfg_variant = BIAS_VOLTAGE_PIO_POW_MODE_SEL, - }; - - static int h6_pinctrl_probe(struct platform_device *pdev) -diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c -index 98c4de5f4019..0cbca30b75dc 100644 ---- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c -+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c -@@ -614,6 +614,8 @@ static int sunxi_pinctrl_set_io_bias_cfg(struct sunxi_pinctrl *pctl, - unsigned pin, - struct regulator *supply) - { -+ unsigned short bank = pin / PINS_PER_BANK; -+ unsigned long flags; - u32 val, reg; - int uV; - -@@ -651,6 +653,15 @@ static int sunxi_pinctrl_set_io_bias_cfg(struct sunxi_pinctrl *pctl, - reg &= ~IO_BIAS_MASK; - writel(reg | val, pctl->membase + sunxi_grp_config_reg(pin)); - return 0; -+ case BIAS_VOLTAGE_PIO_POW_MODE_SEL: -+ val = uV <= 1800000 ? 1 : 0; -+ -+ raw_spin_lock_irqsave(&pctl->lock, flags); -+ reg = readl(pctl->membase + PIO_POW_MOD_SEL_REG); -+ reg &= ~(1 << bank); -+ writel(reg | val << bank, pctl->membase + PIO_POW_MOD_SEL_REG); -+ raw_spin_unlock_irqrestore(&pctl->lock, flags); -+ return 0; - default: - return -EINVAL; - } -diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.h b/drivers/pinctrl/sunxi/pinctrl-sunxi.h -index a62b81357136..44e30deeee38 100644 ---- a/drivers/pinctrl/sunxi/pinctrl-sunxi.h -+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.h -@@ -95,6 +95,8 @@ - #define PINCTRL_SUN7I_A20 BIT(7) - #define PINCTRL_SUN8I_R40 BIT(8) - -+#define PIO_POW_MOD_SEL_REG 0x340 -+ - enum sunxi_desc_bias_voltage { - BIAS_VOLTAGE_NONE, - /* -@@ -102,6 +104,11 @@ enum sunxi_desc_bias_voltage { - * Pn_GRP_CONFIG registers, as seen on A80 SoC. - */ - BIAS_VOLTAGE_GRP_CONFIG, -+ /* -+ * Bias voltage is set through PIO_POW_MOD_SEL_REG -+ * register, as seen on H6 SoC, for example. -+ */ -+ BIAS_VOLTAGE_PIO_POW_MODE_SEL, - }; - - struct sunxi_desc_function { --- -2.21.0 - From 22538576beb671038bd21be4094432fa8070ad81 Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Fri, 3 May 2019 17:47:20 +0800