Re: [RFC PATCH 2/2] arm64: dts: qcom: qcm6490: Add qcm6490 idp and rb3 board

From: Dmitry Baryshkov
Date: Tue Nov 14 2023 - 07:53:37 EST


On Tue, 14 Nov 2023 at 14:49, Mukesh Ojha <quic_mojha@xxxxxxxxxxx> wrote:
>
>
>
> On 11/13/2023 9:21 PM, Luca Weiss wrote:
> > On Tue Nov 7, 2023 at 9:10 AM CET, Mukesh Ojha wrote:
> >>
> >>
> >> On 11/7/2023 4:02 AM, Dmitry Baryshkov wrote:
> >>> On Mon, 6 Nov 2023 at 16:46, Mukesh Ojha <quic_mojha@xxxxxxxxxxx> wrote:
> >>>>
> >>>>
> >>>>
> >>>> On 11/6/2023 5:24 PM, Dmitry Baryshkov wrote:
> >>>>> On Mon, 6 Nov 2023 at 13:41, Mukesh Ojha <quic_mojha@xxxxxxxxxxx> wrote:
> >>>>>>
> >>>>>>
> >>>>>> On 11/5/2023 6:38 PM, Krzysztof Kozlowski wrote:
> >>>>>>> On 03/11/2023 23:22, Dmitry Baryshkov wrote:
> >>>>>>>> On Fri, 3 Nov 2023 at 20:49, Komal Bajaj <quic_kbajaj@xxxxxxxxxxx> wrote:
> >>>>>>>>>
> >>>>>>>>> Add qcm6490 devicetree file for QCM6490 IDP and QCM6490 RB3
> >>>>>>>>> platform. QCM6490 is derived from SC7280 meant for various
> >>>>>>>>> form factor including IoT.
> >>>>>>>>>
> >>>>>>>>> Supported features are, as of now:
> >>>>>>>>> * Debug UART
> >>>>>>>>> * eMMC (only in IDP)
> >>>>>>>>> * USB
> >>>>>>>>>
> >>>>>>>
> >>>>>>> ...
> >>>>>>>
> >>>>>>>>> +
> >>>>>>>>> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-iot-common.dtsi b/arch/arm64/boot/dts/qcom/qcm6490-iot-common.dtsi
> >>>>>>>>> new file mode 100644
> >>>>>>>>> index 000000000000..01adc97789d0
> >>>>>>>>> --- /dev/null
> >>>>>>>>> +++ b/arch/arm64/boot/dts/qcom/qcm6490-iot-common.dtsi
> >>>>>>>>
> >>>>>>>> I have mixed feelings towards this file. Usually we add such 'common'
> >>>>>>>> files only for the phone platforms where most of the devices are
> >>>>>>>> common.
> >>>>>>>> Do you expect that IDP and RB3 will have a lot of common code other
> >>>>>>>> than these regulator settings?
> >>>>>>>
> >>>>>>> I agree here. What exactly is common in the real hardware between IDP
> >>>>>>> and RB3? Commit msg does not explain it, so I do not see enough
> >>>>>>> justification for common file. Just because some DTS looks similar for
> >>>>>>> different hardware does not mean you should creat common file.
> >>>>>>
> >>>>>> @Dmitry/@Krzysztof,
> >>>>>>
> >>>>>> Thank you for reviewing the RFC, we wanted to continue the
> >>>>>> suggestion/discussion given on [1] , where we discussed that this
> >>>>>> qcm6490 is going to be targeted for IOT segment and will have different
> >>>>>> memory map and it is going to use some of co-processors like adsp/cdsp
> >>>>>> which chrome does not use.
> >>>>>>
> >>>>>> So to your question what is common between RB3 and IDP, mostly they will
> >>>>>> share common memory map(similar to [2]) and regulator settings and both
> >>>>>> will use adsp/cdsp etc., we will be posting the memory map changes as
> >>>>>> well in coming weeks once this RFC is acked.
> >>>>>
> >>>>> Is the memory map going to be the same as the one used on Fairphone5?
> >>>>
> >>>> No, Fairphone5 looks to be using chrome memory map and i suggested
> >>>> here to move them into sc7280.dtsi
> >>>>
> >>>> https://lore.kernel.org/lkml/d5d53346-ca3b-986a-e104-d87c37115b62@xxxxxxxxxxx/
> >>>>
> >>>>>
> >>>>> Are ADSP and CDSP physically present on sc7280?
> >>>>
> >>>> Yes, they are present but not used.
> >>>
> >>> So ADSP and CDSP should go into sc7280.dtsi. They will anyway have
> >>> status = "disabled";
> >>>
> >>>>
> >>>>>
> >>>>> I think that your goal should be to:
> >>>>> - populate missing device in sc7280.dtsi
> >>>>> - maybe add qcm6490.dtsi which defines SoC-level common data (e.g. memory map)
> >>>>> - push the rest to board files.
> >>>>
> >>>> Agree to all of the point.
> >>>> We started with the same thought at[3] but it got lost in discussion
> >>>> due to its differentiation with mobile counter part(fairphone) which
> >>>> follow chrome memory map and hence we came up with qcm6490-iot-common.
> >>>> Do you think, qcm6490-iot.dtsi should be good ?
> >>>
> >>> No. DT describes hardware, and -iot is not a hardware abstraction / unification.
> >>> If you consider your memory map to be generic for the qcm6490 (and FP5
> >>> being the only exception), add it to the qcm6490.dtsi (and let FP5
> >>> override it, like some of the phones do). If it can not be considered
> >>> generic for the SoC, then you have no other choice than to replicate
> >>> it to all board files.
> >>
> >
> > Hi Mukesh,
> >
> >> Thanks for the suggestion.
> >> Let me add @Luca here for information, if he want to share
> >> anything about qcm6490 fp5 memory map.
> >
> > Not sure I have much to share, just probably that on FP5 the memory
> > setup and all the basics just come from a standard QCM6490.LA.3.0
> > release.
> > I don't see any hint that our ODM changed something in the memory map
> > for the device either.
> >
> > I'm also aware that other phones also use QCM6490 SoC, so I'm still
> > wondering where the distinction between "FP5/ChromeOS memory map" vs
> > this new QCM6490 memory map is.
> > There's also e.g. this phone using QCM6490, I've not looked into this at
> > all, but I'm guessing that phone uses the same memory map as FP5.
> > https://www.crosscall.com/en_NL/core-z5-COZ5.MASTER.html
>
> Was looking for your view on the things about qcm6490.dtsi one common
> dtsi file for all qcm6490.dtsi suggested in the mail, but looks like FP5
> is following the memory map based out of sc7280, in that case we have to
> replicate the new memory map for all our IOT boards(idp/rb3) based on
> this SoC.

