Commit | Line | Data |
---|---|---|
657b306a KVA |
1 | /* |
2 | * omap_usb.h -- omap usb2 phy header file | |
3 | * | |
4 | * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com | |
5 | * This program is free software; you can redistribute it and/or modify | |
6 | * it under the terms of the GNU General Public License as published by | |
7 | * the Free Software Foundation; either version 2 of the License, or | |
8 | * (at your option) any later version. | |
9 | * | |
10 | * Author: Kishon Vijay Abraham I <kishon@ti.com> | |
11 | * | |
12 | * This program is distributed in the hope that it will be useful, | |
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | * GNU General Public License for more details. | |
16 | * | |
17 | */ | |
18 | ||
19 | #ifndef __DRIVERS_OMAP_USB2_H | |
20 | #define __DRIVERS_OMAP_USB2_H | |
21 | ||
57f6ce07 | 22 | #include <linux/io.h> |
657b306a KVA |
23 | #include <linux/usb/otg.h> |
24 | ||
57f6ce07 KVA |
25 | struct usb_dpll_params { |
26 | u16 m; | |
27 | u8 n; | |
28 | u8 freq:3; | |
29 | u8 sd; | |
30 | u32 mf; | |
31 | }; | |
32 | ||
657b306a KVA |
33 | struct omap_usb { |
34 | struct usb_phy phy; | |
35 | struct phy_companion *comparator; | |
57f6ce07 | 36 | void __iomem *pll_ctrl_base; |
657b306a | 37 | struct device *dev; |
ca784be3 | 38 | struct device *control_dev; |
657b306a | 39 | struct clk *wkupclk; |
57f6ce07 KVA |
40 | struct clk *sys_clk; |
41 | struct clk *optclk; | |
657b306a KVA |
42 | u8 is_suspended:1; |
43 | }; | |
44 | ||
657b306a KVA |
45 | #define phy_to_omapusb(x) container_of((x), struct omap_usb, phy) |
46 | ||
47 | #if defined(CONFIG_OMAP_USB2) || defined(CONFIG_OMAP_USB2_MODULE) | |
48 | extern int omap_usb2_set_comparator(struct phy_companion *comparator); | |
49 | #else | |
50 | static inline int omap_usb2_set_comparator(struct phy_companion *comparator) | |
51 | { | |
52 | return -ENODEV; | |
53 | } | |
54 | #endif | |
55 | ||
57f6ce07 KVA |
56 | static inline u32 omap_usb_readl(void __iomem *addr, unsigned offset) |
57 | { | |
58 | return __raw_readl(addr + offset); | |
59 | } | |
60 | ||
61 | static inline void omap_usb_writel(void __iomem *addr, unsigned offset, | |
62 | u32 data) | |
63 | { | |
64 | __raw_writel(data, addr + offset); | |
65 | } | |
66 | ||
657b306a | 67 | #endif /* __DRIVERS_OMAP_USB_H */ |