@@ -627,6 +627,146 @@ const struct samsung_pinctrl_of_match_data exynos850_of_data __initconst = {
627627 .num_ctrl = ARRAY_SIZE (exynos850_pin_ctrl ),
628628};
629629
630+ /* pin banks of exynos990 pin-controller 0 (ALIVE) */
631+ static struct samsung_pin_bank_data exynos990_pin_banks0 [] = {
632+ /* Must start with EINTG banks, ordered by EINT group number. */
633+ EXYNOS850_PIN_BANK_EINTW (8 , 0x000 , "gpa0" , 0x00 ),
634+ EXYNOS850_PIN_BANK_EINTW (8 , 0x020 , "gpa1" , 0x04 ),
635+ EXYNOS850_PIN_BANK_EINTW (8 , 0x040 , "gpa2" , 0x08 ),
636+ EXYNOS850_PIN_BANK_EINTW (8 , 0x060 , "gpa3" , 0x0c ),
637+ EXYNOS850_PIN_BANK_EINTW (2 , 0x080 , "gpa4" , 0x10 ),
638+ EXYNOS850_PIN_BANK_EINTN (7 , 0x0A0 , "gpq0" ),
639+ };
640+
641+ /* pin banks of exynos990 pin-controller 1 (CMGP) */
642+ static struct samsung_pin_bank_data exynos990_pin_banks1 [] = {
643+ /* Must start with EINTG banks, ordered by EINT group number. */
644+ EXYNOS850_PIN_BANK_EINTN (1 , 0x000 , "gpm0" ),
645+ EXYNOS850_PIN_BANK_EINTN (1 , 0x020 , "gpm1" ),
646+ EXYNOS850_PIN_BANK_EINTN (1 , 0x040 , "gpm2" ),
647+ EXYNOS850_PIN_BANK_EINTN (1 , 0x060 , "gpm3" ),
648+ EXYNOS850_PIN_BANK_EINTW (1 , 0x080 , "gpm4" , 0x00 ),
649+ EXYNOS850_PIN_BANK_EINTW (1 , 0x0A0 , "gpm5" , 0x04 ),
650+ EXYNOS850_PIN_BANK_EINTW (1 , 0x0C0 , "gpm6" , 0x08 ),
651+ EXYNOS850_PIN_BANK_EINTW (1 , 0x0E0 , "gpm7" , 0x0c ),
652+ EXYNOS850_PIN_BANK_EINTW (1 , 0x100 , "gpm8" , 0x10 ),
653+ EXYNOS850_PIN_BANK_EINTW (1 , 0x120 , "gpm9" , 0x14 ),
654+ EXYNOS850_PIN_BANK_EINTW (1 , 0x140 , "gpm10" , 0x18 ),
655+ EXYNOS850_PIN_BANK_EINTW (1 , 0x160 , "gpm11" , 0x1c ),
656+ EXYNOS850_PIN_BANK_EINTW (1 , 0x180 , "gpm12" , 0x20 ),
657+ EXYNOS850_PIN_BANK_EINTW (1 , 0x1A0 , "gpm13" , 0x24 ),
658+ EXYNOS850_PIN_BANK_EINTW (1 , 0x1C0 , "gpm14" , 0x28 ),
659+ EXYNOS850_PIN_BANK_EINTW (1 , 0x1E0 , "gpm15" , 0x2c ),
660+ EXYNOS850_PIN_BANK_EINTW (1 , 0x200 , "gpm16" , 0x30 ),
661+ EXYNOS850_PIN_BANK_EINTW (1 , 0x220 , "gpm17" , 0x34 ),
662+ EXYNOS850_PIN_BANK_EINTW (1 , 0x240 , "gpm18" , 0x38 ),
663+ EXYNOS850_PIN_BANK_EINTW (1 , 0x260 , "gpm19" , 0x3c ),
664+ EXYNOS850_PIN_BANK_EINTW (1 , 0x280 , "gpm20" , 0x40 ),
665+ EXYNOS850_PIN_BANK_EINTW (1 , 0x2A0 , "gpm21" , 0x44 ),
666+ EXYNOS850_PIN_BANK_EINTW (1 , 0x2C0 , "gpm22" , 0x48 ),
667+ EXYNOS850_PIN_BANK_EINTW (1 , 0x2E0 , "gpm23" , 0x4c ),
668+ EXYNOS850_PIN_BANK_EINTW (1 , 0x300 , "gpm24" , 0x50 ),
669+ EXYNOS850_PIN_BANK_EINTW (1 , 0x320 , "gpm25" , 0x54 ),
670+ EXYNOS850_PIN_BANK_EINTW (1 , 0x340 , "gpm26" , 0x58 ),
671+ EXYNOS850_PIN_BANK_EINTW (1 , 0x360 , "gpm27" , 0x5c ),
672+ EXYNOS850_PIN_BANK_EINTW (1 , 0x380 , "gpm28" , 0x60 ),
673+ EXYNOS850_PIN_BANK_EINTW (1 , 0x3A0 , "gpm29" , 0x64 ),
674+ EXYNOS850_PIN_BANK_EINTW (1 , 0x3C0 , "gpm30" , 0x68 ),
675+ EXYNOS850_PIN_BANK_EINTW (1 , 0x3E0 , "gpm31" , 0x6c ),
676+ EXYNOS850_PIN_BANK_EINTW (1 , 0x400 , "gpm32" , 0x70 ),
677+ EXYNOS850_PIN_BANK_EINTW (1 , 0x420 , "gpm33" , 0x74 ),
678+
679+ };
680+
681+ /* pin banks of exynos990 pin-controller 2 (HSI1) */
682+ static struct samsung_pin_bank_data exynos990_pin_banks2 [] = {
683+ /* Must start with EINTG banks, ordered by EINT group number. */
684+ EXYNOS850_PIN_BANK_EINTG (4 , 0x000 , "gpf0" , 0x00 ),
685+ EXYNOS850_PIN_BANK_EINTG (6 , 0x020 , "gpf1" , 0x04 ),
686+ EXYNOS850_PIN_BANK_EINTG (3 , 0x040 , "gpf2" , 0x08 ),
687+ };
688+
689+ /* pin banks of exynos990 pin-controller 3 (HSI2) */
690+ static struct samsung_pin_bank_data exynos990_pin_banks3 [] = {
691+ /* Must start with EINTG banks, ordered by EINT group number. */
692+ EXYNOS850_PIN_BANK_EINTG (2 , 0x000 , "gpf3" , 0x00 ),
693+ };
694+
695+ /* pin banks of exynos990 pin-controller 4 (PERIC0) */
696+ static struct samsung_pin_bank_data exynos990_pin_banks4 [] = {
697+ /* Must start with EINTG banks, ordered by EINT group number. */
698+ EXYNOS850_PIN_BANK_EINTG (8 , 0x000 , "gpp0" , 0x00 ),
699+ EXYNOS850_PIN_BANK_EINTG (8 , 0x020 , "gpp1" , 0x04 ),
700+ EXYNOS850_PIN_BANK_EINTG (8 , 0x040 , "gpp2" , 0x08 ),
701+ EXYNOS850_PIN_BANK_EINTG (8 , 0x060 , "gpp3" , 0x0C ),
702+ EXYNOS850_PIN_BANK_EINTG (8 , 0x080 , "gpp4" , 0x10 ),
703+ EXYNOS850_PIN_BANK_EINTG (2 , 0x0A0 , "gpg0" , 0x14 ),
704+ };
705+
706+ /* pin banks of exynos990 pin-controller 5 (PERIC1) */
707+ static struct samsung_pin_bank_data exynos990_pin_banks5 [] = {
708+ /* Must start with EINTG banks, ordered by EINT group number. */
709+ EXYNOS850_PIN_BANK_EINTG (8 , 0x000 , "gpp5" , 0x00 ),
710+ EXYNOS850_PIN_BANK_EINTG (8 , 0x020 , "gpp6" , 0x04 ),
711+ EXYNOS850_PIN_BANK_EINTG (8 , 0x040 , "gpp7" , 0x08 ),
712+ EXYNOS850_PIN_BANK_EINTG (8 , 0x060 , "gpp8" , 0x0C ),
713+ EXYNOS850_PIN_BANK_EINTG (8 , 0x080 , "gpp9" , 0x10 ),
714+ EXYNOS850_PIN_BANK_EINTG (6 , 0x0A0 , "gpc0" , 0x14 ),
715+ EXYNOS850_PIN_BANK_EINTG (4 , 0x0C0 , "gpg1" , 0x18 ),
716+ EXYNOS850_PIN_BANK_EINTG (8 , 0x0E0 , "gpb0" , 0x1C ),
717+ EXYNOS850_PIN_BANK_EINTG (8 , 0x100 , "gpb1" , 0x20 ),
718+ EXYNOS850_PIN_BANK_EINTG (8 , 0x120 , "gpb2" , 0x24 ),
719+ };
720+
721+ /* pin banks of exynos990 pin-controller 6 (VTS) */
722+ static struct samsung_pin_bank_data exynos990_pin_banks6 [] = {
723+ /* Must start with EINTG banks, ordered by EINT group number. */
724+ EXYNOS850_PIN_BANK_EINTG (7 , 0x000 , "gpv0" , 0x00 ),
725+ };
726+
727+ static const struct samsung_pin_ctrl exynos990_pin_ctrl [] __initconst = {
728+ {
729+ /* pin-controller instance 0 ALIVE data */
730+ .pin_banks = exynos990_pin_banks0 ,
731+ .nr_banks = ARRAY_SIZE (exynos990_pin_banks0 ),
732+ .eint_wkup_init = exynos_eint_wkup_init ,
733+ }, {
734+ /* pin-controller instance 1 CMGP data */
735+ .pin_banks = exynos990_pin_banks1 ,
736+ .nr_banks = ARRAY_SIZE (exynos990_pin_banks1 ),
737+ .eint_wkup_init = exynos_eint_wkup_init ,
738+ }, {
739+ /* pin-controller instance 2 HSI1 data */
740+ .pin_banks = exynos990_pin_banks2 ,
741+ .nr_banks = ARRAY_SIZE (exynos990_pin_banks2 ),
742+ .eint_gpio_init = exynos_eint_gpio_init ,
743+ }, {
744+ /* pin-controller instance 3 HSI2 data */
745+ .pin_banks = exynos990_pin_banks3 ,
746+ .nr_banks = ARRAY_SIZE (exynos990_pin_banks3 ),
747+ .eint_gpio_init = exynos_eint_gpio_init ,
748+ }, {
749+ /* pin-controller instance 4 PERIC0 data */
750+ .pin_banks = exynos990_pin_banks4 ,
751+ .nr_banks = ARRAY_SIZE (exynos990_pin_banks4 ),
752+ .eint_gpio_init = exynos_eint_gpio_init ,
753+ }, {
754+ /* pin-controller instance 5 PERIC1 data */
755+ .pin_banks = exynos990_pin_banks5 ,
756+ .nr_banks = ARRAY_SIZE (exynos990_pin_banks5 ),
757+ .eint_gpio_init = exynos_eint_gpio_init ,
758+ }, {
759+ /* pin-controller instance 6 VTS data */
760+ .pin_banks = exynos990_pin_banks6 ,
761+ .nr_banks = ARRAY_SIZE (exynos990_pin_banks6 ),
762+ },
763+ };
764+
765+ const struct samsung_pinctrl_of_match_data exynos990_of_data __initconst = {
766+ .ctrl = exynos990_pin_ctrl ,
767+ .num_ctrl = ARRAY_SIZE (exynos990_pin_ctrl ),
768+ };
769+
630770/* pin banks of exynosautov9 pin-controller 0 (ALIVE) */
631771static const struct samsung_pin_bank_data exynosautov9_pin_banks0 [] __initconst = {
632772 EXYNOS850_PIN_BANK_EINTW (8 , 0x000 , "gpa0" , 0x00 ),
0 commit comments