Logo Search packages:      
Sourcecode: linux-fsl-imx51 version File versions  Download package

mxc_spi.c File Reference


Detailed Description

This file contains the implementation of the SPI master controller services.

Definition in file mxc_spi.c.

#include <linux/completion.h>
#include <linux/platform_device.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/module.h>
#include <linux/delay.h>
#include <linux/types.h>
#include <linux/clk.h>
#include <linux/spi/spi.h>
#include <linux/spi/spi_bitbang.h>
#include <mach/hardware.h>

Go to the source code of this file.

Classes

struct  mxc_spi
struct  mxc_spi_unique_def
 This structure contains information that differs with SPI master controller hardware version. More...
struct  mxc_spi_xfer

Defines

#define MXC_CSPICONFIG   0x08
#define MXC_CSPICTRL   0x08
#define MXC_CSPICTRL_CSMASK   0x3
#define MXC_CSPICTRL_DISABLE   0x0
#define MXC_CSPICTRL_SLAVE   0x0
#define MXC_CSPICTRL_SMC   (1 << 3)
#define MXC_CSPIINT   0x0C
#define MXC_CSPIINT_RFEN_SHIFT   5
#define MXC_CSPIINT_RHEN_SHIFT   4
#define MXC_CSPIINT_ROEN_SHIFT   6
#define MXC_CSPIINT_RREN_SHIFT   3
#define MXC_CSPIINT_TEEN_SHIFT   0
#define MXC_CSPIINT_TFEN_SHIFT   2
#define MXC_CSPIINT_THEN_SHIFT   1
#define MXC_CSPIPERIOD_32KHZ   (1 << 15)
#define MXC_CSPIRXDATA   0x00
#define MXC_CSPISTAT_RF   5
#define MXC_CSPISTAT_RH   4
#define MXC_CSPISTAT_RO   6
#define MXC_CSPISTAT_RR   3
#define MXC_CSPISTAT_TE   0
#define MXC_CSPISTAT_TF   2
#define MXC_CSPISTAT_TH   1
#define MXC_CSPITXDATA   0x04
#define MXC_HIGHPOL   0x0
#define MXC_LOWSSPOL   0x0
#define MXC_NOPHA   0x0
#define MXC_SPI_BUF_RX(type)
#define MXC_SPI_BUF_TX(type)
#define mxc_spi_resume   NULL
#define mxc_spi_suspend   NULL

Functions

void gpio_spi_active (int cspi_mod)
void gpio_spi_inactive (int cspi_mod)
 MODULE_AUTHOR ("Freescale Semiconductor, Inc.")
 MODULE_DESCRIPTION ("SPI Master Controller driver")
 module_exit (mxc_spi_exit)
 MODULE_LICENSE ("GPL")
void mxc_spi_chipselect (struct spi_device *spi, int is_active)
void mxc_spi_cleanup (struct spi_device *spi)
static void __exit mxc_spi_exit (void)
static int __init mxc_spi_init (void)
static irqreturn_t mxc_spi_isr (int irq, void *dev_id)
int mxc_spi_poll_transfer (struct spi_device *spi, struct spi_transfer *t)
static int mxc_spi_probe (struct platform_device *pdev)
static int mxc_spi_remove (struct platform_device *pdev)
int mxc_spi_setup (struct spi_device *spi)
static int mxc_spi_setup_transfer (struct spi_device *spi, struct spi_transfer *t)
int mxc_spi_transfer (struct spi_device *spi, struct spi_transfer *t)
static int spi_disable_interrupt (struct mxc_spi *master_data, unsigned int irqs)
static int spi_enable_interrupt (struct mxc_spi *master_data, unsigned int irqs)
static unsigned int spi_find_baudrate (struct mxc_spi *master_data, unsigned int baud)
static void spi_put_tx_data (void *base, unsigned int count, struct mxc_spi *master_drv_data)
 subsys_initcall (mxc_spi_init)

Variables

static struct platform_driver mxc_spi_driver
static struct mxc_spi_unique_def spi_ver_0_0
static struct mxc_spi_unique_def spi_ver_0_4
static struct mxc_spi_unique_def spi_ver_0_5
static struct mxc_spi_unique_def spi_ver_0_7
static struct mxc_spi_unique_def spi_ver_2_3


Generated by  Doxygen 1.6.0   Back to index