xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/rohm,bd9571mwv.yaml (revision e67e85659c0de33e617e5fbf1028c6e8b49eee53)
1*e67e8565SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*e67e8565SEmmanuel Vadot%YAML 1.2
3*e67e8565SEmmanuel Vadot---
4*e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/rohm,bd9571mwv.yaml#
5*e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*e67e8565SEmmanuel Vadot
7*e67e8565SEmmanuel Vadottitle: ROHM BD9571MWV/BD9574MWF Power Management Integrated Circuit (PMIC)
8*e67e8565SEmmanuel Vadot
9*e67e8565SEmmanuel Vadotmaintainers:
10*e67e8565SEmmanuel Vadot  - Marek Vasut <marek.vasut@gmail.com>
11*e67e8565SEmmanuel Vadot
12*e67e8565SEmmanuel Vadotproperties:
13*e67e8565SEmmanuel Vadot  compatible:
14*e67e8565SEmmanuel Vadot    enum:
15*e67e8565SEmmanuel Vadot      - rohm,bd9571mwv
16*e67e8565SEmmanuel Vadot      - rohm,bd9574mwf
17*e67e8565SEmmanuel Vadot
18*e67e8565SEmmanuel Vadot  reg:
19*e67e8565SEmmanuel Vadot    maxItems: 1
20*e67e8565SEmmanuel Vadot
21*e67e8565SEmmanuel Vadot  interrupts:
22*e67e8565SEmmanuel Vadot    maxItems: 1
23*e67e8565SEmmanuel Vadot
24*e67e8565SEmmanuel Vadot  interrupt-controller: true
25*e67e8565SEmmanuel Vadot
26*e67e8565SEmmanuel Vadot  '#interrupt-cells':
27*e67e8565SEmmanuel Vadot    const: 2
28*e67e8565SEmmanuel Vadot
29*e67e8565SEmmanuel Vadot  gpio-controller: true
30*e67e8565SEmmanuel Vadot
31*e67e8565SEmmanuel Vadot  '#gpio-cells':
32*e67e8565SEmmanuel Vadot    const: 2
33*e67e8565SEmmanuel Vadot
34*e67e8565SEmmanuel Vadot  rohm,ddr-backup-power:
35*e67e8565SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
36*e67e8565SEmmanuel Vadot    minimum: 0x0
37*e67e8565SEmmanuel Vadot    maximum: 0xf
38*e67e8565SEmmanuel Vadot    description: |
39*e67e8565SEmmanuel Vadot      Value to use for DDR-Backup Power (default 0).
40*e67e8565SEmmanuel Vadot      This is a bitmask that specifies which DDR power rails need to be kept
41*e67e8565SEmmanuel Vadot      powered when backup mode is entered, for system suspend:
42*e67e8565SEmmanuel Vadot        - bit 0: DDR0
43*e67e8565SEmmanuel Vadot        - bit 1: DDR1
44*e67e8565SEmmanuel Vadot        - bit 2: DDR0C
45*e67e8565SEmmanuel Vadot        - bit 3: DDR1C
46*e67e8565SEmmanuel Vadot      These bits match the KEEPON_DDR* bits in the documentation for the "BKUP
47*e67e8565SEmmanuel Vadot      Mode Cnt" register.
48*e67e8565SEmmanuel Vadot
49*e67e8565SEmmanuel Vadot  rohm,rstbmode-level:
50*e67e8565SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
51*e67e8565SEmmanuel Vadot    description:
52*e67e8565SEmmanuel Vadot      The RSTB signal is configured for level mode, to accommodate a toggle
53*e67e8565SEmmanuel Vadot      power switch (the RSTBMODE pin is strapped low).
54*e67e8565SEmmanuel Vadot
55*e67e8565SEmmanuel Vadot  rohm,rstbmode-pulse:
56*e67e8565SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
57*e67e8565SEmmanuel Vadot    description:
58*e67e8565SEmmanuel Vadot      The RSTB signal is configured for pulse mode, to accommodate a momentary
59*e67e8565SEmmanuel Vadot      power switch (the RSTBMODE pin is strapped high).
60*e67e8565SEmmanuel Vadot
61*e67e8565SEmmanuel Vadot  regulators:
62*e67e8565SEmmanuel Vadot    type: object
63*e67e8565SEmmanuel Vadot    description:
64*e67e8565SEmmanuel Vadot      List of child nodes that specify the regulator initialization data.
65*e67e8565SEmmanuel Vadot      Child nodes must be named after their hardware counterparts.
66*e67e8565SEmmanuel Vadot
67*e67e8565SEmmanuel Vadot    patternProperties:
68*e67e8565SEmmanuel Vadot      "^(vd09|vd18|vd25|vd33|dvfs)$":
69*e67e8565SEmmanuel Vadot        type: object
70*e67e8565SEmmanuel Vadot        $ref: ../regulator/regulator.yaml#
71*e67e8565SEmmanuel Vadot
72*e67e8565SEmmanuel Vadot        properties:
73*e67e8565SEmmanuel Vadot          regulator-name:
74*e67e8565SEmmanuel Vadot            pattern: "^(vd09|vd18|vd25|vd33|dvfs)$"
75*e67e8565SEmmanuel Vadot
76*e67e8565SEmmanuel Vadot        unevaluatedProperties: false
77*e67e8565SEmmanuel Vadot
78*e67e8565SEmmanuel Vadot    additionalProperties: false
79*e67e8565SEmmanuel Vadot
80*e67e8565SEmmanuel VadotadditionalProperties: false
81*e67e8565SEmmanuel Vadot
82*e67e8565SEmmanuel Vadotrequired:
83*e67e8565SEmmanuel Vadot  - compatible
84*e67e8565SEmmanuel Vadot  - reg
85*e67e8565SEmmanuel Vadot  - interrupts
86*e67e8565SEmmanuel Vadot  - interrupt-controller
87*e67e8565SEmmanuel Vadot  - '#interrupt-cells'
88*e67e8565SEmmanuel Vadot  - gpio-controller
89*e67e8565SEmmanuel Vadot  - '#gpio-cells'
90*e67e8565SEmmanuel Vadot
91*e67e8565SEmmanuel VadotoneOf:
92*e67e8565SEmmanuel Vadot  - required:
93*e67e8565SEmmanuel Vadot      - rohm,rstbmode-level
94*e67e8565SEmmanuel Vadot  - required:
95*e67e8565SEmmanuel Vadot      - rohm,rstbmode-pulse
96*e67e8565SEmmanuel Vadot
97*e67e8565SEmmanuel Vadotexamples:
98*e67e8565SEmmanuel Vadot  - |
99*e67e8565SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
100*e67e8565SEmmanuel Vadot
101*e67e8565SEmmanuel Vadot    i2c {
102*e67e8565SEmmanuel Vadot          #address-cells = <1>;
103*e67e8565SEmmanuel Vadot          #size-cells = <0>;
104*e67e8565SEmmanuel Vadot
105*e67e8565SEmmanuel Vadot          pmic: pmic@30 {
106*e67e8565SEmmanuel Vadot                  compatible = "rohm,bd9571mwv";
107*e67e8565SEmmanuel Vadot                  reg = <0x30>;
108*e67e8565SEmmanuel Vadot                  interrupt-parent = <&gpio2>;
109*e67e8565SEmmanuel Vadot                  interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
110*e67e8565SEmmanuel Vadot                  interrupt-controller;
111*e67e8565SEmmanuel Vadot                  #interrupt-cells = <2>;
112*e67e8565SEmmanuel Vadot                  gpio-controller;
113*e67e8565SEmmanuel Vadot                  #gpio-cells = <2>;
114*e67e8565SEmmanuel Vadot                  rohm,ddr-backup-power = <0xf>;
115*e67e8565SEmmanuel Vadot                  rohm,rstbmode-pulse;
116*e67e8565SEmmanuel Vadot
117*e67e8565SEmmanuel Vadot                  regulators {
118*e67e8565SEmmanuel Vadot                          dvfs: dvfs {
119*e67e8565SEmmanuel Vadot                                  regulator-name = "dvfs";
120*e67e8565SEmmanuel Vadot                                  regulator-min-microvolt = <750000>;
121*e67e8565SEmmanuel Vadot                                  regulator-max-microvolt = <1030000>;
122*e67e8565SEmmanuel Vadot                                  regulator-boot-on;
123*e67e8565SEmmanuel Vadot                                  regulator-always-on;
124*e67e8565SEmmanuel Vadot                          };
125*e67e8565SEmmanuel Vadot                  };
126*e67e8565SEmmanuel Vadot          };
127*e67e8565SEmmanuel Vadot    };
128