Home
last modified time | relevance | path

Searched refs:mmc (Results 1 – 25 of 434) sorted by relevance

12345678910>>...18

/rk3399_rockchip-uboot/drivers/mmc/
H A Dmmc.c36 static struct mmc mmc_static;
37 struct mmc *find_mmc_device(int dev_num) in find_mmc_device()
44 struct mmc *m = &mmc_static; in mmc_do_preinit()
52 struct blk_desc *mmc_get_blk_desc(struct mmc *mmc) in mmc_get_blk_desc() argument
54 return &mmc->block_dev; in mmc_get_blk_desc()
59 __weak int board_mmc_getwp(struct mmc *mmc) in board_mmc_getwp() argument
64 int mmc_getwp(struct mmc *mmc) in mmc_getwp() argument
68 wp = board_mmc_getwp(mmc); in mmc_getwp()
71 if (mmc->cfg->ops->getwp) in mmc_getwp()
72 wp = mmc->cfg->ops->getwp(mmc); in mmc_getwp()
[all …]
H A Dmmc_legacy.c17 struct mmc *find_mmc_device(int dev_num) in find_mmc_device()
19 struct mmc *m; in find_mmc_device()
23 m = list_entry(entry, struct mmc, link); in find_mmc_device()
41 struct blk_desc *mmc_get_blk_desc(struct mmc *mmc) in mmc_get_blk_desc() argument
43 return &mmc->block_dev; in mmc_get_blk_desc()
53 struct mmc *m; in mmc_do_preinit()
57 m = list_entry(entry, struct mmc, link); in mmc_do_preinit()
74 void mmc_list_add(struct mmc *mmc) in mmc_list_add() argument
76 INIT_LIST_HEAD(&mmc->link); in mmc_list_add()
78 list_add_tail(&mmc->link, &mmc_devices); in mmc_list_add()
[all …]
H A Dmeson_gx_mmc.c16 static inline void *get_regbase(const struct mmc *mmc) in get_regbase() argument
18 struct meson_mmc_platdata *pdata = mmc->priv; in get_regbase()
23 static inline uint32_t meson_read(struct mmc *mmc, int offset) in meson_read() argument
25 return readl(get_regbase(mmc) + offset); in meson_read()
28 static inline void meson_write(struct mmc *mmc, uint32_t val, int offset) in meson_write() argument
30 writel(val, get_regbase(mmc) + offset); in meson_write()
33 static void meson_mmc_config_clock(struct mmc *mmc) in meson_mmc_config_clock() argument
39 if (mmc->clock > 16000000) { in meson_mmc_config_clock()
46 clk_div = DIV_ROUND_UP(clk, mmc->clock); in meson_mmc_config_clock()
58 meson_write(mmc, meson_mmc_clk, MESON_SD_EMMC_CLOCK); in meson_mmc_config_clock()
[all …]
H A Dmmc_write.c18 static ulong mmc_erase_t(struct mmc *mmc, ulong start, lbaint_t blkcnt) in mmc_erase_t() argument
25 if (mmc->high_capacity) { in mmc_erase_t()
28 end = (start + blkcnt - 1) * mmc->write_bl_len; in mmc_erase_t()
29 start *= mmc->write_bl_len; in mmc_erase_t()
39 if (IS_SD(mmc)) { in mmc_erase_t()
46 if (mmc->esr.mmc_can_trim) in mmc_erase_t()
56 err = mmc_send_cmd(mmc, &cmd, NULL); in mmc_erase_t()
63 err = mmc_send_cmd(mmc, &cmd, NULL); in mmc_erase_t()
71 err = mmc_send_cmd(mmc, &cmd, NULL); in mmc_erase_t()
94 struct mmc *mmc = find_mmc_device(dev_num); in mmc_berase() local
[all …]
H A Dmmc-uclass.c21 struct mmc *mmc = mmc_get_mmc_dev(dev); in dm_mmc_send_cmd() local
26 mmmc_trace_before_send(mmc, cmd); in dm_mmc_send_cmd()
31 mmmc_trace_after_send(mmc, cmd, ret); in dm_mmc_send_cmd()
42 mmc->timing == MMC_TIMING_MMC_HS200 && in dm_mmc_send_cmd()
45 ops->execute_tuning(mmc->dev, opcode); in dm_mmc_send_cmd()
59 struct mmc *mmc = mmc_get_mmc_dev(dev); in dm_mmc_send_cmd_prepare() local
63 mmmc_trace_before_send(mmc, cmd); in dm_mmc_send_cmd_prepare()
68 mmmc_trace_after_send(mmc, cmd, ret); in dm_mmc_send_cmd_prepare()
77 int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) in mmc_send_cmd() argument
79 return dm_mmc_send_cmd(mmc->dev, cmd, data); in mmc_send_cmd()
[all …]
H A Dmmc_private.h15 extern int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
18 int mmc_send_cmd_prepare(struct mmc *mmc, struct mmc_cmd *cmd,
21 extern int mmc_send_status(struct mmc *mmc, int timeout);
22 extern int mmc_set_blocklen(struct mmc *mmc, int len);
23 int mmc_set_blockcount(struct mmc *mmc, unsigned int blkcnt, bool is_rel_write);
89 void mmmc_trace_before_send(struct mmc *mmc, struct mmc_cmd *cmd);
90 void mmmc_trace_after_send(struct mmc *mmc, struct mmc_cmd *cmd, int ret);
91 void mmc_trace_state(struct mmc *mmc, struct mmc_cmd *cmd);
93 static inline void mmmc_trace_before_send(struct mmc *mmc, struct mmc_cmd *cmd) in mmmc_trace_before_send() argument
97 static inline void mmmc_trace_after_send(struct mmc *mmc, struct mmc_cmd *cmd, in mmmc_trace_after_send() argument
[all …]
H A Dfsl_esdhc_spl.c27 struct mmc *mmc = find_mmc_device(0); in mmc_spl_load_image() local
28 if (!mmc) { in mmc_spl_load_image()
33 if (mmc_init(mmc)) { in mmc_spl_load_image()
38 blk_start = ALIGN(offs, mmc->read_bl_len) / mmc->read_bl_len; in mmc_spl_load_image()
39 blk_cnt = ALIGN(size, mmc->read_bl_len) / mmc->read_bl_len; in mmc_spl_load_image()
41 err = mmc->block_dev.block_read(&mmc->block_dev, blk_start, blk_cnt, in mmc_spl_load_image()
66 struct mmc *mmc; in mmc_boot() local
68 mmc = find_mmc_device(0); in mmc_boot()
69 if (!mmc) { in mmc_boot()
78 blklen = mmc->read_bl_len; in mmc_boot()
[all …]
H A Dpxa_mmc_gen.c51 static int pxa_mmc_wait(struct mmc *mmc, uint32_t mask) in pxa_mmc_wait() argument
53 struct pxa_mmc_priv *priv = mmc->priv; in pxa_mmc_wait()
70 static int pxa_mmc_stop_clock(struct mmc *mmc) in pxa_mmc_stop_clock() argument
72 struct pxa_mmc_priv *priv = mmc->priv; in pxa_mmc_stop_clock()
98 static int pxa_mmc_start_cmd(struct mmc *mmc, struct mmc_cmd *cmd, in pxa_mmc_start_cmd() argument
101 struct pxa_mmc_priv *priv = mmc->priv; in pxa_mmc_start_cmd()
134 ret = pxa_mmc_wait(mmc, MMC_STAT_CLK_EN); in pxa_mmc_start_cmd()
142 static int pxa_mmc_cmd_done(struct mmc *mmc, struct mmc_cmd *cmd) in pxa_mmc_cmd_done() argument
144 struct pxa_mmc_priv *priv = mmc->priv; in pxa_mmc_cmd_done()
184 static int pxa_mmc_do_read_xfer(struct mmc *mmc, struct mmc_data *data) in pxa_mmc_do_read_xfer() argument
[all …]
H A Drpmb.c57 static int mmc_rpmb_request(struct mmc *mmc, const void *s, in mmc_rpmb_request() argument
64 ret = mmc_set_blockcount(mmc, count, is_rel_write); in mmc_rpmb_request()
81 ret = mmc_send_cmd(mmc, &cmd, &data); in mmc_rpmb_request()
90 static int mmc_rpmb_response(struct mmc *mmc, struct s_rpmb *s, in mmc_rpmb_response() argument
97 ret = mmc_set_blockcount(mmc, cnt, false); in mmc_rpmb_response()
113 ret = mmc_send_cmd(mmc, &cmd, &data); in mmc_rpmb_response()
138 static int mmc_rpmb_status(struct mmc *mmc, unsigned short expected) in mmc_rpmb_status() argument
144 if (mmc_rpmb_request(mmc, rpmb_frame, 1, false)) in mmc_rpmb_status()
148 return mmc_rpmb_response(mmc, rpmb_frame, expected, 1); in mmc_rpmb_status()
194 int mmc_rpmb_get_counter(struct mmc *mmc, unsigned long *pcounter) in mmc_rpmb_get_counter() argument
[all …]
H A Dmmc_boot.c24 int mmc_boot_partition_size_change(struct mmc *mmc, unsigned long bootsize, in mmc_boot_partition_size_change() argument
35 err = mmc_send_cmd(mmc, &cmd, NULL); in mmc_boot_partition_size_change()
46 err = mmc_send_cmd(mmc, &cmd, NULL); in mmc_boot_partition_size_change()
59 err = mmc_send_cmd(mmc, &cmd, NULL); in mmc_boot_partition_size_change()
71 err = mmc_send_cmd(mmc, &cmd, NULL); in mmc_boot_partition_size_change()
86 int mmc_set_boot_bus_width(struct mmc *mmc, u8 width, u8 reset, u8 mode) in mmc_set_boot_bus_width() argument
88 return mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BOOT_BUS_WIDTH, in mmc_set_boot_bus_width()
101 int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access) in mmc_set_part_conf() argument
110 ret = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_PART_CONF, in mmc_set_part_conf()
113 mmc->part_config = part_conf; in mmc_set_part_conf()
[all …]
H A Dmmc_spi.c53 static uint mmc_spi_sendcmd(struct mmc *mmc, ushort cmdidx, u32 cmdarg) in mmc_spi_sendcmd() argument
55 struct spi_slave *spi = mmc->priv; in mmc_spi_sendcmd()
76 static uint mmc_spi_readdata(struct mmc *mmc, void *xbuf, in mmc_spi_readdata() argument
79 struct spi_slave *spi = mmc->priv; in mmc_spi_readdata()
96 debug("%s: CRC error\n", mmc->cfg->name); in mmc_spi_readdata()
111 static uint mmc_spi_writedata(struct mmc *mmc, const void *xbuf, in mmc_spi_writedata() argument
114 struct spi_slave *spi = mmc->priv; in mmc_spi_writedata()
173 static int mmc_spi_request(struct mmc *mmc, struct mmc_cmd *cmd, in mmc_spi_request() argument
176 struct spi_slave *spi = mmc->priv; in mmc_spi_request()
184 r1 = mmc_spi_sendcmd(mmc, cmd->cmdidx, cmd->cmdarg); in mmc_spi_request()
[all …]
H A Dgen_atmel_mci.c41 struct mmc mmc; member
83 struct mmc *mmc = &plat->mmc; local
87 static void mci_set_mode(struct mmc *mmc, u32 hz, u32 blklen)
89 struct atmel_mci_priv *priv = mmc->priv;
150 if (mmc->card_caps & mmc->cfg->host_caps & MMC_MODE_HS)
239 struct mmc *mmc = mmc_get_mmc_dev(dev); local
243 mci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
245 struct atmel_mci_priv *priv = mmc->priv;
263 writel(data->blocks | MMCI_BF(BLKLEN, mmc->read_bl_len),
304 sys_blocksize = mmc->read_bl_len;
[all …]
H A Dsunxi_mmc.c25 struct mmc mmc; member
207 static int mmc_config_clock(struct sunxi_mmc_priv *priv, struct mmc *mmc) in mmc_config_clock() argument
218 if (mmc_set_mod_clk(priv, mmc->clock)) in mmc_config_clock()
235 struct mmc *mmc) in sunxi_mmc_set_ios_common() argument
238 mmc->bus_width, mmc->clock); in sunxi_mmc_set_ios_common()
241 if (mmc->clock && mmc_config_clock(priv, mmc) != 0) { in sunxi_mmc_set_ios_common()
247 if (mmc->bus_width == 8) in sunxi_mmc_set_ios_common()
249 else if (mmc->bus_width == 4) in sunxi_mmc_set_ios_common()
258 static int sunxi_mmc_core_init(struct mmc *mmc) in sunxi_mmc_core_init() argument
260 struct sunxi_mmc_priv *priv = mmc->priv; in sunxi_mmc_core_init()
[all …]
H A Dmxsmmc.c136 mxsmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) in mxsmmc_send_cmd() argument
138 struct mxsmmc_priv *priv = mmc->priv; in mxsmmc_send_cmd()
145 debug("MMC%d: CMD%d\n", mmc->block_dev.devnum, cmd->cmdidx); in mxsmmc_send_cmd()
160 printf("MMC%d: Bus busy timeout!\n", mmc->block_dev.devnum); in mxsmmc_send_cmd()
166 printf("MMC%d: No card detected!\n", mmc->block_dev.devnum); in mxsmmc_send_cmd()
203 priv->mmc_is_wp(mmc->block_dev.devnum)) { in mxsmmc_send_cmd()
205 mmc->block_dev.devnum); in mxsmmc_send_cmd()
246 mmc->block_dev.devnum, cmd->cmdidx); in mxsmmc_send_cmd()
253 mmc->block_dev.devnum, cmd->cmdidx, reg); in mxsmmc_send_cmd()
260 mmc->block_dev.devnum, cmd->cmdidx, reg); in mxsmmc_send_cmd()
[all …]
H A Dpci_mmc.c18 struct mmc mmc; member
41 host->mmc = &plat->mmc; in pci_mmc_probe()
42 host->mmc->priv = &priv->host; in pci_mmc_probe()
43 host->mmc->dev = dev; in pci_mmc_probe()
44 upriv->mmc = host->mmc; in pci_mmc_probe()
53 return sdhci_bind(dev, &plat->mmc, &plat->cfg); in pci_mmc_bind()
H A Dsdhci.c141 struct mmc *mmc = mmc_get_mmc_dev(dev); local
144 static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
148 struct sdhci_host *host = mmc->priv;
154 int mmc_dev = mmc_get_blk_desc(mmc)->devnum;
446 u32 timing = host->mmc->timing;
480 struct mmc *mmc = mmc_get_mmc_dev(dev); local
482 static bool sdhci_card_busy(struct mmc *mmc)
485 struct sdhci_host *host = mmc->priv;
497 struct mmc *mmc = mmc_get_mmc_dev(dev); local
499 static int sdhci_set_ios(struct mmc *mmc)
[all …]
H A Dftsdc010_mci.c33 static inline int ftsdc010_send_cmd(struct mmc *mmc, struct mmc_cmd *mmc_cmd) in ftsdc010_send_cmd() argument
35 struct ftsdc010_chip *chip = mmc->priv; in ftsdc010_send_cmd()
103 static void ftsdc010_clkset(struct mmc *mmc, uint32_t rate) in ftsdc010_clkset() argument
105 struct ftsdc010_chip *chip = mmc->priv; in ftsdc010_clkset()
117 if (IS_SD(mmc)) { in ftsdc010_clkset()
151 static int ftsdc010_request(struct mmc *mmc, struct mmc_cmd *cmd, in ftsdc010_request() argument
156 struct ftsdc010_chip *chip = mmc->priv; in ftsdc010_request()
193 ret = ftsdc010_send_cmd(mmc, cmd); in ftsdc010_request()
254 static int ftsdc010_set_ios(struct mmc *mmc) in ftsdc010_set_ios() argument
256 struct ftsdc010_chip *chip = mmc->priv; in ftsdc010_set_ios()
[all …]
H A Ddw_mmc.c172 timeout /= host->mmc->bus_width; in dwmci_get_drto()
174 timeout /= (host->mmc->clock / 1000); /* counting in msec */ in dwmci_get_drto()
192 host->mmc->clock); in dwmci_get_cto()
357 struct mmc *mmc = mmc_get_mmc_dev(dev); local
359 static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
363 struct dwmci_host *host = mmc->priv;
502 struct mmc *mmc = mmc_get_mmc_dev(dev); local
504 static int dwmci_send_cmd_prepare(struct mmc *mmc, struct mmc_cmd *cmd,
508 struct dwmci_host *host = mmc->priv;
517 mmc_idmac = dev_read_u32_default(mmc->dev, "mmc-idmac", 0);
[all …]
H A Dfsl_esdhc.c86 struct mmc mmc; member
110 struct mmc *mmc; member
226 static int esdhc_setup_data(struct fsl_esdhc_priv *priv, struct mmc *mmc, in esdhc_setup_data() argument
309 timeout = fls(mmc->clock/2); in esdhc_setup_data()
357 static int esdhc_send_cmd_common(struct fsl_esdhc_priv *priv, struct mmc *mmc, in esdhc_send_cmd_common() argument
391 err = esdhc_setup_data(priv, mmc, data); in esdhc_send_cmd_common()
410 | (mmc_card_ddr(mmc) ? XFERTYP_DDREN : 0)); in esdhc_send_cmd_common()
529 static void set_sysctl(struct fsl_esdhc_priv *priv, struct mmc *mmc, uint clock) in set_sysctl() argument
537 int ddr_pre_div = mmc->ddr_mode ? 2 : 1; in set_sysctl()
542 if (clock < mmc->cfg->f_min) in set_sysctl()
[all …]
/rk3399_rockchip-uboot/cmd/
H A Dmmc.c19 static void print_mmcinfo(struct mmc *mmc) in print_mmcinfo() argument
27 printf("Device: %s\n", mmc->cfg->name); in print_mmcinfo()
28 printf("Manufacturer ID: %x\n", mmc->cid[0] >> 24); in print_mmcinfo()
29 printf("OEM: %x\n", (mmc->cid[0] >> 8) & 0xffff); in print_mmcinfo()
30 printf("Name: %c%c%c%c%c \n", mmc->cid[0] & 0xff, in print_mmcinfo()
31 (mmc->cid[1] >> 24), (mmc->cid[1] >> 16) & 0xff, in print_mmcinfo()
32 (mmc->cid[1] >> 8) & 0xff, mmc->cid[1] & 0xff); in print_mmcinfo()
34 printf("Timing Interface: %s\n", timing[mmc->timing]); in print_mmcinfo()
35 printf("Tran Speed: %d\n", mmc->clock); in print_mmcinfo()
36 printf("Rd Block Len: %d\n", mmc->read_bl_len); in print_mmcinfo()
[all …]
/rk3399_rockchip-uboot/include/
H A Dmmc.h346 struct mmc *do_returnmmc(void);
348 int read_counter(struct mmc *mmc, struct s_rpmb *requestpackets);
349 int program_key(struct mmc *mmc, struct s_rpmb *requestpackets);
351 (struct mmc *mmc, struct s_rpmb *requestpackets, uint16_t block_count);
352 int authenticated_write(struct mmc *mmc, struct s_rpmb *requestpackets);
360 struct mmc *mmc; member
376 struct mmc *mmc_get_mmc_dev(struct udevice *dev);
407 struct mmc;
489 bool mmc_card_busy(struct mmc *mmc);
490 bool mmc_can_card_busy(struct mmc *mmc);
[all …]
/rk3399_rockchip-uboot/env/
H A Dmmc.c114 __weak int mmc_get_env_addr(struct mmc *mmc, int copy, u32 *env_addr) in mmc_get_env_addr() argument
119 offset += mmc->capacity; in mmc_get_env_addr()
132 __weak uint mmc_get_env_part(struct mmc *mmc) in mmc_get_env_part() argument
139 static int mmc_set_env_part(struct mmc *mmc) in mmc_set_env_part() argument
141 uint part = mmc_get_env_part(mmc); in mmc_set_env_part()
145 env_mmc_orig_hwpart = mmc_get_blk_desc(mmc)->hwpart; in mmc_set_env_part()
153 static inline int mmc_set_env_part(struct mmc *mmc) {return 0; }; in mmc_set_env_part() argument
156 static const char *init_mmc_for_env(struct mmc *mmc) in init_mmc_for_env() argument
158 if (!mmc) in init_mmc_for_env()
164 if (blk_get_from_parent(mmc->dev, &dev)) in init_mmc_for_env()
[all …]
/rk3399_rockchip-uboot/common/spl/
H A Dspl_mmc.c24 static int mmc_load_legacy(struct spl_image_info *spl_image, struct mmc *mmc, in mmc_load_legacy() argument
36 image_size_sectors = (spl_image->size + mmc->read_bl_len - 1) / in mmc_load_legacy()
37 mmc->read_bl_len; in mmc_load_legacy()
40 count = blk_dread(mmc_get_blk_desc(mmc), sector, image_size_sectors, in mmc_load_legacy()
58 struct mmc *mmc, unsigned long sector) argument
68 count = blk_dread(mmc_get_blk_desc(mmc), sector, 1, header);
86 load.dev = mmc_get_blk_desc(mmc);
89 load.bl_len = mmc->read_bl_len;
93 ret = mmc_load_legacy(spl_image, mmc, sector, header);
124 int spl_mmc_find_device(struct mmc **mmcp, u32 boot_device)
[all …]
/rk3399_rockchip-uboot/drivers/dfu/
H A Ddfu_mmc.c26 struct mmc *mmc; in mmc_block_op() local
30 mmc = find_mmc_device(dfu->data.mmc.dev_num); in mmc_block_op()
31 if (!mmc) { in mmc_block_op()
32 pr_err("Device MMC %d - not found!", dfu->data.mmc.dev_num); in mmc_block_op()
40 *len = ALIGN(*len, dfu->data.mmc.lba_blk_size); in mmc_block_op()
42 blk_start = dfu->data.mmc.lba_start + in mmc_block_op()
43 (u32)lldiv(offset, dfu->data.mmc.lba_blk_size); in mmc_block_op()
44 blk_count = *len / dfu->data.mmc.lba_blk_size; in mmc_block_op()
46 dfu->data.mmc.lba_start + dfu->data.mmc.lba_size) { in mmc_block_op()
51 if (dfu->data.mmc.hw_partition >= 0) { in mmc_block_op()
[all …]
/rk3399_rockchip-uboot/board/freescale/common/
H A Dsdhc_boot.c21 int mmc_get_env_addr(struct mmc *mmc, int copy, u32 *env_addr) in mmc_get_env_addr() argument
26 blklen = mmc->read_bl_len; in mmc_get_env_addr()
32 n = mmc->block_dev.block_read(&mmc->block_dev, 0, 1, tmp_buf); in mmc_get_env_addr()
54 if (mmc->high_capacity) { in mmc_get_env_addr()
60 if ((tmp + CONFIG_ENV_SIZE > mmc->capacity) || in mmc_get_env_addr()

12345678910>>...18