358 lines
10 KiB
Plaintext
358 lines
10 KiB
Plaintext
# 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
|