Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
d6a320d5
U
U-Boot.Mirror
项目概览
OS
/
U-Boot.Mirror
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
U-Boot.Mirror
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d6a320d5
编写于
1月 28, 2014
作者:
S
Sonic Zhang
提交者:
Heiko Schocher
2月 20, 2014
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
blackfin: add spi and i2c specific get clock functions
Signed-off-by:
N
Sonic Zhang
<
sonic.zhang@analog.com
>
上级
bb0fad0e
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
21 addition
and
14 deletion
+21
-14
arch/blackfin/include/asm/blackfin_local.h
arch/blackfin/include/asm/blackfin_local.h
+0
-7
arch/blackfin/include/asm/clock.h
arch/blackfin/include/asm/clock.h
+11
-0
drivers/i2c/bfin-twi_i2c.c
drivers/i2c/bfin-twi_i2c.c
+2
-1
drivers/spi/bfin_spi.c
drivers/spi/bfin_spi.c
+4
-3
drivers/spi/bfin_spi6xx.c
drivers/spi/bfin_spi6xx.c
+4
-3
未找到文件。
arch/blackfin/include/asm/blackfin_local.h
浏览文件 @
d6a320d5
...
...
@@ -42,13 +42,6 @@
# include <linux/types.h>
extern
u_long
get_vco
(
void
);
extern
u_long
get_cclk
(
void
);
extern
u_long
get_sclk
(
void
);
extern
u_long
get_sclk0
(
void
);
extern
u_long
get_sclk1
(
void
);
extern
u_long
get_dclk
(
void
);
# define bfin_revid() (bfin_read_CHIPID() >> 28)
extern
int
bfin_os_log_check
(
void
);
...
...
arch/blackfin/include/asm/clock.h
浏览文件 @
d6a320d5
...
...
@@ -68,10 +68,21 @@ static inline uint32_t early_get_uart_clk(void)
return
uclk
;
}
extern
u_long
get_vco
(
void
);
extern
u_long
get_cclk
(
void
);
extern
u_long
get_sclk
(
void
);
#ifdef CGU_DIV
extern
u_long
get_sclk0
(
void
);
extern
u_long
get_sclk1
(
void
);
extern
u_long
get_dclk
(
void
);
# define get_uart_clk get_sclk0
# define get_i2c_clk get_sclk0
# define get_spi_clk get_sclk0
#else
# define get_uart_clk get_sclk
# define get_i2c_clk get_sclk
# define get_spi_clk get_sclk
#endif
#endif
drivers/i2c/bfin-twi_i2c.c
浏览文件 @
d6a320d5
...
...
@@ -10,6 +10,7 @@
#include <i2c.h>
#include <asm/blackfin.h>
#include <asm/clock.h>
#include <asm/mach-common/bits/twi.h>
/* Every register is 32bit aligned, but only 16bits in size */
...
...
@@ -274,7 +275,7 @@ unsigned int i2c_get_bus_speed(void)
*/
void
i2c_init
(
int
speed
,
int
slaveaddr
)
{
uint8_t
prescale
=
((
get_
s
clk
()
/
1000
/
1000
+
5
)
/
10
)
&
0x7F
;
uint8_t
prescale
=
((
get_
i2c_
clk
()
/
1000
/
1000
+
5
)
/
10
)
&
0x7F
;
/* Set TWI internal clock as 10MHz */
twi
->
control
=
prescale
;
...
...
drivers/spi/bfin_spi.c
浏览文件 @
d6a320d5
...
...
@@ -13,6 +13,7 @@
#include <spi.h>
#include <asm/blackfin.h>
#include <asm/clock.h>
#include <asm/gpio.h>
#include <asm/portmux.h>
#include <asm/mach-common/bits/spi.h>
...
...
@@ -140,12 +141,12 @@ static const unsigned short cs_pins[][7] = {
void
spi_set_speed
(
struct
spi_slave
*
slave
,
uint
hz
)
{
struct
bfin_spi_slave
*
bss
=
to_bfin_spi_slave
(
slave
);
ulong
s
clk
;
ulong
clk
;
u32
baud
;
sclk
=
get_s
clk
();
clk
=
get_spi_
clk
();
/* baud should be rounded up */
baud
=
DIV_ROUND_UP
(
s
clk
,
2
*
hz
);
baud
=
DIV_ROUND_UP
(
clk
,
2
*
hz
);
if
(
baud
<
2
)
baud
=
2
;
else
if
(
baud
>
(
u16
)
-
1
)
...
...
drivers/spi/bfin_spi6xx.c
浏览文件 @
d6a320d5
...
...
@@ -22,6 +22,7 @@
#include <spi.h>
#include <asm/blackfin.h>
#include <asm/clock.h>
#include <asm/gpio.h>
#include <asm/portmux.h>
#include <asm/mach-common/bits/spi6xx.h>
...
...
@@ -135,11 +136,11 @@ static const unsigned short cs_pins[][7] = {
void
spi_set_speed
(
struct
spi_slave
*
slave
,
uint
hz
)
{
struct
bfin_spi_slave
*
bss
=
to_bfin_spi_slave
(
slave
);
ulong
s
clk
;
ulong
clk
;
u32
clock
;
sclk
=
get_sclk1
();
clock
=
s
clk
/
hz
;
clk
=
get_spi_clk
();
clock
=
clk
/
hz
;
if
(
clock
)
clock
--
;
bss
->
clock
=
clock
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录