s32 fc8080_video_select(HANDLE handle, u8 subch_id, u8 buf_id, u8 cdi_id) { u16 fec_en = 0; if (cdi_id == 0) { bbm_write(handle, BBM_FEC_RST, 0x1c); bbm_write(handle, BBM_FEC_RST, 0x00); } bbm_word_read(handle, BBM_MSC_CFG_SCH0, &fec_en); if ((fec_en & 0x00ff) && (fec_en & 0xff00) && cdi_id == 0) { bbm_write(handle, BBM_FEC_ON, 0x00); bbm_write(handle, BBM_MSC_CFG_SCH0 + cdi_id, 0x00); bbm_write(handle, BBM_MSC_CFG_SCH0 + cdi_id, fec_en & 0x00ff); bbm_write(handle, BBM_FEC_ON, 0x01); } if (fc8080_channel_select(handle, subch_id, buf_id) != BBM_OK) return BBM_NOK; bbm_write(handle, BBM_MSC_CFG_SCH0 + cdi_id, 0x40 | subch_id); bbm_write(handle, BBM_BUF_CH0_SUBID + buf_id, 0x40 | subch_id); return BBM_OK; }
fci_s32 bbm_com_channel_select(HANDLE handle, fci_u8 subch_id, fci_u8 buf_id) { fci_s32 res; res = fc8080_channel_select(handle, subch_id, buf_id); return res; }
s32 fc8080_data_select(HANDLE handle, u8 subch_id, u8 buf_id) { if (fc8080_channel_select(handle, subch_id, buf_id) != BBM_OK) return BBM_NOK; bbm_write(handle, BBM_BUF_CH0_SUBID + buf_id, 0x40 | subch_id); return BBM_OK; }