| Emulator for DELL0501 UART attached backlight controller | |
| -------------------------------------------------------- | |
| Dell All In One (AIO) models released after 2017 use a backlight controller | |
| board connected to an UART. | |
| In DSDT this uart port will be defined as: | |
| Name (_HID, "DELL0501") | |
| Name (_CID, EisaId ("PNP0501") | |
| With the DELL0501 indicating that we are dealing with an UART with | |
| the backlight controller board attached. | |
| This small emulator allows testing | |
| the drivers/platform/x86/dell/dell-uart-backlight.c driver without access | |
| to an actual Dell All In One. | |
| This requires: | |
| 1. A (desktop) PC with a 16550 UART on the motherboard and a standard DB9 | |
| connector connected to this UART. | |
| 2. A DB9 NULL modem cable. | |
| 3. A second DB9 serial port, this can e.g. be a USB to serial converter | |
| with a DB9 connector plugged into the same desktop PC. | |
| 4. A DSDT overlay for the desktop PC replacing the _HID of the 16550 UART | |
| ACPI Device() with "DELL0501" and adding a _CID of "PNP0501", see | |
| DSDT.patch for an example of the necessary DSDT changes. | |
| With everything setup and the NULL modem cable connected between | |
| the 2 serial ports run: | |
| ./dell-uart-backlight-emulator <path-to-/dev/tty*S#-for-second-port> | |
| For example when using an USB to serial converter for the second port: | |
| ./dell-uart-backlight-emulator /dev/ttyUSB0 | |
| And then (re)load the dell-uart-backlight driver: | |
| sudo rmmod dell-uart-backlight; sudo modprobe dell-uart-backlight dyndbg | |
| After this check "dmesg" to see if the driver correctly received | |
| the firmware version string from the emulator. If this works there | |
| should be a /sys/class/backlight/dell_uart_backlight/ directory now | |
| and writes to the brightness or bl_power files should be reflected | |
| by matching output from the emulator. |