xref: /openbmc/linux/drivers/soc/qcom/Kconfig (revision 8a5aaf97)
1#
2# QCOM Soc drivers
3#
4menu "Qualcomm SoC drivers"
5
6config QCOM_COMMAND_DB
7	bool "Qualcomm Command DB"
8	depends on ARCH_QCOM || COMPILE_TEST
9	depends on OF_RESERVED_MEM
10	help
11	  Command DB queries shared memory by key string for shared system
12	  resources. Platform drivers that require to set state of a shared
13	  resource on a RPM-hardened platform must use this database to get
14	  SoC specific identifier and information for the shared resources.
15
16config QCOM_GENI_SE
17	tristate "QCOM GENI Serial Engine Driver"
18	depends on ARCH_QCOM || COMPILE_TEST
19	help
20	  This driver is used to manage Generic Interface (GENI) firmware based
21	  Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This
22	  driver is also used to manage the common aspects of multiple Serial
23	  Engines present in the QUP.
24
25config QCOM_GLINK_SSR
26	tristate "Qualcomm Glink SSR driver"
27	depends on RPMSG
28	depends on QCOM_RPROC_COMMON
29	help
30	  Say y here to enable GLINK SSR support. The GLINK SSR driver
31	  implements the SSR protocol for notifying the remote processor about
32	  neighboring subsystems going up or down.
33
34config QCOM_GSBI
35        tristate "QCOM General Serial Bus Interface"
36        depends on ARCH_QCOM || COMPILE_TEST
37        select MFD_SYSCON
38        help
39          Say y here to enable GSBI support.  The GSBI provides control
40          functions for connecting the underlying serial UART, SPI, and I2C
41          devices to the output pins.
42
43config QCOM_LLCC
44	tristate "Qualcomm Technologies, Inc. LLCC driver"
45	depends on ARCH_QCOM || COMPILE_TEST
46	help
47	  Qualcomm Technologies, Inc. platform specific
48	  Last Level Cache Controller(LLCC) driver. This provides interfaces
49	  to clients that use the LLCC. Say yes here to enable LLCC slice
50	  driver.
51
52config QCOM_SDM845_LLCC
53	tristate "Qualcomm Technologies, Inc. SDM845 LLCC driver"
54	depends on QCOM_LLCC
55	help
56	  Say yes here to enable the LLCC driver for SDM845. This provides
57	  data required to configure LLCC so that clients can start using the
58	  LLCC slices.
59
60config QCOM_MDT_LOADER
61	tristate
62	select QCOM_SCM
63
64config QCOM_PM
65	bool "Qualcomm Power Management"
66	depends on ARCH_QCOM && !ARM64
67	select ARM_CPU_SUSPEND
68	select QCOM_SCM
69	help
70	  QCOM Platform specific power driver to manage cores and L2 low power
71	  modes. It interface with various system drivers to put the cores in
72	  low power modes.
73
74config QCOM_QMI_HELPERS
75	tristate
76	depends on ARCH_QCOM || COMPILE_TEST
77	depends on NET
78
79config QCOM_RMTFS_MEM
80	tristate "Qualcomm Remote Filesystem memory driver"
81	depends on ARCH_QCOM
82	select QCOM_SCM
83	help
84	  The Qualcomm remote filesystem memory driver is used for allocating
85	  and exposing regions of shared memory with remote processors for the
86	  purpose of exchanging sector-data between the remote filesystem
87	  service and its clients.
88
89	  Say y here if you intend to boot the modem remoteproc.
90
91config QCOM_RPMH
92	bool "Qualcomm RPM-Hardened (RPMH) Communication"
93	depends on ARCH_QCOM && ARM64 || COMPILE_TEST
94	help
95	  Support for communication with the hardened-RPM blocks in
96	  Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an
97	  internal bus to transmit state requests for shared resources. A set
98	  of hardware components aggregate requests for these resources and
99	  help apply the aggregated state on the resource.
100
101config QCOM_SMEM
102	tristate "Qualcomm Shared Memory Manager (SMEM)"
103	depends on ARCH_QCOM || COMPILE_TEST
104	depends on HWSPINLOCK
105	help
106	  Say y here to enable support for the Qualcomm Shared Memory Manager.
107	  The driver provides an interface to items in a heap shared among all
108	  processors in a Qualcomm platform.
109
110config QCOM_SMD_RPM
111	tristate "Qualcomm Resource Power Manager (RPM) over SMD"
112	depends on ARCH_QCOM || COMPILE_TEST
113	depends on RPMSG
114	help
115	  If you say yes to this option, support will be included for the
116	  Resource Power Manager system found in the Qualcomm 8974 based
117	  devices.
118
119	  This is required to access many regulators, clocks and bus
120	  frequencies controlled by the RPM on these devices.
121
122	  Say M here if you want to include support for the Qualcomm RPM as a
123	  module. This will build a module called "qcom-smd-rpm".
124
125config QCOM_SMEM_STATE
126	bool
127
128config QCOM_SMP2P
129	tristate "Qualcomm Shared Memory Point to Point support"
130	depends on MAILBOX
131	depends on QCOM_SMEM
132	select QCOM_SMEM_STATE
133	select IRQ_DOMAIN
134	help
135	  Say yes here to support the Qualcomm Shared Memory Point to Point
136	  protocol.
137
138config QCOM_SMSM
139	tristate "Qualcomm Shared Memory State Machine"
140	depends on QCOM_SMEM
141	select QCOM_SMEM_STATE
142	select IRQ_DOMAIN
143	help
144	  Say yes here to support the Qualcomm Shared Memory State Machine.
145	  The state machine is represented by bits in shared memory.
146
147config QCOM_WCNSS_CTRL
148	tristate "Qualcomm WCNSS control driver"
149	depends on ARCH_QCOM || COMPILE_TEST
150	depends on RPMSG
151	help
152	  Client driver for the WCNSS_CTRL SMD channel, used to download nv
153	  firmware to a newly booted WCNSS chip.
154
155config QCOM_APR
156	tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
157	depends on ARCH_QCOM || COMPILE_TEST
158	depends on RPMSG
159	help
160          Enable APR IPC protocol support between
161          application processor and QDSP6. APR is
162          used by audio driver to configure QDSP6
163          ASM, ADM and AFE modules.
164endmenu
165