linux/include/linux/platform_data/atmel.h
<<
>>
Prefs
   1/*
   2 * atmel platform data
   3 *
   4 * GPL v2 Only
   5 */
   6
   7#ifndef __ATMEL_H__
   8#define __ATMEL_H__
   9
  10#include <linux/mtd/nand.h>
  11#include <linux/mtd/partitions.h>
  12#include <linux/serial.h>
  13
  14 /* Compact Flash */
  15struct at91_cf_data {
  16        int     irq_pin;                /* I/O IRQ */
  17        int     det_pin;                /* Card detect */
  18        int     vcc_pin;                /* power switching */
  19        int     rst_pin;                /* card reset */
  20        u8      chipselect;             /* EBI Chip Select number */
  21        u8      flags;
  22#define AT91_CF_TRUE_IDE        0x01
  23#define AT91_IDE_SWAP_A0_A2     0x02
  24};
  25
  26 /* NAND / SmartMedia */
  27struct atmel_nand_data {
  28        int             enable_pin;             /* chip enable */
  29        int             det_pin;                /* card detect */
  30        int             rdy_pin;                /* ready/busy */
  31        u8              rdy_pin_active_low;     /* rdy_pin value is inverted */
  32        u8              ale;                    /* address line number connected to ALE */
  33        u8              cle;                    /* address line number connected to CLE */
  34        u8              bus_width_16;           /* buswidth is 16 bit */
  35        u8              ecc_mode;               /* ecc mode */
  36        u8              on_flash_bbt;           /* bbt on flash */
  37        struct mtd_partition *parts;
  38        unsigned int    num_parts;
  39        bool            has_dma;                /* support dma transfer */
  40
  41        /* default is false, only for at32ap7000 chip is true */
  42        bool            need_reset_workaround;
  43};
  44
  45 /* Serial */
  46struct atmel_uart_data {
  47        int                     num;            /* port num */
  48        short                   use_dma_tx;     /* use transmit DMA? */
  49        short                   use_dma_rx;     /* use receive DMA? */
  50        void __iomem            *regs;          /* virt. base address, if any */
  51        struct serial_rs485     rs485;          /* rs485 settings */
  52};
  53
  54/* FIXME: this needs a better location, but gets stuff building again */
  55extern int at91_suspend_entering_slow_clock(void);
  56
  57#endif /* __ATMEL_H__ */
  58