@@ -627,6 +627,146 @@ const struct samsung_pinctrl_of_match_data exynos850_of_data __initconst = {
627
627
.num_ctrl = ARRAY_SIZE (exynos850_pin_ctrl ),
628
628
};
629
629
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
+
630
770
/* pin banks of exynosautov9 pin-controller 0 (ALIVE) */
631
771
static const struct samsung_pin_bank_data exynosautov9_pin_banks0 [] __initconst = {
632
772
EXYNOS850_PIN_BANK_EINTW (8 , 0x000 , "gpa0" , 0x00 ),
0 commit comments