[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0463d60e-b58e-84cc-df5e-d5030e8fdc1d@milecki.pl>
Date: Tue, 4 Jan 2022 21:56:01 +0100
From: Rafał Miłecki <rafal@...ecki.pl>
To: Rafał Miłecki <zajec5@...il.com>,
Rob Herring <robh@...nel.org>
Cc: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
devicetree@...r.kernel.org,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
netdev <netdev@...r.kernel.org>
Subject: Re: [PATCH 3/5] dt-bindings: nvmem: allow referencing device defined
cells by names
On 4.01.2022 21:50, Rafał Miłecki wrote:
> On 4.01.2022 21:16, Rob Herring wrote:
>> On Thu, Dec 23, 2021 at 10:58:56PM +0100, Rafał Miłecki wrote:
>>> On 23.12.2021 22:18, Rob Herring wrote:
>>>> On Thu, Dec 23, 2021 at 7:08 AM Rafał Miłecki <zajec5@...il.com> wrote:
>>>>>
>>>>> From: Rafał Miłecki <rafal@...ecki.pl>
>>>>>
>>>>> Not every NVMEM has predefined cells at hardcoded addresses. Some
>>>>> devices store cells in internal structs and custom formats. Referencing
>>>>> such cells is still required to let other bindings use them.
>>>>>
>>>>> Modify binding to require "reg" xor "label". The later one can be used
>>>>> to match "dynamic" NVMEM cells by their names.
>>>>
>>>> 'label' is supposed to correspond to a sticker on a port or something
>>>> human identifiable. It generally should be something optional to
>>>> making the OS functional. Yes, there are already some abuses of that,
>>>> but this case is too far for me.
>>>
>>> Good to learn that!
>>>
>>> "name" is special & not allowed I think.
>>
>> It's the node name essentially. Why is using node names not sufficient?
>> Do you have some specific examples?
>
> I tried to explain in
> [PATCH 1/5] dt-bindings: nvmem: add "label" property to allow more flexible cells names
> that some vendors come with fancy names that can't fit node names.
>
> Broadcom's NVRAM examples:
> 0:macaddr
> 1:macaddr
> 2:macaddr
> 0:ccode
> 1:ccode
> 2:ccode
> 0:regrev
In other words I'd like to have something like:
nvram@...f0000 {
compatible = "brcm,nvram";
reg = <0x1eff0000 0x10000>;
mac: cell-0 {
label = "1:macaddr";
};
};
ethernet@...0 {
compatible = "brcm,ethernet";
reg = <0x1000 0x1000>;
nvmem-cells = <&mac>;
nvmem-cell-names = "mac-address";
};
Powered by blists - more mailing lists