分类 Device Driver 下的文章

devfreq governor代码分析

参考内核5.x,代码路径是在drivers/devfreq/,devfreq的代码定义是:Generic Dynamic Voltage and Frequency Scaling (DVFS) Framework for Non-CPU Devices。而CPU动态调频是drivers/cpufreq,devfreq是基于cpufreq而来。第一次引入这个特性描述: ...阅读全文

如何测试cpufreq setpolicy driver

上一篇说过有个cpufreq setpolicy patch涉及验证,qemu intel_pstate是不行了,主要是不支持X86_FEATURE_HWP or X86_FEATURE_APERFMPERF,只能在物理机上测试了。我的本本是E40(一代i3),用了有点久了也不支持,intel_pstate是for SandyBridge arch,Intel从二代 i3...阅读全文

内核如何获取音量键按下的状态

高通平台一般会把音量下键绑在PMIC RESIN上,这样除了长按电源键重启外,还可以按音量下键重启。先从内核文档(Kernel3.18)了解下RESIN:Qualcomm QPNP power-onThe qpnp-power-on is a driver which supports the power-on(PON)peripheral on Qualcomm PMI...阅读全文

TF卡不能检卡问题排查

bring up阶段SD始终不能检卡,我觉得软件配置应该没问题,硬件是外包的,硬件答复这套设计其他厂商也在用没问题。SD一个卡槽,SIM一个卡槽,高通平台,Linux内核版本3.18。先看下内核文档关于检卡的描述:Card detection:If no property below is supplied, host native card detect is used...阅读全文

内核MMC传输流程Overview

最近看了下mmc读写,起由是Vendor发来eMMC固件升级要求,说如果使用了CMD18 + CMD12,就要升级,因为不知道OEM使用情况,建议都升级。我们来确认下内核的情况, 内核版本3.18,高通平台。#define MMC_READ_DAT_UNTIL_STOP 11 /* adtc [31:0] dadr R1 */ #define MMC...阅读全文

交换芯片开发小结

2012年做过L1/L2的相关开发维护, 芯片厂家是BCM.说L1,主要是硬件信号,软件参与很少,除非上电默认配置不能工作,软件才配置,比如说PHY工作模式是sgmii还是serdes等。而L2的核心就是forwarding,具体就是报文进来后,硬件logic完成报文转发的功能,进出报文内容不变,涉及到的feature有:address管理: mac学习,老化,静态mac...阅读全文

解决因connection reset by peer错误导致的ping不通问题

2010年做网卡开发遇到的问题, 现在就放到这里了。问题现象两个节点ping不同,上层显示socket失去连接,建立连接,再失去连接...socket是个54错误, 错误宏是ECONNRESET=connection reset by peer.问题分析ping直接走的是网卡驱动层, kernel是VxWorks,一般不会出问题, 用ifShow查看没有发现error。p...阅读全文

移植spansion boot flash LLD

2010年VxWorks下做过的boot flash driver,记录下。BSP配置首先要确保配置正确。mmu cache not: vxworks中sysPhysMem的vm state必须是VM_CACHE_NOT,否则访问不到。linux中是ioremap。address map: vx中要添加flash map space,否则d时不能访问;另,bsp mmu的...阅读全文