dwc_otg: Return full-speed frame numbers in HS mode

The frame counter increments on every *microframe* in high-speed mode.
Most device drivers expect this number to be in full-speed frames - this
caused considerable confusion to e.g. snd_usb_audio which uses the
frame counter to estimate the number of samples played.
fiq_fsm: save PID on completion of interrupt OUT transfers

Also add edge case handling for interrupt transports.

Note that for periodic split IN, data toggles are unimplemented in the
OTG host hardware - it unconditionally accepts any PID.
mach-bcm2708: Reserve 64 IRQs for peripherals

The Raspberry Pi does not support dynamic IRQs.  Some peripherals, such
as the STMPE, add IRQ controllers.  If there aren't any reserved IRQs, then
these peripherals will just fail.

Signed-off-by: Sean Cross <xobs@kosagi.com>
Signed-off-by: Noralf Tronnes <notro@tronnes.org>
bcm2708_gpio: make room for additional GPIO chips

ARCH_NR_GPIOS is set to 54, and all is used by the onboard gpio controller.
This makes no room for additional gpio controllers to be added.

ARCH_NR_GPIOS limits how many gpios that can be used on a platform.
From gpiolib.c:
static struct gpio_desc gpio_desc[ARCH_NR_GPIOS];

Lift this restraint by using the default value for ARCH_NR_GPIOS, which is 256,
and make a new macro for the on-chip number of gpios.

Signed-off-by: Noralf Tronnes <notro@tronnes.org>