Lines Matching refs:rbspi

29 static inline u32 rb4xx_read(struct rb4xx_spi *rbspi, u32 reg)  in rb4xx_read()  argument
31 return __raw_readl(rbspi->base + reg); in rb4xx_read()
34 static inline void rb4xx_write(struct rb4xx_spi *rbspi, u32 reg, u32 value) in rb4xx_write() argument
36 __raw_writel(value, rbspi->base + reg); in rb4xx_write()
39 static inline void do_spi_clk(struct rb4xx_spi *rbspi, u32 spi_ioc, int value) in do_spi_clk() argument
47 rb4xx_write(rbspi, AR71XX_SPI_REG_IOC, regval); in do_spi_clk()
48 rb4xx_write(rbspi, AR71XX_SPI_REG_IOC, regval | AR71XX_SPI_IOC_CLK); in do_spi_clk()
51 static void do_spi_byte(struct rb4xx_spi *rbspi, u32 spi_ioc, u8 byte) in do_spi_byte() argument
56 do_spi_clk(rbspi, spi_ioc, byte >> i); in do_spi_byte()
60 static inline void do_spi_clk_two(struct rb4xx_spi *rbspi, u32 spi_ioc, in do_spi_clk_two() argument
71 rb4xx_write(rbspi, AR71XX_SPI_REG_IOC, regval); in do_spi_clk_two()
72 rb4xx_write(rbspi, AR71XX_SPI_REG_IOC, regval | AR71XX_SPI_IOC_CLK); in do_spi_clk_two()
76 static void do_spi_byte_two(struct rb4xx_spi *rbspi, u32 spi_ioc, u8 byte) in do_spi_byte_two() argument
78 do_spi_clk_two(rbspi, spi_ioc, byte >> 6); in do_spi_byte_two()
79 do_spi_clk_two(rbspi, spi_ioc, byte >> 4); in do_spi_byte_two()
80 do_spi_clk_two(rbspi, spi_ioc, byte >> 2); in do_spi_byte_two()
81 do_spi_clk_two(rbspi, spi_ioc, byte >> 0); in do_spi_byte_two()
86 struct rb4xx_spi *rbspi = spi_master_get_devdata(spi->master); in rb4xx_set_cs() local
94 rb4xx_write(rbspi, AR71XX_SPI_REG_IOC, in rb4xx_set_cs()
101 struct rb4xx_spi *rbspi = spi_master_get_devdata(master); in rb4xx_transfer_one() local
125 do_spi_byte_two(rbspi, spi_ioc, tx_buf[i]); in rb4xx_transfer_one()
127 do_spi_byte(rbspi, spi_ioc, tx_buf[i]); in rb4xx_transfer_one()
130 rx_buf[i] = rb4xx_read(rbspi, AR71XX_SPI_REG_RDS); in rb4xx_transfer_one()
141 struct rb4xx_spi *rbspi; in rb4xx_spi_probe() local
151 master = spi_alloc_master(&pdev->dev, sizeof(*rbspi)); in rb4xx_spi_probe()
177 rbspi = spi_master_get_devdata(master); in rb4xx_spi_probe()
178 rbspi->base = spi_base; in rb4xx_spi_probe()
179 rbspi->clk = ahb_clk; in rb4xx_spi_probe()
180 platform_set_drvdata(pdev, rbspi); in rb4xx_spi_probe()
183 rb4xx_write(rbspi, AR71XX_SPI_REG_FS, AR71XX_SPI_FS_GPIO); in rb4xx_spi_probe()
190 struct rb4xx_spi *rbspi = platform_get_drvdata(pdev); in rb4xx_spi_remove() local
192 clk_disable_unprepare(rbspi->clk); in rb4xx_spi_remove()