From nobody Wed Apr 8 01:17:14 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 6899F22A4E9; Wed, 11 Mar 2026 06:46:26 +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=1773211586; cv=none; b=om8w/vienxsPnyMDA6ZoU3UsLTwau6b8xxXPkXjtA/mCOUsOrYBV7hhTvcb1DIFujxBX7mMwmKGPJciwSFzsE9uBRu7PG3WBCHNABBrDyG5ieBP64BmUkeXONlVdY24p27gPtZsBf7nNLQOgEXGGHKialrOaJmJyEKzLVkUTq1A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773211586; c=relaxed/simple; bh=wF1KZEVCdVVZ0f1bMdPdVe3NOn1+GYueinX/0ZWaEqQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Gwusk1ysa9Fgd1MHcGASwJE+G185h6lyYLgJrgWDA+Ecca5HB0FV2Y/50GgZRTkxxrMwHbu1vJQ9J6bPGN6nDcC67uD2yUiLNxZxBUrCEk3wjqIcdNNg9TgaT/M+d21jjMtVFYOl33yQOEQZMuENIctU1dOou6ZZk7TC3rg3CkE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ovVBBTKr; 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="ovVBBTKr" Received: by smtp.kernel.org (Postfix) with ESMTPS id 3132DC2BC86; Wed, 11 Mar 2026 06:46:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773211586; bh=wF1KZEVCdVVZ0f1bMdPdVe3NOn1+GYueinX/0ZWaEqQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=ovVBBTKrdzyoIQmDSK7VDFEmEjgKZVdVED4FePLozoW3svaWWd7O6xKitL3AN9srz c4XfhKMd6DxEIboechSPqaW+6h1OLZIuBf/Tpr21869G82P5ferXsh6Gr1hOSng4cZ 3ZbGEmy6NZ0WfSQfXJnmCxgQleqXazGlsjMGljB6ZJlcM1j++OydRh3xstjtVbzIha cXpSuGTyBPP3eNep2Fw3w7wOCj3WuKW+dojclUPecvNzGnVcxtAMUvNLEpLKUqiLhH t/7znmPtlnlYMQr/u7RGyWyPD0dnT4n/IcFOHMsQQXyJ4tpsbk9q1J2ggswZs8Nlgr aY6kDp4dLMHmQ== 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 1DF1EFD062E; Wed, 11 Mar 2026 06:46:26 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Wed, 11 Mar 2026 01:46:04 -0500 Subject: [PATCH 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-v1-1-fe8b2faad1ea@gmail.com> References: <20260311-ayn-qcs8550-v1-0-fe8b2faad1ea@gmail.com> In-Reply-To: <20260311-ayn-qcs8550-v1-0-fe8b2faad1ea@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=1773211585; l=1012; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=+Qzgj7Je2lOZICmiCh1V93HenVV6Sr8z3B2tW7C6ewE=; b=f/EKG8wcXT0/9ZKHoKGbbCxs00XOhxTt8e9V0+Wzarl5eUp9YHdLWIK1WSgX9uEJZDdZGmWAH 1nGzjc1n6PwBqK0K+hDOvoboxQOK0tx2MBZPnaCoWxe3Rg7ws5IvKVg 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 d48c625d3fc42f1a90f76a020753ae4daec8c5ea..71ae7b0795c0df42e5a5afa5d18= afa73202e02bf 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -1055,6 +1055,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 Wed Apr 8 01:17:14 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 69C97296BCD; Wed, 11 Mar 2026 06:46:26 +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=1773211586; cv=none; b=F2r+5QRBwg4xVuMFoiGg1r5JapigCXXQV8KSxGg5dHUw0AqgJfidF0A7rJ1rvNfQu/I57c11uxTlsbx7RKa0T0ewx5qnvjPB3BwndNN7FoiND65h4ogb7BMHGzIHA4OGEjDZSR7+jbyEPZ4cTw5oXqgTp7kcdGp8L939cukvOvs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773211586; c=relaxed/simple; bh=jdbpK+Zt2C9yuR4L6KmKFvISsGUBHl5rWHLox62rpls=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=u+Gh+cOaiiXSrRQNH8TV6On92+DCPMi+KMDABIBVnHqO28pgyYcWxaMNe3FP53BPdFU3DUWc6A8u8UKcR6kHRx1uhlPJjYuEDYrEXTkUeYIrS2drBgrmket7R31bCV57OWtb9dSbdh/66zigGRm86kyC4hboDJuTicqV/RQjhmU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OBgwRUou; 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="OBgwRUou" Received: by smtp.kernel.org (Postfix) with ESMTPS id 3E861C2BCB1; Wed, 11 Mar 2026 06:46:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773211586; bh=jdbpK+Zt2C9yuR4L6KmKFvISsGUBHl5rWHLox62rpls=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=OBgwRUou0Ol6JlpjUuCU8iZucr+GDy9CPLg8btF6SBEQa1RiSlKBfOBXNviRhlBMV rH154HYUMQmSNadvAZkx3aR+zjg2YQ+6JEGWn0ZTqd0ILrTVTpRdS52hYcII8z3Tq0 CTCNNgSJ8ymBDPGbZz1gNGiX6Q742n7Cehb2SMbA181R5oZ1GhMybFpLYEHIXHEjxu rSNOdcE8FrC0IBBQ14aP98eqNnr6mdzDtgkVtftdfgCGTxkVCpWlYoFlxiW8BxEfrI USl6Xhhml27uX8CqVfMDR9CcwyE9kClTJ+SkivER7BnNaLjnS9WU59nffnaaKpzGHM Kh3lJ5Mng94vA== 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 367ABFD0631; Wed, 11 Mar 2026 06:46:26 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Wed, 11 Mar 2026 01:46:05 -0500 Subject: [PATCH 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-v1-2-fe8b2faad1ea@gmail.com> References: <20260311-ayn-qcs8550-v1-0-fe8b2faad1ea@gmail.com> In-Reply-To: <20260311-ayn-qcs8550-v1-0-fe8b2faad1ea@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=1773211585; l=41558; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=sOZJRjRElDq7Sq86ax+XFB03dYkfwQlvtqRDxL9xZ74=; b=idhq2ly3mBt75bZu340PBeE7tV+6vKBEbnOw5Fd/qEd4roE4iilCxtfCFHzhtdLxUW2KcfX0W Gz/oZfMU2cCCTDhTwA5ARzdfxietmv+EujHUXnAWOUiH+MXSqu+0BS3 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-authored-by: Aaron Kling Signed-off-by: Aaron Kling --- arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/qcs8550-ayntec-common.dts | 1778 ++++++++++++++++= ++++ 2 files changed, 1779 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index f80b5d9cf1e80e4efcd70f14cef4e7d4a1ec48eb..49f69aed8e383b58e2e02850a43= 5f13c86a498ca 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -148,6 +148,7 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D qcs6490-rb3gen2-vision-mez= zanine.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs6490-thundercomm-rubikpi3.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8300-ride.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..8ca85f4698f9facb673e9b9cb0d= 74f072ff61d53 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs8550-ayntec-common.dts @@ -0,0 +1,1778 @@ +// 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; + serial2 =3D &uart15; + }; + + 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 Wed Apr 8 01:17:14 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 78148299929; Wed, 11 Mar 2026 06:46:26 +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=1773211586; cv=none; b=cfLVR7hLrZtQSFyk0gw65FroG7d7duODY9Kl82HG/4O6F+g+mDbWFF4bXlttjx0gLcDWg2uzsiTjD52cJXSAwkv+ejQgfbpoOXmSFQ+KXXQuLOXoYMrboxH8kv/00Di6Y3/417dYHSRwwMPqNo9qsyQsyJmA3bWLdqzFv+R98AM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773211586; c=relaxed/simple; bh=yAfWWhFBgz7786xMyKttabVk1/GkCVD5HwUdsSqzgXY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=abWnAFbUDCEeN0Ai7vflTujeYalQlyqnlHOxLTSJFH3QyQK/ruTDJSQWmKJw+3rhUSk+NsOlf58o7EmNurcz11oP8YST8aRi0wyb8XI6quP356GLdxtKccDRqRErqHcGyVtYys0yzHyUmCZRglWFsvmna4Dz5F/m5qybmVlGCWw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gOz+cSFY; 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="gOz+cSFY" Received: by smtp.kernel.org (Postfix) with ESMTPS id 4F946C2BCB0; Wed, 11 Mar 2026 06:46:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773211586; bh=yAfWWhFBgz7786xMyKttabVk1/GkCVD5HwUdsSqzgXY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=gOz+cSFYbpJWXg9AMdGzxGsKvG4tFainVBOwByayNzG06jKoRg/o2W+uG1PNAtpeP X7U5PP/m3GiC1PomW1D1c9mWMk80WxRFckKdEfaJue/qn5DfgA0PBw+vSJKKwUS5kw S16FouMgS4olTC/JC8Rmi2jM6L/2yjPglshy9DASGIwH+KBF/LD49+Wh0GVEb+FRsU EfsItSWGOLsZflxdS8d2rKP2KIZ7FL/kbWbrKG6g+7LQ16PFoK/Pi/uxqr1lqLwKPb 16Ilg8tZOmSd4gwUN824yeLzQkZg04Q1QnM5J/4os3zeQD4TlGRP+3Ub/s/3fogtUQ BLVIgNSR6+ERg== 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 4719CFD0621; Wed, 11 Mar 2026 06:46:26 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Wed, 11 Mar 2026 01:46:06 -0500 Subject: [PATCH 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-v1-3-fe8b2faad1ea@gmail.com> References: <20260311-ayn-qcs8550-v1-0-fe8b2faad1ea@gmail.com> In-Reply-To: <20260311-ayn-qcs8550-v1-0-fe8b2faad1ea@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=1773211585; l=4780; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=g6d0l3T/spktFT7y7qi4rhKiZfmwMomeunkxV/5d9BU=; b=qyIw0OAmttmkwveWQxNrjNp/zKniJ5N6bLiIX09MzJX0brSv36EhOtN82NMM9FYMjxuPqHFc3 c106eVbWBXYDZvxztG3y3Ha/IhVWI+9hhwY9Va0w2vC8nmYhyeViG23 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-authored-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 49f69aed8e383b58e2e02850a435f13c86a498ca..d1bed853eefc25092d39fd1d840= d4bc3a97911c5 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -149,6 +149,8 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D qcs6490-thundercomm-rubikp= i3.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs8300-ride.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 Wed Apr 8 01:17:14 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 922E622F388; Wed, 11 Mar 2026 06:46:26 +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=1773211586; cv=none; b=huDIItJsOhCrZLmHXOsDUKlNIHehLaR+mFOdY6dIApgg6VjH5Nbmo0++32y0Pt9EpQmFzeuTnN+dLSFId3FtjE/8Cl0rEa3VzsK7DjoQ7iwR44DuhoAto5+09niY0BkTbIx8p9MTDQ2wNeemGdeSt5NcFVvpOGO7qw+bGBimUmg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773211586; c=relaxed/simple; bh=vBOnw8yghv/EIcA9QT+ZjQ8pghLr8s2Qh5T/B7PIH0I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MQ+Y9jY4J73ioQmDaEX52q32eu55XNvf5o/DeK8kz6v/5bJUCEMgMGoPKZcbQyjBj1VxmITvhwQbSKdE84RfUi/JtfkrXvE6I2nBsnbs+hIjsDMN8laRq6HmoynwCLlzzgdXfF1mz2XmrN1QcrjnI+RQgJNoedDG71V1kDoQwIk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=g9oQja+M; 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="g9oQja+M" Received: by smtp.kernel.org (Postfix) with ESMTPS id 62342C2BCB5; Wed, 11 Mar 2026 06:46:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773211586; bh=vBOnw8yghv/EIcA9QT+ZjQ8pghLr8s2Qh5T/B7PIH0I=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=g9oQja+M1FCsYw68hE6gLhq0yjdesu5Br6mRQNqN4Lhh8oAz9+O4x0b0mKntSOvKv mcGoXTBteVXqiep6XolQKhV6sBQrdG9RCJpfuZ4IqK7wFJzvT/gkH03KLEfJnVZrpW C2NRrTx1xXbCsYb1VKSm37Ox9Zj4ajjP4f0Hptn+xbRfva2wadTilai2NWx65updt7 uSS/SXh+cukTcEx452EUVvsRf+L6JH0+8ME44LepmV6M8FuN+EibzfOm/9q9sBSguz 7D5nDiaQhRHmhY+dH5bk4yyo/jHoJ3R0OhfD8r94NR6I0leR34SPwkiaA+1+9zENT4 78nWsXAkCI5bA== 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 58B19FD0631; Wed, 11 Mar 2026 06:46:26 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Wed, 11 Mar 2026 01:46:07 -0500 Subject: [PATCH 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-v1-4-fe8b2faad1ea@gmail.com> References: <20260311-ayn-qcs8550-v1-0-fe8b2faad1ea@gmail.com> In-Reply-To: <20260311-ayn-qcs8550-v1-0-fe8b2faad1ea@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=1773211585; l=3515; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=nBwiNbTbHdRFCkQ1uUTv1vg+vqE8l7fIu7huEjcbK44=; b=ffa521UAW5P/qLENkuByPsGhdba5O0cLphotUR6kldq3/4kGGXYnlOgjIVLB7azvFOMw0tsN+ Lk5pWYBFI1vBSFMnizjRlcXTiYnQxkOXSuwDZKaxtERzinGa3nJU7O0 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-authored-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 d1bed853eefc25092d39fd1d840d4bc3a97911c5..4e4f870ad68e02c620a8c490665= 285a07a632ecf 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -151,6 +151,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 Wed Apr 8 01:17:14 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 A4EE62D5A19; Wed, 11 Mar 2026 06:46:26 +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=1773211586; cv=none; b=rnGEMeJOxOGJsDwjc8ztACvrzBP/xRpCD/ciQBiXOtXEoFdgtuovNlRP9jRhIRAPMkRj7o1ZQ4b0HH2Ih9Ta6dMxv/hnLjhpmZbax1XPNsCjIAq+QQ1VfYcOTqGtG8IBLaSH7fHmrsTYTru1lMNTa9dElvd/oJCZFcPi1MZzJZk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773211586; c=relaxed/simple; bh=vpap19QpzC/p1OA5yY07Nl0D8YAyOToHHowayg97930=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sy8kEXC/IlVUxm0T46r3rrxmgaro8mmQMITtLZVb+n87ebP+ZjVIqBIE2noEqooydcDRnCXxTgyZabEmOxoRbIWc9RWBXOtEpjr72KRFmyaMhkX39MPjdTb7qETT8+AVqyaje9KS7Ea32havlc0Cyn8G1pv87Z/SKcgrKWnR8eU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rJdZP/IJ; 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="rJdZP/IJ" Received: by smtp.kernel.org (Postfix) with ESMTPS id 7406FC2BCB8; Wed, 11 Mar 2026 06:46:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773211586; bh=vpap19QpzC/p1OA5yY07Nl0D8YAyOToHHowayg97930=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=rJdZP/IJyXyCQ02VeRP5J/YSX8PJluIrhAyb2yxdBfuxJy230bLohce2mK+Vi3ZsR Hlpgf1Ta/p4Gbld3/zJuunx6Nq5ipmGkd61m+ozTCbmHJDez0iUOMvEjky9SnDOqjm CLOwVtYR3A6tJKpXMCaP6GSuHAwJ15VgU9m+xVlZQM9kR81OpnbNON0BFftTmUg67m HWDIyPfpqJlYm8WQGI6JBEEHZN/D4Z1GCXiuImV6IWeP5BSKKKQ2seQZkaLIFVHHjn i0amejwVIYN43p2XPNCldp6LGkRXzbrRo9JTKuLRXrV7fPbzRB1nYm+Zn7vMD+IB8h 2Ymhioiyx3Ydg== 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 6B8EAFD062E; Wed, 11 Mar 2026 06:46:26 +0000 (UTC) From: Aaron Kling via B4 Relay Date: Wed, 11 Mar 2026 01:46:08 -0500 Subject: [PATCH 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-v1-5-fe8b2faad1ea@gmail.com> References: <20260311-ayn-qcs8550-v1-0-fe8b2faad1ea@gmail.com> In-Reply-To: <20260311-ayn-qcs8550-v1-0-fe8b2faad1ea@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=1773211585; l=6459; i=webgeek1234@gmail.com; s=20250217; h=from:subject:message-id; bh=oOK/8C/MTUxbcbYjWVAtSByUswN9MzoGI131ulGzL/Y=; b=v+6+RHNqAoShiIM7HVwOhqIy2+TAQQlhjH/kxmoGeReTl7WW7E5C6by30lcGNR7Zz5f1yyrd9 BuVkY49YsG0ANxcu1JIrbW8TP+bn9EbqvlsGRnBKjCDXsOOIag5RbzX 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-authored-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 4e4f870ad68e02c620a8c490665285a07a632ecf..427d8449b332caefa93780cb023= 5e94d24eb5ac5 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -153,6 +153,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