summaryrefslogtreecommitdiff
path: root/nuttx/configs
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-06-03 16:09:59 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-06-03 16:09:59 +0000
commit62eace05ebbb6a96ee4ad34e996e56870c53d892 (patch)
tree8e9bf6afcf899141ace314a09e22a67fda94e3a3 /nuttx/configs
parent95d721394520c24155155dc548d1a49bb89dd7b6 (diff)
downloadpx4-nuttx-62eace05ebbb6a96ee4ad34e996e56870c53d892.tar.gz
px4-nuttx-62eace05ebbb6a96ee4ad34e996e56870c53d892.tar.bz2
px4-nuttx-62eace05ebbb6a96ee4ad34e996e56870c53d892.zip
SD card now works on the PIC32MX7 MMB board
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4799 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/configs')
-rw-r--r--nuttx/configs/pic32mx7mmb/README.txt32
-rw-r--r--nuttx/configs/pic32mx7mmb/include/board.h4
-rw-r--r--nuttx/configs/pic32mx7mmb/nsh/defconfig4
-rw-r--r--nuttx/configs/pic32mx7mmb/src/up_nsh.c17
-rw-r--r--nuttx/configs/pic32mx7mmb/src/up_spi.c2
5 files changed, 35 insertions, 24 deletions
diff --git a/nuttx/configs/pic32mx7mmb/README.txt b/nuttx/configs/pic32mx7mmb/README.txt
index 3f47e0233..197602c7a 100644
--- a/nuttx/configs/pic32mx7mmb/README.txt
+++ b/nuttx/configs/pic32mx7mmb/README.txt
@@ -572,10 +572,17 @@ Where <subdir> is one of the following:
The OS test produces all of its test output on the serial console.
This configuration has UART1 enabled as a serial console.
- USB Configuations.
- -----------------
+ SD Card Support
+ ---------------
+ SD card support is built into this example by default:
+
+ CONFIG_PIC32MX_SPI1=y
+ CONFIG_NSH_ARCHINIT=y
+
+ USB Configurations.
+ ------------------
Several USB device configurations can be enabled and included
- as NSH built-in built in functions.
+ as NSH built-in built in functions. USB is *not* enabled by default.
To use USB device, connect the starter kit to the host using a cable
with a Type-B micro-plug to the starter kit’s micro-A/B port J5, located
@@ -612,11 +619,9 @@ Where <subdir> is one of the following:
to enable the USB mass storage device. However, this device cannot
work until support for the SD card is also incorporated.
- Networking Configuations.
- -------------------------
- Several Networking configurations can be enabled and included
- as NSH built-in built in functions. The following additional
- configuration settings are required:
+ Networking Configurations.
+ --------------------------
+ Networking is enabled by default in this configuration:
CONFIG_NET=y : Enable networking support
CONFIG_PIC32MX_ETHERNET=y : Enable the PIC32 Ethernet driver
@@ -628,6 +633,8 @@ Where <subdir> is one of the following:
CONFIG_NSH_IPADDR=(10<<24|0<<16|0<<8|2) : Target IP address 10.0.0.2
CONFIG_NSH_DRIPADDR=(10<<24|0<<16|0<<8|1) : Host IP address 10.0.0.1
+ This will probably need to be customized for your network.
+
NOTES:
1. This logic will assume that a network is connected. During its
initialization, it will try to negotiate the link speed. If you have
@@ -636,19 +643,14 @@ Where <subdir> is one of the following:
before the networking finally gives up and decides that no network is
available.
- 2. To add SPI-based support for the SD card slot:
-
- CONFIG_PIC32MX_SPI1=y
- CONFIG_NSH_ARCHINIT=y
-
- 3. This example can support an FTP client. In order to build in FTP client
+ 2. This example can support an FTP client. In order to build in FTP client
support simply uncomment the following lines in the appconfig file (before
configuring) or in the apps/.config file (after configuring):
#CONFIGURED_APPS += netutils/ftpc
#CONFIGURED_APPS += examples/ftpc
- 4. This example can support an FTP server. In order to build in FTP server
+ 3. This example can support an FTP server. In order to build in FTP server
support simply uncomment the following lines in the appconfig file (before
configuring) or in the apps/.config file (after configuring):
diff --git a/nuttx/configs/pic32mx7mmb/include/board.h b/nuttx/configs/pic32mx7mmb/include/board.h
index a0a161553..e8b244283 100644
--- a/nuttx/configs/pic32mx7mmb/include/board.h
+++ b/nuttx/configs/pic32mx7mmb/include/board.h
@@ -87,8 +87,8 @@
* PBCLOCK = CPU_CLOCK / PBDIV
*/
-#define BOARD_PBDIV 1 /* Peripheral clock divisor (PBDIV) */
-#define BOARD_PBCLOCK 80000000 /* Peripheral clock (PBCLK = 80MHz/1) */
+#define BOARD_PBDIV 2 /* Peripheral clock divisor (PBDIV) */
+#define BOARD_PBCLOCK 40000000 /* Peripheral clock (PBCLK = 80MHz/2) */
/* Watchdog pre-scaler (re-visit) */
diff --git a/nuttx/configs/pic32mx7mmb/nsh/defconfig b/nuttx/configs/pic32mx7mmb/nsh/defconfig
index 0e63ccfe8..9105e946e 100644
--- a/nuttx/configs/pic32mx7mmb/nsh/defconfig
+++ b/nuttx/configs/pic32mx7mmb/nsh/defconfig
@@ -140,7 +140,7 @@ CONFIG_PIC32MX_OC4=n
CONFIG_PIC32MX_OC5=n
CONFIG_PIC32MX_I2C1=n
CONFIG_PIC32MX_I2C2=n
-CONFIG_PIC32MX_SPI1=n
+CONFIG_PIC32MX_SPI1=y
CONFIG_PIC32MX_SPI2=n
CONFIG_PIC32MX_SPI3=n
CONFIG_PIC32MX_SPI4=n
@@ -1330,7 +1330,7 @@ CONFIG_NSH_ROMFSETC=n
CONFIG_NSH_CONSOLE=y
#CONFIG_NSH_CONDEV="/dev/ttyS1"
CONFIG_NSH_TELNET=n
-CONFIG_NSH_ARCHINIT=n
+CONFIG_NSH_ARCHINIT=y
CONFIG_NSH_IOBUFFER_SIZE=512
CONFIG_NSH_DHCPC=n
CONFIG_NSH_NOMAC=n
diff --git a/nuttx/configs/pic32mx7mmb/src/up_nsh.c b/nuttx/configs/pic32mx7mmb/src/up_nsh.c
index 0d022531f..a9d26b6be 100644
--- a/nuttx/configs/pic32mx7mmb/src/up_nsh.c
+++ b/nuttx/configs/pic32mx7mmb/src/up_nsh.c
@@ -229,13 +229,13 @@ static int nsh_waiter(int argc, char *argv[])
#ifdef CONFIG_NSH_HAVEMMCSD
static int nsh_sdinitialize(void)
{
- FAR struct spi_dev_s *ssp;
+ FAR struct spi_dev_s *spi;
int ret;
/* Get the SPI port */
- ssp = up_spiinitialize(CONFIG_NSH_MMCSDSPIPORTNO);
- if (!ssp)
+ spi = up_spiinitialize(CONFIG_NSH_MMCSDSPIPORTNO);
+ if (!spi)
{
message("nsh_archinitialize: Failed to initialize SPI port %d\n",
CONFIG_NSH_MMCSDSPIPORTNO);
@@ -246,10 +246,19 @@ static int nsh_sdinitialize(void)
message("Successfully initialized SPI port %d\n",
CONFIG_NSH_MMCSDSPIPORTNO);
+ /* The SPI should be in 8-bit (default) and mode2: CKP=1, CKE=0.
+ * The MMC/SD driver will control the SPI frequency. WARNING:
+ * this is not the right way to do this... this should be done
+ * the MMC/SD driver: Other device on SPI1 may need other mode
+ * settings.
+ */
+
+ SPI_SETMODE(spi, SPIDEV_MODE2);
+
/* Bind the SPI port to the slot */
ret = mmcsd_spislotinitialize(CONFIG_NSH_MMCSDMINOR,
- CONFIG_NSH_MMCSDSLOTNO, ssp);
+ CONFIG_NSH_MMCSDSLOTNO, spi);
if (ret < 0)
{
message("nsh_sdinitialize: "
diff --git a/nuttx/configs/pic32mx7mmb/src/up_spi.c b/nuttx/configs/pic32mx7mmb/src/up_spi.c
index c0a14a649..a15881868 100644
--- a/nuttx/configs/pic32mx7mmb/src/up_spi.c
+++ b/nuttx/configs/pic32mx7mmb/src/up_spi.c
@@ -127,7 +127,7 @@ void weak_function pic32mx_spiinitialize(void)
* including up_spiinitialize()) are provided by common PIC32MX logic. To use
* this common SPI logic on your board:
*
- * 1. Provide logic in pic32mx_boardinitialize() to configure SPI/SSP chip select
+ * 1. Provide logic in pic32mx_boardinitialize() to configure SPI chip select
* pins.
* 2. Provide pic32mx_spiNselect() and pic32mx_spiNstatus() functions
* in your board-specific logic. These functions will perform chip selection