[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <248f63ff-b6ec-4f58-8a96-7aee2fcd6038@foss.st.com>
Date: Wed, 26 Feb 2025 17:54:11 +0100
From: Alexandre TORGUE <alexandre.torgue@...s.st.com>
To: Krzysztof Kozlowski <krzk@...nel.org>,
Clement LE GOFFIC
<clement.legoffic@...s.st.com>,
Linus Walleij <linus.walleij@...aro.org>,
Rob
Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor
Dooley <conor+dt@...nel.org>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Bartosz Golaszewski <brgl@...ev.pl>
CC: <linux-kernel@...r.kernel.org>, <linux-gpio@...r.kernel.org>,
<devicetree@...r.kernel.org>,
<linux-stm32@...md-mailman.stormreply.com>,
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH 7/9] ARM: dts: stm32: add Hardware debug port (HDP) on
stm32mp25
On 2/26/25 16:30, Alexandre TORGUE wrote:
>
>
> On 2/26/25 16:08, Krzysztof Kozlowski wrote:
>> On 26/02/2025 10:33, Alexandre TORGUE wrote:
>>>>>>> + hdp: pinctrl@...90000 {
>>>>>>> + compatible = "st,stm32mp-hdp";
>>>>>>
>>>>>> So here again - you have stm32mp251 SoC, but use entirely different
>>>>>> compatible.
>>>>>
>>>>> Ok so I will use "st,stm32mp15-hdp"
>>>>
>>>>
>>>> This means this is stm32mp15 SoC. I do not see such SoC on list of your
>>>> SoCs in bindings. What's more, there are no bindings for other SoC
>>>> components for stm32mp15!
>>>
>>> Yes stm32mp15 is not a "real SoC". I agree that at the beginning of the
>>> STM32 story we didn't have a clear rule/view to correctly naming our
>>> compatible. We tried to improve the situation to avoid compatible like
>>> "st,stm32", "st,stm32mp" or "st,stm32mp1". So we introduced
>>> "st,stm32mp13", "st,stm32mp15" or "st,stm32mp25" for new drivers. So yes
>>> it represents a SoC family and not a real SoC. We haven't had much
>>> negative feedback it.
>>>
>>> But, if it's not clean to do it in this way, lets define SoC compatible
>>> for any new driver.
>>
>> Compatibles are for hardware.
>>
>>> For the HDP case it is: "st,stm32mp157" and used for STM32MP13,
>>> STM32MP15 end STM32MP25 SoC families (if driver is the same for all
>>> those SoCs).
>>
>> No, it's three compatibles, because you have three SoCs. BTW, writing
>> bindings (and online resources and previous reviews and my talks) are
>> saying that, so we do not ask for anything new here, anything different.
>> At least not new when looking at last 5 years, because 10 years ago many
>> rules were relaxed...
>
> So adding 3 times the same IP in 3 different SoCs implies to have 3
> different compatibles. So each time we use this same IP in a new SoC, we
> have to add a new compatible. My (wrong) understanding was: as we have
> the same IP (same hardware) in each SoC we have the same compatible (and
> IP integration differences (clocks, interrupts) are handled by DT
> properties.
Just to complete, reading the Linux kernel doc, as device are same we
will use fallbacks like this:
MP15: compatible = "st,stm32mp151-hdp";
MP13: compatible = "st,stm32mp131-hdp", "st,stm32mp151-hdp";
MP25: compatible = "st,stm32mp251-hdp", "st,stm32mp151-hdp";
>
>>
>>
>> Best regards,
>> Krzysztof
Powered by blists - more mailing lists