xref: /OK3568_Linux_fs/kernel/drivers/soc/rockchip/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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