ARM: dts: Configure omap3 rng

Looks like omap3 RNG is similar to the omap2 rng, let's get it working
by configring the dts node for it.

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@gmail.com>.

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.

Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: Adam Ford <aford173@gmail.com>
Cc: Pali Rohár <pali.rohar@gmail.com>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Tested-by: Adam Ford <aford173@gmail.com> #logicpd-torpedo-37xx-devkit
Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
Tony Lindgren 2019-10-23 11:39:42 -07:00
parent 54ecb8f702
commit 308607e554
4 changed files with 37 additions and 1 deletions

View File

@ -115,6 +115,12 @@ sgx_module: target-module@50000000 {
};
};
/* 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";

View File

@ -1013,6 +1013,11 @@ wl1251@0 {
};
};
/* RNG not directly accessible on n900, see omap3-rom-rng instead */
&rng_target {
status = "disabled";
};
&usb_otg_hs {
interface-type = <0>;
usb-phy = <&usb2_phy>;

View File

@ -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 @@ mcbsp1: mcbsp@48074000 {
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>,

View File

@ -260,6 +260,6 @@ core_l4_clkdm: core_l4_clkdm {
<&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>;
};
};