xref: /linux/Documentation/driver-api/cxl/platform/example-configurations/multi-dev-per-hb.rst (revision e9ef810dfee7a2227da9d423aecb0ced35faddbe)
1.. SPDX-License-Identifier: GPL-2.0
2
3================================
4Multiple Devices per Host Bridge
5================================
6
7In this example system we will have a single socket and one CXL host bridge.
8There are two CXL memory expanders with 4GB attached to the host bridge.
9
10Things to note:
11
12* Intra-Bridge interleave is not described here.
13* The expanders are described by a single CEDT/CFMWS.
14* This CEDT/SRAT describes one node for both devices.
15* There is only one proximity domain the HMAT for both devices.
16
17:doc:`CEDT <../acpi/cedt>`::
18
19            Subtable Type : 00 [CXL Host Bridge Structure]
20                 Reserved : 00
21                   Length : 0020
22   Associated host bridge : 00000007
23    Specification version : 00000001
24                 Reserved : 00000000
25            Register base : 0000010370400000
26          Register length : 0000000000010000
27
28            Subtable Type : 01 [CXL Fixed Memory Window Structure]
29                 Reserved : 00
30                   Length : 002C
31                 Reserved : 00000000
32      Window base address : 0000001000000000
33              Window size : 0000000200000000
34 Interleave Members (2^n) : 00
35    Interleave Arithmetic : 00
36                 Reserved : 0000
37              Granularity : 00000000
38             Restrictions : 0006
39                    QtgId : 0001
40             First Target : 00000007
41
42:doc:`SRAT <../acpi/srat>`::
43
44         Subtable Type : 01 [Memory Affinity]
45                Length : 28
46      Proximity Domain : 00000001
47             Reserved1 : 0000
48          Base Address : 0000001000000000
49        Address Length : 0000000200000000
50             Reserved2 : 00000000
51 Flags (decoded below) : 0000000B
52             Enabled : 1
53       Hot Pluggable : 1
54        Non-Volatile : 0
55
56:doc:`HMAT <../acpi/hmat>`::
57
58               Structure Type : 0001 [SLLBI]
59                    Data Type : 00   [Latency]
60 Target Proximity Domain List : 00000000
61 Target Proximity Domain List : 00000001
62                        Entry : 0080
63                        Entry : 0100
64
65               Structure Type : 0001 [SLLBI]
66                    Data Type : 03   [Bandwidth]
67 Target Proximity Domain List : 00000000
68 Target Proximity Domain List : 00000001
69                        Entry : 1200
70                        Entry : 0200
71
72:doc:`SLIT <../acpi/slit>`::
73
74     Signature : "SLIT"    [System Locality Information Table]
75    Localities : 0000000000000003
76  Locality   0 : 10 20
77  Locality   1 : FF 0A
78
79:doc:`DSDT <../acpi/dsdt>`::
80
81  Scope (_SB)
82  {
83    Device (S0D0)
84    {
85        Name (_HID, "ACPI0016" /* Compute Express Link Host Bridge */)  // _HID: Hardware ID
86        ...
87        Name (_UID, 0x07)  // _UID: Unique ID
88    }
89    ...
90  }
91