On Tue, 17 Apr 2018 18:00:40 +0200
Alban <al...@free.fr> wrote:

> On Tue, 17 Apr 2018 16:44:01 +0100
> Srinivas Kandagatla <srinivas.kandaga...@linaro.org> wrote:
> 
> > Thanks for explaining,
> > 
> > On 17/04/18 15:54, Alban wrote:  
> > > This will not only allow reading the calibration data from nvmem, but
> > > will also create a partition on the MTD device, which is not acceptable.
> > > With my proposed binding this would become:
> > > 
> > > flash@0 {
> > >   #address-cells = <1>;
> > >   #size-cells = <1>;
> > >   compatible = "s25sl064a";
> > >   reg = <0>;
> > > 
> > >   nvmem-cells {
> > >           compatible = "nvmem-cells";
> > >           #address-cells = <1>;
> > >           #address-cells = <1>;
> > > 
> > >           calibration: calib@404 {
> > >                   reg = <0x404 0x10>;
> > >           };
> > >   };    
> > 
> > Why can't we make nvmem-cells node a nvmem provider in this case?
> > Which should work!  
> 
> TBH I just copied what have been done to fix the same problem with the
> MTD partitions. But yes we could also just extend the current binding
> to require a compatible string on each nvmem-cell, which would not
> require any code change to support.

However this scheme will not work if the device node binding already
have subnodes with addresses. The addressing, as specified by
#address-cells and #size-cells, might be incompatible or might overlap.
Using the nvmem-cells subnode solve this problem.

Alban

Attachment: pgpzPU9Zo869q.pgp
Description: OpenPGP digital signature

Reply via email to