i2c: sunxi: Add Allwinner A1X i2c driver

This patch implements a basic driver for the I2C host driver found on
the Allwinner A10, A13 and A31 SoCs.

Notable missing features are DMA and 10-bit addressing.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
ARM: sunxi: dt: Add i2c controller nodes to the DTSI

The Allwinner A10 and A13 both have 3 i2c controller embedded.
Add those to the common sunxi dtsi.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
ARM: sun4i: dt: Add i2c muxing options

The i2c controller found on the Allwinner A10 has only one muxing option
available for each controller. Add them to the dtsi

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
ARM: sun5i: dt: Add i2c muxing options

The i2c controller found on the Allwinner A13 has only one muxing option
available for each controller. Add them to the dtsi

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
ARM: sun5i: olinuxino: Enable the i2c controllers

The A13-Olinuxino makes use of the 3 i2c controllers found on the Allwinner
A13. Enable them in the device tree.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Pwet, a tester

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Test address change

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Add pullups

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Fix Frequency

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Merge old allwinner code. It works
Remove allwinner header

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Use i2c_dev everywhere

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Cleanup the core process
Rework xfer

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Use completion

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Continue the cleanup

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Remove EFR

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Continue the cleanup

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Merge the handler

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Cleanup the switch statement

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>