mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-10 14:43:54 +08:00
dt-bindings: mmc: Convert pwrseq to json-schema
Convert the pwrseq binding to DT schema format using json-schema. At the same time, fix a couple of issues with the examples discovered by the validation tool -- missing ";" Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com> Link: https://lore.kernel.org/r/20200622164431.3dbc8c5a@xhacker.debian Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
b9a349fdc7
commit
72f47aec86
@ -1,25 +0,0 @@
|
|||||||
* The simple eMMC hardware reset provider
|
|
||||||
|
|
||||||
The purpose of this driver is to perform standard eMMC hw reset
|
|
||||||
procedure, as described by Jedec 4.4 specification. This procedure is
|
|
||||||
performed just after MMC core enabled power to the given mmc host (to
|
|
||||||
fix possible issues if bootloader has left eMMC card in initialized or
|
|
||||||
unknown state), and before performing complete system reboot (also in
|
|
||||||
case of emergency reboot call). The latter is needed on boards, which
|
|
||||||
doesn't have hardware reset logic connected to emmc card and (limited or
|
|
||||||
broken) ROM bootloaders are unable to read second stage from the emmc
|
|
||||||
card if the card is left in unknown or already initialized state.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : contains "mmc-pwrseq-emmc".
|
|
||||||
- reset-gpios : contains a GPIO specifier. The reset GPIO is asserted
|
|
||||||
and then deasserted to perform eMMC card reset. To perform
|
|
||||||
reset procedure as described in Jedec 4.4 specification, the
|
|
||||||
gpio line should be defined as GPIO_ACTIVE_LOW.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
sdhci0_pwrseq {
|
|
||||||
compatible = "mmc-pwrseq-emmc";
|
|
||||||
reset-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
|
|
||||||
}
|
|
46
Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.yaml
Normal file
46
Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.yaml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/mmc/mmc-pwrseq-emmc.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Simple eMMC hardware reset provider binding
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Ulf Hansson <ulf.hansson@linaro.org>
|
||||||
|
|
||||||
|
description:
|
||||||
|
The purpose of this driver is to perform standard eMMC hw reset
|
||||||
|
procedure, as described by Jedec 4.4 specification. This procedure is
|
||||||
|
performed just after MMC core enabled power to the given mmc host (to
|
||||||
|
fix possible issues if bootloader has left eMMC card in initialized or
|
||||||
|
unknown state), and before performing complete system reboot (also in
|
||||||
|
case of emergency reboot call). The latter is needed on boards, which
|
||||||
|
doesn't have hardware reset logic connected to emmc card and (limited or
|
||||||
|
broken) ROM bootloaders are unable to read second stage from the emmc
|
||||||
|
card if the card is left in unknown or already initialized state.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: mmc-pwrseq-emmc
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
minItems: 1
|
||||||
|
description:
|
||||||
|
contains a GPIO specifier. The reset GPIO is asserted
|
||||||
|
and then deasserted to perform eMMC card reset. To perform
|
||||||
|
reset procedure as described in Jedec 4.4 specification, the
|
||||||
|
gpio line should be defined as GPIO_ACTIVE_LOW.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reset-gpios
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
sdhci0_pwrseq {
|
||||||
|
compatible = "mmc-pwrseq-emmc";
|
||||||
|
reset-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
...
|
@ -1,16 +0,0 @@
|
|||||||
* Marvell SD8787 power sequence provider
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: must be "mmc-pwrseq-sd8787".
|
|
||||||
- powerdown-gpios: contains a power down GPIO specifier with the
|
|
||||||
default active state
|
|
||||||
- reset-gpios: contains a reset GPIO specifier with the default
|
|
||||||
active state
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
wifi_pwrseq: wifi_pwrseq {
|
|
||||||
compatible = "mmc-pwrseq-sd8787";
|
|
||||||
powerdown-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>;
|
|
||||||
reset-gpios = <&twl_gpio 1 GPIO_ACTIVE_LOW>;
|
|
||||||
}
|
|
39
Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.yaml
Normal file
39
Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.yaml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/mmc/mmc-pwrseq-sd8787.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Marvell SD8787 power sequence provider binding
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Ulf Hansson <ulf.hansson@linaro.org>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: mmc-pwrseq-sd8787
|
||||||
|
|
||||||
|
powerdown-gpios:
|
||||||
|
minItems: 1
|
||||||
|
description:
|
||||||
|
contains a power down GPIO specifier with the default active state
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
minItems: 1
|
||||||
|
description:
|
||||||
|
contains a reset GPIO specifier with the default active state
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- powerdown-gpios
|
||||||
|
- reset-gpios
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
wifi_pwrseq: wifi_pwrseq {
|
||||||
|
compatible = "mmc-pwrseq-sd8787";
|
||||||
|
powerdown-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>;
|
||||||
|
reset-gpios = <&twl_gpio 1 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
...
|
@ -1,31 +0,0 @@
|
|||||||
* The simple MMC power sequence provider
|
|
||||||
|
|
||||||
The purpose of the simple MMC power sequence provider is to supports a set of
|
|
||||||
common properties between various SOC designs. It thus enables us to use the
|
|
||||||
same provider for several SOC designs.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : contains "mmc-pwrseq-simple".
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- reset-gpios : contains a list of GPIO specifiers. The reset GPIOs are asserted
|
|
||||||
at initialization and prior we start the power up procedure of the card.
|
|
||||||
They will be de-asserted right after the power has been provided to the
|
|
||||||
card.
|
|
||||||
- clocks : Must contain an entry for the entry in clock-names.
|
|
||||||
See ../clocks/clock-bindings.txt for details.
|
|
||||||
- clock-names : Must include the following entry:
|
|
||||||
"ext_clock" (External clock provided to the card).
|
|
||||||
- post-power-on-delay-ms : Delay in ms after powering the card and
|
|
||||||
de-asserting the reset-gpios (if any)
|
|
||||||
- power-off-delay-us : Delay in us after asserting the reset-gpios (if any)
|
|
||||||
during power off of the card.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
sdhci0_pwrseq {
|
|
||||||
compatible = "mmc-pwrseq-simple";
|
|
||||||
reset-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
|
|
||||||
clocks = <&clk_32768_ck>;
|
|
||||||
clock-names = "ext_clock";
|
|
||||||
}
|
|
62
Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml
Normal file
62
Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/mmc/mmc-pwrseq-simple.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Simple MMC power sequence provider binding
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Ulf Hansson <ulf.hansson@linaro.org>
|
||||||
|
|
||||||
|
description:
|
||||||
|
The purpose of the simple MMC power sequence provider is to supports a set
|
||||||
|
of common properties between various SOC designs. It thus enables us to use
|
||||||
|
the same provider for several SOC designs.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: mmc-pwrseq-simple
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
minItems: 1
|
||||||
|
description:
|
||||||
|
contains a list of GPIO specifiers. The reset GPIOs are asserted
|
||||||
|
at initialization and prior we start the power up procedure of the card.
|
||||||
|
They will be de-asserted right after the power has been provided to the
|
||||||
|
card.
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
minItems: 1
|
||||||
|
description: Handle for the entry in clock-names.
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: ext_clock
|
||||||
|
description: External clock provided to the card.
|
||||||
|
|
||||||
|
post-power-on-delay-ms:
|
||||||
|
description:
|
||||||
|
Delay in ms after powering the card and de-asserting the
|
||||||
|
reset-gpios (if any).
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
|
||||||
|
power-off-delay-us:
|
||||||
|
description:
|
||||||
|
Delay in us after asserting the reset-gpios (if any)
|
||||||
|
during power off of the card.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
sdhci0_pwrseq {
|
||||||
|
compatible = "mmc-pwrseq-simple";
|
||||||
|
reset-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
|
||||||
|
clocks = <&clk_32768_ck>;
|
||||||
|
clock-names = "ext_clock";
|
||||||
|
};
|
||||||
|
...
|
Loading…
Reference in New Issue
Block a user