lkml.org 
[lkml]   [2015]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 3/3] mtd: nand: add NAND driver for Broadcom STB NAND controller
    From
    On 7 March 2015 at 18:39, Rafał Miłecki <zajec5@gmail.com> wrote:
    > It seems that brcmnand_ctlrdy_irq never fires on my device. Just like
    > controller was never generating any IRQ.
    >
    >
    > I started comparing your driver with OpenWrt's bcm_nand.c (which
    > should be very similar to Broadcom's SDK NAND driver for ARM). Below
    > are few things I've noticed.
    >
    > 1) In bcm_nand.c IRQ handler also doesn't seem to be fired (or very rarely).

    Oh, wait, I was wrong there. So in bcm_nand.c IRQ handler fires very
    often, just not during the early phase (RESET, READID), when we don't
    use IRQs. During standard read/program/etc IRQ is commonly used.

    So maybe all we're missing in case of brcmstb_nand.c is
    enabling/acking/disabling IRQ?

    It seem that my controller 6.01 has:

    1) Following IRQs:
    DIREC_READ_MISS
    ERASE_COMPLETE
    COPYBACK_COMPLETE
    PROGRAM_COMPLETE
    CONTROLLER_RDY
    RDBSY_RDY
    ECC_UNCORRECTABLE
    ECC_CORRECTABLE

    2) Registers for reading/acking above IRQs:
    0xf00 DIREC_READ_MISS
    0xf04 ERASE_COMPLETE
    0xf08 COPYBACK_COMPLETE
    0xf0c PROGRAM_COMPLETE
    0xf10 CONTROLLER_RDY
    0xf14 RDBSY_RDY
    0xf18 ECC_UNCORRECTABLE
    0xf1c ECC_CORRECTABLE
    (if 0x1 is set, it means IRQ was raised, writing 0x1 ack-es it)

    3) Register 0x408 for enabling/disabling IRQs:
    0x00000004 DIREC_READ_MISS
    0x00000008 ERASE_COMPLETE
    0x00000010 COPYBACK_COMPLETE
    0x00000020 PROGRAM_COMPLETE
    0x00000040 CONTROLLER_RDY
    0x00000080 RDBSY_RDY
    0x00000100 ECC_UNCORRECTABLE
    0x00000200 ECC_CORRECTABLE


    \
     
     \ /
      Last update: 2015-03-08 02:01    [W:4.425 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site