dm: gpio: MPC85XX GPIO platform data support
authorHamish Martin <hamish.martin@alliedtelesis.co.nz>
Mon, 13 Jun 2016 22:17:05 +0000 (10:17 +1200)
committerSimon Glass <sjg@chromium.org>
Mon, 11 Jul 2016 20:06:44 +0000 (14:06 -0600)
commit4b689f02ffa0aebdfef204b5c5c17134e97459c3
treeb25a8d96a082c8df44d4c3b00ea76a6a452ff54b
parent797d1b9de118d4d3f6d918e7412c3ff9b7883bf0
dm: gpio: MPC85XX GPIO platform data support

Define a platform data structure for the MPC85XX GPIO driver to allow
use of the driver without device tree. Users should define the GPIO
blocks for their platform like this:
  struct mpc85xx_gpio_plat gpio_blocks[] = {
         {
                 .addr = 0x130000,
                 .ngpios = 32,
         },
         {
                 .addr = 0x131000,
                 .ngpios = 32,
         },
  };

  U_BOOT_DEVICES(my_platform_gpios) = {
         { "gpio_mpc85xx", &gpio_blocks[0] },
         { "gpio_mpc85xx", &gpio_blocks[1] },
  };

This is intended to build upon the recent submission of the base
MPC85XX driver from Mario Six. We need to use that new driver
without dts support and this patch gives us that flexibility.
This has been tested on a Freescale T2080 CPU, although only the first
GPIO block.

Signed-off-by: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
Reviewed-by: Mario Six <mario.six@gdsys.cc>
Tested-by: Mario Six <mario.six@gdsys.cc>
Acked-by: Simon Glass <sjg@chromium.org>
arch/powerpc/include/asm/arch-mpc85xx/gpio.h
drivers/gpio/mpc85xx_gpio.c