No board in tree selects ARCH_PXA25X or ARCH_PXA27X, so none of this code
is reachable, let alone tested. Remove it rather than carry it along
through the PXA cleanup.

Gone with it:

- The SoC support itself: mfp-pxa2xx.c, pxa2xx.c, the two speed-*.c and
  the PXA25x/27x half of sleep.S, which was wrapped in a #if on the two
  symbols and had no caller anywhere.

- pxa27x_udc, the only driver that depended on ARCH_PXA27X and could
  therefore never be built either.

- The documentation for the Phytec phyCORE-PXA270, whose defconfig was
  removed long ago and which points at it.

- __gpio_is_occupied(), which had no user at all, and the PXA26x variant
  of __gpio_is_inverted(), which was guarded by a CONFIG_CPU_PXA26x that
  does not exist.

Drivers that depend on ARCH_PXA2XX but are not inherently PXA2xx -- pwm
and mci -- are left alone here. They become unselectable, which is
honest: they do not build for PXA3xx yet. Both are fixed up in the course
of the clk conversion.

Assisted-by: Claude Opus 5
Signed-off-by: Sascha Hauer <[email protected]>
---
 Documentation/boards/pxa/Phytec-phyCORE-PXA270.rst |    6 -
 arch/arm/mach-pxa/Kconfig                          |   31 +-
 arch/arm/mach-pxa/Makefile                         |    5 +-
 arch/arm/mach-pxa/mfp-pxa2xx.c                     |  191 ---
 arch/arm/mach-pxa/pxa2xx.c                         |   69 -
 arch/arm/mach-pxa/sleep.S                          |   28 -
 arch/arm/mach-pxa/speed-pxa25x.c                   |   54 -
 arch/arm/mach-pxa/speed-pxa27x.c                   |   54 -
 drivers/mci/pxamci.c                               |   16 +-
 drivers/usb/gadget/Kconfig                         |    7 -
 drivers/usb/gadget/udc/Makefile                    |    1 -
 drivers/usb/gadget/udc/pxa27x_udc.c                | 1469 --------------------
 drivers/usb/gadget/udc/pxa27x_udc.h                |  380 -----
 include/mach/pxa/gpio.h                            |   30 -
 include/mach/pxa/hardware.h                        |   18 -
 include/mach/pxa/mfp-pxa27x.h                      |  472 -------
 include/mach/pxa/mfp-pxa2xx.h                      |  135 --
 include/mach/pxa/pxa-regs.h                        |   12 -
 include/mach/pxa/pxa25x-regs.h                     |    8 -
 include/mach/pxa/pxa27x-regs.h                     |    8 -
 include/mach/pxa/pxa2xx-regs.h                     |  273 ----
 include/mach/pxa/udc_pxa2xx.h                      |   28 -
 22 files changed, 9 insertions(+), 3286 deletions(-)

diff --git a/Documentation/boards/pxa/Phytec-phyCORE-PXA270.rst 
b/Documentation/boards/pxa/Phytec-phyCORE-PXA270.rst
deleted file mode 100644
index 23b2829fa8..0000000000
--- a/Documentation/boards/pxa/Phytec-phyCORE-PXA270.rst
+++ /dev/null
@@ -1,6 +0,0 @@
-Phytec phyCORE-PXA270
-=====================
-
-Building the bootloader image for this target is covered by the 
``phytec-phycore-pxa270_defconfig``.
-
-Use the corresponding ``barebox.bin`` file for this target.
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index 53becd51d4..3a58736d2d 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -4,33 +4,14 @@ if ARCH_PXA
 
 # ----------------------------------------------------------
 
-config ARCH_PXA2XX
-       bool
-       select CPU_XSCALE
-
 config ARCH_PXA3XX
-       bool
-       select CPU_XSC3
-       select HAVE_CLK
-       select COMMON_CLK
+       bool
+       default y
+       select CPU_XSC3
+       select HAVE_CLK
+       select COMMON_CLK
 
 config ARCH_PXA310
-       bool
-
-choice
-       prompt "Intel/Marvell PXA Processor"
-
-config ARCH_PXA25X
-       bool "PXA25x"
-       select ARCH_PXA2XX
-
-config ARCH_PXA27X
-       bool "PXA27x"
-       select ARCH_PXA2XX
-
-config ARCH_PXA3XX
-       bool "PXA3xx"
-
-endchoice
+       bool
 
 endif
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile
index 9249c8fe14..fbcc4b8859 100644
--- a/arch/arm/mach-pxa/Makefile
+++ b/arch/arm/mach-pxa/Makefile
@@ -1,12 +1,9 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
 obj-y += clocksource.o
+obj-y += sleep.o
 obj-y += common.o
 obj-y += gpio.o
 obj-y += devices.o
-obj-y += sleep.o
 
-obj-$(CONFIG_ARCH_PXA2XX) += mfp-pxa2xx.o pxa2xx.o
-obj-$(CONFIG_ARCH_PXA25X) += speed-pxa25x.o
-obj-$(CONFIG_ARCH_PXA27X) += speed-pxa27x.o
 obj-$(CONFIG_ARCH_PXA3XX) += speed-pxa3xx.o mfp-pxa3xx.o pxa3xx.o
diff --git a/arch/arm/mach-pxa/mfp-pxa2xx.c b/arch/arm/mach-pxa/mfp-pxa2xx.c
deleted file mode 100644
index aca46c45b3..0000000000
--- a/arch/arm/mach-pxa/mfp-pxa2xx.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- *  linux/arch/arm/mach-pxa/mfp-pxa2xx.c
- *
- *  PXA2xx pin mux configuration support
- *
- *  The GPIOs on PXA2xx can be configured as one of many alternate
- *  functions, this is by concept samilar to the MFP configuration
- *  on PXA3xx,  what's more important, the low power pin state and
- *  wakeup detection are also supported by the same framework.
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- */
-
-#include <common.h>
-#include <errno.h>
-#include <init.h>
-
-#include <mach/pxa/gpio.h>
-#include <mach/pxa/hardware.h>
-#include <mach/pxa/mfp-pxa2xx.h>
-#include <mach/pxa/pxa-regs.h>
-
-#define PGSR(x)                __REG2(0x40F00020, (x) << 2)
-#define __GAFR(u, x)   __REG2((u) ? 0x40E00058 : 0x40E00054, (x) << 3)
-#define GAFR_L(x)      __GAFR(0, x)
-#define GAFR_U(x)      __GAFR(1, x)
-
-struct gpio_desc {
-       unsigned        valid:1;
-       unsigned        dir_inverted:1;
-       unsigned long   config;
-};
-
-static struct gpio_desc gpio_desc[MFP_PIN_GPIO127 + 1];
-
-static unsigned long gpdr_lpm[4];
-
-static int __mfp_config_gpio(unsigned gpio, unsigned long c)
-{
-       unsigned long gafr, mask = GPIO_bit(gpio);
-       int bank = gpio_to_bank(gpio);
-       int uorl = !!(gpio & 0x10); /* GAFRx_U or GAFRx_L ? */
-       int shft = (gpio & 0xf) << 1;
-       int fn = MFP_AF(c);
-       int is_out = (c & MFP_DIR_OUT) ? 1 : 0;
-
-       if (fn > 3)
-               return -EINVAL;
-
-       /* alternate function and direction at run-time */
-       gafr = (uorl == 0) ? GAFR_L(bank) : GAFR_U(bank);
-       gafr = (gafr & ~(0x3 << shft)) | (fn << shft);
-
-       if (uorl == 0)
-               GAFR_L(bank) = gafr;
-       else
-               GAFR_U(bank) = gafr;
-
-       if (is_out ^ gpio_desc[gpio].dir_inverted)
-               GPDR(gpio) |= mask;
-       else
-               GPDR(gpio) &= ~mask;
-
-       /* alternate function and direction at low power mode */
-       switch (c & MFP_LPM_STATE_MASK) {
-       case MFP_LPM_DRIVE_HIGH:
-               PGSR(bank) |= mask;
-               is_out = 1;
-               break;
-       case MFP_LPM_DRIVE_LOW:
-               PGSR(bank) &= ~mask;
-               is_out = 1;
-               break;
-       case MFP_LPM_DEFAULT:
-               break;
-       default:
-               /* warning and fall through, treat as MFP_LPM_DEFAULT */
-               pr_warning("%s: GPIO%d: unsupported low power mode\n",
-                               __func__, gpio);
-               break;
-       }
-
-       if (is_out ^ gpio_desc[gpio].dir_inverted)
-               gpdr_lpm[bank] |= mask;
-       else
-               gpdr_lpm[bank] &= ~mask;
-
-       return 0;
-}
-
-static inline int __mfp_validate(int mfp)
-{
-       int gpio = mfp_to_gpio(mfp);
-
-       if ((mfp > MFP_PIN_GPIO127) || !gpio_desc[gpio].valid) {
-               pr_warning("%s: GPIO%d is invalid pin\n", __func__, gpio);
-               return -1;
-       }
-
-       return gpio;
-}
-
-void pxa2xx_mfp_config(unsigned long *mfp_cfgs, int num)
-{
-       unsigned long *c;
-       int i, gpio;
-
-       for (i = 0, c = mfp_cfgs; i < num; i++, c++) {
-
-               gpio = __mfp_validate(MFP_PIN(*c));
-               if (gpio < 0)
-                       continue;
-
-               gpio_desc[gpio].config = *c;
-               __mfp_config_gpio(gpio, *c);
-       }
-}
-
-void pxa2xx_mfp_set_lpm(int mfp, unsigned long lpm)
-{
-       unsigned long c;
-       int gpio;
-
-       gpio = __mfp_validate(mfp);
-       if (gpio < 0)
-               return;
-
-       c = gpio_desc[gpio].config;
-       c = (c & ~MFP_LPM_STATE_MASK) | lpm;
-       __mfp_config_gpio(gpio, c);
-}
-
-static void __init pxa25x_mfp_init(void)
-{
-       int i;
-
-       for (i = 0; i <= pxa_last_gpio; i++)
-               gpio_desc[i].valid = 1;
-
-       /* PXA26x has additional 4 GPIOs (86/87/88/89) which has the
-        * direction bit inverted in GPDR2. See PXA26x DM 4.1.1.
-        */
-       for (i = 86; i <= pxa_last_gpio; i++)
-               gpio_desc[i].dir_inverted = 1;
-}
-
-static void __init pxa27x_mfp_init(void)
-{
-       int i;
-
-       for (i = 0; i <= pxa_last_gpio; i++) {
-               /*
-                * skip GPIO2, 5, 6, 7, 8, they are not
-                * valid pins allow configuration
-                */
-               if (i == 2 || i == 5 || i == 6 || i == 7 || i == 8)
-                       continue;
-
-               gpio_desc[i].valid = 1;
-       }
-}
-
-static int __init pxa2xx_mfp_init(void)
-{
-       int i;
-
-       if (!cpu_is_pxa2xx())
-               return 0;
-
-       if (cpu_is_pxa25x()) {
-               pxa_init_gpio(0, 84);
-               pxa25x_mfp_init();
-       }
-
-       if (cpu_is_pxa27x()) {
-               pxa_init_gpio(2, 120);
-               pxa27x_mfp_init();
-       }
-
-       /* clear RDH bit to enable GPIO receivers after reset/sleep exit */
-       PSSR = PSSR_RDH;
-
-       /* initialize gafr_run[], pgsr_lpm[] from existing values */
-       for (i = 0; i <= gpio_to_bank(pxa_last_gpio); i++)
-               gpdr_lpm[i] = GPDR(i * 32);
-
-       return 0;
-}
-postcore_initcall(pxa2xx_mfp_init);
diff --git a/arch/arm/mach-pxa/pxa2xx.c b/arch/arm/mach-pxa/pxa2xx.c
deleted file mode 100644
index ee50dca7a9..0000000000
--- a/arch/arm/mach-pxa/pxa2xx.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * (C) Copyright 2014 Robert Jarzmik <[email protected]>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- */
-
-#include <common.h>
-#include <init.h>
-#include <poweroff.h>
-#include <reset_source.h>
-#include <mach/pxa/hardware.h>
-#include <mach/pxa/pxa-regs.h>
-
-extern void pxa_suspend(int mode);
-
-static int pxa_detect_reset_source(void)
-{
-       u32 reg = RCSR;
-
-       /*
-        * Order is important, as many bits can be set together
-        */
-       if (reg & RCSR_GPR)
-               reset_source_set(RESET_RST);
-       else if (reg & RCSR_WDR)
-               reset_source_set(RESET_WDG);
-       else if (reg & RCSR_HWR)
-               reset_source_set(RESET_POR);
-       else if (reg & RCSR_SMR)
-               reset_source_set(RESET_WKE);
-       else
-               reset_source_set(RESET_UKWN);
-
-       return 0;
-}
-
-void pxa_clear_reset_source(void)
-{
-       RCSR = RCSR_GPR | RCSR_SMR | RCSR_WDR | RCSR_HWR;
-}
-
-static void __noreturn pxa2xx_poweroff(struct poweroff_handler *handler,
-                                      unsigned long flags)
-{
-       shutdown_barebox();
-
-       /* Clear last reset source */
-       pxa_clear_reset_source();
-       pxa_suspend(PWRMODE_DEEPSLEEP);
-       unreachable();
-}
-
-static int pxa2xx_init(void)
-{
-       poweroff_handler_register_fn(pxa2xx_poweroff);
-
-       pxa_detect_reset_source();
-
-       return 0;
-}
-device_initcall(pxa2xx_init);
diff --git a/arch/arm/mach-pxa/sleep.S b/arch/arm/mach-pxa/sleep.S
index 3d12dc54de..7bf08275ef 100644
--- a/arch/arm/mach-pxa/sleep.S
+++ b/arch/arm/mach-pxa/sleep.S
@@ -14,40 +14,12 @@
 #include <linux/linkage.h>
 #include <asm/assembler.h>
 #include <mach/pxa/hardware.h>
-#include <mach/pxa/pxa2xx-regs.h>
 
 #define MDREFR_KDIV    0x200a4000      // all banks
 #define CCCR_SLEEP     0x00000107      // L=7 2N=2 A=0 PPDIS=0 CPDIS=0
 #define UNCACHED_PHYS_0        0
                .text
 
-#if (defined CONFIG_ARCH_PXA27X || defined CONFIG_ARCH_PXA25X)
-/*
- * pxa27x_finish_suspend()
- *
- * Forces CPU into sleep state.
- *
- * r0 = value for PWRMODE M field for desired sleep state
- */
-ENTRY(pxa_suspend)
-       @ Put the processor to sleep
-       @ (also workaround for sighting 28071)
-
-       @ prepare value for sleep mode
-       mov     r1, r0                          @ sleep mode
-
-       @ Intel PXA270 Specification Update notes problems sleeping
-       @ with core operating above 91 MHz
-       @ (see Errata 50, ...processor does not exit from sleep...)
-       ldr     r6, =CCCR
-       ldr     r8, [r6]                @ keep original value for resume
-
-       ldr     r7, =CCCR_SLEEP         @ prepare CCCR sleep value
-       mov     r0, #0x2                @ prepare value for CLKCFG
-
-       @ align execution to a cache line
-       b       pxa_cpu_do_suspend
-#endif
 
 
        .ltorg
diff --git a/arch/arm/mach-pxa/speed-pxa25x.c b/arch/arm/mach-pxa/speed-pxa25x.c
deleted file mode 100644
index de3d5c251c..0000000000
--- a/arch/arm/mach-pxa/speed-pxa25x.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * clock.h - implementation of the PXA clock functions
- *
- * Copyright (C) 2014 Robert Jarzmik <[email protected]>
- *
- * This file is released under the GPLv2
- *
- */
-
-#include <common.h>
-#include <mach/pxa/clock.h>
-#include <mach/pxa/pxa-regs.h>
-
-/* Crystal clock: 13MHz */
-#define BASE_CLK       13000000
-
-unsigned long pxa_get_uartclk(void)
-{
-       return 14857000;
-}
-
-unsigned long pxa_get_mmcclk(void)
-{
-       return 19500000;
-}
-
-/*
- * Return the current LCD clock frequency in units of 10kHz as
- */
-static unsigned int pxa_get_lcdclk_10khz(void)
-{
-       unsigned long ccsr;
-       unsigned int l, L, k, K;
-
-       ccsr = CCSR;
-
-       l = ccsr & 0x1f;
-       k = (l <= 7) ? 1 : (l <= 16) ? 2 : 4;
-
-       L = l * BASE_CLK;
-       K = L / k;
-
-       return (K / 10000);
-}
-
-unsigned long pxa_get_lcdclk(void)
-{
-       return pxa_get_lcdclk_10khz() * 10000;
-}
-
-unsigned long pxa_get_pwmclk(void)
-{
-       return BASE_CLK;
-}
diff --git a/arch/arm/mach-pxa/speed-pxa27x.c b/arch/arm/mach-pxa/speed-pxa27x.c
deleted file mode 100644
index 5441dc3d70..0000000000
--- a/arch/arm/mach-pxa/speed-pxa27x.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * clock.h - implementation of the PXA clock functions
- *
- * Copyright (C) 2010 by Marc Kleine-Budde <[email protected]>
- *
- * This file is released under the GPLv2
- *
- */
-
-#include <common.h>
-#include <mach/pxa/clock.h>
-#include <mach/pxa/pxa-regs.h>
-
-/* Crystal clock: 13MHz */
-#define BASE_CLK       13000000
-
-unsigned long pxa_get_uartclk(void)
-{
-       return 14857000;
-}
-
-unsigned long pxa_get_mmcclk(void)
-{
-       return 19500000;
-}
-
-/*
- * Return the current LCD clock frequency in units of 10kHz as
- */
-static unsigned int pxa_get_lcdclk_10khz(void)
-{
-       unsigned long ccsr;
-       unsigned int l, L, k, K;
-
-       ccsr = CCSR;
-
-       l = ccsr & 0x1f;
-       k = (l <= 7) ? 1 : (l <= 16) ? 2 : 4;
-
-       L = l * BASE_CLK;
-       K = L / k;
-
-       return (K / 10000);
-}
-
-unsigned long pxa_get_lcdclk(void)
-{
-       return pxa_get_lcdclk_10khz() * 10000;
-}
-
-unsigned long pxa_get_pwmclk(void)
-{
-       return BASE_CLK;
-}
diff --git a/drivers/mci/pxamci.c b/drivers/mci/pxamci.c
index f337ea48ef..1f2aaf2031 100644
--- a/drivers/mci/pxamci.c
+++ b/drivers/mci/pxamci.c
@@ -216,20 +216,8 @@ static int pxamci_cmd_response(struct pxamci_host *host, 
struct mci_cmd *cmd)
        stat = mmc_readl(MMC_STAT);
        if (stat & STAT_TIME_OUT_RESPONSE)
                return -ETIMEDOUT;
-       if (stat & STAT_RES_CRC_ERR && cmd->resp_type & MMC_RSP_CRC) {
-               /*
-                * workaround for erratum #42:
-                * Intel PXA27x Family Processor Specification Update Rev 001
-                * A bogus CRC error can appear if the msb of a 136 bit
-                * response is a one.
-                */
-               if (cpu_is_pxa27x() && cmd->resp_type & MMC_RSP_136 &&
-                   cmd->response[0] & 0x80000000)
-                       pr_debug("ignoring CRC from command %d - *risky*\n",
-                                cmd->cmdidx);
-               else
-                       return -EILSEQ;
-       }
+       if (stat & STAT_RES_CRC_ERR && cmd->resp_type & MMC_RSP_CRC)
+               return -EILSEQ;
 
        return 0;
 }
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index 517255f477..365238930c 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -24,13 +24,6 @@ config USB_GADGET_DRIVER_AT91
        default y
        select USB_GADGET_DUALSPEED
 
-config USB_GADGET_DRIVER_PXA27X
-       bool
-       prompt "PXA27x gadget driver"
-       depends on ARCH_PXA27X
-       default y
-       select USB_GADGET_DUALSPEED
-
 config USB_GADGET_AUTOSTART
        bool
        default y
diff --git a/drivers/usb/gadget/udc/Makefile b/drivers/usb/gadget/udc/Makefile
index 6e79e80cfa..db5f5faaa7 100644
--- a/drivers/usb/gadget/udc/Makefile
+++ b/drivers/usb/gadget/udc/Makefile
@@ -4,4 +4,3 @@ obj-$(CONFIG_USB_GADGET) += core.o
 
 obj-$(CONFIG_USB_GADGET_DRIVER_ARC) += fsl_udc.o
 obj-$(CONFIG_USB_GADGET_DRIVER_AT91) += at91_udc.o
