47 lines
1.7 KiB
Plaintext
47 lines
1.7 KiB
Plaintext
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.
|