Re: [PATCH v3 7/8] dt-bindings: mfd: Add img,boston-platform-regs

From: Krzysztof Kozlowski
Date: Thu Jun 20 2024 - 02:40:18 EST


On 19/06/2024 13:20, Jiaxun Yang wrote:
>
>
> 在2024年6月19日六月 上午10:28,Krzysztof Kozlowski写道:
>> On 18/06/2024 17:11, Jiaxun Yang wrote:
>>> This compatible has been used in arch/mips/boot/dts/img/boston.dts
>>> for a while but never documented properly.
>>>
>>
>>> diff --git a/Documentation/devicetree/bindings/mfd/img,boston-platform-regs.yaml b/Documentation/devicetree/bindings/mfd/img,boston-platform-regs.yaml
>>> new file mode 100644
>>> index 000000000000..79cae87c6758
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/mfd/img,boston-platform-regs.yaml
>>> @@ -0,0 +1,74 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/mfd/img,boston-platform-regs.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Imagination Technologies Boston Platform Registers
>>> +
>>> +maintainers:
>>> + - Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>
>>> +
>>> +properties:
>>> + compatible:
>>> + items:
>>> + - const: img,boston-platform-regs
>>> + - const: syscon
>>> + - const: simple-mfd
>>
>>
>> Fix U-boot to populate devices instead of relying on simple-mfd.
>
> Hi Krzysztof,
>
> I believe U-Boot's implementation is correct. As per simple-mfd binding:
>
> ```
> simple-mfd" - this signifies that the operating system should
> consider all subnodes of the MFD device as separate devices akin to how
> "simple-bus" indicates when to see subnodes as children for a simple
> memory-mapped bus.
> ```
>
> This reads to me as "if you want sub nodes to be populated as devices
> you need this."
>
> In our case there are "clock" and "reset" node sub nodes which should be
> probed as regular device, so it's true for us.

No, you already got comment from Rob.

Your children depend on parent to provide IO address, so this is not
simple-mfd. Rule for simple-mfd is that children do not rely on parent
at all.

>
> Linux managed to work without "simple-mfd" only because clock subsystem
> is bypassing regular OF population process. Semantically we need this.

Semantically? No, you need proper populate, not incorrect simple-mfd.

>
> Besides Linux as upstream of devicetree source had accepted U-Boot
> only stuff here, such as "bootph-all" property.

Because bootph-all is valid and correct. Calling simple-mfd something
which is not entirely simple-mfd is not that valid.


Best regards,
Krzysztof