]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/linux/usb/omap_control_usb.h
usb: phy: omap: Add new device types and remove omap_control_usb3_phy_power()
[karo-tx-linux.git] / include / linux / usb / omap_control_usb.h
index e2416b45169b5320291457ead29d930580929829..61b889a9c67b7246f3284e06f0a01c982f2ec73a 100644 (file)
 #ifndef __OMAP_CONTROL_USB_H__
 #define __OMAP_CONTROL_USB_H__
 
+enum omap_control_usb_type {
+       OMAP_CTRL_TYPE_OTGHS = 1,       /* Mailbox OTGHS_CONTROL */
+       OMAP_CTRL_TYPE_USB2,    /* USB2_PHY, power down in CONTROL_DEV_CONF */
+       OMAP_CTRL_TYPE_PIPE3,   /* PIPE3 PHY, DPLL & seperate Rx/Tx power */
+       OMAP_CTRL_TYPE_DRA7USB2, /* USB2 PHY, power and power_aux e.g. DRA7 */
+};
+
 struct omap_control_usb {
        struct device *dev;
 
-       u32 __iomem *dev_conf;
        u32 __iomem *otghs_control;
-       u32 __iomem *phy_power;
+       u32 __iomem *power;
+       u32 __iomem *power_aux;
 
        struct clk *sys_clk;
 
-       u32 type;
+       enum omap_control_usb_type type;
 };
 
 enum omap_control_usb_mode {
@@ -38,10 +45,6 @@ enum omap_control_usb_mode {
        USB_MODE_DISCONNECT,
 };
 
-/* To differentiate ctrl module IP having either mailbox or USB3 PHY power */
-#define        OMAP_CTRL_DEV_TYPE1             0x1
-#define        OMAP_CTRL_DEV_TYPE2             0x2
-
 #define        OMAP_CTRL_DEV_PHY_PD            BIT(0)
 
 #define        OMAP_CTRL_DEV_AVALID            BIT(0)
@@ -59,10 +62,11 @@ enum omap_control_usb_mode {
 #define        OMAP_CTRL_USB3_PHY_TX_RX_POWERON        0x3
 #define        OMAP_CTRL_USB3_PHY_TX_RX_POWEROFF       0x0
 
+#define OMAP_CTRL_USB2_PHY_PD          BIT(28)
+
 #if IS_ENABLED(CONFIG_OMAP_CONTROL_USB)
 extern struct device *omap_get_control_dev(void);
 extern void omap_control_usb_phy_power(struct device *dev, int on);
-extern void omap_control_usb3_phy_power(struct device *dev, bool on);
 extern void omap_control_usb_set_mode(struct device *dev,
        enum omap_control_usb_mode mode);
 #else
@@ -75,10 +79,6 @@ static inline void omap_control_usb_phy_power(struct device *dev, int on)
 {
 }
 
-static inline void omap_control_usb3_phy_power(struct device *dev, int on)
-{
-}
-
 static inline void omap_control_usb_set_mode(struct device *dev,
        enum omap_control_usb_mode mode)
 {