lkml.org 
[lkml]   [2019]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH v5 03/16] dt-bindings: mfd: Document ROHM BD71828 bindings
    ROHM BD71828 Power management IC integrates 7 buck converters, 7 LDOs,
    a real-time clock (RTC), 3 GPO/regulator control pins, HALL input
    and a 32.768 kHz clock gate.

    Document the dt bindings drivers are using.

    Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
    ---

    No changes from v4

    .../bindings/mfd/rohm,bd71828-pmic.yaml | 249 ++++++++++++++++++
    1 file changed, 249 insertions(+)
    create mode 100644 Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml

    diff --git a/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml b/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml
    new file mode 100644
    index 000000000000..17ea9fa463e8
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml
    @@ -0,0 +1,249 @@
    +# SPDX-License-Identifier: GPL-2.0-only
    +%YAML 1.2
    +---
    +$id: http://devicetree.org/schemas/mfd/rohm,bd71828-pmic.yaml#
    +$schema: http://devicetree.org/meta-schemas/core.yaml#
    +
    +title: ROHM BD71828 Power Management Integrated Circuit bindings
    +
    +maintainers:
    + - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
    +
    +description: |
    + 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.
    +
    + 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.yaml for how to define regulator voltages
    + for run-levels. Run-levels can be changed by I2C or GPIO depending on PMIC's
    + OTP configuration.
    +
    +properties:
    + compatible:
    + const: rohm,bd71828
    +
    + reg:
    + description:
    + I2C slave address.
    + maxItems: 1
    +
    + interrupts:
    + maxItems: 1
    + description:
    + The interrupt line the device is connected to.
    +
    + gpio-controller: true
    + # Indicate BD71828 acts as a GPIO controller.
    +
    + "#gpio-cells":
    + const: 2
    + description: |
    + The first cell is the pin number and the second cell is used to specify
    + flags. See ../gpio/gpio.txt for more information.
    +
    + clocks:
    + maxItems: 1
    + description:
    + The parent clock connected to PMIC.
    +
    + "#clock-cells":
    + const: 0
    +
    + rohm,charger-sense-resistor-ohms:
    + minimum: 10000000
    + maximum: 50000000
    + description: |
    + BD71827 and BD71828 have SAR ADC for measuring charging currents.
    + External sense resistor (RSENSE in data sheet) should be used. If some
    + other but 30MOhm resistor is used the resistance value should be given
    + here in Ohms.
    +
    + regulators:
    + $ref: ../regulator/rohm,bd71828-regulator.yaml
    + description:
    + List of child nodes that specify the regulators.
    +
    + leds:
    + $ref: ../leds/rohm,bd71828-leds.yaml
    +
    + rohm,dvs-vsel-gpios:
    + maxItems: 2
    + description: |
    + 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:
    + description: |
    + Usage of BD71828 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.
    +
    +required:
    + - compatible
    + - reg
    + - interrupts
    + - clocks
    + - "#clock-cells"
    + - regulators
    + - gpio-controller
    + - "#gpio-cells"
    +
    +examples:
    + - |
    + #include <dt-bindings/interrupt-controller/irq.h>
    + #include <dt-bindings/leds/common.h>
    + i2c {
    + #address-cells = <1>;
    + #size-cells = <0>;
    + pmic: pmic@4b {
    + compatible = "rohm,bd71828";
    + reg = <0x4b>;
    +
    + interrupt-parent = <&gpio1>;
    + interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
    +
    + clocks = <&osc 0>;
    + #clock-cells = <0>;
    + clock-output-names = "bd71828-32k-out";
    +
    + gpio-controller;
    + #gpio-cells = <2>;
    + gpio-reserved-ranges = <0 1>, <2 1>;
    +
    + rohm,dvs-vsel-gpios = <&gpio1 12 0>, <&gpio1 13 0>;
    + rohm,charger-sense-resistor-ohms = <10000000>;
    +
    + regulators {
    + buck1: BUCK1 {
    + regulator-name = "buck1";
    + regulator-min-microvolt = <500000>;
    + regulator-max-microvolt = <2000000>;
    + regulator-ramp-delay = <2500>;
    + rohm,dvs-runlvl-ctrl;
    + rohm,dvs-runlevel-microvolts = <500000>,
    + <506250>,
    + <512500>,
    + <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-runlevel-microvolts = <500000>,
    + <506250>,
    + <512500>,
    + <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-runlevel-microvolts = <500000>,
    + <506250>,
    + <512500>,
    + <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-runlevel-microvolts = <500000>,
    + <506250>,
    + <512500>,
    + <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;
    + };
    + };
    +
    + leds {
    + compatible = "rohm,bd71828-leds";
    +
    + led-1 {
    + rohm,led-compatible = "bd71828-grnled";
    + function = LED_FUNCTION_INDICATOR;
    + color = <LED_COLOR_ID_GREEN>;
    + };
    + led-2 {
    + rohm,led-compatible = "bd71828-ambled";
    + function = LED_FUNCTION_CHARGING;
    + color = <LED_COLOR_ID_AMBER>;
    + };
    + };
    + };
    + };
    --
    2.21.0

    --
    Matti Vaittinen, Linux device drivers
    ROHM Semiconductors, Finland SWDC
    Kiviharjunlenkki 1E
    90220 OULU
    FINLAND

    ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~
    Simon says - in Latin please.
    ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
    Thanks to Simon Glass for the translation =]

    \
     
     \ /
      Last update: 2019-11-18 07:55    [W:4.339 / U:0.252 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site