There is 7 DCDC step down and 10 LDOs.Ah, I see. Yes, I believe the regulators should have their own node,I wanted to have the DT like:Agreed. Besides, there doesn't seem to be *any* sub-device propertiesDo the sub-nodes have their own properties? If so, it would be worthYou do see some reusable IP blocks (like the regualtors on the wm831x
breaking them up as other OSes could reuse the specifics. If they do,
then you need so put them in the binding. If they don't, then you do
not require sub-nodes. The MFD core will ensure the sub-devices are
probed and there is no requirement for the of_node to be assigned.
PMICs for example, they're repeated blocks) which can be reused but
generally they have a register base as part of the binding. Personally
if it's just a property or two I'd probably just put them on the root
node for the device.
defined in the binding document. So what are you trying to achieve
with the child nodes?
as3722 {
compatible = "ams,as3722";
reg = <0x40>;
#interrupt-controller;
.....
regulators {
ldo1-in-supply = <..>;
....
sd0 {
regulator-name = "vdd-cpu";
.....
};
sd1 {
regulator-name = "vdd-ddr";
.....
};
....
};
};
And regulator driver should get the regulator node by their
pdev->dev.of_node.
Currently, in most of driver, we are having the code on regulator
driver to get "regulators" node from parent node which I want to
avoid.
complete with a compatible string. To have each regulator listed
separately in the parent node seems a little messy. Just out of
interest, how many regulators are we talking about here?