@@ -128,7 +128,6 @@ static struct cpg_core_clk r8a7795_core_clks[] __initdata = {
128
128
};
129
129
130
130
static struct mssr_mod_clk r8a7795_mod_clks [] __initdata = {
131
- DEF_MOD ("fdp1-2" , 117 , R8A7795_CLK_S2D1 ), /* ES1.x */
132
131
DEF_MOD ("fdp1-1" , 118 , R8A7795_CLK_S0D1 ),
133
132
DEF_MOD ("fdp1-0" , 119 , R8A7795_CLK_S0D1 ),
134
133
DEF_MOD ("tmu4" , 121 , R8A7795_CLK_S0D6 ),
@@ -162,7 +161,6 @@ static struct mssr_mod_clk r8a7795_mod_clks[] __initdata = {
162
161
DEF_MOD ("pcie1" , 318 , R8A7795_CLK_S3D1 ),
163
162
DEF_MOD ("pcie0" , 319 , R8A7795_CLK_S3D1 ),
164
163
DEF_MOD ("usb-dmac30" , 326 , R8A7795_CLK_S3D1 ),
165
- DEF_MOD ("usb3-if1" , 327 , R8A7795_CLK_S3D1 ), /* ES1.x */
166
164
DEF_MOD ("usb3-if0" , 328 , R8A7795_CLK_S3D1 ),
167
165
DEF_MOD ("usb-dmac31" , 329 , R8A7795_CLK_S3D1 ),
168
166
DEF_MOD ("usb-dmac0" , 330 , R8A7795_CLK_S3D1 ),
@@ -187,28 +185,21 @@ static struct mssr_mod_clk r8a7795_mod_clks[] __initdata = {
187
185
DEF_MOD ("hscif0" , 520 , R8A7795_CLK_S3D1 ),
188
186
DEF_MOD ("thermal" , 522 , R8A7795_CLK_CP ),
189
187
DEF_MOD ("pwm" , 523 , R8A7795_CLK_S0D12 ),
190
- DEF_MOD ("fcpvd3" , 600 , R8A7795_CLK_S2D1 ), /* ES1.x */
191
188
DEF_MOD ("fcpvd2" , 601 , R8A7795_CLK_S0D2 ),
192
189
DEF_MOD ("fcpvd1" , 602 , R8A7795_CLK_S0D2 ),
193
190
DEF_MOD ("fcpvd0" , 603 , R8A7795_CLK_S0D2 ),
194
191
DEF_MOD ("fcpvb1" , 606 , R8A7795_CLK_S0D1 ),
195
192
DEF_MOD ("fcpvb0" , 607 , R8A7795_CLK_S0D1 ),
196
- DEF_MOD ("fcpvi2" , 609 , R8A7795_CLK_S2D1 ), /* ES1.x */
197
193
DEF_MOD ("fcpvi1" , 610 , R8A7795_CLK_S0D1 ),
198
194
DEF_MOD ("fcpvi0" , 611 , R8A7795_CLK_S0D1 ),
199
- DEF_MOD ("fcpf2" , 613 , R8A7795_CLK_S2D1 ), /* ES1.x */
200
195
DEF_MOD ("fcpf1" , 614 , R8A7795_CLK_S0D1 ),
201
196
DEF_MOD ("fcpf0" , 615 , R8A7795_CLK_S0D1 ),
202
- DEF_MOD ("fcpci1" , 616 , R8A7795_CLK_S2D1 ), /* ES1.x */
203
- DEF_MOD ("fcpci0" , 617 , R8A7795_CLK_S2D1 ), /* ES1.x */
204
197
DEF_MOD ("fcpcs" , 619 , R8A7795_CLK_S0D1 ),
205
- DEF_MOD ("vspd3" , 620 , R8A7795_CLK_S2D1 ), /* ES1.x */
206
198
DEF_MOD ("vspd2" , 621 , R8A7795_CLK_S0D2 ),
207
199
DEF_MOD ("vspd1" , 622 , R8A7795_CLK_S0D2 ),
208
200
DEF_MOD ("vspd0" , 623 , R8A7795_CLK_S0D2 ),
209
201
DEF_MOD ("vspbc" , 624 , R8A7795_CLK_S0D1 ),
210
202
DEF_MOD ("vspbd" , 626 , R8A7795_CLK_S0D1 ),
211
- DEF_MOD ("vspi2" , 629 , R8A7795_CLK_S2D1 ), /* ES1.x */
212
203
DEF_MOD ("vspi1" , 630 , R8A7795_CLK_S0D1 ),
213
204
DEF_MOD ("vspi0" , 631 , R8A7795_CLK_S0D1 ),
214
205
DEF_MOD ("ehci3" , 700 , R8A7795_CLK_S3D2 ),
@@ -221,7 +212,6 @@ static struct mssr_mod_clk r8a7795_mod_clks[] __initdata = {
221
212
DEF_MOD ("cmm2" , 709 , R8A7795_CLK_S2D1 ),
222
213
DEF_MOD ("cmm1" , 710 , R8A7795_CLK_S2D1 ),
223
214
DEF_MOD ("cmm0" , 711 , R8A7795_CLK_S2D1 ),
224
- DEF_MOD ("csi21" , 713 , R8A7795_CLK_CSI0 ), /* ES1.x */
225
215
DEF_MOD ("csi20" , 714 , R8A7795_CLK_CSI0 ),
226
216
DEF_MOD ("csi41" , 715 , R8A7795_CLK_CSI0 ),
227
217
DEF_MOD ("csi40" , 716 , R8A7795_CLK_CSI0 ),
@@ -350,103 +340,26 @@ static const struct rcar_gen3_cpg_pll_config cpg_pll_configs[16] __initconst = {
350
340
{ 2 , 192 , 1 , 192 , 1 , 32 , },
351
341
};
352
342
353
- static const struct soc_device_attribute r8a7795es1 [] __initconst = {
343
+ static const struct soc_device_attribute r8a7795_denylist [] __initconst = {
354
344
{ .soc_id = "r8a7795" , .revision = "ES1.*" },
355
345
{ /* sentinel */ }
356
346
};
357
347
358
-
359
- /*
360
- * Fixups for R-Car H3 ES1.x
361
- */
362
-
363
- static const unsigned int r8a7795es1_mod_nullify [] __initconst = {
364
- MOD_CLK_ID (326 ), /* USB-DMAC3-0 */
365
- MOD_CLK_ID (329 ), /* USB-DMAC3-1 */
366
- MOD_CLK_ID (700 ), /* EHCI/OHCI3 */
367
- MOD_CLK_ID (705 ), /* HS-USB-IF3 */
368
-
369
- };
370
-
371
- static const struct mssr_mod_reparent r8a7795es1_mod_reparent [] __initconst = {
372
- { MOD_CLK_ID (118 ), R8A7795_CLK_S2D1 }, /* FDP1-1 */
373
- { MOD_CLK_ID (119 ), R8A7795_CLK_S2D1 }, /* FDP1-0 */
374
- { MOD_CLK_ID (121 ), R8A7795_CLK_S3D2 }, /* TMU4 */
375
- { MOD_CLK_ID (217 ), R8A7795_CLK_S3D1 }, /* SYS-DMAC2 */
376
- { MOD_CLK_ID (218 ), R8A7795_CLK_S3D1 }, /* SYS-DMAC1 */
377
- { MOD_CLK_ID (219 ), R8A7795_CLK_S3D1 }, /* SYS-DMAC0 */
378
- { MOD_CLK_ID (408 ), R8A7795_CLK_S3D1 }, /* INTC-AP */
379
- { MOD_CLK_ID (501 ), R8A7795_CLK_S3D1 }, /* AUDMAC1 */
380
- { MOD_CLK_ID (502 ), R8A7795_CLK_S3D1 }, /* AUDMAC0 */
381
- { MOD_CLK_ID (523 ), R8A7795_CLK_S3D4 }, /* PWM */
382
- { MOD_CLK_ID (601 ), R8A7795_CLK_S2D1 }, /* FCPVD2 */
383
- { MOD_CLK_ID (602 ), R8A7795_CLK_S2D1 }, /* FCPVD1 */
384
- { MOD_CLK_ID (603 ), R8A7795_CLK_S2D1 }, /* FCPVD0 */
385
- { MOD_CLK_ID (606 ), R8A7795_CLK_S2D1 }, /* FCPVB1 */
386
- { MOD_CLK_ID (607 ), R8A7795_CLK_S2D1 }, /* FCPVB0 */
387
- { MOD_CLK_ID (610 ), R8A7795_CLK_S2D1 }, /* FCPVI1 */
388
- { MOD_CLK_ID (611 ), R8A7795_CLK_S2D1 }, /* FCPVI0 */
389
- { MOD_CLK_ID (614 ), R8A7795_CLK_S2D1 }, /* FCPF1 */
390
- { MOD_CLK_ID (615 ), R8A7795_CLK_S2D1 }, /* FCPF0 */
391
- { MOD_CLK_ID (619 ), R8A7795_CLK_S2D1 }, /* FCPCS */
392
- { MOD_CLK_ID (621 ), R8A7795_CLK_S2D1 }, /* VSPD2 */
393
- { MOD_CLK_ID (622 ), R8A7795_CLK_S2D1 }, /* VSPD1 */
394
- { MOD_CLK_ID (623 ), R8A7795_CLK_S2D1 }, /* VSPD0 */
395
- { MOD_CLK_ID (624 ), R8A7795_CLK_S2D1 }, /* VSPBC */
396
- { MOD_CLK_ID (626 ), R8A7795_CLK_S2D1 }, /* VSPBD */
397
- { MOD_CLK_ID (630 ), R8A7795_CLK_S2D1 }, /* VSPI1 */
398
- { MOD_CLK_ID (631 ), R8A7795_CLK_S2D1 }, /* VSPI0 */
399
- { MOD_CLK_ID (804 ), R8A7795_CLK_S2D1 }, /* VIN7 */
400
- { MOD_CLK_ID (805 ), R8A7795_CLK_S2D1 }, /* VIN6 */
401
- { MOD_CLK_ID (806 ), R8A7795_CLK_S2D1 }, /* VIN5 */
402
- { MOD_CLK_ID (807 ), R8A7795_CLK_S2D1 }, /* VIN4 */
403
- { MOD_CLK_ID (808 ), R8A7795_CLK_S2D1 }, /* VIN3 */
404
- { MOD_CLK_ID (809 ), R8A7795_CLK_S2D1 }, /* VIN2 */
405
- { MOD_CLK_ID (810 ), R8A7795_CLK_S2D1 }, /* VIN1 */
406
- { MOD_CLK_ID (811 ), R8A7795_CLK_S2D1 }, /* VIN0 */
407
- { MOD_CLK_ID (812 ), R8A7795_CLK_S3D2 }, /* EAVB-IF */
408
- { MOD_CLK_ID (820 ), R8A7795_CLK_S2D1 }, /* IMR3 */
409
- { MOD_CLK_ID (821 ), R8A7795_CLK_S2D1 }, /* IMR2 */
410
- { MOD_CLK_ID (822 ), R8A7795_CLK_S2D1 }, /* IMR1 */
411
- { MOD_CLK_ID (823 ), R8A7795_CLK_S2D1 }, /* IMR0 */
412
- { MOD_CLK_ID (905 ), R8A7795_CLK_CP }, /* GPIO7 */
413
- { MOD_CLK_ID (906 ), R8A7795_CLK_CP }, /* GPIO6 */
414
- { MOD_CLK_ID (907 ), R8A7795_CLK_CP }, /* GPIO5 */
415
- { MOD_CLK_ID (908 ), R8A7795_CLK_CP }, /* GPIO4 */
416
- { MOD_CLK_ID (909 ), R8A7795_CLK_CP }, /* GPIO3 */
417
- { MOD_CLK_ID (910 ), R8A7795_CLK_CP }, /* GPIO2 */
418
- { MOD_CLK_ID (911 ), R8A7795_CLK_CP }, /* GPIO1 */
419
- { MOD_CLK_ID (912 ), R8A7795_CLK_CP }, /* GPIO0 */
420
- { MOD_CLK_ID (918 ), R8A7795_CLK_S3D2 }, /* I2C6 */
421
- { MOD_CLK_ID (919 ), R8A7795_CLK_S3D2 }, /* I2C5 */
422
- { MOD_CLK_ID (927 ), R8A7795_CLK_S3D2 }, /* I2C4 */
423
- { MOD_CLK_ID (928 ), R8A7795_CLK_S3D2 }, /* I2C3 */
424
- };
425
-
426
-
427
- /*
428
- * Fixups for R-Car H3 ES2.x
429
- */
430
-
431
- static const unsigned int r8a7795es2_mod_nullify [] __initconst = {
432
- MOD_CLK_ID (117 ), /* FDP1-2 */
433
- MOD_CLK_ID (327 ), /* USB3-IF1 */
434
- MOD_CLK_ID (600 ), /* FCPVD3 */
435
- MOD_CLK_ID (609 ), /* FCPVI2 */
436
- MOD_CLK_ID (613 ), /* FCPF2 */
437
- MOD_CLK_ID (616 ), /* FCPCI1 */
438
- MOD_CLK_ID (617 ), /* FCPCI0 */
439
- MOD_CLK_ID (620 ), /* VSPD3 */
440
- MOD_CLK_ID (629 ), /* VSPI2 */
441
- MOD_CLK_ID (713 ), /* CSI21 */
442
- };
443
-
444
348
static int __init r8a7795_cpg_mssr_init (struct device * dev )
445
349
{
446
350
const struct rcar_gen3_cpg_pll_config * cpg_pll_config ;
447
351
u32 cpg_mode ;
448
352
int error ;
449
353
354
+ /*
355
+ * We panic here to ensure removed SoCs and clk updates are always in
356
+ * sync to avoid overclocking damages. The panic can only be seen with
357
+ * commandline args 'earlycon keep_bootcon'. But these SoCs were for
358
+ * developers only anyhow.
359
+ */
360
+ if (soc_device_match (r8a7795_denylist ))
361
+ panic ("SoC not supported anymore!\n" );
362
+
450
363
error = rcar_rst_read_mode_pins (& cpg_mode );
451
364
if (error )
452
365
return error ;
@@ -457,25 +370,6 @@ static int __init r8a7795_cpg_mssr_init(struct device *dev)
457
370
return - EINVAL ;
458
371
}
459
372
460
- if (soc_device_match (r8a7795es1 )) {
461
- cpg_core_nullify_range (r8a7795_core_clks ,
462
- ARRAY_SIZE (r8a7795_core_clks ),
463
- R8A7795_CLK_S0D2 , R8A7795_CLK_S0D12 );
464
- mssr_mod_nullify (r8a7795_mod_clks ,
465
- ARRAY_SIZE (r8a7795_mod_clks ),
466
- r8a7795es1_mod_nullify ,
467
- ARRAY_SIZE (r8a7795es1_mod_nullify ));
468
- mssr_mod_reparent (r8a7795_mod_clks ,
469
- ARRAY_SIZE (r8a7795_mod_clks ),
470
- r8a7795es1_mod_reparent ,
471
- ARRAY_SIZE (r8a7795es1_mod_reparent ));
472
- } else {
473
- mssr_mod_nullify (r8a7795_mod_clks ,
474
- ARRAY_SIZE (r8a7795_mod_clks ),
475
- r8a7795es2_mod_nullify ,
476
- ARRAY_SIZE (r8a7795es2_mod_nullify ));
477
- }
478
-
479
373
return rcar_gen3_cpg_init (cpg_pll_config , CLK_EXTALR , cpg_mode );
480
374
}
481
375
0 commit comments