hi list,
does anybody knew a device that uses an Infineon PMB 6277 chip ?
it is a quad band rf edge receiver chip.
i got a full datasheet for it. ;)
thanks
axel
I took out the battery and I got that:
got 2 bytes from modem, data looks like: 3c 00 <.
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
So I took out the SIM Card, too but nothing changed.
2011/5/25, eisencah eisenach <wbg_1000(a)yahoo.com>:
> Try taking out the battery too.
>
> --- On Wed, 5/25/11, Uli Kleemann <uli.radiotux(a)googlemail.com> wrote:
>
> From: Uli Kleemann <uli.radiotux(a)googlemail.com>
> Subject: Re: osmocon compal_e88/loader.compalram.bin
> To: "Gianni Tedesco" <gianni(a)scaramanga.co.uk>
> Cc: baseband-devel(a)lists.osmocom.org
> Date: Wednesday, May 25, 2011, 7:48 PM
>
> Hi Gianni,
>
> Many thanks for your answer. Yes I did press the power button several
> times, shortly.
>
> All I got all I still get is this:
>
> /install/osmocom-bb/src/host/osmocon$ ./osmocon -p /dev/ttyUSB0 -m
> c123xor ../../target/firmware/board/compal_e88/loader.compalram.bin
> got 2 bytes from modem, data looks like: fe 00 ..
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
> got 1 bytes from modem, data looks like: 00 .
>
> Regards,
>
> Uli
>
> 2011/5/24, Gianni Tedesco <gianni(a)scaramanga.co.uk>:
>> On Mon, 2011-05-23 at 13:43 +0200, Uli Kleemann wrote:
>>> Hi fellows,
>>>
>>> I am new at osmocon and I would like to ask fpr some help about
>>> flashing the firmware on my C118.
>>>
>>> I build the software as described on Ubuntu11.0.4 using gnuarm-3.4.3.
>>> I use the Motorola T191 serial-cable on an Prolific Technology, Inc.
>>> PL2303 Serial Port USB-Serial adapter. (module USB-serial is loaded)
>>>
>>> when I startosmocon like this:
>>> ./osmocon -p /dev/ttyUSB0 -m c123xor
>>> ../../target/firmware/board/compal_e88/loader.compalram.bin
>>>
>>> all I get is that:
>>>
>>> got 2 bytes from modem, data looks like: fe 00 ..
>>> got 1 bytes from modem, data looks like: 00 .
>>> got 1 bytes from modem, data looks like: 00 .
>>> got 1 bytes from modem, data looks like: 00 .
>>> got 1 bytes from modem, data looks like: 00 .
>>> got 1 bytes from modem, data looks like: 00 .
>>> got 1 bytes from modem, data looks like: 00 .
>>
>> Just looks like noise from plugging the cable in to the phone.
>>
>>> Can anybody give me an advice how to fix that?
>>
>> Did you press the power button on the phone? Just a quick tap is
>> required, not a long press like you would normally do to turn it on.
>>
>> Gianni
>>
>>
>
>
> --
> Uli Kleemann
>
>
--
Uli Kleemann
Hi fellows,
I am new at osmocon and I would like to ask fpr some help about
flashing the firmware on my C118.
I build the software as described on Ubuntu11.0.4 using gnuarm-3.4.3.
I use the Motorola T191 serial-cable on an Prolific Technology, Inc.
PL2303 Serial Port USB-Serial adapter. (module USB-serial is loaded)
when I startosmocon like this:
./osmocon -p /dev/ttyUSB0 -m c123xor
../../target/firmware/board/compal_e88/loader.compalram.bin
all I get is that:
got 2 bytes from modem, data looks like: fe 00 ..
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
got 1 bytes from modem, data looks like: 00 .
Can anybody give me an advice how to fix that?
Thanks in advance
Uli
--
Uli Kleemann
Hi,
Let me volunteer suggestions to at some of your questions.
> Also (unrelated to the patch), somethings that I think should be
> discussed/addressed soon are:
>
> - How we will handle the boards in nuttx (including variants like
> US/EU version of the same phone)
Nuttx is designed to support a hiearchical configuration: processor family, chips in the family, boards that host the chips, and board software configurations.
NuttX is configured with .config file. In that file you specify the family (ARM), the chip (Calypso), and the board (also Calypso now?). The family corresponds to a directory under arch/ (arch/arm) and the chip corresponds to sub-directories under arch/arm/src and arch/arm/include (arch/arm/src/calypso and arch/arm/include/calypso).
* arch/arm/include holds general ARM header files
* arch/arm/include/calypso holds calypso specific header files
* arch/arm/src/calypso holds calypso specific source files
Boards are represented by directories under configs/. Right now, I think there is only a configs/compal_e99.
* configs/compal_e99/include holds Compal E99 specific header files
* configs/compal_e99/src holds Compal E99 specific header files
Other directories under configs/compal_e99 can hold different software configurations for the same board. For example, configs/compal_e99/ostest holds the make logic for the OS test; configs/compal_e99/nsh would hold the NuttShell (NSH) make configuration files, etc. The .config file, for example, is on of the software configuration files in those directories (it is call defconfig before it is copied to the top-level directory as .config).
You can see these settings in the .config/defconfig file:
CONFIG_ARCH=arm
>CONFIG_ARCH_ARM=y
>CONFIG_ARCH_ARM7TDMI=y
>CONFIG_ARCH_CHIP=calypso
>CONFIG_ARCH_CHIP_CALYPSO=y
>CONFIG_ARCH_BOARD=compal_e99
>CONFIG_ARCH_BOARD_COMPALE99=y
When the OS is configured, the top-level Makefile uses these definitions to create symbolic links:
* arch/arm/src/chip will refer to arch/arm/src/calypso
* arch/arm/include/chip will refer to arch/arm/include/calypso
* arch/arm/include/board will refer to configs/compal_e99/include
* arch/arm/src/board will refer to configs/compal_e99/src.
And
* include/arch will refer to to arch/arm/include
So you can include ARM general header, calypso-specific, and board-specific header files like:
#include <arch/arch.h> // architecture (ARM) specific header files
>#include <arch/chip/chip.h> // Chip (calypso) specific header files
>#include <arch/board/board.h> // Board specific header files
So, if you want to support the same processor (calypso) on a different board, say boardX, you could create a directory:
configs/boardX
And put boardX specific header files and source files in:
configs/boardX/include
>configs/boardX/src
And put boardX software configurations under
config/boardX/configY
> - How we will handle our different ram config (boot from ram / flash),
> can we use the loader to load part of the SDRAM if we don't fit in
> SRAM completely ?
I would think that these would correspond to different software build configuration directories under configs/BoardX.
You also ask several memory related questions that I can't really answer. I think there may be some additional memory management requirements here:
> - How we will handle the memory zones (SRAM / SDRAM / Flash / XIP from
> flash (or just .rodata ?))
> - Memory allocator (handling zones ...). I think that'd be something
> very useful. Currently we can only allocate msgb and that's a little
> limiting.
Right now, the memory allocator can handle multiple, discontinuous regions of memory. There is an interface called mm_addregion() that can always add a new block of memory to the memory pool.
But there is mechanism now to select which region memory will be allocated from. malloc() is the only allocator for user programs. It will allocate memory only from the best fitting free memory chunk, but does not take into account any properties of the memory.
Greg
Now, nuttx.bin should build and run on your phone. No console output yet but
turns on backlight of compal E99 and off when ostest has finished.
---
apps/examples/ostest/main.c | 50 ++++++++++++++++++
nuttx/arch/arm/src/calypso/calypso_heap.c | 81
+++++++++++++++++++++++++++++
nuttx/arch/arm/src/common/up_internal.h | 3 +-
3 files changed, 133 insertions(+), 1 deletions(-)
create mode 100644 nuttx/arch/arm/src/calypso/calypso_heap.c
diff --git a/apps/examples/ostest/main.c b/apps/examples/ostest/main.c
index 327ec60..641c3c9 100644
--- a/apps/examples/ostest/main.c
+++ b/apps/examples/ostest/main.c
@@ -33,6 +33,53 @@
*
****************************************************************************/
+/*
+ * Debug stuff for Compal E99
+ * taken from Osmocom-BB init.c
+ *
+ * Turn on backlight on entry and off when done
+ */
+
+#include <stdint.h>
+#include <arch/calypso/memory.h>
+
+#define ARMIO_LATCH_OUT 0xfffe4802
+#define IO_CNTL_REG 0xfffe4804
+#define ASIC_CONF_REG 0xfffef008
+
+static void lights_on(void)
+{
+ uint16_t reg;
+
+ reg = readw(ASIC_CONF_REG);
+ /* LCD Set I/O(3) / SA0 to I/O(3) mode */
+ reg &= ~( (1 << 12) | (1 << 10) | (1 << 7) | (1 << 1)) ;
+ /* don't set function pins to I2C Mode, C155 uses UWire */
+ /* TWL3025: Set SPI+RIF RX clock to rising edge */
+ reg |= (1 << 13) | (1 << 14);
+ writew(reg, ASIC_CONF_REG);
+
+ /* LCD Set I/O(3) to output mode and enable C155 backlight (IO1) */
+ /* FIXME: Put the display backlight control to backlight.c */
+ reg = readw(IO_CNTL_REG);
+ reg &= ~( (1 << 3) | (1 << 1));
+ writew(reg, IO_CNTL_REG);
+
+ /* LCD Set I/O(3) output low */
+ reg = readw(ARMIO_LATCH_OUT);
+ reg &= ~(1 << 3);
+ reg |= (1 << 1);
+ writew(reg, ARMIO_LATCH_OUT);
+}
+
+static void lights_off(void)
+{
+ uint16_t reg;
+ reg = readw(ARMIO_LATCH_OUT);
+ reg &= ~(1 << 1);
+ writew(reg, ARMIO_LATCH_OUT);
+}
+
/****************************************************************************
* Included Files
****************************************************************************/
@@ -421,6 +468,7 @@ static int user_main(int argc, char *argv[])
#endif
}
printf("user_main: Exitting\n");
+ lights_off();
return 0;
}
@@ -457,6 +505,8 @@ int user_start(int argc, char *argv[])
{
int result;
+ lights_on();
+
/* Verify that stdio works first */
stdio_test();
diff --git a/nuttx/arch/arm/src/calypso/calypso_heap.c
b/nuttx/arch/arm/src/calypso/calypso_heap.c
new file mode 100644
index 0000000..d35a76f
--- /dev/null
+++ b/nuttx/arch/arm/src/calypso/calypso_heap.c
@@ -0,0 +1,81 @@
+/****************************************************************************
+ * calypso_heap.c
+ * Initialize memory interfaces of Calypso MCU
+ *
+ * Copyright (C) 2011 Stefan Richter <ichgeh(a)l--putt.de>
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+
****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <sys/types.h>
+#include <debug.h>
+
+#include <nuttx/arch.h>
+#include <arch/board/board.h>
+
+#include <arch/calypso/clock.h>
+#include <arch/calypso/timer.h>
+
+#include "up_arch.h"
+#include "up_internal.h"
+
+/****************************************************************************
+ * Name: up_addregion
+ *
+ * Description:
+ * This function is called right after basics are initialized and right
+ * before IRQ system setup.
+ *
+
****************************************************************************/
+
+void up_addregion(void)
+{
+ /* Disable watchdog in first non-common function */
+ wdog_enable(0);
+
+ // XXX: change to initialization of extern memory with save defaults
+ /* Configure memory interface */
+ calypso_mem_cfg(CALYPSO_nCS0, 3, CALYPSO_MEM_16bit, 1);
+ calypso_mem_cfg(CALYPSO_nCS1, 3, CALYPSO_MEM_16bit, 1);
+ calypso_mem_cfg(CALYPSO_nCS2, 5, CALYPSO_MEM_16bit, 1);
+ calypso_mem_cfg(CALYPSO_nCS3, 5, CALYPSO_MEM_16bit, 1);
+ calypso_mem_cfg(CALYPSO_CS4, 0, CALYPSO_MEM_8bit, 1);
+ calypso_mem_cfg(CALYPSO_nCS6, 0, CALYPSO_MEM_32bit, 1);
+ calypso_mem_cfg(CALYPSO_nCS7, 0, CALYPSO_MEM_32bit, 0);
+
+ /* Set VTCXO_DIV2 = 1, configure PLL for 104 MHz and give ARM half of
that */
+ calypso_clock_set(2, CALYPSO_PLL13_104_MHZ, ARM_MCLK_DIV_2);
+
+ /* Configure the RHEA bridge with some sane default values */
+ calypso_rhea_cfg(0, 0, 0xff, 0, 1, 0, 0);
+}
diff --git a/nuttx/arch/arm/src/common/up_internal.h
b/nuttx/arch/arm/src/common/up_internal.h
index 803a656..21c34e2 100644
--- a/nuttx/arch/arm/src/common/up_internal.h
+++ b/nuttx/arch/arm/src/common/up_internal.h
@@ -64,9 +64,10 @@
#if CONFIG_NFILE_DESCRIPTORS == 0 || defined(CONFIG_DEV_LOWCONSOLE)
# undef CONFIG_USE_SERIALDRIVER
# undef CONFIG_USE_EARLYSERIALINIT
+
#elif defined(CONFIG_DEV_CONSOLE) && CONFIG_NFILE_DESCRIPTORS > 0
# define CONFIG_USE_SERIALDRIVER 1
-# define CONFIG_USE_EARLYSERIALINIT 1
+# undef CONFIG_USE_EARLYSERIALINIT
#endif
/* Check if an interrupt stack size is configured */
--
1.7.1