Re: [PATCH v9 4/4] arm64: dts: qcom: aim300: add AIM300 AIoT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/3/2024 3:52 PM, Dmitry Baryshkov wrote:
On Mon, 3 Jun 2024 at 10:38, Tengfei Fan <quic_tengfan@xxxxxxxxxxx> wrote:



On 5/31/2024 4:38 PM, Dmitry Baryshkov wrote:
On Fri, 31 May 2024 at 11:35, Tengfei Fan <quic_tengfan@xxxxxxxxxxx> wrote:



On 5/29/2024 11:18 PM, Dmitry Baryshkov wrote:
On Wed, May 29, 2024 at 06:09:26PM +0800, Tengfei Fan wrote:
Add AIM300 AIoT Carrier board DTS support, including usb, UART, PCIe,
I2C functions support.
Here is a diagram of AIM300 AIoT Carrie Board and SoM
    +--------------------------------------------------+
    |             AIM300 AIOT Carrier Board            |
    |                                                  |
    |           +-----------------+                    |
    |power----->| Fixed regulator |---------+          |
    |           +-----------------+         |          |
    |                                       |          |
    |                                       v VPH_PWR  |
    | +----------------------------------------------+ |
    | |                          AIM300 SOM |        | |
    | |                                     |VPH_PWR | |
    | |                                     v        | |
    | |   +-------+       +--------+     +------+    | |
    | |   | UFS   |       | QCS8550|     |PMIC  |    | |
    | |   +-------+       +--------+     +------+    | |
    | |                                              | |
    | +----------------------------------------------+ |
    |                                                  |
    |                    +----+          +------+      |
    |                    |USB |          | UART |      |
    |                    +----+          +------+      |
    +--------------------------------------------------+

Co-developed-by: Qiang Yu <quic_qianyu@xxxxxxxxxxx>
Signed-off-by: Qiang Yu <quic_qianyu@xxxxxxxxxxx>
Co-developed-by: Ziyue Zhang <quic_ziyuzhan@xxxxxxxxxxx>
Signed-off-by: Ziyue Zhang <quic_ziyuzhan@xxxxxxxxxxx>
Signed-off-by: Tengfei Fan <quic_tengfan@xxxxxxxxxxx>
---
    arch/arm64/boot/dts/qcom/Makefile             |   1 +
    .../boot/dts/qcom/qcs8550-aim300-aiot.dts     | 322 ++++++++++++++++++
    2 files changed, 323 insertions(+)
    create mode 100644 arch/arm64/boot/dts/qcom/qcs8550-aim300-aiot.dts

[trimmed]

+&remoteproc_adsp {
+    firmware-name = "qcom/qcs8550/adsp.mbn",
+                    "qcom/qcs8550/adsp_dtbs.elf";

Please excuse me, I think I missed those on the previous run.

adsp_dtb.mbn

Currently, waht we have released is adsp_dtbs.elf. If we modify it to
adsp_dtb.mbn, it may cause the ADSP functionality can not boot normally.

Released where? linux-firmware doesn't have such a file. And the modem
partition most likely has a different path for it anyway.

Firmware releases can be obtained from
https://qpm-git.qualcomm.com/home2/git/qualcomm/qualcomm-linux-spf-1-0_test_device_public.git
after users sign up for free accounts on both
https://qpm-git.qualcomm.com and https://chipmaster2.qti.qualcomm.com.

I'm getting 403 when accessing qpm-git (both with my Linaro
credentials and with gmail ones).
If I try to git-clone the URL you've provided, I'm getting "Not found"
when using a gmail account and CURL error when using Linaro
createntials.

error: RPC failed; HTTP 302 curl 22 The requested URL returned error: 302

Not to mention that the URL wasn't mentioned anywhere beforehand. So I
can hardly call that 'released'

Hi Dmitry,

Let me elabarote the way to get access to firmware of aim300.

Visit the website Qualcomm used to release software which is chipcode.qti.qualcomm.com.
Use sign up to create a Qualcomm ID with email you have.
Login with your Qualcomm ID. Search for Qualcomm_Linux.SPF.1.0.
This is Qualcomm Linux release. Select qualcomm-linux-spf-1-0_test_device_public. You should be able to find the firmware release. You need to agree PKLA license during this process.

After that, you can edit ~/.netrc to add your username and password which you just create as Qualcomm ID to chipmaster2.qti.qualcomm.com and qpm-git.qualcomm.com. git clone https://qpm-git.qualcomm.com/home2/git/qualcomm/qualcomm-linux-spf-1-0_test_device_public.git Firmware package is under qualcomm-linux-spf-1-0_test_device_public/QCM8550.LE.2.0/common/build/ufs/bin/QCS8550_fw.zip.
Unzip this file. Firmware is under QCS8550_fw/lib/firmware/qcom/qcs8550/




+    status = "okay";
+};
+
+&remoteproc_cdsp {
+    firmware-name = "qcom/qcs8550/cdsp.mbn",
+                    "qcom/qcs8550/cdsp_dtbs.elf";

cdsp_dtb.mbn

CDSP also as above ADSP.



+
+    te_active: te-active-state {
+            pins = "gpio86";
+            function = "mdp_vsync";
+            drive-strength = <2>;
+            bias-pull-down;
+    };
+
+    te_suspend: te-suspend-state {
+            pins = "gpio86"
+            function = "mdp_vsync";
+            drive-strength = <2>;
+            bias-pull-down;
+    };

What is the difference between these two?

TE pin needs to be pulled down for both active and suspend states. There
is no difference.

So why do you need two different states for it?

Dividing into two different states can provide a clearer expression of
whether the corresponging functionality is avtive or suspend.

How?


We can also find similar settings in the other SM8550 and SM8650
platform dts files, such as sm8550-qrd.dts and sm8650-qrd.dts.

Which means more items to cleanup.

See the discussion starting from
https://lore.kernel.org/linux-arm-msm/36f22383-79a3-427e-bf17-35ce2e1dd620@xxxxxxxxxx/


[1] sm8550-qrd.dts:
https://elixir.bootlin.com/linux/v6.9.3/source/arch/arm64/boot/dts/qcom/sm8550-qrd.dts#L1052

[2] sm8650-qrd.dts:
https://elixir.bootlin.com/linux/v6.9.3/source/arch/arm64/boot/dts/qcom/sm8650-qrd.dts#L1098







--
Thx and BRs,
Tengfei Fan




--
Thanks,
Tingwei





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux