This change adds platform support for hardware security engine found on Samsung S5PC110 and S5PV210 system-on-chips. Signed-off-by: Vladimir Zapolskiy <vzapolskiy@xxxxxxxxx> --- arch/arm/plat-s5p/Kconfig | 5 +++ arch/arm/plat-s5p/Makefile | 1 + arch/arm/plat-s5p/dev-secss.c | 41 +++++++++++++++++++++++++++++ arch/arm/plat-samsung/include/plat/devs.h | 2 + 4 files changed, 49 insertions(+), 0 deletions(-) create mode 100644 arch/arm/plat-s5p/dev-secss.c diff --git a/arch/arm/plat-s5p/Kconfig b/arch/arm/plat-s5p/Kconfig index 8492297..554427d 100644 --- a/arch/arm/plat-s5p/Kconfig +++ b/arch/arm/plat-s5p/Kconfig @@ -85,6 +85,11 @@ config S5P_DEV_CSIS1 help Compile in platform device definitions for MIPI-CSIS channel 1 +config S5P_DEV_SECSS + bool + help + Compile in platform device definitions for S5PV210 security subsystem + config S5P_SETUP_MIPIPHY bool help diff --git a/arch/arm/plat-s5p/Makefile b/arch/arm/plat-s5p/Makefile index 42afff7..10b4454 100644 --- a/arch/arm/plat-s5p/Makefile +++ b/arch/arm/plat-s5p/Makefile @@ -33,4 +33,5 @@ obj-$(CONFIG_S5P_DEV_FIMC3) += dev-fimc3.o obj-$(CONFIG_S5P_DEV_ONENAND) += dev-onenand.o obj-$(CONFIG_S5P_DEV_CSIS0) += dev-csis0.o obj-$(CONFIG_S5P_DEV_CSIS1) += dev-csis1.o +obj-$(CONFIG_S5P_DEV_SECSS) += dev-secss.o obj-$(CONFIG_S5P_SETUP_MIPIPHY) += setup-mipiphy.o diff --git a/arch/arm/plat-s5p/dev-secss.c b/arch/arm/plat-s5p/dev-secss.c new file mode 100644 index 0000000..6355ebc --- /dev/null +++ b/arch/arm/plat-s5p/dev-secss.c @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2011 Vladimir Zapolskiy <vzapolskiy@xxxxxxxxx> + * + * S5PC110/S5PV210 security subsystem device definition + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. +*/ + +#include <linux/kernel.h> +#include <linux/platform_device.h> +#include <mach/map.h> +#include <mach/irqs.h> + +static struct resource s5p_secss_resources[] = { + { + .start = S5P_PA_SECSS, + .end = S5P_PA_SECSS + SZ_32K - 1, + .flags = IORESOURCE_MEM, + }, + { + .name = "hash", + .start = IRQ_SSS_HASH, + .end = IRQ_SSS_HASH, + .flags = IORESOURCE_IRQ, + }, + { + .name = "feed control", + .start = IRQ_SSS_INT, + .end = IRQ_SSS_INT, + .flags = IORESOURCE_IRQ, + }, +}; + +struct platform_device s5p_device_secss = { + .name = "s5p-secss", + .id = -1, + .num_resources = ARRAY_SIZE(s5p_secss_resources), + .resource = s5p_secss_resources, +}; diff --git a/arch/arm/plat-samsung/include/plat/devs.h b/arch/arm/plat-samsung/include/plat/devs.h index f0da6b7..e21d5a5 100644 --- a/arch/arm/plat-samsung/include/plat/devs.h +++ b/arch/arm/plat-samsung/include/plat/devs.h @@ -142,6 +142,8 @@ extern struct platform_device s5p_device_fimc3; extern struct platform_device s5p_device_mipi_csis0; extern struct platform_device s5p_device_mipi_csis1; +extern struct platform_device s5p_device_secss; + extern struct platform_device exynos4_device_sysmmu; /* s3c2440 specific devices */ -- 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html