1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyunif ARCH_ROCKCHIP || COMPILE_TEST 3*4882a593Smuzhiyun 4*4882a593Smuzhiyunmenu "Rockchip SoC drivers" 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunsource "drivers/soc/rockchip/Kconfig.cpu" 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun# 9*4882a593Smuzhiyun# Rockchip Android Features 10*4882a593Smuzhiyun# 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunconfig NO_GKI 13*4882a593Smuzhiyun bool "Disable Android GKI support" 14*4882a593Smuzhiyun default y if !GKI_HACKS_TO_FIX 15*4882a593Smuzhiyun help 16*4882a593Smuzhiyun Say y here to disable Android GKI support. Then 17*4882a593Smuzhiyun all the ABI compatibilities are not applicable. 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun If unsure, say Y. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun# 22*4882a593Smuzhiyun# Rockchip Soc drivers 23*4882a593Smuzhiyun# 24*4882a593Smuzhiyun 25*4882a593Smuzhiyunconfig ROCKCHIP_AMP 26*4882a593Smuzhiyun tristate "Rockchip AMP support" 27*4882a593Smuzhiyun help 28*4882a593Smuzhiyun Say y here to enable Rockchip AMP support. 29*4882a593Smuzhiyun This option protects resources used by AMP. 30*4882a593Smuzhiyun 31*4882a593Smuzhiyunconfig ROCKCHIP_ARM64_ALIGN_FAULT_FIX 32*4882a593Smuzhiyun bool "Rockchip align fault fix support" 33*4882a593Smuzhiyun depends on ARM64 && NO_GKI 34*4882a593Smuzhiyun help 35*4882a593Smuzhiyun Say y here to enable Rockchip align fault fix support. 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunconfig ROCKCHIP_CPUINFO 38*4882a593Smuzhiyun tristate "Rockchip cpuinfo support" 39*4882a593Smuzhiyun depends on (ROCKCHIP_EFUSE || ROCKCHIP_OTP) && (ARM64 || ARM) 40*4882a593Smuzhiyun help 41*4882a593Smuzhiyun Say y here to enable Rockchip cpuinfo support. 42*4882a593Smuzhiyun Set system_serial_low/high from eFuse ID. 43*4882a593Smuzhiyun Serial can read from /proc/cpuinfo. 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun If unsure, say N. 46*4882a593Smuzhiyun 47*4882a593Smuzhiyunconfig ROCKCHIP_GRF 48*4882a593Smuzhiyun tristate "Rockchip General Register Files support" 49*4882a593Smuzhiyun help 50*4882a593Smuzhiyun The General Register Files are a central component providing 51*4882a593Smuzhiyun special additional settings registers for a lot of soc-components. 52*4882a593Smuzhiyun In a lot of cases there also need to be default settings initialized 53*4882a593Smuzhiyun to make some of them conform to expectations of the kernel. 54*4882a593Smuzhiyun 55*4882a593Smuzhiyunconfig ROCKCHIP_HW_DECOMPRESS 56*4882a593Smuzhiyun bool "Rockchip HardWare Decompress Support" 57*4882a593Smuzhiyun help 58*4882a593Smuzhiyun This driver support Decompress IP built-in Rockchip SoC, support 59*4882a593Smuzhiyun LZ4, GZIP, ZLIB. 60*4882a593Smuzhiyun 61*4882a593Smuzhiyunconfig ROCKCHIP_HW_DECOMPRESS_USER 62*4882a593Smuzhiyun tristate "Rockchip HardWare Decompress User Interface Support" 63*4882a593Smuzhiyun default n 64*4882a593Smuzhiyun select ROCKCHIP_HW_DECOMPRESS 65*4882a593Smuzhiyun help 66*4882a593Smuzhiyun This driver support user invokes the Decompress IP built-in Rockchip SoC, support 67*4882a593Smuzhiyun LZ4, GZIP, ZLIB. 68*4882a593Smuzhiyun 69*4882a593Smuzhiyunconfig ROCKCHIP_IODOMAIN 70*4882a593Smuzhiyun tristate "Rockchip IO domain support" 71*4882a593Smuzhiyun depends on OF 72*4882a593Smuzhiyun help 73*4882a593Smuzhiyun Say y here to enable support io domains on Rockchip SoCs. It is 74*4882a593Smuzhiyun necessary for the io domain setting of the SoC to match the 75*4882a593Smuzhiyun voltage supplied by the regulators. 76*4882a593Smuzhiyun 77*4882a593Smuzhiyunconfig ROCKCHIP_IOMUX 78*4882a593Smuzhiyun tristate "Rockchip IOMUX ioctl support" 79*4882a593Smuzhiyun depends on PINCTRL_ROCKCHIP 80*4882a593Smuzhiyun help 81*4882a593Smuzhiyun This is the debug option for rockchip pinctrl driver by add a device 82*4882a593Smuzhiyun /dev/iomux to set or get iomux. 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun If unsure, say N. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyunconfig ROCKCHIP_IPA 87*4882a593Smuzhiyun tristate "Rockchip IPA support" 88*4882a593Smuzhiyun depends on THERMAL && OF 89*4882a593Smuzhiyun help 90*4882a593Smuzhiyun Say y here to enable rockchip IPA. 91*4882a593Smuzhiyun Add a simple power model for ipa to calculate static power and 92*4882a593Smuzhiyun dynamic power. 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun If unsure, say N. 95*4882a593Smuzhiyun 96*4882a593Smuzhiyunconfig ROCKCHIP_OPP 97*4882a593Smuzhiyun tristate "Rockchip OPP select support" 98*4882a593Smuzhiyun depends on PM_DEVFREQ 99*4882a593Smuzhiyun help 100*4882a593Smuzhiyun Say y here to enable rockchip OPP support. 101*4882a593Smuzhiyun 102*4882a593Smuzhiyunconfig ROCKCHIP_OPTIMIZE_RT_PRIO 103*4882a593Smuzhiyun bool "Rockchip optimize prio for kernel RT thread and kworker" 104*4882a593Smuzhiyun depends on NO_GKI 105*4882a593Smuzhiyun help 106*4882a593Smuzhiyun In some cases, there are too much userspace high priority RT threads, which 107*4882a593Smuzhiyun cause kernel RT threads or kworkers block too long time. This config separate 108*4882a593Smuzhiyun kernel and userspace RT threads into two priority regions, priority 0~49 for 109*4882a593Smuzhiyun kernel and priority 50~99 for userspace, so that kernel RT threads is always 110*4882a593Smuzhiyun higher priority than userspace. This config also set RT policy for kworkers. 111*4882a593Smuzhiyun 112*4882a593Smuzhiyunconfig ROCKCHIP_PERFORMANCE 113*4882a593Smuzhiyun bool "Rockchip performance configuration support" 114*4882a593Smuzhiyun depends on NO_GKI 115*4882a593Smuzhiyun help 116*4882a593Smuzhiyun This config aims to support different requests between power consumption 117*4882a593Smuzhiyun and performance. 118*4882a593Smuzhiyun 119*4882a593Smuzhiyunconfig ROCKCHIP_PERFORMANCE_LEVEL 120*4882a593Smuzhiyun int "Rockchip performance default level" 121*4882a593Smuzhiyun depends on ROCKCHIP_PERFORMANCE 122*4882a593Smuzhiyun range 0 2 123*4882a593Smuzhiyun default 1 124*4882a593Smuzhiyun help 125*4882a593Smuzhiyun Select default performance level: 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun 0 for low-performance (powersave), 128*4882a593Smuzhiyun 1 for normal performance, 129*4882a593Smuzhiyun 2 for high-performance. 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun This can also be changed at runtime (via the level module parameter). 132*4882a593Smuzhiyun 133*4882a593Smuzhiyunconfig ROCKCHIP_PM_DOMAINS 134*4882a593Smuzhiyun tristate "Rockchip generic power domain" 135*4882a593Smuzhiyun depends on PM 136*4882a593Smuzhiyun select PM_GENERIC_DOMAINS 137*4882a593Smuzhiyun help 138*4882a593Smuzhiyun Say y here to enable power domain support. 139*4882a593Smuzhiyun In order to meet high performance and low power requirements, a power 140*4882a593Smuzhiyun management unit is designed or saving power when RK3288 in low power 141*4882a593Smuzhiyun mode. The RK3288 PMU is dedicated for managing the power of the whole chip. 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun If unsure, say N. 144*4882a593Smuzhiyun 145*4882a593Smuzhiyunconfig ROCKCHIP_PVTM 146*4882a593Smuzhiyun tristate "Rockchip PVTM support" 147*4882a593Smuzhiyun help 148*4882a593Smuzhiyun Say y here to enable pvtm support. 149*4882a593Smuzhiyun The Process-Voltage-Temperature Monitor (PVTM) is used to monitor 150*4882a593Smuzhiyun the chip performance variance caused by chip process, voltage and 151*4882a593Smuzhiyun temperature. 152*4882a593Smuzhiyun 153*4882a593Smuzhiyunconfig ROCKCHIP_RAMDISK 154*4882a593Smuzhiyun bool "Rockchip RAM disk support" 155*4882a593Smuzhiyun help 156*4882a593Smuzhiyun Saying Y here will allow you to use reserved RAM memory as a block 157*4882a593Smuzhiyun device. 158*4882a593Smuzhiyun 159*4882a593Smuzhiyunconfig ROCKCHIP_SUSPEND_MODE 160*4882a593Smuzhiyun tristate "Rockchip suspend mode config" 161*4882a593Smuzhiyun depends on ROCKCHIP_SIP 162*4882a593Smuzhiyun help 163*4882a593Smuzhiyun Say Y here if you want to set the suspend mode to the ATF. 164*4882a593Smuzhiyun 165*4882a593Smuzhiyunconfig ROCKCHIP_SYSTEM_MONITOR 166*4882a593Smuzhiyun tristate "Rockchip system monitor support" 167*4882a593Smuzhiyun help 168*4882a593Smuzhiyun Say y here to enable rockchip system monitor support. 169*4882a593Smuzhiyun 170*4882a593Smuzhiyunconfig ROCKCHIP_VENDOR_STORAGE 171*4882a593Smuzhiyun tristate "Rockchip vendor storage support" 172*4882a593Smuzhiyun help 173*4882a593Smuzhiyun Say y here to enable rockchip vendor storage support. 174*4882a593Smuzhiyun 175*4882a593Smuzhiyunconfig ROCKCHIP_MMC_VENDOR_STORAGE 176*4882a593Smuzhiyun tristate "Rockchip mmc vendor storage support" 177*4882a593Smuzhiyun depends on ROCKCHIP_VENDOR_STORAGE && MMC 178*4882a593Smuzhiyun help 179*4882a593Smuzhiyun Say y here to enable rockchip mmc vendor storage support. 180*4882a593Smuzhiyun 181*4882a593Smuzhiyunconfig ROCKCHIP_FLASH_VENDOR_STORAGE 182*4882a593Smuzhiyun tristate "Rockchip flash vendor storage support" 183*4882a593Smuzhiyun depends on ROCKCHIP_VENDOR_STORAGE && RK_FLASH 184*4882a593Smuzhiyun help 185*4882a593Smuzhiyun Say y here to enable rockchip flash vendor storage support. 186*4882a593Smuzhiyun 187*4882a593Smuzhiyunconfig ROCKCHIP_MTD_VENDOR_STORAGE 188*4882a593Smuzhiyun tristate "Rockchip mtd vendor storage support" 189*4882a593Smuzhiyun depends on ROCKCHIP_VENDOR_STORAGE && MTD 190*4882a593Smuzhiyun help 191*4882a593Smuzhiyun Say y here to enable rockchip mtd vendor storage support. 192*4882a593Smuzhiyun 193*4882a593Smuzhiyunconfig ROCKCHIP_RAM_VENDOR_STORAGE 194*4882a593Smuzhiyun tristate "Rockchip ram vendor storage support" 195*4882a593Smuzhiyun depends on ROCKCHIP_VENDOR_STORAGE 196*4882a593Smuzhiyun help 197*4882a593Smuzhiyun Say y here to enable rockchip ram vendor storage support. 198*4882a593Smuzhiyun 199*4882a593Smuzhiyunconfig ROCKCHIP_VENDOR_STORAGE_UPDATE_LOADER 200*4882a593Smuzhiyun bool "Rockchip vendor storage update loader support" 201*4882a593Smuzhiyun default n 202*4882a593Smuzhiyun help 203*4882a593Smuzhiyun Say y here to enable rockchip vendor storage update loader support. 204*4882a593Smuzhiyun The /dev/vendor_storage must set root user access only. 205*4882a593Smuzhiyun 206*4882a593Smuzhiyunmenu "FIQ Debugger" 207*4882a593Smuzhiyunsource "drivers/soc/rockchip/fiq_debugger/Kconfig" 208*4882a593Smuzhiyunendmenu 209*4882a593Smuzhiyun 210*4882a593Smuzhiyunconfig ROCKCHIP_DEBUG 211*4882a593Smuzhiyun tristate "Rockchip DEBUG" 212*4882a593Smuzhiyun help 213*4882a593Smuzhiyun Print dbgpcsr for every cpu when panic. 214*4882a593Smuzhiyun 215*4882a593Smuzhiyunconfig ROCKCHIP_MINI_KERNEL 216*4882a593Smuzhiyun bool "Rockchip Mini Kernel support" 217*4882a593Smuzhiyun select NO_GKI 218*4882a593Smuzhiyun default y if CPU_RV1106 || CPU_RV1126 219*4882a593Smuzhiyun help 220*4882a593Smuzhiyun Say y here to enable Rockchip mini kernel support. 221*4882a593Smuzhiyun This option make the kernel size smaller. 222*4882a593Smuzhiyun 223*4882a593Smuzhiyunconfig ROCKCHIP_THUNDER_BOOT 224*4882a593Smuzhiyun bool "Rockchip Thunder Boot support" 225*4882a593Smuzhiyun depends on NO_GKI 226*4882a593Smuzhiyun help 227*4882a593Smuzhiyun Say y here to enable Rockchip thunder boot support. 228*4882a593Smuzhiyun This option make the kernel boot faster. 229*4882a593Smuzhiyun 230*4882a593Smuzhiyunconfig ROCKCHIP_THUNDER_BOOT_MMC 231*4882a593Smuzhiyun bool "Rockchip Thunder Boot from MMC" 232*4882a593Smuzhiyun depends on ROCKCHIP_THUNDER_BOOT 233*4882a593Smuzhiyun help 234*4882a593Smuzhiyun Say y if boot from MMC. 235*4882a593Smuzhiyun 236*4882a593Smuzhiyunconfig ROCKCHIP_THUNDER_BOOT_SFC 237*4882a593Smuzhiyun bool "Rockchip Thunder Boot from SFC" 238*4882a593Smuzhiyun depends on ROCKCHIP_THUNDER_BOOT 239*4882a593Smuzhiyun help 240*4882a593Smuzhiyun Say y if boot from SPI Flash from SFC controller. 241*4882a593Smuzhiyun 242*4882a593Smuzhiyunconfig ROCKCHIP_THUNDER_BOOT_SERVICE 243*4882a593Smuzhiyun bool "Rockchip Thunder Boot Service" 244*4882a593Smuzhiyun depends on ROCKCHIP_THUNDER_BOOT 245*4882a593Smuzhiyun depends on MAILBOX 246*4882a593Smuzhiyun help 247*4882a593Smuzhiyun Say y if MCU need to notify AP. 248*4882a593Smuzhiyun 249*4882a593Smuzhiyunconfig ROCKCHIP_NPOR_POWERGOOD 250*4882a593Smuzhiyun bool "Rockchip NPOR Powergood" 251*4882a593Smuzhiyun help 252*4882a593Smuzhiyun Say y if SOC integrate ROCKCHIP NPOR Powergood. 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun# 255*4882a593Smuzhiyun# Rockchip Procfs drivers 256*4882a593Smuzhiyun# 257*4882a593Smuzhiyun 258*4882a593Smuzhiyunconfig RK_CMA_PROCFS 259*4882a593Smuzhiyun tristate "CMA procfs interface" 260*4882a593Smuzhiyun depends on CMA && PROC_FS 261*4882a593Smuzhiyun help 262*4882a593Smuzhiyun Turns on the ProcFS interface for CMA, shows the bitmap in hex 263*4882a593Smuzhiyun format. 264*4882a593Smuzhiyun 265*4882a593Smuzhiyunconfig RK_DMABUF_PROCFS 266*4882a593Smuzhiyun tristate "DMABUF procfs support" 267*4882a593Smuzhiyun depends on DMA_SHARED_BUFFER 268*4882a593Smuzhiyun depends on PROC_FS 269*4882a593Smuzhiyun help 270*4882a593Smuzhiyun Turns on this to create a procfs debug interface for dma-buf, support 271*4882a593Smuzhiyun get information from db_list by get_each_dmabuf. 272*4882a593Smuzhiyun 273*4882a593Smuzhiyun If unsure, say "N". 274*4882a593Smuzhiyun 275*4882a593Smuzhiyunconfig RK_MEMBLOCK_PROCFS 276*4882a593Smuzhiyun bool "Memblock procfs for reserved memory" 277*4882a593Smuzhiyun depends on PROC_FS && ARCH_KEEP_MEMBLOCK 278*4882a593Smuzhiyun help 279*4882a593Smuzhiyun Extend memblock procfs to show size of each memblock, and shows the 280*4882a593Smuzhiyun result of total size by KiB format. 281*4882a593Smuzhiyun 282*4882a593Smuzhiyunsource "drivers/soc/rockchip/minidump/Kconfig" 283*4882a593Smuzhiyun 284*4882a593Smuzhiyunendmenu 285*4882a593Smuzhiyun 286*4882a593Smuzhiyunendif 287