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>
108 lines
3.8 KiB
YAML
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
|