DT unit addresses should be lower case hex. Fix all the
binding examples.
Converted with the following command from Krzysztof Kozlowski:
sed -e 's/@\([a-fA-F0-9_-]*\) {/@\L\1 {/' -i $(find Documentation/devicetree/bindings -name '*.txt')
Signed-off-by: Rob Herring <robh@kernel.org>
		
	
			
		
			
				
	
	
		
			211 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			211 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| * Device tree bindings for Texas instruments AEMIF controller
 | |
| 
 | |
| The Async External Memory Interface (EMIF16/AEMIF) controller is intended to
 | |
| provide a glue-less interface to a variety of asynchronous memory devices like
 | |
| ASRA M, NOR and NAND memory. A total of 256M bytes of any of these memories
 | |
| can be accessed at any given time via four chip selects with 64M byte access
 | |
| per chip select. Synchronous memories such as DDR1 SD RAM, SDR SDRAM
 | |
| and Mobile SDR are not supported.
 | |
| 
 | |
| Documentation:
 | |
| Davinci DM646x - http://www.ti.com/lit/ug/sprueq7c/sprueq7c.pdf
 | |
| OMAP-L138 (DA850) - http://www.ti.com/lit/ug/spruh77a/spruh77a.pdf
 | |
| Kestone - http://www.ti.com/lit/ug/sprugz3a/sprugz3a.pdf
 | |
| 
 | |
| Required properties:
 | |
| 
 | |
| - compatible:		"ti,davinci-aemif"
 | |
| 			"ti,keystone-aemif"
 | |
| 			"ti,da850-aemif"
 | |
| 
 | |
| - reg:			contains offset/length value for AEMIF control registers
 | |
| 			space.
 | |
| 
 | |
| - #address-cells:	Must be 2. The partition number has to be encoded in the
 | |
| 			first address cell and it may accept values 0..N-1
 | |
| 			(N - total number of partitions). It's recommended to
 | |
| 			assign N-1 number for the control partition. The second
 | |
| 			cell is the offset into the partition.
 | |
| 
 | |
| - #size-cells:		Must be set to 1.
 | |
| 
 | |
| - ranges:		Contains memory regions. There are two types of
 | |
| 			ranges/partitions:
 | |
| 			- CS-specific partition/range. If continuous, must be
 | |
| 			set up to reflect the memory layout for 4 chipselects,
 | |
| 			if not then additional range/partition can be added and
 | |
| 			child device can select the proper one.
 | |
| 			- control partition which is common for all CS
 | |
| 			interfaces.
 | |
| 
 | |
| - clocks:		the clock feeding the controller clock. Required only
 | |
| 			if clock tree data present in device tree.
 | |
| 			See clock-bindings.txt
 | |
| 
 | |
| - clock-names:		clock name. It has to be "aemif". Required only if clock
 | |
| 			tree data present in device tree, in another case don't
 | |
| 			use it.
 | |
| 			See clock-bindings.txt
 | |
| 
 | |
| - clock-ranges:		Empty property indicating that child nodes can inherit
 | |
| 			named clocks. Required only if clock tree data present
 | |
| 			in device tree.
 | |
| 			See clock-bindings.txt
 | |
| 
 | |
| 
 | |
| Child chip-select (cs) nodes contain the memory devices nodes connected to
 | |
| such as NOR (e.g. cfi-flash) and NAND (ti,davinci-nand, see davinci-nand.txt).
 | |
| There might be board specific devices like FPGAs.
 | |
| 
 | |
| 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.
 | |
| 
 | |
| - clock-ranges:		Empty property indicating that child nodes can inherit
 | |
| 			named clocks. Required only if clock tree data present
 | |
| 			in device tree.
 | |
| 
 | |
| - ti,cs-chipselect:	number of chipselect. Indicates on the aemif driver
 | |
| 			which chipselect is used for accessing the memory. For
 | |
| 			compatibles "ti,davinci-aemif" and "ti,keystone-aemif"
 | |
| 			it can be in range [0-3]. For compatible
 | |
| 			"ti,da850-aemif" range is [2-5].
 | |
| 
 | |
| Optional child cs node properties:
 | |
| 
 | |
| - ti,cs-bus-width:		width of the asynchronous device's data bus
 | |
| 				8 or 16 if not preset 8
 | |
| 
 | |
| - ti,cs-select-strobe-mode:	enable/disable select strobe mode
 | |
| 				In select strobe mode chip select behaves as
 | |
| 				the strobe and is active only during the strobe
 | |
| 				period. If present then enable.
 | |
| 
 | |
| - ti,cs-extended-wait-mode:	enable/disable extended wait mode
 | |
| 				if set, the controller monitors the EMIFWAIT pin
 | |
| 				mapped to that chip select to determine if the
 | |
| 				device wants to extend the strobe period. If
 | |
| 				present then enable.
 | |
| 
 | |
| - ti,cs-min-turnaround-ns:	minimum turn around time, ns
 | |
| 				Time between the end of one asynchronous memory
 | |
| 				access and the start of another asynchronous
 | |
| 				memory access. This delay is not incurred
 | |
| 				between a read followed by read or a write
 | |
| 				followed by a write to same chip select.
 | |
