1
0
Fork 0
forked from len0rd/rockbox

sonynwz: add nvp nodes for NW-A40/ZX300, various fixes for tools

We still miss the model IDS for those device so scsitool won't be able to
recognize them automatically.

Change-Id: I17ae0f0d95c011cea8e289def63c7673b6c4b667
This commit is contained in:
Amaury Pouly 2017-10-06 11:28:30 +02:00
parent 3f1e4a0b1a
commit 698779e3e8
7 changed files with 351 additions and 4 deletions

View file

@ -224,6 +224,7 @@ static int nvp_index_0ac81d[NWZ_NVP_COUNT] =
[NWZ_NVP_BPR] = 35, [NWZ_NVP_BPR] = 35,
[NWZ_NVP_BTC] = NWZ_NVP_INVALID, [NWZ_NVP_BTC] = NWZ_NVP_INVALID,
[NWZ_NVP_BTI] = 1, [NWZ_NVP_BTI] = 1,
[NWZ_NVP_CLG] = NWZ_NVP_INVALID,
[NWZ_NVP_CLV] = 68, [NWZ_NVP_CLV] = 68,
[NWZ_NVP_CNG] = 3, [NWZ_NVP_CNG] = 3,
[NWZ_NVP_CTR] = NWZ_NVP_INVALID, [NWZ_NVP_CTR] = NWZ_NVP_INVALID,
@ -308,6 +309,7 @@ static int nvp_index_0ac81d[NWZ_NVP_COUNT] =
[NWZ_NVP_PRK] = NWZ_NVP_INVALID, [NWZ_NVP_PRK] = NWZ_NVP_INVALID,
[NWZ_NVP_PSK] = NWZ_NVP_INVALID, [NWZ_NVP_PSK] = NWZ_NVP_INVALID,
[NWZ_NVP_PTS] = 75, [NWZ_NVP_PTS] = 75,
[NWZ_NVP_PWD] = NWZ_NVP_INVALID,
[NWZ_NVP_RBT] = NWZ_NVP_INVALID, [NWZ_NVP_RBT] = NWZ_NVP_INVALID,
[NWZ_NVP_RND] = 28, [NWZ_NVP_RND] = 28,
[NWZ_NVP_RTC] = 34, [NWZ_NVP_RTC] = 34,
@ -335,6 +337,131 @@ static int nvp_index_0ac81d[NWZ_NVP_COUNT] =
[NWZ_NVP_VRT] = NWZ_NVP_INVALID, [NWZ_NVP_VRT] = NWZ_NVP_INVALID,
}; };
static int nvp_index_139d65[NWZ_NVP_COUNT] =
{
[NWZ_NVP_APD] = 78,
[NWZ_NVP_APP] = NWZ_NVP_INVALID,
[NWZ_NVP_BFD] = 21,
[NWZ_NVP_BFP] = 20,
[NWZ_NVP_BLF] = 79,
[NWZ_NVP_BML] = 22,
[NWZ_NVP_BOK] = NWZ_NVP_INVALID,
[NWZ_NVP_BPR] = 19,
[NWZ_NVP_BTC] = 85,
[NWZ_NVP_BTI] = 72,
[NWZ_NVP_CLG] = 15,
[NWZ_NVP_CLV] = 68,
[NWZ_NVP_CNG] = 23,
[NWZ_NVP_CTR] = 90,
[NWZ_NVP_DBA] = NWZ_NVP_INVALID,
[NWZ_NVP_DBG] = 0,
[NWZ_NVP_DBI] = 88,
[NWZ_NVP_DBS] = NWZ_NVP_INVALID,
[NWZ_NVP_DBV] = 25,
[NWZ_NVP_DCC] = NWZ_NVP_INVALID,
[NWZ_NVP_DG0] = NWZ_NVP_INVALID,
[NWZ_NVP_DG1] = NWZ_NVP_INVALID,
[NWZ_NVP_DOR] = NWZ_NVP_INVALID,
[NWZ_NVP_E00] = 36,
[NWZ_NVP_E01] = 37,
[NWZ_NVP_E02] = 38,
[NWZ_NVP_E03] = 39,
[NWZ_NVP_E04] = 40,
[NWZ_NVP_E05] = 41,
[NWZ_NVP_E06] = 42,
[NWZ_NVP_E07] = 43,
[NWZ_NVP_E08] = 44,
[NWZ_NVP_E09] = 45,
[NWZ_NVP_E10] = 46,
[NWZ_NVP_E11] = 47,
[NWZ_NVP_E12] = 48,
[NWZ_NVP_E13] = 49,
[NWZ_NVP_E14] = 50,
[NWZ_NVP_E15] = 51,
[NWZ_NVP_E16] = 52,
[NWZ_NVP_E17] = 53,
[NWZ_NVP_E18] = 54,
[NWZ_NVP_E19] = 55,
[NWZ_NVP_E20] = 56,
[NWZ_NVP_E21] = 57,
[NWZ_NVP_E22] = 58,
[NWZ_NVP_E23] = 59,
[NWZ_NVP_E24] = 60,
[NWZ_NVP_E25] = 61,
[NWZ_NVP_E26] = 62,
[NWZ_NVP_E27] = 63,
[NWZ_NVP_E28] = 64,
[NWZ_NVP_E29] = 65,
[NWZ_NVP_E30] = 66,
[NWZ_NVP_E31] = 67,
[NWZ_NVP_EDW] = 71,
[NWZ_NVP_EP0] = NWZ_NVP_INVALID,
[NWZ_NVP_EP1] = NWZ_NVP_INVALID,
[NWZ_NVP_EP2] = NWZ_NVP_INVALID,
[NWZ_NVP_EP3] = NWZ_NVP_INVALID,
[NWZ_NVP_ERI] = 76,
[NWZ_NVP_EXM] = NWZ_NVP_INVALID,
[NWZ_NVP_FMP] = NWZ_NVP_INVALID,
[NWZ_NVP_FNI] = 82,
[NWZ_NVP_FPI] = 33,
[NWZ_NVP_FUI] = 75,
[NWZ_NVP_FUP] = 3,
[NWZ_NVP_FUR] = 26,
[NWZ_NVP_FVI] = 31,
[NWZ_NVP_GTY] = 14,
[NWZ_NVP_HDI] = 73,
[NWZ_NVP_HLD] = 5,
[NWZ_NVP_INS] = 89,
[NWZ_NVP_IPT] = NWZ_NVP_INVALID,
[NWZ_NVP_KAS] = 11,
[NWZ_NVP_LBI] = 74,
[NWZ_NVP_LYR] = 24,
[NWZ_NVP_MAC] = 32,
[NWZ_NVP_MCR] = NWZ_NVP_INVALID,
[NWZ_NVP_MDK] = 30,
[NWZ_NVP_MDL] = NWZ_NVP_INVALID,
[NWZ_NVP_MID] = 7,
[NWZ_NVP_MLK] = NWZ_NVP_INVALID,
[NWZ_NVP_MSC] = NWZ_NVP_INVALID,
[NWZ_NVP_MSO] = 86,
[NWZ_NVP_MTM] = NWZ_NVP_INVALID,
[NWZ_NVP_MUK] = NWZ_NVP_INVALID,
[NWZ_NVP_NCP] = 17,
[NWZ_NVP_NVR] = 77,
[NWZ_NVP_PCD] = 8,
[NWZ_NVP_PCI] = 87,
[NWZ_NVP_PNC] = NWZ_NVP_INVALID,
[NWZ_NVP_PRK] = 4,
[NWZ_NVP_PSK] = 18,
[NWZ_NVP_PTS] = NWZ_NVP_INVALID,
[NWZ_NVP_PWD] = 6,
[NWZ_NVP_RBT] = 70,
[NWZ_NVP_RND] = NWZ_NVP_INVALID,
[NWZ_NVP_RTC] = NWZ_NVP_INVALID,
[NWZ_NVP_SDC] = NWZ_NVP_INVALID,
[NWZ_NVP_SDP] = 16,
[NWZ_NVP_SER] = 9,
[NWZ_NVP_SFI] = NWZ_NVP_INVALID,
[NWZ_NVP_SHE] = 84,
[NWZ_NVP_SHP] = 12,
[NWZ_NVP_SID] = 83,
[NWZ_NVP_SKD] = 28,
[NWZ_NVP_SKT] = NWZ_NVP_INVALID,
[NWZ_NVP_SKU] = 91,
[NWZ_NVP_SLP] = 80,
[NWZ_NVP_SPS] = 69,
[NWZ_NVP_SYI] = 1,
[NWZ_NVP_TR0] = 34,
[NWZ_NVP_TR1] = 35,
[NWZ_NVP_TST] = 13,
[NWZ_NVP_UBP] = 2,
[NWZ_NVP_UFN] = 10,
[NWZ_NVP_UMS] = 27,
[NWZ_NVP_UPS] = 29,
[NWZ_NVP_VAR] = NWZ_NVP_INVALID,
[NWZ_NVP_VRT] = 81,
};
static int nvp_index_28dc2c[NWZ_NVP_COUNT] = static int nvp_index_28dc2c[NWZ_NVP_COUNT] =
{ {
[NWZ_NVP_APD] = 78, [NWZ_NVP_APD] = 78,
@ -347,6 +474,7 @@ static int nvp_index_28dc2c[NWZ_NVP_COUNT] =
[NWZ_NVP_BPR] = 19, [NWZ_NVP_BPR] = 19,
[NWZ_NVP_BTC] = 85, [NWZ_NVP_BTC] = 85,
[NWZ_NVP_BTI] = 72, [NWZ_NVP_BTI] = 72,
[NWZ_NVP_CLG] = NWZ_NVP_INVALID,
[NWZ_NVP_CLV] = 68, [NWZ_NVP_CLV] = 68,
[NWZ_NVP_CNG] = 23, [NWZ_NVP_CNG] = 23,
[NWZ_NVP_CTR] = NWZ_NVP_INVALID, [NWZ_NVP_CTR] = NWZ_NVP_INVALID,
@ -431,6 +559,7 @@ static int nvp_index_28dc2c[NWZ_NVP_COUNT] =
[NWZ_NVP_PRK] = NWZ_NVP_INVALID, [NWZ_NVP_PRK] = NWZ_NVP_INVALID,
[NWZ_NVP_PSK] = 18, [NWZ_NVP_PSK] = 18,
[NWZ_NVP_PTS] = 77, [NWZ_NVP_PTS] = 77,
[NWZ_NVP_PWD] = NWZ_NVP_INVALID,
[NWZ_NVP_RBT] = NWZ_NVP_INVALID, [NWZ_NVP_RBT] = NWZ_NVP_INVALID,
[NWZ_NVP_RND] = 27, [NWZ_NVP_RND] = 27,
[NWZ_NVP_RTC] = 6, [NWZ_NVP_RTC] = 6,
@ -470,6 +599,7 @@ static int nvp_index_398250[NWZ_NVP_COUNT] =
[NWZ_NVP_BPR] = 19, [NWZ_NVP_BPR] = 19,
[NWZ_NVP_BTC] = 85, [NWZ_NVP_BTC] = 85,
[NWZ_NVP_BTI] = 72, [NWZ_NVP_BTI] = 72,
[NWZ_NVP_CLG] = NWZ_NVP_INVALID,
[NWZ_NVP_CLV] = 68, [NWZ_NVP_CLV] = 68,
[NWZ_NVP_CNG] = 23, [NWZ_NVP_CNG] = 23,
[NWZ_NVP_CTR] = 90, [NWZ_NVP_CTR] = 90,
@ -554,6 +684,7 @@ static int nvp_index_398250[NWZ_NVP_COUNT] =
[NWZ_NVP_PRK] = 4, [NWZ_NVP_PRK] = 4,
[NWZ_NVP_PSK] = 18, [NWZ_NVP_PSK] = 18,
[NWZ_NVP_PTS] = NWZ_NVP_INVALID, [NWZ_NVP_PTS] = NWZ_NVP_INVALID,
[NWZ_NVP_PWD] = NWZ_NVP_INVALID,
[NWZ_NVP_RBT] = 70, [NWZ_NVP_RBT] = 70,
[NWZ_NVP_RND] = NWZ_NVP_INVALID, [NWZ_NVP_RND] = NWZ_NVP_INVALID,
[NWZ_NVP_RTC] = 6, [NWZ_NVP_RTC] = 6,
@ -593,6 +724,7 @@ static int nvp_index_4edba7[NWZ_NVP_COUNT] =
[NWZ_NVP_BPR] = 35, [NWZ_NVP_BPR] = 35,
[NWZ_NVP_BTC] = NWZ_NVP_INVALID, [NWZ_NVP_BTC] = NWZ_NVP_INVALID,
[NWZ_NVP_BTI] = 1, [NWZ_NVP_BTI] = 1,
[NWZ_NVP_CLG] = NWZ_NVP_INVALID,
[NWZ_NVP_CLV] = 68, [NWZ_NVP_CLV] = 68,
[NWZ_NVP_CNG] = 3, [NWZ_NVP_CNG] = 3,
[NWZ_NVP_CTR] = NWZ_NVP_INVALID, [NWZ_NVP_CTR] = NWZ_NVP_INVALID,
@ -677,6 +809,7 @@ static int nvp_index_4edba7[NWZ_NVP_COUNT] =
[NWZ_NVP_PRK] = NWZ_NVP_INVALID, [NWZ_NVP_PRK] = NWZ_NVP_INVALID,
[NWZ_NVP_PSK] = NWZ_NVP_INVALID, [NWZ_NVP_PSK] = NWZ_NVP_INVALID,
[NWZ_NVP_PTS] = 75, [NWZ_NVP_PTS] = 75,
[NWZ_NVP_PWD] = NWZ_NVP_INVALID,
[NWZ_NVP_RBT] = NWZ_NVP_INVALID, [NWZ_NVP_RBT] = NWZ_NVP_INVALID,
[NWZ_NVP_RND] = 28, [NWZ_NVP_RND] = 28,
[NWZ_NVP_RTC] = 34, [NWZ_NVP_RTC] = 34,
@ -716,6 +849,7 @@ static int nvp_index_6485c8[NWZ_NVP_COUNT] =
[NWZ_NVP_BPR] = 19, [NWZ_NVP_BPR] = 19,
[NWZ_NVP_BTC] = 85, [NWZ_NVP_BTC] = 85,
[NWZ_NVP_BTI] = 72, [NWZ_NVP_BTI] = 72,
[NWZ_NVP_CLG] = NWZ_NVP_INVALID,
[NWZ_NVP_CLV] = 68, [NWZ_NVP_CLV] = 68,
[NWZ_NVP_CNG] = 23, [NWZ_NVP_CNG] = 23,
[NWZ_NVP_CTR] = NWZ_NVP_INVALID, [NWZ_NVP_CTR] = NWZ_NVP_INVALID,
@ -800,6 +934,7 @@ static int nvp_index_6485c8[NWZ_NVP_COUNT] =
[NWZ_NVP_PRK] = NWZ_NVP_INVALID, [NWZ_NVP_PRK] = NWZ_NVP_INVALID,
[NWZ_NVP_PSK] = 18, [NWZ_NVP_PSK] = 18,
[NWZ_NVP_PTS] = 77, [NWZ_NVP_PTS] = 77,
[NWZ_NVP_PWD] = NWZ_NVP_INVALID,
[NWZ_NVP_RBT] = NWZ_NVP_INVALID, [NWZ_NVP_RBT] = NWZ_NVP_INVALID,
[NWZ_NVP_RND] = 27, [NWZ_NVP_RND] = 27,
[NWZ_NVP_RTC] = 6, [NWZ_NVP_RTC] = 6,
@ -839,6 +974,7 @@ static int nvp_index_92faee[NWZ_NVP_COUNT] =
[NWZ_NVP_BPR] = 19, [NWZ_NVP_BPR] = 19,
[NWZ_NVP_BTC] = 85, [NWZ_NVP_BTC] = 85,
[NWZ_NVP_BTI] = 72, [NWZ_NVP_BTI] = 72,
[NWZ_NVP_CLG] = NWZ_NVP_INVALID,
[NWZ_NVP_CLV] = 68, [NWZ_NVP_CLV] = 68,
[NWZ_NVP_CNG] = 23, [NWZ_NVP_CNG] = 23,
[NWZ_NVP_CTR] = NWZ_NVP_INVALID, [NWZ_NVP_CTR] = NWZ_NVP_INVALID,
@ -923,6 +1059,7 @@ static int nvp_index_92faee[NWZ_NVP_COUNT] =
[NWZ_NVP_PRK] = NWZ_NVP_INVALID, [NWZ_NVP_PRK] = NWZ_NVP_INVALID,
[NWZ_NVP_PSK] = 18, [NWZ_NVP_PSK] = 18,
[NWZ_NVP_PTS] = 77, [NWZ_NVP_PTS] = 77,
[NWZ_NVP_PWD] = NWZ_NVP_INVALID,
[NWZ_NVP_RBT] = NWZ_NVP_INVALID, [NWZ_NVP_RBT] = NWZ_NVP_INVALID,
[NWZ_NVP_RND] = 27, [NWZ_NVP_RND] = 27,
[NWZ_NVP_RTC] = 6, [NWZ_NVP_RTC] = 6,
@ -962,6 +1099,7 @@ static int nvp_index_f505c8[NWZ_NVP_COUNT] =
[NWZ_NVP_BPR] = 35, [NWZ_NVP_BPR] = 35,
[NWZ_NVP_BTC] = 27, [NWZ_NVP_BTC] = 27,
[NWZ_NVP_BTI] = 1, [NWZ_NVP_BTI] = 1,
[NWZ_NVP_CLG] = NWZ_NVP_INVALID,
[NWZ_NVP_CLV] = 68, [NWZ_NVP_CLV] = 68,
[NWZ_NVP_CNG] = 3, [NWZ_NVP_CNG] = 3,
[NWZ_NVP_CTR] = NWZ_NVP_INVALID, [NWZ_NVP_CTR] = NWZ_NVP_INVALID,
@ -1046,6 +1184,7 @@ static int nvp_index_f505c8[NWZ_NVP_COUNT] =
[NWZ_NVP_PRK] = NWZ_NVP_INVALID, [NWZ_NVP_PRK] = NWZ_NVP_INVALID,
[NWZ_NVP_PSK] = 86, [NWZ_NVP_PSK] = 86,
[NWZ_NVP_PTS] = 75, [NWZ_NVP_PTS] = 75,
[NWZ_NVP_PWD] = NWZ_NVP_INVALID,
[NWZ_NVP_RBT] = NWZ_NVP_INVALID, [NWZ_NVP_RBT] = NWZ_NVP_INVALID,
[NWZ_NVP_RND] = 28, [NWZ_NVP_RND] = 28,
[NWZ_NVP_RTC] = 34, [NWZ_NVP_RTC] = 34,
@ -1085,6 +1224,7 @@ struct nwz_nvp_info_t nwz_nvp[NWZ_NVP_COUNT] =
[NWZ_NVP_BPR] = { "bpr", 2048, "bluetooth address | bluetooth parameter" }, [NWZ_NVP_BPR] = { "bpr", 2048, "bluetooth address | bluetooth parameter" },
[NWZ_NVP_BTC] = { "btc", 4, "battery calibration" }, [NWZ_NVP_BTC] = { "btc", 4, "battery calibration" },
[NWZ_NVP_BTI] = { "bti", 262144, "boot image" }, [NWZ_NVP_BTI] = { "bti", 262144, "boot image" },
[NWZ_NVP_CLG] = { "clg", 0, "" },
[NWZ_NVP_CLV] = { "clv", 4, "color variation" }, [NWZ_NVP_CLV] = { "clv", 4, "color variation" },
[NWZ_NVP_CNG] = { "cng", 704, "aad key | aad/empr key" }, [NWZ_NVP_CNG] = { "cng", 704, "aad key | aad/empr key" },
[NWZ_NVP_CTR] = { "ctr", 0, "" }, [NWZ_NVP_CTR] = { "ctr", 0, "" },
@ -1169,6 +1309,7 @@ struct nwz_nvp_info_t nwz_nvp[NWZ_NVP_COUNT] =
[NWZ_NVP_PRK] = { "prk", 0, "" }, [NWZ_NVP_PRK] = { "prk", 0, "" },
[NWZ_NVP_PSK] = { "psk", 512, "bluetooth pskey" }, [NWZ_NVP_PSK] = { "psk", 512, "bluetooth pskey" },
[NWZ_NVP_PTS] = { "pts", 4, "wifi protected setup" }, [NWZ_NVP_PTS] = { "pts", 4, "wifi protected setup" },
[NWZ_NVP_PWD] = { "pwd", 0, "" },
[NWZ_NVP_RBT] = { "rbt", 0, "" }, [NWZ_NVP_RBT] = { "rbt", 0, "" },
[NWZ_NVP_RND] = { "rnd", 64, "random data | wmt key" }, [NWZ_NVP_RND] = { "rnd", 64, "random data | wmt key" },
[NWZ_NVP_RTC] = { "rtc", 16, "rtc alarm" }, [NWZ_NVP_RTC] = { "rtc", 16, "rtc alarm" },
@ -1205,6 +1346,8 @@ static unsigned long models_nw_a20[] = { 0x1d000001, 0x1d000002, 0x1d000004,
static unsigned long models_nw_a30[] = { 0x22000004, 0x22000005, 0x22000006 }; static unsigned long models_nw_a30[] = { 0x22000004, 0x22000005, 0x22000006 };
static unsigned long models_nw_a40[] = { };
static unsigned long models_nwz_a720[] = { 0x3030001, 0x3030002, 0x3030004, static unsigned long models_nwz_a720[] = { 0x3030001, 0x3030002, 0x3030004,
0x3020001, 0x3020002, 0x3020004 }; 0x3020001, 0x3020002, 0x3020004 };
@ -1294,6 +1437,8 @@ static unsigned long models_nwz_x1000[] = { 0x5000002, 0x5000004, 0x5000005,
static unsigned long models_nw_zx100[] = { 0x1c000007, 0x1c000001, 0x1c000002, static unsigned long models_nw_zx100[] = { 0x1c000007, 0x1c000001, 0x1c000002,
0x1c000004, 0x1c000005, 0x1c000006 }; 0x1c000004, 0x1c000005, 0x1c000006 };
static unsigned long models_nw_zx300[] = { };
static unsigned long models_nwz_noname[] = { 0x5010002, 0x5010004, 0x5010005 }; static unsigned long models_nwz_noname[] = { 0x5010002, 0x5010004, 0x5010005 };
struct nwz_series_info_t nwz_series[NWZ_SERIES_COUNT] = struct nwz_series_info_t nwz_series[NWZ_SERIES_COUNT] =
@ -1301,6 +1446,7 @@ struct nwz_series_info_t nwz_series[NWZ_SERIES_COUNT] =
{ "nwz-a10", "NWZ-A10 Series", 10, models_nwz_a10, &nvp_index_92faee }, { "nwz-a10", "NWZ-A10 Series", 10, models_nwz_a10, &nvp_index_92faee },
{ "nw-a20", "NW-A20 Series", 6, models_nw_a20, &nvp_index_92faee }, { "nw-a20", "NW-A20 Series", 6, models_nw_a20, &nvp_index_92faee },
{ "nw-a30", "NW-A30 Series", 3, models_nw_a30, &nvp_index_398250 }, { "nw-a30", "NW-A30 Series", 3, models_nw_a30, &nvp_index_398250 },
{ "nw-a40", "NW-A40 Series", 0, models_nw_a40, &nvp_index_139d65 },
{ "nwz-a720", "NWZ-A720 Series", 6, models_nwz_a720, 0 }, { "nwz-a720", "NWZ-A720 Series", 6, models_nwz_a720, 0 },
{ "nwz-a810", "NWZ-A810 Series", 3, models_nwz_a810, 0 }, { "nwz-a810", "NWZ-A810 Series", 3, models_nwz_a810, 0 },
{ "nwz-a820", "NWZ-A820 Series", 6, models_nwz_a820, 0 }, { "nwz-a820", "NWZ-A820 Series", 6, models_nwz_a820, 0 },
@ -1333,5 +1479,6 @@ struct nwz_series_info_t nwz_series[NWZ_SERIES_COUNT] =
{ "nw-wm1", "NW-WM1 Series", 2, models_nw_wm1, &nvp_index_398250 }, { "nw-wm1", "NW-WM1 Series", 2, models_nw_wm1, &nvp_index_398250 },
{ "nwz-x1000", "NWZ-X1000 Series", 9, models_nwz_x1000, &nvp_index_4edba7 }, { "nwz-x1000", "NWZ-X1000 Series", 9, models_nwz_x1000, &nvp_index_4edba7 },
{ "nw-zx100", "NW-ZX100 Series", 6, models_nw_zx100, &nvp_index_92faee }, { "nw-zx100", "NW-ZX100 Series", 6, models_nw_zx100, &nvp_index_92faee },
{ "nw-zx300", "NW-ZX300 Series", 0, models_nw_zx300, &nvp_index_139d65 },
{ "nwz-noname", "NONAME", 3, models_nwz_noname, 0 }, { "nwz-noname", "NONAME", 3, models_nwz_noname, 0 },
}; };

View file

@ -35,6 +35,7 @@ enum nwz_nvp_node_t
NWZ_NVP_BPR, /* bluetooth address | bluetooth parameter */ NWZ_NVP_BPR, /* bluetooth address | bluetooth parameter */
NWZ_NVP_BTC, /* battery calibration */ NWZ_NVP_BTC, /* battery calibration */
NWZ_NVP_BTI, /* boot image */ NWZ_NVP_BTI, /* boot image */
NWZ_NVP_CLG, /* */
NWZ_NVP_CLV, /* color variation */ NWZ_NVP_CLV, /* color variation */
NWZ_NVP_CNG, /* aad key | aad/empr key */ NWZ_NVP_CNG, /* aad key | aad/empr key */
NWZ_NVP_CTR, /* */ NWZ_NVP_CTR, /* */
@ -119,6 +120,7 @@ enum nwz_nvp_node_t
NWZ_NVP_PRK, /* */ NWZ_NVP_PRK, /* */
NWZ_NVP_PSK, /* bluetooth pskey */ NWZ_NVP_PSK, /* bluetooth pskey */
NWZ_NVP_PTS, /* wifi protected setup */ NWZ_NVP_PTS, /* wifi protected setup */
NWZ_NVP_PWD, /* */
NWZ_NVP_RBT, /* */ NWZ_NVP_RBT, /* */
NWZ_NVP_RND, /* random data | wmt key */ NWZ_NVP_RND, /* random data | wmt key */
NWZ_NVP_RTC, /* rtc alarm */ NWZ_NVP_RTC, /* rtc alarm */
@ -152,7 +154,7 @@ enum nwz_nvp_node_t
/* Number of models */ /* Number of models */
#define NWZ_MODEL_COUNT 186 #define NWZ_MODEL_COUNT 186
/* Number of series */ /* Number of series */
#define NWZ_SERIES_COUNT 36 #define NWZ_SERIES_COUNT 38
/* NVP node info */ /* NVP node info */
struct nwz_nvp_info_t struct nwz_nvp_info_t

View file

@ -4,6 +4,17 @@ import os
import re import re
import subprocess import subprocess
import hashlib import hashlib
import sys
# arguments
if len(sys.argv) != 2:
print("Usage: %s output_directory" % sys.argv[0])
exit(1)
output_directory = sys.argv[1]
# check path is valid
if not os.path.isdir(output_directory):
print("Error: '%s' is not a valid directory" % output_directory)
exit(1)
# parse models.txt # parse models.txt
g_models = [] g_models = []
@ -200,7 +211,7 @@ extern struct nwz_series_info_t nwz_series[NWZ_SERIES_COUNT];
#endif /* __NWZ_DB_H__ */ #endif /* __NWZ_DB_H__ */
""" """
with open("nwz-db.h", "w") as fp: with open(os.path.join(output_directory, "nwz-db.h"), "w") as fp:
fp.write(header_begin) fp.write(header_begin)
# generate list of all nvp nodes # generate list of all nvp nodes
for name in sorted(g_nvp_names): for name in sorted(g_nvp_names):
@ -256,7 +267,7 @@ def by_name(nvp_entry):
def codename_to_c(codename): def codename_to_c(codename):
return re.sub('[^a-zA-Z0-9]', '_', codename, 0) return re.sub('[^a-zA-Z0-9]', '_', codename, 0)
with open("nwz-db.c", "w") as fp: with open(os.path.join(output_directory, "nwz-db.c"), "w") as fp:
fp.write(impl_begin) fp.write(impl_begin)
# generate model list (sort by mid) # generate model list (sort by mid)
for model in sorted(g_models, key = by_mid): for model in sorted(g_models, key = by_mid):

View file

@ -0,0 +1,92 @@
dbg,000
syi,001
ubp,002
fup,003
prk,004
hld,005
pwd,006
mid,007
pcd,008
ser,009
ufn,010
kas,011
shp,012
tst,013
gty,014
clg,015
sdp,016
ncp,017
psk,018
nvr,077
she,084
btc,085
ins,089
ctr,090
sku,091
bpr,019
bfp,020
bfd,021
bml,022
apd,078
blf,079
slp,080
vrt,081
fni,082
sid,083
mso,086
cng,023
lyr,024
dbv,025
fur,026
ums,027
skd,028
ups,029
mdk,030
fvi,031
mac,032
fpi,033
tr0,034
tr1,035
e00,036
e01,037
e02,038
e03,039
e04,040
e05,041
e06,042
e07,043
e08,044
e09,045
e10,046
e11,047
e12,048
e13,049
e14,050
e15,051
e16,052
e17,053
e18,054
e19,055
e20,056
e21,057
e22,058
e23,059
e24,060
e25,061
e26,062
e27,063
e28,064
e29,065
e30,066
e31,067
clv,068
sps,069
rbt,070
edw,071
bti,072
hdi,073
lbi,074
fui,075
eri,076
pci,087
dbi,088

View file

@ -0,0 +1,92 @@
dbg,000
syi,001
ubp,002
fup,003
prk,004
hld,005
pwd,006
mid,007
pcd,008
ser,009
ufn,010
kas,011
shp,012
tst,013
gty,014
clg,015
sdp,016
ncp,017
psk,018
nvr,077
she,084
btc,085
ins,089
ctr,090
sku,091
bpr,019
bfp,020
bfd,021
bml,022
apd,078
blf,079
slp,080
vrt,081
fni,082
sid,083
mso,086
cng,023
lyr,024
dbv,025
fur,026
ums,027
skd,028
ups,029
mdk,030
fvi,031
mac,032
fpi,033
tr0,034
tr1,035
e00,036
e01,037
e02,038
e03,039
e04,040
e05,041
e06,042
e07,043
e08,044
e09,045
e10,046
e11,047
e12,048
e13,049
e14,050
e15,051
e16,052
e17,053
e18,054
e19,055
e20,056
e21,057
e22,058
e23,059
e24,060
e25,061
e26,062
e27,063
e28,064
e29,065
e30,066
e31,067
clv,068
sps,069
rbt,070
edw,071
bti,072
hdi,073
lbi,074
fui,075
eri,076
pci,087
dbi,088

View file

@ -38,7 +38,8 @@ fi
if [ "`echo "$LIST" | grep "icx_nvp_emmc.h" | wc -l`" = "1" ]; then if [ "`echo "$LIST" | grep "icx_nvp_emmc.h" | wc -l`" = "1" ]; then
LIST=`echo "$LIST" | grep "icx_nvp_emmc.h"` LIST=`echo "$LIST" | grep "icx_nvp_emmc.h"`
else else
LIST=`echo "$LIST" | grep 'icx[[:digit:]]*_nvp[[:alpha:]_]*.h'` # otherwise find any file named icx_nvp*.h but filter out icx_nvp_wrapper.h
LIST=`echo "$LIST" | grep 'icx[[:digit:]]*_nvp[[:alpha:]_]*.h' | sed '/icx_nvp_wrapper/d'`
fi fi
LIST_CNT=`echo "$LIST" | wc -l` LIST_CNT=`echo "$LIST" | wc -l`
if [ "$LIST_CNT" = "0" ]; then if [ "$LIST_CNT" = "0" ]; then

View file

@ -1,6 +1,7 @@
nwz-a10,NWZ-A10 Series,0x1a000001,0x1a000002,0x1a000004,0x1a000005,0x1a000006,0x1a010001,0x1a010002,0x1a010004,0x1a010005,0x1a010006 nwz-a10,NWZ-A10 Series,0x1a000001,0x1a000002,0x1a000004,0x1a000005,0x1a000006,0x1a010001,0x1a010002,0x1a010004,0x1a010005,0x1a010006
nw-a20,NW-A20 Series,0x1d000001,0x1d000002,0x1d000004,0x1d000005,0x1d000006,0x1d000007 nw-a20,NW-A20 Series,0x1d000001,0x1d000002,0x1d000004,0x1d000005,0x1d000006,0x1d000007
nw-a30,NW-A30 Series,0x22000004,0x22000005,0x22000006 nw-a30,NW-A30 Series,0x22000004,0x22000005,0x22000006
nw-a40,NW-A40 Series,
nwz-a720,NWZ-A720 Series,0x3030001,0x3030002,0x3030004,0x3020001,0x3020002,0x3020004 nwz-a720,NWZ-A720 Series,0x3030001,0x3030002,0x3030004,0x3020001,0x3020002,0x3020004
nwz-a810,NWZ-A810 Series,0x10000,0x10001,0x10002 nwz-a810,NWZ-A810 Series,0x10000,0x10001,0x10002
nwz-a820,NWZ-A820 Series,0x3010001,0x3010002,0x3010004,0x3000001,0x3000002,0x3000004 nwz-a820,NWZ-A820 Series,0x3010001,0x3010002,0x3010004,0x3000001,0x3000002,0x3000004
@ -33,4 +34,5 @@ nw-s780,NW-S780 Series,0x19000001,0x19000002,0x19000004,0x19000005
nw-wm1,NW-WM1 Series,0x20000007,0x21000008 nw-wm1,NW-WM1 Series,0x20000007,0x21000008
nwz-x1000,NWZ-X1000 Series,0x5000002,0x5000004,0x5000005,0x5020002,0x5040002,0x5020004,0x5040004,0x5020005,0x5040005 nwz-x1000,NWZ-X1000 Series,0x5000002,0x5000004,0x5000005,0x5020002,0x5040002,0x5020004,0x5040004,0x5020005,0x5040005
nw-zx100,NW-ZX100 Series,0x1c000007,0x1c000001,0x1c000002,0x1c000004,0x1c000005,0x1c000006 nw-zx100,NW-ZX100 Series,0x1c000007,0x1c000001,0x1c000002,0x1c000004,0x1c000005,0x1c000006
nw-zx300,NW-ZX300 Series,
nwz-noname,NONAME,0x5010002,0x5010004,0x5010005 nwz-noname,NONAME,0x5010002,0x5010004,0x5010005