fixeria has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmocom-bb/+/42604?usp=email )


Change subject: firmware/se_k2xx: add board specific RF tables
......................................................................

firmware/se_k2xx: add board specific RF tables

SE K2xx phones use a different PA than GTA0x/FCDEV3B, so the
compiled-in Tx ramp templates must match the actual hardware.
Replace the previously copied GTA0x ramps with values extracted
from the SE K2xx official firmware using the calextract tool
from the freecalypso-reveng repository:

https://www.freecalypso.org/hg/freecalypso-reveng/

The Tx levels tables are left unchanged, as they are believed to
be the same TI internal defaults across these designs.

Change-Id: If90973ae6bf9af1cd15e2d80e0b99fe098b648bd
Related: OS#5822
---
M src/target/firmware/Makefile
A src/target/firmware/board/se_k2xx/rf_tables.c
2 files changed, 579 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/04/42604/1

diff --git a/src/target/firmware/Makefile b/src/target/firmware/Makefile
index 9be0bfb..f057410 100644
--- a/src/target/firmware/Makefile
+++ b/src/target/firmware/Makefile
@@ -112,7 +112,8 @@
 # Sony Ericsson K200i/K220i
 BOARD_se_k2xx_OBJS=$(calypso_COMMON_OBJS) board/se_k2xx/init.o \
        board/se_k2xx/rffe_k2xx.o \
-       board/gta0x/rf_tables.o board/gta0x/afcparams.o \
+       board/se_k2xx/rf_tables.o \
+       board/gta0x/afcparams.o \
        board/common/readcal_tiffs.o battery/dummy.o $(FB_k2xx_OBJS)
 BOARD_se_k2xx_ENVIRONMENTS=highram

