summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/apps/layer1/main.c
AgeCommit message (Collapse)AuthorFilesLines
2022-04-25firmware/apps/layer1: remove unused 'atrLength' in main()Vadim Yanitskiy1-2/+1
Change-Id: I4bb1dae28c07218e8b801bc162b82d03fd083bad
2021-12-14treewide: remove FSF addressOliver Smith1-4/+0
Remove the paragraph about writing to the Free Software Foundation's mailing address. The FSF has changed addresses in the past, and may do so again. In 2021 this is not useful, let's rather have a bit less boilerplate at the start of source files. Change-Id: I73be012c01c0108fb6951dbff91d50eb19b40c51
2020-10-01firmware: implement reading of factory RF calibration valuesMychaela Falconia1-0/+2
Since If6e212baeb10953129fb0d5253d263567f5e12d6, we can read the TIFFS file-system, thus we can read and use the factory RF calibration values. * Implement parsing of factory RF calibration values for Motorola C1xx, Openmoko GTA0x, Pirelli DP-L10, and upcoming FCDEV3B targets. * Remove the old Tx power level control code and tables, and replace them with new logic that exactly matches what the official chipset firmware (TI/FreeCalypso) does, using tables in TI/FreeCalypso format. Compiled-in tables serve as a fallback and match each target's respective original firmware. * Use individual AFC slope values for different targets. The original value was/is only correct for the Mot C1xx family, whereas GTA0x/FCDEV3B and Pirelli DP-L10 need different values because Openmoko's VCXO (copied on the FCDEV3B) and Pirelli's VCTCXO are different from what Motorola used. * Take the initial AFC DAC value for the FB search from factory calibration records on those targets on which it has been calibrated per unit at the factory. * Use individual APC offset for different targets instead of the hard-coded value. The Mot/Compal's and Pirelli's firmwares (both heavily modified relative to TI) use different APC offset settings: 32 for Compal and 0 for Pirelli, while Openmoko and FreeCalypso devices use 48. Change-Id: Icf2693b751d86ec1d2563412d606c13d4c91a806 Related: OS#3582
2013-01-05fw: introduce with_irq parameter for board_init()Steve Markgraf1-1/+1
So far the loader-app used to do the init on its own, which brought a lot of problems for board- specific initialization. Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-06-25Properly name firmware images OsmocomBB not just OSMOCOM !Harald Welte1-1/+1
2012-02-12firmware: add missing includesSteve Markgraf1-0/+1
This fixes all 'implicit-function-declaration'-warnings. Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-02-03firmware/apps: print application name on the displaySteve Markgraf1-0/+24
Now we're printing the application name on all apps that initialize the display (again). Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-02-03firmware: remove deprecated function calls of old display API, cosmetic changesSteve Markgraf1-6/+4
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-02-03Removing all traces of the old display drivers.Christian Vogel1-4/+0
2012-01-29timers: comply with timer rename in libosmocoreHarald Welte1-1/+1
libosmocore has prefixed the timer functions with omso_* already in May 2011 (0b21c1c8850d7f33f55d9399d14055a7cdda3614), and we follow suit here for API consistency reasons.
2012-01-28firmware/layer1: Using queue to process received l23 frames in main loopAndreas Eversberg1-0/+1
Instead of processing the frames out of the interrupt context, they are queued until serial interrupt returns and main loop is processed.
2011-11-13target/fw/sim: SIM Layer 1 driverSylvain Munaut1-0/+18
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-07-17fw/apps: Remove manual gain control with keyboardSylvain Munaut1-27/+0
- It's broken by the use of compute_gain - Since there is now an AGC loop, manually setting the register as no effect. If someone needs manual gain control for testing, he'll have to re-implement a proper AGC override. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2011-07-17[rf] Adding rffe_set_gain() and rffe_get_gain() to get/set computed gainAndreas Eversberg1-1/+1
rffe_compute_gain() is the new name for rffe_set_gain(). I needed to change this, to solve the name collision with the rffe_set_gain() function, which actually sets the absolute gain. rffe_get_gain() will now read the absolute gain which has been computed by rffe_compute_gain() or set by rffe_set_gain().
2011-01-24fw/app/layer1: unset the inverted attribute of the display after layer1_init()Steve Markgraf1-1/+2
This attribute is toggled with the RTC interrupt, which is disabled in layer1_init(). If an interrupt between rtc_init() and layer1_init() occured, the display of the E88 phones remained inverted Signed-off-by: Steve Markgraf <steve@steve-m.de>
2011-01-11fixed typos in commentsThomas Waldmann1-1/+1
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2010-07-20firmware: gave all apps a proper hello message and let them print their git ↵Ingo Albrecht1-2/+2
revision
2010-07-20firmware: board init with a ctor does not seem a good idea to me because i ↵Ingo Albrecht1-0/+2
need binaries without board init
2010-07-15cleanup duplicated delay functionsSteve Markgraf1-15/+1
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2010-06-24[firmware] move board_init() to a gcc-type constructorHarald Welte1-1/+0
Instead of calling board_init() from every main() function explicitly, we simply mark it as a constructor and have it called automagically
2010-05-19layer1/l1ctl: Split L1CTL_NEW_CCCH_REQ in FBSB_REQ nad SYNC_REQHarald Welte1-0/+1
We really want to have those two as distinct operations - and we want proper state machines in L1 to quickly return if they've managed to acquire a FB or SB or not. Otherwise scanning will take ages... This code now introduces a new l1ctl_fbsb_req that is sent via L1CTL to ask for a bitmask of FB0/FB1/SB operations. The actual FB0/FB1 detection now no longer runs for 500 TDMA interrupts but completes as soon as we either know there is no FCCH, or that our frequency error is smaller than a caller-specified threshold. FB0/FB1 are already working, SB is not yet, sorry.
2010-05-17layer1: remove 'l1s_cb' and l1_signal mechanismHarald Welte1-12/+0
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-03-12Introduce LCD display_driver infrastructureHarald Welte1-3/+3
* 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/+0
* 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-07fix compiler warningsHarald Welte1-2/+0
2010-03-07add 'struct timer_list' timer code similar to linux + OpenBSCHarald Welte1-1/+4
We now support arbitrary timers by means of 'struct timer_list'. Any part of the program can register such a callback by means of schedule_timer() on a millisecond-granularity. However, there is no guarantee on the timer precision. It will not execute before the timer expires - but it might expire quite a bit later than we have asked it for, depending on how busy the cpu is with other work. The timer code is in the 'comm/' directory, as it is intended to be migrated into libosmocore soon. Furthermore, as we currently don't yet have a scheduler or tasks, the main() routine explicitly has to call update_timers() to check for any expired timers and run them.
2010-03-01add an actual Layer1 asynchronous (L1A) API that can be called from higher ↵Harald Welte1-40/+0
layers
2010-02-20Use ARFCN as specified from Layer2Harald Welte1-0/+11
with this commit, Layer2 can tell Layer1 to sync to a new CCCH on a specified ARFCN.
2010-02-18Initial import of OsmocomBB into git repositoryHarald Welte1-0/+214