Exemplo n.º 1
0
int board_app_initialize(void)
{
#ifdef NSH_HAVEMMCSD
  FAR struct spi_dev_s *ssp;
  int ret;

  /* Get the SSP port */

  ssp = lpc17_sspinitialize(CONFIG_NSH_MMCSDSPIPORTNO);
  if (!ssp)
    {
      syslog(LOG_ERR, "ERROR: Failed to initialize SSP port %d\n",
             CONFIG_NSH_MMCSDSPIPORTNO);
      return -ENODEV;
    }

  syslog(LOG_INFO, "Successfully initialized SSP port %d\n",
         CONFIG_NSH_MMCSDSPIPORTNO);

  /* Bind the SSP port to the slot */

  ret = mmcsd_spislotinitialize(CONFIG_NSH_MMCSDMINOR, CONFIG_NSH_MMCSDSLOTNO, ssp);
  if (ret < 0)
    {
      syslog(LOG_ERR, "ERROR: Failed to bind SSP port %d to MMC/SD slot %d: %d\n",
             CONFIG_NSH_MMCSDSPIPORTNO, CONFIG_NSH_MMCSDSLOTNO, ret);
      return ret;
    }

  syslog(LOG_INFO, "Successfuly bound SSP port %d to MMC/SD slot %d\n",
         CONFIG_NSH_MMCSDSPIPORTNO, CONFIG_NSH_MMCSDSLOTNO);
#endif
  return OK;
}
Exemplo n.º 2
0
void lpc17_boardinitialize(void)
{
  /* Enable +5V needed for CAN */

#if defined(CONFIG_LPC17_CAN1) || defined(CONFIG_LPC17_CAN2)
  lpc17_configgpio(NUCLEUS2G_5V_ENABLE);
#else
  lpc17_configgpio(NUCLEUS2G_5V_DISABLE);
#endif

  /* If UART0 is used, enabled the MAX232 driver */

#ifdef CONFIG_LPC17_UART0
  lpc17_configgpio(NUCLEUS2G_232_ENABLE);
#else
  lpc17_configgpio(NUCLEUS2G_232_POWERSAVE);
#endif

  /* Configure SSP chip selects if 1) at least one SSP is enabled, and 2) the weak
   * function lpc17_sspinitialize() has been brought into the link.
   */

#if defined(CONFIG_LPC17_SSP0) || defined(CONFIG_LPC17_SSP1)
  if (lpc17_sspinitialize)
    {
      lpc17_sspinitialize();
    }
#endif

  /* Configure on-board LEDs if LED support has been selected. */

#ifdef CONFIG_ARCH_LEDS
  up_ledinit();
#endif
}
Exemplo n.º 3
0
FAR struct lcd_dev_s *up_nxdrvinit(unsigned int devno)
{
    FAR struct spi_dev_s *spi;
    FAR struct lcd_dev_s *dev;

    /* Configure the LCD GPIOs */

    lcd_dumpgpio("up_nxdrvinit: On entry");
    lpc17_configgpio(LPC1766STK_LCD_RST);
    lpc17_configgpio(LPC1766STK_LCD_BL);
    lcd_dumpgpio("up_nxdrvinit: After GPIO setup");

    /* Reset the LCD */

    lpc17_gpiowrite(LPC1766STK_LCD_RST, false);
    up_udelay(10);
    lpc17_gpiowrite(LPC1766STK_LCD_RST, true);
    up_mdelay(5);

    /* Configure PWM1 to support the backlight */

    nokia_blinitialize();

    /* Get the SSP0 port (configure as a Freescale SPI port) */

    spi = lpc17_sspinitialize(0);
    if (!spi)
    {
        glldbg("Failed to initialize SSP port 0\n");
    }
    else
    {
        /* Bind the SSP port to the LCD */

        dev = nokia_lcdinitialize(spi, devno);
        if (!dev)
        {
            glldbg("Failed to bind SSP port 0 to LCD %d: %d\n", devno);
        }
        else
        {
            gllvdbg("Bound SSP port 0 to LCD %d\n", devno);

            /* And turn the LCD on (CONFIG_LCD_MAXPOWER should be 1) */

            (void)dev->setpower(dev, CONFIG_LCD_MAXPOWER);
            return dev;
        }
    }
    return NULL;
}
Exemplo n.º 4
0
int usbmsc_archinitialize(void)
{
  FAR struct spi_dev_s *spi;
  int ret;

  /* Enable power to the SD/MMC via a GPIO. LOW enables SD/MMC. */

  lpc17_gpiowrite(LPC1766STK_MMC_PWR, false);

  /* Get the SPI port */

  message("usbmsc_archinitialize: Initializing SPI port %d\n",
          LPC17XX_MMCSDSPIPORTNO);

  spi = lpc17_sspinitialize(LPC17XX_MMCSDSPIPORTNO);
  if (!spi)
    {
      message("usbmsc_archinitialize: Failed to initialize SPI port %d\n",
              LPC17XX_MMCSDSPIPORTNO);
      ret = -ENODEV;
      goto errout;
    }

  message("usbmsc_archinitialize: Successfully initialized SPI port %d\n",
          LPC17XX_MMCSDSPIPORTNO);

  /* Bind the SPI port to the slot */

  message("usbmsc_archinitialize: Binding SPI port %d to MMC/SD slot %d\n",
          LPC17XX_MMCSDSPIPORTNO, LPC17XX_MMCSDSLOTNO);

  ret = mmcsd_spislotinitialize(CONFIG_EXAMPLES_USBMSC_DEVMINOR1, LPC17XX_MMCSDSLOTNO, spi);
  if (ret < 0)
    {
      message("usbmsc_archinitialize: Failed to bind SPI port %d to MMC/SD slot %d: %d\n",
              LPC17XX_MMCSDSPIPORTNO, LPC17XX_MMCSDSLOTNO, ret);
      goto errout;
    }

  message("usbmsc_archinitialize: Successfuly bound SPI port %d to MMC/SD slot %d\n",
          LPC17XX_MMCSDSPIPORTNO, LPC17XX_MMCSDSLOTNO);
  return OK;

  /* Disable power to the SD/MMC via a GPIO. HIGH disables SD/MMC. */

errout:
  lpc17_gpiowrite(LPC1766STK_MMC_PWR, true);
  return ret;}
