AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
sscprm.h

SSC Primitive Header

SSC Primitive提供ヘッダ。 

SSC Primitive使用時にincludeして下さい。

none

AXELL CORPORATION

2017_02_22 初版 

2017_10_26 Ver2.0

1: 9: 10: 14: 15: #ifndef _SSCPRM_H_ 16: #define _SSCPRM_H_ 17: 18: 19: #include <stdint.h> 20: #include "lib_common/AG903_common.h" 21: 22: #ifdef __cplusplus 23: extern "C" { 24: #endif 25: 26: #define AG903_SSC_SYSINT_CH_NUM (4) 27: #define AG903_SSC_PINFUNC_REG_NUM (2) 28: #define AG903_SSC_PIN_SETUP_INDEX_MAX (136) 29: #define AG903_SSC_GPIOEN_REG_NUM (4) 30: #define AG903_SSC_GPIOPU_REG_NUM (4) 31: #define AG903_SSC_GPIOPD_REG_NUM (4) 32: #define AG903_SSC_DMASEL_REG_NUM (4) 33: #define AG903_SSC_TICKCNT_CH_NUM (2) 34: #define AG903_SSC_CVBSDEC_CH_NUM (4) 35: 36: #define AG903_SSC_PINDIR_INPUT (0) 37: #define AG903_SSC_PINDIR_OUTPUT (1) 38: 39: #define AG903_SSC_SSPMODE_FLLDPLX (0) 40: #define AG903_SSC_SSPMODE_HLFDPLX (1) 41: 42: #define AG903_SSC_PBHWAIT_HWAIT (0) 43: #define AG903_SSC_PBHWAIT_BLP0BLGT (1) 44: 45: #define AG903_SSC_USBMODE_HOST (0) 46: #define AG903_SSC_USBMODE_DEVICE (1) 47: 48: 49: 50: #define AG903_SSC_PIN_SETUP_LS3V_POS (7) 51: #define AG903_SSC_PIN_SETUP_LS3V_MSK (0x1UL<<AG903_SSC_PIN_SETUP_LS3V_POS) 52: #define AG903_SSC_PIN_SETUP_DV_POS (5) 53: #define AG903_SSC_PIN_SETUP_DV_MSK (0x3UL<<AG903_SSC_PIN_SETUP_DV_POS) 54: #define AG903_SSC_PIN_SETUP_SR_POS (4) 55: #define AG903_SSC_PIN_SETUP_SR_MSK (0x1UL<<AG903_SSC_PIN_SETUP_SR_POS) 56: #define AG903_SSC_PIN_SETUP_SMT_POS (3) 57: #define AG903_SSC_PIN_SETUP_SMT_MSK (0x1UL<<AG903_SSC_PIN_SETUP_SMT_POS) 58: #define AG903_SSC_PIN_SETUP_LVST_POS (0) 59: #define AG903_SSC_PIN_SETUP_LVST_MSK (0x7UL<<AG903_SSC_PIN_SETUP_LVST_POS) 60: 61: 62: enum _AG903_SSC_WdtIntMode { 63: AG903_SSC_WDTINT_PULSE = 0, 64: AG903_SSC_WDTINT_LEVEL, 65: }; 66: 67: 68: enum _AG903_SSC_PINSETUP_LVST { 69: AG903_SSC_INPUT_DISABLE = 0, 70: AG903_SSC_INPUT_DISABLE_PLDWN, 71: AG903_SSC_INPUT_DISABLE_PLUP, 72: AG903_SSC_INPUT_ENABLE = 4, 73: AG903_SSC_INPUT_ENABLE_PLDWN, 74: AG903_SSC_INPUT_ENABLE_PLUP, 75: AG903_SSC_INPUT_ENABLE_LVKP, 76: }; 77: 78: 79: enum _AG903_SSC_TICK_SOURCE { 80: AG903_SSC_TICKSRC_SYSCLK = 0, 81: AG903_SSC_TICKSRC_INTERNAL, 82: AG903_SSC_TICKSRC_ALT0, 83: AG903_SSC_TICKSRC_ALT1, 84: AG903_SSC_TICKSRC_SSP0MCLK, 85: AG903_SSC_TICKSRC_SSP1MCLK, 86: AG903_SSC_TICKSRC_SSP2MCLK, 87: AG903_SSC_TICKSRC_SSP3MCLK, 88: }; 89: 90: 91: 92: 93: typedef struct _AG903_SSCPrmPinSetup{ 94: uint8_t io3v; 95: uint8_t drive; 96: uint8_t sr_slow; 97: uint8_t schmitt; 98: uint8_t lv_set; 99: uint8_t reserve[3]; 100: }AG903_SSCPrmPinSetup; 101: 102: 103: typedef struct _AG903_SSCPrmCpuRunStatus{ 104: uint8_t sev_op; 105: uint8_t wfi_stby; 106: uint8_t wfe_stby; 107: uint8_t reset; 108: uint8_t clk; 109: uint8_t reserve[3]; 110: }AG903_SSCPrmCpuRunStatus; 111: 112: 113: typedef struct _AG903_SSCPrmDspSetup{ 114: uint8_t vsync0; 115: uint8_t field0; 116: uint8_t dot0; 117: uint8_t vsync1; 118: uint8_t field1; 119: uint8_t dot1; 120: uint8_t reserve[2]; 121: }AG903_SSCPrmDspSetup; 122: 123: 124: typedef struct _AG903_SSCPrmSspSetup{ 125: uint8_t mclk_div; 126: uint8_t mclk_dir; 127: uint8_t mode; 128: uint8_t dir; 129: }AG903_SSCPrmSspSetup; 130: 131: 132: typedef struct _AG903_SSCPrmTdmParam{ 133: uint8_t enable; 134: uint8_t sclk_pol; 135: uint8_t fs_pol; 136: uint8_t fs_txpw; 137: uint8_t fs_dist; 138: uint8_t dir_tx; 139: uint8_t tdm_n; 140: uint8_t sclk_n; 141: } AG903_SSCPrmTdmParam; 142: 143: 144: typedef struct _AG903_SSCPrmTdmStatus{ 145: uint8_t rx_err; 146: uint8_t tx_stat; 147: uint8_t rx_stat; 148: uint8_t reserve[2]; 149: } AG903_SSCPrmTdmStatus; 150: 151: 152: typedef struct _AG903_SSCPrmVideoAdcParam{ 153: uint8_t acq_clr; 154: uint8_t acq_en; 155: uint8_t dat_en; 156: uint8_t clmp_tmg; 157: uint8_t clmp_lv; 158: uint8_t pga_ctl; 159: uint8_t reserve[2]; 160: } AG903_SSCPrmVideoAdcParam; 161: 162: 163: void AG903_SSCPrmGetRevesion(uint32_t* rev); 164: void AG903_SSCPrmGetModeStatus(uint8_t* btmode, uint8_t* bttest, uint8_t* status); 165: void AG903_SSCPrmClrModeStatus(uint8_t clr); 166: void AG903_SSCPrmGetIrqStatus(uint32_t* lower, uint32_t* upper); 167: void AG903_SSCPrmGetIntBusStatus(uint8_t* status); 168: void AG903_SSCPrmSetIntBusEnable(uint8_t enable); 169: void AG903_SSCPrmGetIntBusEnable(uint8_t* status); 170: void AG903_SSCPrmGetSysIntStatus(uint32_t* lower, uint32_t* middle, uint32_t* upper); 171: void AG903_SSCPrmSetSysIntEnable(uint8_t ch, uint32_t lower, uint32_t middle, uint32_t upper); 172: void AG903_SSCPrmGetSysIntEnable(uint8_t ch, uint32_t* lower, uint32_t* middle, uint32_t* upper); 173: void AG903_SSCPrmSetGfxClkDuty(uint8_t clk, uint8_t duty); 174: void AG903_SSCPrmGetGfxClkDuty(uint8_t* clk, uint8_t* duty); 175: void AG903_SSCPrmSetGvdClkDuty(uint8_t duty); 176: void AG903_SSCPrmGetGvdClkDuty(uint8_t* duty); 177: void AG903_SSCPrmSetWdtIntMode(uint8_t mode); 178: void AG903_SSCPrmGetWdtIntMode(uint8_t* mode); 179: void AG903_SSCPrmClrWdtInt(void); 180: void AG903_SSCPrmSetWdtOutputMode(uint8_t rst_ini, uint8_t rst_wdt, uint8_t wdt_ena, uint8_t wdt_od); 181: void AG903_SSCPrmGetWdtOutputMode(uint8_t* rst_ini, uint8_t* rst_wdt, uint8_t* wdt_ena, uint8_t* wdt_od); 182: void AG903_SSCPrmSetPinFunction(uint8_t reg_no, uint32_t val); 183: void AG903_SSCPrmGetPinFunction(uint8_t reg_no, uint32_t* val); 184: void AG903_SSCPrmSetPinSetup(uint8_t tbl_no, AG903_SSCPrmPinSetup* setup); 185: void AG903_SSCPrmGetPinSetup(uint8_t tbl_no, AG903_SSCPrmPinSetup* setup); 186: void AG903_SSCPrmSetPinGpioEnable(uint8_t reg_no, uint32_t val); 187: void AG903_SSCPrmGetPinGpioEnable(uint8_t reg_no, uint32_t* val); 188: void AG903_SSCPrmSetPinGpioPullUp(uint8_t reg_no, uint32_t val); 189: void AG903_SSCPrmGetPinGpioPullUp(uint8_t reg_no, uint32_t* val); 190: void AG903_SSCPrmSetPinGpioPullDown(uint8_t reg_no, uint32_t val); 191: void AG903_SSCPrmGetPinGpioPullDown(uint8_t reg_no, uint32_t* val); 192: void AG903_SSCPrmSetCpuSetup(uint8_t clk, uint8_t rst, uint8_t vbit); 193: void AG903_SSCPrmGetCpuSetup(uint8_t* clk, uint8_t* rst, uint8_t* vbit); 194: void AG903_SSCPrmClrCpuEventOutStatus(void); 195: void AG903_SSCPrmGetCpuStatus(AG903_SSCPrmCpuRunStatus* status); 196: void AG903_SSCPrmSetCpuAcpSetup(uint32_t acp_addr); 197: void AG903_SSCPrmGetCpuAcpSetup(uint32_t* acp_addr); 198: void AG903_SSCPrmSetDmaInterface(uint8_t reg_no, uint32_t val); 199: void AG903_SSCPrmGetDmaInterface(uint8_t reg_no, uint32_t* val); 200: void AG903_SSCPrmSetPbdDmaInterface(uint8_t val); 201: void AG903_SSCPrmGetPbdDmaInterface(uint8_t* val); 202: void AG903_SSCPrmSetDspPinDir(AG903_SSCPrmDspSetup* dir); 203: void AG903_SSCPrmGetDspPinDir(AG903_SSCPrmDspSetup* dir); 204: void AG903_SSCPrmSetTickSetup(uint8_t ch, uint8_t clksel, uint32_t div); 205: void AG903_SSCPrmGetTickSetup(uint8_t ch, uint8_t* clksel, uint32_t* div); 206: void AG903_SSCPrmSetTimerPinDir(uint8_t tim_dir); 207: void AG903_SSCPrmGetTimerPinDir(uint8_t* tim_dir); 208: void AG903_SSCPrmSetSspSetup(uint8_t ch, AG903_SSCPrmSspSetup* param); 209: void AG903_SSCPrmGetSspSetup(uint8_t ch, AG903_SSCPrmSspSetup* param); 210: void AG903_SSCPrmSetPbdCheckAddr(uint32_t sta_addr, uint32_t end_addr); 211: void AG903_SSCPrmGetPbdCheckAddr(uint32_t* sta_addr, uint32_t* end_addr); 212: void AG903_SSCPrmSetPbdAddrCheckEnable(uint8_t enable); 213: void AG903_SSCPrmGetPbdAddrCheckEnable(uint8_t* enable); 214: void AG903_SSCPrmGetPbdAddrCheckStatus(uint8_t* status); 215: void AG903_SSCPrmGetBmuStatus(uint16_t* src_req, uint16_t* src_rdy, uint8_t* snk_req, uint8_t* snk_rdy); 216: void AG903_SSCPrmSetBmuControl(uint16_t set_src, uint16_t clr_src, uint8_t set_snk, uint8_t clr_snk); 217: void AG903_SSCPrmGetBmuTriggerStatus(uint16_t* src_req, uint16_t* src_rdy, uint8_t* snk_req, uint8_t* snk_rdy); 218: void AG903_SSCPrmClrBmuTriggerStatus(uint16_t src_req, uint16_t src_rdy, uint8_t snk_req, uint8_t snk_rdy); 219: void AG903_SSCPrmSetPortWait(uint16_t wait); 220: void AG903_SSCPrmGetPortWait(uint16_t* wait); 221: void AG903_SSCPrmSetPbhMode(uint8_t wait_sel); 222: void AG903_SSCPrmGetPbhMode(uint8_t* wait_sel); 223: void AG903_SSCPrmSetTdmSetup(uint8_t ch, AG903_SSCPrmTdmParam* param); 224: void AG903_SSCPrmGetTdmSetup(uint8_t ch, AG903_SSCPrmTdmParam* param, AG903_SSCPrmTdmStatus* stat); 225: void AG903_SSCPrmSetUsbPowerSetup(uint8_t mode, uint8_t int_ena, uint8_t prtct_ena); 226: void AG903_SSCPrmGetUsbPowerSetup(uint8_t* mode, uint8_t* int_ena, uint8_t* prtct_ena); 227: void AG903_SSCPrmGetUsbPowerStatus(uint8_t* vbus_lv, uint8_t* prtct_lv, uint8_t* prtct_stat); 228: void AG903_SSCPrmClrUsbPowerStatus(void); 229: void AG903_SSCPrmSetSdPowerSetup(uint8_t int_ena, uint8_t prtct_ena); 230: void AG903_SSCPrmGetSdPowerSetup(uint8_t* int_ena, uint8_t* prtct_ena); 231: void AG903_SSCPrmGetSdPowerStatus(uint8_t* prtct_lv, uint8_t* prtct_stat); 232: void AG903_SSCPrmClrSdPowerStatus(void); 233: void AG903_SSCPrmSetVideoAdcSetup(AG903_SSCPrmVideoAdcParam* param); 234: void AG903_SSCPrmGetVideoAdcSetup(AG903_SSCPrmVideoAdcParam* param); 235: void AG903_SSCPrmWriteCmpstVideoDec(uint8_t ch, uint16_t reg, uint16_t data); 236: void AG903_SSCPrmReadCmpstVideoDec(uint8_t ch, uint16_t reg, uint16_t* data); 237: void AG903_SSCPrmGetVideoAdcMaxMin(uint8_t ch, uint16_t* max, uint16_t* min); 238: void AG903_SSCPrmGetSgiStatus(uint32_t* stat); 239: void AG903_SSCPrmSetSgi(uint32_t set); 240: void AG903_SSCPrmClrSgi(uint32_t clr); 241: void AG903_SSCPrmSetCpuJumpAddr(uint32_t addr); 242: void AG903_SSCPrmGetCpuJumpAddr(uint32_t* addr); 243: void AG903_SSCPrmSetFreeRunCnt(uint32_t upper, uint32_t lower); 244: void AG903_SSCPrmGetFreeRunCnt(uint32_t* upper, uint32_t* lower); 245: 246: #ifdef __cplusplus 247: } 248: #endif 249: #endif 250:
 
名前 
説明 
 
端子処理レベル動作パラメータ 
 
クロックソース指定 
 
WDT割込みモード 
名前 
説明 
コンポジットビデオデコーダCH数 
DMAペリフェラルインターフェース選択レジスタ数 
端子GPIO選択レジスタ数 
端子GPIOプルダウン設定レジスタ数 
端子GPIOプルアップ設定レジスタ数 
BLP0_BLGT端子指定 
nHWAIT端子指定 
出力電流設定 マスク 
出力電流設定 位置 
端子設定INDEX最大値 
I/O電圧設定 マスク 
I/O電圧設定 位置 
レベルキープ動作設定 マスク 
レベルキープ動作設定 位置 
シュミットトリガ設定 マスク 
シュミットトリガ設定 位置 
スルーレート設定 マスク 
スルーレート設定 位置 
端子入出力指定 (入力) 
端子入出力指定 (出力) 
端子機能選択レジスタ数 
全二重モード 
半二重モード 
システムレジスタ割込みCH数 
TickカウンタCH数 
USB DEVICE動作指定 
USB HOST動作指定 
 
名前 
説明 
 
CA5動作ステータス 
 
表示入出力端子設定 
 
端子処理設定パラメータ 
 
SSP端子入出力設定 
 
TDM[0-3]_SETUP設定パラメータ 
 
TDM動作状況 
 
ビデオADC設定パラメータ 
 
CA5動作ステータス 
 
表示入出力端子設定 
 
端子処理設定パラメータ 
 
SSP端子入出力設定 
 
TDM[0-3]_SETUP設定パラメータ 
 
TDM動作状況 
 
ビデオADC設定パラメータ 
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.