|
@@ -560,6 +560,43 @@ void __init kirkwood_uart1_init(void)
|
|
|
}
|
|
|
|
|
|
|
|
|
+/*****************************************************************************
|
|
|
+ * Cryptographic Engines and Security Accelerator (CESA)
|
|
|
+ ****************************************************************************/
|
|
|
+
|
|
|
+static struct resource kirkwood_crypto_res[] = {
|
|
|
+ {
|
|
|
+ .name = "regs",
|
|
|
+ .start = CRYPTO_PHYS_BASE,
|
|
|
+ .end = CRYPTO_PHYS_BASE + 0xffff,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ }, {
|
|
|
+ .name = "sram",
|
|
|
+ .start = KIRKWOOD_SRAM_PHYS_BASE,
|
|
|
+ .end = KIRKWOOD_SRAM_PHYS_BASE + KIRKWOOD_SRAM_SIZE - 1,
|
|
|
+ .flags = IORESOURCE_MEM,
|
|
|
+ }, {
|
|
|
+ .name = "crypto interrupt",
|
|
|
+ .start = IRQ_KIRKWOOD_CRYPTO,
|
|
|
+ .end = IRQ_KIRKWOOD_CRYPTO,
|
|
|
+ .flags = IORESOURCE_IRQ,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device kirkwood_crypto_device = {
|
|
|
+ .name = "mv_crypto",
|
|
|
+ .id = -1,
|
|
|
+ .num_resources = ARRAY_SIZE(kirkwood_crypto_res),
|
|
|
+ .resource = kirkwood_crypto_res,
|
|
|
+};
|
|
|
+
|
|
|
+void __init kirkwood_crypto_init(void)
|
|
|
+{
|
|
|
+ kirkwood_clk_ctrl |= CGC_CRYPTO;
|
|
|
+ platform_device_register(&kirkwood_crypto_device);
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
/*****************************************************************************
|
|
|
* XOR
|
|
|
****************************************************************************/
|
|
@@ -886,6 +923,7 @@ void __init kirkwood_init(void)
|
|
|
kirkwood_wdt_init();
|
|
|
kirkwood_xor0_init();
|
|
|
kirkwood_xor1_init();
|
|
|
+ kirkwood_crypto_init();
|
|
|
}
|
|
|
|
|
|
static int __init kirkwood_clock_gate(void)
|