From 6c769c468563f27a828aad0d0c697becf14ccf15 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Wed, 15 May 2013 16:11:16 -0600 Subject: Fix STM32 F1 DMA register definitions. From Laurent Latil. --- nuttx/ChangeLog | 4 +- nuttx/arch/arm/src/stm32/chip/stm32f10xxx_dma.h | 16 ++-- nuttx/configs/pirelli_dpl10/README.txt | 109 ++++++++++++++---------- 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: -- cgit v1.2.3