summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2019-05-13firmware/Makefile: clarify toolchain configuration includeVadim Yanitskiy1-1/+1
Change-Id: I77ce68d5904ff623f10f6475309052666bab7742
2019-02-19firmware/lib: introduce TIFFS filesystem supportMychaela Falconia1-0/+2
All known TI GSM firmwares implement some kind of flash file system, or FFS. We call it TIFFS (Texas Instruments FFS) because it is TI's invention. TIFFS is a file system with a hierarchical directory tree structure, and with Unixy forward-slash-separated, case-sensitive pathnames; the semantics of "what is a file" and "what is a directory" are exactly the same as in UNIX; and TIFFS even supports symlinks, although that support is a little under-developed, and apparently no FFS symlinks were ever used in any production GSM device. Thus the FFS implemented in TI-based GSM devices (modems and "dumbphone" handsets) is really no different from, for example, JFFS2 in embedded Linux systems. The FFS in a GSM device typically stores two kinds of content: - Factory data: IMEI, RF calibration values, device make/model/revision ID strings etc. These files are expected to be programmed on the factory production line and not changed afterward. - Dynamic data written into the FFS in normal device operation: contacts, settings / preferences, call history, received SMS, etc. It should be noted that both Compal (Mot C1xx) and Foxconn (Pirelli DP-L10) vendors moved their vital per-unit factory data out of the FFS into their own ad hoc flash data structures, leaving their FFS only for less critical data. However, we do enable TIFFS access for them anyway. The location of TIFFS within the flash memory of a given GSM device is defined by the firmware design of that device, but is always some integral number of contiguous flash sectors. - On Motorola/Compal C139/140 phones, the FFS used by the original proprietary firmware occupies 5 sectors of 64 KiB each (320 KiB in total), starting at 0x370000. C11x/123 use smaller FFS configurations, whereas C155/156 seem to have switched to some other FFS format, different from our familiar TIFFS. - On the Pirelli DP-L10, the FFS used by the original proprietary firmware occupies 18 sectors of 256 KiB each (for 4.5 MiB in total), starting at the beginning of the 2nd flash chip select (0x02000000 in the ARM7 address space). - On FCDEV3B (FreeCalypso hardware), the FFS is located in the first 8 sectors (of 256 KiB each) in the 2nd flash chip select bank, which appears at 0x01800000 in the ARM7 address space. - On the GTA01/02 GSM modem, FFS occupies 7 sectors of 64 KiB each, starting at flash offset 0x380000. For more information, please refer to the FreeCalypso project documentation, from where this great contribution comes from. Please note that existing MediaTek targets most likely use different storage format as they have nothing from TI Calypso. Also, we don't (yet) know the location of TIFFS on SE J100i and Compal E99 targets. The TIFFS support is needed for the follow-up change, that implements reading of the factory RF calibration values. Tweaked (coding style changes) by Vadim Yanitskiy <axilirator@gmail.com> Change-Id: If6e212baeb10953129fb0d5253d263567f5e12d6 Related: OS#3582
2019-02-19firmware/board: introduce new FCDEV3B (FreeCalypso) targetMychaela Falconia1-1/+7
FCDEV3B (stands for "FreeCalypso development board, triband") is a GSM mobile station development board by FreeCalypso project. The board features the same legendary TI Calypso GSM MS chipset that was used in commercial GSM/GPRS modems such as Openmoko's, and functions as a standalone (or "bare") GSM modem. For more information, please see the project's web side: https://www.freecalypso.org/fcdev3b.html. Change-Id: I09bd35a18d3ea094000050169a62fd82ba6eccfe Related: OS#3581
2018-03-14common/l1ctl.c move TCH bit-ordering to the firmwareVadim Yanitskiy1-1/+2
Previously, TCH frames coming from L1 were reordered to the RTP format. Moreover, the implementation had a few problems: - L1CTL is not the best place for such manipulations; - payloads with other than FR codec were corrupted. Let's use RTP-ordered payloads on the L1CTL interface, performing TCH frame reordering at the firmware. Please note, that actual FR reordering was moved to the firmware as is, without any codec determination. This could be fixed in a separate change. Change-Id: I81ec8ed3c9e72a62b22c1720c299cdc68b733cf1
2017-01-15Add libosmocore/build-target/include to include pathHarald Welte1-1/+1
Some header files are auto-generated and are thus in the build directory, not in the source directory. A cleaner way to handle this is most likely to install libosmocore to some directory, but I don't want to change the entire build process now.
2013-04-07fw: remove deprecated chainload appSteve Markgraf1-2/+1
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2013-01-02fw/build: Allow applications to filter environmentsSylvain Munaut1-0/+5
We use an external python script to solve which env to build, to mix board and app env list Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2013-01-02fw/build: Add ENV_ APP_ BOARD_ prefix to variables to cleanup namespaceSylvain Munaut1-20/+20
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2013-01-02fw/build: Group env / boards / applicationsSylvain Munaut1-42/+66
No functional changes, just moving things around Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2012-04-28firmware: Adding new font with symbols for battery and RX levelAndreas Eversberg1-1/+2
2012-04-28Charging: Add to Compal_E88, dummy for others.Christian Vogel1-6/+9
2012-02-12firmware/fb: add framebuffer driver for the Pirelli DP-L10 displaySteve Markgraf1-1/+2
This commit adds a combined driver for the Sunplus SPCA-552E Multimedia Controller and the Samsung S6B33B1X LCD controller. I have to thank Stephan Meier, who helped me to reverse-engineer this beast during 28c3. Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-02-04rename 'monitor' to 'rssi'Harald Welte1-1/+1
Sooner or later we might have a much more comprehensive monitor, so it's good to name the current implementation just RSSI as that's all it does.
2012-02-04Adding "monitor" application to firmwareAndreas Eversberg1-1/+1
This app is used to measure receive level of given channels. By pressing digits, the channel can be selected. By pressing left or right button, the frequency is increased/decreased. By pressing the menu button, the maximum received level is shown until pressing menu button again. (usefull for hopping) By pressing up or down button, the volume of a tone is changed, that indicates rx level. The left soft button is used to toggle PCS/DCS on shared channel numbers. The right soft button is used to toggle uplink and downlink.
2012-02-03firmware/fb: add framebuffer driver for J100i displaySteve Markgraf1-1/+2
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-02-03firmware/fb: add framebuffer driver for TD014 display (C139/C140)Steve Markgraf1-1/+2
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-02-03firmware/framebuffer: Adding fixed with font with 8x8 pixlesAndreas Eversberg1-1/+1
2012-02-03Calypso FB: Makefile, "dummy" driver, Hello WorldChristian Vogel1-6/+14
2012-02-03Removing all traces of the old display drivers.Christian Vogel1-2/+1
2011-11-13target/fw/sim: SIM Layer 1 driverSylvain Munaut1-1/+1
Originally written by dexter and then Andreas did a lot of cleanup work to bring it into shape for inclusion in master Written-by: Philipp Maier <zero-kelvin@gmx.de> Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-09-18fw: Add SE J100i-specific board init code and build images for itSteve Markgraf1-1/+6
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2011-09-18fw/display: Add and build SSD1963 display driver for the SE J100iSteve Markgraf1-1/+1
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2011-09-17fw/compal/rffe: Add correct RFFE-configuration for Compal E86Steve Markgraf1-2/+2
The Compal E86 (C139/C140) has a different RFFE-configuration than the other Compal phones. The Motorola C139 schematics on this part look exactly the same, but in fact the board is missing a transistor (U16), and it uses TSPACT2 adittionally. This fixes the long-known problem with the C139/C140 phones of the rx-level being over -20dBm worse as compared to the E88/E89 phones, as well as the band selection on the antenna switch in TX-mode (which was completely wrong, but sort of worked anyway). Signed-off-by: Steve Markgraf <steve@steve-m.de>
2011-04-26src: use new libosmogsm and include/osmocom/[gsm|core] path to headersPablo Neira Ayuso1-2/+1
This patch changes include paths to get osmocom-bb working with the current libosmocore tree. Among all these renames, you can notice several tweaks that I added on purpose, and that require some explanation, they are: * hexdump() in osmocon.c and osmoload.c has been renamed to avoid clashing with hexdump() defined in libosmocore. * gsmmap now depends on libosmogsm. Actually I had to cleanup Makefile.am because I was experiencing weird linking problems, probably due to a bug in the autotools. With the change included in this patch, I got it compiled and linked here correctly. This patch has been tested with the phone Motorola C123 and the following images files: * firmware/board/compal_e88/hello_world.compalram.bin * firmware/board/compal_e88/layer1.compalram.bin Using the osmocon, bcch_scan and mobile tools. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
2011-01-24firmware: Add support for the Pirelli DP-L10 triband GSM/Wifi phoneSteve Markgraf1-1/+6
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2011-01-24fw/board/gta0x: move rffe configuration to board/gta0xSteve Markgraf1-4/+2
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2011-01-24fw/makefile: enable generation of Compal E86 images (Motorola C139/C140)Steve Markgraf1-1/+6
This target now has its own init.c which correctly initializes the display and the keypad backlight Signed-off-by: Steve Markgraf <steve@steve-m.de>
2010-09-26target/layer1: Implement host-driven Tx power controlSylvain Munaut1-2/+2
It's up to L23 to change the parameters using the appropriate L1CTL call. This is a mix between Harald's version and Dieter's version of the TX control code. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2010-07-23[firmware] bring back gta0x imagesSteve Markgraf1-5/+4
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2010-07-20[display] add driver for the Toppoly TD014, as used in the C139/C140Steve Markgraf1-1/+1
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2010-07-20[apps] add chainloading applicationSteve Markgraf1-1/+1
It does nothing more than jumping to the Calypso romloader. Signed-off-by: Steve Markgraf <steve@steve-m.de>
2010-07-20firmware: small makefile reorgIngo Albrecht1-12/+15
2010-07-20firmware: moved dead-brain-flags to primary makefileIngo Albrecht1-0/+9
2010-07-20firmware: e88 flash linkageIngo Albrecht1-2/+3
2010-07-20firmware: new highram linkageIngo Albrecht1-1/+4
2010-07-20firmware: modularized startup codeIngo Albrecht1-3/+3
2010-07-20firmware: separated various pieces of interrupt handling apartIngo Albrecht1-1/+5
2010-07-20firmware: linker script and startup code reorg.Ingo Albrecht1-11/+32
2010-07-20firmware: removed old compal_dump.Ingo Albrecht1-1/+1
2010-07-20firmware: linker script for flashed app on e88.Ingo Albrecht1-1/+2
2010-07-15firmware: sim controller driver by dexterIngo Albrecht1-1/+1
2010-05-17Add new board gta0x (for Openmoko Freerunner devices) and build itDaniel Willmann1-1/+3
For now just copied over the compal_e88 init.c and adapted the RF frontend functions. For osmocon to work with the GSM download cable SERCOMM_UART_NR and CONS_UART_NR need to be switched.
2010-05-17layer1: remove 'l1s_cb' and l1_signal mechanismHarald Welte1-1/+1
the l1s signal was an old mechanism between l1test and the layer1 before we introduced the L1CTL protocol. This commit removes all leftover references to it. It also disables the l1test app, as it would no longer work without major modifications (using l1ctl from within the phone).
2010-04-08firmware: Allow for selective board and environment builds.Ingo Albrecht1-2/+2
2010-04-08firmware: correct linker scripts, more commonplace section naming, ↵Ingo Albrecht1-2/+3
reorganized start code.
2010-04-08firmware: Support for building for multiple target environments.Ingo Albrecht1-1/+7
2010-03-12Introduce LCD display_driver infrastructureHarald Welte1-1/+1
* introduce display_driver layer * port st7558 and ssd1783 drivers to display_driver * allow for run-time selection of display driver from board/init.c * replace st7558_puts() calls with display_puts() calls
2010-03-07start to use libosmocore within the firmwareHarald Welte1-1/+1
* remove linuxlist.h copy and use osmocore * don't put 'struct gsm_time' into l1ctl packets * include rx_level and snr for each burst in l1ctl * properly build libosmocore.a for target * move gsmtime functions into libosmocore * move ctype.h to standard location
2010-03-07actually link against libosmocore for the targetHarald Welte1-2/+2
2010-03-07firmware: Added an e99 board and fixed e99 init code build.Ingo Albrecht1-1/+2