On Wed, 10 Apr 2024 at 15:46, Bartosz Golaszewski <brgl@xxxxxxxx> wrote: > > From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > > The QCA6390 package contains discreet modules for WLAN and Bluetooth. They > are powered by the Power Management Unit (PMU) that takes inputs from the > host and provides LDO outputs. This document describes this module. > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > Acked-by: Mark Brown <broonie@xxxxxxxxxx> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > --- > .../bindings/regulator/qcom,qca6390-pmu.yaml | 151 ++++++++++++++++++ > 1 file changed, 151 insertions(+) > create mode 100644 Documentation/devicetree/bindings/regulator/qcom,qca6390-pmu.yaml > > diff --git a/Documentation/devicetree/bindings/regulator/qcom,qca6390-pmu.yaml b/Documentation/devicetree/bindings/regulator/qcom,qca6390-pmu.yaml > new file mode 100644 > index 000000000000..9d39ff9a75fd > --- /dev/null > +++ b/Documentation/devicetree/bindings/regulator/qcom,qca6390-pmu.yaml > @@ -0,0 +1,151 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/regulator/qcom,qca6390-pmu.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm Technologies, Inc. QCA6390 PMU Regulators > + > +maintainers: > + - Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > + > +description: > + The QCA6390 package contains discreet modules for WLAN and Bluetooth. They > + are powered by the Power Management Unit (PMU) that takes inputs from the > + host and provides LDO outputs. This document describes this module. > + > +properties: > + compatible: > + const: qcom,qca6390-pmu > + > + vddaon-supply: > + description: VDD_AON supply regulator handle > + > + vddpmu-supply: > + description: VDD_PMU supply regulator handle > + > + vddrfa0p95-supply: > + description: VDD_RFA_0P95 supply regulator handle > + > + vddrfa1p3-supply: > + description: VDD_RFA_1P3 supply regulator handle > + > + vddrfa1p9-supply: > + description: VDD_RFA_1P9 supply regulator handle > + > + vddpcie1p3-supply: > + description: VDD_PCIE_1P3 supply regulator handle<S-Del> > + > + vddpcie1p9-supply: > + description: VDD_PCIE_1P9 supply regulator handle > + > + vddio-supply: > + description: VDD_IO supply regulator handle > + > + wlan-enable-gpios: > + maxItems: 1 > + description: GPIO line enabling the ATH11K WLAN module supplied by the PMU > + > + bt-enable-gpios: > + maxItems: 1 > + description: GPIO line enabling the ATH11K Bluetooth module supplied by the PMU As a side node, I think we should also steal swctrl pin from the bluetooth device node. It represents the status of the PMU and as such it is not BT-specific. > + > + regulators: > + type: object > + description: > + LDO outputs of the PMU > + > + patternProperties: > + "^ldo[0-9]$": > + $ref: regulator.yaml# > + type: object > + unevaluatedProperties: false > + > + additionalProperties: false > + > +required: > + - compatible > + - regulators > + > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: qcom,qca6390-pmu > + then: > + required: > + - vddaon-supply > + - vddpmu-supply > + - vddrfa0p95-supply > + - vddrfa1p3-supply > + - vddrfa1p9-supply > + - vddpcie1p3-supply > + - vddpcie1p9-supply > + - vddio-supply > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/gpio/gpio.h> > + pmu { > + compatible = "qcom,qca6390-pmu"; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&bt_en_state>, <&wlan_en_state>; > + > + vddaon-supply = <&vreg_s6a_0p95>; > + vddpmu-supply = <&vreg_s2f_0p95>; > + vddrfa0p95-supply = <&vreg_s2f_0p95>; > + vddrfa1p3-supply = <&vreg_s8c_1p3>; > + vddrfa1p9-supply = <&vreg_s5a_1p9>; > + vddpcie1p3-supply = <&vreg_s8c_1p3>; > + vddpcie1p9-supply = <&vreg_s5a_1p9>; > + vddio-supply = <&vreg_s4a_1p8>; > + > + wlan-enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>; > + bt-enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>; > + > + regulators { > + vreg_pmu_rfa_cmn: ldo0 { > + regulator-name = "vreg_pmu_rfa_cmn"; > + }; > + > + vreg_pmu_aon_0p59: ldo1 { > + regulator-name = "vreg_pmu_aon_0p59"; > + }; > + > + vreg_pmu_wlcx_0p8: ldo2 { > + regulator-name = "vreg_pmu_wlcx_0p8"; > + }; > + > + vreg_pmu_wlmx_0p85: ldo3 { > + regulator-name = "vreg_pmu_wlmx_0p85"; > + }; > + > + vreg_pmu_btcmx_0p85: ldo4 { > + regulator-name = "vreg_pmu_btcmx_0p85"; > + }; > + > + vreg_pmu_rfa_0p8: ldo5 { > + regulator-name = "vreg_pmu_rfa_0p8"; > + }; > + > + vreg_pmu_rfa_1p2: ldo6 { > + regulator-name = "vreg_pmu_rfa_1p2"; > + }; > + > + vreg_pmu_rfa_1p7: ldo7 { > + regulator-name = "vreg_pmu_rfa_1p7"; > + }; > + > + vreg_pmu_pcie_0p9: ldo8 { > + regulator-name = "vreg_pmu_pcie_0p9"; > + }; > + > + vreg_pmu_pcie_1p8: ldo9 { > + regulator-name = "vreg_pmu_pcie_1p8"; > + }; > + }; > + }; > -- > 2.40.1 > -- With best wishes Dmitry