*
* Maintainer: Kumar Gala <galak@kernel.crashing.org>
*
- * Copyright 2004 Freescale Semiconductor, Inc
+ * Copyright 2004-2008 Freescale Semiconductor, Inc
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
#define _FSL_DEVICE_H_
#include <linux/types.h>
+#include <linux/interrupt.h>
/*
* Some conventions on how we handle peripherals on Freescale chips
int (*init)(struct platform_device *);
void (*exit)(struct platform_device *);
+
+ u32 xcvr_type; /* PORTSCX_PTS_* */
+ u32 view; /* ULPI viewport register */
+ u32 r_start; /* start of MEM resource */
+ u32 r_len; /* length of MEM resource */
+
void __iomem *regs; /* ioremap'd register base */
struct clk *clk;
unsigned big_endian_mmio:1;
unsigned have_sysif_regs:1;
unsigned invert_drvvbus:1;
unsigned invert_pwr_fault:1;
+ unsigned does_otg : 1; /* set IFF it's an OTG port */
+
+ unsigned power_budget; /* for hcd->power_budget */
+ struct fsl_xcvr_ops *xcvr_ops;
+ int max_ep_nr; /* max # of endpoints */
};
/* Flags in fsl_usb2_mph_platform_data */
static inline int fsl_deep_sleep(void) { return 0; }
#endif
+struct fsl_ata_platform_data {
+#ifdef CONFIG_FSL_PATA_USE_DMA
+ int udma_mask; /* UDMA modes h/w can handle */
+ int fifo_alarm; /* value for fifo_alarm reg */
+ int max_sg; /* longest sglist h/w can handle */
+#endif
+ int (*init)(struct platform_device *pdev);
+ void (*exit)(void);
+ int (*get_clk_rate)(void);
+};
+
+struct coldfire_fec_platform_data {
+ int hash_table;
+ unsigned int *fec_hw;
+ void (*request_intrs)(struct net_device *dev,
+ irqreturn_t (*)(int, void *),
+ void *irq_privatedata);
+ void (*set_mii)(struct net_device *dev);
+ void (*get_mac)(struct net_device *dev);
+ void (*enable_phy_intr)(void);
+ void (*disable_phy_intr)(void);
+ void (*phy_ack_intr)(void);
+ void (*localhw_setup)(void);
+ void (*uncache)(unsigned long addr);
+ void (*platform_flush_cache)(void);
+};
+
#endif /* _FSL_DEVICE_H_ */