linux/include/linux/spi/altera.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 * Header File for Altera SPI Driver.
   4 */
   5#ifndef __LINUX_SPI_ALTERA_H
   6#define __LINUX_SPI_ALTERA_H
   7
   8#include <linux/interrupt.h>
   9#include <linux/regmap.h>
  10#include <linux/spi/spi.h>
  11#include <linux/types.h>
  12
  13#define ALTERA_SPI_MAX_CS               32
  14
  15/**
  16 * struct altera_spi_platform_data - Platform data of the Altera SPI driver
  17 * @mode_bits:          Mode bits of SPI master.
  18 * @num_chipselect:     Number of chipselects.
  19 * @bits_per_word_mask: bitmask of supported bits_per_word for transfers.
  20 * @num_devices:        Number of devices that shall be added when the driver
  21 *                      is probed.
  22 * @devices:            The devices to add.
  23 */
  24struct altera_spi_platform_data {
  25        u16                             mode_bits;
  26        u16                             num_chipselect;
  27        u32                             bits_per_word_mask;
  28        u16                             num_devices;
  29        struct spi_board_info           *devices;
  30};
  31
  32struct altera_spi {
  33        int irq;
  34        int len;
  35        int count;
  36        int bytes_per_word;
  37        u32 imr;
  38
  39        /* data buffers */
  40        const unsigned char *tx;
  41        unsigned char *rx;
  42
  43        struct regmap *regmap;
  44        u32 regoff;
  45        struct device *dev;
  46};
  47
  48extern irqreturn_t altera_spi_irq(int irq, void *dev);
  49extern void altera_spi_init_master(struct spi_master *master);
  50#endif /* __LINUX_SPI_ALTERA_H */
  51