1/* 2 * Xilinx ZynqMP PHY header 3 * 4 * Copyright (C) 2016 Xilinx, Inc. 5 * 6 * Author: Anurag Kumar Vulisha <anuragku@xilinx.com> 7 * Author: Hyun Woo Kwon <hyunk@xilinx.com> 8 * 9 * This software is licensed under the terms of the GNU General Public 10 * License version 2, as published by the Free Software Foundation, and 11 * may be copied, distributed, and modified under those terms. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 */ 18 19#ifndef _PHY_ZYNQMP_H_ 20#define _PHY_ZYNQMP_H_ 21 22struct phy; 23 24#if defined(CONFIG_PHY_XILINX_ZYNQMP) 25 26extern int xpsgtr_override_deemph(struct phy *phy, u8 plvl, u8 vlvl); 27extern int xpsgtr_margining_factor(struct phy *phy, u8 plvl, u8 vlvl); 28extern int xpsgtr_wait_pll_lock(struct phy *phy); 29int xpsgtr_usb_crst_assert(struct phy *phy); 30int xpsgtr_usb_crst_release(struct phy *phy); 31#else 32 33static inline int xpsgtr_override_deemph(struct phy *base, u8 plvl, u8 vlvl) 34{ 35 return -ENODEV; 36} 37 38static inline int xpsgtr_margining_factor(struct phy *base, u8 plvl, u8 vlvl) 39{ 40 return -ENODEV; 41} 42 43extern inline int xpsgtr_wait_pll_lock(struct phy *phy) 44{ 45 return -ENODEV; 46} 47 48extern inline int xpsgtr_usb_crst_assert(struct phy *phy) 49{ 50 return -ENODEV; 51} 52 53extern inline int xpsgtr_usb_crst_release(struct phy *phy) 54{ 55 return -ENODEV; 56} 57 58#endif 59 60#endif /* _PHY_ZYNQMP_H_ */ 61