Home
last modified time | relevance | path

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

12

/linux-6.15/drivers/spi/
H A Dspi-bitbang.c57 struct spi_bitbang *bitbang; in bitbang_txrx_8() local
76 if (bitbang->set_mosi_idle) in bitbang_txrx_8()
88 struct spi_bitbang *bitbang; in bitbang_txrx_16() local
107 if (bitbang->set_mosi_idle) in bitbang_txrx_16()
119 struct spi_bitbang *bitbang; in bitbang_txrx_32() local
138 if (bitbang->set_mosi_idle) in bitbang_txrx_32()
216 if (bitbang->set_mosi_idle) in spi_bitbang_setup()
284 bitbang->busy = 1; in spi_bitbang_prepare_hardware()
324 bitbang->busy = 0; in spi_bitbang_unprepare_hardware()
385 if (!bitbang->txrx_bufs) { in spi_bitbang_init()
[all …]
H A Dspi-sh-sci.c25 struct spi_bitbang bitbang; member
139 sp->bitbang.ctlr = host; in sh_sci_spi_probe()
140 sp->bitbang.ctlr->bus_num = sp->info->bus_num; 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()
162 ret = spi_bitbang_start(&sp->bitbang); in sh_sci_spi_probe()
169 spi_controller_put(sp->bitbang.ctlr); in sh_sci_spi_probe()
178 spi_bitbang_stop(&sp->bitbang); in sh_sci_spi_remove()
[all …]
H A Dspi-lm70llp.c71 struct spi_bitbang bitbang; member
215 pp->bitbang.ctlr = host; 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.ctlr, &pp->info); in spi_lm70llp_attach()
282 spi_bitbang_stop(&pp->bitbang); in spi_lm70llp_attach()
304 spi_bitbang_stop(&pp->bitbang); in spi_lm70llp_detach()
312 spi_controller_put(pp->bitbang.ctlr); in spi_lm70llp_detach()
H A Dspi-butterfly.c51 struct spi_bitbang bitbang; member
208 pp->bitbang.ctlr = 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.ctlr, &pp->info[0]); in butterfly_attach()
302 spi_bitbang_stop(&pp->bitbang); in butterfly_detach()
311 spi_controller_put(pp->bitbang.ctlr); in butterfly_detach()
H A Dspi-xtensa-xtfpga.c25 struct spi_bitbang bitbang; member
96 xspi->bitbang.ctlr = host; 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 Dspi-ath79.c41 struct spi_bitbang bitbang; member
192 sp->bitbang.ctlr = 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()
220 ret = spi_bitbang_start(&sp->bitbang); in ath79_spi_probe()
238 spi_bitbang_stop(&sp->bitbang); in ath79_spi_remove()
240 spi_controller_put(sp->bitbang.ctlr); in ath79_spi_remove()
H A Dspi-oc-tiny.c38 struct spi_bitbang bitbang; member
195 hw->bitbang.ctlr->dev.of_node = pdev->dev.of_node; in tiny_spi_of_probe()
230 hw->bitbang.ctlr = host; in tiny_spi_probe()
231 hw->bitbang.setup_transfer = tiny_spi_setup_transfer; in tiny_spi_probe()
232 hw->bitbang.txrx_bufs = tiny_spi_txrx_bufs; in tiny_spi_probe()
260 err = spi_bitbang_start(&hw->bitbang); in tiny_spi_probe()
275 struct spi_controller *host = hw->bitbang.ctlr; in tiny_spi_remove()
277 spi_bitbang_stop(&hw->bitbang); in tiny_spi_remove()
H A Dspi-omap-uwire.c89 struct spi_bitbang bitbang; member
451 spi_controller_put(uwire->bitbang.ctlr); in uwire_off()
496 uwire->bitbang.ctlr = host; 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()
H A Dspi-ppc4xx.c112 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()
359 bbp = &hw->bitbang; in spi_ppc4xx_of_probe()
471 spi_bitbang_stop(&hw->bitbang); in spi_ppc4xx_of_remove()
H A Dspi-xilinx.c81 struct spi_bitbang bitbang; member
437 xspi->bitbang.ctlr = host; 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_controller_put(xspi->bitbang.ctlr); in xilinx_spi_remove()
H A Dspi-davinci.c105 struct spi_bitbang bitbang; member
462 struct device *sdev = dspi->bitbang.ctlr->dev.parent; in davinci_spi_check_error()
751 struct device *sdev = dspi->bitbang.ctlr->dev.parent; in davinci_spi_request_dma()
922 dspi->bitbang.ctlr = host; in davinci_spi_probe()
940 dspi->bitbang.chipselect = davinci_spi_chipselect; in davinci_spi_probe()
941 dspi->bitbang.setup_transfer = davinci_spi_setup_transfer; in davinci_spi_probe()
945 dspi->bitbang.flags = SPI_NO_CS | SPI_LSB_FIRST | SPI_LOOP | SPI_CS_WORD; in davinci_spi_probe()
947 dspi->bitbang.flags |= SPI_READY; in davinci_spi_probe()
949 dspi->bitbang.txrx_bufs = davinci_spi_bufs; in davinci_spi_probe()
984 ret = spi_bitbang_start(&dspi->bitbang); in davinci_spi_probe()
[all …]
H A Dspi-gpio.c33 struct spi_bitbang bitbang; member
53 spi_gpio = container_of(bang, struct spi_gpio, bitbang); in spi_to_spi_gpio()
386 bb = &spi_gpio->bitbang; in spi_gpio_probe()
411 status = spi_bitbang_init(&spi_gpio->bitbang); in spi_gpio_probe()
H A Dspi-au1550.c41 struct spi_bitbang bitbang; member
794 hw->bitbang.ctlr = hw->host; in au1550_spi_probe()
795 hw->bitbang.setup_transfer = au1550_spi_setupxfer; in au1550_spi_probe()
796 hw->bitbang.chipselect = au1550_spi_chipsel; in au1550_spi_probe()
797 hw->bitbang.txrx_bufs = au1550_spi_txrx_bufs; in au1550_spi_probe()
875 err = spi_bitbang_start(&hw->bitbang); in au1550_spi_probe()
924 spi_bitbang_stop(&hw->bitbang); in au1550_spi_remove()
/linux-6.15/drivers/net/ethernet/freescale/fs_enet/
H A Dmii-bitbang.c60 bb_set(bitbang->dir, bitbang->mdio_msk); in mdio_dir()
62 bb_clr(bitbang->dir, bitbang->mdio_msk); in mdio_dir()
71 return bb_read(bitbang->dat, bitbang->mdio_msk); in mdio_read()
79 bb_set(bitbang->dat, bitbang->mdio_msk); in mdio()
81 bb_clr(bitbang->dat, bitbang->mdio_msk); in mdio()
92 bb_set(bitbang->dat, bitbang->mdc_msk); in mdc()
94 bb_clr(bitbang->dat, bitbang->mdc_msk); in mdc()
142 bitbang->dat = bitbang->dir + 4; in fs_mii_bitbang_init()
156 if (!bitbang) in fs_enet_mdio_probe()
187 kfree(bitbang); in fs_enet_mdio_probe()
[all …]
H A DMakefile13 obj-$(CONFIG_FS_ENET_MDIO_FCC) += mii-bitbang.o
/linux-6.15/drivers/net/mdio/
H A Dmdio-gpio.c40 if (IS_ERR(bitbang->mdc)) in mdio_gpio_get_data()
41 return PTR_ERR(bitbang->mdc); 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()
55 struct mdio_gpio_info *bitbang = in mdio_dir() local
58 if (bitbang->mdo) { in mdio_dir()
76 struct mdio_gpio_info *bitbang = in mdio_get() local
84 struct mdio_gpio_info *bitbang = in mdio_set() local
87 if (bitbang->mdo) in mdio_set()
167 bitbang = devm_kzalloc(&pdev->dev, sizeof(*bitbang), GFP_KERNEL); in mdio_gpio_probe()
[all …]
H A DMakefile11 obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
/linux-6.15/Documentation/devicetree/bindings/net/
H A Dfsl,cpm-mdio.yaml17 - fsl,cpm2-mdio-bitbang
19 - const: fsl,mpc8272ads-mdio-bitbang
20 - const: fsl,mpc8272-mdio-bitbang
21 - const: fsl,cpm2-mdio-bitbang
46 compatible = "fsl,mpc8272ads-mdio-bitbang",
47 "fsl,mpc8272-mdio-bitbang",
48 "fsl,cpm2-mdio-bitbang";
/linux-6.15/drivers/net/ethernet/renesas/
H A Dsh_eth.c1181 if (bitbang->set_gate) in sh_mdio_ctrl()
1182 bitbang->set_gate(bitbang->addr); in sh_mdio_ctrl()
1184 pir = ioread32(bitbang->addr); in sh_mdio_ctrl()
1189 iowrite32(pir, bitbang->addr); in sh_mdio_ctrl()
1209 if (bitbang->set_gate) in sh_get_mdio()
1210 bitbang->set_gate(bitbang->addr); in sh_get_mdio()
1212 return (ioread32(bitbang->addr) & PIR_MDI) != 0; in sh_get_mdio()
3093 struct bb_info *bitbang; in sh_mdio_init() local
3101 if (!bitbang) in sh_mdio_init()
3106 bitbang->set_gate = pd->set_mdio_gate; in sh_mdio_init()
[all …]
/linux-6.15/arch/arm/boot/dts/nxp/imx/
H A Dimx6q-prtwd2.dts39 /* PRTWD2 rev 1 bitbang I2C for Ethernet Switch */
/linux-6.15/drivers/staging/gpib/
H A DKconfig144 tristate "RPi GPIO bitbang"
148 GPIB bitbang driver Raspberry Pi GPIO adapters
/linux-6.15/arch/powerpc/boot/dts/
H A Dep8248e.dts66 compatible = "fsl,ep8248e-mdio-bitbang";
H A Dmgcoge.dts171 compatible = "fsl,cpm2-mdio-bitbang";
/linux-6.15/Documentation/driver-api/gpio/
H A Ddrivers-on-gpio.rst54 (two wires, SDA and SCL lines) by hammering (bitbang) two GPIO lines. It will
60 GPIO hammering (bitbang). It will appear as any other SPI bus on the system
/linux-6.15/arch/arm64/boot/dts/qcom/
H A Dmsm8953-xiaomi-daisy.dts79 * We bitbang on &i2c_4 because BLSP is protected by TZ as sensors are

12