mmc.c (6f730459d93985298f13087af24c5313e492146b) | mmc.c (05cbeb7c3612da8d4bafa82be05092450a500052) |
---|---|
1/* 2 * Copyright 2008, Freescale Semiconductor, Inc 3 * Andy Fleming 4 * 5 * Based vaguely on the Linux code 6 * 7 * SPDX-License-Identifier: GPL-2.0+ 8 */ --- 1594 unchanged lines hidden (view full) --- 1603 if ((cmd.response[0] & 0xff) != 0xaa) 1604 return -EOPNOTSUPP; 1605 else 1606 mmc->version = SD_VERSION_2; 1607 1608 return 0; 1609} 1610 | 1/* 2 * Copyright 2008, Freescale Semiconductor, Inc 3 * Andy Fleming 4 * 5 * Based vaguely on the Linux code 6 * 7 * SPDX-License-Identifier: GPL-2.0+ 8 */ --- 1594 unchanged lines hidden (view full) --- 1603 if ((cmd.response[0] & 0xff) != 0xaa) 1604 return -EOPNOTSUPP; 1605 else 1606 mmc->version = SD_VERSION_2; 1607 1608 return 0; 1609} 1610 |
1611#ifndef CONFIG_DM_MMC |
|
1611/* board-specific MMC power initializations. */ 1612__weak void board_mmc_power_init(void) 1613{ 1614} | 1612/* board-specific MMC power initializations. */ 1613__weak void board_mmc_power_init(void) 1614{ 1615} |
1616#endif |
|
1615 1616static int mmc_power_init(struct mmc *mmc) 1617{ | 1617 1618static int mmc_power_init(struct mmc *mmc) 1619{ |
1618 board_mmc_power_init(); 1619 1620#if defined(CONFIG_DM_MMC) && defined(CONFIG_DM_REGULATOR) && \ 1621 !defined(CONFIG_SPL_BUILD) | 1620#if defined(CONFIG_DM_MMC) 1621#if defined(CONFIG_DM_REGULATOR) && !defined(CONFIG_SPL_BUILD) |
1622 struct udevice *vmmc_supply; 1623 int ret; 1624 1625 ret = device_get_supply_regulator(mmc->dev, "vmmc-supply", 1626 &vmmc_supply); 1627 if (ret) { 1628 debug("%s: No vmmc supply\n", mmc->dev->name); 1629 return 0; 1630 } 1631 1632 ret = regulator_set_enable(vmmc_supply, true); 1633 if (ret) { 1634 puts("Error enabling VMMC supply\n"); 1635 return ret; 1636 } 1637#endif | 1622 struct udevice *vmmc_supply; 1623 int ret; 1624 1625 ret = device_get_supply_regulator(mmc->dev, "vmmc-supply", 1626 &vmmc_supply); 1627 if (ret) { 1628 debug("%s: No vmmc supply\n", mmc->dev->name); 1629 return 0; 1630 } 1631 1632 ret = regulator_set_enable(vmmc_supply, true); 1633 if (ret) { 1634 puts("Error enabling VMMC supply\n"); 1635 return ret; 1636 } 1637#endif |
1638#else /* !CONFIG_DM_MMC */ 1639 /* 1640 * Driver model should use a regulator, as above, rather than calling 1641 * out to board code. 1642 */ 1643 board_mmc_power_init(); 1644#endif |
|
1638 return 0; 1639} 1640 1641int mmc_start_init(struct mmc *mmc) 1642{ 1643 bool no_card; 1644 int err; 1645 --- 235 unchanged lines hidden --- | 1645 return 0; 1646} 1647 1648int mmc_start_init(struct mmc *mmc) 1649{ 1650 bool no_card; 1651 int err; 1652 --- 235 unchanged lines hidden --- |