summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nuttx/ChangeLog4
-rw-r--r--nuttx/arch/arm/src/stm32/chip/stm32f10xxx_dma.h16
-rw-r--r--nuttx/configs/pirelli_dpl10/README.txt109
3 files changed, 77 insertions, 52 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 912d25ab6..becafa979 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -4712,4 +4712,6 @@
* configs/hymini-stm32v/src/up_nsh.c: Add support for the card detect
(CD) interrupt (Laurent Latil, 2013-5-14).
* configs/hymini-stm32v/src/nx and nxlines: Removed these configurations
- (Laurent Latil, 2013-5-14). \ No newline at end of file
+ (Laurent Latil, 2013-5-14).
+ * arch/arm/src/stm32/chip/stm32f10xx_dma.h: Fix some bad DMA register
+ definitions. From Laurent Latil (2013-5-15).
diff --git a/nuttx/arch/arm/src/stm32/chip/stm32f10xxx_dma.h b/nuttx/arch/arm/src/stm32/chip/stm32f10xxx_dma.h
index 1075b885e..abcfe4d23 100644
--- a/nuttx/arch/arm/src/stm32/chip/stm32f10xxx_dma.h
+++ b/nuttx/arch/arm/src/stm32/chip/stm32f10xxx_dma.h
@@ -55,14 +55,14 @@
#define STM32_DMA_ISR_OFFSET 0x0000 /* DMA interrupt status register */
#define STM32_DMA_IFCR_OFFSET 0x0004 /* DMA interrupt flag clear register */
-#define STM32_DMACHAN_OFFSET(n) (0x0008 + 0x0014*(n))
-#define STM32_DMACHAN1_OFFSET 0x0008
-#define STM32_DMACHAN2_OFFSET 0x001c
-#define STM32_DMACHAN3_OFFSET 0x0030
-#define STM32_DMACHAN4_OFFSET 0x0044
-#define STM32_DMACHAN5_OFFSET 0x0058
-#define STM32_DMACHAN6_OFFSET 0x006c
-#define STM32_DMACHAN7_OFFSET 0x0080
+#define STM32_DMACHAN_OFFSET(n) (0x0014*(n))
+#define STM32_DMACHAN1_OFFSET 0x0000
+#define STM32_DMACHAN2_OFFSET 0x0014
+#define STM32_DMACHAN3_OFFSET 0x0028
+#define STM32_DMACHAN4_OFFSET 0x003c
+#define STM32_DMACHAN5_OFFSET 0x0050
+#define STM32_DMACHAN6_OFFSET 0x0064
+#define STM32_DMACHAN7_OFFSET 0x0078
#define STM32_DMACHAN_CCR_OFFSET 0x0008 /* DMA channel configuration register */
#define STM32_DMACHAN_CNDTR_OFFSET 0x000c /* DMA channel number of data register */
diff --git a/nuttx/configs/pirelli_dpl10/README.txt b/nuttx/configs/pirelli_dpl10/README.txt
index 59b7d7951..d81ead702 100644
--- a/nuttx/configs/pirelli_dpl10/README.txt
+++ b/nuttx/configs/pirelli_dpl10/README.txt
@@ -1,83 +1,106 @@
pirelli_dpl10
=============
-This directory contains the board support for Pirelli "Discus" DP-L10
-phones.
+ This directory contains the board support for Pirelli "Discus" DP-L10
+ phones.
-This port is a variant of the compal_e88 configuration with the small
-change of enabling the IrDA serial console:
+ This port is a variant of the compal_e88 configuration with the small
+ change of enabling the IrDA serial console:
- * CONFIG_SERIAL_IRDA_CONSOLE=y
+ - CONFIG_SERIAL_IRDA_CONSOLE=y
-This port is based on patches contributed by Denis Carikli for both the
-compal e99 and e88. At the time of initial check-in, the following phones
-were tested:
+ This port is based on patches contributed by Denis Carikli for both the
+ compal e99 and e88. At the time of initial check-in, the following phones
+ were tested:
- * Pirelli DPL-10 nsh_highram loaded via romload in osmocon
+ - Pirelli DPL-10 nsh_highram loaded via romload in osmocon
-The patches were made by Alan Carvalho de Assis and Denis Carikli using
-the Stefan Richter's patches that can be found here:
+ The patches were made by Alan Carvalho de Assis and Denis Carikli using
+ the Stefan Richter's patches that can be found here:
- http://cgit.osmocom.org/cgit/nuttx-bb/log/?h=lputt%2Ftesting
+ http://cgit.osmocom.org/cgit/nuttx-bb/log/?h=lputt%2Ftesting
Osmocom-BB Dependencies and Sercomm
===================================
-The build environment assumes that you have the osmocom-bb project
-directory at same level as the nuttx project:
+ The build environment assumes that you have the osmocom-bb project
+ directory at same level as the nuttx project:
- |- nuttx
- |- apps
- `- osmocom-bb
+ |- nuttx
+ |- apps
+ `- osmocom-bb
-If you attempt to build this configuration without osmocom-bb, and that
-you added support for sercomm in your configuration(CONFIG_SERCOMM_CONSOLE=y)
-you will get compilation errors in drivers/sercomm due to header files that
-are needed from the osmocom-bb directory.
+ If you attempt to build this configuration without osmocom-bb, and that
+ you added support for sercomm in your configuration(CONFIG_SERCOMM_CONSOLE=y)
+ you will get compilation errors in drivers/sercomm due to header files that
+ are needed from the osmocom-bb directory.
-By default, NuttX will not use sercomm (HDLC protocol) to communicate with
-the host system. Sercomm is the transport used by osmocom-bb that runs on top
-of serial. See http://bb.osmocom.org/trac/wiki/nuttx-bb/run for detailed
-the usage of nuttx with sercomm.
+ By default, NuttX will not use sercomm (HDLC protocol) to communicate with
+ the host system. Sercomm is the transport used by osmocom-bb that runs on top
+ of serial. See http://bb.osmocom.org/trac/wiki/nuttx-bb/run for detailed
+ the usage of nuttx with sercomm.
Loading NuttX
=============
-The osmocom-bb wiki describes how to load NuttX. See
-http://bb.osmocom.org/trac/wiki/nuttx-bb for detailed information.
-The way that nuttx is loaded depends on the configuration (highram/compalram)
-and phone:
+ The osmocom-bb wiki describes how to load NuttX. See
+ http://bb.osmocom.org/trac/wiki/nuttx-bb for detailed information.
+ The way that nuttx is loaded depends on the configuration (highram/compalram)
+ and phone:
-o compalram is for the ramloader(for phone having a bootloader on flash)
-o highram is for phones having the romloader(if the phone has a bootrom)
- or for loading in the ram trough a special loader(loaded first on ram
- by talking to the ramloader) when having a ramloader(which can only
- load 64k).
+ - compalram is for the ramloader(for phone having a bootloader on flash)
+ - highram is for phones having the romloader(if the phone has a bootrom)
+ or for loading in the ram trough a special loader(loaded first on ram
+ by talking to the ramloader) when having a ramloader(which can only
+ load 64k).
+
+ The Pirelli phone is epecially easy to use because you just use the
+ supplied USB cable. The phone already has an integrated Silabs CP210x
+ USB-UART, which is supported by Linux. No need for a T191 cable.
+
+ Most of the phones seem to use USB vid:pid 0489:e003, which is mainline
+ since Linux 2.6.36. You can do the following for Kernels < 2.6.36:
+
+ # modprobe -v cp210x
+ # echo "0489 e003" > /sys/bus/usb-serial/drivers/cp210x/new_id
+
+ Here's how I load NuttX into the phone:
+
+ - Take out the battery
+ - Plug in the USB adapter into the phone then the computer
+ - Start osmocon like: osmocon -p /dev/ttyUSB0 -m romload nuttx.bin
+ - Put the battery back in
+
+ This works most of the time. Sometimes I have to take out and put in
+ the battery a few times or re-start the whole set of steps but it's
+ generally quite reliable.
Memory Map
=========
-Calypso has 256KB of internal SRAM (0x800000-0x83ffff). Only this internal SRAM
-is used by these configurations. The internal SRAM is broken up into three
-logic banks.
+ Calypso has 256KB of internal SRAM (0x800000-0x83ffff). Only this internal SRAM
+ is used by these configurations. The internal SRAM is broken up into three
+ logic banks.
LRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00020000
TRAM (rw) : ORIGIN = 0x00820000, LENGTH = 0x00010000
IRAM (rw) : ORIGIN = 0x00830000, LENGTH = 0x00010000
-Code can be loaded by the bootloader only into TRAM and, hence, is restricted
-to 64KB. The additional 64KB if IRAM may be used for uninitialized data and
-for the NuttX heap only.
+ Code can be loaded by the bootloader only into TRAM and, hence, is restricted
+ to 64KB. The additional 64KB if IRAM may be used for uninitialized data and
+ for the NuttX heap only.
JTAG and Alternative Serial Console
===================================
JTAG
All JTAG lines, as well as the second uart (UART_MODEM), go to the
- unpopulated connector next to the display connector.
+ unpopulated connector next to the display connector. NOTE: You have
+ to disassemble the phone to get to this connector.
+
--- ---------------------------
- PIN SIGNAL
+ PIN SIGNAL
--- ---------------------------
1 Vcc
2 RX_MODEM
@@ -177,7 +200,7 @@ Generic OABI Toolchain
CONFIG_ARM_TOOLCHAIN_BUILDROOT=y
CONFIG_ARM_OABI_TOOLCHAIN=y
- In most cases, OsmocomBB is built with a different OABI toolchain with a
+ In most cases, OsmocomBB is built with a different OABI toolchain with a
prefix of arm-elf-. To use that toolchain, change the configuration as
follows: