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