From nobody Thu Sep 24 13:44:07 2026 Received: from mta1.migadu.com (out-53.mta1.migadu.com [95.215.58.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B0968568FC4 for ; Wed, 23 Sep 2026 15:25:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790177161; cv=none; b=e7a31j0ABaheCyCz6WvgVL9pMXSLovTknCl9oFa+5NCDDJg9MKw8xnVA12S/K6gaYq50PlRJU+eokoR3egDxaS+MHvfdsJOxyX4rEhOeyZaXZtZYuWG3ZKJF8iXS6dX1YmnwLYd2o4SUZdNFXLGiFnsa1NuMvo3YluP5ouLgjbw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790177161; c=relaxed/simple; bh=SN5y69kOURosVP6k7rGK7zuJM05gP6ofLl1gMVn3G0c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JAf4NzMq5sAgrOjcNALsOVHQMfhubLWQUACbRXwDYD2kodGFK8Q28Hp9KOzAy56I1fGiRKuLxtdHPvPi5V600ZjcMT85ZKvLL8ks9ZMpYLx5QXsnTIYyu9xmhWr3HxBx4QGYAjxs7KOTqGadU5C1HU26SUzSOKfRlKvPgEAlGlM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=akao.au; spf=pass smtp.mailfrom=akao.au; dkim=pass (2048-bit key) header.d=akao.au header.i=@akao.au header.b=NAnYrzxt; arc=none smtp.client-ip=95.215.58.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=akao.au Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=akao.au Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=akao.au header.i=@akao.au header.b="NAnYrzxt" X-Envelope-To: linux-kernel@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=SN5y69kOURosVP6k7rGK7zuJM05gP6ofLl1gMVn3G0c=; c=simple/simple; d=akao.au; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1790177140; v=1; x=1790781940; b=NAnYrzxteU4PTujHpN2zwk0v3lItom5HBIy3X3bHEKqgJ6uuWC7aeVvB/TpRs5a1BQz4BjtW WLmOpaVL7oB4ZR/Fx95OePt0K67t5/eP/BYhtIQ519kAt+g7fStnu+p05QFsQ6W9ed0w6zJlbUP 9pLlwl6vLNOx6sf5q0PQ2z4GUeHxvvJoJ0Wo1+xoiNSoJxDe71YyFqCuUjdX23JhVrkeFcypFJG bY+H50tIN5K2QFlXPI7lR/sdSGPF9cZRNAtvjmamgXZtt1formjO/NsUZ5xdF5vOzWnGQGlM1B/ 8UKjXQBz4bn9PNOMVVk0Xqm38UxV8qX1rrguS9hQ5IPNw== X-Envelope-To: linux-kernel@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id 98b70ba86cf04d63; Wed, 23 Sep 2026 15:25:39 +0000 X-Mizu-Trace-ID: 98b70ba86cf04d63 X-Migadu-Flow: FLOW_OUT From: Charlie Garner To: Bjorn Andersson , Konrad Dybcio Cc: Abel Vesa , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Val Packett , Laurentiu Tudor , Bryan O'Donoghue , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Charlie Garner Subject: [PATCH 1/2] arm64: dts: qcom: x1e80100-dell-inspiron-14-plus-7441: add PWM backlight Date: Thu, 24 Sep 2026 00:55:05 +0930 Message-ID: <20260923152506.44989-2-charlie@akao.au> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260923152506.44989-1-charlie@akao.au> References: <20260923152506.44989-1-charlie@akao.au> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The panel on the Dell Inspiron 14 Plus 7441 (AUO B140QAX01.H) cannot have its brightness set over eDP AUX. DPCD 0x702 has BRIGHTNESS_PWM_PIN_CAP set but BRIGHTNESS_AUX_SET_CAP clear: 0x701 GENERAL_CAP_1 =3D 0x9b 0x702 BACKLIGHT_ADJUSTMENT_CAP =3D 0x91 bit1 (AUX_SET) clear 0x721 MODE_SET =3D 0x00 control mode: PWM pin With no backlight phandle on the panel, panel-edp falls back to drm_panel_dp_aux_backlight(). drm_edp_backlight_supported() only tests 0x701 bit0, which is set, so a backlight device is registered - but drm_edp_backlight_probe_max() returns early when !aux_set, leaving max at 0: systemd-backlight: dp_aux_backlight: Maximum brightness is 0, ignoring dev= ice. gnome-shell: Backlight is unusable because the maximum brightness 0 is bigger than minimum brightness 0 Brightness is driven by PWM instead. UEFI already configures the pad and leaves it running, which is how the panel is lit before Linux touches it: gpiochip0 (c42d000.spmi:pmic@0:gpio@8800, PMK8550): gpio5 : out low func3 vin-0 pull-down 10uA push-pull medium and the corresponding LPG is present but disabled: pmic@0/pwm qcom,pmk8550-pwm status=3Ddisabled This matches the PWM wiring of the HP OmniBook X14 (x1-hp-omnibook-x14.dtsi), so describe it the same way: enable pmk8550_pwm, add the pinctrl state for gpio5 func3, and give the panel a pwm-backlight. The panel keeps its existing enable-gpios and edp_bl_en pinctrl, so power sequencing is unchanged; only brightness control is added. Keep this in the Inspiron DT rather than x1-dell-thena.dtsi. The Latitude 7455 shares the dtsi but was submitted with a different panel (BOE NE14QDM) and a working backlight without any PWM description, and this has only been tested on the Inspiron. Label the panel in the dtsi so the board DT can attach the backlight, as the ThinkPad T14s LCD variant does. Signed-off-by: Charlie Garner --- Notes: If a Latitude 7455 owner can confirm the same PWM wiring on that machin= e, this can move to x1-dell-thena.dtsi. arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi | 2 +- .../x1e80100-dell-inspiron-14-plus-7441.dts | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi b/arch/arm64/boot/= dts/qcom/x1-dell-thena.dtsi index 2ebb42906c9b..ce31c9f5cd05 100644 --- a/arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi +++ b/arch/arm64/boot/dts/qcom/x1-dell-thena.dtsi @@ -1039,7 +1039,7 @@ &mdss_dp3 { status =3D "okay"; =20 aux-bus { - panel { + panel: panel { compatible =3D "edp-panel"; enable-gpios =3D <&tlmm 74 GPIO_ACTIVE_HIGH>; power-supply =3D <&vreg_edp_3p3>; diff --git a/arch/arm64/boot/dts/qcom/x1e80100-dell-inspiron-14-plus-7441.d= ts b/arch/arm64/boot/dts/qcom/x1e80100-dell-inspiron-14-plus-7441.dts index 75e10d97c386..5779a4e84522 100644 --- a/arch/arm64/boot/dts/qcom/x1e80100-dell-inspiron-14-plus-7441.dts +++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-inspiron-14-plus-7441.dts @@ -10,6 +10,18 @@ / { model =3D "Dell Inspiron 14 Plus 7441"; compatible =3D "dell,inspiron-14-plus-7441", "qcom,x1e80100"; + + backlight: backlight { + compatible =3D "pwm-backlight"; + pwms =3D <&pmk8550_pwm 0 5000000>; + + brightness-levels =3D <0 2048 4096 8192 16384 65535>; + num-interpolated-steps =3D <20>; + default-brightness-level =3D <80>; + + pinctrl-0 =3D <&edp_bl_pwm>; + pinctrl-names =3D "default"; + }; }; =20 &sound { @@ -42,6 +54,21 @@ &iris { status =3D "okay"; }; =20 +&panel { + backlight =3D <&backlight>; +}; + +&pmk8550_gpios { + edp_bl_pwm: edp-bl-pwm-state { + pins =3D "gpio5"; + function =3D "func3"; + }; +}; + +&pmk8550_pwm { + status =3D "okay"; +}; + &remoteproc_adsp { firmware-name =3D "qcom/x1e80100/dell/inspiron-14-plus-7441/qcadsp8380.mb= n", "qcom/x1e80100/dell/inspiron-14-plus-7441/adsp_dtbs.elf"; --=20 2.55.0 From nobody Thu Sep 24 13:44:07 2026 Received: from mta0.migadu.com (out-78.mta0.migadu.com [91.218.175.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B6F253A39F for ; Wed, 23 Sep 2026 15:25:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.78 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790177160; cv=none; b=tklLnoglsrl5VpKJ5TiSpp+onCX85hwe7wDSgY+9ZlvlHitHCbU9DC/KOc/pi+7qakROeMp/HI4/6CLISt8PH+ucjsrr2OzXplnnSufM3Gbg5WyLTaLh3UHwMMrRXME8/y3yVvETiYtcKKMBI5F/dV2ZDEbpTgJHJppWrhe8k58= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790177160; c=relaxed/simple; bh=OSt2luTi2lemu6UTtjQoBucfgz6URVjePzM2Zt5GFQ4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KJeZNmAnSaOmieK9EHWAHo+kx3djTGu4ufme7cFUUM+YI+Zi08w+LRIUOumHaVFRUtifz/k5sbHLD9P57zjHlQk118QmSUFjtWOdlTByh73kZmv3AOlLOWV0kM/sray1naLc2Thj5KG7EYWmw75aa96NUUGyK4HWn6+49b8Pae8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=akao.au; spf=pass smtp.mailfrom=akao.au; dkim=pass (2048-bit key) header.d=akao.au header.i=@akao.au header.b=PvfRXLC0; arc=none smtp.client-ip=91.218.175.78 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=akao.au Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=akao.au Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=akao.au header.i=@akao.au header.b="PvfRXLC0" X-Envelope-To: linux-kernel@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=OSt2luTi2lemu6UTtjQoBucfgz6URVjePzM2Zt5GFQ4=; c=simple/simple; d=akao.au; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1790177149; v=1; x=1790781949; b=PvfRXLC0PcTaRA9DpXT4+sj4CwkixqUPo8MqGCTqPfpyJ4hRdVyIUAcmoTmgDa/fhWSEqk27 5p1WTPAE71xWCDYC1EUaIVyi0uQ3rwD5w0zPJMXqvClQnx2LE6yM7WLIsr4goWQ1p/Wa/PhEYqG NwPR+2WbkhWNFdvGsdmhixy1WP/tC9J/ks932FWlRmkbYQv902IfZkLmy2plChO4Cf8FmNvgz2D NVbZUMYsxX2ZekMOYGFlyowoapXDdUDOiLMpG07PwCRsUdifr22kQoP4odL2dFMaN5UGgxoGUpT L1NchPr4WaL4RFM0eiVhK1kR7R1Gc6n9lZG+tGXP2xhyw== X-Envelope-To: linux-kernel@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id 0f537ef4d91a77b4; Wed, 23 Sep 2026 15:25:49 +0000 X-Mizu-Trace-ID: 0f537ef4d91a77b4 X-Migadu-Flow: FLOW_OUT From: Charlie Garner To: Bjorn Andersson , Konrad Dybcio Cc: Abel Vesa , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Val Packett , Laurentiu Tudor , Bryan O'Donoghue , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Charlie Garner Subject: [PATCH 2/2] arm64: dts: qcom: x1e80100-dell-inspiron-14-plus-7441: fix touchscreen i2c address Date: Thu, 24 Sep 2026 00:55:06 +0930 Message-ID: <20260923152506.44989-3-charlie@akao.au> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260923152506.44989-1-charlie@akao.au> References: <20260923152506.44989-1-charlie@akao.au> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The touchscreen is at i2c address 0x09, not 0x10. Nothing responds at 0x10, so i2c_hid_of never probes and the panel does not work. tlmm pin 51, the touchscreen interrupt, is left unclaimed as a result. Scanning the bus shows only 0x09 responding (0x28 also ACKs but returns zeros, presumably an alternate address on the same controller). Linux bus 0 here is the GENI I2C controller at 0xa80000, which is i2c8 in the DT: # i2cdetect -y -r 0 00: -- 09 -- -- -- -- -- -- ... and 0x09 returns a valid HID-over-I2C descriptor: 1e 00 descriptor length 30 00 01 bcdVersion 1.00 6b 03 report descriptor length 875 ... bd 29 vendor 0x29bd 03 11 product 0x1103 whose report descriptor opens as a Windows Precision touchscreen: 05 0d Usage Page (Digitizer) 09 04 Usage (Touch Screen) a1 01 Collection (Application) 85 10 Report ID (0x10) 05 0d Usage Page (Digitizer) 09 22 Usage (Finger) a1 02 Collection (Logical) 09 42 Usage (Tip Switch) ... Contact Id, 16-bit X/Y, unit exponent -3 The firmware agrees. The DSDT describes one touchscreen, \_SB.TSC1, on I2C9 (QUP_1_SE_0 at 0xa80000, i2c8 here) with its interrupt on GPIO 51. Its _HID, slave address and HID descriptor address are placeholders that UEFI fills in at boot, and on this machine they read LXST2021, 0x09 and 0x0001. Nothing at 0x28 is described. The Latitude 7455 DT already has the same LXST2021 touchscreen at 0x09. The original touchscreen@10 node is identical to the ones in x1-crd.dtsi, x1e80100-dell-xps13-9345.dts and x1e78100-lenovo-thinkpad-t14s.dtsi, which the Inspiron DT was based on. Rename the node to match the corrected unit address. Fixes: e7733b42111c ("arm64: dts: qcom: Add support for Dell Inspiron 7441 = / Latitude 7455") Signed-off-by: Charlie Garner --- Notes: As far as I know, no Inspiron 14 Plus 7441 has its touchscreen at 0x10. The 7441 ships with a single touch display option, but the DSDT address= is filled in by UEFI per unit, so please say if you have one that differs. .../boot/dts/qcom/x1e80100-dell-inspiron-14-plus-7441.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/x1e80100-dell-inspiron-14-plus-7441.d= ts b/arch/arm64/boot/dts/qcom/x1e80100-dell-inspiron-14-plus-7441.dts index 5779a4e84522..edbba5101b82 100644 --- a/arch/arm64/boot/dts/qcom/x1e80100-dell-inspiron-14-plus-7441.dts +++ b/arch/arm64/boot/dts/qcom/x1e80100-dell-inspiron-14-plus-7441.dts @@ -37,9 +37,9 @@ &gpu_zap_shader { }; =20 &i2c8 { - touchscreen@10 { + touchscreen@9 { compatible =3D "hid-over-i2c"; - reg =3D <0x10>; + reg =3D <0x9>; =20 hid-descr-addr =3D <0x1>; interrupts-extended =3D <&tlmm 51 IRQ_TYPE_LEVEL_LOW>; --=20 2.55.0