xref: /freebsd/sys/contrib/device-tree/Bindings/mmc/mmc-pwrseq-emmc.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1# 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...
49