diff options
| -rw-r--r-- | tools/csr.c | 802 | ||||
| -rw-r--r-- | tools/csr.h | 449 | 
2 files changed, 1227 insertions, 24 deletions
| diff --git a/tools/csr.c b/tools/csr.c index 43ae25b0..556f13cb 100644 --- a/tools/csr.c +++ b/tools/csr.c @@ -424,38 +424,840 @@ char *csr_pskeytostr(uint16_t pskey)  		return "Maximum SCO links";  	case CSR_PSKEY_MAX_REMOTE_MASTERS:  		return "Maximum remote masters"; +	case CSR_PSKEY_ENABLE_MASTERY_WITH_SLAVERY: +		return "Support master and slave roles simultaneously"; +	case CSR_PSKEY_H_HC_FC_MAX_ACL_PKT_LEN: +		return "Maximum HCI ACL packet length"; +	case CSR_PSKEY_H_HC_FC_MAX_SCO_PKT_LEN: +		return "Maximum HCI SCO packet length"; +	case CSR_PSKEY_H_HC_FC_MAX_ACL_PKTS: +		return "Maximum number of HCI ACL packets"; +	case CSR_PSKEY_H_HC_FC_MAX_SCO_PKTS: +		return "Maximum number of HCI SCO packets"; +	case CSR_PSKEY_LC_FC_BUFFER_LOW_WATER_MARK: +		return "Flow control low water mark"; +	case CSR_PSKEY_LC_MAX_TX_POWER: +		return "Maximum transmit power"; +	case CSR_PSKEY_TX_GAIN_RAMP: +		return "Transmit gain ramp rate"; +	case CSR_PSKEY_LC_PEER_POWER_PERIOD: +		return "Peer transmit power control interval"; +	case CSR_PSKEY_LC_FC_POOLS_LOW_WATER_MARK: +		return "Flow control pool low water mark"; +	case CSR_PSKEY_LC_DEFAULT_TX_POWER: +		return "Default transmit power"; +	case CSR_PSKEY_LC_RSSI_GOLDEN_RANGE: +		return "RSSI at bottom of golden receive range"; +	case CSR_PSKEY_LC_COMBO_DISABLE_PIO_MASK: +		return "Combo: PIO lines and logic to disable transmit"; +	case CSR_PSKEY_LC_COMBO_PRIORITY_PIO_MASK: +		return "Combo: priority activity PIO lines and logic"; +	case CSR_PSKEY_LC_COMBO_DOT11_CHANNEL_PIO_BASE: +		return "Combo: 802.11b channel number base PIO line"; +	case CSR_PSKEY_LC_COMBO_DOT11_BLOCK_CHANNELS: +		return "Combo: channels to block either side of 802.11b"; +	case CSR_PSKEY_LC_MAX_TX_POWER_NO_RSSI: +		return "Maximum transmit power when peer has no RSSI"; +	case CSR_PSKEY_LC_CONNECTION_RX_WINDOW: +		return "Receive window size during connections"; +	case CSR_PSKEY_LC_COMBO_DOT11_TX_PROTECTION_MODE: +		return "Combo: which TX packets shall we protect"; +	case CSR_PSKEY_LC_ENHANCED_POWER_TABLE: +		return "Radio power table"; +	case CSR_PSKEY_LC_WIDEBAND_RSSI_CONFIG: +		return "RSSI configuration for use with wideband RSSI"; +	case CSR_PSKEY_LC_COMBO_DOT11_PRIORITY_LEAD: +		return "Combo: How much notice will we give the Combo Card"; +	case CSR_PSKEY_BT_CLOCK_INIT: +		return "Initial value of Bluetooth clock"; +	case CSR_PSKEY_TX_MR_MOD_DELAY: +		return "TX Mod delay"; +	case CSR_PSKEY_RX_MR_SYNC_TIMING: +		return "RX MR Sync Timing"; +	case CSR_PSKEY_RX_MR_SYNC_CONFIG: +		return "RX MR Sync Configuration"; +	case CSR_PSKEY_LC_LOST_SYNC_SLOTS: +		return "Time in ms for lost sync in low power modes"; +	case CSR_PSKEY_RX_MR_SAMP_CONFIG: +		return "RX MR Sync Configuration"; +	case CSR_PSKEY_AGC_HYST_LEVELS: +		return "AGC hysteresis levels"; +	case CSR_PSKEY_RX_LEVEL_LOW_SIGNAL: +		return "ANA_RX_LVL at low signal strengths"; +	case CSR_PSKEY_AGC_IQ_LVL_VALUES: +		return "ANA_IQ_LVL values for AGC algorithmn"; +	case CSR_PSKEY_MR_FTRIM_OFFSET_12DB: +		return "ANA_RX_FTRIM offset when using 12 dB IF atten "; +	case CSR_PSKEY_MR_FTRIM_OFFSET_6DB: +		return "ANA_RX_FTRIM offset when using 6 dB IF atten "; +	case CSR_PSKEY_NO_CAL_ON_BOOT: +		return "Do not calibrate radio on boot"; +	case CSR_PSKEY_RSSI_HI_TARGET: +		return "RSSI high target"; +	case CSR_PSKEY_PREFERRED_MIN_ATTENUATION: +		return "Preferred minimum attenuator setting"; +	case CSR_PSKEY_LC_COMBO_DOT11_PRIORITY_OVERRIDE: +		return "Combo: Treat all packets as high priority"; +	case CSR_PSKEY_LC_MULTISLOT_HOLDOFF: +		return "Time till single slot packets are used for resync"; +	case CSR_PSKEY_FREE_KEY_PIGEON_HOLE: +		return "Link key store bitfield"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR0: +		return "Bluetooth address + link key 0"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR1: +		return "Bluetooth address + link key 1"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR2: +		return "Bluetooth address + link key 2"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR3: +		return "Bluetooth address + link key 3"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR4: +		return "Bluetooth address + link key 4"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR5: +		return "Bluetooth address + link key 5"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR6: +		return "Bluetooth address + link key 6"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR7: +		return "Bluetooth address + link key 7"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR8: +		return "Bluetooth address + link key 8"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR9: +		return "Bluetooth address + link key 9"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR10: +		return "Bluetooth address + link key 10"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR11: +		return "Bluetooth address + link key 11"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR12: +		return "Bluetooth address + link key 12"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR13: +		return "Bluetooth address + link key 13"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR14: +		return "Bluetooth address + link key 14"; +	case CSR_PSKEY_LINK_KEY_BD_ADDR15: +		return "Bluetooth address + link key 15";  	case CSR_PSKEY_ENC_KEY_LMIN:  		return "Minimum encryption key length";  	case CSR_PSKEY_ENC_KEY_LMAX:  		return "Maximum encryption key length";  	case CSR_PSKEY_LOCAL_SUPPORTED_FEATURES:  		return "Local supported features block"; +	case CSR_PSKEY_LM_USE_UNIT_KEY: +		return "Allow use of unit key for authentication?"; +	case CSR_PSKEY_HCI_NOP_DISABLE: +		return "Disable the HCI Command_Status event on boot"; +	case CSR_PSKEY_LM_MAX_EVENT_FILTERS: +		return "Maximum number of event filters"; +	case CSR_PSKEY_LM_TEST_SEND_ACCEPTED_TWICE: +		return "LM sends two LMP_accepted messages in test mode"; +	case CSR_PSKEY_LM_MAX_PAGE_HOLD_TIME: +		return "Maximum time we hold a device around page"; +	case CSR_PSKEY_AFH_ADAPTATION_RESPONSE_TIME: +		return "LM period for AFH adaption"; +	case CSR_PSKEY_AFH_OPTIONS: +		return "Options to configure AFH"; +	case CSR_PSKEY_AFH_RSSI_RUN_PERIOD: +		return "AFH RSSI reading period"; +	case CSR_PSKEY_AFH_REENABLE_CHANNEL_TIME: +		return "AFH good channel adding time"; +	case CSR_PSKEY_NO_DROP_ON_ACR_MS_FAIL: +		return "Complete link if acr barge-in role switch refused"; +	case CSR_PSKEY_MAX_PRIVATE_KEYS: +		return "Max private link keys stored"; +	case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR0: +		return "Bluetooth address + link key 0"; +	case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR1: +		return "Bluetooth address + link key 1"; +	case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR2: +		return "Bluetooth address + link key 2"; +	case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR3: +		return "Bluetooth address + link key 3"; +	case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR4: +		return "Bluetooth address + link key 4"; +	case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR5: +		return "Bluetooth address + link key 5"; +	case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR6: +		return "Bluetooth address + link key 6"; +	case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR7: +		return "Bluetooth address + link key 7";  	case CSR_PSKEY_LOCAL_SUPPORTED_COMMANDS:  		return "Local supported commands"; +	case CSR_PSKEY_LM_MAX_ABSENCE_INDEX: +		return "Maximum absence index allowed"; +	case CSR_PSKEY_DEVICE_NAME: +		return "Local device's \"user friendly\" name"; +	case CSR_PSKEY_AFH_RSSI_THRESHOLD: +		return "AFH RSSI threshold"; +	case CSR_PSKEY_LM_CASUAL_SCAN_INTERVAL: +		return "Scan interval in slots for casual scanning"; +	case CSR_PSKEY_AFH_MIN_MAP_CHANGE: +		return "The minimum amount to change an AFH map by"; +	case CSR_PSKEY_AFH_RSSI_LP_RUN_PERIOD: +		return "AFH RSSI reading period when in low power mode";  	case CSR_PSKEY_HCI_LMP_LOCAL_VERSION:  		return "The HCI and LMP version reported locally";  	case CSR_PSKEY_LMP_REMOTE_VERSION:  		return "The LMP version reported remotely"; +	case CSR_PSKEY_HOLD_ERROR_MESSAGE_NUMBER: +		return "Maximum number of queued HCI Hardware Error Events"; +	case CSR_PSKEY_DFU_ATTRIBUTES: +		return "DFU attributes"; +	case CSR_PSKEY_DFU_DETACH_TO: +		return "DFU detach timeout"; +	case CSR_PSKEY_DFU_TRANSFER_SIZE: +		return "DFU transfer size"; +	case CSR_PSKEY_DFU_ENABLE: +		return "DFU enable"; +	case CSR_PSKEY_DFU_LIN_REG_ENABLE: +		return "Linear Regulator enabled at boot in DFU mode"; +	case CSR_PSKEY_DFUENC_VMAPP_PK_MODULUS_MSB: +		return "DFU encryption VM application public key MSB"; +	case CSR_PSKEY_DFUENC_VMAPP_PK_MODULUS_LSB: +		return "DFU encryption VM application public key LSB"; +	case CSR_PSKEY_DFUENC_VMAPP_PK_M_DASH: +		return "DFU encryption VM application M dash"; +	case CSR_PSKEY_DFUENC_VMAPP_PK_R2N_MSB: +		return "DFU encryption VM application public key R2N MSB"; +	case CSR_PSKEY_DFUENC_VMAPP_PK_R2N_LSB: +		return "DFU encryption VM application public key R2N LSB"; +	case CSR_PSKEY_BCSP_LM_PS_BLOCK: +		return "BCSP link establishment block"; +	case CSR_PSKEY_HOSTIO_FC_PS_BLOCK: +		return "HCI flow control block"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO0: +		return "Host transport channel 0 settings (BCSP ACK"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO1: +		return "Host transport channel 1 settings (BCSP-LE"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO2: +		return "Host transport channel 2 settings (BCCMD"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO3: +		return "Host transport channel 3 settings (HQ"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO4: +		return "Host transport channel 4 settings (DM"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO5: +		return "Host transport channel 5 settings (HCI CMD/EVT"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO6: +		return "Host transport channel 6 settings (HCI ACL"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO7: +		return "Host transport channel 7 settings (HCI SCO"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO8: +		return "Host transport channel 8 settings (L2CAP"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO9: +		return "Host transport channel 9 settings (RFCOMM"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO10: +		return "Host transport channel 10 settings (SDP"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO11: +		return "Host transport channel 11 settings (TEST"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO12: +		return "Host transport channel 12 settings (DFU"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO13: +		return "Host transport channel 13 settings (VM"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO14: +		return "Host transport channel 14 settings"; +	case CSR_PSKEY_HOSTIO_PROTOCOL_INFO15: +		return "Host transport channel 15 settings"; +	case CSR_PSKEY_HOSTIO_UART_RESET_TIMEOUT: +		return "UART reset counter timeout";  	case CSR_PSKEY_HOSTIO_USE_HCI_EXTN:  		return "Use hci_extn to route non-hci channels"; +	case CSR_PSKEY_HOSTIO_USE_HCI_EXTN_CCFC: +		return "Use command-complete flow control for hci_extn"; +	case CSR_PSKEY_HOSTIO_HCI_EXTN_PAYLOAD_SIZE: +		return "Maximum hci_extn payload size"; +	case CSR_PSKEY_BCSP_LM_CNF_CNT_LIMIT: +		return "BCSP link establishment conf message count";  	case CSR_PSKEY_HOSTIO_MAP_SCO_PCM:  		return "Map SCO over PCM"; +	case CSR_PSKEY_HOSTIO_AWKWARD_PCM_SYNC: +		return "PCM interface synchronisation is difficult"; +	case CSR_PSKEY_HOSTIO_BREAK_POLL_PERIOD: +		return "Break poll period (microseconds"; +	case CSR_PSKEY_HOSTIO_MIN_UART_HCI_SCO_SIZE: +		return "Minimum SCO packet size sent to host over UART HCI"; +	case CSR_PSKEY_HOSTIO_MAP_SCO_CODEC: +		return "Map SCO over the built-in codec"; +	case CSR_PSKEY_PCM_CVSD_TX_HI_FREQ_BOOST: +		return "High frequency boost for PCM when transmitting CVSD"; +	case CSR_PSKEY_PCM_CVSD_RX_HI_FREQ_BOOST: +		return "High frequency boost for PCM when receiving CVSD"; +	case CSR_PSKEY_PCM_CONFIG32: +		return "PCM interface settings bitfields"; +	case CSR_PSKEY_USE_OLD_BCSP_LE: +		return "Use the old version of BCSP link establishment"; +	case CSR_PSKEY_PCM_CVSD_USE_NEW_FILTER: +		return "CVSD uses the new filter if available"; +	case CSR_PSKEY_PCM_FORMAT: +		return "PCM data format"; +	case CSR_PSKEY_CODEC_OUT_GAIN: +		return "Audio output gain when using built-in codec"; +	case CSR_PSKEY_CODEC_IN_GAIN: +		return "Audio input gain when using built-in codec"; +	case CSR_PSKEY_CODEC_PIO: +		return "PIO to enable when built-in codec is enabled"; +	case CSR_PSKEY_PCM_LOW_JITTER_CONFIG: +		return "PCM interface settings for low jitter master mode"; +	case CSR_PSKEY_HOSTIO_SCO_PCM_THRESHOLDS: +		return "Thresholds for SCO PCM buffers"; +	case CSR_PSKEY_HOSTIO_SCO_HCI_THRESHOLDS: +		return "Thresholds for SCO HCI buffers"; +	case CSR_PSKEY_HOSTIO_MAP_SCO_PCM_SLOT: +		return "Route SCO data to specified slot in pcm frame";  	case CSR_PSKEY_UART_BAUDRATE:  		return "UART Baud rate"; +	case CSR_PSKEY_UART_CONFIG_BCSP: +		return "UART configuration when using BCSP"; +	case CSR_PSKEY_UART_CONFIG_H4: +		return "UART configuration when using H4"; +	case CSR_PSKEY_UART_CONFIG_H5: +		return "UART configuration when using H5"; +	case CSR_PSKEY_UART_CONFIG_USR: +		return "UART configuration when under VM control"; +	case CSR_PSKEY_UART_TX_CRCS: +		return "Use CRCs for BCSP or H5"; +	case CSR_PSKEY_UART_ACK_TIMEOUT: +		return "Acknowledgement timeout for BCSP and H5"; +	case CSR_PSKEY_UART_TX_MAX_ATTEMPTS: +		return "Max times to send reliable BCSP or H5 message"; +	case CSR_PSKEY_UART_TX_WINDOW_SIZE: +		return "Transmit window size for BCSP and H5"; +	case CSR_PSKEY_UART_HOST_WAKE: +		return "UART host wakeup"; +	case CSR_PSKEY_HOSTIO_THROTTLE_TIMEOUT: +		return "Host interface performance control."; +	case CSR_PSKEY_PCM_ALWAYS_ENABLE: +		return "PCM port is always enable when chip is running"; +	case CSR_PSKEY_UART_HOST_WAKE_SIGNAL: +		return "Signal to use for uart host wakeup protocol"; +	case CSR_PSKEY_UART_CONFIG_H4DS: +		return "UART configuration when using H4DS"; +	case CSR_PSKEY_H4DS_WAKE_DURATION: +		return "How long to spend waking the host when using H4DS"; +	case CSR_PSKEY_H4DS_MAXWU: +		return "Maximum number of H4DS Wake-Up messages to send"; +	case CSR_PSKEY_H4DS_LE_TIMER_PERIOD: +		return "H4DS Link Establishment Tsync and Tconf period"; +	case CSR_PSKEY_H4DS_TWU_TIMER_PERIOD: +		return "H4DS Twu timer period"; +	case CSR_PSKEY_H4DS_UART_IDLE_TIMER_PERIOD: +		return "H4DS Tuart_idle timer period";  	case CSR_PSKEY_ANA_FTRIM:  		return "Crystal frequency trim"; +	case CSR_PSKEY_WD_TIMEOUT: +		return "Watchdog timeout (microseconds"; +	case CSR_PSKEY_WD_PERIOD: +		return "Watchdog period (microseconds";  	case CSR_PSKEY_HOST_INTERFACE:  		return "Host interface"; +	case CSR_PSKEY_HQ_HOST_TIMEOUT: +		return "HQ host command timeout"; +	case CSR_PSKEY_HQ_ACTIVE: +		return "Enable host query task?"; +	case CSR_PSKEY_BCCMD_SECURITY_ACTIVE: +		return "Enable configuration security";  	case CSR_PSKEY_ANA_FREQ:  		return "Crystal frequency"; +	case CSR_PSKEY_PIO_PROTECT_MASK: +		return "Access to PIO pins"; +	case CSR_PSKEY_PMALLOC_SIZES: +		return "pmalloc sizes array"; +	case CSR_PSKEY_UART_BAUD_RATE: +		return "UART Baud rate (pre 18"; +	case CSR_PSKEY_UART_CONFIG: +		return "UART configuration bitfield"; +	case CSR_PSKEY_STUB: +		return "Stub"; +	case CSR_PSKEY_TXRX_PIO_CONTROL: +		return "TX and RX PIO control"; +	case CSR_PSKEY_ANA_RX_LEVEL: +		return "ANA_RX_LVL register initial value"; +	case CSR_PSKEY_ANA_RX_FTRIM: +		return "ANA_RX_FTRIM register initial value"; +	case CSR_PSKEY_PSBC_DATA_VERSION: +		return "Persistent store version"; +	case CSR_PSKEY_PCM0_ATTENUATION: +		return "Volume control on PCM channel 0"; +	case CSR_PSKEY_LO_LVL_MAX: +		return "Maximum value of LO level control register"; +	case CSR_PSKEY_LO_ADC_AMPL_MIN: +		return "Minimum value of the LO amplitude measured on the ADC"; +	case CSR_PSKEY_LO_ADC_AMPL_MAX: +		return "Maximum value of the LO amplitude measured on the ADC"; +	case CSR_PSKEY_IQ_TRIM_CHANNEL: +		return "IQ calibration channel"; +	case CSR_PSKEY_IQ_TRIM_GAIN: +		return "IQ calibration gain"; +	case CSR_PSKEY_TX_OFFSET_HALF_MHZ: +		return "Transmit offset"; +	case CSR_PSKEY_GBL_MISC_ENABLES: +		return "Global miscellaneous hardware enables"; +	case CSR_PSKEY_UART_SLEEP_TIMEOUT: +		return "Time in ms to deep sleep if nothing received"; +	case CSR_PSKEY_DEEP_SLEEP_STATE: +		return "Deep sleep state usage"; +	case CSR_PSKEY_IQ_ENABLE_PHASE_TRIM: +		return "IQ phase enable"; +	case CSR_PSKEY_HCI_HANDLE_FREEZE_PERIOD: +		return "Time for which HCI handle is frozen after link removal"; +	case CSR_PSKEY_MAX_FROZEN_HCI_HANDLES: +		return "Maximum number of frozen HCI handles"; +	case CSR_PSKEY_PAGETABLE_DESTRUCTION_DELAY: +		return "Delay from freezing buf handle to deleting page table"; +	case CSR_PSKEY_IQ_TRIM_PIO_SETTINGS: +		return "IQ PIO settings"; +	case CSR_PSKEY_USE_EXTERNAL_CLOCK: +		return "Device uses an external clock"; +	case CSR_PSKEY_DEEP_SLEEP_WAKE_CTS: +		return "Exit deep sleep on CTS line activity"; +	case CSR_PSKEY_FC_HC2H_FLUSH_DELAY: +		return "Delay from disconnect to flushing HC->H FC tokens"; +	case CSR_PSKEY_RX_HIGHSIDE: +		return "Disable the HIGHSIDE bit in ANA_CONFIG"; +	case CSR_PSKEY_TX_PRE_LVL: +		return "TX pre-amplifier level"; +	case CSR_PSKEY_RX_SINGLE_ENDED: +		return "RX single ended"; +	case CSR_PSKEY_TX_FILTER_CONFIG: +		return "TX filter configuration"; +	case CSR_PSKEY_CLOCK_REQUEST_ENABLE: +		return "External clock request enable"; +	case CSR_PSKEY_RX_MIN_ATTEN: +		return "Minimum attenuation allowed for receiver"; +	case CSR_PSKEY_XTAL_TARGET_AMPLITUDE: +		return "Crystal target amplitude"; +	case CSR_PSKEY_PCM_MIN_CPU_CLOCK: +		return "Minimum CPU clock speed with PCM port running"; +	case CSR_PSKEY_HOST_INTERFACE_PIO_USB: +		return "USB host interface selection PIO line"; +	case CSR_PSKEY_CPU_IDLE_MODE: +		return "CPU idle mode when radio is active"; +	case CSR_PSKEY_DEEP_SLEEP_CLEAR_RTS: +		return "Deep sleep clears the UART RTS line"; +	case CSR_PSKEY_RF_RESONANCE_TRIM: +		return "Frequency trim for IQ and LNA resonant circuits"; +	case CSR_PSKEY_DEEP_SLEEP_PIO_WAKE: +		return "PIO line to wake the chip from deep sleep"; +	case CSR_PSKEY_DRAIN_BORE_TIMERS: +		return "Energy consumption measurement settings"; +	case CSR_PSKEY_DRAIN_TX_POWER_BASE: +		return "Energy consumption measurement settings"; +	case CSR_PSKEY_MODULE_ID: +		return "Module serial number"; +	case CSR_PSKEY_MODULE_DESIGN: +		return "Module design ID"; +	case CSR_PSKEY_MODULE_SECURITY_CODE: +		return "Module security code"; +	case CSR_PSKEY_VM_DISABLE: +		return "VM disable"; +	case CSR_PSKEY_MOD_MANUF0: +		return "Module manufactuer data 0"; +	case CSR_PSKEY_MOD_MANUF1: +		return "Module manufactuer data 1"; +	case CSR_PSKEY_MOD_MANUF2: +		return "Module manufactuer data 2"; +	case CSR_PSKEY_MOD_MANUF3: +		return "Module manufactuer data 3"; +	case CSR_PSKEY_MOD_MANUF4: +		return "Module manufactuer data 4"; +	case CSR_PSKEY_MOD_MANUF5: +		return "Module manufactuer data 5"; +	case CSR_PSKEY_MOD_MANUF6: +		return "Module manufactuer data 6"; +	case CSR_PSKEY_MOD_MANUF7: +		return "Module manufactuer data 7"; +	case CSR_PSKEY_MOD_MANUF8: +		return "Module manufactuer data 8"; +	case CSR_PSKEY_MOD_MANUF9: +		return "Module manufactuer data 9"; +	case CSR_PSKEY_DUT_VM_DISABLE: +		return "VM disable when entering radiotest modes"; +	case CSR_PSKEY_USR0: +		return "User configuration data 0"; +	case CSR_PSKEY_USR1: +		return "User configuration data 1"; +	case CSR_PSKEY_USR2: +		return "User configuration data 2"; +	case CSR_PSKEY_USR3: +		return "User configuration data 3"; +	case CSR_PSKEY_USR4: +		return "User configuration data 4"; +	case CSR_PSKEY_USR5: +		return "User configuration data 5"; +	case CSR_PSKEY_USR6: +		return "User configuration data 6"; +	case CSR_PSKEY_USR7: +		return "User configuration data 7"; +	case CSR_PSKEY_USR8: +		return "User configuration data 8"; +	case CSR_PSKEY_USR9: +		return "User configuration data 9"; +	case CSR_PSKEY_USR10: +		return "User configuration data 10"; +	case CSR_PSKEY_USR11: +		return "User configuration data 11"; +	case CSR_PSKEY_USR12: +		return "User configuration data 12"; +	case CSR_PSKEY_USR13: +		return "User configuration data 13"; +	case CSR_PSKEY_USR14: +		return "User configuration data 14"; +	case CSR_PSKEY_USR15: +		return "User configuration data 15"; +	case CSR_PSKEY_USR16: +		return "User configuration data 16"; +	case CSR_PSKEY_USR17: +		return "User configuration data 17"; +	case CSR_PSKEY_USR18: +		return "User configuration data 18"; +	case CSR_PSKEY_USR19: +		return "User configuration data 19"; +	case CSR_PSKEY_USR20: +		return "User configuration data 20"; +	case CSR_PSKEY_USR21: +		return "User configuration data 21"; +	case CSR_PSKEY_USR22: +		return "User configuration data 22"; +	case CSR_PSKEY_USR23: +		return "User configuration data 23"; +	case CSR_PSKEY_USR24: +		return "User configuration data 24"; +	case CSR_PSKEY_USR25: +		return "User configuration data 25"; +	case CSR_PSKEY_USR26: +		return "User configuration data 26"; +	case CSR_PSKEY_USR27: +		return "User configuration data 27"; +	case CSR_PSKEY_USR28: +		return "User configuration data 28"; +	case CSR_PSKEY_USR29: +		return "User configuration data 29"; +	case CSR_PSKEY_USR30: +		return "User configuration data 30"; +	case CSR_PSKEY_USR31: +		return "User configuration data 31"; +	case CSR_PSKEY_USR32: +		return "User configuration data 32"; +	case CSR_PSKEY_USR33: +		return "User configuration data 33"; +	case CSR_PSKEY_USR34: +		return "User configuration data 34"; +	case CSR_PSKEY_USR35: +		return "User configuration data 35"; +	case CSR_PSKEY_USR36: +		return "User configuration data 36"; +	case CSR_PSKEY_USR37: +		return "User configuration data 37"; +	case CSR_PSKEY_USR38: +		return "User configuration data 38"; +	case CSR_PSKEY_USR39: +		return "User configuration data 39"; +	case CSR_PSKEY_USR40: +		return "User configuration data 40"; +	case CSR_PSKEY_USR41: +		return "User configuration data 41"; +	case CSR_PSKEY_USR42: +		return "User configuration data 42"; +	case CSR_PSKEY_USR43: +		return "User configuration data 43"; +	case CSR_PSKEY_USR44: +		return "User configuration data 44"; +	case CSR_PSKEY_USR45: +		return "User configuration data 45"; +	case CSR_PSKEY_USR46: +		return "User configuration data 46"; +	case CSR_PSKEY_USR47: +		return "User configuration data 47"; +	case CSR_PSKEY_USR48: +		return "User configuration data 48"; +	case CSR_PSKEY_USR49: +		return "User configuration data 49"; +	case CSR_PSKEY_USB_VERSION: +		return "USB specification version number"; +	case CSR_PSKEY_USB_DEVICE_CLASS_CODES: +		return "USB device class codes";  	case CSR_PSKEY_USB_VENDOR_ID:  		return "USB vendor identifier";  	case CSR_PSKEY_USB_PRODUCT_ID:  		return "USB product identifier"; +	case CSR_PSKEY_USB_MANUF_STRING: +		return "USB manufacturer string"; +	case CSR_PSKEY_USB_PRODUCT_STRING: +		return "USB product string"; +	case CSR_PSKEY_USB_SERIAL_NUMBER_STRING: +		return "USB serial number string"; +	case CSR_PSKEY_USB_CONFIG_STRING: +		return "USB configuration string"; +	case CSR_PSKEY_USB_ATTRIBUTES: +		return "USB attributes bitmap"; +	case CSR_PSKEY_USB_MAX_POWER: +		return "USB device maximum power consumption"; +	case CSR_PSKEY_USB_BT_IF_CLASS_CODES: +		return "USB Bluetooth interface class codes"; +	case CSR_PSKEY_USB_LANGID: +		return "USB language strings supported"; +	case CSR_PSKEY_USB_DFU_CLASS_CODES: +		return "USB DFU class codes block";  	case CSR_PSKEY_USB_DFU_PRODUCT_ID:  		return "USB DFU product ID"; +	case CSR_PSKEY_USB_PIO_DETACH: +		return "USB detach/attach PIO line"; +	case CSR_PSKEY_USB_PIO_WAKEUP: +		return "USB wakeup PIO line"; +	case CSR_PSKEY_USB_PIO_PULLUP: +		return "USB D+ pullup PIO line"; +	case CSR_PSKEY_USB_PIO_VBUS: +		return "USB VBus detection PIO Line"; +	case CSR_PSKEY_USB_PIO_WAKE_TIMEOUT: +		return "Timeout for assertion of USB PIO wake signal"; +	case CSR_PSKEY_USB_PIO_RESUME: +		return "PIO signal used in place of bus resume"; +	case CSR_PSKEY_USB_BT_SCO_IF_CLASS_CODES: +		return "USB Bluetooth SCO interface class codes"; +	case CSR_PSKEY_USB_SUSPEND_PIO_LEVEL: +		return "USB PIO levels to set when suspended"; +	case CSR_PSKEY_USB_SUSPEND_PIO_DIR: +		return "USB PIO I/O directions to set when suspended"; +	case CSR_PSKEY_USB_SUSPEND_PIO_MASK: +		return "USB PIO lines to be set forcibly in suspend"; +	case CSR_PSKEY_USB_ENDPOINT_0_MAX_PACKET_SIZE: +		return "The maxmimum packet size for USB endpoint 0"; +	case CSR_PSKEY_USB_CONFIG: +		return "USB config params for new chips (>bc2"; +	case CSR_PSKEY_RADIOTEST_ATTEN_INIT: +		return "Radio test initial attenuator"; +	case CSR_PSKEY_RADIOTEST_FIRST_TRIM_TIME: +		return "IQ first calibration period in test"; +	case CSR_PSKEY_RADIOTEST_SUBSEQUENT_TRIM_TIME: +		return "IQ subsequent calibration period in test"; +	case CSR_PSKEY_RADIOTEST_LO_LVL_TRIM_ENABLE: +		return "LO_LVL calibration enable"; +	case CSR_PSKEY_RADIOTEST_DISABLE_MODULATION: +		return "Disable modulation during radiotest transmissions"; +	case CSR_PSKEY_RFCOMM_FCON_THRESHOLD: +		return "RFCOMM aggregate flow control on threshold"; +	case CSR_PSKEY_RFCOMM_FCOFF_THRESHOLD: +		return "RFCOMM aggregate flow control off threshold"; +	case CSR_PSKEY_IPV6_STATIC_ADDR: +		return "Static IPv6 address"; +	case CSR_PSKEY_IPV4_STATIC_ADDR: +		return "Static IPv4 address"; +	case CSR_PSKEY_IPV6_STATIC_PREFIX_LEN: +		return "Static IPv6 prefix length"; +	case CSR_PSKEY_IPV6_STATIC_ROUTER_ADDR: +		return "Static IPv6 router address"; +	case CSR_PSKEY_IPV4_STATIC_SUBNET_MASK: +		return "Static IPv4 subnet mask"; +	case CSR_PSKEY_IPV4_STATIC_ROUTER_ADDR: +		return "Static IPv4 router address"; +	case CSR_PSKEY_MDNS_NAME: +		return "Multicast DNS name"; +	case CSR_PSKEY_FIXED_PIN: +		return "Fixed PIN"; +	case CSR_PSKEY_MDNS_PORT: +		return "Multicast DNS port"; +	case CSR_PSKEY_MDNS_TTL: +		return "Multicast DNS TTL"; +	case CSR_PSKEY_MDNS_IPV4_ADDR: +		return "Multicast DNS IPv4 address"; +	case CSR_PSKEY_ARP_CACHE_TIMEOUT: +		return "ARP cache timeout"; +	case CSR_PSKEY_HFP_POWER_TABLE: +		return "HFP power table"; +	case CSR_PSKEY_DRAIN_BORE_TIMER_COUNTERS: +		return "Energy consumption estimation timer counters"; +	case CSR_PSKEY_DRAIN_BORE_COUNTERS: +		return "Energy consumption estimation counters"; +	case CSR_PSKEY_LOOP_FILTER_TRIM: +		return "Trim value to optimise loop filter"; +	case CSR_PSKEY_DRAIN_BORE_CURRENT_PEAK: +		return "Energy consumption estimation current peak"; +	case CSR_PSKEY_FORCE_16MHZ_REF_PIO: +		return "PIO line to force 16 MHz reference to be assumed"; +	case CSR_PSKEY_CDMA_LO_REF_LIMITS: +		return "Local oscillator frequency reference limits for CDMA"; +	case CSR_PSKEY_CDMA_LO_ERROR_LIMITS: +		return "Local oscillator frequency error limits for CDMA"; +	case CSR_PSKEY_CLOCK_STARTUP_DELAY: +		return "Clock startup delay in milliseconds"; +	case CSR_PSKEY_DEEP_SLEEP_CORRECTION_FACTOR: +		return "Deep sleep clock correction factor"; +	case CSR_PSKEY_TEMPERATURE_CALIBRATION: +		return "Temperature in deg C for a given internal setting"; +	case CSR_PSKEY_TEMPERATURE_VS_DELTA_INTERNAL_PA: +		return "Temperature for given internal PA adjustment"; +	case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_PRE_LVL: +		return "Temperature for a given TX_PRE_LVL adjustment"; +	case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB: +		return "Temperature for a given TX_BB adjustment"; +	case CSR_PSKEY_TEMPERATURE_VS_DELTA_ANA_FTRIM: +		return "Temperature for given crystal trim adjustment"; +	case CSR_PSKEY_TEST_DELTA_OFFSET: +		return "Frequency offset applied to synthesiser in test mode"; +	case CSR_PSKEY_RX_DYNAMIC_LVL_OFFSET: +		return "Receiver dynamic level offset depending on channel"; +	case CSR_PSKEY_TEST_FORCE_OFFSET: +		return "Force use of exact value in PSKEY_TEST_DELTA_OFFSET"; +	case CSR_PSKEY_RF_TRAP_BAD_DIVISION_RATIOS: +		return "Trap bad division ratios in radio frequency tables"; +	case CSR_PSKEY_RADIOTEST_CDMA_LO_REF_LIMITS: +		return "LO frequency reference limits for CDMA in radiotest";  	case CSR_PSKEY_INITIAL_BOOTMODE:  		return "Initial device bootmode"; +	case CSR_PSKEY_ONCHIP_HCI_CLIENT: +		return "HCI traffic routed internally"; +	case CSR_PSKEY_RX_ATTEN_BACKOFF: +		return "Receiver attenuation back-off"; +	case CSR_PSKEY_RX_ATTEN_UPDATE_RATE: +		return "Receiver attenuation update rate"; +	case CSR_PSKEY_SYNTH_TXRX_THRESHOLDS: +		return "Local oscillator tuning voltage limits for tx and rx"; +	case CSR_PSKEY_MIN_WAIT_STATES: +		return "Flash wait state indicator"; +	case CSR_PSKEY_RSSI_CORRECTION: +		return "RSSI correction factor."; +	case CSR_PSKEY_SCHED_THROTTLE_TIMEOUT: +		return "Scheduler performance control."; +	case CSR_PSKEY_DEEP_SLEEP_USE_EXTERNAL_CLOCK: +		return "Deep sleep uses external 32 kHz clock source"; +	case CSR_PSKEY_TRIM_RADIO_FILTERS: +		return "Trim rx and tx radio filters if true."; +	case CSR_PSKEY_TRANSMIT_OFFSET: +		return "Transmit offset in units of 62.5 kHz"; +	case CSR_PSKEY_USB_VM_CONTROL: +		return "VM application will supply USB descriptors"; +	case CSR_PSKEY_MR_ANA_RX_FTRIM: +		return "Medium rate value for the ANA_RX_FTRIM register"; +	case CSR_PSKEY_I2C_CONFIG: +		return "I2C configuration"; +	case CSR_PSKEY_MR_TX_FILTER_CONFIG: +		return "TX filter configuration used for enhanced data rate"; +	case CSR_PSKEY_MR_TX_CONFIG2: +		return "TX filter configuration used for enhanced data rate"; +	case CSR_PSKEY_USB_DONT_RESET_BOOTMODE_ON_HOST_RESET: +		return "Don't reset bootmode if USB host resets"; +	case CSR_PSKEY_LC_USE_THROTTLING: +		return "Adjust packet selection on packet error rate"; +	case CSR_PSKEY_CHARGER_TRIM: +		return "Trim value for the current charger"; +	case CSR_PSKEY_CLOCK_REQUEST_FEATURES: +		return "Clock request is tristated if enabled"; +	case CSR_PSKEY_TRANSMIT_OFFSET_CLASS1: +		return "Transmit offset / 62.5 kHz for class 1 radios"; +	case CSR_PSKEY_TX_AVOID_PA_CLASS1_PIO: +		return "PIO line asserted in class1 operation to avoid PA"; +	case CSR_PSKEY_MR_PIO_CONFIG: +		return "PIO line asserted in class1 operation to avoid PA"; +	case CSR_PSKEY_UART_CONFIG2: +		return "The UART Sampling point"; +	case CSR_PSKEY_CLASS1_IQ_LVL: +		return "IQ demand level for class 1 power level"; +	case CSR_PSKEY_CLASS1_TX_CONFIG2: +		return "TX filter configuration used for class 1 tx power"; +	case CSR_PSKEY_TEMPERATURE_VS_DELTA_INTERNAL_PA_CLASS1: +		return "Temperature for given internal PA adjustment"; +	case CSR_PSKEY_TEMPERATURE_VS_DELTA_EXTERNAL_PA_CLASS1: +		return "Temperature for given internal PA adjustment"; +	case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_PRE_LVL_MR: +		return "Temperature adjustment for TX_PRE_LVL in EDR"; +	case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB_MR_HEADER: +		return "Temperature for a given TX_BB in EDR header"; +	case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB_MR_PAYLOAD: +		return "Temperature for a given TX_BB in EDR payload"; +	case CSR_PSKEY_RX_MR_EQ_TAPS: +		return "Adjust receiver configuration for EDR"; +	case CSR_PSKEY_TX_PRE_LVL_CLASS1: +		return "TX pre-amplifier level in class 1 operation"; +	case CSR_PSKEY_ANALOGUE_ATTENUATOR: +		return "TX analogue attenuator setting"; +	case CSR_PSKEY_MR_RX_FILTER_TRIM: +		return "Trim for receiver used in EDR."; +	case CSR_PSKEY_MR_RX_FILTER_RESPONSE: +		return "Filter response for receiver used in EDR."; +	case CSR_PSKEY_PIO_WAKEUP_STATE: +		return "PIO deep sleep wake up state "; +	case CSR_PSKEY_MR_TX_IF_ATTEN_OFF_TEMP: +		return "TX IF atten off temperature when using EDR."; +	case CSR_PSKEY_LO_DIV_LATCH_BYPASS: +		return "Bypass latch for LO dividers"; +	case CSR_PSKEY_LO_VCO_STANDBY: +		return "Use standby mode for the LO VCO"; +	case CSR_PSKEY_SLOW_CLOCK_FILTER_SHIFT: +		return "Slow clock sampling filter constant"; +	case CSR_PSKEY_SLOW_CLOCK_FILTER_DIVIDER: +		return "Slow clock filter fractional threshold"; +	case CSR_PSKEY_USB_ATTRIBUTES_POWER: +		return "USB self powered"; +	case CSR_PSKEY_USB_ATTRIBUTES_WAKEUP: +		return "USB responds to wake-up"; +	case CSR_PSKEY_DFU_ATTRIBUTES_MANIFESTATION_TOLERANT: +		return "DFU manifestation tolerant"; +	case CSR_PSKEY_DFU_ATTRIBUTES_CAN_UPLOAD: +		return "DFU can upload"; +	case CSR_PSKEY_DFU_ATTRIBUTES_CAN_DOWNLOAD: +		return "DFU can download"; +	case CSR_PSKEY_UART_CONFIG_STOP_BITS: +		return "UART: stop bits"; +	case CSR_PSKEY_UART_CONFIG_PARITY_BIT: +		return "UART: parity bit"; +	case CSR_PSKEY_UART_CONFIG_FLOW_CTRL_EN: +		return "UART: hardware flow control"; +	case CSR_PSKEY_UART_CONFIG_RTS_AUTO_EN: +		return "UART: RTS auto-enabled"; +	case CSR_PSKEY_UART_CONFIG_RTS: +		return "UART: RTS asserted"; +	case CSR_PSKEY_UART_CONFIG_TX_ZERO_EN: +		return "UART: TX zero enable"; +	case CSR_PSKEY_UART_CONFIG_NON_BCSP_EN: +		return "UART: enable BCSP-specific hardware"; +	case CSR_PSKEY_UART_CONFIG_RX_RATE_DELAY: +		return "UART: RX rate delay"; +	case CSR_PSKEY_UART_SEQ_TIMEOUT: +		return "UART: BCSP ack timeout"; +	case CSR_PSKEY_UART_SEQ_RETRIES: +		return "UART: retry limit in sequencing layer"; +	case CSR_PSKEY_UART_SEQ_WINSIZE: +		return "UART: BCSP transmit window size"; +	case CSR_PSKEY_UART_USE_CRC_ON_TX: +		return "UART: use BCSP CRCs"; +	case CSR_PSKEY_UART_HOST_INITIAL_STATE: +		return "UART: initial host state"; +	case CSR_PSKEY_UART_HOST_ATTENTION_SPAN: +		return "UART: host attention span"; +	case CSR_PSKEY_UART_HOST_WAKEUP_TIME: +		return "UART: host wakeup time"; +	case CSR_PSKEY_UART_HOST_WAKEUP_WAIT: +		return "UART: host wakeup wait"; +	case CSR_PSKEY_BCSP_LM_MODE: +		return "BCSP link establishment mode"; +	case CSR_PSKEY_BCSP_LM_SYNC_RETRIES: +		return "BCSP link establishment sync retries"; +	case CSR_PSKEY_BCSP_LM_TSHY: +		return "BCSP link establishment Tshy"; +	case CSR_PSKEY_UART_DFU_CONFIG_STOP_BITS: +		return "DFU mode UART: stop bits"; +	case CSR_PSKEY_UART_DFU_CONFIG_PARITY_BIT: +		return "DFU mode UART: parity bit"; +	case CSR_PSKEY_UART_DFU_CONFIG_FLOW_CTRL_EN: +		return "DFU mode UART: hardware flow control"; +	case CSR_PSKEY_UART_DFU_CONFIG_RTS_AUTO_EN: +		return "DFU mode UART: RTS auto-enabled"; +	case CSR_PSKEY_UART_DFU_CONFIG_RTS: +		return "DFU mode UART: RTS asserted"; +	case CSR_PSKEY_UART_DFU_CONFIG_TX_ZERO_EN: +		return "DFU mode UART: TX zero enable"; +	case CSR_PSKEY_UART_DFU_CONFIG_NON_BCSP_EN: +		return "DFU mode UART: enable BCSP-specific hardware"; +	case CSR_PSKEY_UART_DFU_CONFIG_RX_RATE_DELAY: +		return "DFU mode UART: RX rate delay"; +	case CSR_PSKEY_AMUX_AIO0: +		return "Multiplexer for AIO 0"; +	case CSR_PSKEY_AMUX_AIO1: +		return "Multiplexer for AIO 1"; +	case CSR_PSKEY_AMUX_AIO2: +		return "Multiplexer for AIO 2"; +	case CSR_PSKEY_AMUX_AIO3: +		return "Multiplexer for AIO 3"; +	case CSR_PSKEY_LOCAL_NAME_SIMPLIFIED: +		return "Local Name (simplified"; +	case CSR_PSKEY_EXTENDED_STUB: +		return "Extended stub";  	default:  		return "Unknown";  	} diff --git a/tools/csr.h b/tools/csr.h index 0f9859fa..319c863e 100644 --- a/tools/csr.h +++ b/tools/csr.h @@ -69,30 +69,431 @@  #define CSR_VARID_DEFAULT_TX_POWER		0x682b	/* int8 */  #define CSR_VARID_PS				0x7002	/* complex */ -#define CSR_PSKEY_BDADDR			0x0001	/* uint16[] = { 0x00A5A5, 0x5b, 0x0002 } */ -#define CSR_PSKEY_COUNTRYCODE			0x0002	/* uint16 */ -#define CSR_PSKEY_CLASSOFDEVICE			0x0003	/* uint32 */ -#define CSR_PSKEY_DEVICE_DRIFT			0x0004	/* uint16 */ -#define CSR_PSKEY_DEVICE_JITTER			0x0005	/* uint16 */ -#define CSR_PSKEY_MAX_ACLS			0x000d	/* uint16 */ -#define CSR_PSKEY_MAX_SCOS			0x000e	/* uint16 */ -#define CSR_PSKEY_MAX_REMOTE_MASTERS		0x000f	/* uint16 */ -#define CSR_PSKEY_ENC_KEY_LMIN			0x00da	/* uint16 */ -#define CSR_PSKEY_ENC_KEY_LMAX			0x00db	/* uint16 */ -#define CSR_PSKEY_LOCAL_SUPPORTED_FEATURES	0x00ef	/* uint16[] = { 0xffff, 0xfe8f, 0xf99b, 0x8000 } */ -#define CSR_PSKEY_LOCAL_SUPPORTED_COMMANDS	0x0106	/* uint16[] = { 0xffff, 0x03ff, 0xfffe, 0xffff, 0xffff, 0xffff, 0x0ff3, 0xfff8, 0x003f } */ -#define CSR_PSKEY_HCI_LMP_LOCAL_VERSION		0x010d	/* uint16 */ -#define CSR_PSKEY_LMP_REMOTE_VERSION		0x010e	/* uint8 */ -#define CSR_PSKEY_HOSTIO_USE_HCI_EXTN		0x01a5	/* bool (uint16) */ -#define CSR_PSKEY_HOSTIO_MAP_SCO_PCM		0x01ab	/* bool (uint16) */ -#define CSR_PSKEY_UART_BAUDRATE			0x01be	/* uint16 */ -#define CSR_PSKEY_ANA_FTRIM			0x01f6	/* uint16 */ -#define CSR_PSKEY_HOST_INTERFACE		0x01f9	/* uint16 */ -#define CSR_PSKEY_ANA_FREQ			0x01fe	/* uint16 */ -#define CSR_PSKEY_USB_VENDOR_ID			0x02be	/* uint16 */ -#define CSR_PSKEY_USB_PRODUCT_ID		0x02bf	/* uint16 */ -#define CSR_PSKEY_USB_DFU_PRODUCT_ID		0x02cb	/* uint16 */ -#define CSR_PSKEY_INITIAL_BOOTMODE		0x03cd	/* int16 */ +#define CSR_PSKEY_BDADDR					0x0001	/* bdaddr / uint16[] = { 0x00A5A5, 0x5b, 0x0002 } */ +#define CSR_PSKEY_COUNTRYCODE					0x0002	/* uint16 */ +#define CSR_PSKEY_CLASSOFDEVICE					0x0003	/* bdcod */ +#define CSR_PSKEY_DEVICE_DRIFT					0x0004	/* uint16 */ +#define CSR_PSKEY_DEVICE_JITTER					0x0005	/* uint16 */ +#define CSR_PSKEY_MAX_ACLS					0x000d	/* uint16 */ +#define CSR_PSKEY_MAX_SCOS					0x000e	/* uint16 */ +#define CSR_PSKEY_MAX_REMOTE_MASTERS				0x000f	/* uint16 */ +#define CSR_PSKEY_ENABLE_MASTERY_WITH_SLAVERY			0x0010	/* bool */ +#define CSR_PSKEY_H_HC_FC_MAX_ACL_PKT_LEN			0x0011	/* uint16 */ +#define CSR_PSKEY_H_HC_FC_MAX_SCO_PKT_LEN			0x0012	/* uint8 */ +#define CSR_PSKEY_H_HC_FC_MAX_ACL_PKTS				0x0013	/* uint16 */ +#define CSR_PSKEY_H_HC_FC_MAX_SCO_PKTS				0x0014	/* uint16 */ +#define CSR_PSKEY_LC_FC_BUFFER_LOW_WATER_MARK			0x0015	/* lc_fc_lwm */ +#define CSR_PSKEY_LC_MAX_TX_POWER				0x0017	/* int16 */ +#define CSR_PSKEY_TX_GAIN_RAMP					0x001d	/* uint16 */ +#define CSR_PSKEY_LC_PEER_POWER_PERIOD				0x001f	/* TIME */ +#define CSR_PSKEY_LC_FC_POOLS_LOW_WATER_MARK			0x0020	/* lc_fc_lwm */ +#define CSR_PSKEY_LC_DEFAULT_TX_POWER				0x0021	/* int16 */ +#define CSR_PSKEY_LC_RSSI_GOLDEN_RANGE				0x0022	/* uint8 */ +#define CSR_PSKEY_LC_COMBO_DISABLE_PIO_MASK			0x0028	/* uint16[] */ +#define CSR_PSKEY_LC_COMBO_PRIORITY_PIO_MASK			0x0029	/* uint16[] */ +#define CSR_PSKEY_LC_COMBO_DOT11_CHANNEL_PIO_BASE		0x002a	/* uint16 */ +#define CSR_PSKEY_LC_COMBO_DOT11_BLOCK_CHANNELS			0x002b	/* uint16 */ +#define CSR_PSKEY_LC_MAX_TX_POWER_NO_RSSI			0x002d	/* int8 */ +#define CSR_PSKEY_LC_CONNECTION_RX_WINDOW			0x002e	/* uint16 */ +#define CSR_PSKEY_LC_COMBO_DOT11_TX_PROTECTION_MODE		0x0030	/* uint16 */ +#define CSR_PSKEY_LC_ENHANCED_POWER_TABLE			0x0031	/* enhanced_power_setting[] */ +#define CSR_PSKEY_LC_WIDEBAND_RSSI_CONFIG			0x0032	/* wideband_rssi_config */ +#define CSR_PSKEY_LC_COMBO_DOT11_PRIORITY_LEAD			0x0033	/* uint16 */ +#define CSR_PSKEY_BT_CLOCK_INIT					0x0034	/* uint32 */ +#define CSR_PSKEY_TX_MR_MOD_DELAY				0x0038	/* uint8 */ +#define CSR_PSKEY_RX_MR_SYNC_TIMING				0x0039	/* uint16 */ +#define CSR_PSKEY_RX_MR_SYNC_CONFIG				0x003a	/* uint16 */ +#define CSR_PSKEY_LC_LOST_SYNC_SLOTS				0x003b	/* uint16 */ +#define CSR_PSKEY_RX_MR_SAMP_CONFIG				0x003c	/* uint16 */ +#define CSR_PSKEY_AGC_HYST_LEVELS				0x003d	/* agc_hyst_config */ +#define CSR_PSKEY_RX_LEVEL_LOW_SIGNAL				0x003e	/* uint16 */ +#define CSR_PSKEY_AGC_IQ_LVL_VALUES				0x003f	/* IQ_LVL_VAL[] */ +#define CSR_PSKEY_MR_FTRIM_OFFSET_12DB				0x0040	/* uint16 */ +#define CSR_PSKEY_MR_FTRIM_OFFSET_6DB				0x0041	/* uint16 */ +#define CSR_PSKEY_NO_CAL_ON_BOOT				0x0042	/* bool */ +#define CSR_PSKEY_RSSI_HI_TARGET				0x0043	/* uint8 */ +#define CSR_PSKEY_PREFERRED_MIN_ATTENUATION			0x0044	/* uint8 */ +#define CSR_PSKEY_LC_COMBO_DOT11_PRIORITY_OVERRIDE		0x0045	/* bool */ +#define CSR_PSKEY_LC_MULTISLOT_HOLDOFF				0x0047	/* TIME */ +#define CSR_PSKEY_FREE_KEY_PIGEON_HOLE				0x00c9	/* uint16 */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR0				0x00ca	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR1				0x00cb	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR2				0x00cc	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR3				0x00cd	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR4				0x00ce	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR5				0x00cf	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR6				0x00d0	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR7				0x00d1	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR8				0x00d2	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR9				0x00d3	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR10				0x00d4	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR11				0x00d5	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR12				0x00d6	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR13				0x00d7	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR14				0x00d8	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LINK_KEY_BD_ADDR15				0x00d9	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_ENC_KEY_LMIN					0x00da	/* uint16 */ +#define CSR_PSKEY_ENC_KEY_LMAX					0x00db	/* uint16 */ +#define CSR_PSKEY_LOCAL_SUPPORTED_FEATURES			0x00ef	/* uint16[] = { 0xffff, 0xfe8f, 0xf99b, 0x8000 }*/ +#define CSR_PSKEY_LM_USE_UNIT_KEY				0x00f0	/* bool */ +#define CSR_PSKEY_HCI_NOP_DISABLE				0x00f2	/* bool */ +#define CSR_PSKEY_LM_MAX_EVENT_FILTERS				0x00f4	/* uint8 */ +#define CSR_PSKEY_LM_TEST_SEND_ACCEPTED_TWICE			0x00f6	/* bool */ +#define CSR_PSKEY_LM_MAX_PAGE_HOLD_TIME				0x00f7	/* uint16 */ +#define CSR_PSKEY_AFH_ADAPTATION_RESPONSE_TIME			0x00f8	/* uint16 */ +#define CSR_PSKEY_AFH_OPTIONS					0x00f9	/* uint16 */ +#define CSR_PSKEY_AFH_RSSI_RUN_PERIOD				0x00fa	/* uint16 */ +#define CSR_PSKEY_AFH_REENABLE_CHANNEL_TIME			0x00fb	/* uint16 */ +#define CSR_PSKEY_NO_DROP_ON_ACR_MS_FAIL			0x00fc	/* bool */ +#define CSR_PSKEY_MAX_PRIVATE_KEYS				0x00fd	/* uint8 */ +#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR0			0x00fe	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR1			0x00ff	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR2			0x0100	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR3			0x0101	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR4			0x0102	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR5			0x0103	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR6			0x0104	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR7			0x0105	/* LM_LINK_KEY_BD_ADDR_T */ +#define CSR_PSKEY_LOCAL_SUPPORTED_COMMANDS			0x0106	/* uint16[] = { 0xffff, 0x03ff, 0xfffe, 0xffff, 0xffff, 0xffff, 0x0ff3, 0xfff8, 0x003f } */ +#define CSR_PSKEY_LM_MAX_ABSENCE_INDEX				0x0107	/* uint8 */ +#define CSR_PSKEY_DEVICE_NAME					0x0108	/* uint16[] */ +#define CSR_PSKEY_AFH_RSSI_THRESHOLD				0x0109	/* uint16 */ +#define CSR_PSKEY_LM_CASUAL_SCAN_INTERVAL			0x010a	/* uint16 */ +#define CSR_PSKEY_AFH_MIN_MAP_CHANGE				0x010b	/* uint16[] */ +#define CSR_PSKEY_AFH_RSSI_LP_RUN_PERIOD			0x010c	/* uint16 */ +#define CSR_PSKEY_HCI_LMP_LOCAL_VERSION				0x010d	/* uint16 */ +#define CSR_PSKEY_LMP_REMOTE_VERSION				0x010e	/* uint8 */ +#define CSR_PSKEY_HOLD_ERROR_MESSAGE_NUMBER			0x0113	/* uint16 */ +#define CSR_PSKEY_DFU_ATTRIBUTES				0x0136	/* uint8 */ +#define CSR_PSKEY_DFU_DETACH_TO					0x0137	/* uint16 */ +#define CSR_PSKEY_DFU_TRANSFER_SIZE				0x0138	/* uint16 */ +#define CSR_PSKEY_DFU_ENABLE					0x0139	/* bool */ +#define CSR_PSKEY_DFU_LIN_REG_ENABLE				0x013a	/* bool */ +#define CSR_PSKEY_DFUENC_VMAPP_PK_MODULUS_MSB			0x015e	/* uint16[] */ +#define CSR_PSKEY_DFUENC_VMAPP_PK_MODULUS_LSB			0x015f	/* uint16[] */ +#define CSR_PSKEY_DFUENC_VMAPP_PK_M_DASH			0x0160	/* uint16 */ +#define CSR_PSKEY_DFUENC_VMAPP_PK_R2N_MSB			0x0161	/* uint16[] */ +#define CSR_PSKEY_DFUENC_VMAPP_PK_R2N_LSB			0x0162	/* uint16[] */ +#define CSR_PSKEY_BCSP_LM_PS_BLOCK				0x0192	/* BCSP_LM_PS_BLOCK */ +#define CSR_PSKEY_HOSTIO_FC_PS_BLOCK				0x0193	/* HOSTIO_FC_PS_BLOCK */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO0				0x0194	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO1				0x0195	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO2				0x0196	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO3				0x0197	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO4				0x0198	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO5				0x0199	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO6				0x019a	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO7				0x019b	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO8				0x019c	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO9				0x019d	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO10			0x019e	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO11			0x019f	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO12			0x01a0	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO13			0x01a1	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO14			0x01a2	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO15			0x01a3	/* PROTOCOL_INFO */ +#define CSR_PSKEY_HOSTIO_UART_RESET_TIMEOUT			0x01a4	/* TIME */ +#define CSR_PSKEY_HOSTIO_USE_HCI_EXTN				0x01a5	/* bool */ +#define CSR_PSKEY_HOSTIO_USE_HCI_EXTN_CCFC			0x01a6	/* bool */ +#define CSR_PSKEY_HOSTIO_HCI_EXTN_PAYLOAD_SIZE			0x01a7	/* uint16 */ +#define CSR_PSKEY_BCSP_LM_CNF_CNT_LIMIT				0x01aa	/* uint16 */ +#define CSR_PSKEY_HOSTIO_MAP_SCO_PCM				0x01ab	/* bool */ +#define CSR_PSKEY_HOSTIO_AWKWARD_PCM_SYNC			0x01ac	/* bool */ +#define CSR_PSKEY_HOSTIO_BREAK_POLL_PERIOD			0x01ad	/* TIME */ +#define CSR_PSKEY_HOSTIO_MIN_UART_HCI_SCO_SIZE			0x01ae	/* uint16 */ +#define CSR_PSKEY_HOSTIO_MAP_SCO_CODEC				0x01b0	/* bool */ +#define CSR_PSKEY_PCM_CVSD_TX_HI_FREQ_BOOST			0x01b1	/* uint16 */ +#define CSR_PSKEY_PCM_CVSD_RX_HI_FREQ_BOOST			0x01b2	/* uint16 */ +#define CSR_PSKEY_PCM_CONFIG32					0x01b3	/* uint32 */ +#define CSR_PSKEY_USE_OLD_BCSP_LE				0x01b4	/* uint16 */ +#define CSR_PSKEY_PCM_CVSD_USE_NEW_FILTER			0x01b5	/* bool */ +#define CSR_PSKEY_PCM_FORMAT					0x01b6	/* uint16 */ +#define CSR_PSKEY_CODEC_OUT_GAIN				0x01b7	/* uint16 */ +#define CSR_PSKEY_CODEC_IN_GAIN					0x01b8	/* uint16 */ +#define CSR_PSKEY_CODEC_PIO					0x01b9	/* uint16 */ +#define CSR_PSKEY_PCM_LOW_JITTER_CONFIG				0x01ba	/* uint32 */ +#define CSR_PSKEY_HOSTIO_SCO_PCM_THRESHOLDS			0x01bb	/* uint16[] */ +#define CSR_PSKEY_HOSTIO_SCO_HCI_THRESHOLDS			0x01bc	/* uint16[] */ +#define CSR_PSKEY_HOSTIO_MAP_SCO_PCM_SLOT			0x01bd	/* uint16 */ +#define CSR_PSKEY_UART_BAUDRATE					0x01be	/* uint16 */ +#define CSR_PSKEY_UART_CONFIG_BCSP				0x01bf	/* uint16 */ +#define CSR_PSKEY_UART_CONFIG_H4				0x01c0	/* uint16 */ +#define CSR_PSKEY_UART_CONFIG_H5				0x01c1	/* uint16 */ +#define CSR_PSKEY_UART_CONFIG_USR				0x01c2	/* uint16 */ +#define CSR_PSKEY_UART_TX_CRCS					0x01c3	/* bool */ +#define CSR_PSKEY_UART_ACK_TIMEOUT				0x01c4	/* uint16 */ +#define CSR_PSKEY_UART_TX_MAX_ATTEMPTS				0x01c5	/* uint16 */ +#define CSR_PSKEY_UART_TX_WINDOW_SIZE				0x01c6	/* uint16 */ +#define CSR_PSKEY_UART_HOST_WAKE				0x01c7	/* uint16[] */ +#define CSR_PSKEY_HOSTIO_THROTTLE_TIMEOUT			0x01c8	/* TIME */ +#define CSR_PSKEY_PCM_ALWAYS_ENABLE				0x01c9	/* bool */ +#define CSR_PSKEY_UART_HOST_WAKE_SIGNAL				0x01ca	/* uint16 */ +#define CSR_PSKEY_UART_CONFIG_H4DS				0x01cb	/* uint16 */ +#define CSR_PSKEY_H4DS_WAKE_DURATION				0x01cc	/* uint16 */ +#define CSR_PSKEY_H4DS_MAXWU					0x01cd	/* uint16 */ +#define CSR_PSKEY_H4DS_LE_TIMER_PERIOD				0x01cf	/* uint16 */ +#define CSR_PSKEY_H4DS_TWU_TIMER_PERIOD				0x01d0	/* uint16 */ +#define CSR_PSKEY_H4DS_UART_IDLE_TIMER_PERIOD			0x01d1	/* uint16 */ +#define CSR_PSKEY_ANA_FTRIM					0x01f6	/* uint16 */ +#define CSR_PSKEY_WD_TIMEOUT					0x01f7	/* TIME */ +#define CSR_PSKEY_WD_PERIOD					0x01f8	/* TIME */ +#define CSR_PSKEY_HOST_INTERFACE				0x01f9	/* phys_bus */ +#define CSR_PSKEY_HQ_HOST_TIMEOUT				0x01fb	/* TIME */ +#define CSR_PSKEY_HQ_ACTIVE					0x01fc	/* bool */ +#define CSR_PSKEY_BCCMD_SECURITY_ACTIVE				0x01fd	/* bool */ +#define CSR_PSKEY_ANA_FREQ					0x01fe	/* uint16 */ +#define CSR_PSKEY_PIO_PROTECT_MASK				0x0202	/* uint16 */ +#define CSR_PSKEY_PMALLOC_SIZES					0x0203	/* uint16[] */ +#define CSR_PSKEY_UART_BAUD_RATE				0x0204	/* uint16 */ +#define CSR_PSKEY_UART_CONFIG					0x0205	/* uint16 */ +#define CSR_PSKEY_STUB						0x0207	/* uint16 */ +#define CSR_PSKEY_TXRX_PIO_CONTROL				0x0209	/* uint16 */ +#define CSR_PSKEY_ANA_RX_LEVEL					0x020b	/* uint16 */ +#define CSR_PSKEY_ANA_RX_FTRIM					0x020c	/* uint16 */ +#define CSR_PSKEY_PSBC_DATA_VERSION				0x020d	/* uint16 */ +#define CSR_PSKEY_PCM0_ATTENUATION				0x020f	/* uint16 */ +#define CSR_PSKEY_LO_LVL_MAX					0x0211	/* uint16 */ +#define CSR_PSKEY_LO_ADC_AMPL_MIN				0x0212	/* uint16 */ +#define CSR_PSKEY_LO_ADC_AMPL_MAX				0x0213	/* uint16 */ +#define CSR_PSKEY_IQ_TRIM_CHANNEL				0x0214	/* uint16 */ +#define CSR_PSKEY_IQ_TRIM_GAIN					0x0215	/* uint16 */ +#define CSR_PSKEY_TX_OFFSET_HALF_MHZ				0x0217	/* int16 */ +#define CSR_PSKEY_GBL_MISC_ENABLES				0x0221	/* uint16 */ +#define CSR_PSKEY_UART_SLEEP_TIMEOUT				0x0222	/* uint16 */ +#define CSR_PSKEY_DEEP_SLEEP_STATE				0x0229	/* deep_sleep_state */ +#define CSR_PSKEY_IQ_ENABLE_PHASE_TRIM				0x022d	/* bool */ +#define CSR_PSKEY_HCI_HANDLE_FREEZE_PERIOD			0x0237	/* TIME */ +#define CSR_PSKEY_MAX_FROZEN_HCI_HANDLES			0x0238	/* uint16 */ +#define CSR_PSKEY_PAGETABLE_DESTRUCTION_DELAY			0x0239	/* TIME */ +#define CSR_PSKEY_IQ_TRIM_PIO_SETTINGS				0x023a	/* uint8 */ +#define CSR_PSKEY_USE_EXTERNAL_CLOCK				0x023b	/* bool */ +#define CSR_PSKEY_DEEP_SLEEP_WAKE_CTS				0x023c	/* uint16 */ +#define CSR_PSKEY_FC_HC2H_FLUSH_DELAY				0x023d	/* TIME */ +#define CSR_PSKEY_RX_HIGHSIDE					0x023e	/* bool */ +#define CSR_PSKEY_TX_PRE_LVL					0x0240	/* uint8 */ +#define CSR_PSKEY_RX_SINGLE_ENDED				0x0242	/* bool */ +#define CSR_PSKEY_TX_FILTER_CONFIG				0x0243	/* uint32 */ +#define CSR_PSKEY_CLOCK_REQUEST_ENABLE				0x0246	/* uint16 */ +#define CSR_PSKEY_RX_MIN_ATTEN					0x0249	/* uint16 */ +#define CSR_PSKEY_XTAL_TARGET_AMPLITUDE				0x024b	/* uint8 */ +#define CSR_PSKEY_PCM_MIN_CPU_CLOCK				0x024d	/* uint16 */ +#define CSR_PSKEY_HOST_INTERFACE_PIO_USB			0x0250	/* uint16 */ +#define CSR_PSKEY_CPU_IDLE_MODE					0x0251	/* cpu_idle_mode */ +#define CSR_PSKEY_DEEP_SLEEP_CLEAR_RTS				0x0252	/* bool */ +#define CSR_PSKEY_RF_RESONANCE_TRIM				0x0254	/* uint16 */ +#define CSR_PSKEY_DEEP_SLEEP_PIO_WAKE				0x0255	/* uint16 */ +#define CSR_PSKEY_DRAIN_BORE_TIMERS				0x0256	/* uint32[] */ +#define CSR_PSKEY_DRAIN_TX_POWER_BASE				0x0257	/* uint16 */ +#define CSR_PSKEY_MODULE_ID					0x0259	/* uint32 */ +#define CSR_PSKEY_MODULE_DESIGN					0x025a	/* uint16 */ +#define CSR_PSKEY_MODULE_SECURITY_CODE				0x025c	/* uint16[] */ +#define CSR_PSKEY_VM_DISABLE					0x025d	/* bool */ +#define CSR_PSKEY_MOD_MANUF0					0x025e	/* uint16[] */ +#define CSR_PSKEY_MOD_MANUF1					0x025f	/* uint16[] */ +#define CSR_PSKEY_MOD_MANUF2					0x0260	/* uint16[] */ +#define CSR_PSKEY_MOD_MANUF3					0x0261	/* uint16[] */ +#define CSR_PSKEY_MOD_MANUF4					0x0262	/* uint16[] */ +#define CSR_PSKEY_MOD_MANUF5					0x0263	/* uint16[] */ +#define CSR_PSKEY_MOD_MANUF6					0x0264	/* uint16[] */ +#define CSR_PSKEY_MOD_MANUF7					0x0265	/* uint16[] */ +#define CSR_PSKEY_MOD_MANUF8					0x0266	/* uint16[] */ +#define CSR_PSKEY_MOD_MANUF9					0x0267	/* uint16[] */ +#define CSR_PSKEY_DUT_VM_DISABLE				0x0268	/* bool */ +#define CSR_PSKEY_USR0						0x028a	/* uint16[] */ +#define CSR_PSKEY_USR1						0x028b	/* uint16[] */ +#define CSR_PSKEY_USR2						0x028c	/* uint16[] */ +#define CSR_PSKEY_USR3						0x028d	/* uint16[] */ +#define CSR_PSKEY_USR4						0x028e	/* uint16[] */ +#define CSR_PSKEY_USR5						0x028f	/* uint16[] */ +#define CSR_PSKEY_USR6						0x0290	/* uint16[] */ +#define CSR_PSKEY_USR7						0x0291	/* uint16[] */ +#define CSR_PSKEY_USR8						0x0292	/* uint16[] */ +#define CSR_PSKEY_USR9						0x0293	/* uint16[] */ +#define CSR_PSKEY_USR10						0x0294	/* uint16[] */ +#define CSR_PSKEY_USR11						0x0295	/* uint16[] */ +#define CSR_PSKEY_USR12						0x0296	/* uint16[] */ +#define CSR_PSKEY_USR13						0x0297	/* uint16[] */ +#define CSR_PSKEY_USR14						0x0298	/* uint16[] */ +#define CSR_PSKEY_USR15						0x0299	/* uint16[] */ +#define CSR_PSKEY_USR16						0x029a	/* uint16[] */ +#define CSR_PSKEY_USR17						0x029b	/* uint16[] */ +#define CSR_PSKEY_USR18						0x029c	/* uint16[] */ +#define CSR_PSKEY_USR19						0x029d	/* uint16[] */ +#define CSR_PSKEY_USR20						0x029e	/* uint16[] */ +#define CSR_PSKEY_USR21						0x029f	/* uint16[] */ +#define CSR_PSKEY_USR22						0x02a0	/* uint16[] */ +#define CSR_PSKEY_USR23						0x02a1	/* uint16[] */ +#define CSR_PSKEY_USR24						0x02a2	/* uint16[] */ +#define CSR_PSKEY_USR25						0x02a3	/* uint16[] */ +#define CSR_PSKEY_USR26						0x02a4	/* uint16[] */ +#define CSR_PSKEY_USR27						0x02a5	/* uint16[] */ +#define CSR_PSKEY_USR28						0x02a6	/* uint16[] */ +#define CSR_PSKEY_USR29						0x02a7	/* uint16[] */ +#define CSR_PSKEY_USR30						0x02a8	/* uint16[] */ +#define CSR_PSKEY_USR31						0x02a9	/* uint16[] */ +#define CSR_PSKEY_USR32						0x02aa	/* uint16[] */ +#define CSR_PSKEY_USR33						0x02ab	/* uint16[] */ +#define CSR_PSKEY_USR34						0x02ac	/* uint16[] */ +#define CSR_PSKEY_USR35						0x02ad	/* uint16[] */ +#define CSR_PSKEY_USR36						0x02ae	/* uint16[] */ +#define CSR_PSKEY_USR37						0x02af	/* uint16[] */ +#define CSR_PSKEY_USR38						0x02b0	/* uint16[] */ +#define CSR_PSKEY_USR39						0x02b1	/* uint16[] */ +#define CSR_PSKEY_USR40						0x02b2	/* uint16[] */ +#define CSR_PSKEY_USR41						0x02b3	/* uint16[] */ +#define CSR_PSKEY_USR42						0x02b4	/* uint16[] */ +#define CSR_PSKEY_USR43						0x02b5	/* uint16[] */ +#define CSR_PSKEY_USR44						0x02b6	/* uint16[] */ +#define CSR_PSKEY_USR45						0x02b7	/* uint16[] */ +#define CSR_PSKEY_USR46						0x02b8	/* uint16[] */ +#define CSR_PSKEY_USR47						0x02b9	/* uint16[] */ +#define CSR_PSKEY_USR48						0x02ba	/* uint16[] */ +#define CSR_PSKEY_USR49						0x02bb	/* uint16[] */ +#define CSR_PSKEY_USB_VERSION					0x02bc	/* uint16 */ +#define CSR_PSKEY_USB_DEVICE_CLASS_CODES			0x02bd	/* usbclass */ +#define CSR_PSKEY_USB_VENDOR_ID					0x02be	/* uint16 */ +#define CSR_PSKEY_USB_PRODUCT_ID				0x02bf	/* uint16 */ +#define CSR_PSKEY_USB_MANUF_STRING				0x02c1	/* unicodestring */ +#define CSR_PSKEY_USB_PRODUCT_STRING				0x02c2	/* unicodestring */ +#define CSR_PSKEY_USB_SERIAL_NUMBER_STRING			0x02c3	/* unicodestring */ +#define CSR_PSKEY_USB_CONFIG_STRING				0x02c4	/* unicodestring */ +#define CSR_PSKEY_USB_ATTRIBUTES				0x02c5	/* uint8 */ +#define CSR_PSKEY_USB_MAX_POWER					0x02c6	/* uint16 */ +#define CSR_PSKEY_USB_BT_IF_CLASS_CODES				0x02c7	/* usbclass */ +#define CSR_PSKEY_USB_LANGID					0x02c9	/* uint16 */ +#define CSR_PSKEY_USB_DFU_CLASS_CODES				0x02ca	/* usbclass */ +#define CSR_PSKEY_USB_DFU_PRODUCT_ID				0x02cb	/* uint16 */ +#define CSR_PSKEY_USB_PIO_DETACH				0x02ce	/* uint16 */ +#define CSR_PSKEY_USB_PIO_WAKEUP				0x02cf	/* uint16 */ +#define CSR_PSKEY_USB_PIO_PULLUP				0x02d0	/* uint16 */ +#define CSR_PSKEY_USB_PIO_VBUS					0x02d1	/* uint16 */ +#define CSR_PSKEY_USB_PIO_WAKE_TIMEOUT				0x02d2	/* uint16 */ +#define CSR_PSKEY_USB_PIO_RESUME				0x02d3	/* uint16 */ +#define CSR_PSKEY_USB_BT_SCO_IF_CLASS_CODES			0x02d4	/* usbclass */ +#define CSR_PSKEY_USB_SUSPEND_PIO_LEVEL				0x02d5	/* uint16 */ +#define CSR_PSKEY_USB_SUSPEND_PIO_DIR				0x02d6	/* uint16 */ +#define CSR_PSKEY_USB_SUSPEND_PIO_MASK				0x02d7	/* uint16 */ +#define CSR_PSKEY_USB_ENDPOINT_0_MAX_PACKET_SIZE		0x02d8	/* uint8 */ +#define CSR_PSKEY_USB_CONFIG					0x02d9	/* uint16 */ +#define CSR_PSKEY_RADIOTEST_ATTEN_INIT				0x0320	/* uint16 */ +#define CSR_PSKEY_RADIOTEST_FIRST_TRIM_TIME			0x0326	/* TIME */ +#define CSR_PSKEY_RADIOTEST_SUBSEQUENT_TRIM_TIME		0x0327	/* TIME */ +#define CSR_PSKEY_RADIOTEST_LO_LVL_TRIM_ENABLE			0x0328	/* bool */ +#define CSR_PSKEY_RADIOTEST_DISABLE_MODULATION			0x032c	/* bool */ +#define CSR_PSKEY_RFCOMM_FCON_THRESHOLD				0x0352	/* uint16 */ +#define CSR_PSKEY_RFCOMM_FCOFF_THRESHOLD			0x0353	/* uint16 */ +#define CSR_PSKEY_IPV6_STATIC_ADDR				0x0354	/* uint16[] */ +#define CSR_PSKEY_IPV4_STATIC_ADDR				0x0355	/* uint32 */ +#define CSR_PSKEY_IPV6_STATIC_PREFIX_LEN			0x0356	/* uint8 */ +#define CSR_PSKEY_IPV6_STATIC_ROUTER_ADDR			0x0357	/* uint16[] */ +#define CSR_PSKEY_IPV4_STATIC_SUBNET_MASK			0x0358	/* uint32 */ +#define CSR_PSKEY_IPV4_STATIC_ROUTER_ADDR			0x0359	/* uint32 */ +#define CSR_PSKEY_MDNS_NAME					0x035a	/* char[] */ +#define CSR_PSKEY_FIXED_PIN					0x035b	/* uint8[] */ +#define CSR_PSKEY_MDNS_PORT					0x035c	/* uint16 */ +#define CSR_PSKEY_MDNS_TTL					0x035d	/* uint8 */ +#define CSR_PSKEY_MDNS_IPV4_ADDR				0x035e	/* uint32 */ +#define CSR_PSKEY_ARP_CACHE_TIMEOUT				0x035f	/* uint16 */ +#define CSR_PSKEY_HFP_POWER_TABLE				0x0360	/* uint16[] */ +#define CSR_PSKEY_DRAIN_BORE_TIMER_COUNTERS			0x03e7	/* uint32[] */ +#define CSR_PSKEY_DRAIN_BORE_COUNTERS				0x03e6	/* uint32[] */ +#define CSR_PSKEY_LOOP_FILTER_TRIM				0x03e4	/* uint16 */ +#define CSR_PSKEY_DRAIN_BORE_CURRENT_PEAK			0x03e3	/* uint32[] */ +#define CSR_PSKEY_FORCE_16MHZ_REF_PIO				0x03e1	/* uint16 */ +#define CSR_PSKEY_CDMA_LO_REF_LIMITS				0x03df	/* uint16 */ +#define CSR_PSKEY_CDMA_LO_ERROR_LIMITS				0x03de	/* uint16 */ +#define CSR_PSKEY_CLOCK_STARTUP_DELAY				0x03dd	/* uint16 */ +#define CSR_PSKEY_DEEP_SLEEP_CORRECTION_FACTOR			0x03dc	/* int16 */ +#define CSR_PSKEY_TEMPERATURE_CALIBRATION			0x03db	/* temperature_calibration */ +#define CSR_PSKEY_TEMPERATURE_VS_DELTA_INTERNAL_PA		0x03da	/* temperature_calibration[] */ +#define CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_PRE_LVL		0x03d9	/* temperature_calibration[] */ +#define CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB			0x03d8	/* temperature_calibration[] */ +#define CSR_PSKEY_TEMPERATURE_VS_DELTA_ANA_FTRIM		0x03d7	/* temperature_calibration[] */ +#define CSR_PSKEY_TEST_DELTA_OFFSET				0x03d6	/* uint16 */ +#define CSR_PSKEY_RX_DYNAMIC_LVL_OFFSET				0x03d4	/* uint16 */ +#define CSR_PSKEY_TEST_FORCE_OFFSET				0x03d3	/* bool */ +#define CSR_PSKEY_RF_TRAP_BAD_DIVISION_RATIOS			0x03cf	/* uint16 */ +#define CSR_PSKEY_RADIOTEST_CDMA_LO_REF_LIMITS			0x03ce	/* uint16 */ +#define CSR_PSKEY_INITIAL_BOOTMODE				0x03cd	/* int16 */ +#define CSR_PSKEY_ONCHIP_HCI_CLIENT				0x03cc	/* bool */ +#define CSR_PSKEY_RX_ATTEN_BACKOFF				0x03ca	/* uint16 */ +#define CSR_PSKEY_RX_ATTEN_UPDATE_RATE				0x03c9	/* uint16 */ +#define CSR_PSKEY_SYNTH_TXRX_THRESHOLDS				0x03c7	/* uint16 */ +#define CSR_PSKEY_MIN_WAIT_STATES				0x03c6	/* uint16 */ +#define CSR_PSKEY_RSSI_CORRECTION				0x03c5	/* int8 */ +#define CSR_PSKEY_SCHED_THROTTLE_TIMEOUT			0x03c4	/* TIME */ +#define CSR_PSKEY_DEEP_SLEEP_USE_EXTERNAL_CLOCK			0x03c3	/* bool */ +#define CSR_PSKEY_TRIM_RADIO_FILTERS				0x03c2	/* uint16 */ +#define CSR_PSKEY_TRANSMIT_OFFSET				0x03c1	/* int16 */ +#define CSR_PSKEY_USB_VM_CONTROL				0x03c0	/* bool */ +#define CSR_PSKEY_MR_ANA_RX_FTRIM				0x03bf	/* uint16 */ +#define CSR_PSKEY_I2C_CONFIG					0x03be	/* uint16 */ +#define CSR_PSKEY_MR_TX_FILTER_CONFIG				0x03bb	/* uint32 */ +#define CSR_PSKEY_MR_TX_CONFIG2					0x03ba	/* uint16 */ +#define CSR_PSKEY_USB_DONT_RESET_BOOTMODE_ON_HOST_RESET		0x03b9	/* bool */ +#define CSR_PSKEY_LC_USE_THROTTLING				0x03b8	/* bool */ +#define CSR_PSKEY_CHARGER_TRIM					0x03b7	/* uint16 */ +#define CSR_PSKEY_CLOCK_REQUEST_FEATURES			0x03b6	/* uint16 */ +#define CSR_PSKEY_TRANSMIT_OFFSET_CLASS1			0x03b4	/* int16 */ +#define CSR_PSKEY_TX_AVOID_PA_CLASS1_PIO			0x03b3	/* uint16 */ +#define CSR_PSKEY_MR_PIO_CONFIG					0x03b2	/* uint16 */ +#define CSR_PSKEY_UART_CONFIG2					0x03b1	/* uint8 */ +#define CSR_PSKEY_CLASS1_IQ_LVL					0x03b0	/* uint16 */ +#define CSR_PSKEY_CLASS1_TX_CONFIG2				0x03af	/* uint16 */ +#define CSR_PSKEY_TEMPERATURE_VS_DELTA_INTERNAL_PA_CLASS1	0x03ae	/* temperature_calibration[] */ +#define CSR_PSKEY_TEMPERATURE_VS_DELTA_EXTERNAL_PA_CLASS1	0x03ad	/* temperature_calibration[] */ +#define CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_PRE_LVL_MR		0x03ac	/* temperature_calibration[] */ +#define CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB_MR_HEADER		0x03ab	/* temperature_calibration[] */ +#define CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB_MR_PAYLOAD		0x03aa	/* temperature_calibration[] */ +#define CSR_PSKEY_RX_MR_EQ_TAPS					0x03a9	/* uint16[] */ +#define CSR_PSKEY_TX_PRE_LVL_CLASS1				0x03a8	/* uint8 */ +#define CSR_PSKEY_ANALOGUE_ATTENUATOR				0x03a7	/* bool */ +#define CSR_PSKEY_MR_RX_FILTER_TRIM				0x03a6	/* uint16 */ +#define CSR_PSKEY_MR_RX_FILTER_RESPONSE				0x03a5	/* int16[] */ +#define CSR_PSKEY_PIO_WAKEUP_STATE				0x039f	/* uint16 */ +#define CSR_PSKEY_MR_TX_IF_ATTEN_OFF_TEMP			0x0394	/* int16 */ +#define CSR_PSKEY_LO_DIV_LATCH_BYPASS				0x0393	/* bool */ +#define CSR_PSKEY_LO_VCO_STANDBY				0x0392	/* bool */ +#define CSR_PSKEY_SLOW_CLOCK_FILTER_SHIFT			0x0391	/* uint16 */ +#define CSR_PSKEY_SLOW_CLOCK_FILTER_DIVIDER			0x0390	/* uint16 */ +#define CSR_PSKEY_USB_ATTRIBUTES_POWER				0x03f2	/* bool */ +#define CSR_PSKEY_USB_ATTRIBUTES_WAKEUP				0x03f3	/* bool */ +#define CSR_PSKEY_DFU_ATTRIBUTES_MANIFESTATION_TOLERANT		0x03f4	/* bool */ +#define CSR_PSKEY_DFU_ATTRIBUTES_CAN_UPLOAD			0x03f5	/* bool */ +#define CSR_PSKEY_DFU_ATTRIBUTES_CAN_DOWNLOAD			0x03f6	/* bool */ +#define CSR_PSKEY_UART_CONFIG_STOP_BITS				0x03fc	/* bool */ +#define CSR_PSKEY_UART_CONFIG_PARITY_BIT			0x03fd	/* uint16 */ +#define CSR_PSKEY_UART_CONFIG_FLOW_CTRL_EN			0x03fe	/* bool */ +#define CSR_PSKEY_UART_CONFIG_RTS_AUTO_EN			0x03ff	/* bool */ +#define CSR_PSKEY_UART_CONFIG_RTS				0x0400	/* bool */ +#define CSR_PSKEY_UART_CONFIG_TX_ZERO_EN			0x0401	/* bool */ +#define CSR_PSKEY_UART_CONFIG_NON_BCSP_EN			0x0402	/* bool */ +#define CSR_PSKEY_UART_CONFIG_RX_RATE_DELAY			0x0403	/* uint16 */ +#define CSR_PSKEY_UART_SEQ_TIMEOUT				0x0405	/* uint16 */ +#define CSR_PSKEY_UART_SEQ_RETRIES				0x0406	/* uint16 */ +#define CSR_PSKEY_UART_SEQ_WINSIZE				0x0407	/* uint16 */ +#define CSR_PSKEY_UART_USE_CRC_ON_TX				0x0408	/* bool */ +#define CSR_PSKEY_UART_HOST_INITIAL_STATE			0x0409	/* hwakeup_state */ +#define CSR_PSKEY_UART_HOST_ATTENTION_SPAN			0x040a	/* uint16 */ +#define CSR_PSKEY_UART_HOST_WAKEUP_TIME				0x040b	/* uint16 */ +#define CSR_PSKEY_UART_HOST_WAKEUP_WAIT				0x040c	/* uint16 */ +#define CSR_PSKEY_BCSP_LM_MODE					0x0410	/* uint16 */ +#define CSR_PSKEY_BCSP_LM_SYNC_RETRIES				0x0411	/* uint16 */ +#define CSR_PSKEY_BCSP_LM_TSHY					0x0412	/* uint16 */ +#define CSR_PSKEY_UART_DFU_CONFIG_STOP_BITS			0x0417	/* bool */ +#define CSR_PSKEY_UART_DFU_CONFIG_PARITY_BIT			0x0418	/* uint16 */ +#define CSR_PSKEY_UART_DFU_CONFIG_FLOW_CTRL_EN			0x0419	/* bool */ +#define CSR_PSKEY_UART_DFU_CONFIG_RTS_AUTO_EN			0x041a	/* bool */ +#define CSR_PSKEY_UART_DFU_CONFIG_RTS				0x041b	/* bool */ +#define CSR_PSKEY_UART_DFU_CONFIG_TX_ZERO_EN			0x041c	/* bool */ +#define CSR_PSKEY_UART_DFU_CONFIG_NON_BCSP_EN			0x041d	/* bool */ +#define CSR_PSKEY_UART_DFU_CONFIG_RX_RATE_DELAY			0x041e	/* uint16 */ +#define CSR_PSKEY_AMUX_AIO0					0x041f	/* ana_amux_sel */ +#define CSR_PSKEY_AMUX_AIO1					0x0420	/* ana_amux_sel */ +#define CSR_PSKEY_AMUX_AIO2					0x0421	/* ana_amux_sel */ +#define CSR_PSKEY_AMUX_AIO3					0x0422	/* ana_amux_sel */ +#define CSR_PSKEY_LOCAL_NAME_SIMPLIFIED				0x0423	/* local_name_complete */ +#define CSR_PSKEY_EXTENDED_STUB					0x2001	/* uint16 */  char *csr_buildidtostr(uint16_t id);  char *csr_chipvertostr(uint16_t ver, uint16_t rev); | 
