blob: ba79b609aca21068fc73b7b6f552137dfebdce87 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001#
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