/linux/drivers/net/wireless/mediatek/mt76/ |
H A D | sdio_txrx.c | 18 #include "sdio.h" 37 struct mt76_sdio *sdio = &dev->sdio; in mt76s_refill_sched_quota() local 48 sdio->sched.pse_mcu_quota += pse_mcu_quota; in mt76s_refill_sched_quota() 49 if (sdio->pse_mcu_quota_max && in mt76s_refill_sched_quota() 50 sdio->sched.pse_mcu_quota > sdio->pse_mcu_quota_max) { in mt76s_refill_sched_quota() 51 sdio->sched.pse_mcu_quota = sdio->pse_mcu_quota_max; in mt76s_refill_sched_quota() 53 sdio->sched.pse_data_quota += pse_data_quota; in mt76s_refill_sched_quota() 54 sdio->sched.ple_data_quota += ple_data_quota; in mt76s_refill_sched_quota() 89 struct mt76_sdio *sdio = &dev->sdio; in mt76s_rx_run_queue() local 100 if (len > sdio->func->cur_blksize) in mt76s_rx_run_queue() [all …]
|
H A D | sdio.c | 21 #include "sdio.h" 25 return sdio_readl(dev->sdio.func, MCR_WHISR, NULL); in mt76s_read_whisr() 30 struct mt76_sdio *sdio = &dev->sdio; in mt76s_read_pcr() local 32 return sdio_readl(sdio->func, MCR_WHLPCR, NULL); in mt76s_read_pcr() 38 struct sdio_func *func = dev->sdio.func; in mt76s_read_mailbox() 93 struct sdio_func *func = dev->sdio.func; in mt76s_write_mailbox() 231 dev->sdio.hw_ver = hw_ver; in mt76s_hw_init() 410 struct mt76_sdio *sdio = container_of(w, struct mt76_sdio, in mt76s_net_worker() local 412 struct mt76_dev *dev = container_of(sdio, struct mt76_dev, sdio); in mt76s_net_worker() 463 struct mt76_sdio *sdio = container_of(w, struct mt76_sdio, in mt76s_status_worker() local [all …]
|
/linux/drivers/net/wireless/mediatek/mt76/mt7921/ |
H A D | sdio_mac.c | 8 #include "../sdio.h" 14 struct mt76_sdio *sdio = &dev->sdio; in mt7921s_enable_irq() local 16 sdio_claim_host(sdio->func); in mt7921s_enable_irq() 17 sdio_writel(sdio->func, WHLPCR_INT_EN_SET, MCR_WHLPCR, NULL); in mt7921s_enable_irq() 18 sdio_release_host(sdio->func); in mt7921s_enable_irq() 23 struct mt76_sdio *sdio = &dev->sdio; in mt7921s_disable_irq() local 25 sdio_claim_host(sdio->func); in mt7921s_disable_irq() 26 sdio_writel(sdio->func, WHLPCR_INT_EN_CLR, MCR_WHLPCR, NULL); in mt7921s_disable_irq() 27 sdio_release_host(sdio->func); in mt7921s_disable_irq() 32 return sdio_readl(dev->sdio.func, MCR_WHCR, NULL); in mt7921s_read_whcr() [all …]
|
H A D | sdio.c | 15 #include "../sdio.h" 27 struct mt76_sdio *sdio = container_of(w, struct mt76_sdio, in mt7921s_txrx_worker() local 29 struct mt76_dev *mdev = container_of(sdio, struct mt76_dev, sdio); in mt7921s_txrx_worker() 37 mt76s_txrx_worker(sdio); in mt7921s_txrx_worker() 59 struct mt76_sdio *sdio = &dev->sdio; in mt7921s_parse_intr() local 60 struct mt7921_sdio_intr *irq_data = sdio->intr_data; in mt7921s_parse_intr() 63 sdio_claim_host(sdio->func); in mt7921s_parse_intr() 64 err = sdio_readsb(sdio->func, irq_data, MCR_WHISR, sizeof(*irq_data)); in mt7921s_parse_intr() 65 sdio_release_host(sdio->func); in mt7921s_parse_intr() 159 mdev->sdio.parse_irq = mt7921s_parse_intr; in mt7921s_probe() [all …]
|
H A D | sdio_mcu.c | 10 #include "../sdio.h" 26 * blocked by mt792x_mac_work that is excuting register access via sdio in mt7921s_mcu_send_message() 56 struct mt76_sdio *sdio = &dev->mt76.sdio; in mt7921s_read_rm3r() local 58 return sdio_readl(sdio->func, MCR_D2HRM3R, NULL); in mt7921s_read_rm3r() 63 struct mt76_sdio *sdio = &dev->mt76.sdio; in mt7921s_clear_rm3r_drv_own() local 66 val = sdio_readl(sdio->func, MCR_D2HRM3R, NULL); in mt7921s_clear_rm3r_drv_own() 68 sdio_writel(sdio->func, H2D_SW_INT_CLEAR_MAILBOX_ACK, in mt7921s_clear_rm3r_drv_own() 102 struct sdio_func *func = dev->mt76.sdio.func; in mt7921s_mcu_drv_pmctrl() 138 struct sdio_func *func = dev->mt76.sdio.func; in mt7921s_mcu_fw_pmctrl()
|
/linux/drivers/mmc/core/ |
H A D | sdio_io.c | 12 #include <linux/mmc/sdio.h> 21 * sdio_claim_host - exclusively claim a bus for a certain SDIO function 22 * @func: SDIO function that will be accessed 24 * Claim a bus for a set of operations. The SDIO function given 37 * sdio_release_host - release a bus for a certain SDIO function 38 * @func: SDIO function that was accessed 53 * sdio_enable_func - enables a SDIO function for usage 54 * @func: SDIO function to enable 56 * Powers up and activates a SDIO function so that register 68 pr_debug("SDIO: Enabling device %s...\n", sdio_func_id(func)); in sdio_enable_func() [all …]
|
H A D | sdio_irq.c | 23 #include <linux/mmc/sdio.h> 66 /* Don't process SDIO IRQs if the card is suspended. */ in process_sdio_pending_irqs() 148 * We want to allow for SDIO cards to work even on non SDIO in sdio_irq_thread() 149 * aware hosts. One thing that non SDIO host cannot do is in sdio_irq_thread() 150 * asynchronous notification of pending SDIO card interrupts in sdio_irq_thread() 169 * Just like traditional hard IRQ handlers, we expect SDIO in sdio_irq_thread() 290 * sdio_claim_irq - claim the IRQ for a SDIO function 291 * @func: SDIO function 294 * Claim and activate the IRQ for the given SDIO function. The provided 307 pr_debug("SDIO: Enabling IRQ for %s...\n", sdio_func_id(func)); in sdio_claim_irq() [all …]
|
/linux/drivers/mmc/host/ |
H A D | toshsd.h | 37 #define SD_CMD 0x00 /* also for SDIO */ 38 #define SD_ARG0 0x04 /* also for SDIO */ 39 #define SD_ARG1 0x06 /* also for SDIO */ 41 #define SD_BLOCKCOUNT 0x0a /* also for SDIO */ 42 #define SD_RESPONSE0 0x0c /* also for SDIO */ 43 #define SD_RESPONSE1 0x0e /* also for SDIO */ 44 #define SD_RESPONSE2 0x10 /* also for SDIO */ 45 #define SD_RESPONSE3 0x12 /* also for SDIO */ 46 #define SD_RESPONSE4 0x14 /* also for SDIO */ 47 #define SD_RESPONSE5 0x16 /* also for SDIO */ [all …]
|
/linux/drivers/net/wireless/broadcom/b43/ |
H A D | sdio.c | 5 * SDIO over Sonics Silicon Backplane bus glue for b43. 18 #include "sdio.h" 51 struct b43_sdio *sdio = sdio_get_drvdata(func); in b43_sdio_interrupt_dispatcher() local 52 struct b43_wldev *dev = sdio->irq_handler_opaque; in b43_sdio_interrupt_dispatcher() 58 sdio->irq_handler(dev); in b43_sdio_interrupt_dispatcher() 67 struct b43_sdio *sdio = sdio_get_drvdata(func); in b43_sdio_request_irq() local 70 sdio->irq_handler_opaque = dev; in b43_sdio_request_irq() 71 sdio->irq_handler = handler; in b43_sdio_request_irq() 83 struct b43_sdio *sdio = sdio_get_drvdata(func); in b43_sdio_free_irq() local 88 sdio->irq_handler_opaque = NULL; in b43_sdio_free_irq() [all …]
|
/linux/drivers/pinctrl/mvebu/ |
H A D | pinctrl-armada-ap806.c | 23 MPP_FUNCTION(1, "sdio", "clk"), 27 MPP_FUNCTION(1, "sdio", "cmd"), 31 MPP_FUNCTION(1, "sdio", "d0"), 35 MPP_FUNCTION(1, "sdio", "d1"), 39 MPP_FUNCTION(1, "sdio", "d2"), 43 MPP_FUNCTION(1, "sdio", "d3"), 47 MPP_FUNCTION(1, "sdio", "ds")), 50 MPP_FUNCTION(1, "sdio", "d4"), 54 MPP_FUNCTION(1, "sdio", "d5"), 58 MPP_FUNCTION(1, "sdio", "d6"), [all …]
|
H A D | pinctrl-ac5.c | 22 MPP_FUNCTION(1, "sdio", "d0"), 26 MPP_FUNCTION(1, "sdio", "d1"), 30 MPP_FUNCTION(1, "sdio", "d2"), 34 MPP_FUNCTION(1, "sdio", "d3"), 38 MPP_FUNCTION(1, "sdio", "d4"), 44 MPP_FUNCTION(1, "sdio", "d5"), 50 MPP_FUNCTION(1, "sdio", "d6"), 55 MPP_FUNCTION(1, "sdio", "d7"), 60 MPP_FUNCTION(1, "sdio", "clk"), 64 MPP_FUNCTION(1, "sdio", "cmd"), [all …]
|
H A D | pinctrl-armada-cp110.c | 311 MPP_FUNCTION(8, "sdio", "v18_en"), 317 MPP_FUNCTION(2, "sdio", "pwr10"), 321 MPP_FUNCTION(6, "sdio", "bus_pwr"), 328 MPP_FUNCTION(2, "sdio", "pwr11"), 332 MPP_FUNCTION(6, "sdio", "wr_protect"), 343 MPP_FUNCTION(6, "sdio", "card_detect"), 388 MPP_FUNCTION(1, "sdio", "wr_protect"), 396 MPP_FUNCTION(1, "sdio", "pwr11"), 408 MPP_FUNCTION(1, "sdio", "pwr10"), 409 MPP_FUNCTION(2, "sdio", "bus_pwr"), [all …]
|
/linux/drivers/net/wireless/microchip/wilc1000/ |
H A D | Kconfig | 6 This provides Wi-FI over an SDIO or SPI interface, and 12 tristate "Atmel WILC1000 SDIO (WiFi only)" 16 This module adds support for the SDIO interface of adapters using 17 WILC1000 chipset. The Atmel WILC1000 SDIO is a full speed interface. 18 It meets SDIO card specification version 2.0. The interface supports 23 this if your platform is using the SDIO bus. 46 mechanism for SDIO host controllers that don't support SDIO interrupt. 47 Select this option If the SDIO host controller in your platform 48 doesn't support SDIO time division interrupt.
|
/linux/drivers/net/wireless/realtek/rtw88/ |
H A D | Kconfig | 72 tristate "Realtek 8822BS SDIO wireless network adapter" 80 802.11ac SDIO wireless network adapter 105 tristate "Realtek 8822CS SDIO wireless network adapter" 113 802.11ac SDIO wireless network adapter 138 tristate "Realtek 8723DS SDIO wireless network adapter" 146 802.11n SDIO wireless network adapter 149 tristate "Realtek 8723CS SDIO wireless network adapter" 157 This module adds support for the 8723CS 802.11n SDIO 185 tristate "Realtek 8821CS SDIO wireless network adapter" 193 802.11ac SDIO wireless network adapter
|
H A D | sdio.h | 23 /* SDIO Tx Control */ 26 /*SDIO status timeout*/ 29 /* SDIO Host Interrupt Mask */ 51 /* the following two are RTL8188 SDIO Specific */ 55 /* SDIO Host Interrupt Service Routine */ 77 /* the following two are RTL8188 SDIO Specific */ 106 /* SDIO HCI Suspend Control */ 110 /* SDIO Host Extension Interrupt Mask Always */ 112 /* SDIO Host Extension Interrupt Status Always */ 123 /* Sdio Address for SDIO Local Reg, TRX FIFO, MAC Reg */
|
/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | marvell,kirkwood-pinctrl.txt | 39 mpp12 12 gpo, sdio(clk) 40 mpp13 13 gpio, sdio(cmd), uart1(txd) 41 mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col) 42 mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd) 43 mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs) 44 mpp17 17 gpio, sdio(d3) 77 mpp12 12 gpo, sdio(clk) 78 mpp13 13 gpio, sdio(cmd), uart1(txd) 79 mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col) 80 mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act) [all …]
|
H A D | loongson,ls2k-pinctrl.yaml | 42 enum: [gpio, sdio, can1, can0, pwm3, pwm2, pwm1, pwm0, i2c1, i2c0, 47 enum: [gpio, sdio, can1, can0, pwm3, pwm2, pwm1, pwm0, i2c1, i2c0, 65 sdio_pins_default: sdio-pins { 66 sdio-pinmux { 67 groups = "sdio"; 68 function = "sdio"; 71 sdio-det-pinmux {
|
/linux/include/linux/platform_data/ |
H A D | brcmfmac.h | 48 * enum brcmf_bus_type - Bus type identifier. Currently SDIO, USB and PCIE are 59 * struct brcmfmac_sdio_pd - SDIO Device specific platform data. 61 * @txglomsz: SDIO txglom size. Use 0 if default of driver is to be 63 * @drive_strength: is the preferred drive_strength to be used for the SDIO 68 * @oob_irq_supported: does the board have support for OOB interrupts. SDIO 77 * @broken_sg_support: flag for broken sg list support of SDIO host controller. 78 * Set this to true if the SDIO host controller has higher 85 * case of SDIO type devices. It is possible to reset a 86 * dongle via sdio data interface, but it requires that 135 * @id: ID of the device for which this data is. In case of SDIO [all …]
|
/linux/drivers/net/wireless/marvell/mwifiex/ |
H A D | sdio.h | 3 * NXP Wireless LAN device driver: SDIO specific definitions 13 #include <linux/mmc/sdio.h> 94 /* SDIO Tx aggregation in progress ? */ 97 /* SDIO Tx aggregation buffer room for next packet ? */ 101 /* Copy current packet (SDIO Tx aggregation buffer) to SDIO buffer */ 117 /* SDIO Tx aggregation limit ? */ 121 /* Reset SDIO Tx aggregation buffer parameters */ 129 /* SDIO Rx aggregation limit ? */ 133 /* SDIO Rx aggregation in progress ? */ 136 /* SDIO Rx aggregation buffer room for next packet ? */ [all …]
|
/linux/Documentation/devicetree/bindings/mmc/ |
H A D | mmc-controller-common.yaml | 20 The cell is the SDIO function number if a function subnode is used. 86 - for SD/SDIO cards the SDR104 mode has a max supported 112 line. Not used in combination with eMMC or SDIO. 175 cap-sdio-irq: 178 enable SDIO IRQ signalling on this interface 243 no-sdio: 246 Controller is limited to send SDIO commands during 294 SDIO only. Preserves card power during a suspend/resume cycle. 299 SDIO only. Enables wake up of host system on SDIO IRQ assertion. 316 sequence. To successfully detect an (e)MMC/SD/SDIO card, that [all …]
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | marvell-bt-8xxx.txt | 1 Marvell 8897/8997 (sd8897/sd8997) bluetooth devices (SDIO or USB based) 3 The 8997 devices supports multiple interfaces. When used on SDIO interfaces, 10 * "marvell,sd8897-bt" (for SDIO) 11 * "marvell,sd8997-bt" (for SDIO) 18 This is only applicable to SDIO devices. 26 - interrupts : specifies the interrupt pin number to the cpu. For SDIO, the 42 Example for SDIO device follows (calibration data is also available in
|
/linux/include/linux/mmc/ |
H A D | sdio_func.h | 22 * SDIO function CIS tuple (unknown to the core) 32 * SDIO function devices 73 * SDIO function device driver 86 * SDIO_DEVICE - macro used to describe a specific SDIO device 98 * SDIO_DEVICE_CLASS - macro used to describe a specific SDIO device class 102 * specific standard SDIO function type. The vendor and device fields will 116 * module_sdio_driver() - Helper macro for registering a SDIO driver 119 * Helper macro for SDIO drivers which do not do anything special in module 128 * SDIO I/O operations
|
/linux/drivers/net/wireless/ath/ath10k/ |
H A D | sdio.c | 15 #include <linux/mmc/sdio.h> 26 #include "sdio.h" 86 /* sdio/mmc functions */ 140 ath10k_dbg(ar, ATH10K_DBG_BOOT, "sdio configuration\n"); in ath10k_sdio_config() 208 ath10k_warn(ar, "failed to set sdio block size to %d: %d\n", in ath10k_sdio_config() 233 ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio write32 addr 0x%x val 0x%x\n", in ath10k_sdio_write32() 264 ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio writesb32 addr 0x%x val 0x%x\n", in ath10k_sdio_writesb32() 289 ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio read32 addr 0x%x val 0x%x\n", in ath10k_sdio_read32() 313 ath10k_dbg(ar, ATH10K_DBG_SDIO, "sdio read addr 0x%x buf 0x%p len %zu\n", in ath10k_sdio_read() 315 ath10k_dbg_dump(ar, ATH10K_DBG_SDIO_DUMP, NULL, "sdio read ", buf, len); in ath10k_sdio_read() [all …]
|
/linux/Documentation/devicetree/bindings/net/bluetooth/ |
H A D | mediatek,mt7921s-bluetooth.yaml | 13 MT7921S is an SDIO-attached dual-radio WiFi+Bluetooth Combo chip; each 14 function is its own SDIO function on a shared SDIO interface. The chip 16 This binding only covers the Bluetooth SDIO function, with one device 17 node describing only this SDIO function.
|
/linux/drivers/bluetooth/ |
H A D | Kconfig | 94 tristate "HCI SDIO driver" 97 Bluetooth HCI SDIO driver. 99 SDIO interface. 101 Say Y here to compile support for Bluetooth SDIO devices into the 401 tristate "Marvell BT-over-SDIO driver" 406 The driver for Marvell Bluetooth chipsets with SDIO interface. 409 devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8977/SD8987/SD8997 412 Say Y here to compile support for Marvell BT-over-SDIO driver 428 tristate "MediaTek HCI SDIO driver" 433 MediaTek Bluetooth HCI SDIO driver. [all …]
|