xref: /linux/Documentation/devicetree/bindings/regulator/qcom,wcn3990-pmu.yaml (revision c17ee635fd3a482b2ad2bf5e269755c2eae5f25e)
1*a5fae429SDmitry Baryshkov# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*a5fae429SDmitry Baryshkov%YAML 1.2
3*a5fae429SDmitry Baryshkov---
4*a5fae429SDmitry Baryshkov$id: http://devicetree.org/schemas/regulator/qcom,wcn3990-pmu.yaml#
5*a5fae429SDmitry Baryshkov$schema: http://devicetree.org/meta-schemas/core.yaml#
6*a5fae429SDmitry Baryshkov
7*a5fae429SDmitry Baryshkovtitle: Qualcomm Technologies, Inc. WCN3990 PMU Regulators
8*a5fae429SDmitry Baryshkov
9*a5fae429SDmitry Baryshkovmaintainers:
10*a5fae429SDmitry Baryshkov  - Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
11*a5fae429SDmitry Baryshkov
12*a5fae429SDmitry Baryshkovdescription:
13*a5fae429SDmitry Baryshkov  The WCN3990 package contains discrete modules for WLAN and Bluetooth. They
14*a5fae429SDmitry Baryshkov  are powered by the Power Management Unit (PMU) that takes inputs from the
15*a5fae429SDmitry Baryshkov  host and provides LDO outputs. This document describes this module.
16*a5fae429SDmitry Baryshkov
17*a5fae429SDmitry Baryshkovproperties:
18*a5fae429SDmitry Baryshkov  compatible:
19*a5fae429SDmitry Baryshkov    enum:
20*a5fae429SDmitry Baryshkov      - qcom,wcn3950-pmu
21*a5fae429SDmitry Baryshkov      - qcom,wcn3988-pmu
22*a5fae429SDmitry Baryshkov      - qcom,wcn3990-pmu
23*a5fae429SDmitry Baryshkov      - qcom,wcn3991-pmu
24*a5fae429SDmitry Baryshkov      - qcom,wcn3998-pmu
25*a5fae429SDmitry Baryshkov
26*a5fae429SDmitry Baryshkov  vddio-supply:
27*a5fae429SDmitry Baryshkov    description: VDD_IO supply regulator handle
28*a5fae429SDmitry Baryshkov
29*a5fae429SDmitry Baryshkov  vddxo-supply:
30*a5fae429SDmitry Baryshkov    description: VDD_XTAL supply regulator handle
31*a5fae429SDmitry Baryshkov
32*a5fae429SDmitry Baryshkov  vddrf-supply:
33*a5fae429SDmitry Baryshkov    description: VDD_RF supply regulator handle
34*a5fae429SDmitry Baryshkov
35*a5fae429SDmitry Baryshkov  vddch0-supply:
36*a5fae429SDmitry Baryshkov    description: chain 0 supply regulator handle
37*a5fae429SDmitry Baryshkov
38*a5fae429SDmitry Baryshkov  vddch1-supply:
39*a5fae429SDmitry Baryshkov    description: chain 1 supply regulator handle
40*a5fae429SDmitry Baryshkov
41*a5fae429SDmitry Baryshkov  swctrl-gpios:
42*a5fae429SDmitry Baryshkov    maxItems: 1
43*a5fae429SDmitry Baryshkov    description: GPIO line indicating the state of the clock supply to the BT module
44*a5fae429SDmitry Baryshkov
45*a5fae429SDmitry Baryshkov  clocks:
46*a5fae429SDmitry Baryshkov    maxItems: 1
47*a5fae429SDmitry Baryshkov    description: Reference clock handle
48*a5fae429SDmitry Baryshkov
49*a5fae429SDmitry Baryshkov  regulators:
50*a5fae429SDmitry Baryshkov    type: object
51*a5fae429SDmitry Baryshkov    description:
52*a5fae429SDmitry Baryshkov      LDO outputs of the PMU
53*a5fae429SDmitry Baryshkov
54*a5fae429SDmitry Baryshkov    patternProperties:
55*a5fae429SDmitry Baryshkov      "^ldo[0-9]$":
56*a5fae429SDmitry Baryshkov        $ref: regulator.yaml#
57*a5fae429SDmitry Baryshkov        type: object
58*a5fae429SDmitry Baryshkov        unevaluatedProperties: false
59*a5fae429SDmitry Baryshkov
60*a5fae429SDmitry Baryshkov    additionalProperties: false
61*a5fae429SDmitry Baryshkov
62*a5fae429SDmitry Baryshkovrequired:
63*a5fae429SDmitry Baryshkov  - compatible
64*a5fae429SDmitry Baryshkov  - regulators
65*a5fae429SDmitry Baryshkov  - vddio-supply
66*a5fae429SDmitry Baryshkov  - vddxo-supply
67*a5fae429SDmitry Baryshkov  - vddrf-supply
68*a5fae429SDmitry Baryshkov  - vddch0-supply
69*a5fae429SDmitry Baryshkov
70*a5fae429SDmitry BaryshkovadditionalProperties: false
71*a5fae429SDmitry Baryshkov
72*a5fae429SDmitry Baryshkovexamples:
73*a5fae429SDmitry Baryshkov  - |
74*a5fae429SDmitry Baryshkov    #include <dt-bindings/gpio/gpio.h>
75*a5fae429SDmitry Baryshkov    pmu {
76*a5fae429SDmitry Baryshkov        compatible = "qcom,wcn3990-pmu";
77*a5fae429SDmitry Baryshkov
78*a5fae429SDmitry Baryshkov        vddio-supply = <&vreg_io>;
79*a5fae429SDmitry Baryshkov        vddxo-supply = <&vreg_xo>;
80*a5fae429SDmitry Baryshkov        vddrf-supply = <&vreg_rf>;
81*a5fae429SDmitry Baryshkov        vddch0-supply = <&vreg_ch0>;
82*a5fae429SDmitry Baryshkov
83*a5fae429SDmitry Baryshkov        regulators {
84*a5fae429SDmitry Baryshkov            vreg_pmu_io: ldo0 {
85*a5fae429SDmitry Baryshkov                regulator-name = "vreg_pmu_io";
86*a5fae429SDmitry Baryshkov            };
87*a5fae429SDmitry Baryshkov
88*a5fae429SDmitry Baryshkov            vreg_pmu_xo: ldo1 {
89*a5fae429SDmitry Baryshkov                regulator-name = "vreg_pmu_xo";
90*a5fae429SDmitry Baryshkov            };
91*a5fae429SDmitry Baryshkov
92*a5fae429SDmitry Baryshkov            vreg_pmu_rf: ldo2 {
93*a5fae429SDmitry Baryshkov                regulator-name = "vreg_pmu_rf";
94*a5fae429SDmitry Baryshkov            };
95*a5fae429SDmitry Baryshkov
96*a5fae429SDmitry Baryshkov            vreg_pmu_ch0: ldo3 {
97*a5fae429SDmitry Baryshkov                regulator-name = "vreg_pmu_ch0";
98*a5fae429SDmitry Baryshkov            };
99*a5fae429SDmitry Baryshkov        };
100*a5fae429SDmitry Baryshkov    };
101