-obj-$(CONFIG_USB_GADGET_DRIVER_PXA27X) += pxa27x_udc.o
diff --git a/drivers/usb/gadget/udc/pxa27x_udc.c 
b/drivers/usb/gadget/udc/pxa27x_udc.c
deleted file mode 100644
index 20148f4878..0000000000
--- a/drivers/usb/gadget/udc/pxa27x_udc.c
+++ /dev/null
@@ -1,1469 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- * Handles the Intel 27x USB Device Controller (UDC)
- *
- * Inspired by original driver by Frank Becker, David Brownell, and others.
- * Copyright (C) 2008 Robert Jarzmik
- *
- * Taken from linux-2.6 kernel and adapted to barebox.
- */
-#include <common.h>
-#include <errno.h>
-#include <clock.h>
-#include <io.h>
-#include <gpio.h>
-#include <init.h>
-
-#include <linux/usb/ch9.h>
-#include <linux/usb/gadget.h>
-
-#include "pxa27x_udc.h"
-#include <mach/pxa/udc_pxa2xx.h>
-#include <mach/pxa/pxa-regs.h>
-
-#define        DRIVER_VERSION  "2008-04-18"
-#define        DRIVER_DESC     "PXA 27x USB Device Controller driver"
-
-static const char driver_name[] = "pxa27x_udc";
-static struct pxa_udc *the_controller;
-
-static void handle_ep(struct pxa_ep *ep);
-
-static int is_match_usb_pxa(struct udc_usb_ep *udc_usb_ep, struct pxa_ep *ep,
-               int config, int interface, int altsetting)
-{
-       if (usb_endpoint_num(&udc_usb_ep->desc) != ep->addr)
-               return 0;
-       if (usb_endpoint_dir_in(&udc_usb_ep->desc) != ep->dir_in)
-               return 0;
-       if (usb_endpoint_type(&udc_usb_ep->desc) != ep->type)
-               return 0;
-       if ((ep->config != config) || (ep->interface != interface)
-                       || (ep->alternate != altsetting))
-               return 0;
-       return 1;
-}
-
-static struct pxa_ep *find_pxa_ep(struct pxa_udc *udc,
-               struct udc_usb_ep *udc_usb_ep)
-{
-       int i;
-       struct pxa_ep *ep;
-       int cfg = udc->config;
-       int iface = udc->last_interface;
-       int alt = udc->last_alternate;
-
-       if (udc_usb_ep == &udc->udc_usb_ep[0])
-               return &udc->pxa_ep[0];
-
-       for (i = 1; i < NR_PXA_ENDPOINTS; i++) {
-               ep = &udc->pxa_ep[i];
-               if (is_match_usb_pxa(udc_usb_ep, ep, cfg, iface, alt))
-                       return ep;
-       }
-       return NULL;
-}
-
-static void update_pxa_ep_matches(struct pxa_udc *udc)
-{
-       int i;
-       struct udc_usb_ep *udc_usb_ep;
-
-       for (i = 1; i < NR_USB_ENDPOINTS; i++) {
-               udc_usb_ep = &udc->udc_usb_ep[i];
-               if (udc_usb_ep->pxa_ep)
-                       udc_usb_ep->pxa_ep = find_pxa_ep(udc, udc_usb_ep);
-       }
-}
-
-static void pio_irq_enable(struct pxa_ep *ep)
-{
-       struct pxa_udc *udc = ep->dev;
-       int index = EPIDX(ep);
-       u32 udcicr0 = udc_readl(udc, UDCICR0);
-       u32 udcicr1 = udc_readl(udc, UDCICR1);
-
-       if (index < 16)
-               udc_writel(udc, UDCICR0, udcicr0 | (3 << (index * 2)));
-       else
-               udc_writel(udc, UDCICR1, udcicr1 | (3 << ((index - 16) * 2)));
-}
-
-static void pio_irq_disable(struct pxa_ep *ep)
-{
-       struct pxa_udc *udc = ep->dev;
-       int index = EPIDX(ep);
-       u32 udcicr0 = udc_readl(udc, UDCICR0);
-       u32 udcicr1 = udc_readl(udc, UDCICR1);
-
-       if (index < 16)
-               udc_writel(udc, UDCICR0, udcicr0 & ~(3 << (index * 2)));
-       else
-               udc_writel(udc, UDCICR1, udcicr1 & ~(3 << ((index - 16) * 2)));
-}
-
-static inline void udc_set_mask_UDCCR(struct pxa_udc *udc, int mask)
-{
-       u32 udccr = udc_readl(udc, UDCCR);
-       udc_writel(udc, UDCCR,
-                       (udccr & UDCCR_MASK_BITS) | (mask & UDCCR_MASK_BITS));
-}
-
-static inline void udc_clear_mask_UDCCR(struct pxa_udc *udc, int mask)
-{
-       u32 udccr = udc_readl(udc, UDCCR);
-       udc_writel(udc, UDCCR,
-                       (udccr & UDCCR_MASK_BITS) & ~(mask & UDCCR_MASK_BITS));
-}
-
-static inline void ep_write_UDCCSR(struct pxa_ep *ep, int mask)
-{
-       if (is_ep0(ep))
-               mask |= UDCCSR0_ACM;
-       udc_ep_writel(ep, UDCCSR, mask);
-}
-
-static int ep_count_bytes_remain(struct pxa_ep *ep)
-{
-       if (ep->dir_in)
-               return -EOPNOTSUPP;
-       return udc_ep_readl(ep, UDCBCR) & 0x3ff;
-}
-
-static int ep_is_empty(struct pxa_ep *ep)
-{
-       int ret;
-
-       if (!is_ep0(ep) && ep->dir_in)
-               return -EOPNOTSUPP;
-       if (is_ep0(ep))
-               ret = !(udc_ep_readl(ep, UDCCSR) & UDCCSR0_RNE);
-       else
-               ret = !(udc_ep_readl(ep, UDCCSR) & UDCCSR_BNE);
-       return ret;
-}
-
-static int ep_is_full(struct pxa_ep *ep)
-{
-       if (is_ep0(ep))
-               return udc_ep_readl(ep, UDCCSR) & UDCCSR0_IPR;
-       if (!ep->dir_in)
-               return -EOPNOTSUPP;
-       return !(udc_ep_readl(ep, UDCCSR) & UDCCSR_BNF);
-}
-
-static int epout_has_pkt(struct pxa_ep *ep)
-{
-       if (!is_ep0(ep) && ep->dir_in)
-               return -EOPNOTSUPP;
-       if (is_ep0(ep))
-               return udc_ep_readl(ep, UDCCSR) & UDCCSR0_OPC;
-       return udc_ep_readl(ep, UDCCSR) & UDCCSR_PC;
-}
-
-static void set_ep0state(struct pxa_udc *udc, int state)
-{
-       struct pxa_ep *ep = &udc->pxa_ep[0];
-       char *old_stname = EP0_STNAME(udc);
-
-       udc->ep0state = state;
-       ep_dbg(ep, "state=%s->%s, udccsr0=0x%03x, udcbcr=%d\n", old_stname,
-               EP0_STNAME(udc), udc_ep_readl(ep, UDCCSR),
-               udc_ep_readl(ep, UDCBCR));
-}
-
-static void ep0_idle(struct pxa_udc *dev)
-{
-       set_ep0state(dev, WAIT_FOR_SETUP);
-}
-
-static __init void pxa_ep_setup(struct pxa_ep *ep)
-{
-       u32 new_udccr;
-
-       new_udccr = ((ep->config << UDCCONR_CN_S) & UDCCONR_CN)
-               | ((ep->interface << UDCCONR_IN_S) & UDCCONR_IN)
-               | ((ep->alternate << UDCCONR_AISN_S) & UDCCONR_AISN)
-               | ((EPADDR(ep) << UDCCONR_EN_S) & UDCCONR_EN)
-               | ((EPXFERTYPE(ep) << UDCCONR_ET_S) & UDCCONR_ET)
-               | ((ep->dir_in) ? UDCCONR_ED : 0)
-               | ((ep->fifo_size << UDCCONR_MPS_S) & UDCCONR_MPS)
-               | UDCCONR_EE;
-
-       udc_ep_writel(ep, UDCCR, new_udccr);
-}
-
-static __init void pxa_eps_setup(struct pxa_udc *dev)
-{
-       unsigned int i;
-
-       dev_dbg(dev->dev, "%s: dev=%p\n", __func__, dev);
-
-       for (i = 1; i < NR_PXA_ENDPOINTS; i++)
-               pxa_ep_setup(&dev->pxa_ep[i]);
-}
-
-static struct usb_request *pxa_ep_alloc_request(struct usb_ep *_ep)
-{
-       struct pxa27x_request *req;
-
-       req = xzalloc(sizeof *req);
-
-       INIT_LIST_HEAD(&req->queue);
-       req->in_use = 0;
-       req->udc_usb_ep = container_of(_ep, struct udc_usb_ep, usb_ep);
-
-       return &req->req;
-}
-
-static void pxa_ep_free_request(struct usb_ep *_ep, struct usb_request *_req)
-{
-       struct pxa27x_request *req;
-
-       req = container_of(_req, struct pxa27x_request, req);
-       WARN_ON(!list_empty(&req->queue));
-       kfree(req);
-}
-
-static void ep_add_request(struct pxa_ep *ep, struct pxa27x_request *req)
-{
-       if (unlikely(!req))
-               return;
-       ep_vdbg(ep, "req:%p, lg=%d, udccsr=0x%03x\n", req,
-               req->req.length, udc_ep_readl(ep, UDCCSR));
-
-       req->in_use = 1;
-       list_add_tail(&req->queue, &ep->queue);
-       pio_irq_enable(ep);
-}
-
-static void ep_del_request(struct pxa_ep *ep, struct pxa27x_request *req)
-{
-       if (unlikely(!req))
-               return;
-       ep_vdbg(ep, "req:%p, lg=%d, udccsr=0x%03x\n", req,
-               req->req.length, udc_ep_readl(ep, UDCCSR));
-
-       list_del_init(&req->queue);
-       req->in_use = 0;
-       if (!is_ep0(ep) && list_empty(&ep->queue))
-               pio_irq_disable(ep);
-}
-
-static void req_done(struct pxa_ep *ep, struct pxa27x_request *req, int status)
-{
-       ep_del_request(ep, req);
-       if (likely(req->req.status == -EINPROGRESS))
-               req->req.status = status;
-       else
-               status = req->req.status;
-
-       if (status && status != -ESHUTDOWN)
-               ep_dbg(ep, "complete req %p stat %d len %u/%u\n",
-                       &req->req, status,
-                       req->req.actual, req->req.length);
-
-       req->req.complete(&req->udc_usb_ep->usb_ep, &req->req);
-}
-
-static void ep_end_out_req(struct pxa_ep *ep, struct pxa27x_request *req)
-{
-       req_done(ep, req, 0);
-}
-
-static void ep0_end_out_req(struct pxa_ep *ep, struct pxa27x_request *req)
-{
-       set_ep0state(ep->dev, OUT_STATUS_STAGE);
-       ep_end_out_req(ep, req);
-       ep0_idle(ep->dev);
-}
-
-static void ep_end_in_req(struct pxa_ep *ep, struct pxa27x_request *req)
-{
-       req_done(ep, req, 0);
-}
-
-static void ep0_end_in_req(struct pxa_ep *ep, struct pxa27x_request *req)
-{
-       set_ep0state(ep->dev, IN_STATUS_STAGE);
-       ep_end_in_req(ep, req);
-}
-
-static void nuke(struct pxa_ep *ep, int status)
-{
-       struct pxa27x_request   *req;
-
-       while (!list_empty(&ep->queue)) {
-               req = list_entry(ep->queue.next, struct pxa27x_request, queue);
-               req_done(ep, req, status);
-       }
-}
-
-static int read_packet(struct pxa_ep *ep, struct pxa27x_request *req)
-{
-       u32 *buf;
-       int bytes_ep, bufferspace, count, i;
-
-       bytes_ep = ep_count_bytes_remain(ep);
-       bufferspace = req->req.length - req->req.actual;
-
-       buf = (u32 *)(req->req.buf + req->req.actual);
-
-       if (likely(!ep_is_empty(ep)))
-               count = min(bytes_ep, bufferspace);
-       else /* zlp */
-               count = 0;
-
-       for (i = count; i > 0; i -= 4)
-               *buf++ = udc_ep_readl(ep, UDCDR);
-       req->req.actual += count;
-
-       ep_write_UDCCSR(ep, UDCCSR_PC);
-
-       return count;
-}
-
-static int write_packet(struct pxa_ep *ep, struct pxa27x_request *req,
-                       unsigned int max)
-{
-       int length, count, remain, i;
-       u32 *buf;
-       u8 *buf_8;
-
-       buf = (u32 *)(req->req.buf + req->req.actual);
-
-       length = min(req->req.length - req->req.actual, max);
-       req->req.actual += length;
-
-       remain = length & 0x3;
-       count = length & ~(0x3);
-       for (i = count; i > 0 ; i -= 4)
-               udc_ep_writel(ep, UDCDR, *buf++);
-
-       buf_8 = (u8 *)buf;
-       for (i = remain; i > 0; i--)
-               udc_ep_writeb(ep, UDCDR, *buf_8++);
-
-       ep_vdbg(ep, "length=%d+%d, udccsr=0x%03x\n", count, remain,
-               udc_ep_readl(ep, UDCCSR));
-
-       return length;
-}
-
-static int read_fifo(struct pxa_ep *ep, struct pxa27x_request *req)
-{
-       int count, is_short, completed = 0;
-
-       while (epout_has_pkt(ep)) {
-               count = read_packet(ep, req);
-
-               is_short = (count < ep->fifo_size);
-               ep_dbg(ep, "read udccsr:%03x, count:%d bytes%s req %p %d/%d\n",
-                       udc_ep_readl(ep, UDCCSR), count, is_short ? "/S" : "",
-                       &req->req, req->req.actual, req->req.length);
-
-               /* completion */
-               if (is_short || req->req.actual == req->req.length) {
-                       completed = 1;
-                       break;
-               }
-               /* finished that packet.  the next one may be waiting... */
-       }
-       return completed;
-}
-
-static int write_fifo(struct pxa_ep *ep, struct pxa27x_request *req)
-{
-       unsigned max;
-       int count, is_short, is_last = 0, completed = 0, totcount = 0;
-       u32 udccsr;
-
-       max = ep->fifo_size;
-       do {
-               is_short = 0;
-
-               udccsr = udc_ep_readl(ep, UDCCSR);
-               if (udccsr & UDCCSR_PC) {
-                       ep_vdbg(ep, "Clearing Transmit Complete, udccsr=%x\n",
-                               udccsr);
-                       ep_write_UDCCSR(ep, UDCCSR_PC);
-               }
-               if (udccsr & UDCCSR_TRN) {
-                       ep_vdbg(ep, "Clearing Underrun on, udccsr=%x\n",
-                               udccsr);
-                       ep_write_UDCCSR(ep, UDCCSR_TRN);
-               }
-
-               count = write_packet(ep, req, max);
-               totcount += count;
-
-               /* last packet is usually short (or a zlp) */
-               if (unlikely(count < max)) {
-                       is_last = 1;
-                       is_short = 1;
-               } else {
-                       if (likely(req->req.length > req->req.actual)
-                                       || req->req.zero)
-                               is_last = 0;
-                       else
-                               is_last = 1;
-                       /* interrupt/iso maxpacket may not fill the fifo */
-                       is_short = unlikely(max < ep->fifo_size);
-               }
-
-               if (is_short)
-                       ep_write_UDCCSR(ep, UDCCSR_SP);
-
-               /* requests complete when all IN data is in the FIFO */
-               if (is_last) {
-                       completed = 1;
-                       break;
-               }
-       } while (!ep_is_full(ep));
-
-       ep_dbg(ep, "wrote count:%d bytes%s%s, left:%d req=%p\n",
-                       totcount, is_last ? "/L" : "", is_short ? "/S" : "",
-                       req->req.length - req->req.actual, &req->req);
-
-       return completed;
-}
-
-static int read_ep0_fifo(struct pxa_ep *ep, struct pxa27x_request *req)
-{
-       int count, is_short, completed = 0;
-
-       while (epout_has_pkt(ep)) {
-               count = read_packet(ep, req);
-               ep_write_UDCCSR(ep, UDCCSR0_OPC);
-
-               is_short = (count < ep->fifo_size);
-               ep_dbg(ep, "read udccsr:%03x, count:%d bytes%s req %p %d/%d\n",
-                       udc_ep_readl(ep, UDCCSR), count, is_short ? "/S" : "",
-                       &req->req, req->req.actual, req->req.length);
-
-               if (is_short || req->req.actual >= req->req.length) {
-                       completed = 1;
-                       break;
-               }
-       }
-
-       return completed;
-}
-
-static int write_ep0_fifo(struct pxa_ep *ep, struct pxa27x_request *req)
-{
-       unsigned        count;
-       int             is_last, is_short;
-
-       count = write_packet(ep, req, EP0_FIFO_SIZE);
-
-       is_short = (count < EP0_FIFO_SIZE);
-       is_last = ((count == 0) || (count < EP0_FIFO_SIZE));
-
-       /* Sends either a short packet or a 0 length packet */
-       if (unlikely(is_short))
-               ep_write_UDCCSR(ep, UDCCSR0_IPR);
-
-       ep_dbg(ep, "in %d bytes%s%s, %d left, req=%p, udccsr0=0x%03x\n",
-               count, is_short ? "/S" : "", is_last ? "/L" : "",
-               req->req.length - req->req.actual,
-               &req->req, udc_ep_readl(ep, UDCCSR));
-
-       return is_last;
-}
-
-static int pxa_ep_queue(struct usb_ep *_ep, struct usb_request *_req)
-{
-       struct udc_usb_ep       *udc_usb_ep;
-       struct pxa_ep           *ep;
-       struct pxa27x_request   *req;
-       struct pxa_udc          *dev;
-       int                     rc = 0;
-       int                     is_first_req;
-       unsigned                length;
-
-       req = container_of(_req, struct pxa27x_request, req);
-       udc_usb_ep = container_of(_ep, struct udc_usb_ep, usb_ep);
-
-       if (unlikely(!_req || !_req->complete || !_req->buf))
-               return -EINVAL;
-
-       if (unlikely(!_ep))
-               return -EINVAL;
-
-       dev = udc_usb_ep->dev;
-       ep = udc_usb_ep->pxa_ep;
-       if (unlikely(!ep))
-               return -EINVAL;
-
-       dev = ep->dev;
-       if (unlikely(!dev->driver || dev->gadget.speed == USB_SPEED_UNKNOWN)) {
-               ep_dbg(ep, "bogus device state\n");
-               return -ESHUTDOWN;
-       }
-
-       /* iso is always one packet per request, that's the only way
-        * we can report per-packet status.  that also helps with dma.
-        */
-       if (unlikely(EPXFERTYPE_is_ISO(ep)
-                       && req->req.length > ep->fifo_size))
-               return -EMSGSIZE;
-
-       is_first_req = list_empty(&ep->queue);
-       ep_dbg(ep, "queue req %p(first=%s), len %d buf %p\n",
-                       _req, is_first_req ? "yes" : "no",
-                       _req->length, _req->buf);
-
-       if (!ep->enabled) {
-               _req->status = -ESHUTDOWN;
-               rc = -ESHUTDOWN;
-               goto out_locked;
-       }
-
-       if (req->in_use) {
-               ep_err(ep, "refusing to queue req %p (already queued)\n", req);
-               goto out_locked;
-       }
-
-       length = _req->length;
-       _req->status = -EINPROGRESS;
-       _req->actual = 0;
-
-       ep_add_request(ep, req);
-
-       if (is_ep0(ep)) {
-               switch (dev->ep0state) {
-               case WAIT_ACK_SET_CONF_INTERF:
-                       if (length == 0) {
-                               ep_end_in_req(ep, req);
-                       } else {
-                               ep_err(ep, "got a request of %d bytes while"
-                                       "in state WAIT_ACK_SET_CONF_INTERF\n",
-                                       length);
-                               ep_del_request(ep, req);
-                               rc = -EL2HLT;
-                       }
-                       ep0_idle(ep->dev);
-                       break;
-               case IN_DATA_STAGE:
-                       if (!ep_is_full(ep))
-                               if (write_ep0_fifo(ep, req))
-                                       ep0_end_in_req(ep, req);
-                       break;
-               case OUT_DATA_STAGE:
-                       if ((length == 0) || !epout_has_pkt(ep))
-                               if (read_ep0_fifo(ep, req))
-                                       ep0_end_out_req(ep, req);
-                       break;
-               default:
-                       ep_err(ep, "odd state %s to send me a request\n",
-                               EP0_STNAME(ep->dev));
-                       ep_del_request(ep, req);
-                       rc = -EL2HLT;
-                       break;
-               }
-       } else {
-               handle_ep(ep);
-       }
-
-out:
-       return rc;
-out_locked:
-       goto out;
-}
-
-static int pxa_ep_dequeue(struct usb_ep *_ep, struct usb_request *_req)
-{
-       struct pxa_ep           *ep;
-       struct udc_usb_ep       *udc_usb_ep;
-       struct pxa27x_request   *req;
-       int                     rc = -EINVAL;
-
-       if (!_ep)
-               return rc;
-       udc_usb_ep = container_of(_ep, struct udc_usb_ep, usb_ep);
-       ep = udc_usb_ep->pxa_ep;
-       if (!ep || is_ep0(ep))
-               return rc;
-
-       /* make sure it's actually queued on this endpoint */
-       list_for_each_entry(req, &ep->queue, queue) {
-               if (&req->req == _req) {
-                       rc = 0;
-                       break;
-               }
-       }
-
-       if (!rc)
-               req_done(ep, req, -ECONNRESET);
-       return rc;
-}
-
-static int pxa_ep_set_halt(struct usb_ep *_ep, int value)
-{
-       struct pxa_ep           *ep;
-       struct udc_usb_ep       *udc_usb_ep;
-       int rc;
-
-
-       if (!_ep)
-               return -EINVAL;
-       udc_usb_ep = container_of(_ep, struct udc_usb_ep, usb_ep);
-       ep = udc_usb_ep->pxa_ep;
-       if (!ep || is_ep0(ep))
-               return -EINVAL;
-
-       if (value == 0) {
-               /*
-                * This path (reset toggle+halt) is needed to implement
-                * SET_INTERFACE on normal hardware.  but it can't be
-                * done from software on the PXA UDC, and the hardware
-                * forgets to do it as part of SET_INTERFACE automagic.
-                */
-               ep_dbg(ep, "only host can clear halt\n");
-               return -EROFS;
-       }
-
-       rc = -EAGAIN;
-       if (ep->dir_in  && (ep_is_full(ep) || !list_empty(&ep->queue)))
-               goto out;
-
-       /* FST, FEF bits are the same for control and non control endpoints */
-       rc = 0;
-       ep_write_UDCCSR(ep, UDCCSR_FST | UDCCSR_FEF);
-       if (is_ep0(ep))
-               set_ep0state(ep->dev, STALL);
-
-out:
-       return rc;
-}
-
-static int pxa_ep_fifo_status(struct usb_ep *_ep)
-{
-       struct pxa_ep           *ep;
-       struct udc_usb_ep       *udc_usb_ep;
-
-       if (!_ep)
-               return -ENODEV;
-       udc_usb_ep = container_of(_ep, struct udc_usb_ep, usb_ep);
-       ep = udc_usb_ep->pxa_ep;
-       if (!ep || is_ep0(ep))
-               return -ENODEV;
-
-       if (ep->dir_in)
-               return -EOPNOTSUPP;
-       if (ep->dev->gadget.speed == USB_SPEED_UNKNOWN || ep_is_empty(ep))
-               return 0;
-       else
-               return ep_count_bytes_remain(ep) + 1;
-}
-
-static void pxa_ep_fifo_flush(struct usb_ep *_ep)
-{
-       struct pxa_ep           *ep;
-       struct udc_usb_ep       *udc_usb_ep;
-
-       if (!_ep)
-               return;
-       udc_usb_ep = container_of(_ep, struct udc_usb_ep, usb_ep);
-       ep = udc_usb_ep->pxa_ep;
-       if (!ep || is_ep0(ep))
-               return;
-
-       if (unlikely(!list_empty(&ep->queue)))
-               ep_dbg(ep, "called while queue list not empty\n");
-       ep_dbg(ep, "called\n");
-
-       /* for OUT, just read and discard the FIFO contents. */
-       if (!ep->dir_in) {
-               while (!ep_is_empty(ep))
-                       udc_ep_readl(ep, UDCDR);
-       } else {
-               /* most IN status is the same, but ISO can't stall */
-               ep_write_UDCCSR(ep,
-                               UDCCSR_PC | UDCCSR_FEF | UDCCSR_TRN
-                               | (EPXFERTYPE_is_ISO(ep) ? 0 : UDCCSR_SST));
-       }
-}
-
-static int pxa_ep_enable(struct usb_ep *_ep,
-       const struct usb_endpoint_descriptor *desc)
-{
-       struct pxa_ep           *ep;
-       struct udc_usb_ep       *udc_usb_ep;
-       struct pxa_udc          *udc;
-
-       if (!_ep || !desc)
-               return -EINVAL;
-
-       udc_usb_ep = container_of(_ep, struct udc_usb_ep, usb_ep);
-       if (udc_usb_ep->pxa_ep) {
-               ep = udc_usb_ep->pxa_ep;
-               ep_warn(ep, "usb_ep %s already enabled, doing nothing\n",
-                       _ep->name);
-       } else {
-               ep = find_pxa_ep(udc_usb_ep->dev, udc_usb_ep);
-       }
-
-       if (!ep || is_ep0(ep)) {
-               dev_err(udc_usb_ep->dev->dev,
-                       "unable to match pxa_ep for ep %s\n",
-                       _ep->name);
-               return -EINVAL;
-       }
-
-       if ((desc->bDescriptorType != USB_DT_ENDPOINT)
-                       || (ep->type != usb_endpoint_type(desc))) {
-               ep_err(ep, "type mismatch\n");
-               return -EINVAL;
-       }
-
-       if (ep->fifo_size < le16_to_cpu(desc->wMaxPacketSize)) {
-               ep_err(ep, "bad maxpacket\n");
-               return -ERANGE;
-       }
-
-       udc_usb_ep->pxa_ep = ep;
-       udc = ep->dev;
-
-       if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) {
-               ep_err(ep, "bogus device state\n");
-               return -ESHUTDOWN;
-       }
-
-       ep->enabled = 1;
-
-       /* flush fifo (mostly for OUT buffers) */
-       pxa_ep_fifo_flush(_ep);
-
-       ep_dbg(ep, "enabled\n");
-       return 0;
-}
-
-static int pxa_ep_disable(struct usb_ep *_ep)
-{
-       struct pxa_ep           *ep;
-       struct udc_usb_ep       *udc_usb_ep;
-
-       if (!_ep)
-               return -EINVAL;
-
-       udc_usb_ep = container_of(_ep, struct udc_usb_ep, usb_ep);
-       ep = udc_usb_ep->pxa_ep;
-       if (!ep || is_ep0(ep) || !list_empty(&ep->queue))
-               return -EINVAL;
-
-       ep->enabled = 0;
-       nuke(ep, -ESHUTDOWN);
-
-       pxa_ep_fifo_flush(_ep);
-       udc_usb_ep->pxa_ep = NULL;
-
-       ep_dbg(ep, "disabled\n");
-       return 0;
-}
-
-static struct usb_ep_ops pxa_ep_ops = {
-       .enable         = pxa_ep_enable,
-       .disable        = pxa_ep_disable,
-
-       .alloc_request  = pxa_ep_alloc_request,
-       .free_request   = pxa_ep_free_request,
-
-       .queue          = pxa_ep_queue,
-       .dequeue        = pxa_ep_dequeue,
-
-       .set_halt       = pxa_ep_set_halt,
-       .fifo_status    = pxa_ep_fifo_status,
-       .fifo_flush     = pxa_ep_fifo_flush,
-};
-
-static void dplus_pullup(struct pxa_udc *udc, int on)
-{
-       if (on) {
-               if (udc->mach->gpio_pullup > 0)
-                       gpio_set_value(udc->mach->gpio_pullup,
-                                      !udc->mach->gpio_pullup_inverted);
-               if (udc->mach->udc_command)
-                       udc->mach->udc_command(PXA2XX_UDC_CMD_CONNECT);
-       } else {
-               if (udc->mach->gpio_pullup > 0)
-                       gpio_set_value(udc->mach->gpio_pullup,
-                                      udc->mach->gpio_pullup_inverted);
-               if (udc->mach->udc_command)
-                       udc->mach->udc_command(PXA2XX_UDC_CMD_DISCONNECT);
-       }
-       udc->pullup_on = on;
-}
-
-/**
- * pxa_udc_get_frame - Returns usb frame number
- * @_gadget: usb gadget
- */
-static int pxa_udc_get_frame(struct usb_gadget *_gadget)
-{
-       struct pxa_udc *udc = to_gadget_udc(_gadget);
-
-       return udc_readl(udc, UDCFNR) & 0x7ff;
-}
-
-static int pxa_udc_wakeup(struct usb_gadget *_gadget)
-{
-       struct pxa_udc *udc = to_gadget_udc(_gadget);
-
-       /* host may not have enabled remote wakeup */
-       if ((udc_readl(udc, UDCCR) & UDCCR_DWRE) == 0)
-               return -EHOSTUNREACH;
-       udc_set_mask_UDCCR(udc, UDCCR_UDR);
-       return 0;
-}
-
-static void udc_enable(struct pxa_udc *udc);
-static void udc_disable(struct pxa_udc *udc);
-
-static int should_enable_udc(struct pxa_udc *udc)
-{
-       int put_on;
-
-       put_on = ((udc->pullup_on) && (udc->driver));
-       put_on &= udc->vbus_sensed;
-       return put_on;
-}
-
-static int should_disable_udc(struct pxa_udc *udc)
-{
-       int put_off;
-
-       put_off = ((!udc->pullup_on) || (!udc->driver));
-       put_off |= !udc->vbus_sensed;
-       return put_off;
-}
-
-static int pxa_udc_pullup(struct usb_gadget *_gadget, int is_active)
-{
-       struct pxa_udc *udc = to_gadget_udc(_gadget);
-
-       if ((udc->mach->gpio_pullup < 0) && !udc->mach->udc_command)
-               return -EOPNOTSUPP;
-
-       dplus_pullup(udc, is_active);
-
-       if (should_enable_udc(udc))
-               udc_enable(udc);
-       if (should_disable_udc(udc))
-               udc_disable(udc);
-       return 0;
-}
-
-static int pxa_udc_vbus_session(struct usb_gadget *_gadget, int is_active)
-{
-       struct pxa_udc *udc = to_gadget_udc(_gadget);
-
-       udc->vbus_sensed = is_active;
-       if (should_enable_udc(udc))
-               udc_enable(udc);
-       if (should_disable_udc(udc))
-               udc_disable(udc);
-
-       return 0;
-}
-
-static int pxa_udc_start(struct usb_gadget *gadget, struct usb_gadget_driver 
*driver);
-static int pxa_udc_stop(struct usb_gadget *gadget);
-static void pxa_udc_gadget_poll(struct usb_gadget *gadget);
-
-static const struct usb_gadget_ops pxa_udc_ops = {
-       .get_frame      = pxa_udc_get_frame,
-       .wakeup         = pxa_udc_wakeup,
-       .pullup         = pxa_udc_pullup,
-       .vbus_session   = pxa_udc_vbus_session,
-       .udc_start      = pxa_udc_start,
-       .udc_stop       = pxa_udc_stop,
-       .udc_poll       = pxa_udc_gadget_poll,
-};
-
-static void usb_clk_enable(void)
-{
-       CKEN |= CKEN_USB;
-}
-
-static void usb_clk_disable(void)
-{
-       CKEN &= ~CKEN_USB;
-}
-
-static void udc_disable(struct pxa_udc *udc)
-{
-       if (!udc->enabled)
-               return;
-
-       udc_writel(udc, UDCICR0, 0);
-       udc_writel(udc, UDCICR1, 0);
-
-       udc_clear_mask_UDCCR(udc, UDCCR_UDE);
-       usb_clk_disable();
-
-       ep0_idle(udc);
-       udc->gadget.speed = USB_SPEED_UNKNOWN;
-
-       udc->enabled = 0;
-}
-
-static __init void udc_init_data(struct pxa_udc *dev)
-{
-       int i;
-       struct pxa_ep *ep;
-
-       /* device/ep0 records init */
-       INIT_LIST_HEAD(&dev->gadget.ep_list);
-       INIT_LIST_HEAD(&dev->gadget.ep0->ep_list);
-       dev->udc_usb_ep[0].pxa_ep = &dev->pxa_ep[0];
-       ep0_idle(dev);
-
-       /* PXA endpoints init */
-       for (i = 0; i < NR_PXA_ENDPOINTS; i++) {
-               ep = &dev->pxa_ep[i];
-
-               ep->enabled = is_ep0(ep);
-               INIT_LIST_HEAD(&ep->queue);
-       }
-
-       /* USB endpoints init */
-       for (i = 1; i < NR_USB_ENDPOINTS; i++) {
-               list_add_tail(&dev->udc_usb_ep[i].usb_ep.ep_list,
-                               &dev->gadget.ep_list);
-               usb_ep_set_maxpacket_limit(&dev->udc_usb_ep[i].usb_ep,
-                                          dev->udc_usb_ep[i].usb_ep.maxpacket);
-       }
-}
-
-static void udc_enable(struct pxa_udc *udc)
-{
-       if (udc->enabled)
-               return;
-
-       udc_writel(udc, UDCICR0, 0);
-       udc_writel(udc, UDCICR1, 0);
-       udc_clear_mask_UDCCR(udc, UDCCR_UDE);
-
-       usb_clk_enable();
-
-       ep0_idle(udc);
-       udc->gadget.speed = USB_SPEED_FULL;
-       memset(&udc->stats, 0, sizeof(udc->stats));
-
-       udc_set_mask_UDCCR(udc, UDCCR_UDE);
-       ep_write_UDCCSR(&udc->pxa_ep[0], UDCCSR0_ACM);
-       udelay(2);
-       if (udc_readl(udc, UDCCR) & UDCCR_EMCE)
-               dev_err(udc->dev, "Configuration errors, udc disabled\n");
-
-       /*
-        * Caller must be able to sleep in order to cope with startup transients
-        */
-       mdelay(100);
-
-       /* enable suspend/resume and reset irqs */
-       udc_writel(udc, UDCICR1,
-                       UDCICR1_IECC | UDCICR1_IERU
-                       | UDCICR1_IESU | UDCICR1_IERS);
-
-       pio_irq_enable(&udc->pxa_ep[0]);
-       udc->enabled = 1;
-}
-
-static int pxa_udc_start(struct usb_gadget *gadget, struct usb_gadget_driver 
*driver)
-{
-       struct pxa_udc *udc = the_controller;
-
-       /* first hook up the driver ... */
-       udc->driver = driver;
-
-       dev_dbg(udc->dev, "registered gadget function '%s'\n",
-               driver->function);
-
-       if (should_enable_udc(udc))
-               udc_enable(udc);
-       return 0;
-}
-
-static void stop_activity(struct pxa_udc *udc)
-{
-       int i;
-
-       udc->gadget.speed = USB_SPEED_UNKNOWN;
-
-       for (i = 0; i < NR_USB_ENDPOINTS; i++)
-               pxa_ep_disable(&udc->udc_usb_ep[i].usb_ep);
-}
-
-static int pxa_udc_stop(struct usb_gadget *gadget)
-{
-       struct pxa_udc *udc = the_controller;
-
-       if (!udc)
-               return -ENODEV;
-
-       stop_activity(udc);
-       udc_disable(udc);
-
-       udc->driver = NULL;
-
-       /*
-       dev_info(udc->dev, "unregistered gadget driver '%s'\n",
-                driver->driver.name);
-       */
-       return 0;
-}
-
-static void handle_ep0_ctrl_req(struct pxa_udc *udc,
-                               struct pxa27x_request *req)
-{
-       struct pxa_ep *ep = &udc->pxa_ep[0];
-       union {
-               struct usb_ctrlrequest  r;
-               u32                     word[2];
-       } u;
-       int i;
-       int have_extrabytes = 0;
-
-       nuke(ep, -EPROTO);
-
-       /*
-        * In the PXA320 manual, in the section about Back-to-Back setup
-        * packets, it describes this situation.  The solution is to set OPC to
-        * get rid of the status packet, and then continue with the setup
-        * packet. Generalize to pxa27x CPUs.
-        */
-       if (epout_has_pkt(ep) && (ep_count_bytes_remain(ep) == 0))
-               ep_write_UDCCSR(ep, UDCCSR0_OPC);
-
-       /* read SETUP packet */
-       for (i = 0; i < 2; i++) {
-               if (unlikely(ep_is_empty(ep)))
-                       goto stall;
-               u.word[i] = udc_ep_readl(ep, UDCDR);
-       }
-
-       have_extrabytes = !ep_is_empty(ep);
-       while (!ep_is_empty(ep)) {
-               i = udc_ep_readl(ep, UDCDR);
-               ep_err(ep, "wrong to have extra bytes for setup : 0x%08x\n", i);
-       }
-
-       ep_dbg(ep, "SETUP %02x.%02x v%04x i%04x l%04x\n",
-               u.r.bRequestType, u.r.bRequest,
-               le16_to_cpu(u.r.wValue), le16_to_cpu(u.r.wIndex),
-               le16_to_cpu(u.r.wLength));
-       if (unlikely(have_extrabytes))
-               goto stall;
-
-       if (u.r.bRequestType & USB_DIR_IN)
-               set_ep0state(udc, IN_DATA_STAGE);
-       else
-               set_ep0state(udc, OUT_DATA_STAGE);
-
-       /* Tell UDC to enter Data Stage */
-       ep_write_UDCCSR(ep, UDCCSR0_SA | UDCCSR0_OPC);
-
-       i = udc->driver->setup(&udc->gadget, &u.r);
-       if (i < 0)
-               goto stall;
-out:
-       return;
-stall:
-       ep_dbg(ep, "protocol STALL, udccsr0=%03x err %d\n",
-               udc_ep_readl(ep, UDCCSR), i);
-       ep_write_UDCCSR(ep, UDCCSR0_FST | UDCCSR0_FTF);
-       set_ep0state(udc, STALL);
-       goto out;
-}
-
-static void handle_ep0(struct pxa_udc *udc, int fifo_irq, int opc_irq)
-{
-       u32                     udccsr0;
-       struct pxa_ep           *ep = &udc->pxa_ep[0];
-       struct pxa27x_request   *req = NULL;
-       int                     completed = 0;
-
-       if (!list_empty(&ep->queue))
-               req = list_entry(ep->queue.next, struct pxa27x_request, queue);
-
-       udccsr0 = udc_ep_readl(ep, UDCCSR);
-       ep_dbg(ep, "state=%s, req=%p, udccsr0=0x%03x, udcbcr=%d, irq_msk=%x\n",
-               EP0_STNAME(udc), req, udccsr0, udc_ep_readl(ep, UDCBCR),
-               (fifo_irq << 1 | opc_irq));
-
-       if (udccsr0 & UDCCSR0_SST) {
-               ep_dbg(ep, "clearing stall status\n");
-               nuke(ep, -EPIPE);
-               ep_write_UDCCSR(ep, UDCCSR0_SST);
-               ep0_idle(udc);
-       }
-
-       if (udccsr0 & UDCCSR0_SA) {
-               nuke(ep, 0);
-               set_ep0state(udc, SETUP_STAGE);
-       }
-
-       switch (udc->ep0state) {
-       case WAIT_FOR_SETUP:
-               /*
-                * Hardware bug : beware, we cannot clear OPC, since we would
-                * miss a potential OPC irq for a setup packet.
-                * So, we only do ... nothing, and hope for a next irq with
-                * UDCCSR0_SA set.
-                */
-               break;
-       case SETUP_STAGE:
-               udccsr0 &= UDCCSR0_CTRL_REQ_MASK;
-               if (likely(udccsr0 == UDCCSR0_CTRL_REQ_MASK))
-                       handle_ep0_ctrl_req(udc, req);
-               break;
-       case IN_DATA_STAGE:                     /* GET_DESCRIPTOR */
-               if (epout_has_pkt(ep))
-                       ep_write_UDCCSR(ep, UDCCSR0_OPC);
-               if (req && !ep_is_full(ep))
-                       completed = write_ep0_fifo(ep, req);
-               if (completed)
-                       ep0_end_in_req(ep, req);
-               break;
-       case OUT_DATA_STAGE:                    /* SET_DESCRIPTOR */
-               if (epout_has_pkt(ep) && req)
-                       completed = read_ep0_fifo(ep, req);
-               if (completed)
-                       ep0_end_out_req(ep, req);
-               break;
-       case STALL:
-               ep_write_UDCCSR(ep, UDCCSR0_FST);
-               break;
-       case IN_STATUS_STAGE:
-               /*
-                * Hardware bug : beware, we cannot clear OPC, since we would
-                * miss a potential PC irq for a setup packet.
-                * So, we only put the ep0 into WAIT_FOR_SETUP state.
-                */
-               if (opc_irq)
-                       ep0_idle(udc);
-               break;
-       case OUT_STATUS_STAGE:
-       case WAIT_ACK_SET_CONF_INTERF:
-               ep_warn(ep, "should never get in %s state here!!!\n",
-                               EP0_STNAME(ep->dev));
-               ep0_idle(udc);
-               break;
-       }
-}
-
-static void handle_ep(struct pxa_ep *ep)
-{
-       struct pxa27x_request   *req;
-       int completed;
-       u32 udccsr;
-       int is_in = ep->dir_in;
-       int loop = 0;
-
-       do {
-               completed = 0;
-               udccsr = udc_ep_readl(ep, UDCCSR);
-
-               if (likely(!list_empty(&ep->queue)))
-                       req = list_entry(ep->queue.next,
-                                       struct pxa27x_request, queue);
-               else
-                       req = NULL;
-
-               ep_dbg(ep, "req:%p, udccsr 0x%03x loop=%d\n",
-                               req, udccsr, loop++);
-
-               if (unlikely(udccsr & (UDCCSR_SST | UDCCSR_TRN)))
-                       udc_ep_writel(ep, UDCCSR,
-                                       udccsr & (UDCCSR_SST | UDCCSR_TRN));
-               if (!req)
-                       break;
-
-               if (unlikely(is_in)) {
-                       if (likely(!ep_is_full(ep)))
-                               completed = write_fifo(ep, req);
-               } else {
-                       if (likely(epout_has_pkt(ep)))
-                               completed = read_fifo(ep, req);
-               }
-
-               if (completed) {
-                       if (is_in)
-                               ep_end_in_req(ep, req);
-                       else
-                               ep_end_out_req(ep, req);
-               }
-       } while (completed);
-
-       return;
-}
-
-static void pxa27x_change_configuration(struct pxa_udc *udc, int config)
-{
-       struct usb_ctrlrequest req ;
-
-       dev_dbg(udc->dev, "config=%d\n", config);
-
-       udc->config = config;
-       udc->last_interface = 0;
-       udc->last_alternate = 0;
-
-       req.bRequestType = 0;
-       req.bRequest = USB_REQ_SET_CONFIGURATION;
-       req.wValue = config;
-       req.wIndex = 0;
-       req.wLength = 0;
-
-       set_ep0state(udc, WAIT_ACK_SET_CONF_INTERF);
-       udc->driver->setup(&udc->gadget, &req);
-}
-
-static void __maybe_unused pxa27x_change_interface(struct pxa_udc *udc, int 
iface, int alt)
-{
-       struct usb_ctrlrequest  req;
-
-       dev_dbg(udc->dev, "interface=%d, alternate setting=%d\n", iface, alt);
-
-       udc->last_interface = iface;
-       udc->last_alternate = alt;
-
-       req.bRequestType = USB_RECIP_INTERFACE;
-       req.bRequest = USB_REQ_SET_INTERFACE;
-       req.wValue = alt;
-       req.wIndex = iface;
-       req.wLength = 0;
-
-       set_ep0state(udc, WAIT_ACK_SET_CONF_INTERF);
-       ep_write_UDCCSR(&udc->pxa_ep[0], UDCCSR0_AREN);
-       udc->driver->setup(&udc->gadget, &req);
-}
-
-static void irq_handle_data(struct pxa_udc *udc)
-{
-       int i;
-       struct pxa_ep *ep;
-       u32 udcisr0 = udc_readl(udc, UDCISR0) & UDCCISR0_EP_MASK;
-       u32 udcisr1 = udc_readl(udc, UDCISR1) & UDCCISR1_EP_MASK;
-
-       if (udcisr0 & UDCISR_INT_MASK) {
-               udc_writel(udc, UDCISR0, UDCISR_INT(0, UDCISR_INT_MASK));
-               handle_ep0(udc, !!(udcisr0 & UDCICR_FIFOERR),
-                               !!(udcisr0 & UDCICR_PKTCOMPL));
-       }
-
-       udcisr0 >>= 2;
-       for (i = 1; udcisr0 != 0 && i < 16; udcisr0 >>= 2, i++) {
-               if (!(udcisr0 & UDCISR_INT_MASK))
-                       continue;
-
-               udc_writel(udc, UDCISR0, UDCISR_INT(i, UDCISR_INT_MASK));
-
-               WARN_ON(i >= ARRAY_SIZE(udc->pxa_ep));
-               if (i < ARRAY_SIZE(udc->pxa_ep)) {
-                       ep = &udc->pxa_ep[i];
-                       if (ep->enabled)
-                               handle_ep(ep);
-               }
-       }
-
-       for (i = 16; udcisr1 != 0 && i < 24; udcisr1 >>= 2, i++) {
-               udc_writel(udc, UDCISR1, UDCISR_INT(i - 16, UDCISR_INT_MASK));
-               if (!(udcisr1 & UDCISR_INT_MASK))
-                       continue;
-
-               WARN_ON(i >= ARRAY_SIZE(udc->pxa_ep));
-               if (i < ARRAY_SIZE(udc->pxa_ep)) {
-                       ep = &udc->pxa_ep[i];
-                       if (ep->enabled)
-                               handle_ep(ep);
-               }
-       }
-
-}
-
-static void irq_udc_suspend(struct pxa_udc *udc)
-{
-       udc_writel(udc, UDCISR1, UDCISR1_IRSU);
-
-       if (udc->gadget.speed != USB_SPEED_UNKNOWN
-                       && udc->driver && udc->driver->suspend)
-               udc->driver->suspend(&udc->gadget);
-       ep0_idle(udc);
-}
-
-static void irq_udc_resume(struct pxa_udc *udc)
-{
-       udc_writel(udc, UDCISR1, UDCISR1_IRRU);
-
-       if (udc->gadget.speed != USB_SPEED_UNKNOWN
-                       && udc->driver && udc->driver->resume)
-               udc->driver->resume(&udc->gadget);
-}
-
-static void irq_udc_reconfig(struct pxa_udc *udc)
-{
-       unsigned config, interface, alternate, config_change;
-       u32 udccr = udc_readl(udc, UDCCR);
-
-       udc_writel(udc, UDCISR1, UDCISR1_IRCC);
-
-       config = (udccr & UDCCR_ACN) >> UDCCR_ACN_S;
-       config_change = (config != udc->config);
-       if (config_change)
-               update_pxa_ep_matches(udc);
-       udc_set_mask_UDCCR(udc, UDCCR_SMAC);
-       ep_write_UDCCSR(&udc->pxa_ep[0], UDCCSR0_AREN);
-
-       pxa27x_change_configuration(udc, config);
-       interface = (udccr & UDCCR_AIN) >> UDCCR_AIN_S;
-       alternate = (udccr & UDCCR_AAISN) >> UDCCR_AAISN_S;
-
-       /*
-        * barebox specific: do not call change interface, as change_config has
-        * already setup the gadget.
-        * pxa27x_change_interface(udc, interface, alternate);
-        */
-}
-
-static void irq_udc_reset(struct pxa_udc *udc)
-{
-       u32 udccr = udc_readl(udc, UDCCR);
-       struct pxa_ep *ep = &udc->pxa_ep[0];
-
-       dev_info(udc->dev, "USB reset\n");
-       udc_writel(udc, UDCISR1, UDCISR1_IRRS);
-
-       if ((udccr & UDCCR_UDA) == 0) {
-               dev_dbg(udc->dev, "USB reset start\n");
-               stop_activity(udc);
-       }
-       udc->gadget.speed = USB_SPEED_FULL;
-
-       nuke(ep, -EPROTO);
-       ep_write_UDCCSR(ep, UDCCSR0_FTF | UDCCSR0_OPC);
-       ep0_idle(udc);
-}
-
-static void pxa_udc_gadget_poll(struct usb_gadget *gadget)
-{
-       struct pxa_udc *udc = to_gadget_udc(gadget);
-       u32 udcisr0 = udc_readl(udc, UDCISR0);
-       u32 udcisr1 = udc_readl(udc, UDCISR1);
-       u32 udccr = udc_readl(udc, UDCCR);
-       u32 udcisr1_spec;
-
-       udc->vbus_sensed = udc->mach->udc_is_connected();
-       if (should_enable_udc(udc))
-               udc_enable(udc);
-       if (should_disable_udc(udc)) {
-               stop_activity(udc);
-               udc_disable(udc);
-       }
-
-       if (!udc->enabled)
-               return;
-
-       dev_dbg(udc->dev, "Interrupt, UDCISR0:0x%08x, UDCISR1:0x%08x, "
-               "UDCCR:0x%08x\n", udcisr0, udcisr1, udccr);
-
-       udcisr1_spec = udcisr1 & 0xf8000000;
-       if (unlikely(udcisr1_spec & UDCISR1_IRSU))
-               irq_udc_suspend(udc);
-       if (unlikely(udcisr1_spec & UDCISR1_IRRU))
-               irq_udc_resume(udc);
-       if (unlikely(udcisr1_spec & UDCISR1_IRCC))
-               irq_udc_reconfig(udc);
-       if (unlikely(udcisr1_spec & UDCISR1_IRRS))
-               irq_udc_reset(udc);
-
-       if ((udcisr0 & UDCCISR0_EP_MASK) | (udcisr1 & UDCCISR1_EP_MASK))
-               irq_handle_data(udc);
-}
-
-static struct pxa_udc memory = {
-       .gadget = {
-               .ops            = &pxa_udc_ops,
-               .ep0            = &memory.udc_usb_ep[0].usb_ep,
-               .name           = driver_name,
-       },
-
-       .udc_usb_ep = {
-               USB_EP_CTRL,
-               USB_EP_OUT_BULK(1),
-               USB_EP_IN_BULK(2),
-               USB_EP_IN_ISO(3),
-               USB_EP_OUT_ISO(4),
-               USB_EP_IN_INT(5),
-       },
-
-       .pxa_ep = {
-               PXA_EP_CTRL,
-               /* Endpoints for gadget zero */
-               PXA_EP_OUT_BULK(1, 1, 3, 0, 0),
-               PXA_EP_IN_BULK(2,  2, 3, 0, 0),
-               /* Endpoints for ether gadget, file storage gadget */
-               PXA_EP_OUT_BULK(3, 1, 1, 0, 0),
-               PXA_EP_IN_BULK(4,  2, 1, 0, 0),
-               PXA_EP_IN_ISO(5,   3, 1, 0, 0),
-               PXA_EP_OUT_ISO(6,  4, 1, 0, 0),
-               PXA_EP_IN_INT(7,   5, 1, 0, 0),
-               /* Endpoints for RNDIS, serial */
-               PXA_EP_OUT_BULK(8, 1, 2, 0, 0),
-               PXA_EP_IN_BULK(9,  2, 2, 0, 0),
-               PXA_EP_IN_INT(10,  5, 2, 0, 0),
-               /*
-                * All the following endpoints are only for completion.  They
-                * won't never work, as multiple interfaces are really broken on
-                * the pxa.
-               */
-               PXA_EP_OUT_BULK(11, 1, 2, 1, 0),
-               PXA_EP_IN_BULK(12,  2, 2, 1, 0),
-               /* Endpoint for CDC Ether */
-               PXA_EP_OUT_BULK(13, 1, 1, 1, 1),
-               PXA_EP_IN_BULK(14,  2, 1, 1, 1),
-       }
-};
-
-static int __init pxa_udc_probe(struct device *dev)
-{
-       struct resource *iores;
-       struct pxa_udc *udc = &memory;
-       int gpio, ret;
-
-       iores = dev_request_mem_resource(dev, 0);
-       if (IS_ERR(iores))
-               return PTR_ERR(iores);
-       udc->regs = IOMEM(iores->start);
-
-       udc->dev = dev;
-       udc->mach = dev->platform_data;
-
-       gpio = udc->mach->gpio_pullup;
-       if (gpio >= 0) {
-               gpio_direction_output(gpio,
-                                     udc->mach->gpio_pullup_inverted);
-       }
-
-       udc->vbus_sensed = 0;
-
-       the_controller = udc;
-       udc_init_data(udc);
-       pxa_eps_setup(udc);
-
-       ret = usb_add_gadget_udc_release(dev, &udc->gadget, NULL);
-       if (ret)
-               return ret;
-
-       return 0;
-}
-
-#define pxa27x_clear_otgph()   do {} while (0)
-
-static struct driver udc_driver = {
-       .name           = "pxa27x-udc",
-       .probe          = pxa_udc_probe,
-};
-device_platform_driver(udc_driver);
diff --git a/drivers/usb/gadget/udc/pxa27x_udc.h 
b/drivers/usb/gadget/udc/pxa27x_udc.h
deleted file mode 100644
index 80a93cdcf9..0000000000
--- a/drivers/usb/gadget/udc/pxa27x_udc.h
+++ /dev/null
@@ -1,380 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-/*
- * linux/drivers/usb/gadget/pxa27x_udc.h
- * Intel PXA27x on-chip full speed USB device controller
- *
- * Inspired by original driver by Frank Becker, David Brownell, and others.
- * Copyright (C) 2008 Robert Jarzmik
- *
- * Taken from linux-2.6 kernel and adapted to barebox.
- */
-
-#ifndef __LINUX_USB_GADGET_PXA27X_H
-#define __LINUX_USB_GADGET_PXA27X_H
-
-/*
- * Register definitions
- */
-/* Offsets */
-#define UDCCR          0x0000          /* UDC Control Register */
-#define UDCICR0                0x0004          /* UDC Interrupt Control 
Register0 */
-#define UDCICR1                0x0008          /* UDC Interrupt Control 
Register1 */
-#define UDCISR0                0x000C          /* UDC Interrupt Status 
Register 0 */
-#define UDCISR1                0x0010          /* UDC Interrupt Status 
Register 1 */
-#define UDCFNR         0x0014          /* UDC Frame Number Register */
-#define UDCOTGICR      0x0018          /* UDC On-The-Go interrupt control */
-#define UP2OCR         0x0020          /* USB Port 2 Output Control register */
-#define UP3OCR         0x0024          /* USB Port 3 Output Control register */
-#define UDCCSRn(x)     (0x0100 + ((x)<<2)) /* UDC Control/Status register */
-#define UDCBCRn(x)     (0x0200 + ((x)<<2)) /* UDC Byte Count Register */
-#define UDCDRn(x)      (0x0300 + ((x)<<2)) /* UDC Data Register  */
-#define UDCCRn(x)      (0x0400 + ((x)<<2)) /* UDC Control Register */
-
-#define UDCCR_OEN      (1 << 31)       /* On-the-Go Enable */
-#define UDCCR_AALTHNP  (1 << 30)       /* A-device Alternate Host Negotiation
-                                          Protocol Port Support */
-#define UDCCR_AHNP     (1 << 29)       /* A-device Host Negotiation Protocol
-                                          Support */
-#define UDCCR_BHNP     (1 << 28)       /* B-device Host Negotiation Protocol
-                                          Enable */
-#define UDCCR_DWRE     (1 << 16)       /* Device Remote Wake-up Enable */
-#define UDCCR_ACN      (0x03 << 11)    /* Active UDC configuration Number */
-#define UDCCR_ACN_S    11
-#define UDCCR_AIN      (0x07 << 8)     /* Active UDC interface Number */
-#define UDCCR_AIN_S    8
-#define UDCCR_AAISN    (0x07 << 5)     /* Active UDC Alternate Interface
-                                          Setting Number */
-#define UDCCR_AAISN_S  5
-#define UDCCR_SMAC     (1 << 4)        /* Switch Endpoint Memory to Active
-                                          Configuration */
-#define UDCCR_EMCE     (1 << 3)        /* Endpoint Memory Configuration
-                                          Error */
-#define UDCCR_UDR      (1 << 2)        /* UDC Resume */
-#define UDCCR_UDA      (1 << 1)        /* UDC Active */
-#define UDCCR_UDE      (1 << 0)        /* UDC Enable */
-
-#define UDCICR_INT(n, intr) (((intr) & 0x03) << (((n) & 0x0F) * 2))
-#define UDCICR1_IECC   (1 << 31)       /* IntEn - Configuration Change */
-#define UDCICR1_IESOF  (1 << 30)       /* IntEn - Start of Frame */
-#define UDCICR1_IERU   (1 << 29)       /* IntEn - Resume */
-#define UDCICR1_IESU   (1 << 28)       /* IntEn - Suspend */
-#define UDCICR1_IERS   (1 << 27)       /* IntEn - Reset */
-#define UDCICR_FIFOERR (1 << 1)        /* FIFO Error interrupt for EP */
-#define UDCICR_PKTCOMPL        (1 << 0)        /* Packet Complete interrupt 
for EP */
-#define UDCICR_INT_MASK        (UDCICR_FIFOERR | UDCICR_PKTCOMPL)
-
-#define UDCISR_INT(n, intr) (((intr) & 0x03) << (((n) & 0x0F) * 2))
-#define UDCISR1_IRCC   (1 << 31)       /* IntReq - Configuration Change */
-#define UDCISR1_IRSOF  (1 << 30)       /* IntReq - Start of Frame */
-#define UDCISR1_IRRU   (1 << 29)       /* IntReq - Resume */
-#define UDCISR1_IRSU   (1 << 28)       /* IntReq - Suspend */
-#define UDCISR1_IRRS   (1 << 27)       /* IntReq - Reset */
-#define UDCISR_INT_MASK        (UDCICR_FIFOERR | UDCICR_PKTCOMPL)
-
-#define UDCOTGICR_IESF (1 << 24)       /* OTG SET_FEATURE command recvd */
-#define UDCOTGICR_IEXR (1 << 17)       /* Extra Transceiver Interrupt
-                                          Rising Edge Interrupt Enable */
-#define UDCOTGICR_IEXF (1 << 16)       /* Extra Transceiver Interrupt
-                                          Falling Edge Interrupt Enable */
-#define UDCOTGICR_IEVV40R (1 << 9)     /* OTG Vbus Valid 4.0V Rising Edge
-                                          Interrupt Enable */
-#define UDCOTGICR_IEVV40F (1 << 8)     /* OTG Vbus Valid 4.0V Falling Edge
-                                          Interrupt Enable */
-#define UDCOTGICR_IEVV44R (1 << 7)     /* OTG Vbus Valid 4.4V Rising Edge
-                                          Interrupt Enable */
-#define UDCOTGICR_IEVV44F (1 << 6)     /* OTG Vbus Valid 4.4V Falling Edge
-                                          Interrupt Enable */
-#define UDCOTGICR_IESVR        (1 << 5)        /* OTG Session Valid Rising Edge
-                                          Interrupt Enable */
-#define UDCOTGICR_IESVF        (1 << 4)        /* OTG Session Valid Falling 
Edge
-                                          Interrupt Enable */
-#define UDCOTGICR_IESDR        (1 << 3)        /* OTG A-Device SRP Detect 
Rising
-                                          Edge Interrupt Enable */
-#define UDCOTGICR_IESDF        (1 << 2)        /* OTG A-Device SRP Detect 
Falling
-                                          Edge Interrupt Enable */
-#define UDCOTGICR_IEIDR        (1 << 1)        /* OTG ID Change Rising Edge
-                                          Interrupt Enable */
-#define UDCOTGICR_IEIDF        (1 << 0)        /* OTG ID Change Falling Edge
-                                          Interrupt Enable */
-
-/* Host Port 2 field bits */
-#define UP2OCR_CPVEN   (1 << 0)        /* Charge Pump Vbus Enable */
-#define UP2OCR_CPVPE   (1 << 1)        /* Charge Pump Vbus Pulse Enable */
-                                       /* Transceiver enablers */
-#define UP2OCR_DPPDE   (1 << 2)        /*   D+ Pull Down Enable */
-#define UP2OCR_DMPDE   (1 << 3)        /*   D- Pull Down Enable */
-#define UP2OCR_DPPUE   (1 << 4)        /*   D+ Pull Up Enable */
-#define UP2OCR_DMPUE   (1 << 5)        /*   D- Pull Up Enable */
-#define UP2OCR_DPPUBE  (1 << 6)        /*   D+ Pull Up Bypass Enable */
-#define UP2OCR_DMPUBE  (1 << 7)        /*   D- Pull Up Bypass Enable */
-#define UP2OCR_EXSP    (1 << 8)        /* External Transceiver Speed Control */
-#define UP2OCR_EXSUS   (1 << 9)        /* External Transceiver Speed Enable */
-#define UP2OCR_IDON    (1 << 10)       /* OTG ID Read Enable */
-#define UP2OCR_HXS     (1 << 16)       /* Transceiver Output Select */
-#define UP2OCR_HXOE    (1 << 17)       /* Transceiver Output Enable */
-#define UP2OCR_SEOS    (1 << 24)       /* Single-Ended Output Select */
-
-#define UDCCSR0_ACM    (1 << 9)        /* Ack Control Mode */
-#define UDCCSR0_AREN   (1 << 8)        /* Ack Response Enable */
-#define UDCCSR0_SA     (1 << 7)        /* Setup Active */
-#define UDCCSR0_RNE    (1 << 6)        /* Receive FIFO Not Empty */
-#define UDCCSR0_FST    (1 << 5)        /* Force Stall */
-#define UDCCSR0_SST    (1 << 4)        /* Sent Stall */
-#define UDCCSR0_DME    (1 << 3)        /* DMA Enable */
-#define UDCCSR0_FTF    (1 << 2)        /* Flush Transmit FIFO */
-#define UDCCSR0_IPR    (1 << 1)        /* IN Packet Ready */
-#define UDCCSR0_OPC    (1 << 0)        /* OUT Packet Complete */
-
-#define UDCCSR_DPE     (1 << 9)        /* Data Packet Error */
-#define UDCCSR_FEF     (1 << 8)        /* Flush Endpoint FIFO */
-#define UDCCSR_SP      (1 << 7)        /* Short Packet Control/Status */
-#define UDCCSR_BNE     (1 << 6)        /* Buffer Not Empty (IN endpoints) */
-#define UDCCSR_BNF     (1 << 6)        /* Buffer Not Full (OUT endpoints) */
-#define UDCCSR_FST     (1 << 5)        /* Force STALL */
-#define UDCCSR_SST     (1 << 4)        /* Sent STALL */
-#define UDCCSR_DME     (1 << 3)        /* DMA Enable */
-#define UDCCSR_TRN     (1 << 2)        /* Tx/Rx NAK */
-#define UDCCSR_PC      (1 << 1)        /* Packet Complete */
-#define UDCCSR_FS      (1 << 0)        /* FIFO needs service */
-
-#define UDCCONR_CN     (0x03 << 25)    /* Configuration Number */
-#define UDCCONR_CN_S   25
-#define UDCCONR_IN     (0x07 << 22)    /* Interface Number */
-#define UDCCONR_IN_S   22
-#define UDCCONR_AISN   (0x07 << 19)    /* Alternate Interface Number */
-#define UDCCONR_AISN_S 19
-#define UDCCONR_EN     (0x0f << 15)    /* Endpoint Number */
-#define UDCCONR_EN_S   15
-#define UDCCONR_ET     (0x03 << 13)    /* Endpoint Type: */
-#define UDCCONR_ET_S   13
-#define UDCCONR_ET_INT (0x03 << 13)    /*   Interrupt */
-#define UDCCONR_ET_BULK        (0x02 << 13)    /*   Bulk */
-#define UDCCONR_ET_ISO (0x01 << 13)    /*   Isochronous */
-#define UDCCONR_ET_NU  (0x00 << 13)    /*   Not used */
-#define UDCCONR_ED     (1 << 12)       /* Endpoint Direction */
-#define UDCCONR_MPS    (0x3ff << 2)    /* Maximum Packet Size */
-#define UDCCONR_MPS_S  2
-#define UDCCONR_DE     (1 << 1)        /* Double Buffering Enable */
-#define UDCCONR_EE     (1 << 0)        /* Endpoint Enable */
-
-#define UDCCR_MASK_BITS (UDCCR_OEN | UDCCR_SMAC | UDCCR_UDR | UDCCR_UDE)
-#define UDCCSR_WR_MASK (UDCCSR_DME | UDCCSR_FST)
-#define UDC_FNR_MASK   (0x7ff)
-#define UDC_BCR_MASK   (0x3ff)
-
-/*
- * UDCCR = UDC Endpoint Configuration Registers
- * UDCCSR = UDC Control/Status Register for this EP
- * UDCBCR = UDC Byte Count Remaining (contents of OUT fifo)
- * UDCDR = UDC Endpoint Data Register (the fifo)
- */
-#define ofs_UDCCR(ep)  (UDCCRn(ep->idx))
-#define ofs_UDCCSR(ep) (UDCCSRn(ep->idx))
-#define ofs_UDCBCR(ep) (UDCBCRn(ep->idx))
-#define ofs_UDCDR(ep)  (UDCDRn(ep->idx))
-
-/* Register access macros */
-#define udc_ep_readl(ep, reg)  \
-       readl((ep)->dev->regs + ofs_##reg(ep))
-#define udc_ep_writel(ep, reg, value)  \
-       writel((value), ep->dev->regs + ofs_##reg(ep))
-#define udc_ep_readb(ep, reg)  \
-       readb((ep)->dev->regs + ofs_##reg(ep))
-#define udc_ep_writeb(ep, reg, value)  \
-       writeb((value), ep->dev->regs + ofs_##reg(ep))
-#define udc_readl(dev, reg)    \
-       readl((dev)->regs + (reg))
-#define udc_writel(udc, reg, value)    \
-       writel((value), (udc)->regs + (reg))
-
-#define UDCCSR_MASK            (UDCCSR_FST | UDCCSR_DME)
-#define UDCCISR0_EP_MASK       (~0)
-#define UDCCISR1_EP_MASK       0xffff
-#define UDCCSR0_CTRL_REQ_MASK  (UDCCSR0_OPC | UDCCSR0_SA | UDCCSR0_RNE)
-
-#define EPIDX(ep)      (ep->idx)
-#define EPADDR(ep)     (ep->addr)
-#define EPXFERTYPE(ep) (ep->type)
-#define EPNAME(ep)     (ep->name)
-#define is_ep0(ep)     (!ep->idx)
-#define EPXFERTYPE_is_ISO(ep) (EPXFERTYPE(ep) == USB_ENDPOINT_XFER_ISOC)
-
-/*
- * Endpoint definition helpers
- */
-#define USB_EP_DEF(addr, bname, dir, type, maxpkt) \
-{ .usb_ep = { .name = bname, .ops = &pxa_ep_ops, .maxpacket = maxpkt, }, \
-  .desc = {    .bEndpointAddress = addr | (dir ? USB_DIR_IN : 0), \
-               .bmAttributes = type, \
-               .wMaxPacketSize = maxpkt, }, \
-  .dev = &memory \
-}
-#define USB_EP_BULK(addr, bname, dir) \
-       USB_EP_DEF(addr, bname, dir, USB_ENDPOINT_XFER_BULK, BULK_FIFO_SIZE)
-#define USB_EP_ISO(addr, bname, dir) \
-       USB_EP_DEF(addr, bname, dir, USB_ENDPOINT_XFER_ISOC, ISO_FIFO_SIZE)
-#define USB_EP_INT(addr, bname, dir) \
-       USB_EP_DEF(addr, bname, dir, USB_ENDPOINT_XFER_INT, INT_FIFO_SIZE)
-#define USB_EP_IN_BULK(n)      USB_EP_BULK(n, "ep" #n "in-bulk", 1)
-#define USB_EP_OUT_BULK(n)     USB_EP_BULK(n, "ep" #n "out-bulk", 0)
-#define USB_EP_IN_ISO(n)       USB_EP_ISO(n,  "ep" #n "in-iso", 1)
-#define USB_EP_OUT_ISO(n)      USB_EP_ISO(n,  "ep" #n "out-iso", 0)
-#define USB_EP_IN_INT(n)       USB_EP_INT(n,  "ep" #n "in-int", 1)
-#define USB_EP_CTRL            USB_EP_DEF(0,  "ep0", 0, 0, EP0_FIFO_SIZE)
-
-#define PXA_EP_DEF(_idx, _addr, dir, _type, maxpkt, _config, iface, altset) \
-{ \
-       .dev = &memory, \
-       .name = "ep" #_idx, \
-       .idx = _idx, .enabled = 0, \
-       .dir_in = dir, .addr = _addr, \
-       .config = _config, .interface = iface, .alternate = altset, \
-       .type = _type, .fifo_size = maxpkt, \
-}
-#define PXA_EP_BULK(_idx, addr, dir, config, iface, alt) \
-       PXA_EP_DEF(_idx, addr, dir, USB_ENDPOINT_XFER_BULK, BULK_FIFO_SIZE, \
-               config, iface, alt)
-#define PXA_EP_ISO(_idx, addr, dir, config, iface, alt) \
-       PXA_EP_DEF(_idx, addr, dir, USB_ENDPOINT_XFER_ISOC, ISO_FIFO_SIZE, \
-               config, iface, alt)
-#define PXA_EP_INT(_idx, addr, dir, config, iface, alt) \
-       PXA_EP_DEF(_idx, addr, dir, USB_ENDPOINT_XFER_INT, INT_FIFO_SIZE, \
-               config, iface, alt)
-#define PXA_EP_IN_BULK(i, adr, c, f, a)                PXA_EP_BULK(i, adr, 1, 
c, f, a)
-#define PXA_EP_OUT_BULK(i, adr, c, f, a)       PXA_EP_BULK(i, adr, 0, c, f, a)
-#define PXA_EP_IN_ISO(i, adr, c, f, a)         PXA_EP_ISO(i, adr, 1, c, f, a)
-#define PXA_EP_OUT_ISO(i, adr, c, f, a)                PXA_EP_ISO(i, adr, 0, 
c, f, a)
-#define PXA_EP_IN_INT(i, adr, c, f, a)         PXA_EP_INT(i, adr, 1, c, f, a)
-#define PXA_EP_CTRL    PXA_EP_DEF(0, 0, 0, 0, EP0_FIFO_SIZE, 0, 0, 0)
-
-struct pxa27x_udc;
-
-struct stats {
-       unsigned long in_ops;
-       unsigned long out_ops;
-       unsigned long in_bytes;
-       unsigned long out_bytes;
-       unsigned long irqs;
-};
-
-/**
- * struct udc_usb_ep - container of each usb_ep structure
- * @usb_ep: usb endpoint
- * @desc: usb descriptor, especially type and address
- * @dev: udc managing this endpoint
- * @pxa_ep: matching pxa_ep (cache of find_pxa_ep() call)
- */
-struct udc_usb_ep {
-       struct usb_ep usb_ep;
-       struct usb_endpoint_descriptor desc;
-       struct pxa_udc *dev;
-       struct pxa_ep *pxa_ep;
-};
-
-struct pxa_ep {
-       struct pxa_udc          *dev;
-
-       struct list_head        queue;
-       unsigned                enabled:1;
-
-       unsigned                idx:5;
-       char                    *name;
-
-       /*
-        * Specific pxa endpoint data, needed for hardware initialization
-        */
-       unsigned                dir_in:1;
-       unsigned                addr:4;
-       unsigned                config:2;
-       unsigned                interface:3;
-       unsigned                alternate:3;
-       unsigned                fifo_size;
-       unsigned                type;
-};
-
-struct pxa27x_request {
-       struct usb_request                      req;
-       struct udc_usb_ep                       *udc_usb_ep;
-       unsigned                                in_use:1;
-       struct list_head                        queue;
-};
-
-enum ep0_state {
-       WAIT_FOR_SETUP,
-       SETUP_STAGE,
-       IN_DATA_STAGE,
-       OUT_DATA_STAGE,
-       IN_STATUS_STAGE,
-       OUT_STATUS_STAGE,
-       STALL,
-       WAIT_ACK_SET_CONF_INTERF
-};
-
-static char *ep0_state_name[] = {
-       "WAIT_FOR_SETUP", "SETUP_STAGE", "IN_DATA_STAGE", "OUT_DATA_STAGE",
-       "IN_STATUS_STAGE", "OUT_STATUS_STAGE", "STALL",
-       "WAIT_ACK_SET_CONF_INTERF"
-};
-#define EP0_STNAME(udc) ep0_state_name[(udc)->ep0state]
-
-#define EP0_FIFO_SIZE  16U
-#define BULK_FIFO_SIZE 64U
-#define ISO_FIFO_SIZE  256U
-#define INT_FIFO_SIZE  16U
-
-struct udc_stats {
-       unsigned long   irqs_reset;
-       unsigned long   irqs_suspend;
-       unsigned long   irqs_resume;
-       unsigned long   irqs_reconfig;
-};
-
-#define NR_USB_ENDPOINTS (1 + 5)       /* ep0 + ep1in-bulk + .. + ep3in-iso */
-#define NR_PXA_ENDPOINTS (1 + 14)      /* ep0 + epA + epB + .. + epX */
-
-struct pxa_udc {
-       void __iomem                            *regs;
-       int                                     irq;
-       struct clk                              *clk;
-       struct device                           *dev;
-
-       struct usb_gadget                       gadget;
-       struct usb_gadget_driver                *driver;
-       struct pxa2xx_udc_mach_info             *mach;
-
-       enum ep0_state                          ep0state;
-       struct udc_stats                        stats;
-
-       struct udc_usb_ep                       udc_usb_ep[NR_USB_ENDPOINTS];
-       struct pxa_ep                           pxa_ep[NR_PXA_ENDPOINTS];
-
-       unsigned                                enabled:1;
-       unsigned                                pullup_on:1;
-       unsigned                                pullup_resume:1;
-       unsigned                                vbus_sensed:1;
-       unsigned                                config:2;
-       unsigned                                last_interface:3;
-       unsigned                                last_alternate:3;
-
-};
-
-static inline struct pxa_udc *to_gadget_udc(struct usb_gadget *gadget)
-{
-       return container_of(gadget, struct pxa_udc, gadget);
-}
-
-/*
- * Debugging/message support
- */
-#define ep_dbg(ep, fmt, arg...) \
-       dev_dbg(ep->dev->dev, "%s:%s: " fmt, EPNAME(ep), __func__, ## arg)
-#define ep_vdbg(ep, fmt, arg...) \
-       dev_dbg(ep->dev->dev, "%s:%s: " fmt, EPNAME(ep), __func__, ## arg)
-#define ep_err(ep, fmt, arg...) \
-       dev_err(ep->dev->dev, "%s:%s: " fmt, EPNAME(ep), __func__, ## arg)
-#define ep_info(ep, fmt, arg...) \
-       dev_info(ep->dev->dev, "%s:%s: " fmt, EPNAME(ep), __func__, ## arg)
-#define ep_warn(ep, fmt, arg...) \
-       dev_warn(ep->dev->dev, "%s:%s:" fmt, EPNAME(ep), __func__, ## arg)
-
-#endif /* __LINUX_USB_GADGET_PXA27X_H */
diff --git a/include/mach/pxa/gpio.h b/include/mach/pxa/gpio.h
index 06e6f3e42b..2d169608d8 100644
--- a/include/mach/pxa/gpio.h
+++ b/include/mach/pxa/gpio.h
@@ -97,37 +97,7 @@
 
 #define gpio_to_bank(gpio)     ((gpio) >> 5)
 
-#ifdef CONFIG_CPU_PXA26x
-/* GPIO86/87/88/89 on PXA26x have their direction bits in GPDR2 inverted,
- * as well as their Alternate Function value being '1' for GPIO in GAFRx.
- */
-static inline int __gpio_is_inverted(unsigned gpio)
-{
-       return cpu_is_pxa25x() && gpio > 85;
-}
-#else
 static inline int __gpio_is_inverted(unsigned gpio) { return 0; }
-#endif
-
-/*
- * On PXA25x and PXA27x, GAFRx and GPDRx together decide the alternate
- * function of a GPIO, and GPDRx cannot be altered once configured. It
- * is attributed as "occupied" here (I know this terminology isn't
- * accurate, you are welcome to propose a better one :-)
- */
-static inline int __gpio_is_occupied(unsigned gpio)
-{
-       if (cpu_is_pxa27x() || cpu_is_pxa25x()) {
-               int af = (GAFR(gpio) >> ((gpio & 0xf) * 2)) & 0x3;
-               int dir = GPDR(gpio) & GPIO_bit(gpio);
-
-               if (__gpio_is_inverted(gpio))
-                       return af != 1 || dir == 0;
-               else
-                       return af != 0 || dir != 0;
-       } else
-               return GPDR(gpio) & GPIO_bit(gpio);
-}
 
 /*
  * We handle the GPIOs by banks, each bank covers up to 32 GPIOs with
diff --git a/include/mach/pxa/hardware.h b/include/mach/pxa/hardware.h
index d968a11880..f2ac155166 100644
--- a/include/mach/pxa/hardware.h
+++ b/include/mach/pxa/hardware.h
@@ -10,24 +10,6 @@
 #ifndef __MACH_HARDWARE_H
 #define __MACH_HARDWARE_H
 
-#ifdef CONFIG_ARCH_PXA2XX
-#define cpu_is_pxa2xx()        (1)
-#else
-#define cpu_is_pxa2xx()        (0)
-#endif
-
-#ifdef CONFIG_ARCH_PXA25X
-#define cpu_is_pxa25x()        (1)
-#else
-#define cpu_is_pxa25x()        (0)
-#endif
-
-#ifdef CONFIG_ARCH_PXA27X
-#define cpu_is_pxa27x()        (1)
-#else
-#define cpu_is_pxa27x()        (0)
-#endif
-
 #ifdef CONFIG_ARCH_PXA3XX
 #define cpu_is_pxa3xx()        (1)
 # ifdef CONFIG_ARCH_PXA320
diff --git a/include/mach/pxa/mfp-pxa27x.h b/include/mach/pxa/mfp-pxa27x.h
deleted file mode 100644
index 6193a440cb..0000000000
--- a/include/mach/pxa/mfp-pxa27x.h
+++ /dev/null
@@ -1,472 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-#ifndef __ASM_ARCH_MFP_PXA27X_H
-#define __ASM_ARCH_MFP_PXA27X_H
-
-/*
- * NOTE:  for those special-function bidirectional GPIOs, as described
- * in the "PXA27x Developer's Manual" Section 24.4.2.1, only its input
- * alternative is preserved, the direction is actually selected by the
- * specific controller, and this should work in most cases.
- */
-
-#include <mach/pxa/mfp-pxa2xx.h>
-
-/* Note: GPIO3/GPIO4 will be driven by Power I2C when PCFR/PI2C_EN
- * bit is set, regardless of the GPIO configuration
- */
-#define GPIO3_GPIO             MFP_CFG_IN(GPIO3, AF0)
-#define GPIO4_GPIO             MFP_CFG_IN(GPIO4, AF0)
-
-/* GPIO */
-#define GPIO85_GPIO            MFP_CFG_IN(GPIO85, AF0)
-#define GPIO86_GPIO            MFP_CFG_IN(GPIO86, AF0)
-#define GPIO87_GPIO            MFP_CFG_IN(GPIO87, AF0)
-#define GPIO88_GPIO            MFP_CFG_IN(GPIO88, AF0)
-#define GPIO89_GPIO            MFP_CFG_IN(GPIO89, AF0)
-#define GPIO90_GPIO            MFP_CFG_IN(GPIO90, AF0)
-#define GPIO91_GPIO            MFP_CFG_IN(GPIO91, AF0)
-#define GPIO92_GPIO            MFP_CFG_IN(GPIO92, AF0)
-#define GPIO93_GPIO            MFP_CFG_IN(GPIO93, AF0)
-#define GPIO94_GPIO            MFP_CFG_IN(GPIO94, AF0)
-#define GPIO95_GPIO            MFP_CFG_IN(GPIO95, AF0)
-#define GPIO96_GPIO            MFP_CFG_IN(GPIO96, AF0)
-#define GPIO97_GPIO            MFP_CFG_IN(GPIO97, AF0)
-#define GPIO98_GPIO            MFP_CFG_IN(GPIO98, AF0)
-#define GPIO99_GPIO            MFP_CFG_IN(GPIO99, AF0)
-#define GPIO100_GPIO           MFP_CFG_IN(GPIO100, AF0)
-#define GPIO101_GPIO           MFP_CFG_IN(GPIO101, AF0)
-#define GPIO102_GPIO           MFP_CFG_IN(GPIO102, AF0)
-#define GPIO103_GPIO           MFP_CFG_IN(GPIO103, AF0)
-#define GPIO104_GPIO           MFP_CFG_IN(GPIO104, AF0)
-#define GPIO105_GPIO           MFP_CFG_IN(GPIO105, AF0)
-#define GPIO106_GPIO           MFP_CFG_IN(GPIO106, AF0)
-#define GPIO107_GPIO           MFP_CFG_IN(GPIO107, AF0)
-#define GPIO108_GPIO           MFP_CFG_IN(GPIO108, AF0)
-#define GPIO109_GPIO           MFP_CFG_IN(GPIO109, AF0)
-#define GPIO110_GPIO           MFP_CFG_IN(GPIO110, AF0)
-#define GPIO111_GPIO           MFP_CFG_IN(GPIO111, AF0)
-#define GPIO112_GPIO           MFP_CFG_IN(GPIO112, AF0)
-#define GPIO113_GPIO           MFP_CFG_IN(GPIO113, AF0)
-#define GPIO114_GPIO           MFP_CFG_IN(GPIO114, AF0)
-#define GPIO115_GPIO           MFP_CFG_IN(GPIO115, AF0)
-#define GPIO116_GPIO           MFP_CFG_IN(GPIO116, AF0)
-#define GPIO117_GPIO           MFP_CFG_IN(GPIO117, AF0)
-#define GPIO118_GPIO           MFP_CFG_IN(GPIO118, AF0)
-#define GPIO119_GPIO           MFP_CFG_IN(GPIO119, AF0)
-#define GPIO120_GPIO           MFP_CFG_IN(GPIO120, AF0)
-
-/* Crystal and Clock Signals */
-#define GPIO9_HZ_CLK           MFP_CFG_OUT(GPIO9,  AF1, DRIVE_LOW)
-#define GPIO10_HZ_CLK          MFP_CFG_OUT(GPIO10, AF1, DRIVE_LOW)
-#define GPIO11_48_MHz          MFP_CFG_OUT(GPIO11, AF3, DRIVE_LOW)
-#define GPIO12_48_MHz          MFP_CFG_OUT(GPIO12, AF3, DRIVE_LOW)
-#define GPIO13_CLK_EXT         MFP_CFG_IN(GPIO13, AF1)
-
-/* OS Timer Signals */
-#define GPIO11_EXT_SYNC_0      MFP_CFG_IN(GPIO11, AF1)
-#define GPIO12_EXT_SYNC_1      MFP_CFG_IN(GPIO12, AF1)
-#define GPIO9_CHOUT_0          MFP_CFG_OUT(GPIO9,  AF3, DRIVE_LOW)
-#define GPIO10_CHOUT_1         MFP_CFG_OUT(GPIO10, AF3, DRIVE_LOW)
-#define GPIO11_CHOUT_0         MFP_CFG_OUT(GPIO11, AF1, DRIVE_LOW)
-#define GPIO12_CHOUT_1         MFP_CFG_OUT(GPIO12, AF1, DRIVE_LOW)
-
-/* SDRAM and Static Memory I/O Signals */
-#define GPIO20_nSDCS_2         MFP_CFG_OUT(GPIO20, AF1, DRIVE_HIGH)
-#define GPIO21_nSDCS_3         MFP_CFG_OUT(GPIO21, AF1, DRIVE_HIGH)
-#define GPIO15_nCS_1           MFP_CFG_OUT(GPIO15, AF2, DRIVE_HIGH)
-#define GPIO78_nCS_2           MFP_CFG_OUT(GPIO78, AF2, DRIVE_HIGH)
-#define GPIO79_nCS_3           MFP_CFG_OUT(GPIO79, AF2, DRIVE_HIGH)
-#define GPIO80_nCS_4           MFP_CFG_OUT(GPIO80, AF2, DRIVE_HIGH)
-#define GPIO33_nCS_5           MFP_CFG_OUT(GPIO33, AF2, DRIVE_HIGH)
-
-/* Miscellaneous I/O and DMA Signals */
-#define GPIO21_DVAL_0          MFP_CFG_OUT(GPIO21, AF2, DRIVE_HIGH)
-#define GPIO116_DVAL_0         MFP_CFG_OUT(GPIO116, AF1, DRIVE_HIGH)
-#define GPIO33_DVAL_1          MFP_CFG_OUT(GPIO33, AF1, DRIVE_HIGH)
-#define GPIO96_DVAL_1          MFP_CFG_OUT(GPIO96, AF2, DRIVE_HIGH)
-#define GPIO18_RDY             MFP_CFG_IN(GPIO18, AF1)
-#define GPIO20_DREQ_0          MFP_CFG_IN(GPIO20, AF1)
-#define GPIO115_DREQ_0         MFP_CFG_IN(GPIO115, AF1)
-#define GPIO80_DREQ_1          MFP_CFG_IN(GPIO80, AF1)
-#define GPIO97_DREQ_1          MFP_CFG_IN(GPIO97, AF2)
-#define GPIO85_DREQ_2          MFP_CFG_IN(GPIO85, AF2)
-#define GPIO100_DREQ_2         MFP_CFG_IN(GPIO100, AF2)
-
-/* Alternate Bus Master Mode I/O Signals */
-#define GPIO20_MBREQ           MFP_CFG_IN(GPIO20, AF2)
-#define GPIO80_MBREQ           MFP_CFG_IN(GPIO80, AF2)
-#define GPIO96_MBREQ           MFP_CFG_IN(GPIO96, AF2)
-#define GPIO115_MBREQ          MFP_CFG_IN(GPIO115, AF3)
-#define GPIO21_MBGNT           MFP_CFG_OUT(GPIO21, AF3, DRIVE_LOW)
-#define GPIO33_MBGNT           MFP_CFG_OUT(GPIO33, AF3, DRIVE_LOW)
-#define GPIO97_MBGNT           MFP_CFG_OUT(GPIO97, AF2, DRIVE_LOW)
-#define GPIO116_MBGNT          MFP_CFG_OUT(GPIO116, AF3, DRIVE_LOW)
-
-/* PC CARD */
-#define GPIO15_nPCE_1          MFP_CFG_OUT(GPIO15, AF1, DRIVE_HIGH)
-#define GPIO85_nPCE_1          MFP_CFG_OUT(GPIO85, AF1, DRIVE_HIGH)
-#define GPIO86_nPCE_1          MFP_CFG_OUT(GPIO86, AF1, DRIVE_HIGH)
-#define GPIO102_nPCE_1         MFP_CFG_OUT(GPIO102, AF1, DRIVE_HIGH)
-#define GPIO54_nPCE_2          MFP_CFG_OUT(GPIO54, AF2, DRIVE_HIGH)
-#define GPIO78_nPCE_2          MFP_CFG_OUT(GPIO78, AF1, DRIVE_HIGH)
-#define GPIO87_nPCE_2          MFP_CFG_IN(GPIO87, AF1)
-#define GPIO55_nPREG           MFP_CFG_OUT(GPIO55, AF2, DRIVE_HIGH)
-#define GPIO50_nPIOR           MFP_CFG_OUT(GPIO50, AF2, DRIVE_HIGH)
-#define GPIO51_nPIOW           MFP_CFG_OUT(GPIO51, AF2, DRIVE_HIGH)
-#define GPIO49_nPWE            MFP_CFG_OUT(GPIO49, AF2, DRIVE_HIGH)
-#define GPIO48_nPOE            MFP_CFG_OUT(GPIO48, AF2, DRIVE_HIGH)
-#define GPIO57_nIOIS16         MFP_CFG_IN(GPIO57, AF1)
-#define GPIO56_nPWAIT          MFP_CFG_IN(GPIO56, AF1)
-#define GPIO79_PSKTSEL         MFP_CFG_OUT(GPIO79, AF1, DRIVE_HIGH)
-#define GPIO104_PSKTSEL                MFP_CFG_OUT(GPIO104, AF1, DRIVE_HIGH)
-
-/* I2C */
-#define GPIO117_I2C_SCL                MFP_CFG_IN(GPIO117, AF1)
-#define GPIO118_I2C_SDA                MFP_CFG_IN(GPIO118, AF1)
-
-/* FFUART */
-#define GPIO9_FFUART_CTS       MFP_CFG_IN(GPIO9, AF3)
-#define GPIO26_FFUART_CTS      MFP_CFG_IN(GPIO26, AF3)
-#define GPIO35_FFUART_CTS      MFP_CFG_IN(GPIO35, AF1)
-#define GPIO100_FFUART_CTS     MFP_CFG_IN(GPIO100, AF3)
-#define GPIO10_FFUART_DCD      MFP_CFG_IN(GPIO10, AF1)
-#define GPIO36_FFUART_DCD      MFP_CFG_IN(GPIO36, AF1)
-#define GPIO33_FFUART_DSR      MFP_CFG_IN(GPIO33, AF2)
-#define GPIO37_FFUART_DSR      MFP_CFG_IN(GPIO37, AF1)
-#define GPIO38_FFUART_RI       MFP_CFG_IN(GPIO38, AF1)
-#define GPIO89_FFUART_RI       MFP_CFG_IN(GPIO89, AF3)
-#define GPIO19_FFUART_RXD      MFP_CFG_IN(GPIO19, AF3)
-#define GPIO33_FFUART_RXD      MFP_CFG_IN(GPIO33, AF1)
-#define GPIO34_FFUART_RXD      MFP_CFG_IN(GPIO34, AF1)
-#define GPIO41_FFUART_RXD      MFP_CFG_IN(GPIO41, AF1)
-#define GPIO53_FFUART_RXD      MFP_CFG_IN(GPIO53, AF1)
-#define GPIO85_FFUART_RXD      MFP_CFG_IN(GPIO85, AF1)
-#define GPIO96_FFUART_RXD      MFP_CFG_IN(GPIO96, AF3)
-#define GPIO102_FFUART_RXD     MFP_CFG_IN(GPIO102, AF3)
-#define GPIO16_FFUART_TXD      MFP_CFG_OUT(GPIO16, AF3, DRIVE_HIGH)
-#define GPIO37_FFUART_TXD      MFP_CFG_OUT(GPIO37, AF3, DRIVE_HIGH)
-#define GPIO39_FFUART_TXD      MFP_CFG_OUT(GPIO39, AF2, DRIVE_HIGH)
-#define GPIO83_FFUART_TXD      MFP_CFG_OUT(GPIO83, AF2, DRIVE_HIGH)
-#define GPIO99_FFUART_TXD      MFP_CFG_OUT(GPIO99, AF3, DRIVE_HIGH)
-#define GPIO27_FFUART_RTS      MFP_CFG_OUT(GPIO27, AF3, DRIVE_HIGH)
-#define GPIO41_FFUART_RTS      MFP_CFG_OUT(GPIO41, AF2, DRIVE_HIGH)
-#define GPIO83_FFUART_RTS      MFP_CFG_OUT(GPIO83, AF3, DRIVE_HIGH)
-#define GPIO98_FFUART_RTS      MFP_CFG_OUT(GPIO98, AF3, DRIVE_HIGH)
-#define GPIO40_FFUART_DTR      MFP_CFG_OUT(GPIO40, AF2, DRIVE_HIGH)
-#define GPIO82_FFUART_DTR      MFP_CFG_OUT(GPIO82, AF3, DRIVE_HIGH)
-
-/* BTUART */
-#define GPIO44_BTUART_CTS      MFP_CFG_IN(GPIO44, AF1)
-#define GPIO42_BTUART_RXD      MFP_CFG_IN(GPIO42, AF1)
-#define GPIO45_BTUART_RTS      MFP_CFG_OUT(GPIO45, AF2, DRIVE_HIGH)
-#define GPIO43_BTUART_TXD      MFP_CFG_OUT(GPIO43, AF2, DRIVE_HIGH)
-
-/* STUART */
-#define GPIO46_STUART_RXD      MFP_CFG_IN(GPIO46, AF2)
-#define GPIO47_STUART_TXD      MFP_CFG_OUT(GPIO47, AF1, DRIVE_HIGH)
-
-/* FICP */
-#define GPIO42_FICP_RXD                MFP_CFG_IN(GPIO42, AF2)
-#define GPIO46_FICP_RXD                MFP_CFG_IN(GPIO46, AF1)
-#define GPIO43_FICP_TXD                MFP_CFG_OUT(GPIO43, AF1, DRIVE_HIGH)
-#define GPIO47_FICP_TXD                MFP_CFG_OUT(GPIO47, AF2, DRIVE_HIGH)
-
-/* PWM 0/1/2/3 */
-#define GPIO11_PWM2_OUT                MFP_CFG_OUT(GPIO11, AF2, DRIVE_LOW)
-#define GPIO12_PWM3_OUT                MFP_CFG_OUT(GPIO12, AF2, DRIVE_LOW)
-#define GPIO16_PWM0_OUT                MFP_CFG_OUT(GPIO16, AF2, DRIVE_LOW)
-#define GPIO17_PWM1_OUT                MFP_CFG_OUT(GPIO17, AF2, DRIVE_LOW)
-#define GPIO38_PWM1_OUT                MFP_CFG_OUT(GPIO38, AF3, DRIVE_LOW)
-#define GPIO46_PWM2_OUT                MFP_CFG_OUT(GPIO46, AF2, DRIVE_LOW)
-#define GPIO47_PWM3_OUT                MFP_CFG_OUT(GPIO47, AF3, DRIVE_LOW)
-#define GPIO79_PWM2_OUT                MFP_CFG_OUT(GPIO79, AF3, DRIVE_LOW)
-#define GPIO80_PWM3_OUT                MFP_CFG_OUT(GPIO80, AF3, DRIVE_LOW)
-#define GPIO115_PWM1_OUT       MFP_CFG_OUT(GPIO115, AF3, DRIVE_LOW)
-
-/* AC97 */
-#define GPIO31_AC97_SYNC       MFP_CFG_OUT(GPIO31, AF2, DRIVE_LOW)
-#define GPIO94_AC97_SYNC       MFP_CFG_OUT(GPIO94, AF1, DRIVE_LOW)
-#define GPIO30_AC97_SDATA_OUT  MFP_CFG_OUT(GPIO30, AF2, DRIVE_LOW)
-#define GPIO93_AC97_SDATA_OUT  MFP_CFG_OUT(GPIO93, AF1, DRIVE_LOW)
-#define GPIO45_AC97_SYSCLK     MFP_CFG_OUT(GPIO45, AF1, DRIVE_LOW)
-#define GPIO89_AC97_SYSCLK     MFP_CFG_OUT(GPIO89, AF1, DRIVE_LOW)
-#define GPIO98_AC97_SYSCLK     MFP_CFG_OUT(GPIO98, AF1, DRIVE_LOW)
-#define GPIO95_AC97_nRESET     MFP_CFG_OUT(GPIO95, AF1, DRIVE_LOW)
-#define GPIO113_AC97_nRESET    MFP_CFG_OUT(GPIO113, AF2, DRIVE_LOW)
-#define GPIO28_AC97_BITCLK     MFP_CFG_IN(GPIO28, AF1)
-#define GPIO29_AC97_SDATA_IN_0 MFP_CFG_IN(GPIO29, AF1)
-#define GPIO116_AC97_SDATA_IN_0        MFP_CFG_IN(GPIO116, AF2)
-#define GPIO99_AC97_SDATA_IN_1 MFP_CFG_IN(GPIO99, AF2)
-
-/* I2S */
-#define GPIO28_I2S_BITCLK_IN   MFP_CFG_IN(GPIO28, AF2)
-#define GPIO28_I2S_BITCLK_OUT  MFP_CFG_OUT(GPIO28, AF1, DRIVE_LOW)
-#define GPIO29_I2S_SDATA_IN    MFP_CFG_IN(GPIO29, AF2)
-#define GPIO30_I2S_SDATA_OUT   MFP_CFG_OUT(GPIO30, AF1, DRIVE_LOW)
-#define GPIO31_I2S_SYNC                MFP_CFG_OUT(GPIO31, AF1, DRIVE_LOW)
-#define GPIO113_I2S_SYSCLK     MFP_CFG_OUT(GPIO113, AF1, DRIVE_LOW)
-
-/* SSP 1 */
-#define GPIO23_SSP1_SCLK       MFP_CFG_OUT(GPIO23, AF2, DRIVE_LOW)
-#define GPIO29_SSP1_SCLK       MFP_CFG_IN(GPIO29, AF3)
-#define GPIO27_SSP1_SYSCLK     MFP_CFG_OUT(GPIO27, AF1, DRIVE_LOW)
-#define GPIO53_SSP1_SYSCLK     MFP_CFG_OUT(GPIO53, AF3, DRIVE_LOW)
-#define GPIO24_SSP1_SFRM       MFP_CFG_IN(GPIO24, AF2)
-#define GPIO28_SSP1_SFRM       MFP_CFG_IN(GPIO28, AF3)
-#define GPIO25_SSP1_TXD                MFP_CFG_OUT(GPIO25, AF2, DRIVE_LOW)
-#define GPIO57_SSP1_TXD                MFP_CFG_OUT(GPIO57, AF3, DRIVE_LOW)
-#define GPIO26_SSP1_RXD                MFP_CFG_IN(GPIO26, AF1)
-#define GPIO27_SSP1_SCLKEN     MFP_CFG_IN(GPIO27, AF2)
-
-/* SSP 2 */
-#define GPIO19_SSP2_SCLK       MFP_CFG_IN(GPIO19, AF1)
-#define GPIO22_SSP2_SCLK       MFP_CFG_IN(GPIO22, AF3)
-#define GPIO29_SSP2_SCLK       MFP_CFG_OUT(GPIO29, AF3, DRIVE_LOW)
-#define GPIO36_SSP2_SCLK       MFP_CFG_IN(GPIO36, AF2)
-#define GPIO50_SSP2_SCLK       MFP_CFG_IN(GPIO50, AF3)
-#define GPIO22_SSP2_SYSCLK     MFP_CFG_OUT(GPIO22, AF2, DRIVE_LOW)
-#define GPIO14_SSP2_SFRM       MFP_CFG_IN(GPIO14, AF2)
-#define GPIO37_SSP2_SFRM       MFP_CFG_IN(GPIO37, AF2)
-#define GPIO87_SSP2_SFRM       MFP_CFG_OUT(GPIO87, AF3, DRIVE_LOW)
-#define GPIO88_SSP2_SFRM       MFP_CFG_IN(GPIO88, AF3)
-#define GPIO13_SSP2_TXD                MFP_CFG_OUT(GPIO13, AF1, DRIVE_LOW)
-#define GPIO38_SSP2_TXD                MFP_CFG_OUT(GPIO38, AF2, DRIVE_LOW)
-#define GPIO87_SSP2_TXD                MFP_CFG_OUT(GPIO87, AF1, DRIVE_LOW)
-#define GPIO89_SSP2_TXD                MFP_CFG_OUT(GPIO89, AF3, DRIVE_LOW)
-#define GPIO11_SSP2_RXD                MFP_CFG_IN(GPIO11, AF2)
-#define GPIO29_SSP2_RXD                MFP_CFG_OUT(GPIO29, AF1, DRIVE_LOW)
-#define GPIO40_SSP2_RXD                MFP_CFG_IN(GPIO40, AF1)
-#define GPIO86_SSP2_RXD                MFP_CFG_IN(GPIO86, AF1)
-#define GPIO88_SSP2_RXD                MFP_CFG_IN(GPIO88, AF2)
-#define GPIO22_SSP2_EXTCLK     MFP_CFG_IN(GPIO22, AF1)
-#define GPIO27_SSP2_EXTCLK     MFP_CFG_IN(GPIO27, AF1)
-#define GPIO22_SSP2_SCLKEN     MFP_CFG_IN(GPIO22, AF2)
-#define GPIO23_SSP2_SCLKEN     MFP_CFG_IN(GPIO23, AF2)
-
-/* SSP 3 */
-#define GPIO34_SSP3_SCLK       MFP_CFG_IN(GPIO34, AF3)
-#define GPIO40_SSP3_SCLK       MFP_CFG_OUT(GPIO40, AF3, DRIVE_LOW)
-#define GPIO52_SSP3_SCLK       MFP_CFG_IN(GPIO52, AF2)
-#define GPIO84_SSP3_SCLK       MFP_CFG_IN(GPIO84, AF1)
-#define GPIO45_SSP3_SYSCLK     MFP_CFG_OUT(GPIO45, AF3, DRIVE_LOW)
-#define GPIO35_SSP3_SFRM       MFP_CFG_IN(GPIO35, AF3)
-#define GPIO39_SSP3_SFRM       MFP_CFG_IN(GPIO39, AF3)
-#define GPIO83_SSP3_SFRM       MFP_CFG_IN(GPIO83, AF1)
-#define GPIO35_SSP3_TXD                MFP_CFG_OUT(GPIO35, AF3, DRIVE_LOW)
-#define GPIO38_SSP3_TXD                MFP_CFG_OUT(GPIO38, AF1, DRIVE_LOW)
-#define GPIO81_SSP3_TXD                MFP_CFG_OUT(GPIO81, AF1, DRIVE_LOW)
-#define GPIO41_SSP3_RXD                MFP_CFG_IN(GPIO41, AF3)
-#define GPIO82_SSP3_RXD                MFP_CFG_IN(GPIO82, AF1)
-#define GPIO89_SSP3_RXD                MFP_CFG_IN(GPIO89, AF1)
-
-/* MMC */
-#define GPIO32_MMC_CLK         MFP_CFG_OUT(GPIO32, AF2, DRIVE_LOW)
-#define GPIO92_MMC_DAT_0       MFP_CFG_IN(GPIO92, AF1)
-#define GPIO109_MMC_DAT_1      MFP_CFG_IN(GPIO109, AF1)
-#define GPIO110_MMC_DAT_2      MFP_CFG_IN(GPIO110, AF1)
-#define GPIO111_MMC_DAT_3      MFP_CFG_IN(GPIO111, AF1)
-#define GPIO112_MMC_CMD                MFP_CFG_IN(GPIO112, AF1)
-
-/* LCD */
-#define GPIO58_LCD_LDD_0       MFP_CFG_OUT(GPIO58, AF2, DRIVE_LOW)
-#define GPIO59_LCD_LDD_1       MFP_CFG_OUT(GPIO59, AF2, DRIVE_LOW)
-#define GPIO60_LCD_LDD_2       MFP_CFG_OUT(GPIO60, AF2, DRIVE_LOW)
-#define GPIO61_LCD_LDD_3       MFP_CFG_OUT(GPIO61, AF2, DRIVE_LOW)
-#define GPIO62_LCD_LDD_4       MFP_CFG_OUT(GPIO62, AF2, DRIVE_LOW)
-#define GPIO63_LCD_LDD_5       MFP_CFG_OUT(GPIO63, AF2, DRIVE_LOW)
-#define GPIO64_LCD_LDD_6       MFP_CFG_OUT(GPIO64, AF2, DRIVE_LOW)
-#define GPIO65_LCD_LDD_7       MFP_CFG_OUT(GPIO65, AF2, DRIVE_LOW)
-#define GPIO66_LCD_LDD_8       MFP_CFG_OUT(GPIO66, AF2, DRIVE_LOW)
-#define GPIO67_LCD_LDD_9       MFP_CFG_OUT(GPIO67, AF2, DRIVE_LOW)
-#define GPIO68_LCD_LDD_10      MFP_CFG_OUT(GPIO68, AF2, DRIVE_LOW)
-#define GPIO69_LCD_LDD_11      MFP_CFG_OUT(GPIO69, AF2, DRIVE_LOW)
-#define GPIO70_LCD_LDD_12      MFP_CFG_OUT(GPIO70, AF2, DRIVE_LOW)
-#define GPIO71_LCD_LDD_13      MFP_CFG_OUT(GPIO71, AF2, DRIVE_LOW)
-#define GPIO72_LCD_LDD_14      MFP_CFG_OUT(GPIO72, AF2, DRIVE_LOW)
-#define GPIO73_LCD_LDD_15      MFP_CFG_OUT(GPIO73, AF2, DRIVE_LOW)
-#define GPIO86_LCD_LDD_16      MFP_CFG_OUT(GPIO86, AF2, DRIVE_LOW)
-#define GPIO87_LCD_LDD_17      MFP_CFG_OUT(GPIO87, AF2, DRIVE_LOW)
-#define GPIO74_LCD_FCLK                MFP_CFG_OUT(GPIO74, AF2, DRIVE_LOW)
-#define GPIO75_LCD_LCLK                MFP_CFG_OUT(GPIO75, AF2, DRIVE_LOW)
-#define GPIO76_LCD_PCLK                MFP_CFG_OUT(GPIO76, AF2, DRIVE_LOW)
-#define GPIO77_LCD_BIAS                MFP_CFG_OUT(GPIO77, AF2, DRIVE_LOW)
-#define GPIO14_LCD_VSYNC       MFP_CFG_IN(GPIO14, AF1)
-#define GPIO19_LCD_CS          MFP_CFG_OUT(GPIO19, AF2, DRIVE_LOW)
-
-/* Keypad */
-#define GPIO93_KP_DKIN_0       MFP_CFG_IN(GPIO93, AF1)
-#define GPIO94_KP_DKIN_1       MFP_CFG_IN(GPIO94, AF1)
-#define GPIO95_KP_DKIN_2       MFP_CFG_IN(GPIO95, AF1)
-#define GPIO96_KP_DKIN_3       MFP_CFG_IN(GPIO96, AF1)
-#define GPIO97_KP_DKIN_4       MFP_CFG_IN(GPIO97, AF1)
-#define GPIO98_KP_DKIN_5       MFP_CFG_IN(GPIO98, AF1)
-#define GPIO99_KP_DKIN_6       MFP_CFG_IN(GPIO99, AF1)
-#define GPIO13_KP_KDIN_7       MFP_CFG_IN(GPIO13, AF2)
-#define GPIO100_KP_MKIN_0      MFP_CFG_IN(GPIO100, AF1)
-#define GPIO101_KP_MKIN_1      MFP_CFG_IN(GPIO101, AF1)
-#define GPIO102_KP_MKIN_2      MFP_CFG_IN(GPIO102, AF1)
-#define GPIO34_KP_MKIN_3       MFP_CFG_IN(GPIO34, AF2)
-#define GPIO37_KP_MKIN_3       MFP_CFG_IN(GPIO37, AF3)
-#define GPIO97_KP_MKIN_3       MFP_CFG_IN(GPIO97, AF3)
-#define GPIO98_KP_MKIN_4       MFP_CFG_IN(GPIO98, AF3)
-#define GPIO38_KP_MKIN_4       MFP_CFG_IN(GPIO38, AF2)
-#define GPIO39_KP_MKIN_4       MFP_CFG_IN(GPIO39, AF1)
-#define GPIO16_KP_MKIN_5       MFP_CFG_IN(GPIO16, AF1)
-#define GPIO90_KP_MKIN_5       MFP_CFG_IN(GPIO90, AF1)
-#define GPIO99_KP_MKIN_5       MFP_CFG_IN(GPIO99, AF3)
-#define GPIO17_KP_MKIN_6       MFP_CFG_IN(GPIO17, AF1)
-#define GPIO91_KP_MKIN_6       MFP_CFG_IN(GPIO91, AF1)
-#define GPIO95_KP_MKIN_6       MFP_CFG_IN(GPIO95, AF3)
-#define GPIO13_KP_MKIN_7       MFP_CFG_IN(GPIO13, AF3)
-#define GPIO36_KP_MKIN_7       MFP_CFG_IN(GPIO36, AF3)
-#define GPIO103_KP_MKOUT_0     MFP_CFG_OUT(GPIO103, AF2, DRIVE_HIGH)
-#define GPIO104_KP_MKOUT_1     MFP_CFG_OUT(GPIO104, AF2, DRIVE_HIGH)
-#define GPIO105_KP_MKOUT_2     MFP_CFG_OUT(GPIO105, AF2, DRIVE_HIGH)
-#define GPIO106_KP_MKOUT_3     MFP_CFG_OUT(GPIO106, AF2, DRIVE_HIGH)
-#define GPIO107_KP_MKOUT_4     MFP_CFG_OUT(GPIO107, AF2, DRIVE_HIGH)
-#define GPIO108_KP_MKOUT_5     MFP_CFG_OUT(GPIO108, AF2, DRIVE_HIGH)
-#define GPIO35_KP_MKOUT_6      MFP_CFG_OUT(GPIO35, AF2, DRIVE_HIGH)
-#define GPIO22_KP_MKOUT_7      MFP_CFG_OUT(GPIO22, AF1, DRIVE_HIGH)
-#define GPIO40_KP_MKOUT_6      MFP_CFG_OUT(GPIO40, AF1, DRIVE_HIGH)
-#define GPIO41_KP_MKOUT_7      MFP_CFG_OUT(GPIO41, AF1, DRIVE_HIGH)
-#define GPIO96_KP_MKOUT_6      MFP_CFG_OUT(GPIO96, AF3, DRIVE_HIGH)
-
-/* USB P3 */
-#define GPIO10_USB_P3_5                MFP_CFG_IN(GPIO10, AF3)
-#define GPIO11_USB_P3_1                MFP_CFG_IN(GPIO11, AF3)
-#define GPIO30_USB_P3_2                MFP_CFG_OUT(GPIO30, AF3, DRIVE_LOW)
-#define GPIO31_USB_P3_6                MFP_CFG_OUT(GPIO31, AF3, DRIVE_LOW)
-#define GPIO56_USB_P3_4                MFP_CFG_OUT(GPIO56, AF1, DRIVE_LOW)
-#define GPIO86_USB_P3_5                MFP_CFG_IN(GPIO86, AF3)
-#define GPIO87_USB_P3_1                MFP_CFG_IN(GPIO87, AF3)
-#define GPIO90_USB_P3_5                MFP_CFG_IN(GPIO90, AF2)
-#define GPIO91_USB_P3_1                MFP_CFG_IN(GPIO91, AF2)
-#define GPIO113_USB_P3_3       MFP_CFG_IN(GPIO113, AF3)
-
-/* USB P2 */
-#define GPIO34_USB_P2_2                MFP_CFG_OUT(GPIO34, AF1, DRIVE_LOW)
-#define GPIO35_USB_P2_1                MFP_CFG_IN(GPIO35, AF2)
-#define GPIO36_USB_P2_4                MFP_CFG_OUT(GPIO36, AF1, DRIVE_LOW)
-#define GPIO37_USB_P2_8                MFP_CFG_OUT(GPIO37, AF1, DRIVE_LOW)
-#define GPIO38_USB_P2_3                MFP_CFG_IN(GPIO38, AF3)
-#define GPIO39_USB_P2_6                MFP_CFG_OUT(GPIO39, AF1, DRIVE_LOW)
-#define GPIO40_USB_P2_5                MFP_CFG_IN(GPIO40, AF3)
-#define GPIO41_USB_P2_7                MFP_CFG_IN(GPIO41, AF2)
-#define GPIO53_USB_P2_3                MFP_CFG_IN(GPIO53, AF2)
-
-/* USB Host Port 1/2 */
-#define GPIO88_USBH1_PWR       MFP_CFG_IN(GPIO88, AF1)
-#define GPIO89_USBH1_PEN       MFP_CFG_OUT(GPIO89, AF2, DRIVE_LOW)
-#define GPIO119_USBH2_PWR      MFP_CFG_IN(GPIO119, AF1)
-#define GPIO120_USBH2_PEN      MFP_CFG_OUT(GPIO120, AF2, DRIVE_LOW)
-
-/* QCI - default to Master Mode: CIF_FV/CIF_LV Direction In */
-#define GPIO115_CIF_DD_3       MFP_CFG_IN(GPIO115, AF2)
-#define GPIO116_CIF_DD_2       MFP_CFG_IN(GPIO116, AF1)
-#define GPIO12_CIF_DD_7                MFP_CFG_IN(GPIO12, AF2)
-#define GPIO17_CIF_DD_6                MFP_CFG_IN(GPIO17, AF2)
-#define GPIO23_CIF_MCLK                MFP_CFG_OUT(GPIO23, AF1, DRIVE_LOW)
-#define GPIO24_CIF_FV          MFP_CFG_IN(GPIO24, AF1)
-#define GPIO25_CIF_LV          MFP_CFG_IN(GPIO25, AF1)
-#define GPIO26_CIF_PCLK                MFP_CFG_IN(GPIO26, AF2)
-#define GPIO27_CIF_DD_0                MFP_CFG_IN(GPIO27, AF3)
-#define GPIO42_CIF_MCLK                MFP_CFG_OUT(GPIO42, AF3, DRIVE_LOW)
-#define GPIO43_CIF_FV          MFP_CFG_IN(GPIO43, AF3)
-#define GPIO44_CIF_LV          MFP_CFG_IN(GPIO44, AF3)
-#define GPIO45_CIF_PCLK                MFP_CFG_IN(GPIO45, AF3)
-#define GPIO47_CIF_DD_0                MFP_CFG_IN(GPIO47, AF1)
-#define GPIO48_CIF_DD_5                MFP_CFG_IN(GPIO48, AF1)
-#define GPIO50_CIF_DD_3                MFP_CFG_IN(GPIO50, AF1)
-#define GPIO51_CIF_DD_2                MFP_CFG_IN(GPIO51, AF1)
-#define GPIO52_CIF_DD_4                MFP_CFG_IN(GPIO52, AF1)
-#define GPIO53_CIF_MCLK                MFP_CFG_OUT(GPIO53, AF2, DRIVE_LOW)
-#define GPIO54_CIF_PCLK                MFP_CFG_IN(GPIO54, AF3)
-#define GPIO55_CIF_DD_1                MFP_CFG_IN(GPIO55, AF1)
-#define GPIO81_CIF_DD_0                MFP_CFG_IN(GPIO81, AF2)
-#define GPIO82_CIF_DD_5                MFP_CFG_IN(GPIO82, AF3)
-#define GPIO83_CIF_DD_4                MFP_CFG_IN(GPIO83, AF3)
-#define GPIO84_CIF_FV          MFP_CFG_IN(GPIO84, AF3)
-#define GPIO85_CIF_LV          MFP_CFG_IN(GPIO85, AF3)
-#define GPIO90_CIF_DD_4                MFP_CFG_IN(GPIO90, AF3)
-#define GPIO91_CIF_DD_5                MFP_CFG_IN(GPIO91, AF3)
-#define GPIO93_CIF_DD_6                MFP_CFG_IN(GPIO93, AF2)
-#define GPIO94_CIF_DD_5                MFP_CFG_IN(GPIO94, AF2)
-#define GPIO95_CIF_DD_4                MFP_CFG_IN(GPIO95, AF2)
-#define GPIO98_CIF_DD_0                MFP_CFG_IN(GPIO98, AF2)
-#define GPIO103_CIF_DD_3       MFP_CFG_IN(GPIO103, AF1)
-#define GPIO104_CIF_DD_2       MFP_CFG_IN(GPIO104, AF1)
-#define GPIO105_CIF_DD_1       MFP_CFG_IN(GPIO105, AF1)
-#define GPIO106_CIF_DD_9       MFP_CFG_IN(GPIO106, AF1)
-#define GPIO107_CIF_DD_8       MFP_CFG_IN(GPIO107, AF1)
-#define GPIO108_CIF_DD_7       MFP_CFG_IN(GPIO108, AF1)
-#define GPIO114_CIF_DD_1       MFP_CFG_IN(GPIO114, AF1)
-
-/* Universal Subscriber ID Interface */
-#define GPIO114_UVS0           MFP_CFG_OUT(GPIO114, AF2, DRIVE_LOW)
-#define GPIO115_nUVS1          MFP_CFG_OUT(GPIO115, AF2, DRIVE_LOW)
-#define GPIO116_nUVS2          MFP_CFG_OUT(GPIO116, AF2, DRIVE_LOW)
-#define GPIO14_UCLK            MFP_CFG_OUT(GPIO14, AF3, DRIVE_LOW)
-#define GPIO91_UCLK            MFP_CFG_OUT(GPIO91, AF2, DRIVE_LOW)
-#define GPIO19_nURST           MFP_CFG_OUT(GPIO19, AF3, DRIVE_LOW)
-#define GPIO90_nURST           MFP_CFG_OUT(GPIO90, AF2, DRIVE_LOW)
-#define GPIO116_UDET           MFP_CFG_IN(GPIO116, AF3)
-#define GPIO114_UEN            MFP_CFG_OUT(GPIO114, AF1, DRIVE_LOW)
-#define GPIO115_UEN            MFP_CFG_OUT(GPIO115, AF1, DRIVE_LOW)
-
-/* Mobile Scalable Link (MSL) Interface */
-#define GPIO81_BB_OB_DAT_0     MFP_CFG_OUT(GPIO81, AF2, DRIVE_LOW)
-#define GPIO48_BB_OB_DAT_1     MFP_CFG_OUT(GPIO48, AF1, DRIVE_LOW)
-#define GPIO50_BB_OB_DAT_2     MFP_CFG_OUT(GPIO50, AF1, DRIVE_LOW)
-#define GPIO51_BB_OB_DAT_3     MFP_CFG_OUT(GPIO51, AF1, DRIVE_LOW)
-#define GPIO52_BB_OB_CLK       MFP_CFG_OUT(GPIO52, AF1, DRIVE_LOW)
-#define GPIO53_BB_OB_STB       MFP_CFG_OUT(GPIO53, AF1, DRIVE_LOW)
-#define GPIO54_BB_OB_WAIT      MFP_CFG_IN(GPIO54, AF2)
-#define GPIO82_BB_IB_DAT_0     MFP_CFG_IN(GPIO82, AF2)
-#define GPIO55_BB_IB_DAT_1     MFP_CFG_IN(GPIO55, AF2)
-#define GPIO56_BB_IB_DAT_2     MFP_CFG_IN(GPIO56, AF2)
-#define GPIO57_BB_IB_DAT_3     MFP_CFG_IN(GPIO57, AF2)
-#define GPIO83_BB_IB_CLK       MFP_CFG_IN(GPIO83, AF2)
-#define GPIO84_BB_IB_STB       MFP_CFG_IN(GPIO84, AF2)
-#define GPIO85_BB_IB_WAIT      MFP_CFG_OUT(GPIO85, AF2, DRIVE_LOW)
-
-/* Memory Stick Host Controller */
-#define GPIO92_MSBS            MFP_CFG_OUT(GPIO92, AF2, DRIVE_LOW)
-#define GPIO109_MSSDIO         MFP_CFG_IN(GPIO109, AF2)
-#define GPIO112_nMSINS         MFP_CFG_IN(GPIO112, AF2)
-#define GPIO32_MSSCLK          MFP_CFG_OUT(GPIO32, AF1, DRIVE_LOW)
-
-/* commonly used pin configurations */
-#define GPIOxx_LCD_16BPP       \
-       GPIO58_LCD_LDD_0,       \
-       GPIO59_LCD_LDD_1,       \
-       GPIO60_LCD_LDD_2,       \
-       GPIO61_LCD_LDD_3,       \
-       GPIO62_LCD_LDD_4,       \
-       GPIO63_LCD_LDD_5,       \
-       GPIO64_LCD_LDD_6,       \
-       GPIO65_LCD_LDD_7,       \
-       GPIO66_LCD_LDD_8,       \
-       GPIO67_LCD_LDD_9,       \
-       GPIO68_LCD_LDD_10,      \
-       GPIO69_LCD_LDD_11,      \
-       GPIO70_LCD_LDD_12,      \
-       GPIO71_LCD_LDD_13,      \
-       GPIO72_LCD_LDD_14,      \
-       GPIO73_LCD_LDD_15
-
-#define GPIOxx_LCD_DSTN_16BPP  \
-       GPIOxx_LCD_16BPP,       \
-       GPIO74_LCD_FCLK,        \
-       GPIO75_LCD_LCLK,        \
-       GPIO76_LCD_PCLK
-
-#define GPIOxx_LCD_TFT_16BPP   \
-       GPIOxx_LCD_16BPP,       \
-       GPIO74_LCD_FCLK,        \
-       GPIO75_LCD_LCLK,        \
-       GPIO76_LCD_PCLK,        \
-       GPIO77_LCD_BIAS
-
-extern int keypad_set_wake(unsigned int on);
-#endif /* __ASM_ARCH_MFP_PXA27X_H */
diff --git a/include/mach/pxa/mfp-pxa2xx.h b/include/mach/pxa/mfp-pxa2xx.h
deleted file mode 100644
index 00bae5e063..0000000000
--- a/include/mach/pxa/mfp-pxa2xx.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-#ifndef __ASM_ARCH_MFP_PXA2XX_H
-#define __ASM_ARCH_MFP_PXA2XX_H
-
-#include <mach/pxa/mfp.h>
-
-/*
- * the following MFP_xxx bit definitions in mfp.h are re-used for pxa2xx:
- *
- *  MFP_PIN(x)
- *  MFP_AFx
- *  MFP_LPM_DRIVE_{LOW, HIGH}
- *  MFP_LPM_EDGE_x
- *
- * other MFP_x bit definitions will be ignored
- *
- * and adds the below two bits specifically for pxa2xx:
- *
- * bit     23 - Input/Output (PXA2xx specific)
- * bit     24 - Wakeup Enable(PXA2xx specific)
- */
-
-#define MFP_DIR_IN             (0x0 << 23)
-#define MFP_DIR_OUT            (0x1 << 23)
-#define MFP_DIR_MASK           (0x1 << 23)
-#define MFP_DIR(x)             (((x) >> 23) & 0x1)
-
-#define MFP_LPM_CAN_WAKEUP     (0x1 << 24)
-#define WAKEUP_ON_EDGE_RISE    (MFP_LPM_CAN_WAKEUP | MFP_LPM_EDGE_RISE)
-#define WAKEUP_ON_EDGE_FALL    (MFP_LPM_CAN_WAKEUP | MFP_LPM_EDGE_FALL)
-#define WAKEUP_ON_EDGE_BOTH    (MFP_LPM_CAN_WAKEUP | MFP_LPM_EDGE_BOTH)
-
-/* specifically for enabling wakeup on keypad GPIOs */
-#define WAKEUP_ON_LEVEL_HIGH   (MFP_LPM_CAN_WAKEUP)
-
-#define MFP_CFG_IN(pin, af)            \
-       ((MFP_CFG_DEFAULT & ~(MFP_AF_MASK | MFP_DIR_MASK)) |\
-        (MFP_PIN(MFP_PIN_##pin) | MFP_##af | MFP_DIR_IN))
-
-/* NOTE:  pins configured as output _must_ provide a low power state,
- * and this state should help to minimize the power dissipation.
- */
-#define MFP_CFG_OUT(pin, af, state)    \
-       ((MFP_CFG_DEFAULT & ~(MFP_AF_MASK | MFP_DIR_MASK | MFP_LPM_STATE_MASK)) 
|\
-        (MFP_PIN(MFP_PIN_##pin) | MFP_##af | MFP_DIR_OUT | MFP_LPM_##state))
-
-/* Common configurations for pxa25x and pxa27x
- *
- * Note: pins configured as GPIO are always initialized to input
- * so not to cause any side effect
- */
-#define GPIO0_GPIO     MFP_CFG_IN(GPIO0, AF0)
-#define GPIO1_GPIO     MFP_CFG_IN(GPIO1, AF0)
-#define GPIO9_GPIO     MFP_CFG_IN(GPIO9, AF0)
-#define GPIO10_GPIO    MFP_CFG_IN(GPIO10, AF0)
-#define GPIO11_GPIO    MFP_CFG_IN(GPIO11, AF0)
-#define GPIO12_GPIO    MFP_CFG_IN(GPIO12, AF0)
-#define GPIO13_GPIO    MFP_CFG_IN(GPIO13, AF0)
-#define GPIO14_GPIO    MFP_CFG_IN(GPIO14, AF0)
-#define GPIO15_GPIO    MFP_CFG_IN(GPIO15, AF0)
-#define GPIO16_GPIO    MFP_CFG_IN(GPIO16, AF0)
-#define GPIO17_GPIO    MFP_CFG_IN(GPIO17, AF0)
-#define GPIO18_GPIO    MFP_CFG_IN(GPIO18, AF0)
-#define GPIO19_GPIO    MFP_CFG_IN(GPIO19, AF0)
-#define GPIO20_GPIO    MFP_CFG_IN(GPIO20, AF0)
-#define GPIO21_GPIO    MFP_CFG_IN(GPIO21, AF0)
-#define GPIO22_GPIO    MFP_CFG_IN(GPIO22, AF0)
-#define GPIO23_GPIO    MFP_CFG_IN(GPIO23, AF0)
-#define GPIO24_GPIO    MFP_CFG_IN(GPIO24, AF0)
-#define GPIO25_GPIO    MFP_CFG_IN(GPIO25, AF0)
-#define GPIO26_GPIO    MFP_CFG_IN(GPIO26, AF0)
-#define GPIO27_GPIO    MFP_CFG_IN(GPIO27, AF0)
-#define GPIO28_GPIO    MFP_CFG_IN(GPIO28, AF0)
-#define GPIO29_GPIO    MFP_CFG_IN(GPIO29, AF0)
-#define GPIO30_GPIO    MFP_CFG_IN(GPIO30, AF0)
-#define GPIO31_GPIO    MFP_CFG_IN(GPIO31, AF0)
-#define GPIO32_GPIO    MFP_CFG_IN(GPIO32, AF0)
-#define GPIO33_GPIO    MFP_CFG_IN(GPIO33, AF0)
-#define GPIO34_GPIO    MFP_CFG_IN(GPIO34, AF0)
-#define GPIO35_GPIO    MFP_CFG_IN(GPIO35, AF0)
-#define GPIO36_GPIO    MFP_CFG_IN(GPIO36, AF0)
-#define GPIO37_GPIO    MFP_CFG_IN(GPIO37, AF0)
-#define GPIO38_GPIO    MFP_CFG_IN(GPIO38, AF0)
-#define GPIO39_GPIO    MFP_CFG_IN(GPIO39, AF0)
-#define GPIO40_GPIO    MFP_CFG_IN(GPIO40, AF0)
-#define GPIO41_GPIO    MFP_CFG_IN(GPIO41, AF0)
-#define GPIO42_GPIO    MFP_CFG_IN(GPIO42, AF0)
-#define GPIO43_GPIO    MFP_CFG_IN(GPIO43, AF0)
-#define GPIO44_GPIO    MFP_CFG_IN(GPIO44, AF0)
-#define GPIO45_GPIO    MFP_CFG_IN(GPIO45, AF0)
-#define GPIO46_GPIO    MFP_CFG_IN(GPIO46, AF0)
-#define GPIO47_GPIO    MFP_CFG_IN(GPIO47, AF0)
-#define GPIO48_GPIO    MFP_CFG_IN(GPIO48, AF0)
-#define GPIO49_GPIO    MFP_CFG_IN(GPIO49, AF0)
-#define GPIO50_GPIO    MFP_CFG_IN(GPIO50, AF0)
-#define GPIO51_GPIO    MFP_CFG_IN(GPIO51, AF0)
-#define GPIO52_GPIO    MFP_CFG_IN(GPIO52, AF0)
-#define GPIO53_GPIO    MFP_CFG_IN(GPIO53, AF0)
-#define GPIO54_GPIO    MFP_CFG_IN(GPIO54, AF0)
-#define GPIO55_GPIO    MFP_CFG_IN(GPIO55, AF0)
-#define GPIO56_GPIO    MFP_CFG_IN(GPIO56, AF0)
-#define GPIO57_GPIO    MFP_CFG_IN(GPIO57, AF0)
-#define GPIO58_GPIO    MFP_CFG_IN(GPIO58, AF0)
-#define GPIO59_GPIO    MFP_CFG_IN(GPIO59, AF0)
-#define GPIO60_GPIO    MFP_CFG_IN(GPIO60, AF0)
-#define GPIO61_GPIO    MFP_CFG_IN(GPIO61, AF0)
-#define GPIO62_GPIO    MFP_CFG_IN(GPIO62, AF0)
-#define GPIO63_GPIO    MFP_CFG_IN(GPIO63, AF0)
-#define GPIO64_GPIO    MFP_CFG_IN(GPIO64, AF0)
-#define GPIO65_GPIO    MFP_CFG_IN(GPIO65, AF0)
-#define GPIO66_GPIO    MFP_CFG_IN(GPIO66, AF0)
-#define GPIO67_GPIO    MFP_CFG_IN(GPIO67, AF0)
-#define GPIO68_GPIO    MFP_CFG_IN(GPIO68, AF0)
-#define GPIO69_GPIO    MFP_CFG_IN(GPIO69, AF0)
-#define GPIO70_GPIO    MFP_CFG_IN(GPIO70, AF0)
-#define GPIO71_GPIO    MFP_CFG_IN(GPIO71, AF0)
-#define GPIO72_GPIO    MFP_CFG_IN(GPIO72, AF0)
-#define GPIO73_GPIO    MFP_CFG_IN(GPIO73, AF0)
-#define GPIO74_GPIO    MFP_CFG_IN(GPIO74, AF0)
-#define GPIO75_GPIO    MFP_CFG_IN(GPIO75, AF0)
-#define GPIO76_GPIO    MFP_CFG_IN(GPIO76, AF0)
-#define GPIO77_GPIO    MFP_CFG_IN(GPIO77, AF0)
-#define GPIO78_GPIO    MFP_CFG_IN(GPIO78, AF0)
-#define GPIO79_GPIO    MFP_CFG_IN(GPIO79, AF0)
-#define GPIO80_GPIO    MFP_CFG_IN(GPIO80, AF0)
-#define GPIO81_GPIO    MFP_CFG_IN(GPIO81, AF0)
-#define GPIO82_GPIO    MFP_CFG_IN(GPIO82, AF0)
-#define GPIO83_GPIO    MFP_CFG_IN(GPIO83, AF0)
-#define GPIO84_GPIO    MFP_CFG_IN(GPIO84, AF0)
-
-extern void pxa2xx_mfp_config(unsigned long *mfp_cfgs, int num);
-extern void pxa2xx_mfp_set_lpm(int mfp, unsigned long lpm);
-extern int gpio_set_wake(unsigned int gpio, unsigned int on);
-#endif /* __ASM_ARCH_MFP_PXA2XX_H */
diff --git a/include/mach/pxa/pxa-regs.h b/include/mach/pxa/pxa-regs.h
index 55bfae67be..24b39f5e60 100644
--- a/include/mach/pxa/pxa-regs.h
+++ b/include/mach/pxa/pxa-regs.h
@@ -20,18 +20,6 @@
 # define __REG2(x, y)  ((x) + (y))
 #endif
 
-#ifdef CONFIG_ARCH_PXA2XX
-#include <mach/pxa/pxa2xx-regs.h>
-#endif
-
-#if defined(CONFIG_ARCH_PXA27X)
-#include <mach/pxa/pxa27x-regs.h>
-#elif defined(CONFIG_ARCH_PXA3XX)
 #include <mach/pxa/pxa3xx-regs.h>
-#elif defined(CONFIG_ARCH_PXA25X)
-#include <mach/pxa/pxa25x-regs.h>
-#else
-#error "unknown PXA soc type"
-#endif
 
 #endif /* !__MACH_PXA_REGS_H */
diff --git a/include/mach/pxa/pxa25x-regs.h b/include/mach/pxa/pxa25x-regs.h
deleted file mode 100644
index f9cbe50007..0000000000
--- a/include/mach/pxa/pxa25x-regs.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-#ifndef __MACH_PXA25X_REGS
-#define __MACH_PXA25X_REGS
-
-/* this file intentionally left blank */
-
-#endif /* !__MACH_PXA25X_REGS */
diff --git a/include/mach/pxa/pxa27x-regs.h b/include/mach/pxa/pxa27x-regs.h
deleted file mode 100644
index a97538d012..0000000000
--- a/include/mach/pxa/pxa27x-regs.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-#ifndef __MACH_PXA27X_REGS
-#define __MACH_PXA27X_REGS
-
-/* this file intentionally left blank */
-
-#endif /* !__MACH_PXA27X_REGS */
diff --git a/include/mach/pxa/pxa2xx-regs.h b/include/mach/pxa/pxa2xx-regs.h
deleted file mode 100644
index 9e5aeb467d..0000000000
--- a/include/mach/pxa/pxa2xx-regs.h
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- *  arch/arm/mach-pxa/include/mach/pxa2xx-regs.h
- *
- *  Taken from pxa-regs.h by Russell King
- *
- *  Author:    Nicolas Pitre
- *  Copyright: MontaVista Software Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#ifndef __PXA2XX_REGS_H
-#define __PXA2XX_REGS_H
-
-#include <mach/pxa/hardware.h>
-
-/*
- * PXA Chip selects
- */
-#define PXA_CS0_PHYS   0x00000000
-#define PXA_CS1_PHYS   0x04000000
-#define PXA_CS2_PHYS   0x08000000
-#define PXA_CS3_PHYS   0x0C000000
-#define PXA_CS4_PHYS   0x10000000
-#define PXA_CS5_PHYS   0x14000000
-
-/*
- * Memory controller
- */
-#define MDCNFG_OFFSET  0x00000000
-#define MDREFR_OFFSET  0x00000004
-#define MSC0_OFFSET    0x00000008
-#define MSC1_OFFSET    0x0000000C
-#define MSC2_OFFSET    0x00000010
-#define MECR_OFFSET    0x00000014
-#define SXCNFG_OFFSET  0x0000001C
-#define FLYCNFG_OFFSET 0x00000020
-#define MCMEM0_OFFSET  0x00000028
-#define MCMEM1_OFFSET  0x0000002C
-#define MCATT0_OFFSET  0x00000030
-#define MCATT1_OFFSET  0x00000034
-#define MCIO0_OFFSET   0x00000038
-#define MCIO1_OFFSET   0x0000003C
-#define MDMRS_OFFSET   0x00000040
-
-#define MDCNFG         __REG(0x48000000)  /* SDRAM Configuration Register 0 */
-#define MDREFR         __REG(0x48000004)  /* SDRAM Refresh Control Register */
-#define MSC0           __REG(0x48000008)  /* Static Memory Control Register 0 
*/
-#define MSC1           __REG(0x4800000C)  /* Static Memory Control Register 1 
*/
-#define MSC2           __REG(0x48000010)  /* Static Memory Control Register 2 
*/
-#define MECR           __REG(0x48000014)  /* Expansion Memory (PCMCIA/Compact 
Flash) Bus Configuration */
-#define SXLCR          __REG(0x48000018)  /* LCR value to be written to 
SDRAM-Timing Synchronous Flash */
-#define SXCNFG         __REG(0x4800001C)  /* Synchronous Static Memory Control 
Register */
-#define FLYCNFG                __REG(0x48000020)  /* Flycnfg Register */
-#define SXMRS          __REG(0x48000024)  /* MRS value to be written to 
Synchronous Flash or SMROM */
-#define MCMEM0         __REG(0x48000028)  /* Card interface Common Memory 
Space Socket 0 Timing */
-#define MCMEM1         __REG(0x4800002C)  /* Card interface Common Memory 
Space Socket 1 Timing */
-#define MCATT0         __REG(0x48000030)  /* Card interface Attribute Space 
Socket 0 Timing Configuration */
-#define MCATT1         __REG(0x48000034)  /* Card interface Attribute Space 
Socket 1 Timing Configuration */
-#define MCIO0          __REG(0x48000038)  /* Card interface I/O Space Socket 0 
Timing Configuration */
-#define MCIO1          __REG(0x4800003C)  /* Card interface I/O Space Socket 1 
Timing Configuration */
-#define MDMRS          __REG(0x48000040)  /* MRS value to be written to SDRAM 
*/
-#define BOOT_DEF       __REG(0x48000044)  /* Read-Only Boot-Time Register. 
Contains BOOT_SEL and PKG_SEL */
-
-/*
- * More handy macros for PCMCIA
- *
- * Arg is socket number
- */
-#define MCMEM(s)       __REG2(0x48000028, (s)<<2 )  /* Card interface Common 
Memory Space Socket s Timing */
-#define MCATT(s)       __REG2(0x48000030, (s)<<2 )  /* Card interface 
Attribute Space Socket s Timing Configuration */
-#define MCIO(s)                __REG2(0x48000038, (s)<<2 )  /* Card interface 
I/O Space Socket s Timing Configuration */
-
-/* MECR register defines */
-#define MECR_NOS       (1 << 0)        /* Number Of Sockets: 0 -> 1 sock, 1 -> 
2 sock */
-#define MECR_CIT       (1 << 1)        /* Card Is There: 0 -> no card, 1 -> 
card inserted */
-
-#define MDCNFG_DE0     (1 << 0)        /* SDRAM Bank 0 Enable */
-#define MDCNFG_DE1     (1 << 1)        /* SDRAM Bank 1 Enable */
-#define MDCNFG_DE2     (1 << 16)       /* SDRAM Bank 2 Enable */
-#define MDCNFG_DE3     (1 << 17)       /* SDRAM Bank 3 Enable */
-
-#define MDREFR_K0DB4   (1 << 29)       /* SDCLK0 Divide by 4 Control/Status */
-#define MDREFR_K2FREE  (1 << 25)       /* SDRAM Free-Running Control */
-#define MDREFR_K1FREE  (1 << 24)       /* SDRAM Free-Running Control */
-#define MDREFR_K0FREE  (1 << 23)       /* SDRAM Free-Running Control */
-#define MDREFR_SLFRSH  (1 << 22)       /* SDRAM Self-Refresh Control/Status */
-#define MDREFR_APD     (1 << 20)       /* SDRAM/SSRAM Auto-Power-Down Enable */
-#define MDREFR_K2DB2   (1 << 19)       /* SDCLK2 Divide by 2 Control/Status */
-#define MDREFR_K2RUN   (1 << 18)       /* SDCLK2 Run Control/Status */
-#define MDREFR_K1DB2   (1 << 17)       /* SDCLK1 Divide by 2 Control/Status */
-#define MDREFR_K1RUN   (1 << 16)       /* SDCLK1 Run Control/Status */
-#define MDREFR_E1PIN   (1 << 15)       /* SDCKE1 Level Control/Status */
-#define MDREFR_K0DB2   (1 << 14)       /* SDCLK0 Divide by 2 Control/Status */
-#define MDREFR_K0RUN   (1 << 13)       /* SDCLK0 Run Control/Status */
-#define MDREFR_E0PIN   (1 << 12)       /* SDCKE0 Level Control/Status */
-
-/*
- * Power Manager
- */
-
-#define PMCR           __REG(0x40F00000)  /* Power Manager Control Register */
-#define PSSR           __REG(0x40F00004)  /* Power Manager Sleep Status 
Register */
-#define PSPR           __REG(0x40F00008)  /* Power Manager Scratch Pad 
Register */
-#define PWER           __REG(0x40F0000C)  /* Power Manager Wake-up Enable 
Register */
-#define PRER           __REG(0x40F00010)  /* Power Manager GPIO Rising-Edge 
Detect Enable Register */
-#define PFER           __REG(0x40F00014)  /* Power Manager GPIO Falling-Edge 
Detect Enable Register */
-#define PEDR           __REG(0x40F00018)  /* Power Manager GPIO Edge Detect 
Status Register */
-#define PCFR           __REG(0x40F0001C)  /* Power Manager General 
Configuration Register */
-#define PGSR0          __REG(0x40F00020)  /* Power Manager GPIO Sleep State 
Register for GP[31-0] */
-#define PGSR1          __REG(0x40F00024)  /* Power Manager GPIO Sleep State 
Register for GP[63-32] */
-#define PGSR2          __REG(0x40F00028)  /* Power Manager GPIO Sleep State 
Register for GP[84-64] */
-#define PGSR3          __REG(0x40F0002C)  /* Power Manager GPIO Sleep State 
Register for GP[118-96] */
-#define RCSR           __REG(0x40F00030)  /* Reset Controller Status Register 
*/
-
-#define PSLR           __REG(0x40F00034)       /* Power Manager Sleep Config 
Register */
-#define PSTR           __REG(0x40F00038)       /* Power Manager Standby Config 
Register */
-#define PSNR           __REG(0x40F0003C)       /* Power Manager Sense Config 
Register */
-#define PVCR           __REG(0x40F00040)       /* Power Manager VoltageControl 
Register */
-#define PKWR           __REG(0x40F00050)       /* Power Manager KB Wake-up 
Enable Reg */
-#define PKSR           __REG(0x40F00054)       /* Power Manager KB 
Level-Detect Register */
-#define PCMD(x)        __REG2(0x40F00080, (x)<<2)
-#define PCMD0  __REG(0x40F00080 + 0 * 4)
-#define PCMD1  __REG(0x40F00080 + 1 * 4)
-#define PCMD2  __REG(0x40F00080 + 2 * 4)
-#define PCMD3  __REG(0x40F00080 + 3 * 4)
-#define PCMD4  __REG(0x40F00080 + 4 * 4)
-#define PCMD5  __REG(0x40F00080 + 5 * 4)
-#define PCMD6  __REG(0x40F00080 + 6 * 4)
-#define PCMD7  __REG(0x40F00080 + 7 * 4)
-#define PCMD8  __REG(0x40F00080 + 8 * 4)
-#define PCMD9  __REG(0x40F00080 + 9 * 4)
-#define PCMD10 __REG(0x40F00080 + 10 * 4)
-#define PCMD11 __REG(0x40F00080 + 11 * 4)
-#define PCMD12 __REG(0x40F00080 + 12 * 4)
-#define PCMD13 __REG(0x40F00080 + 13 * 4)
-#define PCMD14 __REG(0x40F00080 + 14 * 4)
-#define PCMD15 __REG(0x40F00080 + 15 * 4)
-#define PCMD16 __REG(0x40F00080 + 16 * 4)
-#define PCMD17 __REG(0x40F00080 + 17 * 4)
-#define PCMD18 __REG(0x40F00080 + 18 * 4)
-#define PCMD19 __REG(0x40F00080 + 19 * 4)
-#define PCMD20 __REG(0x40F00080 + 20 * 4)
-#define PCMD21 __REG(0x40F00080 + 21 * 4)
-#define PCMD22 __REG(0x40F00080 + 22 * 4)
-#define PCMD23 __REG(0x40F00080 + 23 * 4)
-#define PCMD24 __REG(0x40F00080 + 24 * 4)
-#define PCMD25 __REG(0x40F00080 + 25 * 4)
-#define PCMD26 __REG(0x40F00080 + 26 * 4)
-#define PCMD27 __REG(0x40F00080 + 27 * 4)
-#define PCMD28 __REG(0x40F00080 + 28 * 4)
-#define PCMD29 __REG(0x40F00080 + 29 * 4)
-#define PCMD30 __REG(0x40F00080 + 30 * 4)
-#define PCMD31 __REG(0x40F00080 + 31 * 4)
-
-#define PCMD_MBC       (1<<12)
-#define PCMD_DCE       (1<<11)
-#define PCMD_LC        (1<<10)
-/* FIXME:  PCMD_SQC need be checked.   */
-#define PCMD_SQC       (3<<8)  /* currently only bit 8 is changeable,
-                                  bit 9 should be 0 all day. */
-#define PVCR_VCSA      (0x1<<14)
-#define PVCR_CommandDelay (0xf80)
-#define PCFR_PI2C_EN   (0x1 << 6)
-
-#define PSSR_OTGPH     (1 << 6)        /* OTG Peripheral control Hold */
-#define PSSR_RDH       (1 << 5)        /* Read Disable Hold */
-#define PSSR_PH                (1 << 4)        /* Peripheral Control Hold */
-#define PSSR_STS       (1 << 3)        /* Standby Mode Status */
-#define PSSR_VFS       (1 << 2)        /* VDD Fault Status */
-#define PSSR_BFS       (1 << 1)        /* Battery Fault Status */
-#define PSSR_SSS       (1 << 0)        /* Software Sleep Status */
-
-#define PSLR_SL_ROD    (1 << 20)       /* Sleep-Mode/Depp-Sleep Mode 
nRESET_OUT Disable */
-
-#define PCFR_RO                (1 << 15)       /* RDH Override */
-#define PCFR_PO                (1 << 14)       /* PH Override */
-#define PCFR_GPROD     (1 << 12)       /* GPIO nRESET_OUT Disable */
-#define PCFR_L1_EN     (1 << 11)       /* Sleep Mode L1 converter Enable */
-#define PCFR_FVC       (1 << 10)       /* Frequency/Voltage Change */
-#define PCFR_DC_EN     (1 << 7)        /* Sleep/deep-sleep DC-DC Converter 
Enable */
-#define PCFR_PI2CEN    (1 << 6)        /* Enable PI2C controller */
-#define PCFR_GPR_EN    (1 << 4)        /* nRESET_GPIO Pin Enable */
-#define PCFR_DS                (1 << 3)        /* Deep Sleep Mode */
-#define PCFR_FS                (1 << 2)        /* Float Static Chip Selects */
-#define PCFR_FP                (1 << 1)        /* Float PCMCIA controls */
-#define PCFR_OPDE      (1 << 0)        /* 3.6864 MHz oscillator power-down 
enable */
-
-#define RCSR_GPR       (1 << 3)        /* GPIO Reset */
-#define RCSR_SMR       (1 << 2)        /* Sleep Mode */
-#define RCSR_WDR       (1 << 1)        /* Watchdog Reset */
-#define RCSR_HWR       (1 << 0)        /* Hardware Reset */
-
-#define PWER_GPIO(Nb)  (1 << Nb)       /* GPIO [0..15] wake-up enable     */
-#define PWER_GPIO0     PWER_GPIO(0)    /* GPIO  [0] wake-up enable        */
-#define PWER_GPIO1     PWER_GPIO(1)    /* GPIO  [1] wake-up enable        */
-#define PWER_GPIO2     PWER_GPIO(2)    /* GPIO  [2] wake-up enable        */
-#define PWER_GPIO3     PWER_GPIO(3)    /* GPIO  [3] wake-up enable        */
-#define PWER_GPIO4     PWER_GPIO(4)    /* GPIO  [4] wake-up enable        */
-#define PWER_GPIO5     PWER_GPIO(5)    /* GPIO  [5] wake-up enable        */
-#define PWER_GPIO6     PWER_GPIO(6)    /* GPIO  [6] wake-up enable        */
-#define PWER_GPIO7     PWER_GPIO(7)    /* GPIO  [7] wake-up enable        */
-#define PWER_GPIO8     PWER_GPIO(8)    /* GPIO  [8] wake-up enable        */
-#define PWER_GPIO9     PWER_GPIO(9)    /* GPIO  [9] wake-up enable        */
-#define PWER_GPIO10    PWER_GPIO(10)   /* GPIO [10] wake-up enable        */
-#define PWER_GPIO11    PWER_GPIO(11)   /* GPIO [11] wake-up enable        */
-#define PWER_GPIO12    PWER_GPIO(12)   /* GPIO [12] wake-up enable        */
-#define PWER_GPIO13    PWER_GPIO(13)   /* GPIO [13] wake-up enable        */
-#define PWER_GPIO14    PWER_GPIO(14)   /* GPIO [14] wake-up enable        */
-#define PWER_GPIO15    PWER_GPIO(15)   /* GPIO [15] wake-up enable        */
-#define PWER_RTC       0x80000000      /* RTC alarm wake-up enable        */
-
-/*
- * PXA2xx specific Core clock definitions
- */
-#define CCCR           __REG(0x41300000)  /* Core Clock Configuration Register 
*/
-#define CCSR           __REG(0x4130000C)  /* Core Clock Status Register */
-#define CKEN           __REG(0x41300004)  /* Clock Enable Register */
-#define OSCC           __REG(0x41300008)  /* Oscillator Configuration Register 
*/
-
-#define CCCR_N_MASK    0x0380  /* Run Mode Frequency to Turbo Mode Frequency 
Multiplier */
-#define CCCR_M_MASK    0x0060  /* Memory Frequency to Run Mode Frequency 
Multiplier */
-#define CCCR_L_MASK    0x001f  /* Crystal Frequency to Memory Frequency 
Multiplier */
-#define CCCR_CPDIS     (1 << 31)
-#define CCCR_PPDIS     (1 << 30)
-#define CCCR_LCD26     (1 << 27)
-#define CCCR_PLL_EARLY (1 << 26)
-#define CCCR_A         (1 << 25)
-
-#define CKEN_AC97CONF   (1 << 31)    /* AC97 Controller Configuration */
-#define CKEN_CAMERA    (1 << 24)       /* Camera Interface Clock Enable */
-#define CKEN_SSP1      (1 << 23)       /* SSP1 Unit Clock Enable */
-#define CKEN_MEMC      (1 << 22)       /* Memory Controller Clock Enable */
-#define CKEN_MEMSTK    (1 << 21)       /* Memory Stick Host Controller */
-#define CKEN_IM                (1 << 20)       /* Internal Memory Clock Enable 
*/
-#define CKEN_KEYPAD    (1 << 19)       /* Keypad Interface Clock Enable */
-#define CKEN_USIM      (1 << 18)       /* USIM Unit Clock Enable */
-#define CKEN_MSL       (1 << 17)       /* MSL Unit Clock Enable */
-#define CKEN_LCD       (1 << 16)       /* LCD Unit Clock Enable */
-#define CKEN_PWRI2C    (1 << 15)       /* PWR I2C Unit Clock Enable */
-#define CKEN_I2C       (1 << 14)       /* I2C Unit Clock Enable */
-#define CKEN_FICP      (1 << 13)       /* FICP Unit Clock Enable */
-#define CKEN_MMC       (1 << 12)       /* MMC Unit Clock Enable */
-#define CKEN_USB       (1 << 11)       /* USB Unit Clock Enable */
-#define CKEN_ASSP      (1 << 10)       /* ASSP (1 << SSP3) Clock Enable */
-#define CKEN_USBHOST   (1 << 10)       /* USB Host Unit Clock Enable */
-#define CKEN_OSTIMER   (1 << 9)        /* OS Timer Unit Clock Enable */
-#define CKEN_NSSP      (1 << 9)        /* NSSP (1 << SSP2) Clock Enable */
-#define CKEN_I2S       (1 << 8)        /* I2S Unit Clock Enable */
-#define CKEN_BTUART    (1 << 7)        /* BTUART Unit Clock Enable */
-#define CKEN_FFUART    (1 << 6)        /* FFUART Unit Clock Enable */
-#define CKEN_STUART    (1 << 5)        /* STUART Unit Clock Enable */
-#define CKEN_HWUART    (1 << 4)        /* HWUART Unit Clock Enable */
-#define CKEN_SSP3      (1 << 4)        /* SSP3 Unit Clock Enable */
-#define CKEN_SSP       (1 << 3)        /* SSP Unit Clock Enable */
-#define CKEN_SSP2      (1 << 3)        /* SSP2 Unit Clock Enable */
-#define CKEN_AC97      (1 << 2)        /* AC97 Unit Clock Enable */
-#define CKEN_PWM1      (1 << 1)        /* PWM1 Clock Enable */
-#define CKEN_PWM0      (1 << 0)        /* PWM0 Clock Enable */
-
-#define OSCC_OON       (1 << 1)        /* 32.768kHz OON (write-once only bit) 
*/
-#define OSCC_OOK       (1 << 0)        /* 32.768kHz OOK (read-only bit) */
-
-/* PWRMODE register M field values */
-
-#define PWRMODE_IDLE           0x1
-#define PWRMODE_STANDBY                0x2
-#define PWRMODE_SLEEP          0x3
-#define PWRMODE_DEEPSLEEP      0x7
-
-#endif
diff --git a/include/mach/pxa/udc_pxa2xx.h b/include/mach/pxa/udc_pxa2xx.h
deleted file mode 100644
index 1ddfa7b797..0000000000
--- a/include/mach/pxa/udc_pxa2xx.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-/*
- * arch/arm/mach-pxa/include/mach/udc_pxa2xx.h
- *
- * This supports machine-specific differences in how the PXA2xx
- * USB Device Controller (UDC) is wired.
- *
- * It is set in linux/arch/arm/mach-pxa/<machine>.c or in
- * linux/arch/mach-ixp4xx/<machine>.c and used in
- * the probe routine of linux/drivers/usb/gadget/pxa2xx_udc.c
- */
-
-struct pxa2xx_udc_mach_info {
-       int  (*udc_is_connected)(void);         /* do we see host? */
-       void (*udc_command)(int cmd);
-#define        PXA2XX_UDC_CMD_CONNECT          0       /* let host see us */
-#define        PXA2XX_UDC_CMD_DISCONNECT       1       /* so host won't see us 
*/
-
-       /* Boards following the design guidelines in the developer's manual,
-        * with on-chip GPIOs not Lubbock's weird hardware, can have a sane
-        * VBUS IRQ and omit the methods above.  Store the GPIO number
-        * here.  Note that sometimes the signals go through inverters...
-        */
-       bool    gpio_pullup_inverted;
-       int     gpio_pullup;                    /* high == pullup activated */
-};
-

-- 
2.47.3


Reply via email to