@@ -369,23 +369,8 @@ static int _getAlt (int pin)
369369 switch (pin ) {
370370 case C2_GPIOX_PIN_START ...C2_GPIOX_PIN_END :
371371 switch (shift ) {
372- case 0 :
373- if (* (gpio + C2_MUX_REG_8_OFFSET ) & (1 << 5 )) { mode = 1 ; break ; }
374- break ;
375- case 1 :
376- if (* (gpio + C2_MUX_REG_8_OFFSET ) & (1 << 4 )) { mode = 1 ; break ; }
377- break ;
378- case 2 :
379- if (* (gpio + C2_MUX_REG_8_OFFSET ) & (1 << 3 )) { mode = 1 ; break ; }
380- break ;
381- case 3 :
382- if (* (gpio + C2_MUX_REG_8_OFFSET ) & (1 << 2 )) { mode = 1 ; break ; }
383- break ;
384- case 4 :
385- if (* (gpio + C2_MUX_REG_8_OFFSET ) & (1 << 1 )) { mode = 1 ; break ; }
386- break ;
387- case 5 :
388- if (* (gpio + C2_MUX_REG_8_OFFSET ) & (1 << 0 )) { mode = 1 ; break ; }
372+ case 0 ... 5 :
373+ if (* (gpio + C2_MUX_REG_8_OFFSET ) & (1 << (5 - shift ))) { mode = 1 ; break ; }
389374 break ;
390375 case 6 :
391376 if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 9 )) { mode = 4 ; break ; }
@@ -406,27 +391,12 @@ static int _getAlt (int pin)
406391 if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 29 )) { mode = 3 ; break ; }
407392 if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 7 )) { mode = 4 ; break ; }
408393 break ;
409- case 10 :
410- if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 28 )) { mode = 3 ; break ; }
411- break ;
412- case 11 :
413- if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 27 )) { mode = 3 ; break ; }
414- break ;
415- case 12 :
416- if (* (gpio + C2_MUX_REG_4_OFFSET ) & (1 << 13 )) { mode = 2 ; break ; }
417- if (* (gpio + C2_MUX_REG_4_OFFSET ) & (1 << 17 )) { mode = 3 ; break ; }
418- break ;
419- case 13 :
420- if (* (gpio + C2_MUX_REG_4_OFFSET ) & (1 << 12 )) { mode = 2 ; break ; }
421- if (* (gpio + C2_MUX_REG_4_OFFSET ) & (1 << 16 )) { mode = 3 ; break ; }
394+ case 10 ... 11 :
395+ if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << (38 - shift ))) { mode = 3 ; break ; }
422396 break ;
423- case 14 :
424- if (* (gpio + C2_MUX_REG_4_OFFSET ) & (1 << 11 )) { mode = 2 ; break ; }
425- if (* (gpio + C2_MUX_REG_4_OFFSET ) & (1 << 15 )) { mode = 3 ; break ; }
426- break ;
427- case 15 :
428- if (* (gpio + C2_MUX_REG_4_OFFSET ) & (1 << 10 )) { mode = 2 ; break ; }
429- if (* (gpio + C2_MUX_REG_4_OFFSET ) & (1 << 14 )) { mode = 3 ; break ; }
397+ case 12 ... 15 :
398+ if (* (gpio + C2_MUX_REG_4_OFFSET ) & (1 << (25 - shift ))) { mode = 2 ; break ; }
399+ if (* (gpio + C2_MUX_REG_4_OFFSET ) & (1 << (29 - shift ))) { mode = 3 ; break ; }
430400 break ;
431401 case 19 :
432402 if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 22 )) { mode = 2 ; break ; }
@@ -436,15 +406,10 @@ static int _getAlt (int pin)
436406 break ;
437407 case C2_GPIOY_PIN_START ...C2_GPIOY_PIN_END :
438408 switch (shift ) {
439- case 0 :
440- if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 19 )) { mode = 1 ; break ; }
441- if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 2 )) { mode = 2 ; break ; }
442- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 0 )) { mode = 5 ; break ; }
443- break ;
444- case 1 :
445- if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 18 )) { mode = 1 ; break ; }
446- if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 1 )) { mode = 2 ; break ; }
447- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 1 )) { mode = 5 ; break ; }
409+ case 0 ... 1 :
410+ if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << shift )) { mode = 5 ; break ; }
411+ if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << (19 - shift ))) { mode = 1 ; break ; }
412+ if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << (2 - shift ))) { mode = 2 ; break ; }
448413 break ;
449414 case 2 :
450415 if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 17 )) { mode = 1 ; break ; }
@@ -455,57 +420,24 @@ static int _getAlt (int pin)
455420 if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 4 )) { mode = 2 ; break ; }
456421 if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 2 )) { mode = 5 ; break ; }
457422 break ;
458- case 4 :
459- if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 16 )) { mode = 1 ; break ; }
460- if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 5 )) { mode = 2 ; break ; }
461- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 12 )) { mode = 4 ; break ; }
423+ case 4 ... 5 :
424+ if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 16 )) { mode = 1 ; break ; }
425+ if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 5 )) { mode = 2 ; break ; }
426+ if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << ( shift + 8 ) )) { mode = 4 ; break ; }
462427 break ;
463- case 5 :
464- if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 16 )) { mode = 1 ; break ; }
465- if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 5 )) { mode = 2 ; break ; }
466- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 13 )) { mode = 4 ; break ; }
467- break ;
468- case 6 :
469- if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 16 )) { mode = 1 ; break ; }
470- if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 5 )) { mode = 2 ; break ; }
471- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 3 )) { mode = 5 ; break ; }
472- break ;
473- case 7 :
474- if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 16 )) { mode = 1 ; break ; }
475- if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 5 )) { mode = 2 ; break ; }
476- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 4 )) { mode = 5 ; break ; }
477- break ;
478- case 8 :
479- if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 16 )) { mode = 1 ; break ; }
480- if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 5 )) { mode = 2 ; break ; }
481- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 5 )) { mode = 5 ; break ; }
482- break ;
483- case 9 :
484- if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 16 )) { mode = 1 ; break ; }
485- if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 5 )) { mode = 2 ; break ; }
486- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 6 )) { mode = 5 ; break ; }
487- break ;
488- case 10 :
489- if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 16 )) { mode = 1 ; break ; }
490- if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 5 )) { mode = 2 ; break ; }
491- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 7 )) { mode = 5 ; break ; }
428+ case 6 ... 10 :
429+ if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 16 )) { mode = 1 ; break ; }
430+ if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 5 )) { mode = 2 ; break ; }
431+ if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << (shift - 3 ))) { mode = 5 ; break ; }
492432 break ;
493433 case 11 :
494434 if (* (gpio + C2_MUX_REG_3_OFFSET ) & (1 << 3 )) { mode = 2 ; break ; }
495435 if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 19 )) { mode = 3 ; break ; }
496436 if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 8 )) { mode = 5 ; break ; }
497437 break ;
498- case 12 :
499- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 18 )) { mode = 3 ; break ; }
500- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 9 )) { mode = 5 ; break ; }
501- break ;
502- case 13 :
503- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 17 )) { mode = 3 ; break ; }
504- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 10 )) { mode = 5 ; break ; }
505- break ;
506- case 14 :
507- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 16 )) { mode = 3 ; break ; }
508- if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << 11 )) { mode = 5 ; break ; }
438+ case 12 ... 14 :
439+ if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << (30 - shift ))) { mode = 3 ; break ; }
440+ if (* (gpio + C2_MUX_REG_1_OFFSET ) & (1 << (shift - 3 ))) { mode = 5 ; break ; }
509441 break ;
510442 case 15 :
511443 if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 20 )) { mode = 1 ; break ; }
@@ -520,19 +452,12 @@ static int _getAlt (int pin)
520452 break ;
521453 case C2_GPIODV_PIN_START ...C2_GPIODV_PIN_END :
522454 switch (shift ) {
523- case 24 :
524- if (* (gpio + C2_MUX_REG_0_OFFSET ) & (1 << 7 )) { mode = 1 ; break ; }
525- if (* (gpio + C2_MUX_REG_0_OFFSET ) & (1 << 12 )) { mode = 2 ; break ; }
526- if (* (gpio + C2_MUX_REG_5_OFFSET ) & (1 << 12 )) { mode = 3 ; break ; }
527- if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 29 )) { mode = 5 ; break ; }
528- if (* (gpio + C2_MUX_REG_7_OFFSET ) & (1 << 26 )) { mode = 6 ; break ; }
529- break ;
530- case 25 :
531- if (* (gpio + C2_MUX_REG_0_OFFSET ) & (1 << 6 )) { mode = 1 ; break ; }
532- if (* (gpio + C2_MUX_REG_0_OFFSET ) & (1 << 11 )) { mode = 2 ; break ; }
533- if (* (gpio + C2_MUX_REG_5_OFFSET ) & (1 << 11 )) { mode = 3 ; break ; }
534- if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 28 )) { mode = 5 ; break ; }
535- if (* (gpio + C2_MUX_REG_7_OFFSET ) & (1 << 27 )) { mode = 6 ; break ; }
455+ case 24 ... 25 :
456+ if (* (gpio + C2_MUX_REG_0_OFFSET ) & (1 << (31 - shift ))) { mode = 1 ; break ; }
457+ if (* (gpio + C2_MUX_REG_0_OFFSET ) & (1 << (36 - shift ))) { mode = 2 ; break ; }
458+ if (* (gpio + C2_MUX_REG_5_OFFSET ) & (1 << (36 - shift ))) { mode = 3 ; break ; }
459+ if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << (53 - shift ))) { mode = 5 ; break ; }
460+ if (* (gpio + C2_MUX_REG_7_OFFSET ) & (1 << (shift + 2 ))) { mode = 6 ; break ; }
536461 break ;
537462 case 26 :
538463 if (* (gpio + C2_MUX_REG_0_OFFSET ) & (1 << 10 )) { mode = 2 ; break ; }
@@ -541,9 +466,9 @@ static int _getAlt (int pin)
541466 if (* (gpio + C2_MUX_REG_7_OFFSET ) & (1 << 24 )) { mode = 6 ; break ; }
542467 break ;
543468 case 27 :
469+ if (* (gpio + C2_MUX_REG_5_OFFSET ) & (1 << 8 )) { mode = 4 ; break ; }
544470 if (* (gpio + C2_MUX_REG_0_OFFSET ) & (1 << 9 )) { mode = 2 ; break ; }
545471 if (* (gpio + C2_MUX_REG_5_OFFSET ) & (1 << 9 )) { mode = 3 ; break ; }
546- if (* (gpio + C2_MUX_REG_5_OFFSET ) & (1 << 8 )) { mode = 4 ; break ; }
547472 if (* (gpio + C2_MUX_REG_2_OFFSET ) & (1 << 26 )) { mode = 5 ; break ; }
548473 if (* (gpio + C2_MUX_REG_7_OFFSET ) & (1 << 25 )) { mode = 6 ; break ; }
549474 break ;
0 commit comments