linux/drivers/staging/wfx/bus.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Common bus abstraction layer.
   4 *
   5 * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
   6 * Copyright (c) 2010, ST-Ericsson
   7 */
   8#ifndef WFX_BUS_H
   9#define WFX_BUS_H
  10
  11#include <linux/mmc/sdio_func.h>
  12#include <linux/spi/spi.h>
  13
  14#define WFX_REG_CONFIG        0x0
  15#define WFX_REG_CONTROL       0x1
  16#define WFX_REG_IN_OUT_QUEUE  0x2
  17#define WFX_REG_AHB_DPORT     0x3
  18#define WFX_REG_BASE_ADDR     0x4
  19#define WFX_REG_SRAM_DPORT    0x5
  20#define WFX_REG_SET_GEN_R_W   0x6
  21#define WFX_REG_FRAME_OUT     0x7
  22
  23struct hwbus_ops {
  24        int (*copy_from_io)(void *bus_priv, unsigned int addr,
  25                            void *dst, size_t count);
  26        int (*copy_to_io)(void *bus_priv, unsigned int addr,
  27                          const void *src, size_t count);
  28        int (*irq_subscribe)(void *bus_priv);
  29        int (*irq_unsubscribe)(void *bus_priv);
  30        void (*lock)(void *bus_priv);
  31        void (*unlock)(void *bus_priv);
  32        size_t (*align_size)(void *bus_priv, size_t size);
  33};
  34
  35extern struct sdio_driver wfx_sdio_driver;
  36extern struct spi_driver wfx_spi_driver;
  37
  38#endif
  39