You can have IoT memory map in the qcm6490.dtsi and have the
board-specific memory map in the qcm6490-fp5.dtsi, if that makes life
easier. I think the phone DT already provides the memory map, so you
just have to add statements to remove conflicting data entries.

>
> -Mukesh
> >
> > Regards
> > Luca
> >
> >>
> >> -Mukesh
> >>>
> >>>>
> >>>> [3]
> >>>> https://lore.kernel.org/linux-arm-msm/20231003175456.14774-3-quic_kbajaj@xxxxxxxxxxx/
> >>>>
> >>>> -Mukesh
> >>>>>
> >>>>> I don't think that putting regulators to the common file is a good
> >>>>> idea. Platforms will further change and limit voltage limits and
> >>>>> modes, so they usually go to the board file.
> >>>>>
> >>>>>>
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Mukesh
> >>>>>>
> >>>>>> [1]
> >>>>>> https://lore.kernel.org/linux-arm-msm/d97ebf74-ad03-86d6-b826-b57be209b9e2@xxxxxxxxxxx/
> >>>>>>
> >>>>>> [2]
> >>>>>> commit 90c856602e0346ce9ff234062e86a198d71fa723
> >>>>>> Author: Douglas Anderson <dianders@xxxxxxxxxxxx>
> >>>>>> Date: Tue Jan 25 14:44:20 2022 -0800
> >>>>>>
> >>>>>> arm64: dts: qcom: sc7280: Factor out Chrome common fragment
> >>>>>>
> >>>>>> This factors out a device tree fragment from some sc7280 device
> >>>>>> trees. It represents the device tree bits that should be included for
> >>>>>> "Chrome" based sc7280 boards. On these boards the bootloader (Coreboot
> >>>>>> + Depthcharge) configures things slightly different than the
> >>>>>> bootloader that Qualcomm provides. The modem firmware on these boards
> >>>>>> also works differently than on other Qulacomm products and thus the
> >>>>>> reserved memory map needs to be adjusted.
> >>>>>>
> >>>>>> NOTES:
> >>>>>> - This is _not_ quite a no-op change. The "herobrine" and "idp"
> >>>>>> fragments here were different and it looks like someone simply
> >>>>>> forgot to update the herobrine version. This updates a few numbers
> >>>>>> to match IDP. This will also cause the `pmk8350_pon` to be disabled
> >>>>>> on idp/crd, which I belive is a correct change.
> >>>>>> - At the moment this assumes LTE skus. Once it's clearer how WiFi SKUs
> >>>>>> will work (how much of the memory map they can reclaim) we may add
> >>>>>> an extra fragment that will rejigger one way or the other.
> >>>>>>
> >>>>>> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
> >>>>>> Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> >>>>>> Reviewed-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
> >>>>>> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> >>>>>> Link:
> >>>>>> https://lore.kernel.org/r/20220125144316.v2.3.Iac012fa8d727be46448d47027a1813ea716423ce@changeid
> >>>>>>
> >>>>>>
> >>>>>>>
> >>>>>>> Best regards,
> >>>>>>> Krzysztof
> >>>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>
> >>>
> >>>
> >



--
With best wishes
Dmitry