From nobody Tue Apr 7 19:49:28 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 F31AE3E51DD; Wed, 11 Mar 2026 17:44:48 +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=1773251089; cv=none; b=ZrJndZ8RUdi1JgIp2qFTiynIPOaBXLad/TKUEZqkTY/cDKFtsMyRulfYHxnRB2fL/bfrsxM7pKP0xXdrL/z6JAb2FdVnT4SFnZpkl7WjazqrbdWz549QuWeMK8oUiP/ze2L9mY9bnVouyIMWadocOExoIrO/7c6MtXK9A3348i4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773251089; c=relaxed/simple; bh=iatYHPx7e/v1gQ3BWQDRxiNSM545aTKN5CkLdOMfySM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=B7EHJ6kMnXtz1m+2iF3bFvvsZUL4YHLX8z2Y3O1xFpH3Y61eZGP7D7z2gncGyqhSHuHQ8iqtJYc8OpWrBSNt62Ny+J1sH1nPbCoIE7KY2tewQ23pWMKajbGkZ9DMsPAe0tas5+L68duoNATX52amlbgoxvx22IM3V0wlDJcp0xU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=FR0ETqxw; 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="FR0ETqxw" Received: by smtp.kernel.org (Postfix) with ESMTPS id 9D0E6C4CEF7; Wed, 11 Mar 2026 17:44:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773251088; bh=iatYHPx7e/v1gQ3BWQDRxiNSM545aTKN5CkLdOMfySM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=FR0ETqxweHZa/J/SzlbFGsoYqkkSjwItsuoCy+FwU2NTpQqgDWErL2fzzo0iu4a+E 8iBAtONVyedqVgYdvoKsaIYGCaanTnccoLF3xDLREEww1doCGRYYcwN1F+MaiwmRbR gcRs9hYxLbjNk3dJbKj26iXZsK8fRWKCnLaU5egf1yKCrCNGv+MCdQyMdDixTuAwpD RmyyQkKXCdMLjiNg/HoQpCYaR2oqVEKoAbVD3c/sOxXkCJ9dhXQfL+ymT3wYtNiFUQ 4RAYovgicNjJQLkNzm/HtCkHvgO9UlX3TBIcvg1uVu4LbyiznL+8tVEROGUiHjnntP YC4DN14xf4qsg== 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 8C5BA1125811; Wed, 11 Mar 2026 17:44:48 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Wed, 11 Mar 2026 12:44:37 -0500 Subject: [PATCH v2 1/5] dt-bindings: arm: qcom: Add AYN QCS8550 Devices 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: <20260311-ayn-qcs8550-v2-1-e66986e0f0cb@gmail.com> References: <20260311-ayn-qcs8550-v2-0-e66986e0f0cb@gmail.com> In-Reply-To: <20260311-ayn-qcs8550-v2-0-e66986e0f0cb@gmail.com> 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, Aaron Kling X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773251087; l=1012; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=sRHd0dN8i64gurzG1B2rArWdm5nsNAgaI9zkt3MwCSQ=; b=Hw+Oa8VbSZjEnnzrS+gED0THGMG06iot60u25mqyQ2bKDpAIXmu0B5VWpFvRxODXuYbxzzQHu Lf30noOWd+nAsv+JClq5ONuN3CpHRwdp9EWxGuaAhZ0JJkcUPTKhgB8 X-Developer-Key: i=webgeek1234@gmail.com; a=ed25519; pk=TQwd6q26txw7bkK7B8qtI/kcAohZc7bHHGSD7domdrU= X-Endpoint-Received: by B4 Relay for webgeek1234@gmail.com/20250217 with auth_id=342 X-Original-From: Aaron Kling Reply-To: webgeek1234@gmail.com From: Aaron Kling Namely: * Odin 2 * Odin 2 Mini * Odin 2 Portal * Thor Signed-off-by: Aaron Kling --- Documentation/devicetree/bindings/arm/qcom.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentatio= n/devicetree/bindings/arm/qcom.yaml index d054a8f5632d853509b7cd37f07f02473cf6bf71..d76c0b0a082e2ee1a2adaefdb46= 01048cb8e8a70 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -1075,6 +1075,16 @@ properties: - const: qcom,qcs8550 - const: qcom,sm8550 =20 + - items: + - enum: + - ayntec,odin2 + - ayntec,odin2mini + - ayntec,odin2portal + - ayntec,qcs8550-common + - ayntec,thor + - const: qcom,qcs8550 + - const: qcom,sm8550 + - items: - enum: - qcom,sm8650-hdk --=20 2.53.0 From nobody Tue Apr 7 19:49:28 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 E89F73E2772; Wed, 11 Mar 2026 17:44:48 +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=1773251089; cv=none; b=K8Y1y0S7O5rGT6LK6AyelUTNqlxai3JwpIAhSqyJ+oFXUso97/o/lefGHkRimBW+BX7DdDVFD+Qt4b1KQpMw/Cdj2cdqFQwYleibaKZhxhXDFWPLnhHxIpDvzjG6XpP8TTthc4dhrGsoRJAzhERzejEKvwOWDnI4wYvFQdQKUi4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773251089; c=relaxed/simple; bh=HBczu1cr6n7EDPaKCuVN5nwbEFCpobgC3N8iRsDO/uQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pFzgoa1hR43TUTMkd4evBxZlBaYoWWqorGCv15bXeR0aDb1AF1y7b6NzLlTg2BzO+A53FQpYVt6kgy+dG2nUvAjPMISWwboIzyVLTinpNqgE4YDG0zJz/GUAA2v+OSpx9LXsoZ3lkoCDA4Mzwfb5CmMRx+kaE01BICMCT461S0k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XBndK5vc; 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="XBndK5vc" Received: by smtp.kernel.org (Postfix) with ESMTPS id B908DC2BCAF; Wed, 11 Mar 2026 17:44:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773251088; bh=HBczu1cr6n7EDPaKCuVN5nwbEFCpobgC3N8iRsDO/uQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=XBndK5vcXiVFQ1kqSKsCyFGWwguhHL6+WaYR23zg32+oqQavhtAV1s87BvWoTz7PK t/WvdpVX+F8ySzGlyDBZpWfvvtFwCit/Xp7tfrv+QPRfUwoiTR7HAGjLM6H3XHyUAt vayLk0HvhtdN/8M8bCqZj9SBQP+l/GTzwTPmlFex+VmXX1O3VaC4G6jKIHX9+1F9j6 x7el96lKwLjZXfybVo0z/n4DGhZ9Q9dFLDnGeWDAaGZsjPxTaZG+2RNxK5fD06D7tt OYJVLHK/yu168qQxVfpK7F97TmoObgg/xbdVGvOgNqRer6rHC9iz7xv59s5XdinuYy Rv66hPwlD3S1g== 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 A55AB112585B; Wed, 11 Mar 2026 17:44:48 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Wed, 11 Mar 2026 12:44:38 -0500 Subject: [PATCH v2 2/5] arm64: dts: qcom: Add AYN QCS8550 Common 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: <20260311-ayn-qcs8550-v2-2-e66986e0f0cb@gmail.com> References: <20260311-ayn-qcs8550-v2-0-e66986e0f0cb@gmail.com> In-Reply-To: <20260311-ayn-qcs8550-v2-0-e66986e0f0cb@gmail.com> 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, Aaron Kling , Teguh Sobirin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773251087; l=41475; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=2+y7kbGqyWdNYQoVtp5kMnbtY/JbwS+HP99idm/E0ek=; b=ajKZOQbmkMst/WsCCUjT+9ziLag1WUanOTklManUDMfXwLuTahYTjscy6pL31BLI2Ab7ujK/Z DgaifY5REiyBs7wuS0o+rF54B2d8XzBQo5OAGz5qABVP+xu+i2+/d+R X-Developer-Key: i=webgeek1234@gmail.com; a=ed25519; pk=TQwd6q26txw7bkK7B8qtI/kcAohZc7bHHGSD7domdrU= X-Endpoint-Received: by B4 Relay for webgeek1234@gmail.com/20250217 with auth_id=342 X-Original-From: Aaron Kling Reply-To: webgeek1234@gmail.com From: Teguh Sobirin This adds a base dtb of everything common between the AYN QCS8550 devices. It is intended to be extended by device specific overlays. Signed-off-by: Teguh Sobirin Co-developed-by: Aaron Kling Signed-off-by: Aaron Kling --- arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/qcs8550-ayntec-common.dts | 1777 ++++++++++++++++= ++++ 2 files changed, 1778 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index 02921a495b2cbabcbacc74fbbb99eafe1f6478ac..5bb88dd7a31bbd8ee7078a88005= 6cc1f35be494e 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -163,6 +163,7 @@ qcs8300-ride-el2-dtbs :=3D qcs8300-ride.dtb monaco-el2.= dtbo =20 dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8300-ride-el2.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8550-aim300-aiot.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8550-ayntec-common.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs9100-ride.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs9100-ride-r3.dtb =20 diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayntec-common.dts b/arch/arm6= 4/boot/dts/qcom/qcs8550-ayntec-common.dts new file mode 100644 index 0000000000000000000000000000000000000000..23135606c812d0b1e8de828e286= c3702dc781783 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs8550-ayntec-common.dts @@ -0,0 +1,1777 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + */ + +/dts-v1/; + +#include +#include +#include "qcs8550.dtsi" +#include "pm8550.dtsi" +#include "pm8550b.dtsi" +#define PMK8550VE_SID 5 +#include "pm8550ve.dtsi" +#include "pm8550vs.dtsi" +#include "pmk8550.dtsi" + +/delete-node/ &aop_image_mem; +/delete-node/ &aop_config_mem; +/delete-node/ &camera_mem; +/delete-node/ &ipa_fw_mem; +/delete-node/ &ipa_gsi_mem; +/delete-node/ &mpss_dsm_mem; +/delete-node/ &mpss_mem; +/delete-node/ &q6_mpss_dtb_mem; +/delete-node/ &remoteproc_mpss; + +/ { + model =3D "AYN QCS8550 Common"; + compatible =3D "ayntec,qcs8550-common", "qcom,qcs8550", "qcom,sm8550"; + chassis-type =3D "handset"; + + aliases { + serial0 =3D &uart7; + serial1 =3D &uart14; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + + pinctrl-0 =3D <&volume_up_n>; + pinctrl-names =3D "default"; + + key-volume-up { + label =3D "Volume Up"; + debounce-interval =3D <15>; + gpios =3D <&pm8550_gpios 6 GPIO_ACTIVE_LOW>; + linux,code =3D ; + linux,can-disable; + wakeup-source; + }; + }; + + pmic-glink { + compatible =3D "qcom,sm8550-pmic-glink", "qcom,pmic-glink"; + #address-cells =3D <1>; + #size-cells =3D <0>; + orientation-gpios =3D <&tlmm 11 GPIO_ACTIVE_HIGH>; + + connector@0 { + compatible =3D "usb-c-connector"; + reg =3D <0>; + power-role =3D "dual"; + data-role =3D "dual"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + pmic_glink_hs_in: endpoint { + remote-endpoint =3D <&usb_1_dwc3_hs>; + }; + }; + + port@1 { + reg =3D <1>; + + pmic_glink_ss_in: endpoint { + remote-endpoint =3D <&usb_dp_qmpphy_out>; + }; + }; + + port@2 { + reg =3D <2>; + + pmic_glink_sbu: endpoint { + remote-endpoint =3D <&usb0_sbu_mux>; + }; + }; + }; + }; + }; + + pwm_fan: pwm-fan { + compatible =3D "pwm-fan"; + + fan-supply =3D <&vdd_fan_5v0>; + pwms =3D <&pm8550_pwm 3 50000>; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&fan_pwm_active>, <&fan_int>; + + pulses-per-revolution =3D <4>; + interrupt-parent =3D <&tlmm>; + interrupts =3D <13 IRQ_TYPE_EDGE_FALLING>; + + cooling-levels =3D <0 40 65 75 90 100 120 150 175>; + #cooling-cells =3D <2>; + }; + + reserved-memory { + hyp_mem: hyp-region@80000000 { + reg =3D <0 0x80000000 0 0xa00000>; + no-map; + }; + + cpusys_vm_mem: cpusys-vm-region@80a00000 { + reg =3D <0 0x80a00000 0 0x400000>; + no-map; + }; + + hyp_tags_mem: hyp-tags-region@80e00000 { + reg =3D <0 0x80e00000 0 0x3d0000>; + no-map; + }; + + xbl_sc_mem: xbl-sc-region@d8100000 { + reg =3D <0 0xd8100000 0 0x40000>; + no-map; + }; + + hyp_tags_reserved_mem: hyp-tags-reserved-region@811d0000 { + reg =3D <0 0x811d0000 0 0x30000>; + no-map; + }; + + xbl_dt_log_merged_mem: xbl-dt-log-merged-region@81a00000 { + reg =3D <0 0x81a00000 0 0x260000>; + no-map; + }; + + aop_config_merged_mem: aop-config-merged-region@81c80000 { + reg =3D <0 0x81c80000 0 0x74000>; + no-map; + }; + + chipinfo_mem: chipinfo-region@81cf4000 { + reg =3D <0 0x81cf4000 0 0x1000>; + no-map; + }; + + global_sync_mem: global-sync-region@82600000 { + reg =3D <0 0x82600000 0 0x100000>; + no-map; + }; + + tz_stat_mem: tz-stat-region@82700000 { + reg =3D <0 0x82700000 0 0x100000>; + no-map; + }; + + cpucp_fw_mem: cpucp-fw-region@d8140000 { + reg =3D <0 0xd8140000 0 0x1c0000>; + no-map; + }; + + qtee_mem: qtee-region@d8300000 { + reg =3D <0 0xd8300000 0 0x500000>; + no-map; + }; + + hwfence_shbuf: hwfence-shbuf-region@e6440000 { + reg =3D <0 0xe6440000 0 0x2dd000>; + no-map; + }; + + hyp_ext_reserved_mem: hyp-ext-reserved-region@ff700000 { + reg =3D <0 0xff700000 0 0x100000>; + no-map; + }; + + llcc_lpi_mem: llcc_lpi_region@ff800000 { + reg =3D <0 0xff800000 0 0x600000>; + no-map; + }; + + hyp_ext_tags_mem: hyp-ext-tags-region@fce00000 { + reg =3D <0 0xfce00000 0 0x2900000>; + no-map; + }; + }; + + sound { + compatible =3D "qcom,sm8550-sndcard", "qcom,sm8450-sndcard"; + pinctrl-0 =3D <&lpi_i2s3_active>; + pinctrl-names =3D "default"; + + model =3D "AYN-Odin2"; + audio-routing =3D + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "AMIC2", "MIC BIAS2", + "TX SWR_INPUT1", "ADC2_OUTPUT"; + + speaker-i2s-dai-link { + link-name =3D "Primary MI2S Playback"; + + cpu { + sound-dai =3D <&q6apmbedai PRIMARY_MI2S_RX>; + }; + + codec { + sound-dai =3D <&spk_amp_l>, <&spk_amp_r>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; + + wcd-playback-dai-link { + link-name =3D "WCD Playback"; + + cpu { + sound-dai =3D <&q6apmbedai RX_CODEC_DMA_RX_0>; + }; + + codec { + sound-dai =3D <&wcd938x 0>, <&swr1 0>, <&lpass_rxmacro 0>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; + + wcd-capture-dai-link { + link-name =3D "WCD Capture"; + + cpu { + sound-dai =3D <&q6apmbedai TX_CODEC_DMA_TX_3>; + }; + + codec { + sound-dai =3D <&wcd938x 1>, <&swr2 0>, <&lpass_txmacro 0>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; + + dp0-dai-link { + link-name =3D "DP0 Playback"; + cpu { + sound-dai =3D <&q6apmbedai DISPLAY_PORT_RX_0>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + + codec { + sound-dai =3D <&mdss_dp0>; + }; + }; + }; + + thermal-zones { + cpu0-thermal { + polling-delay =3D <200>; + + trips { + cpuss0_active0: cpu-active0 { + temperature =3D <50000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss0_active1: cpu-active1 { + temperature =3D <55000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss0_active2: cpu-active2 { + temperature =3D <60000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss0_active3: cpu-active3 { + temperature =3D <65000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss0_active4: cpu-active4 { + temperature =3D <70000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss0_active5: cpu-active5 { + temperature =3D <75000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss0_active6: cpu-active6 { + temperature =3D <80000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss0_active7: cpu-active7 { + temperature =3D <85000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + }; + + cooling-maps { + map0 { + cooling-device =3D <&pwm_fan 0 1>; + trip =3D <&cpuss0_active0>; + }; + + map1 { + cooling-device =3D <&pwm_fan 1 2>; + trip =3D <&cpuss0_active1>; + }; + + map2 { + cooling-device =3D <&pwm_fan 2 3>; + trip =3D <&cpuss0_active2>; + }; + + map3 { + cooling-device =3D <&pwm_fan 3 4>; + trip =3D <&cpuss0_active3>; + }; + + map4 { + cooling-device =3D <&pwm_fan 4 5>; + trip =3D <&cpuss0_active4>; + }; + + map5 { + cooling-device =3D <&pwm_fan 5 6>; + trip =3D <&cpuss0_active5>; + }; + + map6 { + cooling-device =3D <&pwm_fan 6 7>; + trip =3D <&cpuss0_active6>; + }; + + map7 { + cooling-device =3D <&pwm_fan 7 8>; + trip =3D <&cpuss0_active7>; + }; + }; + }; + + cpu3-bottom-thermal { + polling-delay =3D <200>; + + trips { + cpuss3_active0: cpu-active0 { + temperature =3D <50000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss3_active1: cpu-active1 { + temperature =3D <55000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss3_active2: cpu-active2 { + temperature =3D <60000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss3_active3: cpu-active3 { + temperature =3D <65000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss3_active4: cpu-active4 { + temperature =3D <70000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss3_active5: cpu-active5 { + temperature =3D <75000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss3_active6: cpu-active6 { + temperature =3D <80000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss3_active7: cpu-active7 { + temperature =3D <85000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + }; + + cooling-maps { + map0 { + cooling-device =3D <&pwm_fan 0 1>; + trip =3D <&cpuss3_active0>; + }; + + map1 { + cooling-device =3D <&pwm_fan 1 2>; + trip =3D <&cpuss3_active1>; + }; + + map2 { + cooling-device =3D <&pwm_fan 2 3>; + trip =3D <&cpuss3_active2>; + }; + + map3 { + cooling-device =3D <&pwm_fan 3 4>; + trip =3D <&cpuss3_active3>; + }; + + map4 { + cooling-device =3D <&pwm_fan 4 5>; + trip =3D <&cpuss3_active4>; + }; + + map5 { + cooling-device =3D <&pwm_fan 5 6>; + trip =3D <&cpuss3_active5>; + }; + + map6 { + cooling-device =3D <&pwm_fan 6 7>; + trip =3D <&cpuss3_active6>; + }; + + map7 { + cooling-device =3D <&pwm_fan 7 8>; + trip =3D <&cpuss3_active7>; + }; + }; + }; + + cpu7-bottom-thermal { + polling-delay =3D <200>; + + trips { + cpuss7_active0: cpu-active0 { + temperature =3D <50000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss7_active1: cpu-active1 { + temperature =3D <55000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss7_active2: cpu-active2 { + temperature =3D <60000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss7_active3: cpu-active3 { + temperature =3D <65000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss7_active4: cpu-active4 { + temperature =3D <70000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss7_active5: cpu-active5 { + temperature =3D <75000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss7_active6: cpu-active6 { + temperature =3D <80000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + cpuss7_active7: cpu-active7 { + temperature =3D <85000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + }; + + cooling-maps { + map0 { + cooling-device =3D <&pwm_fan 0 1>; + trip =3D <&cpuss7_active0>; + }; + + map1 { + cooling-device =3D <&pwm_fan 1 2>; + trip =3D <&cpuss7_active1>; + }; + + map2 { + cooling-device =3D <&pwm_fan 2 3>; + trip =3D <&cpuss7_active2>; + }; + + map3 { + cooling-device =3D <&pwm_fan 3 4>; + trip =3D <&cpuss7_active3>; + }; + + map4 { + cooling-device =3D <&pwm_fan 4 5>; + trip =3D <&cpuss7_active4>; + }; + + map5 { + cooling-device =3D <&pwm_fan 5 6>; + trip =3D <&cpuss7_active5>; + }; + + map6 { + cooling-device =3D <&pwm_fan 6 7>; + trip =3D <&cpuss7_active6>; + }; + + map7 { + cooling-device =3D <&pwm_fan 7 8>; + trip =3D <&cpuss7_active7>; + }; + }; + }; + + gpuss-0-thermal { + polling-delay =3D <200>; + + trips { + gpuss0_active0: gpu-active0 { + temperature =3D <50000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + gpuss0_active1: gpu-active1 { + temperature =3D <55000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + gpuss0_active2: gpu-active2 { + temperature =3D <60000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + gpuss0_active3: gpu-active3 { + temperature =3D <65000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + gpuss0_active4: gpu-active4 { + temperature =3D <70000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + gpuss0_active5: gpu-active5 { + temperature =3D <75000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + gpuss0_active6: gpu-active6 { + temperature =3D <80000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + + gpuss0_active7: gpu-active7 { + temperature =3D <85000>; + hysteresis =3D <4000>; + type =3D "active"; + }; + }; + + cooling-maps { + map0 { + cooling-device =3D <&pwm_fan 0 1>; + trip =3D <&gpuss0_active0>; + }; + + map1 { + cooling-device =3D <&pwm_fan 1 2>; + trip =3D <&gpuss0_active1>; + }; + + map2 { + cooling-device =3D <&pwm_fan 2 3>; + trip =3D <&gpuss0_active2>; + }; + + map3 { + cooling-device =3D <&pwm_fan 3 4>; + trip =3D <&gpuss0_active3>; + }; + + map4 { + cooling-device =3D <&pwm_fan 4 5>; + trip =3D <&gpuss0_active4>; + }; + + map5 { + cooling-device =3D <&pwm_fan 5 6>; + trip =3D <&gpuss0_active5>; + }; + + map6 { + cooling-device =3D <&pwm_fan 6 7>; + trip =3D <&gpuss0_active6>; + }; + + map7 { + cooling-device =3D <&pwm_fan 7 8>; + trip =3D <&gpuss0_active7>; + }; + }; + }; + }; + + usb0-sbu-mux { + compatible =3D "pericom,pi3usb102", "gpio-sbu-mux"; + + enable-gpios =3D <&tlmm 140 GPIO_ACTIVE_LOW>; + select-gpios =3D <&tlmm 141 GPIO_ACTIVE_HIGH>; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&usb0_sbu_default>; + + mode-switch; + orientation-switch; + + port { + usb0_sbu_mux: endpoint { + remote-endpoint =3D <&pmic_glink_sbu>; + }; + }; + }; + + vdd_fan_5v0: vdd-fan-5v0-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_fan_5v0"; + + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + + gpio =3D <&tlmm 109 GPIO_ACTIVE_HIGH>; + enable-active-high; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&fan_pwr_active>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdd_mcu_3v3: vdd-mcu-3v3-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_mcu_3v3"; + + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + + gpio =3D <&tlmm 99 GPIO_ACTIVE_HIGH>; + regulator-always-on; + regulator-boot-on; + enable-active-high; + }; + + 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; + }; + + wcd938x: audio-codec { + compatible =3D "qcom,wcd9385-codec"; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&wcd_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 + 500000 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 108 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>; + }; + + wcn7850-pmu { + compatible =3D "qcom,wcn7850-pmu"; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&wlan_en>, <&bt_default>, <&pmk8550_sleep_clk>; + + wlan-enable-gpios =3D <&tlmm 80 GPIO_ACTIVE_HIGH>; + bt-enable-gpios =3D <&tlmm 81 GPIO_ACTIVE_HIGH>; + + vdd-supply =3D <&vreg_s5g_0p8>; + vddio-supply =3D <&vreg_l15b_1p8>; + vddaon-supply =3D <&vreg_s2g_0p8>; + vdddig-supply =3D <&vreg_s4e_0p95>; + vddrfa1p2-supply =3D <&vreg_s4g_1p3>; + vddrfa1p8-supply =3D <&vreg_s6g_1p8>; + + 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_s6g_1p8>; + vdd-l2-l13-l14-supply =3D <&vreg_bob1>; + vdd-l3-supply =3D <&vreg_s4g_1p3>; + vdd-l5-l16-supply =3D <&vreg_bob1>; + vdd-l6-l7-supply =3D <&vreg_bob1>; + vdd-l8-l9-supply =3D <&vreg_bob1>; + vdd-l11-supply =3D <&vreg_s4g_1p3>; + vdd-l12-supply =3D <&vreg_s6g_1p8>; + vdd-l15-supply =3D <&vreg_s6g_1p8>; + vdd-l17-supply =3D <&vreg_bob2>; + + vreg_bob1: bob1 { + regulator-name =3D "vreg_bob1"; + regulator-min-microvolt =3D <3296000>; + regulator-max-microvolt =3D <3960000>; + regulator-initial-mode =3D ; + }; + + vreg_bob2: bob2 { + regulator-name =3D "vreg_bob2"; + regulator-min-microvolt =3D <2720000>; + regulator-max-microvolt =3D <3960000>; + regulator-initial-mode =3D ; + }; + + vreg_l2b_3p0: ldo2 { + regulator-name =3D "vreg_l2b_3p0"; + regulator-min-microvolt =3D <3008000>; + regulator-max-microvolt =3D <3008000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l5b_3p1: ldo5 { + regulator-name =3D "vreg_l5b_3p1"; + regulator-min-microvolt =3D <3104000>; + regulator-max-microvolt =3D <3104000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l6b_1p8: ldo6 { + regulator-name =3D "vreg_l6b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <3008000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l7b_1p8: ldo7 { + regulator-name =3D "vreg_l7b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <3008000>; + regulator-initial-mode =3D ; + }; + + vreg_l8b_1p8: ldo8 { + regulator-name =3D "vreg_l8b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <3008000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l9b_2p9: ldo9 { + regulator-name =3D "vreg_l9b_2p9"; + regulator-min-microvolt =3D <2960000>; + regulator-max-microvolt =3D <3008000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l11b_1p2: ldo11 { + regulator-name =3D "vreg_l11b_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1504000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l12b_1p8: ldo12 { + regulator-name =3D "vreg_l12b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l13b_3p0: ldo13 { + regulator-name =3D "vreg_l13b_3p0"; + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3000000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l14b_3p2: ldo14 { + regulator-name =3D "vreg_l14b_3p2"; + regulator-min-microvolt =3D <3200000>; + regulator-max-microvolt =3D <3200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =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-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l16b_2p8: ldo16 { + regulator-name =3D "vreg_l16b_2p8"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l17b_2p5: ldo17 { + regulator-name =3D "vreg_l17b_2p5"; + regulator-min-microvolt =3D <2504000>; + regulator-max-microvolt =3D <2504000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + regulators-1 { + compatible =3D "qcom,pm8550vs-rpmh-regulators"; + qcom,pmic-id =3D "c"; + + vdd-l1-supply =3D <&vreg_s4g_1p3>; + vdd-l2-supply =3D <&vreg_s4e_0p95>; + vdd-l3-supply =3D <&vreg_s4e_0p95>; + + vreg_l3c_0p9: ldo3 { + regulator-name =3D "vreg_l3c_0p9"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + regulators-2 { + compatible =3D "qcom,pm8550vs-rpmh-regulators"; + qcom,pmic-id =3D "d"; + + vdd-l1-supply =3D <&vreg_s4e_0p95>; + vdd-l2-supply =3D <&vreg_s4e_0p95>; + vdd-l3-supply =3D <&vreg_s4e_0p95>; + + vreg_l1d_0p88: ldo1 { + regulator-name =3D "vreg_l1d_0p88"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <920000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + regulators-3 { + compatible =3D "qcom,pm8550vs-rpmh-regulators"; + qcom,pmic-id =3D "e"; + + vdd-l1-supply =3D <&vreg_s4e_0p95>; + vdd-l2-supply =3D <&vreg_s4e_0p95>; + vdd-l3-supply =3D <&vreg_s4g_1p3>; + vdd-s4-supply =3D <&vph_pwr>; + vdd-s5-supply =3D <&vph_pwr>; + + vreg_s4e_0p95: smps4 { + regulator-name =3D "vreg_s4e_0p95"; + regulator-min-microvolt =3D <904000>; + regulator-max-microvolt =3D <984000>; + regulator-initial-mode =3D ; + }; + + vreg_s5e_1p08: smps5 { + regulator-name =3D "vreg_s5e_1p08"; + regulator-min-microvolt =3D <1010000>; + regulator-max-microvolt =3D <1120000>; + regulator-initial-mode =3D ; + }; + + vreg_l1e_0p88: ldo1 { + regulator-name =3D "vreg_l1e_0p88"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l2e_0p9: ldo2 { + regulator-name =3D "vreg_l2e_0p9"; + regulator-min-microvolt =3D <870000>; + regulator-max-microvolt =3D <970000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =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 ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + regulators-4 { + compatible =3D "qcom,pm8550ve-rpmh-regulators"; + qcom,pmic-id =3D "f"; + + vdd-l1-supply =3D <&vreg_s4e_0p95>; + vdd-l2-supply =3D <&vreg_s4e_0p95>; + vdd-l3-supply =3D <&vreg_s4e_0p95>; + vdd-s4-supply =3D <&vph_pwr>; + + vreg_s4f_0p5: smps4 { + regulator-name =3D "vreg_s4f_0p5"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <700000>; + regulator-initial-mode =3D ; + }; + + vreg_l1f_0p9: ldo1 { + regulator-name =3D "vreg_l1f_0p9"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l2f_0p88: ldo2 { + regulator-name =3D "vreg_l2f_0p88"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l3f_0p88: ldo3 { + regulator-name =3D "vreg_l3f_0p88"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + regulators-5 { + compatible =3D "qcom,pm8550vs-rpmh-regulators"; + qcom,pmic-id =3D "g"; + + vdd-l1-supply =3D <&vreg_s4g_1p3>; + vdd-l2-supply =3D <&vreg_s4g_1p3>; + vdd-l3-supply =3D <&vreg_s4g_1p3>; + vdd-s1-supply =3D <&vph_pwr>; + vdd-s2-supply =3D <&vph_pwr>; + vdd-s3-supply =3D <&vph_pwr>; + vdd-s4-supply =3D <&vph_pwr>; + vdd-s5-supply =3D <&vph_pwr>; + vdd-s6-supply =3D <&vph_pwr>; + + vreg_s1g_1p2: smps1 { + regulator-name =3D "vreg_s1g_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1300000>; + regulator-initial-mode =3D ; + }; + + vreg_s2g_0p8: smps2 { + regulator-name =3D "vreg_s2g_0p8"; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <1000000>; + regulator-initial-mode =3D ; + }; + + vreg_s3g_0p7: smps3 { + regulator-name =3D "vreg_s3g_0p7"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1004000>; + regulator-initial-mode =3D ; + }; + + vreg_s4g_1p3: smps4 { + regulator-name =3D "vreg_s4g_1p3"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1352000>; + regulator-initial-mode =3D ; + }; + + vreg_s5g_0p8: smps5 { + regulator-name =3D "vreg_s5g_0p8"; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1004000>; + regulator-initial-mode =3D ; + }; + + vreg_s6g_1p8: smps6 { + regulator-name =3D "vreg_s6g_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2000000>; + regulator-initial-mode =3D ; + }; + + vreg_l1g_1p2: ldo1 { + regulator-name =3D "vreg_l1g_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l3g_1p2: ldo3 { + regulator-name =3D "vreg_l3g_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; +}; + +&gpi_dma1 { + status =3D "okay"; +}; + +&gpi_dma2 { + status =3D "okay"; +}; + +&gpu { + status =3D "okay"; + + zap-shader { + firmware-name =3D "qcom/sm8550/a740_zap.mbn"; + }; +}; + +&i2c0 { + clock-frequency =3D <400000>; + status =3D "okay"; +}; + +&i2c4 { + clock-frequency =3D <400000>; + status =3D "okay"; +}; + +&i2c12 { + clock-frequency =3D <400000>; + status =3D "okay"; +}; + +&i2c_master_hub_0 { + status =3D "okay"; +}; + +&i2c_hub_2 { + clock-frequency =3D <400000>; + status =3D "okay"; + + spk_amp_l: spk_amp_l@34 { + compatible =3D "awinic,aw88166"; + reg =3D <0x34>; + #sound-dai-cells =3D <0>; + reset-gpios =3D <&tlmm 103 GPIO_ACTIVE_LOW>; + awinic,audio-channel =3D <0>; + awinic,sync-flag; + sound-name-prefix =3D "SPK_L"; + }; + + spk_amp_r: spk_amp_r@35 { + compatible =3D "awinic,aw88166"; + reg =3D <0x35>; + #sound-dai-cells =3D <0>; + reset-gpios =3D <&tlmm 100 GPIO_ACTIVE_LOW>; + awinic,audio-channel =3D <1>; + awinic,sync-flag; + sound-name-prefix =3D "SPK_R"; + }; +}; + +&iris { + status =3D "okay"; +}; + +&lpass_tlmm { + lpi_i2s3_active: lpi_i2s3-active-state { + sck-pins { + pins =3D "gpio12"; + function =3D "i2s3_clk"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + + ws-pins { + pins =3D "gpio13"; + function =3D "i2s3_ws"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + + data0-pins { + pins =3D "gpio17"; + function =3D "i2s3_data"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + + data1-pins { + pins =3D "gpio18"; + function =3D "i2s3_data"; + drive-strength =3D <8>; + bias-disable; + output-high; + }; + }; +}; + +&lpass_vamacro { + qcom,dmic-sample-rate =3D <4800000>; +}; + +&lpass_wsamacro { + status =3D "disabled"; +}; + +&mdss { + status =3D "okay"; +}; + +&mdss_dp0 { + status =3D "okay"; +}; + +&mdss_dsi1 { + vdda-supply =3D <&vreg_l3e_1p2>; + status =3D "okay"; + + display_panel: panel@0 { + reg =3D <0>; + + port { + panel1_in: endpoint { + remote-endpoint =3D <&mdss_dsi1_out>; + }; + }; + }; +}; + +&mdss_dsi1_out { + remote-endpoint =3D <&panel1_in>; + data-lanes =3D <0 1 2 3>; +}; + +&mdss_dsi1_phy { + vdds-supply =3D <&vreg_l1e_0p88>; + status =3D "okay"; +}; + +&pcie0 { + wake-gpios =3D <&tlmm 96 GPIO_ACTIVE_HIGH>; + perst-gpios =3D <&tlmm 94 GPIO_ACTIVE_LOW>; + + pinctrl-0 =3D <&pcie0_default_state>; + pinctrl-names =3D "default"; + + status =3D "okay"; +}; + +&pcieport0 { + wifi@0 { + compatible =3D "pci17cb,1107"; + reg =3D <0x10000 0x0 0x0 0x0 0x0>; + + vddrfacmn-supply =3D <&vreg_pmu_rfa_cmn>; + vddaon-supply =3D <&vreg_pmu_aon_0p59>; + vddwlcx-supply =3D <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply =3D <&vreg_pmu_wlmx_0p85>; + 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>; + }; +}; + +&pcie0_phy { + vdda-phy-supply =3D <&vreg_l1e_0p88>; + vdda-pll-supply =3D <&vreg_l3e_1p2>; + + status =3D "okay"; +}; + +&pm8550_gpios { + fan_pwm_active: fan-pwm-active-state { + pins =3D "gpio8"; + function =3D "func1"; + input-disable; + output-enable; + output-low; + bias-disable; + power-source =3D <1>; + }; + + sdc2_card_det_n: sdc2-card-det-n-state { + pins =3D "gpio12"; + function =3D "normal"; + input-enable; + output-disable; + bias-pull-up; + power-source =3D <1>; + }; + + volume_up_n: volume-up-n-state { + pins =3D "gpio6"; + function =3D "normal"; + power-source =3D <1>; + bias-pull-up; + input-enable; + }; +}; + +&pm8550_pwm { + status =3D "okay"; + + multi-led { + color =3D ; + function =3D LED_FUNCTION_STATUS; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + led@1 { + reg =3D <1>; + color =3D ; + }; + + led@2 { + reg =3D <2>; + color =3D ; + }; + + led@3 { + reg =3D <3>; + color =3D ; + }; + }; +}; + +&pm8550b_eusb2_repeater { + qcom,tune-usb2-disc-thres =3D /bits/ 8 <0x6>; + qcom,tune-usb2-amplitude =3D /bits/ 8 <0xb>; + qcom,tune-usb2-preem =3D /bits/ 8 <0x3>; + vdd18-supply =3D <&vreg_l15b_1p8>; + vdd3-supply =3D <&vreg_l5b_3p1>; +}; + +&pmk8550_gpios { + pmk8550_sleep_clk: sleep-clk-state { + pins =3D "gpio3"; + function =3D "func1"; + input-disable; + output-enable; + bias-disable; + power-source =3D <0>; + }; + + pwm_backlight_default: pwm-backlight-default-state { + pins =3D "gpio5"; + function =3D "func3"; + input-disable; + output-low; + output-enable; + bias-disable; + power-source =3D <0>; + qcom,drive-strength =3D <2>; + }; +}; + +&pmk8550_rtc { + nvmem-cells =3D <&rtc_offset>; + nvmem-cell-names =3D "offset"; +}; + +&pmk8550_sdam_2 { + rtc_offset: rtc-offset@bc { + reg =3D <0xbc 0x4>; + }; +}; + +&pon_pwrkey { + status =3D "okay"; +}; + +&pon_resin { + linux,code =3D ; + + status =3D "okay"; +}; + +&qupv3_id_0 { + status =3D "okay"; +}; + +&qupv3_id_1 { + status =3D "okay"; +}; + +&remoteproc_cdsp { + firmware-name =3D "qcom/sm8550/ayntec/cdsp.mbn", + "qcom/sm8550/ayntec/cdsp_dtb.mbn"; + status =3D "okay"; +}; + +&sdhc_2 { + cd-gpios =3D <&pm8550_gpios 12 GPIO_ACTIVE_LOW>; + pinctrl-names =3D "default", "sleep"; + pinctrl-0 =3D <&sdc2_default &sdc2_card_det_n>; + pinctrl-1 =3D <&sdc2_sleep &sdc2_card_det_n>; + vmmc-supply =3D <&vreg_l9b_2p9>; + vqmmc-supply =3D <&vreg_l8b_1p8>; + max-sd-hs-hz =3D <37500000>; + no-sdio; + no-mmc; + + qcom,dll-config =3D <0x0007442c>; + + status =3D "okay"; +}; + +&sleep_clk { + clock-frequency =3D <32764>; +}; + +&swr1 { + status =3D "okay"; + 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"; + 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 <32 8>; + + dsi_p_rst_active: dsi-p-rst-active-state { + pins =3D "gpio133"; + function =3D "gpio"; + drive-strength =3D <8>; + bias-disable; + }; + + dsi_p_rst_suspend: dsi-p-rst-suspend-state { + pins =3D "gpio133"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-down; + }; + + dsi_p_te_active: dsi-p-te-active-state { + pins =3D "gpio86"; + function =3D "mdp_vsync"; + drive-strength =3D <2>; + bias-pull-down; + }; + + dsi_p_te_suspend: dsi-s-te-suspend-state { + pins =3D "gpio86"; + function =3D "mdp_vsync"; + drive-strength =3D <2>; + bias-pull-down; + }; + + dsi_s_rst_active: dsi-s-rst-active-state { + pins =3D "gpio137"; + function =3D "gpio"; + drive-strength =3D <8>; + bias-disable; + }; + + dsi_s_rst_suspend: dsi-s-rst-suspend-state { + pins =3D "gpio137"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-down; + }; + + dsi_s_te_active: dsi-s-te-active-state { + pins =3D "gpio87"; + function =3D "mdp_vsync"; + drive-strength =3D <2>; + bias-pull-down; + }; + + dsi_s_te_suspend: dsi-s-te-suspend-state { + pins =3D "gpio87"; + function =3D "mdp_vsync"; + drive-strength =3D <2>; + bias-pull-down; + }; + + bt_default: bt-default-state { + bt-en-pins { + pins =3D "gpio81"; + function =3D "gpio"; + drive-strength =3D <16>; + bias-disable; + }; + + sw-ctrl-pins { + pins =3D "gpio82"; + function =3D "gpio"; + bias-pull-down; + }; + }; + + fan_pwr_active: fan-pwr-active-state { + pins =3D "gpio109"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + output-low; + }; + + fan_int: fan-int-state { + pins =3D "gpio13"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + }; + + mcu_en_active: mcu-en-active-state { + pins =3D "gpio12"; + function =3D "gpio"; + bias-pull-down; + }; + + ts_p_rst_default: ts-p-rst-default-state { + pins =3D "gpio24"; + function =3D "gpio"; + bias-pull-up; + drive-strength =3D <8>; + }; + + ts_p_rst_sleep: ts-p-rst-sleep-state { + pins =3D "gpio24"; + function =3D "gpio"; + bias-pull-down; + drive-strength =3D <2>; + }; + + ts_p_int_default: ts-p-int-default-state { + pins =3D "gpio25"; + function =3D "gpio"; + bias-pull-up; + drive-strength =3D <8>; + }; + + ts_p_int_sleep: ts-p-int-sleep-state { + pins =3D "gpio25"; + function =3D "gpio"; + bias-pull-down; + drive-strength =3D <2>; + }; + + ts_s_rst_default: ts-s-rst-default-state { + pins =3D "gpio14"; + function =3D "gpio"; + bias-pull-up; + drive-strength =3D <8>; + }; + + ts_s_rst_sleep: ts-s-rst-sleep-state { + pins =3D "gpio14"; + function =3D "gpio"; + bias-pull-down; + drive-strength =3D <2>; + }; + + ts_s_int_default: ts-s-int-default-state { + pins =3D "gpio15"; + function =3D "gpio"; + bias-pull-up; + drive-strength =3D <8>; + }; + + ts_s_int_sleep: ts-s-int-sleep-state { + pins =3D "gpio15"; + function =3D "gpio"; + bias-pull-down; + drive-strength =3D <2>; + }; + + usb0_sbu_default: usb0-sbu-state { + oe-n-pins { + pins =3D "gpio140"; + function =3D "gpio"; + bias-disable; + drive-strength =3D <16>; + output-high; + }; + + sel-pins { + pins =3D "gpio141"; + function =3D "gpio"; + bias-disable; + drive-strength =3D <16>; + }; + }; + + wcd_default: wcd-reset-n-active-state { + pins =3D "gpio108"; + function =3D "gpio"; + drive-strength =3D <16>; + bias-disable; + output-low; + }; + + wlan_en: wlan-en-state { + pins =3D "gpio80"; + function =3D "gpio"; + drive-strength =3D <8>; + bias-pull-down; + }; +}; + +&uart7 { + status =3D "okay"; +}; + +&uart14 { + status =3D "okay"; + + bluetooth { + compatible =3D "qcom,wcn7850-bt"; + + vddrfacmn-supply =3D <&vreg_pmu_rfa_cmn>; + vddaon-supply =3D <&vreg_pmu_aon_0p59>; + vddwlcx-supply =3D <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply =3D <&vreg_pmu_wlmx_0p85>; + vddrfa0p8-supply =3D <&vreg_pmu_rfa_0p8>; + vddrfa1p2-supply =3D <&vreg_pmu_rfa_1p2>; + vddrfa1p8-supply =3D <&vreg_pmu_rfa_1p8>; + + max-speed =3D <3200000>; + }; +}; + +&ufs_mem_hc { + reset-gpios =3D <&tlmm 210 GPIO_ACTIVE_LOW>; + vcc-supply =3D <&vreg_l17b_2p5>; + vcc-max-microamp =3D <1300000>; + vccq-supply =3D <&vreg_l1g_1p2>; + vccq-max-microamp =3D <1200000>; + vdd-hba-supply =3D <&vreg_l3g_1p2>; + + status =3D "okay"; +}; + +&ufs_mem_phy { + vdda-phy-supply =3D <&vreg_l1d_0p88>; + vdda-pll-supply =3D <&vreg_l3e_1p2>; + + status =3D "okay"; +}; + +&usb_1 { + status =3D "okay"; +}; + +&usb_1_dwc3_hs { + remote-endpoint =3D <&pmic_glink_hs_in>; +}; + +&usb_1_hsphy { + phys =3D <&pm8550b_eusb2_repeater>; + + vdd-supply =3D <&vreg_l1e_0p88>; + vdda12-supply =3D <&vreg_l3e_1p2>; + + status =3D "okay"; +}; + +&usb_dp_qmpphy { + vdda-phy-supply =3D <&vreg_l3e_1p2>; + vdda-pll-supply =3D <&vreg_l3f_0p88>; + + mode-switch; + + status =3D "okay"; +}; + +&usb_dp_qmpphy_out { + remote-endpoint =3D <&pmic_glink_ss_in>; +}; + +&xo_board { + clock-frequency =3D <76800000>; +}; --=20 2.53.0 From nobody Tue Apr 7 19:49:28 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 1D6A63E51ED; Wed, 11 Mar 2026 17:44:49 +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=1773251089; cv=none; b=X56qOzqkl9g5qp0vk6nyZOusVMgjeNAqCu9C2nZkmErWoIIi3lydEszbvdQ5BWXePP5Ayw1kf4NSCoVelNf8tahut5KcbgA/dc3pU4ZvV+ZvUKcbKOl7nm2253GSEqhRrx42fMI/03Xc4EBOv29j7SsnuZedCwsuDP6mrTE83vk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773251089; c=relaxed/simple; bh=1od7Wlw1GbFWt7/++4XQHCLkhg+u9hUUYjChca///V8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BMRVjU3RY1Azp6pofGQPZLFNTkguTVNSAh6MN8jGXyzd8S0MZY/SUj8WElWbGHR4rZJiGnFEqRrLiEdkjiQ53YjgnlGG5MvdVWhcioXYkU7aQLzL90lrrZhM7bizuBDFnqwj8wwaVpGh6fHuxM4UOx2BfjtbJkhDI+RNCWrGpjM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XG5NRu7X; 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="XG5NRu7X" Received: by smtp.kernel.org (Postfix) with ESMTPS id C6B2CC2BCB5; Wed, 11 Mar 2026 17:44:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773251088; bh=1od7Wlw1GbFWt7/++4XQHCLkhg+u9hUUYjChca///V8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=XG5NRu7X/i35jPG9GftMYaItr+0PDNX+UL59GIcR858gXixLDdx8L6ItWY1m8oRdG 8hhUYmQ+u2kItjtezN0uBGID2Yr1yOOzP0c+bQpOqHFRP1b0Ief24vDY6HpjHjw3ph Keh1y+LaZPaJkPzXyIT6cuv8Znu4UbtTARb6V/E6R182rELxNAukHOFUkzBNuWNqtf jbtQSZZmAHciuc6WsaoqYNXutSXZFU/gUyOE7rWmtDYWRvVpuxFpoymAV85rraHm2e 8QWkhfkQ0o+Rbe/KA9Juh06XdJwKNjZBPGhyJsSl5DUsBZjrBtva3/bkUSlsb53CF2 u7tAaqJsc/RXA== 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 BBBF91125858; Wed, 11 Mar 2026 17:44:48 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Wed, 11 Mar 2026 12:44:39 -0500 Subject: [PATCH v2 3/5] arm64: dts: qcom: Add AYN Odin 2 Mini 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: <20260311-ayn-qcs8550-v2-3-e66986e0f0cb@gmail.com> References: <20260311-ayn-qcs8550-v2-0-e66986e0f0cb@gmail.com> In-Reply-To: <20260311-ayn-qcs8550-v2-0-e66986e0f0cb@gmail.com> 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, Aaron Kling , Teguh Sobirin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773251087; l=4783; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=xcEVqKMPSvcHvwAORvrNa8rHTg1+vl1NPzo/rpqSz8g=; b=umcND7W24lwLA+Z3PCRmZp7Yj2X2lBqEJmlVlYCD9cY44BS/zFpcni6OXtGpFU7195n8MEWAk MoFrhupKFJZCvmkwn9DRZ5JUfm0xxmPyuWaSPJ4yx+Vxh3Im06pYybO X-Developer-Key: i=webgeek1234@gmail.com; a=ed25519; pk=TQwd6q26txw7bkK7B8qtI/kcAohZc7bHHGSD7domdrU= X-Endpoint-Received: by B4 Relay for webgeek1234@gmail.com/20250217 with auth_id=342 X-Original-From: Aaron Kling Reply-To: webgeek1234@gmail.com From: Teguh Sobirin The AYN Odin 2 Mini is a high-performance Android-based handheld gaming console powered by the Qualcomm Snapdragon 8 Gen 2 processor featuring a 5-inch mini-led touchscreen. Signed-off-by: Teguh Sobirin Co-developed-by: Aaron Kling Signed-off-by: Aaron Kling --- arch/arm64/boot/dts/qcom/Makefile | 2 + .../boot/dts/qcom/qcs8550-ayntec-odin2mini.dtso | 147 +++++++++++++++++= ++++ 2 files changed, 149 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index 5bb88dd7a31bbd8ee7078a880056cc1f35be494e..3dd5db42713b1d468d029518178= a9df33af991c9 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -164,6 +164,8 @@ qcs8300-ride-el2-dtbs :=3D qcs8300-ride.dtb monaco-el2.= dtbo dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8300-ride-el2.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8550-aim300-aiot.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8550-ayntec-common.dtb +qcs8550-ayntec-odin2mini-dtbs :=3D qcs8550-ayntec-common.dtb qcs8550-aynte= c-odin2mini.dtbo +dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8550-ayntec-odin2mini.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs9100-ride.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs9100-ride-r3.dtb =20 diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayntec-odin2mini.dtso b/arch/= arm64/boot/dts/qcom/qcs8550-ayntec-odin2mini.dtso new file mode 100644 index 0000000000000000000000000000000000000000..60b402a6b98857f56b04c44b053= d5a46faf8c0a6 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs8550-ayntec-odin2mini.dtso @@ -0,0 +1,147 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + */ + +#include +#include + +/dts-v1/; +/plugin/; + +&{/} { + model =3D "AYN Odin 2 Mini"; + compatible =3D "ayntec,odin2mini", "qcom,qcs8550", "qcom,sm8550"; + + hdmi-out { + compatible =3D "hdmi-connector"; + type =3D "d"; + hpd-gpios =3D <&tlmm 9 GPIO_ACTIVE_HIGH>; + hdmi-pwr-supply =3D <&vdd_hdmi_1v8>; + + port { + hdmi_con: endpoint { + remote-endpoint =3D <<8912_out>; + }; + }; + }; + + vcc_hdmi_1v8: vcc-hdmi-1v8-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc_hdmi_1v8"; + + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + + gpio =3D <&tlmm 10 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_bl_5v0: vdd-bl-5v0-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_bl_5v0"; + + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + + gpio =3D <&tlmm 55 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_disp_2v8: vdd-disp-2v8-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_disp_2v8"; + + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + + gpio =3D <&tlmm 142 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_hdmi_1v8: vdd-hdmi-1v8-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_hdmi_1v8"; + + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + + gpio =3D <&tlmm 6 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&i2c_hub_0 { + clock-frequency =3D <100000>; + status =3D "okay"; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + lt8912_codec: hdmi-bridge@48 { + compatible =3D "lontium,lt8912b"; + reg =3D <0x48> ; + + reset-gpios =3D <&tlmm 7 GPIO_ACTIVE_LOW>; + + vdd-supply =3D <&vdd_hdmi_1v8>; + vccmipirx-supply =3D <&vcc_hdmi_1v8>; + vccsysclk-supply =3D <&vcc_hdmi_1v8>; + vcclvdstx-supply =3D <&vcc_hdmi_1v8>; + vcchdmitx-supply =3D <&vcc_hdmi_1v8>; + vcclvdspll-supply =3D <&vcc_hdmi_1v8>; + vcchdmipll-supply =3D <&vcc_hdmi_1v8>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + hdmi_out_in: endpoint { + data-lanes =3D <1 2 3 4>; + remote-endpoint =3D <&mdss_dsi0_out>; + }; + }; + + port@1 { + reg =3D <1>; + + lt8912_out: endpoint { + remote-endpoint =3D <&hdmi_con>; + }; + }; + }; + }; +}; + +&mdss_dsi0 { + vdda-supply =3D <&vreg_l3e_1p2>; + status =3D "okay"; +}; + +&mdss_dsi0_out { + remote-endpoint =3D <&hdmi_out_in>; + data-lanes =3D <0 1 2 3>; +}; + +&mdss_dsi0_phy { + vdds-supply =3D <&vreg_l1e_0p88>; + status =3D "okay"; +}; + +&remoteproc_adsp { + firmware-name =3D "qcom/sm8550/ayntec/odin2mini/adsp.mbn", + "qcom/sm8550/ayntec/odin2mini/adsp_dtb.mbn"; + status =3D "okay"; +}; + +&spk_amp_l { + firmware-name =3D "qcom/sm8550/ayntec/odin2mini/aw883xx_acf.bin"; +}; + +&spk_amp_r { + firmware-name =3D "qcom/sm8550/ayntec/odin2mini/aw883xx_acf.bin"; +}; + --=20 2.53.0 From nobody Tue Apr 7 19:49:28 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 2AC1D3E5560; Wed, 11 Mar 2026 17:44:49 +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=1773251089; cv=none; b=T6lR5QV+HAF0m9Hj2Z4kN8RqQJhs2W7AwVYyydtIi4q0uLQ0uIeY5e5NIoTiuUNWaZ1UE6WqUpomU13nfpLODUpldLf5fvZminx5Na6WIm0gjjJmZg77F15hxurZFYSA0ksvLPPrcLFemXYTUkmb9bZfuYf2OnVe//igZBrupPA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773251089; c=relaxed/simple; bh=kc3mqbOFpA0mJ70flnn8CDvpitnoiyzn5J65jc6VbHA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=I8oNXydjeAoZe5DKr+0rPpThyUox4XmBpWo9et3RV8+zq6fEaUxeJ1YmwLlUlTFTbFkpvYuXQ5qz7L6TVfnJbjdeq5sqcpJKeaxpoDPeBSgVXn6+nH8XvKkGG7PtqlWxlj9ouq9qhRDfu8/hFUxGM83idFqFy+9mmJKVGZuTEf8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=r59Zr5Ex; 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="r59Zr5Ex" Received: by smtp.kernel.org (Postfix) with ESMTPS id DD5B7C2BC86; Wed, 11 Mar 2026 17:44:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773251088; bh=kc3mqbOFpA0mJ70flnn8CDvpitnoiyzn5J65jc6VbHA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=r59Zr5ExtF1sXwnPUfB5M+MOYczktsGAOt/RH2KnXXc2KN/NnzFwcN8B8BPcDbgJy y07+mhoEr3oWD0v6z4NgI2Si1jayJ3Ntt2Jgyr2ajQpnuwMADEyjmB2oRT1EIu4sSp uQl6mGzUyRVA2cvTTZ78XMpkEGZRvNl4Gy5TzKytrjaIWZzmvUYPKWMVCo7Sf1pZVm ioOUIsJETOEQPEh/Pqi9O8tsLYoI2ct/v3ilgmI7NetiqshrGr11K4EY0Rq43HwuKe wPZimkwXWBH9HscUh2hXztli57BbIspAa3HE+uqT0rbvG6sibt5LofcaWvOcS73EAQ 7Biob+rQRCnmA== 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 CF864112585E; Wed, 11 Mar 2026 17:44:48 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Wed, 11 Mar 2026 12:44:40 -0500 Subject: [PATCH v2 4/5] arm64: dts: qcom: Add AYN Odin 2 Portal 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: <20260311-ayn-qcs8550-v2-4-e66986e0f0cb@gmail.com> References: <20260311-ayn-qcs8550-v2-0-e66986e0f0cb@gmail.com> In-Reply-To: <20260311-ayn-qcs8550-v2-0-e66986e0f0cb@gmail.com> 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, Aaron Kling , Teguh Sobirin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773251087; l=3516; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=B5TpZVX+8+MmuGzx7Ytbjw9I9xy8iFQWPAK7gSq17LQ=; b=AcOYXhFt0IA3Z4wj2FHjjM/+x1cA8XyKF5q3PYlXtOlQxBcb6c1+WiAk5SHYz3nP58m/7z48G OyH8X95klqBBOQx7U5rTJpt4tG0I+gGaj+SUWTz35ro98KfFsP9QgMP X-Developer-Key: i=webgeek1234@gmail.com; a=ed25519; pk=TQwd6q26txw7bkK7B8qtI/kcAohZc7bHHGSD7domdrU= X-Endpoint-Received: by B4 Relay for webgeek1234@gmail.com/20250217 with auth_id=342 X-Original-From: Aaron Kling Reply-To: webgeek1234@gmail.com From: Teguh Sobirin The AYN Odin 2 Portal is a high-performance Android-based handheld gaming console powered by the Qualcomm Snapdragon 8 Gen 2 processor featuring a 7-inch OLED touchscreen. Signed-off-by: Teguh Sobirin Co-developed-by: Aaron Kling Signed-off-by: Aaron Kling --- arch/arm64/boot/dts/qcom/Makefile | 2 + .../boot/dts/qcom/qcs8550-ayntec-odin2portal.dtso | 79 ++++++++++++++++++= ++++ 2 files changed, 81 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index 3dd5db42713b1d468d029518178a9df33af991c9..c4226223203dfbbc5f9f79e8843= 3398ca6a0307a 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -166,6 +166,8 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8550-aim300-aiot.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8550-ayntec-common.dtb qcs8550-ayntec-odin2mini-dtbs :=3D qcs8550-ayntec-common.dtb qcs8550-aynte= c-odin2mini.dtbo dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8550-ayntec-odin2mini.dtb +qcs8550-ayntec-odin2portal-dtbs :=3D qcs8550-ayntec-common.dtb qcs8550-ayn= tec-odin2portal.dtbo +dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8550-ayntec-odin2portal.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs9100-ride.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs9100-ride-r3.dtb =20 diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayntec-odin2portal.dtso b/arc= h/arm64/boot/dts/qcom/qcs8550-ayntec-odin2portal.dtso new file mode 100644 index 0000000000000000000000000000000000000000..4f15612430d9af2eb065d98fb3e= 4536f434d08d7 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs8550-ayntec-odin2portal.dtso @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + */ + +#include +#include + +/dts-v1/; +/plugin/; + +&{/} { + model =3D "AYN Odin 2 Portal"; + compatible =3D "ayntec,odin2portal", "qcom,qcs8550", "qcom,sm8550"; + + vdd_bl_5v0: vdd-bl-5v0-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_bl_5v0"; + + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + + gpio =3D <&tlmm 52 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_disp_2v8: vdd-disp-2v8-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_disp_2v8"; + + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + + gpio =3D <&tlmm 142 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&i2c4 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + touchscreen@38 { + compatible =3D "focaltech,ft5426"; + reg =3D <0x38>; + + interrupt-parent =3D <&tlmm>; + interrupts =3D <25 IRQ_TYPE_EDGE_FALLING>; + + reset-gpios =3D <&tlmm 24 GPIO_ACTIVE_LOW>; + + vcc-supply =3D <&vreg_l14b_3p2>; + iovcc-supply =3D <&vreg_l12b_1p8>; + + pinctrl-0 =3D <&ts_p_rst_default &ts_p_int_default>; + pinctrl-1 =3D <&ts_p_rst_sleep &ts_p_int_sleep>; + pinctrl-names =3D "default", "sleep"; + + touchscreen-size-x =3D <1080>; + touchscreen-size-y =3D <1920>; + touchscreen-swapped-x-y; + touchscreen-inverted-y; + }; +}; + +&remoteproc_adsp { + firmware-name =3D "qcom/sm8550/ayntec/odin2portal/adsp.mbn", + "qcom/sm8550/ayntec/odin2portal/adsp_dtb.mbn"; + status =3D "okay"; +}; + +&spk_amp_l { + firmware-name =3D "qcom/sm8550/ayntec/odin2portal/aw883xx_acf.bin"; +}; + +&spk_amp_r { + firmware-name =3D "qcom/sm8550/ayntec/odin2portal/aw883xx_acf.bin"; +}; + --=20 2.53.0 From nobody Tue Apr 7 19:49:28 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 386023E5566; Wed, 11 Mar 2026 17:44:49 +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=1773251089; cv=none; b=gBzGUaf/we+wXP0xnRYeX2ggJP2Nk5wifsrPrzfsECt4hL5agybbF/thK3DlDMXYa30vFh58H2P0eBUgkitxebzqZQdgVWsajTlhhAxiS1vKRBqSahXX2fJDXIp3KHxo3l4GewqDCio6Fu2BnRnRYcxlsuEmLumOSUN39YcW/F8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773251089; c=relaxed/simple; bh=Snn4VWQT7SVW9kL/VoaljyDqZDqMz/lkLRUIcolj+gc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mKlK2zs3o6pZU4gN06DLlmKoh4lj9KyrCwnMLvCsSCq7cCYthuuaRPo/SQH7r0S9JXBCdOUdhZVzO/qF4zxs62JS34iWX+J5s7kiG0dQ4AIekY1UQQc7HVs6dWxKY3ROli8EpE2I4tguAKjODvtaOjUZ9++V6MnSMSFISjtm7Oo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=u2QlelgR; 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="u2QlelgR" Received: by smtp.kernel.org (Postfix) with ESMTPS id E9D7AC2BCB9; Wed, 11 Mar 2026 17:44:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773251089; bh=Snn4VWQT7SVW9kL/VoaljyDqZDqMz/lkLRUIcolj+gc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=u2QlelgRaMzzRA7K95f/BoAMudUmX38UWSl8xF08WRs4vCARz1jj2jy5jwtTsqs8B Wu8D6whd7ZGvAsmPtqiFTRpaPD+vEfN7wj5XgtWRbk1WDL0fTFlXzwBQUOnTvn825B +ZzOWIqP92ZG41pyQWW4Wn7Wt4fdq4kHC6cHXbcQowLspDeF6j1Yop/SSrPk33DC4N vWDyuH5ppTnz/AHzV8yJCfQ6+lpkj89Zwkgefe1P+u1i7C6Jo9KOF84oTJPAtFqnWT 3oLGaQRzZWVcRgprzfDp8Gsdo+rZ5JxtMWNKaP2d0rHRKFgMiKQ9rPE8csW16dt69/ 0qoqOt0UxpCJA== 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 DEADF1125811; Wed, 11 Mar 2026 17:44:48 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Wed, 11 Mar 2026 12:44:41 -0500 Subject: [PATCH v2 5/5] arm64: dts: qcom: Add AYN Thor 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: <20260311-ayn-qcs8550-v2-5-e66986e0f0cb@gmail.com> References: <20260311-ayn-qcs8550-v2-0-e66986e0f0cb@gmail.com> In-Reply-To: <20260311-ayn-qcs8550-v2-0-e66986e0f0cb@gmail.com> 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, Aaron Kling , Teguh Sobirin X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773251087; l=6460; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=WAn9RJGEkJSPpkS97T2GWsVsa6xwwvX7EYJUhrqpq3U=; b=hFMBakygf4YwZ/MgfrTcFFSPPcBhjRx3B1MvDVltlvCv/P/LzhPGAreD2gDDjyzBrO8A2vIJk XnREXOqI+KCBzb5o/9ZPl3gJCI2X4yAy3V3gJ5KsaFXNpPuilI2EysG X-Developer-Key: i=webgeek1234@gmail.com; a=ed25519; pk=TQwd6q26txw7bkK7B8qtI/kcAohZc7bHHGSD7domdrU= X-Endpoint-Received: by B4 Relay for webgeek1234@gmail.com/20250217 with auth_id=342 X-Original-From: Aaron Kling Reply-To: webgeek1234@gmail.com From: Teguh Sobirin The AYN Thor is a high-performance Android-based handheld gaming console powered by the Qualcomm Snapdragon 8 Gen 2 processor featuring dual AMOLED touchscreens. Signed-off-by: Teguh Sobirin Co-developed-by: Aaron Kling Signed-off-by: Aaron Kling --- arch/arm64/boot/dts/qcom/Makefile | 2 + arch/arm64/boot/dts/qcom/qcs8550-ayntec-thor.dtso | 223 ++++++++++++++++++= ++++ 2 files changed, 225 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index c4226223203dfbbc5f9f79e88433398ca6a0307a..31759e49eb3ad661e0a0ded4f58= bd61ec3f234aa 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -168,6 +168,8 @@ qcs8550-ayntec-odin2mini-dtbs :=3D qcs8550-ayntec-commo= n.dtb qcs8550-ayntec-odin2m dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8550-ayntec-odin2mini.dtb qcs8550-ayntec-odin2portal-dtbs :=3D qcs8550-ayntec-common.dtb qcs8550-ayn= tec-odin2portal.dtbo dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8550-ayntec-odin2portal.dtb +qcs8550-ayntec-thor-dtbs :=3D qcs8550-ayntec-common.dtb qcs8550-ayntec-tho= r.dtbo +dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8550-ayntec-thor.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs9100-ride.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs9100-ride-r3.dtb =20 diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayntec-thor.dtso b/arch/arm64= /boot/dts/qcom/qcs8550-ayntec-thor.dtso new file mode 100644 index 0000000000000000000000000000000000000000..65f2a820d08268671ac5beb959c= 1d79cde43015d --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs8550-ayntec-thor.dtso @@ -0,0 +1,223 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + */ + +#include +#include +#include + +/dts-v1/; +/plugin/; + +&{/} { + model =3D "AYN Thor"; + compatible =3D "ayntec,thor", "qcom,qcs8550", "qcom,sm8550"; + + gpio-keys { + compatible =3D "gpio-keys"; + + pinctrl-0 =3D <&volume_up_n &key_ayn_n>; + + key-ayn { + label =3D "AYN Key"; + debounce-interval =3D <15>; + gpios =3D <&tlmm 41 GPIO_ACTIVE_LOW>; + linux,code =3D ; + linux,can-disable; + }; + + switch-lid { + label =3D "Hall Lid Sensor"; + gpios =3D <&tlmm 17 GPIO_ACTIVE_LOW>; + linux,input-type =3D ; + linux,code =3D ; + linux,can-disable; + wakeup-source; + }; + }; + + vdd_bl_5v0: vdd-bl-5v0-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_bl_5v0"; + + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + + gpio =3D <&tlmm 52 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_disp_1v8: vdd-disp-1v8-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_disp_1v8"; + + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + + gpio =3D <&tlmm 70 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_disp1_2v8: vdd-disp1-2v8-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_disp1_2v8"; + + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + + gpio =3D <&tlmm 142 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_disp2_2v8: vdd-disp2-2v8-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_disp2_2v8"; + + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + + gpio =3D <&tlmm 143 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_ts_3v0: vdd-ts-3v0-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_ts_3v0"; + + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3000000>; + + gpio =3D <&tlmm 144 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + vdd_ts_1v8: vdd-ts-1v8-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_ts_1v8"; + + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + + gpio =3D <&tlmm 102 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&i2c4 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + touchscreen@38 { + compatible =3D "focaltech,ft5426"; + reg =3D <0x38>; + + interrupt-parent =3D <&tlmm>; + interrupts =3D <25 IRQ_TYPE_EDGE_FALLING>; + + reset-gpios =3D <&tlmm 24 GPIO_ACTIVE_LOW>; + + vcc-supply =3D <&vreg_l14b_3p2>; + iovcc-supply =3D <&vreg_l12b_1p8>; + + pinctrl-0 =3D <&ts_p_rst_default &ts_p_int_default>; + pinctrl-1 =3D <&ts_p_rst_sleep &ts_p_int_sleep>; + pinctrl-names =3D "default", "sleep"; + + touchscreen-size-x =3D <1080>; + touchscreen-size-y =3D <1920>; + touchscreen-swapped-x-y; + touchscreen-inverted-x; + }; +}; + +&i2c_hub_3 { + clock-frequency =3D <100000>; + status =3D "okay"; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + touchscreen@38 { + compatible =3D "focaltech,ft5452"; + reg =3D <0x38>; + + interrupt-parent =3D <&tlmm>; + interrupts =3D <15 IRQ_TYPE_EDGE_FALLING>; + + reset-gpios =3D <&tlmm 14 GPIO_ACTIVE_LOW>; + + vcc-supply =3D <&vdd_ts_3v0>; + iovcc-supply =3D <&vdd_ts_1v8>; + + pinctrl-0 =3D <&ts_s_rst_default &ts_s_int_default>; + pinctrl-1 =3D <&ts_s_rst_sleep &ts_s_int_sleep>; + pinctrl-names =3D "default", "sleep"; + + touchscreen-size-x =3D <1080>; + touchscreen-size-y =3D <1240>; + touchscreen-swapped-x-y; + touchscreen-inverted-x; + }; +}; + +&mdss_dsi0 { + vdda-supply =3D <&vreg_l3e_1p2>; + status =3D "okay"; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + panel@0 { + reg =3D <0>; + + port { + panel0_in: endpoint { + remote-endpoint =3D <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint =3D <&panel0_in>; + data-lanes =3D <0 1 2 3>; +}; + +&mdss_dsi0_phy { + vdds-supply =3D <&vreg_l1e_0p88>; + status =3D "okay"; +}; + +&mdss_dsi1_out { + qcom,te-source =3D "mdp_vsync_s"; +}; + +&pm8550_pwm { + multi-led { + status =3D "disabled"; + }; +}; + +&remoteproc_adsp { + firmware-name =3D "qcom/sm8550/ayntec/thor/adsp.mbn", + "qcom/sm8550/ayntec/thor/adsp_dtb.mbn"; + status =3D "okay"; +}; + +&spk_amp_l { + firmware-name =3D "qcom/sm8550/ayntec/thor/aw883xx_acf.bin"; +}; + +&spk_amp_r { + firmware-name =3D "qcom/sm8550/ayntec/thor/aw883xx_acf.bin"; +}; + +&tlmm { + key_ayn_n: key-ayn-n-state { + pins =3D "gpio41"; + function =3D "gpio"; + bias-pull-up; + output-disable; + }; +}; --=20 2.53.0