From 44ac65e8eda0b9bd2c02d790e834eaa9b49ba42e Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Tue, 21 Apr 2015 13:44:14 -0600 Subject: [PATCH] Add USB hub initialization logic to a couple of board configurations --- configs/olimex-lpc1766stk/src/lpc17_hidkbd.c | 15 +++++++++++++++ configs/olimex-lpc1766stk/src/lpc17_hidmouse.c | 12 +++++++++++- configs/olimex-lpc1766stk/src/lpc17_nsh.c | 13 +++++++++++++ configs/olimex-lpc1766stk/src/lpc17_usbmsc.c | 3 ++- configs/sama5d4-ek/src/sam_usb.c | 14 ++++++++++++-- 5 files changed, 53 insertions(+), 4 deletions(-) diff --git a/configs/olimex-lpc1766stk/src/lpc17_hidkbd.c b/configs/olimex-lpc1766stk/src/lpc17_hidkbd.c index e01eb4b66c8..3e8f3ab1c7e 100644 --- a/configs/olimex-lpc1766stk/src/lpc17_hidkbd.c +++ b/configs/olimex-lpc1766stk/src/lpc17_hidkbd.c @@ -39,6 +39,9 @@ #include +#include +#include + #include #include "lpc17_usbhost.h" @@ -66,6 +69,18 @@ struct usbhost_connection_s *arch_usbhost_initialize(void) { +#ifdef CONFIG_USBHOST_HUB + int ret; + + /* Initialize USB hub support */ + + ret = usbhost_hub_initialize(); + if (ret < 0) + { + udbg("ERROR: usbhost_hub_initialize failed: %d\n", ret); + } +#endif + return lpc17_usbhost_initialize(0); } #endif /* CONFIG_LPC17_USBHOST && CONFIG_USBHOST && CONFIG_EXAMPLES_HIDKBD */ diff --git a/configs/olimex-lpc1766stk/src/lpc17_hidmouse.c b/configs/olimex-lpc1766stk/src/lpc17_hidmouse.c index 255eae96334..8c8f6f38add 100644 --- a/configs/olimex-lpc1766stk/src/lpc17_hidmouse.c +++ b/configs/olimex-lpc1766stk/src/lpc17_hidmouse.c @@ -41,9 +41,9 @@ #include #include -#include #include #include +#include #include #include @@ -125,6 +125,16 @@ int board_tsc_setup(int minor) if (!initialized) { +#ifdef CONFIG_USBHOST_HUB + /* Initialize USB hub support */ + + ret = usbhost_hub_initialize(); + if (ret < 0) + { + idbg("ERROR: usbhost_hub_initialize failed: %d\n", ret); + } +#endif + /* Initialize and register the USB HID mouse device class */ ret = usbhost_mouse_init(); diff --git a/configs/olimex-lpc1766stk/src/lpc17_nsh.c b/configs/olimex-lpc1766stk/src/lpc17_nsh.c index 0541e4d435b..d17933c6117 100644 --- a/configs/olimex-lpc1766stk/src/lpc17_nsh.c +++ b/configs/olimex-lpc1766stk/src/lpc17_nsh.c @@ -248,6 +248,19 @@ static int nsh_usbhostinitialize(void) */ syslog(LOG_INFO, "Register class drivers\n"); + +#ifdef CONFIG_USBHOST_HUB + /* Initialize USB hub support */ + + ret = usbhost_hub_initialize(); + if (ret < 0) + { + syslog(LOG_ERR, "ERROR: usbhost_hub_initialize failed: %d\n", ret); + } +#endif + + /* Initialize mass storage support */ + ret = usbhost_storageinit(); if (ret != OK) { diff --git a/configs/olimex-lpc1766stk/src/lpc17_usbmsc.c b/configs/olimex-lpc1766stk/src/lpc17_usbmsc.c index 6f6886e5839..412b9e04da2 100644 --- a/configs/olimex-lpc1766stk/src/lpc17_usbmsc.c +++ b/configs/olimex-lpc1766stk/src/lpc17_usbmsc.c @@ -135,4 +135,5 @@ int usbmsc_archinitialize(void) errout: lpc17_gpiowrite(LPC1766STK_MMC_PWR, true); - return ret;} + return ret; +} diff --git a/configs/sama5d4-ek/src/sam_usb.c b/configs/sama5d4-ek/src/sam_usb.c index 1d34bd84ea4..df7e8afdb1b 100644 --- a/configs/sama5d4-ek/src/sam_usb.c +++ b/configs/sama5d4-ek/src/sam_usb.c @@ -311,10 +311,20 @@ int sam_usbhost_initialize(void) /* First, register all of the class drivers needed to support the drivers * that we care about - * - * Register theUSB host Mass Storage Class: */ +#ifdef CONFIG_USBHOST_HUB + /* Initialize USB hub support */ + + ret = usbhost_hub_initialize(); + if (ret < 0) + { + udbg("ERROR: usbhost_hub_initialize failed: %d\n", ret); + } +#endif + + /* Register the USB host Mass Storage Class */ + ret = usbhost_storageinit(); if (ret != OK) {