linux内核修改电流,为AM335x移植Linux内核主线代码(43)USB HUB和鼠标
本来应该接着上节,进行LCD触摸屏的调试,但是USB鼠标要简单一些,因此先调试它。
HUB采用了芯片USB2514,配合两个双路USB电流监测芯片TPS2052,实现4路USB,因此首要的任务是Kernel需要识别这个HUB,并且将4路USB的电源打开。
================================================================
https://processors.wiki.ti.com/index.php/AM335x_USB_Driver%27s_Guide
https://processors.wiki.ti.com/index.php/UsbgeneralpageLinux-v3p1
Step 1: 添加dts代码:
&usb {
status = "okay";
};
&usb_ctrl_mod {
status = "okay";
};
&usb0_phy {
status = "okay";
};
&usb0 {
status = "okay";
dr_mode = "host";
};
&cppi41dma {
status = "okay";
};
由于我的电路板是usb0为host,usb1没有使用,因此按照上面的修改maria-am335x-common.dtsi文件。
Step 2: 在make menuconfig中选中:
→ Device Drivers → USB support
Inventra Highspeed Dual Role Controller (TI, ADI, ...)
Platform Glue Layer ---> (X) TI DSPS platforms
MUSB DMA mode ---> TI CPPI 4.1 (AM335x)
其他地方都不用修改。
Note:如何确定make menuconfig时的选项呢?根据设备的compatible值,查看Makefile和Kconfig即可。
例如,在dts文件中关于usb的部分是:
compatible = "ti,am33xx-usb";
因此,使用grep命令找到对应的driver文件:
[maria@localhost drivers]$ grep -rn ti\,am33xx-usb
Binary file built-in.o matches
Binary file usb/built-in.o matches
Binary file usb/musb/built-in.o matches
Binary file usb/musb/musb_am335x.o matches
usb/musb/musb_am335x.c:24: { .compatible = "ti,am33xx-usb" },
再查看usb/musb/下的Makefile和Kconfig即可。
编译后加载到target板运行,会发现启动时的打印信息多了下面这些:
[ 49.045648] usb 1-1.1: USB disconnect, device number 4
[ 50.303032] usb 1-1.1: new low-speed USB device number 5 using musb-hdrc
[ 50.428537] usb 1-1.1: New USB device found, idVendor=1c4f, idProduct=0003
[ 50.435992] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 50.443870] usb 1-1.1: Product: Usb Mouse
[ 50.448146] usb 1-1.1: Manufacturer: SIGMACHIP
[ 50.496499] input: SIGMACHIP Usb Mouse as /devices/ocp/47400000.usb/47401400.us2
[ 50.525066] hid-generic 0003:1C4F:0003.0003: input: USB HID v1.10 Mouse [SIGMAC0
[ 53.039375] usb 1-1.1: USB disconnect, device number 5
[ 54.053001] CAUTION: musb: Babble Interrupt Occurred
[ 54.143577] usb 1-1: USB disconnect, device number 2
[ 54.175717] musb-hdrc musb-hdrc.0.auto: Restarting MUSB to recover from Babble
[ 54.188177] musb-hdrc: setup fifo_mode 4
[ 54.188252] musb-hdrc: 28/31 max ep, 16384/16384 memory
[ 54.583051] usb 1-1: new high-speed USB device number 6 using musb-hdrc
[ 54.723503] usb 1-1: New USB device found, idVendor=0424, idProduct=2514
[ 54.730651] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 54.745275] hub 1-1:1.0: USB hub found
[ 54.749558] hub 1-1:1.0: 4 ports detected
执行下面的命令:
root@ok335x:/sys/bus/usb/devices# ls
1-0:1.0 1-1 1-1:1.0 usb1
root@ok335x:/sys/bus/usb/devices# cd 1-1
root@ok335x:/sys/bus/usb/devices/1-1# ls
1-1:1.0 bmAttributes maxchild
authorized busnum port
avoid_reset_quirk configuration power
bConfigurationValue descriptors quirks
bDeviceClass dev removable
bDeviceProtocol devnum remove
bDeviceSubClass devpath speed
bMaxPacketSize0 driver subsystem
bMaxPower ep_00 uevent
bNumConfigurations idProduct urbnum
bNumInterfaces idVendor version
bcdDevice ltm_capable
root@ok335x:/sys/bus/usb/devices/1-1# cat idProduct
2514
root@ok335x:/sys/bus/usb/devices/1-1# cat idVendor
0424
到这里,可知Kernel驱动USB的基本步骤没有问题了,剩下的工作是如何使用USB设备,此处不再赘述。
下一节的内容是文件系统的移植。
linux内核修改电流,为AM335x移植Linux内核主线代码(43)USB HUB和鼠标相关推荐
- 为AM335x移植Linux内核主线代码——了解dts
问题一:以前的Linux Kernel如何描述硬件,现在又如何描述呢? 在以前的内核版本中: 1)内核包含了对硬件的全部描述: 2)bootloader会加载一个二进制的内核镜像,并执行它,比如uIm ...
- 如何在linux系统下修改mysql密码_如何在linux下修改mysql数据库密码?linux修改数据库密码的方法...
本篇文章给大家带来的内容是介绍如何在linux下修改mysql数据库密码?linux修改数据库密码的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. Linux下修改Mysql的 ...
- jquery程序 windows移植到linux显示不了,windows程序移植linux
1,路径名统一用正斜杠"/".(windows下正反斜杠都识别,linux只认正斜杠.) 2,统一使用UTF-8格式编码. vim中无法保存汉字时,可输入下列命令: :set fi ...
- linux下修改ext3硬盘为nst,linux,系统备份
篇一:linux系统备份与恢复教程 linux系统备份与恢复教程 引言: 操作系统:CentOS 6.0 Linux 备份软件:Clonezilla(再生龙) 软件下载地址: 下载好之后,可以刻录成光 ...
- 麒麟Linux强制修改只读文件,中标麒麟Linux系统文本和文件处理介绍(23页)-原创力文档...
中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统文本和文件处理介绍 技术创新,变革未来 本章目标 •使用工具来抽取.分析和处理文本数据 •使用文件查询命令 查看文件内容 •cat ∶ ...
- linux内核修改工程环境,linux2.6.33内核移植s3c2410以和交叉环境编译搭建最终修改版.pdf...
Linux2.6.33 内核移植S3C2410 以及搭建交叉编译环境 (最终修改完善版本) 作者:胡峰 整理亍2010-3-13嵌入式实验室 嵌入式助理工程师 所需软件以及工具:wmware work ...
- linux 内核主线,为AM335x移植Linux内核主线代码(41)Ethernet结论篇
一口老血喷到屏幕上! 请自动略过之前的第36-40小节=_=!!! ===================================== https://www.tuicool.com/arti ...
- linux显卡内核修改,iTOP-4412开发板-驱动-linux显卡驱动的修改方法
本文档介绍迅为4412开发板的显卡分辨率修改方法. iTOP-4412 开发板支持 4.3 寸.7 寸和 9.7 寸等 lcd 显示屏.其中 4.3 寸屏是用的 cpu 直接出来的 RGB 信号,7 ...
- linux下修改ext3硬盘为nst,Linux服务器数据备份恢复策略(3)
cpio 命令操作举例 1. 拷贝当前目录中所有文件到磁带设备 /dev/rmt0,输入:find . | /usr/sysv/bin/cpio -oc >/dev/rmt0 2. 从 cpio ...
- linux下修改ext3硬盘为nst,Linux系统备份与恢复
Linux是个稳定而可靠的环境.不过所有计算系统都有无法预料的事件,比如硬件故障.拥有关键设置信息的可靠备份是所有负责任的管理计划的组成部分.在Linux中能通过各种各样的方法来执行备份.所涉及的技术 ...
最新文章
- 四级重点高频词汇表_四级为什么自己估分和真实成绩不一样……?
- MySQL 5.6.26 通过frm ibd 恢复数据过程
- 数据中心基础设施管理的演进
- The procedure WAL relies on the ability to hsync for proper operation during component failures
- 网络交换机的作用有哪些?
- React中的组件通信——父传子、子传父、Context
- 玩转算法面试-第二章
- eclipse中的java包awt_Eclipse中打包java程序
- 复杂多目录的Makefile模板及示例
- AndroidStudio_安卓原生开发_拍照存储在Uri中_利用图片后通过Uri获取文件真实路径_然后删除---Android原生开发工作笔记161
- python按键暂停程序_汇总程序员学习python必备的42个快捷键,看完收获满满
- 007-卷积神经网络03-前向传播-反向传播
- 超赞!聊聊WEB APP、HYBRID APP与NATIVE APP的设计差异
- 新版本安装包需求汇总
- 算法竞赛入门经典(第二版)习题解答——第一章
- 100以内的勾股数python_常见100以内勾股数
- Vivado使用技巧(12):设置DCI与内部参考电压
- mysql 小_mysql小脚本
- Generator cannot target libraries that have not been migrated to null-safety.
- 关于网上很不好找的幼儿识图APP