@@ -726,6 +726,146 @@ const struct samsung_pinctrl_of_match_data exynosautov9_of_data __initconst = {
726726 .num_ctrl = ARRAY_SIZE (exynosautov9_pin_ctrl ),
727727};
728728
729+ /* pin banks of exynosautov920 pin-controller 0 (ALIVE) */
730+ static const struct samsung_pin_bank_data exynosautov920_pin_banks0 [] = {
731+ EXYNOSV920_PIN_BANK_EINTW (8 , 0x0000 , "gpa0" , 0x18 , 0x24 , 0x28 ),
732+ EXYNOSV920_PIN_BANK_EINTW (2 , 0x1000 , "gpa1" , 0x18 , 0x20 , 0x24 ),
733+ EXYNOS850_PIN_BANK_EINTN (2 , 0x2000 , "gpq0" ),
734+ };
735+
736+ /* pin banks of exynosautov920 pin-controller 1 (AUD) */
737+ static const struct samsung_pin_bank_data exynosautov920_pin_banks1 [] = {
738+ EXYNOSV920_PIN_BANK_EINTG (7 , 0x0000 , "gpb0" , 0x18 , 0x24 , 0x28 ),
739+ EXYNOSV920_PIN_BANK_EINTG (6 , 0x1000 , "gpb1" , 0x18 , 0x24 , 0x28 ),
740+ EXYNOSV920_PIN_BANK_EINTG (8 , 0x2000 , "gpb2" , 0x18 , 0x24 , 0x28 ),
741+ EXYNOSV920_PIN_BANK_EINTG (8 , 0x3000 , "gpb3" , 0x18 , 0x24 , 0x28 ),
742+ EXYNOSV920_PIN_BANK_EINTG (8 , 0x4000 , "gpb4" , 0x18 , 0x24 , 0x28 ),
743+ EXYNOSV920_PIN_BANK_EINTG (5 , 0x5000 , "gpb5" , 0x18 , 0x24 , 0x28 ),
744+ EXYNOSV920_PIN_BANK_EINTG (5 , 0x6000 , "gpb6" , 0x18 , 0x24 , 0x28 ),
745+ };
746+
747+ /* pin banks of exynosautov920 pin-controller 2 (HSI0) */
748+ static const struct samsung_pin_bank_data exynosautov920_pin_banks2 [] = {
749+ EXYNOSV920_PIN_BANK_EINTG (6 , 0x0000 , "gph0" , 0x18 , 0x24 , 0x28 ),
750+ EXYNOSV920_PIN_BANK_EINTG (2 , 0x1000 , "gph1" , 0x18 , 0x20 , 0x24 ),
751+ };
752+
753+ /* pin banks of exynosautov920 pin-controller 3 (HSI1) */
754+ static const struct samsung_pin_bank_data exynosautov920_pin_banks3 [] = {
755+ EXYNOSV920_PIN_BANK_EINTG (7 , 0x000 , "gph8" , 0x18 , 0x24 , 0x28 ),
756+ };
757+
758+ /* pin banks of exynosautov920 pin-controller 4 (HSI2) */
759+ static const struct samsung_pin_bank_data exynosautov920_pin_banks4 [] = {
760+ EXYNOSV920_PIN_BANK_EINTG (8 , 0x0000 , "gph3" , 0x18 , 0x24 , 0x28 ),
761+ EXYNOSV920_PIN_BANK_EINTG (7 , 0x1000 , "gph4" , 0x18 , 0x24 , 0x28 ),
762+ EXYNOSV920_PIN_BANK_EINTG (8 , 0x2000 , "gph5" , 0x18 , 0x24 , 0x28 ),
763+ EXYNOSV920_PIN_BANK_EINTG (7 , 0x3000 , "gph6" , 0x18 , 0x24 , 0x28 ),
764+ };
765+
766+ /* pin banks of exynosautov920 pin-controller 5 (HSI2UFS) */
767+ static const struct samsung_pin_bank_data exynosautov920_pin_banks5 [] = {
768+ EXYNOSV920_PIN_BANK_EINTG (4 , 0x000 , "gph2" , 0x18 , 0x20 , 0x24 ),
769+ };
770+
771+ /* pin banks of exynosautov920 pin-controller 6 (PERIC0) */
772+ static const struct samsung_pin_bank_data exynosautov920_pin_banks6 [] = {
773+ EXYNOSV920_PIN_BANK_EINTG (8 , 0x0000 , "gpp0" , 0x18 , 0x24 , 0x28 ),
774+ EXYNOSV920_PIN_BANK_EINTG (8 , 0x1000 , "gpp1" , 0x18 , 0x24 , 0x28 ),
775+ EXYNOSV920_PIN_BANK_EINTG (8 , 0x2000 , "gpp2" , 0x18 , 0x24 , 0x28 ),
776+ EXYNOSV920_PIN_BANK_EINTG (5 , 0x3000 , "gpg0" , 0x18 , 0x24 , 0x28 ),
777+ EXYNOSV920_PIN_BANK_EINTG (8 , 0x4000 , "gpp3" , 0x18 , 0x24 , 0x28 ),
778+ EXYNOSV920_PIN_BANK_EINTG (4 , 0x5000 , "gpp4" , 0x18 , 0x20 , 0x24 ),
779+ EXYNOSV920_PIN_BANK_EINTG (4 , 0x6000 , "gpg2" , 0x18 , 0x20 , 0x24 ),
780+ EXYNOSV920_PIN_BANK_EINTG (4 , 0x7000 , "gpg5" , 0x18 , 0x20 , 0x24 ),
781+ EXYNOSV920_PIN_BANK_EINTG (3 , 0x8000 , "gpg3" , 0x18 , 0x20 , 0x24 ),
782+ EXYNOSV920_PIN_BANK_EINTG (5 , 0x9000 , "gpg4" , 0x18 , 0x24 , 0x28 ),
783+ };
784+
785+ /* pin banks of exynosautov920 pin-controller 7 (PERIC1) */
786+ static const struct samsung_pin_bank_data exynosautov920_pin_banks7 [] = {
787+ EXYNOSV920_PIN_BANK_EINTG (8 , 0x0000 , "gpp5" , 0x18 , 0x24 , 0x28 ),
788+ EXYNOSV920_PIN_BANK_EINTG (5 , 0x1000 , "gpp6" , 0x18 , 0x24 , 0x28 ),
789+ EXYNOSV920_PIN_BANK_EINTG (4 , 0x2000 , "gpp10" , 0x18 , 0x20 , 0x24 ),
790+ EXYNOSV920_PIN_BANK_EINTG (8 , 0x3000 , "gpp7" , 0x18 , 0x24 , 0x28 ),
791+ EXYNOSV920_PIN_BANK_EINTG (4 , 0x4000 , "gpp8" , 0x18 , 0x20 , 0x24 ),
792+ EXYNOSV920_PIN_BANK_EINTG (4 , 0x5000 , "gpp11" , 0x18 , 0x20 , 0x24 ),
793+ EXYNOSV920_PIN_BANK_EINTG (4 , 0x6000 , "gpp9" , 0x18 , 0x20 , 0x24 ),
794+ EXYNOSV920_PIN_BANK_EINTG (4 , 0x7000 , "gpp12" , 0x18 , 0x20 , 0x24 ),
795+ EXYNOSV920_PIN_BANK_EINTG (8 , 0x8000 , "gpg1" , 0x18 , 0x24 , 0x28 ),
796+ };
797+
798+ static const struct samsung_retention_data exynosautov920_retention_data __initconst = {
799+ .regs = NULL ,
800+ .nr_regs = 0 ,
801+ .value = 0 ,
802+ .refcnt = & exynos_shared_retention_refcnt ,
803+ .init = exynos_retention_init ,
804+ };
805+
806+ static const struct samsung_pin_ctrl exynosautov920_pin_ctrl [] = {
807+ {
808+ /* pin-controller instance 0 ALIVE data */
809+ .pin_banks = exynosautov920_pin_banks0 ,
810+ .nr_banks = ARRAY_SIZE (exynosautov920_pin_banks0 ),
811+ .eint_wkup_init = exynos_eint_wkup_init ,
812+ .suspend = exynos_pinctrl_suspend ,
813+ .resume = exynos_pinctrl_resume ,
814+ .retention_data = & exynosautov920_retention_data ,
815+ }, {
816+ /* pin-controller instance 1 AUD data */
817+ .pin_banks = exynosautov920_pin_banks1 ,
818+ .nr_banks = ARRAY_SIZE (exynosautov920_pin_banks1 ),
819+ }, {
820+ /* pin-controller instance 2 HSI0 data */
821+ .pin_banks = exynosautov920_pin_banks2 ,
822+ .nr_banks = ARRAY_SIZE (exynosautov920_pin_banks2 ),
823+ .eint_gpio_init = exynos_eint_gpio_init ,
824+ .suspend = exynos_pinctrl_suspend ,
825+ .resume = exynos_pinctrl_resume ,
826+ }, {
827+ /* pin-controller instance 3 HSI1 data */
828+ .pin_banks = exynosautov920_pin_banks3 ,
829+ .nr_banks = ARRAY_SIZE (exynosautov920_pin_banks3 ),
830+ .eint_gpio_init = exynos_eint_gpio_init ,
831+ .suspend = exynos_pinctrl_suspend ,
832+ .resume = exynos_pinctrl_resume ,
833+ }, {
834+ /* pin-controller instance 4 HSI2 data */
835+ .pin_banks = exynosautov920_pin_banks4 ,
836+ .nr_banks = ARRAY_SIZE (exynosautov920_pin_banks4 ),
837+ .eint_gpio_init = exynos_eint_gpio_init ,
838+ .suspend = exynos_pinctrl_suspend ,
839+ .resume = exynos_pinctrl_resume ,
840+ }, {
841+ /* pin-controller instance 5 HSI2UFS data */
842+ .pin_banks = exynosautov920_pin_banks5 ,
843+ .nr_banks = ARRAY_SIZE (exynosautov920_pin_banks5 ),
844+ .eint_gpio_init = exynos_eint_gpio_init ,
845+ .suspend = exynos_pinctrl_suspend ,
846+ .resume = exynos_pinctrl_resume ,
847+ }, {
848+ /* pin-controller instance 6 PERIC0 data */
849+ .pin_banks = exynosautov920_pin_banks6 ,
850+ .nr_banks = ARRAY_SIZE (exynosautov920_pin_banks6 ),
851+ .eint_gpio_init = exynos_eint_gpio_init ,
852+ .suspend = exynos_pinctrl_suspend ,
853+ .resume = exynos_pinctrl_resume ,
854+ }, {
855+ /* pin-controller instance 7 PERIC1 data */
856+ .pin_banks = exynosautov920_pin_banks7 ,
857+ .nr_banks = ARRAY_SIZE (exynosautov920_pin_banks7 ),
858+ .eint_gpio_init = exynos_eint_gpio_init ,
859+ .suspend = exynos_pinctrl_suspend ,
860+ .resume = exynos_pinctrl_resume ,
861+ },
862+ };
863+
864+ const struct samsung_pinctrl_of_match_data exynosautov920_of_data __initconst = {
865+ .ctrl = exynosautov920_pin_ctrl ,
866+ .num_ctrl = ARRAY_SIZE (exynosautov920_pin_ctrl ),
867+ };
868+
729869/*
730870 * Pinctrl driver data for Tesla FSD SoC. FSD SoC includes three
731871 * gpio/pin-mux/pinconfig controllers.
0 commit comments