Add activation of SPI0 on arduino due
This commit is contained in:
parent
b53af5602d
commit
52096aeb80
@ -131,6 +131,11 @@
|
|||||||
|
|
||||||
#define BOARD_FWS 4
|
#define BOARD_FWS 4
|
||||||
|
|
||||||
|
/* Serial Peripheral Interface (SPI) */
|
||||||
|
|
||||||
|
#define GPIO_SPI0_SPCK GPIO_SPI0_SPCK_1
|
||||||
|
#define GPIO_SPI0_CS (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_SET | GPIO_PORT_PIOC | GPIO_PIN21)
|
||||||
|
|
||||||
/* LED definitions **********************************************************/
|
/* LED definitions **********************************************************/
|
||||||
|
|
||||||
/* There are three user-controllable LEDs on board the Arduino Due board:
|
/* There are three user-controllable LEDs on board the Arduino Due board:
|
||||||
|
@ -49,4 +49,8 @@ ifeq ($(CONFIG_BOARDCTL),y)
|
|||||||
CSRCS += sam_appinit.c
|
CSRCS += sam_appinit.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_SAM34_SPI0),y)
|
||||||
|
CSRCS += sam_spidev.c
|
||||||
|
endif
|
||||||
|
|
||||||
include $(TOPDIR)/boards/Board.mk
|
include $(TOPDIR)/boards/Board.mk
|
||||||
|
@ -30,10 +30,12 @@
|
|||||||
#include <nuttx/board.h>
|
#include <nuttx/board.h>
|
||||||
#include <nuttx/fs/fs.h>
|
#include <nuttx/fs/fs.h>
|
||||||
#include <nuttx/leds/userled.h>
|
#include <nuttx/leds/userled.h>
|
||||||
|
#include <nuttx/spi/spi_transfer.h>
|
||||||
|
|
||||||
#include "arduino-due.h"
|
#include "arduino-due.h"
|
||||||
|
|
||||||
#include <arch/board/board.h>
|
#include <arch/board/board.h>
|
||||||
|
#include "sam_spi.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
@ -138,6 +140,23 @@ int sam_bringup(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_SAM34_SPI0
|
||||||
|
sam_configgpio(GPIO_SPI0_CS);
|
||||||
|
|
||||||
|
struct spi_dev_s *spi;
|
||||||
|
spi = sam_spibus_initialize(0);
|
||||||
|
|
||||||
|
if (!spi)
|
||||||
|
{
|
||||||
|
syslog(LOG_ERR, "ERROR: Failed to initialize SPI port 0\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
spi_register(spi, 0);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
UNUSED(ret);
|
UNUSED(ret);
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
46
boards/arm/sam34/arduino-due/src/sam_spidev.c
Normal file
46
boards/arm/sam34/arduino-due/src/sam_spidev.c
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* boards/arm/sam34/arduino-due/src/sam_spidev.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 <debug.h>
|
||||||
|
#include <arch/board/board.h>
|
||||||
|
|
||||||
|
#include "sam_spi.h"
|
||||||
|
#include "hardware/sam3x_pinmap.h"
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Public Functions
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
void sam_spi0select(uint32_t devid, bool selected)
|
||||||
|
{
|
||||||
|
spiinfo("devid: %08x CS: %s\n",
|
||||||
|
(unsigned int)devid, selected ? "assert" : "de-assert");
|
||||||
|
sam_gpiowrite(GPIO_SPI0_CS, !selected);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t sam_spi0status(struct spi_dev_s *dev, uint32_t devid)
|
||||||
|
{
|
||||||
|
spiinfo("Returning nothing\n");
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user