void cec_report_device_power_status(void) { unsigned char msg[3]; msg[0] = ((cec_msg.log_addr & 0xf) << 4)| CEC_TV_ADDR; msg[1] = CEC_OC_REPORT_POWER_STATUS; msg[2] = cec_msg.power_status; remote_cec_ll_tx(msg, 3); }
void cec_give_deck_status(void) { unsigned char msg[3]; msg[0] = ((cec_msg.log_addr & 0xf) << 4) | CEC_TV_ADDR; msg[1] = CEC_OC_DECK_STATUS; msg[2] = 0x1a; remote_cec_ll_tx(msg, 3); }
void cec_menu_status_smp(void) { unsigned char msg[3]; msg[0] = ((cec_msg.log_addr & 0xf) << 4)| CEC_TV_ADDR; msg[1] = CEC_OC_MENU_STATUS; msg[2] = DEVICE_MENU_ACTIVE; remote_cec_ll_tx(msg, 3); }
void cec_device_vendor_id(void) { unsigned char msg[5]; msg[0] = ((cec_msg.log_addr & 0xf) << 4)| CEC_BROADCAST_ADDR; msg[1] = CEC_OC_DEVICE_VENDOR_ID; msg[2] = 'A'; msg[3] = 'M'; msg[4] = 'L'; remote_cec_ll_tx(msg, 5); }
void cec_feature_abort(void) { if(cec_msg.buf[1] != 0xf){ unsigned char msg[4]; msg[0] = ((cec_msg.log_addr & 0xf) << 4) | CEC_TV_ADDR; msg[1] = CEC_OC_FEATURE_ABORT; msg[2] = cec_msg.buf[1]; msg[3] = CEC_UNRECONIZED_OPCODE; remote_cec_ll_tx(msg, 4); } }
void cec_report_physical_address(void) { unsigned char msg[5]; unsigned char phy_addr_ab = (readl(P_AO_DEBUG_REG1) >> 8) & 0xff; unsigned char phy_addr_cd = readl(P_AO_DEBUG_REG1) & 0xff; //unsigned char phy_addr_ab = 0x20; //unsigned char phy_addr_cd = 0x00; msg[0] = ((cec_msg.log_addr & 0xf) << 4)| CEC_BROADCAST_ADDR; msg[1] = CEC_OC_REPORT_PHYSICAL_ADDRESS; msg[2] = phy_addr_ab; msg[3] = phy_addr_cd; msg[4] = CEC_PLAYBACK_DEVICE_TYPE; remote_cec_ll_tx(msg, 5); }
void cec_device_vendor_id(void) { unsigned char msg[9]; //"PHILIPS" msg[0] = ((cec_msg.log_addr & 0xf) << 4)| CEC_BROADCAST_ADDR; msg[1] = CEC_OC_DEVICE_VENDOR_ID; msg[2] = 'P'; msg[3] = 'H'; msg[4] = 'I'; msg[5] = 'L'; msg[6] = 'I'; msg[7] = 'P'; msg[8] = 'S'; remote_cec_ll_tx(msg, 9); }
void cec_set_osd_name(void) { unsigned char msg[8]; //"PHILIPS HMP8100" msg[0] = ((cec_msg.log_addr & 0xf) << 4) | CEC_TV_ADDR; msg[1] = CEC_OC_SET_OSD_NAME; msg[2] = 'H'; msg[3] = 'M'; msg[4] = 'P'; msg[5] = '8'; msg[6] = '1'; msg[7] = '0'; remote_cec_ll_tx(msg, 8); }
void cec_set_osd_name(void) { unsigned char msg[13]; //"AMLOGIC MBX" msg[0] = ((cec_msg.log_addr & 0xf) << 4) | CEC_TV_ADDR; msg[1] = CEC_OC_SET_OSD_NAME; msg[2] = 'A'; msg[3] = 'M'; msg[4] = 'L'; msg[5] = 'O'; msg[6] = 'G'; msg[7] = 'I'; msg[8] = 'C'; msg[9] = ' '; msg[10] = 'M'; msg[11] = 'B'; msg[12] = 'X'; remote_cec_ll_tx(msg, 13); }
void cec_set_stream_path(void) { unsigned char msg[4]; unsigned char phy_addr_ab = (readl(P_AO_DEBUG_REG1) >> 8) & 0xff; unsigned char phy_addr_cd = readl(P_AO_DEBUG_REG1) & 0xff; if((hdmi_cec_func_config >> CEC_FUNC_MSAK) & 0x1){ if((hdmi_cec_func_config >> AUTO_POWER_ON_MASK) & 0x1) { if ((phy_addr_ab == cec_msg.buf[2]) && (phy_addr_cd == cec_msg.buf[3]) ) { unsigned char msg[4]; msg[0] = ((cec_msg.log_addr & 0xf) << 4)| CEC_BROADCAST_ADDR; msg[1] = CEC_OC_ACTIVE_SOURCE; msg[2] = phy_addr_ab; msg[3] = phy_addr_cd; //msg[2] = cec_global_info.cec_node_info[index].phy_addr.phy_addr_2.ab; //msg[3] = cec_global_info.cec_node_info[index].phy_addr.phy_addr_2.cd; remote_cec_ll_tx(msg, 4); //cec_msg.cec_power = 0x1; } } } }