From 2f7c68cb55ecb7331f2381deb497c27155f32faf Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 03 Jan 2024 09:43:39 +0000
Subject: [PATCH] update kernel to 5.10.198

---
 kernel/drivers/soc/rockchip/Kconfig |  196 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 166 insertions(+), 30 deletions(-)

diff --git a/kernel/drivers/soc/rockchip/Kconfig b/kernel/drivers/soc/rockchip/Kconfig
index 2b07177..a9d09b3 100644
--- a/kernel/drivers/soc/rockchip/Kconfig
+++ b/kernel/drivers/soc/rockchip/Kconfig
@@ -1,18 +1,34 @@
+# SPDX-License-Identifier: GPL-2.0-only
 if ARCH_ROCKCHIP || COMPILE_TEST
+
+menu "Rockchip SoC drivers"
 
 source "drivers/soc/rockchip/Kconfig.cpu"
 
 #
-# Rockchip Soc drivers
+# Rockchip Android Features
 #
 
-config ANDROID_VERSION
-	hex "Android Version"
-	depends on ANDROID
-	default "0x08010000"
+config NO_GKI
+	bool "Disable Android GKI support"
+	default y if !GKI_HACKS_TO_FIX
 	help
-	  The version of Android kernel supported.
-	  The value is 0xAABBCCRR, corresponding to Android A.B.C release R
+	  Say y here to disable Android GKI support. Then
+	  all the ABI compatibilities are not applicable.
+
+	  If unsure, say Y.
+
+config ROCKCHIP_DISABLE_UNUSED
+	tristate "Rockchip Disable Unused"
+	default m if GKI_HACKS_TO_FIX
+	help
+	  Disable unused clk and power down after module init.
+
+	  If unsure, say "N".
+
+#
+# Rockchip Soc drivers
+#
 
 config ROCKCHIP_AMP
 	tristate "Rockchip AMP support"
@@ -20,10 +36,15 @@
 	  Say y here to enable Rockchip AMP support.
 	  This option protects resources used by AMP.
 
+config ROCKCHIP_ARM64_ALIGN_FAULT_FIX
+	bool "Rockchip align fault fix support"
+	depends on ARM64 && NO_GKI
+	help
+	  Say y here to enable Rockchip align fault fix support.
+
 config ROCKCHIP_CPUINFO
 	tristate "Rockchip cpuinfo support"
 	depends on (ROCKCHIP_EFUSE || ROCKCHIP_OTP) && (ARM64 || ARM)
-	default y
 	help
 	  Say y here to enable Rockchip cpuinfo support.
 	  Set system_serial_low/high from eFuse ID.
@@ -31,9 +52,14 @@
 
 	  If unsure, say N.
 
+config ROCKCHIP_CSU
+	tristate "Rockchip Clock Subunit Driver"
+	depends on ARCH_ROCKCHIP
+	help
+	  This adds the clock subunit driver for Rockchip SoCs.
+
 config ROCKCHIP_GRF
 	tristate "Rockchip General Register Files support"
-	default y
 	help
 	  The General Register Files are a central component providing
 	  special additional settings registers for a lot of soc-components.
@@ -46,10 +72,34 @@
 	  This driver support Decompress IP built-in Rockchip SoC, support
 	  LZ4, GZIP, ZLIB.
 
+config ROCKCHIP_HW_DECOMPRESS_USER
+	tristate "Rockchip HardWare Decompress User Interface Support"
+	default n
+	select ROCKCHIP_HW_DECOMPRESS
+	help
+	  This driver support user invokes the Decompress IP built-in Rockchip SoC, support
+	  LZ4, GZIP, ZLIB.
+
+config ROCKCHIP_IODOMAIN
+	tristate "Rockchip IO domain support"
+	depends on OF
+	help
+	  Say y here to enable support io domains on Rockchip SoCs. It is
+	  necessary for the io domain setting of the SoC to match the
+	  voltage supplied by the regulators.
+
+config ROCKCHIP_IOMUX
+	tristate "Rockchip IOMUX ioctl support"
+	depends on PINCTRL_ROCKCHIP
+	help
+	  This is the debug option for rockchip pinctrl driver by add a device
+	  /dev/iomux to set or get iomux.
+
+	  If unsure, say N.
+
 config ROCKCHIP_IPA
 	tristate "Rockchip IPA support"
 	depends on THERMAL && OF
-	default y
 	help
 	  Say y here to enable rockchip IPA.
 	  Add a simple power model for ipa to calculate static power and
@@ -60,9 +110,39 @@
 config ROCKCHIP_OPP
 	tristate "Rockchip OPP select support"
 	depends on PM_DEVFREQ
-	default y
 	help
 	  Say y here to enable rockchip OPP support.
+
+config ROCKCHIP_OPTIMIZE_RT_PRIO
+	bool "Rockchip optimize prio for kernel RT thread and kworker"
+	depends on NO_GKI
+	help
+	  In some cases, there are too much userspace high priority RT threads, which
+	  cause kernel RT threads or kworkers block too long time. This config separate
+	  kernel and userspace RT threads into two priority regions, priority 0~49 for
+	  kernel and priority 50~99 for userspace, so that kernel RT threads is always
+	  higher priority than userspace. This config also set RT policy for kworkers.
+
+config ROCKCHIP_PERFORMANCE
+	bool "Rockchip performance configuration support"
+	depends on NO_GKI
+	help
+	  This config aims to support different requests between power consumption
+	  and performance.
+
+config ROCKCHIP_PERFORMANCE_LEVEL
+	int "Rockchip performance default level"
+	depends on ROCKCHIP_PERFORMANCE
+	range 0 2
+	default 1
+	help
+	  Select default performance level:
+
+	  0 for low-performance (powersave),
+	  1 for normal performance,
+	  2 for high-performance.
+
+	  This can also be changed at runtime (via the level module parameter).
 
 config ROCKCHIP_PM_DOMAINS
         tristate "Rockchip generic power domain"
