Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
5479a013
K
Kernel
项目概览
openeuler
/
Kernel
大约 2 年 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
5479a013
编写于
12月 14, 2021
作者:
U
Ulf Hansson
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fixes' into next
上级
50c4ef6b
4fc7261d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
17 deletion
+26
-17
drivers/mmc/host/sdhci-tegra.c
drivers/mmc/host/sdhci-tegra.c
+26
-17
未找到文件。
drivers/mmc/host/sdhci-tegra.c
浏览文件 @
5479a013
...
@@ -356,23 +356,6 @@ static void tegra_sdhci_set_tap(struct sdhci_host *host, unsigned int tap)
...
@@ -356,23 +356,6 @@ static void tegra_sdhci_set_tap(struct sdhci_host *host, unsigned int tap)
}
}
}
}
static
void
tegra_sdhci_hs400_enhanced_strobe
(
struct
mmc_host
*
mmc
,
struct
mmc_ios
*
ios
)
{
struct
sdhci_host
*
host
=
mmc_priv
(
mmc
);
u32
val
;
val
=
sdhci_readl
(
host
,
SDHCI_TEGRA_VENDOR_SYS_SW_CTRL
);
if
(
ios
->
enhanced_strobe
)
val
|=
SDHCI_TEGRA_SYS_SW_CTRL_ENHANCED_STROBE
;
else
val
&=
~
SDHCI_TEGRA_SYS_SW_CTRL_ENHANCED_STROBE
;
sdhci_writel
(
host
,
val
,
SDHCI_TEGRA_VENDOR_SYS_SW_CTRL
);
}
static
void
tegra_sdhci_reset
(
struct
sdhci_host
*
host
,
u8
mask
)
static
void
tegra_sdhci_reset
(
struct
sdhci_host
*
host
,
u8
mask
)
{
{
struct
sdhci_pltfm_host
*
pltfm_host
=
sdhci_priv
(
host
);
struct
sdhci_pltfm_host
*
pltfm_host
=
sdhci_priv
(
host
);
...
@@ -793,6 +776,32 @@ static void tegra_sdhci_set_clock(struct sdhci_host *host, unsigned int clock)
...
@@ -793,6 +776,32 @@ static void tegra_sdhci_set_clock(struct sdhci_host *host, unsigned int clock)
}
}
}
}
static
void
tegra_sdhci_hs400_enhanced_strobe
(
struct
mmc_host
*
mmc
,
struct
mmc_ios
*
ios
)
{
struct
sdhci_host
*
host
=
mmc_priv
(
mmc
);
u32
val
;
val
=
sdhci_readl
(
host
,
SDHCI_TEGRA_VENDOR_SYS_SW_CTRL
);
if
(
ios
->
enhanced_strobe
)
{
val
|=
SDHCI_TEGRA_SYS_SW_CTRL_ENHANCED_STROBE
;
/*
* When CMD13 is sent from mmc_select_hs400es() after
* switching to HS400ES mode, the bus is operating at
* either MMC_HIGH_26_MAX_DTR or MMC_HIGH_52_MAX_DTR.
* To meet Tegra SDHCI requirement at HS400ES mode, force SDHCI
* interface clock to MMC_HS200_MAX_DTR (200 MHz) so that host
* controller CAR clock and the interface clock are rate matched.
*/
tegra_sdhci_set_clock
(
host
,
MMC_HS200_MAX_DTR
);
}
else
{
val
&=
~
SDHCI_TEGRA_SYS_SW_CTRL_ENHANCED_STROBE
;
}
sdhci_writel
(
host
,
val
,
SDHCI_TEGRA_VENDOR_SYS_SW_CTRL
);
}
static
unsigned
int
tegra_sdhci_get_max_clock
(
struct
sdhci_host
*
host
)
static
unsigned
int
tegra_sdhci_get_max_clock
(
struct
sdhci_host
*
host
)
{
{
struct
sdhci_pltfm_host
*
pltfm_host
=
sdhci_priv
(
host
);
struct
sdhci_pltfm_host
*
pltfm_host
=
sdhci_priv
(
host
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录