Lines Matching refs:dev
20 static int dm_mmc_get_b_max(struct udevice *dev, void *dst, lbaint_t blkcnt) in dm_mmc_get_b_max() argument
22 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_get_b_max()
23 struct mmc *mmc = mmc_get_mmc_dev(dev); in dm_mmc_get_b_max()
26 return ops->get_b_max(dev, dst, blkcnt); in dm_mmc_get_b_max()
33 return dm_mmc_get_b_max(mmc->dev, dst, blkcnt); in mmc_get_b_max()
36 static int dm_mmc_send_cmd(struct udevice *dev, struct mmc_cmd *cmd, in dm_mmc_send_cmd() argument
39 struct mmc *mmc = mmc_get_mmc_dev(dev); in dm_mmc_send_cmd()
40 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_send_cmd()
45 ret = ops->send_cmd(dev, cmd, data); in dm_mmc_send_cmd()
55 return dm_mmc_send_cmd(mmc->dev, cmd, data); in mmc_send_cmd()
58 static int dm_mmc_set_ios(struct udevice *dev) in dm_mmc_set_ios() argument
60 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_set_ios()
64 return ops->set_ios(dev); in dm_mmc_set_ios()
69 return dm_mmc_set_ios(mmc->dev); in mmc_set_ios()
72 static int dm_mmc_wait_dat0(struct udevice *dev, int state, int timeout_us) in dm_mmc_wait_dat0() argument
74 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_wait_dat0()
78 return ops->wait_dat0(dev, state, timeout_us); in dm_mmc_wait_dat0()
83 return dm_mmc_wait_dat0(mmc->dev, state, timeout_us); in mmc_wait_dat0()
86 void dm_mmc_send_init_stream(struct udevice *dev) in dm_mmc_send_init_stream() argument
88 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_send_init_stream()
91 ops->send_init_stream(dev); in dm_mmc_send_init_stream()
96 dm_mmc_send_init_stream(mmc->dev); in mmc_send_init_stream()
99 static int dm_mmc_get_wp(struct udevice *dev) in dm_mmc_get_wp() argument
101 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_get_wp()
105 return ops->get_wp(dev); in dm_mmc_get_wp()
110 return dm_mmc_get_wp(mmc->dev); in mmc_getwp()
113 static int dm_mmc_get_cd(struct udevice *dev) in dm_mmc_get_cd() argument
115 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_get_cd()
119 return ops->get_cd(dev); in dm_mmc_get_cd()
124 return dm_mmc_get_cd(mmc->dev); in mmc_getcd()
128 static int dm_mmc_execute_tuning(struct udevice *dev, uint opcode) in dm_mmc_execute_tuning() argument
130 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_execute_tuning()
134 return ops->execute_tuning(dev, opcode); in dm_mmc_execute_tuning()
142 ret = dm_mmc_execute_tuning(mmc->dev, opcode); in mmc_execute_tuning()
150 static int dm_mmc_set_enhanced_strobe(struct udevice *dev) in dm_mmc_set_enhanced_strobe() argument
152 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_set_enhanced_strobe()
155 return ops->set_enhanced_strobe(dev); in dm_mmc_set_enhanced_strobe()
162 return dm_mmc_set_enhanced_strobe(mmc->dev); in mmc_set_enhanced_strobe()
166 static int dm_mmc_hs400_prepare_ddr(struct udevice *dev) in dm_mmc_hs400_prepare_ddr() argument
168 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_hs400_prepare_ddr()
171 return ops->hs400_prepare_ddr(dev); in dm_mmc_hs400_prepare_ddr()
178 return dm_mmc_hs400_prepare_ddr(mmc->dev); in mmc_hs400_prepare_ddr()
181 static int dm_mmc_host_power_cycle(struct udevice *dev) in dm_mmc_host_power_cycle() argument
183 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_host_power_cycle()
186 return ops->host_power_cycle(dev); in dm_mmc_host_power_cycle()
192 return dm_mmc_host_power_cycle(mmc->dev); in mmc_host_power_cycle()
195 static int dm_mmc_deferred_probe(struct udevice *dev) in dm_mmc_deferred_probe() argument
197 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_deferred_probe()
200 return ops->deferred_probe(dev); in dm_mmc_deferred_probe()
207 return dm_mmc_deferred_probe(mmc->dev); in mmc_deferred_probe()
210 static int dm_mmc_reinit(struct udevice *dev) in dm_mmc_reinit() argument
212 struct dm_mmc_ops *ops = mmc_get_ops(dev); in dm_mmc_reinit()
215 return ops->reinit(dev); in dm_mmc_reinit()
222 return dm_mmc_reinit(mmc->dev); in mmc_reinit()
225 int mmc_of_parse(struct udevice *dev, struct mmc_config *cfg) in mmc_of_parse() argument
229 val = dev_read_u32_default(dev, "bus-width", 1); in mmc_of_parse()
242 dev_err(dev, "Invalid \"bus-width\" value %u!\n", val); in mmc_of_parse()
247 dev_read_u32(dev, "max-frequency", &cfg->f_max); in mmc_of_parse()
249 if (dev_read_bool(dev, "cap-sd-highspeed")) in mmc_of_parse()
251 if (dev_read_bool(dev, "cap-mmc-highspeed")) in mmc_of_parse()
253 if (dev_read_bool(dev, "sd-uhs-sdr12")) in mmc_of_parse()
255 if (dev_read_bool(dev, "sd-uhs-sdr25")) in mmc_of_parse()
257 if (dev_read_bool(dev, "sd-uhs-sdr50")) in mmc_of_parse()
259 if (dev_read_bool(dev, "sd-uhs-sdr104")) in mmc_of_parse()
261 if (dev_read_bool(dev, "sd-uhs-ddr50")) in mmc_of_parse()
263 if (dev_read_bool(dev, "mmc-ddr-1_8v")) in mmc_of_parse()
265 if (dev_read_bool(dev, "mmc-ddr-1_2v")) in mmc_of_parse()
267 if (dev_read_bool(dev, "mmc-hs200-1_8v")) in mmc_of_parse()
269 if (dev_read_bool(dev, "mmc-hs200-1_2v")) in mmc_of_parse()
271 if (dev_read_bool(dev, "mmc-hs400-1_8v")) in mmc_of_parse()
273 if (dev_read_bool(dev, "mmc-hs400-1_2v")) in mmc_of_parse()
275 if (dev_read_bool(dev, "mmc-hs400-enhanced-strobe")) in mmc_of_parse()
277 if (dev_read_bool(dev, "no-mmc-hs400")) in mmc_of_parse()
281 if (dev_read_bool(dev, "non-removable")) { in mmc_of_parse()
284 if (dev_read_bool(dev, "cd-inverted")) in mmc_of_parse()
286 if (dev_read_bool(dev, "broken-cd")) in mmc_of_parse()
290 if (dev_read_bool(dev, "no-1-8-v")) { in mmc_of_parse()
298 struct mmc *mmc_get_mmc_dev(const struct udevice *dev) in mmc_get_mmc_dev() argument
302 if (!device_active(dev)) in mmc_get_mmc_dev()
304 upriv = dev_get_uclass_priv(dev); in mmc_get_mmc_dev()
311 struct udevice *dev, *mmc_dev; in find_mmc_device() local
314 ret = blk_find_device(UCLASS_MMC, dev_num, &dev); in find_mmc_device()
323 mmc_dev = dev_get_parent(dev); in find_mmc_device()
340 int mmc_get_blk(struct udevice *dev, struct udevice **blkp) in mmc_get_blk() argument
345 device_find_first_child_by_uclass(dev, UCLASS_BLK, &blk); in mmc_get_blk()
357 struct udevice *dev; in mmc_get_blk_desc() local
359 device_find_first_child_by_uclass(mmc->dev, UCLASS_BLK, &dev); in mmc_get_blk_desc()
360 if (!dev) in mmc_get_blk_desc()
362 desc = dev_get_uclass_plat(dev); in mmc_get_blk_desc()
369 struct udevice *dev; in mmc_do_preinit() local
376 uclass_foreach_dev(dev, uc) { in mmc_do_preinit()
377 struct mmc *m = mmc_get_mmc_dev(dev); in mmc_do_preinit()
392 struct udevice *dev; in print_mmc_devices() local
396 for (uclass_first_device(UCLASS_MMC, &dev); in print_mmc_devices()
397 dev; in print_mmc_devices()
398 uclass_next_device(&dev), first = false) { in print_mmc_devices()
399 struct mmc *m = mmc_get_mmc_dev(dev); in print_mmc_devices()
423 int mmc_bind(struct udevice *dev, struct mmc *mmc, const struct mmc_config *cfg) in mmc_bind() argument
429 if (!mmc_get_ops(dev)) in mmc_bind()
433 debug("%s: alias devnum=%d\n", __func__, dev_seq(dev)); in mmc_bind()
435 ret = blk_create_devicef(dev, "mmc_blk", "blk", UCLASS_MMC, in mmc_bind()
436 dev_seq(dev), DEFAULT_BLKSZ, 0, &bdev); in mmc_bind()
443 mmc->priv = dev; in mmc_bind()
459 mmc->dev = dev; in mmc_bind()
464 int mmc_unbind(struct udevice *dev) in mmc_unbind() argument
469 device_find_first_child_by_uclass(dev, UCLASS_BLK, &bdev); in mmc_unbind()
474 ret = bootdev_unbind_dev(dev); in mmc_unbind()
501 static int mmc_blk_probe(struct udevice *dev) in mmc_blk_probe() argument
503 struct udevice *mmc_dev = dev_get_parent(dev); in mmc_blk_probe()
517 static int mmc_remove(struct udevice *dev) in mmc_remove() argument
519 struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); in mmc_remove()