Add activation of SPI0 on arduino due
This commit is contained in:
parent
b53af5602d
commit
52096aeb80
@ -131,6 +131,11 @@
|
||||
|
||||
#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 **********************************************************/
|
||||
|
||||
/* There are three user-controllable LEDs on board the Arduino Due board:
|
||||
|
@ -49,4 +49,8 @@ ifeq ($(CONFIG_BOARDCTL),y)
|
||||
CSRCS += sam_appinit.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SAM34_SPI0),y)
|
||||
CSRCS += sam_spidev.c
|
||||
endif
|
||||
|
||||
include $(TOPDIR)/boards/Board.mk
|
||||
|
@ -30,10 +30,12 @@
|
||||
#include <nuttx/board.h>
|
||||
#include <nuttx/fs/fs.h>
|
||||
#include <nuttx/leds/userled.h>
|
||||
#include <nuttx/spi/spi_transfer.h>
|
||||
|
||||
#include "arduino-due.h"
|
||||
|
||||
#include <arch/board/board.h>
|
||||
#include "sam_spi.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Pre-processor Definitions
|
||||
@ -138,6 +140,23 @@ int sam_bringup(void)
|
||||
}
|
||||
#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);
|
||||
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