crypto: omap - Updates omap sham device related platform code
- registration with multi OMAP kernels support - clocks Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
c614e109c1
commit
ee5500c45c
@ -1836,7 +1836,7 @@ static struct omap_clk omap2420_clks[] = {
|
|||||||
CLK(NULL, "vlynq_ick", &vlynq_ick, CK_242X),
|
CLK(NULL, "vlynq_ick", &vlynq_ick, CK_242X),
|
||||||
CLK(NULL, "vlynq_fck", &vlynq_fck, CK_242X),
|
CLK(NULL, "vlynq_fck", &vlynq_fck, CK_242X),
|
||||||
CLK(NULL, "des_ick", &des_ick, CK_242X),
|
CLK(NULL, "des_ick", &des_ick, CK_242X),
|
||||||
CLK(NULL, "sha_ick", &sha_ick, CK_242X),
|
CLK("omap-sham", "ick", &sha_ick, CK_242X),
|
||||||
CLK("omap_rng", "ick", &rng_ick, CK_242X),
|
CLK("omap_rng", "ick", &rng_ick, CK_242X),
|
||||||
CLK(NULL, "aes_ick", &aes_ick, CK_242X),
|
CLK(NULL, "aes_ick", &aes_ick, CK_242X),
|
||||||
CLK(NULL, "pka_ick", &pka_ick, CK_242X),
|
CLK(NULL, "pka_ick", &pka_ick, CK_242X),
|
||||||
|
@ -1924,7 +1924,7 @@ static struct omap_clk omap2430_clks[] = {
|
|||||||
CLK(NULL, "sdma_ick", &sdma_ick, CK_243X),
|
CLK(NULL, "sdma_ick", &sdma_ick, CK_243X),
|
||||||
CLK(NULL, "sdrc_ick", &sdrc_ick, CK_243X),
|
CLK(NULL, "sdrc_ick", &sdrc_ick, CK_243X),
|
||||||
CLK(NULL, "des_ick", &des_ick, CK_243X),
|
CLK(NULL, "des_ick", &des_ick, CK_243X),
|
||||||
CLK(NULL, "sha_ick", &sha_ick, CK_243X),
|
CLK("omap-sham", "ick", &sha_ick, CK_243X),
|
||||||
CLK("omap_rng", "ick", &rng_ick, CK_243X),
|
CLK("omap_rng", "ick", &rng_ick, CK_243X),
|
||||||
CLK(NULL, "aes_ick", &aes_ick, CK_243X),
|
CLK(NULL, "aes_ick", &aes_ick, CK_243X),
|
||||||
CLK(NULL, "pka_ick", &pka_ick, CK_243X),
|
CLK(NULL, "pka_ick", &pka_ick, CK_243X),
|
||||||
|
@ -3360,7 +3360,7 @@ static struct omap_clk omap3xxx_clks[] = {
|
|||||||
CLK("mmci-omap-hs.2", "ick", &mmchs3_ick, CK_3430ES2 | CK_AM35XX),
|
CLK("mmci-omap-hs.2", "ick", &mmchs3_ick, CK_3430ES2 | CK_AM35XX),
|
||||||
CLK(NULL, "icr_ick", &icr_ick, CK_343X),
|
CLK(NULL, "icr_ick", &icr_ick, CK_343X),
|
||||||
CLK(NULL, "aes2_ick", &aes2_ick, CK_343X),
|
CLK(NULL, "aes2_ick", &aes2_ick, CK_343X),
|
||||||
CLK(NULL, "sha12_ick", &sha12_ick, CK_343X),
|
CLK("omap-sham", "ick", &sha12_ick, CK_343X),
|
||||||
CLK(NULL, "des2_ick", &des2_ick, CK_343X),
|
CLK(NULL, "des2_ick", &des2_ick, CK_343X),
|
||||||
CLK("mmci-omap-hs.1", "ick", &mmchs2_ick, CK_3XXX),
|
CLK("mmci-omap-hs.1", "ick", &mmchs2_ick, CK_3XXX),
|
||||||
CLK("mmci-omap-hs.0", "ick", &mmchs1_ick, CK_3XXX),
|
CLK("mmci-omap-hs.0", "ick", &mmchs1_ick, CK_3XXX),
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include <plat/mux.h>
|
#include <plat/mux.h>
|
||||||
#include <mach/gpio.h>
|
#include <mach/gpio.h>
|
||||||
#include <plat/mmc.h>
|
#include <plat/mmc.h>
|
||||||
|
#include <plat/dma.h>
|
||||||
|
|
||||||
#include "mux.h"
|
#include "mux.h"
|
||||||
|
|
||||||
@ -453,8 +454,10 @@ static void omap_init_mcspi(void)
|
|||||||
static inline void omap_init_mcspi(void) {}
|
static inline void omap_init_mcspi(void) {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_OMAP_SHA1_MD5
|
#if defined(CONFIG_CRYPTO_DEV_OMAP_SHAM) || defined(CONFIG_CRYPTO_DEV_OMAP_SHAM_MODULE)
|
||||||
static struct resource sha1_md5_resources[] = {
|
|
||||||
|
#ifdef CONFIG_ARCH_OMAP24XX
|
||||||
|
static struct resource omap2_sham_resources[] = {
|
||||||
{
|
{
|
||||||
.start = OMAP24XX_SEC_SHA1MD5_BASE,
|
.start = OMAP24XX_SEC_SHA1MD5_BASE,
|
||||||
.end = OMAP24XX_SEC_SHA1MD5_BASE + 0x64,
|
.end = OMAP24XX_SEC_SHA1MD5_BASE + 0x64,
|
||||||
@ -465,20 +468,55 @@ static struct resource sha1_md5_resources[] = {
|
|||||||
.flags = IORESOURCE_IRQ,
|
.flags = IORESOURCE_IRQ,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
static int omap2_sham_resources_sz = ARRAY_SIZE(omap2_sham_resources);
|
||||||
|
#else
|
||||||
|
#define omap2_sham_resources NULL
|
||||||
|
#define omap2_sham_resources_sz 0
|
||||||
|
#endif
|
||||||
|
|
||||||
static struct platform_device sha1_md5_device = {
|
#ifdef CONFIG_ARCH_OMAP34XX
|
||||||
.name = "OMAP SHA1/MD5",
|
static struct resource omap3_sham_resources[] = {
|
||||||
|
{
|
||||||
|
.start = OMAP34XX_SEC_SHA1MD5_BASE,
|
||||||
|
.end = OMAP34XX_SEC_SHA1MD5_BASE + 0x64,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.start = INT_34XX_SHA1MD52_IRQ,
|
||||||
|
.flags = IORESOURCE_IRQ,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.start = OMAP34XX_DMA_SHA1MD5_RX,
|
||||||
|
.flags = IORESOURCE_DMA,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
static int omap3_sham_resources_sz = ARRAY_SIZE(omap3_sham_resources);
|
||||||
|
#else
|
||||||
|
#define omap3_sham_resources NULL
|
||||||
|
#define omap3_sham_resources_sz 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static struct platform_device sham_device = {
|
||||||
|
.name = "omap-sham",
|
||||||
.id = -1,
|
.id = -1,
|
||||||
.num_resources = ARRAY_SIZE(sha1_md5_resources),
|
|
||||||
.resource = sha1_md5_resources,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void omap_init_sha1_md5(void)
|
static void omap_init_sham(void)
|
||||||
{
|
{
|
||||||
platform_device_register(&sha1_md5_device);
|
if (cpu_is_omap24xx()) {
|
||||||
|
sham_device.resource = omap2_sham_resources;
|
||||||
|
sham_device.num_resources = omap2_sham_resources_sz;
|
||||||
|
} else if (cpu_is_omap34xx()) {
|
||||||
|
sham_device.resource = omap3_sham_resources;
|
||||||
|
sham_device.num_resources = omap3_sham_resources_sz;
|
||||||
|
} else {
|
||||||
|
pr_err("%s: platform not supported\n", __func__);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
platform_device_register(&sham_device);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
static inline void omap_init_sha1_md5(void) { }
|
static inline void omap_init_sham(void) { }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------*/
|
||||||
@ -799,7 +837,7 @@ static int __init omap2_init_devices(void)
|
|||||||
omap_init_mcspi();
|
omap_init_mcspi();
|
||||||
omap_hdq_init();
|
omap_hdq_init();
|
||||||
omap_init_sti();
|
omap_init_sti();
|
||||||
omap_init_sha1_md5();
|
omap_init_sham();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -82,5 +82,10 @@
|
|||||||
|
|
||||||
#define OMAP34XX_MAILBOX_BASE (L4_34XX_BASE + 0x94000)
|
#define OMAP34XX_MAILBOX_BASE (L4_34XX_BASE + 0x94000)
|
||||||
|
|
||||||
|
/* Security */
|
||||||
|
#define OMAP34XX_SEC_BASE (L4_34XX_BASE + 0xA0000)
|
||||||
|
#define OMAP34XX_SEC_SHA1MD5_BASE (OMAP34XX_SEC_BASE + 0x23000)
|
||||||
|
#define OMAP34XX_SEC_AES_BASE (OMAP34XX_SEC_BASE + 0x25000)
|
||||||
|
|
||||||
#endif /* __ASM_ARCH_OMAP3_H */
|
#endif /* __ASM_ARCH_OMAP3_H */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user