Merge branch 'next/devel' of git://git.linaro.org/people/arnd/arm-soc
[pandora-kernel.git] / arch / arm / mach-at91 / at91sam9g45_devices.c
index b1e43ad..000b5e1 100644 (file)
@@ -1100,6 +1100,34 @@ static void __init at91_add_device_rtt(void)
 }
 
 
+/* --------------------------------------------------------------------
+ *  TRNG
+ * -------------------------------------------------------------------- */
+
+#if defined(CONFIG_HW_RANDOM_ATMEL) || defined(CONFIG_HW_RANDOM_ATMEL_MODULE)
+static struct resource trng_resources[] = {
+       {
+               .start  = AT91SAM9G45_BASE_TRNG,
+               .end    = AT91SAM9G45_BASE_TRNG + SZ_16K - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
+static struct platform_device at91sam9g45_trng_device = {
+       .name           = "atmel-trng",
+       .id             = -1,
+       .resource       = trng_resources,
+       .num_resources  = ARRAY_SIZE(trng_resources),
+};
+
+static void __init at91_add_device_trng(void)
+{
+       platform_device_register(&at91sam9g45_trng_device);
+}
+#else
+static void __init at91_add_device_trng(void) {}
+#endif
+
 /* --------------------------------------------------------------------
  *  Watchdog
  * -------------------------------------------------------------------- */
@@ -1589,6 +1617,7 @@ static int __init at91_add_standard_devices(void)
        at91_add_device_hdmac();
        at91_add_device_rtc();
        at91_add_device_rtt();
+       at91_add_device_trng();
        at91_add_device_watchdog();
        at91_add_device_tc();
        return 0;