ARM: OMAP3: clock: fix boot breakage in legacy mode

The new usage of determine_rate and set_rate_and_parent calls for
OMAP DPLLs assumes the DPLLs must have two parents defined, even
if it is the same clock. Legacy clock data did not fullfill this
requirement and caused a boot crash. Fixed by adding the missing
parent information to the DPLL clocks.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Fixes: 2e1a7b014f ("ARM: OMAP3+: DPLL: use determine_rate() and...")
Cc: Paul Walmsley <paul@pwsan.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Kevin Hilman <khilman@linaro.org>
Reported-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Michael Turquette <mturquette@linaro.org>

authored by Tero Kristo and committed by Michael Turquette 83ccc467 6f8e853d

Changed files
+14 -9
arch
arm
mach-omap2
+14 -9
arch/arm/mach-omap2/cclock3xxx_data.c
··· 111 111 112 112 static const char *dpll3_ck_parent_names[] = { 113 113 "sys_ck", 114 + "sys_ck", 114 115 }; 115 116 116 117 static const struct clk_ops dpll3_ck_ops = { ··· 734 733 DEFINE_STRUCT_CLK_HW_OMAP(corex2_fck, NULL); 735 734 DEFINE_STRUCT_CLK(corex2_fck, corex2_fck_parent_names, core_ck_ops); 736 735 736 + static const char *cpefuse_fck_parent_names[] = { 737 + "sys_ck", 738 + }; 739 + 737 740 static struct clk cpefuse_fck; 738 741 739 742 static struct clk_hw_omap cpefuse_fck_hw = { ··· 749 744 .clkdm_name = "core_l4_clkdm", 750 745 }; 751 746 752 - DEFINE_STRUCT_CLK(cpefuse_fck, dpll3_ck_parent_names, aes2_ick_ops); 747 + DEFINE_STRUCT_CLK(cpefuse_fck, cpefuse_fck_parent_names, aes2_ick_ops); 753 748 754 749 static struct clk csi2_96m_fck; 755 750 ··· 780 775 .clkdm_name = "d2d_clkdm", 781 776 }; 782 777 783 - DEFINE_STRUCT_CLK(d2d_26m_fck, dpll3_ck_parent_names, aes2_ick_ops); 778 + DEFINE_STRUCT_CLK(d2d_26m_fck, cpefuse_fck_parent_names, aes2_ick_ops); 784 779 785 780 static struct clk des1_ick; 786 781 ··· 1051 1046 .clkdm_name = "dss_clkdm", 1052 1047 }; 1053 1048 1054 - DEFINE_STRUCT_CLK(dss2_alwon_fck, dpll3_ck_parent_names, aes2_ick_ops); 1049 + DEFINE_STRUCT_CLK(dss2_alwon_fck, cpefuse_fck_parent_names, aes2_ick_ops); 1055 1050 1056 1051 static struct clk dss_96m_fck; 1057 1052 ··· 1373 1368 static struct clk wkup_l4_ick; 1374 1369 1375 1370 DEFINE_STRUCT_CLK_HW_OMAP(wkup_l4_ick, "wkup_clkdm"); 1376 - DEFINE_STRUCT_CLK(wkup_l4_ick, dpll3_ck_parent_names, core_l4_ick_ops); 1371 + DEFINE_STRUCT_CLK(wkup_l4_ick, cpefuse_fck_parent_names, core_l4_ick_ops); 1377 1372 1378 1373 static struct clk gpio1_ick; 1379 1374 ··· 1867 1862 .clkdm_name = "core_l3_clkdm", 1868 1863 }; 1869 1864 1870 - DEFINE_STRUCT_CLK(hecc_ck, dpll3_ck_parent_names, aes2_ick_ops); 1865 + DEFINE_STRUCT_CLK(hecc_ck, cpefuse_fck_parent_names, aes2_ick_ops); 1871 1866 1872 1867 static struct clk hsotgusb_fck_am35xx; 1873 1868 ··· 1880 1875 .clkdm_name = "core_l3_clkdm", 1881 1876 }; 1882 1877 1883 - DEFINE_STRUCT_CLK(hsotgusb_fck_am35xx, dpll3_ck_parent_names, aes2_ick_ops); 1878 + DEFINE_STRUCT_CLK(hsotgusb_fck_am35xx, cpefuse_fck_parent_names, aes2_ick_ops); 1884 1879 1885 1880 static struct clk hsotgusb_ick_3430es1; 1886 1881 ··· 2416 2411 .clkdm_name = "d2d_clkdm", 2417 2412 }; 2418 2413 2419 - DEFINE_STRUCT_CLK(modem_fck, dpll3_ck_parent_names, aes2_ick_ops); 2414 + DEFINE_STRUCT_CLK(modem_fck, cpefuse_fck_parent_names, aes2_ick_ops); 2420 2415 2421 2416 static struct clk mspro_fck; 2422 2417 ··· 2715 2710 .clkdm_name = "wkup_clkdm", 2716 2711 }; 2717 2712 2718 - DEFINE_STRUCT_CLK(sr1_fck, dpll3_ck_parent_names, aes2_ick_ops); 2713 + DEFINE_STRUCT_CLK(sr1_fck, cpefuse_fck_parent_names, aes2_ick_ops); 2719 2714 2720 2715 static struct clk sr2_fck; 2721 2716 ··· 2729 2724 .clkdm_name = "wkup_clkdm", 2730 2725 }; 2731 2726 2732 - DEFINE_STRUCT_CLK(sr2_fck, dpll3_ck_parent_names, aes2_ick_ops); 2727 + DEFINE_STRUCT_CLK(sr2_fck, cpefuse_fck_parent_names, aes2_ick_ops); 2733 2728 2734 2729 static struct clk sr_l4_ick; 2735 2730