-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: OMAP2+: Add device-tree support for NOR flash
NOR flash is not currently supported when booting with device-tree on OMAP2+ devices. Add support to detect and configure NOR devices when booting with device-tree. Add documentation for the TI GPMC NOR binding. Signed-off-by: Jon Hunter <jon-hunter@ti.com> Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
- Loading branch information
Jon Hunter
committed
Apr 4, 2013
1 parent
d36b4cd
commit cdd6928
Showing
2 changed files
with
213 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
Device tree bindings for NOR flash connect to TI GPMC | ||
|
||
NOR flash connected to the TI GPMC (found on OMAP boards) are represented as | ||
child nodes of the GPMC controller with a name of "nor". | ||
|
||
All timing relevant properties as well as generic GPMC child properties are | ||
explained in a separate documents. Please refer to | ||
Documentation/devicetree/bindings/bus/ti-gpmc.txt | ||
|
||
Required properties: | ||
- bank-width: Width of NOR flash in bytes. GPMC supports 8-bit and | ||
16-bit devices and so must be either 1 or 2 bytes. | ||
- compatible: Documentation/devicetree/bindings/mtd/mtd-physmap.txt | ||
- gpmc,cs-on-ns: Chip-select assertion time | ||
- gpmc,cs-rd-off-ns: Chip-select de-assertion time for reads | ||
- gpmc,cs-wr-off-ns: Chip-select de-assertion time for writes | ||
- gpmc,oe-on-ns: Output-enable assertion time | ||
- gpmc,oe-off-ns: Output-enable de-assertion time | ||
- gpmc,we-on-ns Write-enable assertion time | ||
- gpmc,we-off-ns: Write-enable de-assertion time | ||
- gpmc,access-ns: Start cycle to first data capture (read access) | ||
- gpmc,rd-cycle-ns: Total read cycle time | ||
- gpmc,wr-cycle-ns: Total write cycle time | ||
- linux,mtd-name: Documentation/devicetree/bindings/mtd/mtd-physmap.txt | ||
- reg: Chip-select, base address (relative to chip-select) | ||
and size of NOR flash. Note that base address will be | ||
typically 0 as this is the start of the chip-select. | ||
|
||
Optional properties: | ||
- gpmc,XXX Additional GPMC timings and settings parameters. See | ||
Documentation/devicetree/bindings/bus/ti-gpmc.txt | ||
|
||
Optional properties for partiton table parsing: | ||
- #address-cells: should be set to 1 | ||
- #size-cells: should be set to 1 | ||
|
||
Example: | ||
|
||
gpmc: gpmc@6e000000 { | ||
compatible = "ti,omap3430-gpmc", "simple-bus"; | ||
ti,hwmods = "gpmc"; | ||
reg = <0x6e000000 0x1000>; | ||
interrupts = <20>; | ||
gpmc,num-cs = <8>; | ||
gpmc,num-waitpins = <4>; | ||
#address-cells = <2>; | ||
#size-cells = <1>; | ||
|
||
ranges = <0 0 0x10000000 0x08000000>; | ||
|
||
nor@0,0 { | ||
compatible = "cfi-flash"; | ||
linux,mtd-name= "intel,pf48f6000m0y1be"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
reg = <0 0 0x08000000>; | ||
bank-width = <2>; | ||
|
||
gpmc,mux-add-data; | ||
gpmc,cs-on-ns = <0>; | ||
gpmc,cs-rd-off-ns = <186>; | ||
gpmc,cs-wr-off-ns = <186>; | ||
gpmc,adv-on-ns = <12>; | ||
gpmc,adv-rd-off-ns = <48>; | ||
gpmc,adv-wr-off-ns = <48>; | ||
gpmc,oe-on-ns = <54>; | ||
gpmc,oe-off-ns = <168>; | ||
gpmc,we-on-ns = <54>; | ||
gpmc,we-off-ns = <168>; | ||
gpmc,rd-cycle-ns = <186>; | ||
gpmc,wr-cycle-ns = <186>; | ||
gpmc,access-ns = <114>; | ||
gpmc,page-burst-access-ns = <6>; | ||
gpmc,bus-turnaround-ns = <12>; | ||
gpmc,cycle2cycle-delay-ns = <18>; | ||
gpmc,wr-data-mux-bus-ns = <90>; | ||
gpmc,wr-access-ns = <186>; | ||
gpmc,cycle2cycle-samecsen; | ||
gpmc,cycle2cycle-diffcsen; | ||
|
||
partition@0 { | ||
label = "bootloader-nor"; | ||
reg = <0 0x40000>; | ||
}; | ||
partition@0x40000 { | ||
label = "params-nor"; | ||
reg = <0x40000 0x40000>; | ||
}; | ||
partition@0x80000 { | ||
label = "kernel-nor"; | ||
reg = <0x80000 0x200000>; | ||
}; | ||
partition@0x280000 { | ||
label = "filesystem-nor"; | ||
reg = <0x240000 0x7d80000>; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters