Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
Sebastian Andrzej Siewior | 3bb869c | 2013-07-30 21:43:45 +0200 | [diff] [blame] | 2 | #ifndef _AM335x_PHY_CONTROL_H_ |
| 3 | #define _AM335x_PHY_CONTROL_H_ |
| 4 | |
| 5 | struct phy_control { |
Bin Liu | 59f042f | 2015-12-08 10:31:50 -0600 | [diff] [blame] | 6 | void (*phy_power)(struct phy_control *phy_ctrl, u32 id, |
| 7 | enum usb_dr_mode dr_mode, bool on); |
Sebastian Andrzej Siewior | 3bb869c | 2013-07-30 21:43:45 +0200 | [diff] [blame] | 8 | void (*phy_wkup)(struct phy_control *phy_ctrl, u32 id, bool on); |
| 9 | }; |
| 10 | |
Bin Liu | 59f042f | 2015-12-08 10:31:50 -0600 | [diff] [blame] | 11 | static inline void phy_ctrl_power(struct phy_control *phy_ctrl, u32 id, |
| 12 | enum usb_dr_mode dr_mode, bool on) |
Sebastian Andrzej Siewior | 3bb869c | 2013-07-30 21:43:45 +0200 | [diff] [blame] | 13 | { |
Bin Liu | 59f042f | 2015-12-08 10:31:50 -0600 | [diff] [blame] | 14 | phy_ctrl->phy_power(phy_ctrl, id, dr_mode, on); |
Sebastian Andrzej Siewior | 3bb869c | 2013-07-30 21:43:45 +0200 | [diff] [blame] | 15 | } |
| 16 | |
| 17 | static inline void phy_ctrl_wkup(struct phy_control *phy_ctrl, u32 id, bool on) |
| 18 | { |
| 19 | phy_ctrl->phy_wkup(phy_ctrl, id, on); |
| 20 | } |
| 21 | |
| 22 | struct phy_control *am335x_get_phy_control(struct device *dev); |
| 23 | |
| 24 | #endif |