• Home
  • Raw
  • Download

Lines Matching full:cmd

61 static int wilc_sdio_cmd52(struct wilc *wilc, struct sdio_cmd52 *cmd)  in wilc_sdio_cmd52()  argument
69 func->num = cmd->function; in wilc_sdio_cmd52()
70 if (cmd->read_write) { /* write */ in wilc_sdio_cmd52()
71 if (cmd->raw) { in wilc_sdio_cmd52()
72 sdio_writeb(func, cmd->data, cmd->address, &ret); in wilc_sdio_cmd52()
73 data = sdio_readb(func, cmd->address, &ret); in wilc_sdio_cmd52()
74 cmd->data = data; in wilc_sdio_cmd52()
76 sdio_writeb(func, cmd->data, cmd->address, &ret); in wilc_sdio_cmd52()
79 data = sdio_readb(func, cmd->address, &ret); in wilc_sdio_cmd52()
80 cmd->data = data; in wilc_sdio_cmd52()
90 static int wilc_sdio_cmd53(struct wilc *wilc, struct sdio_cmd53 *cmd) in wilc_sdio_cmd53() argument
97 func->num = cmd->function; in wilc_sdio_cmd53()
98 func->cur_blksize = cmd->block_size; in wilc_sdio_cmd53()
99 if (cmd->block_mode) in wilc_sdio_cmd53()
100 size = cmd->count * cmd->block_size; in wilc_sdio_cmd53()
102 size = cmd->count; in wilc_sdio_cmd53()
104 if (cmd->read_write) { /* write */ in wilc_sdio_cmd53()
105 ret = sdio_memcpy_toio(func, cmd->address, in wilc_sdio_cmd53()
106 (void *)cmd->buffer, size); in wilc_sdio_cmd53()
108 ret = sdio_memcpy_fromio(func, (void *)cmd->buffer, in wilc_sdio_cmd53()
109 cmd->address, size); in wilc_sdio_cmd53()
175 struct sdio_cmd52 cmd; in wilc_sdio_reset() local
179 cmd.read_write = 1; in wilc_sdio_reset()
180 cmd.function = 0; in wilc_sdio_reset()
181 cmd.raw = 0; in wilc_sdio_reset()
182 cmd.address = SDIO_CCCR_ABORT; in wilc_sdio_reset()
183 cmd.data = WILC_SDIO_CCCR_ABORT_RESET; in wilc_sdio_reset()
184 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_reset()
186 dev_err(&func->dev, "Fail cmd 52, reset cmd ...\n"); in wilc_sdio_reset()
256 struct sdio_cmd52 cmd; in wilc_sdio_set_func0_csa_address() local
262 cmd.read_write = 1; in wilc_sdio_set_func0_csa_address()
263 cmd.function = 0; in wilc_sdio_set_func0_csa_address()
264 cmd.raw = 0; in wilc_sdio_set_func0_csa_address()
265 cmd.address = WILC_SDIO_FBR_CSA_REG; in wilc_sdio_set_func0_csa_address()
266 cmd.data = (u8)adr; in wilc_sdio_set_func0_csa_address()
267 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_set_func0_csa_address()
270 cmd.address); in wilc_sdio_set_func0_csa_address()
274 cmd.address = WILC_SDIO_FBR_CSA_REG + 1; in wilc_sdio_set_func0_csa_address()
275 cmd.data = (u8)(adr >> 8); in wilc_sdio_set_func0_csa_address()
276 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_set_func0_csa_address()
279 cmd.address); in wilc_sdio_set_func0_csa_address()
283 cmd.address = WILC_SDIO_FBR_CSA_REG + 2; in wilc_sdio_set_func0_csa_address()
284 cmd.data = (u8)(adr >> 16); in wilc_sdio_set_func0_csa_address()
285 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_set_func0_csa_address()
288 cmd.address); in wilc_sdio_set_func0_csa_address()
299 struct sdio_cmd52 cmd; in wilc_sdio_set_block_size() local
302 cmd.read_write = 1; in wilc_sdio_set_block_size()
303 cmd.function = 0; in wilc_sdio_set_block_size()
304 cmd.raw = 0; in wilc_sdio_set_block_size()
305 cmd.address = SDIO_FBR_BASE(func_num) + SDIO_CCCR_BLKSIZE; in wilc_sdio_set_block_size()
306 cmd.data = (u8)block_size; in wilc_sdio_set_block_size()
307 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_set_block_size()
310 cmd.address); in wilc_sdio_set_block_size()
314 cmd.address = SDIO_FBR_BASE(func_num) + SDIO_CCCR_BLKSIZE + 1; in wilc_sdio_set_block_size()
315 cmd.data = (u8)(block_size >> 8); in wilc_sdio_set_block_size()
316 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_set_block_size()
319 cmd.address); in wilc_sdio_set_block_size()
340 struct sdio_cmd52 cmd; in wilc_sdio_write_reg() local
342 cmd.read_write = 1; in wilc_sdio_write_reg()
343 cmd.function = 0; in wilc_sdio_write_reg()
344 cmd.raw = 0; in wilc_sdio_write_reg()
345 cmd.address = addr; in wilc_sdio_write_reg()
346 cmd.data = data; in wilc_sdio_write_reg()
347 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_write_reg()
350 "Failed cmd 52, read reg (%08x) ...\n", addr); in wilc_sdio_write_reg()
352 struct sdio_cmd53 cmd; in wilc_sdio_write_reg() local
361 cmd.read_write = 1; in wilc_sdio_write_reg()
362 cmd.function = 0; in wilc_sdio_write_reg()
363 cmd.address = WILC_SDIO_FBR_DATA_REG; in wilc_sdio_write_reg()
364 cmd.block_mode = 0; in wilc_sdio_write_reg()
365 cmd.increment = 1; in wilc_sdio_write_reg()
366 cmd.count = 4; in wilc_sdio_write_reg()
367 cmd.buffer = (u8 *)&data; in wilc_sdio_write_reg()
368 cmd.block_size = sdio_priv->block_size; in wilc_sdio_write_reg()
369 ret = wilc_sdio_cmd53(wilc, &cmd); in wilc_sdio_write_reg()
383 struct sdio_cmd53 cmd; in wilc_sdio_write() local
386 cmd.read_write = 1; in wilc_sdio_write()
391 cmd.function = 0; in wilc_sdio_write()
392 cmd.address = WILC_SDIO_FBR_DATA_REG; in wilc_sdio_write()
397 cmd.function = 1; in wilc_sdio_write()
398 cmd.address = WILC_SDIO_F1_DATA_REG; in wilc_sdio_write()
406 cmd.block_mode = 1; in wilc_sdio_write()
407 cmd.increment = 1; in wilc_sdio_write()
408 cmd.count = nblk; in wilc_sdio_write()
409 cmd.buffer = buf; in wilc_sdio_write()
410 cmd.block_size = block_size; in wilc_sdio_write()
416 ret = wilc_sdio_cmd53(wilc, &cmd); in wilc_sdio_write()
428 cmd.block_mode = 0; in wilc_sdio_write()
429 cmd.increment = 1; in wilc_sdio_write()
430 cmd.count = nleft; in wilc_sdio_write()
431 cmd.buffer = buf; in wilc_sdio_write()
433 cmd.block_size = block_size; in wilc_sdio_write()
440 ret = wilc_sdio_cmd53(wilc, &cmd); in wilc_sdio_write()
458 struct sdio_cmd52 cmd; in wilc_sdio_read_reg() local
460 cmd.read_write = 0; in wilc_sdio_read_reg()
461 cmd.function = 0; in wilc_sdio_read_reg()
462 cmd.raw = 0; in wilc_sdio_read_reg()
463 cmd.address = addr; in wilc_sdio_read_reg()
464 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_read_reg()
467 "Failed cmd 52, read reg (%08x) ...\n", addr); in wilc_sdio_read_reg()
470 *data = cmd.data; in wilc_sdio_read_reg()
472 struct sdio_cmd53 cmd; in wilc_sdio_read_reg() local
478 cmd.read_write = 0; in wilc_sdio_read_reg()
479 cmd.function = 0; in wilc_sdio_read_reg()
480 cmd.address = WILC_SDIO_FBR_DATA_REG; in wilc_sdio_read_reg()
481 cmd.block_mode = 0; in wilc_sdio_read_reg()
482 cmd.increment = 1; in wilc_sdio_read_reg()
483 cmd.count = 4; in wilc_sdio_read_reg()
484 cmd.buffer = (u8 *)data; in wilc_sdio_read_reg()
486 cmd.block_size = sdio_priv->block_size; in wilc_sdio_read_reg()
487 ret = wilc_sdio_cmd53(wilc, &cmd); in wilc_sdio_read_reg()
504 struct sdio_cmd53 cmd; in wilc_sdio_read() local
507 cmd.read_write = 0; in wilc_sdio_read()
512 cmd.function = 0; in wilc_sdio_read()
513 cmd.address = WILC_SDIO_FBR_DATA_REG; in wilc_sdio_read()
518 cmd.function = 1; in wilc_sdio_read()
519 cmd.address = WILC_SDIO_F1_DATA_REG; in wilc_sdio_read()
527 cmd.block_mode = 1; in wilc_sdio_read()
528 cmd.increment = 1; in wilc_sdio_read()
529 cmd.count = nblk; in wilc_sdio_read()
530 cmd.buffer = buf; in wilc_sdio_read()
531 cmd.block_size = block_size; in wilc_sdio_read()
537 ret = wilc_sdio_cmd53(wilc, &cmd); in wilc_sdio_read()
549 cmd.block_mode = 0; in wilc_sdio_read()
550 cmd.increment = 1; in wilc_sdio_read()
551 cmd.count = nleft; in wilc_sdio_read()
552 cmd.buffer = buf; in wilc_sdio_read()
554 cmd.block_size = block_size; in wilc_sdio_read()
561 ret = wilc_sdio_cmd53(wilc, &cmd); in wilc_sdio_read()
587 struct sdio_cmd52 cmd; in wilc_sdio_init() local
594 cmd.read_write = 1; in wilc_sdio_init()
595 cmd.function = 0; in wilc_sdio_init()
596 cmd.raw = 1; in wilc_sdio_init()
597 cmd.address = SDIO_FBR_BASE(func->num); in wilc_sdio_init()
598 cmd.data = SDIO_FBR_ENABLE_CSA; in wilc_sdio_init()
599 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_init()
601 dev_err(&func->dev, "Fail cmd 52, enable csa...\n"); in wilc_sdio_init()
610 dev_err(&func->dev, "Fail cmd 52, set func 0 block size...\n"); in wilc_sdio_init()
618 cmd.read_write = 1; in wilc_sdio_init()
619 cmd.function = 0; in wilc_sdio_init()
620 cmd.raw = 1; in wilc_sdio_init()
621 cmd.address = SDIO_CCCR_IOEx; in wilc_sdio_init()
622 cmd.data = WILC_SDIO_CCCR_IO_EN_FUNC1; in wilc_sdio_init()
623 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_init()
626 "Fail cmd 52, set IOE register...\n"); in wilc_sdio_init()
633 cmd.read_write = 0; in wilc_sdio_init()
634 cmd.function = 0; in wilc_sdio_init()
635 cmd.raw = 0; in wilc_sdio_init()
636 cmd.address = SDIO_CCCR_IORx; in wilc_sdio_init()
639 cmd.data = 0; in wilc_sdio_init()
640 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_init()
643 "Fail cmd 52, get IOR register...\n"); in wilc_sdio_init()
646 if (cmd.data == WILC_SDIO_CCCR_IO_EN_FUNC1) in wilc_sdio_init()
667 cmd.read_write = 1; in wilc_sdio_init()
668 cmd.function = 0; in wilc_sdio_init()
669 cmd.raw = 1; in wilc_sdio_init()
670 cmd.address = SDIO_CCCR_IENx; in wilc_sdio_init()
671 cmd.data = WILC_SDIO_CCCR_IEN_MASTER | WILC_SDIO_CCCR_IEN_FUNC1; in wilc_sdio_init()
672 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_init()
674 dev_err(&func->dev, "Fail cmd 52, set IEN register...\n"); in wilc_sdio_init()
686 dev_err(&func->dev, "Fail cmd read chip id...\n"); in wilc_sdio_init()
705 struct sdio_cmd52 cmd; in wilc_sdio_read_size() local
710 cmd.read_write = 0; in wilc_sdio_read_size()
711 cmd.function = 0; in wilc_sdio_read_size()
712 cmd.raw = 0; in wilc_sdio_read_size()
713 cmd.address = WILC_SDIO_INTERRUPT_DATA_SZ_REG; in wilc_sdio_read_size()
714 cmd.data = 0; in wilc_sdio_read_size()
715 wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_read_size()
716 tmp = cmd.data; in wilc_sdio_read_size()
718 cmd.address = WILC_SDIO_INTERRUPT_DATA_SZ_REG + 1; in wilc_sdio_read_size()
719 cmd.data = 0; in wilc_sdio_read_size()
720 wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_read_size()
721 tmp |= (cmd.data << 8); in wilc_sdio_read_size()
733 struct sdio_cmd52 cmd; in wilc_sdio_read_int() local
741 cmd.function = 1; in wilc_sdio_read_int()
742 cmd.address = WILC_SDIO_EXT_IRQ_FLAG_REG; in wilc_sdio_read_int()
744 cmd.function = 0; in wilc_sdio_read_int()
745 cmd.address = WILC_SDIO_IRQ_FLAG_REG; in wilc_sdio_read_int()
747 cmd.raw = 0; in wilc_sdio_read_int()
748 cmd.read_write = 0; in wilc_sdio_read_int()
749 cmd.data = 0; in wilc_sdio_read_int()
750 wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_read_int()
751 irq_flags = cmd.data; in wilc_sdio_read_int()
752 tmp |= FIELD_PREP(IRG_FLAGS_MASK, cmd.data); in wilc_sdio_read_int()
786 struct sdio_cmd52 cmd; in wilc_sdio_clear_int_ext() local
788 cmd.read_write = 1; in wilc_sdio_clear_int_ext()
789 cmd.function = 0; in wilc_sdio_clear_int_ext()
790 cmd.raw = 0; in wilc_sdio_clear_int_ext()
791 cmd.address = WILC_SDIO_IRQ_CLEAR_FLAG_REG; in wilc_sdio_clear_int_ext()
792 cmd.data = reg; in wilc_sdio_clear_int_ext()
794 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_clear_int_ext()
798 cmd.address, __LINE__); in wilc_sdio_clear_int_ext()
816 struct sdio_cmd52 cmd; in wilc_sdio_clear_int_ext() local
818 cmd.read_write = 1; in wilc_sdio_clear_int_ext()
819 cmd.function = 0; in wilc_sdio_clear_int_ext()
820 cmd.raw = 0; in wilc_sdio_clear_int_ext()
821 cmd.address = WILC_SDIO_IRQ_CLEAR_FLAG_REG; in wilc_sdio_clear_int_ext()
822 cmd.data = BIT(i); in wilc_sdio_clear_int_ext()
824 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_clear_int_ext()
828 cmd.address, __LINE__); in wilc_sdio_clear_int_ext()
857 struct sdio_cmd52 cmd; in wilc_sdio_clear_int_ext() local
859 cmd.read_write = 1; in wilc_sdio_clear_int_ext()
860 cmd.function = 0; in wilc_sdio_clear_int_ext()
861 cmd.raw = 0; in wilc_sdio_clear_int_ext()
862 cmd.address = WILC_SDIO_VMM_TBL_CTRL_REG; in wilc_sdio_clear_int_ext()
863 cmd.data = vmm_ctl; in wilc_sdio_clear_int_ext()
864 ret = wilc_sdio_cmd52(wilc, &cmd); in wilc_sdio_clear_int_ext()
868 cmd.address, __LINE__); in wilc_sdio_clear_int_ext()