18c2ecf20Sopenharmony_ciDevice tree bindings for NOR flash connect to TI GPMC
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciNOR flash connected to the TI GPMC (found on OMAP boards) are represented as
48c2ecf20Sopenharmony_cichild nodes of the GPMC controller with a name of "nor".
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciAll timing relevant properties as well as generic GPMC child properties are
78c2ecf20Sopenharmony_ciexplained in a separate documents. Please refer to
88c2ecf20Sopenharmony_ciDocumentation/devicetree/bindings/memory-controllers/omap-gpmc.txt
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciRequired properties:
118c2ecf20Sopenharmony_ci- bank-width: 		Width of NOR flash in bytes. GPMC supports 8-bit and
128c2ecf20Sopenharmony_ci			16-bit devices and so must be either 1 or 2 bytes.
138c2ecf20Sopenharmony_ci- compatible:		Documentation/devicetree/bindings/mtd/mtd-physmap.txt
148c2ecf20Sopenharmony_ci- gpmc,cs-on-ns:		Chip-select assertion time
158c2ecf20Sopenharmony_ci- gpmc,cs-rd-off-ns:	Chip-select de-assertion time for reads
168c2ecf20Sopenharmony_ci- gpmc,cs-wr-off-ns:	Chip-select de-assertion time for writes
178c2ecf20Sopenharmony_ci- gpmc,oe-on-ns:	Output-enable assertion time
188c2ecf20Sopenharmony_ci- gpmc,oe-off-ns:	Output-enable de-assertion time
198c2ecf20Sopenharmony_ci- gpmc,we-on-ns		Write-enable assertion time
208c2ecf20Sopenharmony_ci- gpmc,we-off-ns:	Write-enable de-assertion time
218c2ecf20Sopenharmony_ci- gpmc,access-ns:	Start cycle to first data capture (read access)
228c2ecf20Sopenharmony_ci- gpmc,rd-cycle-ns:	Total read cycle time
238c2ecf20Sopenharmony_ci- gpmc,wr-cycle-ns:	Total write cycle time
248c2ecf20Sopenharmony_ci- linux,mtd-name:	Documentation/devicetree/bindings/mtd/mtd-physmap.txt
258c2ecf20Sopenharmony_ci- reg:			Chip-select, base address (relative to chip-select)
268c2ecf20Sopenharmony_ci			and size of NOR flash. Note that base address will be
278c2ecf20Sopenharmony_ci			typically 0 as this is the start of the chip-select.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciOptional properties:
308c2ecf20Sopenharmony_ci- gpmc,XXX		Additional GPMC timings and settings parameters. See
318c2ecf20Sopenharmony_ci			Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ciOptional properties for partition table parsing:
348c2ecf20Sopenharmony_ci- #address-cells: should be set to 1
358c2ecf20Sopenharmony_ci- #size-cells: should be set to 1
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ciExample:
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_cigpmc: gpmc@6e000000 {
408c2ecf20Sopenharmony_ci	compatible = "ti,omap3430-gpmc", "simple-bus";
418c2ecf20Sopenharmony_ci	ti,hwmods = "gpmc";
428c2ecf20Sopenharmony_ci	reg = <0x6e000000 0x1000>;
438c2ecf20Sopenharmony_ci	interrupts = <20>;
448c2ecf20Sopenharmony_ci	gpmc,num-cs = <8>;
458c2ecf20Sopenharmony_ci	gpmc,num-waitpins = <4>;
468c2ecf20Sopenharmony_ci	#address-cells = <2>;
478c2ecf20Sopenharmony_ci	#size-cells = <1>;
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci	ranges = <0 0 0x10000000 0x08000000>;
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci	nor@0,0 {
528c2ecf20Sopenharmony_ci		compatible = "cfi-flash";
538c2ecf20Sopenharmony_ci		linux,mtd-name= "intel,pf48f6000m0y1be";
548c2ecf20Sopenharmony_ci		#address-cells = <1>;
558c2ecf20Sopenharmony_ci		#size-cells = <1>;
568c2ecf20Sopenharmony_ci		reg = <0 0 0x08000000>;
578c2ecf20Sopenharmony_ci		bank-width = <2>;
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci		gpmc,mux-add-data;
608c2ecf20Sopenharmony_ci		gpmc,cs-on-ns = <0>;
618c2ecf20Sopenharmony_ci		gpmc,cs-rd-off-ns = <186>;
628c2ecf20Sopenharmony_ci		gpmc,cs-wr-off-ns = <186>;
638c2ecf20Sopenharmony_ci		gpmc,adv-on-ns = <12>;
648c2ecf20Sopenharmony_ci		gpmc,adv-rd-off-ns = <48>;
658c2ecf20Sopenharmony_ci		gpmc,adv-wr-off-ns = <48>;
668c2ecf20Sopenharmony_ci		gpmc,oe-on-ns = <54>;
678c2ecf20Sopenharmony_ci		gpmc,oe-off-ns = <168>;
688c2ecf20Sopenharmony_ci		gpmc,we-on-ns = <54>;
698c2ecf20Sopenharmony_ci		gpmc,we-off-ns = <168>;
708c2ecf20Sopenharmony_ci		gpmc,rd-cycle-ns = <186>;
718c2ecf20Sopenharmony_ci		gpmc,wr-cycle-ns = <186>;
728c2ecf20Sopenharmony_ci		gpmc,access-ns = <114>;
738c2ecf20Sopenharmony_ci		gpmc,page-burst-access-ns = <6>;
748c2ecf20Sopenharmony_ci		gpmc,bus-turnaround-ns = <12>;
758c2ecf20Sopenharmony_ci		gpmc,cycle2cycle-delay-ns = <18>;
768c2ecf20Sopenharmony_ci		gpmc,wr-data-mux-bus-ns = <90>;
778c2ecf20Sopenharmony_ci		gpmc,wr-access-ns = <186>;
788c2ecf20Sopenharmony_ci		gpmc,cycle2cycle-samecsen;
798c2ecf20Sopenharmony_ci		gpmc,cycle2cycle-diffcsen;
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci		partition@0 {
828c2ecf20Sopenharmony_ci			label = "bootloader-nor";
838c2ecf20Sopenharmony_ci			reg = <0 0x40000>;
848c2ecf20Sopenharmony_ci		};
858c2ecf20Sopenharmony_ci		partition@40000 {
868c2ecf20Sopenharmony_ci			label = "params-nor";
878c2ecf20Sopenharmony_ci			reg = <0x40000 0x40000>;
888c2ecf20Sopenharmony_ci		};
898c2ecf20Sopenharmony_ci		partition@80000 {
908c2ecf20Sopenharmony_ci			label = "kernel-nor";
918c2ecf20Sopenharmony_ci			reg = <0x80000 0x200000>;
928c2ecf20Sopenharmony_ci		};
938c2ecf20Sopenharmony_ci		partition@280000 {
948c2ecf20Sopenharmony_ci			label = "filesystem-nor";
958c2ecf20Sopenharmony_ci			reg = <0x240000 0x7d80000>;
968c2ecf20Sopenharmony_ci		};
978c2ecf20Sopenharmony_ci	};
988c2ecf20Sopenharmony_ci};
99