| 
 | |
| - ti,cs-read-setup-ns:		read setup width, ns
 | |
| 				Time between the beginning of a memory cycle
 | |
| 				and the activation of read strobe.
 | |
| 				Minimum value is 1 (0 treated as 1).
 | |
| 
 | |
| - ti,cs-read-strobe-ns:		read strobe width, ns
 | |
| 				Time between the activation and deactivation of
 | |
| 				the read strobe.
 | |
| 				Minimum value is 1 (0 treated as 1).
 | |
| 
 | |
| - ti,cs-read-hold-ns:		read hold width, ns
 | |
| 				Time between the deactivation of the read
 | |
| 				strobe and the end of the cycle (which may be
 | |
| 				either an address change or the deactivation of
 | |
| 				the chip select signal.
 | |
| 				Minimum value is 1 (0 treated as 1).
 | |
| 
 | |
| - ti,cs-write-setup-ns:		write setup width, ns
 | |
| 				Time between the beginning of a memory cycle
 | |
| 				and the activation of write strobe.
 | |
| 				Minimum value is 1 (0 treated as 1).
 | |
| 
 | |
| - ti,cs-write-strobe-ns:	write strobe width, ns
 | |
| 				Time between the activation and deactivation of
 | |
| 				the write strobe.
 | |
| 				Minimum value is 1 (0 treated as 1).
 | |
| 
 | |
| - ti,cs-write-hold-ns:		write hold width, ns
 | |
| 				Time between the deactivation of the write
 | |
| 				strobe and the end of the cycle (which may be
 | |
| 				either an address change or the deactivation of
 | |
| 				the chip select signal.
 | |
| 				Minimum value is 1 (0 treated as 1).
 | |
| 
 | |
| If any of the above parameters are absent, current parameter value will be taken
 | |
| from the corresponding HW reg.
 | |
| 
 | |
| Example for aemif, davinci nand and nor flash chip select shown below.
 | |
| 
 | |
| memory-controller@21000a00 {
 | |
| 	compatible = "ti,davinci-aemif";
 | |
| 	#address-cells = <2>;
 | |
| 	#size-cells = <1>;
 | |
| 	clocks = <&clkaemif 0>;
 | |
| 	clock-names = "aemif";
 | |
| 	clock-ranges;
 | |
| 	reg = <0x21000A00 0x00000100>;
 | |
| 	ranges = <0 0 0x70000000 0x10000000
 | |
| 		  1 0 0x21000A00 0x00000100>;
 | |
| 		  /*
 | |
| 		   * Partition0: CS-specific memory range which is
 | |
| 		   * implemented as continuous physical memory region
 | |
| 		   * Partition1: control memory range
 | |
| 		   */
 | |
| 
 | |
| 	nand:cs2 {
 | |
| 		#address-cells = <2>;
 | |
| 		#size-cells = <1>;
 | |
| 		clock-ranges;
 | |
| 		ranges;
 | |
| 
 | |
| 		ti,cs-chipselect = <2>;
 | |
| 		/* all timings in nanoseconds */
 | |
| 		ti,cs-min-turnaround-ns = <0>;
 | |
| 		ti,cs-read-hold-ns = <7>;
 | |
| 		ti,cs-read-strobe-ns = <42>;
 | |
| 		ti,cs-read-setup-ns = <14>;
 | |
| 		ti,cs-write-hold-ns = <7>;
 | |
| 		ti,cs-write-strobe-ns = <42>;
 | |
| 		ti,cs-write-setup-ns = <14>;
 | |
| 
 | |
| 		nand@0,0x8000000 {
 | |
| 			compatible = "ti,davinci-nand";
 | |
| 			reg = <0 0x8000000 0x4000000
 | |
| 			       1 0x0000000 0x0000100>;
 | |
| 			/*
 | |
| 			 * Partition0, offset 0x8000000, size 0x4000000
 | |
| 			 * Partition1, offset 0x0000000, size 0x0000100
 | |
| 			 */
 | |
| 
 | |
| 			.. see davinci-nand.txt
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	nor:cs0 {
 | |
| 		#address-cells = <2>;
 | |
| 		#size-cells = <1>;
 | |
| 		clock-ranges;
 | |
| 		ranges;
 | |
| 
 | |
| 		ti,cs-chipselect = <0>;
 | |
| 		/* all timings in nanoseconds */
 | |
| 		ti,cs-min-turnaround-ns = <0>;
 | |
| 		ti,cs-read-hold-ns = <8>;
 | |
| 		ti,cs-read-strobe-ns = <40>;
 | |
| 		ti,cs-read-setup-ns = <14>;
 | |
| 		ti,cs-write-hold-ns = <7>;
 | |
| 		ti,cs-write-strobe-ns = <40>;
 | |
| 		ti,cs-write-setup-ns = <14>;
 | |
| 		ti,cs-bus-width = <16>;
 | |
| 
 | |
| 		flash@0,0x0000000 {
 | |
| 			compatible = "cfi-flash";
 | |
| 			reg = <0 0x0000000 0x4000000>;
 | |
| 
 | |
| 			...
 | |
| 		};
 | |
| 	};
 | |
| };
 |