Merge branch 'sh-latest' of git://github.com/pmundt/linux-sh
[pandora-kernel.git] / arch / arm / mach-at91 / at91sam9g45_devices.c
index c3dfb1b..000b5e1 100644 (file)
@@ -124,6 +124,12 @@ void __init at91_add_device_usbh_ohci(struct at91_usbh_data *data)
                        at91_set_gpio_output(data->vbus_pin[i], 0);
        }
 
+       /* Enable overcurrent notification */
+       for (i = 0; i < data->ports; i++) {
+               if (data->overcurrent_pin[i])
+                       at91_set_gpio_input(data->overcurrent_pin[i], 1);
+       }
+
        usbh_ohci_data = *data;
        platform_device_register(&at91_usbh_ohci_device);
 }
@@ -1094,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
  * -------------------------------------------------------------------- */
@@ -1583,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;