From nobody Thu Oct 2 19:04:25 2025 Received: from smtpbgeu2.qq.com (smtpbgeu2.qq.com [18.194.254.142]) (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 3C04B2D63EE for ; Fri, 12 Sep 2025 08:04:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=18.194.254.142 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757664249; cv=none; b=C3J5jKGqPtEVNQsqSGGC5PqdHh3AKRUuBDESY3mWxQkMCSa5M9koa+kKGYDfqU6V4UJDie6BKm+ZX6xPSPqbU7s4OhptUhXZnvYfQTVZxRMIhAy+PbYxdWDpktTcT+LawNu7jlZTKCn6Yb9MZXEhlOSnjwOnvo56yQxyZMT/PCg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757664249; c=relaxed/simple; bh=qio0UgqqCiVlwo/iotJR5Jswa+50RwT6XpwD/Gsmz3A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BHuqhp1tbH6JueFbim5Vcx48cmexkG5e1QUbr2kyOtwp9FSCE+IsKG2roM7Von40aUZv0vMmy4NO+xtxR0CAdBq8HQ7IIPEkM3WwLwkJSkm4ygRLTbP4XDiyFe5xDT9kIkD3EUI+yZ0JjxGRRlTZP/U6yF7YP2cjN0Ip+Tn+xoc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=radxa.com; spf=pass smtp.mailfrom=radxa.com; arc=none smtp.client-ip=18.194.254.142 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=radxa.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=radxa.com X-QQ-mid: zesmtpip2t1757664236t834c71fe X-QQ-Originating-IP: jhVYbhvFGzYgONTpQJQh5yssDPWy/gomue/4E6PK6CM= Received: from [192.168.30.36] ( [localhost]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 12 Sep 2025 16:03:50 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 15272649383679166477 EX-QQ-RecipientCnt: 12 From: Xilin Wu Date: Fri, 12 Sep 2025 16:03:29 +0800 Subject: [PATCH RFC 1/2] dt-bindings: arm: qcom: Add Radxa Dragon Q6A 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: <20250912-radxa-dragon-q6a-v1-1-8ccdbf9cd19b@radxa.com> References: <20250912-radxa-dragon-q6a-v1-0-8ccdbf9cd19b@radxa.com> In-Reply-To: <20250912-radxa-dragon-q6a-v1-0-8ccdbf9cd19b@radxa.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, Neil Armstrong , Viken Dadhaniya , Ram Kumar Dwivedi , Xilin Wu X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1757664226; l=857; i=sophon@radxa.com; s=20240424; h=from:subject:message-id; bh=qio0UgqqCiVlwo/iotJR5Jswa+50RwT6XpwD/Gsmz3A=; b=deD0zGERvHRRT5r7tFEe841uDvgXGxjdpGVeG5CVxCydoNx98lqgON9oefV4ETLSNdjxK8jsd WfauGTV6JywA7ue0NbjHsIX/RTm5CK3u8B+69h5HWh7jZEFdgp8aXCj X-Developer-Key: i=sophon@radxa.com; a=ed25519; pk=vPnxeJnlD/PfEbyQPZzaay5ezxI/lMrke7qXy31lSM8= X-QQ-SENDSIZE: 520 Feedback-ID: zesmtpip:radxa.com:qybglogicsvrgz:qybglogicsvrgz8a-1 X-QQ-XMAILINFO: N0fHFfxtkpsjXy94aYe8CiLRobnW0Ov/2Mro1J6DWcOAgfopvVl7SHfh Sr/f1Shc1kOy5AxLXEGx/bM+xpUdnoMiT938wg6Ka7B+Uq8dFcIAgikr8dg2jeLZPk2Y1o7 0qqKngi3BD9CgI5cLv6UNfjp0ad56f2S9R9kHuNUOsdesgYt230BwH/sJ36tVr5UNIJLsWQ UX6jG0zkyujoxvg5I1qx3LJ86TnNUZERumJZJ4lSwwdg4GjrgLKHl8r4veX5QL/xNM0tCDO Q5+7YCGEZsn3IDb9clixI/kqwmKIaRwP1IlawdsFeZ5GYiYYnYwxITU/We3N61Ync6aBy2N ucMqVknur2tm7BMK02P6VajI6FtSJ+M3liNwjqzs0NMCOuCHu9BW+8N/5ob/1eh/pfViZOB 380tqCfs13oMsddJfzxIofv6JZ+1is8yEsNy2tXcLTuHXjSHahJJ8JHYyY6qoIeB4qdD+Xg f6dmuQFT+NPrfgaYEvwnerstQKO42zIsJaMoBsx8REgZKg4W9wOck+AtSaSIjBmTePE6Xvn Rnw/GFqv+cKcaw/ORiD1ORYXgjfRlFp0X0PjxPLoJ/SkKdrkKlwtTQlHmAAvDucxDaywIFO gBRCHGm9ZXrJiyItzeZg4gevEvWhOXW90NryH/1GUOFYcgY+EIGtpSB0uD+p+TigOOBhp8S k0OUDExxNEohXRbRyCW75rnI7P8mqwOfP49GQY6lJTP/31GP8YonzyCf4eavUCSZJZD6K+S r4KSzq3BFtGdTveL1V36i7ey6gcxTj5mgis1ANT5cx3Q9KfPcFHVqhl0DzQFacF41owf5Dz zrdRS4FOS4QXVmv6yuKCyeHj2nS9GEzI1GTc6io0TZsJHh3sHmFqpelUvk1IOvx/D7HhYyq U5ABr+9xCUleV2PYGPcWdoxY1tNJ0rUp1AWR0sWNGwkb2i5JR5Ku5dALnJT7hYK39catB8Q CB6YAiIA7AfQ1WFBxhGvijJE8x6qvxbfn+qOfOxGuTZhuNeO8pkZSSxrb9AGPprcotwc= X-QQ-XMRINFO: NS+P29fieYNw95Bth2bWPxk= X-QQ-RECHKSPAM: 0 Radxa Dragon Q6A is a single board computer, based on the Qualcomm QCS6490 platform. Document the top-level compatible for this board. Signed-off-by: Xilin Wu Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/arm/qcom.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentatio= n/devicetree/bindings/arm/qcom.yaml index 0a3222d6f3686f1647b9e2ea192c175b0b96d48a..a7469a51adf0d6ebc1bf25acce8= f125a844dcdbf 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -339,6 +339,7 @@ properties: - fairphone,fp5 - qcom,qcm6490-idp - qcom,qcs6490-rb3gen2 + - radxa,dragon-q6a - shift,otter - const: qcom,qcm6490 =20 --=20 2.51.0 From nobody Thu Oct 2 19:04:25 2025 Received: from smtpbgsg2.qq.com (smtpbgsg2.qq.com [54.254.200.128]) (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 E08522D4B6F for ; Fri, 12 Sep 2025 08:04:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.254.200.128 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757664254; cv=none; b=tsSeegWeuxoim0wsyhKUkZv4r9edR1dqw8EXGttNrD4YJc8ci0cvMFa941AaJTuG6WUtHJnrtPeHh/quwC4pWhi9MkatV31SanWC701h/9dbTj5F7NEHs6wdo64XStDYDHNjXi2BKuXyHJM+Hcr2G47XD0p3RhYkG4CX0RvwpU8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757664254; c=relaxed/simple; bh=Iizr37odpaD6620ew3RHzdz+KdJhP0nVZ7QsG4FzZL4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Gv6j8byKzc1r0+LeySGdzvkClpbqAlGFGzP8W2pqfDhyIKdxrVzcFzPe7tKDHVt5VdhnndK390yJtDBkP6VVr/l3mmp0wT1svxNgyhaPUjnMi52EUumiXh97OX3ESh6r6uTjwt5xUQEEB2jaulGcZBnP03q5l9P6CY+Nw+rnY+E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=radxa.com; spf=pass smtp.mailfrom=radxa.com; arc=none smtp.client-ip=54.254.200.128 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=radxa.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=radxa.com X-QQ-mid: zesmtpip2t1757664241t77c4918d X-QQ-Originating-IP: 5faA+BLtnXQmki9Bqghx7Taoo0hgiRYSa+csZqkWMPE= Received: from [192.168.30.36] ( [localhost]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 12 Sep 2025 16:03:57 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 1252713514170312188 EX-QQ-RecipientCnt: 12 From: Xilin Wu Date: Fri, 12 Sep 2025 16:03:30 +0800 Subject: [PATCH RFC 2/2] arm64: dts: qcom: qcs6490: Introduce Radxa Dragon Q6A 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: <20250912-radxa-dragon-q6a-v1-2-8ccdbf9cd19b@radxa.com> References: <20250912-radxa-dragon-q6a-v1-0-8ccdbf9cd19b@radxa.com> In-Reply-To: <20250912-radxa-dragon-q6a-v1-0-8ccdbf9cd19b@radxa.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, Neil Armstrong , Viken Dadhaniya , Ram Kumar Dwivedi , Xilin Wu X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1757664226; l=28297; i=sophon@radxa.com; s=20240424; h=from:subject:message-id; bh=Iizr37odpaD6620ew3RHzdz+KdJhP0nVZ7QsG4FzZL4=; b=Ng/246dPXdoNdkIpavCIMMrU/MiQtve21MSVjxB1LaZA7E3ThWUOdrY75Y0ay+Xguv/5TolPe sQs5LrJCx7eBqPIzKOXPyNnLM+hbFueqjf3UIDOPArHZr7u2fc0T8C7 X-Developer-Key: i=sophon@radxa.com; a=ed25519; pk=vPnxeJnlD/PfEbyQPZzaay5ezxI/lMrke7qXy31lSM8= X-QQ-SENDSIZE: 520 Feedback-ID: zesmtpip:radxa.com:qybglogicsvrgz:qybglogicsvrgz8a-1 X-QQ-XMAILINFO: NTKLhAr1FrNKa7q83gYkm9eYA1G6IzxYPTsmo8n9w0iafG5biz/GBTZ5 WFvxXYCMjActcccMseUBfDQBJAYPlBHWdcd4urz/TfLqdZEuJCSkCGOW54w+Qn674g8CYz+ wrC6/0PaXzNvPZgw9Gi3lKQ71ZsPGSYEb7IF7ZIpeNkGVZ20bnMJZxX6h1icWzRhrKqqLOo kohHNfawPLolrcfkLv5nArGPONEMbEUrg3uE1DK3Czlg2p6GPnrxcSPaDto4bnsEIhv4FkJ +qG3e7c+7COqlTkl9YycRxkZGCGaqrh8tt9q0SQXHLDOkSliX6AfNyg8ZgmxWW5C4mjDV4A heydeAO5Rj2Ed6ftEnLuiDt5O/Zjwt0FWR5ijCL8kjW6cHn9KrsxxyHyxm1gMiHgXizwhLV mLwZmXIaCKaP6+w/afPsWm0qoLBacyvBnxJAT8W/SQQEuYwkjQOLNCbeQsg4G1ifT+DR1M2 3aG5RvzEj0kuLKkSycz/zAwv7tCWcbRsVDWeoyEExOSz1uHCcr7rDKhOG7sFOmEDMQHuz7c jApTev2/nalxv/1bQ9k9PHXTfg2cYmzHl59tZKxxuvTpNNYHz1ZDGcUngvsylbFf4mk7PZs twRbvutud9DZMft90VrzIOPw/OqE9BgHzQAcXrcLEqBOYlG3T/lx4VqLUUSslW9WRFO144y +QRl4DTkTtj9cXuUjLKiCpKLFcMPpJB7YzfEkAXizf3cw/M0ARsfbxcTQg0EBSq40E6+KtC MgKCjOKg/kjNODm66mHM+UOfGb0wVWn5vQqDtFWdMKW9sank4rdV6pElljUIyiodM4Vh6gM 7n2i83XIw/Opulws+ATMdhlWPVsgbeXOZRMTu0GCncC9u3MBVE6KBlic5519UDcPlDKWRJn CtsdsYqjEPH+9Izlvzqq3HMIZriDoTGlVvua7e/KNE+FiwmHoBRorp57BsR74IBL7/g1Zxp SISAr7MTrMCIMNVdsjb3TVONrdEDq539/7PUoZ+rO0j+AM/GP9JUetIBZ6rbw+6J0+NCqPp +2w7+8vGCtdPktR97VI1W1dJq4QMA= X-QQ-XMRINFO: NS+P29fieYNw95Bth2bWPxk= X-QQ-RECHKSPAM: 0 Radxa Dragon Q6A is a single board computer, based on the Qualcomm QCS6490 platform. This is currently posted as RFC. More details are in the cover letter. Signed-off-by: Xilin Wu Reviewed-by: Krzysztof Kozlowski --- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 1208 ++++++++++++++++= ++++ 2 files changed, 1209 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index 5b52f9e4e5f31ac5a398d0762337a0a31af1f4dd..3a246adb0c435d7b08dda404ed2= bcb2a9c8c48b0 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -120,6 +120,7 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D qcm6490-shift-otter.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs404-evb-1000.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs404-evb-4000.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs615-ride.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D qcs6490-radxa-dragon-q6a.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs6490-rb3gen2.dtb =20 qcs6490-rb3gen2-vision-mezzanine-dtbs :=3D qcs6490-rb3gen2.dtb qcs6490-rb3= gen2-vision-mezzanine.dtbo diff --git a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts b/arch/a= rm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts new file mode 100644 index 0000000000000000000000000000000000000000..ed6e2c7ab2acecce13c8bea3af6= c87cf598cd00a --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts @@ -0,0 +1,1208 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025 Radxa Computer (Shenzhen) Co., Ltd. + */ + +/dts-v1/; + +/* PM7250B is configured to use SID8/9 */ +#define PM7250B_SID 8 +#define PM7250B_SID1 9 + +#include +#include +#include +#include +#include +#include "sc7280.dtsi" +#include "pm7250b.dtsi" +#include "pm7325.dtsi" +#include "pm8350c.dtsi" /* PM7350C */ +#include "pmk8350.dtsi" /* PMK7325 */ +#include "qcs6490-audioreach.dtsi" + +/delete-node/ &adsp_mem; +/delete-node/ &cdsp_mem; +/delete-node/ &ipa_fw_mem; +/delete-node/ &mpss_mem; +/delete-node/ &remoteproc_mpss; +/delete-node/ &remoteproc_wpss; +/delete-node/ &rmtfs_mem; +/delete-node/ &video_mem; +/delete-node/ &wifi; +/delete-node/ &wlan_ce_mem; +/delete-node/ &wlan_fw_mem; +/delete-node/ &wpss_mem; +/delete-node/ &xbl_mem; + +/ { + model =3D "Radxa Dragon Q6A"; + compatible =3D "radxa,dragon-q6a", "qcom,qcm6490"; + chassis-type =3D "embedded"; + + aliases { + mmc0 =3D &sdhc_1; + mmc1 =3D &sdhc_2; + serial0 =3D &uart5; + }; + + wcd938x: audio-codec { + compatible =3D "qcom,wcd9380-codec"; + + pinctrl-0 =3D <&wcd_default>; + pinctrl-names =3D "default"; + + reset-gpios =3D <&tlmm 83 GPIO_ACTIVE_LOW>; + + vdd-rxtx-supply =3D <&vreg_l18b_1p8>; + vdd-io-supply =3D <&vreg_l18b_1p8>; + vdd-buck-supply =3D <&vreg_l17b_1p8>; + vdd-mic-bias-supply =3D <&vreg_bob_3p296>; + + qcom,micbias1-microvolt =3D <1800000>; + qcom,micbias2-microvolt =3D <1800000>; + qcom,micbias3-microvolt =3D <1800000>; + qcom,micbias4-microvolt =3D <1800000>; + qcom,mbhc-buttons-vthreshold-microvolt =3D <75000 150000 237000 500000 5= 00000 500000 500000 500000>; + qcom,mbhc-headset-vthreshold-microvolt =3D <1700000>; + qcom,mbhc-headphone-vthreshold-microvolt =3D <50000>; + qcom,rx-device =3D <&wcd_rx>; + qcom,tx-device =3D <&wcd_tx>; + + qcom,hphl-jack-type-normally-closed; + + #sound-dai-cells =3D <1>; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + usb3_con: connector { + compatible =3D "usb-a-connector"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + usb3_con_hs_in: endpoint { + remote-endpoint =3D <&usb_1_dwc3_hs>; + }; + }; + + port@1 { + reg =3D <1>; + + usb3_con_ss_in: endpoint { + remote-endpoint =3D <&usb_dp_qmpphy_out_usb>; + }; + }; + }; + }; + + hdmi-bridge { + compatible =3D "radxa,ra620"; + + pinctrl-0 =3D <&dp_hot_plug_det>; + pinctrl-names =3D "default"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + hdmi_bridge_in: endpoint { + remote-endpoint =3D <&usb_dp_qmpphy_out_dp>; + }; + }; + + port@1 { + reg =3D <1>; + + hdmi_bridge_out: endpoint { + remote-endpoint =3D <&hdmi_connector_in>; + }; + }; + }; + }; + + hdmi-connector { + compatible =3D "hdmi-connector"; + label =3D "hdmi"; + type =3D "a"; + + port { + hdmi_connector_in: endpoint { + remote-endpoint =3D <&hdmi_bridge_out>; + }; + }; + }; + + leds { + compatible =3D "gpio-leds"; + + pinctrl-0 =3D <&user_led>; + pinctrl-names =3D "default"; + + user-led { + color =3D ; + function =3D LED_FUNCTION_HEARTBEAT; + gpios =3D <&tlmm 42 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "heartbeat"; + }; + }; + + reserved-memory { + xbl_mem: xbl@80700000 { + reg =3D <0x0 0x80700000 0x0 0x100000>; + no-map; + }; + + cdsp_secure_heap_mem: cdsp-secure-heap@81800000 { + reg =3D <0x0 0x81800000 0x0 0x1e00000>; + no-map; + }; + + camera_mem: camera@84300000 { + reg =3D <0x0 0x84300000 0x0 0x500000>; + no-map; + }; + + adsp_mem: adsp@84800000 { + reg =3D <0x0 0x84800000 0x0 0x2800000>; + no-map; + }; + + cdsp_mem: cdsp@87000000 { + reg =3D <0x0 0x87000000 0x0 0x1e00000>; + no-map; + }; + + video_mem: video@88e00000 { + reg =3D <0x0 0x88e00000 0x0 0x700000>; + no-map; + }; + + cvp_mem: cvp@89500000 { + reg =3D <0x0 0x89500000 0x0 0x500000>; + no-map; + }; + + gpu_microcode_mem: gpu-microcode@89a00000 { + reg =3D <0x0 0x89a00000 0x0 0x2000>; + no-map; + }; + + tz_stat_mem: tz-stat@c0000000 { + reg =3D <0x0 0xc0000000 0x0 0x100000>; + no-map; + }; + + tags_mem: tags@c0100000 { + reg =3D <0x0 0xc0100000 0x0 0x1200000>; + no-map; + }; + + qtee_mem: qtee@c1300000 { + reg =3D <0x0 0xc1300000 0x0 0x500000>; + no-map; + }; + + trusted_apps_mem: trusted-apps@c1800000 { + reg =3D <0x0 0xc1800000 0x0 0x1c00000>; + no-map; + }; + + debug_vm_mem: debug-vm@d0600000 { + reg =3D <0x0 0xd0600000 0x0 0x100000>; + no-map; + }; + }; + + thermal-zones { + msm-skin-thermal { + polling-delay-passive =3D <0>; + thermal-sensors =3D <&pmk8350_adc_tm 2>; + }; + + quiet-thermal { + polling-delay-passive =3D <0>; + thermal-sensors =3D <&pmk8350_adc_tm 1>; + }; + + ufs-thermal { + polling-delay-passive =3D <0>; + thermal-sensors =3D <&pmk8350_adc_tm 3>; + }; + + xo-thermal { + polling-delay-passive =3D <0>; + thermal-sensors =3D <&pmk8350_adc_tm 0>; + }; + }; + + vcc_1v8: regulator-vcc-1v8 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc_1v8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + vin-supply =3D <&vcc_5v_peri>; + + regulator-boot-on; + regulator-always-on; + }; + + vcc_3v3: regulator-vcc-3v3 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc_3v3"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + vin-supply =3D <&vcc_5v_peri>; + + regulator-boot-on; + regulator-always-on; + }; + + vcc_5v_peri: regulator-vcc-5v-peri { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc_5v_peri"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + vin-supply =3D <&vph_pwr>; + + regulator-boot-on; + regulator-always-on; + }; + + vph_pwr: regulator-vph-pwr { + compatible =3D "regulator-fixed"; + regulator-name =3D "vph_pwr"; + regulator-min-microvolt =3D <3700000>; + regulator-max-microvolt =3D <3700000>; + + regulator-boot-on; + regulator-always-on; + }; +}; + +&apps_rsc { + regulators-0 { + compatible =3D "qcom,pm7325-rpmh-regulators"; + qcom,pmic-id =3D "b"; + + 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>; + vdd-s7-supply =3D <&vph_pwr>; + vdd-s8-supply =3D <&vph_pwr>; + vdd-l1-l4-l12-l15-supply =3D <&vreg_s7b_0p536>; + vdd-l2-l7-supply =3D <&vreg_bob_3p296>; + vdd-l3-supply =3D <&vreg_s2b_0p572>; + vdd-l5-supply =3D <&vreg_s2b_0p572>; + vdd-l6-l9-l10-supply =3D <&vreg_s8b_1p2>; + vdd-l8-supply =3D <&vreg_s7b_0p536>; + vdd-l11-l17-l18-l19-supply =3D <&vreg_s1b_1p84>; + vdd-l13-supply =3D <&vreg_s7b_0p536>; + vdd-l14-l16-supply =3D <&vreg_s8b_1p2>; + + vreg_s1b_1p84: smps1 { + regulator-name =3D "vreg_s1b_1p84"; + regulator-min-microvolt =3D <1840000>; + regulator-max-microvolt =3D <2040000>; + }; + + vreg_s2b_0p572: smps2 { + regulator-name =3D "vreg_s2b_0p572"; + regulator-min-microvolt =3D <572000>; + regulator-max-microvolt =3D <1048000>; + }; + + vreg_s7b_0p536: smps7 { + regulator-name =3D "vreg_s7b_0p536"; + regulator-min-microvolt =3D <536000>; + regulator-max-microvolt =3D <1120000>; + }; + + vreg_s8b_1p2: smps8 { + regulator-name =3D "vreg_s8b_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1496000>; + regulator-initial-mode =3D ; + }; + + vreg_l1b_0p912: ldo1 { + regulator-name =3D "vreg_l1b_0p912"; + regulator-min-microvolt =3D <832000>; + regulator-max-microvolt =3D <920000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l2b_3p072: ldo2 { + regulator-name =3D "vreg_l2b_3p072"; + regulator-min-microvolt =3D <2704000>; + regulator-max-microvolt =3D <3544000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l6b_1p2: ldo6 { + regulator-name =3D "vreg_l6b_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1256000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l7b_2p96: ldo7 { + regulator-name =3D "vreg_l7b_2p96"; + regulator-min-microvolt =3D <2960000>; + regulator-max-microvolt =3D <2960000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l9b_1p2: ldo9 { + regulator-name =3D "vreg_l9b_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1304000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l17b_1p8: ldo17 { + regulator-name =3D "vreg_l17b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1896000>; + regulator-initial-mode =3D ; + }; + + vreg_l18b_1p8: ldo18 { + regulator-name =3D "vreg_l18b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2000000>; + regulator-initial-mode =3D ; + regulator-always-on; + }; + + vreg_l19b_1p8: ldo19 { + regulator-name =3D "vreg_l19b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2000000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + regulators-1 { + compatible =3D "qcom,pm8350c-rpmh-regulators"; + qcom,pmic-id =3D "c"; + + 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>; + vdd-s7-supply =3D <&vph_pwr>; + vdd-s8-supply =3D <&vph_pwr>; + vdd-s9-supply =3D <&vph_pwr>; + vdd-s10-supply =3D <&vph_pwr>; + vdd-l1-l12-supply =3D <&vreg_s1b_1p84>; + vdd-l2-l8-supply =3D <&vreg_s1b_1p84>; + vdd-l3-l4-l5-l7-l13-supply =3D <&vreg_bob_3p296>; + vdd-l6-l9-l11-supply =3D <&vreg_bob_3p296>; + vdd-l10-supply =3D <&vreg_s7b_0p536>; + vdd-bob-supply =3D <&vph_pwr>; + + vreg_l1c_1p8: ldo1 { + regulator-name =3D "vreg_l1c_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1976000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l6c_2p96: ldo6 { + regulator-name =3D "vreg_l6c_2p96"; + regulator-min-microvolt =3D <1650000>; + regulator-max-microvolt =3D <3544000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l9c_2p96: ldo9 { + regulator-name =3D "vreg_l9c_2p96"; + regulator-min-microvolt =3D <2704000>; + regulator-max-microvolt =3D <3544000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l10c_0p88: ldo10 { + regulator-name =3D "vreg_l10c_0p88"; + regulator-min-microvolt =3D <720000>; + regulator-max-microvolt =3D <1048000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_bob_3p296: bob { + regulator-name =3D "vreg_bob_3p296"; + regulator-min-microvolt =3D <3032000>; + regulator-max-microvolt =3D <3960000>; + }; + }; +}; + +&gcc { + protected-clocks =3D , + , + , + , + , + , + , + , + , + , + ; +}; + +&gpi_dma0 { + status =3D "okay"; +}; + +&gpi_dma1 { + status =3D "okay"; +}; + +&gpu { + status =3D "okay"; +}; + +&gpu_zap_shader { + firmware-name =3D "qcom/qcs6490/a660_zap.mbn"; +}; + +/* Pin 13, 15 in GPIO header */ +&i2c0 { + qcom,enable-gsi-dma; + status =3D "okay"; +}; + +/* Pin 27, 28 in GPIO header */ +&i2c2 { + qcom,enable-gsi-dma; + status =3D "okay"; +}; + +/* Pin 3, 5 in GPIO header */ +&i2c6 { + qcom,enable-gsi-dma; + status =3D "okay"; +}; + +&i2c10 { + qcom,enable-gsi-dma; + status =3D "okay"; + + rtc: rtc@68 { + compatible =3D "st,m41t11"; + reg =3D <0x68>; + }; +}; + +/* External touchscreen */ +&i2c13 { + qcom,enable-gsi-dma; + status =3D "okay"; +}; + +/* It takes a long time in ufshcd_init_crypto when enabled */ +&ice { + status =3D "disabled"; +}; + +&lpass_audiocc { + compatible =3D "qcom,qcm6490-lpassaudiocc"; + /delete-property/ power-domains; +}; + +&lpass_rx_macro { + status =3D "okay"; +}; + +&lpass_tx_macro { + status =3D "okay"; +}; + +&lpass_va_macro { + status =3D "okay"; +}; + +&mdss { + status =3D "okay"; +}; + +&mdss_dp { + sound-name-prefix =3D "Display Port0"; + + status =3D "okay"; +}; + +&mdss_dp_out { + data-lanes =3D <0 1>; + remote-endpoint =3D <&usb_dp_qmpphy_dp_in>; +}; + +&pcie0 { + perst-gpios =3D <&tlmm 87 GPIO_ACTIVE_LOW>; + wake-gpios =3D <&tlmm 89 GPIO_ACTIVE_HIGH>; + + pinctrl-0 =3D <&pcie0_clkreq_n>, <&pcie0_reset_n>, <&pcie0_wake_n>; + pinctrl-names =3D "default"; + + status =3D "okay"; +}; + +&pcie0_phy { + vdda-phy-supply =3D <&vreg_l10c_0p88>; + vdda-pll-supply =3D <&vreg_l6b_1p2>; + + status =3D "okay"; +}; + +&pcie1 { + perst-gpios =3D <&tlmm 2 GPIO_ACTIVE_LOW>; + wake-gpios =3D <&tlmm 3 GPIO_ACTIVE_HIGH>; + + pinctrl-0 =3D <&pcie1_clkreq_n>, <&pcie1_reset_n>, <&pcie1_wake_n>; + pinctrl-names =3D "default"; + + /* Support for QPS615 PCIe switch */ + iommu-map =3D <0x0 &apps_smmu 0x1c80 0x1>, + <0x100 &apps_smmu 0x1c81 0x1>, + <0x208 &apps_smmu 0x1c84 0x1>, + <0x210 &apps_smmu 0x1c85 0x1>, + <0x218 &apps_smmu 0x1c86 0x1>, + <0x300 &apps_smmu 0x1c87 0x1>, + <0x400 &apps_smmu 0x1c88 0x1>, + <0x500 &apps_smmu 0x1c89 0x1>, + <0x501 &apps_smmu 0x1c90 0x1>; + + status =3D "okay"; +}; + +&pcie1_phy { + vdda-phy-supply =3D <&vreg_l10c_0p88>; + vdda-pll-supply =3D <&vreg_l6b_1p2>; + + status =3D "okay"; +}; + +&pm7325_gpios { + pm7325_adc_default: adc-default-state { + pins =3D "gpio2"; + function =3D PMIC_GPIO_FUNC_NORMAL; + bias-high-impedance; + }; +}; + +&pm7325_temp_alarm { + io-channels =3D <&pmk8350_vadc PM7325_ADC7_DIE_TEMP>; + io-channel-names =3D "thermal"; +}; + +&pmk8350_adc_tm { + status =3D "okay"; + + xo-therm@0 { + reg =3D <0>; + io-channels =3D <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>; + qcom,ratiometric; + qcom,hw-settle-time-us =3D <200>; + }; + + quiet-therm@1 { + reg =3D <1>; + io-channels =3D <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>; + qcom,ratiometric; + qcom,hw-settle-time-us =3D <200>; + }; + + msm-skin-therm@2 { + reg =3D <2>; + io-channels =3D <&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>; + qcom,ratiometric; + qcom,hw-settle-time-us =3D <200>; + }; + + ufs-therm@3 { + reg =3D <3>; + io-channels =3D <&pmk8350_vadc PM7325_ADC7_GPIO1_100K_PU>; + qcom,ratiometric; + qcom,hw-settle-time-us =3D <200>; + }; +}; + +&pmk8350_vadc { + pinctrl-0 =3D <&pm7325_adc_default>; + pinctrl-names =3D "default"; + + channel@3 { + reg =3D ; + label =3D "pmk7325_die_temp"; + qcom,pre-scaling =3D <1 1>; + }; + + channel@44 { + reg =3D ; + label =3D "xo_therm"; + qcom,hw-settle-time =3D <200>; + qcom,pre-scaling =3D <1 1>; + qcom,ratiometric; + }; + + channel@103 { + reg =3D ; + label =3D "pm7325_die_temp"; + qcom,pre-scaling =3D <1 1>; + }; + + channel@144 { + reg =3D ; + qcom,ratiometric; + qcom,hw-settle-time =3D <200>; + qcom,pre-scaling =3D <1 1>; + label =3D "quiet_therm"; + }; + + channel@146 { + reg =3D ; + qcom,ratiometric; + qcom,hw-settle-time =3D <200>; + qcom,pre-scaling =3D <1 1>; + label =3D "msm_skin_therm"; + }; + + channel@14a { + /* According to datasheet, 0x4a =3D AMUX1_GPIO =3D GPIO_02 */ + reg =3D ; + qcom,ratiometric; + qcom,hw-settle-time =3D <200>; + qcom,pre-scaling =3D <1 1>; + label =3D "ufs_therm"; + }; +}; + +&pon_pwrkey { + status =3D "okay"; +}; + +&qspi { + /* It's not possible to use QSPI with iommu */ + /* due to an error in qcom_smmu_write_s2cr */ + /delete-property/ iommus; + + pinctrl-0 =3D <&qspi_clk>, <&qspi_cs0>, <&qspi_data0>, + <&qspi_data1>, <&qspi_data23>; + pinctrl-1 =3D <&qspi_sleep>; + pinctrl-names =3D "default", "sleep"; + + status =3D "okay"; + + spi_flash: flash@0 { + compatible =3D "winbond,w25q256", "jedec,spi-nor"; + reg =3D <0>; + + spi-max-frequency =3D <104000000>; + spi-tx-bus-width =3D <4>; + spi-rx-bus-width =3D <4>; + }; +}; + +&qupv3_id_0 { + firmware-name =3D "qcom/qcm6490/qupv3fw.elf"; + status =3D "okay"; +}; + +&qupv3_id_1 { + firmware-name =3D "qcom/qcm6490/qupv3fw.elf"; + status =3D "okay"; +}; + +&remoteproc_adsp { + firmware-name =3D "qcom/qcs6490/radxa/dragon-q6a/adsp.mbn"; + status =3D "okay"; +}; + +&remoteproc_cdsp { + firmware-name =3D "qcom/qcs6490/radxa/dragon-q6a/cdsp.mbn"; + status =3D "okay"; +}; + +&sdhc_1 { + non-removable; + no-sd; + no-sdio; + + vmmc-supply =3D <&vreg_l7b_2p96>; + vqmmc-supply =3D <&vreg_l19b_1p8>; + + status =3D "okay"; +}; + +&sdhc_2 { + pinctrl-0 =3D <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>, <&sd_cd>; + pinctrl-1 =3D <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>, <= &sd_cd>; + + vmmc-supply =3D <&vreg_l9c_2p96>; + vqmmc-supply =3D <&vreg_l6c_2p96>; + + cd-gpios =3D <&tlmm 91 GPIO_ACTIVE_LOW>; + status =3D "okay"; +}; + +&sound { + compatible =3D "qcom,qcs6490-rb3gen2-sndcard"; + model =3D "QCS6490-Radxa-Dragon-Q6A"; + + audio-routing =3D + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "AMIC2", "MIC BIAS2", + "TX SWR_ADC1", "ADC2_OUTPUT"; + + 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>, <&swr0 0>, <&lpass_rx_macro 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>, <&swr1 0>, <&lpass_tx_macro 0>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; + + dp0-dai-link { + link-name =3D "DP0 Playback"; + + cpu { + sound-dai =3D <&q6apmbedai DISPLAY_PORT_RX_0>; + }; + + codec { + sound-dai =3D <&mdss_dp>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; +}; + +/* Pin 11, 29, 31, 32 in GPIO header */ +&spi7 { + qcom,enable-gsi-dma; + status =3D "okay"; +}; + +/* Pin 19, 21, 23, 24, 26 in GPIO header */ +&spi12 { + qcom,enable-gsi-dma; + status =3D "okay"; +}; + +/* Pin 22, 33, 36, 37 in GPIO header */ +&spi14 { + qcom,enable-gsi-dma; + status =3D "okay"; +}; + +&swr0 { + 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>; + }; +}; + +&swr1 { + status =3D "okay"; + + wcd_tx: codec@0,3 { + compatible =3D "sdw20217010d00"; + reg =3D <0 3>; + qcom,tx-port-mapping =3D <1 1 2 3>; + }; +}; + +&tlmm { + gpio-line-names =3D + /* GPIO_0 ~ GPIO_3 */ + "PIN_13", "PIN_15", "", "", + /* GPIO_4 ~ GPIO_7 */ + "", "", "", "", + /* GPIO_8 ~ GPIO_11 */ + "PIN_27", "PIN_28", "", "", + /* GPIO_12 ~ GPIO_15 */ + "", "", "", "", + /* GPIO_16 ~ GPIO_19 */ + "", "", "", "", + /* GPIO_20 ~ GPIO_23 */ + "", "", "PIN_8", "PIN_10", + /* GPIO_24 ~ GPIO_27 */ + "PIN_3", "PIN_5", "PIN_16", "PIN_27", + /* GPIO_28 ~ GPIO_31 */ + "PIN_31", "PIN_11", "PIN_32", "PIN_29", + /* GPIO_32 ~ GPIO_35 */ + "", "", "", "", + /* GPIO_36 ~ GPIO_39 */ + "", "", "", "", + /* GPIO_40 ~ GPIO_43 */ + "", "", "", "", + /* GPIO_44 ~ GPIO_47 */ + "", "", "", "", + /* GPIO_48 ~ GPIO_51 */ + "PIN_21", "PIN_19", "PIN_23", "PIN_24", + /* GPIO_52 ~ GPIO_55 */ + "", "", "", "PIN_26", + /* GPIO_56 ~ GPIO_59 */ + "PIN_33", "PIN_22", "PIN_37", "PIN_36", + /* GPIO_60 ~ GPIO_63 */ + "", "", "", "", + /* GPIO_64 ~ GPIO_67 */ + "", "", "", "", + /* GPIO_68 ~ GPIO_71 */ + "", "", "", "", + /* GPIO_72 ~ GPIO_75 */ + "", "", "", "", + /* GPIO_76 ~ GPIO_79 */ + "", "", "", "", + /* GPIO_80 ~ GPIO_83 */ + "", "", "", "", + /* GPIO_84 ~ GPIO_87 */ + "", "", "", "", + /* GPIO_88 ~ GPIO_91 */ + "", "", "", "", + /* GPIO_92 ~ GPIO_95 */ + "", "", "", "", + /* GPIO_96 ~ GPIO_99 */ + "PIN_7", "PIN_12", "PIN_38", "PIN_40", + /* GPIO_100 ~ GPIO_103 */ + "PIN_35", "", "", "", + /* GPIO_104 ~ GPIO_107 */ + "", "", "", "", + /* GPIO_108 ~ GPIO_111 */ + "", "", "", "", + /* GPIO_112 ~ GPIO_115 */ + "", "", "", "", + /* GPIO_116 ~ GPIO_119 */ + "", "", "", "", + /* GPIO_120 ~ GPIO_123 */ + "", "", "", "", + /* GPIO_124 ~ GPIO_127 */ + "", "", "", "", + /* GPIO_128 ~ GPIO_131 */ + "", "", "", "", + /* GPIO_132 ~ GPIO_135 */ + "", "", "", "", + /* GPIO_136 ~ GPIO_139 */ + "", "", "", "", + /* GPIO_140 ~ GPIO_143 */ + "", "", "", "", + /* GPIO_144 ~ GPIO_147 */ + "", "", "", "", + /* GPIO_148 ~ GPIO_151 */ + "", "", "", "", + /* GPIO_152 ~ GPIO_155 */ + "", "", "", "", + /* GPIO_156 ~ GPIO_159 */ + "", "", "", "", + /* GPIO_160 ~ GPIO_163 */ + "", "", "", "", + /* GPIO_164 ~ GPIO_167 */ + "", "", "", "", + /* GPIO_168 ~ GPIO_171 */ + "", "", "", "", + /* GPIO_172 ~ GPIO_174 */ + "", "", ""; + + pcie0_reset_n: pcie0-reset-n-state { + pins =3D "gpio87"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + }; + + pcie0_wake_n: pcie0-wake-n-state { + pins =3D "gpio89"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + + pcie1_reset_n: pcie1-reset-n-state { + pins =3D "gpio2"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-disable; + }; + + pcie1_wake_n: pcie1-wake-n-state { + pins =3D "gpio3"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + + qspi_sleep: qspi-sleep-state { + pins =3D "gpio12", "gpio13", "gpio14", "gpio15", "gpio16", "gpio17"; + function =3D "gpio"; + output-disable; + }; + + sd_cd: sd-cd-state { + pins =3D "gpio91"; + function =3D "gpio"; + bias-pull-up; + }; + + user_led: user-led-state { + pins =3D "gpio42"; + function =3D "gpio"; + bias-pull-up; + }; + + wcd_default: wcd-reset-n-active-state { + pins =3D "gpio83"; + function =3D "gpio"; + drive-strength =3D <16>; + bias-disable; + output-low; + }; +}; + +&uart5 { + status =3D "okay"; +}; + +&ufs_mem_hc { + reset-gpios =3D <&tlmm 175 GPIO_ACTIVE_LOW>; + vcc-supply =3D <&vreg_l7b_2p96>; + vcc-max-microamp =3D <800000>; + vccq-supply =3D <&vreg_l9b_1p2>; + vccq-max-microamp =3D <900000>; + vccq2-supply =3D <&vreg_l9b_1p2>; + vccq2-max-microamp =3D <1300000>; + + /* Gear-4 Rate-B is unstable due to board */ + /* and UFS module design limitations */ + limit-rate =3D "rate-a"; + /delete-property/ qcom,ice; + + status =3D "okay"; +}; + +&ufs_mem_phy { + vdda-phy-supply =3D <&vreg_l10c_0p88>; + vdda-pll-supply =3D <&vreg_l6b_1p2>; + + status =3D "okay"; +}; + +&usb_1 { + dr_mode =3D "host"; + + status =3D "okay"; +}; + +&usb_1_dwc3_hs { + remote-endpoint =3D <&usb3_con_hs_in>; +}; + +&usb_1_hsphy { + vdda-pll-supply =3D <&vreg_l10c_0p88>; + vdda33-supply =3D <&vreg_l2b_3p072>; + vdda18-supply =3D <&vreg_l1c_1p8>; + + status =3D "okay"; +}; + +&usb_1_qmpphy { + vdda-phy-supply =3D <&vreg_l6b_1p2>; + vdda-pll-supply =3D <&vreg_l1b_0p912>; + + /delete-property/ orientation-switch; + + status =3D "okay"; + + ports { + port@0 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + /delete-node/ endpoint; + + /* RX1/TX1 is statically connected to USB-A port */ + usb_dp_qmpphy_out_usb: endpoint@0 { + reg =3D <0>; + + data-lanes =3D <2 3>; + remote-endpoint =3D <&usb3_con_ss_in>; + }; + + /* RX0/TX0 is statically connected to RA620 bridge */ + usb_dp_qmpphy_out_dp: endpoint@1 { + reg =3D <1>; + + data-lanes =3D <3 2>; + remote-endpoint =3D <&hdmi_bridge_in>; + }; + }; + }; +}; + +&usb_2 { + dr_mode =3D "host"; + + status =3D "okay"; +}; + +&usb_2_hsphy { + status =3D "okay"; + + vdda-pll-supply =3D <&vreg_l10c_0p88>; + vdda33-supply =3D <&vreg_l2b_3p072>; + vdda18-supply =3D <&vreg_l1c_1p8>; +}; + +&venus { + status =3D "okay"; +}; + +/* PINCTRL - additions to nodes defined in sc7280.dtsi */ +&dp_hot_plug_det { + bias-disable; +}; + +&pcie0_clkreq_n { + bias-pull-up; + drive-strength =3D <2>; +}; + +&pcie1_clkreq_n { + bias-pull-up; + drive-strength =3D <2>; +}; + +&qspi_clk { + bias-disable; + drive-strength =3D <16>; +}; + +&qspi_cs0 { + bias-disable; + drive-strength =3D <8>; +}; + +&qspi_data0 { + bias-disable; + drive-strength =3D <8>; +}; + +&qspi_data1 { + bias-disable; + drive-strength =3D <8>; +}; + +&qspi_data23 { + bias-disable; + drive-strength =3D <8>; +}; + +&sdc1_clk { + bias-disable; + drive-strength =3D <16>; +}; + +&sdc1_cmd { + bias-pull-up; + drive-strength =3D <10>; +}; + +&sdc1_data { + bias-pull-up; + drive-strength =3D <10>; +}; + +&sdc1_rclk { + bias-pull-down; +}; + +&sdc2_clk { + bias-disable; + drive-strength =3D <16>; +}; + +&sdc2_cmd { + bias-pull-up; + drive-strength =3D <10>; +}; + +&sdc2_data { + bias-pull-up; + drive-strength =3D <10>; +}; --=20 2.51.0