/* * dai.c * * Created on: 2021Äê12ÔÂ30ÈÕ * Author: graydon */ #include #include "sru_dai.h" u32 _REG[DestSignalCount]={ DAI0_PB01_I_REG,DAI0_PB02_I_REG,DAI0_PB03_I_REG,DAI0_PB04_I_REG, DAI0_PB05_I_REG,DAI0_PB06_I_REG,DAI0_PB07_I_REG,DAI0_PB08_I_REG, DAI0_PB09_I_REG,DAI0_PB10_I_REG,DAI0_PB11_I_REG,DAI0_PB12_I_REG, DAI0_PB19_I_REG,DAI0_PB20_I_REG, DAI1_PB01_I_REG,DAI1_PB02_I_REG,DAI1_PB03_I_REG,DAI1_PB04_I_REG, DAI1_PB05_I_REG,DAI1_PB06_I_REG,DAI1_PB07_I_REG,DAI1_PB08_I_REG, DAI1_PB09_I_REG,DAI1_PB10_I_REG,DAI1_PB11_I_REG,DAI1_PB12_I_REG, DAI1_PB19_I_REG,DAI1_PB20_I_REG, DAI0_PBEN01_I_REG,DAI0_PBEN02_I_REG,DAI0_PBEN03_I_REG,DAI0_PBEN04_I_REG, DAI0_PBEN05_I_REG,DAI0_PBEN06_I_REG,DAI0_PBEN07_I_REG,DAI0_PBEN08_I_REG, DAI0_PBEN09_I_REG,DAI0_PBEN10_I_REG,DAI0_PBEN11_I_REG,DAI0_PBEN12_I_REG, DAI0_PBEN19_I_REG,DAI0_PBEN20_I_REG, DAI1_PBEN01_I_REG,DAI1_PBEN02_I_REG,DAI1_PBEN03_I_REG,DAI1_PBEN04_I_REG, DAI1_PBEN05_I_REG,DAI1_PBEN06_I_REG,DAI1_PBEN07_I_REG,DAI1_PBEN08_I_REG, DAI1_PBEN09_I_REG,DAI1_PBEN10_I_REG,DAI1_PBEN11_I_REG,DAI1_PBEN12_I_REG, DAI1_PBEN19_I_REG,DAI1_PBEN20_I_REG, SPT0_ACLK_I_REG,SPT0_BCLK_I_REG,SPT0_AFS_I_REG,SPT0_BFS_I_REG, SPT0_AD0_I_REG,SPT0_AD1_I_REG,SPT0_BD0_I_REG,SPT0_BD1_I_REG, SPT1_ACLK_I_REG,SPT1_BCLK_I_REG,SPT1_AFS_I_REG,SPT1_BFS_I_REG, SPT1_AD0_I_REG,SPT1_AD1_I_REG,SPT1_BD0_I_REG,SPT1_BD1_I_REG, SPT2_ACLK_I_REG,SPT2_BCLK_I_REG,SPT2_AFS_I_REG,SPT2_BFS_I_REG, SPT2_AD0_I_REG,SPT2_AD1_I_REG,SPT2_BD0_I_REG,SPT2_BD1_I_REG, SPT3_ACLK_I_REG,SPT3_BCLK_I_REG,SPT3_AFS_I_REG,SPT3_BFS_I_REG, SPT3_AD0_I_REG,SPT3_AD1_I_REG,SPT3_BD0_I_REG,SPT3_BD1_I_REG, SPT4_ACLK_I_REG,SPT4_BCLK_I_REG,SPT4_AFS_I_REG,SPT4_BFS_I_REG, SPT4_AD0_I_REG,SPT4_AD1_I_REG,SPT4_BD0_I_REG,SPT4_BD1_I_REG, SPT5_ACLK_I_REG,SPT5_BCLK_I_REG,SPT5_AFS_I_REG,SPT5_BFS_I_REG, SPT5_AD0_I_REG,SPT5_AD1_I_REG,SPT5_BD0_I_REG,SPT5_BD1_I_REG, SPT6_ACLK_I_REG,SPT6_BCLK_I_REG,SPT6_AFS_I_REG,SPT6_BFS_I_REG, SPT6_AD0_I_REG,SPT6_AD1_I_REG,SPT6_BD0_I_REG,SPT6_BD1_I_REG, SPT7_ACLK_I_REG,SPT7_BCLK_I_REG,SPT7_AFS_I_REG,SPT7_BFS_I_REG, SPT7_AD0_I_REG,SPT7_AD1_I_REG,SPT7_BD0_I_REG,SPT7_BD1_I_REG, PCG0_EXTCLKA_I_REG,PCG0_EXTCLKB_I_REG,PCG0_EXTCLKC_I_REG,PCG0_EXTCLKD_I_REG, SRC0_CLK_IP_I_REG,SRC0_FS_IP_I_REG,SRC0_DAT_IP_I_REG,SRC0_CLK_OP_I_REG, SRC0_FS_OP_I_REG,SRC0_TDM_OP_I_REG, SRC1_CLK_IP_I_REG,SRC1_FS_IP_I_REG,SRC1_DAT_IP_I_REG,SRC1_CLK_OP_I_REG, SRC1_FS_OP_I_REG,SRC1_TDM_OP_I_REG, SRC2_CLK_IP_I_REG,SRC2_FS_IP_I_REG,SRC2_DAT_IP_I_REG,SRC2_CLK_OP_I_REG, SRC2_FS_OP_I_REG,SRC2_TDM_OP_I_REG, SRC3_CLK_IP_I_REG,SRC3_FS_IP_I_REG,SRC3_DAT_IP_I_REG,SRC3_CLK_OP_I_REG, SRC3_FS_OP_I_REG,SRC3_TDM_OP_I_REG, }; u32 _GROUP[DestSignalCount] = { DAI0_PB01_I_GROUP,DAI0_PB02_I_GROUP,DAI0_PB03_I_GROUP,DAI0_PB04_I_GROUP, DAI0_PB05_I_GROUP,DAI0_PB06_I_GROUP,DAI0_PB07_I_GROUP,DAI0_PB08_I_GROUP, DAI0_PB09_I_GROUP,DAI0_PB10_I_GROUP,DAI0_PB11_I_GROUP,DAI0_PB12_I_GROUP, DAI0_PB19_I_GROUP,DAI0_PB20_I_GROUP, DAI1_PB01_I_GROUP,DAI1_PB02_I_GROUP,DAI1_PB03_I_GROUP,DAI1_PB04_I_GROUP, DAI1_PB05_I_GROUP,DAI1_PB06_I_GROUP,DAI1_PB07_I_GROUP,DAI1_PB08_I_GROUP, DAI1_PB09_I_GROUP,DAI1_PB10_I_GROUP,DAI1_PB11_I_GROUP,DAI1_PB12_I_GROUP, DAI1_PB19_I_GROUP,DAI1_PB20_I_GROUP, DAI0_PBEN01_I_GROUP,DAI0_PBEN02_I_GROUP,DAI0_PBEN03_I_GROUP,DAI0_PBEN04_I_GROUP, DAI0_PBEN05_I_GROUP,DAI0_PBEN06_I_GROUP,DAI0_PBEN07_I_GROUP,DAI0_PBEN08_I_GROUP, DAI0_PBEN09_I_GROUP,DAI0_PBEN10_I_GROUP,DAI0_PBEN11_I_GROUP,DAI0_PBEN12_I_GROUP, DAI0_PBEN19_I_GROUP,DAI0_PBEN20_I_GROUP, DAI1_PBEN01_I_GROUP,DAI1_PBEN02_I_GROUP,DAI1_PBEN03_I_GROUP,DAI1_PBEN04_I_GROUP, DAI1_PBEN05_I_GROUP,DAI1_PBEN06_I_GROUP,DAI1_PBEN07_I_GROUP,DAI1_PBEN08_I_GROUP, DAI1_PBEN09_I_GROUP,DAI1_PBEN10_I_GROUP,DAI1_PBEN11_I_GROUP,DAI1_PBEN12_I_GROUP, DAI1_PBEN19_I_GROUP,DAI1_PBEN20_I_GROUP, SPT0_ACLK_I_GROUP,SPT0_BCLK_I_GROUP,SPT0_AFS_I_GROUP,SPT0_BFS_I_GROUP, SPT0_AD0_I_GROUP,SPT0_AD1_I_GROUP,SPT0_BD0_I_GROUP,SPT0_BD1_I_GROUP, SPT1_ACLK_I_GROUP,SPT1_BCLK_I_GROUP,SPT1_AFS_I_GROUP,SPT1_BFS_I_GROUP, SPT1_AD0_I_GROUP,SPT1_AD1_I_GROUP,SPT1_BD0_I_GROUP,SPT1_BD1_I_GROUP, SPT2_ACLK_I_GROUP,SPT2_BCLK_I_GROUP,SPT2_AFS_I_GROUP,SPT2_BFS_I_GROUP, SPT2_AD0_I_GROUP,SPT2_AD1_I_GROUP,SPT2_BD0_I_GROUP,SPT2_BD1_I_GROUP, SPT3_ACLK_I_GROUP,SPT3_BCLK_I_GROUP,SPT3_AFS_I_GROUP,SPT3_BFS_I_GROUP, SPT3_AD0_I_GROUP,SPT3_AD1_I_GROUP,SPT3_BD0_I_GROUP,SPT3_BD1_I_GROUP, SPT4_ACLK_I_GROUP,SPT4_BCLK_I_GROUP,SPT4_AFS_I_GROUP,SPT4_BFS_I_GROUP, SPT4_AD0_I_GROUP,SPT4_AD1_I_GROUP,SPT4_BD0_I_GROUP,SPT4_BD1_I_GROUP, SPT5_ACLK_I_GROUP,SPT5_BCLK_I_GROUP,SPT5_AFS_I_GROUP,SPT5_BFS_I_GROUP, SPT5_AD0_I_GROUP,SPT5_AD1_I_GROUP,SPT5_BD0_I_GROUP,SPT5_BD1_I_GROUP, SPT6_ACLK_I_GROUP,SPT6_BCLK_I_GROUP,SPT6_AFS_I_GROUP,SPT6_BFS_I_GROUP, SPT6_AD0_I_GROUP,SPT6_AD1_I_GROUP,SPT6_BD0_I_GROUP,SPT6_BD1_I_GROUP, SPT7_ACLK_I_GROUP,SPT7_BCLK_I_GROUP,SPT7_AFS_I_GROUP,SPT7_BFS_I_GROUP, SPT7_AD0_I_GROUP,SPT7_AD1_I_GROUP,SPT7_BD0_I_GROUP,SPT7_BD1_I_GROUP, PCG0_EXTCLKA_I_GROUP,PCG0_EXTCLKB_I_GROUP,PCG0_EXTCLKC_I_GROUP,PCG0_EXTCLKD_I_GROUP, SRC0_CLK_IP_I_GROUP,SRC0_FS_IP_I_GROUP,SRC0_DAT_IP_I_GROUP,SRC0_CLK_OP_I_GROUP, SRC0_FS_OP_I_GROUP,SRC0_TDM_OP_I_GROUP, SRC1_CLK_IP_I_GROUP,SRC1_FS_IP_I_GROUP,SRC1_DAT_IP_I_GROUP,SRC1_CLK_OP_I_GROUP, SRC1_FS_OP_I_GROUP,SRC1_TDM_OP_I_GROUP, SRC2_CLK_IP_I_GROUP,SRC2_FS_IP_I_GROUP,SRC2_DAT_IP_I_GROUP,SRC2_CLK_OP_I_GROUP, SRC2_FS_OP_I_GROUP,SRC2_TDM_OP_I_GROUP, SRC3_CLK_IP_I_GROUP,SRC3_FS_IP_I_GROUP,SRC3_DAT_IP_I_GROUP,SRC3_CLK_OP_I_GROUP, SRC3_FS_OP_I_GROUP,SRC3_TDM_OP_I_GROUP, }; u32 IN_SHIFT[DestSignalCount] = { DAI0_PB01_I_SHIFT,DAI0_PB02_I_SHIFT,DAI0_PB03_I_SHIFT,DAI0_PB04_I_SHIFT, DAI0_PB05_I_SHIFT,DAI0_PB06_I_SHIFT,DAI0_PB07_I_SHIFT,DAI0_PB08_I_SHIFT, DAI0_PB09_I_SHIFT,DAI0_PB10_I_SHIFT,DAI0_PB11_I_SHIFT,DAI0_PB12_I_SHIFT, DAI0_PB19_I_SHIFT,DAI0_PB20_I_SHIFT, DAI1_PB01_I_SHIFT,DAI1_PB02_I_SHIFT,DAI1_PB03_I_SHIFT,DAI1_PB04_I_SHIFT, DAI1_PB05_I_SHIFT,DAI1_PB06_I_SHIFT,DAI1_PB07_I_SHIFT,DAI1_PB08_I_SHIFT, DAI1_PB09_I_SHIFT,DAI1_PB10_I_SHIFT,DAI1_PB11_I_SHIFT,DAI1_PB12_I_SHIFT, DAI1_PB19_I_SHIFT,DAI1_PB20_I_SHIFT, DAI0_PBEN01_I_SHIFT,DAI0_PBEN02_I_SHIFT,DAI0_PBEN03_I_SHIFT,DAI0_PBEN04_I_SHIFT, DAI0_PBEN05_I_SHIFT,DAI0_PBEN06_I_SHIFT,DAI0_PBEN07_I_SHIFT,DAI0_PBEN08_I_SHIFT, DAI0_PBEN09_I_SHIFT,DAI0_PBEN10_I_SHIFT,DAI0_PBEN11_I_SHIFT,DAI0_PBEN12_I_SHIFT, DAI0_PBEN19_I_SHIFT,DAI0_PBEN20_I_SHIFT, DAI1_PBEN01_I_SHIFT,DAI1_PBEN02_I_SHIFT,DAI1_PBEN03_I_SHIFT,DAI1_PBEN04_I_SHIFT, DAI1_PBEN05_I_SHIFT,DAI1_PBEN06_I_SHIFT,DAI1_PBEN07_I_SHIFT,DAI1_PBEN08_I_SHIFT, DAI1_PBEN09_I_SHIFT,DAI1_PBEN10_I_SHIFT,DAI1_PBEN11_I_SHIFT,DAI1_PBEN12_I_SHIFT, DAI1_PBEN19_I_SHIFT,DAI1_PBEN20_I_SHIFT, SPT0_ACLK_I_SHIFT,SPT0_BCLK_I_SHIFT,SPT0_AFS_I_SHIFT,SPT0_BFS_I_SHIFT, SPT0_AD0_I_SHIFT,SPT0_AD1_I_SHIFT,SPT0_BD0_I_SHIFT,SPT0_BD1_I_SHIFT, SPT1_ACLK_I_SHIFT,SPT1_BCLK_I_SHIFT,SPT1_AFS_I_SHIFT,SPT1_BFS_I_SHIFT, SPT1_AD0_I_SHIFT,SPT1_AD1_I_SHIFT,SPT1_BD0_I_SHIFT,SPT1_BD1_I_SHIFT, SPT2_ACLK_I_SHIFT,SPT2_BCLK_I_SHIFT,SPT2_AFS_I_SHIFT,SPT2_BFS_I_SHIFT, SPT2_AD0_I_SHIFT,SPT2_AD1_I_SHIFT,SPT2_BD0_I_SHIFT,SPT2_BD1_I_SHIFT, SPT3_ACLK_I_SHIFT,SPT3_BCLK_I_SHIFT,SPT3_AFS_I_SHIFT,SPT3_BFS_I_SHIFT, SPT3_AD0_I_SHIFT,SPT3_AD1_I_SHIFT,SPT3_BD0_I_SHIFT,SPT3_BD1_I_SHIFT, SPT4_ACLK_I_SHIFT,SPT4_BCLK_I_SHIFT,SPT4_AFS_I_SHIFT,SPT4_BFS_I_SHIFT, SPT4_AD0_I_SHIFT,SPT4_AD1_I_SHIFT,SPT4_BD0_I_SHIFT,SPT4_BD1_I_SHIFT, SPT5_ACLK_I_SHIFT,SPT5_BCLK_I_SHIFT,SPT5_AFS_I_SHIFT,SPT5_BFS_I_SHIFT, SPT5_AD0_I_SHIFT,SPT5_AD1_I_SHIFT,SPT5_BD0_I_SHIFT,SPT5_BD1_I_SHIFT, SPT6_ACLK_I_SHIFT,SPT6_BCLK_I_SHIFT,SPT6_AFS_I_SHIFT,SPT6_BFS_I_SHIFT, SPT6_AD0_I_SHIFT,SPT6_AD1_I_SHIFT,SPT6_BD0_I_SHIFT,SPT6_BD1_I_SHIFT, SPT7_ACLK_I_SHIFT,SPT7_BCLK_I_SHIFT,SPT7_AFS_I_SHIFT,SPT7_BFS_I_SHIFT, SPT7_AD0_I_SHIFT,SPT7_AD1_I_SHIFT,SPT7_BD0_I_SHIFT,SPT7_BD1_I_SHIFT, PCG0_EXTCLKA_I_SHIFT,PCG0_EXTCLKB_I_SHIFT,PCG0_EXTCLKC_I_SHIFT,PCG0_EXTCLKD_I_SHIFT, SRC0_CLK_IP_I_SHIFT,SRC0_FS_IP_I_SHIFT,SRC0_DAT_IP_I_SHIFT,SRC0_CLK_OP_I_SHIFT, SRC0_FS_OP_I_SHIFT,SRC0_TDM_OP_I_SHIFT, SRC1_CLK_IP_I_SHIFT,SRC1_FS_IP_I_SHIFT,SRC1_DAT_IP_I_SHIFT,SRC1_CLK_OP_I_SHIFT, SRC1_FS_OP_I_SHIFT,SRC1_TDM_OP_I_SHIFT, SRC2_CLK_IP_I_SHIFT,SRC2_FS_IP_I_SHIFT,SRC2_DAT_IP_I_SHIFT,SRC2_CLK_OP_I_SHIFT, SRC2_FS_OP_I_SHIFT,SRC2_TDM_OP_I_SHIFT, SRC3_CLK_IP_I_SHIFT,SRC3_FS_IP_I_SHIFT,SRC3_DAT_IP_I_SHIFT,SRC3_CLK_OP_I_SHIFT, SRC3_FS_OP_I_SHIFT,SRC3_TDM_OP_I_SHIFT, }; u32 srufield(SourceSignal source, DestSignal dest) { const u32 A_out[SourceSignalCount] = { A_DAI0_PB01_O,A_DAI0_PB02_O,A_DAI0_PB03_O,A_DAI0_PB04_O, A_DAI0_PB05_O,A_DAI0_PB06_O,A_DAI0_PB07_O,A_DAI0_PB08_O, A_DAI0_PB09_O,A_DAI0_PB10_O,A_DAI0_PB11_O,A_DAI0_PB12_O, A_DAI0_PB19_O,A_DAI0_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, A_SPT0_AD0_O,A_SPT0_AD1_O,A_SPT0_BD0_O,A_SPT0_BD1_O, A_SPT1_AD0_O,A_SPT1_AD1_O,A_SPT1_BD0_O,A_SPT1_BD1_O, A_SPT2_AD0_O,A_SPT2_AD1_O,A_SPT2_BD0_O,A_SPT2_BD1_O, A_SPT3_AD0_O,A_SPT3_AD1_O,A_SPT3_BD0_O,A_SPT3_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, A_PCG0_CLKA_O,A_PCG0_CLKB_O,_DUMMY_VALUE,_DUMMY_VALUE, A_PCG0_FSA_O,A_PCG0_FSB_O,_DUMMY_VALUE,_DUMMY_VALUE, A_SRC0_DAT_OP_O,A_SRC0_TDM_IP_O,A_SRC1_DAT_OP_O,A_SRC1_TDM_IP_O, A_SRC2_DAT_OP_O,A_SRC2_TDM_IP_O,A_SRC3_DAT_OP_O,A_SRC3_TDM_IP_O, A_LOW,A_HIGH, }; const u32 B_out[SourceSignalCount] = { B_DAI0_PB01_O,B_DAI0_PB02_O,B_DAI0_PB03_O,B_DAI0_PB04_O, B_DAI0_PB05_O,B_DAI0_PB06_O,B_DAI0_PB07_O,B_DAI0_PB08_O, B_DAI0_PB09_O,B_DAI0_PB10_O,B_DAI0_PB11_O,B_DAI0_PB12_O, B_DAI0_PB19_O,B_DAI0_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, B_SPT0_AD0_O,B_SPT0_AD1_O,B_SPT0_BD0_O,B_SPT0_BD1_O, B_SPT1_AD0_O,B_SPT1_AD1_O,B_SPT1_BD0_O,B_SPT1_BD1_O, B_SPT2_AD0_O,B_SPT2_AD1_O,B_SPT2_BD0_O,B_SPT2_BD1_O, B_SPT3_AD0_O,B_SPT3_AD1_O,B_SPT3_BD0_O,B_SPT3_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, B_PCG0_CLKA_O,B_PCG0_CLKB_O,_DUMMY_VALUE,_DUMMY_VALUE, B_PCG0_FSA_O,B_PCG0_FSB_O,_DUMMY_VALUE,_DUMMY_VALUE, B_SRC0_DAT_OP_O,B_SRC0_TDM_IP_O,B_SRC1_DAT_OP_O,B_SRC1_TDM_IP_O, B_SRC2_DAT_OP_O,B_SRC2_TDM_IP_O,B_SRC3_DAT_OP_O,B_SRC3_TDM_IP_O, B_LOW,B_HIGH, }; const u32 C_out[SourceSignalCount] = { C_DAI0_PB01_O,C_DAI0_PB02_O,C_DAI0_PB03_O,C_DAI0_PB04_O, C_DAI0_PB05_O,C_DAI0_PB06_O,C_DAI0_PB07_O,C_DAI0_PB08_O, C_DAI0_PB09_O,C_DAI0_PB10_O,C_DAI0_PB11_O,C_DAI0_PB12_O, C_DAI0_PB19_O,C_DAI0_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, C_SPT0_AD0_O,C_SPT0_AD1_O,C_SPT0_BD0_O,C_SPT0_BD1_O, C_SPT1_AD0_O,C_SPT1_AD1_O,C_SPT1_BD0_O,C_SPT1_BD1_O, C_SPT2_AD0_O,C_SPT2_AD1_O,C_SPT2_BD0_O,C_SPT2_BD1_O, C_SPT3_AD0_O,C_SPT3_AD1_O,C_SPT3_BD0_O,C_SPT3_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, C_PCG0_CLKA_O,C_PCG0_CLKB_O,_DUMMY_VALUE,_DUMMY_VALUE, C_PCG0_FSA_O,C_PCG0_FSB_O,_DUMMY_VALUE,_DUMMY_VALUE, C_SRC0_DAT_OP_O,C_SRC0_TDM_IP_O,C_SRC1_DAT_OP_O,C_SRC1_TDM_IP_O, C_SRC2_DAT_OP_O,C_SRC2_TDM_IP_O,C_SRC3_DAT_OP_O,C_SRC3_TDM_IP_O, C_LOW,C_HIGH, }; const u32 D_out[SourceSignalCount] = { D_DAI0_PB01_O,D_DAI0_PB02_O,D_DAI0_PB03_O,D_DAI0_PB04_O, D_DAI0_PB05_O,D_DAI0_PB06_O,D_DAI0_PB07_O,D_DAI0_PB08_O, D_DAI0_PB09_O,D_DAI0_PB10_O,D_DAI0_PB11_O,D_DAI0_PB12_O, D_DAI0_PB19_O,D_DAI0_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, D_SPT0_AD0_O,D_SPT0_AD1_O,D_SPT0_BD0_O,D_SPT0_BD1_O, D_SPT1_AD0_O,D_SPT1_AD1_O,D_SPT1_BD0_O,D_SPT1_BD1_O, D_SPT2_AD0_O,D_SPT2_AD1_O,D_SPT2_BD0_O,D_SPT2_BD1_O, D_SPT3_AD0_O,D_SPT3_AD1_O,D_SPT3_BD0_O,D_SPT3_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, D_PCG0_CLKA_O,D_PCG0_CLKB_O,_DUMMY_VALUE,_DUMMY_VALUE, D_PCG0_FSA_O,D_PCG0_FSB_O,_DUMMY_VALUE,_DUMMY_VALUE, D_SRC0_DAT_OP_O,D_SRC0_TDM_IP_O,D_SRC1_DAT_OP_O,D_SRC1_TDM_IP_O, D_SRC2_DAT_OP_O,D_SRC2_TDM_IP_O,D_SRC3_DAT_OP_O,D_SRC3_TDM_IP_O, D_LOW,D_HIGH, }; const u32 E_out[SourceSignalCount] = { E_DAI0_PB01_O,G_DAI0_PB02_O,G_DAI0_PB03_O,G_DAI0_PB04_O, E_DAI0_PB05_O,G_DAI0_PB06_O,G_DAI0_PB07_O,G_DAI0_PB08_O, E_DAI0_PB09_O,G_DAI0_PB10_O,G_DAI0_PB11_O,G_DAI0_PB12_O, E_DAI0_PB19_O,G_DAI0_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, E_SPT0_AD0_O,E_SPT0_AD1_O,E_SPT0_BD0_O,E_SPT0_BD1_O, E_SPT1_AD0_O,E_SPT1_AD1_O,E_SPT1_BD0_O,E_SPT1_BD1_O, E_SPT2_AD0_O,E_SPT2_AD1_O,E_SPT2_BD0_O,E_SPT2_BD1_O, E_SPT3_AD0_O,E_SPT3_AD1_O,E_SPT3_BD0_O,E_SPT3_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, E_PCG0_CLKA_O,E_PCG0_CLKB_O,_DUMMY_VALUE,_DUMMY_VALUE, E_PCG0_FSA_O,E_PCG0_FSB_O,_DUMMY_VALUE,_DUMMY_VALUE, E_SRC0_DAT_OP_O,E_SRC0_TDM_IP_O,E_SRC1_DAT_OP_O,E_SRC1_TDM_IP_O, E_SRC2_DAT_OP_O,E_SRC2_TDM_IP_O,E_SRC3_DAT_OP_O,E_SRC3_TDM_IP_O, E_LOW,E_HIGH, }; const u32 F_out[SourceSignalCount] = { F_DAI0_PB01_O,F_DAI0_PB02_O,F_DAI0_PB03_O,F_DAI0_PB04_O, F_DAI0_PB05_O,F_DAI0_PB06_O,F_DAI0_PB07_O,F_DAI0_PB08_O, F_DAI0_PB09_O,F_DAI0_PB10_O,F_DAI0_PB11_O,F_DAI0_PB12_O, F_DAI0_PB19_O,F_DAI0_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, F_SPT0_AD0_O,F_SPT0_AD1_O,F_SPT0_BD0_O,F_SPT0_BD1_O, F_SPT1_AD0_O,F_SPT1_AD1_O,F_SPT1_BD0_O,F_SPT1_BD1_O, F_SPT2_AD0_O,F_SPT2_AD1_O,F_SPT2_BD0_O,F_SPT2_BD1_O, F_SPT3_AD0_O,F_SPT3_AD1_O,F_SPT3_BD0_O,F_SPT3_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, F_PCG0_CLKA_O,F_PCG0_CLKB_O,_DUMMY_VALUE,_DUMMY_VALUE, F_PCG0_FSA_O,F_PCG0_FSB_O,_DUMMY_VALUE,_DUMMY_VALUE, F_SRC0_DAT_OP_O,F_SRC0_TDM_IP_O,F_SRC1_DAT_OP_O,F_SRC1_TDM_IP_O, F_SRC2_DAT_OP_O,F_SRC2_TDM_IP_O,F_SRC3_DAT_OP_O,F_SRC3_TDM_IP_O, F_LOW,F_HIGH, }; const u32 G_out[SourceSignalCount] = { G_DAI0_PB01_O,G_DAI0_PB02_O,G_DAI0_PB03_O,G_DAI0_PB04_O, G_DAI0_PB05_O,G_DAI0_PB06_O,G_DAI0_PB07_O,G_DAI0_PB08_O, G_DAI0_PB09_O,G_DAI0_PB10_O,G_DAI0_PB11_O,G_DAI0_PB12_O, G_DAI0_PB19_O,G_DAI0_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, G_SPT0_AD0_O,G_SPT0_AD1_O,G_SPT0_BD0_O,G_SPT0_BD1_O, G_SPT1_AD0_O,G_SPT1_AD1_O,G_SPT1_BD0_O,G_SPT1_BD1_O, G_SPT2_AD0_O,G_SPT2_AD1_O,G_SPT2_BD0_O,G_SPT2_BD1_O, G_SPT3_AD0_O,G_SPT3_AD1_O,G_SPT3_BD0_O,G_SPT3_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, G_PCG0_CLKA_O,G_PCG0_CLKB_O,_DUMMY_VALUE,_DUMMY_VALUE, G_PCG0_FSA_O,G_PCG0_FSB_O,_DUMMY_VALUE,_DUMMY_VALUE, G_SRC0_DAT_OP_O,G_SRC0_TDM_IP_O,G_SRC1_DAT_OP_O,G_SRC1_TDM_IP_O, G_SRC2_DAT_OP_O,G_SRC2_TDM_IP_O,G_SRC3_DAT_OP_O,G_SRC3_TDM_IP_O, G_LOW,G_HIGH, }; return (((_GROUP[dest] & GROUP_A) >> LOG_GROUP_A) * A_out[source] \ |((_GROUP[dest] & GROUP_B) >> LOG_GROUP_B) * B_out[source] \ |((_GROUP[dest] & GROUP_C) >> LOG_GROUP_C) * C_out[source] \ |((_GROUP[dest] & GROUP_D) >> LOG_GROUP_D) * D_out[source] \ |((_GROUP[dest] & GROUP_E) >> LOG_GROUP_E) * E_out[source] \ |((_GROUP[dest]& GROUP_F) >> LOG_GROUP_F) * F_out[source] \ |((_GROUP[dest] & GROUP_G) >> LOG_GROUP_G) * G_out[source] ) << IN_SHIFT[dest]; } u32 sru2field(SourceSignal source, DestSignal dest) { const u32 A2_out[SourceSignalCount] = { _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, A2_DAI1_PB01_O,A2_DAI1_PB02_O,A2_DAI1_PB03_O,A2_DAI1_PB04_O, A2_DAI1_PB05_O,A2_DAI1_PB06_O,A2_DAI1_PB07_O,A2_DAI1_PB08_O, A2_DAI1_PB09_O,A2_DAI1_PB10_O,A2_DAI1_PB11_O,A2_DAI1_PB12_O, A2_DAI1_PB19_O,A2_DAI1_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, A2_SPT4_AD0_O,A2_SPT4_AD1_O,A2_SPT4_BD0_O,A2_SPT4_BD1_O, A2_SPT5_AD0_O,A2_SPT5_AD1_O,A2_SPT5_BD0_O,A2_SPT5_BD1_O, A2_SPT6_AD0_O,A2_SPT6_AD1_O,A2_SPT6_BD0_O,A2_SPT6_BD1_O, A2_SPT7_AD0_O,A2_SPT7_AD1_O,A2_SPT7_BD0_O,A2_SPT7_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,A2_PCG0_CLKC_O,A2_PCG0_CLKD_O, _DUMMY_VALUE,_DUMMY_VALUE,A2_PCG0_FSC_O,A2_PCG0_FSD_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, // A2_SRC4_DAT_OP_O,A2_SRC4_TDM_IP_O,A2_SRC5_DAT_OP_O,A2_SRC5_TDM_IP_O, // A2_SRC6_DAT_OP_O,A2_SRC6_TDM_IP_O,A2_SRC7_DAT_OP_O,A2_SRC7_TDM_IP_O, A2_LOW,A2_HIGH, }; const u32 B2_out[SourceSignalCount] = { _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, B2_DAI1_PB01_O,B2_DAI1_PB02_O,B2_DAI1_PB03_O,B2_DAI1_PB04_O, B2_DAI1_PB05_O,B2_DAI1_PB06_O,B2_DAI1_PB07_O,B2_DAI1_PB08_O, B2_DAI1_PB09_O,B2_DAI1_PB10_O,B2_DAI1_PB11_O,B2_DAI1_PB12_O, B2_DAI1_PB19_O,B2_DAI1_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, B2_SPT4_AD0_O,B2_SPT4_AD1_O,B2_SPT4_BD0_O,B2_SPT4_BD1_O, B2_SPT5_AD0_O,B2_SPT5_AD1_O,B2_SPT5_BD0_O,B2_SPT5_BD1_O, B2_SPT6_AD0_O,B2_SPT6_AD1_O,B2_SPT6_BD0_O,B2_SPT6_BD1_O, B2_SPT7_AD0_O,B2_SPT7_AD1_O,B2_SPT7_BD0_O,B2_SPT7_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,B2_PCG0_CLKC_O,B2_PCG0_CLKD_O, _DUMMY_VALUE,_DUMMY_VALUE,B2_PCG0_FSC_O,B2_PCG0_FSD_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, B2_LOW,B2_HIGH, }; const u32 C2_out[SourceSignalCount] = { _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, C2_DAI1_PB01_O,C2_DAI1_PB02_O,C2_DAI1_PB03_O,C2_DAI1_PB04_O, C2_DAI1_PB05_O,C2_DAI1_PB06_O,C2_DAI1_PB07_O,C2_DAI1_PB08_O, C2_DAI1_PB09_O,C2_DAI1_PB10_O,C2_DAI1_PB11_O,C2_DAI1_PB12_O, C2_DAI1_PB19_O,C2_DAI1_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, C2_SPT4_AD0_O,C2_SPT4_AD1_O,C2_SPT4_BD0_O,C2_SPT4_BD1_O, C2_SPT5_AD0_O,C2_SPT5_AD1_O,C2_SPT5_BD0_O,C2_SPT5_BD1_O, C2_SPT6_AD0_O,C2_SPT6_AD1_O,C2_SPT6_BD0_O,C2_SPT6_BD1_O, C2_SPT7_AD0_O,C2_SPT7_AD1_O,C2_SPT7_BD0_O,C2_SPT7_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,C2_PCG0_CLKC_O,C2_PCG0_CLKD_O, _DUMMY_VALUE,_DUMMY_VALUE,C2_PCG0_FSC_O,C2_PCG0_FSD_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, C2_LOW,C2_HIGH, }; const u32 D2_out[SourceSignalCount] = { _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, D2_DAI1_PB01_O,D2_DAI1_PB02_O,D2_DAI1_PB03_O,D2_DAI1_PB04_O, D2_DAI1_PB05_O,D2_DAI1_PB06_O,D2_DAI1_PB07_O,D2_DAI1_PB08_O, D2_DAI1_PB09_O,D2_DAI1_PB10_O,D2_DAI1_PB11_O,D2_DAI1_PB12_O, D2_DAI1_PB19_O,D2_DAI1_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, D2_SPT4_AD0_O,D2_SPT4_AD1_O,D2_SPT4_BD0_O,D2_SPT4_BD1_O, D2_SPT5_AD0_O,D2_SPT5_AD1_O,D2_SPT5_BD0_O,D2_SPT5_BD1_O, D2_SPT6_AD0_O,D2_SPT6_AD1_O,D2_SPT6_BD0_O,D2_SPT6_BD1_O, D2_SPT7_AD0_O,D2_SPT7_AD1_O,D2_SPT7_BD0_O,D2_SPT7_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,D2_PCG0_CLKC_O,D2_PCG0_CLKD_O, _DUMMY_VALUE,_DUMMY_VALUE,D2_PCG0_FSC_O,D2_PCG0_FSD_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, D2_LOW,D2_HIGH, }; const u32 E2_out[SourceSignalCount] = { _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, E2_DAI1_PB01_O,E2_DAI1_PB02_O,E2_DAI1_PB03_O,E2_DAI1_PB04_O, E2_DAI1_PB05_O,E2_DAI1_PB06_O,E2_DAI1_PB07_O,E2_DAI1_PB08_O, E2_DAI1_PB09_O,E2_DAI1_PB10_O,E2_DAI1_PB11_O,E2_DAI1_PB12_O, E2_DAI1_PB19_O,E2_DAI1_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, E2_SPT4_AD0_O,E2_SPT4_AD1_O,E2_SPT4_BD0_O,E2_SPT4_BD1_O, E2_SPT5_AD0_O,E2_SPT5_AD1_O,E2_SPT5_BD0_O,E2_SPT5_BD1_O, E2_SPT6_AD0_O,E2_SPT6_AD1_O,E2_SPT6_BD0_O,E2_SPT6_BD1_O, E2_SPT7_AD0_O,E2_SPT7_AD1_O,E2_SPT7_BD0_O,E2_SPT7_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,E2_PCG0_CLKC_O,E2_PCG0_CLKD_O, _DUMMY_VALUE,_DUMMY_VALUE,E2_PCG0_FSC_O,E2_PCG0_FSD_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, E2_LOW,E2_HIGH, }; const u32 F2_out[SourceSignalCount] = { _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, F2_DAI1_PB01_O,F2_DAI1_PB02_O,F2_DAI1_PB03_O,F2_DAI1_PB04_O, F2_DAI1_PB05_O,F2_DAI1_PB06_O,F2_DAI1_PB07_O,F2_DAI1_PB08_O, F2_DAI1_PB09_O,F2_DAI1_PB10_O,F2_DAI1_PB11_O,F2_DAI1_PB12_O, F2_DAI1_PB19_O,F2_DAI1_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, F2_SPT4_AD0_O,F2_SPT4_AD1_O,F2_SPT4_BD0_O,F2_SPT4_BD1_O, F2_SPT5_AD0_O,F2_SPT5_AD1_O,F2_SPT5_BD0_O,F2_SPT5_BD1_O, F2_SPT6_AD0_O,F2_SPT6_AD1_O,F2_SPT6_BD0_O,F2_SPT6_BD1_O, F2_SPT7_AD0_O,F2_SPT7_AD1_O,F2_SPT7_BD0_O,F2_SPT7_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,F2_PCG0_CLKC_O,F2_PCG0_CLKD_O, _DUMMY_VALUE,_DUMMY_VALUE,F2_PCG0_FSC_O,F2_PCG0_FSD_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, F2_LOW,F2_HIGH, }; const u32 G2_out[SourceSignalCount] = { _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE, G2_DAI1_PB01_O,G2_DAI1_PB02_O,G2_DAI1_PB03_O,G2_DAI1_PB04_O, G2_DAI1_PB05_O,G2_DAI1_PB06_O,G2_DAI1_PB07_O,G2_DAI1_PB08_O, G2_DAI1_PB09_O,G2_DAI1_PB10_O,G2_DAI1_PB11_O,G2_DAI1_PB12_O, G2_DAI1_PB19_O,G2_DAI1_PB20_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, G2_SPT4_AD0_O,G2_SPT4_AD1_O,G2_SPT4_BD0_O,G2_SPT4_BD1_O, G2_SPT5_AD0_O,G2_SPT5_AD1_O,G2_SPT5_BD0_O,G2_SPT5_BD1_O, G2_SPT6_AD0_O,G2_SPT6_AD1_O,G2_SPT6_BD0_O,G2_SPT6_BD1_O, G2_SPT7_AD0_O,G2_SPT7_AD1_O,G2_SPT7_BD0_O,G2_SPT7_BD1_O, _DUMMY_VALUE,_DUMMY_VALUE,G2_PCG0_CLKC_O,G2_PCG0_CLKD_O, _DUMMY_VALUE,_DUMMY_VALUE,G2_PCG0_FSC_O,G2_PCG0_FSD_O, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, _DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE,_DUMMY_VALUE, G2_LOW,G2_HIGH, }; return (((_GROUP[dest] & GROUP_A2) >> LOG_GROUP_A2) * A2_out[source] \ |((_GROUP[dest] & GROUP_B2) >> LOG_GROUP_B2) * B2_out[source] \ |((_GROUP[dest] & GROUP_C2) >> LOG_GROUP_C2) * C2_out[source] \ |((_GROUP[dest] & GROUP_D2) >> LOG_GROUP_D2) * D2_out[source] \ |((_GROUP[dest] & GROUP_E2) >> LOG_GROUP_E2) * E2_out[source] \ |((_GROUP[dest]& GROUP_F2) >> LOG_GROUP_F2) * F2_out[source] \ |((_GROUP[dest] & GROUP_G2) >> LOG_GROUP_G2) * G2_out[source] ) << IN_SHIFT[dest]; } u32 srumask(SourceSignal source, DestSignal dest) { return ~((((_GROUP[dest] & GROUP_A) >> LOG_GROUP_A) * MASK_A \ |((_GROUP[dest] & GROUP_B) >> LOG_GROUP_B) * MASK_B \ |((_GROUP[dest] & GROUP_C) >> LOG_GROUP_C) * MASK_C \ |((_GROUP[dest] & GROUP_D) >> LOG_GROUP_D) * MASK_D \ |((_GROUP[dest] & GROUP_E) >> LOG_GROUP_E) * MASK_E \ |((_GROUP[dest] & GROUP_F) >> LOG_GROUP_F) * MASK_F \ |((_GROUP[dest] & GROUP_G) >> LOG_GROUP_G) * MASK_G) << IN_SHIFT[dest]); } u32 sru2mask(SourceSignal source, DestSignal dest) { return ~((((_GROUP[dest] & GROUP_A2) >> LOG_GROUP_A2) * MASK_A2 \ |((_GROUP[dest] & GROUP_B2) >> LOG_GROUP_B2) * MASK_B2 \ |((_GROUP[dest] & GROUP_C2) >> LOG_GROUP_C2) * MASK_C2 \ |((_GROUP[dest] & GROUP_D2) >> LOG_GROUP_D2) * MASK_D2 \ |((_GROUP[dest] & GROUP_E2) >> LOG_GROUP_E2) * MASK_E2 \ |((_GROUP[dest] & GROUP_F2) >> LOG_GROUP_F2) * MASK_F2 \ |((_GROUP[dest] & GROUP_G2) >> LOG_GROUP_G2) * MASK_G2) << IN_SHIFT[dest]); } #define sru(source, dest) \ *(volatile u32 *) _REG[dest] = \ (srufield(source,dest) | (* (volatile u32 *) _REG[dest] & srumask(source,dest))); #define sru2(source, dest) \ *(volatile u32 *) _REG[dest] = \ (sru2field(source,dest) | (* (volatile u32 *) _REG[dest] & sru2mask(source,dest))) ubool dai_route( SourceSignal source, DestSignal dest) { if((dest >= DAI1_PB01_I && dest <= DAI1_PB20_I) || (dest >= DAI1_PBEN01_I && dest <= DAI1_PBEN20_I) || (dest >= PCG_EXTC_I && dest <= PCG_EXTD_I) || (source >= DAI1_PB01_O && source <= DAI1_PB20_O) || (source >= PCG_CLKC_O && source <= PCG_CLKD_O) || (source >= PCG_FSC_O && source <= PCG_FSD_O) ){ sru2(source, dest); } else { sru(source, dest); } return utrue; }