Lines Matching refs:config

80 	int (*config)(struct spi_imx_data *, struct spi_imx_config *);  member
312 struct spi_imx_config *config) in mx51_ecspi_config() argument
316 u32 clk = config->speed_hz, delay; in mx51_ecspi_config()
328 ctrl |= mx51_ecspi_clkdiv(spi_imx->spi_clk, config->speed_hz, &clk); in mx51_ecspi_config()
331 ctrl |= MX51_ECSPI_CTRL_CS(config->cs); in mx51_ecspi_config()
333 ctrl |= (config->bpw - 1) << MX51_ECSPI_CTRL_BL_OFFSET; in mx51_ecspi_config()
335 cfg |= MX51_ECSPI_CONFIG_SBBCTRL(config->cs); in mx51_ecspi_config()
337 if (config->mode & SPI_CPHA) in mx51_ecspi_config()
338 cfg |= MX51_ECSPI_CONFIG_SCLKPHA(config->cs); in mx51_ecspi_config()
340 cfg &= ~MX51_ECSPI_CONFIG_SCLKPHA(config->cs); in mx51_ecspi_config()
342 if (config->mode & SPI_CPOL) { in mx51_ecspi_config()
343 cfg |= MX51_ECSPI_CONFIG_SCLKPOL(config->cs); in mx51_ecspi_config()
344 cfg |= MX51_ECSPI_CONFIG_SCLKCTL(config->cs); in mx51_ecspi_config()
346 cfg &= ~MX51_ECSPI_CONFIG_SCLKPOL(config->cs); in mx51_ecspi_config()
347 cfg &= ~MX51_ECSPI_CONFIG_SCLKCTL(config->cs); in mx51_ecspi_config()
349 if (config->mode & SPI_CS_HIGH) in mx51_ecspi_config()
350 cfg |= MX51_ECSPI_CONFIG_SSBPOL(config->cs); in mx51_ecspi_config()
352 cfg &= ~MX51_ECSPI_CONFIG_SSBPOL(config->cs); in mx51_ecspi_config()
456 struct spi_imx_config *config) in mx31_config() argument
459 int cs = spi_imx->chipselect[config->cs]; in mx31_config()
461 reg |= spi_imx_clkdiv_2(spi_imx->spi_clk, config->speed_hz) << in mx31_config()
465 reg |= (config->bpw - 1) << MX35_CSPICTRL_BL_SHIFT; in mx31_config()
468 reg |= (config->bpw - 1) << MX31_CSPICTRL_BC_SHIFT; in mx31_config()
471 if (config->mode & SPI_CPHA) in mx31_config()
473 if (config->mode & SPI_CPOL) in mx31_config()
475 if (config->mode & SPI_CS_HIGH) in mx31_config()
534 struct spi_imx_config *config) in mx21_config() argument
537 int cs = spi_imx->chipselect[config->cs]; in mx21_config()
540 reg |= spi_imx_clkdiv_1(spi_imx->spi_clk, config->speed_hz, max) << in mx21_config()
542 reg |= config->bpw - 1; in mx21_config()
544 if (config->mode & SPI_CPHA) in mx21_config()
546 if (config->mode & SPI_CPOL) in mx21_config()
548 if (config->mode & SPI_CS_HIGH) in mx21_config()
601 struct spi_imx_config *config) in mx1_config() argument
605 reg |= spi_imx_clkdiv_2(spi_imx->spi_clk, config->speed_hz) << in mx1_config()
607 reg |= config->bpw - 1; in mx1_config()
609 if (config->mode & SPI_CPHA) in mx1_config()
611 if (config->mode & SPI_CPOL) in mx1_config()
631 .config = mx1_config,
640 .config = mx21_config,
650 .config = mx21_config,
659 .config = mx31_config,
669 .config = mx31_config,
678 .config = mx51_ecspi_config,
778 struct spi_imx_config config; in spi_imx_setupxfer() local
780 config.bpw = t ? t->bits_per_word : spi->bits_per_word; in spi_imx_setupxfer()
781 config.speed_hz = t ? t->speed_hz : spi->max_speed_hz; in spi_imx_setupxfer()
782 config.mode = spi->mode; in spi_imx_setupxfer()
783 config.cs = spi->chip_select; in spi_imx_setupxfer()
785 if (!config.speed_hz) in spi_imx_setupxfer()
786 config.speed_hz = spi->max_speed_hz; in spi_imx_setupxfer()
787 if (!config.bpw) in spi_imx_setupxfer()
788 config.bpw = spi->bits_per_word; in spi_imx_setupxfer()
791 if (config.bpw <= 8) { in spi_imx_setupxfer()
794 } else if (config.bpw <= 16) { in spi_imx_setupxfer()
802 spi_imx->devtype_data->config(spi_imx, &config); in spi_imx_setupxfer()