1*c66ec88fSEmmanuel Vadot* The simple eMMC hardware reset provider 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotThe purpose of this driver is to perform standard eMMC hw reset 4*c66ec88fSEmmanuel Vadotprocedure, as described by Jedec 4.4 specification. This procedure is 5*c66ec88fSEmmanuel Vadotperformed just after MMC core enabled power to the given mmc host (to 6*c66ec88fSEmmanuel Vadotfix possible issues if bootloader has left eMMC card in initialized or 7*c66ec88fSEmmanuel Vadotunknown state), and before performing complete system reboot (also in 8*c66ec88fSEmmanuel Vadotcase of emergency reboot call). The latter is needed on boards, which 9*c66ec88fSEmmanuel Vadotdoesn't have hardware reset logic connected to emmc card and (limited or 10*c66ec88fSEmmanuel Vadotbroken) ROM bootloaders are unable to read second stage from the emmc 11*c66ec88fSEmmanuel Vadotcard if the card is left in unknown or already initialized state. 12*c66ec88fSEmmanuel Vadot 13*c66ec88fSEmmanuel VadotRequired properties: 14*c66ec88fSEmmanuel Vadot- compatible : contains "mmc-pwrseq-emmc". 15*c66ec88fSEmmanuel Vadot- reset-gpios : contains a GPIO specifier. The reset GPIO is asserted 16*c66ec88fSEmmanuel Vadot and then deasserted to perform eMMC card reset. To perform 17*c66ec88fSEmmanuel Vadot reset procedure as described in Jedec 4.4 specification, the 18*c66ec88fSEmmanuel Vadot gpio line should be defined as GPIO_ACTIVE_LOW. 19*c66ec88fSEmmanuel Vadot 20*c66ec88fSEmmanuel VadotExample: 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel Vadot sdhci0_pwrseq { 23*c66ec88fSEmmanuel Vadot compatible = "mmc-pwrseq-emmc"; 24*c66ec88fSEmmanuel Vadot reset-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; 25*c66ec88fSEmmanuel Vadot } 26