|
@@ -242,6 +242,39 @@ fail:
|
|
|
|
|
|
/*-------------------------------------------------------------------------*/
|
|
|
|
|
|
+#if defined(CONFIG_HW_RANDOM_OMAP) || defined(CONFIG_HW_RANDOM_OMAP_MODULE)
|
|
|
+
|
|
|
+#ifdef CONFIG_ARCH_OMAP24XX
|
|
|
+#define OMAP_RNG_BASE 0x480A0000
|
|
|
+#else
|
|
|
+#define OMAP_RNG_BASE 0xfffe5000
|
|
|
+#endif
|
|
|
+
|
|
|
+static struct resource rng_resources[] = {
|
|
|
+ {
|
|
|
+ .start = OMAP_RNG_BASE,
|
|
|
+ .end = OMAP_RNG_BASE + 0x4f,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device omap_rng_device = {
|
|
|
+ .name = "omap_rng",
|
|
|
+ .id = -1,
|
|
|
+ .num_resources = ARRAY_SIZE(rng_resources),
|
|
|
+ .resource = rng_resources,
|
|
|
+};
|
|
|
+
|
|
|
+static void omap_init_rng(void)
|
|
|
+{
|
|
|
+ (void) platform_device_register(&omap_rng_device);
|
|
|
+}
|
|
|
+#else
|
|
|
+static inline void omap_init_rng(void) {}
|
|
|
+#endif
|
|
|
+
|
|
|
+/*-------------------------------------------------------------------------*/
|
|
|
+
|
|
|
/* Numbering for the SPI-capable controllers when used for SPI:
|
|
|
* spi = 1
|
|
|
* uwire = 2
|
|
@@ -324,39 +357,6 @@ static void omap_init_wdt(void)
|
|
|
static inline void omap_init_wdt(void) {}
|
|
|
#endif
|
|
|
|
|
|
-/*-------------------------------------------------------------------------*/
|
|
|
-
|
|
|
-#if defined(CONFIG_HW_RANDOM_OMAP) || defined(CONFIG_HW_RANDOM_OMAP_MODULE)
|
|
|
-
|
|
|
-#ifdef CONFIG_ARCH_OMAP24XX
|
|
|
-#define OMAP_RNG_BASE 0x480A0000
|
|
|
-#else
|
|
|
-#define OMAP_RNG_BASE 0xfffe5000
|
|
|
-#endif
|
|
|
-
|
|
|
-static struct resource rng_resources[] = {
|
|
|
- {
|
|
|
- .start = OMAP_RNG_BASE,
|
|
|
- .end = OMAP_RNG_BASE + 0x4f,
|
|
|
- .flags = IORESOURCE_MEM,
|
|
|
- },
|
|
|
-};
|
|
|
-
|
|
|
-static struct platform_device omap_rng_device = {
|
|
|
- .name = "omap_rng",
|
|
|
- .id = -1,
|
|
|
- .num_resources = ARRAY_SIZE(rng_resources),
|
|
|
- .resource = rng_resources,
|
|
|
-};
|
|
|
-
|
|
|
-static void omap_init_rng(void)
|
|
|
-{
|
|
|
- (void) platform_device_register(&omap_rng_device);
|
|
|
-}
|
|
|
-#else
|
|
|
-static inline void omap_init_rng(void) {}
|
|
|
-#endif
|
|
|
-
|
|
|
/*
|
|
|
* This gets called after board-specific INIT_MACHINE, and initializes most
|
|
|
* on-chip peripherals accessible on this board (except for few like USB):
|
|
@@ -384,9 +384,9 @@ static int __init omap_init_devices(void)
|
|
|
*/
|
|
|
omap_init_dsp();
|
|
|
omap_init_kp();
|
|
|
+ omap_init_rng();
|
|
|
omap_init_uwire();
|
|
|
omap_init_wdt();
|
|
|
- omap_init_rng();
|
|
|
return 0;
|
|
|
}
|
|
|
arch_initcall(omap_init_devices);
|