linux/Documentation/devicetree/bindings/regulator/rohm,bd71847-regulator.yaml
Matti Vaittinen 6656d4462c
regulator: bd71847: add property for omitting ON/OFF control
The BD718(37/47/50) regulator enable states can be controlled either by SW
or by PMIC internal state machine.

On some systems mixture of SW and HW state machine controlled regulators is
needed.

Specifically, some SoCs signal SUSPEND state change to PMIC via
STBY_REQ line. Now there are setups that expect certain regulators then to
be disabled (by PMIC state machine) while other regulators should stay
enabled (regardless of HW state => SW control required).

Add a new device-tree property "rohm,no-regulator-enable-control" which can
be used to leave regulator(s) under HW state machine control.

Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Link: https://lore.kernel.org/r/51022c60412297ad9b22501452d60ba2dce38d2e.1599029334.git.matti.vaittinen@fi.rohmeurope.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-09-04 11:02:41 +01:00

108 lines
3.8 KiB
YAML

# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/rohm,bd71847-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: ROHM BD71847 and BD71850 Power Management Integrated Circuit regulators
maintainers:
- Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
description: |
List of regulators provided by this controller. BD71847 regulators node
should be sub node of the BD71847 MFD node. See BD71847 MFD bindings at
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml
Regulator nodes should be named to BUCK_<number> and LDO_<number>. The
definition for each of these nodes is defined using the standard
binding for regulators at
Documentation/devicetree/bindings/regulator/regulator.txt.
Note that if BD71847 starts at RUN state you probably want to use
regulator-boot-on at least for BUCK5. LDO6 is supplied by it and it must
not be disabled by driver at startup. If BUCK5 is disabled at startup the
voltage monitoring for LDO5/LDO6 can cause PMIC to reset.
#The valid names for BD71847 regulator nodes are:
#BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6
#LDO1, LDO2, LDO3, LDO4, LDO5, LDO6
patternProperties:
"^LDO[1-6]$":
type: object
$ref: regulator.yaml#
description:
Properties for single LDO regulator.
properties:
regulator-name:
pattern: "^ldo[1-6]$"
description:
should be "ldo1", ..., "ldo6"
unevaluatedProperties: false
"^BUCK[1-6]$":
type: object
$ref: regulator.yaml#
description:
Properties for single BUCK regulator.
properties:
regulator-name:
pattern: "^buck[1-6]$"
description:
should be "buck1", ..., "buck6"
rohm,dvs-run-voltage:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 1300000
description:
PMIC default "RUN" state voltage in uV. See below table for
bucks which support this. 0 means disabled.
rohm,dvs-idle-voltage:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 1300000
description:
PMIC default "IDLE" state voltage in uV. See below table for
bucks which support this. 0 means disabled.
rohm,dvs-suspend-voltage:
$ref: "/schemas/types.yaml#/definitions/uint32"
minimum: 0
maximum: 1300000
description:
PMIC default "SUSPEND" state voltage in uV. See below table for
bucks which support this. 0 means disabled.
# Supported default DVS states:
#
# BD71847:
# buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage
# ----------------------------------------------------------------
# 1 | supported | supported | supported
# ----------------------------------------------------------------
# 2 | supported | supported | not supported
# ----------------------------------------------------------------
# rest | not supported | not supported | not supported
# BD718(47/50) power outputs can either be controlled by the PMIC internal
# hardware state machine or by software. If you need regulators to be
# turned ON/OFF for example based on PMIC_STBY_REQ line (which toggles
# PMIC HW state machine) - then you should set this property.
# Tradeoff is that then SW can't control the ON/OFF state for this
# regulator (other than invoking a PMIC state change).
rohm,no-regulator-enable-control:
description: |
Enable/Disable control of this regulator must be left to the
PMIC hardware state machine.
type: boolean
required:
- regulator-name
unevaluatedProperties: false
additionalProperties: false