| /rk3399_rockchip-uboot/drivers/mmc/ |
| H A D | mmc.c | 36 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 D | mmc_legacy.c | 17 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 D | meson_gx_mmc.c | 16 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 D | mmc_write.c | 18 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 D | mmc-uclass.c | 21 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 D | mmc_private.h | 15 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 D | fsl_esdhc_spl.c | 27 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 D | pxa_mmc_gen.c | 51 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 D | rpmb.c | 57 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 D | mmc_boot.c | 24 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 D | mmc_spi.c | 53 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 D | gen_atmel_mci.c | 41 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 D | sunxi_mmc.c | 25 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 D | mxsmmc.c | 136 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 D | pci_mmc.c | 18 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 D | sdhci.c | 141 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 D | ftsdc010_mci.c | 33 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 D | dw_mmc.c | 172 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 D | fsl_esdhc.c | 86 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 D | mmc.c | 19 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 D | mmc.h | 346 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 D | mmc.c | 114 __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 D | spl_mmc.c | 24 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 D | dfu_mmc.c | 26 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 D | sdhc_boot.c | 21 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()
|