|
@@ -47,7 +47,8 @@ int __board_mmc_getcd(struct mmc *mmc) {
|
|
int board_mmc_getcd(struct mmc *mmc)__attribute__((weak,
|
|
int board_mmc_getcd(struct mmc *mmc)__attribute__((weak,
|
|
alias("__board_mmc_getcd")));
|
|
alias("__board_mmc_getcd")));
|
|
|
|
|
|
-int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
|
|
|
|
|
|
+static int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
|
|
|
|
+ struct mmc_data *data)
|
|
{
|
|
{
|
|
struct mmc_data backup;
|
|
struct mmc_data backup;
|
|
int ret;
|
|
int ret;
|
|
@@ -108,7 +109,7 @@ int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
|
|
-int mmc_send_status(struct mmc *mmc, int timeout)
|
|
|
|
|
|
+static int mmc_send_status(struct mmc *mmc, int timeout)
|
|
{
|
|
{
|
|
struct mmc_cmd cmd;
|
|
struct mmc_cmd cmd;
|
|
int err, retries = 5;
|
|
int err, retries = 5;
|
|
@@ -152,7 +153,7 @@ int mmc_send_status(struct mmc *mmc, int timeout)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-int mmc_set_blocklen(struct mmc *mmc, int len)
|
|
|
|
|
|
+static int mmc_set_blocklen(struct mmc *mmc, int len)
|
|
{
|
|
{
|
|
struct mmc_cmd cmd;
|
|
struct mmc_cmd cmd;
|
|
|
|
|
|
@@ -345,7 +346,8 @@ mmc_bwrite(int dev_num, ulong start, lbaint_t blkcnt, const void*src)
|
|
return blkcnt;
|
|
return blkcnt;
|
|
}
|
|
}
|
|
|
|
|
|
-int mmc_read_blocks(struct mmc *mmc, void *dst, ulong start, lbaint_t blkcnt)
|
|
|
|
|
|
+static int mmc_read_blocks(struct mmc *mmc, void *dst, ulong start,
|
|
|
|
+ lbaint_t blkcnt)
|
|
{
|
|
{
|
|
struct mmc_cmd cmd;
|
|
struct mmc_cmd cmd;
|
|
struct mmc_data data;
|
|
struct mmc_data data;
|
|
@@ -415,7 +417,7 @@ static ulong mmc_bread(int dev_num, ulong start, lbaint_t blkcnt, void *dst)
|
|
return blkcnt;
|
|
return blkcnt;
|
|
}
|
|
}
|
|
|
|
|
|
-int mmc_go_idle(struct mmc* mmc)
|
|
|
|
|
|
+static int mmc_go_idle(struct mmc *mmc)
|
|
{
|
|
{
|
|
struct mmc_cmd cmd;
|
|
struct mmc_cmd cmd;
|
|
int err;
|
|
int err;
|
|
@@ -436,8 +438,7 @@ int mmc_go_idle(struct mmc* mmc)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-int
|
|
|
|
-sd_send_op_cond(struct mmc *mmc)
|
|
|
|
|
|
+static int sd_send_op_cond(struct mmc *mmc)
|
|
{
|
|
{
|
|
int timeout = 1000;
|
|
int timeout = 1000;
|
|
int err;
|
|
int err;
|
|
@@ -502,7 +503,7 @@ sd_send_op_cond(struct mmc *mmc)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-int mmc_send_op_cond(struct mmc *mmc)
|
|
|
|
|
|
+static int mmc_send_op_cond(struct mmc *mmc)
|
|
{
|
|
{
|
|
int timeout = 10000;
|
|
int timeout = 10000;
|
|
struct mmc_cmd cmd;
|
|
struct mmc_cmd cmd;
|
|
@@ -566,7 +567,7 @@ int mmc_send_op_cond(struct mmc *mmc)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-int mmc_send_ext_csd(struct mmc *mmc, u8 *ext_csd)
|
|
|
|
|
|
+static int mmc_send_ext_csd(struct mmc *mmc, u8 *ext_csd)
|
|
{
|
|
{
|
|
struct mmc_cmd cmd;
|
|
struct mmc_cmd cmd;
|
|
struct mmc_data data;
|
|
struct mmc_data data;
|
|
@@ -588,7 +589,7 @@ int mmc_send_ext_csd(struct mmc *mmc, u8 *ext_csd)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-int mmc_switch(struct mmc *mmc, u8 set, u8 index, u8 value)
|
|
|
|
|
|
+static int mmc_switch(struct mmc *mmc, u8 set, u8 index, u8 value)
|
|
{
|
|
{
|
|
struct mmc_cmd cmd;
|
|
struct mmc_cmd cmd;
|
|
int timeout = 1000;
|
|
int timeout = 1000;
|
|
@@ -610,7 +611,7 @@ int mmc_switch(struct mmc *mmc, u8 set, u8 index, u8 value)
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-int mmc_change_freq(struct mmc *mmc)
|
|
|
|
|
|
+static int mmc_change_freq(struct mmc *mmc)
|
|
{
|
|
{
|
|
ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, 512);
|
|
ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, 512);
|
|
char cardtype;
|
|
char cardtype;
|
|
@@ -680,7 +681,7 @@ int mmc_getcd(struct mmc *mmc)
|
|
return cd;
|
|
return cd;
|
|
}
|
|
}
|
|
|
|
|
|
-int sd_switch(struct mmc *mmc, int mode, int group, u8 value, u8 *resp)
|
|
|
|
|
|
+static int sd_switch(struct mmc *mmc, int mode, int group, u8 value, u8 *resp)
|
|
{
|
|
{
|
|
struct mmc_cmd cmd;
|
|
struct mmc_cmd cmd;
|
|
struct mmc_data data;
|
|
struct mmc_data data;
|
|
@@ -701,7 +702,7 @@ int sd_switch(struct mmc *mmc, int mode, int group, u8 value, u8 *resp)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-int sd_change_freq(struct mmc *mmc)
|
|
|
|
|
|
+static int sd_change_freq(struct mmc *mmc)
|
|
{
|
|
{
|
|
int err;
|
|
int err;
|
|
struct mmc_cmd cmd;
|
|
struct mmc_cmd cmd;
|
|
@@ -840,7 +841,7 @@ static const int multipliers[] = {
|
|
80,
|
|
80,
|
|
};
|
|
};
|
|
|
|
|
|
-void mmc_set_ios(struct mmc *mmc)
|
|
|
|
|
|
+static void mmc_set_ios(struct mmc *mmc)
|
|
{
|
|
{
|
|
mmc->set_ios(mmc);
|
|
mmc->set_ios(mmc);
|
|
}
|
|
}
|
|
@@ -858,14 +859,14 @@ void mmc_set_clock(struct mmc *mmc, uint clock)
|
|
mmc_set_ios(mmc);
|
|
mmc_set_ios(mmc);
|
|
}
|
|
}
|
|
|
|
|
|
-void mmc_set_bus_width(struct mmc *mmc, uint width)
|
|
|
|
|
|
+static void mmc_set_bus_width(struct mmc *mmc, uint width)
|
|
{
|
|
{
|
|
mmc->bus_width = width;
|
|
mmc->bus_width = width;
|
|
|
|
|
|
mmc_set_ios(mmc);
|
|
mmc_set_ios(mmc);
|
|
}
|
|
}
|
|
|
|
|
|
-int mmc_startup(struct mmc *mmc)
|
|
|
|
|
|
+static int mmc_startup(struct mmc *mmc)
|
|
{
|
|
{
|
|
int err, width;
|
|
int err, width;
|
|
uint mult, freq;
|
|
uint mult, freq;
|
|
@@ -1013,7 +1014,7 @@ int mmc_startup(struct mmc *mmc)
|
|
if (!IS_SD(mmc) && (mmc->version >= MMC_VERSION_4)) {
|
|
if (!IS_SD(mmc) && (mmc->version >= MMC_VERSION_4)) {
|
|
/* check ext_csd version and capacity */
|
|
/* check ext_csd version and capacity */
|
|
err = mmc_send_ext_csd(mmc, ext_csd);
|
|
err = mmc_send_ext_csd(mmc, ext_csd);
|
|
- if (!err & (ext_csd[EXT_CSD_REV] >= 2)) {
|
|
|
|
|
|
+ if (!err && (ext_csd[EXT_CSD_REV] >= 2)) {
|
|
/*
|
|
/*
|
|
* According to the JEDEC Standard, the value of
|
|
* According to the JEDEC Standard, the value of
|
|
* ext_csd's capacity is valid if the value is more
|
|
* ext_csd's capacity is valid if the value is more
|
|
@@ -1148,7 +1149,7 @@ int mmc_startup(struct mmc *mmc)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-int mmc_send_if_cond(struct mmc *mmc)
|
|
|
|
|
|
+static int mmc_send_if_cond(struct mmc *mmc)
|
|
{
|
|
{
|
|
struct mmc_cmd cmd;
|
|
struct mmc_cmd cmd;
|
|
int err;
|
|
int err;
|