xref: /openbmc/linux/Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.yaml (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
172f47aecSJisheng Zhang# SPDX-License-Identifier: GPL-2.0
272f47aecSJisheng Zhang%YAML 1.2
372f47aecSJisheng Zhang---
472f47aecSJisheng Zhang$id: http://devicetree.org/schemas/mmc/mmc-pwrseq-emmc.yaml#
572f47aecSJisheng Zhang$schema: http://devicetree.org/meta-schemas/core.yaml#
672f47aecSJisheng Zhang
784e85359SKrzysztof Kozlowskititle: Simple eMMC hardware reset provider
872f47aecSJisheng Zhang
972f47aecSJisheng Zhangmaintainers:
1072f47aecSJisheng Zhang  - Ulf Hansson <ulf.hansson@linaro.org>
1172f47aecSJisheng Zhang
1272f47aecSJisheng Zhangdescription:
1372f47aecSJisheng Zhang  The purpose of this driver is to perform standard eMMC hw reset
1472f47aecSJisheng Zhang  procedure, as described by Jedec 4.4 specification. This procedure is
1572f47aecSJisheng Zhang  performed just after MMC core enabled power to the given mmc host (to
1672f47aecSJisheng Zhang  fix possible issues if bootloader has left eMMC card in initialized or
1772f47aecSJisheng Zhang  unknown state), and before performing complete system reboot (also in
1872f47aecSJisheng Zhang  case of emergency reboot call). The latter is needed on boards, which
1972f47aecSJisheng Zhang  doesn't have hardware reset logic connected to emmc card and (limited or
2072f47aecSJisheng Zhang  broken) ROM bootloaders are unable to read second stage from the emmc
2172f47aecSJisheng Zhang  card if the card is left in unknown or already initialized state.
2272f47aecSJisheng Zhang
2372f47aecSJisheng Zhangproperties:
2472f47aecSJisheng Zhang  compatible:
2572f47aecSJisheng Zhang    const: mmc-pwrseq-emmc
2672f47aecSJisheng Zhang
2772f47aecSJisheng Zhang  reset-gpios:
2872f47aecSJisheng Zhang    minItems: 1
2972f47aecSJisheng Zhang    description:
3072f47aecSJisheng Zhang      contains a GPIO specifier. The reset GPIO is asserted
3172f47aecSJisheng Zhang      and then deasserted to perform eMMC card reset. To perform
3272f47aecSJisheng Zhang      reset procedure as described in Jedec 4.4 specification, the
3372f47aecSJisheng Zhang      gpio line should be defined as GPIO_ACTIVE_LOW.
3472f47aecSJisheng Zhang
3572f47aecSJisheng Zhangrequired:
3672f47aecSJisheng Zhang  - compatible
3772f47aecSJisheng Zhang  - reset-gpios
3872f47aecSJisheng Zhang
395be478f9SRob HerringadditionalProperties: false
405be478f9SRob Herring
4172f47aecSJisheng Zhangexamples:
4272f47aecSJisheng Zhang  - |
4372f47aecSJisheng Zhang    #include <dt-bindings/gpio/gpio.h>
44*bb065c6fSKrzysztof Kozlowski    pwrseq {
4572f47aecSJisheng Zhang      compatible = "mmc-pwrseq-emmc";
4672f47aecSJisheng Zhang      reset-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
4772f47aecSJisheng Zhang    };
4872f47aecSJisheng Zhang...
49