blob: 14bafc8e352426ee78f224d74946b7eadf7cde7f [file] [log] [blame]
Simon Glass02155e02021-12-01 09:03:07 -07001.. SPDX-License-Identifier: GPL-2.0+:
2
3acpi command
4============
5
6Synopis
7-------
8
9::
10
11 acpi list
12 acpi items [-d]
13 acpi dump <name>
14
15Description
16-----------
17
18The *acpi* command is used to dump the ACPI tables generated by U-Boot for passing
19to the operating systems.
20
21ACPI tables can be generated by various output functions and even devices can
22output material to include in the Differentiated System Description Table (DSDT)
23and SSDT tables (Secondary System Description Table). U-Boot keeps track of
24which device or table-writer produced each piece of the ACPI tables.
25
26The ACPI tables are stored contiguously in memory.
27
28
29acpi list
30~~~~~~~~~
31
32List the ACPI tables that have been generated. Each table has a 4-character
33table name (e.g. SSDT, FACS) and has a format defined by the
34`ACPI specification`_.
35
36U-Boot does not currently support decoding the tables. Unlike devicetree, ACPI
37tables have no regular schema and also some include bytecode, so decoding the
38tables requires a lot of code.
39
40The table shows the following information:
41
42Name
43 Table name, e.g. `MCFG`
44
45Base
46 Base address of table in memory
47
48Size
49 Size of table in bytes
50
51Detail
52 More information depending on the table type
53
54 Revision
55 Table revision number (two decimal digits)
56
57 OEM ID
58 ID for the Original Equipment Manufacturer. Typically this is "U-BOOT".
59
60 OEM Table ID
61 Table ID for the Original Equipment Manufacturer. Typically this is
62 "U-BOOTBL" (U-Boot bootloader)
63
64 OEM Revision
65 Revision string for the Original Equipment Manufacturer. Typically this
66 is the U-Boot release number, e.g. 20220101 (meaning v2022.01 since the
67 final 01 is not used). For DSDT, this is set by the source code in
68 the parameters of DefinitionBlock().
69
70 ACPI compiler-vendor ID
71 This is normally `INTL` for Intel
72
73 ACPI compiler revision
74 This is the compiler revision. It is set to the version string for the
75 DSDT table but other tables just use the value 0 or 1, since U-Boot does
76 not actually use the compiler in these cases. It generates the code
77 itself.
78
79acpi items
80~~~~~~~~~~
81
82List the ACPI data that was generated, broken down by item. An item is either
83an ACPI table generated by a writer function, or the part of a table that was
84generated by a particular device.
85
86The `-d` flag also shows a binary dump of the table.
87
88The table shows the following information about each item:
89
90Seq
91 Sequence number in hex
92
93Type
94 Type of item
95
96 ===== ============================================================
97 Type Meaning
98 ===== ============================================================
99 dsdt Fragment of a DSDT table, as generated by a device
100 ssdt Fragment of a SSDT table, as generated by a device
101 other A whole table of a particular type. as generated by a writer
102 ===== ============================================================
103
104Base
105 Base address of table in memory
106
107Size
108 Size of table in bytes
109
110Device / Writer
111 Name of device (for ssdt/dsdt) that wrong this fragment of the table, or
112 name of the registered writer function (otherwise) that wrote the table.
113
114acpi dump
115~~~~~~~~~
116
117Dump a paticular ACPI table in binary format. This can be used to read the table
118if you have the specification handy.
119
120
121Example
122-------
123
124::
125
126 => acpi list
127 Name Base Size Detail
128 ---- -------- ----- ------
129 RSDP 79925000 24 v02 U-BOOT
130 RSDT 79925030 48 v01 U-BOOT U-BOOTBL 20220101 INTL 0
131 XSDT 799250e0 6c v01 U-BOOT U-BOOTBL 20220101 INTL 0
132 FACP 79929570 f4 v04 U-BOOT U-BOOTBL 20220101 INTL 1
133 DSDT 79925280 32ea v02 U-BOOT U-BOOTBL 20110725 INTL 20180105
134 FACS 79925240 40
135 MCFG 79929670 2c v01 U-BOOT U-BOOTBL 20220101 INTL 0
136 SPCR 799296a0 50 v02 U-BOOT U-BOOTBL 20220101 INTL 0
137 TPM2 799296f0 4c v04 U-BOOT U-BOOTBL 20220101 INTL 0
138 APIC 79929740 6c v02 U-BOOT U-BOOTBL 20220101 INTL 0
139 SSDT 799297b0 1523 v02 U-BOOT U-BOOTBL 20220101 INTL 1
140 NHLT 7992ace0 e60 v05 coral coral 3 INTL 0
141 DBG2 7992db40 61 v00 U-BOOT U-BOOTBL 20220101 INTL 0
142 HPET 7992dbb0 38 v01 U-BOOT U-BOOTBL 20220101 INTL 0
143 => acpi items
144 Seq Type Base Size Device/Writer
145 --- ----- -------- ---- -------------
146 0 other 79925000 240 0base
147 1 other 79925240 40 1facs
148 2 dsdt 799252a4 58 board
149 3 dsdt 799252fc 10 lpc
150 4 other 79925280 32f0 3dsdt
151 5 other 79928570 1000 4gnvs
152 6 other 79929570 100 5fact
153 7 other 79929670 30 5mcfg
154 8 other 799296a0 50 5spcr
155 9 other 799296f0 50 5tpm2
156 a other 79929740 70 5x86
157 b ssdt 799297d4 fe maxim-codec
158 c ssdt 799298d2 28 i2c2@16,0
159 d ssdt 799298fa 270 da-codec
160 e ssdt 79929b6a 28 i2c2@16,1
161 f ssdt 79929b92 28 i2c2@16,2
162 10 ssdt 79929bba 83 tpm@50
163 11 ssdt 79929c3d 28 i2c2@16,3
164 12 ssdt 79929c65 282 elan-touchscreen@10
165 13 ssdt 79929ee7 285 raydium-touchscreen@39
166 14 ssdt 7992a16c 28 i2c2@17,0
167 15 ssdt 7992a194 d8 elan-touchpad@15
168 16 ssdt 7992a26c 163 synaptics-touchpad@2c
169 17 ssdt 7992a3cf 28 i2c2@17,1
170 18 ssdt 7992a3f7 111 wacom-digitizer@9
171 19 ssdt 7992a508 8f sdmmc@1b,0
172 1a ssdt 7992a597 4b wifi
173 1b ssdt 7992a5e2 1a0 cpu@0
174 1c ssdt 7992a782 1a0 cpu@1
175 1d ssdt 7992a922 1a0 cpu@2
176 1e ssdt 7992aac2 211 cpu@3
177 1f other 799297b0 1530 6ssdt
178 20 other 7992ace0 2f10 8dev
179 => acpi dump mcfg
180 MCFG @ 79929670
181 00000000: 4d 43 46 47 2c 00 00 00 01 41 55 2d 42 4f 4f 54 MCFG,....AU-BOOT
182 00000010: 55 2d 42 4f 4f 54 42 4c 01 01 22 20 49 4e 54 4c U-BOOTBL.." INTL
183 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 ............
184 => acpi items -d
185 Seq Type Base Size Device/Writer
186 --- ----- -------- ---- -------------
187 0 other 79925000 240 0base
188 00000000: 52 53 44 20 50 54 52 20 9e 55 2d 42 4f 4f 54 02 RSD PTR .U-BOOT.
189 00000010: 30 50 92 79 24 00 00 00 e0 50 92 79 00 00 00 00 0P.y$....P.y....
190 00000020: a1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
191 00000030: 52 53 44 54 48 00 00 00 01 8b 55 2d 42 4f 4f 54 RSDTH.....U-BOOT
192 00000040: 55 2d 42 4f 4f 54 42 4c 01 01 22 20 49 4e 54 4c U-BOOTBL.." INTL
193 00000050: 00 00 00 00 70 95 92 79 70 96 92 79 a0 96 92 79 ....p..yp..y...y
194 00000060: f0 96 92 79 40 97 92 79 b0 97 92 79 e0 ac 92 79 ...y@..y...y...y
195 00000070: 40 db 92 79 b0 db 92 79 00 00 00 00 00 00 00 00 @..y...y........
196 00000080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
197 00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
198 000000a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
199 000000b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
200 000000c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
201 000000d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
202 000000e0: 58 53 44 54 6c 00 00 00 01 61 55 2d 42 4f 4f 54 XSDTl....aU-BOOT
203 000000f0: 55 2d 42 4f 4f 54 42 4c 01 01 22 20 49 4e 54 4c U-BOOTBL.." INTL
204 00000100: 00 00 00 00 70 95 92 79 00 00 00 00 70 96 92 79 ....p..y....p..y
205 00000110: 00 00 00 00 a0 96 92 79 00 00 00 00 f0 96 92 79 .......y.......y
206 00000120: 00 00 00 00 40 97 92 79 00 00 00 00 b0 97 92 79 ....@..y.......y
207 00000130: 00 00 00 00 e0 ac 92 79 00 00 00 00 40 db 92 79 .......y....@..y
208 00000140: 00 00 00 00 b0 db 92 79 00 00 00 00 00 00 00 00 .......y........
209 00000150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
210 00000160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
211 ...
212
213 1 other 79925240 40 1facs
214 00000000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00 FACS@...........
215 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
216 00000020: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
217 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
218
219 2 dsdt 799252a4 58 board
220 00000000: 10 87 05 00 5c 00 08 4f 49 50 47 12 8c 04 00 03 ....\..OIPG.....
221 00000010: 12 8b 01 00 04 01 01 0e ff ff ff ff ff ff ff ff ................
222 00000020: 0d 49 4e 54 33 34 35 32 3a 30 31 00 12 85 01 00 .INT3452:01.....
223 00000030: 04 0a 03 01 0a 23 0d 49 4e 54 33 34 35 32 3a 30 .....#.INT3452:0
224 00000040: 31 00 12 85 01 00 04 0a 04 01 0a 0a 0d 49 4e 54 1............INT
225 00000050: 33 34 35 32 3a 30 30 00 3452:00.
226
227 3 dsdt 799252fc 10 lpc
228 00000000: 10 8f 00 00 5c 00 08 4e 56 53 41 0c 10 50 93 79 ....\..NVSA..P.y
229
230 4 other 79925280 32f0 3dsdt
231 00000000: 44 53 44 54 ea 32 00 00 02 eb 55 2d 42 4f 4f 54 DSDT.2....U-BOOT
232 00000010: 55 2d 42 4f 4f 54 42 4c 25 07 11 20 49 4e 54 4c U-BOOTBL%.. INTL
233
234
235.. _`ACPI specification`: https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf