aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/usb
diff options
context:
space:
mode:
authorRoger Quadros <rogerq@ti.com>2013-10-03 11:12:31 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-10-03 18:47:30 -0400
commit6cb9310a3290beb8c0d31703a2e76b90a10b4ca0 (patch)
treec748ea598aa00e38474a483281fee7093e1efd59 /include/linux/usb
parent4fd06af96b9397fc54eb6b1a013a60c34693eef0 (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.h24
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
22enum 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
22struct omap_control_usb { 29struct 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
34enum omap_control_usb_mode { 41enum 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)
63extern struct device *omap_get_control_dev(void); 68extern struct device *omap_get_control_dev(void);
64extern void omap_control_usb_phy_power(struct device *dev, int on); 69extern void omap_control_usb_phy_power(struct device *dev, int on);
65extern void omap_control_usb3_phy_power(struct device *dev, bool on);
66extern void omap_control_usb_set_mode(struct device *dev, 70extern 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
78static inline void omap_control_usb3_phy_power(struct device *dev, int on)
79{
80}
81
82static inline void omap_control_usb_set_mode(struct device *dev, 82static 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{