atmel nand bindings vs. actual dts files

Alexandre Belloni alexandre.belloni at bootlin.com
Mon Jun 3 18:53:01 PDT 2019


On 30/04/2019 11:32:42+0200, Miquel Raynal wrote:
> Hi Alexander,
> 
> Alexander Dahl <ada at thorsis.com> wrote on Tue, 30 Apr 2019 11:24:44
> +0200:
> 
> > Hello Miquèl,
> > 
> > Am Montag, 29. April 2019, 11:55:40 CEST schrieb Miquel Raynal:
> > > Alexander Dahl <ada at thorsis.com> wrote on Thu, 07 Mar 2019 17:25:17  
> > > > Am Mittwoch, 6. März 2019, 15:07:52 CET schrieb Alexander Dahl:  
> > > > > So instead of "always 0x800000" that node has 0x2 as third entry for the
> > > > > 'reg' property. Why is that?  
> > > > 
> > > > I didn't investigate that further yet, but I'm curious, so if anyone
> > > > knows?  
> > > 
> > > I suppose the bindings [1] explain the situation.
> > > 
> > > [1]
> > > https://elixir.bootlin.com/linux/v5.0/source/Documentation/devicetree/bindi
> > > ngs/mtd/atmel-nand.txt#L32  
> > 
> > No, that was not what I wanted to know. The bindings says for that reg 
> > property: “3rd entry: the memory region size (always 0x800000)”
> > 
> > This is true for some dts files including this nand node, but not for all, 
> > some have this:
> > 
> > 	nand at 3 {
> > 		reg = <0x3 0x0 0x800000>;
> > 
> > Others have this:
> > 
> > 	nand at 3 {
> > 		reg = <0x3 0x0 0x2>;
> > 
> > The second contradicts the binding doc. Most of this was changed when 
> > switching from the old bindings in changeset v4.12-rc1-7-g1004a2977bdc by 
> > Boris Brezillon. I wanted to know why the difference? 
> 
> Indeed. Adding Alexandre who might also have an idea and Tudor for
> reference.
> 

I'd say that <0x3 0x0 0x2> only works because ioremap will always map a
4k page and DMA is used so we are not accessing anything beyond that
page using the virtual address.


-- 
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



More information about the linux-mtd mailing list