From 2810bf90110c62b976ba1b5334017f212f717ca0 Mon Sep 17 00:00:00 2001 From: Subbaraman Narayanamurthy Date: Wed, 9 Mar 2016 19:24:02 -0800 Subject: [PATCH] regulator: Add snapshot of devicetree documentation for Kryo regulator This devicetree documentation snapshot is taken as of msm-3.18 commit 85b7eb8ac225 ( Merge "ASoC: soc-core: Fix integer overflow"). Change-Id: I06a15d2668de59db8fca3cae0b69f5d0d3351e05 Signed-off-by: Subbaraman Narayanamurthy --- .../bindings/regulator/kryo-regulator.txt | 151 ++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 Documentation/devicetree/bindings/regulator/kryo-regulator.txt diff --git a/Documentation/devicetree/bindings/regulator/kryo-regulator.txt b/Documentation/devicetree/bindings/regulator/kryo-regulator.txt new file mode 100644 index 000000000000..ad630eeb3a29 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/kryo-regulator.txt @@ -0,0 +1,151 @@ +Qualcomm Technologies, Inc. Kryo Regulator + +The Kryo regulator device is designed for QTI's application processor cores +that can draw power from a common power rail via a block head switch (BHS) +or from a configurable LDO when certain power constraints are met. By using +Kryo regulators, the CPU subsystem is capable of selecting LDO or BHS modes +for each cluster. + +================= +First Level Nodes +================= + +- compatible + Usage: required + Value type: + Definition: must be "qcom,kryo-regulator" + +- reg + Usage: required + Value type: + Definition: Specifies addresses and sizes for the memory mapped regions of the + power gate and LDO registers per cluster and per shared power rail + domain. The third address must correspond to the register space + containing the CPU subsystem HW revision register. + +- reg-names + Usage: required + Value type: + Definition: Identifies the reg property entries. Must contain the following + strings: "pm-apc", "pm-apcc", and "apcs-csr". + +- qcom,ldo-default-voltage + Usage: required + Value type: + Definition: The default value for LDO voltage in microvolts. Must be + between 520000 uV and 865000 uV. + +- qcom,retention-voltage + Usage: required + Value type: + Definition: The value for retention voltage in microvolts. Must be + between 520000 and 865000 uV. + +- qcom,ldo-headroom-voltage + Usage: required + Value type: + Definition: Voltage in microvolts required between the VDD_APCC voltage supply + and the LDO output in order for the LDO to be operational. + +- qcom,vref-functional-step-voltage + Usage: required + Value type: + Definition: The voltage change in microvolts for each step in the + functional LDO set point. + +- qcom,vref-functional-min-voltage + Usage: required + Value type: + Definition: The minimum configurable functional LDO voltage in microvolts. + +- qcom,vref-retention-step-voltage + Usage: required + Value type: + Definition: The voltage change in microvolts for each step in the + retention LDO set point. + +- qcom,vref-retention-min-voltage + Usage: required + Value type: + Definition: The minimum configurable retention LDO voltage in microvolts. + +- qcom,ldo-config-init + Usage: required + Value type: + Definition: Initialization value used to configure the Kryo LDO hardware. + +- qcom,apm-config-init + Usage: required + Value type: + Definition: Initialization value used to configure the Kryo APM hardware. + +- qcom,cluster-num + Usage: required + Value type: + Definition: Specifies the number of the cluster this regulator controls. + +================== +Second Level Nodes +================== +The second level node represents a regulator which enables control of LDO retention +mode per Kryo regulator device. This second level node is required. + +The following regulator framework properties must be specified for both first and +second level nodes: regulator-name, regulator-min-microvolt, and regulator-max-microvolt. + +Additional core regulator framework properties may also be used. For a full list of +supported bindings refer to Documentation/devicetree/bindings/regulator/regulator.txt. + +======= +Example +======= + + kryo0_vreg: regulator@99a2000 { + compatible = "qcom,kryo-regulator"; + regulator-name = "kryo0"; + reg = <0x99a2000 0x1000>, <0x99e0000 0x1000>, + <0x9820000 0x1000>; + reg-names = "pm-apc", "pm-apcc", "apcs-csr"; + regulator-min-microvolt = <520000>; + regulator-max-microvolt = <865000>; + qcom,ldo-default-voltage = <750000>; + qcom,retention-voltage = <520000>; + qcom,ldo-headroom-voltage = <150000>; + qcom,vref-functional-step-voltage = <4100>; + qcom,vref-functional-min-voltage = <299000>; + qcom,vref-retention-step-voltage = <4554>; + qcom,vref-retention-min-voltage = <332000>; + qcom,ldo-config-init = <0xf1f0e471>; + qcom,apm-config-init = <0x0>; + qcom,cluster-num = <0>; + kryo0_retention_vreg: regulator { + regulator-name = "kryo0-retention"; + regulator-min-microvolt = <332000>; + regulator-max-microvolt = <865000>; + }; + }; + + kryo1_vreg: regulator@99d2000 { + compatible = "qcom,kryo-regulator"; + regulator-name = "kryo1"; + reg = <0x99d2000 0x1000>, <0x99e0000 0x1000>, + <0x9820000 0x1000>; + reg-names = "pm-apc", "pm-apcc", "apcs-csr"; + regulator-min-microvolt = <520000>; + regulator-max-microvolt = <865000>; + qcom,ldo-default-voltage = <750000>; + qcom,retention-voltage = <520000>; + qcom,ldo-headroom-voltage = <150000>; + qcom,vref-functional-step-voltage = <4063>; + qcom,vref-functional-min-voltage = <296000>; + qcom,vref-retention-step-voltage = <4554>; + qcom,vref-retention-min-voltage = <332000>; + qcom,ldo-config-init = <0xf1f0e471>; + qcom,apm-config-init = <0x0>; + qcom,cluster-num = <1>; + kryo1_retention_vreg: regulator { + regulator-name = "kryo1-retention"; + regulator-min-microvolt = <332000>; + regulator-max-microvolt = <865000>; + }; + };