@@ -441,6 +441,87 @@ const struct samsung_pinctrl_of_match_data exynos7_of_data __initconst = {
441441 .num_ctrl = ARRAY_SIZE (exynos7_pin_ctrl ),
442442};
443443
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+
444525/* pin banks of exynos850 pin-controller 0 (ALIVE) */
445526static const struct samsung_pin_bank_data exynos850_pin_banks0 [] __initconst = {
446527 /* Must start with EINTG banks, ordered by EINT group number. */
0 commit comments