diff options
-rw-r--r-- | drivers/mfd/ste_conn/ste_cg2900.c | 185 | ||||
-rwxr-xr-x | firmware/CG2900_1_05_SOC_generic_V11_mod.fw.org | bin | 0 -> 944 bytes | |||
-rwxr-xr-x | firmware/CG2900_1_05_V5_FMoI2S.fw.org | bin | 369 -> 0 bytes | |||
-rwxr-xr-x | firmware/CG2900_1_0C4_1C1.fw.org | bin | 6904 -> 0 bytes | |||
-rwxr-xr-x | firmware/CG2900_1_0C4_1C5.fw.org | bin | 0 -> 10884 bytes | |||
-rw-r--r-- | firmware/Makefile | 3 | ||||
-rwxr-xr-x | firmware/STLC2600_R7_00_01.fw.org | bin | 363 -> 0 bytes | |||
-rwxr-xr-x | firmware/STLC2690_R7_00_A1_E5.fw.org | bin | 6384 -> 0 bytes | |||
-rwxr-xr-x | firmware/ste_conn_patch_info.fw.org | 9 | ||||
-rwxr-xr-x | firmware/ste_conn_settings_info.fw.org | 11 |
10 files changed, 4 insertions, 204 deletions
diff --git a/drivers/mfd/ste_conn/ste_cg2900.c b/drivers/mfd/ste_conn/ste_cg2900.c index f9795d3187f..9e827a678cd 100644 --- a/drivers/mfd/ste_conn/ste_cg2900.c +++ b/drivers/mfd/ste_conn/ste_cg2900.c @@ -38,9 +38,6 @@ #include "ste_conn_ccd.h" #include "ste_conn_debug.h" -/* ENABLE_SYS_CLK_OUT - Enable system clock out on chip */ -#define ENABLE_SYS_CLK_OUT - #define CG2900_LINE_BUFFER_LENGTH 128 #define CG2900_FILENAME_MAX 128 @@ -321,44 +318,6 @@ static const uint8_t cg2900_msg_vs_system_reset_cmd_req[] = { 0x00 }; -#ifdef ENABLE_SYS_CLK_OUT -/* - * cg2900_msg_read_register_0x40014004 - - * Hardcoded HCI Read_Register 0x40014004 - */ -static const uint8_t cg2900_msg_read_register_0x40014004[] = { - 0x00, /* Reserved for H4 channel*/ - HCI_BT_MAKE_FIRST_BYTE_IN_CMD(CG2900_BT_OCF_VS_READ_REGISTER), - HCI_BT_MAKE_SECOND_BYTE_IN_CMD(HCI_BT_OGF_VS, CG2900_BT_OCF_VS_READ_REGISTER), - 0x05, /* HCI command length. */ - 0x01, /* Register type = 32-bit*/ - 0X04, /* Memory address byte 1*/ - 0X40, /* Memory address byte 2*/ - 0X01, /* Memory address byte 3*/ - 0X40 /* Memory address byte 4*/ -}; - -/* - * cg2900_msg_write_register_0x40014004 - - * Hardcoded HCI Write_Register 0x40014004 - */ -static const uint8_t cg2900_msg_write_register_0x40014004[] = { - 0x00, /* Reserved for H4 channel*/ - HCI_BT_MAKE_FIRST_BYTE_IN_CMD(CG2900_BT_OCF_VS_WRITE_REGISTER), - HCI_BT_MAKE_SECOND_BYTE_IN_CMD(HCI_BT_OGF_VS, CG2900_BT_OCF_VS_WRITE_REGISTER), - 0x09, /* HCI command length. */ - 0x01, /* Register type = 32-bit*/ - 0X04, /* Memory address byte 1*/ - 0X40, /* Memory address byte 2*/ - 0X01, /* Memory address byte 3*/ - 0X40, /* Memory address byte 4*/ - 0X00, /* Register value byte 1*/ - 0X00, /* Register value byte 2*/ - 0X00, /* Register value byte 3*/ - 0X00 /* Register value byte 4*/ -}; -#endif /*ENABLE_SYS_CLK_OUT*/ - /* * time_500ms - 500 millisecond time struct. */ @@ -405,10 +364,6 @@ static bool cg2900_fm_is_do_cmd_irpt(uint16_t irpt_val); static bool cg2900_handle_internal_rx_data_bt_evt(struct sk_buff *skb); static void cg2900_create_work_item(work_func_t work_func, struct sk_buff *skb, void *data); static bool cg2900_handle_reset_cmd_complete_evt(uint8_t *data); -#ifdef ENABLE_SYS_CLK_OUT -static bool cg2900_handle_vs_read_register_cmd_complete_evt(uint8_t *data); -static bool cg2900_handle_vs_write_register_cmd_complete_evt(uint8_t *data); -#endif /* ENABLE_SYS_CLK_OUT */ static bool cg2900_handle_vs_store_in_fs_cmd_complete_evt(uint8_t *data); static bool cg2900_handle_vs_write_file_block_cmd_complete_evt(uint8_t *data); static bool cg2900_handle_vs_power_switch_off_cmd_complete_evt(uint8_t *data); @@ -997,14 +952,6 @@ static bool cg2900_handle_internal_rx_data_bt_evt(struct sk_buff *skb) case CG2900_BT_OCF_VS_SYSTEM_RESET: pkt_handled = cg2900_handle_vs_system_reset_cmd_complete_evt(data); break; -#ifdef ENABLE_SYS_CLK_OUT - case CG2900_BT_OCF_VS_READ_REGISTER: - pkt_handled = cg2900_handle_vs_read_register_cmd_complete_evt(data); - break; - case CG2900_BT_OCF_VS_WRITE_REGISTER: - pkt_handled = cg2900_handle_vs_write_register_cmd_complete_evt(data); - break; -#endif /* ENABLE_SYS_CLK_OUT */ default: break; }; /* switch (hci_ocf) */ @@ -1083,126 +1030,6 @@ static bool cg2900_handle_reset_cmd_complete_evt(uint8_t *data) } -#ifdef ENABLE_SYS_CLK_OUT -/** - * cg2900_handle_vs_read_register_cmd_complete_evt() - Handle a received HCI Command Complete event - * for a VS ReadRegister command. - * @data: Pointer to received HCI data packet. - * - * Returns: - * True, if packet was handled internally, - * False, otherwise. - */ -static bool cg2900_handle_vs_read_register_cmd_complete_evt(uint8_t *data) -{ - bool pkt_handled = false; - - if (cg2900_info->boot_state == BOOT_STATE_ACTIVATE_SYS_CLK_OUT_TOGGLE_HIGH) { - uint8_t status = data[0]; - - if (HCI_BT_ERROR_NO_ERROR == status) { - /* Received good confirmation. Start work to continue */ - uint8_t data_out[(sizeof(cg2900_msg_write_register_0x40014004))]; - memcpy(&data_out[0], cg2900_msg_write_register_0x40014004, sizeof(cg2900_msg_write_register_0x40014004)); - - STE_CONN_DBG_DATA_CONTENT("Read register 0x40014004 value 0x%02X 0x%02X 0x%02X 0x%02X", - data[1], data[2], data[3], data[4]); - /* Little endian Set bit 12 to value 1 */ - data[2] = data[2] | 0x10; - STE_CONN_DBG_DATA_CONTENT("Write register 0x40014004 value 0x%02X 0x%02X 0x%02X 0x%02X", - data[1], data[2], data[3], data[4]); - /* Copy value to be written */ - memcpy(&data_out[9], &data[1], 4); - cg2900_create_and_send_bt_cmd(&data_out[0], sizeof(cg2900_msg_write_register_0x40014004)); - - } else { - STE_CONN_ERR("Command complete for ReadRegister received with error 0x%X", status); - CG2900_SET_BOOT_STATE(BOOT_STATE_FAILED); - cg2900_create_work_item(cg2900_work_reset_after_error, NULL, NULL); - } - /* We have now handled the packet */ - pkt_handled = true; - - } else if (cg2900_info->boot_state == BOOT_STATE_ACTIVATE_SYS_CLK_OUT_TOGGLE_LOW) { - uint8_t status = data[0]; - - if (HCI_BT_ERROR_NO_ERROR == status) { - /* Received good confirmation. Start work to continue */ - uint8_t data_out[(sizeof(cg2900_msg_write_register_0x40014004))]; - memcpy(&data_out[0], cg2900_msg_write_register_0x40014004, sizeof(cg2900_msg_write_register_0x40014004)); - - STE_CONN_DBG_DATA_CONTENT("Read register 0x40014004 value 0x%02X 0x%02X 0x%02X 0x%02X", - data[1], data[2], data[3], data[4]); - /* Little endian Set bit 12 to value 0 */ - data[2] = data[2] & 0xEF; - STE_CONN_DBG_DATA_CONTENT("Write register 0x40014004 value 0x%02X 0x%02X 0x%02X 0x%02X", - data[1], data[2], data[3], data[4]); - /* Copy value to be written */ - memcpy(&data_out[9], &data[1], 4); - cg2900_create_and_send_bt_cmd(&data_out[0], sizeof(cg2900_msg_write_register_0x40014004)); - - } else { - STE_CONN_ERR("Command complete for ReadRegister received with error 0x%X", status); - CG2900_SET_BOOT_STATE(BOOT_STATE_FAILED); - cg2900_create_work_item(cg2900_work_reset_after_error, NULL, NULL); - } - /* We have now handled the packet */ - pkt_handled = true; - } - return pkt_handled; -} - -/** - * cg2900_handle_vs_write_register_cmd_complete_evt() - Handle a received HCI Command Complete event - * for a VS ReadRegister command. - * @data: Pointer to received HCI data packet. - * - * Returns: - * True, if packet was handled internally, - * False, otherwise. - */ -static bool cg2900_handle_vs_write_register_cmd_complete_evt(uint8_t *data) -{ - bool pkt_handled = false; - - if (cg2900_info->boot_state == BOOT_STATE_ACTIVATE_SYS_CLK_OUT_TOGGLE_HIGH) { - uint8_t status = data[0]; - - if (HCI_BT_ERROR_NO_ERROR == status) { - /* Received good confirmation*/ - cg2900_create_and_send_bt_cmd(cg2900_msg_read_register_0x40014004, - sizeof(cg2900_msg_read_register_0x40014004)); - CG2900_SET_BOOT_STATE(BOOT_STATE_ACTIVATE_SYS_CLK_OUT_TOGGLE_LOW); - } else { - STE_CONN_ERR("Command complete for WriteRegister received with error 0x%X", status); - CG2900_SET_BOOT_STATE(BOOT_STATE_FAILED); - cg2900_create_work_item(cg2900_work_reset_after_error, NULL, NULL); - } - /* We have now handled the packet */ - pkt_handled = true; - } else if (cg2900_info->boot_state == BOOT_STATE_ACTIVATE_SYS_CLK_OUT_TOGGLE_LOW) { - uint8_t status = data[0]; - - if (HCI_BT_ERROR_NO_ERROR == status) { - /* Received good confirmation - * The boot sequence is now finished successfully - * Set states and signal to waiting thread. - */ - CG2900_SET_BOOT_STATE(BOOT_STATE_READY); - ste_conn_cpd_chip_startup_finished(0); - } else { - STE_CONN_ERR("Command complete for WriteRegister received with error 0x%X", status); - CG2900_SET_BOOT_STATE(BOOT_STATE_FAILED); - cg2900_create_work_item(cg2900_work_reset_after_error, NULL, NULL); - } - /* We have now handled the packet */ - pkt_handled = true; - } - - return pkt_handled; -} -#endif /* ENABLE_SYS_CLK_OUT */ - /** * cg2900_handle_vs_store_in_fs_cmd_complete_evt() - Handle a received HCI Command Complete event * for a VS StoreInFS command. @@ -1316,14 +1143,6 @@ static bool cg2900_handle_vs_system_reset_cmd_complete_evt(uint8_t *data) uint8_t status = data[0]; if (cg2900_info->boot_state == BOOT_STATE_ACTIVATE_PATCHES_AND_SETTINGS) { -#ifdef ENABLE_SYS_CLK_OUT - STE_CONN_INFO("SYS_CLK_OUT Enabled"); - if (HCI_BT_ERROR_NO_ERROR == status) { - CG2900_SET_BOOT_STATE(BOOT_STATE_ACTIVATE_SYS_CLK_OUT_TOGGLE_HIGH); - cg2900_create_and_send_bt_cmd(cg2900_msg_read_register_0x40014004, - sizeof(cg2900_msg_read_register_0x40014004)); - } -#else STE_CONN_INFO("SYS_CLK_OUT Disabled"); if (HCI_BT_ERROR_NO_ERROR == status) { /* The boot sequence is now finished successfully. @@ -1331,9 +1150,7 @@ static bool cg2900_handle_vs_system_reset_cmd_complete_evt(uint8_t *data) */ CG2900_SET_BOOT_STATE(BOOT_STATE_READY); ste_conn_cpd_chip_startup_finished(0); - } -#endif - else { + } else { STE_CONN_ERR("Received Reset complete event with status 0x%X", status); CG2900_SET_BOOT_STATE(BOOT_STATE_FAILED); ste_conn_cpd_chip_startup_finished(-EIO); diff --git a/firmware/CG2900_1_05_SOC_generic_V11_mod.fw.org b/firmware/CG2900_1_05_SOC_generic_V11_mod.fw.org Binary files differnew file mode 100755 index 00000000000..600246802ca --- /dev/null +++ b/firmware/CG2900_1_05_SOC_generic_V11_mod.fw.org diff --git a/firmware/CG2900_1_05_V5_FMoI2S.fw.org b/firmware/CG2900_1_05_V5_FMoI2S.fw.org Binary files differdeleted file mode 100755 index 4b2549cd830..00000000000 --- a/firmware/CG2900_1_05_V5_FMoI2S.fw.org +++ /dev/null diff --git a/firmware/CG2900_1_0C4_1C1.fw.org b/firmware/CG2900_1_0C4_1C1.fw.org Binary files differdeleted file mode 100755 index c326f965bf4..00000000000 --- a/firmware/CG2900_1_0C4_1C1.fw.org +++ /dev/null diff --git a/firmware/CG2900_1_0C4_1C5.fw.org b/firmware/CG2900_1_0C4_1C5.fw.org Binary files differnew file mode 100755 index 00000000000..0373210f423 --- /dev/null +++ b/firmware/CG2900_1_0C4_1C5.fw.org diff --git a/firmware/Makefile b/firmware/Makefile index ceabbc6c8cc..f6bc27a0c52 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -140,8 +140,7 @@ fw-shipped-$(CONFIG_YAM) += yam/1200.bin yam/9600.bin fw-shipped-$(CONFIG_MFD_STE_CONN) += ste_conn_patch_info.fw ste_conn_settings_info.fw \ STLC2600_R6_03_01.fw STLC2690_R6_03_A1_E5.fw \ STLC2600_R6_04_02.fw STLC2690_R6_04_A2.fw \ - STLC2600_R7_00_01.fw STLC2690_R7_00_A1_E5.fw \ - CG2900_1_0C4_1C1.fw CG2900_1_05_V5_FMoI2S.fw + CG2900_1_0C4_1C5.fw CG2900_1_05_SOC_generic_V11_mod.fw fw-shipped-$(CONFIG_RADIO_CG2900) += ste_fm_bt_src_coeff_info.fw ste_fm_ext_src_coeff_info.fw \ ste_fm_fm_coeff_info.fw ste_fm_fm_prog_info.fw \ diff --git a/firmware/STLC2600_R7_00_01.fw.org b/firmware/STLC2600_R7_00_01.fw.org Binary files differdeleted file mode 100755 index 1a2d14b1e0a..00000000000 --- a/firmware/STLC2600_R7_00_01.fw.org +++ /dev/null diff --git a/firmware/STLC2690_R7_00_A1_E5.fw.org b/firmware/STLC2690_R7_00_A1_E5.fw.org Binary files differdeleted file mode 100755 index 1f73bc1a04a..00000000000 --- a/firmware/STLC2690_R7_00_A1_E5.fw.org +++ /dev/null diff --git a/firmware/ste_conn_patch_info.fw.org b/firmware/ste_conn_patch_info.fw.org index 8fd1d679e2d..f6ea439a70b 100755 --- a/firmware/ste_conn_patch_info.fw.org +++ b/firmware/ste_conn_patch_info.fw.org @@ -10,12 +10,6 @@ # ################# # -# Patch file for ST Microelectronics - STLC2593 - 2500D with ID = 0x05 (R5.3) -# -0x0503 0x00F1 STLC2500_R5_03_A12.fw -# -################# -# # Patch file for ST Microelectronics - STLC2690 - Cut 2.1 # 0x0603 0x0014 STLC2690_R6_03_A1_E5.fw @@ -25,7 +19,6 @@ # # Patch file for ST-Ericsson - CG2900 # -#0x0700 0x0011 STLC2690_R7_00_A1_E5.fw -0x0700 0x0011 CG2900_1_0C4_1C1.fw +0x0700 0x0011 CG2900_1_0C4_1C5.fw # #################
\ No newline at end of file diff --git a/firmware/ste_conn_settings_info.fw.org b/firmware/ste_conn_settings_info.fw.org index e5d2ebcf7d5..5fadd4065a3 100755 --- a/firmware/ste_conn_settings_info.fw.org +++ b/firmware/ste_conn_settings_info.fw.org @@ -10,14 +10,6 @@ # ################# # -# Factory Settings for ST Microelectronics - STLC2593 - ST2500D R5.3 -# -# These settings are for the S335, BT2.1 support is enabled. -# -0x0503 0x00F1 STLC2593_R5_03_07_EMP_R13Lisbon.fw -# -################# -# # Factory Settings for ST Microelectronics - STLC2690 - Cut 2.1 # # These settings are for the S335, BT2.1 support is enabled. @@ -30,7 +22,6 @@ # # Factory Settings for ST-Ericsson - CG2900 # -#0x0700 0x0011 STLC2600_R7_00_01.fw -0x0700 0x0011 CG2900_1_05_V5_FMoI2S.fw +0x0700 0x0011 CG2900_1_05_SOC_generic_V11_mod.fw # ################# |