MIPS: optimise 32-bit do_div() with constant divisor

This is an adaptation of the optimised do_div() for ARM by
Nicolas Pitre implementing division by a constant using a
multiplication by the inverse.  Ideally, the compiler would
do this internally as it does for 32-bit operands, but it
doesn't.

This version of the code requires an assembler with support
for the DSP ASE syntax since accessing the hi/lo registers
sanely from inline asm is impossible without this.  Building
for a CPU without this extension still works, however.

I have only tested it as far as booting and light use with
the BUG_ON enabled wihtout encountering any issues.

The inverse computation code is a straight copy from ARM,
so this should probably be moved to a shared location.

Signed-off-by: Mans Rullgard <mans@mansr.com>
tty: serial: 8250_core: reduce claimed mmio size for UPIO_AU

The size 0x1000 is much larger than it needs to be and prevents
devices with uarts mapped closer together from working.

Signed-off-by: Mans Rullgard <mans@mansr.com>
usb: platform: allow use of phy driver without DT

This enables using the ehci/ohci-platform drivers in non-DT
configurations requiring a phy driver.

Signed-off-by: Mans Rullgard <mans@mansr.com>
MIPS: add basic support for SMP86xx
tangox: add usb support
tangox: dmaengine support
tangox: add sata support
tangox: add ethernet support
tangox: add watchdog support