Commit 308607e5 authored by Tony Lindgren's avatar Tony Lindgren
Browse files

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: default avatarTony Lindgren <tony@atomide.com>
parent 54ecb8f7
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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";
+5 −0
Original line number Diff line number Diff line
@@ -1013,6 +1013,11 @@
	};
};

/* 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>;
+25 −0
Original line number Diff line number Diff line
@@ -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>,
+1 −1
Original line number Diff line number Diff line
@@ -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>;
	};
};