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