Lines Matching refs:f_pdata

82 	struct cqspi_flash_pdata f_pdata[CQSPI_MAX_CHIPSELECT];
280 static unsigned int cqspi_calc_rdreg(struct cqspi_flash_pdata *f_pdata)
284 rdreg |= f_pdata->inst_width << CQSPI_REG_RD_INSTR_TYPE_INSTR_LSB;
285 rdreg |= f_pdata->addr_width << CQSPI_REG_RD_INSTR_TYPE_ADDR_LSB;
286 rdreg |= f_pdata->data_width << CQSPI_REG_RD_INSTR_TYPE_DATA_LSB;
348 static int cqspi_command_read(struct cqspi_flash_pdata *f_pdata,
351 struct cqspi_st *cqspi = f_pdata->cqspi;
370 rdreg = cqspi_calc_rdreg(f_pdata);
399 static int cqspi_command_write(struct cqspi_flash_pdata *f_pdata,
402 struct cqspi_st *cqspi = f_pdata->cqspi;
450 static int cqspi_read_setup(struct cqspi_flash_pdata *f_pdata,
453 struct cqspi_st *cqspi = f_pdata->cqspi;
459 reg |= cqspi_calc_rdreg(f_pdata);
480 static int cqspi_indirect_read_execute(struct cqspi_flash_pdata *f_pdata,
484 struct cqspi_st *cqspi = f_pdata->cqspi;
572 static int cqspi_write_setup(struct cqspi_flash_pdata *f_pdata,
576 struct cqspi_st *cqspi = f_pdata->cqspi;
582 reg = cqspi_calc_rdreg(f_pdata);
592 static int cqspi_indirect_write_execute(struct cqspi_flash_pdata *f_pdata,
596 struct cqspi_st *cqspi = f_pdata->cqspi;
684 static void cqspi_chipselect(struct cqspi_flash_pdata *f_pdata)
686 struct cqspi_st *cqspi = f_pdata->cqspi;
688 unsigned int chip_select = f_pdata->cs;
724 static void cqspi_delay(struct cqspi_flash_pdata *f_pdata)
726 struct cqspi_st *cqspi = f_pdata->cqspi;
736 tshsl = calculate_ticks_for_ns(ref_clk_hz, f_pdata->tshsl_ns);
741 tchsh = calculate_ticks_for_ns(ref_clk_hz, f_pdata->tchsh_ns);
742 tslch = calculate_ticks_for_ns(ref_clk_hz, f_pdata->tslch_ns);
743 tsd2d = calculate_ticks_for_ns(ref_clk_hz, f_pdata->tsd2d_ns);
809 static void cqspi_configure(struct cqspi_flash_pdata *f_pdata,
812 struct cqspi_st *cqspi = f_pdata->cqspi;
813 int switch_cs = (cqspi->current_cs != f_pdata->cs);
821 cqspi->current_cs = f_pdata->cs;
822 cqspi_chipselect(f_pdata);
829 cqspi_delay(f_pdata);
831 f_pdata->read_delay);
838 static int cqspi_set_protocol(struct cqspi_flash_pdata *f_pdata,
841 f_pdata->inst_width = CQSPI_INST_TYPE_SINGLE;
842 f_pdata->addr_width = CQSPI_INST_TYPE_SINGLE;
843 f_pdata->data_width = CQSPI_INST_TYPE_SINGLE;
848 f_pdata->data_width = CQSPI_INST_TYPE_SINGLE;
851 f_pdata->data_width = CQSPI_INST_TYPE_DUAL;
854 f_pdata->data_width = CQSPI_INST_TYPE_QUAD;
857 f_pdata->data_width = CQSPI_INST_TYPE_OCTAL;
867 static ssize_t cqspi_write(struct cqspi_flash_pdata *f_pdata,
870 struct cqspi_st *cqspi = f_pdata->cqspi;
876 ret = cqspi_set_protocol(f_pdata, op);
880 ret = cqspi_write_setup(f_pdata, op);
889 return cqspi_indirect_write_execute(f_pdata, to, buf, len);
899 static int cqspi_direct_read_execute(struct cqspi_flash_pdata *f_pdata,
902 struct cqspi_st *cqspi = f_pdata->cqspi;
958 static ssize_t cqspi_read(struct cqspi_flash_pdata *f_pdata,
961 struct cqspi_st *cqspi = f_pdata->cqspi;
967 ret = cqspi_set_protocol(f_pdata, op);
971 ret = cqspi_read_setup(f_pdata, op);
976 return cqspi_direct_read_execute(f_pdata, buf, from, len);
978 return cqspi_indirect_read_execute(f_pdata, buf, from, len);
984 struct cqspi_flash_pdata *f_pdata;
986 f_pdata = &cqspi->f_pdata[mem->spi->chip_select];
987 cqspi_configure(f_pdata, mem->spi->max_speed_hz);
991 return cqspi_command_read(f_pdata, op);
993 return cqspi_read(f_pdata, op);
997 return cqspi_command_write(f_pdata, op);
999 return cqspi_write(f_pdata, op);
1014 struct cqspi_flash_pdata *f_pdata,
1017 if (of_property_read_u32(np, "cdns,read-delay", &f_pdata->read_delay)) {
1022 if (of_property_read_u32(np, "cdns,tshsl-ns", &f_pdata->tshsl_ns)) {
1027 if (of_property_read_u32(np, "cdns,tsd2d-ns", &f_pdata->tsd2d_ns)) {
1032 if (of_property_read_u32(np, "cdns,tchsh-ns", &f_pdata->tchsh_ns)) {
1037 if (of_property_read_u32(np, "cdns,tslch-ns", &f_pdata->tslch_ns)) {
1042 if (of_property_read_u32(np, "spi-max-frequency", &f_pdata->clk_rate)) {
1148 struct cqspi_flash_pdata *f_pdata;
1165 f_pdata = &cqspi->f_pdata[cs];
1166 f_pdata->cqspi = cqspi;
1167 f_pdata->cs = cs;
1169 ret = cqspi_of_get_flash_pdata(pdev, f_pdata, np);