Files
linux/Documentation/devicetree/bindings/power/reset/syscon-reboot.yaml
Chris Packham e7af7d1331 dt-bindings: reset: syscon-reboot: Add reg property
The syscon-reboot binding used 'offset' for historical reasons. Having a
reg property is appropriate when these nodes are children of a MMIO bus.
Add a reg property and modify the constraints so that one of 'reg' or
'offset' is expected.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20241015225948.3971924-2-chris.packham@alliedtelesis.co.nz
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2024-10-16 22:26:20 +02:00

81 lines
2.1 KiB
YAML

# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/reset/syscon-reboot.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Generic SYSCON mapped register reset driver
maintainers:
- Sebastian Reichel <sre@kernel.org>
description: |+
This is a generic reset driver using syscon to map the reset register.
The reset is generally performed with a write to the reset register
defined by the SYSCON register map base plus the offset with the value and
mask defined in the reboot node. Default will be little endian mode, 32 bit
access only. The SYSCON registers map is normally retrieved from the
parental dt-node. So the SYSCON reboot node should be represented as a
sub-node of a "syscon", "simple-mfd" node. Though the regmap property
pointing to the system controller node is also supported.
properties:
compatible:
const: syscon-reboot
mask:
$ref: /schemas/types.yaml#/definitions/uint32
description: Update only the register bits defined by the mask (32 bit).
offset:
$ref: /schemas/types.yaml#/definitions/uint32
description: Offset in the register map for the reboot register (in bytes).
reg:
maxItems: 1
description: Base address and size for the reboot register.
regmap:
$ref: /schemas/types.yaml#/definitions/phandle
deprecated: true
description: |
Phandle to the register map node. This property is deprecated in favor of
the syscon-reboot node been a child of a system controller node.
value:
$ref: /schemas/types.yaml#/definitions/uint32
description: The reset value written to the reboot register (32 bit access).
priority:
default: 192
oneOf:
- required:
- offset
- required:
- reg
required:
- compatible
additionalProperties: false
allOf:
- $ref: restart-handler.yaml#
- if:
not:
required:
- mask
then:
required:
- value
examples:
- |
reboot {
compatible = "syscon-reboot";
regmap = <&regmapnode>;
offset = <0x0>;
mask = <0x1>;
};