LCD驱动程序分析

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//****************************************************** *

//* 2007.6.18

//****************************************************** *

在/kernel/include/asm-arm/arch-s3c2410/bitfield.h 文件中:

#ifndef __ASSEMBLY__

#define UData(Data) ((unsigned long) (Data))

#else

#define UData(Data) (Data)

#endif

例:UData(5); = 5

/*

* MACRO: Fld

*

* Purpose

* The macro "Fld" encodes a bit field, given its size and its shift value

* with respect to bit 0.

*

* Note

* A more intuitive way to encode bit fields would have been to use their

* mask. However, extracting size and shift value information from a bit

* field''''s mask is cumbersome and might break the assembler (255-character

* line-size limit).

*

* Input

* Size Size of the bit field, in number of bits.

* Shft Shift value of the bit field with respect to bit 0.

*

* Output

* Fld Encoded bit field.

*/

#define Fld(Size, Shft) (((Size) << 16) + (Shft))

例:Fld(2,5); = 0x20005

/*

* MACROS: FSize, FShft, FMsk, FAlnMsk, F1stBit

*

* Purpose

* The macros "FSize", "FShft", "FMsk", "FAlnMsk", and "F1stBit" return

* the size, shift value, mask, aligned mask, and first bit of a

* bit field.

*

* Input

* Field Encoded bit field (using the macro "Fld").

*

* Output

* FSize Size of the bit field, in number of bits.

* FShft Shift value of the bit field with respect

to bit 0.

* FMsk Mask for the bit field.

* FAlnMsk Mask for the bit field, aligned on bit 0.

* F1stBit First bit of the bit field.

*/

#define FSize(Field) ((Field) >> 16)

例:FSize(0x20005); = 2

#define FShft(Field) ((Field) & 0x0000FFFF)

例:FShft(0x20005); = 5

/*

* MACRO: FInsrt

*

* Purpose

* The macro "FInsrt" inserts a value into a bit field by shifting the

* former appropriately.

*

* Input

* Value Bit-field value.

* Field Encoded bit field (using the macro "Fld").

*

* Output

* FInsrt Bit-field value positioned appropriately.

*/

#define FInsrt(Value, Field) \

(UData (Value) << FShft (Field))

例:FInsrt(0x3, 0x20005); = 0x3 << 0x0005 = 0x60

------------------------------------------------------------------------

在/kernel/include/asm-arm/arch-s3c2410/hardware.h 文件中:

/*

* S3C2410 internal I/O mappings

*

* We have the following mapping:

相关文档
最新文档