xref: /linux/tools/arch/x86/dell-uart-backlight-emulator/README (revision ea5f6ad9ad9645733b72ab53a98e719b460d36a6)
1Emulator for DELL0501 UART attached backlight controller
2--------------------------------------------------------
3
4Dell All In One (AIO) models released after 2017 use a backlight controller
5board connected to an UART.
6
7In DSDT this uart port will be defined as:
8
9   Name (_HID, "DELL0501")
10   Name (_CID, EisaId ("PNP0501")
11
12With the DELL0501 indicating that we are dealing with an UART with
13the backlight controller board attached.
14
15This small emulator allows testing
16the drivers/platform/x86/dell/dell-uart-backlight.c driver without access
17to an actual Dell All In One.
18
19This requires:
201. A (desktop) PC with a 16550 UART on the motherboard and a standard DB9
21   connector connected to this UART.
222. A DB9 NULL modem cable.
233. A second DB9 serial port, this can e.g. be a USB to serial converter
24   with a DB9 connector plugged into the same desktop PC.
254. A DSDT overlay for the desktop PC replacing the _HID of the 16550 UART
26   ACPI Device() with "DELL0501" and adding a _CID of "PNP0501", see
27   DSDT.patch for an example of the necessary DSDT changes.
28
29With everything setup and the NULL modem cable connected between
30the 2 serial ports run:
31
32./dell-uart-backlight-emulator <path-to-/dev/tty*S#-for-second-port>
33
34For example when using an USB to serial converter for the second port:
35
36./dell-uart-backlight-emulator /dev/ttyUSB0
37
38And then (re)load the dell-uart-backlight driver:
39
40sudo rmmod dell-uart-backlight; sudo modprobe dell-uart-backlight dyndbg
41
42After this check "dmesg" to see if the driver correctly received
43the firmware version string from the emulator. If this works there
44should be a /sys/class/backlight/dell_uart_backlight/ directory now
45and writes to the brightness or bl_power files should be reflected
46by matching output from the emulator.
47