Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
2604f6da
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
2604f6da
编写于
4月 28, 2005
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Automatic merge of master.kernel.org:/home/rmk/linux-2.6-rmk.git
上级
18c8baff
0f7ad450
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
34 addition
and
18 deletion
+34
-18
drivers/video/amba-clcd.c
drivers/video/amba-clcd.c
+10
-4
include/asm-arm/hardware/amba_clcd.h
include/asm-arm/hardware/amba_clcd.h
+19
-12
include/asm-arm/hardware/clock.h
include/asm-arm/hardware/clock.h
+5
-2
未找到文件。
drivers/video/amba-clcd.c
浏览文件 @
2604f6da
...
...
@@ -125,11 +125,11 @@ clcdfb_set_bitfields(struct clcd_fb *fb, struct fb_var_screeninfo *var)
case
2
:
case
4
:
case
8
:
var
->
red
.
length
=
8
;
var
->
red
.
length
=
var
->
bits_per_pixel
;
var
->
red
.
offset
=
0
;
var
->
green
.
length
=
8
;
var
->
green
.
length
=
var
->
bits_per_pixel
;
var
->
green
.
offset
=
0
;
var
->
blue
.
length
=
8
;
var
->
blue
.
length
=
var
->
bits_per_pixel
;
var
->
blue
.
offset
=
0
;
break
;
case
16
:
...
...
@@ -146,7 +146,7 @@ clcdfb_set_bitfields(struct clcd_fb *fb, struct fb_var_screeninfo *var)
var
->
blue
.
offset
=
10
;
}
break
;
case
24
:
case
32
:
if
(
fb
->
panel
->
cntl
&
CNTL_LCDTFT
)
{
var
->
red
.
length
=
8
;
var
->
green
.
length
=
8
;
...
...
@@ -178,6 +178,12 @@ static int clcdfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
if
(
fb
->
board
->
check
)
ret
=
fb
->
board
->
check
(
fb
,
var
);
if
(
ret
==
0
&&
var
->
xres_virtual
*
var
->
bits_per_pixel
/
8
*
var
->
yres_virtual
>
fb
->
fb
.
fix
.
smem_len
)
ret
=
-
EINVAL
;
if
(
ret
==
0
)
ret
=
clcdfb_set_bitfields
(
fb
,
var
);
...
...
include/asm-arm/hardware/amba_clcd.h
浏览文件 @
2604f6da
...
...
@@ -153,7 +153,7 @@ struct clcd_fb {
static
inline
void
clcdfb_decode
(
struct
clcd_fb
*
fb
,
struct
clcd_regs
*
regs
)
{
u32
val
;
u32
val
,
cpl
;
/*
* Program the CLCD controller registers and start the CLCD
...
...
@@ -164,7 +164,10 @@ static inline void clcdfb_decode(struct clcd_fb *fb, struct clcd_regs *regs)
val
|=
(
fb
->
fb
.
var
.
left_margin
-
1
)
<<
24
;
regs
->
tim0
=
val
;
val
=
fb
->
fb
.
var
.
yres
-
1
;
val
=
fb
->
fb
.
var
.
yres
;
if
(
fb
->
panel
->
cntl
&
CNTL_LCDDUAL
)
val
/=
2
;
val
-=
1
;
val
|=
(
fb
->
fb
.
var
.
vsync_len
-
1
)
<<
10
;
val
|=
fb
->
fb
.
var
.
lower_margin
<<
16
;
val
|=
fb
->
fb
.
var
.
upper_margin
<<
24
;
...
...
@@ -174,13 +177,17 @@ static inline void clcdfb_decode(struct clcd_fb *fb, struct clcd_regs *regs)
val
|=
fb
->
fb
.
var
.
sync
&
FB_SYNC_HOR_HIGH_ACT
?
0
:
TIM2_IHS
;
val
|=
fb
->
fb
.
var
.
sync
&
FB_SYNC_VERT_HIGH_ACT
?
0
:
TIM2_IVS
;
if
(
fb
->
panel
->
cntl
&
CNTL_LCDTFT
)
val
|=
(
fb
->
fb
.
var
.
xres_virtual
-
1
)
<<
16
;
else
if
(
fb
->
panel
->
cntl
&
CNTL_LCDBW
)
printk
(
"what value for CPL for stnmono panels?"
);
else
val
|=
((
fb
->
fb
.
var
.
xres_virtual
*
8
/
3
)
-
1
)
<<
16
;
regs
->
tim2
=
val
;
cpl
=
fb
->
fb
.
var
.
xres_virtual
;
if
(
fb
->
panel
->
cntl
&
CNTL_LCDTFT
)
/* TFT */
/* / 1 */
;
else
if
(
!
fb
->
fb
.
var
.
grayscale
)
/* STN color */
cpl
=
cpl
*
8
/
3
;
else
if
(
fb
->
panel
->
cntl
&
CNTL_LCDMONO8
)
/* STN monochrome, 8bit */
cpl
/=
8
;
else
/* STN monochrome, 4bit */
cpl
/=
4
;
regs
->
tim2
=
val
|
((
cpl
-
1
)
<<
16
);
regs
->
tim3
=
fb
->
panel
->
tim3
;
...
...
@@ -204,7 +211,7 @@ static inline void clcdfb_decode(struct clcd_fb *fb, struct clcd_regs *regs)
case
16
:
val
|=
CNTL_LCDBPP16
;
break
;
case
24
:
case
32
:
val
|=
CNTL_LCDBPP24
;
break
;
}
...
...
@@ -215,8 +222,8 @@ static inline void clcdfb_decode(struct clcd_fb *fb, struct clcd_regs *regs)
static
inline
int
clcdfb_check
(
struct
clcd_fb
*
fb
,
struct
fb_var_screeninfo
*
var
)
{
var
->
xres_virtual
=
var
->
xres
=
(
var
->
xres
+
7
)
&
~
7
;
var
->
yres_virtual
=
var
->
yres
;
var
->
xres_virtual
=
var
->
xres
=
(
var
->
xres
+
15
)
&
~
15
;
var
->
yres_virtual
=
var
->
yres
=
(
var
->
yres
+
1
)
&
~
1
;
#define CHECK(e,l,h) (var->e < l || var->e > h)
if
(
CHECK
(
right_margin
,
(
5
+
1
),
256
)
||
/* back porch */
...
...
include/asm-arm/hardware/clock.h
浏览文件 @
2604f6da
...
...
@@ -26,10 +26,13 @@ struct clk;
/**
* clk_get - lookup and obtain a reference to a clock producer.
* @dev: device for clock "consumer"
* @id:
device
ID
* @id:
clock comsumer
ID
*
* Returns a struct clk corresponding to the clock producer, or
* valid IS_ERR() condition containing errno.
* valid IS_ERR() condition containing errno. The implementation
* uses @dev and @id to determine the clock consumer, and thereby
* the clock producer. (IOW, @id may be identical strings, but
* clk_get may return different clock producers depending on @dev.)
*/
struct
clk
*
clk_get
(
struct
device
*
dev
,
const
char
*
id
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录