AG903ライブラリリファレンス
内容インデックスホーム
Body Source
本文ソース
1: 9: 10: 14: 15: #ifndef _BMUMGR_H_ 16: #define _BMUMGR_H_ 17: 18: 19: 20: #ifdef __cplusplus 21: extern "C" { 22: #endif 23: 24: #ifndef AG903_BMU_UNIT_NUM 25: 26: #define AG903_BMU_UNIT_NUM (16) 27: #endif 28: 29: 30: 31: 32: 33: #define AG903_BMU_SRC_PGP0 (0) 34: 35: #define AG903_BMU_SRC_PGP1 (1) 36: 37: #define AG903_BMU_SRC_PGP2 (2) 38: 39: #define AG903_BMU_SRC_PGP3 (3) 40: 41: #define AG903_BMU_SRC_PGP4 (4) 42: 43: #define AG903_BMU_SRC_PGP5 (5) 44: 45: #define AG903_BMU_SRC_PGP6 (6) 46: 47: #define AG903_BMU_SRC_PGP7 (7) 48: 49: #define AG903_BMU_SRC_PGP8 (8) 50: 51: #define AG903_BMU_SRC_PGP9 (9) 52: 53: #define AG903_BMU_SRC_PGP10 (10) 54: 55: #define AG903_BMU_SRC_PGP11 (11) 56: 57: #define AG903_BMU_SRC_GFX0 (12) 58: 59: #define AG903_BMU_SRC_GFX1 (13) 60: 61: #define AG903_BMU_SRC_GFX2 (14) 62: 63: #define AG903_BMU_SRC_GFX3 (15) 64: 65: #define AG903_BMU_SRC_GVD0 (16) 66: 67: #define AG903_BMU_SRC_GVD1 (17) 68: 69: #define AG903_BMU_SRC_GVD2 (18) 70: 71: #define AG903_BMU_SRC_GVD3 (19) 72: 73: #define AG903_BMU_SRC_SYS0 (20) 74: 75: #define AG903_BMU_SRC_SYS1 (21) 76: 77: #define AG903_BMU_SRC_SYS2 (22) 78: 79: #define AG903_BMU_SRC_SYS3 (23) 80: 81: #define AG903_BMU_SRC_SYS4 (24) 82: 83: #define AG903_BMU_SRC_SYS5 (25) 84: 85: #define AG903_BMU_SRC_SYS6 (26) 86: 87: #define AG903_BMU_SRC_SYS7 (27) 88: 89: #define AG903_BMU_SRC_SYS8 (28) 90: 91: #define AG903_BMU_SRC_SYS9 (29) 92: 93: #define AG903_BMU_SRC_SYS10 (30) 94: 95: #define AG903_BMU_SRC_JPG0 (31) 96: 97: 98: 99: 100: #define AG903_BMU_SINK_PGP0 (0) 101: 102: #define AG903_BMU_SINK_PGP1 (1) 103: 104: #define AG903_BMU_SINK_PGP2 (2) 105: 106: #define AG903_BMU_SINK_PGP3 (3) 107: 108: #define AG903_BMU_SINK_GFX0 (4) 109: 110: #define AG903_BMU_SINK_GFX1 (5) 111: 112: #define AG903_BMU_SINK_GFX2 (6) 113: 114: #define AG903_BMU_SINK_GFX3 (7) 115: 116: #define AG903_BMU_SINK_SYS0 (8) 117: 118: #define AG903_BMU_SINK_SYS1 (9) 119: 120: #define AG903_BMU_SINK_SYS2 (10) 121: 122: #define AG903_BMU_SINK_SYS3 (11) 123: 124: #define AG903_BMU_SINK_DSP0 (12) 125: 126: #define AG903_BMU_SINK_DSP1 (13) 127: 128: #define AG903_BMU_SINK_JPG0 (14) 129: 130: 131: 132: 133: #define AG903_BMU_SINK_WAIT_ENABLE (0) 134: 135: #define AG903_BMU_SINK_WAIT_DISABLE (1) 136: 137: 138: 139: 140: #define AG903_BMU_BUF_MGR_MODE0 (0) 141: 142: #define AG903_BMU_BUF_MGR_MODE1 (1) 143: 144: #define AG903_BMU_BUF_MGR_MODE2 (2) 145: 146: #define AG903_BMU_BUF_MGR_MODE3 (3) 147: 148: 149: typedef struct _AG903_BMUMgrStatus 150: { 151: uint8_t is_valid; 152: uint8_t is_empty; 153: uint8_t is_read_wait_appeared; 154: uint8_t is_read_busy; 155: uint8_t read_module_num; 156: 157: uint8_t is_full; 158: uint8_t is_write_wait_appeared; 159: uint8_t is_write_busy; 160: uint8_t write_module_num; 161: } AG903_BMUMgrStatus; 162: 163: 164: typedef struct _AG903_BMUMgrHandle 165: { 166: uint8_t unit_id; 167: uint8_t is_exec; 168: uint32_t src_id; 169: } AG903_BMUMgrHandle; 170: 171: int32_t AG903_BMUMgrGetHandle(AG903_BMUMgrHandle **handle); 172: int32_t AG903_BMUMgrReleaseHandle(AG903_BMUMgrHandle *handle); 173: int32_t AG903_BMUMgrEnable(AG903_BMUMgrHandle *handle); 174: int32_t AG903_BMUMgrDisable(AG903_BMUMgrHandle *handle); 175: int32_t AG903_BMUMgrSetMode(AG903_BMUMgrHandle *handle, uint8_t ini, uint8_t mgr); 176: int32_t AG903_BMUMgrSetSrcModule(AG903_BMUMgrHandle *handle, uint8_t src); 177: int32_t AG903_BMUMgrAddSinkModule(AG903_BMUMgrHandle *handle, uint8_t sink); 178: int32_t AG903_BMUMgrRemoveSinkModule(AG903_BMUMgrHandle *handle, uint8_t sink); 179: int32_t AG903_BMUMgrGetSinkStatus(AG903_BMUMgrHandle *handle, uint8_t sink, uint8_t *status); 180: int32_t AG903_BMUMgrSetBufferConfig(AG903_BMUMgrHandle *handle, void *buffer, uint32_t stride, uint32_t buf_num); 181: int32_t AG903_BMUMgrGetStatus(AG903_BMUMgrHandle *handle, AG903_BMUMgrStatus *status); 182: int32_t AG903_BMUMgrGetBMUSinkAddress(AG903_BMUMgrHandle *handle, uint32_t *addr); 183: int32_t AG903_BMUMgrGetBMUSrcAddress(AG903_BMUMgrHandle *handle, uint32_t *addr); 184: int32_t AG903_BMUMgrGetBMUId(AG903_BMUMgrHandle *handle, uint8_t *id); 185: 186: #ifdef __cplusplus 187: } 188: #endif 189: #endif
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.