Connecting NOR Flash to OMAP-L138

From Texas Instruments Wiki
Jump to: navigation, search


This article applies to the following devices:

Connecting Memory Devices 32MB or Smaller

Hardware Connection for 16Mx16 device

This is a standard hookup with no special glue logic needed.


Hardware Connection for 32Mx8 device

This is a standard hookup with no special glue logic needed.


Connecting Memory Devices Larger than 32MB

By default the device memory map was designed such that each chip select of external memory could address 32MB of memory. Therefore in order to go beyond 32MB a little bit of glue logic and extra software configuration will be needed.

Hardware Connection for 32Mx16 device


Hardware Connection for 64Mx8 device


Hardware Connection for 64Mx16 device

OMAP-L138 EMIFA February 21 2011.png

Software and Bootloader Considerations

Since we are now using up to 4 chip selects, it will be necessary to configure the EMIF registers corresponding to all chip enable spaces. Specifically you need to configure both the CE2CFG and CE3CFG (CE4CFG and CE5CFG in the case of 1Gbit) registers. All configurations will be the same, i.e. same bus width and timings. Additionally, the pin muxing registers must also be configured in order for the /CS3 (/CS4 and /CS5 also in the case of 1 Gbit) pin to act as an EMIF pin rather than GPIO.

Furthermore, in order for the boot ROM to be capable of bootloading an image greater than 32MB, all the configuration steps above would need to be built into the generated AIS file.

Using command-line HexAIS Tool

The HexAIS command-line tool can be used to configure the EMIF timings and Pinmux settings required to complete a boot spanning the CS2/CS3/CS4/CS5 boundary. In the INI file used by the tool, simply included the following INI sections with the required values:

  ; This section can be used to configure the async chip selects
  ; of the EMIFA (CS2-CS5).  The fields required to do this
  ; are given below.
  ;           |------24|------16|-------8|-------0|
  ; A1CR:     |                A1CR               |
  ; A2CR:     |                A2CR               |
  ; A3CR:     |                A3CR               |
  ; A4CR:     |                A4CR               |
  ; NANDFCR:  |              NANDFCR              |  

  ; This section allows setting of a single PINMUX register.
  ; This section can be included multiple times to allow setting
  ; as many PINMUX registers as needed.
  ;         |------24|------16|-------8|-------0|
  ; REGNUM: |              regNum               |
  ; MASK:   |               mask                |
  ; VALUE:  |              value                |  

The command line tool is part of the OMAP-L138 Boot and Flash Utility package, referenced here.

Using AISGen GUI Tool

The AISGen graphical tool has options to specify the EMIF timings for CS[2] used for NOR booting and pinmux settings. It will also insert the correct configuration word at the start of the AIS image depending on the data width of the NOR flash.

See the documentation for the boot loader here.