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

mxc_ir.c File Reference

Detailed Description

Driver for the Freescale Semiconductor MXC FIRI.

This driver is based on drivers/net/irda/sa1100_ir.c, by Russell King.

Definition in file mxc_ir.c.

#include <linux/module.h>
#include <linux/init.h>
#include <linux/netdevice.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
#include <linux/dma-mapping.h>
#include <linux/clk.h>
#include <net/irda/irda.h>
#include <net/irda/wrapper.h>
#include <net/irda/irda_device.h>
#include <asm/irq.h>
#include <asm/dma.h>
#include <mach/hardware.h>
#include <mach/mxc_uart.h>
#include "mxc_ir.h"

Go to the source code of this file.


struct  mxc_irda


#define FIRI_SDMA_RX
#define FIRI_SDMA_TX
#define IRDA_FRAME_SIZE_LIMIT   2047
#define IS_FIR(mi)   ( (mi)->speed >= 4000000 )
#define IS_MIR(mi)   ( (mi)->speed < 4000000 && (mi)->speed >= 576000 )
#define IS_SIR(mi)   ( (mi)->speed <= 115200 )
#define mxc_irda_resume   NULL
#define mxc_irda_suspend   NULL
#define UART4_UFCR_RXTL   1
#define UART4_UFCR_TXTL   16
#define UART_BUFF_SIZE   14384


void gpio_firi_active (void *, unsigned int)
void gpio_firi_inactive (void)
void gpio_firi_init (void)
 MODULE_AUTHOR ("Freescale Semiconductor")
 module_exit (mxc_irda_exit)
 module_init (mxc_irda_init)
static void mxc_irda_disabledma (struct mxc_irda *si)
static void __exit mxc_irda_exit (void)
static void mxc_irda_fir_dma_rx_irq (void *id, int error_status, unsigned int count)
static void mxc_irda_fir_dma_tx_irq (void *id, int error_status, unsigned int count)
static int mxc_irda_fir_error (struct mxc_irda *si)
void mxc_irda_fir_irq (struct net_device *dev)
void mxc_irda_fir_irq_tx (struct net_device *dev)
void mxc_irda_firi_init (struct mxc_irda *si)
static int mxc_irda_hard_xmit (struct sk_buff *skb, struct net_device *dev)
static int __init mxc_irda_init (void)
static int mxc_irda_init_iobuf (iobuff_t *io, int size)
static int mxc_irda_ioctl (struct net_device *dev, struct ifreq *ifreq, int cmd)
static irqreturn_t mxc_irda_irq (int irq, void *dev_id)
static int mxc_irda_probe (struct platform_device *pdev)
static int mxc_irda_remove (struct platform_device *pdev)
static int mxc_irda_rx_alloc (struct mxc_irda *si)
static irqreturn_t mxc_irda_rx_irq (int irq, void *dev_id)
static void mxc_irda_rx_task (unsigned long tparam)
static int mxc_irda_set_speed (struct mxc_irda *si, int speed)
static int mxc_irda_sir_rxirq (struct mxc_irda *si, struct net_device *dev)
static int mxc_irda_sir_txirq (struct mxc_irda *si, struct net_device *dev)
static int mxc_irda_start (struct net_device *dev)
static int mxc_irda_startup (struct mxc_irda *si)
static struct net_device_stats * mxc_irda_stats (struct net_device *dev)
static int mxc_irda_stop (struct net_device *dev)
static irqreturn_t mxc_irda_tx_irq (int irq, void *dev_id)
static int mxc_irda_uart_init (struct mxc_irda *si)


struct tasklet_struct dma_rx_tasklet
static struct net_device_ops mxc_irda_ops
static struct platform_driver mxcir_driver

Generated by  Doxygen 1.6.0   Back to index