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

From: Rob Herring
Date: Thu Jun 27 2024 - 16:45:22 EST


On Wed, Jun 19, 2024 at 12:20:54PM +0100, 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.
>
> Linux managed to work without "simple-mfd" only because clock subsystem
> is bypassing regular OF population process. Semantically we need this.

I'm confused. Neither u-boot nor linux .dts files have 'simple-mfd' for
this binding. So why do you need it? Why are we changing a platform
that's had 1 dts change since 2018?

If anything, add it in a separate patch and we can discuss it there
instead of a conversion.

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

Yes, and there are things we've rejected. See Arm FFA threads if you
want to waste a few hours reading.

Rob