lkml.org 
[lkml]   [2022]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 3/4] regulator: dt-bindings: Add Allwinner D1 LDOs
    Date
    The Allwinner D1 SoC contains two pairs of in-package LDOs. One pair is
    for general purpose use. LDOA generally powers the board's 1.8 V rail.
    LDOB generally powers the in-package DRAM, where applicable.

    The other pair of LDOs powers the analog power domains inside the SoC,
    including the audio codec, thermal sensor, and ADCs. These LDOs require
    a 0.9 V bandgap voltage reference. The calibration value for the voltage
    reference is stored in an eFuse, accessed via an NVMEM cell.

    Neither LDO control register is in its own MMIO range; instead, each
    regulator device relies on a regmap/syscon exported by its parent.

    Signed-off-by: Samuel Holland <samuel@sholland.org>
    ---

    Changes in v2:
    - Remove syscon property from bindings
    - Update binding examples to fix warnings and provide context

    .../allwinner,sun20i-d1-analog-ldos.yaml | 65 +++++++++++++++++++
    .../allwinner,sun20i-d1-system-ldos.yaml | 57 ++++++++++++++++
    2 files changed, 122 insertions(+)
    create mode 100644 Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-analog-ldos.yaml
    create mode 100644 Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-system-ldos.yaml

    diff --git a/Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-analog-ldos.yaml b/Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-analog-ldos.yaml
    new file mode 100644
    index 000000000000..19c984ef4e53
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-analog-ldos.yaml
    @@ -0,0 +1,65 @@
    +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    +%YAML 1.2
    +---
    +$id: http://devicetree.org/schemas/regulator/allwinner,sun20i-d1-analog-ldos.yaml#
    +$schema: http://devicetree.org/meta-schemas/core.yaml#
    +
    +title: Allwinner D1 Analog LDOs
    +
    +description:
    + Allwinner D1 contains a set of LDOs which are designed to supply analog power
    + inside and outside the SoC. They are controlled by a register within the audio
    + codec MMIO space, but which is not part of the audio codec clock/reset domain.
    +
    +maintainers:
    + - Samuel Holland <samuel@sholland.org>
    +
    +properties:
    + compatible:
    + enum:
    + - allwinner,sun20i-d1-analog-ldos
    +
    + nvmem-cells:
    + items:
    + - description: NVMEM cell for the calibrated bandgap reference trim value
    +
    + nvmem-cell-names:
    + items:
    + - const: bg_trim
    +
    +patternProperties:
    + "^(aldo|hpldo)$":
    + type: object
    + $ref: regulator.yaml#
    +
    +required:
    + - compatible
    + - nvmem-cells
    + - nvmem-cell-names
    +
    +unevaluatedProperties: false
    +
    +examples:
    + - |
    + audio-codec@2030000 {
    + compatible = "simple-mfd", "syscon";
    + reg = <0x2030000 0x1000>;
    +
    + regulators {
    + compatible = "allwinner,sun20i-d1-analog-ldos";
    + nvmem-cells = <&bg_trim>;
    + nvmem-cell-names = "bg_trim";
    +
    + reg_aldo: aldo {
    + regulator-min-microvolt = <1800000>;
    + regulator-max-microvolt = <1800000>;
    + };
    +
    + reg_hpldo: hpldo {
    + regulator-min-microvolt = <1800000>;
    + regulator-max-microvolt = <1800000>;
    + };
    + };
    + };
    +
    +...
    diff --git a/Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-system-ldos.yaml b/Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-system-ldos.yaml
    new file mode 100644
    index 000000000000..c95030a827d6
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-system-ldos.yaml
    @@ -0,0 +1,57 @@
    +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    +%YAML 1.2
    +---
    +$id: http://devicetree.org/schemas/regulator/allwinner,sun20i-d1-system-ldos.yaml#
    +$schema: http://devicetree.org/meta-schemas/core.yaml#
    +
    +title: Allwinner D1 System LDOs
    +
    +description:
    + Allwinner D1 contains a pair of general-purpose LDOs which are designed to
    + supply power inside and outside the SoC. They are controlled by a register
    + within the system control MMIO space.
    +
    +maintainers:
    + - Samuel Holland <samuel@sholland.org>
    +
    +properties:
    + compatible:
    + enum:
    + - allwinner,sun20i-d1-system-ldos
    +
    +patternProperties:
    + "^(ldoa|ldob)$":
    + type: object
    + $ref: regulator.yaml#
    +
    +required:
    + - compatible
    +
    +unevaluatedProperties: false
    +
    +examples:
    + - |
    + syscon@3000000 {
    + compatible = "allwinner,sun20i-d1-system-control";
    + reg = <0x3000000 0x1000>;
    + ranges;
    + #address-cells = <1>;
    + #size-cells = <1>;
    +
    + regulators {
    + compatible = "allwinner,sun20i-d1-system-ldos";
    +
    + reg_ldoa: ldoa {
    + regulator-min-microvolt = <1800000>;
    + regulator-max-microvolt = <1800000>;
    + };
    +
    + reg_ldob: ldob {
    + regulator-name = "vcc-dram";
    + regulator-min-microvolt = <1500000>;
    + regulator-max-microvolt = <1500000>;
    + };
    + };
    + };
    +
    +...
    --
    2.35.1
    \
     
     \ /
      Last update: 2022-08-02 07:33    [W:3.229 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site