blob: 588be73168fa2510d502b548ef22edec88f7ee7a [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mmc/mmc-pwrseq-emmc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Simple eMMC hardware reset provider
8
9maintainers:
10 - Ulf Hansson <ulf.hansson@linaro.org>
11
12description:
13 The purpose of this driver is to perform standard eMMC hw reset
14 procedure, as described by Jedec 4.4 specification. This procedure is
15 performed just after MMC core enabled power to the given mmc host (to
16 fix possible issues if bootloader has left eMMC card in initialized or
17 unknown state), and before performing complete system reboot (also in
18 case of emergency reboot call). The latter is needed on boards, which
19 doesn't have hardware reset logic connected to emmc card and (limited or
20 broken) ROM bootloaders are unable to read second stage from the emmc
21 card if the card is left in unknown or already initialized state.
22
23properties:
24 compatible:
25 const: mmc-pwrseq-emmc
26
27 reset-gpios:
28 minItems: 1
29 description:
30 contains a GPIO specifier. The reset GPIO is asserted
31 and then deasserted to perform eMMC card reset. To perform
32 reset procedure as described in Jedec 4.4 specification, the
33 gpio line should be defined as GPIO_ACTIVE_LOW.
34
35required:
36 - compatible
37 - reset-gpios
38
39additionalProperties: false
40
41examples:
42 - |
43 #include <dt-bindings/gpio/gpio.h>
44 pwrseq {
45 compatible = "mmc-pwrseq-emmc";
46 reset-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
47 };
48...