1c66ec88fSEmmanuel VadotDevice tree bindings for NOR flash connect to TI GPMC 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel VadotNOR flash connected to the TI GPMC (found on OMAP boards) are represented as 4c66ec88fSEmmanuel Vadotchild nodes of the GPMC controller with a name of "nor". 5c66ec88fSEmmanuel Vadot 6c66ec88fSEmmanuel VadotAll timing relevant properties as well as generic GPMC child properties are 7c66ec88fSEmmanuel Vadotexplained in a separate documents. Please refer to 8c66ec88fSEmmanuel VadotDocumentation/devicetree/bindings/memory-controllers/omap-gpmc.txt 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel VadotRequired properties: 11c66ec88fSEmmanuel Vadot- bank-width: Width of NOR flash in bytes. GPMC supports 8-bit and 12c66ec88fSEmmanuel Vadot 16-bit devices and so must be either 1 or 2 bytes. 13*354d7675SEmmanuel Vadot- compatible: Documentation/devicetree/bindings/mtd/mtd-physmap.yaml 14c66ec88fSEmmanuel Vadot- gpmc,cs-on-ns: Chip-select assertion time 15c66ec88fSEmmanuel Vadot- gpmc,cs-rd-off-ns: Chip-select de-assertion time for reads 16c66ec88fSEmmanuel Vadot- gpmc,cs-wr-off-ns: Chip-select de-assertion time for writes 17c66ec88fSEmmanuel Vadot- gpmc,oe-on-ns: Output-enable assertion time 18c66ec88fSEmmanuel Vadot- gpmc,oe-off-ns: Output-enable de-assertion time 19c66ec88fSEmmanuel Vadot- gpmc,we-on-ns Write-enable assertion time 20c66ec88fSEmmanuel Vadot- gpmc,we-off-ns: Write-enable de-assertion time 21c66ec88fSEmmanuel Vadot- gpmc,access-ns: Start cycle to first data capture (read access) 22c66ec88fSEmmanuel Vadot- gpmc,rd-cycle-ns: Total read cycle time 23c66ec88fSEmmanuel Vadot- gpmc,wr-cycle-ns: Total write cycle time 24*354d7675SEmmanuel Vadot- linux,mtd-name: Documentation/devicetree/bindings/mtd/mtd-physmap.yaml 25c66ec88fSEmmanuel Vadot- reg: Chip-select, base address (relative to chip-select) 26c66ec88fSEmmanuel Vadot and size of NOR flash. Note that base address will be 27c66ec88fSEmmanuel Vadot typically 0 as this is the start of the chip-select. 28c66ec88fSEmmanuel Vadot 29c66ec88fSEmmanuel VadotOptional properties: 30c66ec88fSEmmanuel Vadot- gpmc,XXX Additional GPMC timings and settings parameters. See 31c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt 32c66ec88fSEmmanuel Vadot 33c66ec88fSEmmanuel VadotOptional properties for partition table parsing: 34c66ec88fSEmmanuel Vadot- #address-cells: should be set to 1 35c66ec88fSEmmanuel Vadot- #size-cells: should be set to 1 36c66ec88fSEmmanuel Vadot 37c66ec88fSEmmanuel VadotExample: 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadotgpmc: gpmc@6e000000 { 40c66ec88fSEmmanuel Vadot compatible = "ti,omap3430-gpmc", "simple-bus"; 41c66ec88fSEmmanuel Vadot ti,hwmods = "gpmc"; 42c66ec88fSEmmanuel Vadot reg = <0x6e000000 0x1000>; 43c66ec88fSEmmanuel Vadot interrupts = <20>; 44c66ec88fSEmmanuel Vadot gpmc,num-cs = <8>; 45c66ec88fSEmmanuel Vadot gpmc,num-waitpins = <4>; 46c66ec88fSEmmanuel Vadot #address-cells = <2>; 47c66ec88fSEmmanuel Vadot #size-cells = <1>; 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot ranges = <0 0 0x10000000 0x08000000>; 50c66ec88fSEmmanuel Vadot 51c66ec88fSEmmanuel Vadot nor@0,0 { 52c66ec88fSEmmanuel Vadot compatible = "cfi-flash"; 53c66ec88fSEmmanuel Vadot linux,mtd-name= "intel,pf48f6000m0y1be"; 54c66ec88fSEmmanuel Vadot #address-cells = <1>; 55c66ec88fSEmmanuel Vadot #size-cells = <1>; 56c66ec88fSEmmanuel Vadot reg = <0 0 0x08000000>; 57c66ec88fSEmmanuel Vadot bank-width = <2>; 58c66ec88fSEmmanuel Vadot 59c66ec88fSEmmanuel Vadot gpmc,mux-add-data; 60c66ec88fSEmmanuel Vadot gpmc,cs-on-ns = <0>; 61c66ec88fSEmmanuel Vadot gpmc,cs-rd-off-ns = <186>; 62c66ec88fSEmmanuel Vadot gpmc,cs-wr-off-ns = <186>; 63c66ec88fSEmmanuel Vadot gpmc,adv-on-ns = <12>; 64c66ec88fSEmmanuel Vadot gpmc,adv-rd-off-ns = <48>; 65c66ec88fSEmmanuel Vadot gpmc,adv-wr-off-ns = <48>; 66c66ec88fSEmmanuel Vadot gpmc,oe-on-ns = <54>; 67c66ec88fSEmmanuel Vadot gpmc,oe-off-ns = <168>; 68c66ec88fSEmmanuel Vadot gpmc,we-on-ns = <54>; 69c66ec88fSEmmanuel Vadot gpmc,we-off-ns = <168>; 70c66ec88fSEmmanuel Vadot gpmc,rd-cycle-ns = <186>; 71c66ec88fSEmmanuel Vadot gpmc,wr-cycle-ns = <186>; 72c66ec88fSEmmanuel Vadot gpmc,access-ns = <114>; 73c66ec88fSEmmanuel Vadot gpmc,page-burst-access-ns = <6>; 74c66ec88fSEmmanuel Vadot gpmc,bus-turnaround-ns = <12>; 75c66ec88fSEmmanuel Vadot gpmc,cycle2cycle-delay-ns = <18>; 76c66ec88fSEmmanuel Vadot gpmc,wr-data-mux-bus-ns = <90>; 77c66ec88fSEmmanuel Vadot gpmc,wr-access-ns = <186>; 78c66ec88fSEmmanuel Vadot gpmc,cycle2cycle-samecsen; 79c66ec88fSEmmanuel Vadot gpmc,cycle2cycle-diffcsen; 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel Vadot partition@0 { 82c66ec88fSEmmanuel Vadot label = "bootloader-nor"; 83c66ec88fSEmmanuel Vadot reg = <0 0x40000>; 84c66ec88fSEmmanuel Vadot }; 85c66ec88fSEmmanuel Vadot partition@40000 { 86c66ec88fSEmmanuel Vadot label = "params-nor"; 87c66ec88fSEmmanuel Vadot reg = <0x40000 0x40000>; 88c66ec88fSEmmanuel Vadot }; 89c66ec88fSEmmanuel Vadot partition@80000 { 90c66ec88fSEmmanuel Vadot label = "kernel-nor"; 91c66ec88fSEmmanuel Vadot reg = <0x80000 0x200000>; 92c66ec88fSEmmanuel Vadot }; 93c66ec88fSEmmanuel Vadot partition@280000 { 94c66ec88fSEmmanuel Vadot label = "filesystem-nor"; 95c66ec88fSEmmanuel Vadot reg = <0x240000 0x7d80000>; 96c66ec88fSEmmanuel Vadot }; 97c66ec88fSEmmanuel Vadot }; 98c66ec88fSEmmanuel Vadot}; 99