aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorDmitry Kasatkin <dmitry.kasatkin@nokia.com>2010-09-03 07:13:55 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2010-09-03 07:13:55 -0400
commitb744c679f62b368cb94c21c1dcd4618e42d88d63 (patch)
tree4482675717275993b41c21dd1206a8259215f511 /arch/arm
parent57a2ce5f54f3120467be760662c6ef3bea3f9579 (diff)
crypto: updates to enable omap aes
Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@nokia.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-omap2/clock2420_data.c2
-rw-r--r--arch/arm/mach-omap2/clock2430_data.c2
-rw-r--r--arch/arm/mach-omap2/clock3xxx_data.c2
-rw-r--r--arch/arm/mach-omap2/devices.c71
4 files changed, 74 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/clock2420_data.c b/arch/arm/mach-omap2/clock2420_data.c
index 37d65d62ed8f..5f2066a6ba74 100644
--- a/arch/arm/mach-omap2/clock2420_data.c
+++ b/arch/arm/mach-omap2/clock2420_data.c
@@ -1838,7 +1838,7 @@ static struct omap_clk omap2420_clks[] = {
1838 CLK(NULL, "des_ick", &des_ick, CK_242X), 1838 CLK(NULL, "des_ick", &des_ick, CK_242X),
1839 CLK("omap-sham", "ick", &sha_ick, CK_242X), 1839 CLK("omap-sham", "ick", &sha_ick, CK_242X),
1840 CLK("omap_rng", "ick", &rng_ick, CK_242X), 1840 CLK("omap_rng", "ick", &rng_ick, CK_242X),
1841 CLK(NULL, "aes_ick", &aes_ick, CK_242X), 1841 CLK("omap-aes", "ick", &aes_ick, CK_242X),
1842 CLK(NULL, "pka_ick", &pka_ick, CK_242X), 1842 CLK(NULL, "pka_ick", &pka_ick, CK_242X),
1843 CLK(NULL, "usb_fck", &usb_fck, CK_242X), 1843 CLK(NULL, "usb_fck", &usb_fck, CK_242X),
1844 CLK("musb_hdrc", "fck", &osc_ck, CK_242X), 1844 CLK("musb_hdrc", "fck", &osc_ck, CK_242X),
diff --git a/arch/arm/mach-omap2/clock2430_data.c b/arch/arm/mach-omap2/clock2430_data.c
index b33118fb6a87..701a1716019e 100644
--- a/arch/arm/mach-omap2/clock2430_data.c
+++ b/arch/arm/mach-omap2/clock2430_data.c
@@ -1926,7 +1926,7 @@ static struct omap_clk omap2430_clks[] = {
1926 CLK(NULL, "des_ick", &des_ick, CK_243X), 1926 CLK(NULL, "des_ick", &des_ick, CK_243X),
1927 CLK("omap-sham", "ick", &sha_ick, CK_243X), 1927 CLK("omap-sham", "ick", &sha_ick, CK_243X),
1928 CLK("omap_rng", "ick", &rng_ick, CK_243X), 1928 CLK("omap_rng", "ick", &rng_ick, CK_243X),
1929 CLK(NULL, "aes_ick", &aes_ick, CK_243X), 1929 CLK("omap-aes", "ick", &aes_ick, CK_243X),
1930 CLK(NULL, "pka_ick", &pka_ick, CK_243X), 1930 CLK(NULL, "pka_ick", &pka_ick, CK_243X),
1931 CLK(NULL, "usb_fck", &usb_fck, CK_243X), 1931 CLK(NULL, "usb_fck", &usb_fck, CK_243X),
1932 CLK("musb_hdrc", "ick", &usbhs_ick, CK_243X), 1932 CLK("musb_hdrc", "ick", &usbhs_ick, CK_243X),
diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c
index d33744117ce2..e3e65d1c86b2 100644
--- a/arch/arm/mach-omap2/clock3xxx_data.c
+++ b/arch/arm/mach-omap2/clock3xxx_data.c
@@ -3288,7 +3288,7 @@ static struct omap_clk omap3xxx_clks[] = {
3288 CLK(NULL, "usbtll_ick", &usbtll_ick, CK_3430ES2 | CK_AM35XX), 3288 CLK(NULL, "usbtll_ick", &usbtll_ick, CK_3430ES2 | CK_AM35XX),
3289 CLK("mmci-omap-hs.2", "ick", &mmchs3_ick, CK_3430ES2 | CK_AM35XX), 3289 CLK("mmci-omap-hs.2", "ick", &mmchs3_ick, CK_3430ES2 | CK_AM35XX),
3290 CLK(NULL, "icr_ick", &icr_ick, CK_343X), 3290 CLK(NULL, "icr_ick", &icr_ick, CK_343X),
3291 CLK(NULL, "aes2_ick", &aes2_ick, CK_343X), 3291 CLK("omap-aes", "ick", &aes2_ick, CK_343X),
3292 CLK("omap-sham", "ick", &sha12_ick, CK_343X), 3292 CLK("omap-sham", "ick", &sha12_ick, CK_343X),
3293 CLK(NULL, "des2_ick", &des2_ick, CK_343X), 3293 CLK(NULL, "des2_ick", &des2_ick, CK_343X),
3294 CLK("mmci-omap-hs.1", "ick", &mmchs2_ick, CK_3XXX), 3294 CLK("mmci-omap-hs.1", "ick", &mmchs2_ick, CK_3XXX),
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index 03e6c9ed82a4..072893a7d136 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -552,6 +552,76 @@ static void omap_init_sham(void)
552static inline void omap_init_sham(void) { } 552static inline void omap_init_sham(void) { }
553#endif 553#endif
554 554
555#if defined(CONFIG_CRYPTO_DEV_OMAP_AES) || defined(CONFIG_CRYPTO_DEV_OMAP_AES_MODULE)
556
557#ifdef CONFIG_ARCH_OMAP24XX
558static struct resource omap2_aes_resources[] = {
559 {
560 .start = OMAP24XX_SEC_AES_BASE,
561 .end = OMAP24XX_SEC_AES_BASE + 0x4C,
562 .flags = IORESOURCE_MEM,
563 },
564 {
565 .start = OMAP24XX_DMA_AES_TX,
566 .flags = IORESOURCE_DMA,
567 },
568 {
569 .start = OMAP24XX_DMA_AES_RX,
570 .flags = IORESOURCE_DMA,
571 }
572};
573static int omap2_aes_resources_sz = ARRAY_SIZE(omap2_aes_resources);
574#else
575#define omap2_aes_resources NULL
576#define omap2_aes_resources_sz 0
577#endif
578
579#ifdef CONFIG_ARCH_OMAP34XX
580static struct resource omap3_aes_resources[] = {
581 {
582 .start = OMAP34XX_SEC_AES_BASE,
583 .end = OMAP34XX_SEC_AES_BASE + 0x4C,
584 .flags = IORESOURCE_MEM,
585 },
586 {
587 .start = OMAP34XX_DMA_AES2_TX,
588 .flags = IORESOURCE_DMA,
589 },
590 {
591 .start = OMAP34XX_DMA_AES2_RX,
592 .flags = IORESOURCE_DMA,
593 }
594};
595static int omap3_aes_resources_sz = ARRAY_SIZE(omap3_aes_resources);
596#else
597#define omap3_aes_resources NULL
598#define omap3_aes_resources_sz 0
599#endif
600
601static struct platform_device aes_device = {
602 .name = "omap-aes",
603 .id = -1,
604};
605
606static void omap_init_aes(void)
607{
608 if (cpu_is_omap24xx()) {
609 aes_device.resource = omap2_aes_resources;
610 aes_device.num_resources = omap2_aes_resources_sz;
611 } else if (cpu_is_omap34xx()) {
612 aes_device.resource = omap3_aes_resources;
613 aes_device.num_resources = omap3_aes_resources_sz;
614 } else {
615 pr_err("%s: platform not supported\n", __func__);
616 return;
617 }
618 platform_device_register(&aes_device);
619}
620
621#else
622static inline void omap_init_aes(void) { }
623#endif
624
555/*-------------------------------------------------------------------------*/ 625/*-------------------------------------------------------------------------*/
556 626
557#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4) 627#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4)
@@ -908,6 +978,7 @@ static int __init omap2_init_devices(void)
908 omap_hdq_init(); 978 omap_hdq_init();
909 omap_init_sti(); 979 omap_init_sti();
910 omap_init_sham(); 980 omap_init_sham();
981 omap_init_aes();
911 omap_init_vout(); 982 omap_init_vout();
912 983
913 return 0; 984 return 0;