Hi Rob, On 09/25/2018 09:17 PM, Rob Herring wrote: > On Fri, Aug 31, 2018 at 05:01:48PM +0300, Georgi Djakov wrote: >> On some Qualcomm SoCs, there is a remote processor, which controls some of >> the Network-On-Chip interconnect resources. Other CPUs express their needs >> by communicating with this processor. Add a driver to handle communication >> with this remote processor. > > I don't think you should have a binding nor a separate driver for this. > It's not actually an interconnect provider, so it doesn't belong in > bindings/interconnect. And it just looks like abuse of DT to instantiate > some driver. The idea of this binding here is to represent the remote processor, that is also in control of some of the shared interconnect paths. The bandwidth needs of the DSPs and modem are also reported to this remote processor. It also takes over some of the bandwidth management while the application CPU is powered down. So yes, it is also a kind of an interconnect provider, so IMO it should be in DT. We already have similar DT sub-nodes for remote regulator and clock resources and this is just adding another sub-node for the interconnect bandwidth related subsystem. This, together with each separate NoC hardware block (in patch 6/8) are building up the whole topology. The configuration of interconnect paths consists of a combination of register writes, clock scaling and sending a message to the remote processor. > All the driver amounts to is a 1 function wrapper for RPM_KEY_BW > messages. Can't this be part of the parent? I am re-using this part for other SoCs and have separated it to avoid duplication. Thanks, Georgi