The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/mfd/samsung,s2mps11.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 # SPDX-License-Identifier: GPL-2.0-only
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/mfd/samsung,s2mps11.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Samsung S2MPS11/13/14/15 and S2MPU02 Power Management IC
    8 
    9 maintainers:
   10   - Krzysztof Kozlowski <krzk@kernel.org>
   11 
   12 description: |
   13   This is a part of device tree bindings for S2M and S5M family of Power
   14   Management IC (PMIC).
   15 
   16   The Samsung S2MPS11/13/14/15 and S2MPU02 is a family of Power Management IC
   17   which include voltage and current regulators, RTC, clock outputs and other
   18   sub-blocks.
   19 
   20 properties:
   21   compatible:
   22     enum:
   23       - samsung,s2mps11-pmic
   24       - samsung,s2mps13-pmic
   25       - samsung,s2mps14-pmic
   26       - samsung,s2mps15-pmic
   27       - samsung,s2mpu02-pmic
   28 
   29   clocks:
   30     $ref: ../clock/samsung,s2mps11.yaml
   31     description:
   32       Child node describing clock provider.
   33 
   34   interrupts:
   35     maxItems: 1
   36 
   37   reg:
   38     maxItems: 1
   39 
   40   regulators:
   41     type: object
   42     description:
   43       List of child nodes that specify the regulators.
   44 
   45   samsung,s2mps11-acokb-ground:
   46     description: |
   47       Indicates that ACOKB pin of S2MPS11 PMIC is connected to the ground so
   48       the PMIC must manually set PWRHOLD bit in CTRL1 register to turn off the
   49       power. Usually the ACOKB is pulled up to VBATT so when PWRHOLD pin goes
   50       low, the rising ACOKB will trigger power off.
   51     type: boolean
   52 
   53   samsung,s2mps11-wrstbi-ground:
   54     description: |
   55       Indicates that WRSTBI pin of PMIC is pulled down. When the system is
   56       suspended it will always go down thus triggerring unwanted buck warm
   57       reset (setting buck voltages to default values).
   58     type: boolean
   59 
   60   wakeup-source: true
   61 
   62 required:
   63   - compatible
   64   - reg
   65   - regulators
   66 
   67 additionalProperties: false
   68 
   69 allOf:
   70   - if:
   71       properties:
   72         compatible:
   73           contains:
   74             const: samsung,s2mps11-pmic
   75     then:
   76       properties:
   77         regulators:
   78           $ref: ../regulator/samsung,s2mps11.yaml
   79         samsung,s2mps11-wrstbi-ground: false
   80 
   81   - if:
   82       properties:
   83         compatible:
   84           contains:
   85             const: samsung,s2mps13-pmic
   86     then:
   87       properties:
   88         regulators:
   89           $ref: ../regulator/samsung,s2mps13.yaml
   90         samsung,s2mps11-acokb-ground: false
   91 
   92   - if:
   93       properties:
   94         compatible:
   95           contains:
   96             const: samsung,s2mps14-pmic
   97     then:
   98       properties:
   99         regulators:
  100           $ref: ../regulator/samsung,s2mps14.yaml
  101         samsung,s2mps11-acokb-ground: false
  102         samsung,s2mps11-wrstbi-ground: false
  103 
  104   - if:
  105       properties:
  106         compatible:
  107           contains:
  108             const: samsung,s2mps15-pmic
  109     then:
  110       properties:
  111         regulators:
  112           $ref: ../regulator/samsung,s2mps15.yaml
  113         samsung,s2mps11-acokb-ground: false
  114         samsung,s2mps11-wrstbi-ground: false
  115 
  116   - if:
  117       properties:
  118         compatible:
  119           contains:
  120             const: samsung,s2mpu02-pmic
  121     then:
  122       properties:
  123         regulators:
  124           $ref: ../regulator/samsung,s2mpu02.yaml
  125         samsung,s2mps11-acokb-ground: false
  126         samsung,s2mps11-wrstbi-ground: false
  127 
  128 examples:
  129   - |
  130     #include <dt-bindings/interrupt-controller/irq.h>
  131 
  132     i2c {
  133         #address-cells = <1>;
  134         #size-cells = <0>;
  135 
  136         pmic@66 {
  137             compatible = "samsung,s2mps11-pmic";
  138             reg = <0x66>;
  139 
  140             interrupt-parent = <&gpx0>;
  141             interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
  142             pinctrl-names = "default";
  143             pinctrl-0 = <&s2mps11_irq>;
  144             samsung,s2mps11-acokb-ground;
  145             wakeup-source;
  146 
  147             clocks {
  148                 compatible = "samsung,s2mps11-clk";
  149                 #clock-cells = <1>;
  150                 clock-output-names = "s2mps11_ap", "s2mps11_cp", "s2mps11_bt";
  151             };
  152 
  153             regulators {
  154                 LDO1 {
  155                     regulator-name = "vdd_ldo1";
  156                     regulator-min-microvolt = <1000000>;
  157                     regulator-max-microvolt = <1000000>;
  158                     regulator-always-on;
  159                 };
  160 
  161                 LDO4 {
  162                     regulator-name = "vdd_adc";
  163                     regulator-min-microvolt = <1800000>;
  164                     regulator-max-microvolt = <1800000>;
  165 
  166                     regulator-state-mem {
  167                         regulator-off-in-suspend;
  168                     };
  169                 };
  170 
  171                 // ....
  172 
  173                 BUCK1 {
  174                     regulator-name = "vdd_mif";
  175                     regulator-min-microvolt = <800000>;
  176                     regulator-max-microvolt = <1300000>;
  177                     regulator-always-on;
  178                     regulator-boot-on;
  179 
  180                     regulator-state-mem {
  181                         regulator-off-in-suspend;
  182                     };
  183                 };
  184 
  185                 BUCK2 {
  186                     regulator-name = "vdd_arm";
  187                     regulator-min-microvolt = <800000>;
  188                     regulator-max-microvolt = <1500000>;
  189                     regulator-always-on;
  190                     regulator-boot-on;
  191                     regulator-coupled-with = <&buck3_reg>;
  192                     regulator-coupled-max-spread = <300000>;
  193 
  194                     regulator-state-mem {
  195                         regulator-off-in-suspend;
  196                     };
  197                 };
  198 
  199                 BUCK3 {
  200                     regulator-name = "vdd_int";
  201                     regulator-min-microvolt = <800000>;
  202                     regulator-max-microvolt = <1400000>;
  203                     regulator-always-on;
  204                     regulator-boot-on;
  205                     regulator-coupled-with = <&buck2_reg>;
  206                     regulator-coupled-max-spread = <300000>;
  207 
  208                     regulator-state-mem {
  209                         regulator-off-in-suspend;
  210                     };
  211                 };
  212 
  213                 // ...
  214             };
  215         };
  216     };
  217 
  218   - |
  219     #include <dt-bindings/interrupt-controller/irq.h>
  220 
  221     i2c {
  222         #address-cells = <1>;
  223         #size-cells = <0>;
  224 
  225         pmic@66 {
  226             compatible = "samsung,s2mps14-pmic";
  227             reg = <0x66>;
  228 
  229             interrupt-parent = <&gpx0>;
  230             interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
  231             wakeup-source;
  232 
  233             clocks {
  234                 compatible = "samsung,s2mps14-clk";
  235                 #clock-cells = <1>;
  236                 clock-output-names = "s2mps14_ap", "unused", "s2mps14_bt";
  237             };
  238 
  239             regulators {
  240                 LDO1 {
  241                     regulator-name = "VLDO1_1.0V";
  242                     regulator-min-microvolt = <1000000>;
  243                     regulator-max-microvolt = <1000000>;
  244                     regulator-always-on;
  245 
  246                     regulator-state-mem {
  247                         regulator-on-in-suspend;
  248                     };
  249                 };
  250 
  251                 // ...
  252 
  253                 BUCK1 {
  254                     regulator-name = "VBUCK1_1.0V";
  255                     regulator-min-microvolt = <800000>;
  256                     regulator-max-microvolt = <1000000>;
  257                     regulator-always-on;
  258 
  259                     regulator-state-mem {
  260                         regulator-off-in-suspend;
  261                     };
  262                 };
  263 
  264                 // ...
  265             };
  266         };
  267     };

Cache object: fe2fba73c8f6ab556ce344b8aa6d8def


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.