18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Marvell PXA27x family pin control
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2015 Robert Jarzmik
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci#include <linux/module.h>
88c2ecf20Sopenharmony_ci#include <linux/platform_device.h>
98c2ecf20Sopenharmony_ci#include <linux/of.h>
108c2ecf20Sopenharmony_ci#include <linux/of_device.h>
118c2ecf20Sopenharmony_ci#include <linux/pinctrl/pinctrl.h>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci#include "pinctrl-pxa2xx.h"
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_cistatic const struct pxa_desc_pin pxa27x_pins[] = {
168c2ecf20Sopenharmony_ci	PXA_GPIO_ONLY_PIN(PXA_PINCTRL_PIN(0)),
178c2ecf20Sopenharmony_ci	PXA_GPIO_ONLY_PIN(PXA_PINCTRL_PIN(1)),
188c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(9),
198c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFCTS"),
208c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "HZ_CLK"),
218c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CHOUT<0>")),
228c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(10),
238c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFDCD"),
248c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_5"),
258c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "HZ_CLK"),
268c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CHOUT<1>")),
278c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(11),
288c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "EXT_SYNC<0>"),
298c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPRXD2"),
308c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_1"),
318c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CHOUT<0>"),
328c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "PWM_OUT<2>"),
338c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "48_MHz")),
348c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(12),
358c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "EXT_SYNC<1>"),
368c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<7>"),
378c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CHOUT<1>"),
388c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "PWM_OUT<3>"),
398c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "48_MHz")),
408c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(13),
418c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CLK_EXT"),
428c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "KP_DKIN<7>"),
438c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<7>"),
448c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPTXD2")),
458c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(14),
468c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "L_VSYNC"),
478c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSFRM2"),
488c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPSFRM2"),
498c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "UCLK")),
508c2ecf20Sopenharmony_ci	PXA_GPIO_ONLY_PIN(PXA_PINCTRL_PIN(15)),
518c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(16),
528c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<5>"),
538c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "PWM_OUT<0>"),
548c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFTXD")),
558c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(17),
568c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<6>"),
578c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<6>"),
588c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "PWM_OUT<1>")),
598c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(18),
608c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "RDY")),
618c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(19),
628c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPSCLK2"),
638c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFRXD"),
648c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPSCLK2"),
658c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "L_CS"),
668c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "nURST")),
678c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(20),
688c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "DREQ<0>"),
698c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "MBREQ"),
708c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nSDCS<2>")),
718c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(21),
728c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nSDCS<3>"),
738c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "DVAL<0>"),
748c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "MBGNT")),
758c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(22),
768c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPEXTCLK2"),
778c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSCLKEN2"),
788c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSCLK2"),
798c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "KP_MKOUT<7>"),
808c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPSYSCLK2"),
818c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSCLK2")),
828c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(23),
838c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSCLK"),
848c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CIF_MCLK"),
858c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPSCLK")),
868c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(24),
878c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_FV"),
888c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSFRM"),
898c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CIF_FV"),
908c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPSFRM")),
918c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(25),
928c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_LV"),
938c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CIF_LV"),
948c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPTXD")),
958c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(26),
968c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPRXD"),
978c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_PCLK"),
988c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFCTS")),
998c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(27),
1008c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPEXTCLK"),
1018c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSCLKEN"),
1028c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_DD<0>"),
1038c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPSYSCLK"),
1048c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFRTS")),
1058c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(28),
1068c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "AC97_BITCLK"),
1078c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "I2S_BITCLK"),
1088c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSFRM"),
1098c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "I2S_BITCLK"),
1108c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSFRM")),
1118c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(29),
1128c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "AC97_SDATA_IN_0"),
1138c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "I2S_SDATA_IN"),
1148c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSCLK"),
1158c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPRXD2"),
1168c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSCLK")),
1178c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(30),
1188c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "I2S_SDATA_OUT"),
1198c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "AC97_SDATA_OUT"),
1208c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "USB_P3_2")),
1218c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(31),
1228c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "I2S_SYNC"),
1238c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "AC97_SYNC"),
1248c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "USB_P3_6")),
1258c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(32),
1268c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "MSSCLK"),
1278c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "MMCLK")),
1288c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(33),
1298c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFRXD"),
1308c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "FFDSR"),
1318c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "DVAL<1>"),
1328c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nCS<5>"),
1338c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "MBGNT")),
1348c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(34),
1358c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFRXD"),
1368c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "KP_MKIN<3>"),
1378c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSCLK3"),
1388c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "USB_P2_2"),
1398c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSCLK3")),
1408c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(35),
1418c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFCTS"),
1428c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "USB_P2_1"),
1438c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSFRM3"),
1448c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<6>"),
1458c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPTXD3")),
1468c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(36),
1478c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFDCD"),
1488c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSCLK2"),
1498c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<7>"),
1508c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "USB_P2_4"),
1518c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPSCLK2")),
1528c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(37),
1538c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFDSR"),
1548c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSFRM2"),
1558c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<3>"),
1568c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "USB_P2_8"),
1578c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPSFRM2"),
1588c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFTXD")),
1598c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(38),
1608c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFRI"),
1618c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "KP_MKIN<4>"),
1628c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P2_3"),
1638c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPTXD3"),
1648c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPTXD2"),
1658c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "PWM_OUT<0>")),
1668c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(39),
1678c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<4>"),
1688c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSFRM3"),
1698c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "USB_P2_6"),
1708c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "FFTXD"),
1718c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSFRM3")),
1728c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(40),
1738c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPRXD2"),
1748c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P2_5"),
1758c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "KP_MKOUT<6>"),
1768c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "FFDTR"),
1778c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSCLK3")),
1788c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(41),
1798c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFRXD"),
1808c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "USB_P2_7"),
1818c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPRXD3"),
1828c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "KP_MKOUT<7>"),
1838c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "FFRTS")),
1848c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(42),
1858c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "BTRXD"),
1868c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "ICP_RXD"),
1878c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CIF_MCLK")),
1888c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(43),
1898c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_FV"),
1908c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "ICP_TXD"),
1918c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "BTTXD"),
1928c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CIF_FV")),
1938c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(44),
1948c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "BTCTS"),
1958c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_LV"),
1968c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CIF_LV")),
1978c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(45),
1988c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_PCLK"),
1998c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "AC97_SYSCLK"),
2008c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "BTRTS"),
2018c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSYSCLK3")),
2028c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(46),
2038c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "ICP_RXD"),
2048c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "STD_RXD"),
2058c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "PWM_OUT<2>")),
2068c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(47),
2078c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<0>"),
2088c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "STD_TXD"),
2098c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "ICP_TXD"),
2108c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "PWM_OUT<3>")),
2118c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(48),
2128c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<5>"),
2138c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "BB_OB_DAT<1>"),
2148c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nPOE")),
2158c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(49),
2168c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nPWE")),
2178c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(50),
2188c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<3>"),
2198c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSCLK2"),
2208c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "BB_OB_DAT<2>"),
2218c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nPIOR"),
2228c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSCLK2")),
2238c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(51),
2248c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<2>"),
2258c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "BB_OB_DAT<3>"),
2268c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nPIOW")),
2278c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(52),
2288c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<4>"),
2298c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSCLK3"),
2308c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "BB_OB_CLK"),
2318c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPSCLK3")),
2328c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(53),
2338c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFRXD"),
2348c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "USB_P2_3"),
2358c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "BB_OB_STB"),
2368c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "CIF_MCLK"),
2378c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSYSCLK")),
2388c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(54),
2398c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_OB_WAIT"),
2408c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_PCLK"),
2418c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nPCE<2>")),
2428c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(55),
2438c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<1>"),
2448c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_IB_DAT<1>"),
2458c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nPREG")),
2468c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(56),
2478c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "nPWAIT"),
2488c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_IB_DAT<2>"),
2498c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "USB_P3_4")),
2508c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(57),
2518c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "nIOS16"),
2528c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_IB_DAT<3>"),
2538c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPTXD")),
2548c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(58),
2558c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<0>"),
2568c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<0>")),
2578c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(59),
2588c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<1>"),
2598c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<1>")),
2608c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(60),
2618c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<2>"),
2628c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<2>")),
2638c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(61),
2648c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<3>"),
2658c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<3>")),
2668c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(62),
2678c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<4>"),
2688c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<4>")),
2698c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(63),
2708c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<5>"),
2718c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<5>")),
2728c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(64),
2738c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<6>"),
2748c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<6>")),
2758c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(65),
2768c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<7>"),
2778c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<7>")),
2788c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(66),
2798c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<8>"),
2808c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<8>")),
2818c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(67),
2828c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<9>"),
2838c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<9>")),
2848c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(68),
2858c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<10>"),
2868c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<10>")),
2878c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(69),
2888c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<11>"),
2898c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<11>")),
2908c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(70),
2918c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<12>"),
2928c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<12>")),
2938c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(71),
2948c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<13>"),
2958c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<13>")),
2968c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(72),
2978c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<14>"),
2988c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<14>")),
2998c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(73),
3008c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<15>"),
3018c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<15>")),
3028c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(74),
3038c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "L_FCLK_RD")),
3048c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(75),
3058c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "L_LCLK_A0")),
3068c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(76),
3078c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "L_PCLK_WR")),
3088c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(77),
3098c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "L_BIAS")),
3108c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(78),
3118c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nPCE<2>"),
3128c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nCS<2>")),
3138c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(79),
3148c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "PSKTSEL"),
3158c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nCS<3>"),
3168c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "PWM_OUT<2>")),
3178c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(80),
3188c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "DREQ<1>"),
3198c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "MBREQ"),
3208c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nCS<4>"),
3218c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "PWM_OUT<3>")),
3228c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(81),
3238c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<0>"),
3248c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPTXD3"),
3258c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "BB_OB_DAT<0>")),
3268c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(82),
3278c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPRXD3"),
3288c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_IB_DAT<0>"),
3298c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_DD<5>"),
3308c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFDTR")),
3318c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(83),
3328c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPSFRM3"),
3338c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_IB_CLK"),
3348c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_DD<5>"),
3358c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPSFRM3"),
3368c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "FFTXD"),
3378c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFRTS")),
3388c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(84),
3398c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPCLK3"),
3408c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_IB_STB"),
3418c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_FV"),
3428c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPCLK3"),
3438c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CIF_FV")),
3448c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(85),
3458c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFRXD"),
3468c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "DREQ<2>"),
3478c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_LV"),
3488c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nPCE<1>"),
3498c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "BB_IB_WAIT"),
3508c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CIF_LV")),
3518c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(86),
3528c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPRXD2"),
3538c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<16>"),
3548c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_5"),
3558c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nPCE<1>"),
3568c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<16>")),
3578c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(87),
3588c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "nPCE<2>"),
3598c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<17>"),
3608c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_1"),
3618c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPTXD2"),
3628c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<17>"),
3638c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSFRM2")),
3648c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(88),
3658c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "USBHPWR<1>"),
3668c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPRXD2"),
3678c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSFRM2"),
3688c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPTXD2"),
3698c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSFRM2")),
3708c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(89),
3718c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPRXD3"),
3728c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFRI"),
3738c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "AC97_SYSCLK"),
3748c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "USBHPEN<1>"),
3758c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPTXD2")),
3768c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(90),
3778c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<5>"),
3788c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_5"),
3798c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CIF_DD<4>"),
3808c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nURST")),
3818c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(91),
3828c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<6>"),
3838c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_1"),
3848c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CIF_DD<5>"),
3858c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "UCLK")),
3868c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(92),
3878c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "MMDAT<0>"),
3888c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "MMDAT<0>"),
3898c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "MSBS")),
3908c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(93),
3918c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<0>"),
3928c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<6>"),
3938c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "AC97_SDATA_OUT")),
3948c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(94),
3958c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<1>"),
3968c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<5>"),
3978c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "AC97_SYNC")),
3988c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(95),
3998c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<2>"),
4008c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<4>"),
4018c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<6>"),
4028c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "AC97_RESET_n")),
4038c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(96),
4048c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<3>"),
4058c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "MBREQ"),
4068c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFRXD"),
4078c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "DVAL<1>"),
4088c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "KP_MKOUT<6>")),
4098c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(97),
4108c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<4>"),
4118c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "DREQ<1>"),
4128c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<3>"),
4138c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "MBGNT")),
4148c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(98),
4158c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<5>"),
4168c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<0>"),
4178c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<4>"),
4188c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "AC97_SYSCLK"),
4198c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFRTS")),
4208c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(99),
4218c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<6>"),
4228c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "AC97_SDATA_IN_1"),
4238c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<5>"),
4248c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFTXD")),
4258c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(100),
4268c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<0>"),
4278c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "DREQ<2>"),
4288c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFCTS")),
4298c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(101),
4308c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<1>")),
4318c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(102),
4328c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<2>"),
4338c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFRXD"),
4348c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nPCE<1>")),
4358c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(103),
4368c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<3>"),
4378c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<0>")),
4388c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(104),
4398c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<2>"),
4408c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "PSKTSEL"),
4418c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<1>")),
4428c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(105),
4438c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<1>"),
4448c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nPCE<2>"),
4458c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<2>")),
4468c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(106),
4478c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<9>"),
4488c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<3>")),
4498c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(107),
4508c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<8>"),
4518c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<4>")),
4528c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(108),
4538c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<7>"),
4548c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CHOUT<0>"),
4558c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<5>")),
4568c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(109),
4578c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "MMDAT<1>"),
4588c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "MSSDIO"),
4598c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "MMDAT<1>"),
4608c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "MSSDIO")),
4618c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(110),
4628c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "MMDAT<2>"),
4638c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "MMDAT<2>")),
4648c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(111),
4658c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "MMDAT<3>"),
4668c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "MMDAT<3>")),
4678c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(112),
4688c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "MMCMD"),
4698c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "nMSINS"),
4708c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "MMCMD")),
4718c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(113),
4728c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_3"),
4738c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "I2S_SYSCLK"),
4748c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "AC97_RESET_n")),
4758c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(114),
4768c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<1>"),
4778c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "UEN"),
4788c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "UVS0")),
4798c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(115),
4808c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "DREQ<0>"),
4818c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<3>"),
4828c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "MBREQ"),
4838c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "UEN"),
4848c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nUVS1"),
4858c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "PWM_OUT<1>")),
4868c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(116),
4878c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<2>"),
4888c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 2, "AC97_SDATA_IN_0"),
4898c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 3, "UDET"),
4908c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "DVAL<0>"),
4918c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nUVS2"),
4928c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 3, "MBGNT")),
4938c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(117),
4948c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SCL"),
4958c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SCL")),
4968c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(118),
4978c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SDA"),
4988c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SDA")),
4998c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(119),
5008c2ecf20Sopenharmony_ci		     PXA_FUNCTION(0, 1, "USBHPWR<2>")),
5018c2ecf20Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(120),
5028c2ecf20Sopenharmony_ci		     PXA_FUNCTION(1, 2, "USBHPEN<2>")),
5038c2ecf20Sopenharmony_ci};
5048c2ecf20Sopenharmony_ci
5058c2ecf20Sopenharmony_cistatic int pxa27x_pinctrl_probe(struct platform_device *pdev)
5068c2ecf20Sopenharmony_ci{
5078c2ecf20Sopenharmony_ci	int ret, i;
5088c2ecf20Sopenharmony_ci	void __iomem *base_af[8];
5098c2ecf20Sopenharmony_ci	void __iomem *base_dir[4];
5108c2ecf20Sopenharmony_ci	void __iomem *base_sleep[4];
5118c2ecf20Sopenharmony_ci
5128c2ecf20Sopenharmony_ci	base_af[0] = devm_platform_ioremap_resource(pdev, 0);
5138c2ecf20Sopenharmony_ci	if (IS_ERR(base_af[0]))
5148c2ecf20Sopenharmony_ci		return PTR_ERR(base_af[0]);
5158c2ecf20Sopenharmony_ci
5168c2ecf20Sopenharmony_ci	base_dir[0] = devm_platform_ioremap_resource(pdev, 1);
5178c2ecf20Sopenharmony_ci	if (IS_ERR(base_dir[0]))
5188c2ecf20Sopenharmony_ci		return PTR_ERR(base_dir[0]);
5198c2ecf20Sopenharmony_ci
5208c2ecf20Sopenharmony_ci	base_dir[3] = devm_platform_ioremap_resource(pdev, 2);
5218c2ecf20Sopenharmony_ci	if (IS_ERR(base_dir[3]))
5228c2ecf20Sopenharmony_ci		return PTR_ERR(base_dir[3]);
5238c2ecf20Sopenharmony_ci
5248c2ecf20Sopenharmony_ci	base_sleep[0] = devm_platform_ioremap_resource(pdev, 3);
5258c2ecf20Sopenharmony_ci	if (IS_ERR(base_sleep[0]))
5268c2ecf20Sopenharmony_ci		return PTR_ERR(base_sleep[0]);
5278c2ecf20Sopenharmony_ci
5288c2ecf20Sopenharmony_ci	for (i = 0; i < ARRAY_SIZE(base_af); i++)
5298c2ecf20Sopenharmony_ci		base_af[i] = base_af[0] + sizeof(base_af[0]) * i;
5308c2ecf20Sopenharmony_ci	for (i = 0; i < 3; i++)
5318c2ecf20Sopenharmony_ci		base_dir[i] = base_dir[0] + sizeof(base_dir[0]) * i;
5328c2ecf20Sopenharmony_ci	for (i = 0; i < ARRAY_SIZE(base_sleep); i++)
5338c2ecf20Sopenharmony_ci		base_sleep[i] = base_sleep[0] + sizeof(base_af[0]) * i;
5348c2ecf20Sopenharmony_ci
5358c2ecf20Sopenharmony_ci	ret = pxa2xx_pinctrl_init(pdev, pxa27x_pins, ARRAY_SIZE(pxa27x_pins),
5368c2ecf20Sopenharmony_ci				  base_af, base_dir, base_sleep);
5378c2ecf20Sopenharmony_ci	return ret;
5388c2ecf20Sopenharmony_ci}
5398c2ecf20Sopenharmony_ci
5408c2ecf20Sopenharmony_cistatic const struct of_device_id pxa27x_pinctrl_match[] = {
5418c2ecf20Sopenharmony_ci	{ .compatible = "marvell,pxa27x-pinctrl", },
5428c2ecf20Sopenharmony_ci	{}
5438c2ecf20Sopenharmony_ci};
5448c2ecf20Sopenharmony_ciMODULE_DEVICE_TABLE(of, pxa27x_pinctrl_match);
5458c2ecf20Sopenharmony_ci
5468c2ecf20Sopenharmony_cistatic struct platform_driver pxa27x_pinctrl_driver = {
5478c2ecf20Sopenharmony_ci	.probe	= pxa27x_pinctrl_probe,
5488c2ecf20Sopenharmony_ci	.driver	= {
5498c2ecf20Sopenharmony_ci		.name		= "pxa27x-pinctrl",
5508c2ecf20Sopenharmony_ci		.of_match_table	= pxa27x_pinctrl_match,
5518c2ecf20Sopenharmony_ci	},
5528c2ecf20Sopenharmony_ci};
5538c2ecf20Sopenharmony_cimodule_platform_driver(pxa27x_pinctrl_driver);
5548c2ecf20Sopenharmony_ci
5558c2ecf20Sopenharmony_ciMODULE_AUTHOR("Robert Jarzmik <robert.jarzmik@free.fr>");
5568c2ecf20Sopenharmony_ciMODULE_DESCRIPTION("Marvell PXA27x pinctrl driver");
5578c2ecf20Sopenharmony_ciMODULE_LICENSE("GPL v2");
558