summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-09-24 13:45:52 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-09-25 10:01:37 +0200
commit06dd40e5447933d2f7a6f744e08661c91146216d (patch)
treefb82248270b398523e29608201214558ed45566f
parentimx/imx_gpio.c: Import from FreeBSD (diff)
downloadrtems-libbsd-06dd40e5447933d2f7a6f744e08661c91146216d.tar.bz2
imx/imx_gpio.c: Port to RTEMS
Update #3525.
-rw-r--r--freebsd/sys/arm/freescale/imx/imx_gpio.c5
-rw-r--r--libbsd.py9
-rw-r--r--rtemsbsd/include/bsp/nexus-devices.h2
3 files changed, 11 insertions, 5 deletions
diff --git a/freebsd/sys/arm/freescale/imx/imx_gpio.c b/freebsd/sys/arm/freescale/imx/imx_gpio.c
index 7b9d3000..983e4d74 100644
--- a/freebsd/sys/arm/freescale/imx/imx_gpio.c
+++ b/freebsd/sys/arm/freescale/imx/imx_gpio.c
@@ -124,6 +124,9 @@ struct imx51_gpio_softc {
};
static struct ofw_compat_data compat_data[] = {
+#ifdef __rtems__
+ {"fsl,imx7d-gpio", 1},
+#endif /* __rtems__ */
{"fsl,imx6q-gpio", 1},
{"fsl,imx53-gpio", 1},
{"fsl,imx51-gpio", 1},
@@ -508,7 +511,7 @@ gpio_pic_register_isrcs(struct imx51_gpio_softc *sc)
*/
static void
imx51_gpio_pin_configure(struct imx51_gpio_softc *sc, struct gpio_pin *pin,
- unsigned int flags)
+ uint32_t flags)
{
u_int newflags, pad;
diff --git a/libbsd.py b/libbsd.py
index a066b377..c814d36b 100644
--- a/libbsd.py
+++ b/libbsd.py
@@ -719,12 +719,13 @@ class mmc_ti(builder.Module):
)
self.addKernelSpaceSourceFiles(
[
- 'sys/dev/sdhci/sdhci.c',
- 'sys/arm/ti/ti_sdhci.c',
+ 'sys/arm/freescale/imx/imx_gpio.c',
'sys/arm/ti/ti_hwmods.c',
- 'sys/dev/sdhci/sdhci_fdt_gpio.c',
- 'sys/dev/gpio/ofw_gpiobus.c',
+ 'sys/arm/ti/ti_sdhci.c',
'sys/dev/gpio/gpiobus.c',
+ 'sys/dev/gpio/ofw_gpiobus.c',
+ 'sys/dev/sdhci/sdhci.c',
+ 'sys/dev/sdhci/sdhci_fdt_gpio.c',
],
mm.generator['source']()
)
diff --git a/rtemsbsd/include/bsp/nexus-devices.h b/rtemsbsd/include/bsp/nexus-devices.h
index 4daf1a1f..714c74a8 100644
--- a/rtemsbsd/include/bsp/nexus-devices.h
+++ b/rtemsbsd/include/bsp/nexus-devices.h
@@ -127,6 +127,8 @@ SYSINIT_DRIVER_REFERENCE(simplebus, ofwbus);
SYSINIT_DRIVER_REFERENCE(ffec, simplebus);
SYSINIT_DRIVER_REFERENCE(ukphy, miibus);
+SYSINIT_DRIVER_REFERENCE(imx51_gpio, simplebus);
+
#elif defined(LIBBSP_ARM_LPC24XX_BSP_H)
RTEMS_BSD_DEFINE_NEXUS_DEVICE(ohci, 0, 0, NULL);