Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  dlg,da9063.yaml   Sprache: unbekannt

 
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/dlg,da9063.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Dialog DA906{3L,3,2,1} Power Management Integrated Circuit (PMIC)

maintainers:
  - Steve Twiss <stwiss.opensource@diasemi.com>

description: |
  For device-tree bindings of other sub-modules refer to the binding documents
  under the respective sub-system directories.
  Using regulator-{uv,ov}-{warn,error,protection}-microvolt requires special
  handling: First, when GP_FB2 is used, it must be ensured that there is no
  moment where all voltage monitors are disabled. Next, as da9063 only supports
  UV *and* OV monitoring, both must be set to the same severity and value
  (0: disable, 1: enable).
  Product information for the DA906{3L,3,2,1} devices can be found here:
  - https://www.dialog-semiconductor.com/products/da9063l
  - https://www.dialog-semiconductor.com/products/da9063
  - https://www.dialog-semiconductor.com/products/da9062
  - https://www.dialog-semiconductor.com/products/da9061

properties:
  compatible:
    enum:
      - dlg,da9061
      - dlg,da9062
      - dlg,da9063
      - dlg,da9063l

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  interrupt-controller: true

  "#interrupt-cells":
    const: 2

  gpio-controller: true

  "#gpio-cells":
    const: 2

  gpio:
    type: object
    additionalProperties: false
    properties:
      compatible:
        const: dlg,da9062-gpio

  onkey:
    $ref: /schemas/input/dlg,da9062-onkey.yaml

  regulators:
    type: object
    additionalProperties: false
    patternProperties:
      "^(ldo([1-9]|1[01])|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged|buck[1-4])$":
        $ref: /schemas/regulator/regulator.yaml
        unevaluatedProperties: false

  rtc:
    type: object
    $ref: /schemas/rtc/rtc.yaml#
    unevaluatedProperties: false
    properties:
      compatible:
        enum:
          - dlg,da9062-rtc
          - dlg,da9063-rtc

  thermal:
    $ref: /schemas/thermal/dlg,da9062-thermal.yaml

  watchdog:
    $ref: /schemas/watchdog/dlg,da9062-watchdog.yaml

patternProperties:
  "^(.+-hog(-[0-9]+)?)$":
    type: object

    required:
      - gpio-hog

required:
  - compatible
  - reg

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - dlg,da9063
              - dlg,da9063l
    then:
      properties:
        gpio-controller: false
        "#gpio-cells": false
        gpio: false
        regulators:
          patternProperties:
            "^buck[1-4]$": false
        thermal: false
      required:
        - interrupts
        - interrupt-controller
        - '#interrupt-cells'

  - if:
      properties:
        compatible:
          contains:
            enum:
              - dlg,da9062
    then:
      properties:
        regulators:
          patternProperties:
            "^(ldo([5-9]|10|11)|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged)$": false
      required:
        - gpio
        - onkey
        - rtc
        - thermal
        - watchdog

  - if:
      properties:
        compatible:
          contains:
            enum:
              - dlg,da9061
    then:
      properties:
        gpio-controller: false
        "#gpio-cells": false
        gpio: false
        regulators:
          patternProperties:
            "^(ldo([5-9]|10|11)|bcore([1-2]|s-merged)|b(pro|mem|io|peri)|bmem-bio-merged|buck4)$": false
        rtc: false
      required:
        - onkey
        - thermal
        - watchdog

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
      pmic@58 {
        compatible = "dlg,da9063";
        reg = <0x58>;
        interrupt-parent = <&gpio6>;
        interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
        interrupt-controller;
        #interrupt-cells = <2>;

        rtc {
          compatible = "dlg,da9063-rtc";
        };

        watchdog {
          compatible = "dlg,da9063-watchdog";
        };

        onkey {
          compatible = "dlg,da9063-onkey";
          dlg,disable-key-power;
        };

        regulators {
          bcore1 {
            regulator-name = "BCORE1";
            regulator-min-microvolt = <300000>;
            regulator-max-microvolt = <1570000>;
            regulator-min-microamp = <500000>;
            regulator-max-microamp = <2000000>;
            regulator-boot-on;
          };
          ldo6 {
            /* UNUSED */
            regulator-name = "LDO_6";
            regulator-uv-protection-microvolt = <0>;
            regulator-ov-protection-microvolt = <0>;
          };
          ldo11 {
            regulator-name = "LDO_11";
            regulator-min-microvolt = <900000>;
            regulator-max-microvolt = <900000>;
            regulator-uv-protection-microvolt = <1>;
            regulator-ov-protection-microvolt = <1>;
            regulator-always-on;
          };
        };
      };
    };

  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/regulator/dlg,da9063-regulator.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;
      pmic@58 {
        compatible = "dlg,da9062";
        reg = <0x58>;
        gpio-controller;
        #gpio-cells = <2>;

        sd0-pwr-sel-hog {
          gpio-hog;
          gpios = <1 0>;
          input;
          line-name = "SD0_PWR_SEL";
        };

        sd1-pwr-sel-hog {
          gpio-hog;
          gpios = <2 0>;
          input;
          line-name = "SD1_PWR_SEL";
        };

        sw-et0-en-hog {
          gpio-hog;
          gpios = <3 0>;
          input;
          line-name = "SW_ET0_EN#";
        };

        pmic-good-hog {
          gpio-hog;
          gpios = <4 0>;
          output-high;
          line-name = "PMIC_PGOOD";
        };

        gpio {
          compatible = "dlg,da9062-gpio";
        };

        onkey {
          compatible = "dlg,da9062-onkey";
        };

        regulators {
          buck1 {
            regulator-name = "vdd_arm";
            regulator-min-microvolt = <925000>;
            regulator-max-microvolt = <1380000>;
            regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
            regulator-always-on;
          };
          buck2 {
            regulator-name = "vdd_soc";
            regulator-min-microvolt = <1150000>;
            regulator-max-microvolt = <1380000>;
            regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
            regulator-always-on;
          };
          buck3 {
            regulator-name = "vdd_ddr3";
            regulator-min-microvolt = <1500000>;
            regulator-max-microvolt = <1500000>;
            regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
            regulator-always-on;
          };
          buck4 {
            regulator-name = "vdd_eth";
            regulator-min-microvolt = <1200000>;
            regulator-max-microvolt = <1200000>;
            regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
            regulator-always-on;
          };
          ldo1 {
            regulator-name = "vdd_snvs";
            regulator-min-microvolt = <3000000>;
            regulator-max-microvolt = <3000000>;
            regulator-always-on;
          };
          ldo2 {
            regulator-name = "vdd_high";
            regulator-min-microvolt = <3000000>;
            regulator-max-microvolt = <3000000>;
            regulator-always-on;
          };
          ldo3 {
            regulator-name = "vdd_eth_io";
            regulator-min-microvolt = <2500000>;
            regulator-max-microvolt = <2500000>;
          };
          ldo4 {
            regulator-name = "vdd_emmc";
            regulator-min-microvolt = <1800000>;
            regulator-max-microvolt = <1800000>;
            regulator-always-on;
          };
        };

        rtc {
          compatible = "dlg,da9062-rtc";
        };

        thermal {
          compatible = "dlg,da9062-thermal";
        };

        watchdog {
          compatible = "dlg,da9062-watchdog";
          dlg,use-sw-pm;
        };
      };
    };
...

[ Dauer der Verarbeitung: 0.3 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge