Linux移植中USB出現的問題

2021-10-06 07:48:17 字數 2224 閱讀 4752

linux版本:v4.19.78

硬體平台:tiny6410

錯誤日誌

ohci_hcd: usb 1.1 'open' host controller (ohci) driver

ohci-s3c2410: ohci s3c2410 driver

s3c2410-ohci s3c2410-ohci: ohci host controller

s3c2410-ohci s3c2410-ohci: new usb bus registered, assigned bus number 1

s3c2410-ohci s3c2410-ohci: irq 79, io mem 0x74300000

s3c2410-ohci s3c2410-ohci: init err (00000000 0000)

s3c2410-ohci s3c2410-ohci: can't start

s3c2410-ohci s3c2410-ohci: startup error -75

s3c2410-ohci s3c2410-ohci: usb bus 1 deregistered

s3c2410-ohci: probe of s3c2410-ohci failed with error -75

以上問題,是由於usb host時鐘不工作,預設情況usb時鐘源是採用48mhz時鐘源(該時鐘需要外部晶振,以及配置usb otg模組),這個解決辦法是將usb host的時鐘源配置為epll時鐘

錯誤日誌

以下為linux啟動過程的報錯

usb 1-1: device descriptor read/64, error -62

usb 1-1: device descriptor read/64, error -62

usb 1-1: new full-speed usb device number 3 using s3c2410-ohci

usb 1-1: device descriptor read/64, error -62

usb 1-1: device descriptor read/64, error -62

以下為插入u盤時的報錯

usb 1-1: new full-speed usb device ni

usb 1-1: device not accepting address 4, error -62

usb 1-1: new full-speed usb device number 5 using s3c2410-ohci

usb 1-1: device not accepting address 5, error -62

usb usb1-port1: unable to enumerate usb device

以上問題,是因為usb host時鐘頻率達不到48mhz的要求,從linux啟動日誌看,epll時鐘才24m,可以修改epll的配置暫存器,將epll時鐘設定為48m

針對以上兩種問題,同時不對linux核心進行修改,我在uboot中進行相應的修改

在uboot中的lowlevel_init.s中,修改以下內容

/* fout of epll is 48mhz */

ldr r1, =0x80200103 /* 配置epll輸出48m */

str r1, [r0, #epll_con0_offset]

ldr r1, =0x0

str r1, [r0, #epll_con1_offset]

/* apll, mpll, epll select to fout */

ldr r1, [r0, #clk_src_offset]

orr r1, r1, #0x7

orr r1, r1, #0x20 /* 配置usb host時鐘源選擇為epll輸出時鐘 */

str r1, [r0, #clk_src_offset]

mpc5121ads核心移植可能出現的問題

移植中可能出現的問題 1.u boot1.3.2 jan 12 2009 15 57 17 mpc512x cpu mpc5121e rev.1.0,core e300c4 at 391.874mhz,csb at 195 mhz i2c ready dram 256 mb flash 16 mb ...

linux 2 6 35核心移植 USB驅動的新增

實驗目的 在fs2410開發板上進行linux 2.6.22.6核心的移植,這個部分完成usb裝置驅動的新增,完成相應的功能。實驗環境 1 ubuntu 10.10發行版 2 u boot 2010.03 3 fs2410平台 4 交叉編譯器 arm none linux gnueabi gcc 4...

Linux系統中MySQL資料庫出現的問題彙總

failed to initialize dd storage engine.data dictionary initialization failed.mysql資料庫中的資料資料夾初始化失敗。那所性就刪除mysql的資料資料夾,重新進行初始化操作就好。1 刪除 mysql 資料庫資料資料夾 rm...