On Mon, 22 Jun 2020 at 10:51, Jisheng Zhang <Jisheng.Zhang@xxxxxxxxxxxxx> wrote: > > 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@xxxxxxxxxxxxx> Applied for next, thanks! Kind regards Uffe > --- > since v1: > - conver pwrseq to yaml format rather than fixing old docs > > .../bindings/mmc/mmc-pwrseq-emmc.txt | 25 -------- > .../bindings/mmc/mmc-pwrseq-emmc.yaml | 46 ++++++++++++++ > .../bindings/mmc/mmc-pwrseq-sd8787.txt | 16 ----- > .../bindings/mmc/mmc-pwrseq-sd8787.yaml | 39 ++++++++++++ > .../bindings/mmc/mmc-pwrseq-simple.txt | 31 ---------- > .../bindings/mmc/mmc-pwrseq-simple.yaml | 62 +++++++++++++++++++ > 6 files changed, 147 insertions(+), 72 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.txt > create mode 100644 Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.yaml > delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.txt > create mode 100644 Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.yaml > delete mode 100644 Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt > create mode 100644 Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml > > diff --git a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.txt b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.txt > deleted file mode 100644 > index 3d965d57e00b..000000000000 > --- a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.txt > +++ /dev/null > @@ -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>; > - } > diff --git a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.yaml b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.yaml > new file mode 100644 > index 000000000000..77f746f57284 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.yaml > @@ -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@xxxxxxxxxx> > + > +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>; > + }; > +... > diff --git a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.txt b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.txt > deleted file mode 100644 > index 22e9340e4ba2..000000000000 > --- a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.txt > +++ /dev/null > @@ -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>; > - } > diff --git a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.yaml b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.yaml > new file mode 100644 > index 000000000000..a68820d31d50 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-sd8787.yaml > @@ -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@xxxxxxxxxx> > + > +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>; > + }; > +... > diff --git a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt > deleted file mode 100644 > index 9029b45b8a22..000000000000 > --- a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt > +++ /dev/null > @@ -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"; > - } > diff --git a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml > new file mode 100644 > index 000000000000..449215444723 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml > @@ -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@xxxxxxxxxx> > + > +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"; > + }; > +... > -- > 2.27.0 >