diff --git a/src/target/firmware/board/se_k2xx/rf_tables.c 
b/src/target/firmware/board/se_k2xx/rf_tables.c
new file mode 100644
index 0000000..4d31c1c
--- /dev/null
+++ b/src/target/firmware/board/se_k2xx/rf_tables.c
@@ -0,0 +1,577 @@
+/*
+ * This code was written by Mychaela Falconia <[email protected]>
+ * who refuses to claim copyright on it and has released it as public domain
+ * instead. NO rights reserved, all rights relinquished.
+ *
+ * K2xx specific modifications by Vadim Yanitskiy <[email protected]>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#include <stdint.h>
+#include <rf/txcal.h>
+
+/*
+ * APC offset (comes from the official firmware) for TI-classic targets.
+ *
+ * XXX: What APC offset is used by the original K2xx fw is the big unknown,
+ * and if it's wrong, all levels will off despite reading calibration
+ * records - this part is always a bummer.
+ */
+uint8_t apc_offset = 48;
+
+/*
+ * The following Tx levels tables are the same as those in the official
+ * Openmoko and FreeCalypso firmwares for GTA0x and FCDEV3B devices,
+ * believed to be unchanged TI internal defaults.
+ */
+struct txcal_tx_level rf_tx_levels_850[RF_TX_LEVELS_TABLE_SIZE] = {
+       { 507,  0,  0 }, /* 0 */
+       { 507,  0,  0 }, /* 1 */
+       { 507,  0,  0 }, /* 2 */
+       { 507,  0,  0 }, /* 3 */
+       { 507,  0,  0 }, /* 4 */
+       { 507,  0,  0 }, /* 5 */
+       { 417,  1,  0 }, /* 6 */
+       { 350,  2,  0 }, /* 7 */
+       { 282,  3,  0 }, /* 8 */
+       { 226,  4,  0 }, /* 9 */
+       { 183,  5,  0 }, /* 10 */
+       { 148,  6,  0 }, /* 11 */
+       { 121,  7,  0 }, /* 12 */
+       {  98,  8,  0 }, /* 13 */
+       {  80,  9,  0 }, /* 14 */
+       {  66, 10,  0 }, /* 15 */
+       {  54, 11,  0 }, /* 16 */
+       {  44, 12,  0 }, /* 17 */
+       {  36, 13,  0 }, /* 18 */
+       {  29, 14,  0 }, /* 19 */
+       {  29, 14,  0 }, /* 20 */
+       {  29, 14,  0 }, /* 21 */
+       {  29, 14,  0 }, /* 22 */
+       {  29, 14,  0 }, /* 23 */
+       {  29, 14,  0 }, /* 24 */
+       {  29, 14,  0 }, /* 25 */
+       {  29, 14,  0 }, /* 26 */
+       {  29, 14,  0 }, /* 27 */
+       {  29, 14,  0 }, /* 28 */
+       {  29, 14,  0 }, /* 29 */
+       {  29, 14,  0 }, /* 30 */
+       {  29, 14,  0 }, /* 31 */
+};
+
+struct txcal_tx_level rf_tx_levels_900[RF_TX_LEVELS_TABLE_SIZE] = {
+       { 465,  0,  0 }, /* 0 */
+       { 465,  0,  0 }, /* 1 */
+       { 465,  0,  0 }, /* 2 */
+       { 465,  0,  0 }, /* 3 */
+       { 465,  0,  0 }, /* 4 */
+       { 465,  0,  0 }, /* 5 */
+       { 387,  1,  0 }, /* 6 */
+       { 324,  2,  0 }, /* 7 */
+       { 260,  3,  0 }, /* 8 */
+       { 210,  4,  0 }, /* 9 */
+       { 170,  5,  0 }, /* 10 */
+       { 138,  6,  0 }, /* 11 */
+       { 113,  7,  0 }, /* 12 */
+       {  92,  8,  0 }, /* 13 */
+       {  76,  9,  0 }, /* 14 */
+       {  62, 10,  0 }, /* 15 */
+       {  51, 11,  0 }, /* 16 */
+       {  42, 12,  0 }, /* 17 */
+       {  34, 13,  0 }, /* 18 */
+       {  27, 14,  0 }, /* 19 */
+       {  27, 14,  0 }, /* 20 */
+       {  27, 14,  0 }, /* 21 */
+       {  27, 14,  0 }, /* 22 */
+       {  27, 14,  0 }, /* 23 */
+       {  27, 14,  0 }, /* 24 */
+       {  27, 14,  0 }, /* 25 */
+       {  27, 14,  0 }, /* 26 */
+       {  27, 14,  0 }, /* 27 */
+       {  27, 14,  0 }, /* 28 */
+       {  27, 14,  0 }, /* 29 */
+       {  27, 14,  0 }, /* 30 */
+       {  27, 14,  0 }, /* 31 */
+};
+
+struct txcal_tx_level rf_tx_levels_1800[RF_TX_LEVELS_TABLE_SIZE] = {
+       { 436,  0,  0 }, /* 0 */
+       { 363,  1,  0 }, /* 1 */
+       { 310,  2,  0 }, /* 2 */
+       { 253,  3,  0 }, /* 3 */
+       { 205,  4,  0 }, /* 4 */
+       { 168,  5,  0 }, /* 5 */
+       { 138,  6,  0 }, /* 6 */
+       { 113,  7,  0 }, /* 7 */
+       {  93,  8,  0 }, /* 8 */
+       {  76,  9,  0 }, /* 9 */
+       {  61, 10,  0 }, /* 10 */
+       {  50, 11,  0 }, /* 11 */
+       {  40, 12,  0 }, /* 12 */
+       {  32, 13,  0 }, /* 13 */
+       {  26, 14,  0 }, /* 14 */
+       {  20, 15,  0 }, /* 15 */
+       {  20, 15,  0 }, /* 16 */
+       {  20, 15,  0 }, /* 17 */
+       {  20, 15,  0 }, /* 18 */
+       {  20, 15,  0 }, /* 19 */
+       {  20, 15,  0 }, /* 20 */
+       {  20, 15,  0 }, /* 21 */
+       {  20, 15,  0 }, /* 22 */
+       {  20, 15,  0 }, /* 23 */
+       {  20, 15,  0 }, /* 24 */
+       {  20, 15,  0 }, /* 25 */
+       {  20, 15,  0 }, /* 26 */
+       {  20, 15,  0 }, /* 27 */
+       {  20, 15,  0 }, /* 28 */
+       {  20,  0,  0 }, /* 29 */
+       {  20,  0,  0 }, /* 30 */
+       {  20,  0,  0 }, /* 31 */
+};
+
+struct txcal_tx_level rf_tx_levels_1900[RF_TX_LEVELS_TABLE_SIZE] = {
+       { 429,  0,  0 }, /* 0 */
+       { 353,  1,  0 }, /* 1 */
+       { 302,  2,  0 }, /* 2 */
+       { 246,  3,  0 }, /* 3 */
+       { 200,  4,  0 }, /* 4 */
+       { 164,  5,  0 }, /* 5 */
+       { 135,  6,  0 }, /* 6 */
+       { 111,  7,  0 }, /* 7 */
+       {  91,  8,  0 }, /* 8 */
+       {  75,  9,  0 }, /* 9 */
+       {  60, 10,  0 }, /* 10 */
+       {  49, 11,  0 }, /* 11 */
+       {  40, 12,  0 }, /* 12 */
+       {  33, 13,  0 }, /* 13 */
+       {  26, 14,  0 }, /* 14 */
+       {  26, 15,  0 }, /* 15 */
+       {  26, 15,  0 }, /* 16 */
+       {  26, 15,  0 }, /* 17 */
+       {  26, 15,  0 }, /* 18 */
+       {  26, 15,  0 }, /* 19 */
+       {  26, 15,  0 }, /* 20 */
+       {  26, 15,  0 }, /* 21 */
+       {  26, 15,  0 }, /* 22 */
+       {  26, 15,  0 }, /* 23 */
+       {  26, 15,  0 }, /* 24 */
+       {  26, 15,  0 }, /* 25 */
+       {  26, 15,  0 }, /* 26 */
+       {  26, 15,  0 }, /* 27 */
+       {  26, 15,  0 }, /* 28 */
+       {  26,  0,  0 }, /* 29 */
+       {  26,  0,  0 }, /* 30 */
+       {  26,  0,  0 }, /* 31 */
+};
+
+/*
+ * The following Tx ramp tables have been extracted from the SE K2xx official
+ * firmware using the calextract tool from the freecalypso-reveng repository
+ * (https://www.freecalypso.org/hg/freecalypso-reveng/, see se_k200i/rf_*.c).
+ * Tx ramps depend on the PA type and differ between hardware designs.
+ */
+struct txcal_ramp_def rf_tx_ramps_850[RF_TX_RAMP_SIZE] = {
+      { /* profile 0 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       { 10, 26, 31, 26, 19, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 1 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       { 10, 26, 31, 26, 19, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 2 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 3 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 4 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 5 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 6 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 7 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 8 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 9 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 10 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 11 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 12 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 13 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 14 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 18, 25, 31, 30, 15,  0,  0},
+       /* ramp-down */
+       {  0, 26, 31, 26, 29, 11,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 15 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+       /* ramp-down */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+};
+
+struct txcal_ramp_def rf_tx_ramps_900[RF_TX_RAMP_SIZE] = {
+      { /* profile 0 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 1 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 2 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 3 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 4 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 5 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 6 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 7 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 8 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 9 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 10 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 11 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 12 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 13 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 14 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0, 10, 28, 30, 30, 30,  0,  0,  0},
+       /* ramp-down */
+       {  0, 15, 31, 31, 31, 20,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 15 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+       /* ramp-down */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+};
+
+struct txcal_ramp_def rf_tx_ramps_1800[RF_TX_RAMP_SIZE] = {
+      { /* profile 0 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  0, 29, 29, 29, 29,  6,  6,  0},
+       /* ramp-down */
+       { 11, 31, 31, 21, 24, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 1 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  3, 24, 31, 31, 31,  8,  0,  0},
+       /* ramp-down */
+       {  0,  8, 31, 31, 31, 27,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 2 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  3, 24, 31, 31, 31,  8,  0,  0},
+       /* ramp-down */
+       {  0,  8, 31, 31, 31, 27,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 3 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0, 22,  6,  4, 24, 26, 24, 18,  4,  0},
+       /* ramp-down */
+       {  0,  1, 13, 31, 31, 31, 21,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 4 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  3, 24, 31, 31, 31,  8,  0,  0},
+       /* ramp-down */
+       {  0,  8, 31, 31, 31, 27,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 5 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  3, 24, 31, 31, 31,  8,  0,  0},
+       /* ramp-down */
+       {  0,  8, 31, 31, 31, 27,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 6 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  3, 24, 31, 31, 31,  8,  0,  0},
+       /* ramp-down */
+       {  0,  8, 31, 31, 31, 27,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 7 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  3, 24, 31, 31, 31,  8,  0,  0},
+       /* ramp-down */
+       {  0,  8, 31, 31, 31, 27,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 8 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  3, 24, 31, 31, 31,  8,  0,  0},
+       /* ramp-down */
+       {  0,  8, 31, 31, 31, 27,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 9 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  3, 24, 31, 31, 31,  8,  0,  0},
+       /* ramp-down */
+       {  0,  8, 31, 31, 31, 27,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 10 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  3, 24, 31, 31, 31,  8,  0,  0},
+       /* ramp-down */
+       {  0,  8, 31, 31, 31, 27,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 11 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  0, 31, 31, 31, 31,  4,  0,  0},
+       /* ramp-down */
+       {  0,  4, 31, 31, 31, 31,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 12 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  0, 31, 31, 31, 31,  4,  0,  0},
+       /* ramp-down */
+       {  0,  0, 31, 31, 31, 31,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 13 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  0, 31, 31, 31, 31,  4,  0,  0},
+       /* ramp-down */
+       {  0,  0, 31, 31, 31, 31,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 14 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  0, 31, 31, 31, 31,  4,  0,  0},
+       /* ramp-down */
+       {  0,  0, 31, 31, 31, 31,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 15 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  0, 31, 31, 31, 31,  4,  0,  0},
+       /* ramp-down */
+       {  0,  0, 31, 31, 31, 31,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+};
+
+struct txcal_ramp_def rf_tx_ramps_1900[RF_TX_RAMP_SIZE] = {
+      { /* profile 0 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  7, 16, 31, 31, 31, 12,  0,  0},
+       /* ramp-down */
+       { 13, 31, 31, 31, 12, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 1 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  2,  3,  4, 17, 30, 31, 31, 10,  0,  0},
+       /* ramp-down */
+       {  0, 10, 31, 31, 31, 13,  9,  3,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 2 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       {  0, 11, 21, 31, 31, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 3 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       {  0, 11, 21, 31, 31, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 4 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       {  0, 11, 21, 31, 31, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 5 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       {  0, 11, 21, 31, 31, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 6 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       {  0, 11, 21, 31, 31, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 7 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       {  0, 11, 21, 31, 31, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 8 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       {  0, 11, 21, 31, 31, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 9 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       { 11, 21, 31, 31, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 10 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       { 21, 21, 31, 21, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 11 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       { 21, 21, 31, 21, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 12 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       { 21, 21, 31, 21, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 13 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       { 21, 21, 31, 21, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 14 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       { 21, 21, 31, 21, 14, 10, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+      { /* profile 15 */
+       /* ramp-up */
+       {  0,  0,  0,  0,  0,  0,  0,  0,  9, 21, 31, 31, 26, 10,  0,  0},
+       /* ramp-down */
+       { 31, 21, 21, 21, 24, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0},
+      },
+};

--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/42604?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: If90973ae6bf9af1cd15e2d80e0b99fe098b648bd
Gerrit-Change-Number: 42604
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <[email protected]>

Reply via email to