img_01.png

君正®


Copyright © Ingenic Semiconductor Co. Ltd 2022. All rights reserved.

Release history

Date Revision Change
2021.3.4 1.0 First release
2022.12.21 2.0 Second release

简介

本文档是基于君正发布的SDK中Linux-4.4内核进行驱动模块化编译的使用说明,适用于X2000、X2000E、X2100的开发板。

Display显示驱动模块

显示驱动模块支持的LCD类型:TFT、SmartLCD、MIPI_TFT、MIPI_SmartLCD

内核配置:

 Graphics support --->

[ ] Bootup logo ---->

Frame buffer Devices --->

<*> Ingenic Framebuffer Driver --->

 [*] ingenic mipi dsi interface

 < > Ingenic Framebuffer Driver for Version 10 ----

 < > Ingenic Framebuffer Driver for Version 11 ----

 < > Ingenic Framebuffer Driver for Version 12 ----

 <M> Ingenic Framebuffer Driver for stage --->

 <M> lcd panel MA0060

  < > lcd panel tl040wvs03ct

模块加载:

modprobe panel-ma0060 -a

Audio驱动模块

内核配置:

 <*> Advanced Linux Sound Architecture --->

<*> ALSA for SoC audio support --->

 <M> ASoC support for Ingenic --->

-M- ingenic snd asoc as-fe

-M- ingenic snd asoc baic

<M> ingenic snd asoc spdif

<M> ingenic snd asoc dmic

-M- ingenic inno audio codec

Ingenic Board Type Select --->

 <M> Audio support for x2100 kale board

模块加载:

modprobe ingenic_baic

modprobe ingenic_dmic

modprobe ingenic_spdi

modprobe snd-asoc-as-fe

modprobe icdc_inno

modprobe snd_kale_v10
板级 驱动名
Halley5_v20 snd_halley5_v20.ko
Kale_V10 snd_kale_v10.ko

Wlan模块

内核配置:

 [*] Wireless LAN --->

<M> Broadcom FullMAC wireless cards support

模块加载:

modprobe bcmdhd

GMAC驱动模块

内核配置:

 [*] Ethernet driver support --->

<M> ingenic on-chip MAC support

<M> PHY Device support and infrastructure --->

模块加载:

modprobe libphy

modprobe mii

modprobe mac

USB驱动模块

内核配置:

[*] USB support --->

 <M> Support for Host-side USB

<M> USB Mass Storage support

 <M> DesignWare USB2 DRD Core Support

 <M> USB Gadget Support --->

USB控制器模块加载:

modprobe usbcore -a

modprobe dwc2 -a

USB-gadget 模块:

modprobe libcomposite

其他模块根据需要加载即可,例如在使用adb时需要加载:

modprobe usb_f_fs

VPU驱动模块

VPU驱动分为felix和helix两部分。

felix是h264解码,包括:流解析器、运动补偿、反量化、IDCT和De-block engines的功能

helix是h264编码、JPEG压缩和解压缩

内核配置:

*** Multimedia core support ***

 [*] Memory-to-memory multimedia devices --->

 <M>  V4L2 driver for ingenic Video Codec

<M> ingenic video helix

<M> ingenic video felix

模块加载:

modprobe ingenic_felix

modprobe ingenic_helix

h264e-nl-server &

注意:必须开启h264服务,否则无法进行h264编解码。

Rotate驱动模块

内核配置:

Symbol: VIDEO_INGENIC_ROTATE

 [*] Memory-to-memory multimedia devices --->

 <M> Ingenic rotate driver

模块加载:

modprobe ingenic_rotate

ADC模块

内核配置:

Symbol: MFD_INGENIC_SADC_V13

 <M> Support for the Ingenic X2000_V12 and M300 SADC core

 <M> Support for the Ingenic X2000_V12 and M300 SADC AUX

模块加载:

modprobe ingenic_adc_aux

modprobe ingenic_adc_v13

PWM模块

内核配置:

Symbol: PWM_INGENIC_V2

<M> Ingenic PWM V2 support

模块加载:

modprobe pwm-ingenic-v2

CIM模块

内核配置:

 <M> SoC camera support

 <M> platform camera support

 <M> Ingenic Camera Sensor Interface driver

 < > Ingenic Soc camera Driver for X1000

 <M> Ingenic Soc Camera Driver for X2000 && M300

模块加载:

modprobe soc_camera_platform -a

注意:内核设备树中默认不会使用cim节点,原有默认配置并没有编译cim相关选项,如需使用请对设备树进行相应修改。

驱动模块化启动速度说明

序号 模块 内核大小(字节) 内核启动时间(s) 文件系统镜像大小(M) 说明
0 未做模块化 4654163 4.6183 73.1
1 Display模块化 4595915 2.956 73.1 模块化暂不能显示logo
2 Audio模块化 4571922 2.827 73.3
3 Wlan模块化 4226352 2.477 74
4 GMAC模块化 4195434 2.422 74
5 USB模块化 3886832 2.166 74.8
6 VPU模块化 3799059 2.137 74.9
7 Rotate模块化 3793395 2.101 74.9
8 ADC\PWM模块化 3787839 2.100 74.9

说明:表格中的启动时间,以及文件大小,不是独立模化某单个驱动得出;所有数据均是在前一个模块的模块化前提下统计的。

注:去掉了原有配置中Hardware I/O ports 下的所有选项