Re: [RFC 2/2] dt-bindings: firmware: tegra186-bpmp: Document interconnects property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux