AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: void AG903_SSCPrmSetTdmSetup(uint8_t ch, AG903_SSCPrmTdmParam* param) 2: { 3: uint32_t val = 0; 4: 5: ASSERT(AG903_SSP_CH_NUM > ch); 6: ASSERT(NULL != param); 7: 8: switch(ch) { 9: case 0: 10: val |= (param->enable << AG903_SSC_TDM0_SETUP_TDM_EN_POS) & AG903_SSC_TDM0_SETUP_TDM_EN_MSK; 11: val |= (param->sclk_pol << AG903_SSC_TDM0_SETUP_SCLK_POL_POS) & AG903_SSC_TDM0_SETUP_SCLK_POL_MSK; 12: val |= (param->fs_pol << AG903_SSC_TDM0_SETUP_FS_POL_POS) & AG903_SSC_TDM0_SETUP_FS_POL_MSK; 13: val |= (param->fs_txpw << AG903_SSC_TDM0_SETUP_FS_TXPW_POS) & AG903_SSC_TDM0_SETUP_FS_TXPW_MSK; 14: val |= (param->fs_dist << AG903_SSC_TDM0_SETUP_FS_DIST_POS) & AG903_SSC_TDM0_SETUP_FS_DIST_MSK; 15: val |= (param->dir_tx << AG903_SSC_TDM0_SETUP_DIR_TX_POS) & AG903_SSC_TDM0_SETUP_DIR_TX_MSK; 16: val |= (param->tdm_n << AG903_SSC_TDM0_SETUP_TDM_N_POS) & AG903_SSC_TDM0_SETUP_TDM_N_MSK; 17: val |= (param->sclk_n << AG903_SSC_TDM0_SETUP_SCLK_N_POS) & AG903_SSC_TDM0_SETUP_SCLK_N_MSK; 18: AG903_SSC->TDM0_SETUP = val; 19: break; 20: case 1: 21: val |= (param->enable << AG903_SSC_TDM1_SETUP_TDM_EN_POS) & AG903_SSC_TDM1_SETUP_TDM_EN_MSK; 22: val |= (param->sclk_pol << AG903_SSC_TDM1_SETUP_SCLK_POL_POS) & AG903_SSC_TDM1_SETUP_SCLK_POL_MSK; 23: val |= (param->fs_pol << AG903_SSC_TDM1_SETUP_FS_POL_POS) & AG903_SSC_TDM1_SETUP_FS_POL_MSK; 24: val |= (param->fs_txpw << AG903_SSC_TDM1_SETUP_FS_TXPW_POS) & AG903_SSC_TDM1_SETUP_FS_TXPW_MSK; 25: val |= (param->fs_dist << AG903_SSC_TDM1_SETUP_FS_DIST_POS) & AG903_SSC_TDM1_SETUP_FS_DIST_MSK; 26: val |= (param->dir_tx << AG903_SSC_TDM1_SETUP_DIR_TX_POS) & AG903_SSC_TDM1_SETUP_DIR_TX_MSK; 27: val |= (param->tdm_n << AG903_SSC_TDM1_SETUP_TDM_N_POS) & AG903_SSC_TDM1_SETUP_TDM_N_MSK; 28: val |= (param->sclk_n << AG903_SSC_TDM1_SETUP_SCLK_N_POS) & AG903_SSC_TDM1_SETUP_SCLK_N_MSK; 29: AG903_SSC->TDM1_SETUP = val; 30: break; 31: case 2: 32: val |= (param->enable << AG903_SSC_TDM2_SETUP_TDM_EN_POS) & AG903_SSC_TDM2_SETUP_TDM_EN_MSK; 33: val |= (param->sclk_pol << AG903_SSC_TDM2_SETUP_SCLK_POL_POS) & AG903_SSC_TDM2_SETUP_SCLK_POL_MSK; 34: val |= (param->fs_pol << AG903_SSC_TDM2_SETUP_FS_POL_POS) & AG903_SSC_TDM2_SETUP_FS_POL_MSK; 35: val |= (param->fs_txpw << AG903_SSC_TDM2_SETUP_FS_TXPW_POS) & AG903_SSC_TDM2_SETUP_FS_TXPW_MSK; 36: val |= (param->fs_dist << AG903_SSC_TDM2_SETUP_FS_DIST_POS) & AG903_SSC_TDM2_SETUP_FS_DIST_MSK; 37: val |= (param->dir_tx << AG903_SSC_TDM2_SETUP_DIR_TX_POS) & AG903_SSC_TDM2_SETUP_DIR_TX_MSK; 38: val |= (param->tdm_n << AG903_SSC_TDM2_SETUP_TDM_N_POS) & AG903_SSC_TDM2_SETUP_TDM_N_MSK; 39: val |= (param->sclk_n << AG903_SSC_TDM2_SETUP_SCLK_N_POS) & AG903_SSC_TDM2_SETUP_SCLK_N_MSK; 40: AG903_SSC->TDM2_SETUP = val; 41: break; 42: case 3: 43: val |= (param->enable << AG903_SSC_TDM3_SETUP_TDM_EN_POS) & AG903_SSC_TDM3_SETUP_TDM_EN_MSK; 44: val |= (param->sclk_pol << AG903_SSC_TDM3_SETUP_SCLK_POL_POS) & AG903_SSC_TDM3_SETUP_SCLK_POL_MSK; 45: val |= (param->fs_pol << AG903_SSC_TDM3_SETUP_FS_POL_POS) & AG903_SSC_TDM3_SETUP_FS_POL_MSK; 46: val |= (param->fs_txpw << AG903_SSC_TDM3_SETUP_FS_TXPW_POS) & AG903_SSC_TDM3_SETUP_FS_TXPW_MSK; 47: val |= (param->fs_dist << AG903_SSC_TDM3_SETUP_FS_DIST_POS) & AG903_SSC_TDM3_SETUP_FS_DIST_MSK; 48: val |= (param->dir_tx << AG903_SSC_TDM3_SETUP_DIR_TX_POS) & AG903_SSC_TDM3_SETUP_DIR_TX_MSK; 49: val |= (param->tdm_n << AG903_SSC_TDM3_SETUP_TDM_N_POS) & AG903_SSC_TDM3_SETUP_TDM_N_MSK; 50: val |= (param->sclk_n << AG903_SSC_TDM3_SETUP_SCLK_N_POS) & AG903_SSC_TDM3_SETUP_SCLK_N_MSK; 51: AG903_SSC->TDM3_SETUP = val; 52: break; 53: default: 54: 55: break; 56: } 57: 58: return; 59: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.