lkml.org 
[lkml]   [2019]   [Oct]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [RFC PATCH 12/13] dt-bindings: mfd: Document ROHM BD71282 bindings
    From
    Date
    Matt

    On 10/17/19 4:55 AM, Matti Vaittinen wrote:
    > ROHM BD71828 Power management IC integrates 7 buck converters, 7 LDOs,
    > a real-time clock (RTC), 3 GPO/regulator control pins, HALL input pin
    > and a 32.768 kHz clock gate.
    >
    > Document the dt bindings drivers are using.

    This should be patch 1 of X


    > Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
    > ---
    > .../bindings/mfd/rohm,bd71828-pmic.txt | 180 ++++++++++++++++++
    > 1 file changed, 180 insertions(+)
    > create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.txt
    >
    > diff --git a/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.txt b/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.txt
    > new file mode 100644
    > index 000000000000..125efa9f3de0
    > --- /dev/null
    > +++ b/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.txt
    > @@ -0,0 +1,180 @@
    > +* ROHM BD71828 Power Management Integrated Circuit bindings
    > +
    > +BD71828GW is a single-chip power management IC for battery-powered portable
    > +devices. The IC integrates 7 buck converters, 7 LDOs, and a 1500 mA single-cell
    > +linear charger. Also included is a Coulomb counter, a real-time clock (RTC),
    > +and a 32.768 kHz clock gate.
    > +
    > +Required properties:
    > + - compatible : Should be "rohm,bd71828".
    > + - reg : I2C slave address.
    > + - interrupt-parent : Phandle to the parent interrupt controller.
    > + - interrupts : The interrupt line the device is connected to.
    > + - clocks : The parent clock connected to PMIC.
    > + - #clock-cells : Should be 0.
    > + - regulators : List of child nodes that specify the
    > + regulators. Please see
    > + ../regulator/rohm,bd71828-regulator.txt
    > + - gpio-controller : To indicate BD71828 acts as a GPIO controller.
    > + - #gpio-cells : Should be 2. The first cell is the pin number
    > + and the second cell is used to specify flags.
    > + See ../gpio/gpio.txt for more information.
    > +
    > +The BD71828 RUN state is divided into 4 configurable run-levels named RUN0,
    > +RUN1, RUN2 and RUN3. Bucks 1, 2, 6 and 7 can be either controlled individually
    > +via I2C, or some/all of them can be bound to run-levels and controlled as a
    > +group. If bucks are controlled individually these run-levels are ignored. See
    > +../regulator/rohm,bd71828-regulator.txt for how to define regulator voltages
    > +for run-levels. Run-levels can be changed by I2C or GPIO depending on PMIC's OTP
    > +configuration.
    > +
    > +Optional properties:
    > +- clock-output-names : Should contain name for output clock.
    > +- rohm,dvs-vsel-gpios : GPIOs used to control PMIC run-levels. Should
    > + describe two GPIOs. (See run-level control in
    > + data-sheet). If this property is omitted but
    > + some bucks are marked to be controlled by
    > + run-levels - then OTP option allowing
    > + run-level control via I2C is assumed.
    > +- gpio-reserved-ranges : Usage of GPIO pins can be changed via OTP.
    > + This property can be used to mark the pins
    > + which should not be configured for GPIO.
    > + Please see the ../gpio/gpio.txt for more
    > + information.
    > +
    > +Example:
    > +
    > + /* external oscillator node */
    > + osc: oscillator {
    > + compatible = "fixed-clock";
    > + #clock-cells = <1>;
    > + clock-frequency = <32768>;
    > + clock-output-names = "osc";
    > + };
    > +
    > + pmic: pmic@4b {
    > + compatible = "rohm,bd71828";
    > + reg = <0x4b>;
    > + interrupt-parent = <&gpio1>;
    > + interrupts = <29 GPIO_ACTIVE_LOW>;
    > + clocks = <&osc 0>;
    > + #clock-cells = <0>;
    > + clock-output-names = "bd71828-32k-out";
    > + gpio-controller;
    > + #gpio-cells = <2>;
    > + ngpios = <4>;
    > + gpio-reserved-ranges = <0 1 2 1>;
    > + gpio-line-names = "EPDEN";
    > + rohm,dvs-vsel-gpios = <&gpio1 12 0>,
    > + <&gpio1 13 0>;
    > + regulators {
    > + buck1: BUCK1 {
    > + regulator-name = "buck1";
    > + regulator-min-microvolt = <500000>;
    > + regulator-max-microvolt = <2000000>;
    > + regulator-ramp-delay = <2500>;
    > + rohm,dvs-runlvl-ctrl;
    > + rohm,dvs-runlevel0-voltage = <500000>;
    > + rohm,dvs-runlevel1-voltage = <506250>;
    > + rohm,dvs-runlevel2-voltage = <512500>;
    > + rohm,dvs-runlevel3-voltage = <518750>;
    > + regulator-boot-on;
    > + };
    > + buck2: BUCK2 {
    > + regulator-name = "buck2";
    > + regulator-min-microvolt = <500000>;
    > + regulator-max-microvolt = <2000000>;
    > + regulator-ramp-delay = <2500>;
    > + rohm,dvs-runlvl-ctrl;
    > + rohm,dvs-runlevel0-voltage = <500000>;
    > + rohm,dvs-runlevel1-voltage = <506250>;
    > + rohm,dvs-runlevel2-voltage = <512500>;
    > + rohm,dvs-runlevel3-voltage = <518750>;
    > + regulator-boot-on;
    > + };
    > + buck3: BUCK3 {
    > + regulator-name = "buck3";
    > + regulator-min-microvolt = <1200000>;
    > + regulator-max-microvolt = <2000000>;
    > + regulator-boot-on;
    > + };
    > + buck4: BUCK4 {
    > + regulator-name = "buck4";
    > + regulator-min-microvolt = <1000000>;
    > + regulator-max-microvolt = <1800000>;
    > + regulator-boot-on;
    > + };
    > + buck5: BUCK5 {
    > + regulator-name = "buck5";
    > + regulator-min-microvolt = <2500000>;
    > + regulator-max-microvolt = <3300000>;
    > + regulator-boot-on;
    > + };
    > + buck6: BUCK6 {
    > + regulator-name = "buck6";
    > + regulator-min-microvolt = <500000>;
    > + regulator-max-microvolt = <2000000>;
    > + regulator-ramp-delay = <2500>;
    > + rohm,dvs-runlvl-ctrl;
    > + rohm,dvs-runlevel0-voltage = <500000>;
    > + rohm,dvs-runlevel1-voltage = <506250>;
    > + rohm,dvs-runlevel2-voltage = <512500>;
    > + rohm,dvs-runlevel3-voltage = <518750>;
    > + regulator-boot-on;
    > + };
    > + buck7: BUCK7 {
    > + regulator-name = "buck7";
    > + regulator-min-microvolt = <500000>;
    > + regulator-max-microvolt = <2000000>;
    > + regulator-ramp-delay = <2500>;
    > + rohm,dvs-runlvl-ctrl;
    > + rohm,dvs-runlevel0-voltage = <500000>;
    > + rohm,dvs-runlevel1-voltage = <506250>;
    > + rohm,dvs-runlevel2-voltage = <512500>;
    > + rohm,dvs-runlevel3-voltage = <518750>;
    > + regulator-boot-on;
    > + };
    > + ldo1: LDO1 {
    > + regulator-name = "ldo1";
    > + regulator-min-microvolt = <800000>;
    > + regulator-max-microvolt = <3300000>;
    > + regulator-boot-on;
    > + };
    > + ldo2: LDO2 {
    > + regulator-name = "ldo2";
    > + regulator-min-microvolt = <800000>;
    > + regulator-max-microvolt = <3300000>;
    > + regulator-boot-on;
    > + };
    > + ldo3: LDO3 {
    > + regulator-name = "ldo3";
    > + regulator-min-microvolt = <800000>;
    > + regulator-max-microvolt = <3300000>;
    > + regulator-boot-on;
    > + };
    > + ldo4: LDO4 {
    > + regulator-name = "ldo4";
    > + regulator-min-microvolt = <800000>;
    > + regulator-max-microvolt = <3300000>;
    > + regulator-boot-on;
    > + };
    > + ldo5: LDO5 {
    > + regulator-name = "ldo5";
    > + regulator-min-microvolt = <800000>;
    > + regulator-max-microvolt = <3300000>;
    > + regulator-boot-on;
    > + };
    > + ldo6: LDO6 {
    > + regulator-name = "ldo6";
    > + regulator-min-microvolt = <1800000>;
    > + regulator-max-microvolt = <1800000>;
    > + regulator-boot-on;
    > + };
    > + ldo7_reg: LDO7 {
    > + regulator-name = "ldo7";
    > + regulator-min-microvolt = <800000>;
    > + regulator-max-microvolt = <3300000>;
    > + regulator-boot-on;
    > + };
    > + };
    > + };

    \
     
     \ /
      Last update: 2019-10-17 16:20    [W:2.063 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site