summaryrefslogtreecommitdiff
path: root/nuttx/configs/freedom-kl25z
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-12-16 07:48:22 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-12-16 07:48:22 -0600
commit90801c77197377362032eccb289225c7e16532c1 (patch)
tree14b9bb230784ca3f8666c35970dff78814379e33 /nuttx/configs/freedom-kl25z
parent15c6fe6c0ab549ba13f40e052a807e33dacc7ee9 (diff)
downloadnuttx-90801c77197377362032eccb289225c7e16532c1.tar.gz
nuttx-90801c77197377362032eccb289225c7e16532c1.tar.bz2
nuttx-90801c77197377362032eccb289225c7e16532c1.zip
Freedom-KL25Z: Add board specific code to interface with ADXL345 driver. From Alan Carvalho de Assis
Diffstat (limited to 'nuttx/configs/freedom-kl25z')
-rw-r--r--nuttx/configs/freedom-kl25z/include/board.h6
-rw-r--r--nuttx/configs/freedom-kl25z/src/Makefile6
-rw-r--r--nuttx/configs/freedom-kl25z/src/kl_nsh.c9
-rw-r--r--nuttx/configs/freedom-kl25z/src/kl_pwm.c (renamed from nuttx/configs/freedom-kl25z/src/up_pwm.c)2
-rw-r--r--nuttx/configs/freedom-kl25z/src/kl_spi.c9
5 files changed, 30 insertions, 2 deletions
diff --git a/nuttx/configs/freedom-kl25z/include/board.h b/nuttx/configs/freedom-kl25z/include/board.h
index 61ee317b8..1c9b33e1a 100644
--- a/nuttx/configs/freedom-kl25z/include/board.h
+++ b/nuttx/configs/freedom-kl25z/include/board.h
@@ -211,10 +211,16 @@
#define PIN_SPI1_MOSI (PIN_SPI0_MOSI_7 | PIN_ALT2_PULLUP)
/* These pins are used by CC3000 module */
+
#define GPIO_WIFI_EN (GPIO_OUTPUT | GPIO_OUTPUT_ZER0 | PIN_PORTC | PIN12)
#define GPIO_WIFI_IRQ (GPIO_INPUT | PIN_PORTA | PIN16)
#define GPIO_WIFI_CS (GPIO_OUTPUT | GPIO_OUTPUT_ONE | PIN_PORTE | PIN1)
+/* Interrupt pin used by ADXL345 */
+
+#define GPIO_ADXL345_INT1 (GPIO_INPUT | PIN_PORTA | PIN_INT_RISING | PIN4)
+#define GPIO_ADXL345_CS (GPIO_OUTPUT | GPIO_OUTPUT_ONE | PIN_PORTD | PIN0)
+
/************************************************************************************
* Public Data
************************************************************************************/
diff --git a/nuttx/configs/freedom-kl25z/src/Makefile b/nuttx/configs/freedom-kl25z/src/Makefile
index 6592a86e7..f9fffab87 100644
--- a/nuttx/configs/freedom-kl25z/src/Makefile
+++ b/nuttx/configs/freedom-kl25z/src/Makefile
@@ -71,7 +71,7 @@ CSRCS += kl_usb.c
endif
ifeq ($(CONFIG_PWM),y)
-CSRCS += up_pwm.c
+CSRCS += kl_pwm.c
endif
ifeq ($(CONFIG_QENCODER),y)
@@ -86,6 +86,10 @@ ifeq ($(CONFIG_NSH_LIBRARY),y)
CSRCS += kl_nsh.c
endif
+ifeq ($(CONFIG_INPUT_ADXL345),y)
+CSRCS += kl_adxl345.c
+endif
+
COBJS = $(CSRCS:.c=$(OBJEXT))
SRCS = $(ASRCS) $(CSRCS)
diff --git a/nuttx/configs/freedom-kl25z/src/kl_nsh.c b/nuttx/configs/freedom-kl25z/src/kl_nsh.c
index c5476f55c..f17f52307 100644
--- a/nuttx/configs/freedom-kl25z/src/kl_nsh.c
+++ b/nuttx/configs/freedom-kl25z/src/kl_nsh.c
@@ -70,6 +70,15 @@
int nsh_archinitialize(void)
{
+#if defined(CONFIG_INPUT_ADXL345)
+ int ret;
+
+ ret = adxl345_archinitialize(0);
+ if (ret < 0)
+ {
+ dbg("ERROR: adxl345_archinitialize failed: %d\n", ret);
+ }
+#endif
return OK;
}
diff --git a/nuttx/configs/freedom-kl25z/src/up_pwm.c b/nuttx/configs/freedom-kl25z/src/kl_pwm.c
index ffe908901..1fbb07c32 100644
--- a/nuttx/configs/freedom-kl25z/src/up_pwm.c
+++ b/nuttx/configs/freedom-kl25z/src/kl_pwm.c
@@ -1,5 +1,5 @@
/************************************************************************************
- * configs/freedom-kl25z/src/up_pwm.c
+ * configs/freedom-kl25z/src/kl_pwm.c
*
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
diff --git a/nuttx/configs/freedom-kl25z/src/kl_spi.c b/nuttx/configs/freedom-kl25z/src/kl_spi.c
index 9d7a194a5..35d598988 100644
--- a/nuttx/configs/freedom-kl25z/src/kl_spi.c
+++ b/nuttx/configs/freedom-kl25z/src/kl_spi.c
@@ -94,6 +94,7 @@ void weak_function kl_spiinitialize(void)
/* Configure SPI0 chip selects */
#ifdef CONFIG_KL_SPI0
+ kl_configgpio(GPIO_ADXL345_CS);
#endif
/* Configure SPI1 chip selects */
@@ -161,6 +162,14 @@ void kl_spi0select(FAR struct spi_dev_s *dev, enum spi_dev_e devid,
{
spivdbg("devid: %d CS: %s\n",
(int)devid, selected ? "assert" : "de-assert");
+
+ if (devid == SPIDEV_GSENSOR)
+ {
+ /* Active low */
+
+ kl_gpiowrite(GPIO_ADXL345_CS, !selected);
+ }
+
}
#endif