首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

平台:USB充电【转】

USB Battery Charging V1.2 Specification 定义了USB充电器的类型或者叫做充电源。 1....基于外部充电芯片的充电器检测(SMB充电器检测) 内部的USB PHY充电器检测逻辑 基于USB PHY的充电子系统有以下一些基本模块: USB core负责让OTG driver知道充电器的连接。...平台的电池充电是被PMIC或者外部的充电芯片所控制。它必须知到充电器类型和最大充电电流。 原生的电池驱动直接与PMIC进行交互。...这个驱动通知PMIC开始使用USB VBUS进行充电并且指明可以获取的最大的电流。...PS:这里的电池驱动估计说的不对,或者我自己理解有误,从代码上看应该是USB驱动检测到充电器类型之后,把这一信息通知给PMIC. 3 充电检测算法 在通用的充电器检测模型中,提到了几个阶段: Data

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

Linux驱动开发: USB驱动开发

四、 linux内核下USB相关的API函数与数据结构 前面介绍了USB相关一些基础概念与重要的数据结构,接下来就分析在linux内核中如何编写一个USB 驱动程序,编写与一个USB设备驱动程序的方法和其他总线驱动方式类似...\n"); } //定义USB驱动结构体 static struct usb_driver usbtest_driver = { .name = "linux_usb_drv", .id_table...urb(USB Request Block)Linux内核中USB驱动实现上的一个数据结构,用于组织每一次的USB设备驱动的数据传输请求。...鼠标驱动(中断传输方式) 5.1 USB驱动注册框架代码 #include #include #include ...#include /* 本程序为USB鼠标驱动程序,要安装本驱动,需要先将内核自带的USB驱动程序卸载掉 */ //定义USB的IDTAB 24ae:2002 static

69.3K20

Linux USB 设备驱动模型

Linux 内核源码:include\linux\usb.h Linux 内核源码:drivers\hid\usbhid\usbmouse.c 1....BUS/DEV/DRV 模型 "USB 接口"是逻辑上的 USB 设备,编写的 usb_driver 驱动程序,支持的是"USB 接口": USB 控制器或 Hub 识别出 USB 设备后,会创建、...注册 usb_device usb_device 被"drivers\usb\core\generic.c" 驱动认领后,会选择、设置某个配置 这个配置下面的接口,都会分配、设置、注册一个 usb_interface...接口函数 在 USB 设备驱动程序中,能使用的 USB 函数都在这个头文件里:include\linux\usb.h。...:这是一个同步函数,它会等待 URB 结束 usb_unlink_urb:这是一个异步函数,它不会等待 URB 结束,USB 控制器驱动会调用它的回调函数 void usb_kill_urb(struct

40340

19.Linux-USB总线驱动分析

如下图所示,以windows为例,我们插上一个没有USB设备驱动USB,就会提示你安装驱动程序 为什么一插上就有会提示信息?...是因为windows自带了USB总线驱动程序, USB总线驱动程序负责: 识别USB设备,给USB设备找到对应的驱动程序 新接入的USB设备的默认地址(编号)是0,在未分配新编号前,PC主机使用0地址和它通信..., 比如:鼠标的数据是从鼠标传到PC机, 对应的端点称为"中断输入端点" 其中端点0是设备的默认控制端点, 既能输出也能输入,用于USB设备的识别过程 同样linux内核也自带了USB总线驱动程序,框架如下...其中usb_bus_type是一个全局变量, 它和我们之前学的platform平台总线相似,属于USB总线, 是Linux中bus的一种....__u16 bcdDevice_lo; //设备的低版本号 __u16 bcdDevice_hi; //设备的版本号

8.5K91

LCD的pwm背光驱动

发生异常的现象: msm8953 lcd在快速亮灭的情况下背光概率性休眠不灭;测量pwm,发现正常的时候pwm的管脚LCM_BL_PWM为低电平,失败的时候为高电平; 根据原理图: ?...PWM的占空比从而动态调节LCD的背光,在不改变图像显示效果的情况下降低功耗,PMIC根据CABC的占空比控制背光输出电压; 背光控制部分不经过PMIC而是通过一颗单独的带有boost转换功能的LED驱动器如...lcd背光控制调用流程: 首先,我们用的是mipi接口,所以lcd显示驱动是在mdss_dsi.c中,pwm驱动控制是在pwm-qpnp.c文件中(kernel\msm-3.18\drivers\pwm...QPNP_PWM_VALUE_LSB), 1, chip); 保存了上一次亮屏的时候的电平值;所以只要把这段语句去掉,在快速闪灭屏的时候,灭屏就不会出现背光不灭的情况,这是因为寄存器没有写好前,就保存亮屏的高电平值; LCD背光驱动...在qpnp_lpg_init进入probe函数中,spmi驱动是什么呢?

2K40

详解linux usb host驱动编写入门

