@@ -1485,6 +1485,163 @@ const struct samsung_pinctrl_of_match_data exynosautov920_of_data __initconst =
14851485 .num_ctrl = ARRAY_SIZE (exynosautov920_pin_ctrl ),
14861486};
14871487
1488+ /* pin banks of exynos8890 pin-controller 0 (ALIVE) */
1489+ static const struct samsung_pin_bank_data exynos8890_pin_banks0 [] __initconst = {
1490+ /* Must start with EINTG banks, ordered by EINT group number. */
1491+ EXYNOS7870_PIN_BANK_EINTW (8 , 0x000 , "gpa0" , 0x00 ),
1492+ EXYNOS7870_PIN_BANK_EINTW (8 , 0x020 , "gpa1" , 0x04 ),
1493+ EXYNOS7870_PIN_BANK_EINTW (8 , 0x040 , "gpa2" , 0x08 ),
1494+ EXYNOS7870_PIN_BANK_EINTW (8 , 0x060 , "gpa3" , 0x0c ),
1495+ };
1496+
1497+ /* pin banks of exynos8890 pin-controller 1 (AUD) */
1498+ static const struct samsung_pin_bank_data exynos8890_pin_banks1 [] __initconst = {
1499+ /* Must start with EINTG banks, ordered by EINT group number. */
1500+ EXYNOS8895_PIN_BANK_EINTG (7 , 0x000 , "gph0" , 0x00 ),
1501+ };
1502+
1503+ /* pin banks of exynos8890 pin-controller 2 (CCORE) */
1504+ static const struct samsung_pin_bank_data exynos8890_pin_banks2 [] __initconst = {
1505+ /* Must start with EINTG banks, ordered by EINT group number. */
1506+ EXYNOS8895_PIN_BANK_EINTG (2 , 0x000 , "etc0" , 0x00 ),
1507+ };
1508+
1509+ /* pin banks of exynos8890 pin-controller 3 (ESE) */
1510+ static const struct samsung_pin_bank_data exynos8890_pin_banks3 [] __initconst = {
1511+ /* Must start with EINTG banks, ordered by EINT group number. */
1512+ EXYNOS8895_PIN_BANK_EINTG (5 , 0x000 , "gpf3" , 0x00 ),
1513+ };
1514+
1515+ /* pin banks of exynos8890 pin-controller 4 (FP) */
1516+ static const struct samsung_pin_bank_data exynos8890_pin_banks4 [] __initconst = {
1517+ /* Must start with EINTG banks, ordered by EINT group number. */
1518+ EXYNOS8895_PIN_BANK_EINTG (4 , 0x000 , "gpf2" , 0x00 ),
1519+ };
1520+
1521+ /* pin banks of exynos8890 pin-controller 5 (FSYS0) */
1522+ static const struct samsung_pin_bank_data exynos8890_pin_banks5 [] __initconst = {
1523+ /* Must start with EINTG banks, ordered by EINT group number. */
1524+ EXYNOS8895_PIN_BANK_EINTG (4 , 0x000 , "gpi1" , 0x00 ),
1525+ EXYNOS8895_PIN_BANK_EINTG (8 , 0x020 , "gpi2" , 0x04 ),
1526+ };
1527+
1528+ /* pin banks of exynos8890 pin-controller 6 (FSYS1) */
1529+ static const struct samsung_pin_bank_data exynos8890_pin_banks6 [] __initconst = {
1530+ /* Must start with EINTG banks, ordered by EINT group number. */
1531+ EXYNOS8895_PIN_BANK_EINTG (7 , 0x000 , "gpj0" , 0x00 ),
1532+ };
1533+
1534+ /* pin banks of exynos8890 pin-controller 7 (NFC) */
1535+ static const struct samsung_pin_bank_data exynos8890_pin_banks7 [] __initconst = {
1536+ /* Must start with EINTG banks, ordered by EINT group number. */
1537+ EXYNOS8895_PIN_BANK_EINTG (3 , 0x000 , "gpf0" , 0x00 ),
1538+ };
1539+
1540+ /* pin banks of exynos8890 pin-controller 8 (PERIC0) */
1541+ static const struct samsung_pin_bank_data exynos8890_pin_banks8 [] __initconst = {
1542+ /* Must start with EINTG banks, ordered by EINT group number. */
1543+ EXYNOS8895_PIN_BANK_EINTG (6 , 0x000 , "gpi0" , 0x00 ),
1544+ EXYNOS8895_PIN_BANK_EINTG (8 , 0x020 , "gpd0" , 0x04 ),
1545+ EXYNOS8895_PIN_BANK_EINTG (6 , 0x040 , "gpd1" , 0x08 ),
1546+ EXYNOS8895_PIN_BANK_EINTG (4 , 0x060 , "gpd2" , 0x0c ),
1547+ EXYNOS8895_PIN_BANK_EINTG (4 , 0x080 , "gpd3" , 0x10 ),
1548+ EXYNOS8895_PIN_BANK_EINTG (2 , 0x0A0 , "gpb1" , 0x14 ),
1549+ EXYNOS8895_PIN_BANK_EINTG (2 , 0x0C0 , "gpb2" , 0x18 ),
1550+ EXYNOS8895_PIN_BANK_EINTG (3 , 0x0E0 , "gpb0" , 0x1c ),
1551+ EXYNOS8895_PIN_BANK_EINTG (5 , 0x100 , "gpc0" , 0x20 ),
1552+ EXYNOS8895_PIN_BANK_EINTG (5 , 0x120 , "gpc1" , 0x24 ),
1553+ EXYNOS8895_PIN_BANK_EINTG (6 , 0x140 , "gpc2" , 0x28 ),
1554+ EXYNOS8895_PIN_BANK_EINTG (8 , 0x160 , "gpc3" , 0x2c ),
1555+ EXYNOS8895_PIN_BANK_EINTG (4 , 0x180 , "gpk0" , 0x30 ),
1556+ EXYNOS8895_PIN_BANK_EINTG (7 , 0x1A0 , "etc1" , 0x34 ),
1557+ };
1558+
1559+ /* pin banks of exynos8890 pin-controller 9 (PERIC1) */
1560+ static const struct samsung_pin_bank_data exynos8890_pin_banks9 [] __initconst = {
1561+ /* Must start with EINTG banks, ordered by EINT group number. */
1562+ EXYNOS8895_PIN_BANK_EINTG (8 , 0x000 , "gpe0" , 0x00 ),
1563+ EXYNOS8895_PIN_BANK_EINTG (8 , 0x020 , "gpe5" , 0x04 ),
1564+ EXYNOS8895_PIN_BANK_EINTG (8 , 0x040 , "gpe6" , 0x08 ),
1565+ EXYNOS8895_PIN_BANK_EINTG (8 , 0x060 , "gpj1" , 0x0c ),
1566+ EXYNOS8895_PIN_BANK_EINTG (2 , 0x080 , "gpj2" , 0x10 ),
1567+ EXYNOS8895_PIN_BANK_EINTG (8 , 0x0A0 , "gpe2" , 0x14 ),
1568+ EXYNOS8895_PIN_BANK_EINTG (8 , 0x0C0 , "gpe3" , 0x18 ),
1569+ EXYNOS8895_PIN_BANK_EINTG (8 , 0x0E0 , "gpe4" , 0x1c ),
1570+ EXYNOS8895_PIN_BANK_EINTG (8 , 0x100 , "gpe1" , 0x20 ),
1571+ EXYNOS8895_PIN_BANK_EINTG (4 , 0x120 , "gpe7" , 0x24 ),
1572+ EXYNOS8895_PIN_BANK_EINTG (3 , 0x140 , "gpg0" , 0x28 ),
1573+ };
1574+
1575+ /* pin banks of exynos8890 pin-controller 10 (TOUCH) */
1576+ static const struct samsung_pin_bank_data exynos8890_pin_banks10 [] __initconst = {
1577+ /* Must start with EINTG banks, ordered by EINT group number. */
1578+ EXYNOS8895_PIN_BANK_EINTG (3 , 0x000 , "gpf1" , 0x00 ),
1579+ };
1580+
1581+ static const struct samsung_pin_ctrl exynos8890_pin_ctrl [] __initconst = {
1582+ {
1583+ /* pin-controller instance 0 Alive data */
1584+ .pin_banks = exynos8890_pin_banks0 ,
1585+ .nr_banks = ARRAY_SIZE (exynos8890_pin_banks0 ),
1586+ .eint_wkup_init = exynos_eint_wkup_init ,
1587+ }, {
1588+ /* pin-controller instance 1 AUD data */
1589+ .pin_banks = exynos8890_pin_banks1 ,
1590+ .nr_banks = ARRAY_SIZE (exynos8890_pin_banks1 ),
1591+ .eint_gpio_init = exynos_eint_gpio_init ,
1592+ }, {
1593+ /* pin-controller instance 2 CCORE data */
1594+ .pin_banks = exynos8890_pin_banks2 ,
1595+ .nr_banks = ARRAY_SIZE (exynos8890_pin_banks2 ),
1596+ .eint_gpio_init = exynos_eint_gpio_init ,
1597+ }, {
1598+ /* pin-controller instance 3 ESE data */
1599+ .pin_banks = exynos8890_pin_banks3 ,
1600+ .nr_banks = ARRAY_SIZE (exynos8890_pin_banks3 ),
1601+ .eint_gpio_init = exynos_eint_gpio_init ,
1602+ }, {
1603+ /* pin-controller instance 4 FP data */
1604+ .pin_banks = exynos8890_pin_banks4 ,
1605+ .nr_banks = ARRAY_SIZE (exynos8890_pin_banks4 ),
1606+ .eint_gpio_init = exynos_eint_gpio_init ,
1607+ }, {
1608+ /* pin-controller instance 5 FSYS0 data */
1609+ .pin_banks = exynos8890_pin_banks5 ,
1610+ .nr_banks = ARRAY_SIZE (exynos8890_pin_banks5 ),
1611+ .eint_gpio_init = exynos_eint_gpio_init ,
1612+ }, {
1613+ /* pin-controller instance 6 FSYS1 data */
1614+ .pin_banks = exynos8890_pin_banks6 ,
1615+ .nr_banks = ARRAY_SIZE (exynos8890_pin_banks6 ),
1616+ .eint_gpio_init = exynos_eint_gpio_init ,
1617+ }, {
1618+ /* pin-controller instance 7 NFC data */
1619+ .pin_banks = exynos8890_pin_banks7 ,
1620+ .nr_banks = ARRAY_SIZE (exynos8890_pin_banks7 ),
1621+ .eint_gpio_init = exynos_eint_gpio_init ,
1622+ }, {
1623+ /* pin-controller instance 8 PERIC0 data */
1624+ .pin_banks = exynos8890_pin_banks8 ,
1625+ .nr_banks = ARRAY_SIZE (exynos8890_pin_banks8 ),
1626+ .eint_gpio_init = exynos_eint_gpio_init ,
1627+ }, {
1628+ /* pin-controller instance 9 PERIC1 data */
1629+ .pin_banks = exynos8890_pin_banks9 ,
1630+ .nr_banks = ARRAY_SIZE (exynos8890_pin_banks9 ),
1631+ .eint_gpio_init = exynos_eint_gpio_init ,
1632+ }, {
1633+ /* pin-controller instance 10 TOUCH data */
1634+ .pin_banks = exynos8890_pin_banks10 ,
1635+ .nr_banks = ARRAY_SIZE (exynos8890_pin_banks10 ),
1636+ .eint_gpio_init = exynos_eint_gpio_init ,
1637+ },
1638+ };
1639+
1640+ const struct samsung_pinctrl_of_match_data exynos8890_of_data __initconst = {
1641+ .ctrl = exynos8890_pin_ctrl ,
1642+ .num_ctrl = ARRAY_SIZE (exynos8890_pin_ctrl ),
1643+ };
1644+
14881645/* pin banks of exynos8895 pin-controller 0 (ALIVE) */
14891646static const struct samsung_pin_bank_data exynos8895_pin_banks0 [] __initconst = {
14901647 EXYNOS_PIN_BANK_EINTW (8 , 0x020 , "gpa0" , 0x00 ),
@@ -1866,3 +2023,52 @@ const struct samsung_pinctrl_of_match_data artpec8_of_data __initconst = {
18662023 .ctrl = artpec8_pin_ctrl ,
18672024 .num_ctrl = ARRAY_SIZE (artpec8_pin_ctrl ),
18682025};
2026+
2027+ /* pin banks of artpec9 pin-controller (FSYS0) */
2028+ static const struct samsung_pin_bank_data artpec9_pin_banks0 [] __initconst = {
2029+ ARTPEC_PIN_BANK_EINTG (8 , 0x000 , "gpf0" , 0x00 ),
2030+ ARTPEC_PIN_BANK_EINTG (8 , 0x020 , "gpf1" , 0x04 ),
2031+ ARTPEC_PIN_BANK_EINTG (8 , 0x040 , "gpe0" , 0x08 ),
2032+ ARTPEC_PIN_BANK_EINTG (8 , 0x060 , "gpe1" , 0x0c ),
2033+ ARTPEC_PIN_BANK_EINTG (8 , 0x080 , "gpe2" , 0x10 ),
2034+ ARTPEC_PIN_BANK_EINTG (8 , 0x0a0 , "gpe3" , 0x14 ),
2035+ ARTPEC_PIN_BANK_EINTG (2 , 0x0c0 , "gpe4" , 0x18 ),
2036+ ARTPEC_PIN_BANK_EINTG (8 , 0x0e0 , "gps0" , 0x1c ),
2037+ ARTPEC_PIN_BANK_EINTG (8 , 0x100 , "gps1" , 0x20 ),
2038+ ARTPEC_PIN_BANK_EINTG (5 , 0x120 , "gpi0" , 0x24 ),
2039+ };
2040+
2041+ /* pin banks of artpec9 pin-controller (FSYS1) */
2042+ static const struct samsung_pin_bank_data artpec9_pin_banks1 [] __initconst = {
2043+ ARTPEC_PIN_BANK_EINTG (2 , 0x000 , "gpu0" , 0x00 ),
2044+ };
2045+
2046+ /* pin banks of artpec9 pin-controller (PERIC) */
2047+ static const struct samsung_pin_bank_data artpec9_pin_banks2 [] __initconst = {
2048+ ARTPEC_PIN_BANK_EINTG (8 , 0x000 , "gpa0" , 0x00 ),
2049+ ARTPEC_PIN_BANK_EINTG (8 , 0x020 , "gpa1" , 0x04 ),
2050+ };
2051+
2052+ static const struct samsung_pin_ctrl artpec9_pin_ctrl [] __initconst = {
2053+ {
2054+ /* pin-controller instance 0 FSYS0 data */
2055+ .pin_banks = artpec9_pin_banks0 ,
2056+ .nr_banks = ARRAY_SIZE (artpec9_pin_banks0 ),
2057+ .eint_gpio_init = exynos_eint_gpio_init ,
2058+ }, {
2059+ /* pin-controller instance 1 FSYS1 data */
2060+ .pin_banks = artpec9_pin_banks1 ,
2061+ .nr_banks = ARRAY_SIZE (artpec9_pin_banks1 ),
2062+ .eint_gpio_init = exynos_eint_gpio_init ,
2063+ }, {
2064+ /* pin-controller instance 2 PERIC data */
2065+ .pin_banks = artpec9_pin_banks2 ,
2066+ .nr_banks = ARRAY_SIZE (artpec9_pin_banks2 ),
2067+ .eint_gpio_init = exynos_eint_gpio_init ,
2068+ },
2069+ };
2070+
2071+ const struct samsung_pinctrl_of_match_data artpec9_of_data __initconst = {
2072+ .ctrl = artpec9_pin_ctrl ,
2073+ .num_ctrl = ARRAY_SIZE (artpec9_pin_ctrl ),
2074+ };
0 commit comments