Rtwo/kernel/motorola/sm8550-devicetrees/bindings/soc/qcom/qcom,pmic-glink-debug.txt
2025-09-30 19:22:48 -05:00

76 lines
2.3 KiB
Text

Qualcomm Technologies, Inc. Glink PMIC Debug Controller
The Qualcomm Technologies, Inc. Glink PMIC debug controller device provides an
interface to read and write PMIC registers over PMIC Glink using a remote
subsytem (e.g. DSP). This allows for debugging PMIC peripherals on either
SPMI bus or I2C bus that would typically only be accessible to the charger
and fuel gauging firmware running on the remote subsystem.
Refer to Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.txt for
information on "qcom,pmic_glink_log" device which is used in the example below.
See spmi.yaml for the generic SPMI controller binding requirements for SPMI
bus grandchild nodes. And the I2C bus grandchild nodes have very similar
structure and properties with SPMI bus nodes but just has property
"qcom,bus-type" with "i2c" string value.
Required device node structure:
The Glink PMIC debug controller node must contain at least one child node. Each
child node corresponds to either an SPMI bus or I2C bus accessible from the remote
subsystem.
Top Level Node Supported Properties:
- compatible:
Usage: required
Value type: <stringlist>
Definition: Must be one of: "qcom,pmic-glink-debug",
"qcom,spmi-glink-debug",
"qcom,i2c-glink-debug".
Child Node Supported Properties:
- qcom,bus-type
Usage: optional
Value type: <string>
Definition: Specify the bus type on the remote subsystem to access
the PMIC devices defined in the subnodes.
It has to be either "spmi" or "i2c". If this property is
not defined, it will be treated as SPMI bus by default.
- reg
Usage: required
Value type: <u32>
Definition: Bus ID. In SPMI bus subnode, it is the physical SPMI bus
ID in the system, and the allowed range is [0, 7].
In I2C bus subnode, it is the I2C bus instance ID (indexed
from 1) in the remote subsystem along with adding an offset
0x100, and the allowed range is [0x101, 0x1ff].
Example:
&soc {
qcom,pmic_glink_log {
qcom,spmi_glink_debug {
compatible = "qcom,spmi-glink-debug";
#address-cells = <1>;
#size-cells = <0>;
spmi@0 {
reg = <0>;
};
spmi@1 {
reg = <1>;
qcom,bus-type = "spmi";
};
/* I2C bus with instance ID 7 in ADSP for SE6 */
i2c@107 {
reg = <0x107>;
qcom,bus-type = "i2c";
};
};
};
};