Re: [PATCH 1/3] ARM: dts: imx7s: add snvs clock to pwrkey

From: Horia Geanta
Date: Fri Feb 07 2020 - 02:37:12 EST


On 1/30/2020 10:45 PM, André Draszik wrote:
> On i.MX7, the SNVS requires a clock. This is similar to the clock
> bound to the SNVS RTC node, but if the SNVS RTC driver isn't enabled,
> then SNVS doesn't work, and as such the pwrkey driver doesn't
> work (i.e. hangs the kernel, as the clock isn't enabled).
>
This is true also for i.MX8M.
For this reason it would probably better splitting the
DT bindings update in a separate patch.

> Also see commit ec2a844ef7c1
> ("ARM: dts: imx7s: add snvs rtc clock")
> for a similar fix.
>
> Signed-off-by: André Draszik <git@xxxxxxxxxx>
> Cc: Anson Huang <Anson.Huang@xxxxxxx>
> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> Cc: "Horia Geantă" <horia.geanta@xxxxxxx>
> Cc: Aymen Sghaier <aymen.sghaier@xxxxxxx>
> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> Cc: Mark Rutland <mark.rutland@xxxxxxx>
> Cc: linux-crypto@xxxxxxxxxxxxxxx
> Cc: devicetree@xxxxxxxxxxxxxxx
> Cc: linux-input@xxxxxxxxxxxxxxx
Reviewed-by: Horia Geantă <horia.geanta@xxxxxxx>

> ---
> .../devicetree/bindings/crypto/fsl-sec4.txt | 17 +++++++++++++++++
> arch/arm/boot/dts/imx7s.dtsi | 2 ++
> 2 files changed, 19 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt
> index 2fe245ca816a..755c2838d658 100644
> --- a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt
> +++ b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt
> @@ -449,6 +449,19 @@ System ON/OFF key driver
> Value type: <phandle>
> Definition: this is phandle to the register map node.
>
> + - clocks
> + Usage: optional, required if SNVS LP requires explicit
> + enablement of clocks
> + Value type: <prop_encoded-array>
> + Definition: a clock specifier describing the clock required for
> + enabling and disabling SNVS LP RTC.
> +
> + - clock-names
> + Usage: optional, required if SNVS LP requires explicit
> + enablement of clocks
> + Value type: <string>
> + Definition: clock name string should be "snvs-pwrkey".
> +
> EXAMPLE:
> snvs-pwrkey@020cc000 {
> compatible = "fsl,sec-v4.0-pwrkey";
> @@ -456,6 +469,8 @@ EXAMPLE:
> interrupts = <0 4 0x4>
> linux,keycode = <116>; /* KEY_POWER */
> wakeup-source;
> + clocks = <&clks IMX7D_SNVS_CLK>;
> + clock-names = "snvs-pwrkey";
> };
>
> =====================================================================
> @@ -547,6 +562,8 @@ FULL EXAMPLE
> interrupts = <0 4 0x4>;
> linux,keycode = <116>; /* KEY_POWER */
> wakeup-source;
> + clocks = <&clks IMX7D_SNVS_CLK>;
> + clock-names = "snvs-pwrkey";
> };
> };
>
> diff --git a/arch/arm/boot/dts/imx7s.dtsi b/arch/arm/boot/dts/imx7s.dtsi
> index 1b812f4e7453..6240a6f58048 100644
> --- a/arch/arm/boot/dts/imx7s.dtsi
> +++ b/arch/arm/boot/dts/imx7s.dtsi
> @@ -614,6 +614,8 @@
> linux,keycode = <KEY_POWER>;
> wakeup-source;
> status = "disabled";
> + clocks = <&clks IMX7D_SNVS_CLK>;
> + clock-names = "snvs-pwrkey";
> };
> };
>
>