RP5260
SCP
0.1W
RP5260
26*20cm
2GB
16GB
Android4.4
WiFi/蓝牙/GPS/北斗
Exynos5260开发板评估板是荣品电子于15年初发布的一款基于成熟ARM解决方案,研发设计的一款低功耗、高性能、功能完善的Exynos5260处理器评估板,属于六核开发板。标配为2G DDR3内存+16G EMMC存储,支持USB3.0、支持200W-800W摄像头(标配800W摄像头),搭配金色铝框 10.1寸IPS液晶屏+触摸屏(分辨率1920*1200 )和的Android4.4.2操作系统。
RP5260样板支持WIFI+LAN上网、蓝牙4.0、4G上网、800万自动对焦摄像头、北斗GPS、网卡、音频,1080P HDMI音视频同步输出等功能,外接T卡,2个USB口,一个OTG接口等等。底板尺寸为260*200mm,核心板尺寸为60*55mm。
4G模块支持移动2、3、4G卡;联通和电信的4G卡
exynos5260开发板荣品电子分享OTG连接电脑问题解决办法。
问题描述:
1、rp5260开发板在不与电脑连接OTG的情况下进行启动,进入系统后再连接OTG线,电脑与板子无法识别,只有在开机前连接上,才可以正常识别。
2、开机前与电脑连接OTG线,进入系统后反复插拔都可以识别,但通过OTG口连接鼠标或U盘以后,再连接OTG无法识别。
解决方法:
修改文件:kernel.t5260.dev\drivers\usb\dwc3\exynos-drd-switch.c
修改方法:
1、
static void exynos_drd_switch_irq_work(struct work_struct *w)
{
struct exynos_drd_switch *drd_switch = container_of(w,
struct exynos_drd_switch, irq_work);
struct device *dev = drd_switch->otg.phy->dev;
bool vbus_active;
exynos_usb_call_notifier();
printk("muic_status = %d",muic_status);
if(muic_status == USB_NOTHING) {
printk("USB port is NOTHING!!!");
} else if(muic_status == USB_CABLE) {
printk("USB port is USB_CABLE!!!");
} else if(muic_status == USB_CHARGER) {
printk("USB port is USB_CHARGER!!!");
wake_lock_timeout(&drd_wake_lock, HZ);
return; // to skip wake_lock
} else {
// printk("USB port is unknown!!!");
// return; // remove by jeff
}
vbus_active = exynos_drd_switch_get_bses_vld(drd_switch);
dev_vdbg(dev, "IRQ: VBUS: %sactive", vbus_active ? "" : "in");
exynos_drd_switch_handle_vbus(drd_switch, vbus_active);
return;
}
2、
static irqreturn_t exynos_drd_switch_id_interrupt(int irq, void *_drdsw)
{
struct exynos_drd_switch *drd_switch =
(struct exynos_drd_switch *)_drdsw;
struct device *dev = drd_switch->otg.phy->dev;
enum id_pin_state id_state;
/*
* ID sts has changed, read it and later, in the workqueue
* function, switch from A to B or from B to A.
*/
id_state = exynos_drd_switch_get_id_state(drd_switch);
dev_vdbg(dev, "IRQ: ID: %d", id_state);
#ifdef CONFIG_CHARGER_BQ24196
if(bq24196_init_flag)
{
if(id_state)
bq24196_OTG_enable(0);
else
bq24196_OTG_enable(1);
}
#endif
exynos_drd_switch_handle_id(drd_switch, id_state);
schedule_work(&drd_switch->irq_work);//add by jeff
return IRQ_HANDLED;
}
点是去掉return,第二点是增加一句函数。
修改完成后,重新编译内核并烧写即可解决以上两点问题。