예제 #1
0
파일: stm32_spi.c 프로젝트: a1ien/nuttx
void stm32_spi3select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");

  /* SPI3 connects to TFT LCD (for touchscreen and SD) and the RF24L01 2.4G
   * wireless module.
   */

  if (devid == SPIDEV_TOUCHSCREEN)
    {
      /* Set the GPIO low to select and high to de-select */

      stm32_gpiowrite(GPIO_TP_CS, !selected);
    }
  else if (devid == SPIDEV_MMCSD)
    {
      /* Set the GPIO low to select and high to de-select */

      stm32_gpiowrite(GPIO_LCDDF_CS, !selected);
    }
  else if (devid == SPIDEV_FLASH)
    {
      /* Set the GPIO low to select and high to de-select */

      stm32_gpiowrite(GPIO_LCDSD_CS, !selected);
    }
  else if (devid == SPIDEV_WIRELESS)
    {
      /* Set the GPIO low to select and high to de-select */

      stm32_gpiowrite(GPIO_WIRELESS_CS, !selected);
    }
}
예제 #2
0
void stm32_spi1select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");

#if 0 /* Need to study this */
  if (devid == SPIDEV_LCD)
    {
      /* Set the GPIO low to select and high to de-select */

      stm32_gpiowrite(GPIO_LCD_CS, !selected);
    }
  else
#endif
#ifdef CONFIG_ENC28J60
  if (devid == SPIDEV_ETHERNET(0))
    {
      /* Set the GPIO low to select and high to de-select */

      stm32_gpiowrite(GPIO_ENC28J60_CS, !selected);
    }
#else
  if (devid == SPIDEV_FLASH(0))
    {
      /* Set the GPIO low to select and high to de-select */

      stm32_gpiowrite(GPIO_FLASH_CS, !selected);
    }
#endif
}
예제 #3
0
파일: lpc17_spi.c 프로젝트: a1ien/nuttx
uint8_t lpc17_spistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
{
  if (devid == SPIDEV_MMCSD)
    {
      /* Read the state of the card-detect bit */

      if (lpc17_gpioread(ZKITARM_SD_CD) == 0)
        {
          spiinfo("Returning SPI_STATUS_PRESENT\n");
          return SPI_STATUS_PRESENT;
        }
    }

  spiinfo("Returning zero\n");
  return 0;
}
예제 #4
0
void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{
	spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");

	if (devid == SPIDEV_USER) {
		stm32_gpiowrite(USER_CSn, !selected);
	}
}
예제 #5
0
파일: stm32_spi.c 프로젝트: dagar/NuttX
void stm32l4_spiinitialize(void)
{
#ifdef CONFIG_STM32L4_SPI1

  g_spi1 = stm32l4_spibus_initialize(1);

  spiinfo("SPI1 initialized\n");
#endif

#ifdef CONFIG_STM32L4_SPI2
  /* Configure SPI-based devices */

  g_spi2 = stm32l4_spibus_initialize(2);

  /* Setup CS, EN & IRQ line IOs */

  spiinfo("SPI2 initialized\n");
#endif
}
예제 #6
0
void stm32_spi2select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{
	spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
#if defined(CONFIG_MMCSD)

	if (devid == SPIDEV_MMCSD) {
		stm32_gpiowrite(MMCSD_CSn, !selected);
	}

#endif
}
예제 #7
0
void stm32_spi1select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");

#ifdef HAVE_MMCSD
  if (devid == SPIDEV_MMCSD(0))
    {
      stm32_gpiowrite(GPIO_SPI_CS_SD_CARD, !selected);
    }
#endif
}
예제 #8
0
void stm32_spi2select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");

  if (devid == SPIDEV_AUDIO)
    {
      /* Set the GPIO low to select and high to de-select */

      stm32_gpiowrite(GPIO_MP3_CS, !selected);
    }
}
예제 #9
0
파일: stm32_spi.c 프로젝트: hll4fork/NuttX
void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");

  if (devid == SPIDEV_FLASH)
    {
      /* Set the GPIO low to select and high to de-select */

      stm32_gpiowrite(GPIO_FLASH_CS, !selected);
    }
}
예제 #10
0
파일: lm_ssi.c 프로젝트: a1ien/nuttx
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
  if (devid == SPIDEV_MMCSD)
    {
      /* Assert the CS pin to the card */

      ssi_dumpgpio("tiva_ssiselect() before tiva_gpiowrite()");
      tiva_gpiowrite(SDCCS_GPIO, !selected);
      ssi_dumpgpio("tiva_ssiselect() after tiva_gpiowrite()");
    }
}
예제 #11
0
void  pic32mx_spi2select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");

  if (devid == SPIDEV_FLASH(0))
    {
      pic32mx_gpiowrite(GPIO_SST25VF032B_CS, !selected);
    }
  else if (devid == SPIDEV_MUX(0))
    {
      pic32mx_gpiowrite(GPIO_PGA117_CS, !selected);
    }
}
예제 #12
0
파일: lpc17_spi.c 프로젝트: a1ien/nuttx
void  lpc17_spiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
  spi_dumpgpio("lpc17_spiselect() Entry");

  if (devid == SPIDEV_MMCSD)
    {
      /* Assert/de-assert the CS pin to the card */

      (void)lpc17_gpiowrite(ZKITARM_SD_CS, !selected);
    }

  spi_dumpgpio("lpc17_spiselect() Exit");
}
예제 #13
0
파일: stm32_spi.c 프로젝트: a1ien/nuttx
void stm32_spi5select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");

