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,s5m8767.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 OR BSD-2-Clause
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/mfd/samsung,s5m8767.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Samsung S5M8767 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 S5M8767 is a Power Management IC which includes voltage
   17   and current regulators, RTC, clock outputs and other sub-blocks.
   18 
   19 properties:
   20   compatible:
   21     const: samsung,s5m8767-pmic
   22 
   23   clocks:
   24     $ref: ../clock/samsung,s2mps11.yaml
   25     description:
   26       Child node describing clock provider.
   27 
   28   interrupts:
   29     maxItems: 1
   30 
   31   reg:
   32     maxItems: 1
   33 
   34   regulators:
   35     $ref: ../regulator/samsung,s5m8767.yaml
   36     description:
   37       List of child nodes that specify the regulators.
   38 
   39   s5m8767,pmic-buck2-dvs-voltage:
   40     $ref: /schemas/types.yaml#/definitions/uint32-array
   41     minItems: 8
   42     maxItems: 8
   43     description: |
   44       A set of 8 voltage values in micro-volt (uV) units for buck2 when
   45       changing voltage using gpio dvs.
   46 
   47   s5m8767,pmic-buck3-dvs-voltage:
   48     $ref: /schemas/types.yaml#/definitions/uint32-array
   49     minItems: 8
   50     maxItems: 8
   51     description: |
   52       A set of 8 voltage values in micro-volt (uV) units for buck3 when
   53       changing voltage using gpio dvs.
   54 
   55   s5m8767,pmic-buck4-dvs-voltage:
   56     $ref: /schemas/types.yaml#/definitions/uint32-array
   57     minItems: 8
   58     maxItems: 8
   59     description: |
   60       A set of 8 voltage values in micro-volt (uV) units for buck4 when
   61       changing voltage using gpio dvs.
   62 
   63   s5m8767,pmic-buck-ds-gpios:
   64     minItems: 3
   65     maxItems: 3
   66     description: |
   67       GPIO specifiers for three host gpio's used for selecting GPIO DVS lines.
   68       It is one-to-one mapped to dvs gpio lines.
   69 
   70   s5m8767,pmic-buck2-uses-gpio-dvs:
   71     type: boolean
   72     description: buck2 can be controlled by gpio dvs.
   73 
   74   s5m8767,pmic-buck3-uses-gpio-dvs:
   75     type: boolean
   76     description: buck3 can be controlled by gpio dvs.
   77 
   78   s5m8767,pmic-buck4-uses-gpio-dvs:
   79     type: boolean
   80     description: buck4 can be controlled by gpio dvs.
   81 
   82   s5m8767,pmic-buck-default-dvs-idx:
   83     $ref: /schemas/types.yaml#/definitions/uint32-array
   84     minimum: 0
   85     maximum: 7
   86     default: 0
   87     description: |
   88       Default voltage setting selected from the possible 8 options selectable
   89       by the dvs gpios. The value of this property should be between 0 and 7.
   90       If not specified or if out of range, the default value of this property
   91       is set to 0.
   92 
   93   s5m8767,pmic-buck-dvs-gpios:
   94     minItems: 3
   95     maxItems: 3
   96     description: |
   97       GPIO specifiers for three host gpio's used for dvs.
   98 
   99   vinb1-supply:
  100     description: Power supply for buck1
  101   vinb2-supply:
  102     description: Power supply for buck2
  103   vinb3-supply:
  104     description: Power supply for buck3
  105   vinb4-supply:
  106     description: Power supply for buck4
  107   vinb5-supply:
  108     description: Power supply for buck5
  109   vinb6-supply:
  110     description: Power supply for buck6
  111   vinb7-supply:
  112     description: Power supply for buck7
  113   vinb8-supply:
  114     description: Power supply for buck8
  115   vinb9-supply:
  116     description: Power supply for buck9
  117 
  118   vinl1-supply:
  119     description: Power supply for LDO3, LDO10, LDO26, LDO27
  120   vinl2-supply:
  121     description: Power supply for LDO13, LDO16, LDO25, LDO28
  122   vinl3-supply:
  123     description: Power supply for LDO11, LDO14
  124   vinl4-supply:
  125     description: Power supply for LDO4, LDO9
  126   vinl5-supply:
  127     description: Power supply for LDO12, LDO17, LDO19, LDO23
  128   vinl6-supply:
  129     description: Power supply for LDO18, LDO20, LDO21, LDO24
  130   vinl7-supply:
  131     description: Power supply for LDO5, LDO22
  132   vinl8-supply:
  133     description: Power supply for LDO1, LDO6, LDO7, LDO8, LDO15
  134   vinl9-supply:
  135     description: Power supply for LDO2
  136 
  137   wakeup-source: true
  138 
  139 required:
  140   - compatible
  141   - reg
  142   - regulators
  143   - s5m8767,pmic-buck-ds-gpios
  144 
  145 dependencies:
  146   s5m8767,pmic-buck2-dvs-voltage: [ 's5m8767,pmic-buck-dvs-gpios' ]
  147   s5m8767,pmic-buck3-dvs-voltage: [ 's5m8767,pmic-buck-dvs-gpios' ]
  148   s5m8767,pmic-buck4-dvs-voltage: [ 's5m8767,pmic-buck-dvs-gpios' ]
  149   s5m8767,pmic-buck2-uses-gpio-dvs: [ 's5m8767,pmic-buck-dvs-gpios', 's5m8767,pmic-buck2-dvs-voltage' ]
  150   s5m8767,pmic-buck3-uses-gpio-dvs: [ 's5m8767,pmic-buck-dvs-gpios', 's5m8767,pmic-buck3-dvs-voltage' ]
  151   s5m8767,pmic-buck4-uses-gpio-dvs: [ 's5m8767,pmic-buck-dvs-gpios', 's5m8767,pmic-buck4-dvs-voltage' ]
  152 
  153 additionalProperties: false
  154 
  155 allOf:
  156   - if:
  157       required:
  158         - s5m8767,pmic-buck2-uses-gpio-dvs
  159     then:
  160       properties:
  161         s5m8767,pmic-buck3-uses-gpio-dvs: false
  162         s5m8767,pmic-buck4-uses-gpio-dvs: false
  163 
  164   - if:
  165       required:
  166         - s5m8767,pmic-buck3-uses-gpio-dvs
  167     then:
  168       properties:
  169         s5m8767,pmic-buck2-uses-gpio-dvs: false
  170         s5m8767,pmic-buck4-uses-gpio-dvs: false
  171 
  172   - if:
  173       required:
  174         - s5m8767,pmic-buck4-uses-gpio-dvs
  175     then:
  176       properties:
  177         s5m8767,pmic-buck2-uses-gpio-dvs: false
  178         s5m8767,pmic-buck3-uses-gpio-dvs: false
  179 
  180 examples:
  181   - |
  182     #include <dt-bindings/gpio/gpio.h>
  183     #include <dt-bindings/interrupt-controller/irq.h>
  184 
  185     i2c {
  186         #address-cells = <1>;
  187         #size-cells = <0>;
  188 
  189         pmic@66 {
  190             compatible = "samsung,s5m8767-pmic";
  191             reg = <0x66>;
  192 
  193             interrupt-parent = <&gpx3>;
  194             interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
  195             pinctrl-names = "default";
  196             pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>;
  197             wakeup-source;
  198 
  199             s5m8767,pmic-buck-default-dvs-idx = <3>;
  200             s5m8767,pmic-buck2-uses-gpio-dvs;
  201 
  202             s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>,
  203                                           <&gpd1 1 GPIO_ACTIVE_LOW>,
  204                                           <&gpd1 2 GPIO_ACTIVE_LOW>;
  205 
  206             s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_LOW>,
  207                                          <&gpx2 4 GPIO_ACTIVE_LOW>,
  208                                          <&gpx2 5 GPIO_ACTIVE_LOW>;
  209 
  210             s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>,
  211                                              <1250000>, <1200000>,
  212                                              <1150000>, <1100000>,
  213                                              <1000000>, <950000>;
  214 
  215             s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
  216                                              <1100000>, <1100000>,
  217                                              <1000000>, <1000000>,
  218                                              <1000000>, <1000000>;
  219 
  220             s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
  221                                              <1200000>, <1200000>,
  222                                              <1200000>, <1200000>,
  223                                              <1200000>, <1200000>;
  224 
  225             clocks {
  226                 compatible = "samsung,s5m8767-clk";
  227                 #clock-cells = <1>;
  228                 clock-output-names = "en32khz_ap", "en32khz_cp", "en32khz_bt";
  229             };
  230 
  231             regulators {
  232                 LDO1 {
  233                     regulator-name = "VDD_ALIVE";
  234                     regulator-min-microvolt = <1100000>;
  235                     regulator-max-microvolt = <1100000>;
  236                     regulator-always-on;
  237                     regulator-boot-on;
  238                     op_mode = <1>; /* Normal Mode */
  239                 };
  240 
  241                 // ...
  242 
  243                 BUCK1 {
  244                     regulator-name = "VDD_MIF";
  245                     regulator-min-microvolt = <950000>;
  246                     regulator-max-microvolt = <1100000>;
  247                     regulator-always-on;
  248                     regulator-boot-on;
  249                     op_mode = <1>; /* Normal Mode */
  250                 };
  251 
  252                 BUCK2 {
  253                     regulator-name = "VDD_ARM";
  254                     regulator-min-microvolt = <900000>;
  255                     regulator-max-microvolt = <1350000>;
  256                     regulator-always-on;
  257                     regulator-boot-on;
  258                     op_mode = <1>; /* Normal Mode */
  259                 };
  260 
  261                 // ...
  262             };
  263         };
  264     };
  265 
  266   - |
  267     #include <dt-bindings/gpio/gpio.h>
  268     #include <dt-bindings/interrupt-controller/irq.h>
  269 
  270     i2c {
  271         #address-cells = <1>;
  272         #size-cells = <0>;
  273 
  274         pmic@66 {
  275             compatible = "samsung,s5m8767-pmic";
  276             reg = <0x66>;
  277 
  278             interrupt-parent = <&gpx3>;
  279             interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
  280             pinctrl-names = "default";
  281             pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>;
  282             wakeup-source;
  283 
  284             s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_LOW>,
  285                                          <&gpx2 4 GPIO_ACTIVE_LOW>,
  286                                          <&gpx2 5 GPIO_ACTIVE_LOW>;
  287 
  288             clocks {
  289                 compatible = "samsung,s5m8767-clk";
  290                 #clock-cells = <1>;
  291                 clock-output-names = "en32khz_ap", "en32khz_cp", "en32khz_bt";
  292             };
  293 
  294             regulators {
  295                 LDO1 {
  296                     regulator-name = "VDD_ALIVE";
  297                     regulator-min-microvolt = <1100000>;
  298                     regulator-max-microvolt = <1100000>;
  299                     regulator-always-on;
  300                     regulator-boot-on;
  301                     op_mode = <1>; /* Normal Mode */
  302                 };
  303 
  304                 // ...
  305             };
  306         };
  307     };

Cache object: 1e1a5fcaabe1b642558eef578b106236


[ 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.