From nobody Sat Sep 26 01:06:03 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 81A2D231836; Sun, 6 Sep 2026 12:22:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788697367; cv=none; b=JF/PiJQcMtaeQ673uceviu0JqOO2RSrVkQUUQnvLD4U1vYdKTdlQjrCyO963bG6YQv2dUq6+hsYbrUqYd2WgRg12N18gd+umVOQB9xg+8Ezot4QmPd8dwtaJiYpEDqD49AisqjzTFuRicLO+Z8UDu53uBbzcBx5y/AXSUFEciKM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788697367; c=relaxed/simple; bh=yjyDtbIecIprmCL8fFazu5hNHhPVthRdzMRoYqh/57E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bc3Hm3ZYFCdZdadd6HWKTYEjI5iNo3xAb01eP76znenAN2CAU5ACtAU0qLTSHpWPElmxxcmBjpDkWFmdFVwjBJ21OHcW8WhjHQVdTK7v64N+c35iJ8uMPsIknG/1tF+av7bm/fbWSrocg30BwCrSKjrTPUsGTQltfGWs3j+S6oY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Z5BE9uis; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Z5BE9uis" Received: by smtp.kernel.org (Postfix) with ESMTPS id 2FC77C2BCFD; Sun, 6 Sep 2026 12:22:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1788697367; bh=yjyDtbIecIprmCL8fFazu5hNHhPVthRdzMRoYqh/57E=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=Z5BE9uisKF2pU24h3aVy2m45nmq/RnIeZ7iGTs/4WbvxIJUfsz1SV26gkAj/insry JKAFcGh4AfHnAP/yJb7teB2pyMqufbp08LmDnPRqZ3AfHfKphwpTS3xdRyBngpFtH7 hF/G6MGIgv6qrd50G41uecCxX2xQBVco030Q7dixRW3bC7r/p20eq3/eLTNTl8wzFl XJFha2Zz0Bn8cBcq/VJEeWo67Dmvj2k/QKuZs8L9w3pZcxzWdfl8rA8zYUgL4Bj0N4 eW59yPn8dcD845lR46kLRXRLl3ud/aCLaxd6kOeE2LGAN0u4IfhmD/5wHzHrapNPbE Y4JHaXZih/NSg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 06219C79F99; Sun, 6 Sep 2026 12:22:47 +0000 (UTC) From: Jens Glathe via B4 Relay Date: Sun, 06 Sep 2026 14:22:36 +0200 Subject: [PATCH 1/3] dt-bindings: arm: qcom: Add Lenovo Ideapad Slim 5 variants Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260906-x1-ideapad-slim5x-v1-1-7ccffbe6bc4a@oldschoolsolutions.biz> References: <20260906-x1-ideapad-slim5x-v1-0-7ccffbe6bc4a@oldschoolsolutions.biz> In-Reply-To: <20260906-x1-ideapad-slim5x-v1-0-7ccffbe6bc4a@oldschoolsolutions.biz> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jens Glathe X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788697362; l=1259; i=jens.glathe@oldschoolsolutions.biz; s=20240919; h=from:subject:message-id; bh=MOSjjYpfBBIQPVl/BSuVZwV6HsAN8S+mDS114WZka/8=; b=Gx0SpB6xcZvE/6QipUjHyt8CoMyDq4M9OdImzrUBHT7f5ziP7Rq/srxtiSawCgCyYr2TJCXeK S/sBD+Xo/XPAh9LG4aYyVInEvbFRug75UcUKXBkmTmMxGsxGFLFmeBg X-Developer-Key: i=jens.glathe@oldschoolsolutions.biz; a=ed25519; pk=JcRJqJc/y8LsxOlPakALD3juGfOKmFBWtO+GfELMJVg= X-Endpoint-Received: by B4 Relay for jens.glathe@oldschoolsolutions.biz/20240919 with auth_id=216 X-Original-From: Jens Glathe Reply-To: jens.glathe@oldschoolsolutions.biz From: Jens Glathe Document the Lenovo IdeaPad Slim 5x 14Q8X9 (machine type 83HL), a Snapdragon X Plus X1P42100 (Purwa) clamshell. The chassis is sold with either an LCD panel that needs a PWM backlight or an OLED panel that does not, so give each SKU its own compatible. Also add a generic "lenovo,ideapad-5" fallback for drivers that match a whole family, such as the QSEECOM allowlist. Assisted-by: Grok 4.5 (xAI) Signed-off-by: Jens Glathe Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/arm/qcom.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentatio= n/devicetree/bindings/arm/qcom.yaml index 5ccb571520d1d..da72181b55e2a 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -1247,6 +1247,13 @@ properties: - const: asus,zenbook-a14-ux3407qa - const: qcom,x1p42100 =20 + - items: + - enum: + - lenovo,ideapad-slim5x-lcd + - lenovo,ideapad-slim5x-oled + - const: lenovo,ideapad-5 + - const: qcom,x1p42100 + - items: - enum: - asus,vivobook-s15-x1p4 --=20 2.53.0 From nobody Sat Sep 26 01:06:03 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8193021A42D; Sun, 6 Sep 2026 12:22:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788697367; cv=none; b=XU6bjLtQBdw08vhyO7zmsN2Sh+t80hJazGmz0zJ13CISzyVQnFvON0SKVp9m1r2zo5qvWDyuiQyvP/xCGr0JCVrDaHDz0VHXAMcK5HOUgKn8jujLUEX0ZVgdhkJ5Y/NJ2xT+mZn8fdqbUTtL9QKdKl8X2BhtTWnx9d/9MjFFjAQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788697367; c=relaxed/simple; bh=rirg4RbJMaNw/xyRM9MWShgHab1xsYrkfVgbAiLL/MA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Btw5wq2GZScgo3UcCxYHz32PjMBVgbh3Anf3zxivURvY0CFgX9LqytKqtpinBEtMOZ9aU+HSF8n2Yabzl0THpwyo6/QyYSL4PSv2WNxSAFdVN91HMz5tVFfy3pBY5KBkpiUjwP9PEaMFR1+Pyob+QWQAVUyDLuhBZhTsTCYzHPM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=V0b8Jv4A; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="V0b8Jv4A" Received: by smtp.kernel.org (Postfix) with ESMTPS id 36304C2BD00; Sun, 6 Sep 2026 12:22:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1788697367; bh=rirg4RbJMaNw/xyRM9MWShgHab1xsYrkfVgbAiLL/MA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=V0b8Jv4AiU1oYE8Gs1qfpvJR/gHRXWeCOWaI96q+HkziBZl/x7jQGYroq5ZzH9OE+ MmECrU2pC+Tz7Foglo6MN3WgQbyPqs5eM/F3S8QT7UMGV+d7lzrkAbXPirruTsfGCP jmAL1Rw4wT4ty04DJzNT9VW/WunoXY2z1yUp7gvHOKsBKGJThnyjKCxKH/iU34twqx LidKP4QUoee2wiEnAJ0CUcwRXGaFmHXMmGriXoq2KbM8Iccojd+RPRALNiQM1BPeOE V0+vS2wqwC+dDvJqL2qAKVZoW5qR1FOT8QtLZjlcSOhDz9Xj/7UJRpMMI1vOSrGExH fuaV0fMmcBjmQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18570C79F85; Sun, 6 Sep 2026 12:22:47 +0000 (UTC) From: Jens Glathe via B4 Relay Date: Sun, 06 Sep 2026 14:22:37 +0200 Subject: [PATCH 2/3] firmware: qcom: scm: Allow QSEECOM on Lenovo IdeaPad 5 models Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260906-x1-ideapad-slim5x-v1-2-7ccffbe6bc4a@oldschoolsolutions.biz> References: <20260906-x1-ideapad-slim5x-v1-0-7ccffbe6bc4a@oldschoolsolutions.biz> In-Reply-To: <20260906-x1-ideapad-slim5x-v1-0-7ccffbe6bc4a@oldschoolsolutions.biz> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jens Glathe X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788697362; l=1000; i=jens.glathe@oldschoolsolutions.biz; s=20240919; h=from:subject:message-id; bh=HV6obzoJQYZkI0vGnV/Lh7ePRT9GR5xSbdXa52p1wu8=; b=m8Z7Cyp6fYI2Nz1xWm0aPrBchpnVZQtFM57i7sZxvzH+cAvvFggOq8flWa/8r9xgbzMUIK38J 4lU2AlvjMfhA8PJfCFNiQBSDEhWMwAyBqqUlz02y8GLBHKdcaYedzsn X-Developer-Key: i=jens.glathe@oldschoolsolutions.biz; a=ed25519; pk=JcRJqJc/y8LsxOlPakALD3juGfOKmFBWtO+GfELMJVg= X-Endpoint-Received: by B4 Relay for jens.glathe@oldschoolsolutions.biz/20240919 with auth_id=216 X-Original-From: Jens Glathe Reply-To: jens.glathe@oldschoolsolutions.biz From: Jens Glathe QSEECOM is required for EFI variables on these machines. Match the generic "lenovo,ideapad-5" fallback so both the LCD and OLED IdeaPad Slim 5x 14Q8X9 device trees are covered without duplicating allowlist entries. Signed-off-by: Jens Glathe --- drivers/firmware/qcom/qcom_scm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_= scm.c index 882d1865f3a4a..a5f19c5dc089c 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -2231,6 +2231,7 @@ static const struct of_device_id qcom_scm_qseecom_all= owlist[] __maybe_unused =3D { { .compatible =3D "huawei,gaokun3" }, { .compatible =3D "lenovo,flex-5g" }, { .compatible =3D "lenovo,ideacentre-mini-01q8x10" }, + { .compatible =3D "lenovo,ideapad-5" }, { .compatible =3D "lenovo,thinkbook-16" }, { .compatible =3D "lenovo,thinkpad-t14s" }, { .compatible =3D "lenovo,thinkpad-x13s", }, --=20 2.53.0 From nobody Sat Sep 26 01:06:03 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 81AA323D7DF; Sun, 6 Sep 2026 12:22:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788697367; cv=none; b=r7Qn0uC7Iawizuq5zJuS/V1RUN3fxZaGSLeZWvvSTTlNrrwlGdw9jNIyT9yqTqvTnfXWrdEkNBhUWHbktqz/zYs+wNb+IPC5QXfkrezlqfdzC4NVpG7a7+RHb8afrRJwgG9UeKXNeFhbWSRhdpn8NqDY2oKi3UX8QQu0QwKUDDY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788697367; c=relaxed/simple; bh=LDEOX33Hrh/f5cB0H+cRppW5iR5zQISfp5V1bn/0p2Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pMisMCydicCeZDvhCh4rz5KhuybRF/6sTYYzVRw5tSj8NixXPgMrDFXlA3oYnbB5wCrMBCmkJ+y+CzhzCgtock6rVzORpGMPVR+qwRqHE7DDFqUsi1/YDmsUg3knxqRg1lM0vXZDCAOahsQ4ZgriMHnfU0VYFV3D8Juyzm7xR58= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DsE5gGS6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="DsE5gGS6" Received: by smtp.kernel.org (Postfix) with ESMTPS id 4813EC2BCFC; Sun, 6 Sep 2026 12:22:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1788697367; bh=LDEOX33Hrh/f5cB0H+cRppW5iR5zQISfp5V1bn/0p2Q=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=DsE5gGS6pSbNFou7KxBWMPzbSFfkG0f3+5lGdXvewoWgqIskgbHyOrMn8MTEZZjZh URaoXVOR7DyOZu5JHu9JyVwyG2hH1snblUxj00/LvEfZVEThIt4kORCaP1ccA1RaFS ylJg9UEHaND99rBvPyiEtoCH0i7G1Oa9ilbeAggWkS4Zrmd7/agaJjWDpIFAI0hA6X 6IiQOsq4d4idDQiXB3ZqXHN2EW1lFUPvCE0Wa9Fdg0vGvrj9srOq/G82FrMqMlsagU vPavlx0EAlSJfbIbXT3V9pL1cHVj5jvkMV/pKMyHN4fqnIN0StOOhN+FFH+RLRbK9x 1BobFowl6ZXRw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2DF1AC79FA1; Sun, 6 Sep 2026 12:22:47 +0000 (UTC) From: Jens Glathe via B4 Relay Date: Sun, 06 Sep 2026 14:22:38 +0200 Subject: [PATCH 3/3] arm64: dts: qcom: Add Lenovo IdeaPad Slim 5x 14Q8X9 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260906-x1-ideapad-slim5x-v1-3-7ccffbe6bc4a@oldschoolsolutions.biz> References: <20260906-x1-ideapad-slim5x-v1-0-7ccffbe6bc4a@oldschoolsolutions.biz> In-Reply-To: <20260906-x1-ideapad-slim5x-v1-0-7ccffbe6bc4a@oldschoolsolutions.biz> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Jens Glathe X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788697362; l=41371; i=jens.glathe@oldschoolsolutions.biz; s=20240919; h=from:subject:message-id; bh=4cZDhBoiSx1DuOovNEe9yX4QI9LgM2fprTksag65xeQ=; b=BzthCQVLQNCkw21IZCKBwDdPWQma+sjmS6Y+aWwvS9I6hgeavg+a1t5lECxnHgjdPH6m/7z/s EdZuhgSgTVcC5GBNiYouJGQCuoPDbZnv/AgD3DXyZIPBn0HQIsqHKtf X-Developer-Key: i=jens.glathe@oldschoolsolutions.biz; a=ed25519; pk=JcRJqJc/y8LsxOlPakALD3juGfOKmFBWtO+GfELMJVg= X-Endpoint-Received: by B4 Relay for jens.glathe@oldschoolsolutions.biz/20240919 with auth_id=216 X-Original-From: Jens Glathe Reply-To: jens.glathe@oldschoolsolutions.biz From: Jens Glathe Add a common DTSI plus LCD and OLED board files for the Lenovo IdeaPad Slim 5 14Q8X9 (machine type 83HL) on X1P42100. In some regions this SKU is sold as "IdeaPad Slim 5x"; the "x" is the Qualcomm suffix in Lenovo's current IdeaPad naming (i =3D Intel, a =3D AMD, x =3D Qualcomm). The two panel SKUs share the platform description. The LCD variant enables PMK8550 PWM and a pwm-backlight consumer on the eDP panel; the OLED variant leaves that off. Audio uses the X1E80100-LENOVO-Ideapad-5 sound card name on purpose. The Audioreach topology is the Thinkpad T14s layout (WCD9385 headset codec, WSA stereo speakers, VA DMICs, DP0, DP1 and DP2) and already has UCM under that name. The topology firmware is the T14s / Romulus blob exposed as X1E80100-LENOVO-Ideapad-5-tplg.bin. There is no EC driver yet; but the default handling is non-annoying. Fn lock signaling, volume and brightness keys work. Also, the fan control is acceptably good. Working: - keyboard and HID-over-I2C touchpad (several vendor ICs) - eDP (LCD PWM backlight and OLED) - HDMI - USB-C including DP altmode - USB-A - NVMe - microSD on PCIe3 - WCN7850 Wi-Fi and Bluetooth - lid switch - Adreno GPU - speakers, headphone jack, internal DMICs, DP outs - battery / charging - camera (on usb_2) - fingerprint (on usb1_ss2) Assisted-by: Grok 4.5 (xAI) Signed-off-by: Jens Glathe --- arch/arm64/boot/dts/qcom/Makefile | 4 + .../qcom/x1p42100-lenovo-ideapad-slim5x-lcd.dts | 30 + .../qcom/x1p42100-lenovo-ideapad-slim5x-oled.dts | 15 + .../dts/qcom/x1p42100-lenovo-ideapad-slim5x.dtsi | 1695 ++++++++++++++++= ++++ 4 files changed, 1744 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index 6c2ac11133ca7..49b76b99b8161 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -487,6 +487,10 @@ x1p42100-crd-el2-dtbs :=3D x1p42100-crd.dtb x1-el2.dtbo dtb-$(CONFIG_ARCH_QCOM) +=3D x1p42100-crd.dtb x1p42100-crd-el2.dtb x1p42100-hp-omnibook-x14-el2-dtbs :=3D x1p42100-hp-omnibook-x14.dtb x1-el2= .dtbo dtb-$(CONFIG_ARCH_QCOM) +=3D x1p42100-hp-omnibook-x14.dtb x1p42100-hp-omni= book-x14-el2.dtb +x1p42100-lenovo-ideapad-slim5x-lcd-el2-dtbs :=3D x1p42100-lenovo-ideapad-s= lim5x-lcd.dtb x1-el2.dtbo +dtb-$(CONFIG_ARCH_QCOM) +=3D x1p42100-lenovo-ideapad-slim5x-lcd.dtb x1p421= 00-lenovo-ideapad-slim5x-lcd-el2.dtb +x1p42100-lenovo-ideapad-slim5x-oled-el2-dtbs :=3D x1p42100-lenovo-ideapad-= slim5x-oled.dtb x1-el2.dtbo +dtb-$(CONFIG_ARCH_QCOM) +=3D x1p42100-lenovo-ideapad-slim5x-oled.dtb x1p42= 100-lenovo-ideapad-slim5x-oled-el2.dtb x1p42100-lenovo-thinkbook-16-el2-dtbs :=3D x1p42100-lenovo-thinkbook-16.dt= b x1-el2.dtbo dtb-$(CONFIG_ARCH_QCOM) +=3D x1p42100-lenovo-thinkbook-16.dtb x1p42100-len= ovo-thinkbook-16-el2.dtb x1p64100-microsoft-denali-el2-dtbs :=3D x1p64100-microsoft-denali.dtb x1-e= l2.dtbo diff --git a/arch/arm64/boot/dts/qcom/x1p42100-lenovo-ideapad-slim5x-lcd.dt= s b/arch/arm64/boot/dts/qcom/x1p42100-lenovo-ideapad-slim5x-lcd.dts new file mode 100644 index 0000000000000..271c151d00aeb --- /dev/null +++ b/arch/arm64/boot/dts/qcom/x1p42100-lenovo-ideapad-slim5x-lcd.dts @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2024, Linaro Limited + * Copyright (c) 2026 Jens Glathe + */ + +/dts-v1/; + +#include "x1p42100-lenovo-ideapad-slim5x.dtsi" + +/ { + model =3D "Lenovo IdeaPad Slim 5x 14Q8X9 (LCD)"; + compatible =3D "lenovo,ideapad-slim5x-lcd", "lenovo,ideapad-5", "qcom,x1p= 42100"; + + backlight: backlight { + compatible =3D "pwm-backlight"; + pwms =3D <&pmk8550_pwm 0 4166667>; + + power-supply =3D <&vreg_edp_3p3>; + }; +}; + +&panel { + backlight =3D <&backlight>; +}; + +&pmk8550_pwm { + status =3D "okay"; +}; diff --git a/arch/arm64/boot/dts/qcom/x1p42100-lenovo-ideapad-slim5x-oled.d= ts b/arch/arm64/boot/dts/qcom/x1p42100-lenovo-ideapad-slim5x-oled.dts new file mode 100644 index 0000000000000..a72af0c78615e --- /dev/null +++ b/arch/arm64/boot/dts/qcom/x1p42100-lenovo-ideapad-slim5x-oled.dts @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2024, Linaro Limited + * Copyright (c) 2026 Jens Glathe + */ + +/dts-v1/; + +#include "x1p42100-lenovo-ideapad-slim5x.dtsi" + +/ { + model =3D "Lenovo IdeaPad Slim 5x 14Q8X9 (OLED)"; + compatible =3D "lenovo,ideapad-slim5x-oled", "lenovo,ideapad-5", "qcom,x1= p42100"; +}; diff --git a/arch/arm64/boot/dts/qcom/x1p42100-lenovo-ideapad-slim5x.dtsi b= /arch/arm64/boot/dts/qcom/x1p42100-lenovo-ideapad-slim5x.dtsi new file mode 100644 index 0000000000000..1f9e048119221 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/x1p42100-lenovo-ideapad-slim5x.dtsi @@ -0,0 +1,1695 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2024, Linaro Limited + * Copyright (c) 2026 Jens Glathe + */ + +#include +#include +#include +#include +#include + +#include "purwa.dtsi" +#include "hamoa-pmics.dtsi" + +/delete-node/ &pmc8380_6; +/delete-node/ &pmc8380_6_thermal; + +/ { + chassis-type =3D "laptop"; + + aliases { + serial0 =3D &uart21; + serial1 =3D &uart14; + }; + + wcd938x: audio-codec { + compatible =3D "qcom,wcd9385-codec"; + + pinctrl-0 =3D <&wcd_default>; + pinctrl-names =3D "default"; + + qcom,micbias1-microvolt =3D <1800000>; + qcom,micbias2-microvolt =3D <1800000>; + qcom,micbias3-microvolt =3D <1800000>; + qcom,micbias4-microvolt =3D <1800000>; + qcom,mbhc-buttons-vthreshold-microvolt =3D <75000 150000 237000 500000 5= 00000 500000 500000 500000>; + qcom,mbhc-headset-vthreshold-microvolt =3D <1700000>; + qcom,mbhc-headphone-vthreshold-microvolt =3D <50000>; + qcom,rx-device =3D <&wcd_rx>; + qcom,tx-device =3D <&wcd_tx>; + + reset-gpios =3D <&tlmm 191 GPIO_ACTIVE_LOW>; + + vdd-buck-supply =3D <&vreg_l15b_1p8>; + vdd-rxtx-supply =3D <&vreg_l15b_1p8>; + vdd-io-supply =3D <&vreg_l15b_1p8>; + vdd-mic-bias-supply =3D <&vreg_bob1>; + + #sound-dai-cells =3D <1>; + }; + + hdmi-bridge { + compatible =3D "parade,ps185hdm"; + + pinctrl-0 =3D <&hdmi_hpd_default>; + pinctrl-names =3D "default"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + hdmi_bridge_dp_in: endpoint { + remote-endpoint =3D <&usb_1_ss2_qmpphy_out_dp>; + }; + }; + + port@1 { + reg =3D <1>; + + hdmi_bridge_tmds_out: endpoint { + remote-endpoint =3D <&hdmi_con>; + }; + }; + }; + }; + + hdmi-connector { + compatible =3D "hdmi-connector"; + type =3D "a"; + + port { + hdmi_con: endpoint { + remote-endpoint =3D <&hdmi_bridge_tmds_out>; + }; + }; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + + pinctrl-0 =3D <&hall_int_n_default>; + pinctrl-names =3D "default"; + + switch-lid { + gpios =3D <&tlmm 92 GPIO_ACTIVE_LOW>; + linux,input-type =3D ; + linux,code =3D ; + wakeup-source; + wakeup-event-action =3D ; + }; + }; + + pmic-glink { + compatible =3D "qcom,x1e80100-pmic-glink", + "qcom,sm8550-pmic-glink", + "qcom,pmic-glink"; + #address-cells =3D <1>; + #size-cells =3D <0>; + orientation-gpios =3D <&tlmm 121 GPIO_ACTIVE_HIGH>, + <&tlmm 123 GPIO_ACTIVE_HIGH>; + + /* Display-adjacent port */ + connector@0 { + compatible =3D "usb-c-connector"; + reg =3D <0>; + power-role =3D "dual"; + data-role =3D "host"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + pmic_glink_ss0_hs_in: endpoint { + remote-endpoint =3D <&usb_1_ss0_dwc3_hs>; + }; + }; + + port@1 { + reg =3D <1>; + + pmic_glink_ss0_ss_in: endpoint { + remote-endpoint =3D <&usb_1_ss0_qmpphy_out>; + }; + }; + + port@2 { + reg =3D <2>; + + pmic_glink_ss0_sbu: endpoint { + remote-endpoint =3D <&usb_1_ss0_sbu_mux>; + }; + }; + }; + }; + + /* User-adjacent port */ + connector@1 { + compatible =3D "usb-c-connector"; + reg =3D <1>; + power-role =3D "dual"; + data-role =3D "host"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + pmic_glink_ss1_hs_in: endpoint { + remote-endpoint =3D <&usb_1_ss1_dwc3_hs>; + }; + }; + + port@1 { + reg =3D <1>; + + pmic_glink_ss1_ss_in: endpoint { + remote-endpoint =3D <&usb_1_ss1_qmpphy_out>; + }; + }; + + port@2 { + reg =3D <2>; + + pmic_glink_ss1_sbu: endpoint { + remote-endpoint =3D <&usb_1_ss1_sbu_mux>; + }; + }; + }; + }; + }; + + sound { + compatible =3D "qcom,x1e80100-sndcard"; + model =3D "X1E80100-LENOVO-Ideapad-5"; + audio-routing =3D "SpkrLeft IN", "WSA WSA_SPK1 OUT", + "SpkrRight IN", "WSA WSA_SPK2 OUT", + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "AMIC2", "MIC BIAS2", + "VA DMIC0", "MIC BIAS1", + "VA DMIC1", "MIC BIAS1", + "VA DMIC0", "VA MIC BIAS1", + "VA DMIC1", "VA MIC BIAS1", + "TX SWR_INPUT1", "ADC2_OUTPUT"; + + displayport-0-dai-link { + link-name =3D "DisplayPort0 Playback"; + + codec { + sound-dai =3D <&mdss_dp0>; + }; + + cpu { + sound-dai =3D <&q6apmbedai DISPLAY_PORT_RX_0>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; + + displayport-1-dai-link { + link-name =3D "DisplayPort1 Playback"; + + codec { + sound-dai =3D <&mdss_dp1>; + }; + + cpu { + sound-dai =3D <&q6apmbedai DISPLAY_PORT_RX_1>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; + + displayport-2-dai-link { + link-name =3D "DisplayPort2 Playback"; + + codec { + sound-dai =3D <&mdss_dp2>; + }; + + cpu { + sound-dai =3D <&q6apmbedai DISPLAY_PORT_RX_2>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; + + wcd-playback-dai-link { + link-name =3D "WCD Playback"; + + codec { + sound-dai =3D <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>; + }; + + cpu { + sound-dai =3D <&q6apmbedai RX_CODEC_DMA_RX_0>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; + + wcd-capture-dai-link { + link-name =3D "WCD Capture"; + + codec { + sound-dai =3D <&wcd938x 1>, <&swr2 1>, <&lpass_txmacro 0>; + }; + + cpu { + sound-dai =3D <&q6apmbedai TX_CODEC_DMA_TX_3>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; + + wsa-dai-link { + link-name =3D "WSA Playback"; + + codec { + sound-dai =3D <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro= 0>; + }; + + cpu { + sound-dai =3D <&q6apmbedai WSA_CODEC_DMA_RX_0>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; + + va-dai-link { + link-name =3D "VA Capture"; + + codec { + sound-dai =3D <&lpass_vamacro 0>; + }; + + cpu { + sound-dai =3D <&q6apmbedai VA_CODEC_DMA_TX_0>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; + }; + + usb-1-ss0-sbu-mux { + compatible =3D "onnn,fsusb42", "gpio-sbu-mux"; + + enable-gpios =3D <&tlmm 168 GPIO_ACTIVE_LOW>; + select-gpios =3D <&tlmm 167 GPIO_ACTIVE_HIGH>; + + pinctrl-0 =3D <&usb_1_ss0_sbu_default>; + pinctrl-names =3D "default"; + + mode-switch; + orientation-switch; + + port { + usb_1_ss0_sbu_mux: endpoint { + remote-endpoint =3D <&pmic_glink_ss0_sbu>; + }; + }; + }; + + usb-1-ss1-sbu-mux { + compatible =3D "onnn,fsusb42", "gpio-sbu-mux"; + + enable-gpios =3D <&tlmm 179 GPIO_ACTIVE_LOW>; + select-gpios =3D <&tlmm 178 GPIO_ACTIVE_HIGH>; + + pinctrl-0 =3D <&usb_1_ss1_sbu_default>; + pinctrl-names =3D "default"; + + mode-switch; + orientation-switch; + + port { + usb_1_ss1_sbu_mux: endpoint { + remote-endpoint =3D <&pmic_glink_ss1_sbu>; + }; + }; + }; + + vreg_edp_3p3: regulator-edp-3p3 { + compatible =3D "regulator-fixed"; + + regulator-name =3D "VREG_EDP_3P3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + + gpio =3D <&tlmm 70 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-0 =3D <&edp_reg_en>; + pinctrl-names =3D "default"; + + regulator-boot-on; + regulator-always-on; + }; + + vreg_misc_3p3: regulator-misc-3p3 { + compatible =3D "regulator-fixed"; + + regulator-name =3D "VREG_MISC_3P3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + + gpio =3D <&pm8550ve_8_gpios 6 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-0 =3D <&misc_3p3_reg_en>; + pinctrl-names =3D "default"; + + regulator-boot-on; + regulator-always-on; + }; + + vreg_nvme: regulator-nvme { + compatible =3D "regulator-fixed"; + + regulator-name =3D "VREG_NVME_3P3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + + gpio =3D <&tlmm 18 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-0 =3D <&nvme_reg_en>; + pinctrl-names =3D "default"; + + regulator-boot-on; + }; + + vreg_wcn_0p95: regulator-wcn-0p95 { + compatible =3D "regulator-fixed"; + + regulator-name =3D "VREG_WCN_0P95"; + regulator-min-microvolt =3D <950000>; + regulator-max-microvolt =3D <950000>; + + vin-supply =3D <&vreg_wcn_3p3>; + }; + + vreg_wcn_1p9: regulator-wcn-1p9 { + compatible =3D "regulator-fixed"; + + regulator-name =3D "VREG_WCN_1P9"; + regulator-min-microvolt =3D <1900000>; + regulator-max-microvolt =3D <1900000>; + + vin-supply =3D <&vreg_wcn_3p3>; + }; + + vreg_wcn_3p3: regulator-wcn-3p3 { + compatible =3D "regulator-fixed"; + + regulator-name =3D "VREG_WCN_3P3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + + gpio =3D <&tlmm 214 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-0 =3D <&wcn_sw_en>; + pinctrl-names =3D "default"; + + regulator-boot-on; + }; + + vph_pwr: regulator-vph-pwr { + compatible =3D "regulator-fixed"; + + regulator-name =3D "vph_pwr"; + regulator-min-microvolt =3D <3700000>; + regulator-max-microvolt =3D <3700000>; + + regulator-always-on; + regulator-boot-on; + }; + + wcn7850-pmu { + compatible =3D "qcom,wcn7850-pmu"; + + vdd-supply =3D <&vreg_wcn_0p95>; + vddio-supply =3D <&vreg_l15b_1p8>; + vddaon-supply =3D <&vreg_wcn_0p95>; + vdddig-supply =3D <&vreg_wcn_0p95>; + vddrfa1p2-supply =3D <&vreg_wcn_1p9>; + vddrfa1p8-supply =3D <&vreg_wcn_1p9>; + + wlan-enable-gpios =3D <&tlmm 117 GPIO_ACTIVE_HIGH>; + bt-enable-gpios =3D <&tlmm 116 GPIO_ACTIVE_HIGH>; + + pinctrl-0 =3D <&wcn_wlan_bt_en>; + pinctrl-names =3D "default"; + + regulators { + vreg_pmu_rfa_cmn: ldo0 { + regulator-name =3D "vreg_pmu_rfa_cmn"; + }; + + vreg_pmu_aon_0p59: ldo1 { + regulator-name =3D "vreg_pmu_aon_0p59"; + }; + + vreg_pmu_wlcx_0p8: ldo2 { + regulator-name =3D "vreg_pmu_wlcx_0p8"; + }; + + vreg_pmu_wlmx_0p85: ldo3 { + regulator-name =3D "vreg_pmu_wlmx_0p85"; + }; + + vreg_pmu_btcmx_0p85: ldo4 { + regulator-name =3D "vreg_pmu_btcmx_0p85"; + }; + + vreg_pmu_rfa_0p8: ldo5 { + regulator-name =3D "vreg_pmu_rfa_0p8"; + }; + + vreg_pmu_rfa_1p2: ldo6 { + regulator-name =3D "vreg_pmu_rfa_1p2"; + }; + + vreg_pmu_rfa_1p8: ldo7 { + regulator-name =3D "vreg_pmu_rfa_1p8"; + }; + + vreg_pmu_pcie_0p9: ldo8 { + regulator-name =3D "vreg_pmu_pcie_0p9"; + }; + + vreg_pmu_pcie_1p8: ldo9 { + regulator-name =3D "vreg_pmu_pcie_1p8"; + }; + }; + }; +}; + +&apps_rsc { + regulators-0 { + compatible =3D "qcom,pm8550-rpmh-regulators"; + qcom,pmic-id =3D "b"; + + vdd-bob1-supply =3D <&vph_pwr>; + vdd-bob2-supply =3D <&vph_pwr>; + vdd-l1-l4-l10-supply =3D <&vreg_s4c_1p8>; + vdd-l2-l13-l14-supply =3D <&vreg_bob1>; + vdd-l5-l16-supply =3D <&vreg_bob1>; + vdd-l6-l7-supply =3D <&vreg_bob2>; + vdd-l8-l9-supply =3D <&vreg_bob1>; + vdd-l12-supply =3D <&vreg_s5j_1p2>; + vdd-l15-supply =3D <&vreg_s4c_1p8>; + vdd-l17-supply =3D <&vreg_bob2>; + + vreg_bob1: bob1 { + regulator-name =3D "vreg_bob1"; + regulator-min-microvolt =3D <3008000>; + regulator-max-microvolt =3D <3960000>; + regulator-initial-mode =3D ; + }; + + vreg_bob2: bob2 { + regulator-name =3D "vreg_bob2"; + regulator-min-microvolt =3D <2504000>; + regulator-max-microvolt =3D <3008000>; + regulator-initial-mode =3D ; + }; + + vreg_l1b_1p8: ldo1 { + regulator-name =3D "vreg_l1b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l2b_3p0: ldo2 { + regulator-name =3D "vreg_l2b_3p0"; + regulator-min-microvolt =3D <3072000>; + regulator-max-microvolt =3D <3072000>; + regulator-initial-mode =3D ; + }; + + vreg_l4b_1p8: ldo4 { + regulator-name =3D "vreg_l4b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + + regulator-state-mem { + regulator-on-in-suspend; + }; + }; + + vreg_l6b_1p8: ldo6 { + regulator-name =3D "vreg_l6b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2960000>; + regulator-initial-mode =3D ; + }; + + vreg_l8b_3p0: ldo8 { + regulator-name =3D "vreg_l8b_3p0"; + regulator-min-microvolt =3D <3072000>; + regulator-max-microvolt =3D <3072000>; + regulator-initial-mode =3D ; + }; + + vreg_l9b_2p9: ldo9 { + regulator-name =3D "vreg_l9b_2p9"; + regulator-min-microvolt =3D <2960000>; + regulator-max-microvolt =3D <2960000>; + regulator-initial-mode =3D ; + }; + + vreg_l10b_1p8: ldo10 { + regulator-name =3D "vreg_l10b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l12b_1p2: ldo12 { + regulator-name =3D "vreg_l12b_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-always-on; + }; + + vreg_l13b_3p0: ldo13 { + regulator-name =3D "vreg_l13b_3p0"; + regulator-min-microvolt =3D <3072000>; + regulator-max-microvolt =3D <3072000>; + regulator-initial-mode =3D ; + + regulator-state-mem { + regulator-on-in-suspend; + }; + }; + + vreg_l14b_3p0: ldo14 { + regulator-name =3D "vreg_l14b_3p0"; + regulator-min-microvolt =3D <3072000>; + regulator-max-microvolt =3D <3072000>; + regulator-initial-mode =3D ; + }; + + vreg_l15b_1p8: ldo15 { + regulator-name =3D "vreg_l15b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-always-on; + }; + + vreg_l17b_2p5: ldo17 { + regulator-name =3D "vreg_l17b_2p5"; + regulator-min-microvolt =3D <2504000>; + regulator-max-microvolt =3D <2504000>; + regulator-initial-mode =3D ; + }; + }; + + regulators-1 { + compatible =3D "qcom,pm8550ve-rpmh-regulators"; + qcom,pmic-id =3D "c"; + + vdd-l1-supply =3D <&vreg_s5j_1p2>; + vdd-l2-supply =3D <&vreg_s1f_0p7>; + vdd-l3-supply =3D <&vreg_s1f_0p7>; + vdd-s4-supply =3D <&vph_pwr>; + + vreg_s4c_1p8: smps4 { + regulator-name =3D "vreg_s4c_1p8"; + regulator-min-microvolt =3D <1856000>; + regulator-max-microvolt =3D <2000000>; + regulator-initial-mode =3D ; + }; + + vreg_l1c_1p2: ldo1 { + regulator-name =3D "vreg_l1c_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + }; + + vreg_l2c_0p8: ldo2 { + regulator-name =3D "vreg_l2c_0p8"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <880000>; + regulator-initial-mode =3D ; + }; + + vreg_l3c_0p8: ldo3 { + regulator-name =3D "vreg_l3c_0p8"; + regulator-min-microvolt =3D <912000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + }; + }; + + regulators-2 { + compatible =3D "qcom,pmc8380-rpmh-regulators"; + qcom,pmic-id =3D "d"; + + vdd-l1-supply =3D <&vreg_s1f_0p7>; + vdd-l2-supply =3D <&vreg_s1f_0p7>; + vdd-l3-supply =3D <&vreg_s4c_1p8>; + vdd-s1-supply =3D <&vph_pwr>; + + vreg_l1d_0p8: ldo1 { + regulator-name =3D "vreg_l1d_0p8"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <880000>; + regulator-initial-mode =3D ; + }; + + vreg_l2d_0p9: ldo2 { + regulator-name =3D "vreg_l2d_0p9"; + regulator-min-microvolt =3D <912000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + }; + + vreg_l3d_1p8: ldo3 { + regulator-name =3D "vreg_l3d_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + }; + + regulators-3 { + compatible =3D "qcom,pmc8380-rpmh-regulators"; + qcom,pmic-id =3D "e"; + + vdd-l2-supply =3D <&vreg_s1f_0p7>; + vdd-l3-supply =3D <&vreg_s5j_1p2>; + + vreg_l2e_0p8: ldo2 { + regulator-name =3D "vreg_l2e_0p8"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <880000>; + regulator-initial-mode =3D ; + }; + + vreg_l3e_1p2: ldo3 { + regulator-name =3D "vreg_l3e_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + }; + }; + + regulators-4 { + compatible =3D "qcom,pmc8380-rpmh-regulators"; + qcom,pmic-id =3D "f"; + + vdd-l1-supply =3D <&vreg_s5j_1p2>; + vdd-l2-supply =3D <&vreg_s5j_1p2>; + vdd-l3-supply =3D <&vreg_s5j_1p2>; + vdd-s1-supply =3D <&vph_pwr>; + + vreg_s1f_0p7: smps1 { + regulator-name =3D "vreg_s1f_0p7"; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1100000>; + regulator-initial-mode =3D ; + }; + }; + + regulators-6 { + compatible =3D "qcom,pm8550ve-rpmh-regulators"; + qcom,pmic-id =3D "i"; + + vdd-l1-supply =3D <&vreg_s4c_1p8>; + vdd-l2-supply =3D <&vreg_s5j_1p2>; + vdd-l3-supply =3D <&vreg_s1f_0p7>; + vdd-s1-supply =3D <&vph_pwr>; + vdd-s2-supply =3D <&vph_pwr>; + + vreg_l1i_1p8: ldo1 { + regulator-name =3D "vreg_l1i_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-always-on; + }; + + vreg_l2i_1p2: ldo2 { + regulator-name =3D "vreg_l2i_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + }; + + vreg_l3i_0p8: ldo3 { + regulator-name =3D "vreg_l3i_0p8"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <880000>; + regulator-initial-mode =3D ; + }; + + vreg_s1i_0p9: smps1 { + regulator-name =3D "vreg_s1i_0p9"; + regulator-min-microvolt =3D <900000>; + regulator-max-microvolt =3D <920000>; + regulator-initial-mode =3D ; + }; + + vreg_s2i_1p0: smps2 { + regulator-name =3D "vreg_s2i_1p0"; + regulator-min-microvolt =3D <1000000>; + regulator-max-microvolt =3D <1100000>; + regulator-initial-mode =3D ; + }; + }; + + regulators-7 { + compatible =3D "qcom,pm8550ve-rpmh-regulators"; + qcom,pmic-id =3D "j"; + + vdd-l1-supply =3D <&vreg_s1f_0p7>; + vdd-l2-supply =3D <&vreg_s5j_1p2>; + vdd-l3-supply =3D <&vreg_s1f_0p7>; + vdd-s5-supply =3D <&vph_pwr>; + + vreg_s5j_1p2: smps5 { + regulator-name =3D "vreg_s5j_1p2"; + regulator-min-microvolt =3D <1256000>; + regulator-max-microvolt =3D <1304000>; + regulator-initial-mode =3D ; + }; + + vreg_l1j_0p8: ldo1 { + regulator-name =3D "vreg_l1j_0p8"; + regulator-min-microvolt =3D <912000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + }; + + vreg_l2j_1p2: ldo2 { + regulator-name =3D "vreg_l2j_1p2"; + regulator-min-microvolt =3D <1256000>; + regulator-max-microvolt =3D <1256000>; + regulator-initial-mode =3D ; + }; + + vreg_l3j_0p8: ldo3 { + regulator-name =3D "vreg_l3j_0p8"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <880000>; + regulator-initial-mode =3D ; + }; + }; +}; + +&gpu { + status =3D "okay"; +}; + +&gpu_zap_shader { + firmware-name =3D "qcom/x1p42100/LENOVO/83HL/qcdxkmsucpurwa.mbn"; +}; + +&i2c0 { + clock-frequency =3D <400000>; + + pinctrl-0 =3D <&qup_i2c0_data_clk>, <&tpad_default>, <&kybd_default>; + pinctrl-names =3D "default"; + status =3D "okay"; + + /* ELAN06FA */ + touchpad@15 { + compatible =3D "hid-over-i2c"; + reg =3D <0x15>; + + hid-descr-addr =3D <0x1>; + interrupts-extended =3D <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; + + vdd-supply =3D <&vreg_misc_3p3>; + vddl-supply =3D <&vreg_l12b_1p2>; + + wakeup-source; + }; + + /* CIRQ1080 or SYNA2BA6 */ + touchpad@2c { + compatible =3D "hid-over-i2c"; + reg =3D <0x2c>; + + hid-descr-addr =3D <0x20>; + interrupts-extended =3D <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; + + vdd-supply =3D <&vreg_misc_3p3>; + vddl-supply =3D <&vreg_l12b_1p2>; + + wakeup-source; + }; + + /* FTCS0038 */ + touchpad@38 { + compatible =3D "hid-over-i2c"; + reg =3D <0x38>; + + hid-descr-addr =3D <0x1>; + interrupts-extended =3D <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; + + vdd-supply =3D <&vreg_misc_3p3>; + vddl-supply =3D <&vreg_l12b_1p2>; + + wakeup-source; + }; + + keyboard@3a { + compatible =3D "hid-over-i2c"; + reg =3D <0x3a>; + + hid-descr-addr =3D <0x1>; + interrupts-extended =3D <&tlmm 67 IRQ_TYPE_LEVEL_LOW>; + + vdd-supply =3D <&vreg_misc_3p3>; + vddl-supply =3D <&vreg_l12b_1p2>; + + wakeup-source; + }; + + /* GXTP5100 */ + touchpad@5d { + compatible =3D "hid-over-i2c"; + reg =3D <0x5d>; + + hid-descr-addr =3D <0x1>; + interrupts-extended =3D <&tlmm 3 IRQ_TYPE_LEVEL_LOW>; + + vdd-supply =3D <&vreg_misc_3p3>; + vddl-supply =3D <&vreg_l12b_1p2>; + + wakeup-source; + }; +}; + +&i2c1 { + clock-frequency =3D <400000>; + + status =3D "okay"; + + /* 3d PS883x */ +}; + +&i2c3 { + clock-frequency =3D <400000>; + + status =3D "okay"; + + /* 1st PS883x */ +}; + +&i2c4 { + clock-frequency =3D <400000>; + + status =3D "okay"; + + /* unknown but active on Windows */ +}; + +&i2c5 { + clock-frequency =3D <400000>; + + status =3D "okay"; + + eusb5_repeater: redriver@43 { + compatible =3D "nxp,ptn3222"; + reg =3D <0x43>; + #phy-cells =3D <0>; + + vdd3v3-supply =3D <&vreg_l13b_3p0>; + vdd1v8-supply =3D <&vreg_l4b_1p8>; + + reset-gpios =3D <&tlmm 7 GPIO_ACTIVE_LOW>; + + pinctrl-0 =3D <&eusb5_reset_n>; + pinctrl-names =3D "default"; + }; + + eusb3_repeater: redriver@47 { + compatible =3D "nxp,ptn3222"; + reg =3D <0x47>; + #phy-cells =3D <0>; + + vdd3v3-supply =3D <&vreg_l13b_3p0>; + vdd1v8-supply =3D <&vreg_l4b_1p8>; + + reset-gpios =3D <&tlmm 6 GPIO_ACTIVE_LOW>; + + pinctrl-0 =3D <&eusb3_reset_n>; + pinctrl-names =3D "default"; + }; + + eusb9_repeater: redriver@4b { + compatible =3D "nxp,ptn3222"; + reg =3D <0x4b>; + #phy-cells =3D <0>; + + vdd3v3-supply =3D <&vreg_l13b_3p0>; + vdd1v8-supply =3D <&vreg_l4b_1p8>; + + reset-gpios =3D <&tlmm 9 GPIO_ACTIVE_LOW>; + + pinctrl-0 =3D <&eusb9_reset_n>; + pinctrl-names =3D "default"; + }; + + eusb6_repeater: redriver@4f { + compatible =3D "nxp,ptn3222"; + reg =3D <0x4f>; + #phy-cells =3D <0>; + + vdd3v3-supply =3D <&vreg_l13b_3p0>; + vdd1v8-supply =3D <&vreg_l4b_1p8>; + + reset-gpios =3D <&tlmm 184 GPIO_ACTIVE_LOW>; + + pinctrl-0 =3D <&eusb6_reset_n>; + pinctrl-names =3D "default"; + }; +}; + +&i2c7 { + clock-frequency =3D <400000>; + + status =3D "okay"; + + /* 2nd PS883x */ +}; + +&i2c8 { + clock-frequency =3D <400000>; + + status =3D "okay"; + + /* unknown but active on Windows */ +}; + +&iris { + firmware-name =3D "qcom/x1p42100/LENOVO/83HL/qcvss8380.mbn"; + status =3D "okay"; +}; + +&lpass_tlmm { + spkr_01_sd_n_active: spkr-01-sd-n-active-state { + pins =3D "gpio12"; + function =3D "gpio"; + drive-strength =3D <16>; + bias-disable; + output-low; + }; +}; + +&lpass_vamacro { + pinctrl-0 =3D <&dmic01_default>; + pinctrl-names =3D "default"; + + vdd-micb-supply =3D <&vreg_l1b_1p8>; + qcom,dmic-sample-rate =3D <2400000>; +}; + +&mdss { + status =3D "okay"; +}; + +&mdss_dp0 { + sound-name-prefix =3D "DisplayPort0"; + + status =3D "okay"; +}; + +&mdss_dp0_out { + link-frequencies =3D /bits/ 64 <1620000000 2700000000 5400000000 81000000= 00>; +}; + +&mdss_dp1 { + sound-name-prefix =3D "DisplayPort1"; + + status =3D "okay"; +}; + +&mdss_dp1_out { + link-frequencies =3D /bits/ 64 <1620000000 2700000000 5400000000 81000000= 00>; +}; + +&mdss_dp2 { + sound-name-prefix =3D "DisplayPort2"; + + status =3D "okay"; +}; + +&mdss_dp2_out { + link-frequencies =3D /bits/ 64 <1620000000 2700000000 5400000000 81000000= 00>; +}; + +&mdss_dp3 { + /delete-property/ #sound-dai-cells; + + pinctrl-0 =3D <&edp0_hpd_default>; + pinctrl-names =3D "default"; + + status =3D "okay"; + + aux-bus { + panel:panel { + compatible =3D "edp-panel"; + power-supply =3D <&vreg_edp_3p3>; + + port { + edp_panel_in: endpoint { + remote-endpoint =3D <&mdss_dp3_out>; + }; + }; + }; + }; +}; + +&mdss_dp3_out { + data-lanes =3D <0 1 2 3>; + link-frequencies =3D /bits/ 64 <1620000000 2700000000 5400000000 81000000= 00>; + + remote-endpoint =3D <&edp_panel_in>; +}; + +&mdss_dp3_phy { + vdda-phy-supply =3D <&vreg_l3j_0p8>; + vdda-pll-supply =3D <&vreg_l2j_1p2>; + + status =3D "okay"; +}; + +&pcie3 { + pinctrl-0 =3D <&pcie3_default>; + pinctrl-names =3D "default"; + + max-link-speed =3D <1>; + status =3D "okay"; +}; + +&pcie3_phy { + vdda-phy-supply =3D <&vreg_l3c_0p8>; + vdda-pll-supply =3D <&vreg_l3e_1p2>; + vdda-qref-supply =3D <&vreg_l3j_0p8>; + + status =3D "okay"; +}; + +&pcie3_port0 { + perst-gpios =3D <&tlmm 143 GPIO_ACTIVE_LOW>; + wake-gpios =3D <&tlmm 145 GPIO_ACTIVE_LOW>; +}; + +&pcie4 { + pinctrl-0 =3D <&pcie4_default>; + pinctrl-names =3D "default"; + + status =3D "okay"; +}; + +&pcie4_phy { + vdda-phy-supply =3D <&vreg_l3i_0p8>; + vdda-pll-supply =3D <&vreg_l3e_1p2>; + + status =3D "okay"; +}; + +&pcie4_port0 { + reset-gpios =3D <&tlmm 146 GPIO_ACTIVE_LOW>; + wake-gpios =3D <&tlmm 148 GPIO_ACTIVE_LOW>; + + wifi@0 { + compatible =3D "pci17cb,1107"; + reg =3D <0x10000 0x0 0x0 0x0 0x0>; + + vddaon-supply =3D <&vreg_pmu_aon_0p59>; + vddwlcx-supply =3D <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply =3D <&vreg_pmu_wlmx_0p85>; + vddrfacmn-supply =3D <&vreg_pmu_rfa_cmn>; + vddrfa0p8-supply =3D <&vreg_pmu_rfa_0p8>; + vddrfa1p2-supply =3D <&vreg_pmu_rfa_1p2>; + vddrfa1p8-supply =3D <&vreg_pmu_rfa_1p8>; + vddpcie0p9-supply =3D <&vreg_pmu_pcie_0p9>; + vddpcie1p8-supply =3D <&vreg_pmu_pcie_1p8>; + }; +}; + +&pcie6a { + vddpe-3v3-supply =3D <&vreg_nvme>; + + pinctrl-0 =3D <&pcie6a_default>; + pinctrl-names =3D "default"; + + status =3D "okay"; +}; + +&pcie6a_phy { + vdda-phy-supply =3D <&vreg_l1d_0p8>; + vdda-pll-supply =3D <&vreg_l2j_1p2>; + + status =3D "okay"; +}; + +&pcie6a_port0 { + reset-gpios =3D <&tlmm 152 GPIO_ACTIVE_LOW>; + wake-gpios =3D <&tlmm 154 GPIO_ACTIVE_LOW>; +}; + +&pm8550ve_8_gpios { + misc_3p3_reg_en: misc-3p3-reg-en-state { + pins =3D "gpio6"; + function =3D "normal"; + bias-disable; + drive-push-pull; + input-disable; + output-enable; + power-source =3D <1>; /* 1.8 V */ + qcom,drive-strength =3D ; + }; +}; + +&qupv3_0 { + status =3D "okay"; +}; + +&qupv3_1 { + status =3D "okay"; +}; + +&qupv3_2 { + status =3D "okay"; +}; + +&gpi_dma0 { + status =3D "okay"; +}; + +&gpi_dma1 { + status =3D "okay"; +}; + +&gpi_dma2 { + status =3D "okay"; +}; + +&remoteproc_adsp { + firmware-name =3D "qcom/x1p42100/LENOVO/83HL/qcadsp8380.mbn", + "qcom/x1p42100/LENOVO/83HL/adsp_dtbs.elf"; + + status =3D "okay"; +}; + +&remoteproc_cdsp { + firmware-name =3D "qcom/x1p42100/LENOVO/83HL/qccdsp8380.mbn", + "qcom/x1p42100/LENOVO/83HL/cdsp_dtbs.elf"; + + status =3D "okay"; +}; + +&smb2360_0 { + status =3D "okay"; +}; + +&smb2360_0_eusb2_repeater { + vdd18-supply =3D <&vreg_l3d_1p8>; + vdd3-supply =3D <&vreg_l2b_3p0>; +}; + +&smb2360_1 { + status =3D "okay"; +}; + +&smb2360_1_eusb2_repeater { + vdd18-supply =3D <&vreg_l3d_1p8>; + vdd3-supply =3D <&vreg_l14b_3p0>; +}; + +&spi10 { + status =3D "disabled"; + + /* Unknown device */ +}; + +&swr0 { + status =3D "okay"; + + pinctrl-0 =3D <&wsa_swr_active>, <&spkr_01_sd_n_active>; + pinctrl-names =3D "default"; + + /* WSA8845, Left Speaker */ + left_spkr: speaker@0,0 { + compatible =3D "sdw20217020400"; + reg =3D <0 0>; + reset-gpios =3D <&lpass_tlmm 12 GPIO_ACTIVE_LOW>; + #sound-dai-cells =3D <0>; + sound-name-prefix =3D "SpkrLeft"; + vdd-1p8-supply =3D <&vreg_l15b_1p8>; + vdd-io-supply =3D <&vreg_l12b_1p2>; + qcom,port-mapping =3D <1 2 3 7 10 13>; + }; + + /* WSA8845, Right Speaker */ + right_spkr: speaker@0,1 { + compatible =3D "sdw20217020400"; + reg =3D <0 1>; + reset-gpios =3D <&lpass_tlmm 12 GPIO_ACTIVE_LOW>; + #sound-dai-cells =3D <0>; + sound-name-prefix =3D "SpkrRight"; + vdd-1p8-supply =3D <&vreg_l15b_1p8>; + vdd-io-supply =3D <&vreg_l12b_1p2>; + qcom,port-mapping =3D <4 5 6 7 11 13>; + }; +}; + +&swr1 { + status =3D "okay"; + + /* WCD9385 RX */ + wcd_rx: codec@0,4 { + compatible =3D "sdw20217010d00"; + reg =3D <0 4>; + qcom,rx-port-mapping =3D <1 2 3 4 5>; + }; +}; + +&swr2 { + status =3D "okay"; + + /* WCD9385 TX */ + wcd_tx: codec@0,3 { + compatible =3D "sdw20217010d00"; + reg =3D <0 3>; + qcom,tx-port-mapping =3D <2 2 3 4>; + }; +}; + +&tlmm { + gpio-reserved-ranges =3D <34 2>, /* Unused */ + <44 4>, + <72 2>; /* Secure EC I2C connection (?) */ + + eusb3_reset_n: eusb3-reset-n-state { + pins =3D "gpio6"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + output-low; + }; + + eusb5_reset_n: eusb5-reset-n-state { + pins =3D "gpio7"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + output-low; + }; + + eusb6_reset_n: eusb6-reset-n-state { + pins =3D "gpio184"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + output-low; + }; + + eusb9_reset_n: eusb9-reset-n-state { + pins =3D "gpio9"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + output-low; + }; + + edp_reg_en: edp-reg-en-state { + pins =3D "gpio70"; + function =3D "gpio"; + drive-strength =3D <16>; + bias-disable; + }; + + hall_int_n_default: hall-int-n-state { + pins =3D "gpio92"; + function =3D "gpio"; + bias-disable; + }; + + hdmi_hpd_default: hdmi-hpd-default-state { + pins =3D "gpio126"; + function =3D "usb2_dp"; + bias-disable; + }; + + kybd_default: kybd-default-state { + pins =3D "gpio67"; + function =3D "gpio"; + bias-disable; + }; + + nvme_reg_en: nvme-reg-en-state { + pins =3D "gpio18"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + }; + + pcie3_default: pcie3-default-state { + clkreq-n-pins { + pins =3D "gpio144"; + function =3D "pcie3_clk"; + drive-strength =3D <2>; + bias-pull-up; + }; + + perst-n-pins { + pins =3D "gpio143"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-down; + }; + + wake-n-pins { + pins =3D "gpio145"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + }; + + pcie4_default: pcie4-default-state { + clkreq-n-pins { + pins =3D "gpio147"; + function =3D "pcie4_clk"; + drive-strength =3D <2>; + bias-pull-up; + }; + + perst-n-pins { + pins =3D "gpio146"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + }; + + wake-n-pins { + pins =3D "gpio148"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + }; + + pcie6a_default: pcie6a-default-state { + clkreq-n-pins { + pins =3D "gpio153"; + function =3D "pcie6a_clk"; + drive-strength =3D <2>; + bias-pull-up; + }; + + perst-n-pins { + pins =3D "gpio152"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + }; + + wake-n-pins { + pins =3D "gpio154"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + }; + + sdc2_card_det_n: sdc2-card-det-state { + pins =3D "gpio71"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + + tpad_default: tpad-default-state { + pins =3D "gpio3"; + function =3D "gpio"; + bias-pull-up; + }; + + usb_1_ss0_sbu_default: usb-1-ss0-sbu-state { + oe-n-pins { + pins =3D "gpio168"; + function =3D "gpio"; + bias-pull-up; + drive-strength =3D <2>; + }; + + sel-pins { + pins =3D "gpio167"; + function =3D "gpio"; + bias-pull-up; + drive-strength =3D <2>; + }; + + }; + + usb_1_ss1_sbu_default: usb-1-ss1-sbu-state { + oe-n-pins { + pins =3D "gpio179"; + function =3D "gpio"; + bias-pull-up; + drive-strength =3D <2>; + }; + + sel-pins { + pins =3D "gpio178"; + function =3D "gpio"; + bias-pull-up; + drive-strength =3D <2>; + }; + }; + + wcd_default: wcd-reset-n-active-state { + pins =3D "gpio191"; + function =3D "gpio"; + drive-strength =3D <16>; + bias-disable; + output-low; + }; + + wcn_sw_en: wcn-sw-en-state { + pins =3D "gpio214"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + }; + + wcn_wlan_bt_en: wcn-wlan-bt-en-state { + pins =3D "gpio116", "gpio117"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + }; +}; + +&uart14 { + status =3D "okay"; + + bluetooth { + compatible =3D "qcom,wcn7850-bt"; + max-speed =3D <3200000>; + + vddaon-supply =3D <&vreg_pmu_aon_0p59>; + vddwlcx-supply =3D <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply =3D <&vreg_pmu_wlmx_0p85>; + vddrfacmn-supply =3D <&vreg_pmu_rfa_cmn>; + vddrfa0p8-supply =3D <&vreg_pmu_rfa_0p8>; + vddrfa1p2-supply =3D <&vreg_pmu_rfa_1p2>; + vddrfa1p8-supply =3D <&vreg_pmu_rfa_1p8>; + }; +}; + +&usb_1_ss0_hsphy { + vdd-supply =3D <&vreg_l3j_0p8>; + vdda12-supply =3D <&vreg_l2j_1p2>; + + phys =3D <&smb2360_0_eusb2_repeater>; + + status =3D "okay"; +}; + +&usb_1_ss0_qmpphy { + vdda-phy-supply =3D <&vreg_l2j_1p2>; + vdda-pll-supply =3D <&vreg_l1j_0p8>; + + status =3D "okay"; +}; + +&usb_1_ss0 { + dr_mode =3D "host"; + + status =3D "okay"; +}; + +&usb_1_ss0_dwc3_hs { + remote-endpoint =3D <&pmic_glink_ss0_hs_in>; +}; + +&usb_1_ss0_qmpphy_out { + remote-endpoint =3D <&pmic_glink_ss0_ss_in>; +}; + +&usb_1_ss1_hsphy { + vdd-supply =3D <&vreg_l3j_0p8>; + vdda12-supply =3D <&vreg_l2j_1p2>; + + phys =3D <&smb2360_1_eusb2_repeater>; + + status =3D "okay"; +}; + +&usb_1_ss1_qmpphy { + vdda-phy-supply =3D <&vreg_l2j_1p2>; + vdda-pll-supply =3D <&vreg_l2d_0p9>; + + status =3D "okay"; +}; + +&usb_1_ss1 { + dr_mode =3D "host"; + + status =3D "okay"; +}; + +&usb_1_ss1_dwc3_hs { + remote-endpoint =3D <&pmic_glink_ss1_hs_in>; +}; + +&usb_1_ss1_qmpphy_out { + remote-endpoint =3D <&pmic_glink_ss1_ss_in>; +}; + +&usb_1_ss2 { + dr_mode =3D "host"; + maximum-speed =3D "high-speed"; + phys =3D <&usb_1_ss2_hsphy>; + phy-names =3D "usb2-phy"; + qcom,select-utmi-as-pipe-clk; + status =3D "okay"; + /delete-property/ port@1; +}; + +&usb_1_ss2_hsphy { + vdd-supply =3D <&vreg_l3j_0p8>; + vdda12-supply =3D <&vreg_l2j_1p2>; + + phys =3D <&eusb9_repeater>; + + status =3D "okay"; +}; + +&usb_1_ss2_qmpphy { + vdda-phy-supply =3D <&vreg_l2j_1p2>; + vdda-pll-supply =3D <&vreg_l2d_0p9>; + + /delete-property/ mode-switch; + /delete-property/ orientation-switch; + + status =3D "okay"; + + ports { + port@0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + /delete-node/ endpoint; + + usb_1_ss2_qmpphy_out_dp: endpoint@0 { + reg =3D <0>; + + data-lanes =3D <3 2 1 0>; + remote-endpoint =3D <&hdmi_bridge_dp_in>; + }; + }; + }; +}; + +&usb_2 { + dr_mode =3D "host"; + + status =3D "okay"; +}; + +&usb_2_hsphy { + vdd-supply =3D <&vreg_l2e_0p8>; + vdda12-supply =3D <&vreg_l3e_1p2>; + + phys =3D <&eusb5_repeater>; + + status =3D "okay"; +}; + +&usb_mp { + status =3D "okay"; +}; + +&usb_mp_hsphy0 { + vdd-supply =3D <&vreg_l2e_0p8>; + vdda12-supply =3D <&vreg_l3e_1p2>; + + phys =3D <&eusb3_repeater>; + + status =3D "okay"; +}; + +&usb_mp_qmpphy0 { + vdda-phy-supply =3D <&vreg_l3e_1p2>; + vdda-pll-supply =3D <&vreg_l3c_0p8>; + + status =3D "okay"; +}; + +&usb_mp_hsphy1 { + vdd-supply =3D <&vreg_l2e_0p8>; + vdda12-supply =3D <&vreg_l3e_1p2>; + + phys =3D <&eusb6_repeater>; + + status =3D "okay"; +}; + +&usb_mp_qmpphy1 { + vdda-phy-supply =3D <&vreg_l3e_1p2>; + vdda-pll-supply =3D <&vreg_l3c_0p8>; + + status =3D "okay"; +}; --=20 2.53.0