dt-bindings: opp: Convert ti-omap5-opp-supply to json schema
Rename ti-omap5-opp-supply to be bit more generic omap-opp-supply and convert the free text binding to json-schema. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Dhruva Gole <d-gole@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
This commit is contained in:
parent
a5a297918a
commit
bbc2bf1388
101
Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml
Normal file
101
Documentation/devicetree/bindings/opp/ti,omap-opp-supply.yaml
Normal file
@ -0,0 +1,101 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/opp/ti,omap-opp-supply.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Texas Instruments OMAP compatible OPP supply
|
||||
|
||||
description:
|
||||
OMAP5, DRA7, and AM57 families of SoCs have Class 0 AVS eFuse
|
||||
registers, which contain OPP-specific voltage information tailored
|
||||
for the specific device. This binding provides the information
|
||||
needed to describe such a hardware values and relate them to program
|
||||
the primary regulator during an OPP transition.
|
||||
|
||||
Also, some supplies may have an associated vbb-supply, an Adaptive
|
||||
Body Bias regulator, which must transition in a specific sequence
|
||||
w.r.t the vdd-supply and clk when making an OPP transition. By
|
||||
supplying two regulators to the device that will undergo OPP
|
||||
transitions, we can use the multi-regulator support implemented by
|
||||
the OPP core to describe both regulators the platform needs. The
|
||||
OPP core binding Documentation/devicetree/bindings/opp/opp-v2.yaml
|
||||
provides further information (refer to Example 4 Handling multiple
|
||||
regulators).
|
||||
|
||||
maintainers:
|
||||
- Nishanth Menon <nm@ti.com>
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: '^opp-supply(@[0-9a-f]+)?$'
|
||||
|
||||
compatible:
|
||||
oneOf:
|
||||
- description: Basic OPP supply controlling VDD and VBB
|
||||
const: ti,omap-opp-supply
|
||||
- description: OMAP5+ optimized voltages in efuse(Class 0) VDD along with
|
||||
VBB.
|
||||
const: ti,omap5-opp-supply
|
||||
- description: OMAP5+ optimized voltages in efuse(class0) VDD but no VBB
|
||||
const: ti,omap5-core-opp-supply
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
ti,absolute-max-voltage-uv:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Absolute maximum voltage for the OPP supply in micro-volts.
|
||||
minimum: 750000
|
||||
maximum: 1500000
|
||||
|
||||
ti,efuse-settings:
|
||||
description: An array of u32 tuple items providing information about
|
||||
optimized efuse configuration.
|
||||
minItems: 1
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
||||
items:
|
||||
items:
|
||||
- description: Reference voltage in micro-volts (OPP Voltage)
|
||||
minimum: 750000
|
||||
maximum: 1500000
|
||||
multipleOf: 10000
|
||||
- description: efuse offset where the optimized voltage is located
|
||||
multipleOf: 4
|
||||
maximum: 256
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- ti,absolute-max-voltage-uv
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
not:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: ti,omap-opp-supply
|
||||
then:
|
||||
required:
|
||||
- reg
|
||||
- ti,efuse-settings
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
opp-supply {
|
||||
compatible = "ti,omap-opp-supply";
|
||||
ti,absolute-max-voltage-uv = <1375000>;
|
||||
};
|
||||
- |
|
||||
opp-supply@4a003b20 {
|
||||
compatible = "ti,omap5-opp-supply";
|
||||
reg = <0x4a003b20 0x8>;
|
||||
ti,efuse-settings =
|
||||
/* uV offset */
|
||||
<1060000 0x0>,
|
||||
<1160000 0x4>,
|
||||
<1210000 0x8>;
|
||||
ti,absolute-max-voltage-uv = <1500000>;
|
||||
};
|
@ -1,63 +0,0 @@
|
||||
Texas Instruments OMAP compatible OPP supply description
|
||||
|
||||
OMAP5, DRA7, and AM57 family of SoCs have Class0 AVS eFuse registers which
|
||||
contain data that can be used to adjust voltages programmed for some of their
|
||||
supplies for more efficient operation. This binding provides the information
|
||||
needed to read these values and use them to program the main regulator during
|
||||
an OPP transitions.
|
||||
|
||||
Also, some supplies may have an associated vbb-supply which is an Adaptive Body
|
||||
Bias regulator which much be transitioned in a specific sequence with regards
|
||||
to the vdd-supply and clk when making an OPP transition. By supplying two
|
||||
regulators to the device that will undergo OPP transitions we can make use
|
||||
of the multi regulator binding that is part of the OPP core described here [1]
|
||||
to describe both regulators needed by the platform.
|
||||
|
||||
[1] Documentation/devicetree/bindings/opp/opp-v2.yaml
|
||||
|
||||
Required Properties for Device Node:
|
||||
- vdd-supply: phandle to regulator controlling VDD supply
|
||||
- vbb-supply: phandle to regulator controlling Body Bias supply
|
||||
(Usually Adaptive Body Bias regulator)
|
||||
|
||||
Required Properties for opp-supply node:
|
||||
- compatible: Should be one of:
|
||||
"ti,omap-opp-supply" - basic OPP supply controlling VDD and VBB
|
||||
"ti,omap5-opp-supply" - OMAP5+ optimized voltages in efuse(class0)VDD
|
||||
along with VBB
|
||||
"ti,omap5-core-opp-supply" - OMAP5+ optimized voltages in efuse(class0) VDD
|
||||
but no VBB.
|
||||
- reg: Address and length of the efuse register set for the device (mandatory
|
||||
only for "ti,omap5-opp-supply")
|
||||
- ti,efuse-settings: An array of u32 tuple items providing information about
|
||||
optimized efuse configuration. Each item consists of the following:
|
||||
volt: voltage in uV - reference voltage (OPP voltage)
|
||||
efuse_offseet: efuse offset from reg where the optimized voltage is stored.
|
||||
- ti,absolute-max-voltage-uv: absolute maximum voltage for the OPP supply.
|
||||
|
||||
Example:
|
||||
|
||||
/* Device Node (CPU) */
|
||||
cpus {
|
||||
cpu0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
|
||||
...
|
||||
|
||||
vdd-supply = <&vcc>;
|
||||
vbb-supply = <&abb_mpu>;
|
||||
};
|
||||
};
|
||||
|
||||
/* OMAP OPP Supply with Class0 registers */
|
||||
opp_supply_mpu: opp_supply@4a003b20 {
|
||||
compatible = "ti,omap5-opp-supply";
|
||||
reg = <0x4a003b20 0x8>;
|
||||
ti,efuse-settings = <
|
||||
/* uV offset */
|
||||
1060000 0x0
|
||||
1160000 0x4
|
||||
1210000 0x8
|
||||
>;
|
||||
ti,absolute-max-voltage-uv = <1500000>;
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user