[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <661bd908-a056-4d46-97a3-d3b12b14c050@linaro.org>
Date: Thu, 28 Sep 2023 15:46:39 +0200
From: Konrad Dybcio <konrad.dybcio@...aro.org>
To: Komal Bajaj <quic_kbajaj@...cinc.com>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, Luca Weiss <luca.weiss@...rphone.com>
Subject: Re: [PATCH 2/2] arm64: dts: qcom: qcm6490: Add qcm6490 dts file
On 28.09.2023 15:33, Komal Bajaj wrote:
> Add qcm6490 devicetree file for QCM6490 SoC and QCM6490 IDP
> platform. QCM6490 is derived from SC7280 meant for various
> form factor including IoT.
>
> Supported features are, as of now:
> * Debug UART
> * eMMC
> * USB
>
> Signed-off-by: Komal Bajaj <quic_kbajaj@...cinc.com>
> ---
[...]
> +/ {
> + model = "Qualcomm Technologies, Inc. QCM6490 IDP platform";
Isomething Development Platform platform?
> + compatible = "qcom,qcm6490-idp", "qcom,qcm6490";
> +
> + aliases {
> + serial0 = &uart5;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> +};
Stray newline above
> +
> +&apps_rsc {
> + regulators-0 {
> + compatible = "qcom,pm7325-rpmh-regulators";
> + qcom,pmic-id = "b";
> +
> + vreg_s1b_1p8: smps1 {
> + regulator-min-microvolt = <1856000>;
> + regulator-max-microvolt = <2040000>;
Hm, you didn't specify regulator-initial-mode on any vregs
[...]
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/qcm6490.dtsi
> @@ -0,0 +1,137 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
> + */
> +
> +#include "sc7280.dtsi"
> +
> +/*
> + * Delete sc7280 lpass related nodes as qcm6490 intends to move away from
> + * bypass configuration
> + */
> +/delete-node/ &lpass_ag_noc;
> +/delete-node/ &lpass_aon;
> +/delete-node/ &lpass_audiocc;
> +/delete-node/ &lpass_core;
> +/delete-node/ &lpass_cpu;
> +/delete-node/ &lpass_hm;
> +/delete-node/ &lpass_rx_macro;
> +/delete-node/ &lpass_tx_macro;
> +/delete-node/ &lpass_va_macro;
> +/delete-node/ &lpass_tlmm;
> +/delete-node/ &lpasscc;
> +/delete-node/ &swr0;
> +/delete-node/ &swr1;
That's very unnecessary, most of these nodes are in use even
when routing audio through ADSP.
Ones that are not, are set to status = "reserved" and some
will need more work to function based on the configuration.
There was once a series from somebody at qc to introduce ADSP
audio on 7280, but it was full of hacks and NAKed
> +
> +/*
> + * Delete unused sc7280 memory nodes and define the memory regions
> + * required by qcm6490
> + */
That's specific to your board.
> +/delete-node/ &rmtfs_mem;
> +/delete-node/ &wlan_ce_mem;
> +
> +/{
> + reserved-memory {
> + secdata_apss_mem: secdata-apss@...ff000 {
> + reg = <0x0 0x808ff000 0x0 0x1000>;
> + no-map;
> + };
This is identical to the entry in sc7280.dtsi.
> +
> + cdsp_secure_heap_mem: cdsp-secure-heap@...00000 {
> + reg = <0x0 0x81800000 0x0 0x1e00000>;
> + no-map;
> + };
> +
> + camera_mem: camera@...00000 {
> + reg = <0x0 0x84300000 0x0 0x500000>;
> + no-map;
> + };
> +
> + adsp_mem: adsp@...00000 {
> + reg = <0x0 0x86100000 0x0 0x2800000>;
> + no-map;
> + };
> +
> + cdsp_mem: cdsp@...00000 {
> + reg = <0x0 0x88900000 0x0 0x1e00000>;
> + no-map;
> + };
> +
> + cvp_mem: cvp@...00000 {
> + reg = <0x0 0x8ac00000 0x0 0x500000>;
> + no-map;
> + };
> +
> + ipa_gsi_mem: ipa-gsi@...10000 {
> + reg = <0x0 0x8b110000 0x0 0xa000>;
> + no-map;
> + };
> +
> + gpu_microcode_mem: gpu-microcode@...1a000 {
> + reg = <0x0 0x8b11a000 0x0 0x2000>;
> + no-map;
> + };
> +
> + mpss_mem: mpss@...00000 {
> + reg = <0x0 0x8b800000 0x0 0xf600000>;
> + no-map;
> + };
> +
> + wpss_mem: wpss@...00000 {
> + reg = <0x0 0x9ae00000 0x0 0x1900000>;
> + no-map;
> + };
This entry is in both chrome-common and fairphone (meaning all boards
use it), perhaps this one could be moved to 7280.dtsi
> +
> + tz_stat_mem: tz-stat@...00000 {
> + reg = <0x0 0xc0000000 0x0 0x100000>;
> + no-map;
> + };
> +
> + tags_mem: tags@...00000 {
> + reg = <0x0 0xc0100000 0x0 0x1200000>;
> + no-map;
> + };
> +
> + qtee_mem: qtee@...00000 {
> + reg = <0x0 0xc1300000 0x0 0x500000>;
> + no-map;
> + };
> +
> + trusted_apps_mem: trusted_apps@...00000 {
> + reg = <0x0 0xc1800000 0x0 0x3900000>;
> + no-map;
> + };
> + };
> +};
> +
> +&hyp_mem {
> + reg = <0x0 0x80000000 0x0 0x600000>;
This is identical to the entry in sc7280.dtsi.
> +};
> +
> +&mpss_mem {
> + reg = <0x0 0x8b800000 0x0 0xf600000>;
You're defining it here and overwriting it with an identical
value.
Looks like CrOS folks don't boot up the modem on non-LTE SKUs.
Weird. Normally it would host some more software..
> +};
> +
> +&remoteproc_mpss {
> + memory-region = <&mpss_mem>;
This is identical to the entry in sc7280.dtsi.
> +};
> +
> +&video_mem {
> + reg = <0x0 0x8a700000 0x0 0x500000>;
> +};
> +
> +&wifi {
> + memory-region = <&wlan_fw_mem>;
No CE region?
> +};
> +
> +&wlan_fw_mem {
> + reg = <0x0 0x80c00000 0x0 0xc00000>;
This is identical to the entry in sc7280.dtsi.
The memory map generally looks quite different to both chrome
and fairphone.. are you sure it's all correct?
Konrad
Powered by blists - more mailing lists