本来应该接着上节,进行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和鼠标相关推荐

  1. 为AM335x移植Linux内核主线代码——了解dts

    问题一:以前的Linux Kernel如何描述硬件,现在又如何描述呢? 在以前的内核版本中: 1)内核包含了对硬件的全部描述: 2)bootloader会加载一个二进制的内核镜像,并执行它,比如uIm ...

  2. 如何在linux系统下修改mysql密码_如何在linux下修改mysql数据库密码?linux修改数据库密码的方法...

    本篇文章给大家带来的内容是介绍如何在linux下修改mysql数据库密码?linux修改数据库密码的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. Linux下修改Mysql的 ...

  3. jquery程序 windows移植到linux显示不了,windows程序移植linux

    1,路径名统一用正斜杠"/".(windows下正反斜杠都识别,linux只认正斜杠.) 2,统一使用UTF-8格式编码. vim中无法保存汉字时,可输入下列命令: :set fi ...

  4. linux下修改ext3硬盘为nst,linux,系统备份

    篇一:linux系统备份与恢复教程 linux系统备份与恢复教程 引言: 操作系统:CentOS 6.0 Linux 备份软件:Clonezilla(再生龙) 软件下载地址: 下载好之后,可以刻录成光 ...

  5. 麒麟Linux强制修改只读文件,中标麒麟Linux系统文本和文件处理介绍(23页)-原创力文档...

    中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统文本和文件处理介绍 技术创新,变革未来 本章目标 •使用工具来抽取.分析和处理文本数据 •使用文件查询命令 查看文件内容 •cat ∶ ...

  6. linux内核修改工程环境,linux2.6.33内核移植s3c2410以和交叉环境编译搭建最终修改版.pdf...

    Linux2.6.33 内核移植S3C2410 以及搭建交叉编译环境 (最终修改完善版本) 作者:胡峰 整理亍2010-3-13嵌入式实验室 嵌入式助理工程师 所需软件以及工具:wmware work ...

  7. linux 内核主线,为AM335x移植Linux内核主线代码(41)Ethernet结论篇

    一口老血喷到屏幕上! 请自动略过之前的第36-40小节=_=!!! ===================================== https://www.tuicool.com/arti ...

  8. linux显卡内核修改,iTOP-4412开发板-驱动-linux显卡驱动的修改方法

    本文档介绍迅为4412开发板的显卡分辨率修改方法. iTOP-4412 开发板支持 4.3 寸.7 寸和 9.7 寸等 lcd 显示屏.其中 4.3 寸屏是用的 cpu 直接出来的 RGB 信号,7  ...

  9. linux下修改ext3硬盘为nst,Linux服务器数据备份恢复策略(3)

    cpio 命令操作举例 1. 拷贝当前目录中所有文件到磁带设备 /dev/rmt0,输入:find . | /usr/sysv/bin/cpio -oc >/dev/rmt0 2. 从 cpio ...

  10. linux下修改ext3硬盘为nst,Linux系统备份与恢复

    Linux是个稳定而可靠的环境.不过所有计算系统都有无法预料的事件,比如硬件故障.拥有关键设置信息的可靠备份是所有负责任的管理计划的组成部分.在Linux中能通过各种各样的方法来执行备份.所涉及的技术 ...

最新文章

  1. 四级重点高频词汇表_四级为什么自己估分和真实成绩不一样……?
  2. MySQL 5.6.26 通过frm ibd 恢复数据过程
  3. 数据中心基础设施管理的演进
  4. The procedure WAL relies on the ability to hsync for proper operation during component failures
  5. 网络交换机的作用有哪些?
  6. React中的组件通信——父传子、子传父、Context
  7. 玩转算法面试-第二章
  8. eclipse中的java包awt_Eclipse中打包java程序
  9. 复杂多目录的Makefile模板及示例
  10. AndroidStudio_安卓原生开发_拍照存储在Uri中_利用图片后通过Uri获取文件真实路径_然后删除---Android原生开发工作笔记161
  11. python按键暂停程序_汇总程序员学习python必备的42个快捷键,看完收获满满
  12. 007-卷积神经网络03-前向传播-反向传播
  13. 超赞!聊聊WEB APP、HYBRID APP与NATIVE APP的设计差异
  14. 新版本安装包需求汇总
  15. 算法竞赛入门经典(第二版)习题解答——第一章
  16. 100以内的勾股数python_常见100以内勾股数
  17. Vivado使用技巧(12):设置DCI与内部参考电压
  18. mysql 小_mysql小脚本
  19. Generator cannot target libraries that have not been migrated to null-safety.
  20. 关于网上很不好找的幼儿识图APP

热门文章

  1. 云服务器选ssd还是hdd_服务器租用主机硬盘使用机械硬盘还是固态硬盘
  2. 企业打造营销型网站的7条黄金法则
  3. 开源图像数据集管理工具fiftyone使用
  4. AutoSAR系列讲解 - 总目录
  5. day3-作业(18-23)(java泛型总结一)
  6. RecyclerView报错:Scrapped or attached views may not be recycled
  7. requests---timeout请求超时
  8. Bugku:web 秋名山老司机
  9. UIImagePickerController编辑图片框大小的问题
  10. 解决哈希冲突的方法,Hash的介绍,散列因子的介绍