pinctrl: at91: add pinctrl driver

This driver is based on mach-at91/gpio.c and linux pinctrl driver.
The driver contains the gpio and pinctrl parts (like in linux) because the two parts
share some structures and logics.

Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
at91sam9g45: add device tree gpio clocks

Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
i2c: at91: add at91sam9x5 config

Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
i2c: at91: add support of device tree

Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
at91sam9g45: clock: add i2c clocks

Add the device tree and non device tree at91 i2c clocks.

Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
mtd: atmel_nand: add support for device tree

Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
mtd: nand: remove NAND_ATMEL_PMECC

By removing this CONFIG_, we can use a structure member to retrieve the config,
either through the plateform data or through the device tree. So we can handle cases
when the driver is probed using device tree or not.

Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
board: atmel: initialise the has_pmecc member
mtd: atmel_nand: retrieve ecc_mode from pdata

By retrieving the ecc_mode from pdata we can use the same code for device tree and
non device tree probing. Which was not possible before, because ecc_mode was arbitrarily set to
NAND_ECC_SOFT.

Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
board: atmel: initialise ecc_mode

This commit initialise the ecc_mode (NAND_ECC_SOFT) on atmel board init which missing it.

Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
dt-bindings: pinctrl: add at91 file

Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
dts: at91: initial support of at91sam9m10g45ek dts

Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
of_mtd: add soft_bch and hw_oob_first ecc modes

Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>