# SPDX-License-Identifier: GPL-2.0-only if ARCH_ROCKCHIP || COMPILE_TEST menu "Rockchip SoC drivers" source "drivers/soc/rockchip/Kconfig.cpu" # # Rockchip Android Features # config NO_GKI bool "Disable Android GKI support" default y if !GKI_HACKS_TO_FIX help 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" help 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 (NVMEM_ROCKCHIP_EFUSE || NVMEM_ROCKCHIP_OTP) && (ARM64 || ARM) help Say y here to enable Rockchip cpuinfo support. Set system_serial_low/high from eFuse ID. Serial can read from /proc/cpuinfo. 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" help The General Register Files are a central component providing special additional settings registers for a lot of soc-components. In a lot of cases there also need to be default settings initialized to make some of them conform to expectations of the kernel. config ROCKCHIP_HW_DECOMPRESS bool "Rockchip HardWare Decompress Support" help 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 help Say y here to enable rockchip IPA. Add a simple power model for ipa to calculate static power and dynamic power. If unsure, say N. config ROCKCHIP_OPP tristate "Rockchip OPP select support" depends on PM_DEVFREQ 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" depends on PM select PM_GENERIC_DOMAINS help Say y here to enable power domain support. In order to meet high performance and low power requirements, a power management unit is designed or saving power when RK3288 in low power mode. The RK3288 PMU is dedicated for managing the power of the whole chip. If unsure, say N. config ROCKCHIP_DTPM tristate "Rockchip DTPM hierarchy" depends on DTPM && m help Describe the hierarchy for the Dynamic Thermal Power Management tree on this platform. That will create all the power capping capable devices. config ROCKCHIP_PVTM tristate "Rockchip PVTM support" help Say y here to enable pvtm support. The Process-Voltage-Temperature Monitor (PVTM) is used to monitor the chip performance variance caused by chip process, voltage and temperature. config ROCKCHIP_RAMDISK bool "Rockchip RAM disk support" help Saying Y here will allow you to use reserved RAM memory as a block device. config ROCKCHIP_LITE_ULTRA_SUSPEND bool "Enable lite/ultra suspend" depends on SUSPEND && NO_GKI help Add mem_sleep_states options lite/ultra for RK ebook project config ROCKCHIP_SUSPEND_MODE tristate "Rockchip suspend mode config" depends on SUSPEND help Say Y here if you want to set the suspend mode to the ATF. config ROCKCHIP_SYSTEM_MONITOR tristate "Rockchip system monitor support" help Say y here to enable rockchip system monitor support. config HAS_EARLYSUSPEND bool config ROCKCHIP_EARLYSUSPEND bool "Rockchip early suspend" select HAS_EARLYSUSPEND depends on !EARLYSUSPEND depends on !FB_NOTIFY depends on ROCKCHIP_SYSTEM_MONITOR help Call early suspend handlers when the user requested sleep state changes. 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 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" default n help 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" help Print dbgpcsr for every cpu when panic. config ROCKCHIP_MINI_KERNEL bool "Rockchip Mini Kernel support" select NO_GKI default y if CPU_RV1103B || CPU_RV1106 || CPU_RV1126 help Say y here to enable Rockchip mini kernel support. This option make the kernel size smaller. if ROCKCHIP_MINI_KERNEL config ROCKCHIP_KMALLOC_NO_USE_ARCH_DMA_MINALIGN bool "Rockchip kmalloc no use ARCH_DMA_MINALIGN" default y if CPU_RV1103B || CPU_RV1106 || CPU_RV1126 help Say y here to make ARCH_KMALLOC_MINALIGN != ARCH_DMA_MINALIGN This option can save kmalloc memory but break drivers which assume kmalloc returned memory is aligned for DMA. If unsure, say N. endif config ROCKCHIP_THUNDER_BOOT bool "Rockchip Thunder Boot support" default n depends on NO_GKI select ROCKCHIP_THUNDER_BOOT_DEFER_FREE_MEMBLOCK if SMP help Say y here to enable Rockchip thunder boot support. This option make the kernel boot faster. config ROCKCHIP_THUNDER_BOOT_DEFER_FREE_MEMBLOCK bool "Defer free large memblock to Buddy allocator" depends on ROCKCHIP_THUNDER_BOOT depends on SMP depends on NO_GKI help The physical memory of a system is divided into several types, like memory reserved for device, for kernel pagetable, etc. The remaining area is for Buddy allocator. Normally, The memory for Buddy is consist of different size blocks, so, under meeting the memory request of kernel booting, we can defer free the large block size to Buddy which can be done later in work queue in parallel to other kernel threads, and the size of the large block can be defined in kernel command line by "defer_free_block_size" boot parameter. config ROCKCHIP_THUNDER_BOOT_MMC bool "Rockchip Thunder Boot from MMC" depends on ROCKCHIP_THUNDER_BOOT help Say y if boot from MMC. config ROCKCHIP_THUNDER_BOOT_SFC bool "Rockchip Thunder Boot from SFC" depends on ROCKCHIP_THUNDER_BOOT help Say y if boot from SPI Flash from SFC controller. config ROCKCHIP_THUNDER_BOOT_SERVICE bool "Rockchip Thunder Boot Service" depends on ROCKCHIP_THUNDER_BOOT depends on MAILBOX help Say y if MCU need to notify AP. config ROCKCHIP_NPOR_POWERGOOD bool "Rockchip NPOR Powergood" help 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 dma_buf_get_each. 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