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