@@ -1770,6 +1770,123 @@ const struct samsung_pinctrl_of_match_data exynos8895_of_data __initconst = {
17701770 .num_ctrl = ARRAY_SIZE (exynos8895_pin_ctrl ),
17711771};
17721772
1773+ /* pin banks of exynos9610 pin-controller 0 (ALIVE) */
1774+ static const struct samsung_pin_bank_data exynos9610_pin_banks0 [] __initconst = {
1775+ EXYNOS850_PIN_BANK_EINTN (6 , 0x000 , "etc0" ),
1776+ GS101_PIN_BANK_EINTW (8 , 0x020 , "gpa0" , 0x00 , 0x00 ),
1777+ GS101_PIN_BANK_EINTW (8 , 0x040 , "gpa1" , 0x04 , 0x08 ),
1778+ GS101_PIN_BANK_EINTW (8 , 0x060 , "gpa2" , 0x08 , 0x0c ),
1779+ EXYNOS850_PIN_BANK_EINTN (5 , 0x080 , "gpq0" ),
1780+ };
1781+
1782+ /* pin banks of exynos9610 pin-controller 1 (CMGP) */
1783+ static const struct samsung_pin_bank_data exynos9610_pin_banks1 [] __initconst = {
1784+ EXYNOS850_PIN_BANK_EINTW (1 , 0x000 , "gpm0" , 0x00 ),
1785+ EXYNOS850_PIN_BANK_EINTW (1 , 0x020 , "gpm1" , 0x04 ),
1786+ EXYNOS850_PIN_BANK_EINTW (1 , 0x040 , "gpm2" , 0x08 ),
1787+ EXYNOS850_PIN_BANK_EINTW (1 , 0x060 , "gpm3" , 0x0C ),
1788+ EXYNOS850_PIN_BANK_EINTW (1 , 0x080 , "gpm4" , 0x10 ),
1789+ EXYNOS850_PIN_BANK_EINTW (1 , 0x0A0 , "gpm5" , 0x14 ),
1790+ EXYNOS850_PIN_BANK_EINTW (1 , 0x0C0 , "gpm6" , 0x18 ),
1791+ EXYNOS850_PIN_BANK_EINTW (1 , 0x0E0 , "gpm7" , 0x1C ),
1792+ EXYNOS850_PIN_BANK_EINTW (1 , 0x100 , "gpm8" , 0x20 ),
1793+ EXYNOS850_PIN_BANK_EINTW (1 , 0x120 , "gpm9" , 0x24 ),
1794+ EXYNOS850_PIN_BANK_EINTW (1 , 0x140 , "gpm10" , 0x28 ),
1795+ EXYNOS850_PIN_BANK_EINTW (1 , 0x160 , "gpm11" , 0x2C ),
1796+ EXYNOS850_PIN_BANK_EINTW (1 , 0x180 , "gpm12" , 0x30 ),
1797+ EXYNOS850_PIN_BANK_EINTW (1 , 0x1A0 , "gpm13" , 0x34 ),
1798+ EXYNOS850_PIN_BANK_EINTW (1 , 0x1C0 , "gpm14" , 0x38 ),
1799+ EXYNOS850_PIN_BANK_EINTW (1 , 0x1E0 , "gpm15" , 0x3C ),
1800+ EXYNOS850_PIN_BANK_EINTW (1 , 0x200 , "gpm16" , 0x40 ),
1801+ EXYNOS850_PIN_BANK_EINTW (1 , 0x220 , "gpm17" , 0x44 ),
1802+ EXYNOS850_PIN_BANK_EINTW (1 , 0x240 , "gpm18" , 0x48 ),
1803+ EXYNOS850_PIN_BANK_EINTW (1 , 0x260 , "gpm19" , 0x4C ),
1804+ EXYNOS850_PIN_BANK_EINTW (1 , 0x280 , "gpm20" , 0x50 ),
1805+ EXYNOS850_PIN_BANK_EINTW (1 , 0x2A0 , "gpm21" , 0x54 ),
1806+ EXYNOS850_PIN_BANK_EINTW (1 , 0x2C0 , "gpm22" , 0x58 ),
1807+ EXYNOS850_PIN_BANK_EINTW (1 , 0x2E0 , "gpm23" , 0x5C ),
1808+ EXYNOS850_PIN_BANK_EINTW (1 , 0x300 , "gpm24" , 0x60 ),
1809+ EXYNOS850_PIN_BANK_EINTW (1 , 0x320 , "gpm25" , 0x64 ),
1810+ };
1811+
1812+ /* pin banks of exynos9610 pin-controller 2 (DISPAUD) */
1813+ static const struct samsung_pin_bank_data exynos9610_pin_banks2 [] __initconst = {
1814+ GS101_PIN_BANK_EINTG (5 , 0x000 , "gpb0" , 0x00 , 0x00 ),
1815+ GS101_PIN_BANK_EINTG (4 , 0x020 , "gpb1" , 0x04 , 0x08 ),
1816+ GS101_PIN_BANK_EINTG (5 , 0x040 , "gpb2" , 0x08 , 0x0c ),
1817+ };
1818+
1819+ /* pin banks of exynos9610 pin-controller 3 (FSYS) */
1820+ static const struct samsung_pin_bank_data exynos9610_pin_banks3 [] __initconst = {
1821+ GS101_PIN_BANK_EINTG (4 , 0x000 , "gpf0" , 0x00 , 0x00 ),
1822+ GS101_PIN_BANK_EINTG (8 , 0x020 , "gpf1" , 0x04 , 0x04 ),
1823+ GS101_PIN_BANK_EINTG (6 , 0x040 , "gpf2" , 0x08 , 0x0c ),
1824+ };
1825+
1826+ /* pin banks of exynos9610 pin-controller 4 (TOP) */
1827+ static const struct samsung_pin_bank_data exynos9610_pin_banks4 [] __initconst = {
1828+ GS101_PIN_BANK_EINTG (8 , 0x000 , "gpp0" , 0x00 , 0x00 ),
1829+ GS101_PIN_BANK_EINTG (6 , 0x020 , "gpp1" , 0x04 , 0x08 ),
1830+ GS101_PIN_BANK_EINTG (8 , 0x040 , "gpp2" , 0x08 , 0x10 ),
1831+ GS101_PIN_BANK_EINTG (8 , 0x060 , "gpc0" , 0x0C , 0x18 ),
1832+ GS101_PIN_BANK_EINTG (8 , 0x080 , "gpc1" , 0x10 , 0x20 ),
1833+ GS101_PIN_BANK_EINTG (5 , 0x0A0 , "gpc2" , 0x14 , 0x28 ),
1834+ GS101_PIN_BANK_EINTG (8 , 0x0C0 , "gpg0" , 0x18 , 0x30 ),
1835+ GS101_PIN_BANK_EINTG (8 , 0x0E0 , "gpg1" , 0x1C , 0x38 ),
1836+ GS101_PIN_BANK_EINTG (8 , 0x100 , "gpg2" , 0x20 , 0x40 ),
1837+ GS101_PIN_BANK_EINTG (6 , 0x120 , "gpg3" , 0x24 , 0x48 ),
1838+ GS101_PIN_BANK_EINTG (3 , 0x140 , "gpg4" , 0x28 , 0x50 ),
1839+ };
1840+
1841+ /* pin banks of exynos9610 pin-controller 5 (SHUB) */
1842+ static const struct samsung_pin_bank_data exynos9610_pin_banks5 [] __initconst = {
1843+ EXYNOS850_PIN_BANK_EINTG (4 , 0x000 , "gph0" , 0x00 ),
1844+ EXYNOS850_PIN_BANK_EINTG (3 , 0x020 , "gph1" , 0x04 ),
1845+ };
1846+
1847+ static const struct samsung_pin_ctrl exynos9610_pin_ctrl [] __initconst = {
1848+ {
1849+ /* pin-controller instance 0 ALIVE data */
1850+ .pin_banks = exynos9610_pin_banks0 ,
1851+ .nr_banks = ARRAY_SIZE (exynos9610_pin_banks0 ),
1852+ .eint_wkup_init = exynos_eint_wkup_init ,
1853+ .suspend = exynos_pinctrl_suspend ,
1854+ .resume = exynos_pinctrl_resume ,
1855+ }, {
1856+ /* pin-controller instance 1 CMGP data */
1857+ .pin_banks = exynos9610_pin_banks1 ,
1858+ .nr_banks = ARRAY_SIZE (exynos9610_pin_banks1 ),
1859+ .eint_wkup_init = exynos_eint_wkup_init ,
1860+ .suspend = exynos_pinctrl_suspend ,
1861+ .resume = exynos_pinctrl_resume ,
1862+ }, {
1863+ /* pin-controller instance 2 DISPAUD data */
1864+ .pin_banks = exynos9610_pin_banks2 ,
1865+ .nr_banks = ARRAY_SIZE (exynos9610_pin_banks2 ),
1866+ }, {
1867+ /* pin-controller instance 3 FSYS data */
1868+ .pin_banks = exynos9610_pin_banks3 ,
1869+ .nr_banks = ARRAY_SIZE (exynos9610_pin_banks3 ),
1870+ .suspend = exynos_pinctrl_suspend ,
1871+ .resume = exynos_pinctrl_resume ,
1872+ }, {
1873+ /* pin-controller instance 4 TOP data */
1874+ .pin_banks = exynos9610_pin_banks4 ,
1875+ .nr_banks = ARRAY_SIZE (exynos9610_pin_banks4 ),
1876+ .suspend = exynos_pinctrl_suspend ,
1877+ .resume = exynos_pinctrl_resume ,
1878+ }, {
1879+ /* pin-controller instance 5 SHUB data */
1880+ .pin_banks = exynos9610_pin_banks5 ,
1881+ .nr_banks = ARRAY_SIZE (exynos9610_pin_banks5 ),
1882+ },
1883+ };
1884+
1885+ const struct samsung_pinctrl_of_match_data exynos9610_of_data __initconst = {
1886+ .ctrl = exynos9610_pin_ctrl ,
1887+ .num_ctrl = ARRAY_SIZE (exynos9610_pin_ctrl ),
1888+ };
1889+
17731890/*
17741891 * Pinctrl driver data for Tesla FSD SoC. FSD SoC includes three
17751892 * gpio/pin-mux/pinconfig controllers.
0 commit comments