大家如果打开kernel usb host目录,就会发现下面包含了ohci,uhci,ehci,xhci,whci等多种形式的控制器驱动。...1、代码分布 drivers/usb目录下面,host目录包括了host驱动代码,core目录包含了主要的api接口代码,而其他目录则主要是device驱动代码。...2、device驱动怎么看 device驱动大多数和上层协议有关,不涉及到具体的寄存器读写。...示例代码可以参考usb-skeleton.c 3、host驱动怎么看 a,不妨以s3c2410的host作为范例进行分析,首先找到Makefile, obj-$(CONFIG_USB_OHCI_HCD_S3C2410...但是,如果要深入了解usb host&device驱动,那么除了这些代码逻辑,那么还要熟读usb协议手册,更重要的学会用catc协议分析仪真正地去了解usb是如何发包和收包的。

5.8K75

21.Linux-写USB键盘驱动(详解)

本节目的:     根据上节写的USB鼠标驱动,来依葫芦画瓢写出键盘驱动 1.首先我们通过上节的代码中修改,来打印下键盘驱动的数据到底是怎样的 先来回忆下,我们之前写的鼠标驱动的id_table是这样:...[i+ 224], (kbd->new[0] >> i) & 1); 其中kbd->new表示的就是键盘数据数组,它将buf[0]的每一位usb_kbd_keycode[i+ 224]的形式上传到按键事件中.../kernel.h> #include #include #include #include <linux/...(full HID) support     //hid:人机交互的USB驱动,比如鼠标,键盘等 然后make uImage 编译内核 将新的键盘驱动模块放入nfs文件系统目录中 5.2然后烧写内核,...装载触摸屏驱动模块 如下图,当我们插上USB键盘时,可以看到该VID和PID,和电脑上的键盘的参数一样 ?

7.2K92

平台安卓驱动感言

下面是做安卓驱动的感言。 同一时候献给择职想做驱动的參考。 不知不觉做驱动再过2个月就3年了。能够说这3年学习到的非常多。老大或者同事们的不吝赐教。针对性通过百度等搜索等。...host会通过这些信息来match相应的usb设备接口,当然很多usb设备不止一个接口。usb通讯能够理解为多个串口。...解决后支持反过来问怎样解决的?倒是非常滋润。对于支持project师我想说。他们支持越来越慢,非常多时候全然靠自己,竟然有时说没有机器,可是每次关闭case还是习惯性好评。...说精通恐怕仅仅有那些提交linux改进优化系统内核的人。 前段时间看过别人评价做mtk驱动的。说怎么怎么简单。害了年轻人,个人非常庆幸当时入职选择了做驱动。...之前也是能够选择做mtk驱动的或者wince的。再加上这家公司技术实力还是比較牛逼的在业界。自己做,就我熟知的kernel代码确实非常美丽,外国人写的质量非常。同一时候设备驱动非常丰富。

59920

Audio中ASOC的codec驱动(二)

继上一篇文章:Audio中ASOC的machine驱动(一) ASOC的出现是为了让codec独立于CPU,减少和CPU之间的耦合,这样同一个codec驱动就无需修改就可以匹配任何一款平台。...同时也需要对所有的codec设备进行抽象封装,linux使用snd_soc_codec进行所有codec设备的抽象,而将codec的驱动抽象为snd_soc_codec_driver结构。...由Audio中ASOC的machine驱动中的匹配并注册相应驱动的那一章分析可知,codec驱动代码就是msm8x16-wcd.c这个文件; 2、查看codec的probe函数: 1 static...wcd_disable_supplies(msm8x16, pdata); 118 err_codec: 119 kfree(msm8x16); 120 rtn: 121 return ret; 122 } SPMI总线是通电源管理的一种规范...关于codec侧驱动总结: 1.   分配名字为"codec_name"的平台驱动,注册。 2.   定义struct snd_soc_codec_driver结构,设置,初始化。 3.

3.2K60

制作 Kali 可启动 USB 驱动器 (Linux)

制作 Kali 可启动 USB 驱动器 (Linux) 我们最喜欢的方式,也是最快的方法,启动和运行 Kali Linux 是从 USB 驱动器“实时”运行它。...驱动器上 它具有潜在的持久性——通过一些额外的努力,您可以将 Kali Linux “实时” USB 驱动器配置为具有持久性存储,因此您收集的数据将在重新启动后保存 为此,我们首先需要创建一个可引导的...USB 驱动器,该驱动器已从 Kali Linux 的 ISO 映像设置。...在 Linux (DD) 上创建可引导 Kali USB 驱动器 在 Linux 环境中创建可引导的 Kali Linux USB 驱动器很容易。...警告:虽然将 Kali Linux 映像到 USB 驱动器的过程非常简单,但如果您不明白自己在做什么,或者指定了不正确的磁盘驱动器,也可以使用 dd 轻松覆盖您不打算使用的磁盘驱动器。输出路径。

14510

usb转rs485 linux驱动下载,USB转RS485串口驱动「建议收藏」

USB转RS485串口驱动是一款非常专业的USB转RS485驱动安装程序。...这款软件适合WIN7/WIN XP/LINUX等系统,能够帮助用户一键解决USB无法转换成RS485的问题,需要的小伙伴可下载体验。 【安装方法】 1、在安装前可以先看看使用说明再安装。...将USB转换线插入电脑的USB接口中,系统会提示检测到新设备并出现新硬件添加向导,选择从列表或指定的位置安装,手动安装,找到刚刚驱动的解压目录,让WINDOWS自动搜索更新驱动就OK了。...根据硬件添加向导一步步的引导安装驱动 【支持系统】 Windows 8.1 Windows 8.1 x64 Windows 8 Windows 8 x64 Windows Server2012 Windows...Vista x64 Windows Server 2003 Windows Server 2003 x64 Windows XP Windows XP x64 Windows ME Windows 98 Linux

8.7K40
领券