/Linux-v5.15/Documentation/devicetree/bindings/soc/qcom/ |
D | qcom,smd-rpm.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: "http://devicetree.org/schemas/soc/qcom/qcom,smd-rpm.yaml#" 5 $schema: "http://devicetree.org/meta-schemas/core.yaml#" 7 title: Qualcomm Resource Power Manager (RPM) over SMD 10 This driver is used to interface with the Resource Power Manager (RPM) found 11 in various Qualcomm platforms. The RPM allows each component in the system 15 The SMD information for the RPM edge should be filled out. See qcom,smd.txt 16 for the required edge properties. All SMD related properties will reside 17 within the RPM node itself. [all …]
|
D | qcom,smd.txt | 1 Qualcomm Shared Memory Driver (SMD) binding 7 - compatible: 10 Definition: must be "qcom,smd" 14 Each subnode of the SMD node represents a remote subsystem or a remote 15 processor of some sort - or in SMD language an "edge". The name of the edges 19 - interrupts: 21 Value type: <prop-encoded-array> 25 - mboxes: 27 Value type: <prop-encoded-array> 31 - qcom,ipc: [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/regulator/ |
D | qcom,smd-rpm-regulator.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/regulator/qcom,smd-rpm-regulator.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: QCOM SMD RPM REGULATOR 10 The Qualcomm RPM over SMD regulator is modelled as a subdevice of the RPM. 11 Because SMD is used as the communication transport mechanism, the RPM 12 resides as a subnode of the SMD. As such, the SMD-RPM regulator requires 13 that the SMD and RPM nodes be present. 15 Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd.txt for [all …]
|
/Linux-v5.15/drivers/interconnect/qcom/ |
D | smd-rpm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * RPM over SMD communication wrapper for interconnects 9 #include <linux/interconnect-provider.h> 14 #include <linux/soc/qcom/smd-rpm.h> 16 #include "smd-rpm.h" 56 icc_smd_rpm = dev_get_drvdata(pdev->dev.parent); in qcom_icc_rpm_smd_probe() 59 dev_err(&pdev->dev, "unable to retrieve handle to RPM\n"); in qcom_icc_rpm_smd_probe() 60 return -ENODEV; in qcom_icc_rpm_smd_probe() 75 MODULE_DESCRIPTION("Qualcomm SMD RPM interconnect proxy driver");
|
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 3 icc-bcm-voter-objs := bcm-voter.o 4 qnoc-msm8916-objs := msm8916.o 5 qnoc-msm8939-objs := msm8939.o 6 qnoc-msm8974-objs := msm8974.o 7 icc-osm-l3-objs := osm-l3.o 8 qnoc-qcs404-objs := qcs404.o 9 icc-rpmh-obj := icc-rpmh.o 10 qnoc-sc7180-objs := sc7180.o 11 qnoc-sc7280-objs := sc7280.o [all …]
|
D | smd-rpm.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 #include <linux/soc/qcom/smd-rpm.h>
|
D | icc-rpm.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/interconnect-provider.h> 16 #include "smd-rpm.h" 17 #include "icc-rpm.h" 32 qn = src->data; in qcom_icc_set() 33 provider = src->provider; in qcom_icc_set() 36 list_for_each_entry(n, &provider->nodes, node_list) in qcom_icc_set() 37 provider->aggregate(n, 0, n->avg_bw, n->peak_bw, in qcom_icc_set() 43 /* send bandwidth request message to the RPM processor */ in qcom_icc_set() 44 if (qn->mas_rpm_id != -1) { in qcom_icc_set() [all …]
|
D | qcs404.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <dt-bindings/interconnect/qcom,qcs404.h> 9 #include <linux/interconnect-provider.h> 16 #include "smd-rpm.h" 17 #include "icc-rpm.h" 100 DEFINE_QNODE(mas_apps_proc, QCS404_MASTER_AMPSS_M0, 8, 0, -1, QCS404_SLAVE_EBI_CH0, QCS404_BIMC_SNO… 101 DEFINE_QNODE(mas_oxili, QCS404_MASTER_GRAPHICS_3D, 8, -1, -1, QCS404_SLAVE_EBI_CH0, QCS404_BIMC_SNO… 102 DEFINE_QNODE(mas_mdp, QCS404_MASTER_MDP_PORT0, 8, -1, -1, QCS404_SLAVE_EBI_CH0, QCS404_BIMC_SNOC_SL… 103 DEFINE_QNODE(mas_snoc_bimc_1, QCS404_SNOC_BIMC_1_MAS, 8, 76, -1, QCS404_SLAVE_EBI_CH0); 104 DEFINE_QNODE(mas_tcu_0, QCS404_MASTER_TCU_0, 8, -1, -1, QCS404_SLAVE_EBI_CH0, QCS404_BIMC_SNOC_SLV); [all …]
|
/Linux-v5.15/drivers/soc/qcom/ |
D | smd-rpm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. 15 #include <linux/soc/qcom/smd-rpm.h> 20 * struct qcom_smd_rpm - state of the rpm device driver 21 * @rpm_channel: reference to the smd channel 23 * @dev: rpm device 26 * @ack_status: result of the rpm request 39 * struct qcom_rpm_header - header for all rpm requests and responses 49 * struct qcom_rpm_request - request message to the rpm 65 * struct qcom_rpm_message - response message from the rpm [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 15 the low-power state for resources related to the remoteproc 26 resource on a RPM-hardened platform must use this database to get 43 be called qcom-cpr 105 purpose of exchanging sector-data between the remote filesystem 111 tristate "Qualcomm RPM-Hardened (RPMH) Communication" 115 Support for communication with the hardened-RPM blocks in 125 QCOM RPMh Power domain driver to support power-domains with 131 tristate "Qualcomm RPM Power domain driver" 134 QCOM RPM Power domain driver to support power-domains with [all …]
|
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 CFLAGS_rpmh-rsc.o := -I$(src) 3 obj-$(CONFIG_QCOM_AOSS_QMP) += qcom_aoss.o 4 obj-$(CONFIG_QCOM_GENI_SE) += qcom-geni-se.o 5 obj-$(CONFIG_QCOM_COMMAND_DB) += cmd-db.o 6 obj-$(CONFIG_QCOM_CPR) += cpr.o 7 obj-$(CONFIG_QCOM_GSBI) += qcom_gsbi.o 8 obj-$(CONFIG_QCOM_MDT_LOADER) += mdt_loader.o 9 obj-$(CONFIG_QCOM_OCMEM) += ocmem.o 10 obj-$(CONFIG_QCOM_PDR_HELPERS) += pdr_interface.o [all …]
|
D | rpmpd.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. */ 14 #include <linux/soc/qcom/smd-rpm.h> 16 #include <dt-bindings/power/qcom-rpmpd.h> 21 * RPMPD_X is X encoded as a little-endian, lower-case, ASCII string */ 108 struct qcom_smd_rpm *rpm; member 121 /* mdm9607 RPM Power Domains */ 142 /* msm8939 RPM Power Domains */ 168 /* msm8916 RPM Power Domains */ 188 /* msm8976 RPM Power Domains */ [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/clock/ |
D | qcom,rpmcc.txt | 1 Qualcomm RPM Clock Controller Binding 2 ------------------------------------------------ 3 The RPM is a dedicated hardware engine for managing the shared 10 - compatible : shall contain only one of the following. The generic 13 "qcom,rpmcc-mdm9607", "qcom,rpmcc" 14 "qcom,rpmcc-msm8660", "qcom,rpmcc" 15 "qcom,rpmcc-apq8060", "qcom,rpmcc" 16 "qcom,rpmcc-msm8226", "qcom,rpmcc" 17 "qcom,rpmcc-msm8916", "qcom,rpmcc" 18 "qcom,rpmcc-msm8936", "qcom,rpmcc" [all …]
|
/Linux-v5.15/drivers/rpmsg/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 15 in /dev. They make it possible for user-space programs to send and 40 tristate "Qualcomm RPM Glink driver" 45 Say y here to enable support for the GLINK RPM communication driver, 46 which serves as a channel for communication with the RPM in GLINK 60 tristate "Qualcomm Shared Memory Driver (SMD)"
|
/Linux-v5.15/arch/arm/boot/dts/ |
D | qcom-apq8084.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include <dt-bindings/interrupt-controller/arm-gic.h> 5 #include <dt-bindings/clock/qcom,gcc-apq8084.h> 6 #include <dt-bindings/gpio/gpio.h> 9 #address-cells = <1>; 10 #size-cells = <1>; 13 interrupt-parent = <&intc>; 15 reserved-memory { 16 #address-cells = <1>; [all …]
|
D | qcom-msm8974.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include <dt-bindings/interconnect/qcom,msm8974.h> 5 #include <dt-bindings/interrupt-controller/arm-gic.h> 6 #include <dt-bindings/clock/qcom,gcc-msm8974.h> 7 #include <dt-bindings/clock/qcom,mmcc-msm8974.h> 8 #include <dt-bindings/clock/qcom,rpmcc.h> 9 #include <dt-bindings/reset/qcom,gcc-msm8974.h> 10 #include <dt-bindings/gpio/gpio.h> 13 #address-cells = <1>; [all …]
|
D | qcom-msm8974-fairphone-fp2.dts | 1 #include "qcom-msm8974.dtsi" 2 #include "qcom-pm8841.dtsi" 3 #include "qcom-pm8941.dtsi" 4 #include <dt-bindings/gpio/gpio.h> 5 #include <dt-bindings/input/input.h> 6 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 18 stdout-path = "serial0:115200n8"; 21 gpio-keys { 22 compatible = "gpio-keys"; 23 input-name = "gpio-keys"; [all …]
|
D | qcom-apq8064.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 2 /dts-v1/; 4 #include <dt-bindings/clock/qcom,gcc-msm8960.h> 5 #include <dt-bindings/reset/qcom,gcc-msm8960.h> 6 #include <dt-bindings/clock/qcom,mmcc-msm8960.h> 7 #include <dt-bindings/clock/qcom,rpmcc.h> 8 #include <dt-bindings/soc/qcom,gsbi.h> 9 #include <dt-bindings/interrupt-controller/irq.h> 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 #address-cells = <1>; [all …]
|
/Linux-v5.15/drivers/clk/qcom/ |
D | clk-smd-rpm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/clk-provider.h> 17 #include <linux/soc/qcom/smd-rpm.h> 19 #include <dt-bindings/clock/qcom,rpmcc.h> 20 #include <dt-bindings/mfd/qcom-rpm.h> 144 struct qcom_smd_rpm *rpm; member 154 struct qcom_rpm *rpm; member 170 .key = cpu_to_le32(r->rpm_key), in clk_smd_rpm_handoff() 172 .value = cpu_to_le32(r->branch ? 1 : INT_MAX), in clk_smd_rpm_handoff() 175 ret = qcom_rpm_smd_write(r->rpm, QCOM_SMD_RPM_ACTIVE_STATE, in clk_smd_rpm_handoff() [all …]
|
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-$(CONFIG_COMMON_CLK_QCOM) += clk-qcom.o 4 clk-qcom-y += common.o 5 clk-qcom-y += clk-regmap.o 6 clk-qcom-y += clk-alpha-pll.o 7 clk-qcom-y += clk-pll.o 8 clk-qcom-y += clk-rcg.o 9 clk-qcom-y += clk-rcg2.o 10 clk-qcom-y += clk-branch.o 11 clk-qcom-y += clk-regmap-divider.o [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 67 tristate "RPM based Clock Controller" 71 The RPM (Resource Power Manager) is a dedicated hardware engine for 76 Say Y if you want to support the clocks exposed by the RPM on 80 tristate "RPM over SMD based Clock Controller" 84 The RPM (Resource Power Manager) is a dedicated hardware engine for 89 Say Y if you want to support the clocks exposed by the RPM on 640 tristate "High-Frequency PLL (HFPLL) Clock Controller" 642 Support for the high-frequency PLLs present on Qualcomm devices.
|
/Linux-v5.15/include/dt-bindings/clock/ |
D | qcom,rpmcc.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 9 /* RPM clocks */ 45 /* SMD RPM clocks */
|
/Linux-v5.15/arch/arm64/boot/dts/qcom/ |
D | msm8994.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. 5 #include <dt-bindings/interrupt-controller/arm-gic.h> 6 #include <dt-bindings/clock/qcom,gcc-msm8994.h> 7 #include <dt-bindings/power/qcom-rpmpd.h> 10 interrupt-parent = <&intc>; 12 #address-cells = <2>; 13 #size-cells = <2>; 18 xo_board: xo-board { 19 compatible = "fixed-clock"; [all …]
|
D | msm8916.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved. 6 #include <dt-bindings/arm/coresight-cti-dt.h> 7 #include <dt-bindings/clock/qcom,gcc-msm8916.h> 8 #include <dt-bindings/clock/qcom,rpmcc.h> 9 #include <dt-bindings/interconnect/qcom,msm8916.h> 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 #include <dt-bindings/power/qcom-rpmpd.h> 12 #include <dt-bindings/reset/qcom,gcc-msm8916.h> 13 #include <dt-bindings/thermal/thermal.h> [all …]
|
/Linux-v5.15/include/dt-bindings/power/ |
D | qcom-rpmpd.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 205 /* RPM SMD Power Domain performance levels */
|