Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
d85cd291
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,发现更多精彩内容 >>
提交
d85cd291
编写于
6月 05, 2015
作者:
T
Tom Rini
浏览文件
操作
浏览文件
下载
差异文件
Merge
git://git.denx.de/u-boot-dm
上级
5d3c2c54
d9a607f2
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
135 addition
and
93 deletion
+135
-93
arch/sandbox/cpu/cpu.c
arch/sandbox/cpu/cpu.c
+2
-0
arch/sandbox/cpu/os.c
arch/sandbox/cpu/os.c
+5
-3
arch/sandbox/dts/Makefile
arch/sandbox/dts/Makefile
+1
-1
arch/sandbox/dts/sandbox.dts
arch/sandbox/dts/sandbox.dts
+54
-52
arch/sandbox/dts/test.dts
arch/sandbox/dts/test.dts
+42
-24
drivers/pci/pci-uclass.c
drivers/pci/pci-uclass.c
+1
-0
include/asm-generic/gpio.h
include/asm-generic/gpio.h
+8
-8
include/dm/uclass-id.h
include/dm/uclass-id.h
+3
-5
include/os.h
include/os.h
+8
-0
test/dm/pci.c
test/dm/pci.c
+11
-0
未找到文件。
arch/sandbox/cpu/cpu.c
浏览文件 @
d85cd291
...
...
@@ -22,6 +22,8 @@ unsigned long map_len;
void
reset_cpu
(
ulong
ignored
)
{
/* Do this here while it still has an effect */
os_fd_restore
();
if
(
state_uninit
())
os_exit
(
2
);
...
...
arch/sandbox/cpu/os.c
浏览文件 @
d85cd291
...
...
@@ -107,10 +107,12 @@ void os_exit(int exit_code)
static
struct
termios
orig_term
;
static
bool
term_setup
;
static
void
os_fd_restore
(
void
)
void
os_fd_restore
(
void
)
{
if
(
term_setup
)
if
(
term_setup
)
{
tcsetattr
(
0
,
TCSANOW
,
&
orig_term
);
term_setup
=
false
;
}
}
/* Put tty into raw mode so <tab> and <ctrl+c> work */
...
...
@@ -120,7 +122,6 @@ void os_tty_raw(int fd, bool allow_sigs)
if
(
term_setup
)
return
;
term_setup
=
true
;
/* If not a tty, don't complain */
if
(
tcgetattr
(
fd
,
&
orig_term
))
...
...
@@ -134,6 +135,7 @@ void os_tty_raw(int fd, bool allow_sigs)
if
(
tcsetattr
(
fd
,
TCSANOW
,
&
term
))
return
;
term_setup
=
true
;
atexit
(
os_fd_restore
);
}
...
...
arch/sandbox/dts/Makefile
浏览文件 @
d85cd291
dtb-$(CONFIG_SANDBOX)
+=
sandbox.dtb
dtb-$(CONFIG_
DM_TEST
)
+=
test.dtb
dtb-$(CONFIG_
UT_DM
)
+=
test.dtb
targets
+=
$
(
dtb-y
)
...
...
arch/sandbox/dts/sandbox.dts
浏览文件 @
d85cd291
...
...
@@ -17,30 +17,6 @@
stdout-path = "/serial";
};
/* Needs to be available prior to relocation */
uart0: serial {
compatible = "sandbox,serial";
sandbox,text-colour = "cyan";
};
triangle {
compatible = "demo-shape";
colour = "cyan";
sides = <3>;
character = <83>;
light-gpios = <&gpio_a 2>, <&gpio_b 6 0>;
};
square {
compatible = "demo-shape";
colour = "blue";
sides = <4>;
};
hexagon {
compatible = "demo-simple";
colour = "white";
sides = <6>;
};
cros_ec: cros-ec@0 {
reg = <0 0>;
compatible = "google,cros-ec-sandbox";
...
...
@@ -70,10 +46,22 @@
};
};
lcd {
compatible = "sandbox,lcd-sdl";
xres = <1366>;
yres = <768>;
eth@10002000 {
compatible = "sandbox,eth";
reg = <0x10002000 0x1000>;
fake-host-hwaddr = [00 00 66 44 22 00];
};
eth@80000000 {
compatible = "sandbox,eth-raw";
reg = <0x80000000 0x1000>;
host-raw-interface = "eth0";
};
eth@90000000 {
compatible = "sandbox,eth-raw";
reg = <0x90000000 0x1000>;
host-raw-interface = "lo";
};
gpio_a: gpios@0 {
...
...
@@ -92,6 +80,12 @@
num-gpios = <10>;
};
hexagon {
compatible = "demo-simple";
colour = "white";
sides = <6>;
};
i2c_0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
...
...
@@ -120,18 +114,10 @@
};
};
spi@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0 0>;
compatible = "sandbox,spi";
cs-gpios = <0>, <&gpio_a 0>;
firmware_storage_spi: flash@0 {
reg = <0>;
compatible = "spansion,m25p16", "sandbox,spi-flash";
spi-max-frequency = <40000000>;
sandbox,filename = "spi.bin";
};
lcd {
compatible = "sandbox,lcd-sdl";
xres = <1366>;
yres = <768>;
};
pci: pci-controller {
...
...
@@ -150,22 +136,38 @@
};
};
eth@10002000 {
compatible = "sandbox,eth";
reg = <0x10002000 0x1000>;
fake-host-hwaddr = [00 00 66 44 22 00];
spi@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0 0>;
compatible = "sandbox,spi";
cs-gpios = <0>, <&gpio_a 0>;
firmware_storage_spi: flash@0 {
reg = <0>;
compatible = "spansion,m25p16", "sandbox,spi-flash";
spi-max-frequency = <40000000>;
sandbox,filename = "spi.bin";
};
};
eth@80000000
{
compatible = "
sandbox,eth-raw
";
reg = <0x80000000 0x1000>
;
host-raw-interface = "eth0"
;
square
{
compatible = "
demo-shape
";
colour = "blue"
;
sides = <4>
;
};
eth@90000000 {
compatible = "sandbox,eth-raw";
reg = <0x90000000 0x1000>;
host-raw-interface = "lo";
triangle {
compatible = "demo-shape";
colour = "cyan";
sides = <3>;
character = <83>;
light-gpios = <&gpio_a 2>, <&gpio_b 6 0>;
};
/* Needs to be available prior to relocation */
uart0: serial {
compatible = "sandbox,serial";
sandbox,text-colour = "cyan";
};
usb@0 {
...
...
arch/sandbox/dts/test.dts
浏览文件 @
d85cd291
...
...
@@ -8,9 +8,13 @@
aliases
{
console
=
&
uart0
;
eth0
=
"/eth@10002000"
;
eth5
=
&
eth_5
;
i2c0
=
"/i2c@0"
;
spi0
=
"/spi@0"
;
pci0
=
&
pci
;
rtc0
=
&
rtc_0
;
rtc1
=
&
rtc_1
;
spi0
=
"/spi@0"
;
testfdt6
=
"/e-test"
;
testbus3
=
"/some-bus"
;
testfdt0
=
"/some-bus/c-test@0"
;
...
...
@@ -18,18 +22,11 @@
testfdt3
=
"/b-test"
;
testfdt5
=
"/some-bus/c-test@5"
;
testfdt8
=
"/a-test"
;
eth0
=
"/eth@10002000"
;
eth5
=
&
eth_5
;
usb0
=
&
usb_0
;
usb1
=
&
usb_1
;
usb2
=
&
usb_2
;
};
uart0
:
serial
{
compatible
=
"sandbox,serial"
;
u
-
boot
,
dm
-
pre
-
reloc
;
};
a
-
test
{
reg
=
<
0
>;
compatible
=
"denx,u-boot-fdt-test"
;
...
...
@@ -108,6 +105,24 @@
compatible
=
"denx,u-boot-fdt-test"
;
};
eth
@
10002000
{
compatible
=
"sandbox,eth"
;
reg
=
<
0x10002000
0x1000
>;
fake
-
host
-
hwaddr
=
<
0x00
0x00
0x66
0x44
0x22
0x00
>;
};
eth_5
:
eth
@
10003000
{
compatible
=
"sandbox,eth"
;
reg
=
<
0x10003000
0x1000
>;
fake
-
host
-
hwaddr
=
<
0x00
0x00
0x66
0x44
0x22
0x11
>;
};
eth
@
10004000
{
compatible
=
"sandbox,eth"
;
reg
=
<
0x10004000
0x1000
>;
fake
-
host
-
hwaddr
=
<
0x00
0x00
0x66
0x44
0x22
0x22
>;
};
gpio_a
:
base
-
gpios
{
compatible
=
"sandbox,gpio"
;
gpio
-
controller
;
...
...
@@ -140,6 +155,22 @@
};
};
rtc_0
:
rtc
@
43
{
reg
=
<
0x43
>;
compatible
=
"sandbox-rtc"
;
emul
{
compatible
=
"sandbox,i2c-rtc"
;
};
};
rtc_1
:
rtc
@
61
{
reg
=
<
0x61
>;
compatible
=
"sandbox-rtc"
;
emul
{
compatible
=
"sandbox,i2c-rtc"
;
};
};
sandbox_pmic
:
sandbox_pmic
{
reg
=
<
0x40
>;
};
...
...
@@ -175,22 +206,9 @@
};
};
eth
@
10002000
{
compatible
=
"sandbox,eth"
;
reg
=
<
0x10002000
0x1000
>;
fake
-
host
-
hwaddr
=
<
0x00
0x00
0x66
0x44
0x22
0x00
>;
};
eth_5
:
eth
@
10003000
{
compatible
=
"sandbox,eth"
;
reg
=
<
0x10003000
0x1000
>;
fake
-
host
-
hwaddr
=
<
0x00
0x00
0x66
0x44
0x22
0x11
>;
};
eth
@
10004000
{
compatible
=
"sandbox,eth"
;
reg
=
<
0x10004000
0x1000
>;
fake
-
host
-
hwaddr
=
<
0x00
0x00
0x66
0x44
0x22
0x22
>;
uart0
:
serial
{
compatible
=
"sandbox,serial"
;
u
-
boot
,
dm
-
pre
-
reloc
;
};
usb_0
:
usb
@
0
{
...
...
drivers/pci/pci-uclass.c
浏览文件 @
d85cd291
...
...
@@ -596,6 +596,7 @@ int pci_bridge_write_config(struct udevice *bus, pci_dev_t devfn, uint offset,
UCLASS_DRIVER
(
pci
)
=
{
.
id
=
UCLASS_PCI
,
.
name
=
"pci"
,
.
flags
=
DM_UC_FLAG_SEQ_ALIAS
,
.
post_bind
=
pci_uclass_post_bind
,
.
pre_probe
=
pci_uclass_pre_probe
,
.
post_probe
=
pci_uclass_post_probe
,
...
...
include/asm-generic/gpio.h
浏览文件 @
d85cd291
...
...
@@ -42,7 +42,7 @@
* Note: With driver model, the label is allocated so there is no need for
* the caller to preserve it.
*
* @param gp GPIO number
* @param gp
io
GPIO number
* @param label User label for this GPIO
* @return 0 if ok, -1 on error
*/
...
...
@@ -127,7 +127,7 @@ struct gpio_desc {
};
/**
* dm_gpio_is_valid() - Check if a GPIO is
gpio_is_valie
* dm_gpio_is_valid() - Check if a GPIO is
valid
*
* @desc: GPIO description containing device, offset and flags,
* previously returned by gpio_request_by_name()
...
...
@@ -167,7 +167,7 @@ int gpio_get_status(struct udevice *dev, int offset, char *buf, int buffsize);
*
* @dev: Device to check
* @offset: Offset of device GPIO to check
* @namep: If non-NULL, this is set to the na
n
e given when the GPIO
* @namep: If non-NULL, this is set to the na
m
e given when the GPIO
* was requested, or -1 if it has not been requested
* @return -ENODATA if the driver returned an unknown function,
* -ENODEV if the device is not active, -EINVAL if the offset is invalid.
...
...
@@ -186,7 +186,7 @@ int gpio_get_function(struct udevice *dev, int offset, const char **namep);
*
* @dev: Device to check
* @offset: Offset of device GPIO to check
* @namep: If non-NULL, this is set to the na
n
e given when the GPIO
* @namep: If non-NULL, this is set to the na
m
e given when the GPIO
* was requested, or -1 if it has not been requested
* @return -ENODATA if the driver returned an unknown function,
* -ENODEV if the device is not active, -EINVAL if the offset is invalid.
...
...
@@ -219,7 +219,7 @@ struct fdtdec_phandle_args;
* Also it would be useful to standardise additional functions like
* pullup, slew rate and drive strength.
*
* gpio_request
)(
and gpio_free() are optional - if NULL then they will
* gpio_request
()
and gpio_free() are optional - if NULL then they will
* not be called.
*
* Note that @offset is the offset from the base GPIO of the device. So
...
...
@@ -271,7 +271,7 @@ struct dm_gpio_ops {
*
* @dev: GPIO device
* @desc: Place to put GPIO description
* @args: Arguments provided in descripion
* @args: Arguments provided in descrip
t
ion
* @return 0 if OK, -ve on error
*/
int
(
*
xlate
)(
struct
udevice
*
dev
,
struct
gpio_desc
*
desc
,
...
...
@@ -398,7 +398,7 @@ int gpio_request_by_name(struct udevice *dev, const char *list_name,
/**
* gpio_request_list_by_name() - Request a list of GPIOs
*
* Reads all the GPIOs from a list and reque
ts
s them. See
* Reads all the GPIOs from a list and reque
st
s them. See
* gpio_request_by_name() for additional details. Lists should not be
* misused to hold unrelated or optional GPIOs. They should only be used
* for things like parallel data lines. A zero phandle terminates the list
...
...
@@ -533,7 +533,7 @@ int dm_gpio_set_dir_flags(struct gpio_desc *desc, ulong flags);
/**
* gpio_get_number() - Get the global GPIO number of a GPIO
*
* This should only be used for debugging or interest. It returns the num
m
ber
* This should only be used for debugging or interest. It returns the number
* that should be used for gpio_get_value() etc. to access this GPIO.
*
* @desc: GPIO description containing device, offset and flags,
...
...
include/dm/uclass-id.h
浏览文件 @
d85cd291
...
...
@@ -39,20 +39,18 @@ enum uclass_id {
UCLASS_PCH
,
/* x86 platform controller hub */
UCLASS_PCI
,
/* PCI bus */
UCLASS_PCI_GENERIC
,
/* Generic PCI bus device */
UCLASS_PMIC
,
/* PMIC I/O device */
UCLASS_REGULATOR
,
/* Regulator device */
UCLASS_RTC
,
/* Real time clock device */
UCLASS_SERIAL
,
/* Serial UART */
UCLASS_SPI
,
/* SPI bus */
UCLASS_SPI_GENERIC
,
/* Generic SPI flash target */
UCLASS_SPI_FLASH
,
/* SPI flash */
UCLASS_SPI_GENERIC
,
/* Generic SPI flash target */
UCLASS_THERMAL
,
/* Thermal sensor */
UCLASS_USB
,
/* USB bus */
UCLASS_USB_DEV_GENERIC
,
/* USB generic device */
UCLASS_USB_HUB
,
/* USB hub */
/* Power Management */
UCLASS_PMIC
,
/* PMIC I/O device */
UCLASS_REGULATOR
,
/* REGULATOR device */
UCLASS_COUNT
,
UCLASS_INVALID
=
-
1
,
};
...
...
include/os.h
浏览文件 @
d85cd291
...
...
@@ -111,6 +111,14 @@ void os_exit(int exit_code) __attribute__((noreturn));
*/
void
os_tty_raw
(
int
fd
,
bool
allow_sigs
);
/**
* Restore the tty to its original mode
*
* Call this to restore the original terminal mode, after it has been changed
* by os_tty_raw(). This is an internal function.
*/
void
os_fd_restore
(
void
);
/**
* Acquires some memory from the underlying os.
*
...
...
test/dm/pci.c
浏览文件 @
d85cd291
...
...
@@ -21,6 +21,17 @@ static int dm_test_pci_base(struct unit_test_state *uts)
}
DM_TEST
(
dm_test_pci_base
,
DM_TESTF_SCAN_PDATA
|
DM_TESTF_SCAN_FDT
);
/* Test that sandbox PCI bus numbering works correctly */
static
int
dm_test_pci_busnum
(
struct
unit_test_state
*
uts
)
{
struct
udevice
*
bus
;
ut_assertok
(
uclass_get_device_by_seq
(
UCLASS_PCI
,
0
,
&
bus
));
return
0
;
}
DM_TEST
(
dm_test_pci_busnum
,
DM_TESTF_SCAN_PDATA
|
DM_TESTF_SCAN_FDT
);
/* Test that we can use the swapcase device correctly */
static
int
dm_test_pci_swapcase
(
struct
unit_test_state
*
uts
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录