/kernel/linux/linux-6.6/drivers/net/mdio/ |
H A D | mdio-gpio.c | 3 * GPIO based MDIO bitbang driver. 22 #include <linux/mdio-bitbang.h> 36 struct mdio_gpio_info *bitbang) in mdio_gpio_get_data() 38 bitbang->mdc = devm_gpiod_get_index(dev, NULL, MDIO_GPIO_MDC, in mdio_gpio_get_data() 40 if (IS_ERR(bitbang->mdc)) in mdio_gpio_get_data() 41 return PTR_ERR(bitbang->mdc); in mdio_gpio_get_data() 43 bitbang->mdio = devm_gpiod_get_index(dev, NULL, MDIO_GPIO_MDIO, in mdio_gpio_get_data() 45 if (IS_ERR(bitbang->mdio)) in mdio_gpio_get_data() 46 return PTR_ERR(bitbang->mdio); in mdio_gpio_get_data() 48 bitbang in mdio_gpio_get_data() 35 mdio_gpio_get_data(struct device *dev, struct mdio_gpio_info *bitbang) mdio_gpio_get_data() argument 55 struct mdio_gpio_info *bitbang = mdio_dir() local 76 struct mdio_gpio_info *bitbang = mdio_get() local 84 struct mdio_gpio_info *bitbang = mdio_set() local 95 struct mdio_gpio_info *bitbang = mdc_set() local 109 mdio_gpio_bus_init(struct device *dev, struct mdio_gpio_info *bitbang, int bus_id) mdio_gpio_bus_init() argument 164 struct mdio_gpio_info *bitbang; mdio_gpio_probe() local [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/freescale/fs_enet/ |
H A D | mii-bitbang.c | 23 #include <linux/mdio-bitbang.h> 60 struct bb_info *bitbang = container_of(ctrl, struct bb_info, ctrl); in mdio_dir() local 63 bb_set(bitbang->dir, bitbang->mdio_msk); in mdio_dir() 65 bb_clr(bitbang->dir, bitbang->mdio_msk); in mdio_dir() 68 in_be32(bitbang->dir); in mdio_dir() 73 struct bb_info *bitbang = container_of(ctrl, struct bb_info, ctrl); in mdio_read() local 74 return bb_read(bitbang->dat, bitbang in mdio_read() 79 struct bb_info *bitbang = container_of(ctrl, struct bb_info, ctrl); mdio() local 92 struct bb_info *bitbang = container_of(ctrl, struct bb_info, ctrl); mdc() local 116 struct bb_info *bitbang = bus->priv; fs_mii_bitbang_init() local 155 struct bb_info *bitbang; fs_enet_mdio_probe() local 198 struct bb_info *bitbang = bus->priv; fs_enet_mdio_remove() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/freescale/fs_enet/ |
H A D | mii-bitbang.c | 23 #include <linux/mdio-bitbang.h> 60 struct bb_info *bitbang = container_of(ctrl, struct bb_info, ctrl); in mdio_dir() local 63 bb_set(bitbang->dir, bitbang->mdio_msk); in mdio_dir() 65 bb_clr(bitbang->dir, bitbang->mdio_msk); in mdio_dir() 68 in_be32(bitbang->dir); in mdio_dir() 73 struct bb_info *bitbang = container_of(ctrl, struct bb_info, ctrl); in mdio_read() local 74 return bb_read(bitbang->dat, bitbang in mdio_read() 79 struct bb_info *bitbang = container_of(ctrl, struct bb_info, ctrl); mdio() local 92 struct bb_info *bitbang = container_of(ctrl, struct bb_info, ctrl); mdc() local 116 struct bb_info *bitbang = bus->priv; fs_mii_bitbang_init() local 155 struct bb_info *bitbang; fs_enet_mdio_probe() local 198 struct bb_info *bitbang = bus->priv; fs_enet_mdio_remove() local [all...] |
/kernel/linux/linux-5.10/drivers/net/mdio/ |
H A D | mdio-gpio.c | 3 * GPIO based MDIO bitbang driver. 22 #include <linux/mdio-bitbang.h> 36 struct mdio_gpio_info *bitbang) in mdio_gpio_get_data() 38 bitbang->mdc = devm_gpiod_get_index(dev, NULL, MDIO_GPIO_MDC, in mdio_gpio_get_data() 40 if (IS_ERR(bitbang->mdc)) in mdio_gpio_get_data() 41 return PTR_ERR(bitbang->mdc); in mdio_gpio_get_data() 43 bitbang->mdio = devm_gpiod_get_index(dev, NULL, MDIO_GPIO_MDIO, in mdio_gpio_get_data() 45 if (IS_ERR(bitbang->mdio)) in mdio_gpio_get_data() 46 return PTR_ERR(bitbang->mdio); in mdio_gpio_get_data() 48 bitbang in mdio_gpio_get_data() 35 mdio_gpio_get_data(struct device *dev, struct mdio_gpio_info *bitbang) mdio_gpio_get_data() argument 55 struct mdio_gpio_info *bitbang = mdio_dir() local 76 struct mdio_gpio_info *bitbang = mdio_get() local 84 struct mdio_gpio_info *bitbang = mdio_set() local 95 struct mdio_gpio_info *bitbang = mdc_set() local 109 mdio_gpio_bus_init(struct device *dev, struct mdio_gpio_info *bitbang, int bus_id) mdio_gpio_bus_init() argument 157 struct mdio_gpio_info *bitbang; mdio_gpio_probe() local [all...] |
/kernel/linux/linux-5.10/drivers/spi/ |
H A D | spi-bitbang.c | 28 * to glue code. These bitbang setup() and cleanup() routines are always 36 * which means you could use a bitbang driver either to get hardware 183 struct spi_bitbang *bitbang; in spi_bitbang_setup() local 187 bitbang = spi_master_get_devdata(spi->master); in spi_bitbang_setup() 198 cs->txrx_word = bitbang->txrx_word[spi->mode & (SPI_CPOL|SPI_CPHA)]; in spi_bitbang_setup() 204 if (bitbang->setup_transfer) { in spi_bitbang_setup() 205 retval = bitbang->setup_transfer(spi, NULL); in spi_bitbang_setup() 234 struct spi_bitbang *bitbang; in spi_bitbang_bufs() local 236 bitbang = spi_master_get_devdata(spi->master); in spi_bitbang_bufs() 237 if (bitbang in spi_bitbang_bufs() 270 struct spi_bitbang *bitbang; spi_bitbang_prepare_hardware() local 285 struct spi_bitbang *bitbang = spi_master_get_devdata(master); spi_bitbang_transfer_one() local 310 struct spi_bitbang *bitbang; spi_bitbang_unprepare_hardware() local 323 struct spi_bitbang *bitbang = spi_master_get_devdata(spi->master); spi_bitbang_set_cs() local 339 spi_bitbang_init(struct spi_bitbang *bitbang) spi_bitbang_init() argument 420 spi_bitbang_start(struct spi_bitbang *bitbang) spi_bitbang_start() argument 443 spi_bitbang_stop(struct spi_bitbang *bitbang) spi_bitbang_stop() argument [all...] |
H A D | spi-sh-sci.c | 25 struct spi_bitbang bitbang; member 76 #include "spi-bitbang-txrx.h" 138 /* setup spi bitbang adaptor */ in sh_sci_spi_probe() 139 sp->bitbang.master = master; in sh_sci_spi_probe() 140 sp->bitbang.master->bus_num = sp->info->bus_num; in sh_sci_spi_probe() 141 sp->bitbang.master->num_chipselect = sp->info->num_chipselect; in sh_sci_spi_probe() 142 sp->bitbang.chipselect = sh_sci_spi_chipselect; in sh_sci_spi_probe() 144 sp->bitbang.txrx_word[SPI_MODE_0] = sh_sci_spi_txrx_mode0; in sh_sci_spi_probe() 145 sp->bitbang.txrx_word[SPI_MODE_1] = sh_sci_spi_txrx_mode1; in sh_sci_spi_probe() 146 sp->bitbang in sh_sci_spi_probe() [all...] |
H A D | spi-lm70llp.c | 26 * port to bitbang an SPI-parport bridge. Accordingly, this is an SPI 71 struct spi_bitbang bitbang; member 167 #include "spi-bitbang-txrx.h" 213 * SPI and bitbang hookup. in spi_lm70llp_attach() 215 pp->bitbang.master = master; in spi_lm70llp_attach() 216 pp->bitbang.chipselect = lm70_chipselect; in spi_lm70llp_attach() 217 pp->bitbang.txrx_word[SPI_MODE_0] = lm70_txrx; in spi_lm70llp_attach() 218 pp->bitbang.flags = SPI_3WIRE; in spi_lm70llp_attach() 242 status = spi_bitbang_start(&pp->bitbang); in spi_lm70llp_attach() 267 pp->spidev_lm70 = spi_new_device(pp->bitbang in spi_lm70llp_attach() [all...] |
H A D | spi-ath79.c | 41 struct spi_bitbang bitbang; member 165 sp->bitbang.master = master; in ath79_spi_probe() 166 sp->bitbang.chipselect = ath79_spi_chipselect; in ath79_spi_probe() 167 sp->bitbang.txrx_word[SPI_MODE_0] = ath79_spi_txrx_mode0; in ath79_spi_probe() 168 sp->bitbang.flags = SPI_CS_HIGH; in ath79_spi_probe() 197 ret = spi_bitbang_start(&sp->bitbang); in ath79_spi_probe() 208 spi_master_put(sp->bitbang.master); in ath79_spi_probe() 217 spi_bitbang_stop(&sp->bitbang); in ath79_spi_remove() 220 spi_master_put(sp->bitbang.master); in ath79_spi_remove()
|
H A D | spi-butterfly.c | 51 struct spi_bitbang bitbang; member 134 #include "spi-bitbang-txrx.h" 200 * SPI and bitbang hookup in butterfly_attach() 208 pp->bitbang.master = master; in butterfly_attach() 209 pp->bitbang.chipselect = butterfly_chipselect; in butterfly_attach() 210 pp->bitbang.txrx_word[SPI_MODE_0] = butterfly_txrx_word_mode0; in butterfly_attach() 252 status = spi_bitbang_start(&pp->bitbang); in butterfly_attach() 266 pp->dataflash = spi_new_device(pp->bitbang.master, &pp->info[0]); in butterfly_attach() 283 spi_master_put(pp->bitbang.master); in butterfly_attach() 302 spi_bitbang_stop(&pp->bitbang); in butterfly_detach() [all...] |
H A D | spi-xtensa-xtfpga.c | 25 struct spi_bitbang bitbang; member 96 xspi->bitbang.master = master; in xtfpga_spi_probe() 97 xspi->bitbang.chipselect = xtfpga_spi_chipselect; in xtfpga_spi_probe() 98 xspi->bitbang.txrx_word[SPI_MODE_0] = xtfpga_spi_txrx_word; in xtfpga_spi_probe() 113 ret = spi_bitbang_start(&xspi->bitbang); in xtfpga_spi_probe() 131 spi_bitbang_stop(&xspi->bitbang); in xtfpga_spi_remove()
|
H A D | spi-s3c24xx.c | 51 /* bitbang has to be first */ 52 struct spi_bitbang bitbang; member 196 mutex_lock(&hw->bitbang.lock); in s3c24xx_spi_setup() 197 if (!hw->bitbang.busy) { in s3c24xx_spi_setup() 198 hw->bitbang.chipselect(spi, BITBANG_CS_INACTIVE); in s3c24xx_spi_setup() 201 mutex_unlock(&hw->bitbang.lock); in s3c24xx_spi_setup() 506 /* setup the state for the bitbang driver */ in s3c24xx_spi_probe() 508 hw->bitbang.master = hw->master; in s3c24xx_spi_probe() 509 hw->bitbang.setup_transfer = s3c24xx_spi_setupxfer; in s3c24xx_spi_probe() 510 hw->bitbang in s3c24xx_spi_probe() [all...] |
H A D | spi-oc-tiny.c | 37 /* bitbang has to be first */ 38 struct spi_bitbang bitbang; member 197 hw->bitbang.master->dev.of_node = pdev->dev.of_node; in tiny_spi_of_probe() 231 /* setup the state for the bitbang driver */ in tiny_spi_probe() 232 hw->bitbang.master = master; in tiny_spi_probe() 233 hw->bitbang.setup_transfer = tiny_spi_setup_transfer; in tiny_spi_probe() 234 hw->bitbang.txrx_bufs = tiny_spi_txrx_bufs; in tiny_spi_probe() 262 err = spi_bitbang_start(&hw->bitbang); in tiny_spi_probe() 277 struct spi_master *master = hw->bitbang.master; in tiny_spi_remove() 279 spi_bitbang_stop(&hw->bitbang); in tiny_spi_remove() [all...] |
H A D | spi-omap-uwire.c | 92 struct spi_bitbang bitbang; member 454 spi_master_put(uwire->bitbang.master); in uwire_off() 504 uwire->bitbang.master = master; in uwire_probe() 505 uwire->bitbang.chipselect = uwire_chipselect; in uwire_probe() 506 uwire->bitbang.setup_transfer = uwire_setup_transfer; in uwire_probe() 507 uwire->bitbang.txrx_bufs = uwire_txrx; in uwire_probe() 509 status = spi_bitbang_start(&uwire->bitbang); in uwire_probe() 522 spi_bitbang_stop(&uwire->bitbang); in uwire_remove()
|
H A D | spi-xilinx.c | 80 /* bitbang has to be first */ 81 struct spi_bitbang bitbang; member 434 xspi->bitbang.master = master; in xilinx_spi_probe() 435 xspi->bitbang.chipselect = xilinx_spi_chipselect; in xilinx_spi_probe() 436 xspi->bitbang.setup_transfer = xilinx_spi_setup_transfer; in xilinx_spi_probe() 437 xspi->bitbang.txrx_bufs = xilinx_spi_txrx_bufs; in xilinx_spi_probe() 488 ret = spi_bitbang_start(&xspi->bitbang); in xilinx_spi_probe() 516 spi_bitbang_stop(&xspi->bitbang); in xilinx_spi_remove() 523 spi_master_put(xspi->bitbang.master); in xilinx_spi_remove()
|
H A D | spi-efm32.c | 70 struct spi_bitbang bitbang; member 86 #define ddata_to_dev(ddata) (&(ddata->bitbang.master->dev)) 331 ddata->bitbang.master = master; in efm32_spi_probe() 332 ddata->bitbang.setup_transfer = efm32_spi_setup_transfer; in efm32_spi_probe() 333 ddata->bitbang.txrx_bufs = efm32_spi_txrx_bufs; in efm32_spi_probe() 403 ret = spi_bitbang_start(&ddata->bitbang); in efm32_spi_probe() 424 spi_bitbang_stop(&ddata->bitbang); in efm32_spi_remove()
|
H A D | spi-ppc4xx.c | 111 /* bitbang has to be first */ 112 struct spi_bitbang bitbang; member 201 mutex_lock(&hw->bitbang.lock); in spi_ppc4xx_setupxfer() 202 if (!hw->bitbang.busy) { in spi_ppc4xx_setupxfer() 203 hw->bitbang.chipselect(spi, BITBANG_CS_INACTIVE); in spi_ppc4xx_setupxfer() 206 mutex_unlock(&hw->bitbang.lock); in spi_ppc4xx_setupxfer() 358 /* Setup the state for the bitbang driver */ in spi_ppc4xx_of_probe() 359 bbp = &hw->bitbang; in spi_ppc4xx_of_probe() 467 spi_bitbang_stop(&hw->bitbang); in spi_ppc4xx_of_remove()
|
/kernel/linux/linux-6.6/drivers/spi/ |
H A D | spi-bitbang.c | 28 * to glue code. These bitbang setup() and cleanup() routines are always 36 * which means you could use a bitbang driver either to get hardware 186 struct spi_bitbang *bitbang; in spi_bitbang_setup() local 190 bitbang = spi_master_get_devdata(spi->master); in spi_bitbang_setup() 201 cs->txrx_word = bitbang->txrx_word[spi->mode & (SPI_CPOL|SPI_CPHA)]; in spi_bitbang_setup() 207 if (bitbang->setup_transfer) { in spi_bitbang_setup() 208 retval = bitbang->setup_transfer(spi, NULL); in spi_bitbang_setup() 237 struct spi_bitbang *bitbang; in spi_bitbang_bufs() local 239 bitbang = spi_master_get_devdata(spi->master); in spi_bitbang_bufs() 240 if (bitbang in spi_bitbang_bufs() 273 struct spi_bitbang *bitbang; spi_bitbang_prepare_hardware() local 288 struct spi_bitbang *bitbang = spi_master_get_devdata(master); spi_bitbang_transfer_one() local 313 struct spi_bitbang *bitbang; spi_bitbang_unprepare_hardware() local 326 struct spi_bitbang *bitbang = spi_master_get_devdata(spi->master); spi_bitbang_set_cs() local 342 spi_bitbang_init(struct spi_bitbang *bitbang) spi_bitbang_init() argument 423 spi_bitbang_start(struct spi_bitbang *bitbang) spi_bitbang_start() argument 446 spi_bitbang_stop(struct spi_bitbang *bitbang) spi_bitbang_stop() argument [all...] |
H A D | spi-sh-sci.c | 25 struct spi_bitbang bitbang; member 76 #include "spi-bitbang-txrx.h" 138 /* setup spi bitbang adaptor */ in sh_sci_spi_probe() 139 sp->bitbang.master = host; in sh_sci_spi_probe() 140 sp->bitbang.master->bus_num = sp->info->bus_num; in sh_sci_spi_probe() 141 sp->bitbang.master->num_chipselect = sp->info->num_chipselect; in sh_sci_spi_probe() 142 sp->bitbang.chipselect = sh_sci_spi_chipselect; in sh_sci_spi_probe() 144 sp->bitbang.txrx_word[SPI_MODE_0] = sh_sci_spi_txrx_mode0; in sh_sci_spi_probe() 145 sp->bitbang.txrx_word[SPI_MODE_1] = sh_sci_spi_txrx_mode1; in sh_sci_spi_probe() 146 sp->bitbang in sh_sci_spi_probe() [all...] |
H A D | spi-lm70llp.c | 26 * port to bitbang an SPI-parport bridge. Accordingly, this is an SPI 71 struct spi_bitbang bitbang; member 167 #include "spi-bitbang-txrx.h" 213 * SPI and bitbang hookup. in spi_lm70llp_attach() 215 pp->bitbang.master = master; in spi_lm70llp_attach() 216 pp->bitbang.chipselect = lm70_chipselect; in spi_lm70llp_attach() 217 pp->bitbang.txrx_word[SPI_MODE_0] = lm70_txrx; in spi_lm70llp_attach() 218 pp->bitbang.flags = SPI_3WIRE; in spi_lm70llp_attach() 242 status = spi_bitbang_start(&pp->bitbang); in spi_lm70llp_attach() 267 pp->spidev_lm70 = spi_new_device(pp->bitbang in spi_lm70llp_attach() [all...] |
H A D | spi-xtensa-xtfpga.c | 25 struct spi_bitbang bitbang; member 96 xspi->bitbang.master = master; in xtfpga_spi_probe() 97 xspi->bitbang.chipselect = xtfpga_spi_chipselect; in xtfpga_spi_probe() 98 xspi->bitbang.txrx_word[SPI_MODE_0] = xtfpga_spi_txrx_word; in xtfpga_spi_probe() 110 ret = spi_bitbang_start(&xspi->bitbang); in xtfpga_spi_probe() 125 spi_bitbang_stop(&xspi->bitbang); in xtfpga_spi_remove()
|
H A D | spi-butterfly.c | 51 struct spi_bitbang bitbang; member 134 #include "spi-bitbang-txrx.h" 200 * SPI and bitbang hookup in butterfly_attach() 208 pp->bitbang.master = host; in butterfly_attach() 209 pp->bitbang.chipselect = butterfly_chipselect; in butterfly_attach() 210 pp->bitbang.txrx_word[SPI_MODE_0] = butterfly_txrx_word_mode0; in butterfly_attach() 252 status = spi_bitbang_start(&pp->bitbang); in butterfly_attach() 266 pp->dataflash = spi_new_device(pp->bitbang.master, &pp->info[0]); in butterfly_attach() 302 spi_bitbang_stop(&pp->bitbang); in butterfly_detach() 311 spi_controller_put(pp->bitbang in butterfly_detach() [all...] |
H A D | spi-oc-tiny.c | 37 /* bitbang has to be first */ 38 struct spi_bitbang bitbang; member 197 hw->bitbang.master->dev.of_node = pdev->dev.of_node; in tiny_spi_of_probe() 231 /* setup the state for the bitbang driver */ in tiny_spi_probe() 232 hw->bitbang.master = master; in tiny_spi_probe() 233 hw->bitbang.setup_transfer = tiny_spi_setup_transfer; in tiny_spi_probe() 234 hw->bitbang.txrx_bufs = tiny_spi_txrx_bufs; in tiny_spi_probe() 262 err = spi_bitbang_start(&hw->bitbang); in tiny_spi_probe() 277 struct spi_master *master = hw->bitbang.master; in tiny_spi_remove() 279 spi_bitbang_stop(&hw->bitbang); in tiny_spi_remove() [all...] |
H A D | spi-ath79.c | 41 struct spi_bitbang bitbang; member 192 sp->bitbang.master = host; in ath79_spi_probe() 193 sp->bitbang.chipselect = ath79_spi_chipselect; in ath79_spi_probe() 194 sp->bitbang.txrx_word[SPI_MODE_0] = ath79_spi_txrx_mode0; in ath79_spi_probe() 195 sp->bitbang.flags = SPI_CS_HIGH; in ath79_spi_probe() 224 ret = spi_bitbang_start(&sp->bitbang); in ath79_spi_probe() 244 spi_bitbang_stop(&sp->bitbang); in ath79_spi_remove() 247 spi_controller_put(sp->bitbang.master); in ath79_spi_remove()
|
H A D | spi-xilinx.c | 80 /* bitbang has to be first */ 81 struct spi_bitbang bitbang; member 437 xspi->bitbang.master = master; in xilinx_spi_probe() 438 xspi->bitbang.chipselect = xilinx_spi_chipselect; in xilinx_spi_probe() 439 xspi->bitbang.setup_transfer = xilinx_spi_setup_transfer; in xilinx_spi_probe() 440 xspi->bitbang.txrx_bufs = xilinx_spi_txrx_bufs; in xilinx_spi_probe() 489 ret = spi_bitbang_start(&xspi->bitbang); in xilinx_spi_probe() 512 spi_bitbang_stop(&xspi->bitbang); in xilinx_spi_remove() 519 spi_master_put(xspi->bitbang.master); in xilinx_spi_remove()
|
H A D | spi-omap-uwire.c | 89 struct spi_bitbang bitbang; member 451 spi_master_put(uwire->bitbang.master); in uwire_off() 496 uwire->bitbang.master = master; in uwire_probe() 497 uwire->bitbang.chipselect = uwire_chipselect; in uwire_probe() 498 uwire->bitbang.setup_transfer = uwire_setup_transfer; in uwire_probe() 499 uwire->bitbang.txrx_bufs = uwire_txrx; in uwire_probe() 501 status = spi_bitbang_start(&uwire->bitbang); in uwire_probe() 514 spi_bitbang_stop(&uwire->bitbang); in uwire_remove()
|