Lines Matching refs:fun
50 static void fun_wait(struct fsl_upm_nand *fun) in fun_wait() argument
52 if (fun->dev_ready) { in fun_wait()
53 while (!fun->dev_ready(fun->chip_nr)) in fun_wait()
68 struct fsl_upm_nand *fun = nand_get_controller_data(chip); in fun_select_chip() local
71 fun->chip_nr = chip_nr; in fun_select_chip()
73 fun->upm.io_addr + fun->chip_offset * chip_nr; in fun_select_chip()
83 struct fsl_upm_nand *fun = nand_get_controller_data(chip); in fun_cmd_ctrl() local
87 if (!(ctrl & fun->last_ctrl)) { in fun_cmd_ctrl()
88 fsl_upm_end_pattern(&fun->upm); in fun_cmd_ctrl()
93 fun->last_ctrl = ctrl & (NAND_ALE | NAND_CLE); in fun_cmd_ctrl()
98 fsl_upm_start_pattern(&fun->upm, fun->upm_addr_offset); in fun_cmd_ctrl()
100 fsl_upm_start_pattern(&fun->upm, fun->upm_cmd_offset); in fun_cmd_ctrl()
103 mar = cmd << (32 - fun->width); in fun_cmd_ctrl()
104 io_addr = fun->upm.io_addr; in fun_cmd_ctrl()
106 if (fun->chip_nr > 0) { in fun_cmd_ctrl()
107 io_addr += fun->chip_offset * fun->chip_nr; in fun_cmd_ctrl()
108 if (fun->upm_mar_chip_offset) in fun_cmd_ctrl()
109 mar |= fun->upm_mar_chip_offset * fun->chip_nr; in fun_cmd_ctrl()
112 fsl_upm_run_pattern(&fun->upm, fun->width, io_addr, mar); in fun_cmd_ctrl()
120 if (fun->wait_flags & FSL_UPM_WAIT_RUN_PATTERN) in fun_cmd_ctrl()
121 fun_wait(fun); in fun_cmd_ctrl()
135 struct fsl_upm_nand *fun = nand_get_controller_data(chip); in upm_nand_write_buf() local
139 if (fun->wait_flags & FSL_UPM_WAIT_WRITE_BYTE) in upm_nand_write_buf()
140 fun_wait(fun); in upm_nand_write_buf()
143 if (fun->wait_flags & FSL_UPM_WAIT_WRITE_BUFFER) in upm_nand_write_buf()
144 fun_wait(fun); in upm_nand_write_buf()
159 struct fsl_upm_nand *fun = nand_get_controller_data(chip); in nand_dev_ready() local
161 return fun->dev_ready(fun->chip_nr); in nand_dev_ready()
164 int fsl_upm_nand_init(struct nand_chip *chip, struct fsl_upm_nand *fun) in fsl_upm_nand_init() argument
166 if (fun->width != 8 && fun->width != 16 && fun->width != 32) in fsl_upm_nand_init()
169 fun->last_ctrl = NAND_CLE; in fsl_upm_nand_init()
171 nand_set_controller_data(chip, fun); in fsl_upm_nand_init()
172 chip->chip_delay = fun->chip_delay; in fsl_upm_nand_init()
181 if (fun->dev_ready) in fsl_upm_nand_init()