xref: /openbmc/linux/drivers/soc/qcom/Kconfig (revision cc1e6315)
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
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
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 && NET
77	help
78	  Helper library for handling QMI encoded messages.  QMI encoded
79	  messages are used in communication between the majority of QRTR
80	  clients and this helpers provide the common functionality needed for
81	  doing this from a kernel driver.
82
83config QCOM_RMTFS_MEM
84	tristate "Qualcomm Remote Filesystem memory driver"
85	depends on ARCH_QCOM
86	select QCOM_SCM
87	help
88	  The Qualcomm remote filesystem memory driver is used for allocating
89	  and exposing regions of shared memory with remote processors for the
90	  purpose of exchanging sector-data between the remote filesystem
91	  service and its clients.
92
93	  Say y here if you intend to boot the modem remoteproc.
94
95config QCOM_RPMH
96	bool "Qualcomm RPM-Hardened (RPMH) Communication"
97	depends on ARCH_QCOM && ARM64 && OF || COMPILE_TEST
98	help
99	  Support for communication with the hardened-RPM blocks in
100	  Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an
101	  internal bus to transmit state requests for shared resources. A set
102	  of hardware components aggregate requests for these resources and
103	  help apply the aggregated state on the resource.
104
105config QCOM_SMEM
106	tristate "Qualcomm Shared Memory Manager (SMEM)"
107	depends on ARCH_QCOM
108	depends on HWSPINLOCK
109	help
110	  Say y here to enable support for the Qualcomm Shared Memory Manager.
111	  The driver provides an interface to items in a heap shared among all
112	  processors in a Qualcomm platform.
113
114config QCOM_SMD_RPM
115	tristate "Qualcomm Resource Power Manager (RPM) over SMD"
116	depends on ARCH_QCOM
117	depends on RPMSG && OF
118	help
119	  If you say yes to this option, support will be included for the
120	  Resource Power Manager system found in the Qualcomm 8974 based
121	  devices.
122
123	  This is required to access many regulators, clocks and bus
124	  frequencies controlled by the RPM on these devices.
125
126	  Say M here if you want to include support for the Qualcomm RPM as a
127	  module. This will build a module called "qcom-smd-rpm".
128
129config QCOM_SMEM_STATE
130	bool
131
132config QCOM_SMP2P
133	tristate "Qualcomm Shared Memory Point to Point support"
134	depends on MAILBOX
135	depends on QCOM_SMEM
136	select QCOM_SMEM_STATE
137	help
138	  Say yes here to support the Qualcomm Shared Memory Point to Point
139	  protocol.
140
141config QCOM_SMSM
142	tristate "Qualcomm Shared Memory State Machine"
143	depends on QCOM_SMEM
144	select QCOM_SMEM_STATE
145	help
146	  Say yes here to support the Qualcomm Shared Memory State Machine.
147	  The state machine is represented by bits in shared memory.
148
149config QCOM_WCNSS_CTRL
150	tristate "Qualcomm WCNSS control driver"
151	depends on ARCH_QCOM
152	depends on RPMSG
153	help
154	  Client driver for the WCNSS_CTRL SMD channel, used to download nv
155	  firmware to a newly booted WCNSS chip.
156
157config QCOM_APR
158	tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
159	depends on ARCH_QCOM
160	depends on RPMSG
161	help
162          Enable APR IPC protocol support between
163          application processor and QDSP6. APR is
164          used by audio driver to configure QDSP6
165          ASM, ADM and AFE modules.
166endmenu
167