On 1/29/20 18:02, Dmitry Osipenko wrote: > 29.01.2020 12:36, Thierry Reding пишет: >> On Tue, Jan 28, 2020 at 10:27:00PM +0300, Dmitry Osipenko wrote: >>> 27.01.2020 15:21, Thierry Reding пишет: >>>> On Tue, Jan 21, 2020 at 11:12:11PM +0300, Dmitry Osipenko wrote: >>>>> 21.01.2020 18:54, Thierry Reding пишет: >>>>>> On Tue, Jan 21, 2020 at 05:18:43PM +0200, Georgi Djakov wrote: >>>>>>> On 1/21/20 16:10, Thierry Reding wrote: >>>> [...] >>>>>>>> I'm not sure if that TEGRA_ICC_EMEM makes a lot of sense. It's always >>>>>>>> going to be the same and it's arbitrarily defined, so it's effectively >>>>>>>> useless. But other than that it looks good. >>>>>>> >>>>>>> Well, in most cases the target would be the EMEM, so that's fine. I have seen >>>>>>> that other vendors that may have an additional internal memory, especially >>>>>>> dedicated to some DSPs and in such cases the bandwidth needs are different for >>>>>>> the two paths (to internal memory and DDR). >>>>>> >>>>>> Most chips have a small internal memory that can be used, though it >>>>>> seldomly is. However, in that case I would expect the target to be a >>>>>> completely different device, so it'd look more like this: >>>>>> >>>>>> interconnects = <&mc TEGRA186_MEMORY_CLIENT_BPMPR &iram>, >>>>>> ...; >>>>>> >>>>>> I don't think EMEM has any "downstream" other than external memory. >>>>> >>>>> The node ID should be mandatory in terms of interconnect, even if it's a >>>>> single node. EMC (provider) != EMEM (endpoint). >>>> >>>> I don't understand why. An ID only makes sense if you've got multiple >>>> endpoints. For example, a regulator is a provider with a single endpoint >>>> so we don't specify an ID. >>> >>> Because this is how ICC binding is defined, unless I'm missing something. >> >> I don't think so. It's defined as "pairs of phandles and interconnect >> provider specifiers", which is equivalent to what pretty much all of the >> resource bindings define. The #interconnect-cells property defines the >> number of cells used for the specifier. In the normal case this would be >> 1, and the value of the one cell would be the ID of the endpoint. But if >> there's only a single endpoint, it's customary to set the number of >> cells to 0, in which case only the phandle is required. > > Right, setting interconnect-cells=0 should work. I'll give it a try, > thank you! Yes, it's fine to have #interconnect-cells = <0>. Here is a patch [1] which is a bit related to this. Thanks, Georgi [1] https://patchwork.kernel.org/patch/11305295/