Lines Matching refs:f_pdata

95 	struct cqspi_flash_pdata f_pdata[CQSPI_MAX_CHIPSELECT];
108 int (*indirect_read_dma)(struct cqspi_flash_pdata *f_pdata,
444 static int cqspi_setup_opcode_ext(struct cqspi_flash_pdata *f_pdata,
448 struct cqspi_st *cqspi = f_pdata->cqspi;
467 static int cqspi_enable_dtr(struct cqspi_flash_pdata *f_pdata,
470 struct cqspi_st *cqspi = f_pdata->cqspi;
486 ret = cqspi_setup_opcode_ext(f_pdata, op, shift);
499 static int cqspi_command_read(struct cqspi_flash_pdata *f_pdata,
502 struct cqspi_st *cqspi = f_pdata->cqspi;
513 status = cqspi_enable_dtr(f_pdata, op, CQSPI_REG_OP_EXT_STIG_LSB);
582 static int cqspi_command_write(struct cqspi_flash_pdata *f_pdata,
585 struct cqspi_st *cqspi = f_pdata->cqspi;
595 ret = cqspi_enable_dtr(f_pdata, op, CQSPI_REG_OP_EXT_STIG_LSB);
651 static int cqspi_read_setup(struct cqspi_flash_pdata *f_pdata,
654 struct cqspi_st *cqspi = f_pdata->cqspi;
661 ret = cqspi_enable_dtr(f_pdata, op, CQSPI_REG_OP_EXT_READ_LSB);
693 static int cqspi_indirect_read_execute(struct cqspi_flash_pdata *f_pdata,
697 struct cqspi_st *cqspi = f_pdata->cqspi;
821 static int cqspi_versal_indirect_read_dma(struct cqspi_flash_pdata *f_pdata,
825 struct cqspi_st *cqspi = f_pdata->cqspi;
927 ret = cqspi_indirect_read_execute(f_pdata, buf, addr,
954 static int cqspi_write_setup(struct cqspi_flash_pdata *f_pdata,
959 struct cqspi_st *cqspi = f_pdata->cqspi;
963 ret = cqspi_enable_dtr(f_pdata, op, CQSPI_REG_OP_EXT_WRITE_LSB);
1010 static int cqspi_indirect_write_execute(struct cqspi_flash_pdata *f_pdata,
1014 struct cqspi_st *cqspi = f_pdata->cqspi;
1109 static void cqspi_chipselect(struct cqspi_flash_pdata *f_pdata)
1111 struct cqspi_st *cqspi = f_pdata->cqspi;
1113 unsigned int chip_select = f_pdata->cs;
1149 static void cqspi_delay(struct cqspi_flash_pdata *f_pdata)
1151 struct cqspi_st *cqspi = f_pdata->cqspi;
1161 tshsl = calculate_ticks_for_ns(ref_clk_hz, f_pdata->tshsl_ns);
1166 tchsh = calculate_ticks_for_ns(ref_clk_hz, f_pdata->tchsh_ns);
1167 tslch = calculate_ticks_for_ns(ref_clk_hz, f_pdata->tslch_ns);
1168 tsd2d = calculate_ticks_for_ns(ref_clk_hz, f_pdata->tsd2d_ns);
1227 static void cqspi_configure(struct cqspi_flash_pdata *f_pdata,
1230 struct cqspi_st *cqspi = f_pdata->cqspi;
1231 int switch_cs = (cqspi->current_cs != f_pdata->cs);
1239 cqspi->current_cs = f_pdata->cs;
1240 cqspi_chipselect(f_pdata);
1247 cqspi_delay(f_pdata);
1249 f_pdata->read_delay);
1256 static ssize_t cqspi_write(struct cqspi_flash_pdata *f_pdata,
1259 struct cqspi_st *cqspi = f_pdata->cqspi;
1265 ret = cqspi_write_setup(f_pdata, op);
1283 return cqspi_indirect_write_execute(f_pdata, to, buf, len);
1293 static int cqspi_direct_read_execute(struct cqspi_flash_pdata *f_pdata,
1296 struct cqspi_st *cqspi = f_pdata->cqspi;
1352 static ssize_t cqspi_read(struct cqspi_flash_pdata *f_pdata,
1355 struct cqspi_st *cqspi = f_pdata->cqspi;
1366 ret = cqspi_read_setup(f_pdata, op);
1371 return cqspi_direct_read_execute(f_pdata, buf, from, len);
1375 return ddata->indirect_read_dma(f_pdata, buf, from, len);
1377 return cqspi_indirect_read_execute(f_pdata, buf, from, len);
1383 struct cqspi_flash_pdata *f_pdata;
1385 f_pdata = &cqspi->f_pdata[spi_get_chipselect(mem->spi, 0)];
1386 cqspi_configure(f_pdata, mem->spi->max_speed_hz);
1396 return cqspi_command_read(f_pdata, op);
1398 return cqspi_read(f_pdata, op);
1402 return cqspi_command_write(f_pdata, op);
1404 return cqspi_write(f_pdata, op);
1452 struct cqspi_flash_pdata *f_pdata,
1455 if (of_property_read_u32(np, "cdns,read-delay", &f_pdata->read_delay)) {
1460 if (of_property_read_u32(np, "cdns,tshsl-ns", &f_pdata->tshsl_ns)) {
1465 if (of_property_read_u32(np, "cdns,tsd2d-ns", &f_pdata->tsd2d_ns)) {
1470 if (of_property_read_u32(np, "cdns,tchsh-ns", &f_pdata->tchsh_ns)) {
1475 if (of_property_read_u32(np, "cdns,tslch-ns", &f_pdata->tslch_ns)) {
1480 if (of_property_read_u32(np, "spi-max-frequency", &f_pdata->clk_rate)) {
1610 struct cqspi_flash_pdata *f_pdata;
1629 f_pdata = &cqspi->f_pdata[cs];
1630 f_pdata->cqspi = cqspi;
1631 f_pdata->cs = cs;
1633 ret = cqspi_of_get_flash_pdata(pdev, f_pdata, np);