[PATCH v8 03/10] dt-bindings: soc: samsung: exynos-pmu: move gs101-pmu into separate binding

André Draszik
2026-03-18T15:28:02Z

The gs101-pmu binding is going to acquire various additional (pattern)
properties that don't apply to other PMUs supported by this binding.

To enable this, move google,gs101-pmu into a separate binding.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
v7:
- drop invalid tested-by tag (Krzysztof)

v4:
- update since 'syscon' was removed from gs101-pmu compatibles
- update since 'select:' was removed from google,gs101-pmu.yaml

v3:
- use additionalProperties, not unevaluatedProperties
- fix path in $id (Rob)
- drop comment around 'select' (Rob)
---
.../bindings/soc/google/google,gs101-pmu.yaml | 56 ++++++++++++++++++++++
.../bindings/soc/samsung/exynos-pmu.yaml | 20 --------
MAINTAINERS | 1 +
3 files changed, 57 insertions(+), 20 deletions(-)

diff --git a/Documentation/devicetree/bindings/soc/google/google,gs101-pmu.yaml b/Documentation/devicetree/bindings/soc/google/google,gs101-pmu.yaml
new file mode 100644
index 000000000000..a06bd8ec3c20
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/google/google,gs101-pmu.yaml
@@ -0,0 +1,56 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/soc/google/google,gs101-pmu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Google GS101 Power Management Unit (PMU)
+
+maintainers:
+ - André Draszik <andre.draszik@linaro.org>
+
+properties:
+ compatible:
+ const: google,gs101-pmu
+
+ reg:
+ maxItems: 1
+
+ reboot-mode:
+ $ref: /schemas/power/reset/syscon-reboot-mode.yaml
+ type: object
+ description:
+ Reboot mode to alter bootloader behavior for the next boot
+
+ syscon-poweroff:
+ $ref: /schemas/power/reset/syscon-poweroff.yaml#
+ type: object
+ description:
+ Node for power off method
+
+ syscon-reboot:
+ $ref: /schemas/power/reset/syscon-reboot.yaml#
+ type: object
+ description:
+ Node for reboot method
+
+ google,pmu-intr-gen-syscon:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ Phandle to PMU interrupt generation interface.
+
+required:
+ - compatible
+ - reg
+ - google,pmu-intr-gen-syscon
+
+additionalProperties: false
+
+examples:
+ - |
+ system-controller@17460000 {
+ compatible = "google,gs101-pmu";
+ reg = <0x17460000 0x10000>;
+
+ google,pmu-intr-gen-syscon = <&pmu_intr_gen>;
+ };
diff --git a/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml b/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml
index 76ce7e98c10f..09368dbb6de6 100644
--- a/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml
+++ b/Documentation/devicetree/bindings/soc/samsung/exynos-pmu.yaml
@@ -12,8 +12,6 @@ maintainers:
properties:
compatible:
oneOf:
- - enum:
- - google,gs101-pmu
- items:
- enum:
- samsung,exynos3250-pmu
@@ -110,11 +108,6 @@ properties:
description:
Node for reboot method

- google,pmu-intr-gen-syscon:
- $ref: /schemas/types.yaml#/definitions/phandle
- description:
- Phandle to PMU interrupt generation interface.
-
required:
- compatible
- reg
@@ -176,19 +169,6 @@ allOf:
properties:
dp-phy: false

- - if:
- properties:
- compatible:
- contains:
- enum:
- - google,gs101-pmu
- then:
- required:
- - google,pmu-intr-gen-syscon
- else:
- properties:
- google,pmu-intr-gen-syscon: false
-
examples:
- |
#include <dt-bindings/clock/exynos5250.h>
diff --git a/MAINTAINERS b/MAINTAINERS
index e8376343935f..60da52c420d4 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -10906,6 +10906,7 @@ C: irc://irc.oftc.net/pixel6-kernel-dev
F: Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
F: Documentation/devicetree/bindings/phy/google,lga-usb-phy.yaml
F: Documentation/devicetree/bindings/soc/google/google,gs101-dtzpc.yaml
+F: Documentation/devicetree/bindings/soc/google/google,gs101-pmu.yaml
F: Documentation/devicetree/bindings/soc/google/google,gs101-pmu-intr-gen.yaml
F: Documentation/devicetree/bindings/usb/google,lga-dwc3.yaml
F: arch/arm64/boot/dts/exynos/google/

--
2.53.0.851.ga537e3e6e9-goog