Creation of Cybook 2416 (actually Gen4) repository
This commit is contained in:
60
include/asm-arm/mach/arch.h
Normal file
60
include/asm-arm/mach/arch.h
Normal file
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* linux/include/asm-arm/mach/arch.h
|
||||
*
|
||||
* Copyright (C) 2000 Russell King
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
struct tag;
|
||||
struct meminfo;
|
||||
struct sys_timer;
|
||||
|
||||
struct machine_desc {
|
||||
/*
|
||||
* Note! The first four elements are used
|
||||
* by assembler code in head-armv.S
|
||||
*/
|
||||
unsigned int nr; /* architecture number */
|
||||
unsigned int phys_io; /* start of physical io */
|
||||
unsigned int io_pg_offst; /* byte offset for io
|
||||
* page tabe entry */
|
||||
|
||||
const char *name; /* architecture name */
|
||||
unsigned long boot_params; /* tagged list */
|
||||
|
||||
unsigned int video_start; /* start of video RAM */
|
||||
unsigned int video_end; /* end of video RAM */
|
||||
|
||||
unsigned int reserve_lp0 :1; /* never has lp0 */
|
||||
unsigned int reserve_lp1 :1; /* never has lp1 */
|
||||
unsigned int reserve_lp2 :1; /* never has lp2 */
|
||||
unsigned int soft_reboot :1; /* soft reboot */
|
||||
void (*fixup)(struct machine_desc *,
|
||||
struct tag *, char **,
|
||||
struct meminfo *);
|
||||
void (*map_io)(void);/* IO mapping function */
|
||||
void (*init_irq)(void);
|
||||
struct sys_timer *timer; /* system tick timer */
|
||||
void (*init_machine)(void);
|
||||
};
|
||||
|
||||
/*
|
||||
* Set of macros to define architecture features. This is built into
|
||||
* a table by the linker.
|
||||
*/
|
||||
#define MACHINE_START(_type,_name) \
|
||||
static const struct machine_desc __mach_desc_##_type \
|
||||
__attribute_used__ \
|
||||
__attribute__((__section__(".arch.info.init"))) = { \
|
||||
.nr = MACH_TYPE_##_type, \
|
||||
.name = _name,
|
||||
|
||||
#define MACHINE_END \
|
||||
};
|
||||
|
||||
#endif
|
||||
57
include/asm-arm/mach/dma.h
Normal file
57
include/asm-arm/mach/dma.h
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* linux/include/asm-arm/mach/dma.h
|
||||
*
|
||||
* Copyright (C) 1998-2000 Russell King
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This header file describes the interface between the generic DMA handler
|
||||
* (dma.c) and the architecture-specific DMA backends (dma-*.c)
|
||||
*/
|
||||
|
||||
struct dma_struct;
|
||||
typedef struct dma_struct dma_t;
|
||||
|
||||
struct dma_ops {
|
||||
int (*request)(dmach_t, dma_t *); /* optional */
|
||||
void (*free)(dmach_t, dma_t *); /* optional */
|
||||
void (*enable)(dmach_t, dma_t *); /* mandatory */
|
||||
void (*disable)(dmach_t, dma_t *); /* mandatory */
|
||||
int (*residue)(dmach_t, dma_t *); /* optional */
|
||||
int (*setspeed)(dmach_t, dma_t *, int); /* optional */
|
||||
char *type;
|
||||
};
|
||||
|
||||
struct dma_struct {
|
||||
void *addr; /* single DMA address */
|
||||
unsigned long count; /* single DMA size */
|
||||
struct scatterlist buf; /* single DMA */
|
||||
int sgcount; /* number of DMA SG */
|
||||
struct scatterlist *sg; /* DMA Scatter-Gather List */
|
||||
|
||||
unsigned int active:1; /* Transfer active */
|
||||
unsigned int invalid:1; /* Address/Count changed */
|
||||
|
||||
dmamode_t dma_mode; /* DMA mode */
|
||||
int speed; /* DMA speed */
|
||||
|
||||
unsigned int lock; /* Device is allocated */
|
||||
const char *device_id; /* Device name */
|
||||
|
||||
unsigned int dma_base; /* Controller base address */
|
||||
int dma_irq; /* Controller IRQ */
|
||||
struct scatterlist cur_sg; /* Current controller buffer */
|
||||
unsigned int state;
|
||||
|
||||
struct dma_ops *d_ops;
|
||||
};
|
||||
|
||||
/* Prototype: void arch_dma_init(dma)
|
||||
* Purpose : Initialise architecture specific DMA
|
||||
* Params : dma - pointer to array of DMA structures
|
||||
*/
|
||||
extern void arch_dma_init(dma_t *dma);
|
||||
|
||||
extern void isa_init_dma(dma_t *dma);
|
||||
39
include/asm-arm/mach/flash.h
Normal file
39
include/asm-arm/mach/flash.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* linux/include/asm-arm/mach/flash.h
|
||||
*
|
||||
* Copyright (C) 2003 Russell King, All Rights Reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#ifndef ASMARM_MACH_FLASH_H
|
||||
#define ASMARM_MACH_FLASH_H
|
||||
|
||||
struct mtd_partition;
|
||||
struct mtd_info;
|
||||
|
||||
/*
|
||||
* map_name: the map probe function name
|
||||
* name: flash device name (eg, as used with mtdparts=)
|
||||
* width: width of mapped device
|
||||
* init: method called at driver/device initialisation
|
||||
* exit: method called at driver/device removal
|
||||
* set_vpp: method called to enable or disable VPP
|
||||
* mmcontrol: method called to enable or disable Sync. Burst Read in OneNAND
|
||||
* parts: optional array of mtd_partitions for static partitioning
|
||||
* nr_parts: number of mtd_partitions for static partitoning
|
||||
*/
|
||||
struct flash_platform_data {
|
||||
const char *map_name;
|
||||
const char *name;
|
||||
unsigned int width;
|
||||
int (*init)(void);
|
||||
void (*exit)(void);
|
||||
void (*set_vpp)(int on);
|
||||
void (*mmcontrol)(struct mtd_info *mtd, int sync_read);
|
||||
struct mtd_partition *parts;
|
||||
unsigned int nr_parts;
|
||||
};
|
||||
|
||||
#endif
|
||||
20
include/asm-arm/mach/irda.h
Normal file
20
include/asm-arm/mach/irda.h
Normal file
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* linux/include/asm-arm/mach/irda.h
|
||||
*
|
||||
* Copyright (C) 2004 Russell King.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#ifndef __ASM_ARM_MACH_IRDA_H
|
||||
#define __ASM_ARM_MACH_IRDA_H
|
||||
|
||||
struct irda_platform_data {
|
||||
int (*startup)(struct device *);
|
||||
void (*shutdown)(struct device *);
|
||||
int (*set_power)(struct device *, unsigned int state);
|
||||
void (*set_speed)(struct device *, unsigned int speed);
|
||||
};
|
||||
|
||||
#endif
|
||||
54
include/asm-arm/mach/irq.h
Normal file
54
include/asm-arm/mach/irq.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* linux/include/asm-arm/mach/irq.h
|
||||
*
|
||||
* Copyright (C) 1995-2000 Russell King.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#ifndef __ASM_ARM_MACH_IRQ_H
|
||||
#define __ASM_ARM_MACH_IRQ_H
|
||||
|
||||
#include <linux/irq.h>
|
||||
|
||||
struct seq_file;
|
||||
|
||||
/*
|
||||
* This is internal. Do not use it.
|
||||
*/
|
||||
extern void (*init_arch_irq)(void);
|
||||
extern void init_FIQ(void);
|
||||
extern int show_fiq_list(struct seq_file *, void *);
|
||||
|
||||
/*
|
||||
* Obsolete inline function for calling irq descriptor handlers.
|
||||
*/
|
||||
static inline void desc_handle_irq(unsigned int irq, struct irq_desc *desc)
|
||||
{
|
||||
desc->handle_irq(irq, desc);
|
||||
}
|
||||
|
||||
void set_irq_flags(unsigned int irq, unsigned int flags);
|
||||
|
||||
#define IRQF_VALID (1 << 0)
|
||||
#define IRQF_PROBE (1 << 1)
|
||||
#define IRQF_NOAUTOEN (1 << 2)
|
||||
|
||||
/*
|
||||
* This is for easy migration, but should be changed in the source
|
||||
*/
|
||||
#define do_bad_IRQ(irq,desc) \
|
||||
do { \
|
||||
spin_lock(&desc->lock); \
|
||||
handle_bad_irq(irq, desc); \
|
||||
spin_unlock(&desc->lock); \
|
||||
} while(0)
|
||||
|
||||
extern unsigned long irq_err_count;
|
||||
static inline void ack_bad_irq(int irq)
|
||||
{
|
||||
irq_err_count++;
|
||||
}
|
||||
|
||||
#endif
|
||||
33
include/asm-arm/mach/map.h
Normal file
33
include/asm-arm/mach/map.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* linux/include/asm-arm/map.h
|
||||
*
|
||||
* Copyright (C) 1999-2000 Russell King
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* Page table mapping constructs and function prototypes
|
||||
*/
|
||||
struct map_desc {
|
||||
unsigned long virtual;
|
||||
unsigned long pfn;
|
||||
unsigned long length;
|
||||
unsigned int type;
|
||||
};
|
||||
|
||||
#define MT_DEVICE 0
|
||||
#define MT_CACHECLEAN 1
|
||||
#define MT_MINICLEAN 2
|
||||
#define MT_LOW_VECTORS 3
|
||||
#define MT_HIGH_VECTORS 4
|
||||
#define MT_MEMORY 5
|
||||
#define MT_ROM 6
|
||||
#define MT_IXP2000_DEVICE 7
|
||||
#define MT_NONSHARED_DEVICE 8
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
extern void iotable_init(struct map_desc *, int);
|
||||
#else
|
||||
#define iotable_init(map,num) do { } while (0)
|
||||
#endif
|
||||
15
include/asm-arm/mach/mmc.h
Normal file
15
include/asm-arm/mach/mmc.h
Normal file
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* linux/include/asm-arm/mach/mmc.h
|
||||
*/
|
||||
#ifndef ASMARM_MACH_MMC_H
|
||||
#define ASMARM_MACH_MMC_H
|
||||
|
||||
#include <linux/mmc/protocol.h>
|
||||
|
||||
struct mmc_platform_data {
|
||||
unsigned int ocr_mask; /* available voltages */
|
||||
u32 (*translate_vdd)(struct device *, unsigned int);
|
||||
unsigned int (*status)(struct device *);
|
||||
};
|
||||
|
||||
#endif
|
||||
71
include/asm-arm/mach/pci.h
Normal file
71
include/asm-arm/mach/pci.h
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* linux/include/asm-arm/mach/pci.h
|
||||
*
|
||||
* Copyright (C) 2000 Russell King
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
struct pci_sys_data;
|
||||
struct pci_bus;
|
||||
|
||||
struct hw_pci {
|
||||
struct list_head buses;
|
||||
int nr_controllers;
|
||||
int (*setup)(int nr, struct pci_sys_data *);
|
||||
struct pci_bus *(*scan)(int nr, struct pci_sys_data *);
|
||||
void (*preinit)(void);
|
||||
void (*postinit)(void);
|
||||
u8 (*swizzle)(struct pci_dev *dev, u8 *pin);
|
||||
int (*map_irq)(struct pci_dev *dev, u8 slot, u8 pin);
|
||||
};
|
||||
|
||||
/*
|
||||
* Per-controller structure
|
||||
*/
|
||||
struct pci_sys_data {
|
||||
struct list_head node;
|
||||
int busnr; /* primary bus number */
|
||||
u64 mem_offset; /* bus->cpu memory mapping offset */
|
||||
unsigned long io_offset; /* bus->cpu IO mapping offset */
|
||||
struct pci_bus *bus; /* PCI bus */
|
||||
struct resource *resource[3]; /* Primary PCI bus resources */
|
||||
/* Bridge swizzling */
|
||||
u8 (*swizzle)(struct pci_dev *, u8 *);
|
||||
/* IRQ mapping */
|
||||
int (*map_irq)(struct pci_dev *, u8, u8);
|
||||
struct hw_pci *hw;
|
||||
};
|
||||
|
||||
/*
|
||||
* This is the standard PCI-PCI bridge swizzling algorithm.
|
||||
*/
|
||||
u8 pci_std_swizzle(struct pci_dev *dev, u8 *pinp);
|
||||
|
||||
/*
|
||||
* Call this with your hw_pci struct to initialise the PCI system.
|
||||
*/
|
||||
void pci_common_init(struct hw_pci *);
|
||||
|
||||
/*
|
||||
* PCI controllers
|
||||
*/
|
||||
extern int iop3xx_pci_setup(int nr, struct pci_sys_data *);
|
||||
extern struct pci_bus *iop3xx_pci_scan_bus(int nr, struct pci_sys_data *);
|
||||
extern void iop3xx_pci_preinit(void);
|
||||
|
||||
extern int dc21285_setup(int nr, struct pci_sys_data *);
|
||||
extern struct pci_bus *dc21285_scan_bus(int nr, struct pci_sys_data *);
|
||||
extern void dc21285_preinit(void);
|
||||
extern void dc21285_postinit(void);
|
||||
|
||||
extern int via82c505_setup(int nr, struct pci_sys_data *);
|
||||
extern struct pci_bus *via82c505_scan_bus(int nr, struct pci_sys_data *);
|
||||
extern void via82c505_init(void *sysdata);
|
||||
|
||||
extern int pci_v3_setup(int nr, struct pci_sys_data *);
|
||||
extern struct pci_bus *pci_v3_scan_bus(int nr, struct pci_sys_data *);
|
||||
extern void pci_v3_preinit(void);
|
||||
extern void pci_v3_postinit(void);
|
||||
33
include/asm-arm/mach/serial_at91.h
Normal file
33
include/asm-arm/mach/serial_at91.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* linux/include/asm-arm/mach/serial_at91.h
|
||||
*
|
||||
* Based on serial_sa1100.h by Nicolas Pitre
|
||||
*
|
||||
* Copyright (C) 2002 ATMEL Rousset
|
||||
*
|
||||
* Low level machine dependent UART functions.
|
||||
*/
|
||||
|
||||
struct uart_port;
|
||||
|
||||
/*
|
||||
* This is a temporary structure for registering these
|
||||
* functions; it is intended to be discarded after boot.
|
||||
*/
|
||||
struct atmel_port_fns {
|
||||
void (*set_mctrl)(struct uart_port *, u_int);
|
||||
u_int (*get_mctrl)(struct uart_port *);
|
||||
void (*enable_ms)(struct uart_port *);
|
||||
void (*pm)(struct uart_port *, u_int, u_int);
|
||||
int (*set_wake)(struct uart_port *, u_int);
|
||||
int (*open)(struct uart_port *);
|
||||
void (*close)(struct uart_port *);
|
||||
};
|
||||
|
||||
#if defined(CONFIG_SERIAL_ATMEL)
|
||||
void atmel_register_uart_fns(struct atmel_port_fns *fns);
|
||||
#else
|
||||
#define atmel_register_uart_fns(fns) do { } while (0)
|
||||
#endif
|
||||
|
||||
|
||||
31
include/asm-arm/mach/serial_sa1100.h
Normal file
31
include/asm-arm/mach/serial_sa1100.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* linux/include/asm-arm/mach/serial_sa1100.h
|
||||
*
|
||||
* Author: Nicolas Pitre
|
||||
*
|
||||
* Moved to include/asm-arm/mach and changed lots, Russell King
|
||||
*
|
||||
* Low level machine dependent UART functions.
|
||||
*/
|
||||
|
||||
struct uart_port;
|
||||
struct uart_info;
|
||||
|
||||
/*
|
||||
* This is a temporary structure for registering these
|
||||
* functions; it is intended to be discarded after boot.
|
||||
*/
|
||||
struct sa1100_port_fns {
|
||||
void (*set_mctrl)(struct uart_port *, u_int);
|
||||
u_int (*get_mctrl)(struct uart_port *);
|
||||
void (*pm)(struct uart_port *, u_int, u_int);
|
||||
int (*set_wake)(struct uart_port *, u_int);
|
||||
};
|
||||
|
||||
#ifdef CONFIG_SERIAL_SA1100
|
||||
void sa1100_register_uart_fns(struct sa1100_port_fns *fns);
|
||||
void sa1100_register_uart(int idx, int port);
|
||||
#else
|
||||
#define sa1100_register_uart_fns(fns) do { } while (0)
|
||||
#define sa1100_register_uart(idx,port) do { } while (0)
|
||||
#endif
|
||||
37
include/asm-arm/mach/sharpsl_param.h
Normal file
37
include/asm-arm/mach/sharpsl_param.h
Normal file
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Hardware parameter area specific to Sharp SL series devices
|
||||
*
|
||||
* Copyright (c) 2005 Richard Purdie
|
||||
*
|
||||
* Based on Sharp's 2.4 kernel patches
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
*/
|
||||
|
||||
struct sharpsl_param_info {
|
||||
unsigned int comadj_keyword;
|
||||
unsigned int comadj;
|
||||
|
||||
unsigned int uuid_keyword;
|
||||
unsigned char uuid[16];
|
||||
|
||||
unsigned int touch_keyword;
|
||||
unsigned int touch_xp;
|
||||
unsigned int touch_yp;
|
||||
unsigned int touch_xd;
|
||||
unsigned int touch_yd;
|
||||
|
||||
unsigned int adadj_keyword;
|
||||
unsigned int adadj;
|
||||
|
||||
unsigned int phad_keyword;
|
||||
unsigned int phadadj;
|
||||
} __attribute__((packed));
|
||||
|
||||
|
||||
extern struct sharpsl_param_info sharpsl_param;
|
||||
extern void sharpsl_save_param(void);
|
||||
|
||||
79
include/asm-arm/mach/time.h
Normal file
79
include/asm-arm/mach/time.h
Normal file
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* linux/include/asm-arm/mach/time.h
|
||||
*
|
||||
* Copyright (C) 2004 MontaVista Software, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#ifndef __ASM_ARM_MACH_TIME_H
|
||||
#define __ASM_ARM_MACH_TIME_H
|
||||
|
||||
#include <linux/sysdev.h>
|
||||
|
||||
/*
|
||||
* This is our kernel timer structure.
|
||||
*
|
||||
* - init
|
||||
* Initialise the kernels jiffy timer source, claim interrupt
|
||||
* using setup_irq. This is called early on during initialisation
|
||||
* while interrupts are still disabled on the local CPU.
|
||||
* - suspend
|
||||
* Suspend the kernel jiffy timer source, if necessary. This
|
||||
* is called with interrupts disabled, after all normal devices
|
||||
* have been suspended. If no action is required, set this to
|
||||
* NULL.
|
||||
* - resume
|
||||
* Resume the kernel jiffy timer source, if necessary. This
|
||||
* is called with interrupts disabled before any normal devices
|
||||
* are resumed. If no action is required, set this to NULL.
|
||||
* - offset
|
||||
* Return the timer offset in microseconds since the last timer
|
||||
* interrupt. Note: this must take account of any unprocessed
|
||||
* timer interrupt which may be pending.
|
||||
*/
|
||||
struct sys_timer {
|
||||
struct sys_device dev;
|
||||
void (*init)(void);
|
||||
void (*suspend)(void);
|
||||
void (*resume)(void);
|
||||
#ifndef CONFIG_GENERIC_TIME
|
||||
unsigned long (*offset)(void);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NO_IDLE_HZ
|
||||
struct dyn_tick_timer *dyn_tick;
|
||||
#endif
|
||||
};
|
||||
|
||||
#ifdef CONFIG_NO_IDLE_HZ
|
||||
|
||||
#define DYN_TICK_ENABLED (1 << 1)
|
||||
|
||||
struct dyn_tick_timer {
|
||||
spinlock_t lock;
|
||||
unsigned int state; /* Current state */
|
||||
int (*enable)(void); /* Enables dynamic tick */
|
||||
int (*disable)(void); /* Disables dynamic tick */
|
||||
void (*reprogram)(unsigned long); /* Reprograms the timer */
|
||||
int (*handler)(int, void *);
|
||||
};
|
||||
|
||||
void timer_dyn_reprogram(void);
|
||||
#else
|
||||
#define timer_dyn_reprogram() do { } while (0)
|
||||
#endif
|
||||
|
||||
extern struct sys_timer *system_timer;
|
||||
extern void timer_tick(void);
|
||||
|
||||
/*
|
||||
* Kernel time keeping support.
|
||||
*/
|
||||
struct timespec;
|
||||
extern int (*set_rtc)(void);
|
||||
extern void save_time_delta(struct timespec *delta, struct timespec *rtc);
|
||||
extern void restore_time_delta(struct timespec *delta, struct timespec *rtc);
|
||||
|
||||
#endif
|
||||
26
include/asm-arm/mach/udc_pxa2xx.h
Normal file
26
include/asm-arm/mach/udc_pxa2xx.h
Normal file
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* linux/include/asm-arm/mach/udc_pxa2xx.h
|
||||
*
|
||||
* This supports machine-specific differences in how the PXA2xx
|
||||
* USB Device Controller (UDC) is wired.
|
||||
*
|
||||
* It is set in linux/arch/arm/mach-pxa/<machine>.c or in
|
||||
* linux/arch/mach-ixp4xx/<machine>.c and used in
|
||||
* the probe routine of linux/drivers/usb/gadget/pxa2xx_udc.c
|
||||
*/
|
||||
|
||||
struct pxa2xx_udc_mach_info {
|
||||
int (*udc_is_connected)(void); /* do we see host? */
|
||||
void (*udc_command)(int cmd);
|
||||
#define PXA2XX_UDC_CMD_CONNECT 0 /* let host see us */
|
||||
#define PXA2XX_UDC_CMD_DISCONNECT 1 /* so host won't see us */
|
||||
|
||||
/* Boards following the design guidelines in the developer's manual,
|
||||
* with on-chip GPIOs not Lubbock's wierd hardware, can have a sane
|
||||
* VBUS IRQ and omit the methods above. Store the GPIO number
|
||||
* here; for GPIO 0, also mask in one of the pxa_gpio_mode() bits.
|
||||
*/
|
||||
u16 gpio_vbus; /* high == vbus present */
|
||||
u16 gpio_pullup; /* high == pullup activated */
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user