1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17#ifndef _FSL_DEVICE_H_
18#define _FSL_DEVICE_H_
19
20#include <linux/types.h>
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46enum fsl_usb2_operating_modes {
47 FSL_USB2_MPH_HOST,
48 FSL_USB2_DR_HOST,
49 FSL_USB2_DR_DEVICE,
50 FSL_USB2_DR_OTG,
51};
52
53enum fsl_usb2_phy_modes {
54 FSL_USB2_PHY_NONE,
55 FSL_USB2_PHY_ULPI,
56 FSL_USB2_PHY_UTMI,
57 FSL_USB2_PHY_UTMI_WIDE,
58 FSL_USB2_PHY_SERIAL,
59};
60
61struct clk;
62struct platform_device;
63
64struct fsl_usb2_platform_data {
65
66 enum fsl_usb2_operating_modes operating_mode;
67 enum fsl_usb2_phy_modes phy_mode;
68 unsigned int port_enables;
69 unsigned int workaround;
70
71 int (*init)(struct platform_device *);
72 void (*exit)(struct platform_device *);
73 void __iomem *regs;
74 struct clk *clk;
75 unsigned power_budget;
76 unsigned big_endian_mmio:1;
77 unsigned big_endian_desc:1;
78 unsigned es:1;
79 unsigned le_setup_buf:1;
80 unsigned have_sysif_regs:1;
81 unsigned invert_drvvbus:1;
82 unsigned invert_pwr_fault:1;
83
84 unsigned suspended:1;
85 unsigned already_suspended:1;
86
87
88 u32 pm_command;
89 u32 pm_status;
90 u32 pm_intr_enable;
91 u32 pm_frame_index;
92 u32 pm_segment;
93 u32 pm_frame_list;
94 u32 pm_async_next;
95 u32 pm_configured_flag;
96 u32 pm_portsc;
97 u32 pm_usbgenctrl;
98};
99
100
101#define FSL_USB2_PORT0_ENABLED 0x00000001
102#define FSL_USB2_PORT1_ENABLED 0x00000002
103
104#define FLS_USB2_WORKAROUND_ENGCM09152 (1 << 0)
105
106struct spi_device;
107
108struct fsl_spi_platform_data {
109 u32 initial_spmode;
110 s16 bus_num;
111 unsigned int flags;
112#define SPI_QE_CPU_MODE (1 << 0)
113#define SPI_CPM_MODE (1 << 1)
114#define SPI_CPM1 (1 << 2)
115#define SPI_CPM2 (1 << 3)
116#define SPI_QE (1 << 4)
117
118 u16 max_chipselect;
119 void (*cs_control)(struct spi_device *spi, bool on);
120 u32 sysclk;
121};
122
123struct mpc8xx_pcmcia_ops {
124 void(*hw_ctrl)(int slot, int enable);
125 int(*voltage_set)(int slot, int vcc, int vpp);
126};
127
128
129
130
131
132#if defined(CONFIG_PPC_83xx) && defined(CONFIG_SUSPEND)
133int fsl_deep_sleep(void);
134#else
135static inline int fsl_deep_sleep(void) { return 0; }
136#endif
137
138#endif
139