Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
9fe2cfb4
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,发现更多精彩内容 >>
提交
9fe2cfb4
编写于
9月 21, 2012
作者:
T
Tom Rini
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'agust@denx.de' of
git://git.denx.de/u-boot-staging
上级
495dbd72
cf5787f2
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
35 addition
and
12 deletion
+35
-12
drivers/pci/pci.c
drivers/pci/pci.c
+3
-3
drivers/pci/pci_auto.c
drivers/pci/pci_auto.c
+1
-1
include/asm-generic/gpio.h
include/asm-generic/gpio.h
+9
-0
include/fdtdec.h
include/fdtdec.h
+3
-0
lib/fdtdec.c
lib/fdtdec.c
+19
-8
未找到文件。
drivers/pci/pci.c
浏览文件 @
9fe2cfb4
...
...
@@ -118,11 +118,11 @@ PCI_WRITE_VIA_DWORD_OP(word, u16, 0x02, 0x0000ffff)
void
*
pci_map_bar
(
pci_dev_t
pdev
,
int
bar
,
int
flags
)
{
pci_addr_t
pci_bus_addr
;
pci_addr_t
bar_response
;
u32
bar_response
;
/* read BAR address */
pci_read_config_dword
(
pdev
,
bar
,
&
bar_response
);
pci_bus_addr
=
bar_response
&
~
0xf
;
pci_bus_addr
=
(
pci_addr_t
)(
bar_response
&
~
0xf
)
;
/*
* Pass "0" as the length argument to pci_bus_to_virt. The arg
...
...
@@ -389,7 +389,7 @@ int pci_hose_config_device(struct pci_controller *hose,
pci_addr_t
mem
,
unsigned
long
command
)
{
pci_addr_t
bar_response
;
u32
bar_response
;
unsigned
int
old_command
;
pci_addr_t
bar_value
;
pci_size_t
bar_size
;
...
...
drivers/pci/pci_auto.c
浏览文件 @
9fe2cfb4
...
...
@@ -89,7 +89,7 @@ void pciauto_setup_device(struct pci_controller *hose,
struct
pci_region
*
prefetch
,
struct
pci_region
*
io
)
{
pci_addr_t
bar_response
;
u32
bar_response
;
pci_size_t
bar_size
;
u16
cmdstat
=
0
;
int
bar
,
bar_nr
=
0
;
...
...
include/asm-generic/gpio.h
浏览文件 @
9fe2cfb4
...
...
@@ -94,4 +94,13 @@ int gpio_get_value(unsigned gpio);
*/
int
gpio_set_value
(
unsigned
gpio
,
int
value
);
/**
* Request a gpio. This should be called before any of the other functions
* are used on this gpio.
*
* @param gp GPIO number
* @param label User label for this GPIO
* @return 0 if ok, -1 on error
*/
int
gpio_request
(
unsigned
gpio
,
const
char
*
label
);
#endif
/* _ASM_GENERIC_GPIO_H_ */
include/fdtdec.h
浏览文件 @
9fe2cfb4
...
...
@@ -19,6 +19,8 @@
* MA 02111-1307 USA
*/
#ifndef __fdtdec_h
#define __fdtdec_h
/*
* This file contains convenience functions for decoding useful and
...
...
@@ -383,3 +385,4 @@ int fdtdec_get_byte_array(const void *blob, int node, const char *prop_name,
*/
const
u8
*
fdtdec_locate_byte_array
(
const
void
*
blob
,
int
node
,
const
char
*
prop_name
,
int
count
);
#endif
lib/fdtdec.c
浏览文件 @
9fe2cfb4
...
...
@@ -80,11 +80,16 @@ fdt_addr_t fdtdec_get_addr(const void *blob, int node,
const
fdt_addr_t
*
cell
;
int
len
;
debug
(
"
get_addr: %s
\n
"
,
prop_name
);
debug
(
"
%s: %s: "
,
__func__
,
prop_name
);
cell
=
fdt_getprop
(
blob
,
node
,
prop_name
,
&
len
);
if
(
cell
&&
(
len
==
sizeof
(
fdt_addr_t
)
||
len
==
sizeof
(
fdt_addr_t
)
*
2
))
return
fdt_addr_to_cpu
(
*
cell
);
len
==
sizeof
(
fdt_addr_t
)
*
2
))
{
fdt_addr_t
addr
=
fdt_addr_to_cpu
(
*
cell
);
debug
(
"%p
\n
"
,
(
void
*
)
addr
);
return
addr
;
}
debug
(
"(not found)
\n
"
);
return
FDT_ADDR_T_NONE
;
}
...
...
@@ -94,10 +99,15 @@ s32 fdtdec_get_int(const void *blob, int node, const char *prop_name,
const
s32
*
cell
;
int
len
;
debug
(
"
get_size: %s
\n
"
,
prop_name
);
debug
(
"
%s: %s: "
,
__func__
,
prop_name
);
cell
=
fdt_getprop
(
blob
,
node
,
prop_name
,
&
len
);
if
(
cell
&&
len
>=
sizeof
(
s32
))
return
fdt32_to_cpu
(
cell
[
0
]);
if
(
cell
&&
len
>=
sizeof
(
s32
))
{
s32
val
=
fdt32_to_cpu
(
cell
[
0
]);
debug
(
"%#x (%d)
\n
"
,
val
,
val
);
return
val
;
}
debug
(
"(not found)
\n
"
);
return
default_val
;
}
...
...
@@ -329,6 +339,7 @@ int fdtdec_lookup_phandle(const void *blob, int node, const char *prop_name)
const
u32
*
phandle
;
int
lookup
;
debug
(
"%s: %s
\n
"
,
__func__
,
prop_name
);
phandle
=
fdt_getprop
(
blob
,
node
,
prop_name
,
NULL
);
if
(
!
phandle
)
return
-
FDT_ERR_NOTFOUND
;
...
...
@@ -428,7 +439,7 @@ static int fdtdec_decode_gpios(const void *blob, int node,
assert
(
max_count
>
0
);
prop
=
fdt_get_property
(
blob
,
node
,
prop_name
,
&
len
);
if
(
!
prop
)
{
debug
(
"
FDT:
%s: property '%s' missing
\n
"
,
__func__
,
prop_name
);
debug
(
"%s: property '%s' missing
\n
"
,
__func__
,
prop_name
);
return
-
FDT_ERR_NOTFOUND
;
}
...
...
@@ -437,7 +448,7 @@ static int fdtdec_decode_gpios(const void *blob, int node,
cell
=
(
u32
*
)
prop
->
data
;
len
/=
sizeof
(
u32
)
*
3
;
/* 3 cells per GPIO record */
if
(
len
>
max_count
)
{
debug
(
"
FDT:
%s: too many GPIOs / cells for "
debug
(
" %s: too many GPIOs / cells for "
"property '%s'
\n
"
,
__func__
,
prop_name
);
return
-
FDT_ERR_BADLAYOUT
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录