Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Andy Gross | 5d144e3 | 2014-04-24 11:31:21 -0500 | [diff] [blame] | 2 | # |
| 3 | # QCOM Soc drivers |
| 4 | # |
Srinivas Kandagatla | 2a46481 | 2017-07-26 17:27:16 +0200 | [diff] [blame] | 5 | menu "Qualcomm SoC drivers" |
| 6 | |
Bjorn Andersson | 2209481 | 2019-06-11 21:45:34 -0700 | [diff] [blame] | 7 | config QCOM_AOSS_QMP |
| 8 | tristate "Qualcomm AOSS Driver" |
| 9 | depends on ARCH_QCOM || COMPILE_TEST |
| 10 | depends on MAILBOX |
Randy Dunlap | 6b9d226 | 2019-06-14 14:47:48 -0700 | [diff] [blame] | 11 | depends on COMMON_CLK && PM |
Bjorn Andersson | 2209481 | 2019-06-11 21:45:34 -0700 | [diff] [blame] | 12 | select PM_GENERIC_DOMAINS |
| 13 | help |
| 14 | This driver provides the means of communicating with and controlling |
| 15 | the low-power state for resources related to the remoteproc |
| 16 | subsystems as well as controlling the debug clocks exposed by the Always On |
| 17 | Subsystem (AOSS) using Qualcomm Messaging Protocol (QMP). |
| 18 | |
Mahesh Sivasubramanian | 312416d | 2018-04-10 11:57:23 -0600 | [diff] [blame] | 19 | config QCOM_COMMAND_DB |
| 20 | bool "Qualcomm Command DB" |
Arnd Bergmann | 0ea3fa1 | 2018-05-25 18:08:24 +0200 | [diff] [blame] | 21 | depends on ARCH_QCOM || COMPILE_TEST |
| 22 | depends on OF_RESERVED_MEM |
Mahesh Sivasubramanian | 312416d | 2018-04-10 11:57:23 -0600 | [diff] [blame] | 23 | help |
| 24 | Command DB queries shared memory by key string for shared system |
| 25 | resources. Platform drivers that require to set state of a shared |
| 26 | resource on a RPM-hardened platform must use this database to get |
| 27 | SoC specific identifier and information for the shared resources. |
| 28 | |
Karthikeyan Ramasubramanian | eddac5a | 2018-03-30 11:08:17 -0600 | [diff] [blame] | 29 | config QCOM_GENI_SE |
| 30 | tristate "QCOM GENI Serial Engine Driver" |
| 31 | depends on ARCH_QCOM || COMPILE_TEST |
| 32 | help |
| 33 | This driver is used to manage Generic Interface (GENI) firmware based |
| 34 | Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This |
| 35 | driver is also used to manage the common aspects of multiple Serial |
| 36 | Engines present in the QUP. |
| 37 | |
Andy Gross | 5d144e3 | 2014-04-24 11:31:21 -0500 | [diff] [blame] | 38 | config QCOM_GSBI |
Krzysztof Kozlowski | a9e8fce | 2019-11-20 21:39:25 +0800 | [diff] [blame] | 39 | tristate "QCOM General Serial Bus Interface" |
| 40 | depends on ARCH_QCOM || COMPILE_TEST |
| 41 | select MFD_SYSCON |
| 42 | help |
| 43 | Say y here to enable GSBI support. The GSBI provides control |
| 44 | functions for connecting the underlying serial UART, SPI, and I2C |
| 45 | devices to the output pins. |
Andy Gross | 5d144e3 | 2014-04-24 11:31:21 -0500 | [diff] [blame] | 46 | |
Rishabh Bhatnagar | a3134fb | 2018-05-23 17:35:21 -0700 | [diff] [blame] | 47 | config QCOM_LLCC |
| 48 | tristate "Qualcomm Technologies, Inc. LLCC driver" |
Niklas Cassel | ccfb464 | 2018-08-29 09:57:23 +0200 | [diff] [blame] | 49 | depends on ARCH_QCOM || COMPILE_TEST |
Rishabh Bhatnagar | a3134fb | 2018-05-23 17:35:21 -0700 | [diff] [blame] | 50 | help |
| 51 | Qualcomm Technologies, Inc. platform specific |
Vivek Gautam | a14b820 | 2019-07-18 18:32:36 +0530 | [diff] [blame] | 52 | Last Level Cache Controller(LLCC) driver for platforms such as, |
| 53 | SDM845. This provides interfaces to clients that use the LLCC. |
| 54 | Say yes here to enable LLCC slice driver. |
Rishabh Bhatnagar | a3134fb | 2018-05-23 17:35:21 -0700 | [diff] [blame] | 55 | |
Bjorn Andersson | 2aad40d | 2017-01-27 03:12:57 -0800 | [diff] [blame] | 56 | config QCOM_MDT_LOADER |
| 57 | tristate |
| 58 | select QCOM_SCM |
| 59 | |
Brian Masney | 88c1e94 | 2019-08-23 05:16:35 -0700 | [diff] [blame] | 60 | config QCOM_OCMEM |
| 61 | tristate "Qualcomm On Chip Memory (OCMEM) driver" |
| 62 | depends on ARCH_QCOM |
| 63 | select QCOM_SCM |
| 64 | help |
Krzysztof Kozlowski | a9e8fce | 2019-11-20 21:39:25 +0800 | [diff] [blame] | 65 | The On Chip Memory (OCMEM) allocator allows various clients to |
| 66 | allocate memory from OCMEM based on performance, latency and power |
| 67 | requirements. This is typically used by the GPU, camera/video, and |
| 68 | audio components on some Snapdragon SoCs. |
Brian Masney | 88c1e94 | 2019-08-23 05:16:35 -0700 | [diff] [blame] | 69 | |
Sibi Sankar | fbe639b | 2020-03-12 17:38:40 +0530 | [diff] [blame] | 70 | config QCOM_PDR_HELPERS |
| 71 | tristate |
| 72 | select QCOM_QMI_HELPERS |
| 73 | |
Bjorn Andersson | 9b8a11e | 2017-12-05 09:43:06 -0800 | [diff] [blame] | 74 | config QCOM_QMI_HELPERS |
| 75 | tristate |
Niklas Cassel | ccfb464 | 2018-08-29 09:57:23 +0200 | [diff] [blame] | 76 | depends on NET |
Bjorn Andersson | 9b8a11e | 2017-12-05 09:43:06 -0800 | [diff] [blame] | 77 | |
Bjorn Andersson | d1de6d6 | 2017-10-16 13:17:08 -0500 | [diff] [blame] | 78 | config QCOM_RMTFS_MEM |
| 79 | tristate "Qualcomm Remote Filesystem memory driver" |
| 80 | depends on ARCH_QCOM |
Bjorn Andersson | fa65f80 | 2018-02-12 17:37:23 -0800 | [diff] [blame] | 81 | select QCOM_SCM |
Bjorn Andersson | d1de6d6 | 2017-10-16 13:17:08 -0500 | [diff] [blame] | 82 | help |
| 83 | The Qualcomm remote filesystem memory driver is used for allocating |
| 84 | and exposing regions of shared memory with remote processors for the |
| 85 | purpose of exchanging sector-data between the remote filesystem |
| 86 | service and its clients. |
| 87 | |
| 88 | Say y here if you intend to boot the modem remoteproc. |
| 89 | |
Lina Iyer | 658628e | 2018-06-20 18:56:58 +0530 | [diff] [blame] | 90 | config QCOM_RPMH |
| 91 | bool "Qualcomm RPM-Hardened (RPMH) Communication" |
Niklas Cassel | c62615b1 | 2018-08-29 09:57:20 +0200 | [diff] [blame] | 92 | depends on ARCH_QCOM && ARM64 || COMPILE_TEST |
Lina Iyer | 658628e | 2018-06-20 18:56:58 +0530 | [diff] [blame] | 93 | help |
| 94 | Support for communication with the hardened-RPM blocks in |
| 95 | Qualcomm Technologies Inc (QTI) SoCs. RPMH communication uses an |
| 96 | internal bus to transmit state requests for shared resources. A set |
| 97 | of hardware components aggregate requests for these resources and |
| 98 | help apply the aggregated state on the resource. |
| 99 | |
Rajendra Nayak | 279b7e8 | 2019-01-10 09:32:07 +0530 | [diff] [blame] | 100 | config QCOM_RPMHPD |
John Stultz | d4889ec | 2020-03-26 22:44:59 +0000 | [diff] [blame] | 101 | tristate "Qualcomm RPMh Power domain driver" |
Rajendra Nayak | 279b7e8 | 2019-01-10 09:32:07 +0530 | [diff] [blame] | 102 | depends on QCOM_RPMH && QCOM_COMMAND_DB |
| 103 | help |
| 104 | QCOM RPMh Power domain driver to support power-domains with |
| 105 | performance states. The driver communicates a performance state |
| 106 | value to RPMh which then translates it into corresponding voltage |
| 107 | for the voltage rail. |
| 108 | |
Rajendra Nayak | bbe3a66c | 2019-01-10 09:32:04 +0530 | [diff] [blame] | 109 | config QCOM_RPMPD |
John Stultz | f29808b | 2020-03-26 22:44:57 +0000 | [diff] [blame] | 110 | tristate "Qualcomm RPM Power domain driver" |
| 111 | depends on QCOM_SMD_RPM |
Rajendra Nayak | bbe3a66c | 2019-01-10 09:32:04 +0530 | [diff] [blame] | 112 | help |
| 113 | QCOM RPM Power domain driver to support power-domains with |
| 114 | performance states. The driver communicates a performance state |
| 115 | value to RPM which then translates it into corresponding voltage |
| 116 | for the voltage rail. |
| 117 | |
Stephen Boyd | 7d0c8be | 2015-08-28 11:23:33 -0700 | [diff] [blame] | 118 | config QCOM_SMEM |
| 119 | tristate "Qualcomm Shared Memory Manager (SMEM)" |
Niklas Cassel | ccfb464 | 2018-08-29 09:57:23 +0200 | [diff] [blame] | 120 | depends on ARCH_QCOM || COMPILE_TEST |
Arnd Bergmann | 73ebb85 | 2015-10-13 17:05:39 +0200 | [diff] [blame] | 121 | depends on HWSPINLOCK |
Stephen Boyd | 7d0c8be | 2015-08-28 11:23:33 -0700 | [diff] [blame] | 122 | help |
| 123 | Say y here to enable support for the Qualcomm Shared Memory Manager. |
| 124 | The driver provides an interface to items in a heap shared among all |
| 125 | processors in a Qualcomm platform. |
| 126 | |
Bjorn Andersson | 936f14c | 2015-07-27 20:20:32 -0700 | [diff] [blame] | 127 | config QCOM_SMD_RPM |
| 128 | tristate "Qualcomm Resource Power Manager (RPM) over SMD" |
Niklas Cassel | ccfb464 | 2018-08-29 09:57:23 +0200 | [diff] [blame] | 129 | depends on ARCH_QCOM || COMPILE_TEST |
Niklas Cassel | a09b440 | 2018-08-29 09:57:19 +0200 | [diff] [blame] | 130 | depends on RPMSG |
Bjorn Andersson | 936f14c | 2015-07-27 20:20:32 -0700 | [diff] [blame] | 131 | help |
| 132 | If you say yes to this option, support will be included for the |
| 133 | Resource Power Manager system found in the Qualcomm 8974 based |
| 134 | devices. |
| 135 | |
| 136 | This is required to access many regulators, clocks and bus |
| 137 | frequencies controlled by the RPM on these devices. |
| 138 | |
| 139 | Say M here if you want to include support for the Qualcomm RPM as a |
| 140 | module. This will build a module called "qcom-smd-rpm". |
Bjorn Andersson | 9460ae2 | 2015-09-24 18:25:01 -0700 | [diff] [blame] | 141 | |
| 142 | config QCOM_SMEM_STATE |
| 143 | bool |
Bjorn Andersson | c97c409 | 2015-09-24 18:25:02 -0700 | [diff] [blame] | 144 | |
Bjorn Andersson | 50e9964 | 2015-09-24 18:25:03 -0700 | [diff] [blame] | 145 | config QCOM_SMP2P |
Arnd Bergmann | 10475d5 | 2015-11-20 11:32:21 +0100 | [diff] [blame] | 146 | tristate "Qualcomm Shared Memory Point to Point support" |
Bjorn Andersson | e718026 | 2017-11-29 16:00:40 -0800 | [diff] [blame] | 147 | depends on MAILBOX |
Bjorn Andersson | 50e9964 | 2015-09-24 18:25:03 -0700 | [diff] [blame] | 148 | depends on QCOM_SMEM |
| 149 | select QCOM_SMEM_STATE |
Niklas Cassel | 810f11a | 2018-08-29 09:57:17 +0200 | [diff] [blame] | 150 | select IRQ_DOMAIN |
Bjorn Andersson | 50e9964 | 2015-09-24 18:25:03 -0700 | [diff] [blame] | 151 | help |
| 152 | Say yes here to support the Qualcomm Shared Memory Point to Point |
| 153 | protocol. |
| 154 | |
Bjorn Andersson | c97c409 | 2015-09-24 18:25:02 -0700 | [diff] [blame] | 155 | config QCOM_SMSM |
Arnd Bergmann | 10475d5 | 2015-11-20 11:32:21 +0100 | [diff] [blame] | 156 | tristate "Qualcomm Shared Memory State Machine" |
Bjorn Andersson | c97c409 | 2015-09-24 18:25:02 -0700 | [diff] [blame] | 157 | depends on QCOM_SMEM |
| 158 | select QCOM_SMEM_STATE |
Niklas Cassel | 0a5cdb4 | 2018-08-29 09:57:18 +0200 | [diff] [blame] | 159 | select IRQ_DOMAIN |
Bjorn Andersson | c97c409 | 2015-09-24 18:25:02 -0700 | [diff] [blame] | 160 | help |
| 161 | Say yes here to support the Qualcomm Shared Memory State Machine. |
| 162 | The state machine is represented by bits in shared memory. |
Bjorn Andersson | ea7a1f2 | 2015-09-21 10:52:55 -0700 | [diff] [blame] | 163 | |
Imran Khan | efb448d | 2019-07-24 04:05:13 +0530 | [diff] [blame] | 164 | config QCOM_SOCINFO |
| 165 | tristate "Qualcomm socinfo driver" |
| 166 | depends on QCOM_SMEM |
| 167 | select SOC_BUS |
| 168 | help |
| 169 | Say yes here to support the Qualcomm socinfo driver, providing |
| 170 | information about the SoC to user space. |
| 171 | |
Bjorn Andersson | ea7a1f2 | 2015-09-21 10:52:55 -0700 | [diff] [blame] | 172 | config QCOM_WCNSS_CTRL |
| 173 | tristate "Qualcomm WCNSS control driver" |
Niklas Cassel | ccfb464 | 2018-08-29 09:57:23 +0200 | [diff] [blame] | 174 | depends on ARCH_QCOM || COMPILE_TEST |
Bjorn Andersson | 5052de8 | 2017-03-27 22:26:33 -0700 | [diff] [blame] | 175 | depends on RPMSG |
Bjorn Andersson | ea7a1f2 | 2015-09-21 10:52:55 -0700 | [diff] [blame] | 176 | help |
| 177 | Client driver for the WCNSS_CTRL SMD channel, used to download nv |
| 178 | firmware to a newly booted WCNSS chip. |
Srinivas Kandagatla | 2a46481 | 2017-07-26 17:27:16 +0200 | [diff] [blame] | 179 | |
Srinivas Kandagatla | 6adba21 | 2018-05-09 13:56:13 +0100 | [diff] [blame] | 180 | config QCOM_APR |
| 181 | tristate "Qualcomm APR Bus (Asynchronous Packet Router)" |
Niklas Cassel | ccfb464 | 2018-08-29 09:57:23 +0200 | [diff] [blame] | 182 | depends on ARCH_QCOM || COMPILE_TEST |
Srinivas Kandagatla | 6adba21 | 2018-05-09 13:56:13 +0100 | [diff] [blame] | 183 | depends on RPMSG |
Bjorn Andersson | de722e4 | 2020-03-16 15:03:53 -0700 | [diff] [blame] | 184 | depends on NET |
Sibi Sankar | 8347356 | 2020-03-12 17:38:42 +0530 | [diff] [blame] | 185 | select QCOM_PDR_HELPERS |
Srinivas Kandagatla | 6adba21 | 2018-05-09 13:56:13 +0100 | [diff] [blame] | 186 | help |
Krzysztof Kozlowski | a9e8fce | 2019-11-20 21:39:25 +0800 | [diff] [blame] | 187 | Enable APR IPC protocol support between |
| 188 | application processor and QDSP6. APR is |
| 189 | used by audio driver to configure QDSP6 |
| 190 | ASM, ADM and AFE modules. |
Srinivas Kandagatla | 2a46481 | 2017-07-26 17:27:16 +0200 | [diff] [blame] | 191 | endmenu |