Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
08546df9
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,发现更多精彩内容 >>
提交
08546df9
编写于
6月 27, 2017
作者:
T
Tom Rini
浏览文件
操作
浏览文件
下载
差异文件
Merge
git://git.denx.de/u-boot-x86
上级
821560fd
da2364cc
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
81 addition
and
62 deletion
+81
-62
arch/Kconfig
arch/Kconfig
+0
-1
arch/x86/cpu/baytrail/valleyview.c
arch/x86/cpu/baytrail/valleyview.c
+12
-0
arch/x86/cpu/quark/quark.c
arch/x86/cpu/quark/quark.c
+10
-0
arch/x86/cpu/queensbay/Makefile
arch/x86/cpu/queensbay/Makefile
+1
-1
arch/x86/cpu/queensbay/topcliff.c
arch/x86/cpu/queensbay/topcliff.c
+20
-0
drivers/mmc/pci_mmc.c
drivers/mmc/pci_mmc.c
+26
-60
include/mmc.h
include/mmc.h
+12
-0
未找到文件。
arch/Kconfig
浏览文件 @
08546df9
...
...
@@ -96,7 +96,6 @@ config X86
select DM_SPI
select DM_SPI_FLASH
select USB_EHCI_HCD
select DM_MMC if MMC
imply CMD_FPGA_LOADMK
imply CMD_GETTIME
imply CMD_IO
...
...
arch/x86/cpu/baytrail/valleyview.c
浏览文件 @
08546df9
...
...
@@ -11,6 +11,18 @@
#include <asm/mrccache.h>
#include <asm/post.h>
static
struct
pci_device_id
mmc_supported
[]
=
{
{
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_BYT_SDIO
},
{
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_BYT_SD
},
{
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_BYT_EMMC2
},
{},
};
int
cpu_mmc_init
(
bd_t
*
bis
)
{
return
pci_mmc_init
(
"ValleyView SDHCI"
,
mmc_supported
);
}
#ifndef CONFIG_EFI_APP
int
arch_cpu_init
(
void
)
{
...
...
arch/x86/cpu/quark/quark.c
浏览文件 @
08546df9
...
...
@@ -16,6 +16,11 @@
#include <asm/arch/msg_port.h>
#include <asm/arch/quark.h>
static
struct
pci_device_id
mmc_supported
[]
=
{
{
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_QRK_SDIO
},
{},
};
static
void
quark_setup_mtrr
(
void
)
{
u32
base
,
mask
;
...
...
@@ -323,6 +328,11 @@ int arch_early_init_r(void)
return
0
;
}
int
cpu_mmc_init
(
bd_t
*
bis
)
{
return
pci_mmc_init
(
"Quark SDHCI"
,
mmc_supported
);
}
int
arch_misc_init
(
void
)
{
#ifdef CONFIG_ENABLE_MRC_CACHE
...
...
arch/x86/cpu/queensbay/Makefile
浏览文件 @
08546df9
...
...
@@ -5,4 +5,4 @@
#
obj-y
+=
fsp_configs.o irq.o
obj-y
+=
tnc.o
obj-y
+=
tnc.o
topcliff.o
arch/x86/cpu/queensbay/topcliff.c
0 → 100644
浏览文件 @
08546df9
/*
* Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <mmc.h>
#include <pci_ids.h>
static
struct
pci_device_id
mmc_supported
[]
=
{
{
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_TCF_SDIO_0
},
{
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_TCF_SDIO_1
},
{},
};
int
cpu_mmc_init
(
bd_t
*
bis
)
{
return
pci_mmc_init
(
"Topcliff SDHCI"
,
mmc_supported
);
}
drivers/mmc/pci_mmc.c
浏览文件 @
08546df9
...
...
@@ -6,71 +6,37 @@
*/
#include <common.h>
#include <dm.h>
#include <errno.h>
#include <malloc.h>
#include <mapmem.h>
#include <sdhci.h>
#include <asm/pci.h>
struct
pci_mmc_plat
{
struct
mmc_config
cfg
;
struct
mmc
mmc
;
};
struct
pci_mmc_priv
{
struct
sdhci_host
host
;
void
*
base
;
};
static
int
pci_mmc_probe
(
struct
udevice
*
dev
)
int
pci_mmc_init
(
const
char
*
name
,
struct
pci_device_id
*
mmc_supported
)
{
struct
mmc_uclass_priv
*
upriv
=
dev_get_uclass_priv
(
dev
);
struct
pci_mmc_plat
*
plat
=
dev_get_platdata
(
dev
);
struct
pci_mmc_priv
*
priv
=
dev_get_priv
(
dev
);
struct
sdhci_host
*
host
=
&
priv
->
host
;
u32
ioaddr
;
struct
sdhci_host
*
mmc_host
;
u32
iobase
;
int
ret
;
dm_pci_read_config32
(
dev
,
PCI_BASE_ADDRESS_0
,
&
ioaddr
);
host
->
ioaddr
=
map_sysmem
(
ioaddr
,
0
);
host
->
name
=
dev
->
name
;
ret
=
sdhci_setup_cfg
(
&
plat
->
cfg
,
host
,
0
,
0
);
if
(
ret
)
return
ret
;
host
->
mmc
=
&
plat
->
mmc
;
host
->
mmc
->
priv
=
&
priv
->
host
;
host
->
mmc
->
dev
=
dev
;
upriv
->
mmc
=
host
->
mmc
;
return
sdhci_probe
(
dev
);
int
i
;
for
(
i
=
0
;
;
i
++
)
{
struct
udevice
*
dev
;
ret
=
pci_find_device_id
(
mmc_supported
,
i
,
&
dev
);
if
(
ret
)
return
ret
;
mmc_host
=
malloc
(
sizeof
(
struct
sdhci_host
));
if
(
!
mmc_host
)
return
-
ENOMEM
;
mmc_host
->
name
=
name
;
dm_pci_read_config32
(
dev
,
PCI_BASE_ADDRESS_0
,
&
iobase
);
mmc_host
->
ioaddr
=
(
void
*
)(
ulong
)
iobase
;
mmc_host
->
quirks
=
0
;
mmc_host
->
max_clk
=
0
;
ret
=
add_sdhci
(
mmc_host
,
0
,
0
);
if
(
ret
)
return
ret
;
}
return
0
;
}
static
int
pci_mmc_bind
(
struct
udevice
*
dev
)
{
struct
pci_mmc_plat
*
plat
=
dev_get_platdata
(
dev
);
return
sdhci_bind
(
dev
,
&
plat
->
mmc
,
&
plat
->
cfg
);
}
U_BOOT_DRIVER
(
pci_mmc
)
=
{
.
name
=
"pci_mmc"
,
.
id
=
UCLASS_MMC
,
.
bind
=
pci_mmc_bind
,
.
probe
=
pci_mmc_probe
,
.
ops
=
&
sdhci_ops
,
.
priv_auto_alloc_size
=
sizeof
(
struct
pci_mmc_priv
),
.
platdata_auto_alloc_size
=
sizeof
(
struct
pci_mmc_plat
),
};
static
struct
pci_device_id
mmc_supported
[]
=
{
{
PCI_DEVICE
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_BYT_SDIO
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_BYT_SD
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_BYT_EMMC2
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_QRK_SDIO
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_TCF_SDIO_0
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_INTEL
,
PCI_DEVICE_ID_INTEL_TCF_SDIO_1
)
},
{},
};
U_BOOT_PCI_DEVICE
(
pci_mmc
,
mmc_supported
);
include/mmc.h
浏览文件 @
08546df9
...
...
@@ -585,6 +585,18 @@ int cpu_mmc_init(bd_t *bis);
int
mmc_get_env_addr
(
struct
mmc
*
mmc
,
int
copy
,
u32
*
env_addr
);
int
mmc_get_env_dev
(
void
);
struct
pci_device_id
;
/**
* pci_mmc_init() - set up PCI MMC devices
*
* This finds all the matching PCI IDs and sets them up as MMC devices.
*
* @name: Name to use for devices
* @mmc_supported: PCI IDs to search for, terminated by {0, 0}
*/
int
pci_mmc_init
(
const
char
*
name
,
struct
pci_device_id
*
mmc_supported
);
/* Set block count limit because of 16 bit register limit on some hardware*/
#ifndef CONFIG_SYS_MMC_MAX_BLK_COUNT
#define CONFIG_SYS_MMC_MAX_BLK_COUNT 65535
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录