/linux-6.12.1/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/GLINK 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 or GLINK information for the RPM edge should be filled out. See 16 qcom,smd.yaml for the required edge properties. All SMD/GLINK related 17 properties will reside within the RPM node itself. [all …]
|
D | qcom,smd.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/soc/qcom/qcom,smd.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Andy Gross <agross@kernel.org> 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 18 Using the top-level SMD node is deprecated. Instead, the SMD edges are defined 26 const: qcom,smd 29 "^smd-edge|rpm$": [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/remoteproc/ |
D | qcom,rpm-proc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/remoteproc/qcom,rpm-proc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm Resource Power Manager (RPM) Processor/Subsystem 10 - Bjorn Andersson <andersson@kernel.org> 11 - Konrad Dybcio <konradybcio@kernel.org> 12 - Stephan Gerhold <stephan@gerhold.net> 15 Resource Power Manager (RPM) subsystem found in various Qualcomm platforms: 17 +--------------------------------------------+ [all …]
|
D | qcom,smd-edge.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/remoteproc/qcom,smd-edge.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm SMD Edge communication channel nodes 10 - Bjorn Andersson <bjorn.andersson@linaro.org> 13 Qualcomm SMD subnode represents a remote subsystem or a remote processor of 14 some sort - or in SMD language an "edge". The name of the edges are not 17 In turn, subnodes of the "edges" represent devices tied to SMD channels on 19 these nodes are defined by the individual bindings for the SMD devices. [all …]
|
D | qcom,glink-rpm-edge.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/remoteproc/qcom,glink-rpm-edge.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm G-Link RPM edge 10 Qualcomm G-Link edge, a FIFO based mechanism for communication with Resource 11 Power Manager (RPM) on various Qualcomm platforms. 14 - Bjorn Andersson <andersson@kernel.org> 18 const: qcom,glink-rpm 30 - description: rpm_hlos mailbox in APCS [all …]
|
D | qcom,msm8996-mss-pil.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/remoteproc/qcom,msm8996-mss-pil.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Bjorn Andersson <andersson@kernel.org> 11 - Sibi Sankar <quic_sibis@quicinc.com> 20 - qcom,msm8996-mss-pil 21 - qcom,msm8998-mss-pil 22 - qcom,sdm660-mss-pil 23 - qcom,sdm845-mss-pil [all …]
|
/linux-6.12.1/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.yaml for [all …]
|
/linux-6.12.1/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 22 * @dev: rpm device 25 * @ack_status: result of the rpm request 37 * struct qcom_rpm_header - header for all rpm requests and responses 47 * struct qcom_rpm_request - request message to the rpm 63 * 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 84 and instances handled by the remote DSPs. This is a kernel-space 124 Say yes here to support USB-C and battery status on modern Qualcomm 147 purpose of exchanging sector-data between the remote filesystem 153 tristate "Qualcomm RPM Master stats" 156 The RPM Master sleep stats driver provides detailed per-subsystem 157 sleep/wake data, read from the RPM message RAM. It can be used to 158 assess whether all the low-power modes available are entered as [all …]
|
D | rpm-proc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* Copyright (c) 2021-2023, Stephan Gerhold <stephan@gerhold.net> */ 13 struct device *dev = &pdev->dev; in rpm_proc_probe() 17 edge_node = of_get_child_by_name(dev->of_node, "smd-edge"); in rpm_proc_probe() 23 "Failed to register smd-edge\n"); in rpm_proc_probe() 49 { .compatible = "qcom,rpm-proc", }, 58 .name = "qcom-rpm-proc", 75 MODULE_DESCRIPTION("Qualcomm RPM processor/subsystem driver");
|
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 CFLAGS_rpmh-rsc.o := -I$(src) 3 CFLAGS_qcom_aoss.o := -I$(src) 4 obj-$(CONFIG_QCOM_AOSS_QMP) += qcom_aoss.o 5 obj-$(CONFIG_QCOM_GENI_SE) += qcom-geni-se.o 6 obj-$(CONFIG_QCOM_COMMAND_DB) += cmd-db.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_PD_MAPPER) += qcom_pd_mapper.o [all …]
|
/linux-6.12.1/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> 12 #include <linux/soc/qcom/smd-rpm.h> 14 #include "icc-rpm.h" 54 if (clk->branch) in qcom_icc_rpm_set_bus_rate() 60 clk->resource_type, in qcom_icc_rpm_set_bus_rate() 61 clk->clock_id, in qcom_icc_rpm_set_bus_rate() 73 icc_smd_rpm = dev_get_drvdata(pdev->dev.parent); in qcom_icc_rpm_smd_probe() 76 dev_err(&pdev->dev, "unable to retrieve handle to RPM\n"); in qcom_icc_rpm_smd_probe() [all …]
|
D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 3 obj-$(CONFIG_INTERCONNECT_QCOM) += interconnect_qcom.o 5 interconnect_qcom-y := icc-common.o 6 icc-bcm-voter-objs := bcm-voter.o 7 qnoc-msm8909-objs := msm8909.o 8 qnoc-msm8916-objs := msm8916.o 9 qnoc-msm8937-objs := msm8937.o 10 qnoc-msm8939-objs := msm8939.o 11 qnoc-msm8953-objs := msm8953.o 12 qnoc-msm8974-objs := msm8974.o [all …]
|
D | icc-rpm-clocks.c | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 #include <linux/soc/qcom/smd-rpm.h> 8 #include "icc-rpm.h"
|
D | icc-rpm.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 9 #include <linux/soc/qcom/smd-rpm.h> 11 #include <dt-bindings/interconnect/qcom,rpm-icc.h> 13 #include <linux/interconnect-provider.h> 29 * struct rpm_clk_resource - RPM bus clock resource 30 * @resource_type: RPM resource type of the clock resource 41 * struct qcom_icc_provider - Qualcomm specific interconnect provider 47 * @ab_coeff: a percentage-based coefficient for compensating the AB calculations 48 * @ib_coeff: an inverse-percentage-based coefficient for compensating the IB calculations 51 * @bus_clk: a pointer to a HLOS-owned bus clock [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/clock/ |
D | qcom,rpmcc.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm RPM Clock Controller 10 - Bjorn Andersson <bjorn.andersson@linaro.org> 11 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 14 The clock enumerators are defined in <dt-bindings/clock/qcom,rpmcc.h> and 19 suspend, you need to specify the non-active clock, the one not containing 25 - enum: 26 - qcom,rpmcc-apq8060 [all …]
|
/linux-6.12.1/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 23 allows user-space programs to create endpoints with specific service name, 48 tristate "Qualcomm RPM Glink driver" 53 Say y here to enable support for the GLINK RPM communication driver, 54 which serves as a channel for communication with the RPM in GLINK 68 tristate "Qualcomm Shared Memory Driver (SMD)"
|
/linux-6.12.1/arch/arm/boot/dts/qcom/ |
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-msm8226.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 6 /dts-v1/; 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 9 #include <dt-bindings/clock/qcom,gcc-msm8974.h> 10 #include <dt-bindings/clock/qcom,mmcc-msm8974.h> 11 #include <dt-bindings/clock/qcom,rpmcc.h> 12 #include <dt-bindings/gpio/gpio.h> 13 #include <dt-bindings/power/qcom-rpmpd.h> 14 #include <dt-bindings/reset/qcom,gcc-msm8974.h> 15 #include <dt-bindings/thermal/thermal.h> [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 …]
|
/linux-6.12.1/arch/arm64/boot/dts/qcom/ |
D | msm8953.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 4 #include <dt-bindings/clock/qcom,gcc-msm8953.h> 5 #include <dt-bindings/clock/qcom,rpmcc.h> 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/interrupt-controller/arm-gic.h> 8 #include <dt-bindings/power/qcom-rpmpd.h> 9 #include <dt-bindings/soc/qcom,apr.h> 10 #include <dt-bindings/sound/qcom,q6afe.h> 11 #include <dt-bindings/sound/qcom,q6asm.h> 12 #include <dt-bindings/thermal/thermal.h> [all …]
|
D | msm8994.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 #include <dt-bindings/clock/qcom,gcc-msm8994.h> 8 #include <dt-bindings/clock/qcom,mmcc-msm8994.h> 9 #include <dt-bindings/clock/qcom,rpmcc.h> 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/power/qcom-rpmpd.h> 14 interrupt-parent = <&intc>; 16 #address-cells = <2>; [all …]
|
D | msm8976.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 3 * Copyright (c) 2016-2022, AngeloGioacchino Del Regno 9 #include <dt-bindings/clock/qcom,gcc-msm8976.h> 10 #include <dt-bindings/clock/qcom,rpmcc.h> 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/interrupt-controller/arm-gic.h> 13 #include <dt-bindings/interrupt-controller/irq.h> 14 #include <dt-bindings/power/qcom-rpmpd.h> 17 interrupt-parent = <&intc>; 18 #address-cells = <2>; [all …]
|
/linux-6.12.1/include/dt-bindings/clock/ |
D | qcom,rpmcc.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 9 /* RPM clocks */ 45 /* SMD RPM clocks */
|
/linux-6.12.1/drivers/clk/qcom/ |
D | clk-smd-rpm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/clk-provider.h> 16 #include <linux/soc/qcom/smd-rpm.h> 18 #include <dt-bindings/clock/qcom,rpmcc.h> 193 .key = cpu_to_le32(r->rpm_key), in clk_smd_rpm_handoff() 195 .value = cpu_to_le32(r->branch ? 1 : INT_MAX), in clk_smd_rpm_handoff() 199 r->rpm_res_type, r->rpm_clk_id, &req, in clk_smd_rpm_handoff() 204 r->rpm_res_type, r->rpm_clk_id, &req, in clk_smd_rpm_handoff() 216 .key = cpu_to_le32(r->rpm_key), in clk_smd_rpm_set_rate_active() 222 r->rpm_res_type, r->rpm_clk_id, &req, in clk_smd_rpm_set_rate_active() [all …]
|