Exemplo n.º 5
0
static int nsh_sdinitialize(void)
{
  FAR struct spi_dev_s *ssp;
  int ret;

  /* Enable power to the SD/MMC via a GPIO. LOW enables SD/MMC. */

  lpc17_gpiowrite(LPC1766STK_MMC_PWR, false);

  /* Get the SSP port */

  ssp = lpc17_sspinitialize(CONFIG_NSH_MMCSDSPIPORTNO);
  if (!ssp)
    {
      message("nsh_archinitialize: Failed to initialize SSP port %d\n",
              CONFIG_NSH_MMCSDSPIPORTNO);
      ret = -ENODEV;
      goto errout;
    }

  message("Successfully initialized SSP port %d\n",
          CONFIG_NSH_MMCSDSPIPORTNO);

  /* Bind the SSP port to the slot */

  ret = mmcsd_spislotinitialize(CONFIG_NSH_MMCSDMINOR,
                               CONFIG_NSH_MMCSDSLOTNO, ssp);
  if (ret < 0)
    {
      message("nsh_sdinitialize: "
              "Failed to bind SSP port %d to MMC/SD slot %d: %d\n",
              CONFIG_NSH_MMCSDSPIPORTNO,
              CONFIG_NSH_MMCSDSLOTNO, ret);
      goto errout;
    }

  message("Successfuly bound SSP port %d to MMC/SD slot %d\n",
          CONFIG_NSH_MMCSDSPIPORTNO,
          CONFIG_NSH_MMCSDSLOTNO);
  return OK;

  /* Disable power to the SD/MMC via a GPIO. HIGH disables SD/MMC. */

errout:
  lpc17_gpiowrite(LPC1766STK_MMC_PWR, true);
  return ret;
}
Exemplo n.º 6
0
void lpc17_boardinitialize(void)
{
  /* Configure SSP chip selects if 1) at least one SSP is enabled, and 2) the weak
   * function lpc17_sspinitialize() has been brought into the link.
   */

#if defined(CONFIG_LPC17_SSP0) || defined(CONFIG_LPC17_SSP1)
  if (lpc17_sspinitialize)
    {
      lpc17_sspinitialize();
    }
#endif

  /* Configure on-board LEDs if LED support has been selected. */

#ifdef CONFIG_ARCH_LEDS
  up_ledinit();
#endif
}
Exemplo n.º 7
0
int up_lcdinitialize(void)
{
  lpc17_configgpio(ZKITARM_OLED_RST);
  lpc17_configgpio(ZKITARM_OLED_RS);
  lpc17_gpiowrite(ZKITARM_OLED_RST, 1);
  lpc17_gpiowrite(ZKITARM_OLED_RS, 1);

  zkit_sspinitialize();
  spi = lpc17_sspinitialize(0);
  if (!spi)
    {
      glldbg("Failed to initialize SSP port 0\n");
      return 0;
    }

  lpc17_gpiowrite(ZKITARM_OLED_RST, 0);
  up_mdelay(1);
  lpc17_gpiowrite(ZKITARM_OLED_RST, 1);
  return 1;
}
Exemplo n.º 8
0
int usbmsc_archinitialize(void)
{
  FAR struct spi_dev_s *spi;
  int ret;

  /* Get the SPI port */

  syslog(LOG_INFO, "Initializing SPI port %d\n",
         LPC17XX_MMCSDSPIPORTNO);

  spi = lpc17_sspinitialize(LPC17XX_MMCSDSPIPORTNO);
  if (!spi)
    {
      syslog(LOG_ERR, "ERROR: Failed to initialize SPI port %d\n",
             LPC17XX_MMCSDSPIPORTNO);
      return -ENODEV;
    }

  syslog(LOG_INFO, "Successfully initialized SPI port %d\n",
         LPC17XX_MMCSDSPIPORTNO);

  /* Bind the SPI port to the slot */

  syslog(LOG_INFO, "Binding SPI port %d to MMC/SD slot %d\n",
         LPC17XX_MMCSDSPIPORTNO, LPC17XX_MMCSDSLOTNO);

  ret = mmcsd_spislotinitialize(CONFIG_SYSTEM_USBMSC_DEVMINOR1,
                                LPC17XX_MMCSDSLOTNO, spi);
  if (ret < 0)
    {
      syslog(LOG_ERR,
             "ERROR: Failed to bind SPI port %d to MMC/SD slot %d: %d\n",
             LPC17XX_MMCSDSPIPORTNO, LPC17XX_MMCSDSLOTNO, ret);
      return ret;
    }

  syslog(LOG_INFO, "Successfully bound SPI port %d to MMC/SD slot %d\n",
         LPC17XX_MMCSDSPIPORTNO, LPC17XX_MMCSDSLOTNO);
  return OK;
}
Exemplo n.º 9
0
int usbmsc_archinitialize(void)
{
  FAR struct spi_dev_s *spi;
  int ret;

  /* Get the SPI port */

  message("usbmsc_archinitialize: Initializing SPI port %d\n",
          LPC17XX_MMCSDSPIPORTNO);

  spi = lpc17_sspinitialize(LPC17XX_MMCSDSPIPORTNO);
  if (!spi)
    {
      message("usbmsc_archinitialize: Failed to initialize SPI port %d\n",
              LPC17XX_MMCSDSPIPORTNO);
      return -ENODEV;
    }

  message("usbmsc_archinitialize: Successfully initialized SPI port %d\n",
          LPC17XX_MMCSDSPIPORTNO);

  /* Bind the SPI port to the slot */

  message("usbmsc_archinitialize: Binding SPI port %d to MMC/SD slot %d\n",
          LPC17XX_MMCSDSPIPORTNO, LPC17XX_MMCSDSLOTNO);

  ret = mmcsd_spislotinitialize(CONFIG_EXAMPLES_USBMSC_DEVMINOR1, LPC17XX_MMCSDSLOTNO, spi);
  if (ret < 0)
    {
      message("usbmsc_archinitialize: Failed to bind SPI port %d to MMC/SD slot %d: %d\n",
              LPC17XX_MMCSDSPIPORTNO, LPC17XX_MMCSDSLOTNO, ret);
      return ret;
    }

  message("usbmsc_archinitialize: Successfuly bound SPI port %d to MMC/SD slot %d\n",
          LPC17XX_MMCSDSPIPORTNO, LPC17XX_MMCSDSLOTNO);
  return OK;
}