FDO_FLASH_STATUS = 0x0020,
};
-#if 1
#define MAX_LOOPS 10000
#define wait_for_auto_prog_done() \
CYG_MACRO_START \
} \
nfc_reg_write(0, NFC_IPC_REG); \
CYG_MACRO_END
-#else
-#define wait_for_auto_prog_done() \
- CYG_MACRO_START \
- while ((nfc_reg_read(NFC_IPC_REG) & NFC_IPC_AUTO_DONE) == 0) {
- }
- nfc_reg_write((nfc_reg_read(NFC_IPC_REG) & ~NFC_IPC_AUTO_DONE),
- NFC_IPC_REG);
- CYG_MACRO_END
-
-// Polls the NANDFC to wait for an operation to complete
-#define wait_op_done()
- CYG_MACRO_START
- while ((nfc_reg_read(NFC_IPC_REG) & NFC_IPC_INT) == 0) {
- }
- nfc_reg_write(0, NFC_IPC_REG);
- CYG_MACRO_END
-#endif
-#if 1
-#include <cyg/hal/plf_mmap.h>
-#define nfc_reg_write(v, r) __nfc_reg_write(v, (void *)(r), #r, __FUNCTION__)
-static inline void __nfc_reg_write(u32 val, void *addr,
- const char *reg, const char *fn)
-{
- unsigned long pa;
- HAL_VIRT_TO_PHYS_ADDRESS((unsigned long)addr, pa);
- diag_printf1("%s: Writing %08x to %s[%04lx]\n", fn, val, reg, pa);
- writel(val, addr);
-}
-
-#define nfc_reg_read(r) __nfc_reg_read((void *)(r), #r, __FUNCTION__)
-static inline u32 __nfc_reg_read(void *addr,
- const char *reg, const char *fn)
-{
- u32 val;
- unsigned long pa;
-
- HAL_VIRT_TO_PHYS_ADDRESS((unsigned long)addr, pa);
- val = readl(addr);
- diag_printf1("%s: Read %08x from %s[%04lx]\n", fn, val, reg, pa);
- return val;
-}
-#else
#define nfc_reg_read(r) readl(r)
#define nfc_reg_write(v, r) writel(v, r)
-#endif
static void write_nfc_ip_reg(u32 val, u32 reg)
{