162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Marvell PXA27x family pin control
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2015 Robert Jarzmik
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci#include <linux/module.h>
862306a36Sopenharmony_ci#include <linux/platform_device.h>
962306a36Sopenharmony_ci#include <linux/of.h>
1062306a36Sopenharmony_ci#include <linux/pinctrl/pinctrl.h>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include "pinctrl-pxa2xx.h"
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cistatic const struct pxa_desc_pin pxa27x_pins[] = {
1562306a36Sopenharmony_ci	PXA_GPIO_ONLY_PIN(PXA_PINCTRL_PIN(0)),
1662306a36Sopenharmony_ci	PXA_GPIO_ONLY_PIN(PXA_PINCTRL_PIN(1)),
1762306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(9),
1862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFCTS"),
1962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "HZ_CLK"),
2062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CHOUT<0>")),
2162306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(10),
2262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFDCD"),
2362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_5"),
2462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "HZ_CLK"),
2562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CHOUT<1>")),
2662306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(11),
2762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "EXT_SYNC<0>"),
2862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPRXD2"),
2962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_1"),
3062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CHOUT<0>"),
3162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "PWM_OUT<2>"),
3262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "48_MHz")),
3362306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(12),
3462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "EXT_SYNC<1>"),
3562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<7>"),
3662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CHOUT<1>"),
3762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "PWM_OUT<3>"),
3862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "48_MHz")),
3962306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(13),
4062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CLK_EXT"),
4162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "KP_DKIN<7>"),
4262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<7>"),
4362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPTXD2")),
4462306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(14),
4562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "L_VSYNC"),
4662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSFRM2"),
4762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPSFRM2"),
4862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "UCLK")),
4962306a36Sopenharmony_ci	PXA_GPIO_ONLY_PIN(PXA_PINCTRL_PIN(15)),
5062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(16),
5162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<5>"),
5262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "PWM_OUT<0>"),
5362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFTXD")),
5462306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(17),
5562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<6>"),
5662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<6>"),
5762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "PWM_OUT<1>")),
5862306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(18),
5962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "RDY")),
6062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(19),
6162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPSCLK2"),
6262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFRXD"),
6362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPSCLK2"),
6462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "L_CS"),
6562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "nURST")),
6662306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(20),
6762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "DREQ<0>"),
6862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "MBREQ"),
6962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nSDCS<2>")),
7062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(21),
7162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nSDCS<3>"),
7262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "DVAL<0>"),
7362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "MBGNT")),
7462306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(22),
7562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPEXTCLK2"),
7662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSCLKEN2"),
7762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSCLK2"),
7862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "KP_MKOUT<7>"),
7962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPSYSCLK2"),
8062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSCLK2")),
8162306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(23),
8262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSCLK"),
8362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CIF_MCLK"),
8462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPSCLK")),
8562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(24),
8662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_FV"),
8762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSFRM"),
8862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CIF_FV"),
8962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPSFRM")),
9062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(25),
9162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_LV"),
9262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CIF_LV"),
9362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPTXD")),
9462306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(26),
9562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPRXD"),
9662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_PCLK"),
9762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFCTS")),
9862306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(27),
9962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPEXTCLK"),
10062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSCLKEN"),
10162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_DD<0>"),
10262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPSYSCLK"),
10362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFRTS")),
10462306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(28),
10562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "AC97_BITCLK"),
10662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "I2S_BITCLK"),
10762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSFRM"),
10862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "I2S_BITCLK"),
10962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSFRM")),
11062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(29),
11162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "AC97_SDATA_IN_0"),
11262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "I2S_SDATA_IN"),
11362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSCLK"),
11462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPRXD2"),
11562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSCLK")),
11662306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(30),
11762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "I2S_SDATA_OUT"),
11862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "AC97_SDATA_OUT"),
11962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "USB_P3_2")),
12062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(31),
12162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "I2S_SYNC"),
12262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "AC97_SYNC"),
12362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "USB_P3_6")),
12462306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(32),
12562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "MSSCLK"),
12662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "MMCLK")),
12762306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(33),
12862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFRXD"),
12962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "FFDSR"),
13062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "DVAL<1>"),
13162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nCS<5>"),
13262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "MBGNT")),
13362306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(34),
13462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFRXD"),
13562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "KP_MKIN<3>"),
13662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSCLK3"),
13762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "USB_P2_2"),
13862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSCLK3")),
13962306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(35),
14062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFCTS"),
14162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "USB_P2_1"),
14262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSFRM3"),
14362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<6>"),
14462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPTXD3")),
14562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(36),
14662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFDCD"),
14762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSCLK2"),
14862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<7>"),
14962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "USB_P2_4"),
15062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPSCLK2")),
15162306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(37),
15262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFDSR"),
15362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSFRM2"),
15462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<3>"),
15562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "USB_P2_8"),
15662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPSFRM2"),
15762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFTXD")),
15862306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(38),
15962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFRI"),
16062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "KP_MKIN<4>"),
16162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P2_3"),
16262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPTXD3"),
16362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPTXD2"),
16462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "PWM_OUT<0>")),
16562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(39),
16662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<4>"),
16762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSFRM3"),
16862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "USB_P2_6"),
16962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "FFTXD"),
17062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSFRM3")),
17162306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(40),
17262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPRXD2"),
17362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P2_5"),
17462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "KP_MKOUT<6>"),
17562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "FFDTR"),
17662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSCLK3")),
17762306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(41),
17862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFRXD"),
17962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "USB_P2_7"),
18062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPRXD3"),
18162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "KP_MKOUT<7>"),
18262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "FFRTS")),
18362306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(42),
18462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "BTRXD"),
18562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "ICP_RXD"),
18662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CIF_MCLK")),
18762306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(43),
18862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_FV"),
18962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "ICP_TXD"),
19062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "BTTXD"),
19162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CIF_FV")),
19262306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(44),
19362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "BTCTS"),
19462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_LV"),
19562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CIF_LV")),
19662306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(45),
19762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_PCLK"),
19862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "AC97_SYSCLK"),
19962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "BTRTS"),
20062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSYSCLK3")),
20162306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(46),
20262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "ICP_RXD"),
20362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "STD_RXD"),
20462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "PWM_OUT<2>")),
20562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(47),
20662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<0>"),
20762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "STD_TXD"),
20862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "ICP_TXD"),
20962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "PWM_OUT<3>")),
21062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(48),
21162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<5>"),
21262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "BB_OB_DAT<1>"),
21362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nPOE")),
21462306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(49),
21562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nPWE")),
21662306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(50),
21762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<3>"),
21862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSCLK2"),
21962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "BB_OB_DAT<2>"),
22062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nPIOR"),
22162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSCLK2")),
22262306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(51),
22362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<2>"),
22462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "BB_OB_DAT<3>"),
22562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nPIOW")),
22662306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(52),
22762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<4>"),
22862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPSCLK3"),
22962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "BB_OB_CLK"),
23062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPSCLK3")),
23162306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(53),
23262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFRXD"),
23362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "USB_P2_3"),
23462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "BB_OB_STB"),
23562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "CIF_MCLK"),
23662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSYSCLK")),
23762306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(54),
23862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_OB_WAIT"),
23962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_PCLK"),
24062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nPCE<2>")),
24162306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(55),
24262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<1>"),
24362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_IB_DAT<1>"),
24462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nPREG")),
24562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(56),
24662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "nPWAIT"),
24762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_IB_DAT<2>"),
24862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "USB_P3_4")),
24962306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(57),
25062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "nIOS16"),
25162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_IB_DAT<3>"),
25262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPTXD")),
25362306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(58),
25462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<0>"),
25562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<0>")),
25662306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(59),
25762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<1>"),
25862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<1>")),
25962306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(60),
26062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<2>"),
26162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<2>")),
26262306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(61),
26362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<3>"),
26462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<3>")),
26562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(62),
26662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<4>"),
26762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<4>")),
26862306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(63),
26962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<5>"),
27062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<5>")),
27162306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(64),
27262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<6>"),
27362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<6>")),
27462306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(65),
27562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<7>"),
27662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<7>")),
27762306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(66),
27862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<8>"),
27962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<8>")),
28062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(67),
28162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<9>"),
28262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<9>")),
28362306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(68),
28462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<10>"),
28562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<10>")),
28662306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(69),
28762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<11>"),
28862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<11>")),
28962306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(70),
29062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<12>"),
29162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<12>")),
29262306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(71),
29362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<13>"),
29462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<13>")),
29562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(72),
29662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<14>"),
29762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<14>")),
29862306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(73),
29962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<15>"),
30062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<15>")),
30162306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(74),
30262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "L_FCLK_RD")),
30362306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(75),
30462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "L_LCLK_A0")),
30562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(76),
30662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "L_PCLK_WR")),
30762306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(77),
30862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "L_BIAS")),
30962306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(78),
31062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nPCE<2>"),
31162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nCS<2>")),
31262306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(79),
31362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "PSKTSEL"),
31462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nCS<3>"),
31562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "PWM_OUT<2>")),
31662306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(80),
31762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "DREQ<1>"),
31862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "MBREQ"),
31962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nCS<4>"),
32062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "PWM_OUT<3>")),
32162306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(81),
32262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<0>"),
32362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPTXD3"),
32462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "BB_OB_DAT<0>")),
32562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(82),
32662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPRXD3"),
32762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_IB_DAT<0>"),
32862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_DD<5>"),
32962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFDTR")),
33062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(83),
33162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPSFRM3"),
33262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_IB_CLK"),
33362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_DD<5>"),
33462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPSFRM3"),
33562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "FFTXD"),
33662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFRTS")),
33762306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(84),
33862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPCLK3"),
33962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "BB_IB_STB"),
34062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_FV"),
34162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPCLK3"),
34262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CIF_FV")),
34362306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(85),
34462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "FFRXD"),
34562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "DREQ<2>"),
34662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "CIF_LV"),
34762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nPCE<1>"),
34862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "BB_IB_WAIT"),
34962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "CIF_LV")),
35062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(86),
35162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPRXD2"),
35262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<16>"),
35362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_5"),
35462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nPCE<1>"),
35562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<16>")),
35662306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(87),
35762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "nPCE<2>"),
35862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "LDD<17>"),
35962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_1"),
36062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SSPTXD2"),
36162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "LDD<17>"),
36262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSFRM2")),
36362306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(88),
36462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "USBHPWR<1>"),
36562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "SSPRXD2"),
36662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "SSPSFRM2"),
36762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "SSPTXD2"),
36862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPSFRM2")),
36962306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(89),
37062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SSPRXD3"),
37162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFRI"),
37262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "AC97_SYSCLK"),
37362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "USBHPEN<1>"),
37462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "SSPTXD2")),
37562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(90),
37662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<5>"),
37762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_5"),
37862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CIF_DD<4>"),
37962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nURST")),
38062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(91),
38162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<6>"),
38262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_1"),
38362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CIF_DD<5>"),
38462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "UCLK")),
38562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(92),
38662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "MMDAT<0>"),
38762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "MMDAT<0>"),
38862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "MSBS")),
38962306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(93),
39062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<0>"),
39162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<6>"),
39262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "AC97_SDATA_OUT")),
39362306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(94),
39462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<1>"),
39562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<5>"),
39662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "AC97_SYNC")),
39762306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(95),
39862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<2>"),
39962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<4>"),
40062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<6>"),
40162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "AC97_RESET_n")),
40262306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(96),
40362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<3>"),
40462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "MBREQ"),
40562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFRXD"),
40662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "DVAL<1>"),
40762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "KP_MKOUT<6>")),
40862306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(97),
40962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<4>"),
41062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "DREQ<1>"),
41162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<3>"),
41262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "MBGNT")),
41362306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(98),
41462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<5>"),
41562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<0>"),
41662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<4>"),
41762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "AC97_SYSCLK"),
41862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFRTS")),
41962306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(99),
42062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_DKIN<6>"),
42162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "AC97_SDATA_IN_1"),
42262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "KP_MKIN<5>"),
42362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "FFTXD")),
42462306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(100),
42562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<0>"),
42662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "DREQ<2>"),
42762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFCTS")),
42862306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(101),
42962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<1>")),
43062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(102),
43162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "KP_MKIN<2>"),
43262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "FFRXD"),
43362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nPCE<1>")),
43462306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(103),
43562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<3>"),
43662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<0>")),
43762306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(104),
43862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<2>"),
43962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "PSKTSEL"),
44062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<1>")),
44162306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(105),
44262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<1>"),
44362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "nPCE<2>"),
44462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<2>")),
44562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(106),
44662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<9>"),
44762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<3>")),
44862306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(107),
44962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<8>"),
45062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<4>")),
45162306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(108),
45262306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<7>"),
45362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "CHOUT<0>"),
45462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "KP_MKOUT<5>")),
45562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(109),
45662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "MMDAT<1>"),
45762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "MSSDIO"),
45862306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "MMDAT<1>"),
45962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "MSSDIO")),
46062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(110),
46162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "MMDAT<2>"),
46262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "MMDAT<2>")),
46362306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(111),
46462306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "MMDAT<3>"),
46562306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "MMDAT<3>")),
46662306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(112),
46762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "MMCMD"),
46862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "nMSINS"),
46962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "MMCMD")),
47062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(113),
47162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "USB_P3_3"),
47262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "I2S_SYSCLK"),
47362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "AC97_RESET_n")),
47462306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(114),
47562306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<1>"),
47662306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "UEN"),
47762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "UVS0")),
47862306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(115),
47962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "DREQ<0>"),
48062306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "CIF_DD<3>"),
48162306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "MBREQ"),
48262306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "UEN"),
48362306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nUVS1"),
48462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "PWM_OUT<1>")),
48562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(116),
48662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "CIF_DD<2>"),
48762306a36Sopenharmony_ci		     PXA_FUNCTION(0, 2, "AC97_SDATA_IN_0"),
48862306a36Sopenharmony_ci		     PXA_FUNCTION(0, 3, "UDET"),
48962306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "DVAL<0>"),
49062306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "nUVS2"),
49162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 3, "MBGNT")),
49262306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(117),
49362306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SCL"),
49462306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SCL")),
49562306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(118),
49662306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "SDA"),
49762306a36Sopenharmony_ci		     PXA_FUNCTION(1, 1, "SDA")),
49862306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(119),
49962306a36Sopenharmony_ci		     PXA_FUNCTION(0, 1, "USBHPWR<2>")),
50062306a36Sopenharmony_ci	PXA_GPIO_PIN(PXA_PINCTRL_PIN(120),
50162306a36Sopenharmony_ci		     PXA_FUNCTION(1, 2, "USBHPEN<2>")),
50262306a36Sopenharmony_ci};
50362306a36Sopenharmony_ci
50462306a36Sopenharmony_cistatic int pxa27x_pinctrl_probe(struct platform_device *pdev)
50562306a36Sopenharmony_ci{
50662306a36Sopenharmony_ci	int i;
50762306a36Sopenharmony_ci	void __iomem *base_af[8];
50862306a36Sopenharmony_ci	void __iomem *base_dir[4];
50962306a36Sopenharmony_ci	void __iomem *base_sleep[4];
51062306a36Sopenharmony_ci
51162306a36Sopenharmony_ci	base_af[0] = devm_platform_ioremap_resource(pdev, 0);
51262306a36Sopenharmony_ci	if (IS_ERR(base_af[0]))
51362306a36Sopenharmony_ci		return PTR_ERR(base_af[0]);
51462306a36Sopenharmony_ci
51562306a36Sopenharmony_ci	base_dir[0] = devm_platform_ioremap_resource(pdev, 1);
51662306a36Sopenharmony_ci	if (IS_ERR(base_dir[0]))
51762306a36Sopenharmony_ci		return PTR_ERR(base_dir[0]);
51862306a36Sopenharmony_ci
51962306a36Sopenharmony_ci	base_dir[3] = devm_platform_ioremap_resource(pdev, 2);
52062306a36Sopenharmony_ci	if (IS_ERR(base_dir[3]))
52162306a36Sopenharmony_ci		return PTR_ERR(base_dir[3]);
52262306a36Sopenharmony_ci
52362306a36Sopenharmony_ci	base_sleep[0] = devm_platform_ioremap_resource(pdev, 3);
52462306a36Sopenharmony_ci	if (IS_ERR(base_sleep[0]))
52562306a36Sopenharmony_ci		return PTR_ERR(base_sleep[0]);
52662306a36Sopenharmony_ci
52762306a36Sopenharmony_ci	for (i = 0; i < ARRAY_SIZE(base_af); i++)
52862306a36Sopenharmony_ci		base_af[i] = base_af[0] + sizeof(base_af[0]) * i;
52962306a36Sopenharmony_ci	for (i = 0; i < 3; i++)
53062306a36Sopenharmony_ci		base_dir[i] = base_dir[0] + sizeof(base_dir[0]) * i;
53162306a36Sopenharmony_ci	for (i = 0; i < ARRAY_SIZE(base_sleep); i++)
53262306a36Sopenharmony_ci		base_sleep[i] = base_sleep[0] + sizeof(base_af[0]) * i;
53362306a36Sopenharmony_ci
53462306a36Sopenharmony_ci	return pxa2xx_pinctrl_init(pdev, pxa27x_pins, ARRAY_SIZE(pxa27x_pins),
53562306a36Sopenharmony_ci				  base_af, base_dir, base_sleep);
53662306a36Sopenharmony_ci}
53762306a36Sopenharmony_ci
53862306a36Sopenharmony_cistatic const struct of_device_id pxa27x_pinctrl_match[] = {
53962306a36Sopenharmony_ci	{ .compatible = "marvell,pxa27x-pinctrl", },
54062306a36Sopenharmony_ci	{}
54162306a36Sopenharmony_ci};
54262306a36Sopenharmony_ciMODULE_DEVICE_TABLE(of, pxa27x_pinctrl_match);
54362306a36Sopenharmony_ci
54462306a36Sopenharmony_cistatic struct platform_driver pxa27x_pinctrl_driver = {
54562306a36Sopenharmony_ci	.probe	= pxa27x_pinctrl_probe,
54662306a36Sopenharmony_ci	.driver	= {
54762306a36Sopenharmony_ci		.name		= "pxa27x-pinctrl",
54862306a36Sopenharmony_ci		.of_match_table	= pxa27x_pinctrl_match,
54962306a36Sopenharmony_ci	},
55062306a36Sopenharmony_ci};
55162306a36Sopenharmony_cimodule_platform_driver(pxa27x_pinctrl_driver);
55262306a36Sopenharmony_ci
55362306a36Sopenharmony_ciMODULE_AUTHOR("Robert Jarzmik <robert.jarzmik@free.fr>");
55462306a36Sopenharmony_ciMODULE_DESCRIPTION("Marvell PXA27x pinctrl driver");
55562306a36Sopenharmony_ciMODULE_LICENSE("GPL v2");
556