83 lines
2.1 KiB
YAML
83 lines
2.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/soc/loongson/loongson,ls2k-pmc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Loongson-2 Power Manager controller
|
|
|
|
maintainers:
|
|
- Yinbo Zhu <zhuyinbo@loongson.cn>
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- const: loongson,ls2k0500-pmc
|
|
- const: syscon
|
|
- items:
|
|
- enum:
|
|
- loongson,ls2k1000-pmc
|
|
- loongson,ls2k2000-pmc
|
|
- const: loongson,ls2k0500-pmc
|
|
- const: syscon
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
loongson,suspend-address:
|
|
$ref: /schemas/types.yaml#/definitions/uint64
|
|
description:
|
|
The "loongson,suspend-address" is a deep sleep state (Suspend To
|
|
RAM) firmware entry address which was jumped from kernel and it's
|
|
value was dependent on specific platform firmware code. In
|
|
addition, the PM need according to it to indicate that current
|
|
SoC whether support Suspend To RAM.
|
|
|
|
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
|
|
- interrupts
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
power-management@1fe27000 {
|
|
compatible = "loongson,ls2k1000-pmc", "loongson,ls2k0500-pmc", "syscon";
|
|
reg = <0x1fe27000 0x58>;
|
|
interrupt-parent = <&liointc1>;
|
|
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
|
loongson,suspend-address = <0x0 0x1c000500>;
|
|
|
|
syscon-reboot {
|
|
compatible = "syscon-reboot";
|
|
offset = <0x30>;
|
|
mask = <0x1>;
|
|
};
|
|
|
|
syscon-poweroff {
|
|
compatible = "syscon-poweroff";
|
|
regmap = <&pmc>;
|
|
offset = <0x14>;
|
|
mask = <0x3c00>;
|
|
value = <0x3c00>;
|
|
};
|
|
};
|