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