LOFT-Q 旧版内核驱动指南¶
组织: | Mixtile Team |
---|---|
版本: | 0.1 |
日期: | 2015.04.20 |
Note
文档还在完善之中,有任何问题,请在我们的相关网站提出。
LOFT-Q 的旧版内核基于全志提供的 linux-3.3 版本内核。本指南主要对旧版内核的驱动模块进行介绍,在开始本文的阅读和范例前,需要对 LOFT-Q 原型板和 Linux 内核有一个初步的了解,如果能够对内核有更深的了解,将会更加有助于对 LOFT-Q 相关的内核驱动的认识和理解。
驱动介绍¶
在开始对 LOFT-Q 的具体驱动进行探讨前,我们需要对 LOFT-Q 上所有相关的器件以及主芯片 A31 提供的功能有一个初步的介绍。
A31 主芯片功能¶
- powervr sgx554 gpu
- ar100 低功耗待机芯片
- cedar 音视频解码模块
LOFT-Q 外围器件¶
- HDMI 输出端子
- 4 路 usb 外接口
- 4 路启动切换开关
- RGMII 以太网借口
- ap6234 Wifi 和蓝牙模块
- jn5168 zigbee 芯片
- usb2sata
- gpio 扩展模块
- toslink 音频输出
- speakerout 扩展口
- line-in 扩展口
- 红外接收器
- 前面板 led 呼吸灯
- uart 调试串口
- pcf8563 rtc
- axp221 电源管理芯片
- 高保真麦克风
内核驱动结构¶
在对上述的 A31 主芯片和外围器件有一个初步了解后,为了能够快速定位相关的代码,我们需要对全志内核中有关 A31 的不同驱动所处的位置有一个基本的了解。
- arch/arm/mach-sun6i/
音频相关驱动:
- sound/soc/sun6i/
字符设备相关驱动:
- drivers/char/ar100_test/
- drivers/char/dma_test
- drivers/char/gpio_test/
- drivers/char/sun6i_g2d/
- drivers/char/sunxi_mem/ 连续内存分配驱动代码
- drivers/char/sunxi_mem_test 连续内存分配测试代码
- drivers/char/timer_test/ timer 测试代码
gpio 相关驱动:
- drivers/gpio/axpio-sunxi.c
- drivers/gpio/gpio-sunxi.c
gpu 相关驱动:
- drivers/gpu/ion/sunxi android ion 驱动
加速度传感器驱动:
- drivers/gsensor 全志所用的加速度传感器驱动
输入设备相关驱动:
- drivers/input/sw_device.c
- drivers/input/keyboard/sw-keyboard.c
- drivers/input/keyboard/sun6i-ir.c
- drivers/input/touchscreen/sun6i-ts.c
- drivers/input/touchscreen/AW5306_ts.c
- drivers/input/touchscreen/ft5x_ts.c
多媒体驱动:
- drivers/media/video/sun6i/ 全志 cedar 相关驱动
- drivers/media/video/sunxi-vfe/ 全志 CSI1 v4l2 驱动
- drivers/media/video/sunxi_csi 全志摄像头驱动
其他驱动:
- drivers/misc/sun6i-vibrator.c
- drivers/misc/sunxi-reg.c 用户寄存器访问驱动
- drivers/misc/sunxi_hw_test.c
emmc 驱动:
- drivers/mmc/host/sunxi-mci.c
rtc 驱动:
- drivers/rtc/rtc-sun6i.c
- drivers/rtc/rtc-pcf8563-sunxi.c
spi 驱动:
- drivers/spi/spi-sun6i.c
usb 驱动:
- drivers/usb/sun6i_usb/
- drivers/usb/host/sw_hci_sun6i.c
视频卡驱动:
- drivers/video/sun6i/ 全志所有显示设备驱动,包括 disp, hdmi, lcd, 以及 tv 驱动。
安全会话相关:
- modules/aw_schw
powervr SGX DDK:
- modules/eurasia_km
闭源 nand flash 相关部分:
- modules/nand/