xref: /linux/Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml (revision a23e1966932464e1c5226cb9ac4ce1d5fc10ba22)
16054a676SYinbo Zhu# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
26054a676SYinbo Zhu%YAML 1.2
36054a676SYinbo Zhu---
46054a676SYinbo Zhu$id: http://devicetree.org/schemas/soc/loongson/loongson,ls2k-pmc.yaml#
56054a676SYinbo Zhu$schema: http://devicetree.org/meta-schemas/core.yaml#
66054a676SYinbo Zhu
76054a676SYinbo Zhutitle: Loongson-2 Power Manager controller
86054a676SYinbo Zhu
96054a676SYinbo Zhumaintainers:
106054a676SYinbo Zhu  - Yinbo Zhu <zhuyinbo@loongson.cn>
116054a676SYinbo Zhu
126054a676SYinbo Zhuproperties:
136054a676SYinbo Zhu  compatible:
14380054cbSBinbin Zhou    oneOf:
15380054cbSBinbin Zhou      - items:
16380054cbSBinbin Zhou          - const: loongson,ls2k0500-pmc
17380054cbSBinbin Zhou          - const: syscon
18380054cbSBinbin Zhou      - items:
196054a676SYinbo Zhu          - enum:
206054a676SYinbo Zhu              - loongson,ls2k1000-pmc
21380054cbSBinbin Zhou              - loongson,ls2k2000-pmc
22380054cbSBinbin Zhou          - const: loongson,ls2k0500-pmc
236054a676SYinbo Zhu          - const: syscon
246054a676SYinbo Zhu
256054a676SYinbo Zhu  reg:
266054a676SYinbo Zhu    maxItems: 1
276054a676SYinbo Zhu
286054a676SYinbo Zhu  interrupts:
296054a676SYinbo Zhu    maxItems: 1
306054a676SYinbo Zhu
316054a676SYinbo Zhu  loongson,suspend-address:
326054a676SYinbo Zhu    $ref: /schemas/types.yaml#/definitions/uint64
336054a676SYinbo Zhu    description:
346054a676SYinbo Zhu      The "loongson,suspend-address" is a deep sleep state (Suspend To
356054a676SYinbo Zhu      RAM) firmware entry address which was jumped from kernel and it's
366054a676SYinbo Zhu      value was dependent on specific platform firmware code. In
376054a676SYinbo Zhu      addition, the PM need according to it to indicate that current
386054a676SYinbo Zhu      SoC whether support Suspend To RAM.
396054a676SYinbo Zhu
408c4102f2SBinbin Zhou  syscon-poweroff:
418c4102f2SBinbin Zhou    $ref: /schemas/power/reset/syscon-poweroff.yaml#
428c4102f2SBinbin Zhou    type: object
438c4102f2SBinbin Zhou    description:
448c4102f2SBinbin Zhou      Node for power off method
458c4102f2SBinbin Zhou
468c4102f2SBinbin Zhou  syscon-reboot:
478c4102f2SBinbin Zhou    $ref: /schemas/power/reset/syscon-reboot.yaml#
488c4102f2SBinbin Zhou    type: object
498c4102f2SBinbin Zhou    description:
508c4102f2SBinbin Zhou      Node for reboot method
518c4102f2SBinbin Zhou
526054a676SYinbo Zhurequired:
536054a676SYinbo Zhu  - compatible
546054a676SYinbo Zhu  - reg
556054a676SYinbo Zhu  - interrupts
566054a676SYinbo Zhu
576054a676SYinbo ZhuadditionalProperties: false
586054a676SYinbo Zhu
596054a676SYinbo Zhuexamples:
606054a676SYinbo Zhu  - |
616054a676SYinbo Zhu    #include <dt-bindings/interrupt-controller/irq.h>
626054a676SYinbo Zhu
636054a676SYinbo Zhu    power-management@1fe27000 {
64380054cbSBinbin Zhou        compatible = "loongson,ls2k1000-pmc", "loongson,ls2k0500-pmc", "syscon";
656054a676SYinbo Zhu        reg = <0x1fe27000 0x58>;
666054a676SYinbo Zhu        interrupt-parent = <&liointc1>;
676054a676SYinbo Zhu        interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
686054a676SYinbo Zhu        loongson,suspend-address = <0x0 0x1c000500>;
698c4102f2SBinbin Zhou
708c4102f2SBinbin Zhou        syscon-reboot {
718c4102f2SBinbin Zhou            compatible = "syscon-reboot";
728c4102f2SBinbin Zhou            offset = <0x30>;
738c4102f2SBinbin Zhou            mask = <0x1>;
748c4102f2SBinbin Zhou        };
758c4102f2SBinbin Zhou
768c4102f2SBinbin Zhou        syscon-poweroff {
778c4102f2SBinbin Zhou            compatible = "syscon-poweroff";
788c4102f2SBinbin Zhou            regmap = <&pmc>;
798c4102f2SBinbin Zhou            offset = <0x14>;
808c4102f2SBinbin Zhou            mask = <0x3c00>;
818c4102f2SBinbin Zhou            value = <0x3c00>;
828c4102f2SBinbin Zhou        };
836054a676SYinbo Zhu    };
84