File Index
Files and directories
Sign in
FILE

google,gs101-acpm-ipc.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml YAML
 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  "#clock-cells":
28    const: 1
29    description:
30      Clocks that are variable and index based. These clocks don't provide
31      an entire range of values between the limits but only discrete points
32      within the range. The firmware also manages the voltage scaling
33      appropriately with the clock scaling. The argument is the ID of the
34      clock contained by the firmware messages.
35
36  mboxes:
37    maxItems: 1
38
39  pmic:
40    description: Child node describing the main PMIC.
41    type: object
42    additionalProperties: true
43
44    properties:
45      compatible:
46        const: samsung,s2mpg10-pmic
47
48  shmem:
49    description:
50      List of phandle pointing to the shared memory (SHM) area. The memory
51      contains channels configuration data and the TX/RX ring buffers that
52      are used for passing messages to/from the ACPM firmware.
53    maxItems: 1
54
55required:
56  - compatible
57  - "#clock-cells"
58  - mboxes
59  - shmem
60
61additionalProperties: false
62
63examples:
64  - |
65    #include <dt-bindings/interrupt-controller/irq.h>
66
67    power-management {
68        compatible = "google,gs101-acpm-ipc";
69        #clock-cells = <1>;
70        mboxes = <&ap2apm_mailbox>;
71        shmem = <&apm_sram>;
72
73        pmic {
74            compatible = "samsung,s2mpg10-pmic";
75            interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>;
76
77            regulators {
78                LDO1 {
79                    regulator-name = "vdd_ldo1";
80                    regulator-min-microvolt = <700000>;
81                    regulator-max-microvolt = <1300000>;
82                    regulator-always-on;
83                };
84
85                // ...
86
87                BUCK1 {
88                    regulator-name = "vdd_mif";
89                    regulator-min-microvolt = <450000>;
90                    regulator-max-microvolt = <1300000>;
91                    regulator-always-on;
92                    regulator-boot-on;
93                };
94            };
95        };
96    };
~/ Read-only file preview.