@@ -441,6 +441,87 @@ const struct samsung_pinctrl_of_match_data exynos7_of_data __initconst = {
441
441
.num_ctrl = ARRAY_SIZE (exynos7_pin_ctrl ),
442
442
};
443
443
444
+ /* pin banks of exynos7885 pin-controller 0 (ALIVE) */
445
+ static const struct samsung_pin_bank_data exynos7885_pin_banks0 [] __initconst = {
446
+ EXYNOS_PIN_BANK_EINTN (3 , 0x000 , "etc0" ),
447
+ EXYNOS_PIN_BANK_EINTN (3 , 0x020 , "etc1" ),
448
+ EXYNOS850_PIN_BANK_EINTW (8 , 0x040 , "gpa0" , 0x00 ),
449
+ EXYNOS850_PIN_BANK_EINTW (8 , 0x060 , "gpa1" , 0x04 ),
450
+ EXYNOS850_PIN_BANK_EINTW (8 , 0x080 , "gpa2" , 0x08 ),
451
+ EXYNOS850_PIN_BANK_EINTW (5 , 0x0a0 , "gpq0" , 0x0c ),
452
+ };
453
+
454
+ /* pin banks of exynos7885 pin-controller 1 (DISPAUD) */
455
+ static const struct samsung_pin_bank_data exynos7885_pin_banks1 [] __initconst = {
456
+ EXYNOS850_PIN_BANK_EINTG (5 , 0x000 , "gpb0" , 0x00 ),
457
+ EXYNOS850_PIN_BANK_EINTG (4 , 0x020 , "gpb1" , 0x04 ),
458
+ EXYNOS850_PIN_BANK_EINTG (5 , 0x040 , "gpb2" , 0x08 ),
459
+ };
460
+
461
+ /* pin banks of exynos7885 pin-controller 2 (FSYS) */
462
+ static const struct samsung_pin_bank_data exynos7885_pin_banks2 [] __initconst = {
463
+ EXYNOS850_PIN_BANK_EINTG (4 , 0x000 , "gpf0" , 0x00 ),
464
+ EXYNOS850_PIN_BANK_EINTG (8 , 0x020 , "gpf2" , 0x04 ),
465
+ EXYNOS850_PIN_BANK_EINTG (6 , 0x040 , "gpf3" , 0x08 ),
466
+ EXYNOS850_PIN_BANK_EINTG (6 , 0x060 , "gpf4" , 0x0c ),
467
+ };
468
+
469
+ /* pin banks of exynos7885 pin-controller 3 (TOP) */
470
+ static const struct samsung_pin_bank_data exynos7885_pin_banks3 [] __initconst = {
471
+ EXYNOS850_PIN_BANK_EINTG (4 , 0x000 , "gpp0" , 0x00 ),
472
+ EXYNOS850_PIN_BANK_EINTG (3 , 0x020 , "gpg0" , 0x04 ),
473
+ EXYNOS850_PIN_BANK_EINTG (4 , 0x040 , "gpp1" , 0x08 ),
474
+ EXYNOS850_PIN_BANK_EINTG (4 , 0x060 , "gpp2" , 0x0c ),
475
+ EXYNOS850_PIN_BANK_EINTG (3 , 0x080 , "gpp3" , 0x10 ),
476
+ EXYNOS850_PIN_BANK_EINTG (6 , 0x0a0 , "gpp4" , 0x14 ),
477
+ EXYNOS850_PIN_BANK_EINTG (4 , 0x0c0 , "gpp5" , 0x18 ),
478
+ EXYNOS850_PIN_BANK_EINTG (5 , 0x0e0 , "gpp6" , 0x1c ),
479
+ EXYNOS850_PIN_BANK_EINTG (2 , 0x100 , "gpp7" , 0x20 ),
480
+ EXYNOS850_PIN_BANK_EINTG (2 , 0x120 , "gpp8" , 0x24 ),
481
+ EXYNOS850_PIN_BANK_EINTG (8 , 0x140 , "gpg1" , 0x28 ),
482
+ EXYNOS850_PIN_BANK_EINTG (8 , 0x160 , "gpg2" , 0x2c ),
483
+ EXYNOS850_PIN_BANK_EINTG (8 , 0x180 , "gpg3" , 0x30 ),
484
+ EXYNOS850_PIN_BANK_EINTG (2 , 0x1a0 , "gpg4" , 0x34 ),
485
+ EXYNOS850_PIN_BANK_EINTG (4 , 0x1c0 , "gpc0" , 0x38 ),
486
+ EXYNOS850_PIN_BANK_EINTG (8 , 0x1e0 , "gpc1" , 0x3c ),
487
+ EXYNOS850_PIN_BANK_EINTG (8 , 0x200 , "gpc2" , 0x40 ),
488
+ };
489
+
490
+ static const struct samsung_pin_ctrl exynos7885_pin_ctrl [] __initconst = {
491
+ {
492
+ /* pin-controller instance 0 Alive data */
493
+ .pin_banks = exynos7885_pin_banks0 ,
494
+ .nr_banks = ARRAY_SIZE (exynos7885_pin_banks0 ),
495
+ .eint_gpio_init = exynos_eint_gpio_init ,
496
+ .eint_wkup_init = exynos_eint_wkup_init ,
497
+ .suspend = exynos_pinctrl_suspend ,
498
+ .resume = exynos_pinctrl_resume ,
499
+ }, {
500
+ /* pin-controller instance 1 DISPAUD data */
501
+ .pin_banks = exynos7885_pin_banks1 ,
502
+ .nr_banks = ARRAY_SIZE (exynos7885_pin_banks1 ),
503
+ }, {
504
+ /* pin-controller instance 2 FSYS data */
505
+ .pin_banks = exynos7885_pin_banks2 ,
506
+ .nr_banks = ARRAY_SIZE (exynos7885_pin_banks2 ),
507
+ .eint_gpio_init = exynos_eint_gpio_init ,
508
+ .suspend = exynos_pinctrl_suspend ,
509
+ .resume = exynos_pinctrl_resume ,
510
+ }, {
511
+ /* pin-controller instance 3 TOP data */
512
+ .pin_banks = exynos7885_pin_banks3 ,
513
+ .nr_banks = ARRAY_SIZE (exynos7885_pin_banks3 ),
514
+ .eint_gpio_init = exynos_eint_gpio_init ,
515
+ .suspend = exynos_pinctrl_suspend ,
516
+ .resume = exynos_pinctrl_resume ,
517
+ },
518
+ };
519
+
520
+ const struct samsung_pinctrl_of_match_data exynos7885_of_data __initconst = {
521
+ .ctrl = exynos7885_pin_ctrl ,
522
+ .num_ctrl = ARRAY_SIZE (exynos7885_pin_ctrl ),
523
+ };
524
+
444
525
/* pin banks of exynos850 pin-controller 0 (ALIVE) */
445
526
static const struct samsung_pin_bank_data exynos850_pin_banks0 [] __initconst = {
446
527
/* Must start with EINTG banks, ordered by EINT group number. */
0 commit comments