Home
last modified time | relevance | path

Searched refs:bitbang (Results 1 – 35 of 35) sorted by relevance

/linux-4.4.14/drivers/net/ethernet/freescale/fs_enet/
Dmii-bitbang.c60 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->mdio_msk); in mdio_read()
79 struct bb_info *bitbang = container_of(ctrl, struct bb_info, ctrl); in mdio() local
82 bb_set(bitbang->dat, bitbang->mdio_msk); in mdio()
84 bb_clr(bitbang->dat, bitbang->mdio_msk); in mdio()
87 in_be32(bitbang->dat); in mdio()
[all …]
DMakefile12 obj-$(CONFIG_FS_ENET_MDIO_FCC) += mii-bitbang.o
/linux-4.4.14/drivers/net/phy/
Dmdio-gpio.c74 struct mdio_gpio_info *bitbang = in mdio_dir() local
77 if (bitbang->mdo) { in mdio_dir()
83 gpio_set_value_cansleep(bitbang->mdo, in mdio_dir()
84 1 ^ bitbang->mdo_active_low); in mdio_dir()
89 gpio_direction_output(bitbang->mdio, in mdio_dir()
90 1 ^ bitbang->mdio_active_low); in mdio_dir()
92 gpio_direction_input(bitbang->mdio); in mdio_dir()
97 struct mdio_gpio_info *bitbang = in mdio_get() local
100 return gpio_get_value_cansleep(bitbang->mdio) ^ in mdio_get()
101 bitbang->mdio_active_low; in mdio_get()
[all …]
DMakefile25 obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
/linux-4.4.14/drivers/spi/
Dspi-bitbang.c184 struct spi_bitbang *bitbang; in spi_bitbang_setup() local
186 bitbang = spi_master_get_devdata(spi->master); in spi_bitbang_setup()
196 cs->txrx_word = bitbang->txrx_word[spi->mode & (SPI_CPOL|SPI_CPHA)]; in spi_bitbang_setup()
200 if (bitbang->setup_transfer) { in spi_bitbang_setup()
201 int retval = bitbang->setup_transfer(spi, NULL); in spi_bitbang_setup()
214 mutex_lock(&bitbang->lock); in spi_bitbang_setup()
215 if (!bitbang->busy) { in spi_bitbang_setup()
216 bitbang->chipselect(spi, BITBANG_CS_INACTIVE); in spi_bitbang_setup()
219 mutex_unlock(&bitbang->lock); in spi_bitbang_setup()
258 struct spi_bitbang *bitbang; in spi_bitbang_prepare_hardware() local
[all …]
Dspi-sh-sci.c29 struct spi_bitbang bitbang; member
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.txrx_word[SPI_MODE_2] = sh_sci_spi_txrx_mode2; in sh_sci_spi_probe()
147 sp->bitbang.txrx_word[SPI_MODE_3] = sh_sci_spi_txrx_mode3; in sh_sci_spi_probe()
162 ret = spi_bitbang_start(&sp->bitbang); in sh_sci_spi_probe()
[all …]
Dspi-gpio.c44 struct spi_bitbang bitbang; member
98 spi_gpio = container_of(bang, struct spi_gpio, bitbang); in spi_to_spi_gpio()
481 spi_gpio->bitbang.master = master; in spi_gpio_probe()
482 spi_gpio->bitbang.chipselect = spi_gpio_chipselect; in spi_gpio_probe()
485 spi_gpio->bitbang.txrx_word[SPI_MODE_0] = spi_gpio_txrx_word_mode0; in spi_gpio_probe()
486 spi_gpio->bitbang.txrx_word[SPI_MODE_1] = spi_gpio_txrx_word_mode1; in spi_gpio_probe()
487 spi_gpio->bitbang.txrx_word[SPI_MODE_2] = spi_gpio_txrx_word_mode2; in spi_gpio_probe()
488 spi_gpio->bitbang.txrx_word[SPI_MODE_3] = spi_gpio_txrx_word_mode3; in spi_gpio_probe()
490 spi_gpio->bitbang.txrx_word[SPI_MODE_0] = spi_gpio_spec_txrx_word_mode0; in spi_gpio_probe()
491 spi_gpio->bitbang.txrx_word[SPI_MODE_1] = spi_gpio_spec_txrx_word_mode1; in spi_gpio_probe()
[all …]
Dspi-lm70llp.c80 struct spi_bitbang bitbang; member
221 pp->bitbang.master = master; in spi_lm70llp_attach()
222 pp->bitbang.chipselect = lm70_chipselect; in spi_lm70llp_attach()
223 pp->bitbang.txrx_word[SPI_MODE_0] = lm70_txrx; in spi_lm70llp_attach()
224 pp->bitbang.flags = SPI_3WIRE; in spi_lm70llp_attach()
246 status = spi_bitbang_start(&pp->bitbang); in spi_lm70llp_attach()
272 pp->spidev_lm70 = spi_new_device(pp->bitbang.master, &pp->info); in spi_lm70llp_attach()
287 spi_bitbang_stop(&pp->bitbang); in spi_lm70llp_attach()
309 spi_bitbang_stop(&pp->bitbang); in spi_lm70llp_detach()
317 (void) spi_master_put(pp->bitbang.master); in spi_lm70llp_detach()
Dspi-butterfly.c65 struct spi_bitbang bitbang; member
224 pp->bitbang.master = master; in butterfly_attach()
225 pp->bitbang.chipselect = butterfly_chipselect; in butterfly_attach()
226 pp->bitbang.txrx_word[SPI_MODE_0] = butterfly_txrx_word_mode0; in butterfly_attach()
269 status = spi_bitbang_start(&pp->bitbang); in butterfly_attach()
283 pp->dataflash = spi_new_device(pp->bitbang.master, &pp->info[0]); in butterfly_attach()
300 (void) spi_master_put(pp->bitbang.master); in butterfly_attach()
319 spi_bitbang_stop(&pp->bitbang); in butterfly_detach()
328 (void) spi_master_put(pp->bitbang.master); in butterfly_detach()
Dspi-ath79.c37 struct spi_bitbang bitbang; member
236 sp->bitbang.master = master; in ath79_spi_probe()
237 sp->bitbang.chipselect = ath79_spi_chipselect; in ath79_spi_probe()
238 sp->bitbang.txrx_word[SPI_MODE_0] = ath79_spi_txrx_mode0; in ath79_spi_probe()
239 sp->bitbang.setup_transfer = spi_bitbang_setup_transfer; in ath79_spi_probe()
240 sp->bitbang.flags = SPI_CS_HIGH; in ath79_spi_probe()
270 ret = spi_bitbang_start(&sp->bitbang); in ath79_spi_probe()
281 spi_master_put(sp->bitbang.master); in ath79_spi_probe()
290 spi_bitbang_stop(&sp->bitbang); in ath79_spi_remove()
293 spi_master_put(sp->bitbang.master); in ath79_spi_remove()
Dspi-xtensa-xtfpga.c28 struct spi_bitbang bitbang; member
100 xspi->bitbang.master = master; in xtfpga_spi_probe()
101 xspi->bitbang.chipselect = xtfpga_spi_chipselect; in xtfpga_spi_probe()
102 xspi->bitbang.txrx_word[SPI_MODE_0] = xtfpga_spi_txrx_word; in xtfpga_spi_probe()
124 ret = spi_bitbang_start(&xspi->bitbang); in xtfpga_spi_probe()
142 spi_bitbang_stop(&xspi->bitbang); in xtfpga_spi_remove()
Dspi-oc-tiny.c42 struct spi_bitbang bitbang; member
227 hw->bitbang.master->dev.of_node = pdev->dev.of_node; in tiny_spi_of_probe()
264 hw->bitbang.master = master; in tiny_spi_probe()
265 hw->bitbang.setup_transfer = tiny_spi_setup_transfer; in tiny_spi_probe()
266 hw->bitbang.chipselect = tiny_spi_chipselect; in tiny_spi_probe()
267 hw->bitbang.txrx_bufs = tiny_spi_txrx_bufs; in tiny_spi_probe()
306 hw->bitbang.master->num_chipselect = max(1, hw->gpio_cs_count); in tiny_spi_probe()
309 err = spi_bitbang_start(&hw->bitbang); in tiny_spi_probe()
327 struct spi_master *master = hw->bitbang.master; in tiny_spi_remove()
330 spi_bitbang_stop(&hw->bitbang); in tiny_spi_remove()
Dspi-s3c24xx.c57 struct spi_bitbang bitbang; member
201 mutex_lock(&hw->bitbang.lock); in s3c24xx_spi_setup()
202 if (!hw->bitbang.busy) { in s3c24xx_spi_setup()
203 hw->bitbang.chipselect(spi, BITBANG_CS_INACTIVE); in s3c24xx_spi_setup()
206 mutex_unlock(&hw->bitbang.lock); in s3c24xx_spi_setup()
533 hw->bitbang.master = hw->master; in s3c24xx_spi_probe()
534 hw->bitbang.setup_transfer = s3c24xx_spi_setupxfer; in s3c24xx_spi_probe()
535 hw->bitbang.chipselect = s3c24xx_spi_chipsel; in s3c24xx_spi_probe()
536 hw->bitbang.txrx_bufs = s3c24xx_spi_txrx; in s3c24xx_spi_probe()
540 dev_dbg(hw->dev, "bitbang at %p\n", &hw->bitbang); in s3c24xx_spi_probe()
[all …]
Dspi-altera.c49 struct spi_bitbang bitbang; member
222 hw->bitbang.master = master; in altera_spi_probe()
223 hw->bitbang.chipselect = altera_spi_chipsel; in altera_spi_probe()
224 hw->bitbang.txrx_bufs = altera_spi_txrx; in altera_spi_probe()
250 err = spi_bitbang_start(&hw->bitbang); in altera_spi_probe()
264 struct spi_master *master = hw->bitbang.master; in altera_spi_remove()
266 spi_bitbang_stop(&hw->bitbang); in altera_spi_remove()
Dspi-omap-uwire.c92 struct spi_bitbang bitbang; member
447 spi_master_put(uwire->bitbang.master); in uwire_off()
497 uwire->bitbang.master = master; in uwire_probe()
498 uwire->bitbang.chipselect = uwire_chipselect; in uwire_probe()
499 uwire->bitbang.setup_transfer = uwire_setup_transfer; in uwire_probe()
500 uwire->bitbang.txrx_bufs = uwire_txrx; in uwire_probe()
502 status = spi_bitbang_start(&uwire->bitbang); in uwire_probe()
515 spi_bitbang_stop(&uwire->bitbang); in uwire_remove()
Dspi-xilinx.c83 struct spi_bitbang bitbang; member
418 xspi->bitbang.master = master; in xilinx_spi_probe()
419 xspi->bitbang.chipselect = xilinx_spi_chipselect; in xilinx_spi_probe()
420 xspi->bitbang.setup_transfer = xilinx_spi_setup_transfer; in xilinx_spi_probe()
421 xspi->bitbang.txrx_bufs = xilinx_spi_txrx_bufs; in xilinx_spi_probe()
469 ret = spi_bitbang_start(&xspi->bitbang); in xilinx_spi_probe()
498 spi_bitbang_stop(&xspi->bitbang); in xilinx_spi_remove()
505 spi_master_put(xspi->bitbang.master); in xilinx_spi_remove()
Dspi-efm32.c74 struct spi_bitbang bitbang; member
93 #define ddata_to_dev(ddata) (&(ddata->bitbang.master->dev))
352 ddata->bitbang.master = master; in efm32_spi_probe()
353 ddata->bitbang.chipselect = efm32_spi_chipselect; in efm32_spi_probe()
354 ddata->bitbang.setup_transfer = efm32_spi_setup_transfer; in efm32_spi_probe()
355 ddata->bitbang.txrx_bufs = efm32_spi_txrx_bufs; in efm32_spi_probe()
446 ret = spi_bitbang_start(&ddata->bitbang); in efm32_spi_probe()
467 spi_bitbang_stop(&ddata->bitbang); in efm32_spi_remove()
Dspi-imx.c88 struct spi_bitbang bitbang; member
809 struct spi_master *master = spi_imx->bitbang.master; in spi_imx_sdma_exit()
875 spi_imx->bitbang.master->flags = SPI_MASTER_MUST_RX | in spi_imx_sdma_init()
909 struct spi_master *master = spi_imx->bitbang.master; in spi_imx_dma_transfer()
1020 if (spi_imx->bitbang.master->can_dma && in spi_imx_transfer()
1021 spi_imx_can_dma(spi_imx->bitbang.master, spi, transfer)) { in spi_imx_transfer()
1118 spi_imx->bitbang.master = master; in spi_imx_probe()
1137 spi_imx->bitbang.chipselect = spi_imx_chipselect; in spi_imx_probe()
1138 spi_imx->bitbang.setup_transfer = spi_imx_setupxfer; in spi_imx_probe()
1139 spi_imx->bitbang.txrx_bufs = spi_imx_transfer; in spi_imx_probe()
[all …]
Dspi-ppc4xx.c117 struct spi_bitbang bitbang; member
213 mutex_lock(&hw->bitbang.lock); in spi_ppc4xx_setupxfer()
214 if (!hw->bitbang.busy) { in spi_ppc4xx_setupxfer()
215 hw->bitbang.chipselect(spi, BITBANG_CS_INACTIVE); in spi_ppc4xx_setupxfer()
218 mutex_unlock(&hw->bitbang.lock); in spi_ppc4xx_setupxfer()
449 bbp = &hw->bitbang; in spi_ppc4xx_of_probe()
557 spi_bitbang_stop(&hw->bitbang); in spi_ppc4xx_of_remove()
Dspi-nuc900.c51 struct spi_bitbang bitbang; member
361 hw->bitbang.master = hw->master; in nuc900_spi_probe()
362 hw->bitbang.chipselect = nuc900_spi_chipsel; in nuc900_spi_probe()
363 hw->bitbang.txrx_bufs = nuc900_spi_txrx; in nuc900_spi_probe()
396 err = spi_bitbang_start(&hw->bitbang); in nuc900_spi_probe()
415 spi_bitbang_stop(&hw->bitbang); in nuc900_spi_remove()
Dspi-davinci.c117 struct spi_bitbang bitbang; member
477 struct device *sdev = dspi->bitbang.master->dev.parent; in davinci_spi_check_error()
800 struct device *sdev = dspi->bitbang.master->dev.parent; in davinci_spi_request_dma()
1000 dspi->bitbang.master = master; in davinci_spi_probe()
1016 dspi->bitbang.chipselect = davinci_spi_chipselect; in davinci_spi_probe()
1017 dspi->bitbang.setup_transfer = davinci_spi_setup_transfer; in davinci_spi_probe()
1021 dspi->bitbang.flags = SPI_NO_CS | SPI_LSB_FIRST | SPI_LOOP; in davinci_spi_probe()
1023 dspi->bitbang.flags |= SPI_READY; in davinci_spi_probe()
1053 dspi->bitbang.txrx_bufs = davinci_spi_bufs; in davinci_spi_probe()
1095 ret = spi_bitbang_start(&dspi->bitbang); in davinci_spi_probe()
[all …]
Dspi-au1550.c50 struct spi_bitbang bitbang; member
811 hw->bitbang.master = hw->master; in au1550_spi_probe()
812 hw->bitbang.setup_transfer = au1550_spi_setupxfer; in au1550_spi_probe()
813 hw->bitbang.chipselect = au1550_spi_chipsel; in au1550_spi_probe()
814 hw->bitbang.txrx_bufs = au1550_spi_txrx_bufs; in au1550_spi_probe()
891 err = spi_bitbang_start(&hw->bitbang); in au1550_spi_probe()
940 spi_bitbang_stop(&hw->bitbang); in au1550_spi_remove()
Dspi-sirf.c252 struct spi_bitbang bitbang; member
1117 sspi->bitbang.master = master; in spi_sirfsoc_probe()
1118 sspi->bitbang.chipselect = spi_sirfsoc_chipselect; in spi_sirfsoc_probe()
1119 sspi->bitbang.setup_transfer = spi_sirfsoc_setup_transfer; in spi_sirfsoc_probe()
1120 sspi->bitbang.txrx_bufs = spi_sirfsoc_transfer; in spi_sirfsoc_probe()
1121 sspi->bitbang.master->setup = spi_sirfsoc_setup; in spi_sirfsoc_probe()
1122 sspi->bitbang.master->cleanup = spi_sirfsoc_cleanup; in spi_sirfsoc_probe()
1129 sspi->bitbang.master->dev.of_node = pdev->dev.of_node; in spi_sirfsoc_probe()
1158 ret = spi_bitbang_start(&sspi->bitbang); in spi_sirfsoc_probe()
1184 spi_bitbang_stop(&sspi->bitbang); in spi_sirfsoc_remove()
DMakefile25 obj-$(CONFIG_SPI_BITBANG) += spi-bitbang.o
DKconfig153 With a few GPIO pins, your system can bitbang the SPI protocol.
/linux-4.4.14/Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/
Dnetwork.txt27 fsl,cpm2-mdio-bitbang (reg is port C registers)
29 Properties for fsl,cpm2-mdio-bitbang:
35 compatible = "fsl,mpc8272ads-mdio-bitbang",
36 "fsl,mpc8272-mdio-bitbang",
37 "fsl,cpm2-mdio-bitbang";
/linux-4.4.14/drivers/net/ethernet/renesas/
Dsh_eth.c1062 struct bb_info *bitbang = container_of(ctrl, struct bb_info, ctrl); in sh_mmd_ctrl() local
1064 if (bitbang->set_gate) in sh_mmd_ctrl()
1065 bitbang->set_gate(bitbang->addr); in sh_mmd_ctrl()
1068 bb_set(bitbang->addr, bitbang->mmd_msk); in sh_mmd_ctrl()
1070 bb_clr(bitbang->addr, bitbang->mmd_msk); in sh_mmd_ctrl()
1076 struct bb_info *bitbang = container_of(ctrl, struct bb_info, ctrl); in sh_set_mdio() local
1078 if (bitbang->set_gate) in sh_set_mdio()
1079 bitbang->set_gate(bitbang->addr); in sh_set_mdio()
1082 bb_set(bitbang->addr, bitbang->mdo_msk); in sh_set_mdio()
1084 bb_clr(bitbang->addr, bitbang->mdo_msk); in sh_set_mdio()
[all …]
/linux-4.4.14/arch/powerpc/boot/dts/
Dpq2fads.dts201 compatible = "fsl,pq2fads-mdio-bitbang",
202 "fsl,mpc8280-mdio-bitbang",
203 "fsl,cpm2-mdio-bitbang";
Dmpc8272ads.dts185 compatible = "fsl,mpc8272ads-mdio-bitbang",
186 "fsl,mpc8272-mdio-bitbang",
187 "fsl,cpm2-mdio-bitbang";
Dep8248e.dts70 compatible = "fsl,ep8248e-mdio-bitbang";
Dmgcoge.dts175 compatible = "fsl,cpm2-mdio-bitbang";
Dksi8560.dts277 compatible = "fsl,cpm2-mdio-bitbang";
/linux-4.4.14/Documentation/gpio/
Ddrivers-on-gpio.txt52 (two wires, SDA and SCL lines) by hammering (bitbang) two GPIO lines. It will
58 GPIO hammering (bitbang). It will appear as any other SPI bus on the system
/linux-4.4.14/Documentation/video4linux/bttv/
DInsmod-options59 maximum supported speed by kernel bitbang
/linux-4.4.14/arch/arm/boot/dts/
Dat91sam9261.dtsi497 pinctrl_i2c_bitbang: i2c-0-bitbang {