This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

boot nand with omap4460 through gpmc bus



Hi All,

In our custom board ,We are going to use 512 MB boot nand with omap4460 processor interfaced through GPMC bus.

I have read TRM of omap4460, and from that i came to know that we can address maximum 128 MB by single chip-select. I have also gone through base addres and mask field policies.

I have configured cs0 and gpmc in 8-bit nand mode. i have configured cs0 base address 0x00.

Que:-

1. If we can address 128 MB maximum through single chip-select, How can i deal with 512 MB of nand?

2. What should be the MASK field for cs0?

3. I am using ubuntu 12.04 with kernel 3.10.12, is gpmc nand driver support for omap4 available inside this kernel? 

4. where do i need to configure GPMC_CONFIG1...7 register for nand? (kernel/u-boot)

5. do i need to provide gpmc_timing structure for nand?


------------------------------------------------------------------------------------------------------------------------------------------

Thanks,

Jags Gediya

  • Hello Jags,

    About your questions:

    Q1: If we can address 128 MB maximum through single chip-select, How can i deal with 512 MB of nand? - We discussed this question in this post - http://e2e.ti.com/support/omap/f/849/p/306389/1075143.aspx#1075143

    Q2: What should be the MASK field for cs0? - Chip-select 0 is the only chip-select region enabled after either a power-up or a GPMC reset.

    The cs0muxdevice input pin (at the GPMC boundary) selects whether the attached device to chip-select 0 is an address/data-multiplexed device or not. Its value is fixed for the device at 0x2 at IC reset, which means that only address/data-multiplexed memories are supported for booting (that is, in a standalone way from memories connected to CS0). The input pin is used to configure the GPMC_CONFIG1_i[9:8] MUXADDDATA bit (where i = 0).

    Using the internal boot code, the entire CS0 configuration can be modified before the first CS0 access. This modification of internal boot code is necessary for two external devices:
    • NAND device attached to CS0

    Q3: I am using ubuntu 12.04 with kernel 3.10.12, is gpmc nand driver support for omap4 available inside this kernel? - I guest that kernel 3.10.12 supports GPMC nand driver. My kernel versions is older one and GPMC driver is supported.

    Q4: where do i need to configure GPMC_CONFIG1...7 register for nand? (kernel/u-boot) - I think you must define GPMC_CONFIG1....7 in u-boot, but you must configure this file in kernel arch/arm/mach-omap2/gpmc-nand.c.
    You also must see the file cpu/omap4/mem.c.

    Q5: do i need to provide gpmc_timing structure for nand? - Use the GPMC timing diagrams described in OMAP4460 TRM and Data Manual.

    Best regards,

    Yanko