qq2440啟動(dòng)linux后插入u盤出現(xiàn)usb 1-1: device descriptor read/64, error -110,usb 1
上位機(jī):ubuntu14.04 64bit
下位機(jī):qq2440
交叉編譯器:arm-linux-gcc 3.4.1
下位機(jī)使用的linux內(nèi)核版本:kernel2.6.13
1.插入u盤時(shí)錯(cuò)誤信息如下:
[root@FriendlyARM /home]# usb 1-1: new full speed USB device using s3c2410-ohci and address 6
usb 1-1: device descriptor read/64, error -110
usb 1-1: device descriptor read/64, error -110
usb 1-1: new full speed USB device using s3c2410-ohci and address 7
usb 1-1: device descriptor read/64, error -110
usb 1-1: device descriptor read/64, error -110
usb 1-1: new full speed USB device using s3c2410-ohci and address 8
usb 1-1: device not accepting address 8, error -110
usb 1-1: new full speed USB device using s3c2410-ohci and address 9
usb 1-1: device not accepting address 9, error -110
2.解決方案如下:
2.1修改drivers/usb/host/ohci-s3c2410.c文件,添加以下內(nèi)容:
a.先添加頭文件#include <mach/regs-clock.h>
b.在s3c2410_start_hc函數(shù)中添加以下內(nèi)容:
- unsignedlongupllvalue=(0x78<<12)|(0x02<<4)|(0x03);
- while(upllvalue!=__raw_readl(S3C2410_UPLLCON)){
- __raw_writel(upllvalue,S3C2410_UPLLCON);
- mdelay(1);
- }
添加后的s3c2410_start_hc函數(shù)如下:
- staticvoids3c2410_start_hc(structplatform_device*dev,structusb_hcd*hcd)
- {
- structs3c2410_hcd_info*info=dev->dev.platform_data;
- dev_dbg(&dev->dev,"s3c2410_start_hc:\n");
- clk_enable(clk);
- if(info!=NULL){
- info->hcd=hcd;
- info->report_oc=s3c2410_hcd_oc;
- if(info->enable_oc!=NULL){
- (info->enable_oc)(info,1);
- }
- }
- unsignedlongupllvalue=(0x78<<12)|(0x02<<4)|(0x03);
- while(upllvalue!=__raw_readl(S3C2410_UPLLCON)){
- __raw_writel(upllvalue,S3C2410_UPLLCON);
- mdelay(1);
- }
- }
2.2總結(jié):以上修改的函數(shù)功能是啟動(dòng)主機(jī)控制器,因?yàn)閡sb時(shí)鐘設(shè)置有問(wèn)題,因而在開啟主機(jī)控制器時(shí)修改時(shí)鐘,修改后的S3C2410_UPLLCON的值為0xF4100008;
3.注意:本版本內(nèi)核沒有頭文件regs-clock.h,因而我從其他內(nèi)核中復(fù)制過(guò)來(lái)的,命令如下:
jello@jello-Inspiron-N4050:~/Downloads/qq2440/linux/kernel-2.6.13$ cp /tftpboot/kernel-2.6.35.7/arch/arm/mach-s3c2410/include/mach/regs-clock.h ./
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。