@@ -92,22 +172,42 @@
 
 config ROCKCHIP_SUSPEND_MODE
 	tristate "Rockchip suspend mode config"
-	depends on ROCKCHIP_SIP
 	help
 	  Say Y here if you want to set the suspend mode to the ATF.
 
 config ROCKCHIP_SYSTEM_MONITOR
 	tristate "Rockchip system monitor support"
-	default y
 	help
 	  Say y here to enable rockchip system monitor support.
 
+config ROCKCHIP_VENDOR_STORAGE
+	tristate "Rockchip vendor storage support"
+	help
+	  Say y here to enable rockchip vendor storage support.
+
+config ROCKCHIP_MMC_VENDOR_STORAGE
+	tristate "Rockchip mmc vendor storage support"
+	depends on ROCKCHIP_VENDOR_STORAGE && MMC
+	help
+	  Say y here to enable rockchip mmc vendor storage support.
+
+config ROCKCHIP_FLASH_VENDOR_STORAGE
+	tristate "Rockchip flash vendor storage support"
+	depends on ROCKCHIP_VENDOR_STORAGE && RK_FLASH
+	help
+	  Say y here to enable rockchip flash vendor storage support.
+
 config ROCKCHIP_MTD_VENDOR_STORAGE
-	bool "Rockchip mtd vendor storage support"
-	depends on MTD
-	default y
+	tristate "Rockchip mtd vendor storage support"
+	depends on ROCKCHIP_VENDOR_STORAGE && MTD
 	help
 	  Say y here to enable rockchip mtd vendor storage support.
+
+config ROCKCHIP_RAM_VENDOR_STORAGE
+	tristate "Rockchip ram vendor storage support"
+	depends on ROCKCHIP_VENDOR_STORAGE
+	help
+	  Say y here to enable rockchip ram vendor storage support.
 
 config ROCKCHIP_VENDOR_STORAGE_UPDATE_LOADER
 	bool "Rockchip vendor storage update loader support"
@@ -116,20 +216,26 @@
 	  Say y here to enable rockchip vendor storage update loader support.
 	  The /dev/vendor_storage must set root user access only.
 
+menu "FIQ Debugger"
+source "drivers/soc/rockchip/fiq_debugger/Kconfig"
+endmenu
+
 config ROCKCHIP_DEBUG
 	tristate "Rockchip DEBUG"
-	default y
 	help
 	  Print dbgpcsr for every cpu when panic.
 
-config ROCKCHIP_LOW_PERFORMANCE
-	bool "Rockchip low performance support"
+config ROCKCHIP_MINI_KERNEL
+	bool "Rockchip Mini Kernel support"
+	select NO_GKI
+	default y if CPU_RV1106 || CPU_RV1126
 	help
-	  Say y here to enable Rockchip low performance support.
-	  This option make the SoC low power.
+	  Say y here to enable Rockchip mini kernel support.
+	  This option make the kernel size smaller.
 
 config ROCKCHIP_THUNDER_BOOT
 	bool "Rockchip Thunder Boot support"
+	depends on NO_GKI
 	help
 	  Say y here to enable Rockchip thunder boot support.
 	  This option make the kernel boot faster.
@@ -146,18 +252,48 @@
 	help
 	  Say y if boot from SPI Flash from SFC controller.
 
-config ROCKCHIP_THUNDER_BOOT_CRYPTO
-	bool "Rockchip Thunder Boot support hardware crypto"
+config ROCKCHIP_THUNDER_BOOT_SERVICE
+	bool "Rockchip Thunder Boot Service"
 	depends on ROCKCHIP_THUNDER_BOOT
+	depends on MAILBOX
 	help
-	  Say y if boot need hardware crypto.
+	  Say y if MCU need to notify AP.
 
-config ROCKCHIP_SCHED_PERFORMANCE_BIAS
-	bool "Rockchip task scheduler optimization"
-	depends on SMP && CPU_FREQ_GOV_INTERACTIVE
-	default y
+config ROCKCHIP_NPOR_POWERGOOD
+	bool "Rockchip NPOR Powergood"
 	help
-	  Say y here to enable rockchip optimize task scheduler for performance bias,
-	  this would cause a little more power consumption.
+	  Say y if SOC integrate ROCKCHIP NPOR Powergood.
+
+#
+# Rockchip Procfs drivers
+#
+
+config RK_CMA_PROCFS
+	tristate "CMA procfs interface"
+	depends on CMA && PROC_FS
+	help
+	  Turns on the ProcFS interface for CMA, shows the bitmap in hex
+	  format.
+
+config RK_DMABUF_PROCFS
+	tristate "DMABUF procfs support"
+	depends on DMA_SHARED_BUFFER
+	depends on PROC_FS
+	help
+	  Turns on this to create a procfs debug interface for dma-buf, support
+	  get information from db_list by get_each_dmabuf.
+
+	  If unsure, say "N".
+
+config RK_MEMBLOCK_PROCFS
+	bool "Memblock procfs for reserved memory"
+	depends on PROC_FS && ARCH_KEEP_MEMBLOCK
+	help
+	  Extend memblock procfs to show size of each memblock, and shows the
+	  result of total size by KiB format.
+
+source "drivers/soc/rockchip/minidump/Kconfig"
+
+endmenu
 
 endif

--
Gitblit v1.6.2