# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/soc/samsung/exynos-pmu.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Samsung Exynos SoC series Power Management Unit (PMU) maintainers: - Sam Protsenko description: |+ PMU block controls the power and operation states of Exynos SoC. It contains registers for changing the state of next features:: - Local power control. Exynos SoCs have various power domains, and it's possible to turn them on and off independently, using corresponding registers in PMU block - System-level power control. That allows putting the system into power-down modes (sleep) by turning off the power for most of the domains - Miscellaneous PMU related features # Custom select to avoid matching all nodes with 'syscon' select: properties: compatible: contains: enum: - samsung,exynos850-pmu required: - compatible properties: compatible: oneOf: - items: - enum: - samsung,exynos850-pmu - const: syscon reg: maxItems: 1 samsung,uart-debug-1: type: boolean description: Enable this property if AP UART lines (Application Processor UART) must be connected to UART_DEBUG_1 path in PMU block. That's usually needed when the serial console is provided by uart1_pins. If this property is not specified, the default behavior will be used (AP UART lines connected to UART_DEBUG_0 path, which usually means uart0_pins are used for the serial console). 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 required: - compatible - reg additionalProperties: false examples: - | pmu_system_controller: system-controller@11860000 { compatible = "samsung,exynos850-pmu", "syscon"; reg = <0x11860000 0x10000>; reboot: syscon-reboot { compatible = "syscon-reboot"; regmap = <&pmu_system_controller>; offset = <0x3a00>; /* SYSTEM_CONFIGURATION */ mask = <0x2>; /* SWRESET_SYSTEM */ value = <0x2>; /* reset value */ }; };