Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I4bb1dae28c07218e8b801bc162b82d03fd083bad
|
|
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
|
|
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
|
|
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>
|
|
|
|
This fixes all 'implicit-function-declaration'-warnings.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
Now we're printing the application name on all apps
that initialize the display (again).
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
|
|
libosmocore has prefixed the timer functions with omso_* already
in May 2011 (0b21c1c8850d7f33f55d9399d14055a7cdda3614), and we follow
suit here for API consistency reasons.
|
|
Instead of processing the frames out of the interrupt context, they are
queued until serial interrupt returns and main loop is processed.
|
|
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>
|
|
- 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>
|
|
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().
|
|
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>
|
|
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
revision
|
|
need binaries without board init
|
|
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
Instead of calling board_init() from every main() function explicitly,
we simply mark it as a constructor and have it called automagically
|
|
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.
|
|
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).
|
|
* 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
|
|
* 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
|
|
|
|
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.
|
|
layers
|
|
with this commit, Layer2 can tell Layer1 to sync to a new CCCH on
a specified ARFCN.
|
|
|