Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
spi-fsl-espi.c File Reference
#include <linux/module.h>
#include <linux/delay.h>
#include <linux/irq.h>
#include <linux/spi/spi.h>
#include <linux/platform_device.h>
#include <linux/fsl_devices.h>
#include <linux/mm.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/interrupt.h>
#include <linux/err.h>
#include <sysdev/fsl_soc.h>
#include "spi-fsl-lib.h"

Go to the source code of this file.

Data Structures

struct  fsl_espi_reg
 
struct  fsl_espi_transfer
 

Macros

#define SPMODE_ENABLE   (1 << 31)
 
#define SPMODE_LOOP   (1 << 30)
 
#define SPMODE_TXTHR(x)   ((x) << 8)
 
#define SPMODE_RXTHR(x)   ((x) << 0)
 
#define CSMODE_CI_INACTIVEHIGH   (1 << 31)
 
#define CSMODE_CP_BEGIN_EDGECLK   (1 << 30)
 
#define CSMODE_REV   (1 << 29)
 
#define CSMODE_DIV16   (1 << 28)
 
#define CSMODE_PM(x)   ((x) << 24)
 
#define CSMODE_POL_1   (1 << 20)
 
#define CSMODE_LEN(x)   ((x) << 16)
 
#define CSMODE_BEF(x)   ((x) << 12)
 
#define CSMODE_AFT(x)   ((x) << 8)
 
#define CSMODE_CG(x)   ((x) << 3)
 
#define SPMODE_INIT_VAL   (SPMODE_TXTHR(4) | SPMODE_RXTHR(3))
 
#define CSMODE_INIT_VAL
 
#define SPIE_NE   0x00000200 /* Not empty */
 
#define SPIE_NF   0x00000100 /* Not full */
 
#define SPIM_NE   0x00000200 /* Not empty */
 
#define SPIM_NF   0x00000100 /* Not full */
 
#define SPIE_RXCNT(reg)   ((reg >> 24) & 0x3F)
 
#define SPIE_TXCNT(reg)   ((reg >> 16) & 0x3F)
 
#define SPCOM_CS(x)   ((x) << 30)
 
#define SPCOM_TRANLEN(x)   ((x) << 0)
 
#define SPCOM_TRANLEN_MAX   0xFFFF /* Max transaction length */
 

Functions

void fsl_espi_cpu_irq (struct mpc8xxx_spi *mspi, u32 events)
 
 MODULE_DEVICE_TABLE (of, of_fsl_espi_match)
 
 module_platform_driver (fsl_espi_driver)
 
 MODULE_AUTHOR ("Mingkai Hu")
 
 MODULE_DESCRIPTION ("Enhanced Freescale SPI Driver")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define CSMODE_AFT (   x)    ((x) << 8)

Definition at line 63 of file spi-fsl-espi.c.

#define CSMODE_BEF (   x)    ((x) << 12)

Definition at line 62 of file spi-fsl-espi.c.

#define CSMODE_CG (   x)    ((x) << 3)

Definition at line 64 of file spi-fsl-espi.c.

#define CSMODE_CI_INACTIVEHIGH   (1 << 31)

Definition at line 55 of file spi-fsl-espi.c.

#define CSMODE_CP_BEGIN_EDGECLK   (1 << 30)

Definition at line 56 of file spi-fsl-espi.c.

#define CSMODE_DIV16   (1 << 28)

Definition at line 58 of file spi-fsl-espi.c.

#define CSMODE_INIT_VAL
Value:

Definition at line 68 of file spi-fsl-espi.c.

#define CSMODE_LEN (   x)    ((x) << 16)

Definition at line 61 of file spi-fsl-espi.c.

#define CSMODE_PM (   x)    ((x) << 24)

Definition at line 59 of file spi-fsl-espi.c.

#define CSMODE_POL_1   (1 << 20)

Definition at line 60 of file spi-fsl-espi.c.

#define CSMODE_REV   (1 << 29)

Definition at line 57 of file spi-fsl-espi.c.

#define SPCOM_CS (   x)    ((x) << 30)

Definition at line 82 of file spi-fsl-espi.c.

#define SPCOM_TRANLEN (   x)    ((x) << 0)

Definition at line 83 of file spi-fsl-espi.c.

#define SPCOM_TRANLEN_MAX   0xFFFF /* Max transaction length */

Definition at line 84 of file spi-fsl-espi.c.

#define SPIE_NE   0x00000200 /* Not empty */

Definition at line 72 of file spi-fsl-espi.c.

#define SPIE_NF   0x00000100 /* Not full */

Definition at line 73 of file spi-fsl-espi.c.

#define SPIE_RXCNT (   reg)    ((reg >> 24) & 0x3F)

Definition at line 78 of file spi-fsl-espi.c.

#define SPIE_TXCNT (   reg)    ((reg >> 16) & 0x3F)

Definition at line 79 of file spi-fsl-espi.c.

#define SPIM_NE   0x00000200 /* Not empty */

Definition at line 76 of file spi-fsl-espi.c.

#define SPIM_NF   0x00000100 /* Not full */

Definition at line 77 of file spi-fsl-espi.c.

#define SPMODE_ENABLE   (1 << 31)

Definition at line 49 of file spi-fsl-espi.c.

#define SPMODE_INIT_VAL   (SPMODE_TXTHR(4) | SPMODE_RXTHR(3))

Definition at line 67 of file spi-fsl-espi.c.

#define SPMODE_LOOP   (1 << 30)

Definition at line 50 of file spi-fsl-espi.c.

#define SPMODE_RXTHR (   x)    ((x) << 0)

Definition at line 52 of file spi-fsl-espi.c.

#define SPMODE_TXTHR (   x)    ((x) << 8)

Definition at line 51 of file spi-fsl-espi.c.

Function Documentation

void fsl_espi_cpu_irq ( struct mpc8xxx_spi mspi,
u32  events 
)

Definition at line 507 of file spi-fsl-espi.c.

MODULE_AUTHOR ( "Mingkai Hu"  )
MODULE_DESCRIPTION ( "Enhanced Freescale SPI Driver"  )
MODULE_DEVICE_TABLE ( of  ,
of_fsl_espi_match   
)
MODULE_LICENSE ( "GPL"  )
module_platform_driver ( fsl_espi_driver  )