aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2011-11-08 05:16:09 -0500
committerPaul Walmsley <paul@pwsan.com>2011-11-08 05:16:09 -0500
commitb8ac10d8b75843c9ddd6aadf70a0cdf8aa783659 (patch)
tree94bf21f155e8318cd8050fded397b1c5fa3dfd1e /arch/arm/mach-omap2
parent1258ea596fe0422272525d9ec8a25b703de4623f (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.c10
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_2430_data.c10
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
968static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = {
969 { .role = "ick", .clk = "dss_ick" },
970};
971
968static struct omap_hwmod omap2420_dss_rfbi_hwmod = { 972static 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 = {
985static struct omap_hwmod_ocp_if omap2420_l4_core__dss_venc = { 991static 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[] = {
1005static struct omap_hwmod omap2420_dss_venc_hwmod = { 1011static 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
1023static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = {
1024 { .role = "ick", .clk = "dss_ick" },
1025};
1026
1023static struct omap_hwmod omap2430_dss_rfbi_hwmod = { 1027static 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 = {
1040static struct omap_hwmod_ocp_if omap2430_l4_core__dss_venc = { 1046static 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[] = {
1054static struct omap_hwmod omap2430_dss_venc_hwmod = { 1060static 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,