rockbox/firmware/target/hosted/sonynwz/nwz-db.h
Amaury Pouly 76fbb33adf nwztools: fix MW-WM1/A30 KAS, fix KAS length
Split WM1A/WM1Z because they don't have the same KAS. On newer devices, the KAS
is actually 64 bytes, not 60. The strange thing is that "get_dnk_nvp kas" returns
60 bytes whereas "get_dnk_prop kas" returns 64, not sure why.

Change-Id: I944d3d838209ba58388439af0cdf5d7c74f1f7fc
2020-10-11 13:08:03 +02:00

200 lines
6.7 KiB
C

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2016 Amaury Pouly
*
* 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 software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef __NWZ_DB_H__
#define __NWZ_DB_H__
/** /!\ This file was automatically generated, DO NOT MODIFY IT DIRECTLY /!\ */
/* List of all known NVP nodes */
enum nwz_nvp_node_t
{
NWZ_NVP_APD, /* application debug mode flag */
NWZ_NVP_APP, /* application parameter */
NWZ_NVP_ATF, /* */
NWZ_NVP_AWS, /* */
NWZ_NVP_BFD, /* btmw factory scdb */
NWZ_NVP_BFP, /* btmw factory pair info */
NWZ_NVP_BLF, /* browser log mode flag */
NWZ_NVP_BML, /* btmw log mode flag */
NWZ_NVP_BOK, /* beep ok flag */
NWZ_NVP_BPR, /* bluetooth address | bluetooth parameter */
NWZ_NVP_BTC, /* battery calibration */
NWZ_NVP_BTI, /* boot image */
NWZ_NVP_CLG, /* */
NWZ_NVP_CLV, /* color variation */
NWZ_NVP_CNG, /* aad key | aad/empr key */
NWZ_NVP_CTR, /* */
NWZ_NVP_DBA, /* aad icv */
NWZ_NVP_DBG, /* */
NWZ_NVP_DBI, /* dead battery image */
NWZ_NVP_DBS, /* */
NWZ_NVP_DBV, /* empr icv | empr key */
NWZ_NVP_DCC, /* secure clock */
NWZ_NVP_DG0, /* */
NWZ_NVP_DG1, /* */
NWZ_NVP_DGS, /* */
NWZ_NVP_DOR, /* key mode (debug/release) */
NWZ_NVP_E00, /* EMPR 0 */
NWZ_NVP_E01, /* EMPR 1 */
NWZ_NVP_E02, /* EMPR 2 */
NWZ_NVP_E03, /* EMPR 3 */
NWZ_NVP_E04, /* EMPR 4 */
NWZ_NVP_E05, /* EMPR 5 */
NWZ_NVP_E06, /* EMPR 6 */
NWZ_NVP_E07, /* EMPR 7 */
NWZ_NVP_E08, /* EMPR 8 */
NWZ_NVP_E09, /* EMPR 9 */
NWZ_NVP_E10, /* EMPR 10 */
NWZ_NVP_E11, /* EMPR 11 */
NWZ_NVP_E12, /* EMPR 12 */
NWZ_NVP_E13, /* EMPR 13 */
NWZ_NVP_E14, /* EMPR 14 */
NWZ_NVP_E15, /* EMPR 15 */
NWZ_NVP_E16, /* EMPR 16 */
NWZ_NVP_E17, /* EMPR 17 */
NWZ_NVP_E18, /* EMPR 18 */
NWZ_NVP_E19, /* EMPR 19 */
NWZ_NVP_E20, /* EMPR 20 */
NWZ_NVP_E21, /* EMPR 21 */
NWZ_NVP_E22, /* EMPR 22 */
NWZ_NVP_E23, /* EMPR 23 */
NWZ_NVP_E24, /* EMPR 24 */
NWZ_NVP_E25, /* EMPR 25 */
NWZ_NVP_E26, /* EMPR 26 */
NWZ_NVP_E27, /* EMPR 27 */
NWZ_NVP_E28, /* EMPR 28 */
NWZ_NVP_E29, /* EMPR 29 */
NWZ_NVP_E30, /* EMPR 30 */
NWZ_NVP_E31, /* EMPR 31 */
NWZ_NVP_EDW, /* quick shutdown flag */
NWZ_NVP_EP0, /* */
NWZ_NVP_EP1, /* */
NWZ_NVP_EP2, /* */
NWZ_NVP_EP3, /* */
NWZ_NVP_ERI, /* update error image */
NWZ_NVP_EXM, /* exception monitor mode */
NWZ_NVP_FMP, /* fm parameter */
NWZ_NVP_FNI, /* function information */
NWZ_NVP_FPI, /* */
NWZ_NVP_FUI, /* update image */
NWZ_NVP_FUP, /* firmware update flag */
NWZ_NVP_FUR, /* */
NWZ_NVP_FVI, /* */
NWZ_NVP_GTY, /* getty mode flag */
NWZ_NVP_HDI, /* hold image */
NWZ_NVP_HLD, /* hold mode */
NWZ_NVP_INS, /* */
NWZ_NVP_IPT, /* disable iptable flag */
NWZ_NVP_KAS, /* key and signature */
NWZ_NVP_LBI, /* low battery image */
NWZ_NVP_LYR, /* */
NWZ_NVP_MAC, /* wifi mac address */
NWZ_NVP_MCR, /* marlin crl */
NWZ_NVP_MDK, /* marlin device key */
NWZ_NVP_MDL, /* middleware parameter */
NWZ_NVP_MID, /* model id */
NWZ_NVP_MLK, /* marlin key */
NWZ_NVP_MSC, /* mass storage class mode */
NWZ_NVP_MSO, /* MSC only mode flag */
NWZ_NVP_MTM, /* marlin time */
NWZ_NVP_MUK, /* marlin user key */
NWZ_NVP_NCP, /* noise cancel driver parameter */
NWZ_NVP_NVR, /* */
NWZ_NVP_PCD, /* product code */
NWZ_NVP_PCI, /* precharge image */
NWZ_NVP_PNC, /* */
NWZ_NVP_PRK, /* */
NWZ_NVP_PSK, /* bluetooth pskey */
NWZ_NVP_PTS, /* wifi protected setup */
NWZ_NVP_PWD, /* */
NWZ_NVP_RBT, /* */
NWZ_NVP_RND, /* random data | wmt key */
NWZ_NVP_RTC, /* rtc alarm */
NWZ_NVP_SDC, /* SD Card export flag */
NWZ_NVP_SDP, /* sound driver parameter */
NWZ_NVP_SE2, /* */
NWZ_NVP_SER, /* serial number */
NWZ_NVP_SFI, /* starfish id */
NWZ_NVP_SHE, /* */
NWZ_NVP_SHP, /* ship information */
NWZ_NVP_SID, /* service id */
NWZ_NVP_SKD, /* slacker id file */
NWZ_NVP_SKT, /* slacker time */
NWZ_NVP_SKU, /* */
NWZ_NVP_SLP, /* time out to sleep */
NWZ_NVP_SPS, /* speaker ship info */
NWZ_NVP_SSK, /* */
NWZ_NVP_SYI, /* system information */
NWZ_NVP_TR0, /* EKB 0 */
NWZ_NVP_TR1, /* EKB 1 */
NWZ_NVP_TST, /* test mode flag */
NWZ_NVP_UBP, /* u-boot password */
NWZ_NVP_UFN, /* update file name */
NWZ_NVP_UMS, /* */
NWZ_NVP_UPS, /* */
NWZ_NVP_VAR, /* */
NWZ_NVP_VRT, /* europe vol regulation flag */
NWZ_NVP_COUNT /* Number of nvp nodes */
};
/* Invalid NVP index */
#define NWZ_NVP_INVALID -1 /* Non-existent entry */
/* Number of models */
#define NWZ_MODEL_COUNT 197
/* Number of series */
#define NWZ_SERIES_COUNT 41
/* NVP node info */
struct nwz_nvp_info_t
{
const char *name; /* Sony's name: "bti" */
unsigned long size; /* Size in bytes */
const char *desc; /* Description: "bootloader image" */
};
/* NVP index map (nwz_nvp_node_t -> index) */
typedef int nwz_nvp_index_t[NWZ_NVP_COUNT];
/* Model info */
struct nwz_model_info_t
{
unsigned long mid; /* Model ID: first 4 bytes of the NVP mid entry */
const char *name; /* Human name: "NWZ-E463" */
};
/* Series info */
struct nwz_series_info_t
{
const char *codename; /* Rockbox codename: nwz-e460 */
const char *name; /* Human name: "NWZ-E460 Series" */
int mid_count; /* number of entries in mid_list */
unsigned long *mid; /* List of model IDs */
/* Pointer to a name -> index map, nonexistent entries map to NWZ_NVP_INVALID */
nwz_nvp_index_t *nvp_index;
};
/* List of all NVP entries, indexed by nwz_nvp_node_t */
extern struct nwz_nvp_info_t nwz_nvp[NWZ_NVP_COUNT];
/* List of all models, sorted by increasing values of model ID */
extern struct nwz_model_info_t nwz_model[NWZ_MODEL_COUNT];
/* List of all series */
extern struct nwz_series_info_t nwz_series[NWZ_SERIES_COUNT];
#endif /* __NWZ_DB_H__ */