diff options
| author | Marcel Holtmann <marcel@holtmann.org> | 2005-06-08 09:42:37 +0000 | 
|---|---|---|
| committer | Marcel Holtmann <marcel@holtmann.org> | 2005-06-08 09:42:37 +0000 | 
| commit | b07abfc01ed48a0e74e134fb36ef35ce8590ecc7 (patch) | |
| tree | 6dd9c1ee7c47b9165aede27cfa4c65eb19f327c4 | |
| parent | 34e0b4d0b4513834ec1c982ee201331579ec3e45 (diff) | |
Add support for changing local and remote version information
| -rw-r--r-- | tools/csr.h | 21 | ||||
| -rw-r--r-- | tools/pskey.c | 34 | 
2 files changed, 32 insertions, 23 deletions
| diff --git a/tools/csr.h b/tools/csr.h index 42dfb8d0..347e1d54 100644 --- a/tools/csr.h +++ b/tools/csr.h @@ -58,15 +58,18 @@  #define CSR_VARID_MAX_TX_POWER		0x6827		/* int8 */  #define CSR_VARID_DEFAULT_TX_POWER	0x682b		/* int8 */ -#define CSR_PSKEY_ENC_KEY_LMIN		0x00da -#define CSR_PSKEY_ENC_KEY_LMAX		0x00db -#define CSR_PSKEY_HOSTIO_MAP_SCO_PCM	0x01ab -#define CSR_PSKEY_UART_BAUDRATE		0x01be -#define CSR_PSKEY_HOST_INTERFACE	0x01f9 -#define CSR_PSKEY_USB_VENDOR_ID		0x02be -#define CSR_PSKEY_USB_PRODUCT_ID	0x02bf -#define CSR_PSKEY_USB_DFU_PRODUCT_ID	0x02cb -#define CSR_PSKEY_INITIAL_BOOTMODE	0x03cd +#define CSR_PSKEY_LOCAL_SUPPORTED_FEATURES	0x00ef	/* uint16[] = { 0xffff, 0xFE8f, 0xF99B, 0x8000 } */ +#define CSR_PSKEY_ENC_KEY_LMIN			0x00da +#define CSR_PSKEY_ENC_KEY_LMAX			0x00db +#define CSR_PSKEY_HCI_LMP_LOCAL_VERSION		0x010d	/* uint16 */ +#define CSR_PSKEY_LMP_REMOTE_VERSION		0x010e	/* uint8 */ +#define CSR_PSKEY_HOSTIO_MAP_SCO_PCM		0x01ab +#define CSR_PSKEY_UART_BAUDRATE			0x01be +#define CSR_PSKEY_HOST_INTERFACE		0x01f9 +#define CSR_PSKEY_USB_VENDOR_ID			0x02be +#define CSR_PSKEY_USB_PRODUCT_ID		0x02bf +#define CSR_PSKEY_USB_DFU_PRODUCT_ID		0x02cb +#define CSR_PSKEY_INITIAL_BOOTMODE		0x03cd  char *csr_buildidtostr(uint16_t id);  char *csr_chipvertostr(uint16_t ver, uint16_t rev); diff --git a/tools/pskey.c b/tools/pskey.c index f0ce1b4a..2b4bc210 100644 --- a/tools/pskey.c +++ b/tools/pskey.c @@ -42,15 +42,16 @@  #include "csr.h" -#define CSR_TYPE_NULL    0 -#define CSR_TYPE_UINT16  1 +#define CSR_TYPE_NULL	0 +#define CSR_TYPE_UINT8	1 +#define CSR_TYPE_UINT16	2  static int write_pskey(int dd, uint16_t pskey, int type, int argc, char *argv[])  {  	uint16_t value;  	int err; -	if (type != CSR_TYPE_UINT16) { +	if (type != CSR_TYPE_UINT8 && type != CSR_TYPE_UINT16) {  		errno = EFAULT;  		return -1;  	} @@ -60,7 +61,10 @@ static int write_pskey(int dd, uint16_t pskey, int type, int argc, char *argv[])  		return -1;  	} -	value = atoi(argv[0]); +	if (!strncasecmp(argv[0], "0x", 2)) +		value = strtol(argv[0] + 2, NULL, 16); +	else +		value = atoi(argv[0]);  	err = csr_write_pskey_uint16(dd, 0x4711, pskey, value); @@ -72,7 +76,7 @@ static int read_pskey(int dd, uint16_t pskey, int type)  	uint16_t value;  	int err; -	if (type != CSR_TYPE_UINT16) { +	if (type != CSR_TYPE_UINT8 && type != CSR_TYPE_UINT16) {  		errno = EFAULT;  		return -1;  	} @@ -91,15 +95,17 @@ static struct {  	int type;  	char *str;  } storage[] = { -	{ CSR_PSKEY_ENC_KEY_LMIN,       CSR_TYPE_UINT16, "keymin"   }, -	{ CSR_PSKEY_ENC_KEY_LMAX,       CSR_TYPE_UINT16, "keymax"   }, -	{ CSR_PSKEY_HOSTIO_MAP_SCO_PCM, CSR_TYPE_UINT16, "mapsco"   }, -	{ CSR_PSKEY_UART_BAUDRATE,      CSR_TYPE_UINT16, "baudrate" }, -	{ CSR_PSKEY_HOST_INTERFACE,     CSR_TYPE_UINT16, "hostintf" }, -	{ CSR_PSKEY_USB_VENDOR_ID,      CSR_TYPE_UINT16, "usbvid"   }, -	{ CSR_PSKEY_USB_PRODUCT_ID,     CSR_TYPE_UINT16, "usbpid"   }, -	{ CSR_PSKEY_USB_DFU_PRODUCT_ID, CSR_TYPE_UINT16, "dfupid"   }, -	{ CSR_PSKEY_INITIAL_BOOTMODE,   CSR_TYPE_UINT16, "bootmode" }, +	{ CSR_PSKEY_ENC_KEY_LMIN,          CSR_TYPE_UINT16, "keymin"   }, +	{ CSR_PSKEY_ENC_KEY_LMAX,          CSR_TYPE_UINT16, "keymax"   }, +	{ CSR_PSKEY_HCI_LMP_LOCAL_VERSION, CSR_TYPE_UINT16, "version"  }, +	{ CSR_PSKEY_LMP_REMOTE_VERSION,    CSR_TYPE_UINT8,  "remver"   }, +	{ CSR_PSKEY_HOSTIO_MAP_SCO_PCM,    CSR_TYPE_UINT16, "mapsco"   }, +	{ CSR_PSKEY_UART_BAUDRATE,         CSR_TYPE_UINT16, "baudrate" }, +	{ CSR_PSKEY_HOST_INTERFACE,        CSR_TYPE_UINT16, "hostintf" }, +	{ CSR_PSKEY_USB_VENDOR_ID,         CSR_TYPE_UINT16, "usbvid"   }, +	{ CSR_PSKEY_USB_PRODUCT_ID,        CSR_TYPE_UINT16, "usbpid"   }, +	{ CSR_PSKEY_USB_DFU_PRODUCT_ID,    CSR_TYPE_UINT16, "dfupid"   }, +	{ CSR_PSKEY_INITIAL_BOOTMODE,      CSR_TYPE_UINT16, "bootmode" },  	{ 0x0000, CSR_TYPE_NULL, NULL },  }; | 
