aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/clk/imx/clk-imx7d.c84
1 files changed, 44 insertions, 40 deletions
diff --git a/drivers/clk/imx/clk-imx7d.c b/drivers/clk/imx/clk-imx7d.c
index 80dc211eb74b..992938b8696f 100644
--- a/drivers/clk/imx/clk-imx7d.c
+++ b/drivers/clk/imx/clk-imx7d.c
@@ -51,20 +51,20 @@ static const char *arm_a7_sel[] = { "osc", "pll_arm_main_clk",
51 51
52static const char *arm_m4_sel[] = { "osc", "pll_sys_main_240m_clk", 52static const char *arm_m4_sel[] = { "osc", "pll_sys_main_240m_clk",
53 "pll_enet_250m_clk", "pll_sys_pfd2_270m_clk", 53 "pll_enet_250m_clk", "pll_sys_pfd2_270m_clk",
54 "pll_dram_533m_clk", "pll_audio_post_div", "pll_video_main_clk", 54 "pll_dram_533m_clk", "pll_audio_post_div", "pll_video_post_div",
55 "pll_usb_main_clk", }; 55 "pll_usb_main_clk", };
56 56
57static const char *axi_sel[] = { "osc", "pll_sys_pfd1_332m_clk", 57static const char *axi_sel[] = { "osc", "pll_sys_pfd1_332m_clk",
58 "pll_dram_533m_clk", "pll_enet_250m_clk", "pll_sys_pfd5_clk", 58 "pll_dram_533m_clk", "pll_enet_250m_clk", "pll_sys_pfd5_clk",
59 "pll_audio_post_div", "pll_video_main_clk", "pll_sys_pfd7_clk", }; 59 "pll_audio_post_div", "pll_video_post_div", "pll_sys_pfd7_clk", };
60 60
61static const char *disp_axi_sel[] = { "osc", "pll_sys_pfd1_332m_clk", 61static const char *disp_axi_sel[] = { "osc", "pll_sys_pfd1_332m_clk",
62 "pll_dram_533m_clk", "pll_enet_250m_clk", "pll_sys_pfd6_clk", 62 "pll_dram_533m_clk", "pll_enet_250m_clk", "pll_sys_pfd6_clk",
63 "pll_sys_pfd7_clk", "pll_audio_post_div", "pll_video_main_clk", }; 63 "pll_sys_pfd7_clk", "pll_audio_post_div", "pll_video_post_div", };
64 64
65static const char *enet_axi_sel[] = { "osc", "pll_sys_pfd2_270m_clk", 65static const char *enet_axi_sel[] = { "osc", "pll_sys_pfd2_270m_clk",
66 "pll_dram_533m_clk", "pll_enet_250m_clk", 66 "pll_dram_533m_clk", "pll_enet_250m_clk",
67 "pll_sys_main_240m_clk", "pll_audio_post_div", "pll_video_main_clk", 67 "pll_sys_main_240m_clk", "pll_audio_post_div", "pll_video_post_div",
68 "pll_sys_pfd4_clk", }; 68 "pll_sys_pfd4_clk", };
69 69
70static const char *nand_usdhc_bus_sel[] = { "osc", "pll_sys_pfd2_270m_clk", 70static const char *nand_usdhc_bus_sel[] = { "osc", "pll_sys_pfd2_270m_clk",
@@ -75,7 +75,7 @@ static const char *nand_usdhc_bus_sel[] = { "osc", "pll_sys_pfd2_270m_clk",
75static const char *ahb_channel_sel[] = { "osc", "pll_sys_pfd2_270m_clk", 75static const char *ahb_channel_sel[] = { "osc", "pll_sys_pfd2_270m_clk",
76 "pll_dram_533m_clk", "pll_sys_pfd0_392m_clk", 76 "pll_dram_533m_clk", "pll_sys_pfd0_392m_clk",
77 "pll_enet_125m_clk", "pll_usb_main_clk", "pll_audio_post_div", 77 "pll_enet_125m_clk", "pll_usb_main_clk", "pll_audio_post_div",
78 "pll_video_main_clk", }; 78 "pll_video_post_div", };
79 79
80static const char *dram_phym_sel[] = { "pll_dram_main_clk", 80static const char *dram_phym_sel[] = { "pll_dram_main_clk",
81 "dram_phym_alt_clk", }; 81 "dram_phym_alt_clk", };
@@ -86,7 +86,7 @@ static const char *dram_sel[] = { "pll_dram_main_clk",
86static const char *dram_phym_alt_sel[] = { "osc", "pll_dram_533m_clk", 86static const char *dram_phym_alt_sel[] = { "osc", "pll_dram_533m_clk",
87 "pll_sys_main_clk", "pll_enet_500m_clk", 87 "pll_sys_main_clk", "pll_enet_500m_clk",
88 "pll_usb_main_clk", "pll_sys_pfd7_clk", "pll_audio_post_div", 88 "pll_usb_main_clk", "pll_sys_pfd7_clk", "pll_audio_post_div",
89 "pll_video_main_clk", }; 89 "pll_video_post_div", };
90 90
91static const char *dram_alt_sel[] = { "osc", "pll_dram_533m_clk", 91static const char *dram_alt_sel[] = { "osc", "pll_dram_533m_clk",
92 "pll_sys_main_clk", "pll_enet_500m_clk", 92 "pll_sys_main_clk", "pll_enet_500m_clk",
@@ -108,62 +108,62 @@ static const char *pcie_phy_sel[] = { "osc", "pll_enet_100m_clk",
108 108
109static const char *epdc_pixel_sel[] = { "osc", "pll_sys_pfd1_332m_clk", 109static const char *epdc_pixel_sel[] = { "osc", "pll_sys_pfd1_332m_clk",
110 "pll_dram_533m_clk", "pll_sys_main_clk", "pll_sys_pfd5_clk", 110 "pll_dram_533m_clk", "pll_sys_main_clk", "pll_sys_pfd5_clk",
111 "pll_sys_pfd6_clk", "pll_sys_pfd7_clk", "pll_video_main_clk", }; 111 "pll_sys_pfd6_clk", "pll_sys_pfd7_clk", "pll_video_post_div", };
112 112
113static const char *lcdif_pixel_sel[] = { "osc", "pll_sys_pfd5_clk", 113static const char *lcdif_pixel_sel[] = { "osc", "pll_sys_pfd5_clk",
114 "pll_dram_533m_clk", "ext_clk_3", "pll_sys_pfd4_clk", 114 "pll_dram_533m_clk", "ext_clk_3", "pll_sys_pfd4_clk",
115 "pll_sys_pfd2_270m_clk", "pll_video_main_clk", 115 "pll_sys_pfd2_270m_clk", "pll_video_post_div",
116 "pll_usb_main_clk", }; 116 "pll_usb_main_clk", };
117 117
118static const char *mipi_dsi_sel[] = { "osc", "pll_sys_pfd5_clk", 118static const char *mipi_dsi_sel[] = { "osc", "pll_sys_pfd5_clk",
119 "pll_sys_pfd3_clk", "pll_sys_main_clk", "pll_sys_pfd0_196m_clk", 119 "pll_sys_pfd3_clk", "pll_sys_main_clk", "pll_sys_pfd0_196m_clk",
120 "pll_dram_533m_clk", "pll_video_main_clk", "pll_audio_post_div", }; 120 "pll_dram_533m_clk", "pll_video_post_div", "pll_audio_post_div", };
121 121
122static const char *mipi_csi_sel[] = { "osc", "pll_sys_pfd4_clk", 122static const char *mipi_csi_sel[] = { "osc", "pll_sys_pfd4_clk",
123 "pll_sys_pfd3_clk", "pll_sys_main_clk", "pll_sys_pfd0_196m_clk", 123 "pll_sys_pfd3_clk", "pll_sys_main_clk", "pll_sys_pfd0_196m_clk",
124 "pll_dram_533m_clk", "pll_video_main_clk", "pll_audio_post_div", }; 124 "pll_dram_533m_clk", "pll_video_post_div", "pll_audio_post_div", };
125 125
126static const char *mipi_dphy_sel[] = { "osc", "pll_sys_main_120m_clk", 126static const char *mipi_dphy_sel[] = { "osc", "pll_sys_main_120m_clk",
127 "pll_dram_533m_clk", "pll_sys_pfd5_clk", "ref_1m_clk", "ext_clk_2", 127 "pll_dram_533m_clk", "pll_sys_pfd5_clk", "ref_1m_clk", "ext_clk_2",
128 "pll_video_main_clk", "ext_clk_3", }; 128 "pll_video_post_div", "ext_clk_3", };
129 129
130static const char *sai1_sel[] = { "osc", "pll_sys_pfd2_135m_clk", 130static const char *sai1_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
131 "pll_audio_post_div", "pll_dram_533m_clk", "pll_video_main_clk", 131 "pll_audio_post_div", "pll_dram_533m_clk", "pll_video_post_div",
132 "pll_sys_pfd4_clk", "pll_enet_125m_clk", "ext_clk_2", }; 132 "pll_sys_pfd4_clk", "pll_enet_125m_clk", "ext_clk_2", };
133 133
134static const char *sai2_sel[] = { "osc", "pll_sys_pfd2_135m_clk", 134static const char *sai2_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
135 "pll_audio_post_div", "pll_dram_533m_clk", "pll_video_main_clk", 135 "pll_audio_post_div", "pll_dram_533m_clk", "pll_video_post_div",
136 "pll_sys_pfd4_clk", "pll_enet_125m_clk", "ext_clk_2", }; 136 "pll_sys_pfd4_clk", "pll_enet_125m_clk", "ext_clk_2", };
137 137
138static const char *sai3_sel[] = { "osc", "pll_sys_pfd2_135m_clk", 138static const char *sai3_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
139 "pll_audio_post_div", "pll_dram_533m_clk", "pll_video_main_clk", 139 "pll_audio_post_div", "pll_dram_533m_clk", "pll_video_post_div",
140 "pll_sys_pfd4_clk", "pll_enet_125m_clk", "ext_clk_3", }; 140 "pll_sys_pfd4_clk", "pll_enet_125m_clk", "ext_clk_3", };
141 141
142static const char *spdif_sel[] = { "osc", "pll_sys_pfd2_135m_clk", 142static const char *spdif_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
143 "pll_audio_post_div", "pll_dram_533m_clk", "pll_video_main_clk", 143 "pll_audio_post_div", "pll_dram_533m_clk", "pll_video_post_div",
144 "pll_sys_pfd4_clk", "pll_enet_125m_clk", "ext_3_clk", }; 144 "pll_sys_pfd4_clk", "pll_enet_125m_clk", "ext_3_clk", };
145 145
146static const char *enet1_ref_sel[] = { "osc", "pll_enet_125m_clk", 146static const char *enet1_ref_sel[] = { "osc", "pll_enet_125m_clk",
147 "pll_enet_50m_clk", "pll_enet_25m_clk", 147 "pll_enet_50m_clk", "pll_enet_25m_clk",
148 "pll_sys_main_120m_clk", "pll_audio_post_div", "pll_video_main_clk", 148 "pll_sys_main_120m_clk", "pll_audio_post_div", "pll_video_post_div",
149 "ext_clk_4", }; 149 "ext_clk_4", };
150 150
151static const char *enet1_time_sel[] = { "osc", "pll_enet_100m_clk", 151static const char *enet1_time_sel[] = { "osc", "pll_enet_100m_clk",
152 "pll_audio_post_div", "ext_clk_1", "ext_clk_2", "ext_clk_3", 152 "pll_audio_post_div", "ext_clk_1", "ext_clk_2", "ext_clk_3",
153 "ext_clk_4", "pll_video_main_clk", }; 153 "ext_clk_4", "pll_video_post_div", };
154 154
155static const char *enet2_ref_sel[] = { "osc", "pll_enet_125m_clk", 155static const char *enet2_ref_sel[] = { "osc", "pll_enet_125m_clk",
156 "pll_enet_50m_clk", "pll_enet_25m_clk", 156 "pll_enet_50m_clk", "pll_enet_25m_clk",
157 "pll_sys_main_120m_clk", "pll_audio_post_div", "pll_video_main_clk", 157 "pll_sys_main_120m_clk", "pll_audio_post_div", "pll_video_post_div",
158 "ext_clk_4", }; 158 "ext_clk_4", };
159 159
160static const char *enet2_time_sel[] = { "osc", "pll_enet_100m_clk", 160static const char *enet2_time_sel[] = { "osc", "pll_enet_100m_clk",
161 "pll_audio_post_div", "ext_clk_1", "ext_clk_2", "ext_clk_3", 161 "pll_audio_post_div", "ext_clk_1", "ext_clk_2", "ext_clk_3",
162 "ext_clk_4", "pll_video_main_clk", }; 162 "ext_clk_4", "pll_video_post_div", };
163 163
164static const char *enet_phy_ref_sel[] = { "osc", "pll_enet_25m_clk", 164static const char *enet_phy_ref_sel[] = { "osc", "pll_enet_25m_clk",
165 "pll_enet_50m_clk", "pll_enet_125m_clk", 165 "pll_enet_50m_clk", "pll_enet_125m_clk",
166 "pll_dram_533m_clk", "pll_audio_post_div", "pll_video_main_clk", 166 "pll_dram_533m_clk", "pll_audio_post_div", "pll_video_post_div",
167 "pll_sys_pfd3_clk", }; 167 "pll_sys_pfd3_clk", };
168 168
169static const char *eim_sel[] = { "osc", "pll_sys_pfd2_135m_clk", 169static const char *eim_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
@@ -174,7 +174,7 @@ static const char *eim_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
174static const char *nand_sel[] = { "osc", "pll_sys_main_clk", 174static const char *nand_sel[] = { "osc", "pll_sys_main_clk",
175 "pll_dram_533m_clk", "pll_sys_pfd0_392m_clk", "pll_sys_pfd3_clk", 175 "pll_dram_533m_clk", "pll_sys_pfd0_392m_clk", "pll_sys_pfd3_clk",
176 "pll_enet_500m_clk", "pll_enet_250m_clk", 176 "pll_enet_500m_clk", "pll_enet_250m_clk",
177 "pll_video_main_clk", }; 177 "pll_video_post_div", };
178 178
179static const char *qspi_sel[] = { "osc", "pll_sys_pfd4_clk", 179static const char *qspi_sel[] = { "osc", "pll_sys_pfd4_clk",
180 "pll_dram_533m_clk", "pll_enet_500m_clk", "pll_sys_pfd3_clk", 180 "pll_dram_533m_clk", "pll_enet_500m_clk", "pll_sys_pfd3_clk",
@@ -204,22 +204,22 @@ static const char *can2_sel[] = { "osc", "pll_sys_main_120m_clk",
204 204
205static const char *i2c1_sel[] = { "osc", "pll_sys_main_120m_clk", 205static const char *i2c1_sel[] = { "osc", "pll_sys_main_120m_clk",
206 "pll_enet_50m_clk", "pll_dram_533m_clk", 206 "pll_enet_50m_clk", "pll_dram_533m_clk",
207 "pll_audio_post_div", "pll_video_main_clk", "pll_usb_main_clk", 207 "pll_audio_post_div", "pll_video_post_div", "pll_usb_main_clk",
208 "pll_sys_pfd2_135m_clk", }; 208 "pll_sys_pfd2_135m_clk", };
209 209
210static const char *i2c2_sel[] = { "osc", "pll_sys_main_120m_clk", 210static const char *i2c2_sel[] = { "osc", "pll_sys_main_120m_clk",
211 "pll_enet_50m_clk", "pll_dram_533m_clk", 211 "pll_enet_50m_clk", "pll_dram_533m_clk",
212 "pll_audio_post_div", "pll_video_main_clk", "pll_usb_main_clk", 212 "pll_audio_post_div", "pll_video_post_div", "pll_usb_main_clk",
213 "pll_sys_pfd2_135m_clk", }; 213 "pll_sys_pfd2_135m_clk", };
214 214
215static const char *i2c3_sel[] = { "osc", "pll_sys_main_120m_clk", 215static const char *i2c3_sel[] = { "osc", "pll_sys_main_120m_clk",
216 "pll_enet_50m_clk", "pll_dram_533m_clk", 216 "pll_enet_50m_clk", "pll_dram_533m_clk",
217 "pll_audio_post_div", "pll_video_main_clk", "pll_usb_main_clk", 217 "pll_audio_post_div", "pll_video_post_div", "pll_usb_main_clk",
218 "pll_sys_pfd2_135m_clk", }; 218 "pll_sys_pfd2_135m_clk", };
219 219
220static const char *i2c4_sel[] = { "osc", "pll_sys_main_120m_clk", 220static const char *i2c4_sel[] = { "osc", "pll_sys_main_120m_clk",
221 "pll_enet_50m_clk", "pll_dram_533m_clk", 221 "pll_enet_50m_clk", "pll_dram_533m_clk",
222 "pll_audio_post_div", "pll_video_main_clk", "pll_usb_main_clk", 222 "pll_audio_post_div", "pll_video_post_div", "pll_usb_main_clk",
223 "pll_sys_pfd2_135m_clk", }; 223 "pll_sys_pfd2_135m_clk", };
224 224
225static const char *uart1_sel[] = { "osc", "pll_sys_main_240m_clk", 225static const char *uart1_sel[] = { "osc", "pll_sys_main_240m_clk",
@@ -279,27 +279,27 @@ static const char *ecspi4_sel[] = { "osc", "pll_sys_main_240m_clk",
279 279
280static const char *pwm1_sel[] = { "osc", "pll_enet_100m_clk", 280static const char *pwm1_sel[] = { "osc", "pll_enet_100m_clk",
281 "pll_sys_main_120m_clk", "pll_enet_40m_clk", "pll_audio_post_div", 281 "pll_sys_main_120m_clk", "pll_enet_40m_clk", "pll_audio_post_div",
282 "ext_clk_1", "ref_1m_clk", "pll_video_main_clk", }; 282 "ext_clk_1", "ref_1m_clk", "pll_video_post_div", };
283 283
284static const char *pwm2_sel[] = { "osc", "pll_enet_100m_clk", 284static const char *pwm2_sel[] = { "osc", "pll_enet_100m_clk",
285 "pll_sys_main_120m_clk", "pll_enet_40m_clk", "pll_audio_post_div", 285 "pll_sys_main_120m_clk", "pll_enet_40m_clk", "pll_audio_post_div",
286 "ext_clk_1", "ref_1m_clk", "pll_video_main_clk", }; 286 "ext_clk_1", "ref_1m_clk", "pll_video_post_div", };
287 287
288static const char *pwm3_sel[] = { "osc", "pll_enet_100m_clk", 288static const char *pwm3_sel[] = { "osc", "pll_enet_100m_clk",
289 "pll_sys_main_120m_clk", "pll_enet_40m_clk", "pll_audio_post_div", 289 "pll_sys_main_120m_clk", "pll_enet_40m_clk", "pll_audio_post_div",
290 "ext_clk_2", "ref_1m_clk", "pll_video_main_clk", }; 290 "ext_clk_2", "ref_1m_clk", "pll_video_post_div", };
291 291
292static const char *pwm4_sel[] = { "osc", "pll_enet_100m_clk", 292static const char *pwm4_sel[] = { "osc", "pll_enet_100m_clk",
293 "pll_sys_main_120m_clk", "pll_enet_40m_clk", "pll_audio_post_div", 293 "pll_sys_main_120m_clk", "pll_enet_40m_clk", "pll_audio_post_div",
294 "ext_clk_2", "ref_1m_clk", "pll_video_main_clk", }; 294 "ext_clk_2", "ref_1m_clk", "pll_video_post_div", };
295 295
296static const char *flextimer1_sel[] = { "osc", "pll_enet_100m_clk", 296static const char *flextimer1_sel[] = { "osc", "pll_enet_100m_clk",
297 "pll_sys_main_120m_clk", "pll_enet_40m_clk", "pll_audio_post_div", 297 "pll_sys_main_120m_clk", "pll_enet_40m_clk", "pll_audio_post_div",
298 "ext_clk_3", "ref_1m_clk", "pll_video_main_clk", }; 298 "ext_clk_3", "ref_1m_clk", "pll_video_post_div", };
299 299
300static const char *flextimer2_sel[] = { "osc", "pll_enet_100m_clk", 300static const char *flextimer2_sel[] = { "osc", "pll_enet_100m_clk",
301 "pll_sys_main_120m_clk", "pll_enet_40m_clk", "pll_audio_post_div", 301 "pll_sys_main_120m_clk", "pll_enet_40m_clk", "pll_audio_post_div",
302 "ext_clk_3", "ref_1m_clk", "pll_video_main_clk", }; 302 "ext_clk_3", "ref_1m_clk", "pll_video_post_div", };
303 303
304static const char *sim1_sel[] = { "osc", "pll_sys_pfd2_135m_clk", 304static const char *sim1_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
305 "pll_sys_main_120m_clk", "pll_dram_533m_clk", 305 "pll_sys_main_120m_clk", "pll_dram_533m_clk",
@@ -308,23 +308,23 @@ static const char *sim1_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
308 308
309static const char *sim2_sel[] = { "osc", "pll_sys_pfd2_135m_clk", 309static const char *sim2_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
310 "pll_sys_main_120m_clk", "pll_dram_533m_clk", 310 "pll_sys_main_120m_clk", "pll_dram_533m_clk",
311 "pll_usb_main_clk", "pll_video_main_clk", "pll_enet_125m_clk", 311 "pll_usb_main_clk", "pll_video_post_div", "pll_enet_125m_clk",
312 "pll_sys_pfd7_clk", }; 312 "pll_sys_pfd7_clk", };
313 313
314static const char *gpt1_sel[] = { "osc", "pll_enet_100m_clk", 314static const char *gpt1_sel[] = { "osc", "pll_enet_100m_clk",
315 "pll_sys_pfd0_392m_clk", "pll_enet_40m_clk", "pll_video_main_clk", 315 "pll_sys_pfd0_392m_clk", "pll_enet_40m_clk", "pll_video_post_div",
316 "ref_1m_clk", "pll_audio_post_div", "ext_clk_1", }; 316 "ref_1m_clk", "pll_audio_post_div", "ext_clk_1", };
317 317
318static const char *gpt2_sel[] = { "osc", "pll_enet_100m_clk", 318static const char *gpt2_sel[] = { "osc", "pll_enet_100m_clk",
319 "pll_sys_pfd0_392m_clk", "pll_enet_40m_clk", "pll_video_main_clk", 319 "pll_sys_pfd0_392m_clk", "pll_enet_40m_clk", "pll_video_post_div",
320 "ref_1m_clk", "pll_audio_post_div", "ext_clk_2", }; 320 "ref_1m_clk", "pll_audio_post_div", "ext_clk_2", };
321 321
322static const char *gpt3_sel[] = { "osc", "pll_enet_100m_clk", 322static const char *gpt3_sel[] = { "osc", "pll_enet_100m_clk",
323 "pll_sys_pfd0_392m_clk", "pll_enet_40m_clk", "pll_video_main_clk", 323 "pll_sys_pfd0_392m_clk", "pll_enet_40m_clk", "pll_video_post_div",
324 "ref_1m_clk", "pll_audio_post_div", "ext_clk_3", }; 324 "ref_1m_clk", "pll_audio_post_div", "ext_clk_3", };
325 325
326static const char *gpt4_sel[] = { "osc", "pll_enet_100m_clk", 326static const char *gpt4_sel[] = { "osc", "pll_enet_100m_clk",
327 "pll_sys_pfd0_392m_clk", "pll_enet_40m_clk", "pll_video_main_clk", 327 "pll_sys_pfd0_392m_clk", "pll_enet_40m_clk", "pll_video_post_div",
328 "ref_1m_clk", "pll_audio_post_div", "ext_clk_4", }; 328 "ref_1m_clk", "pll_audio_post_div", "ext_clk_4", };
329 329
330static const char *trace_sel[] = { "osc", "pll_sys_pfd2_135m_clk", 330static const char *trace_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
@@ -339,12 +339,12 @@ static const char *wdog_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
339 339
340static const char *csi_mclk_sel[] = { "osc", "pll_sys_pfd2_135m_clk", 340static const char *csi_mclk_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
341 "pll_sys_main_120m_clk", "pll_dram_533m_clk", 341 "pll_sys_main_120m_clk", "pll_dram_533m_clk",
342 "pll_enet_125m_clk", "pll_audio_post_div", "pll_video_main_clk", 342 "pll_enet_125m_clk", "pll_audio_post_div", "pll_video_post_div",
343 "pll_usb_main_clk", }; 343 "pll_usb_main_clk", };
344 344
345static const char *audio_mclk_sel[] = { "osc", "pll_sys_pfd2_135m_clk", 345static const char *audio_mclk_sel[] = { "osc", "pll_sys_pfd2_135m_clk",
346 "pll_sys_main_120m_clk", "pll_dram_533m_clk", 346 "pll_sys_main_120m_clk", "pll_dram_533m_clk",
347 "pll_enet_125m_clk", "pll_audio_post_div", "pll_video_main_clk", 347 "pll_enet_125m_clk", "pll_audio_post_div", "pll_video_post_div",
348 "pll_usb_main_clk", }; 348 "pll_usb_main_clk", };
349 349
350static const char *wrclk_sel[] = { "osc", "pll_enet_40m_clk", 350static const char *wrclk_sel[] = { "osc", "pll_enet_40m_clk",
@@ -358,13 +358,13 @@ static const char *clko1_sel[] = { "osc", "pll_sys_main_clk",
358 358
359static const char *clko2_sel[] = { "osc", "pll_sys_main_240m_clk", 359static const char *clko2_sel[] = { "osc", "pll_sys_main_240m_clk",
360 "pll_sys_pfd0_392m_clk", "pll_sys_pfd1_166m_clk", "pll_sys_pfd4_clk", 360 "pll_sys_pfd0_392m_clk", "pll_sys_pfd1_166m_clk", "pll_sys_pfd4_clk",
361 "pll_audio_post_div", "pll_video_main_clk", "ckil", }; 361 "pll_audio_post_div", "pll_video_post_div", "ckil", };
362 362
363static const char *lvds1_sel[] = { "pll_arm_main_clk", 363static const char *lvds1_sel[] = { "pll_arm_main_clk",
364 "pll_sys_main_clk", "pll_sys_pfd0_392m_clk", "pll_sys_pfd1_332m_clk", 364 "pll_sys_main_clk", "pll_sys_pfd0_392m_clk", "pll_sys_pfd1_332m_clk",
365 "pll_sys_pfd2_270m_clk", "pll_sys_pfd3_clk", "pll_sys_pfd4_clk", 365 "pll_sys_pfd2_270m_clk", "pll_sys_pfd3_clk", "pll_sys_pfd4_clk",
366 "pll_sys_pfd5_clk", "pll_sys_pfd6_clk", "pll_sys_pfd7_clk", 366 "pll_sys_pfd5_clk", "pll_sys_pfd6_clk", "pll_sys_pfd7_clk",
367 "pll_audio_post_div", "pll_video_main_clk", "pll_enet_500m_clk", 367 "pll_audio_post_div", "pll_video_post_div", "pll_enet_500m_clk",
368 "pll_enet_250m_clk", "pll_enet_125m_clk", "pll_enet_100m_clk", 368 "pll_enet_250m_clk", "pll_enet_125m_clk", "pll_enet_100m_clk",
369 "pll_enet_50m_clk", "pll_enet_40m_clk", "pll_enet_25m_clk", 369 "pll_enet_50m_clk", "pll_enet_40m_clk", "pll_enet_25m_clk",
370 "pll_dram_main_clk", }; 370 "pll_dram_main_clk", };
@@ -450,6 +450,10 @@ static void __init imx7d_clocks_init(struct device_node *ccm_node)
450 CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE, base + 0xf0, 19, 2, 0, test_div_table, &imx_ccm_lock); 450 CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE, base + 0xf0, 19, 2, 0, test_div_table, &imx_ccm_lock);
451 clks[IMX7D_PLL_AUDIO_POST_DIV] = clk_register_divider_table(NULL, "pll_audio_post_div", "pll_audio_test_div", 451 clks[IMX7D_PLL_AUDIO_POST_DIV] = clk_register_divider_table(NULL, "pll_audio_post_div", "pll_audio_test_div",
452 CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE, base + 0xf0, 22, 2, 0, post_div_table, &imx_ccm_lock); 452 CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE, base + 0xf0, 22, 2, 0, post_div_table, &imx_ccm_lock);
453 clks[IMX7D_PLL_VIDEO_TEST_DIV] = clk_register_divider_table(NULL, "pll_video_test_div", "pll_video_main_clk",
454 CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE, base + 0x130, 19, 2, 0, test_div_table, &imx_ccm_lock);
455 clks[IMX7D_PLL_VIDEO_POST_DIV] = clk_register_divider_table(NULL, "pll_video_post_div", "pll_video_test_div",
456 CLK_SET_RATE_PARENT | CLK_SET_RATE_GATE, base + 0x130, 22, 2, 0, post_div_table, &imx_ccm_lock);
453 457
454 clks[IMX7D_PLL_SYS_PFD0_392M_CLK] = imx_clk_pfd("pll_sys_pfd0_392m_clk", "pll_sys_main_clk", base + 0xc0, 0); 458 clks[IMX7D_PLL_SYS_PFD0_392M_CLK] = imx_clk_pfd("pll_sys_pfd0_392m_clk", "pll_sys_main_clk", base + 0xc0, 0);
455 clks[IMX7D_PLL_SYS_PFD1_332M_CLK] = imx_clk_pfd("pll_sys_pfd1_332m_clk", "pll_sys_main_clk", base + 0xc0, 1); 459 clks[IMX7D_PLL_SYS_PFD1_332M_CLK] = imx_clk_pfd("pll_sys_pfd1_332m_clk", "pll_sys_main_clk", base + 0xc0, 1);