[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <442ac3d6-adcd-dbb7-96bb-de46023ec18e@quicinc.com>
Date: Wed, 11 Oct 2023 19:10:30 +0530
From: Mukesh Ojha <quic_mojha@...cinc.com>
To: Konrad Dybcio <konrad.dybcio@...aro.org>,
Komal Bajaj <quic_kbajaj@...cinc.com>, <agross@...nel.org>,
<andersson@...nel.org>, <robh+dt@...nel.org>,
<krzysztof.kozlowski+dt@...aro.org>, <conor+dt@...nel.org>
CC: <linux-arm-msm@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <luca.weiss@...rphone.com>
Subject: Re: [PATCH v3 2/2] arm64: dts: qcom: qcm6490: Add qcm6490 dts file
On 10/11/2023 3:17 PM, Konrad Dybcio wrote:
>
>
> On 10/11/23 07:40, Mukesh Ojha wrote:
>>
>>
>> On 10/7/2023 5:02 AM, Konrad Dybcio wrote:
>>> On 3.10.2023 19:54, 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>
>>>> ---
>>> [...]
>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/qcm6490.dtsi
>>>> b/arch/arm64/boot/dts/qcom/qcm6490.dtsi
>>>> new file mode 100644
>>>> index 000000000000..b93270cae9ae
>>>> --- /dev/null
>>>> +++ b/arch/arm64/boot/dts/qcom/qcm6490.dtsi
>>>> @@ -0,0 +1,94 @@
>>>> +// SPDX-License-Identifier: BSD-3-Clause
>>>> +/*
>>>> + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights
>>>> reserved.
>>>> + */
>>>> +
>>>> +#include "sc7280.dtsi"
>>>> +
>>>> +/*
>>>> + * Delete unused sc7280 memory nodes and define the memory regions
>>>> + * required by qcm6490
>>>> + */
>>>> +/delete-node/ &rmtfs_mem;
>>>> +/delete-node/ &wlan_ce_mem;
>>>> +
>>>> +/{
>>>> + reserved-memory {
>>>> + cdsp_secure_heap_mem: cdsp-secure-heap@...00000 {
>>>> + reg = <0x0 0x81800000 0x0 0x1e00000>;
>>>> + no-map;
>>>> + };
>>>> +
>>>> + camera_mem: camera@...00000 {
>>> Uhh.. this is totally not the same memory map that I have on a
>>> random msm-5.4 source+devicetree drop (which does in turn align
>>> with the one on QCM6490 Fairphone 5, as it should because it's
>>> a rebadged reference device for the most part)..
>>>
>>> Did you guys *really* redo it between software releases?
>>
>> QCM6490 fairphone is special case where same SOC is used for mobile
>> product and it uses sc7280 memory map.
>>
>> Current patch adds support for the same SOC marketed for IOT segment
>> [1] and very active in the development and soon going to freeze its
>> memory map, so we are deriving memory map from sc7280 and creating
>> a new memory map for all IOT product with qcm6490.dtsi .
> Stop reinventing the wheel. I'm not going to accept patches that are
> supposed to define ABI for products that are still in development.
> Not unless Qualcomm changes their attitude towards unilaterally breaking
> things for no good reason.
>
>>
>> [1]
>> https://www.qualcomm.com/products/internet-of-things/industrial/building-enterprise/qcm6490
>>
>>>
>>> This SoC family has been on the market for quite some time,
>>> breaking software expectations like that is not cool, especially
>>> on a product with a promised lifespan of 10 years or whatever!
>>
>> I agree, but we are not changing anything for product which are there
>> in the market instead defining a new memory map what is going to come
>> with qcm6490.dtsi for IOT.
> Why would the OS care about the market segment you're targeting?
> Why would the firmware you're building care about the market segment
> you're targeting? The LE vs LA vs LU vs WP vs whatever split is so
> unnecessary and arbitrary on the firmware/kernel side..
Forgive me, if i ask some very basic question, just trying to put my
thought,
I agree, OS should not worry about the market segment, but through the
DT firmware, we can better optimize memory to either give more memory to
user or give more memory to certain DSP's to enable certain feature
through the firmware like some logging infra etc., and due to which
certain gaps can get created where certain memory region need to be
move up or down due to increase in the carve-out.
Let's say X Soc released with some memory map, any derivative SoC Y
should follow X's memory map if it is including X dtsi ? and the reason
why Y want to include X is solely the work done for X and most of
peripheral memory addresses is matching.
But 'Y' could be different product, right? and it could have different
firmware and it is not like 'X' firmware will run on 'Y' ?
Now a days, most of our firmware are relocatable.
-Mukesh
>
> The firmware should either be fully relocatable (so that dynamic memory
> reservation can be used), unified so that there's no changes or better
> yet stored in separate memory so that q6 cores don't steal the RAM that
> the user paid for and you can do whatever ugly magic you please in there.
>
> This arbitrary segmentation makes it impossible to have a common base,
> or to explain what device should go where to a newcomer.
>
> Sorry, the other qcm6490 soc with
>> fairphone(for mobile) can get confuse with qcm6490.dtsi but that
>> is special case and i hope, that should be fine but, let me know if
>> there is concern.
>>>
>>> With that, this really seems more of a change that would belong
>>> in the IDP dts than the 6490-common one..
>>
>>
>> We wanted to keep it in qcm6490.dtsi as there are some more product
>> going to share this in future.
> And then what if you decide that you need to re-release SC7280 for
> automotive and make changes again? Do we define qcm6490au.dtsi which
> will redefine everything again-again?
>
> Konrad
Powered by blists - more mailing lists