| | |
| | | |
| | | s32 tg_hw_adapter_t::get_physical_channel(s32 input , s32 logic_channel) |
| | | { |
| | | //s32 phy_channel[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19}; |
| | | if(input) { |
| | | s32 input_num = ana_input_num + dante_input_num ; |
| | | if(logic_channel < ana_input_num) { |
| | | //analog |
| | | return logic_channel; |
| | | } |
| | | else if(logic_channel < input_num) { |
| | | //dante |
| | | return 16+ (logic_channel-ana_input_num); |
| | | } |
| | | else { |
| | | //usb |
| | | return 48 + (logic_channel-input_num); |
| | | } |
| | | } |
| | | else { |
| | | //output |
| | | } |
| | | |
| | | return 0; |
| | | if(input) { |
| | | s32 input_num = ana_input_num + dante_input_num ; |
| | | if(logic_channel < ana_input_num) { |
| | | //analog |
| | | return logic_channel + 1; |
| | | } |
| | | else if(logic_channel < input_num) { |
| | | //dante |
| | | return 19 + (logic_channel - ana_input_num); |
| | | } |
| | | else { |
| | | //usb |
| | | // return 17 + (logic_channel - input_num); |
| | | return (logic_channel > input_num) ? 17 : 18; |
| | | } |
| | | } |
| | | else { //output |
| | | s32 output_num = ana_output_num + dante_output_num ; |
| | | //analog |
| | | if(logic_channel < ana_output_num) { |
| | | return logic_channel + 1; |
| | | } |
| | | else if(logic_channel < output_num) { |
| | | //dante |
| | | return 19 + (logic_channel - ana_output_num); |
| | | } |
| | | else { |
| | | //usb |
| | | // return 17 + (logic_channel - output_num); |
| | | return (logic_channel > output_num) ? 17 : 18; |
| | | } |
| | | } |
| | | } |
| | | |
| | | //物理buffer定义顺序是16通道模拟+2通道USB+32通道Dante. |
| | |
| | | AddRoute(SourceSignal::SPT0_BD1_O, DestSignal::DAI0_PB12_I); |
| | | |
| | | //USB Slave. SCLK(DAI0_8),LRCLK(DAI0_9), RX(DAI0_7),TX(DAI0_10) |
| | | for(i =4 ;i < 5; i++) { |
| | | //sport2A<->input; sport2B<->output |
| | | for(i =4 ;i < 6; i++) { |
| | | conf->sports[i].spid = i; |
| | | conf->sports[i].clke = utrue; |
| | | conf->sports[i].enable = utrue; |
| | | conf->sports[i].enable_sec = ufalse; |
| | | conf->sports[i].lfs = ufalse; |
| | | conf->sports[i].mfd = 1; |
| | | conf->sports[i].opmode = 0 ; //tdm |
| | | conf->sports[i].lfs = ufalse; // The USB left and right channels can be swapped. |
| | | conf->sports[i].mfd = 0; |
| | | conf->sports[i].opmode = 1 ; //i2s |
| | | conf->sports[i].rx = ufalse; |
| | | conf->sports[i].slots = 8; |
| | | conf->sports[i].vld = 8; |
| | | conf->sports[i].slots = 2; |
| | | conf->sports[i].vld = 2; |
| | | conf->sports[i].follow_intr_no = intr_sport_no(4); |
| | | } |
| | | conf->sports[4].interrupt = utrue; |
| | |
| | | conf->pcgs[1].fs_div = mclk / conf->mSampleRate ; |
| | | conf->pcgs[1].sclk_div = mclk / (conf->mSampleRate * 2 * 32); |
| | | AddRoute(SourceSignal::DAI0_PB02_O, DestSignal::PCG_EXTB_I); |
| | | // route |
| | | AddRoute(SourceSignal::PCG_FSB_O, DestSignal::SPT2_AFS_I); |
| | | AddRoute(SourceSignal::PCG_FSB_O, DestSignal::SPT2_BFS_I); |
| | | AddRoute(SourceSignal::PCG_CLKB_O, DestSignal::SPT2_ACLK_I); |
| | | AddRoute(SourceSignal::PCG_CLKB_O, DestSignal::SPT2_BCLK_I); |
| | | |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI0_PBEN09_I);//fs |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI0_PBEN08_I);//sclk |
| | | AddRoute(SourceSignal::PCG_FSB_O, DestSignal::DAI0_PB09_I); |
| | | AddRoute(SourceSignal::PCG_CLKB_O, DestSignal::DAI0_PB08_I); |
| | | // AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI0_PBEN09_I);//fs |
| | | // AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI0_PBEN08_I);//sclk |
| | | // AddRoute(SourceSignal::PCG_FSB_O, DestSignal::DAI0_PB09_I); |
| | | // AddRoute(SourceSignal::PCG_CLKB_O, DestSignal::DAI0_PB08_I); |
| | | |
| | | AddRoute(SourceSignal::DAI0_PB08_O, DestSignal::SPT2_ACLK_I); |
| | | AddRoute(SourceSignal::DAI0_PB09_O, DestSignal::SPT2_AFS_I); |
| | | AddRoute(SourceSignal::DAI0_PB08_O, DestSignal::SPT2_BCLK_I); |
| | | AddRoute(SourceSignal::DAI0_PB09_O, DestSignal::SPT2_BFS_I); |
| | | // AddRoute(SourceSignal::DAI0_PB08_O, DestSignal::SPT2_ACLK_I); |
| | | // AddRoute(SourceSignal::DAI0_PB09_O, DestSignal::SPT2_AFS_I); |
| | | // AddRoute(SourceSignal::DAI0_PB08_O, DestSignal::SPT2_BCLK_I); |
| | | // AddRoute(SourceSignal::DAI0_PB09_O, DestSignal::SPT2_BFS_I); |
| | | |
| | | AddRoute(SourceSignal::DAI0_PB07_O, DestSignal::SPT2_AD0_I); |
| | | // AddRoute(SourceSignal::DAI0_PB07_O, DestSignal::SPT2_AD0_I); // usb output |
| | | // AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI0_PBEN10_I); |
| | | // AddRoute(SourceSignal::SPT2_BD0_O, DestSignal::DAI0_PB10_I); // usb input |
| | | |
| | | // usb asrc |
| | | conf->srcs[0].enable = utrue; |
| | | conf->srcs[0].format = 1; |
| | | conf->srcs[0].wordLen = 0; |
| | | conf->srcs[0].ratio = 1; // usb input |
| | | |
| | | conf->srcs[1].enable = utrue; |
| | | conf->srcs[1].format = 1; |
| | | conf->srcs[1].wordLen = 0; |
| | | conf->srcs[1].ratio = 0; // usb output |
| | | |
| | | // usb input / asrc input |
| | | AddRoute(SourceSignal::DAI0_PB09_O, DestSignal::SRC0_FS_IP_I); |
| | | AddRoute(SourceSignal::DAI0_PB08_O, DestSignal::SRC0_CLK_IP_I); |
| | | AddRoute(SourceSignal::DAI0_PB07_O, DestSignal::SRC0_DAT_IP_I); |
| | | // usb input / asrc output |
| | | AddRoute(SourceSignal::PCG_FSB_O, DestSignal::SRC0_FS_OP_I); |
| | | AddRoute(SourceSignal::PCG_CLKB_O, DestSignal::SRC0_CLK_OP_I); |
| | | AddRoute(SourceSignal::SRC0_DAT_OP_O, DestSignal::SPT2_AD0_I); |
| | | // usb output / asrc input |
| | | AddRoute(SourceSignal::PCG_FSB_O, DestSignal::SRC1_FS_IP_I); |
| | | AddRoute(SourceSignal::PCG_CLKB_O, DestSignal::SRC1_CLK_IP_I); |
| | | AddRoute(SourceSignal::SPT2_BD0_O, DestSignal::SRC1_DAT_IP_I); |
| | | // usb output / asrc output |
| | | AddRoute(SourceSignal::DAI0_PB09_O, DestSignal::SRC1_FS_OP_I); |
| | | AddRoute(SourceSignal::DAI0_PB08_O, DestSignal::SRC1_CLK_OP_I); |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI0_PBEN10_I); |
| | | AddRoute(SourceSignal::SPT2_BD0_O, DestSignal::DAI0_PB10_I); |
| | | AddRoute(SourceSignal::SRC1_DAT_OP_O, DestSignal::DAI0_PB10_I); |
| | | |
| | | //Dante。 |
| | | //Dante Slave |
| | | //MCLK(DAI1_2),LRCLK(DAI1_20),SCLK(DAI1_19) |
| | | //RX0(DAI1_12),RX1(DAI1_10),RX2(DAI1_8),RX3(DAI1_6) |
| | | //TX0(DAI1_11),TX1(DAI1_9),TX2(DAI1_7),TX3(DAI1_5) |
| | | //TX0(DAI1_12),TX1(DAI1_10),TX2(DAI1_8),TX3(DAI1_6) |
| | | //RX0(DAI1_11),RX1(DAI1_9),RX2(DAI1_7),RX3(DAI1_5) |
| | | //sport4a,4b<->RX;sport5a,5b<->TX |
| | | for(i = 8 ;i < 12 ;i ++) { |
| | | conf->sports[i].spid = i; |
| | | conf->sports[i].clke = utrue; |
| | | conf->sports[i].enable = utrue; |
| | | conf->sports[i].enable_sec = ufalse; |
| | | conf->sports[i].lfs = ufalse; |
| | | conf->sports[i].mfd = 1; |
| | | conf->sports[i].opmode = 0 ; //tdm |
| | | conf->sports[i].rx = ufalse; |
| | | conf->sports[i].slots = 8; |
| | | conf->sports[i].vld = 8; |
| | | conf->sports[i].follow_intr_no = intr_sport_no(8); |
| | | } |
| | | conf->sports[8].interrupt = utrue; |
| | | conf->sports[8].rx = conf->sports[9].rx = utrue; |
| | | |
| | | AddRoute(SourceSignal::DAI1_PB19_O, DestSignal::SPT4_ACLK_I); |
| | | AddRoute(SourceSignal::DAI1_PB19_O, DestSignal::SPT4_BCLK_I); |
| | | AddRoute(SourceSignal::DAI1_PB19_O, DestSignal::SPT5_ACLK_I); |
| | | AddRoute(SourceSignal::DAI1_PB19_O, DestSignal::SPT5_BCLK_I); |
| | | AddRoute(SourceSignal::DAI1_PB20_O, DestSignal::SPT4_AFS_I); |
| | | AddRoute(SourceSignal::DAI1_PB20_O, DestSignal::SPT4_BFS_I); |
| | | AddRoute(SourceSignal::DAI1_PB20_O, DestSignal::SPT5_AFS_I); |
| | | AddRoute(SourceSignal::DAI1_PB20_O, DestSignal::SPT5_BFS_I); |
| | | |
| | | AddRoute(SourceSignal::DAI1_PB11_O, DestSignal::SPT4_AD0_I); |
| | | AddRoute(SourceSignal::DAI1_PB09_O, DestSignal::SPT4_BD0_I); |
| | | // AddRoute(SourceSignal::DAI1_PB07_O, DestSignal::SPT4_AD0_I); |
| | | // AddRoute(SourceSignal::DAI1_PB05_O, DestSignal::SPT4_BD0_I); |
| | | |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI1_PBEN12_I); |
| | | AddRoute(SourceSignal::SPT5_AD0_O, DestSignal::DAI1_PB12_I); |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI1_PBEN10_I); |
| | | AddRoute(SourceSignal::SPT5_BD0_O, DestSignal::DAI1_PB10_I); |
| | | // AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI1_PBEN08_I); |
| | | // AddRoute(SourceSignal::SPT5_AD0_O, DestSignal::DAI1_PB08_I); |
| | | // AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI1_PBEN06_I); |
| | | // AddRoute(SourceSignal::SPT5_BD0_O, DestSignal::DAI1_PB06_I); |
| | | /* TDM8 |
| | | for(i = 8 ;i < 12 ;i ++) { |
| | | conf->sports[i].spid = i; |
| | | conf->sports[i].clke = utrue; |
| | | conf->sports[i].enable = utrue; |
| | |
| | | AddRoute(SourceSignal::DAI1_PB20_O, DestSignal::SPT5_AFS_I); |
| | | AddRoute(SourceSignal::DAI1_PB20_O, DestSignal::SPT5_BFS_I); |
| | | |
| | | AddRoute(SourceSignal::DAI1_PB12_O, DestSignal::SPT4_AD0_I); |
| | | AddRoute(SourceSignal::DAI1_PB10_O, DestSignal::SPT4_AD1_I); |
| | | AddRoute(SourceSignal::DAI1_PB08_O, DestSignal::SPT4_BD0_I); |
| | | AddRoute(SourceSignal::DAI1_PB06_O, DestSignal::SPT4_BD1_I); |
| | | AddRoute(SourceSignal::DAI1_PB11_O, DestSignal::SPT4_AD0_I); |
| | | AddRoute(SourceSignal::DAI1_PB09_O, DestSignal::SPT4_AD1_I); |
| | | AddRoute(SourceSignal::DAI1_PB07_O, DestSignal::SPT4_BD0_I); |
| | | AddRoute(SourceSignal::DAI1_PB05_O, DestSignal::SPT4_BD1_I); |
| | | |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI1_PBEN11_I); |
| | | AddRoute(SourceSignal::SPT5_AD0_O, DestSignal::DAI1_PB11_I); |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI1_PBEN09_I); |
| | | AddRoute(SourceSignal::SPT5_AD1_O, DestSignal::DAI1_PB09_I); |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI1_PBEN07_I); |
| | | AddRoute(SourceSignal::SPT5_BD0_O, DestSignal::DAI1_PB07_I); |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI1_PBEN05_I); |
| | | AddRoute(SourceSignal::SPT5_BD1_O, DestSignal::DAI1_PB05_I); |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI1_PBEN12_I); |
| | | AddRoute(SourceSignal::SPT5_AD0_O, DestSignal::DAI1_PB12_I); |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI1_PBEN10_I); |
| | | AddRoute(SourceSignal::SPT5_AD1_O, DestSignal::DAI1_PB10_I); |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI1_PBEN08_I); |
| | | AddRoute(SourceSignal::SPT5_BD0_O, DestSignal::DAI1_PB08_I); |
| | | AddRoute(SourceSignal::LOGIC_HIGH, DestSignal::DAI1_PBEN06_I); |
| | | AddRoute(SourceSignal::SPT5_BD1_O, DestSignal::DAI1_PB06_I);*/ |
| | | } |