#if defined(CONFIG_STM32F429I_DISCO_ILI9341)
  if (devid == SPIDEV_DISPLAY)
    {
      stm32_gpiowrite(GPIO_CS_LCD, !selected);
    }
  else
#endif

    {
      stm32_gpiowrite(GPIO_CS_MEMS, !selected);
    }
}
예제 #14
0
파일: stm32_spi.c 프로젝트: a1ien/nuttx
void stm32_spi1select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");

  /* SPI1 connects to the SD CARD and to the SPI FLASH */

  if (devid == SPIDEV_MMCSD)
    {
      /* Set the GPIO low to select and high to de-select */

      stm32_gpiowrite(GPIO_SD_CS, !selected);
    }
  else if (devid == SPIDEV_FLASH)
    {
      /* Set the GPIO low to select and high to de-select */

      stm32_gpiowrite(GPIO_FLASH_CS, !selected);
    }
}
예제 #15
0
파일: lm_ssi.c 프로젝트: a1ien/nuttx
void tiva_ssiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
  ssi_dumpgpio("tiva_ssiselect() Entry");

  if (devid == SPIDEV_MMCSD)
    {
      /* Assert the CS pin to the card */

      tiva_gpiowrite(SDCCS_GPIO, !selected);
    }
#ifdef CONFIG_NX_LCDDRIVER
  else if (devid == SPIDEV_DISPLAY)
    {
      /* Assert the CS pin to the display */

      tiva_gpiowrite(OLEDCS_GPIO, !selected);
    }
#endif
  ssi_dumpgpio("tiva_ssiselect() Exit");
}
예제 #16
0
파일: stm32_spi.c 프로젝트: a1ien/nuttx
void stm32_spi3select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{

  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");

#if defined(CONFIG_VS1053)
  if (devid == SPIDEV_AUDIO_DATA)
    {
      stm32_gpiowrite(GPIO_CS_MP3_DATA, !selected);
    }
  else if (devid == SPIDEV_AUDIO_CTRL)
    {
      stm32_gpiowrite(GPIO_CS_MP3_CMD, !selected);
    }
  else
#endif

#if defined(CONFIG_MMCSD)
  if (devid == SPIDEV_MMCSD)
    {
      stm32_gpiowrite(GPIO_CS_MMCSD, !selected);
    }
  else
#endif

#if defined(CONFIG_MTD_M25P)
  if (devid == SPIDEV_FLASH)
    {
      stm32_gpiowrite(GPIO_CS_FLASH, !selected);
    }
  else
#endif

  /* Must be the expansion header device */

  if (devid == SPIDEV_EXPANDER)
    {
      stm32_gpiowrite(GPIO_CS_EXP_SPI3, !selected);
    }
}
예제 #17
0
void sam_spi0select(uint32_t devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");

  switch (devid)
    {
#ifdef CONFIG_IEEE802154_MRF24J40
      case SPIDEV_IEEE802154(0):
        /* Set the GPIO low to select and high to de-select */

#if defined(CONFIG_SAMV71XULT_MB1_BEE)
        sam_gpiowrite(CLICK_MB1_CS, !selected);
#elif defined(CONFIG_SAMV71XULT_MB2_BEE)
        sam_gpiowrite(CLICK_MB2_CS, !selected);
#endif
        break;
#endif

      default:
        break;
    }
}
예제 #18
0
파일: kl_spi.c 프로젝트: a1ien/nuttx
void kl_spi0select(FAR struct spi_dev_s *dev, enum spi_dev_e devid,
                   bool selected)
{
  spiinfo("devid: %d CS: %s\n",
           (int)devid, selected ? "assert" : "de-assert");

#ifdef CONFIG_ADXL345_SPI
  if (devid == SPIDEV_ACCELEROMETER)
    {
      /* Active low */

      kl_gpiowrite(GPIO_ADXL345_CS, !selected);
    }
#endif

#if defined(CONFIG_WL_CC3000)
  if (devid == SPIDEV_WIRELESS)
    {
      kl_gpiowrite(GPIO_WIFI_CS, !selected);
    }
#endif

}
예제 #19
0
파일: pic32mx_spi.c 프로젝트: a1ien/nuttx
void  pic32mx_spi4select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
#warning "Missing logic"
}
예제 #20
0
void sam_spi1select(uint32_t devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
}
예제 #21
0
파일: lm_ssi.c 프로젝트: a1ien/nuttx
uint8_t tiva_ssistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
{
  spiinfo("Returning SPI_STATUS_PRESENT\n");
  return SPI_STATUS_PRESENT;
}
예제 #22
0
void stm32_spi1select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");

  stm32_gpiowrite(GPIO_MEMS_CS, !selected);
}
예제 #23
0
파일: kl_spi.c 프로젝트: AlexShiLucky/NuttX
void kl_spi1select(FAR struct spi_dev_s *dev, uint32_t devid,
                   bool selected)
{
  spiinfo("devid: %d CS: %s\n",
           (int)devid, selected ? "assert" : "de-assert");
}
예제 #24
0
파일: pic32mx_spi.c 프로젝트: a1ien/nuttx
uint8_t pic32mx_spi4status(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
{
  spiinfo("Returning nothing\n");
#warning "Missing logic"
  return 0;
}
예제 #25
0
void kinetis_spi0select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
# warning "Missing logic"
}
예제 #26
0
파일: stm32_spi.c 프로젝트: hll4fork/NuttX
void stm32_spi3select(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
}
예제 #27
0
void tiva_ssiselect(FAR struct spi_dev_s *dev, uint32_t devid, bool selected)
{
  spiinfo("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
  ssi_dumpgpio("tiva_ssiselect() Entry");
  ssi_dumpgpio("tiva_ssiselect() Exit");
}