forked from xuos/xiuos
				
			supprt usb on xidatong
This commit is contained in:
		
							parent
							
								
									408e9f2292
								
							
						
					
					
						commit
						0ba458d33c
					
				| 
						 | 
					@ -66,4 +66,8 @@ ifeq ($(CONFIG_XIDATONG_SDRAM),y)
 | 
				
			||||||
CSRCS += imxrt_sdram_ini_dcd.c
 | 
					CSRCS += imxrt_sdram_ini_dcd.c
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ifeq ($(CONFIG_USBHOST),y)
 | 
				
			||||||
 | 
					CSRCS += imxrt_usbhost.c
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include $(TOPDIR)/boards/Board.mk
 | 
					include $(TOPDIR)/boards/Board.mk
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,6 +47,10 @@
 | 
				
			||||||
#  include "imxrt_usdhc.h"
 | 
					#  include "imxrt_usdhc.h"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef CONFIG_USBMONITOR
 | 
				
			||||||
 | 
					#  include <nuttx/usb/usbmonitor.h>
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "xidatong.h"
 | 
					#include "xidatong.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <arch/board/board.h>  /* Must always be included last */
 | 
					#include <arch/board/board.h>  /* Must always be included last */
 | 
				
			||||||
| 
						 | 
					@ -175,6 +179,25 @@ int imxrt_bringup(void)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(CONFIG_IMXRT_USBOTG) || defined(CONFIG_USBHOST)
 | 
				
			||||||
 | 
					  ret = imxrt_usbhost_initialize();
 | 
				
			||||||
 | 
					  if (ret != OK)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      syslog(LOG_ERR, "ERROR: Failed to start USB host services: %d\n", ret);
 | 
				
			||||||
 | 
					      return ret;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef CONFIG_USBMONITOR
 | 
				
			||||||
 | 
					  /* Start the USB Monitor */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ret = usbmonitor_start();
 | 
				
			||||||
 | 
					  if (ret != OK)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      syslog(LOG_ERR, "ERROR: Failed to start USB monitor: %d\n", ret);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef CONFIG_DEV_GPIO
 | 
					#ifdef CONFIG_DEV_GPIO
 | 
				
			||||||
  ret = imxrt_gpio_initialize();
 | 
					  ret = imxrt_gpio_initialize();
 | 
				
			||||||
  if (ret < 0)
 | 
					  if (ret < 0)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,299 @@
 | 
				
			||||||
 | 
					/****************************************************************************
 | 
				
			||||||
 | 
					 * boards/arm/imxrt/imxrt1020-evk/src/imxrt_usbhost.c
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Licensed to the Apache Software Foundation (ASF) under one or more
 | 
				
			||||||
 | 
					 * contributor license agreements.  See the NOTICE file distributed with
 | 
				
			||||||
 | 
					 * this work for additional information regarding copyright ownership.  The
 | 
				
			||||||
 | 
					 * ASF licenses this file to you under the Apache License, Version 2.0 (the
 | 
				
			||||||
 | 
					 * "License"); you may not use this file except in compliance with the
 | 
				
			||||||
 | 
					 * License.  You may obtain a copy of the License at
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *   http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
				
			||||||
 | 
					 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
 | 
				
			||||||
 | 
					 * License for the specific language governing permissions and limitations
 | 
				
			||||||
 | 
					 * under the License.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 ****************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/****************************************************************************
 | 
				
			||||||
 | 
					 * Included Files
 | 
				
			||||||
 | 
					 ****************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <nuttx/config.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <sys/types.h>
 | 
				
			||||||
 | 
					#include <stdint.h>
 | 
				
			||||||
 | 
					#include <stdbool.h>
 | 
				
			||||||
 | 
					#include <sched.h>
 | 
				
			||||||
 | 
					#include <errno.h>
 | 
				
			||||||
 | 
					#include <assert.h>
 | 
				
			||||||
 | 
					#include <debug.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <nuttx/irq.h>
 | 
				
			||||||
 | 
					#include <nuttx/kthread.h>
 | 
				
			||||||
 | 
					#include <nuttx/usb/usbdev.h>
 | 
				
			||||||
 | 
					#include <nuttx/usb/usbhost.h>
 | 
				
			||||||
 | 
					#include <nuttx/usb/usbdev_trace.h>
 | 
				
			||||||
 | 
					#include <nuttx/usb/ehci.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <imxrt_ehci.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "hardware/imxrt_pinmux.h"
 | 
				
			||||||
 | 
					#include "hardware/imxrt_usbotg.h"
 | 
				
			||||||
 | 
					#include "imxrt_periphclks.h"
 | 
				
			||||||
 | 
					#include "xidatong.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <arch/board/board.h>  /* Must always be included last */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(CONFIG_IMXRT_USBOTG) || defined(CONFIG_USBHOST)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/****************************************************************************
 | 
				
			||||||
 | 
					 * Pre-processor Definitions
 | 
				
			||||||
 | 
					 ****************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef CONFIG_USBHOST_DEFPRIO
 | 
				
			||||||
 | 
					#  define CONFIG_USBHOST_DEFPRIO 50
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef CONFIG_USBHOST_STACKSIZE
 | 
				
			||||||
 | 
					#  ifdef CONFIG_USBHOST_HUB
 | 
				
			||||||
 | 
					#    define CONFIG_USBHOST_STACKSIZE 1536
 | 
				
			||||||
 | 
					#  else
 | 
				
			||||||
 | 
					#    define CONFIG_USBHOST_STACKSIZE 1024
 | 
				
			||||||
 | 
					#  endif
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/****************************************************************************
 | 
				
			||||||
 | 
					 * Private Data
 | 
				
			||||||
 | 
					 ****************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Retained device driver handle */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static struct usbhost_connection_s *g_ehciconn;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/****************************************************************************
 | 
				
			||||||
 | 
					 * Private Functions
 | 
				
			||||||
 | 
					 ****************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/****************************************************************************
 | 
				
			||||||
 | 
					 * Name: ehci_waiter
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Description:
 | 
				
			||||||
 | 
					 *   Wait for USB devices to be connected to the EHCI root hub.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 ****************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int ehci_waiter(int argc, char *argv[])
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  FAR struct usbhost_hubport_s *hport;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  uinfo("ehci_waiter:  Running\n");
 | 
				
			||||||
 | 
					  for (; ; )
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      /* Wait for the device to change state */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      DEBUGVERIFY(CONN_WAIT(g_ehciconn, &hport));
 | 
				
			||||||
 | 
					      syslog(LOG_INFO, "ehci_waiter: %s\n",
 | 
				
			||||||
 | 
					             hport->connected ? "connected" : "disconnected");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      /* Did we just become connected? */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      if (hport->connected)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          /* Yes.. enumerate the newly connected device */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          CONN_ENUMERATE(g_ehciconn, hport);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Keep the compiler from complaining */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/****************************************************************************
 | 
				
			||||||
 | 
					 * Public Functions
 | 
				
			||||||
 | 
					 ****************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/****************************************************************************
 | 
				
			||||||
 | 
					 * Name: imxrt_usbhost_initialize
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Description:
 | 
				
			||||||
 | 
					 *   Called at application startup time to initialize the USB host
 | 
				
			||||||
 | 
					 *   functionality.
 | 
				
			||||||
 | 
					 *   This function will start a thread that will monitor for device
 | 
				
			||||||
 | 
					 *   connection/disconnection events.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 ****************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int imxrt_usbhost_initialize(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  pid_t pid;
 | 
				
			||||||
 | 
					  int ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  imxrt_clockall_usboh3();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Make sure we don't accidentally switch on USB bus power */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  *((uint32_t *)IMXRT_USBNC_USB_OTG1_CTRL) = USBNC_PWR_POL;
 | 
				
			||||||
 | 
					  *((uint32_t *)0x400d9030)                = (1 << 21);
 | 
				
			||||||
 | 
					  *((uint32_t *)0x400d9000)                = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Setup pins, with power initially off */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  imxrt_config_gpio(GPIO_USBOTG_ID);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* First, register all of the class drivers needed to support the drivers
 | 
				
			||||||
 | 
					   * that we care about
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef CONFIG_USBHOST_MSC
 | 
				
			||||||
 | 
					  /* Register the USB host Mass Storage Class */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ret = usbhost_msc_initialize();
 | 
				
			||||||
 | 
					  if (ret != OK)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      syslog(LOG_ERR,
 | 
				
			||||||
 | 
					             "ERROR: Failed to register the mass storage class: %d\n", ret);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef CONFIG_USBHOST_CDCACM
 | 
				
			||||||
 | 
					  /* Register the CDC/ACM serial class */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ret = usbhost_cdcacm_initialize();
 | 
				
			||||||
 | 
					  if (ret != OK)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      uerr("ERROR: Failed to register the CDC/ACM serial class\n");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef CONFIG_USBHOST_HIDKBD
 | 
				
			||||||
 | 
					  /* Register the USB host HID keyboard class driver */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ret = usbhost_kbdinit();
 | 
				
			||||||
 | 
					  if (ret != OK)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      uerr("ERROR: Failed to register the KBD class\n");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Then get an instance of the USB EHCI interface. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  g_ehciconn = imxrt_ehci_initialize(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (!g_ehciconn)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      uerr("ERROR: imxrt_ehci_initialize failed\n");
 | 
				
			||||||
 | 
					      return -ENODEV;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Start a thread to handle device connection. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pid = kthread_create("EHCI Monitor", CONFIG_USBHOST_DEFPRIO,
 | 
				
			||||||
 | 
					                       CONFIG_USBHOST_STACKSIZE,
 | 
				
			||||||
 | 
					                       (main_t)ehci_waiter, (FAR char * const *)NULL);
 | 
				
			||||||
 | 
					  if (pid < 0)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      uerr("ERROR: Failed to create ehci_waiter task: %d\n", ret);
 | 
				
			||||||
 | 
					      return -ENODEV;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return OK;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/****************************************************************************
 | 
				
			||||||
 | 
					 * Name: imxrt_usbhost_vbusdrive
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Description:
 | 
				
			||||||
 | 
					 *   Enable/disable driving of VBUS 5V output.  This function must be
 | 
				
			||||||
 | 
					 *   provided by each platform that implements the OHCI or EHCI host
 | 
				
			||||||
 | 
					 *   interface
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Input Parameters:
 | 
				
			||||||
 | 
					 *   rhport - Selects root hub port to be powered host interface.
 | 
				
			||||||
 | 
					 *            Since the IMXRT has only a downstream port, zero is
 | 
				
			||||||
 | 
					 *            the only possible value for this parameter.
 | 
				
			||||||
 | 
					 *   enable - true: enable VBUS power; false: disable VBUS power
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Returned Value:
 | 
				
			||||||
 | 
					 *   None
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 ****************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define HCOR ((volatile struct ehci_hcor_s *)IMXRT_USBOTG_HCOR_BASE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void imxrt_usbhost_vbusdrive(int rhport, bool enable)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  uint32_t regval;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  uinfo("RHPort%d: enable=%d\n", rhport + 1, enable);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* The IMXRT has only a single root hub port */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (rhport == 0)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      /* Then enable or disable VBUS power */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      regval = HCOR->portsc[rhport];
 | 
				
			||||||
 | 
					      regval &= ~EHCI_PORTSC_PP;
 | 
				
			||||||
 | 
					      if (enable)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          regval |= EHCI_PORTSC_PP;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      HCOR->portsc[rhport] = regval;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/****************************************************************************
 | 
				
			||||||
 | 
					 * Name: imxrt_setup_overcurrent
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Description:
 | 
				
			||||||
 | 
					 *   Setup to receive an interrupt-level callback if an overcurrent condition
 | 
				
			||||||
 | 
					 *   is detected.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Input Parameters:
 | 
				
			||||||
 | 
					 *   handler - New overcurrent interrupt handler
 | 
				
			||||||
 | 
					 *   arg     - The argument that will accompany the interrupt
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Returned Value:
 | 
				
			||||||
 | 
					 *   Zero (OK) returned on success; a negated errno value is returned on
 | 
				
			||||||
 | 
					 *   failure.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 ****************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if 0 /* Not ready yet */
 | 
				
			||||||
 | 
					int imxrt_setup_overcurrent(xcpt_t handler, void *arg)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  irqstate_t flags;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Disable interrupts until we are done.  This guarantees that the
 | 
				
			||||||
 | 
					   * following operations are atomic.
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  flags = enter_critical_section();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Configure the interrupt */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#warning Missing logic
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  leave_critical_section(flags);
 | 
				
			||||||
 | 
					  return OK;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif /* 0 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif /* CONFIG_IMXRT_USBOTG || CONFIG_USBHOST */
 | 
				
			||||||
| 
						 | 
					@ -119,6 +119,10 @@
 | 
				
			||||||
#define GPIO_MMCSD_EN   (GPIO_OUTPUT | GPIO_OUTPUT_ZERO | \
 | 
					#define GPIO_MMCSD_EN   (GPIO_OUTPUT | GPIO_OUTPUT_ZERO | \
 | 
				
			||||||
                         GPIO_PORT3 | GPIO_PIN2 | IOMUX_MMCSD_EN)
 | 
					                         GPIO_PORT3 | GPIO_PIN2 | IOMUX_MMCSD_EN)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* USB OTG ID Pin: GPIO_AD_B1_01 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define GPIO_USBOTG_ID  (GPIO_USB_OTG1_ID_2 | IOMUX_USBOTG_ID_DEFAULT)      /* GPIO_AD_B1_01 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/****************************************************************************
 | 
					/****************************************************************************
 | 
				
			||||||
 * Public Types
 | 
					 * Public Types
 | 
				
			||||||
 ****************************************************************************/
 | 
					 ****************************************************************************/
 | 
				
			||||||
