On Saturday 15 January 2022 00:02:11 Stephen Boyd wrote: > Quoting Pali Rohár (2021-10-15 23:42:10) > > > > If I was designing this driver and DTS bindings I would have choose > > something like this: > > > > uart@0x12000 { > > Drop the 0x > > > reg = <0x12000 0x18>, <0x12200 0x30>; > > clock-controller { > > ... > > }; > > Drop this node and put whatever properties are inside into the parent > node. > > > serial1 { > > ... > > status = "disabled"; > > }; > > serial2 { > > ... > > status = "disabled"; > > }; > > }; > > > > Meaning that 0x12000 node would be 3 subnodes and all registers would be > > defined in top level nodes and would be handled by one driver. > > > > This is really how hardware block looks like. But it is not backward > > compatible... > > Sounds good to me. I presume we need the serial child nodes so we can > reference them from the stdout-path? Yes, exactly, separate nodes for serial1 and serial2 are still required. But dropping clock controller is not possible as for higher baudrates we need to use and configure uart clock controller. Without it we just get comparable feature support which is already present in driver. But, I do not fully understand now, why to change this DTS bindings in this incompatible way? What it brings? Because for me now it looks like that this change does not bring anything useful, only breaks current DTS bindings. Driver changes would still look in the similar / same way like it is in current patch series because bindings already contains separate nodes, just they are children of top level node which represents in internal registers.