spi_st             70 drivers/spi/spi-st-ssc4.c static void ssc_write_tx_fifo(struct spi_st *spi_st)
spi_st             75 drivers/spi/spi-st-ssc4.c 	if (spi_st->words_remaining > FIFO_SIZE)
spi_st             78 drivers/spi/spi-st-ssc4.c 		count = spi_st->words_remaining;
spi_st             81 drivers/spi/spi-st-ssc4.c 		if (spi_st->tx_ptr) {
spi_st             82 drivers/spi/spi-st-ssc4.c 			if (spi_st->bytes_per_word == 1) {
spi_st             83 drivers/spi/spi-st-ssc4.c 				word = *spi_st->tx_ptr++;
spi_st             85 drivers/spi/spi-st-ssc4.c 				word = *spi_st->tx_ptr++;
spi_st             86 drivers/spi/spi-st-ssc4.c 				word = *spi_st->tx_ptr++ | (word << 8);
spi_st             89 drivers/spi/spi-st-ssc4.c 		writel_relaxed(word, spi_st->base + SSC_TBUF);
spi_st             94 drivers/spi/spi-st-ssc4.c static void ssc_read_rx_fifo(struct spi_st *spi_st)
spi_st             99 drivers/spi/spi-st-ssc4.c 	if (spi_st->words_remaining > FIFO_SIZE)
spi_st            102 drivers/spi/spi-st-ssc4.c 		count = spi_st->words_remaining;
spi_st            105 drivers/spi/spi-st-ssc4.c 		word = readl_relaxed(spi_st->base + SSC_RBUF);
spi_st            107 drivers/spi/spi-st-ssc4.c 		if (spi_st->rx_ptr) {
spi_st            108 drivers/spi/spi-st-ssc4.c 			if (spi_st->bytes_per_word == 1) {
spi_st            109 drivers/spi/spi-st-ssc4.c 				*spi_st->rx_ptr++ = (uint8_t)word;
spi_st            111 drivers/spi/spi-st-ssc4.c 				*spi_st->rx_ptr++ = (word >> 8);
spi_st            112 drivers/spi/spi-st-ssc4.c 				*spi_st->rx_ptr++ = word & 0xff;
spi_st            116 drivers/spi/spi-st-ssc4.c 	spi_st->words_remaining -= count;
spi_st            122 drivers/spi/spi-st-ssc4.c 	struct spi_st *spi_st = spi_master_get_devdata(master);
spi_st            126 drivers/spi/spi-st-ssc4.c 	spi_st->tx_ptr = t->tx_buf;
spi_st            127 drivers/spi/spi-st-ssc4.c 	spi_st->rx_ptr = t->rx_buf;
spi_st            134 drivers/spi/spi-st-ssc4.c 		spi_st->bytes_per_word = 2;
spi_st            135 drivers/spi/spi-st-ssc4.c 		spi_st->words_remaining = t->len / 2;
spi_st            142 drivers/spi/spi-st-ssc4.c 		spi_st->bytes_per_word = 2;
spi_st            143 drivers/spi/spi-st-ssc4.c 		spi_st->words_remaining = t->len / 2;
spi_st            146 drivers/spi/spi-st-ssc4.c 		ctl = readl_relaxed(spi_st->base + SSC_CTL);
spi_st            147 drivers/spi/spi-st-ssc4.c 		writel_relaxed((ctl | 0xf), spi_st->base + SSC_CTL);
spi_st            149 drivers/spi/spi-st-ssc4.c 		readl_relaxed(spi_st->base + SSC_RBUF);
spi_st            152 drivers/spi/spi-st-ssc4.c 		spi_st->bytes_per_word = 1;
spi_st            153 drivers/spi/spi-st-ssc4.c 		spi_st->words_remaining = t->len;
spi_st            156 drivers/spi/spi-st-ssc4.c 	reinit_completion(&spi_st->done);
spi_st            159 drivers/spi/spi-st-ssc4.c 	ssc_write_tx_fifo(spi_st);
spi_st            160 drivers/spi/spi-st-ssc4.c 	writel_relaxed(SSC_IEN_TEEN, spi_st->base + SSC_IEN);
spi_st            163 drivers/spi/spi-st-ssc4.c 	wait_for_completion(&spi_st->done);
spi_st            167 drivers/spi/spi-st-ssc4.c 		writel_relaxed(ctl, spi_st->base + SSC_CTL);
spi_st            183 drivers/spi/spi-st-ssc4.c 	struct spi_st *spi_st = spi_master_get_devdata(spi->master);
spi_st            209 drivers/spi/spi-st-ssc4.c 	spi_st_clk = clk_get_rate(spi_st->clk);
spi_st            220 drivers/spi/spi-st-ssc4.c 	spi_st->baud = spi_st_clk / (2 * sscbrg);
spi_st            224 drivers/spi/spi-st-ssc4.c 	writel_relaxed(sscbrg, spi_st->base + SSC_BRG);
spi_st            228 drivers/spi/spi-st-ssc4.c 		hz, spi_st->baud, sscbrg);
spi_st            231 drivers/spi/spi-st-ssc4.c 	var = readl_relaxed(spi_st->base + SSC_CTL);
spi_st            260 drivers/spi/spi-st-ssc4.c 	writel_relaxed(var, spi_st->base + SSC_CTL);
spi_st            263 drivers/spi/spi-st-ssc4.c 	readl_relaxed(spi_st->base + SSC_RBUF);
spi_st            275 drivers/spi/spi-st-ssc4.c 	struct spi_st *spi_st = (struct spi_st *)dev_id;
spi_st            278 drivers/spi/spi-st-ssc4.c 	ssc_read_rx_fifo(spi_st);
spi_st            281 drivers/spi/spi-st-ssc4.c 	if (spi_st->words_remaining) {
spi_st            282 drivers/spi/spi-st-ssc4.c 		ssc_write_tx_fifo(spi_st);
spi_st            285 drivers/spi/spi-st-ssc4.c 		writel_relaxed(0x0, spi_st->base + SSC_IEN);
spi_st            290 drivers/spi/spi-st-ssc4.c 		readl(spi_st->base + SSC_IEN);
spi_st            291 drivers/spi/spi-st-ssc4.c 		complete(&spi_st->done);
spi_st            301 drivers/spi/spi-st-ssc4.c 	struct spi_st *spi_st;
spi_st            305 drivers/spi/spi-st-ssc4.c 	master = spi_alloc_master(&pdev->dev, sizeof(*spi_st));
spi_st            317 drivers/spi/spi-st-ssc4.c 	spi_st				= spi_master_get_devdata(master);
spi_st            319 drivers/spi/spi-st-ssc4.c 	spi_st->clk = devm_clk_get(&pdev->dev, "ssc");
spi_st            320 drivers/spi/spi-st-ssc4.c 	if (IS_ERR(spi_st->clk)) {
spi_st            322 drivers/spi/spi-st-ssc4.c 		ret = PTR_ERR(spi_st->clk);
spi_st            326 drivers/spi/spi-st-ssc4.c 	ret = clk_prepare_enable(spi_st->clk);
spi_st            330 drivers/spi/spi-st-ssc4.c 	init_completion(&spi_st->done);
spi_st            333 drivers/spi/spi-st-ssc4.c 	spi_st->base = devm_platform_ioremap_resource(pdev, 0);
spi_st            334 drivers/spi/spi-st-ssc4.c 	if (IS_ERR(spi_st->base)) {
spi_st            335 drivers/spi/spi-st-ssc4.c 		ret = PTR_ERR(spi_st->base);
spi_st            340 drivers/spi/spi-st-ssc4.c 	writel_relaxed(0x0, spi_st->base + SSC_I2C);
spi_st            341 drivers/spi/spi-st-ssc4.c 	var = readw_relaxed(spi_st->base + SSC_CTL);
spi_st            343 drivers/spi/spi-st-ssc4.c 	writel_relaxed(var, spi_st->base + SSC_CTL);
spi_st            346 drivers/spi/spi-st-ssc4.c 	var = readl_relaxed(spi_st->base + SSC_CTL);
spi_st            348 drivers/spi/spi-st-ssc4.c 	writel_relaxed(var, spi_st->base + SSC_CTL);
spi_st            351 drivers/spi/spi-st-ssc4.c 	var = readl_relaxed(spi_st->base + SSC_CTL);
spi_st            353 drivers/spi/spi-st-ssc4.c 	writel_relaxed(var, spi_st->base + SSC_CTL);
spi_st            363 drivers/spi/spi-st-ssc4.c 			       pdev->name, spi_st);
spi_st            385 drivers/spi/spi-st-ssc4.c 	clk_disable_unprepare(spi_st->clk);
spi_st            394 drivers/spi/spi-st-ssc4.c 	struct spi_st *spi_st = spi_master_get_devdata(master);
spi_st            398 drivers/spi/spi-st-ssc4.c 	clk_disable_unprepare(spi_st->clk);
spi_st            409 drivers/spi/spi-st-ssc4.c 	struct spi_st *spi_st = spi_master_get_devdata(master);
spi_st            411 drivers/spi/spi-st-ssc4.c 	writel_relaxed(0, spi_st->base + SSC_IEN);
spi_st            414 drivers/spi/spi-st-ssc4.c 	clk_disable_unprepare(spi_st->clk);
spi_st            422 drivers/spi/spi-st-ssc4.c 	struct spi_st *spi_st = spi_master_get_devdata(master);
spi_st            425 drivers/spi/spi-st-ssc4.c 	ret = clk_prepare_enable(spi_st->clk);