Commit 189ccdc7 authored by André Draszik's avatar André Draszik Committed by Lee Jones
Browse files

dt-bindings: mfd: samsung,s2mps11: Split s2mpg10-pmic into separate file



The samsung,s2mpg10-pmic binding is going to acquire various additional
properties. To avoid making the common samsung,s2mps11 binding file too
complicated due to additional nesting, split s2mpg10 out into its own
file.

As a side-effect, the oneOf for the interrupts is not required anymore,
as the required: node is at the top-level now.

Signed-off-by: default avatarAndré Draszik <andre.draszik@linaro.org>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20260122-s2mpg1x-regulators-v7-4-3b1f9831fffd@linaro.org


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent b31583a1
Loading
Loading
Loading
Loading
+69 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/samsung,s2mpg10-pmic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung S2MPG10 Power Management IC

maintainers:
  - André Draszik <andre.draszik@linaro.org>

description: |
  This is part of the device tree bindings for the S2MPG family of Power
  Management IC (PMIC).

  The Samsung S2MPG10 is a Power Management IC for mobile applications with buck
  converters, various LDOs, power meters, RTC, clock outputs, and additional
  GPIO interfaces.

properties:
  compatible:
    const: samsung,s2mpg10-pmic

  clocks:
    $ref: /schemas/clock/samsung,s2mps11.yaml
    description:
      Child node describing clock provider.

  interrupts:
    maxItems: 1

  regulators:
    type: object
    description:
      List of child nodes that specify the regulators.

  system-power-controller: true

  wakeup-source: true

required:
  - compatible
  - interrupts
  - regulators

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    pmic {
        compatible = "samsung,s2mpg10-pmic";
        interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>;
        pinctrl-names = "default";
        pinctrl-0 = <&pmic_int>;
        system-power-controller;
        wakeup-source;

        clocks {
            compatible = "samsung,s2mpg10-clk";
            #clock-cells = <1>;
            clock-output-names = "rtc32k_ap", "peri32k1", "peri32k2";
        };

        regulators {
        };
    };
+1 −28
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ description: |
properties:
  compatible:
    enum:
      - samsung,s2mpg10-pmic
      - samsung,s2mps11-pmic
      - samsung,s2mps13-pmic
      - samsung,s2mps14-pmic
@@ -59,42 +58,16 @@ properties:
      reset (setting buck voltages to default values).
    type: boolean

  system-power-controller: true

  wakeup-source: true

required:
  - compatible
  - reg
  - regulators

additionalProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: samsung,s2mpg10-pmic
    then:
      properties:
        reg: false
        samsung,s2mps11-acokb-ground: false
        samsung,s2mps11-wrstbi-ground: false

      # oneOf is required, because dtschema's fixups.py doesn't handle this
      # nesting here. Its special treatment to allow either interrupt property
      # when only one is specified in the binding works at the top level only.
      oneOf:
        - required: [interrupts]
        - required: [interrupts-extended]

    else:
      properties:
        system-power-controller: false

      required:
        - reg

  - if:
      properties:
        compatible: