Lines Matching +full:0 +full:x800

11  *   mtd-id for command line partitioning is cs553x_nand_cs[0-3]
12 * where 0-3 reflects the chip select for NAND.
29 #define MSR_DIVIL_GLD_CAP 0x51400000 /* DIVIL capabilities */
30 #define CAP_CS5535 0x2df000ULL
31 #define CAP_CS5536 0x5df500ULL
34 #define MSR_NANDF_DATA 0x5140001b /* NAND Flash Data Timing MSR */
35 #define MSR_NANDF_CTL 0x5140001c /* NAND Flash Control Timing */
36 #define MSR_NANDF_RSVD 0x5140001d /* Reserved */
39 #define MSR_DIVIL_LBAR_FLSH0 0x51400010 /* Flash Chip Select 0 */
40 #define MSR_DIVIL_LBAR_FLSH1 0x51400011 /* Flash Chip Select 1 */
41 #define MSR_DIVIL_LBAR_FLSH2 0x51400012 /* Flash Chip Select 2 */
42 #define MSR_DIVIL_LBAR_FLSH3 0x51400013 /* Flash Chip Select 3 */
51 #define MSR_DIVIL_BALL_OPTS 0x51400015
52 #define PIN_OPT_IDE (1<<0) /* 0 for flash, 1 for IDE */
55 #define MM_NAND_DATA 0x00 /* 0 to 0x7ff, in fact */
56 #define MM_NAND_CTL 0x800 /* Any even address 0x800-0x80e */
57 #define MM_NAND_IO 0x801 /* Any odd address 0x801-0x80f */
58 #define MM_NAND_STS 0x810
59 #define MM_NAND_ECC_LSB 0x811
60 #define MM_NAND_ECC_MSB 0x812
61 #define MM_NAND_ECC_COL 0x813
62 #define MM_NAND_LAC 0x814
63 #define MM_NAND_ECC_CTL 0x815
66 #define IO_NAND_DATA 0x00 /* 0 to 3, in fact */
67 #define IO_NAND_CTL 0x04
68 #define IO_NAND_IO 0x05
69 #define IO_NAND_STS 0x06
70 #define IO_NAND_ECC_CTL 0x08
71 #define IO_NAND_ECC_LSB 0x09
72 #define IO_NAND_ECC_MSB 0x0a
73 #define IO_NAND_ECC_COL 0x0b
74 #define IO_NAND_LAC 0x0c
80 #define CS_NAND_CTL_CE (1<<0) /* Keep low; 1 to reset */
85 #define CS_NAND_DIST_ST (1<<0)
89 #define CS_NAND_ECC_ENECC (1<<0)
118 writeb(0, cs553x->mmio + MM_NAND_CTL); in cs553x_data_in()
119 while (unlikely(len > 0x800)) { in cs553x_data_in()
120 memcpy_fromio(buf, cs553x->mmio, 0x800); in cs553x_data_in()
121 buf += 0x800; in cs553x_data_in()
122 len -= 0x800; in cs553x_data_in()
130 writeb(0, cs553x->mmio + MM_NAND_CTL); in cs553x_data_out()
131 while (unlikely(len > 0x800)) { in cs553x_data_out()
132 memcpy_toio(cs553x->mmio, buf, 0x800); in cs553x_data_out()
133 buf += 0x800; in cs553x_data_out()
134 len -= 0x800; in cs553x_data_out()
154 int ret = 0; in cs553x_exec_instr()
163 for (i = 0; i < instr->ctx.addr.naddrs; i++) { in cs553x_exec_instr()
204 writeb(0, cs553x->mmio + MM_NAND_CTL); in cs553x_exec_op()
205 for (i = 0; i < op->ninstrs; i++) { in cs553x_exec_op()
221 writeb(0x07, cs553x->mmio + MM_NAND_ECC_CTL); in cs_enable_hwecc()
233 ecc_code[0] = ecc >> 16; in cs_calculate_ecc()
235 return 0; in cs_calculate_ecc()
243 return 0; in cs553x_attach_chip()
252 return 0; in cs553x_attach_chip()
263 int err = 0; in cs553x_init_one()
267 pr_notice("Probing CS553x NAND controller CS#%d at %sIO 0x%08lx\n", in cs553x_init_one()
294 pr_warn("ioremap cs553x NAND @0x%08lx failed\n", adr); in cs553x_init_one()
340 return 0; in is_geode()
355 val &= ~0xFFULL; in cs553x_init()
366 for (i = 0; i < NR_CS553X_CONTROLLERS; i++) { in cs553x_init()
370 err = cs553x_init_one(i, !!(val & FLSH_MEM_IO), val & 0xFFFFFFFF); in cs553x_init()
375 for (i = 0; i < NR_CS553X_CONTROLLERS; i++) { in cs553x_init()
379 NULL, 0); in cs553x_init()
380 err = 0; in cs553x_init()
393 for (i = 0; i < NR_CS553X_CONTROLLERS; i++) { in cs553x_cleanup()