@ -11,8 +11,11 @@
*/
# include <common.h>
# include <dm.h>
# include <mmc.h>
# include <axp_pmic.h>
# include <generic-phy.h>
# include <phy-sun4i-usb.h>
# include <asm/arch/clock.h>
# include <asm/arch/cpu.h>
# include <asm/arch/display.h>
@ -595,7 +598,35 @@ void sunxi_board_init(void)
# ifdef CONFIG_USB_GADGET
int g_dnl_board_usb_cable_connected ( void )
{
return sunxi_usb_phy_vbus_detect ( 0 ) ;
struct udevice * dev ;
struct phy phy ;
int ret ;
ret = uclass_get_device ( UCLASS_USB_DEV_GENERIC , 0 , & dev ) ;
if ( ret ) {
pr_err ( " %s: Cannot find USB device \n " , __func__ ) ;
return ret ;
}
ret = generic_phy_get_by_name ( dev , " usb " , & phy ) ;
if ( ret ) {
pr_err ( " failed to get %s USB PHY \n " , dev - > name ) ;
return ret ;
}
ret = generic_phy_init ( & phy ) ;
if ( ret ) {
pr_err ( " failed to init %s USB PHY \n " , dev - > name ) ;
return ret ;
}
ret = sun4i_usb_phy_vbus_detect ( & phy ) ;
if ( ret = = 1 ) {
pr_err ( " A charger is plugged into the OTG \n " ) ;
return - ENODEV ;
}
return ret ;
}
# endif