diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-11-08 05:16:09 -0500 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2011-11-08 05:16:09 -0500 |
commit | b8ac10d8b75843c9ddd6aadf70a0cdf8aa783659 (patch) | |
tree | 94bf21f155e8318cd8050fded397b1c5fa3dfd1e /arch/arm/mach-omap2 | |
parent | 1258ea596fe0422272525d9ec8a25b703de4623f (diff) |
ARM: OMAP2xxx: HWMOD: fix DSS clock data
The OMAP2xxx HWMOD data currently contains two errors with DSS clocks:
- dss_rfbi is missing ick opt-clock, which is needed for RFBI to
calculate timings
- dss_venc's interface and main clocks are wrong, causing VENC to fail
to start
These problems were temporarily fixed with a DSS patch
9ede365aa6f74428a1f69c21ca1cf21213167576 ("HACK: OMAP: DSS2: clk hack
for OMAP2/3"), which can be reverted after this patch (and the similar
patches for other OMAPs).
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2420_data.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod_2430_data.c | 10 |
2 files changed, 16 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c index 5160e3509d5d..74037a5807af 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c | |||
@@ -965,6 +965,10 @@ static struct omap_hwmod_ocp_if *omap2420_dss_rfbi_slaves[] = { | |||
965 | &omap2420_l4_core__dss_rfbi, | 965 | &omap2420_l4_core__dss_rfbi, |
966 | }; | 966 | }; |
967 | 967 | ||
968 | static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = { | ||
969 | { .role = "ick", .clk = "dss_ick" }, | ||
970 | }; | ||
971 | |||
968 | static struct omap_hwmod omap2420_dss_rfbi_hwmod = { | 972 | static struct omap_hwmod omap2420_dss_rfbi_hwmod = { |
969 | .name = "dss_rfbi", | 973 | .name = "dss_rfbi", |
970 | .class = &omap2_rfbi_hwmod_class, | 974 | .class = &omap2_rfbi_hwmod_class, |
@@ -976,6 +980,8 @@ static struct omap_hwmod omap2420_dss_rfbi_hwmod = { | |||
976 | .module_offs = CORE_MOD, | 980 | .module_offs = CORE_MOD, |
977 | }, | 981 | }, |
978 | }, | 982 | }, |
983 | .opt_clks = dss_rfbi_opt_clks, | ||
984 | .opt_clks_cnt = ARRAY_SIZE(dss_rfbi_opt_clks), | ||
979 | .slaves = omap2420_dss_rfbi_slaves, | 985 | .slaves = omap2420_dss_rfbi_slaves, |
980 | .slaves_cnt = ARRAY_SIZE(omap2420_dss_rfbi_slaves), | 986 | .slaves_cnt = ARRAY_SIZE(omap2420_dss_rfbi_slaves), |
981 | .flags = HWMOD_NO_IDLEST, | 987 | .flags = HWMOD_NO_IDLEST, |
@@ -985,7 +991,7 @@ static struct omap_hwmod omap2420_dss_rfbi_hwmod = { | |||
985 | static struct omap_hwmod_ocp_if omap2420_l4_core__dss_venc = { | 991 | static struct omap_hwmod_ocp_if omap2420_l4_core__dss_venc = { |
986 | .master = &omap2420_l4_core_hwmod, | 992 | .master = &omap2420_l4_core_hwmod, |
987 | .slave = &omap2420_dss_venc_hwmod, | 993 | .slave = &omap2420_dss_venc_hwmod, |
988 | .clk = "dss_54m_fck", | 994 | .clk = "dss_ick", |
989 | .addr = omap2_dss_venc_addrs, | 995 | .addr = omap2_dss_venc_addrs, |
990 | .fw = { | 996 | .fw = { |
991 | .omap2 = { | 997 | .omap2 = { |
@@ -1005,7 +1011,7 @@ static struct omap_hwmod_ocp_if *omap2420_dss_venc_slaves[] = { | |||
1005 | static struct omap_hwmod omap2420_dss_venc_hwmod = { | 1011 | static struct omap_hwmod omap2420_dss_venc_hwmod = { |
1006 | .name = "dss_venc", | 1012 | .name = "dss_venc", |
1007 | .class = &omap2_venc_hwmod_class, | 1013 | .class = &omap2_venc_hwmod_class, |
1008 | .main_clk = "dss1_fck", | 1014 | .main_clk = "dss_54m_fck", |
1009 | .prcm = { | 1015 | .prcm = { |
1010 | .omap2 = { | 1016 | .omap2 = { |
1011 | .prcm_reg_id = 1, | 1017 | .prcm_reg_id = 1, |
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c index d02a44ea7f9b..6f0365388dfc 100644 --- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c | |||
@@ -1020,6 +1020,10 @@ static struct omap_hwmod_ocp_if *omap2430_dss_rfbi_slaves[] = { | |||
1020 | &omap2430_l4_core__dss_rfbi, | 1020 | &omap2430_l4_core__dss_rfbi, |
1021 | }; | 1021 | }; |
1022 | 1022 | ||
1023 | static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = { | ||
1024 | { .role = "ick", .clk = "dss_ick" }, | ||
1025 | }; | ||
1026 | |||
1023 | static struct omap_hwmod omap2430_dss_rfbi_hwmod = { | 1027 | static struct omap_hwmod omap2430_dss_rfbi_hwmod = { |
1024 | .name = "dss_rfbi", | 1028 | .name = "dss_rfbi", |
1025 | .class = &omap2_rfbi_hwmod_class, | 1029 | .class = &omap2_rfbi_hwmod_class, |
@@ -1031,6 +1035,8 @@ static struct omap_hwmod omap2430_dss_rfbi_hwmod = { | |||
1031 | .module_offs = CORE_MOD, | 1035 | .module_offs = CORE_MOD, |
1032 | }, | 1036 | }, |
1033 | }, | 1037 | }, |
1038 | .opt_clks = dss_rfbi_opt_clks, | ||
1039 | .opt_clks_cnt = ARRAY_SIZE(dss_rfbi_opt_clks), | ||
1034 | .slaves = omap2430_dss_rfbi_slaves, | 1040 | .slaves = omap2430_dss_rfbi_slaves, |
1035 | .slaves_cnt = ARRAY_SIZE(omap2430_dss_rfbi_slaves), | 1041 | .slaves_cnt = ARRAY_SIZE(omap2430_dss_rfbi_slaves), |
1036 | .flags = HWMOD_NO_IDLEST, | 1042 | .flags = HWMOD_NO_IDLEST, |
@@ -1040,7 +1046,7 @@ static struct omap_hwmod omap2430_dss_rfbi_hwmod = { | |||
1040 | static struct omap_hwmod_ocp_if omap2430_l4_core__dss_venc = { | 1046 | static struct omap_hwmod_ocp_if omap2430_l4_core__dss_venc = { |
1041 | .master = &omap2430_l4_core_hwmod, | 1047 | .master = &omap2430_l4_core_hwmod, |
1042 | .slave = &omap2430_dss_venc_hwmod, | 1048 | .slave = &omap2430_dss_venc_hwmod, |
1043 | .clk = "dss_54m_fck", | 1049 | .clk = "dss_ick", |
1044 | .addr = omap2_dss_venc_addrs, | 1050 | .addr = omap2_dss_venc_addrs, |
1045 | .flags = OCPIF_SWSUP_IDLE, | 1051 | .flags = OCPIF_SWSUP_IDLE, |
1046 | .user = OCP_USER_MPU | OCP_USER_SDMA, | 1052 | .user = OCP_USER_MPU | OCP_USER_SDMA, |
@@ -1054,7 +1060,7 @@ static struct omap_hwmod_ocp_if *omap2430_dss_venc_slaves[] = { | |||
1054 | static struct omap_hwmod omap2430_dss_venc_hwmod = { | 1060 | static struct omap_hwmod omap2430_dss_venc_hwmod = { |
1055 | .name = "dss_venc", | 1061 | .name = "dss_venc", |
1056 | .class = &omap2_venc_hwmod_class, | 1062 | .class = &omap2_venc_hwmod_class, |
1057 | .main_clk = "dss1_fck", | 1063 | .main_clk = "dss_54m_fck", |
1058 | .prcm = { | 1064 | .prcm = { |
1059 | .omap2 = { | 1065 | .omap2 = { |
1060 | .prcm_reg_id = 1, | 1066 | .prcm_reg_id = 1, |