ARM: orion: Consolidate setup of the crypto engine.
Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
This commit is contained in:
parent
9e613f8a79
commit
4435006190
|
@ -270,37 +270,11 @@ void __init kirkwood_uart1_init(void)
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* Cryptographic Engines and Security Accelerator (CESA)
|
* 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)
|
void __init kirkwood_crypto_init(void)
|
||||||
{
|
{
|
||||||
kirkwood_clk_ctrl |= CGC_CRYPTO;
|
kirkwood_clk_ctrl |= CGC_CRYPTO;
|
||||||
platform_device_register(&kirkwood_crypto_device);
|
orion_crypto_init(CRYPTO_PHYS_BASE, KIRKWOOD_SRAM_PHYS_BASE,
|
||||||
|
KIRKWOOD_SRAM_SIZE, IRQ_KIRKWOOD_CRYPTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -164,41 +164,19 @@ void __init orion5x_xor_init(void)
|
||||||
IRQ_ORION5X_XOR0, IRQ_ORION5X_XOR1);
|
IRQ_ORION5X_XOR0, IRQ_ORION5X_XOR1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct resource orion5x_crypto_res[] = {
|
/*****************************************************************************
|
||||||
{
|
* Cryptographic Engines and Security Accelerator (CESA)
|
||||||
.name = "regs",
|
****************************************************************************/
|
||||||
.start = ORION5X_CRYPTO_PHYS_BASE,
|
static void __init orion5x_crypto_init(void)
|
||||||
.end = ORION5X_CRYPTO_PHYS_BASE + 0xffff,
|
|
||||||
.flags = IORESOURCE_MEM,
|
|
||||||
}, {
|
|
||||||
.name = "sram",
|
|
||||||
.start = ORION5X_SRAM_PHYS_BASE,
|
|
||||||
.end = ORION5X_SRAM_PHYS_BASE + SZ_8K - 1,
|
|
||||||
.flags = IORESOURCE_MEM,
|
|
||||||
}, {
|
|
||||||
.name = "crypto interrupt",
|
|
||||||
.start = IRQ_ORION5X_CESA,
|
|
||||||
.end = IRQ_ORION5X_CESA,
|
|
||||||
.flags = IORESOURCE_IRQ,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct platform_device orion5x_crypto_device = {
|
|
||||||
.name = "mv_crypto",
|
|
||||||
.id = -1,
|
|
||||||
.num_resources = ARRAY_SIZE(orion5x_crypto_res),
|
|
||||||
.resource = orion5x_crypto_res,
|
|
||||||
};
|
|
||||||
|
|
||||||
static int __init orion5x_crypto_init(void)
|
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = orion5x_setup_sram_win();
|
ret = orion5x_setup_sram_win();
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return;
|
||||||
|
|
||||||
return platform_device_register(&orion5x_crypto_device);
|
orion_crypto_init(ORION5X_CRYPTO_PHYS_BASE, ORION5X_SRAM_PHYS_BASE,
|
||||||
|
SZ_8K, IRQ_ORION5X_CESA);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
|
|
|
@ -923,4 +923,35 @@ void __init orion_sata_init(struct mv_sata_platform_data *sata_data,
|
||||||
platform_device_register(&orion_sata);
|
platform_device_register(&orion_sata);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* Cryptographic Engines and Security Accelerator (CESA)
|
||||||
|
****************************************************************************/
|
||||||
|
static struct resource orion_crypto_resources[] = {
|
||||||
|
{
|
||||||
|
.name = "regs",
|
||||||
|
}, {
|
||||||
|
.name = "crypto interrupt",
|
||||||
|
}, {
|
||||||
|
.name = "sram",
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device orion_crypto = {
|
||||||
|
.name = "mv_crypto",
|
||||||
|
.id = -1,
|
||||||
|
};
|
||||||
|
|
||||||
|
void __init orion_crypto_init(unsigned long mapbase,
|
||||||
|
unsigned long srambase,
|
||||||
|
unsigned long sram_size,
|
||||||
|
unsigned long irq)
|
||||||
|
{
|
||||||
|
fill_resources(&orion_crypto, orion_crypto_resources,
|
||||||
|
mapbase, 0xffff, irq);
|
||||||
|
orion_crypto.num_resources = 3;
|
||||||
|
orion_crypto_resources[2].start = srambase;
|
||||||
|
orion_crypto_resources[2].end = srambase + sram_size - 1;
|
||||||
|
|
||||||
|
platform_device_register(&orion_crypto);
|
||||||
|
}
|
||||||
|
|
|
@ -109,4 +109,9 @@ void __init orion_sata_init(struct mv_sata_platform_data *sata_data,
|
||||||
struct mbus_dram_target_info *mbus_dram_info,
|
struct mbus_dram_target_info *mbus_dram_info,
|
||||||
unsigned long mapbase,
|
unsigned long mapbase,
|
||||||
unsigned long irq);
|
unsigned long irq);
|
||||||
|
|
||||||
|
void __init orion_crypto_init(unsigned long mapbase,
|
||||||
|
unsigned long srambase,
|
||||||
|
unsigned long sram_size,
|
||||||
|
unsigned long irq);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue