Re: [PATCH] ARM: dts: Configure omap3 rng

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 23, 2019 at 1:39 PM Tony Lindgren <tony@xxxxxxxxxxx> wrote:
>
> Looks like omap3 RNG is similar to the omap2 rng, let's get it working
> by configring the dts node for it.

Thank you for doing this.  This really helps reduce the startup delays
while waiting for entropy.

>
> We must also add rng_ick to core_l4_clkdm as noted by Adam Ford.
>
> And please note that the RNG is likely disabled on HS devices. At least
> n900 does not have it accessible, and instead omap3-rom-rng driver must
> be used. So let's tag RNG as disabled on n900 as noted by Pali Rohár
> <pali.rohar@xxxxxxxxx>.
>
> On am3517 at least the clocks need to be configured to get it working
> as noted by Adam Ford, so let's tag it disabled for now.
>

Tested-by: Adam Ford <aford173@xxxxxxxxx> #logicpd-torpedo-37xx-devkit

> Cc: Aaro Koskinen <aaro.koskinen@xxxxxx>
> Cc: Adam Ford <aford173@xxxxxxxxx>
> Cc: Pali Rohár <pali.rohar@xxxxxxxxx>
> Cc: Sebastian Reichel <sre@xxxxxxxxxx>
> Cc: Tero Kristo <t-kristo@xxxxxx>
> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
> ---
>
> Sorry for the delay on getting this posted, please test.
>
> ---
>  arch/arm/boot/dts/am3517.dtsi                 |  6 +++++
>  arch/arm/boot/dts/omap3-n900.dts              |  5 ++++
>  arch/arm/boot/dts/omap3.dtsi                  | 25 +++++++++++++++++++
>  .../boot/dts/omap34xx-omap36xx-clocks.dtsi    |  2 +-
>  4 files changed, 37 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/am3517.dtsi b/arch/arm/boot/dts/am3517.dtsi
> --- a/arch/arm/boot/dts/am3517.dtsi
> +++ b/arch/arm/boot/dts/am3517.dtsi
> @@ -115,6 +115,12 @@
>         };
>  };
>
> +/* Not currently working, probably needs at least different clocks */
> +&rng_target {
> +       status = "disabled";
> +       /delete-property/ clocks;
> +};
> +
>  /* Table Table 5-79 of the TRM shows 480ab000 is reserved */
>  &usb_otg_hs {
>         status = "disabled";
> diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
> --- a/arch/arm/boot/dts/omap3-n900.dts
> +++ b/arch/arm/boot/dts/omap3-n900.dts
> @@ -1013,6 +1013,11 @@
>         };
>  };
>
> +/* RNG not directly accessible on n900, se omap3-rom-rng instead */
> +&rng_target {
> +       status = "disabled";
> +};
> +
>  &usb_otg_hs {
>         interface-type = <0>;
>         usb-phy = <&usb2_phy>;
> diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
> --- a/arch/arm/boot/dts/omap3.dtsi
> +++ b/arch/arm/boot/dts/omap3.dtsi
> @@ -8,6 +8,7 @@
>   * kind, whether express or implied.
>   */
>
> +#include <dt-bindings/bus/ti-sysc.h>
>  #include <dt-bindings/gpio/gpio.h>
>  #include <dt-bindings/interrupt-controller/irq.h>
>  #include <dt-bindings/pinctrl/omap.h>
> @@ -502,6 +503,30 @@
>                         status = "disabled";
>                 };
>
> +               /* Likely needs to be tagged disabled on HS devices */
> +               rng_target: target-module@480a0000 {
> +                       compatible = "ti,sysc-omap2", "ti,sysc";
> +                       reg = <0x480a003c 0x4>,
> +                             <0x480a0040 0x4>,
> +                             <0x480a0044 0x4>;
> +                       reg-names = "rev", "sysc", "syss";
> +                       ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
> +                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> +                                       <SYSC_IDLE_NO>;
> +                       ti,syss-mask = <1>;
> +                       clocks = <&rng_ick>;
> +                       clock-names = "ick";
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges = <0 0x480a0000 0x2000>;
> +
> +                       rng: rng@0 {
> +                               compatible = "ti,omap2-rng";
> +                               reg = <0x0 0x2000>;
> +                               interrupts = <52>;
> +                       };
> +               };
> +
>                 mcbsp2: mcbsp@49022000 {
>                         compatible = "ti,omap3-mcbsp";
>                         reg = <0x49022000 0xff>,
> diff --git a/arch/arm/boot/dts/omap34xx-omap36xx-clocks.dtsi b/arch/arm/boot/dts/omap34xx-omap36xx-clocks.dtsi
> --- a/arch/arm/boot/dts/omap34xx-omap36xx-clocks.dtsi
> +++ b/arch/arm/boot/dts/omap34xx-omap36xx-clocks.dtsi
> @@ -260,6 +260,6 @@
>                          <&gpt10_ick>, <&mcbsp5_ick>, <&mcbsp1_ick>,
>                          <&omapctrl_ick>, <&aes2_ick>, <&sha12_ick>, <&icr_ick>,
>                          <&des2_ick>, <&mspro_ick>, <&mailboxes_ick>,
> -                        <&mspro_fck>;
> +                        <&rng_ick>, <&mspro_fck>;
>         };
>  };
> --
> 2.23.0




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux