From: "Sérgio Ferreira" <ferreira@se-rg.io>
To: Ettore Chimenti <ettore.chimenti@linaro.org>
Cc: Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Abel Vesa <abelvesa@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Linux Arm Msm <linux-arm-msm@vger.kernel.org>,
Devicetree <devicetree@vger.kernel.org>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Georg Gottleuber <ggo@tuxedocomputers.com>,
Ettore Chimenti <ek5.chimenti@gmail.com>,
Jens Glathe <jens.glathe@oldschoolsolutions.biz>,
Srinivas Kandagatla <srini@kernel.org>
Subject: Re: [PATCH v2] arm64: dts: qcom: x1e80100-medion-sprchrgd-14-s1: Add PWM backlight
Date: Mon, 26 Oct 2026 19:26:05 +0100 (CET) [thread overview]
Message-ID: <P4tSXlD--F-9@se-rg.io> (raw)
In-Reply-To: <DMEXOUF2X7O6.3W5B9URS8YOEF@linaro.org>
Hi Ettore,
Oct 26, 2026, 18:08 by ettore.chimenti@linaro.org:
> Hi Sérgio,
>
> On Sun Oct 25, 2026 at 8:51 AM CET, Sérgio Ferreira via B4 Relay wrote:
>
>> From: Sérgio Ferreira <>> ferreira@se-rg.io>> >
>>
>> The eDP panel (CSOT MNE007ZA3-2, IPS LCD) cannot have its brightness
>> set over eDP AUX. With no backlight phandle on the panel, panel-edp
>> falls back to the DP AUX backlight, which registers dp_aux_backlight
>> with a maximum brightness of 0, so brightness control has no effect.
>>
>> Brightness is driven by PWM instead. UEFI leaves PM8550 LPG channel 3
>> running and the PWM output configured on PM8550 GPIO 8, and drives
>> PMC8380_3 GPIO 4 high as the backlight enable:
>>
>> pm8550 gpio8 : out low func1 vin-0 no pull push-pull medium
>> pmc8380_3 gpio4 : out high normal vin-1 pull-down push-pull medium
>>
>> The panel configuration in the Windows ACPI tables confirmed this.
>> (PMIC-controlled PWM, PMIC 1, bank 3, 9-bit, 2 kHz).
>>
>> Describe this with a pwm-backlight node: enable pm8550_pwm, add pinctrl
>> states for the enable GPIO and for gpio8 func1, and attach the
>> backlight to the panel.
>>
>> Tested on a Medion SPRCHRGD 14 S1 (X1E78100): brightness control over
>> the full range, brightness keys, suspend/resume and restore after
>> reboot.
>>
>> Assisted-by: LLM
>> Signed-off-by: Sérgio Ferreira <>> ferreira@se-rg.io>> >
>> ---
>>
>
> I tested this on a Medion SPRCHRGD 14 S1, but the controls are inverted.
> When increasing the backlight lightness it actually decreases it, and
> vice versa.
>
> ```
> % cat /sys/class/backlight/backlight/max_brightness
> 4095
>
> % echo 1 | sudo tee /sys/class/backlight/backlight/brightness
> 1 # BRIGHT
>
> % echo 2000 | sudo tee /sys/class/backlight/backlight/brightness
> 2000 # LESS BRIGHT
>
> % echo 4095 | sudo tee /sys/class/backlight/backlight/brightness
> 4095 # OFF
>
> % echo 0 | sudo tee /sys/class/backlight/backlight/brightness
> 0 # OFF
> ```
>
> Moreover, I see that from `/sys/kernel/debug/pwm` the period
> request differs from the actual:
>
> ```
> pwm-3 (backlight ): requested
> requested configuration: enabled, 498418/500000 ns, normal polarity
> # with brightness set at 4090:
> actual configuration: enabled, 425834/425834 ns, normal polarity
> # with brightness set at 2:
> 0/425834 ns, normal polarity
> ```
>
> This probably causes the top 250 values to be all at the same
> brightness. Not a big deal probably.
>
> Do you have the same behavior? Can you send the EDID of your panel?
>
> Thanks,
> Ettore
>
thanks for testing.
No, i can not reproduce the value inversion. A brightness of 1 equals very dark while 4095 is maximum brightness. 0 is turning the screen off as expected.
Here is my edid:
```
edid-decode /sys/class/drm/card1-eDP-1/edid
edid-decode (hex):
00 ff ff ff ff ff ff 00 0e 77 31 14 00 00 00 00
00 21 01 04 b5 1e 13 78 03 2f 55 a6 54 4c 9b 24
0d 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 17 88 40 a0 b0 08 6e 70 30 20
36 00 2d bc 10 00 00 18 00 00 00 fd 00 1e 78 e6
e6 46 01 0a 20 20 20 20 20 20 00 00 00 fe 00 43
53 4f 54 20 54 33 0a 20 20 20 20 20 00 00 00 fc
00 4d 4e 45 30 30 37 5a 41 33 2d 32 0a 20 01 fc
70 20 79 00 00 22 00 28 bf a1 0a 85 3f 0b 9f 00
2f 00 1f 00 07 07 6d 00 02 00 05 00 b3 40 04 05
3f 0b 9f 00 2f 00 1f 00 07 07 6d 00 02 00 05 00
81 00 07 e6 06 01 01 60 60 28 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 62 90
----------------
Block 0, Base EDID:
EDID Structure Version & Revision: 1.4
Vendor & Product Identification:
Manufacturer: CSW
Model: 5169
Made in: 2023
Basic Display Parameters & Features:
Digital display
Bits per primary color channel: 10
DisplayPort interface
Maximum image size: 30 cm x 19 cm
Gamma: 2.20
Supported color formats: RGB 4:4:4
First detailed timing includes the native pixel format and preferred refresh rate
Display supports continuous frequencies
Color Characteristics:
Red : 0.6484, 0.3300
Green: 0.2998, 0.6083
Blue : 0.1416, 0.0517
White: 0.3134, 0.3291
Established Timings I & II: none
Standard Timings: none
Detailed Timing Descriptors:
DTD 1: 2880x1800 60.001033 Hz 16:10 114.602 kHz 348.390000 MHz (301 mm x 188 mm)
Hfront 48 Hsync 32 Hback 80 Hpol N
Vfront 3 Vsync 6 Vback 101 Vpol N
Display Range Limits:
Monitor ranges (Range Limits Only): 30-120 Hz V, 230-230 kHz H, max dotclock 700 MHz
Alphanumeric Data String: 'CSOT T3'
Display Product Name: 'MNE007ZA3-2'
Extension blocks: 1
Checksum: 0xfc
----------------
Block 1, DisplayID Extension Block:
Version: 2.0
Extension Count: 0
Display Product Primary Use Case: Same primary use case as the base section
Video Timing Modes Type 7 - Detailed Timings Data Block:
DTD: 2880x1800 120.000000 Hz 16:10 229.200 kHz 696.768000 MHz (aspect 16:10, no 3D stereo, preferred)
Hfront 48 Hsync 32 Hback 80 Hpol N
Vfront 3 Vsync 6 Vback 101 Vpol N
DTD: 2880x1800 48.000138 Hz 16:10 91.680 kHz 278.708000 MHz (aspect 16:10, no 3D stereo)
Hfront 48 Hsync 32 Hback 80 Hpol N
Vfront 3 Vsync 6 Vback 101 Vpol N
CTA-861 DisplayID Data Block:
HDR Static Metadata Data Block:
Electro optical transfer functions:
Traditional gamma - SDR luminance range
Supported static metadata descriptors:
Static metadata type 1
Desired content max luminance: 96 (400.000 cd/m^2)
Desired content max frame-average luminance: 96 (400.000 cd/m^2)
Desired content min luminance: 40 (0.098 cd/m^2)
Checksum: 0x62
Checksum: 0x90
```
I can confirm the PWM period value mapping is a bit off for the top-end values, though I haven't noticed that in day-to-day use.
Best,
Sérgio
prev parent reply other threads:[~2026-10-26 18:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-25 7:51 Sérgio Ferreira via B4 Relay
2026-10-26 10:00 ` Konrad Dybcio
2026-10-26 17:08 ` Ettore Chimenti
2026-10-26 18:26 ` Sérgio Ferreira [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=P4tSXlD--F-9@se-rg.io \
--to=ferreira@se-rg.io \
--cc=abelvesa@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=ek5.chimenti@gmail.com \
--cc=ettore.chimenti@linaro.org \
--cc=ggo@tuxedocomputers.com \
--cc=jens.glathe@oldschoolsolutions.biz \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=srini@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®