
USB
文章平均质量分 56
lamdoc
这个作者很懒,什么都没留下…
展开
-
android usb 分析(2)
上次分析到 usb_composite_probe(&android_usb_driver, android_bind);这里继续分析android_usb_driver 和 android_bind。1. android_usb_driver static struct usb_composite_driver android_usb_driver = {原创 2012-06-27 10:45:28 · 1285 阅读 · 0 评论 -
FAST/CTS 测试 adb连接
FAST/CTS 测试服务器一般都会用adb 与 开发板连接,1. 如果使用usb-otg时,需要一个serial number这个serial number 是在 启动的引导文件 cmdline 中添加 androidboot.serialno=0123456789ABCDEF 来完成的,之后getprop会自动识别[ro.serialno] = 0123456789ABCDEF原创 2012-07-02 18:08:05 · 670 阅读 · 0 评论 -
OHCI_UHCI_EHCI(2.0)_xHCI(3.0)
主控器(HC)控制总线上包的传输。使用1毫秒的帧。在每帧开始时,主控器产生一个帧开始(SOF, Start of Frame)包。 SOF包用于同步帧的开始和跟踪帧的数目。包在帧中被传输,或由host 到设备(out),或由设备到host(in)。传输总是由host发起(轮询传输)。因此每条USB总线只能有一个host。每个包的传输都有一个状态阶段,数据接收者可以在其中返回ACK(应答接收)原创 2012-06-27 10:59:59 · 1013 阅读 · 0 评论 -
linux为了识别U盘该如何配置
1. 查询是否有U盘识别,可以用如下命令:一般插上U盘,如果识别出来了:# tail -f /var/log/messages //会有一些usb register的log.# fdisk -l //可以查看可以格式化的盘符# mount // 查看是否有U盘自动mount上可以用,命令查看2. mount 各种格式的 U盘,命令:m原创 2012-12-17 21:32:34 · 783 阅读 · 0 评论 -
musb gadget 部分
在musb_core.c 的 musb_init_controller() 中,会调用到 musb_gadget_setup() 函数: } else /* peripheral is enabled */ { MUSB_DEV_MODE(musb); musb->xceiv->default_a = 0; musb->xceiv->state = OTG_STATE_B_ID原创 2012-10-15 14:55:23 · 972 阅读 · 0 评论 -
musb 模块中的一些结构体
这里列一些musb模块中的结构体1. musb 定义:/* * struct musb - Driver instance data. */struct musb { /* device lock */ spinlock_t lock; struct clk *clock; irqreturn_t (*isr)(int, void *); struct原创 2012-10-11 23:15:17 · 1301 阅读 · 0 评论 -
musb dma 部分
musb_core.c 中的 musb_init_controller() 中,会调用到 dma_controller_create(),代码 如下:#ifndef CONFIG_MUSB_PIO_ONLY //如果没有选上 PIO 模式,则使能 DMA 模式 if (use_dma && dev->dma_mask) { struct dma_c原创 2012-10-15 15:52:47 · 1030 阅读 · 1 评论 -
musb host 部分
这篇主要介绍 drivers/usb/musb/musb_host.c在 musb_core.c 中的musb_init_controller()函数中,调用了 allocate_instance()函数, 如下: /* allocate */ musb = allocate_instance(dev, plat->config, ctrl);原创 2012-10-15 11:17:14 · 1743 阅读 · 0 评论 -
usb_gadget_ethernet
最近接触了一个usb接口的网络设备,用的是一个SMSC95xx的一个芯片开始只在 Device Drivers ---> [*] USB support ---> USB Gadget Support ---> 中, 设置了: USB Gadget Drivers (Ethernet Gadget (with CDC Ethernet support)) ---> (原创 2012-09-14 18:01:18 · 755 阅读 · 0 评论 -
musb_core.c 解析
musb_core.c 是usb_general.c 调用进musb模块的核心函数,里面有usb,musb,dma,platform模块等内容。1. musb_init():/* make us init after usbcore and i2c (transceivers, regulators, etc) * and before usb gadget and host-sid原创 2012-10-11 23:14:49 · 2034 阅读 · 0 评论 -
USB 接口型号_A_B_miniUSB
微型USB即mini-USB 除了以上几种,还有目前手机类便携式设备上通用的micro-USB,比mini-USB还要小,一边是带圆弧的扁平形状。Micro USB是USB 2.0标准的一个便携版本,比目前部分手机使用的Mini USB接口更小,Micro-USB是Mini-USB的下一代规格,由USB标准化组织美国USB Implementers Forum(USB-原创 2012-06-27 10:58:54 · 1349 阅读 · 0 评论 -
usb-serial.c
这两周都在调GPS, 用的是usb转串口的pl2303芯片,所以涉及到了usb-serial驱动,见解如下。int usb_serial_register(struct usb_serial_driver *driver){ /* must be called with BKL held */ int retval; if (usb_disabled())原创 2012-06-27 10:56:48 · 715 阅读 · 0 评论 -
usb otg
1. usb-otg 与host的区别usb-otg 既可以做host,也可以做slave。usb-host 只能做host.这就是两者的区别。2.USB-otg 中的 USB-ID信号线usb-otg 有一根ID 线,用来决定该usb port做host,还是device.经常看见一条USB转mini-USB连接线. 正常USB 4个脚. 而mini-USB 5个脚,原创 2012-06-27 10:54:44 · 547 阅读 · 0 评论 -
usb设备---usb_device
usb_device 结构体描述如下: /** * struct usb_device - kernel's representation of a USB device * @devnum: device number; address on a USB bus * @devpath: device ID string for use in message原创 2012-06-27 10:52:32 · 836 阅读 · 0 评论 -
一个有趣的USB 拓扑
原创 2012-06-27 10:51:16 · 495 阅读 · 0 评论 -
android usb 分析1
android 系统在 linux usb 模块中加入了 adb 功能,具体代码在 drivers/usb/gadget/android.c 中1. init/exit: static int __init init(void) { struct android_dev *dev; printk(KERN_INFO "android init\原创 2012-06-27 10:49:05 · 988 阅读 · 1 评论 -
USB设备基础
1. 端点 (endpoint)USB端点只能单向传送数据,从主机到设备(输出端点)或从设备到主机(输入端点)。依据传输数据方式的不同,可以分为4种端点:a. 控制端点(control endpoint):通常用于配置设备,获取设备信息,发送命令到设备,或获取设备的状态。b. 中断端点(interrupt endpoint):当USB host要求设备传输数据时,中断端点就以一个固原创 2012-06-27 10:54:06 · 565 阅读 · 0 评论 -
dm9620 usb转mac芯片
dm9620 是个带eeprom的usb转mac接口的芯片。这里解决了一个bug, 物理地址设置不进自身eeprom的问题,原因是linux版本不兼容,设置物理地址的接口没有实现:在dm9620_bind() 函数中,添加 dev->net->set_mac_address = dm9620_set_mac_address, 这样就实现了该接口。static int dm9620_原创 2013-07-16 14:04:35 · 870 阅读 · 0 评论