summaryrefslogtreecommitdiff
path: root/target/linux/omap/patches-3.12/350-ARM-AM33xx-hwmod-Add-RNG-module-data.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/omap/patches-3.12/350-ARM-AM33xx-hwmod-Add-RNG-module-data.patch')
-rw-r--r--target/linux/omap/patches-3.12/350-ARM-AM33xx-hwmod-Add-RNG-module-data.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/target/linux/omap/patches-3.12/350-ARM-AM33xx-hwmod-Add-RNG-module-data.patch b/target/linux/omap/patches-3.12/350-ARM-AM33xx-hwmod-Add-RNG-module-data.patch
new file mode 100644
index 0000000..5ca2790
--- /dev/null
+++ b/target/linux/omap/patches-3.12/350-ARM-AM33xx-hwmod-Add-RNG-module-data.patch
@@ -0,0 +1,64 @@
+Add RNG hwmod data for AM33xx SoC.
+
+Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
+
+---
+* Made am33xx_l4_per__rng structure as static to fix sparse warning
+
+ arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 36 ++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+index 215894f..3e32f45 100644
+--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
++++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+@@ -2480,6 +2480,41 @@ static struct omap_hwmod_ocp_if am33xx_l3_main__aes0 = {
+ .user = OCP_USER_MPU | OCP_USER_SDMA,
+ };
+
++/* rng */
++static struct omap_hwmod_class_sysconfig am33xx_rng_sysc = {
++ .rev_offs = 0x1fe0,
++ .sysc_offs = 0x1fe4,
++ .sysc_flags = SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE,
++ .idlemodes = SIDLE_FORCE | SIDLE_NO,
++ .sysc_fields = &omap_hwmod_sysc_type1,
++};
++
++static struct omap_hwmod_class am33xx_rng_hwmod_class = {
++ .name = "rng",
++ .sysc = &am33xx_rng_sysc,
++};
++
++static struct omap_hwmod am33xx_rng_hwmod = {
++ .name = "rng",
++ .class = &am33xx_rng_hwmod_class,
++ .clkdm_name = "l4ls_clkdm",
++ .flags = HWMOD_SWSUP_SIDLE,
++ .main_clk = "rng_fck",
++ .prcm = {
++ .omap4 = {
++ .clkctrl_offs = AM33XX_CM_PER_RNG_CLKCTRL_OFFSET,
++ .modulemode = MODULEMODE_SWCTRL,
++ },
++ },
++};
++
++static struct omap_hwmod_ocp_if am33xx_l4_per__rng = {
++ .master = &am33xx_l4_ls_hwmod,
++ .slave = &am33xx_rng_hwmod,
++ .clk = "rng_fck",
++ .user = OCP_USER_MPU,
++};
++
+ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
+ &am33xx_l3_main__emif,
+ &am33xx_mpu__l3_main,
+@@ -2559,6 +2594,7 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
+ &am33xx_cpgmac0__mdio,
+ &am33xx_l3_main__sha0,
+ &am33xx_l3_main__aes0,
++ &am33xx_l4_per__rng,
+ NULL,
+ };
+