hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/include/linux/phy/omap_usb.h
....@@ -1,79 +1,15 @@
1
+/* SPDX-License-Identifier: GPL-2.0-or-later */
12 /*
23 * omap_usb.h -- omap usb2 phy header file
34 *
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
- *
5
+ * Copyright (C) 2012-2020 Texas Instruments Incorporated - http://www.ti.com
106 * 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
- *
177 */
188
199 #ifndef __DRIVERS_OMAP_USB2_H
2010 #define __DRIVERS_OMAP_USB2_H
2111
22
-#include <linux/io.h>
23
-#include <linux/usb/otg.h>
24
-
25
-struct usb_dpll_params {
26
- u16 m;
27
- u8 n;
28
- u8 freq:3;
29
- u8 sd;
30
- u32 mf;
31
-};
32
-
33
-enum omap_usb_phy_type {
34
- TYPE_USB2, /* USB2_PHY, power down in CONTROL_DEV_CONF */
35
- TYPE_DRA7USB2, /* USB2 PHY, power and power_aux e.g. DRA7 */
36
- TYPE_AM437USB2, /* USB2 PHY, power e.g. AM437x */
37
-};
38
-
39
-struct omap_usb {
40
- struct usb_phy phy;
41
- struct phy_companion *comparator;
42
- void __iomem *pll_ctrl_base;
43
- void __iomem *phy_base;
44
- struct device *dev;
45
- struct device *control_dev;
46
- struct clk *wkupclk;
47
- struct clk *optclk;
48
- u8 flags;
49
- enum omap_usb_phy_type type;
50
- struct regmap *syscon_phy_power; /* ctrl. reg. acces */
51
- unsigned int power_reg; /* power reg. index within syscon */
52
- u32 mask;
53
- u32 power_on;
54
- u32 power_off;
55
-};
56
-
57
-struct usb_phy_data {
58
- const char *label;
59
- u8 flags;
60
- u32 mask;
61
- u32 power_on;
62
- u32 power_off;
63
-};
64
-
65
-/* Driver Flags */
66
-#define OMAP_USB2_HAS_START_SRP (1 << 0)
67
-#define OMAP_USB2_HAS_SET_VBUS (1 << 1)
68
-#define OMAP_USB2_CALIBRATE_FALSE_DISCONNECT (1 << 2)
69
-
70
-#define OMAP_DEV_PHY_PD BIT(0)
71
-#define OMAP_USB2_PHY_PD BIT(28)
72
-
73
-#define AM437X_USB2_PHY_PD BIT(0)
74
-#define AM437X_USB2_OTG_PD BIT(1)
75
-#define AM437X_USB2_OTGVDET_EN BIT(19)
76
-#define AM437X_USB2_OTGSESSEND_EN BIT(20)
12
+#include <linux/usb/phy_companion.h>
7713
7814 #define phy_to_omapusb(x) container_of((x), struct omap_usb, phy)
7915
....@@ -85,16 +21,5 @@
8521 return -ENODEV;
8622 }
8723 #endif
88
-
89
-static inline u32 omap_usb_readl(void __iomem *addr, unsigned offset)
90
-{
91
- return __raw_readl(addr + offset);
92
-}
93
-
94
-static inline void omap_usb_writel(void __iomem *addr, unsigned offset,
95
- u32 data)
96
-{
97
- __raw_writel(data, addr + offset);
98
-}
9924
10025 #endif /* __DRIVERS_OMAP_USB_H */