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: André Draszik <andre.draszik@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20260122-s2mpg1x-regulators-v7-4-3b1f9831fffd@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
master
André Draszik 2026-01-22 15:43:31 +00:00 committed by Lee Jones
parent b31583a1a9
commit 189ccdc7e8
2 changed files with 70 additions and 28 deletions

View File

@ -0,0 +1,69 @@
# 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 {
};
};

View File

@ -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: