blob: 9785aac3b5f34955bbfe2718eec48581d050954f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright 2024 Linaro Ltd.
%YAML 1.2
---
$id: http://devicetree.org/schemas/firmware/google,gs101-acpm-ipc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Samsung Exynos ACPM mailbox protocol
maintainers:
- Tudor Ambarus <tudor.ambarus@linaro.org>
description: |
ACPM (Alive Clock and Power Manager) is a firmware that operates on the
APM (Active Power Management) module that handles overall power management
activities. ACPM and masters regard each other as independent hardware
component and communicate with each other using mailbox messages and
shared memory.
This binding is intended to define the interface the firmware implementing
ACPM provides for OSPM in the device tree.
properties:
compatible:
const: google,gs101-acpm-ipc
mboxes:
maxItems: 1
pmic:
description: Child node describing the main PMIC.
type: object
additionalProperties: true
properties:
compatible:
const: samsung,s2mpg10-pmic
shmem:
description:
List of phandle pointing to the shared memory (SHM) area. The memory
contains channels configuration data and the TX/RX ring buffers that
are used for passing messages to/from the ACPM firmware.
maxItems: 1
required:
- compatible
- mboxes
- shmem
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
power-management {
compatible = "google,gs101-acpm-ipc";
mboxes = <&ap2apm_mailbox>;
shmem = <&apm_sram>;
pmic {
compatible = "samsung,s2mpg10-pmic";
interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>;
regulators {
LDO1 {
regulator-name = "vdd_ldo1";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
};
// ...
BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
};
};
};
};
|