[PATCH 1/5] arm: mvebu: a7040/a8040/cn9130: Add spi0 dts reference
Stefan Roese
sr at denx.de
Fri Aug 5 12:25:55 CEST 2022
On 04.08.22 17:07, Pali Rohár wrote:
> On Thursday 04 August 2022 16:51:47 Stefan Roese wrote:
>> On 03.08.22 13:00, Pali Rohár wrote:
>>> For future changes it is needed for have spi0 device tree reference in
>>> every mvebu soc dts file even when it is unused.
>>>
>>> Signed-off-by: Pali Rohár <pali at kernel.org>
>>> ---
>>> arch/arm/dts/armada-7040.dtsi | 3 +++
>>> arch/arm/dts/armada-8040.dtsi | 3 +++
>>> arch/arm/dts/cn9130.dtsi | 3 +++
>>> 3 files changed, 9 insertions(+)
>>
>> You're changing 64-bit Armada files here, but in the cover letter you
>> mention that this patchset only addresses 32-bit mvebu DT files. So
>> why are you making these changes here?
>
> The main issue is that 64-bit Armada DTS files are compiled also during
> 32-bit Armada builds. And 32-bit Armada DTS files needs spi0 reference
> because it is used in 32-bit Armada section in mvebu-u-boot.dtsi file.
>
> I know it is broken build system if during compilation of 32-bit SoC are
> compiled also unrelated 64-bit Armada DTS files in 32-bit mode. But I do
> not see currently easier solution than just define "harmless" reference.
>
> During 64-bit Armada builds is content of mvebu-u-boot.dtsi skipped as
> there is a 32-bit guard.
>
> Proper way, of course, would be to fix build system, so none 64-bit file
> is compiled (and let unused) during 32-bit build.
I see. Thanks for the explanation.
>> One more comment below...
>>
>>> diff --git a/arch/arm/dts/armada-7040.dtsi b/arch/arm/dts/armada-7040.dtsi
>>> index 039d30c72a8c..1fb21c6bfde0 100644
>>> --- a/arch/arm/dts/armada-7040.dtsi
>>> +++ b/arch/arm/dts/armada-7040.dtsi
>>> @@ -63,3 +63,6 @@
>>> marvell,function = <3>;
>>> };
>>> };
>>> +
>>> +spi0: &cp0_spi1 {
>>> +};
>>
>> Why is spi0 aliased now to "cp0_spi1"?
>
> Because cp0_spi1 is used in U-Boot 64-bit Armada DTS files as "spi0"
> alias. Really.
>
>> In the Kernel DT files I see
>> this:
>>
>> spi0 = &spi0;
>> spi1 = &cp0_spi0;
>> spi2 = &cp0_spi1;
>> ...
>> spi0: spi at 510600 {
>
> And you bring another issue :-) U-Boot DTS files for 64-bit Armada SoCs
> (expects 3720) differs from kernel DTS files. They are incompatible and
> nobody fixed this issue yet. I fixed it only for 64-bit Armada 3720 as
> we are using and maintaining Armada 3720 boards.
Yes, I am aware of this.
> So I just do not know what to do with remaining 64-bit
> A7040/A8040/CN9030 SoCs. I just added simple harmless change which do
> not change behavior nor output of those boards.
>
> Either somebody has to start working on fixing U-Boot support and DTS
> files for those boards to be compatible with Linux kernel. Or those SoCs
> stays incompatible with Linux and their technical debt in U-Boot code
> just grow. Or you as maintainer can decide that they are unmaintained
> (and ready for removal?).
>
> I'm just not going to do this big cleanup for A7040/A8040/CN9030 SoCs too.
Understood. Let's keep the situation in this unfortunate state a while
longer. Hopefully someone will find the time to work on this. If
nothing changes in a longer period we should think again about this.
Thanks,
Stefan
>> Thanks,
>> Stefan
>>
>>> diff --git a/arch/arm/dts/armada-8040.dtsi b/arch/arm/dts/armada-8040.dtsi
>>> index eec5fa277405..608ff0d97f95 100644
>>> --- a/arch/arm/dts/armada-8040.dtsi
>>> +++ b/arch/arm/dts/armada-8040.dtsi
>>> @@ -87,3 +87,6 @@
>>> marvell,function = <3>;
>>> };
>>> };
>>> +
>>> +spi0: &cp1_spi1 {
>>> +};
>>> diff --git a/arch/arm/dts/cn9130.dtsi b/arch/arm/dts/cn9130.dtsi
>>> index 68b767a70639..a200276f7a2e 100644
>>> --- a/arch/arm/dts/cn9130.dtsi
>>> +++ b/arch/arm/dts/cn9130.dtsi
>>> @@ -71,3 +71,6 @@
>>> marvell,function = <3>;
>>> };
>>> };
>>> +
>>> +spi0: &cp0_spi1 {
>>> +};
>>
>> Viele Grüße,
>> Stefan Roese
>>
>> --
>> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
>> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
>> Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de
Viele Grüße,
Stefan Roese
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de
More information about the U-Boot
mailing list