From e1ee089029b998467f6b583129a258abf9b5204e Mon Sep 17 00:00:00 2001 From: Manaf Meethalavalappu Pallikunhi Date: Thu, 22 Sep 2022 17:25:17 +0530 Subject: [PATCH] dt-bindings: Add epm device driver devicetree documentation The epm device enables to measure different pmic regulator power consumption data and pmic temperature data. It exposes these data to userspace clients via powercap sysfs interface and thermal zone sysfs interface respectively. Change-Id: I4a9bf600571e78a7dcd5fe090b9a9d52865e4a54 --- .../power/supply/qcom/qcom,epm-device.yaml | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 bindings/power/supply/qcom/qcom,epm-device.yaml diff --git a/bindings/power/supply/qcom/qcom,epm-device.yaml b/bindings/power/supply/qcom/qcom,epm-device.yaml new file mode 100644 index 00000000..3101c901 --- /dev/null +++ b/bindings/power/supply/qcom/qcom,epm-device.yaml @@ -0,0 +1,98 @@ +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/bindings/thermal/qcom,epm-device.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Technologies, Inc. EPM sdam device + +description: | + Qualcomm Technologies, Inc. EPM(Embedded Power Measurement) device enables to + measure different pmic regulator power consumption data and pmic temperature + data. It exposes these data to userspace clients via powercap sysfs interface + and thermal zone sysfs interface respectively. + +properties: + compatible: + const: qcom,epm-devices + + nvmem-names: + minItems: 2 + description: Array of nvmem device name(s) for EPM measurement. + items: + - const: epm-config-sdam + - const: epm-10s-avg-sdam + $ref: /schemas/types.yaml#/definitions/string-array + + nvmem: + minItems: 2 + description: Array of phandles of the nvmem device(s) for EPM measurement. + $ref: /schemas/nvmem/nvmem.yaml + + interrupts: + description: Specifies the interrupt for EPM PBS IRQ used by EPM if enabled. + maxItems: 1 + $ref: /schemas/interrupts.yaml + + qcom,data-sdam-base-id: + minItems: 1 + description: Base pid of epm data 1 second sdam if enabled. + $ref: /schemas/types.yaml#/definitions/uint32 + + qcom,reg-ppid-ids: + minItems: 1 + description: Array of ppids for different regulator channels that + epm device going to measure. + $ref: /schemas/types.yaml#/definitions/phandle-array + + qcom,reg-ppid-names: + minItems: 1 + description: Array of strigs for different regulator channels that + epm device going to measure. It will be same order as channels + mentioned in qcom,reg-ppid-ids. + $ref: /schemas/types.yaml#/definitions/string-array + + "#qcom,epm-tz-sensor": + description: Number of epm pmic temperature data. + $ref: /schemas/types.yaml#/definitions/uint8 + minimum: 1 + maximum: 8 + + "#thermal-sensor-cells": + const: 1 + description: + Number of cells required to uniquely identify the thermal sensors. Since + we have multiple sensors this is set to 1 + +required: + - compatible + - nvmem-names + - nvmem + - qcom,reg-ppid-ids + - qcom,reg-ppid-names + +examples: + - | + qcom,epm-device { + compatible = "qcom,epm-devices"; + interrupts = <0x0 0xa0 0x0 IRQ_TYPE_EDGE_RISING>; + nvmem = <&pmk8550_sdam_49>, + <&pmk8550_sdam_53>; + nvmem-names = "epm-config-sdam", + "epm-10s-avg-sdam"; + qcom,data-sdam-base-id = <0xa5>; + qcom,reg-ppid-ids = <0x1e4 0x1e6 0x2a4 0x2aa 0x3a4 0x3a7 + 0x4a4 0x4a1 0x4aa 0x4a7 0x49b 0x5a7 0x5a1 + 0x5a4 0x59b 0x5ad 0x6aa 0x6a4 0x69b 0x69e + 0x6a1 0x6a7>; + + qcom,reg-ppid-names = "lv_battery_support", "2p5v_loads", + "apc0", "apps1_gold", "lpi_cx", + "gfx", "lv_sub_reg_ldo", "vdd_mxa", + "vdd_cx", "lpddr5_vdd2h", "vdd_mm", + "vdd_mxc", "vdda_ebi", "ebi_io", + "nsp", "modem_ss", "hv_sub_reg", + "mv_sub_reg_ldo", "rf_mv_sub_reg", + "rf_lv_sub_reg", "ific_cx", "wlan_cx"; + #qcom,epm-tz-sensor = /bits/ 8 <6>; + #thermal-sensor-cells = <1>; + };