diff --git a/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator-common.yaml b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator-common.yaml new file mode 100644 index 00000000000000..c92c2ce3678d29 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator-common.yaml @@ -0,0 +1,236 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/qcom,smd-rpm-regulator-common.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm SMD RPM Regulators + +description: + The Qualcomm RPM over SMD regulator is modelled as a subdevice of the RPM. + Because SMD is used as the communication transport mechanism, the RPM + resides as a subnode of the SMD. As such, the SMD-RPM regulator requires + that the SMD and RPM nodes be present. + +maintainers: + - Bjorn Andersson + +properties: + s0: + $ref: "#/$defs/s" + + s1: + $ref: "#/$defs/s" + + s2: + $ref: "#/$defs/s" + + s3: + $ref: "#/$defs/s" + + s4: + $ref: "#/$defs/s" + + s5: + $ref: "#/$defs/s" + + s7: + $ref: "#/$defs/s" + + s8: + $ref: "#/$defs/s" + + l1: + $ref: "#/$defs/l" + + l2: + $ref: "#/$defs/l" + + l3: + $ref: "#/$defs/l" + + l4: + $ref: "#/$defs/l" + + l5: + $ref: "#/$defs/l" + + l6: + $ref: "#/$defs/l" + + l7: + $ref: "#/$defs/l" + + l8: + $ref: "#/$defs/l" + + l9: + $ref: "#/$defs/l" + + l10: + $ref: "#/$defs/l" + + l11: + $ref: "#/$defs/l" + + l12: + $ref: "#/$defs/l" + + l13: + $ref: "#/$defs/l" + + l14: + $ref: "#/$defs/l" + + l15: + $ref: "#/$defs/l" + + l16: + $ref: "#/$defs/l" + + l17: + $ref: "#/$defs/l" + + l18: + $ref: "#/$defs/l" + + l19: + $ref: "#/$defs/l" + + l20: + $ref: "#/$defs/l" + + l21: + $ref: "#/$defs/l" + + l22: + $ref: "#/$defs/l" + + l23: + $ref: "#/$defs/l" + + l24: + $ref: "#/$defs/l" + + l25: + $ref: "#/$defs/l" + + l26: + $ref: "#/$defs/l" + + l27: + $ref: "#/$defs/l" + + l28: + $ref: "#/$defs/l" + + l29: + $ref: "#/$defs/l" + + lvs0: + $ref: "#/$defs/l" + + lvs1: + $ref: "#/$defs/l" + + lvs2: + $ref: "#/$defs/l" + + lvs3: + $ref: "#/$defs/l" + + lvs4: + $ref: "#/$defs/l" + + lvs5: + $ref: "#/$defs/l" + + lvs6: + $ref: "#/$defs/l" + + lvs7: + $ref: "#/$defs/l" + + hdmi-switch: + $ref: "#/$defs/l" + + usb-switch: + $ref: "#/$defs/l" + + mvs: + $ref: "#/$defs/l" + +$defs: + qcom,switch-mode-frequency: + $ref: /schemas/types.yaml#/definitions/uint32 + description: > + Frequency for switching modes # FIXME + + enum: [19200000, 9600000, 6400000, 4800000, + 3840000, 3200000, 2740000, 2400000, + 2130000, 1920000, 1750000, 1600000, + 1480000, 1370000, 1280000, 1200000] + + s: + type: object + description: regulator # FIXME + $ref: "regulator.yaml#" + + properties: + qcom,switch-mode-frequency: + $ref: "#/$defs/qcom,switch-mode-frequency" + + qcom,force-mode: + $ref: "/schemas/types.yaml#/definitions/uint32" + description: > + Forced mode # FIXME + + enum: + - 0 # QCOM_RPM_FORCE_MODE_NONE: do not force + - 1 # QCOM_RPM_FORCE_MODE_LPM: force low power mode + - 2 # QCOM_RPM_FORCE_MODE_HPM: force high power mode + - 3 # QCOM_RPM_FORCE_MODE_AUTO: reg. sel. it's own mode based on realtime current draw + + qcom,power-mode-hysteretic: + type: boolean + description: > + select that the power supply should operate in + hysteretic mode, instead of the default PWM mode + + required: + - qcom,switch-mode-frequency + + ncp: + type: object + $ref: "regulator.yaml#" + description: Negative Charge Pump regulator + properties: + qcom,switch-mode-frequency: + $ref: "#/$defs/qcom,switch-mode-frequency" + + required: + - qcom,switch-mode-frequency + + l: + type: object + $ref: "regulator.yaml#" + description: Linear Voltage or other switch regulator # FIXME + + properties: + qcom,force-mode: + $ref: "/schemas/types.yaml#/definitions/uint32" + description: > + Forced mode # FIXME + + enum: # FIXME + - 0 # QCOM_RPM_FORCE_MODE_NONE: do not force + - 1 # QCOM_RPM_FORCE_MODE_LPM: force low power mode + - 2 # QCOM_RPM_FORCE_MODE_HPM: force high power mode + - 4 # QCOM_RPM_FORCE_MODE_BYPASS: act as a switch and not regulate + + +additionalProperties: true +unevaluatedProperties: false + +required: + - compatible diff --git a/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator-pm8018.yaml b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator-pm8018.yaml new file mode 100644 index 00000000000000..ed254017f22fac --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator-pm8018.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/qcom,smd-rpm-regulator-pm8018.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm SMD RPM Regulator PM8018 + +maintainers: + - Bjorn Andersson + +allOf: + - $ref: qcom,smd-rpm-regulator-common.yaml# + +properties: + compatible: + const: qcom,rpm-pm8018-regulators + + s1: true + s2: + $ref: "qcom,smd-rpm-regulator-common.yaml#/$defs/s" + s3: true + s4: true + s5: true + + l2: true + l3: true + l4: true + l5: true + l6: true + l7: true + l8: true + l9: true + l10: true + l11: true + l12: true + l14: true + + lvs1: true + + vdd_s1-supply: true + vdd_s2-supply: true + vdd_s3-supply: true + vdd_s4-supply: true + vdd_s5-supply: true + + vdd_l2-supply: true + vdd_l3-supply: true + vdd_l4-supply: true + vdd_l5-supply: true + vdd_l7-supply: true + vdd_l8-supply: true + vdd_l9_l10_l11_l12-supply: true + vdd_l14-supply: true + + lvs1_in-supply: true + +unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator-pm8058.yaml b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator-pm8058.yaml new file mode 100644 index 00000000000000..6fcb70ba0da3d1 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator-pm8058.yaml @@ -0,0 +1,80 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/qcom,smd-rpm-regulator-pm8058.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm SMD RPM Regulator PM8058 + +maintainers: + - Bjorn Andersson + +allOf: + - $ref: qcom,smd-rpm-regulator-common.yaml# + +properties: + compatible: + const: qcom,rpm-pm8058-regulators + + s0: true + s1: true + s2: true + s3: true + s4: true + + l0: true + l1: true + l2: true + l3: true + l4: true + l5: true + l6: true + l7: true + l8: true + l9: true + l10: true + l11: true + l12: true + l13: true + l14: true + l15: true + l16: true + l17: true + l18: true + l19: true + l20: true + l21: true + l22: true + l23: true + l24: true + l25: true + + lvs0: true + lvs1: true + + ncp: true + + vdd_l0_l1_lvs-supply: true + vdd_l2_l11_l12-supply: true + vdd_l3_l4_l5-supply: true + vdd_l6_l7-supply: true + vdd_l8-supply: true + vdd_l9-supply: true + vdd_l10-supply: true + vdd_l13_l16-supply: true + vdd_l14_l15-supply: true + vdd_l17_l18-supply: true + vdd_l19_l20-supply: true + vdd_l21-supply: true + vdd_l22-supply: true + vdd_l23_l24_l25-supply: true + + vdd_s0-supply: true + vdd_s1-supply: true + vdd_s2-supply: true + vdd_s3-supply: true + vdd_s4-supply: true + + vdd_ncp-supply: true + +unevaluatedProperties: false