]> rtime.felk.cvut.cz Git - mcf548x/linux.git/blobdiff - include/linux/fsl_devices.h
Current (FEC from 2.6.31 port, no CAN, no I2C, no PCI)
[mcf548x/linux.git] / include / linux / fsl_devices.h
index 4eb56ed75fbceec07dce3a92cbd5a81b9c150a78..3bdb5b6d6d88d7ae90507902e7722f6e0822800c 100644 (file)
@@ -6,7 +6,7 @@
  *
  * 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
@@ -18,6 +18,7 @@
 #define _FSL_DEVICE_H_
 
 #include <linux/types.h>
+#include <linux/interrupt.h>
 
 /*
  * Some conventions on how we handle peripherals on Freescale chips
@@ -70,6 +71,12 @@ struct fsl_usb2_platform_data {
 
        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;
@@ -79,6 +86,11 @@ struct fsl_usb2_platform_data {
        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 */
@@ -119,4 +131,31 @@ int fsl_deep_sleep(void);
 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_ */