| 
						 | 
					@ -198,5 +202,9 @@ void imxrt_autoled_initialize(void);
 | 
				
			||||||
int imxrt_gpio_initialize(void);
 | 
					int imxrt_gpio_initialize(void);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(CONFIG_IMXRT_USBOTG) || defined(CONFIG_USBHOST)
 | 
				
			||||||
 | 
					int imxrt_usbhost_initialize(void);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* __ASSEMBLY__ */
 | 
					#endif /* __ASSEMBLY__ */
 | 
				
			||||||
#endif /* __BOARDS_ARM_IMXRT_XIDATONG_SRC_XIDATONG_H */
 | 
					#endif /* __BOARDS_ARM_IMXRT_XIDATONG_SRC_XIDATONG_H */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,6 @@ git submodule update Ubiquitous/Nuttx_Fusion_XiUOS/apps
 | 
				
			||||||
git submodule update Ubiquitous/Nuttx_Fusion_XiUOS/nuttx
 | 
					git submodule update Ubiquitous/Nuttx_Fusion_XiUOS/nuttx
 | 
				
			||||||
cd $current
 | 
					cd $current
 | 
				
			||||||
 | 
					
 | 
				
			||||||
chmod -R +x $top
 | 
					 | 
				
			||||||
find $top -name Kconfig -exec dos2unix -q {} \;
 | 
					find $top -name Kconfig -exec dos2unix -q {} \;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cp -rf $current/nuttx $nuttx
 | 
					cp -rf $current/nuttx $nuttx
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue