From nobody Mon Jun 15 02:50:26 2026 Received: from smtpbgbr2.qq.com (smtpbgbr2.qq.com [54.207.22.56]) (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 854D13644CF; Tue, 7 Apr 2026 15:20:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.207.22.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575237; cv=none; b=p7ou7kaRuEeafoUCAs1m7qqOKg/3hxjeOh6uwgTM3ihggm2tyre3WDxeRSUZ1IBVFRTwn3/yoZy2VybT0mF57cSyJcI/lqgA8enXn3MiZZKVbpInVRnVx9bOpsFruImCY4fdPSsOaprYNOQbcxEdC5ofAnHnwFDEEA1xH2ivae4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575237; c=relaxed/simple; bh=MFMZfu8OrH+9H/Z5u1OPH+iT4oPtmmCZ569AUwFMwOo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Nt+uEQrI29uIWDS4gsmXHn5hSIPqEClzgrCQS5aVcaURocgEkXswg5ZYp24vuzkNO5pczi6fQVntXpQbVWInq8kF5N54xi066lerxE36pCxUHa0eMI526lGgYhXHnCJUrAxHIzqPbVDXq4fDHsMDt13suUGCFa1V5iOVrqjhT2M= 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.207.22.56 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: esmtpsz19t1775575211tc8018f21 X-QQ-Originating-IP: rENiXbxgP+1im1Zu/n/e0Api5DLh6GMgLyHDUd/e+O8= Received: from [192.168.30.32] ( [116.234.14.100]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Apr 2026 23:20:09 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 3996882772581790980 EX-QQ-RecipientCnt: 15 From: Xilin Wu Date: Tue, 07 Apr 2026 23:19:53 +0800 Subject: [PATCH 01/12] firmware: qcom: scm: Allow QSEECOM for 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: <20260407-dragon-q6a-feat-fixes-v1-1-14aca49dde3d@radxa.com> References: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> In-Reply-To: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov , Liam Girdwood , Mark Brown , Judy Hsiao Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Konrad Dybcio , linux-sound@vger.kernel.org, Xilin Wu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=763; i=sophon@radxa.com; h=from:subject:message-id; bh=MFMZfu8OrH+9H/Z5u1OPH+iT4oPtmmCZ569AUwFMwOo=; b=owGbwMvMwCVmdFg0fe08Iz/G02pJDJlXFZZolEhcfSk0c8VHqZsP9z1Y4qvrMP9rmZ7d6vnxN Qf/1CxO6yhlYRDjYpAVU2RRiGeYy16Ze+2pWKkezBxWJpAhDFycAjCR230M/xR27ln2ftGExFnv hf5a/vjbpCO89MQn9TfthQdOd2h7ZbYzMnRzO/x9wZfR8vK/oNOm26t2e3/QtrTcGlO7Qner7Lz 979gA X-Developer-Key: i=sophon@radxa.com; a=openpgp; fpr=205F009D07796DD6E516752E32C31567AD9E324E X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:radxa.com:qybglogicsvrsz:qybglogicsvrsz3b-0 X-QQ-XMAILINFO: NlWvLSkfVnGck+LgyAESukXtYxnndFNsNUW1AA+eC2eAnJp8UpuTVd3A PLb7gmBrhuCsEaCJYL0AFE/ZD+G8a3imELYotjpe83KmBp9JVPXiy+/WwMwlBPrNJ1YJu/S /zkOsH40j8HpTOG1LJQYjKb9NI8gk7oQZ0cUcqv6Pr7LHujRk63WqCdXP1YUX1jk/k9BJy6 DUtEOgyjNY3xaE7POXY79jw0pdiqDUKDPyPjj2LQS7j+6dDGHBGrFPsvwbdTUVE4yOxjpdf wM+/yCAySe6cjR10l6TwTM08z4Z2mlacYW9j4IU33EcFe1RjXyywC3f6hd+vTpFbvKzN4UK lD6WCFBG/vv9TzIKMRoMaOhPBthcuyU/8AkDS5MC/qK0ga4E+ARCurgbR+YKpCTzXSc+nsZ 6XZRvz/KvZcH+sdHlk91hzMw6ZOBbiyU20MxHzFtfCnIQDMgTfS2syLiAZPkX6G86iJoL9f QZ53MUElJYkTeVWWOQfFZO36Oq0SSOzMzgoTJFtwVt4fXIHpuuchY4vWZnLbDRaMErTU85z +ypsIapkbGGJmK59eqhQ70L1vSthUsIV4v0gGRVe/qUcwcUqBYcVJDM6ryypCkBBIjYMPNC 11dUEyeWpGgdklhicSGEKusNxgWdfO8jZ3YxC4j8jzr0S3htQgJ7lKyMtV+FuuZM9mKYU9i q7yKTHDg98D55Pa90QmPcgrDdZB8Jb+6gEkD9glbXBxp91BRbWtx7DRBFJnDdUbHzBvNDjU 5MiBXX1KFI0thI7qn1z5b19qw40ibPIzehOAnq2wWL28b0ZAqxuCPhUurDtBR27vUOPAZVw PXuy7mhgz/DZZ0MlBSZvuiDfmvtOq3EKmhgYDnNICvz2sIP+t82108hA8n4i+PF/MoxMXlL t0deP/uo+hrSIQX0wBsBg6KMA6enX2NgA21wEC27FIcgxRNteTD2xHJJ5/TIS1FxLQAHKNh Z/sElyWkuLW8vfghr2hx2DyTOklmIITS7Kiz6rBwaXVaQw72TbAlnw8jbfIc0RfLkmtQydG jZQsB0RtCUo0cxBM6JUdVPy53Rz0g= X-QQ-XMRINFO: Mp0Kj//9VHAxzExpfF+O8yhSrljjwrznVg== X-QQ-RECHKSPAM: 0 add "radxa,dragon-q6a" as compatible device for QSEECOM This is required to get access to efivars and uefi boot loader support. Signed-off-by: Xilin Wu Reviewed-by: Dmitry Baryshkov --- drivers/firmware/qcom/qcom_scm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_= scm.c index 9b06a69d3a6d..55b18463560a 100644 --- a/drivers/firmware/qcom/qcom_scm.c +++ b/drivers/firmware/qcom/qcom_scm.c @@ -2319,6 +2319,7 @@ static const struct of_device_id qcom_scm_qseecom_all= owlist[] __maybe_unused =3D { { .compatible =3D "qcom,x1e80100-crd" }, { .compatible =3D "qcom,x1e80100-qcp" }, { .compatible =3D "qcom,x1p42100-crd" }, + { .compatible =3D "radxa,dragon-q6a" }, { } }; =20 --=20 2.53.0 From nobody Mon Jun 15 02:50:26 2026 Received: from smtpbgbr1.qq.com (smtpbgbr1.qq.com [54.207.19.206]) (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 581D3364042; Tue, 7 Apr 2026 15:20:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.207.19.206 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575232; cv=none; b=SOLYDoMHINd51jsaVAPBfmcgWGsFi4RY60y32m8OMP1VVPG3oQBwszgJwRCKSqH3e6+6VtEhIblSLnucwTsdkNgYdpA8mt+fhS0T83cYOO7Br60O35h1hhyqqXF69FL8cZ0jXX+5OAvk0kprgQxcVArBrswSOdinmShfOKmXNNs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575232; c=relaxed/simple; bh=3J7HlkaNSppOHglQhRRih8iS2zdT6ETbXMPztWIA5KE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=V9psH7ifcmYK8oRz6qVZjMin9yX2C+K1lmNh79uALygiCxn9EJ3g0wvc/4uTn3iB1/uFUcSrjpLfnlQm3geoK0noWHdefB8qfp7j71GS27ehZps5qDz4sVYqipsM7zDP+roxRccwxh7MV5nBh1RxfKj8fIgZL1bsYd4PLnOjKz8= 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.207.19.206 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: esmtpsz19t1775575214t05a945ca X-QQ-Originating-IP: iPsDdYAklBv7ydbyqaqD9yjsOwdL41B3JXDi5K6xcGQ= Received: from [192.168.30.32] ( [116.234.14.100]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Apr 2026 23:20:12 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 5970734436179505529 EX-QQ-RecipientCnt: 15 From: Xilin Wu Date: Tue, 07 Apr 2026 23:19:54 +0800 Subject: [PATCH 02/12] arm64: dts: qcom: qcs6490-radxa-dragon-q6a: Enable UFS controller 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: <20260407-dragon-q6a-feat-fixes-v1-2-14aca49dde3d@radxa.com> References: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> In-Reply-To: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov , Liam Girdwood , Mark Brown , Judy Hsiao Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Konrad Dybcio , linux-sound@vger.kernel.org, Xilin Wu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1313; i=sophon@radxa.com; h=from:subject:message-id; bh=3J7HlkaNSppOHglQhRRih8iS2zdT6ETbXMPztWIA5KE=; b=owGbwMvMwCVmdFg0fe08Iz/G02pJDJlXFZY0s5zNTTbvmvFr3+e08i+ZU4Qf39COM/OYwd0Xk vDgyIwPHaUsDGJcDLJiiiwK8Qxz2Stzrz0VK9WDmcPKBDKEgYtTACZicoHhf2RRX+PxT2eqWU7G xJ3J0xa683vXI6HHHS/fHJfJ2P06PouR4fHeYlGnmGJxp6rgdTIORcwtDcZnWbMnzj9ZuU6vLUS XDQA= X-Developer-Key: i=sophon@radxa.com; a=openpgp; fpr=205F009D07796DD6E516752E32C31567AD9E324E X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:radxa.com:qybglogicsvrsz:qybglogicsvrsz3b-0 X-QQ-XMAILINFO: MgRO26CFjEybBwd/wb6YOxOGPiY4zJHeK0mv+Xm5+1c17O9+itYnlfty s9Y2FGqIOKpJ4moTdacRlhEEyAAgW+HZszQ6QHb6yF/gmSCGGzJjgvwMfFyCa4zJijWm5xZ Ouv7qmmKA96JaypVDBluMKf8RtB9gYI5hayM0RUzyAIfPLkHfMgbqp+T3kW5hs9OHT2dCz8 sXkOF6KtUllC0BEQvmuCjUBd73uRod9LGz7YhPXmGsIS9du/0fH73kzV09PPS3gox2MTPTF JGR09hAQwpy52XqHHr63MWhr8BB9sLl6I3bI7NGHhU4/piNzWCSiBb0eVpV8Vsx9gngf+Bi /kvL8XTeYB80ZgbOcIHYsicXdLZjF30eu8MrfPeGx4Ob+8GteEDh6ul5k9tEdglUEi1QZmL VuCkdYO0d+Nk7VxFFX3hRdaLcAAGxhEcDVLM5iMjSnxs9KwcV21uCKBFD8abb5bI5sOUaL8 Aca7dx3kmJwbFm7/cep34/nbqXAb8KDTlWgaM9+TyKfx+p62TyvQQRn4xuT6ORwKqourmwh vJ3VVEqhESJMLrY7uPVN3wSDa6DeCkWYPWUsCMHKDC53mLaZRSiVTUkb/LxBH6rzETgQYIp C5DKr/DBD8dqnhnEBUdirmi7jUtaKR/CyrVt4xi8r1NrEwjB8PoLVTjW2axnp9jRrKq3MpM oDp1FL2YG8TtaWJDSdGZUL04I1yRpuZEbSsTZJopH93VwhryKK48Y8qxCzfZubIRZzyJkm3 1ozNU3EnzcPEmBQoh5TTJF/4jypxvZTpfVnnRv2NWUQOmshvGn9/TtCR8YV9W8oMPXdoPSd js+6XwUxbflOWGahykPMBWax1uiF0D91FVKkt5Oap9ZV/HBzBI2cgU8F0/bLCK8JASjY74D gRm7RjldThvmYfLJcuPAnWFyKfTUUglQIuFIU5A9umBVQBsaLeh3fXEpaJmAsZhy202h5f/ 3qE6BbIbhtoZAW8s4WRTWsYdlDNkCde7mK+glnkhKwa/aUm1PShn+nfL1AgRghs9XYPcvnw fCTtlZyBAkX5bSx+dx X-QQ-XMRINFO: M/715EihBoGS47X28/vv4NpnfpeBLnr4Qg== X-QQ-RECHKSPAM: 0 Add and enable UFS related nodes for this board. Note that UFS Gear-4 Rate-B is unstable due to board and UFS module design limitations. UFS on this board is stable when working at Gear-4 Rate-A. Signed-off-by: Xilin Wu Reviewed-by: Konrad Dybcio --- .../boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 23 ++++++++++++++++++= ++++ 1 file changed, 23 insertions(+) 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 index bb5a42b038f1..c961d3ec625f 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts @@ -959,6 +959,29 @@ &uart5 { status =3D "okay"; }; =20 +&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-gear-rate =3D "rate-a"; + + status =3D "okay"; +}; + +&ufs_mem_phy { + vdda-phy-supply =3D <&vreg_l10c_0p88>; + vdda-pll-supply =3D <&vreg_l6b_1p2>; + + status =3D "okay"; +}; + &usb_2 { dr_mode =3D "host"; =20 --=20 2.53.0 From nobody Mon Jun 15 02:50:26 2026 Received: from smtpbguseast3.qq.com (smtpbguseast3.qq.com [54.243.244.52]) (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 01A9E481B1; Tue, 7 Apr 2026 15:20:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.243.244.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575229; cv=none; b=nDLY587zssj1Rk2rNp4I1Bo5rzr8M9KHm72RWHlZsjeTWGgJ5UU9+Mm18V0Kb0lI5CbO7j/+iQdHTV1BAytfdAC6FlbMFyjTfz5nuKHthVk84mnNDFgQVU1I4KK+nI4ODqOT/pt+66XVnsDPtEcHh7KhaGYtD2VU8HuoY1dPBwQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575229; c=relaxed/simple; bh=ixPJrGY1O+mE0aWnTQIzBfshjAE69bo/XerA5vDLAcc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WnCrM3Xu0LW8VxfwJwQW0bxfaukR+ajbu95UWuLQtHxvQP9hr4Tm7fAZQCmbhqu7FGPV2euA4uA8VcO/vk5BFqk9dYLd2v34iXTi1LBjgdwu88wG0Eoc7ZMp+f/htc+SslH7mYZ6gPmq7a7x+N+S7BO3eD/dLAc4GBrxuB18EpM= 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.243.244.52 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: esmtpsz19t1775575217t4daf605d X-QQ-Originating-IP: mWhUZZhuCWLavO5C3vvO2wQbtODyPLIMTZnPjkSdL4A= Received: from [192.168.30.32] ( [116.234.14.100]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Apr 2026 23:20:15 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 15496350578048626149 EX-QQ-RecipientCnt: 15 From: Xilin Wu Date: Tue, 07 Apr 2026 23:19:55 +0800 Subject: [PATCH 03/12] arm64: dts: qcom: qcs6490-radxa-dragon-q6a: Enable USB 3.0 and HDMI ports 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: <20260407-dragon-q6a-feat-fixes-v1-3-14aca49dde3d@radxa.com> References: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> In-Reply-To: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov , Liam Girdwood , Mark Brown , Judy Hsiao Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Konrad Dybcio , linux-sound@vger.kernel.org, Xilin Wu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=3987; i=sophon@radxa.com; h=from:subject:message-id; bh=ixPJrGY1O+mE0aWnTQIzBfshjAE69bo/XerA5vDLAcc=; b=owGbwMvMwCVmdFg0fe08Iz/G02pJDJlXFZaseKjllL/EJSdSN1lc7UWggNYEx8IitRDf8OfFg fs828I7SlkYxLgYZMUUWRTiGeayV+ZeeypWqgczh5UJZAgDF6cATCRlMiPDHwORlgs7Sy4I7ZNi c8qONawSXDG9XKXx6Ku9XkuUD78JZ/gr55HuHDP5S+kEnkeOC3w9zlnuuheusfaf+JZskfIg/nw eAA== X-Developer-Key: i=sophon@radxa.com; a=openpgp; fpr=205F009D07796DD6E516752E32C31567AD9E324E X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:radxa.com:qybglogicsvrsz:qybglogicsvrsz3b-0 X-QQ-XMAILINFO: MorwW1vbY5Ciw7ZCgDZfWiXnBCvxCPavOEzWVqO4T6hG9/PcHFSHnrQG EY1SxvB8PsczIMkXBrfAjlrxaBzKsika9HKLVcbvKOA2DnFPLOPwgys+iSEaI8fl1pt1Q67 lmOqQemws6N02ys/SgIACUIgfyiSJIIm5qvY2kquX8Q9+BbrTtu2POKWtNTiXvd9/iBKl76 +XRrmWv3DrbRyyZhx5f8DrcnWEx7VBUstR1G3NQVXFBQrCZ1OkvcdOJDdcNI6NtXNrj/CbD m9o/wpsh9p3GguPESLqKl+JiinHlki5sonhsi5zQUewe5/Yt0ZXQhBUXHWNKABgwNLKN3fS Mo9ld3KkWdhwEUeElc+ZOkGfyfMjwL/Z3LpU94EM/OIMc6rxojJtHi/SghspYsS8NIMf7DS kEOKC0ZPUwW/ih775LtDj/F3lNG3/2kyWJXMBiTP5o+fgaio8CxKiOzqWFzSRSh98RktgHL Jog4HZ3PQUP125ZTw52ufEHxuQSN+doL8gnoqorRXWCwhI33f6a+/CZWzmujN2m8dhdKWVP etgikdBH2lta7RNfkHHDBo6YnK/NWCV3D1rU6q+/PkoR/WADlAqmNtDo5MhLnX6EhNArHO8 lLndbEn+DZvx/7V30H4PM87n82xvqyYC8sgTnGe1+dDbRSGUsDonoQ4XA1uJPJ/CH8no0gL 2ZxweUnuCMQWUVcBpqdh/04GaK1CGuy9bY9ZHI99mSoZLoyA4v4Mxd2lDyjJmUK7C7sjaGs DR9AiAR+CLc98VZokUKbxEXUkD4r41xnPzYaMuz/Hb8LlKDxNv20X33uu83Wi6R8Yp73WVo /CJK3z4N0snfUU8F9TClTtqbumLyS6LxP821fT1+mFtb9y2q9CFwijCtC03OTJYLL2Gq6k9 O5e5DMjXR1+V+xVf9WLaLFiW1wZHRD8tRdFqXKZfakhrcJLENsfTS+7FGaIbVP2yeSHvHCL aKzwwKEma4kWuCHKW4s2Dn3d/jaoZqE1+JYC8cgwUQViCeq4gOYtv2cdqCT3DtigrBSnnW7 drV8w040MCELn8j3yJ/R5tm+0A5afd6yM6KtHsaqsw4LQAGleAYrN2aikn4hKtCR94ERJNM w== X-QQ-XMRINFO: M/715EihBoGS47X28/vv4NpnfpeBLnr4Qg== X-QQ-RECHKSPAM: 0 This board doesn't feature a regular Type-C port. The usb_1_qmpphy's RX1/TX1 pair is statically connected to the USB-A port, while its RX0/TX0 pair is connected to the RA620 DP-to-HDMI bridge. Add and enable the nodes for the features to work. Signed-off-by: Xilin Wu --- .../boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 152 +++++++++++++++++= ++++ 1 file changed, 152 insertions(+) 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 index c961d3ec625f..8d649b3a1cfa 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts @@ -111,6 +111,71 @@ usb2_3_connector: endpoint { }; }; =20 + 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_1_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_1_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"; =20 @@ -521,6 +586,21 @@ &lpass_va_macro { status =3D "okay"; }; =20 +&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>; @@ -738,6 +818,22 @@ &sound { "AMIC2", "MIC BIAS2", "TX SWR_ADC1", "ADC2_OUTPUT"; =20 + dp0-dai-link { + link-name =3D "DP0 Playback"; + + codec { + sound-dai =3D <&mdss_dp>; + }; + + cpu { + sound-dai =3D <&q6apmbedai DISPLAY_PORT_RX_0>; + }; + + platform { + sound-dai =3D <&q6apm>; + }; + }; + wcd-playback-dai-link { link-name =3D "WCD Playback"; =20 @@ -982,6 +1078,58 @@ &ufs_mem_phy { status =3D "okay"; }; =20 +&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; + + /* RX0/TX0 is statically connected to RA620 bridge */ + usb_1_qmpphy_out_dp: endpoint@0 { + reg =3D <0>; + + data-lanes =3D <0 1>; + remote-endpoint =3D <&hdmi_bridge_in>; + }; + + /* RX1/TX1 is statically connected to USB-A port */ + usb_1_qmpphy_out_usb: endpoint@1 { + reg =3D <1>; + + data-lanes =3D <2 3>; + remote-endpoint =3D <&usb3_con_ss_in>; + }; + }; + }; +}; + &usb_2 { dr_mode =3D "host"; =20 @@ -1048,6 +1196,10 @@ &venus { }; =20 /* PINCTRL - additions to nodes defined in sc7280.dtsi */ +&dp_hot_plug_det { + bias-disable; +}; + &pcie0_clkreq_n { bias-pull-up; drive-strength =3D <2>; --=20 2.53.0 From nobody Mon Jun 15 02:50:26 2026 Received: from smtpbgeu1.qq.com (smtpbgeu1.qq.com [52.59.177.22]) (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 0EF53364EAA; Tue, 7 Apr 2026 15:20:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=52.59.177.22 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575243; cv=none; b=eVGHqz7hh4UL5/SoNwa9vJYnEmd4Exn9Tgs2FAUcdje2FbMjPtQBi23hyPXBmyd/elWMTgcHHVm7j3HWSvcxqWM7DrKQh/WfuWc3yj+2Xe2Zx46elvKJHyT1KdBIvl9iWiegJohN25H1DbMAvsZAyf5uv/uemN2nX5ni/2946I4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575243; c=relaxed/simple; bh=xISTmDXyLFXv3V5ZmZd2Mj6pfE0l9tV0d/hNSpGmA1k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QXHsXDl9Cgg4Mi8vGAkXA7JCl1NfpTsT4G9Mi6K/Cg3V+ex3tAxg4wr4S7Pe5dUv4+zMFnYw5myWKl9b+L9cf9u8+UFnuLTZl0K2tAZ1rjlNEQ112hHIGvDIQ7dUkHJTW3gL3GCGSQtKMbqaROznosXS5W/tzlN5b18fTQMR67U= 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=52.59.177.22 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: esmtpsz19t1775575221t0f9cf910 X-QQ-Originating-IP: 9hGLbmpVplimc9GDcOvLDHc6iafonfMgsd9SfPYjBtM= Received: from [192.168.30.32] ( [116.234.14.100]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Apr 2026 23:20:18 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 243773147179780458 EX-QQ-RecipientCnt: 16 From: Xilin Wu Date: Tue, 07 Apr 2026 23:19:56 +0800 Subject: [PATCH 04/12] arm64: dts: qcom: kodiak: Add I2C aliases for CCI 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: <20260407-dragon-q6a-feat-fixes-v1-4-14aca49dde3d@radxa.com> References: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> In-Reply-To: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov , Liam Girdwood , Mark Brown , Judy Hsiao Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Konrad Dybcio , linux-sound@vger.kernel.org, Xilin Wu , Stephen Chen X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=820; i=sophon@radxa.com; h=from:subject:message-id; bh=VKzq6jfME1q3HY6Bw6XndjSkzd5/qThWM1czKf0dqTc=; b=owGbwMvMwCVmdFg0fe08Iz/G02pJDJlXFZb8aXoxIfrxlX8TT73m9L4U05DGE7XqwTs7hp+sZ s9q5/zd2FHKwiDGxSArpsiiEM8wl70y99pTsVI9mDmsTCBDGLg4BWAiDusY/krUPVG7/LHx7KOj O5eXL78pxswxhaN6rb3kYccbh3xLNkozMiywnP5EkOntzc/1JvqmolKx6TPMfgqzzsi/z9Hy+KX sdD4A X-Developer-Key: i=sophon@radxa.com; a=openpgp; fpr=205F009D07796DD6E516752E32C31567AD9E324E X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:radxa.com:qybglogicsvrsz:qybglogicsvrsz3b-0 X-QQ-XMAILINFO: MdAgt/VblnZYCMxpJ8Jfu2u/+zzmDqADMnJWbVXR5mI91qyA2nFTPGwF vv4S3GgmKCfPbZl0CSFt/2qAaCXZwjMoC8+VhcXGY2HbE1X1oR/v3Vh5SB6f+iRB/cgHNrc DHIPQVOKDGGRKQfAEUBkRFKbkzMDX/llsqqEHGmYja0+7JCnb078TdWdSXoHxXU/jA33SFm AsIpNnnrgnqaaIPgCRDmvCHx0N10ueCecCmg9n3Fr0yw4lD1GXYJkhVIC2d/iyfaHOK/mbb VYtuKgEngJ5NyerBaqhAMiIfPp3SHqwYy0mArwRriGqDS26Y2eDowBo2ttPwiz09as4lfld fHPtPSIEsrm05QwXEz1kxhAO994FXX4fphToktiDQ0BmbmeKtR0pwb4vwcu9UKJSG4qGhDX eSq+ywbb84nm8Iwmj3zs3+df27ESj/dEagDqnmPwtRd50boGJV03EVon6wBWdLykUCy+SgH VrNFHvD63HsnSUwqpG6DgEtWoZZB+gH2QarMFMtoMrTv9JmiMj12OVcve1KgRZYHZSqWlf+ /OZXbNnWcTWZQvbSGZ0LrZ+VUEbOtZWicp0hzb9h/tUZU5Sy30OV/0mmq0y+q0+YjNbLeoh ycbL0e4FQecseatii8IuF8E81EHMB2CLZjpZeqqAO9DqHn5uG1JGDuJZq7VF8lOzMx6SgR1 0w4mXBbxHwjFbtGyB0gv1JCkwfix9VN2quUbRup94tHGklPos+D3XLC7legJYv+m5BmEPGv 3YJwzY1HfhIJy7uHNMW9CTLImVh6BtC5Db31aWIWSCMHR2HGyZfe7Hx0w6NDXcJn7v3aBUh KKYhHY0A/XkGFf/GhTETEYT0dgdKxaWadmc5lfuGCw7/EPLCFks9X8PdOLA0NOtfAh59sp3 upzAeMY6KDo37YwP9px37kwM6CtIhVB7HpzOQN91zgXhu9ARWcAAnyO0j54BK3WuBJnTEHv eSV1z/W/B0vNDlfHtNYWTAnOEreZy3/1GF3cWSBx5vcZMxJILLXjjDDFiKODlVE3LECSWAG f2o+764egI/LMLGvDjKQibndACiVZblS4KLFVc5AoTQMN11yvxTqNyO74UMlRZ+vt+9D+Sn w== X-QQ-XMRINFO: NyFYKkN4Ny6FuXrnB5Ye7Aabb3ujjtK+gg== X-QQ-RECHKSPAM: 0 From: Stephen Chen Add I2C bus aliases (i2c16-i2c19) for the CCI (Camera Control Interface) I2C buses, allowing a stable numbering of these buses independent of probe order. Signed-off-by: Stephen Chen Signed-off-by: Xilin Wu --- arch/arm64/boot/dts/qcom/kodiak.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qco= m/kodiak.dtsi index 988ca5f7c8a0..3a30126af3d4 100644 --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi @@ -57,6 +57,10 @@ aliases { i2c13 =3D &i2c13; i2c14 =3D &i2c14; i2c15 =3D &i2c15; + i2c16 =3D &cci0_i2c0; + i2c17 =3D &cci0_i2c1; + i2c18 =3D &cci1_i2c0; + i2c19 =3D &cci1_i2c1; mmc1 =3D &sdhc_1; mmc2 =3D &sdhc_2; spi0 =3D &spi0; --=20 2.53.0 From nobody Mon Jun 15 02:50:26 2026 Received: from smtpbgsg1.qq.com (smtpbgsg1.qq.com [54.254.200.92]) (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 1D6D8366801; Tue, 7 Apr 2026 15:20:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.254.200.92 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575236; cv=none; b=BOBA0vtn4n87w/ZHQGV6jLqOgqT8u0nNwJp6by3otf17Vw6K2+eOA3UfNhrIR4L1FDY1kdiMwO92by3N8yz4FLAOKDeVAkfQODHMszUFNwpxhdgY8T/sFelMOfasDCIa9OeCOEl/6ULUbwE4WwaFj/3nJVqnj+BFnRYpzzein7E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575236; c=relaxed/simple; bh=gZIDPJXCd2OKoiDrsdq2C0OmShDSXXyeLWpo2UTbqbU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LBkryubaCkwsyKaPLp2re1bsHwiOCoTc5jB51ye8OuvHfvcoeR4E3XIkobYDR8cJM2FK3luYi9W+nt2mrMZd8WJADUjXVgSo93h2Q/EyosZjIGTptIrsSiYZpf2XG6ziApMZ/kBdXYR7mdVJ8c4KpmsnLDaH2XsqoNLFCpgF3Kk= 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.92 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: esmtpsz19t1775575224t26e27e89 X-QQ-Originating-IP: YLk3j2mLUD9it0PLySigA7/5az4KFHz6VdieAD1dYfk= Received: from [192.168.30.32] ( [116.234.14.100]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Apr 2026 23:20:22 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 12957080877815707243 EX-QQ-RecipientCnt: 15 From: Xilin Wu Date: Tue, 07 Apr 2026 23:19:57 +0800 Subject: [PATCH 05/12] arm64: dts: qcom: qcs6490-radxa-dragon-q6a: Use board-specific CDSP firmware 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: <20260407-dragon-q6a-feat-fixes-v1-5-14aca49dde3d@radxa.com> References: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> In-Reply-To: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov , Liam Girdwood , Mark Brown , Judy Hsiao Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Konrad Dybcio , linux-sound@vger.kernel.org, Xilin Wu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1085; i=sophon@radxa.com; h=from:subject:message-id; bh=gZIDPJXCd2OKoiDrsdq2C0OmShDSXXyeLWpo2UTbqbU=; b=owGbwMvMwCVmdFg0fe08Iz/G02pJDJlXFZY0P3L/e+f0E42UtcstW1cFf5j6fNa+C7dYeaJjb ivyxdu/6ShlYRDjYpAVU2RRiGeYy16Ze+2pWKkezBxWJpAhDFycAjARtZuMDPfard51bnhrKf42 oqBBcYpaQwv3hvqHnHfELXL+1hXrGDL89wzbtuzvHneruAvlD8V4hDdre8ifvta/7Yiyet3e57Y /uQA= X-Developer-Key: i=sophon@radxa.com; a=openpgp; fpr=205F009D07796DD6E516752E32C31567AD9E324E X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:radxa.com:qybglogicsvrsz:qybglogicsvrsz3b-0 X-QQ-XMAILINFO: N62ltAQ19hpBN1UvLxKtQ7dXIk9dUS1uurmYKnGq4bG6r947muKrZ3yQ YMtw84RAO5qXYqD4A5sYMhSjpn98f8cxYIKlRBfU33gOFnC1bHHUBdsG2mJE1RvgFfwJHBj kuo1HG82+KBWlWeBYw1qRX3VmtfIElOpVb95JMgUv3ortz0YcUXNO6dGDUcRmwYBpWmhfX6 VUzD73wyr6YmiRh/6s51IEjWMK29PzsgXzoXf2xjbMZalfgFcgg1mryUS+QxPaUD4VK5npK 9JAQu74L4EnhGFkSH6+9tAs8gLbM7wkDvvQAonfuLI4CHUzVG1of2zalbdCOoDvmkUNGQsW lfvljay0SBC8crcyiF+jA7utao3rpfSOjyhD+uqTNoVkXuA+mYEB8eThmb+ocVdZlk7cU47 TxjEZhMliuP/bqOMioB+oTGQ7lYicxn7QtYHTlK6ihk1OtO78sVZrpoKpYJDaAwy4TwYkKU 10w5KUApzZIVW36n/dIRNsaUxBKaDzM1wvZi8vlKl4O+4K4qZnIyyTcg3zCHZR0sfi1FvQ0 6QAppbWs2iOKJEDrpO4HXorE+F+OS02aBQfSX3523HbIHCzOPRXmaKBh4IlxFpvsBIdRJ63 JpcmLmF8HPfUE7VMQTEnjogOWmmt8Cp3+ED7+7ygW35BxLUAH6ayPQFCzZ71iHsSSTI6D/I UZ7dU4GYc5mM5zgX7yUJzWOgptQb3ZF4FZ31DK3JKXe7lO79OmWsbHeJXmfHunfmZT6aR5d HdZPmuEivGkrPqWB+aqQn29wb94VGdZQ7TxuzNareNMy7ad7TbGBYwiK7lh1lKtwzJiaF5m Bfgw7ibSCP7s05AIYhzqv/SxHQRfwTyqXTBXefTDqr8U/YakQeGiiMMy+mRphTgFbjo/BHQ hEG488o9gXgDNkWYAB0/gg7fY6RyP5He3kW4loFg/OkFe+FB0zEk9zuUlX3/KTCvw500Me/ LZdqkUY0luEXcx9Kp4wxhSLQREoawZyCPSifau1YgTThbnYctTEc50vRxhF7MTFVIc4T8g4 KwFS+/gbZKH2vMHHzidTMz2fT+pCgEiYCX3S75PevBbx7o/gVZe6VOs9mSFb4= X-QQ-XMRINFO: MPJ6Tf5t3I/ylTmHUqvI8+Wpn+Gzalws3A== X-QQ-RECHKSPAM: 0 The official boot firmware for Dragon Q6A has been switched to the Qualcomm WP (Windows) boot firmware. Use the matching board-specific CDSP firmware instead of the generic one so that the DSP firmware stack remains compatible with the new boot firmware. The corresponding custom DSP firmware has already been added to linux-firmware: https://gitlab.com/kernel-firmware/linux-firmware/-/merge_requests/882 Signed-off-by: Xilin Wu Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 8d649b3a1cfa..91f1b4f57915 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts @@ -783,7 +783,7 @@ &remoteproc_adsp { }; =20 &remoteproc_cdsp { - firmware-name =3D "qcom/qcs6490/cdsp.mbn"; + firmware-name =3D "qcom/qcs6490/radxa/dragon-q6a/cdsp.mbn"; status =3D "okay"; }; =20 --=20 2.53.0 From nobody Mon Jun 15 02:50:26 2026 Received: from smtpbgau2.qq.com (smtpbgau2.qq.com [54.206.34.216]) (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 B80AA3314B9; Tue, 7 Apr 2026 15:20:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.206.34.216 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575240; cv=none; b=bC5FpJVykXQjAbRWoiACf2VZYdi8Tu2ogMwSe8NnEFzWHXYEt31wRoNy3xyjaUOOHmS5jcRCJdY8GtodWF4agkgCsVziRqsfJ8HZhavfDGUTqmqSBTSKrK4nSM+HWKPw2ZQlyT/70jqCPcYRD+8fgqsj/HcMP72V9xDPoGM4tsM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575240; c=relaxed/simple; bh=6D5o3aRIvVw2mCnM4sWHf6QgcCsjwGnaYRepeqs6ZN8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=B+dojJalQ9bMyHzqa3UudBK+5ANm5bpPzFHQpuUA+9FV5GRGxeZpye54kb4FWlZ9r0yWn8WTyzW2+IvPoXICzC/32zU4NkrWuUH47U2cxMsaEIN76bPVi+eZDFwaobY5EQUqxloAKjEfsAU6HOM7Azen+Kgx+ksCMRLbcmDyXKs= 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.206.34.216 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: esmtpsz19t1775575227t766628a7 X-QQ-Originating-IP: xphdlHTr9lW6Vn8mo8g2kkD+mYJX5nmHsVuHkbktNIE= Received: from [192.168.30.32] ( [116.234.14.100]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Apr 2026 23:20:25 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 13575695803740898803 EX-QQ-RecipientCnt: 15 From: Xilin Wu Date: Tue, 07 Apr 2026 23:19:58 +0800 Subject: [PATCH 06/12] arm64: dts: qcom: qcs6490-radxa-dragon-q6a: Drop QSPI node and reserve its pins 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: <20260407-dragon-q6a-feat-fixes-v1-6-14aca49dde3d@radxa.com> References: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> In-Reply-To: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov , Liam Girdwood , Mark Brown , Judy Hsiao Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Konrad Dybcio , linux-sound@vger.kernel.org, Xilin Wu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2875; i=sophon@radxa.com; h=from:subject:message-id; bh=6D5o3aRIvVw2mCnM4sWHf6QgcCsjwGnaYRepeqs6ZN8=; b=owGbwMvMwCVmdFg0fe08Iz/G02pJDJlXFZbsTPNbv+6rguzxvQsVTRIunlw1cd++YwtrRJ9nV /k7crv6dpSyMIhxMciKKbIoxDPMZa/MvfZUrFQPZg4rE8gQBi5OAZgIExcjw8sPhlXSWjV7nW/c zfXLTYk9PCd+T4LJnvj0jOrN5447STP8FeDy1lho8dPxdNW1OP/VQd1dBR9mP4158+19WP3T109 7mAA= X-Developer-Key: i=sophon@radxa.com; a=openpgp; fpr=205F009D07796DD6E516752E32C31567AD9E324E X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:radxa.com:qybglogicsvrsz:qybglogicsvrsz3b-0 X-QQ-XMAILINFO: Md6GZDcNObI8iZgFedqg3T5sDSirFHKpiC8frv40kRgcB1zdymwF5tRS q4B3SEB4/5hbuvOJvrCuQIgs2KKm9Wp9vokVC2Q+xzyERbSXn1BwF6LDWYJdEHvcWJNcZe7 0TRW9VI9vEUWI3oAp+n/nw0lBr9SPCoXURVukLfSFjuJMLKvPaz6dudiGCuwo738jx6HlHI o2aTK6fuJ5ZbgHz5ejbdlt46I2hFvKJkPigVnUQiaMnfwA7D8hdOyMglBnDe7tRaHQKGKNl c1u8wPxTbl922rCIc3KC1bHFBqRzSCJGovCGZhdzRKVRKGeJNHo2ydoOzfqQuLHYE2UEl6g x6kf8JpxKpnfAomf0qtRuTvkm7bU+CasWiGuXuk4wuUulwnt4o+3C17JYY2jqraCV9v8Bxl ycbOUKlV1VTjpoQOHy4i1hmG8SCtV9usn3uouQ76hDq/zGaIPhEqcHnP9QljlrAwOcNrZBH om5zfksm7yDUEtlrDEP4cXiv8ePWLyDX2MZwwRlFswVZACRExD4TcirkFT8GZxhp69CjkI+ MjN8sl2nrm6QvIy69/Q4Eng2XeCgpYAIIY/rygyCgrHigUKI3gdncp/rMijQfqmg3EDFrQr CxFlI91LFKUi1VCoQYKshg7u6UIB3U3piRK2S9mdqaeV2GH4flv1wMnwfVOSB8RaLziXq4L AXcJt2vAnCLaqyy8bdzLJ58m32eL919xsDaNH3T34KNdkaWT6cVsrE9/u2PvDgd22xgKgCk GA7uvuN9ezWQNgtaq0P48DjbXfoJLe5tP9JiWnjDnwawAvkLZSsb7FtVtfjQzjH/myu66Mb nerku+ixfUcz3UtKekglmYU1g8qAvalOSWaZlgY6QiokMKJGZvmmjXR7FFgMfFsvZFqxeUi CkA1DSK9iKzGO8OKxhTkEu7EI6kOZPVv777m/JraB/RdvPTxVZ+r8QAe00r92RT0nfhrZiR bLIXFqQx1zdX+cQ7wi0ofYZ5L2G4Rx+9PkktKc8O4HI4/w+5dw3WzKmH3F+wQpsyaoOoQRk eWaUVEoenIpHbkFzpfGzYD7FiNHTpve4NfWTBwXRrhkZWJof2RW3MOxG8ORQk= X-QQ-XMRINFO: OD9hHCdaPRBwH5bRRRw8tsiH4UAatJqXfg== X-QQ-RECHKSPAM: 0 The latest official boot firmware configures TrustZone to restrict direct access to the QSPI controller. Any attempt to access it from the non-secure world causes an immediate board reset. Remove the QSPI flash node and its associated pinctrl states, mark GPIOs 12-17 as reserved, and protect the QSPI clocks in the GCC node to prevent the kernel from touching this hardware. Signed-off-by: Xilin Wu Reviewed-by: Konrad Dybcio --- .../boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 60 +++---------------= ---- 1 file changed, 7 insertions(+), 53 deletions(-) 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 index 91f1b4f57915..8d6bb4b0724b 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts @@ -513,6 +513,9 @@ &gcc { , , , + , + , + , , , , @@ -745,28 +748,6 @@ &pon_pwrkey { status =3D "okay"; }; =20 -&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"; @@ -906,6 +887,10 @@ wcd_tx: codec@0,3 { }; =20 &tlmm { + /* + * 12-17: reserved for QSPI flash + */ + gpio-reserved-ranges =3D <12 6>; gpio-line-names =3D /* GPIO_0 ~ GPIO_3 */ "PIN_13", "PIN_15", "", "", @@ -1024,12 +1009,6 @@ pcie1_wake_n: pcie1-wake-n-state { bias-pull-up; }; =20 - 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"; @@ -1210,31 +1189,6 @@ &pcie1_clkreq_n { drive-strength =3D <2>; }; =20 -&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>; --=20 2.53.0 From nobody Mon Jun 15 02:50:26 2026 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 25E0C369236; Tue, 7 Apr 2026 15:20:37 +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=1775575244; cv=none; b=ZrrPSWX2ny1UO7uIJ/7DltmfXqPFfGUvrPc8SfyS5KD29eiw+Vbjg//tYVnbfiwdEwI3cKcqJQ3ZFfl3vsCjRe+hUYwx6mHj3MIvAOL+tgMhP6ltyJ3gGoNcCs2pL5BtQ0pfTUrUcRZGnkrVS7ZlJKY2NZ5vjYtD4Bpuf1Hrj7k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575244; c=relaxed/simple; bh=dZ0W3crIv2VM2i7FwnY+eaL8nfzHIiIMpSyWZb4mzRk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EXZt9swniX3+QxlzLLpJXaC4qLpRIrbFr1A5YTXh9puqhsBDEBsOrMWIu9rNFjL/kvUTQzr/CoLa9BQ4xRVYXP9NK2YxKXrAf0wd8i0GOqyQTxKEKnic3MrkijA+UXFvR/xreYhvgXRSOgUk9zmv96lmJAEAUiqRu8/YA3Tf4VQ= 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: esmtpsz19t1775575230t65590e4f X-QQ-Originating-IP: s7C9YY0GkcLG2+RO5lXB1RxkJTAyQKg14f8A6WgXlWc= Received: from [192.168.30.32] ( [116.234.14.100]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Apr 2026 23:20:28 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 5371476590089596179 EX-QQ-RecipientCnt: 16 From: Xilin Wu Date: Tue, 07 Apr 2026 23:19:59 +0800 Subject: [PATCH 07/12] arm64: dts: qcom: qcs6490-radxa-dragon-q6a: Correct GPIO_27 label 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: <20260407-dragon-q6a-feat-fixes-v1-7-14aca49dde3d@radxa.com> References: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> In-Reply-To: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov , Liam Girdwood , Mark Brown , Judy Hsiao Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Konrad Dybcio , linux-sound@vger.kernel.org, Xilin Wu , Stephen Chen X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=934; i=sophon@radxa.com; h=from:subject:message-id; bh=9OBnu2yMm4Es5sevvbv4Qgq197Rbtmk/nKpeGZFfIdI=; b=owGbwMvMwCVmdFg0fe08Iz/G02pJDJlXFZbO0/mz49or3tmLpiXt2bxm7fMdlZ9ty10VJmkLX MpkMyjZ2FHKwiDGxSArpsiiEM8wl70y99pTsVI9mDmsTCBDGLg4BWAiRZyMDEtvv0vJqHn/PCVj E4d1RqlMUfxT68c/Pwr5XU05svJDcT8jw46Du1eWCL5Wnz7rqM7yE/8ftmZapp15x83isHTNome r3nMDAA== X-Developer-Key: i=sophon@radxa.com; a=openpgp; fpr=205F009D07796DD6E516752E32C31567AD9E324E X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:radxa.com:qybglogicsvrsz:qybglogicsvrsz3b-0 X-QQ-XMAILINFO: OdxngZb53Esr4WrFcemvpMQt28Bn8c+JS9wC3MbBFYExQgX5AIlKwfej mruGHiQGfm0RjCqYfy+/1EG/BIclDv4VsjUXMWpUMxhrskJadyNT+U1gvB5iKH8+GPvggCw wnGxGAJ1JA6teKezGA00XchBYRfJq/flfB2eKKG1MZPI90H8fX7f8zGFkWVrZqf3Yj57g+v KcW4RXn8KDvtbwo92BavbUEtAlN559+HthRdWAq+ha5TJNv04mXXexeborl83D0Yq1d/Avm HlKbTX7DSTdETFiKzimBVsFpO4J0NCd0LHn+bi22/LND+R64Yg1Nc5pd7BW/r/ophyDMMZA NJ4UpmxLZy8gGhNUmH35p5qj6jZwH92hWwk1lZXdFyouaZiu5W3yO6oXHf0Qkva1G+Jy3Al iEPVtbNt6m5RYuF8pnnuCxiEIBjx1PqpX9UFlbXJ3miLyBzMQ6EQjOi1kWwWIdeI4IOG0PT 9r8cI6/zup8h1MQRtfa1IP4kIF/f3+iF2yebWxe6IjmjzwG6sS0l8VnNA4QmK/B+apekc7C cA4zi11lphA+kdQTV7ZulIE7rPh3r9kU4GyPCrxKxWdMdgXg2Vv2pE9vr54GYc6N9TuRPkU 70h2zo5eGJ+qd/bPKuYtpXiDio3Qy90bX+Jc64BLeL2ERNIMBbX5XpP0mhq2SiSC8oduHE1 jQ3a6nlkvmCCOaDAneg6Z9biv15DLRyZ3HRE/PcntFF/Zw7RgaMM+zkq8MWygia1jXmZlic OKzekAZ7skF9dGTVi+SZ3e/xmJcvObm4f9TS5qqcjhpEOp6CYtzaAbMFCd0WQkoXEBsosNM CTCwy0dUfh16SBqB0YYvEzo8aPK3J5ZG/dQFxHPfIIfXkz9jvtbA05McsovwKWtKW1ZQ2C5 WgjI87oAgqCoran26OggbLov2APac9qm7cFTmQI3aCThCQHMVqdQ2LFQkxfw2C/3qDRjFHg kWcz+ijlXnr8u0iWiJJYV7TAPu7OKspdwbinu3pL7ELT+OFJ1RxtGMcNniufTGHIO7gz7QJ lcEeILrwunt1EPBA4Oz/sC0FAAj42dI5geBOw5UXK1NgTbz+efEk9jM8dUQ05hUYL6f1N4h CpHAv2kK/bW X-QQ-XMRINFO: NI4Ajvh11aEjEMj13RCX7UuhPEoou2bs1g== X-QQ-RECHKSPAM: 0 From: Stephen Chen The label of GPIO_27 is wrong. Fix it. Fixes: ef254b12ec60 ("arm64: dts: qcom: qcs6490: Introduce Radxa Dragon Q6A= ") Signed-off-by: Stephen Chen Signed-off-by: Xilin Wu Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index 8d6bb4b0724b..fe3f60f8ed5a 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts @@ -905,7 +905,7 @@ &tlmm { /* GPIO_20 ~ GPIO_23 */ "", "", "PIN_8", "PIN_10", /* GPIO_24 ~ GPIO_27 */ - "PIN_3", "PIN_5", "PIN_16", "PIN_27", + "PIN_3", "PIN_5", "PIN_16", "PIN_18", /* GPIO_28 ~ GPIO_31 */ "PIN_31", "PIN_11", "PIN_32", "PIN_29", /* GPIO_32 ~ GPIO_35 */ --=20 2.53.0 From nobody Mon Jun 15 02:50:26 2026 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 7F32536DA0E; Tue, 7 Apr 2026 15:20:41 +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=1775575250; cv=none; b=oc5lVe7EcAJwEADnf5KDPyoUFTzZ14O0h6MsGJ4sZx5sruCMHGRmI039b8S//+SdWPIYxjEWMNfIolwy7pyLbp778poK1ahQxNsLTUV3Qn/dqgzAJIIwRkFcYl79PvIlZPB+s98bPjDW17/qK+rcltRzQ96zK20wcT44fROgOlM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575250; c=relaxed/simple; bh=X0Qk+UCVz9SDLs72GPkLwlqwwTiOepSUr8edYNrhXxs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BxNFtqUEzUKMFaPG6cYfjPhtRT4txdTH9O3WsO36xc75acd0teIpkP5SNYc/q7He9qOcZqCLZzlsSlTK0DgSBDfaYz7I37GTEel5ayVzxzi89lE4F6eanesjOL4htc54xSop6OaMlgQ2LOvHHOqfeo/I6rVbdm1GShyrnvXq7B8= 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: esmtpsz19t1775575233t10419500 X-QQ-Originating-IP: FBf+c357Usd9zf5sh9XO5QfG2hXXp/glqc352Gjqxpk= Received: from [192.168.30.32] ( [116.234.14.100]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Apr 2026 23:20:31 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 11940775239744383813 EX-QQ-RecipientCnt: 16 From: Xilin Wu Date: Tue, 07 Apr 2026 23:20:00 +0800 Subject: [PATCH 08/12] arm64: dts: qcom: kodiak: Mark secondary USB controller as wakeup source 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: <20260407-dragon-q6a-feat-fixes-v1-8-14aca49dde3d@radxa.com> References: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> In-Reply-To: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov , Liam Girdwood , Mark Brown , Judy Hsiao Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Konrad Dybcio , linux-sound@vger.kernel.org, Xilin Wu , Stephen Chen X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=733; i=sophon@radxa.com; h=from:subject:message-id; bh=Gu+uC97SGYs6OqppTTTbCFpDl31QQdXxSVr+QHDlilU=; b=owGbwMvMwCVmdFg0fe08Iz/G02pJDJlXFZaebL/T6shX+FhZt3aF4uqU5qhTJ/h54rkeTf+r5 qsUfIito5SFQYyLQVZMkUUhnmEue2XutadipXowc1iZQIYwcHEKwETKNjMy/NbvVdyi+lnlH59z 9aWlh67wzOKWkkg/lpQectz8q8/BvQz/MzRs319osZ5e07XhTvF6y7eKR5VT1q69vlFo24JFh3M esgAA X-Developer-Key: i=sophon@radxa.com; a=openpgp; fpr=205F009D07796DD6E516752E32C31567AD9E324E X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:radxa.com:qybglogicsvrsz:qybglogicsvrsz3b-0 X-QQ-XMAILINFO: OWAyBQUmjFVP56qjSzahB6AkXuaCH2ReBXLhfDCbnsjgP7Txn5/xElbe VrPOuYEX0xKlO5hFT/7Zgbx1tvOsC36dfmRf8GDsdxv9wl6geCUMxu86kEAtaw9uY2t1o1M iw1YEN9sqST63QNoDEvwF2TjzUdTT7Wn4/LKykXtjtGqERbw8UKL4BdDwmwr+bWCCBMI9CD cewSgD/Dj3r0uN8GRixly7N8K2/s+JYRSbwF7ZxwJJFE03kuoh3J5Q8Pe9+L6EizgbEU7es VxTjnbhfnzIwSGRk13cueg5RFX0XC3dcn+kJfueyn1c9mJfL+imJG+AzRh+Hbw0jwMuVpCQ Qy4p9tyPZk7+mjDv69Xmc2BoUtOMUzLw8uab30TU0cQNxG3wqYrGBPUozRN2kc+zEZQ7WXl CGDfIR4IAB/pmAncSW91+oUh6j/fXKZd5DQ45CigrVgsr0c0Tic+TOx3fEZW/QlSoY4MuOZ Jwp3S9CGaalcvOpaKoNxViyc/DUB2Itl6B4UvjNlhvhm2rBPwOh0uWkxmauhfyayI1NgNjx 4al/m0A7PJ2CO24c+gJytlbz62QxTYKIrJVgQ8BaHewqyiQH3CUd8SdGC0AKG+Xsht/fWPs ToFLbFF+bNaohVit4sLlKLpjC6Ap+zDO6VIF4ozxb/GlV3S28V7IQOXet4iCCIzoKt8ATUT V1pj9ChpWQJaMH/UwtYrSkaAMkI/7AcyICY+Z4TnM2LgqgC1JApvA4OE0jlDXPpxa/UbsMT AvB20dXtPUsMh5I/ltgrqBnQEUAtm0x0uJAm5u5WwxpsuhFvKbAVDdl0rUqbjhcNLQgkQfS ij6LMTFiC3Zf//VyUqRuOdCdFq/ajZg+CaVb0fDQ40jhs9zLCVr90Arcz4uAhxIHSkJIrSE xhN+UWZJRzDCBTgP9+Al5aQ0JsQ7KUBO2c/cZ9HQT144gXWibxU+9lfrBNo6AotniYd5n8P A3Q7zjbL7p6zLgGhYDTZXM+TOWxv5MCQryI/0jLbR03JvF2AlIkuzXiAk7/nV9TLPz6s4+c D/MrDCjUikyG23FoLz0dzW9DLJl5Z5XMpEqKo0k2Ie5XYPwMmUHAmIRuigPGZdg3L/E91V5 w== X-QQ-XMRINFO: OWPUhxQsoeAVwkVaQIEGSKwwgKCxK/fD5g== X-QQ-RECHKSPAM: 0 From: Stephen Chen Mark the secondary USB controller (usb_2) as a wakeup source so that it can be used to wake the system from suspend. Signed-off-by: Stephen Chen Signed-off-by: Xilin Wu Reviewed-by: Konrad Dybcio --- arch/arm64/boot/dts/qcom/kodiak.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qco= m/kodiak.dtsi index 3a30126af3d4..940ec799e905 100644 --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi @@ -4404,6 +4404,7 @@ usb_2: usb@8c00000 { phy-names =3D "usb2-phy"; maximum-speed =3D "high-speed"; usb-role-switch; + wakeup-source; =20 port { usb2_role_switch: endpoint { --=20 2.53.0 From nobody Mon Jun 15 02:50:26 2026 Received: from smtpbgsg1.qq.com (smtpbgsg1.qq.com [54.254.200.92]) (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 4ED1C36F42E; Tue, 7 Apr 2026 15:20:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.254.200.92 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575255; cv=none; b=VQaTkx1R9XR1BDG+JD6wRGIFwrcmXHQOxHKSgcuRj2SRdqdjmtvKxFa1W3SU3sdgZULOUeonpA5GzGY1RBHP3Fbswn+oWN/KLQGtlwN9Dl2AWKrquyXqSBayFrZQDinQkqrNgDcBGlRz4sjJEMOVmNYs70r3LMYAkUb6GI6aYQM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575255; c=relaxed/simple; bh=zleSGZ/ZalpF9Xul7Z4BSESbmx+1FSepdfsf6IbZogc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WUYXtt5g6T+dagcVR2nSm9UF2iiWlPBXPVxtxU3tVsXRwFS8xWPWUw4ReAJV9TvQgbp79Ql3TUl5MqMilGFtMCu3+f4OexWMkJBHj7og+BhOO51ajhUKH6uWneUmiTi/Vi8xpEhPfVetJa9JAeJ+IPnqtoyGzJ7iQ9tWrJIIe7o= 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.92 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: esmtpsz19t1775575237t597c16db X-QQ-Originating-IP: aYtE5w9jmSe3AJHmf5aVWYyi0CDvI75O/fOa8EA9QQ8= Received: from [192.168.30.32] ( [116.234.14.100]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Apr 2026 23:20:35 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 8059686087203392051 EX-QQ-RecipientCnt: 15 From: Xilin Wu Date: Tue, 07 Apr 2026 23:20:01 +0800 Subject: [PATCH 09/12] arm64: dts: qcom: qcs6490-radxa-dragon-q6a: Align reserved-memory with latest firmware map 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: <20260407-dragon-q6a-feat-fixes-v1-9-14aca49dde3d@radxa.com> References: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> In-Reply-To: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov , Liam Girdwood , Mark Brown , Judy Hsiao Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Konrad Dybcio , linux-sound@vger.kernel.org, Xilin Wu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2892; i=sophon@radxa.com; h=from:subject:message-id; bh=zleSGZ/ZalpF9Xul7Z4BSESbmx+1FSepdfsf6IbZogc=; b=owGbwMvMwCVmdFg0fe08Iz/G02pJDJlXFZamTZ3eHBeU2CzQLBD9MPykltLkkm6NG58fvdm/d vNCU6sJHaUsDGJcDLJiiiwK8Qxz2Stzrz0VK9WDmcPKBDKEgYtTACby9RvD/+iAlV4BIhxhnzlm JEv3h/3f8ZKFVfNslWqD9udNd3QiOBkZTr/+HitVsC9JpdhglZYP6630I6aO//gPftDP7z/35Fc gHwA= X-Developer-Key: i=sophon@radxa.com; a=openpgp; fpr=205F009D07796DD6E516752E32C31567AD9E324E X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:radxa.com:qybglogicsvrsz:qybglogicsvrsz3b-0 X-QQ-XMAILINFO: M21ph8MgUKJrG0PuygVjJ5ugSLtupyI9W2Sy9Did1gcQP+ITqcUFUEIt jyUdAEiuIbuahgmWaCaczBnSWH7S/1dCih5LJ9OED8lP+qDjiN1vJ3nBOHDfm1rmRNDHkNG lGnOV/o2Djsaf8WNfTx9pRMMb6pQQryL0BOwvM3z0gGIrl99Mfq6tdZx64nt/+un3z307b9 x2QtSa8J1gio0bP/CXzwbZJh42CODhcPtMhYEnRGrCK2wshlE7e2hefA31k1UTbOu70b0Ds Zi5NqOzlI1FGjUvMa228490fErgsnNgFM+H2+1n5Rv147/vwoYYSdFNLOzkrHuavJ8GNHe7 KQQXa4ST9ALycEd9OOvHkzdJExdfJ6Q+xMjgVXaEnEDde1vP9c1ixW0YHuweuPdzzZKg3Ua 89NhsPEtdC17pPlXcXSg4WB9M9xhsBdUQqG8J8aHUCjxSktj1uivt3+/nOlJm4HVi7Tqc8F ZYmVPw5Rw2wFvrxzlHobrK8xkTKmwaltGuX98htXyHV3ArZ2mbIBAnyoV0yC2PJhrNK64hd Ekt3UjVJ2n0aNIzPpqqQ8903zMPu146WvSiN9dp3DIentJHZuxNjX8GBwvymXQoX4M06jpE s2cQWVQ3iaXg5sPeCuKvZpiHjohj5u3nKqydXl543ULW3Ofcc5JfKk3qCsAS6mcru1FSHIV exFU7fgMb5dfwtk3Zwx03aCb8t5lsaSElNh5F7ccHemdXgn3lKw7vluOqri/YJxjxn2VrPr T4NNiBfdU3sQXANP/77keZX/5/l5N5VI44xvQrr6Eko2DtXqPVv7ONM9zbZeZs6AGep1/Z9 /i4kzZBrqE/ci5cRDdWgk91fO6aWZAiEYV+4FFT1x2Lw227dgqmj2KoNi7YWuo4TZVP9Fpm tDZCi8q38i/Waz75xfQq8dzleIGSo1xZZxr9BaoHsFcCEZqtFEIgMCHj0P043jp2f+RPAGa J7XfIBRNa9Y2XY4MRDuiUMSzdY094eavJOO/Roma0iYVaHGIiKXCIFZfkanRHjAczW0vaDH gWfovrHnYKw1ZRU5v6y2tYcysaTu+RotWV8oOkcV9otkCaD0Aa0skemqzl+1pJvh+LqGDjj Q== X-QQ-XMRINFO: OD9hHCdaPRBwH5bRRRw8tsiH4UAatJqXfg== X-QQ-RECHKSPAM: 0 The current board DTS no longer matches the reserved-memory carveouts used by the latest official Dragon Q6A firmware. Update the memory map to keep the DTS in sync with firmware expectations. Signed-off-by: Xilin Wu --- .../boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 43 +++++++++---------= ---- 1 file changed, 17 insertions(+), 26 deletions(-) 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 index fe3f60f8ed5a..5679f38de5b3 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts @@ -22,7 +22,9 @@ #include "qcs6490-audioreach.dtsi" =20 /delete-node/ &adsp_mem; +/delete-node/ &adsp_rpc_remote_heap_mem; /delete-node/ &cdsp_mem; +/delete-node/ &gpu_zap_mem; /delete-node/ &ipa_fw_mem; /delete-node/ &mpss_mem; /delete-node/ &remoteproc_mpss; @@ -33,7 +35,6 @@ /delete-node/ &wlan_ce_mem; /delete-node/ &wlan_fw_mem; /delete-node/ &wpss_mem; -/delete-node/ &xbl_mem; =20 / { model =3D "Radxa Dragon Q6A"; @@ -193,43 +194,33 @@ user-led { }; =20 reserved-memory { - xbl_mem: xbl@80700000 { - reg =3D <0x0 0x80700000 0x0 0x100000>; + lpass_ml_mem: lpass-ml@81800000 { + reg =3D <0x0 0x81800000 0x0 0xf00000>; no-map; }; =20 - cdsp_secure_heap_mem: cdsp-secure-heap@81800000 { - reg =3D <0x0 0x81800000 0x0 0x1e00000>; + cdsp_secure_heap_mem: cdsp-secure-heap@82700000 { + reg =3D <0x0 0x82700000 0x0 0x10000>; no-map; }; =20 - camera_mem: camera@84300000 { - reg =3D <0x0 0x84300000 0x0 0x500000>; + adsp_mem: adsp@8b800000 { + reg =3D <0x0 0x8b800000 0x0 0x2800000>; no-map; }; =20 - adsp_mem: adsp@84800000 { - reg =3D <0x0 0x84800000 0x0 0x2800000>; + cdsp_mem: cdsp@8e000000 { + reg =3D <0x0 0x8e000000 0x0 0x1e00000>; no-map; }; =20 - cdsp_mem: cdsp@87000000 { - reg =3D <0x0 0x87000000 0x0 0x1e00000>; + video_mem: video@8fe00000 { + reg =3D <0x0 0x8fe00000 0x0 0x500000>; no-map; }; =20 - 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>; + gpu_zap_mem: zap@90300000 { + reg =3D <0x0 0x90300000 0x0 0x5000>; no-map; }; =20 @@ -249,12 +240,12 @@ qtee_mem: qtee@c1300000 { }; =20 trusted_apps_mem: trusted-apps@c1800000 { - reg =3D <0x0 0xc1800000 0x0 0x1c00000>; + reg =3D <0x0 0xc1800000 0x0 0x2200000>; no-map; }; =20 - debug_vm_mem: debug-vm@d0600000 { - reg =3D <0x0 0xd0600000 0x0 0x100000>; + adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@c6500000 { + reg =3D <0x0 0xc6500000 0x0 0x800000>; no-map; }; }; --=20 2.53.0 From nobody Mon Jun 15 02:50:26 2026 Received: from smtpbgjp3.qq.com (smtpbgjp3.qq.com [54.92.39.34]) (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 5920C2FFDE1; Tue, 7 Apr 2026 15:21:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.92.39.34 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575288; cv=none; b=cLtH+MOlFc3G5JnER2Lqpiv0rDIykXY7KqY8yrPH5pGUY4ydPZKGr/w4/F5s/0h7MNhks/38wUwvvyRTAtoi+nfT+boakw25p4tbpjHA0qW6kPA+u8ogF5HIosnYYOjy+cjFRN5Pr/5eGyBx+mTjvsL2CoNN74G5JNm+g9N/bJE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575288; c=relaxed/simple; bh=9QSYdks2nhxeSZpUHiGZuhuUYv+lFBDwnW8zW0/Ewz0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FkEt/MGjfQaaZArLhGaRY+5VsxtbBwUOTlsbRzpzqqXwhRDFcPvjeZY2Ym7iuUAb3QIxcXmWv3DC2iOFfTrMmcKCWzjujFVVr8Yf9A7qSKUICoIADL+qjHzUujUKSHm6pZUO2+YoMLF0dSrflxLJTGRs2bQhah5ZOf9+T+SN23g= 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.92.39.34 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: esmtpsz19t1775575240t16b60c5e X-QQ-Originating-IP: Vyb/Mmha8lCRKCtgWx9DHHNZctVqPr0tnny8JdmREdk= Received: from [192.168.30.32] ( [116.234.14.100]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Apr 2026 23:20:38 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 6365229028860219845 EX-QQ-RecipientCnt: 15 From: Xilin Wu Date: Tue, 07 Apr 2026 23:20:02 +0800 Subject: [PATCH 10/12] arm64: dts: qcom: qcs6490-radxa-dragon-q6a: factor out common board dtsi 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: <20260407-dragon-q6a-feat-fixes-v1-10-14aca49dde3d@radxa.com> References: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> In-Reply-To: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov , Liam Girdwood , Mark Brown , Judy Hsiao Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Konrad Dybcio , linux-sound@vger.kernel.org, Xilin Wu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=52707; i=sophon@radxa.com; h=from:subject:message-id; bh=9QSYdks2nhxeSZpUHiGZuhuUYv+lFBDwnW8zW0/Ewz0=; b=owGbwMvMwCVmdFg0fe08Iz/G02pJDJlXFZa6TevJY+yY6P3eevlLrSelSnfsmVKjMiZ4zDh/2 s+zPGF9RykLgxgXg6yYIotCPMNc9srca0/FSvVg5rAygQxh4OIUgImklDEy3HRMesr4LdLrSrni cR+lVx+D3tUmvonJP73d5eXHok2cExj+5z/+XrH5kuiuOQxWxqUfN7GGMiouUwiQY759Uk5f6JE tMwA= X-Developer-Key: i=sophon@radxa.com; a=openpgp; fpr=205F009D07796DD6E516752E32C31567AD9E324E X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:radxa.com:qybglogicsvrsz:qybglogicsvrsz3b-0 X-QQ-XMAILINFO: NG5Tb6DTr4IeWLqqLUfAAyjzfKBAgcBDXEzZyNlnR4Jw05Bekx5vYV0C R/4sqEfd9JXqflwuvJxEH7ffmIIy7VEgHxeL7gGE0wwDrfvPO2ps9F0dg2bGEYzuO6rRbrq iH4H5U/ip7W/65UH3xB5sRR3xgfj7UNYI/Q8wCvy+R3C6cC3uKKkrGhWN2rU517y39Qbn4o GyABNMGb0Ws0Q6ItgOWu9qc3pDb+b3mszVBftvug1JsbIcaDKYhb90OuwKiG7MJmIbN3Rev is/Wk7tZKd9+XxGmBcTGJAAdbkhWl11/+p8bZ86VCJs6hrfEvKPsuu4SyIDnXaAkLTwfGht oYJDo1rzCmJN9LZGTVlig7jOoFpoFgXEqd06Mp6A9ulOEpbi4H6D4iTNdiHcC3eOkFtOPPm Nucbg369P/c+HrBdp+wgHR/QLwbQdc1shz2c2npZvlpbA5PS1glaWYce04JSdVX3CpbRI0z mU97mTlC7RrTR2WKF/1M5adZSLNY6JG+oTXNupmp4Ts3zUCzYKFUwuVPMHxvsNPT70UEybq KiYlbgo+ir2M0xN2DzfwsEdCOUeGdpuzVC4F0R++E2JjCrpz7cne79v5jBeY6xanWQCvUdO cW6IR/rnrA3NIu6nxMGFZj7rRP72nTZP4AGu4IeS3oCS9eMpNxr+bjvaOZ21ERJpWabyS/A A2xKa/ZoMb2NIb/TyEe8x65r/kjDyJqtmwafndqJj3c4WCWMc0G35iFzaGYuuRtKvBoZejZ 00/BFXjUhGE/mU06L4CQnz6PMIES6TPn8S5ggziau/O/Jbh9Rm2LrDr6jFp/Qr/m6tPeKOr wbMNA8p0wQyIhq3it/6yFXTSjvZqJquIhYNcks9tCpBSbtqV4fbE8wOnA318f6DIZ2+Bdfh Iqeo9AOE1SK3p+Qcj5kNoGGQ8tbFTxqqg7JwuJ8sho9myh91wXJiwRz2Fln5aj+oDMKRGxv VhVvacnvjqI6LoeFzgaC1sGdi0Fudayeby2hIhH7AH0n4MA+HF8Bb+EnTkDmye8uFsfrtCy EKnApD6IU402uxycfFrdGTiso92m2KpCXDQmSLR/lOTyEFr3WJYl2h4h/J9uWQa1E5HU5DS g== X-QQ-XMRINFO: MPJ6Tf5t3I/ylTmHUqvI8+Wpn+Gzalws3A== X-QQ-RECHKSPAM: 0 Move the common Radxa Dragon Q6A board description from qcs6490-radxa-dragon-q6a.dts to a new qcs6490-radxa-dragon-q6a.dtsi so it can be shared by multiple board variants. Keep the existing Audioreach-based qcs6490-radxa-dragon-q6a.dts as the default configuration by including the new common .dtsi and qcs6490-audioreach.dtsi. No functional change intended. Signed-off-by: Xilin Wu --- .../boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 1135 +---------------= --- .../boot/dts/qcom/qcs6490-radxa-dragon-q6a.dtsi | 1137 ++++++++++++++++= ++++ 2 files changed, 1139 insertions(+), 1133 deletions(-) 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 index 5679f38de5b3..f52328fbaef9 100644 --- a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts +++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts @@ -1,568 +1,13 @@ // SPDX-License-Identifier: BSD-3-Clause /* - * Copyright (c) 2025 Radxa Computer (Shenzhen) Co., Ltd. + * Copyright (c) 2025-2026 Radxa Computer (Shenzhen) Co., Ltd. */ =20 /dts-v1/; =20 -/* PM7250B is configured to use SID8/9 */ -#define PM7250B_SID 8 -#define PM7250B_SID1 9 - -#include -#include -#include -#include -#include -#include "kodiak.dtsi" -#include "pm7250b.dtsi" -#include "pm7325.dtsi" -#include "pm8350c.dtsi" /* PM7350C */ -#include "pmk8350.dtsi" /* PMK7325 */ +#include "qcs6490-radxa-dragon-q6a.dtsi" #include "qcs6490-audioreach.dtsi" =20 -/delete-node/ &adsp_mem; -/delete-node/ &adsp_rpc_remote_heap_mem; -/delete-node/ &cdsp_mem; -/delete-node/ &gpu_zap_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; - -/ { - 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"; - }; - - usb2_1_con: connector-0 { - compatible =3D "usb-a-connector"; - vbus-supply =3D <&vcc_5v_peri>; - - port { - usb2_1_connector: endpoint { - remote-endpoint =3D <&usb_hub_2_1>; - }; - }; - }; - - usb2_2_con: connector-1 { - compatible =3D "usb-a-connector"; - vbus-supply =3D <&vcc_5v_peri>; - - port { - usb2_2_connector: endpoint { - remote-endpoint =3D <&usb_hub_2_2>; - }; - }; - }; - - usb2_3_con: connector-2 { - compatible =3D "usb-a-connector"; - vbus-supply =3D <&vcc_5v_peri>; - - port { - usb2_3_connector: endpoint { - remote-endpoint =3D <&usb_hub_2_3>; - }; - }; - }; - - 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_1_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_1_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_INDICATOR; - gpios =3D <&tlmm 42 GPIO_ACTIVE_HIGH>; - linux,default-trigger =3D "none"; - default-state =3D "off"; - panic-indicator; - }; - }; - - reserved-memory { - lpass_ml_mem: lpass-ml@81800000 { - reg =3D <0x0 0x81800000 0x0 0xf00000>; - no-map; - }; - - cdsp_secure_heap_mem: cdsp-secure-heap@82700000 { - reg =3D <0x0 0x82700000 0x0 0x10000>; - no-map; - }; - - adsp_mem: adsp@8b800000 { - reg =3D <0x0 0x8b800000 0x0 0x2800000>; - no-map; - }; - - cdsp_mem: cdsp@8e000000 { - reg =3D <0x0 0x8e000000 0x0 0x1e00000>; - no-map; - }; - - video_mem: video@8fe00000 { - reg =3D <0x0 0x8fe00000 0x0 0x500000>; - no-map; - }; - - gpu_zap_mem: zap@90300000 { - reg =3D <0x0 0x90300000 0x0 0x5000>; - 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 0x2200000>; - no-map; - }; - - adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@c6500000 { - reg =3D <0x0 0xc6500000 0x0 0x800000>; - 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-l6-l9-l10-supply =3D <&vreg_s8b_1p2>; - vdd-l11-l17-l18-l19-supply =3D <&vreg_s1b_1p84>; - - vreg_s1b_1p84: smps1 { - regulator-name =3D "vreg_s1b_1p84"; - regulator-min-microvolt =3D <1840000>; - regulator-max-microvolt =3D <2040000>; - }; - - 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-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"; -}; - &lpass_audiocc { compatible =3D "qcom,qcm6490-lpassaudiocc"; /delete-property/ power-domains; @@ -580,207 +25,6 @@ &lpass_va_macro { status =3D "okay"; }; =20 -&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"; -}; - -&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"; @@ -838,378 +82,3 @@ platform { }; }; }; - -/* 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 { - /* - * 12-17: reserved for QSPI flash - */ - gpio-reserved-ranges =3D <12 6>; - 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_18", - /* 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; - }; - - 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-gear-rate =3D "rate-a"; - - 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; - - /* RX0/TX0 is statically connected to RA620 bridge */ - usb_1_qmpphy_out_dp: endpoint@0 { - reg =3D <0>; - - data-lanes =3D <0 1>; - remote-endpoint =3D <&hdmi_bridge_in>; - }; - - /* RX1/TX1 is statically connected to USB-A port */ - usb_1_qmpphy_out_usb: endpoint@1 { - reg =3D <1>; - - data-lanes =3D <2 3>; - remote-endpoint =3D <&usb3_con_ss_in>; - }; - }; - }; -}; - -&usb_2 { - dr_mode =3D "host"; - - #address-cells =3D <1>; - #size-cells =3D <0>; - - status =3D "okay"; - - /* Onboard USB 2.0 hub */ - usb_hub_2_x: hub@1 { - compatible =3D "usb1a40,0101"; - reg =3D <1>; - vdd-supply =3D <&vcc_5v_peri>; - #address-cells =3D <1>; - #size-cells =3D <0>; - - ports { - #address-cells =3D <1>; - #size-cells =3D <0>; - - port@1 { - reg =3D <1>; - - usb_hub_2_1: endpoint { - remote-endpoint =3D <&usb2_1_connector>; - }; - }; - - port@2 { - reg =3D <2>; - - usb_hub_2_2: endpoint { - remote-endpoint =3D <&usb2_2_connector>; - }; - }; - - port@3 { - reg =3D <3>; - - usb_hub_2_3: endpoint { - remote-endpoint =3D <&usb2_3_connector>; - }; - }; - }; - - /* FCU760K Wi-Fi & Bluetooth module */ - wifi@4 { - compatible =3D "usba69c,8d80"; - reg =3D <4>; - }; - }; -}; - -&usb_2_hsphy { - vdda-pll-supply =3D <&vreg_l10c_0p88>; - vdda33-supply =3D <&vreg_l2b_3p072>; - vdda18-supply =3D <&vreg_l1c_1p8>; - - status =3D "okay"; -}; - -&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>; -}; - -&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>; -}; diff --git a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dtsi b/arch/= arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dtsi new file mode 100644 index 000000000000..52c2f053c820 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dtsi @@ -0,0 +1,1137 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025-2026 Radxa Computer (Shenzhen) Co., Ltd. + */ + +/* PM7250B is configured to use SID8/9 */ +#define PM7250B_SID 8 +#define PM7250B_SID1 9 + +#include +#include +#include +#include +#include +#include "kodiak.dtsi" +#include "pm7250b.dtsi" +#include "pm7325.dtsi" +#include "pm8350c.dtsi" /* PM7350C */ +#include "pmk8350.dtsi" /* PMK7325 */ + +/delete-node/ &adsp_mem; +/delete-node/ &adsp_rpc_remote_heap_mem; +/delete-node/ &cdsp_mem; +/delete-node/ &gpu_zap_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; + +/ { + 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"; + }; + + usb2_1_con: connector-0 { + compatible =3D "usb-a-connector"; + vbus-supply =3D <&vcc_5v_peri>; + + port { + usb2_1_connector: endpoint { + remote-endpoint =3D <&usb_hub_2_1>; + }; + }; + }; + + usb2_2_con: connector-1 { + compatible =3D "usb-a-connector"; + vbus-supply =3D <&vcc_5v_peri>; + + port { + usb2_2_connector: endpoint { + remote-endpoint =3D <&usb_hub_2_2>; + }; + }; + }; + + usb2_3_con: connector-2 { + compatible =3D "usb-a-connector"; + vbus-supply =3D <&vcc_5v_peri>; + + port { + usb2_3_connector: endpoint { + remote-endpoint =3D <&usb_hub_2_3>; + }; + }; + }; + + 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_1_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_1_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_INDICATOR; + gpios =3D <&tlmm 42 GPIO_ACTIVE_HIGH>; + linux,default-trigger =3D "none"; + default-state =3D "off"; + panic-indicator; + }; + }; + + reserved-memory { + lpass_ml_mem: lpass-ml@81800000 { + reg =3D <0x0 0x81800000 0x0 0xf00000>; + no-map; + }; + + cdsp_secure_heap_mem: cdsp-secure-heap@82700000 { + reg =3D <0x0 0x82700000 0x0 0x10000>; + no-map; + }; + + adsp_mem: adsp@8b800000 { + reg =3D <0x0 0x8b800000 0x0 0x2800000>; + no-map; + }; + + cdsp_mem: cdsp@8e000000 { + reg =3D <0x0 0x8e000000 0x0 0x1e00000>; + no-map; + }; + + video_mem: video@8fe00000 { + reg =3D <0x0 0x8fe00000 0x0 0x500000>; + no-map; + }; + + gpu_zap_mem: zap@90300000 { + reg =3D <0x0 0x90300000 0x0 0x5000>; + 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 0x2200000>; + no-map; + }; + + adsp_rpc_remote_heap_mem: adsp-rpc-remote-heap@c6500000 { + reg =3D <0x0 0xc6500000 0x0 0x800000>; + 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-l6-l9-l10-supply =3D <&vreg_s8b_1p2>; + vdd-l11-l17-l18-l19-supply =3D <&vreg_s1b_1p84>; + + vreg_s1b_1p84: smps1 { + regulator-name =3D "vreg_s1b_1p84"; + regulator-min-microvolt =3D <1840000>; + regulator-max-microvolt =3D <2040000>; + }; + + 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-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"; +}; + +&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"; +}; + +&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"; +}; + +/* 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 { + /* + * 12-17: reserved for QSPI flash + */ + gpio-reserved-ranges =3D <12 6>; + 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_18", + /* 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; + }; + + 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-gear-rate =3D "rate-a"; + + 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; + + /* RX0/TX0 is statically connected to RA620 bridge */ + usb_1_qmpphy_out_dp: endpoint@0 { + reg =3D <0>; + + data-lanes =3D <0 1>; + remote-endpoint =3D <&hdmi_bridge_in>; + }; + + /* RX1/TX1 is statically connected to USB-A port */ + usb_1_qmpphy_out_usb: endpoint@1 { + reg =3D <1>; + + data-lanes =3D <2 3>; + remote-endpoint =3D <&usb3_con_ss_in>; + }; + }; + }; +}; + +&usb_2 { + dr_mode =3D "host"; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + status =3D "okay"; + + /* Onboard USB 2.0 hub */ + usb_hub_2_x: hub@1 { + compatible =3D "usb1a40,0101"; + reg =3D <1>; + vdd-supply =3D <&vcc_5v_peri>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@1 { + reg =3D <1>; + + usb_hub_2_1: endpoint { + remote-endpoint =3D <&usb2_1_connector>; + }; + }; + + port@2 { + reg =3D <2>; + + usb_hub_2_2: endpoint { + remote-endpoint =3D <&usb2_2_connector>; + }; + }; + + port@3 { + reg =3D <3>; + + usb_hub_2_3: endpoint { + remote-endpoint =3D <&usb2_3_connector>; + }; + }; + }; + + /* FCU760K Wi-Fi & Bluetooth module */ + wifi@4 { + compatible =3D "usba69c,8d80"; + reg =3D <4>; + }; + }; +}; + +&usb_2_hsphy { + vdda-pll-supply =3D <&vreg_l10c_0p88>; + vdda33-supply =3D <&vreg_l2b_3p072>; + vdda18-supply =3D <&vreg_l1c_1p8>; + + status =3D "okay"; +}; + +&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>; +}; + +&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.53.0 From nobody Mon Jun 15 02:50:26 2026 Received: from smtpbgau1.qq.com (smtpbgau1.qq.com [54.206.16.166]) (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 89621369236; Tue, 7 Apr 2026 15:21:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.206.16.166 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575291; cv=none; b=XSYo358/oK44blXLW8XZKjlqBQkJChEM67cKQCbVUPCitWpDtqRuiik9pRC+L6+uujsmE8/eo7IRQUFrdS3+npf+po8A1pFB+hjRJAIR7ZPzzoSI1DB1ubREVdr4RZa3Nse8TTR4h3mVM7y0yQLeD4Op107/DEqdPeSbSH3Tc/Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575291; c=relaxed/simple; bh=QHLdEvO8FQ4G4cGQJMD/mGB68jnKuXN6laqiKTA5Zes=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=P7MU3DeYNrpFtk5fAz6xVZoz+XjcSbtZa/bbZJxsCWnq68GoAWbarZhsdY0Vagy1lcMEv9GyH+7Kt6MpbcaprbaF29TuneAsdsrUYGPvrR/bFcCqiB9db34BkKJPhQgDMlf7U6ZUQ2gnWRbPEnMo27/QnaMfnlNPBenrBTpFxzg= 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.206.16.166 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: esmtpsz19t1775575243t2f0df135 X-QQ-Originating-IP: tbkMgbfCeB4FQhSSMFmmEp/PcTX49mH0I3OiS+eKH8I= Received: from [192.168.30.32] ( [116.234.14.100]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Apr 2026 23:20:41 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 4562108539978265731 EX-QQ-RecipientCnt: 15 From: Xilin Wu Date: Tue, 07 Apr 2026 23:20:03 +0800 Subject: [PATCH 11/12] ASoC: dt-bindings: google,sc7280-herobrine: Add Radxa Dragon Q6A sound card 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: <20260407-dragon-q6a-feat-fixes-v1-11-14aca49dde3d@radxa.com> References: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> In-Reply-To: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov , Liam Girdwood , Mark Brown , Judy Hsiao Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Konrad Dybcio , linux-sound@vger.kernel.org, Xilin Wu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1026; i=sophon@radxa.com; h=from:subject:message-id; bh=QHLdEvO8FQ4G4cGQJMD/mGB68jnKuXN6laqiKTA5Zes=; b=owGbwMvMwCVmdFg0fe08Iz/G02pJDJlXFZYe3Hxx76NZBmkTtbYlH2iyY2b/cNO+2l0y7pyk/ JVbEtPiOkpZGMS4GGTFFFkU4hnmslfmXnsqVqoHM4eVCWQIAxenAExkzlaGf+p/tKMLVY8+8vjo zLfv/so9hmGym35cV71z6eHiivULdm5hZFihskD/DAuXzlHWM4e/yfsd/xFfq78kaRvbH4dWee6 cbbwA X-Developer-Key: i=sophon@radxa.com; a=openpgp; fpr=205F009D07796DD6E516752E32C31567AD9E324E X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:radxa.com:qybglogicsvrsz:qybglogicsvrsz3b-0 X-QQ-XMAILINFO: NlVgJxuVJf8S6lRLFlck/gKViOGu7ntJaKgqQBpzi5M9vmqNpGKv/n/f y4htQKwnEkKsUB5jfiKcDakKIxYN2L6lUVa+h7iEfULXFNH/hvB+B9Of0swVZHwsYU9L3Ac ZQpRHxPxTspr2YYMghFDyb7rXat4+YWirOlI/VTCGFANGeCm+tbWkfEWmSgLvgEP9kSjNG/ nrrg9wnCdYT/dv7ah3PxNurtCfWOJbczasc592GYwbBnovuuEh5K+Sgc3zv96b4a6DOiJ6m U5AntAmNv3me9Um4E7XVSTLZSaSvpxvoN4vWF6jaWXrbvsl555Ltcyjm92IF+HbDi6S0ju/ calktI/3q08uS/E4nmkMnxIn+tjkmJck6KrFDkPEJkJlC2e63hnsmRYsPbrbo4ID1FcCC5Z sKYBQUGy44rGgz5PhM9dhYDU0oPpaNn765UQsYal7cHGDyuVjwOsjGcYvvEZG/vJWraKrvl EITBPoJ3Ensp9gh65KDAoO2+kSuGaAsF+pyzNRVkEfjyNz02U6ON30b81oycn+FBpPRShKD CQenJNdMU6n7Nw49RQt20mT0BOZVbo0YBxIIdku9b1igBiOlJurdOA3VxXMLM7KcNS1Jl36 QBqHjQQ5g220XuL+OSnaNpyoyMFrQSlNkfZhO5u1UaS1R1/bbuOjHhEKv9jbyShFpXuo8/s uNN6HH6gd73mwECzrn/+CPpezaAJRXeLbqar13O5mY/Goj3X4XK5hiXRrafZjliORPvID62 XOD9Jb61LBm+DAQrPyMQIuGizNNQh8hO4OU3JJSm1+nO8c/9IcPn6k04CgPTT9VB6KmOjTm KN2FYS2OeDKOluDnKUvjQfwphy5ALz+dl0peJf5ggQAFMqojtk4DLjhW9VM6MptIbSr0GVn vrlpAYNA70428t1l24NCoJb7BrXZTnNg/AMhXjYyVgKrBFgyuVctlLwj2Lc2rAGkO1F+s/R 3BEuPv3RJG3tdQw9BJTSFW6LDEQf+fXO4xKMJA2qFlg1osaDO46s8+TixDsGOB6r9bjL46L U4ZD1ItreJItPGSSFBs7S49FOyYEmpSK9rGNq31zraT+f1z5eFglaabaYUC7/8SWQRz5kRS g== X-QQ-XMRINFO: Mp0Kj//9VHAxzExpfF+O8yhSrljjwrznVg== X-QQ-RECHKSPAM: 0 The Radxa Dragon Q6A can boot in EL2, allowing the kernel to access the LPASS hardware directly. Add the compatible for it to the bindings. Signed-off-by: Xilin Wu --- .../devicetree/bindings/sound/google,sc7280-herobrine.yaml | 9 +++++= ++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/sound/google,sc7280-herobrin= e.yaml b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.ya= ml index cdcd7c6f21eb..cd87dfe20618 100644 --- a/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml +++ b/Documentation/devicetree/bindings/sound/google,sc7280-herobrine.yaml @@ -17,8 +17,13 @@ allOf: =20 properties: compatible: - enum: - - google,sc7280-herobrine + oneOf: + - enum: + - google,sc7280-herobrine + - items: + - enum: + - radxa,dragon-q6a-sndcard + - const: google,sc7280-herobrine =20 "#address-cells": const: 1 --=20 2.53.0 From nobody Mon Jun 15 02:50:26 2026 Received: from smtpbgau1.qq.com (smtpbgau1.qq.com [54.206.16.166]) (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 77AF7373C1A; Tue, 7 Apr 2026 15:21:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.206.16.166 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575292; cv=none; b=uht5yapx/HT4aDhOP81VxBh/R7NFWGtSxSbjkMviz6EwqC00j9LOzgJbb2/o3PpXtobhH0UvUyPoVrOSmoeWHQUxAkOtXzxi625mqs8ulYwRp3TSzfhwUwGl1wvHUX25czucj7R3kShgtNsxSQe3uaVFCuel79QenDkwtLVFRIg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775575292; c=relaxed/simple; bh=7id18KzmoBqRFVqDUMTfg7+j3a7tzLG9dK0b1KVHwfM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sh2/8q7E6aICIar4BoElEbC8tFzl/94dHrWgzxOXRfPdK4JAXxMn4doOaPQ1o26laU8lOMebv/vZqfu42Udzadzy69Wjq8UE3B6YoTa/HKJUMh5nLK5JwC8Ttmjo8ihu0r1ijqs+YgpcmJNQaRnfFQ5UdOYowc3BdNq31BMxgEk= 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.206.16.166 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: esmtpsz19t1775575246t87f8c8f8 X-QQ-Originating-IP: QloVjV6un4HA0p4hQWqJQR9BHrVKFTWAI1UKvv2UO8c= Received: from [192.168.30.32] ( [116.234.14.100]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Apr 2026 23:20:44 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 10889481759113752594 EX-QQ-RecipientCnt: 15 From: Xilin Wu Date: Tue, 07 Apr 2026 23:20:04 +0800 Subject: [PATCH 12/12] arm64: dts: qcom: qcs6490-radxa-dragon-q6a: add LPASS CPU audio variant 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: <20260407-dragon-q6a-feat-fixes-v1-12-14aca49dde3d@radxa.com> References: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> In-Reply-To: <20260407-dragon-q6a-feat-fixes-v1-0-14aca49dde3d@radxa.com> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dmitry Baryshkov , Liam Girdwood , Mark Brown , Judy Hsiao Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Konrad Dybcio , linux-sound@vger.kernel.org, Xilin Wu X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=4336; i=sophon@radxa.com; h=from:subject:message-id; bh=7id18KzmoBqRFVqDUMTfg7+j3a7tzLG9dK0b1KVHwfM=; b=owGbwMvMwCVmdFg0fe08Iz/G02pJDJlXFZbmr70n/51JIryruHyz9kTlo1qb3TXjfzzaNi16Q seWlZGPOkpZGMS4GGTFFFkU4hnmslfmXnsqVqoHM4eVCWQIAxenAEwkZA3DXzn+HWpx+vlLa6by 2eoIv2QoW7XecU9nboVXl7F8vWVkJcNfkZXb/gp6XPlucf2WuN7KS0feXM9mXrfqiUbIgWi+5EZ HDgA= X-Developer-Key: i=sophon@radxa.com; a=openpgp; fpr=205F009D07796DD6E516752E32C31567AD9E324E X-QQ-SENDSIZE: 520 Feedback-ID: esmtpsz:radxa.com:qybglogicsvrsz:qybglogicsvrsz3b-0 X-QQ-XMAILINFO: OfpDajcwo3IHobby52/yQ9jbgEkIp9+E/SwWsRrI/QjNg8rHQgtylsGZ skf+8YUnFY9mL8R1OIIE4Bo0kDHB3ScanLGhCaS6sFVjczrDp/E1snf11eT9husRQEgRFjf dFHE65DJLMPnZYOC/E4TeTrRZmKMffovTe0yB4irX1BqWqXykc/rZNfyAcdk/G7GstMr1jr 7PPGWSB9BY7MQeRf04ntYTakm5+kAx+HnxaFnzNWkk15cJ0B28vDqru81pIjID0of+ga8Bl +aq3bQo10A6U0UMdd14GoJLiO+MCCoa4qAeEzxp8+vfe5m72aS6YZzMfSE+ZzNVYj9Dlaus 7BdOa70MuOhOrwGY6s1ojf0mmXDV7EyLn8Xf0h+V1V3v83894mrG48ZxtvruPxNnXgQaB2W L1RroiNA0Kx2bg3cZyWBQIaTh3oPuD3+7U3iGD8Jv8P8dRFrrVvleYTWC85g8N5N5oXW3hA KMQRCdZKbSQyN5sM1l6iUDUzdCaqLOy74Nt3wuh/28Ji3itCQS+EXHe/2mBHwEhkg2eciIy WsbgOlXi+o/BKUDpeMWOkPWmIN2BXMFuv84YVL5SJRgxPynmmhxBVfzbw1nimzceIOly4aR VMSRRA+pSsVwl+5HgJ5SJ7s8UX3o4AlhDJmI9PZOx5p5b1PcTs0L2eZdu5J5Af1zS4i8rAL 2qQKDLScWHbEq8bEEuaxFItJyXlE7rRt7m9/PLB3xRXVRs33D7NUJ30o+nLgHw4b+95/caW dcGN+9R0Hbfv5jzK7JC/obP+rBWgsInYIov4tU5QgulbaKoKVPLBYJdBvyWRG3r/8u3GcDd pJGNkPERhurwcorcmptXTplS6xzDQuLZdBg/ABQXdO3hjLhBB5df9S9xin2UZ5zglT93khp eldN9A48SpVM1Um/mU9fCz46DOWOupKaBHR9VgfOHyk82gLT/jWr6qjG0PNLT89yfujmTMX zuDA4Iv5cRO2CgAth2zxM4MK4GjxpPmkWrer0TZoaGz568OmBKPTNbN9QDvnReM1Dl21fIq ltIKAhAIiTMXDoMwyC6R/XdHhGVI75zzGF9slivinvIqBlZdmDbIiCpExOEdpB2Bt+xaOaZ w== X-QQ-XMRINFO: NS+P29fieYNwqS3WCnRCOn9D1NpZuCnCRA== X-QQ-RECHKSPAM: 0 Add a qcs6490-radxa-dragon-q6a-lpass-cpu.dts variant for debugging and bring-up of the host-controlled LPASS audio path on the Radxa Dragon Q6A. This variant enables the LPASS blocks and codec macros needed by the lpass-cpu driver, wires WCD9380 playback/capture and DisplayPort audio to the LPASS CDC DMA and DP interfaces, and disables remoteproc_adsp so that the audio hardware is owned directly by Linux. This DTB is an optional configuration for systems booted with the kernel running at EL2, where direct CPU access to the LPASS hardware is available. It is useful for users who need low-latency and fully controllable audio. Signed-off-by: Xilin Wu --- arch/arm64/boot/dts/qcom/Makefile | 1 + .../qcom/qcs6490-radxa-dragon-q6a-lpass-cpu.dts | 131 +++++++++++++++++= ++++ 2 files changed, 132 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index 4ba8e7306419..2f84ef7109b5 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -169,6 +169,7 @@ qcs615-ride-el2-dtbs :=3D qcs615-ride.dtb talos-el2.dtbo =20 dtb-$(CONFIG_ARCH_QCOM) +=3D qcs615-ride-el2.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D qcs6490-radxa-dragon-q6a.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D qcs6490-radxa-dragon-q6a-lpass-cpu.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-lpass-cpu.dt= s b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a-lpass-cpu.dts new file mode 100644 index 000000000000..e7ee57372d7e --- /dev/null +++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a-lpass-cpu.dts @@ -0,0 +1,131 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025-2026 Radxa Computer (Shenzhen) Co., Ltd. + * + * Direct CPU access to the LPASS hardware block on this platform is + * restricted by default. Booting the Linux kernel in EL2 will allow the + * kernel to access the LPASS hardware directly. + * + * You can achieve this by setting the Hypervisor Override BIOS setting to + * "Enabled" if you are using the official UEFI firmware. + */ + +/dts-v1/; + +#include "qcs6490-radxa-dragon-q6a.dtsi" + +&gcc { + protected-clocks =3D , + , + , + , + , + , + , + , + , + , + , + , + ; +}; + +&lpass_aon { + status =3D "okay"; +}; + +&lpass_core { + status =3D "okay"; +}; + +&lpass_cpu { + status =3D "okay"; + + dai-link@5 { + reg =3D ; + }; + + dai-link@6 { + reg =3D ; + }; + + dai-link@19 { + reg =3D ; + }; +}; + +&lpass_hm { + status =3D "okay"; +}; + +&lpass_rx_macro { + status =3D "okay"; +}; + +&lpass_tx_macro { + status =3D "okay"; +}; + +&lpass_va_macro { + status =3D "okay"; +}; + +&lpasscc { + status =3D "okay"; +}; + +&remoteproc_adsp { + status =3D "disabled"; +}; + +&sound { + compatible =3D "radxa,dragon-q6a-sndcard", "google,sc7280-herobrine"; + model =3D "qcs6490-wcd938x-dp"; + + audio-routing =3D "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "AMIC2", "MIC BIAS2", + "TX SWR_ADC1", "ADC2_OUTPUT"; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + dai-link@0 { + link-name =3D "WCD9380 Playback"; + reg =3D <0>; + + cpu { + sound-dai =3D <&lpass_cpu LPASS_CDC_DMA_RX0>; + }; + + codec { + sound-dai =3D <&wcd938x 0>, <&swr0 0>, <&lpass_rx_macro 0>; + }; + }; + + dai-link@1 { + link-name =3D "DisplayPort"; + reg =3D <1>; + + cpu { + sound-dai =3D <&lpass_cpu LPASS_DP_RX>; + }; + + codec { + sound-dai =3D <&mdss_dp>; + }; + }; + + dai-link@2 { + link-name =3D "WCD9380 Capture"; + reg =3D <2>; + + cpu { + sound-dai =3D <&lpass_cpu LPASS_CDC_DMA_TX3>; + }; + + codec { + sound-dai =3D <&wcd938x 1>, <&swr1 0>, <&lpass_tx_macro 0>; + }; + }; +}; --=20 2.53.0