Skip to content

Commit

Permalink
wip! regulator: convert QCOM SMD-RPM regulator document to YAML schema
Browse files Browse the repository at this point in the history
  • Loading branch information
okias committed Sep 9, 2024
1 parent e066640 commit d25907a
Show file tree
Hide file tree
Showing 3 changed files with 374 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -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 <bjorn.andersson@linaro.org>

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
Original file line number Diff line number Diff line change
@@ -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 <bjorn.andersson@linaro.org>

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
Original file line number Diff line number Diff line change
@@ -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 <bjorn.andersson@linaro.org>

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

0 comments on commit d25907a

Please sign in to comment.