xref: /linux/Documentation/devicetree/bindings/reserved-memory/intel,wakeup-mailbox.yaml (revision b2128290c29902315e632ea59e0504d6bc9e9b42)
1*b7c8992aSRicardo Neri# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*b7c8992aSRicardo Neri%YAML 1.2
3*b7c8992aSRicardo Neri---
4*b7c8992aSRicardo Neri$id: http://devicetree.org/schemas/reserved-memory/intel,wakeup-mailbox.yaml#
5*b7c8992aSRicardo Neri$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b7c8992aSRicardo Neri
7*b7c8992aSRicardo Nerititle: Wakeup Mailbox for Intel processors
8*b7c8992aSRicardo Neri
9*b7c8992aSRicardo Neridescription: |
10*b7c8992aSRicardo Neri  The Wakeup Mailbox provides a mechanism for the operating system to wake up
11*b7c8992aSRicardo Neri  secondary CPUs on Intel processors. It is an alternative to the INIT-!INIT-
12*b7c8992aSRicardo Neri  SIPI sequence used on most x86 systems.
13*b7c8992aSRicardo Neri
14*b7c8992aSRicardo Neri  The structure and operation of the mailbox is described in the Multiprocessor
15*b7c8992aSRicardo Neri  Wakeup Structure of the ACPI specification version 6.6 section 5.2.12.19 [1].
16*b7c8992aSRicardo Neri
17*b7c8992aSRicardo Neri  The implementation of the mailbox in platform firmware is described in the
18*b7c8992aSRicardo Neri  Intel TDX Virtual Firmware Design Guide section 4.3.5 [2].
19*b7c8992aSRicardo Neri
20*b7c8992aSRicardo Neri  1: https://uefi.org/specs/ACPI/6.6/05_ACPI_Software_Programming_Model.html#multiprocessor-wakeup-structure
21*b7c8992aSRicardo Neri  2: https://www.intel.com/content/www/us/en/content-details/733585/intel-tdx-virtual-firmware-design-guide.html
22*b7c8992aSRicardo Neri
23*b7c8992aSRicardo Nerimaintainers:
24*b7c8992aSRicardo Neri  - Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
25*b7c8992aSRicardo Neri
26*b7c8992aSRicardo NeriallOf:
27*b7c8992aSRicardo Neri  - $ref: reserved-memory.yaml
28*b7c8992aSRicardo Neri
29*b7c8992aSRicardo Neriproperties:
30*b7c8992aSRicardo Neri  compatible:
31*b7c8992aSRicardo Neri    const: intel,wakeup-mailbox
32*b7c8992aSRicardo Neri
33*b7c8992aSRicardo Nerirequired:
34*b7c8992aSRicardo Neri  - compatible
35*b7c8992aSRicardo Neri  - reg
36*b7c8992aSRicardo Neri
37*b7c8992aSRicardo NeriunevaluatedProperties: false
38*b7c8992aSRicardo Neri
39*b7c8992aSRicardo Neriexamples:
40*b7c8992aSRicardo Neri  - |
41*b7c8992aSRicardo Neri    reserved-memory {
42*b7c8992aSRicardo Neri        #address-cells = <2>;
43*b7c8992aSRicardo Neri        #size-cells = <1>;
44*b7c8992aSRicardo Neri
45*b7c8992aSRicardo Neri        wakeup-mailbox@ffff0000 {
46*b7c8992aSRicardo Neri            compatible = "intel,wakeup-mailbox";
47*b7c8992aSRicardo Neri            reg = <0x0 0xffff0000 0x1000>;
48*b7c8992aSRicardo Neri        };
49*b7c8992aSRicardo Neri    };
50