
This series adjusts the serial and GPIO drivers, used by Beaglebone for example, to work with driver model. Since there are still boards using these drivers but not driver model, this adds new functionality rather than replacing what exists.
Several patches tweak and fix the existing driver model serial and GPIO implementation.
There are two Beaglebone Black configurations:
- Device tree control with verified boot - No device tree control
The first uses device tree to select the serial console and provide information needed by the serial driver (similar to how things work on Tegra). The second uses platform data provided by a common board file.
Both are converted, so this is a good example of how to support both device tree and platform data if needed.
Simon Glass (14): dm: gpio: Support numbered GPIOs dm: serial: Reset the watchdog while waiting in getc() dm: serial: ns16550: Correct logic for checking for character dm: ns16550: Use an address instead of a pointer for the uart base dm: ns16550: Correct the probe logic for platform data dm: serial: Support CONFIG_CONS_INDEX if available dm: dts: omap: Select correct console for beaglebone dm: omap: gpio: Put _get_gpio_value() logic into its own function dm: omap: gpio: Support driver model dm: am33xx: Provide platform data for GPIOs dm: am33xx: Provide platform data for serial dm: omap: serial: Add driver model support dm: am335x: Remove serial options from CONFIG_SYS_EXTRA_OPTIONS dm: am33xx: Move to driver model for GPIO and serial
arch/arm/cpu/armv7/am33xx/board.c | 61 +++++++ arch/arm/dts/am335x-bone-common.dtsi | 4 + arch/arm/include/asm/omap_gpio.h | 19 +- configs/am335x_boneblack_defconfig | 2 +- configs/am335x_boneblack_vboot_defconfig | 2 +- drivers/gpio/gpio-uclass.c | 37 ++-- drivers/gpio/omap_gpio.c | 297 +++++++++++++++++++++++++++---- drivers/mmc/omap_hsmmc.c | 15 +- drivers/serial/Makefile | 1 + drivers/serial/ns16550.c | 13 +- drivers/serial/serial-uclass.c | 16 +- drivers/serial/serial_omap.c | 49 +++++ include/configs/ti_am335x_common.h | 11 ++ include/ns16550.h | 2 +- 14 files changed, 465 insertions(+), 64 deletions(-) create mode 100644 drivers/serial/serial_omap.c