xref: /openbmc/linux/drivers/soc/qcom/Kconfig (revision e657c18a)
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_RPMHPD
102	bool "Qualcomm RPMh Power domain driver"
103	depends on QCOM_RPMH && QCOM_COMMAND_DB
104	help
105	  QCOM RPMh Power domain driver to support power-domains with
106	  performance states. The driver communicates a performance state
107	  value to RPMh which then translates it into corresponding voltage
108	  for the voltage rail.
109
110config QCOM_RPMPD
111	bool "Qualcomm RPM Power domain driver"
112	depends on QCOM_SMD_RPM=y
113	help
114	  QCOM RPM Power domain driver to support power-domains with
115	  performance states. The driver communicates a performance state
116	  value to RPM which then translates it into corresponding voltage
117	  for the voltage rail.
118
119config QCOM_SMEM
120	tristate "Qualcomm Shared Memory Manager (SMEM)"
121	depends on ARCH_QCOM || COMPILE_TEST
122	depends on HWSPINLOCK
123	help
124	  Say y here to enable support for the Qualcomm Shared Memory Manager.
125	  The driver provides an interface to items in a heap shared among all
126	  processors in a Qualcomm platform.
127
128config QCOM_SMD_RPM
129	tristate "Qualcomm Resource Power Manager (RPM) over SMD"
130	depends on ARCH_QCOM || COMPILE_TEST
131	depends on RPMSG
132	help
133	  If you say yes to this option, support will be included for the
134	  Resource Power Manager system found in the Qualcomm 8974 based
135	  devices.
136
137	  This is required to access many regulators, clocks and bus
138	  frequencies controlled by the RPM on these devices.
139
140	  Say M here if you want to include support for the Qualcomm RPM as a
141	  module. This will build a module called "qcom-smd-rpm".
142
143config QCOM_SMEM_STATE
144	bool
145
146config QCOM_SMP2P
147	tristate "Qualcomm Shared Memory Point to Point support"
148	depends on MAILBOX
149	depends on QCOM_SMEM
150	select QCOM_SMEM_STATE
151	select IRQ_DOMAIN
152	help
153	  Say yes here to support the Qualcomm Shared Memory Point to Point
154	  protocol.
155
156config QCOM_SMSM
157	tristate "Qualcomm Shared Memory State Machine"
158	depends on QCOM_SMEM
159	select QCOM_SMEM_STATE
160	select IRQ_DOMAIN
161	help
162	  Say yes here to support the Qualcomm Shared Memory State Machine.
163	  The state machine is represented by bits in shared memory.
164
165config QCOM_WCNSS_CTRL
166	tristate "Qualcomm WCNSS control driver"
167	depends on ARCH_QCOM || COMPILE_TEST
168	depends on RPMSG
169	help
170	  Client driver for the WCNSS_CTRL SMD channel, used to download nv
171	  firmware to a newly booted WCNSS chip.
172
173config QCOM_APR
174	tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
175	depends on ARCH_QCOM || COMPILE_TEST
176	depends on RPMSG
177	help
178          Enable APR IPC protocol support between
179          application processor and QDSP6. APR is
180          used by audio driver to configure QDSP6
181          ASM, ADM and AFE modules.
182endmenu
183