Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
8title: Samsung Exynos ACPM mailbox protocol
9
10maintainers:
11 - Tudor Ambarus <tudor.ambarus@linaro.org>
12
13description: |
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
23properties:
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
46required:
47 - compatible
48 - mboxes
49 - shmem
50
51additionalProperties: false
52
53examples:
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 };