diff options
author | Roger Quadros <rogerq@ti.com> | 2013-10-03 11:12:31 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-10-03 18:47:30 -0400 |
commit | 6cb9310a3290beb8c0d31703a2e76b90a10b4ca0 (patch) | |
tree | c748ea598aa00e38474a483281fee7093e1efd59 /include/linux/usb | |
parent | 4fd06af96b9397fc54eb6b1a013a60c34693eef0 (diff) |
usb: phy: omap: Add new device types and remove omap_control_usb3_phy_power()
Add support for new device types and in the process rid of "ti,type"
device tree property. The correct type of device will be determined
from the compatible string instead.
Introduce a compatible string for each device type. At the moment
we support 4 types OTGHS, USB2, PIPE3 (e.g. USB3) and DRA7USB2.
Update DT binding information to reflect these changes.
Also get rid of omap_control_usb3_phy_power(). Just one function
i.e. omap_control_usb_phy_power() will now take care of all PHY types.
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/usb')
-rw-r--r-- | include/linux/usb/omap_control_usb.h | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/include/linux/usb/omap_control_usb.h b/include/linux/usb/omap_control_usb.h index e2416b45169b..61b889a9c67b 100644 --- a/include/linux/usb/omap_control_usb.h +++ b/include/linux/usb/omap_control_usb.h | |||
@@ -19,16 +19,23 @@ | |||
19 | #ifndef __OMAP_CONTROL_USB_H__ | 19 | #ifndef __OMAP_CONTROL_USB_H__ |
20 | #define __OMAP_CONTROL_USB_H__ | 20 | #define __OMAP_CONTROL_USB_H__ |
21 | 21 | ||
22 | enum omap_control_usb_type { | ||
23 | OMAP_CTRL_TYPE_OTGHS = 1, /* Mailbox OTGHS_CONTROL */ | ||
24 | OMAP_CTRL_TYPE_USB2, /* USB2_PHY, power down in CONTROL_DEV_CONF */ | ||
25 | OMAP_CTRL_TYPE_PIPE3, /* PIPE3 PHY, DPLL & seperate Rx/Tx power */ | ||
26 | OMAP_CTRL_TYPE_DRA7USB2, /* USB2 PHY, power and power_aux e.g. DRA7 */ | ||
27 | }; | ||
28 | |||
22 | struct omap_control_usb { | 29 | struct omap_control_usb { |
23 | struct device *dev; | 30 | struct device *dev; |
24 | 31 | ||
25 | u32 __iomem *dev_conf; | ||
26 | u32 __iomem *otghs_control; | 32 | u32 __iomem *otghs_control; |
27 | u32 __iomem *phy_power; | 33 | u32 __iomem *power; |
34 | u32 __iomem *power_aux; | ||
28 | 35 | ||
29 | struct clk *sys_clk; | 36 | struct clk *sys_clk; |
30 | 37 | ||
31 | u32 type; | 38 | enum omap_control_usb_type type; |
32 | }; | 39 | }; |
33 | 40 | ||
34 | enum omap_control_usb_mode { | 41 | enum omap_control_usb_mode { |
@@ -38,10 +45,6 @@ enum omap_control_usb_mode { | |||
38 | USB_MODE_DISCONNECT, | 45 | USB_MODE_DISCONNECT, |
39 | }; | 46 | }; |
40 | 47 | ||
41 | /* To differentiate ctrl module IP having either mailbox or USB3 PHY power */ | ||
42 | #define OMAP_CTRL_DEV_TYPE1 0x1 | ||
43 | #define OMAP_CTRL_DEV_TYPE2 0x2 | ||
44 | |||
45 | #define OMAP_CTRL_DEV_PHY_PD BIT(0) | 48 | #define OMAP_CTRL_DEV_PHY_PD BIT(0) |
46 | 49 | ||
47 | #define OMAP_CTRL_DEV_AVALID BIT(0) | 50 | #define OMAP_CTRL_DEV_AVALID BIT(0) |
@@ -59,10 +62,11 @@ enum omap_control_usb_mode { | |||
59 | #define OMAP_CTRL_USB3_PHY_TX_RX_POWERON 0x3 | 62 | #define OMAP_CTRL_USB3_PHY_TX_RX_POWERON 0x3 |
60 | #define OMAP_CTRL_USB3_PHY_TX_RX_POWEROFF 0x0 | 63 | #define OMAP_CTRL_USB3_PHY_TX_RX_POWEROFF 0x0 |
61 | 64 | ||
65 | #define OMAP_CTRL_USB2_PHY_PD BIT(28) | ||
66 | |||
62 | #if IS_ENABLED(CONFIG_OMAP_CONTROL_USB) | 67 | #if IS_ENABLED(CONFIG_OMAP_CONTROL_USB) |
63 | extern struct device *omap_get_control_dev(void); | 68 | extern struct device *omap_get_control_dev(void); |
64 | extern void omap_control_usb_phy_power(struct device *dev, int on); | 69 | extern void omap_control_usb_phy_power(struct device *dev, int on); |
65 | extern void omap_control_usb3_phy_power(struct device *dev, bool on); | ||
66 | extern void omap_control_usb_set_mode(struct device *dev, | 70 | extern void omap_control_usb_set_mode(struct device *dev, |
67 | enum omap_control_usb_mode mode); | 71 | enum omap_control_usb_mode mode); |
68 | #else | 72 | #else |
@@ -75,10 +79,6 @@ static inline void omap_control_usb_phy_power(struct device *dev, int on) | |||
75 | { | 79 | { |
76 | } | 80 | } |
77 | 81 | ||
78 | static inline void omap_control_usb3_phy_power(struct device *dev, int on) | ||
79 | { | ||
80 | } | ||
81 | |||
82 | static inline void omap_control_usb_set_mode(struct device *dev, | 82 | static inline void omap_control_usb_set_mode(struct device *dev, |
83 | enum omap_control_usb_mode mode) | 83 | enum omap_control_usb_mode mode) |
84 | { | 84 | { |