On 21/06/2024 17:51, Jiaxun Yang wrote: > > > 在2024年6月20日六月 上午7:40,Krzysztof Kozlowski写道: > [...] >>> >>> 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. >> > Hi Krzysztof, > > Sorry but can I ask for clarification on "depend on parent to provide IO > address", do you mind explaining it a little bit? Does it mean children > should get regmap node from a phandle property, not the parent node? Or there > should be a reg property for child node to tell register offset etc? > > There are way too much usage that children "depends" on parents somehow > in tree, so I want to confirm my understanding. Your driver relies on parent IO address to be provided - what's more to explain here? If parent does not provide syscon, does the child work? No. Therefore it is not suited for simple-mfd. > > For boston-platform-regs there are some other PHYs that I may add drivers > for them in future, so I certainly want "simple-mfd" to be here Well, I want a new Ducati, but we don't always get what we want, right? Best regards, Krzysztof