[DRIVERS] Missing MTD initialization added.

The MTD class was not registered and initialized, leading to an uncorrect lock
of the class when registering a MTD device.
The MTD layer is now a module, which init code is the class registration.
[DRIVERS] Continuing the M25P80 Flash driver.

Continuing the M25P80 Flash driver, completing the probe function.
[ARM] Improving i.MX clock management.

The root clocks now read their fixed rate from the device tree.
This allows to update the rate of all the clocks in the whole clock tree.
A function to get a clock from its name have also been added.
[ARM] Setting root clock rate.

The root clocks have now their rate fixed, in order to spread clock rates
through the whole clock tree.
[COMMANDS] Adding imx6 commands set, with some clock API function ports.

Two imx6 commands have been added.
imx6 clocks which list all the i.MX clocks with their counters, rate and
accuracy (the latter is not used).
imx6 uart <port> which dumps some information about a specified i.MX UART port.
[DRIVERS] Improving i.MX UART driver for clock management.

The i.MX UART clock names are now scanned from the device tree, enabled, and
the uart_clock is set to the rate also precised in the device tree.
[ARM] i.MX UART device declaration updated.

The clock name and frequency of i.MX UART devices in the device tree have been
updated accordingly to the driver clock management.