From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: Re: [PATCH v3 06/11] memory: atmel-ebi: add DT bindings documentation Date: Wed, 3 Dec 2014 20:28:21 +0100 Message-ID: <20141203202821.6d15af88@bbrezillon> References: <1417429647-3419-1-git-send-email-boris.brezillon@free-electrons.com> <1417429647-3419-7-git-send-email-boris.brezillon@free-electrons.com> <547F24B6.8070504@atmel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <547F24B6.8070504-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Nicolas Ferre Cc: Jean-Christophe Plagniol-Villard , Alexandre Belloni , Andrew Victor , Samuel Ortiz , Lee Jones , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Arnd Bergmann , Jean-Jacques Hiblot List-Id: devicetree@vger.kernel.org On Wed, 3 Dec 2014 15:56:54 +0100 Nicolas Ferre wrote: > Le 01/12/2014 11:27, Boris Brezillon a =C3=A9crit : > > The EBI (External Bus Interface) is used to access external periphe= rals > > (NOR, SRAM, NAND, and other specific devices like ethernet controll= ers). > > Each device is assigned a CS line and an address range and can have= its > > own configuration (timings, access mode, bus width, ...). > > This driver provides a generic DT binding to configure a device acc= ording > > to its requirements. > > For specific device controllers (like the NAND one) the SMC timings > > should be configured by the controller driver through the matrix an= d smc > > syscon regmaps. > >=20 > > Signed-off-by: Boris Brezillon > > --- > > .../bindings/memory-controllers/atmel-ebi.txt | 155 +++++++++= ++++++++++++ > > 1 file changed, 155 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/memory-contro= llers/atmel-ebi.txt > >=20 > > diff --git a/Documentation/devicetree/bindings/memory-controllers/a= tmel-ebi.txt b/Documentation/devicetree/bindings/memory-controllers/atm= el-ebi.txt > > new file mode 100644 > > index 0000000..3749ea1 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/memory-controllers/atmel-eb= i.txt > > @@ -0,0 +1,155 @@ > > +* Device tree bindings for Atmel EBI > > + > > +The External Bus Interface (EBI) controller is a bus where you can= connect > > +asynchronous (NAND, NOR, SRAM, ....) and synchronous memories (SDR= /DDR SDRAMs). > > +The EBI provides a glue-less interface to asynchronous memories th= ough the SMC > > +(Static Memory Controller). > > +Synchronous memories (and some asynchronous memories like NANDs) c= an be > > +attached to specialized controllers which are responsible for conf= iguring the > > +bus appropriately according to the connected device. > > +In the other hand, the bus interface can be automated for simple a= synchronous > > +devices. > > + > > +Required properties: > > + > > +- compatible: "atmel,at91sam9260-ebi" > > + "atmel,at91sam9261-ebi" > > + "atmel,at91sam9263-ebi0" > > + "atmel,at91sam9263-ebi1" >=20 > Ditto: 9263 twice. Actually that's not a duplicated compatible (see the ebi0/ebi1 at the end): sam9263 embeds 2 EBIs, and they have different numbers of chip selects, hence the different compatible string. I'll add an "atmel,at91sam9rl-ebi" string. >=20 > > + "atmel,at91sam9g45-ebi" > > + "atmel,at91sam9x5-ebi" > > + "atmel,sama5d3-ebi" > > + > > +- reg: Contains offset/length value for EBI memory mapping. > > + This property might contain several entries if the EBI > > + memory range is not contiguous > > + > > +- #address-cells: Must be 2. > > + The first cell encodes the CS. > > + The second cell encode the offset into the CS memory > > + range. > > + > > +- #size-cells: Must be set to 1. > > + > > +- ranges: Encodes CS to memory region association. > > + > > +- clocks: Clock feeding the EBI controller. > > + See clock-bindings.txt > > + > > +Child chip-select (cs) nodes contain the memory devices nodes conn= ected to > > +such as NOR (e.g. cfi-flash) and NAND. > > +There might be board specific devices like FPGAs. > > +You'll define you device requirements in these child nodes. > > + > > +Required child cs node properties: > > + > > +- #address-cells: Must be 2. > > + > > +- #size-cells: Must be 1. > > + > > +- ranges: Empty property indicating that child nodes can inherit > > + memory layout. > > + > > +Optional child cs node properties: > > +- atmel,generic-dev boolean property specifying if the device is > > + a generic device. > > + The following properties are only parsed if > > + this property is present. > > + Specialized devices are attached to specialized > > + controllers which are responsible for > > + configuring the bus appropriately. > > + Here are some examples of specialized > > + controllers: NAND, CompactFlash, SDR-SDRAM. > > + > > +- atmel,bus-width: width of the asynchronous device's data bus > > + 8, 16 or 32. > > + 8 if not present. > > + > > +- atmel,byte-access-type "write" or "select" (see Atmel datasheet)= =2E > > + "select" if not present. > > + > > +- atmel,read-mode "nrd" or "ncs". > > + "ncs" is not present. > > + > > +- atmel,write-mode "nwe" or "ncs". > > + "ncs" is not present. > > + > > +- atmel,exnw-mode "disabled", "frozen" or "ready". > > + "disabled" if not present. > > + > > +- atmel,page-mode enable page mode if present. The provided value > > + defines the page size (supported values: 4, 8, > > + 16 and 32). > > + > > +Optional device timings expressed in nanoseconds (if the property = is not > > +present 0 is assumed): > > + > > +- atmel,ncs-rd-setup-ns > > +- atmel,nrd-setup-ns > > +- atmel,ncs-wr-setup-ns > > +- atmel,nwe-setup-ns > > +- atmel,ncs-rd-pulse-ns > > +- atmel,nrd-pulse-ns > > +- atmel,ncs-wr-pulse-ns > > +- atmel,nwe-pulse-ns > > +- atmel,nwe-cycle-ns > > +- atmel,nrd-cycle-ns > > +- atmel,tdf-ns > > + > > +- atmel,tdf-optimized data float optimized mode. If present the d= ata > > + float time is optimized depending on the next > > + device being accessed (next device setup > > + time is substracted to the current devive data >=20 > Typo: subtract, device Yep, I'll those typos. --=20 Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe devicetree" i= n the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html