Message ID | 20200622164431.3dbc8c5a@xhacker.debian (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] dt-bindings: mmc: Convert pwrseq to json-schema | expand |
On Mon, 22 Jun 2020 at 10:51, Jisheng Zhang <Jisheng.Zhang@synaptics.com> 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@synaptics.com> 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@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>; > + }; > +... > 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@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>; > + }; > +... > 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@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"; > + }; > +... > -- > 2.27.0 >
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@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>; + }; +... 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@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>; + }; +... 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@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"; + }; +...
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> --- 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