From 06dd40e5447933d2f7a6f744e08661c91146216d Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 24 Sep 2018 13:45:52 +0200 Subject: imx/imx_gpio.c: Port to RTEMS Update #3525. --- freebsd/sys/arm/freescale/imx/imx_gpio.c | 5 ++++- libbsd.py | 9 +++++---- rtemsbsd/include/bsp/nexus-devices.h | 2 ++ 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); -- cgit v1.2.3