[PATCH v1] usb: gadget: set otg to peripheral mode on autostart

Sascha Hauer s.hauer at pengutronix.de
Sun Apr 2 23:04:17 PDT 2017


Hi Oleksij,

On Fri, Mar 31, 2017 at 07:34:36PM +0200, Oleksij Rempel wrote:
> we won't be able to start if otg is not properly configured.
> 
> Signed-off-by: Oleksij Rempel <o.rempel at pengutronix.de>
> ---
>  drivers/usb/gadget/autostart.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/usb/gadget/autostart.c b/drivers/usb/gadget/autostart.c
> index 43c2ba23d..87781a11a 100644
> --- a/drivers/usb/gadget/autostart.c
> +++ b/drivers/usb/gadget/autostart.c
> @@ -14,6 +14,7 @@
>  #include <common.h>
>  #include <command.h>
>  #include <errno.h>
> +#include <environment.h>
>  #include <malloc.h>
>  #include <getopt.h>
>  #include <fs.h>
> @@ -31,10 +32,15 @@ static char *fastboot_function;
>  static int usbgadget_autostart(void)
>  {
>  	struct f_multi_opts opts = {};
> +	int ret;
>  
>  	if (!autostart)
>  		return 0;
>  
> +	ret = setenv("otg.mode", "peripheral");
> +	if (ret)
> +		return ret;

When the USB device is not a i.MX chipidea or MUSB controller, or the
device is set to device mode in the device tree, then the otg device
won't exist. You have to ignore the error value from setenv.

Sascha



-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list