2 * the ``general-purpose'' memory controller.
3 * only works with flash memory.
8 Idlemask = MASK(2) << 3,
12 Postnandwrites = 1<<0, /* force nand reg. writes to be posted */
14 /* indices of cscfg[].cfg[] */
15 Csctl = 1 - 1, /* chip-select signal ctl */
16 Csmap = 7 - 1, /* chip-select addr map cfg */
20 Devtypemask = MASK(2) << 10,
22 Devtypenand = 2 << 10,
23 Devsizemask = 1 << 12,
31 MB16 = 017 << 8, /* 16MB size */
32 MB128 = 010 << 8, /* 128MB size */
35 typedef struct Gpmc Gpmc;
36 typedef struct Gpmccs Gpmccs;
39 * configuration for non-dram (e.g., flash) memory
41 struct Gpmc { /* hw registers */
47 uchar _pad1[0x40 - 0x20];
54 uchar _pad2[0x60 - 0x58];
56 /* chip-select config */
76 uchar _pad3[0x240 - 0x224];
80 uchar _pad4[0x2d0 - 0x2c0];