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