mb/google/rex: Enable ACPI and add ACPI table
[coreboot.git] / Documentation / gfx / display-panel.md
blob3bab0896fd9ce8968952b7a1fec4aacb211b6a18
1 Display Panel Specifics
2 =======================
4 Timing Parameters
5 -----------------
7 From the binary file `edid` in the sys filesystem on Linux, the panel can be
8 identified. The exact path may differ slightly. Here is an example:
10 ```sh
11 $ strings /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/edid
12 @0 5
13 LG Display
14 LP140WF3-SPD1
15 ```
17 To figure out the timing parameters, refer to the [Intel Programmer's Reference
18 Manuals](https://01.org/linuxgraphics/documentation/hardware-specification-prms)
19 and try to find the datasheet of the panel using the information from `edid`.
20 In the example above, you would search for `LP140WF3-SPD1`. Find a table listing
21 the power sequence timing parameters, which are usually named T[N] and also
22 referenced in Intel's respective registers listing. You need the values for
23 `PP_ON_DELAYS`, `PP_OFF_DELAYS` and `PP_DIVISOR` for your `devicetree.cb`:
25 ```eval_rst
26 +-----------------------------+---------------------------------------+-----+
27 | Intel docs                  | devicetree.cb                         | eDP |
28 +-----------------------------+---------------------------------------+-----+
29 | Power up delay              | `gpu_panel_power_up_delay`            | T3  |
30 +-----------------------------+---------------------------------------+-----+
31 | Power on to backlight on    | `gpu_panel_power_backlight_on_delay`  | T7  |
32 +-----------------------------+---------------------------------------+-----+
33 | Power Down delay            | `gpu_panel_power_down_delay`          | T10 |
34 +-----------------------------+---------------------------------------+-----+
35 | Backlight off to power down | `gpu_panel_power_backlight_off_delay` | T9  |
36 +-----------------------------+---------------------------------------+-----+
37 | Power Cycle Delay           | `gpu_panel_power_cycle_delay`         | T12 |
38 +-----------------------------+---------------------------------------+-----+
39 ```
41 Intel GPU Tools and VBT
42 -----------------------
44 The Intel GPU tools are in a package called either `intel-gpu-tools` or
45 `igt-gpu-tools` in most distributions of Linux-based operating systems.
46 In the coreboot `util/` directory, you can find `intelvbttool`.
48 From a running system, you can dump the register values directly:
49 ```sh
50 $ intel_reg dump --all | grep PCH_PP
51                       PCH_PP_STATUS (0x000c7200): 0x80000008
52                      PCH_PP_CONTROL (0x000c7204): 0x00000007
53                    PCH_PP_ON_DELAYS (0x000c7208): 0x07d00001
54                   PCH_PP_OFF_DELAYS (0x000c720c): 0x01f40001
55                      PCH_PP_DIVISOR (0x000c7210): 0x0004af06
56 ```
58 You can obtain the timing values from a VBT (Video BIOS Table), which you can
59 dump from a vendor UEFI image:
60 ```sh
61 $ intel_vbt_decode data.vbt | grep T3
62                 Power Sequence: T3 2000 T7 10 T9 2000 T10 500 T12 5000
63                 T3 optimization: no
64 ```