summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/include/layer1/sync.h
diff options
context:
space:
mode:
authorAndreas.Eversberg <jolly@eversberg.eu>2010-09-11 18:10:14 +0000
committerAndreas.Eversberg <jolly@eversberg.eu>2010-09-11 18:10:14 +0000
commit3967b5a1a245cbbe49cb1b18ba746b885ff61aa5 (patch)
treed1b740c7a6a013792d5a8a05306154dcb09df6e7 /src/target/firmware/include/layer1/sync.h
parentfa686fd4c9601a7ded99c38e2497ce2099140e98 (diff)
[layer1] Added frequency change control to layer 1 (L1CTL_FREQ_REQ)
The given new frequency set will be used at given frame number. If the frame number is already reached, the frequency set will be changed directly. The functionality has been successfully tested.
Diffstat (limited to 'src/target/firmware/include/layer1/sync.h')
-rw-r--r--src/target/firmware/include/layer1/sync.h31
1 files changed, 22 insertions, 9 deletions
diff --git a/src/target/firmware/include/layer1/sync.h b/src/target/firmware/include/layer1/sync.h
index 257244b1..da9a5da7 100644
--- a/src/target/firmware/include/layer1/sync.h
+++ b/src/target/firmware/include/layer1/sync.h
@@ -41,6 +41,17 @@ typedef void l1_compl_cb(enum l1_compl c);
#define L1S_NUM_COMPL 32
#define L1S_NUM_NEIGH_CELL 6
+struct l1s_h0 {
+ uint16_t arfcn;
+};
+
+struct l1s_h1 {
+ uint8_t hsn;
+ uint8_t maio;
+ uint8_t n;
+ uint16_t ma[64];
+};
+
struct l1s_state {
struct gsm_time current_time; /* current GSM time */
struct gsm_time next_time; /* GSM time at next TMDMA irq */
@@ -109,15 +120,17 @@ struct l1s_state {
uint8_t h;
union {
- struct {
- uint16_t arfcn;
- } h0;
- struct {
- uint8_t hsn;
- uint8_t maio;
- uint8_t n;
- uint16_t ma[64];
- } h1;
+ struct l1s_h0 h0;
+ struct l1s_h1 h1;
+ };
+
+ uint8_t st_tsc;
+ uint8_t st_tn;
+ uint8_t st_h;
+
+ union {
+ struct l1s_h0 st_h0;
+ struct l1s_h1 st_h1;
};
} dedicated;
};