Changeset 167 for UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62n.c
- Timestamp:
- Mar 8, 2016, 8:37:45 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62n.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=SHIFT_JIS
r164 r167 118 118 119 119 /* 120 * rx62n_bus_init -- ^[Qbg˶ÌoXÌú»120 * rx62n_bus_init -- ターゲット依存部のバスの初期化 121 121 */ 122 122 … … 124 124 rx62n_bus_init (void) 125 125 { 126 /* C[TlbgERg[Ì®ìðÂ*/127 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* ÝÂ*/126 /* イーサネット・コントローラの動作を許可 */ 127 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* 書込み許可 */ 128 128 sil_wrw_mem((uint32_t *)SYSTEM_MSTPCRB_ADDR, 129 129 sil_rew_mem((uint32_t *)SYSTEM_MSTPCRB_ADDR) & ~SYSTEM_MSTPCRB_MSTPB15_BIT); 130 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* ÝÖ~*/131 132 /* EtherNET Lø*/133 /* PA3 `5 RMII_MDIO, RMII_MDC, RMII_LINKSTA */130 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* 書込み禁止 */ 131 132 /* EtherNET有効 */ 133 /* PA3〜5 RMII_MDIO, RMII_MDC, RMII_LINKSTA */ 134 134 sil_wrb_mem((uint8_t *)PORTA_PMR_ADDR, 135 135 sil_reb_mem((uint8_t *)PORTA_PMR_ADDR) | (1 << 3) | (1 << 4) | (1 << 5)); 136 /* PB0 `7 RXD1, RXD0, REF50CK, RX-ER, TXD-EN, TXD0, TXD1, CRS */136 /* PB0〜7 RXD1, RXD0, REF50CK, RX-ER, TXD-EN, TXD0, TXD1, CRS */ 137 137 sil_wrb_mem((uint8_t *)PORTB_PMR_ADDR, 138 138 sil_reb_mem((uint8_t *)PORTB_PMR_ADDR) | 0xFF); 139 139 140 /* «ÝveNgWX^ÌÝè PFSWErbgÖÌ«ÝðÂ*/140 /* 書き込みプロテクトレジスタの設定 PFSWEビットへの書き込みを許可 */ 141 141 sil_wrb_mem((uint8_t *)(MPC_PWPR_ADDR) , 0x00); 142 /* «ÝveNgWX^ÌÝè PxxFSWX^ÖÌ«ÝðÂ*/142 /* 書き込みプロテクトレジスタの設定 PxxFSレジスタへの書き込みを許可 */ 143 143 sil_wrb_mem((uint8_t *)(MPC_PWPR_ADDR) , 0x40); 144 144 145 /* PA3 ðET_MDIOÆ·é*/145 /* PA3をET_MDIOとする */ 146 146 sil_wrb_mem((uint8_t *)MPC_PA3PFS_ADDR, 0x11); 147 /* PA4 ðET_MDCÆ·é*/147 /* PA4をET_MDCとする */ 148 148 sil_wrb_mem((uint8_t *)MPC_PA4PFS_ADDR, 0x11); 149 /* PA5 ðET_LINKSTAÆ·é*/149 /* PA5をET_LINKSTAとする */ 150 150 sil_wrb_mem((uint8_t *)MPC_PA5PFS_ADDR, 0x11); 151 151 152 /* PB0 ðRXD1Æ·é*/152 /* PB0をRXD1とする */ 153 153 sil_wrb_mem((uint8_t *)MPC_PB0PFS_ADDR, 0x12); 154 /* PB1 ðRXD0Æ·é*/154 /* PB1をRXD0とする */ 155 155 sil_wrb_mem((uint8_t *)MPC_PB1PFS_ADDR, 0x12); 156 /* PB2 ðREF50CKÆ·é*/156 /* PB2をREF50CKとする */ 157 157 sil_wrb_mem((uint8_t *)MPC_PB2PFS_ADDR, 0x12); 158 /* PB3 ðRX-ERÆ·é*/158 /* PB3をRX-ERとする */ 159 159 sil_wrb_mem((uint8_t *)MPC_PB3PFS_ADDR, 0x12); 160 /* PB4 ðTXD-ENÆ·é*/160 /* PB4をTXD-ENとする */ 161 161 sil_wrb_mem((uint8_t *)MPC_PB4PFS_ADDR, 0x12); 162 /* PB5 ðTXD0Æ·é*/162 /* PB5をTXD0とする */ 163 163 sil_wrb_mem((uint8_t *)MPC_PB5PFS_ADDR, 0x12); 164 /* PB6 ðTXD1Æ·é*/164 /* PB6をTXD1とする */ 165 165 sil_wrb_mem((uint8_t *)MPC_PB6PFS_ADDR, 0x12); 166 /* PB7 ðCRSÆ·é*/166 /* PB7をCRSとする */ 167 167 sil_wrb_mem((uint8_t *)MPC_PB7PFS_ADDR, 0x12); 168 168 169 /* «ÝveNgWX^ÌÝè «ÝðÖ~*/169 /* 書き込みプロテクトレジスタの設定 書き込みを禁止 */ 170 170 sil_wrb_mem((uint8_t *)(MPC_PWPR_ADDR) , 0x80); 171 171 } 172 172 173 173 /* 174 * rx62n_init_sub -- lbg[NC^tF[XÌú»175 * 176 * Ó: NIC èÝÖ~óÔÅÄÑo·±ÆB174 * rx62n_init_sub -- ネットワークインタフェースの初期化 175 * 176 * 注意: NIC 割り込み禁止状態で呼び出すこと。 177 177 */ 178 178 … … 183 183 PHY_STATE_T state = PHY_STATE_UNINIT; 184 184 185 /* MAC \tgEGAEZbg*/185 /* MAC部ソフトウエア・リセット */ 186 186 sil_wrw_mem(EDMAC_EDMR, sil_rew_mem(EDMAC_EDMR) | EDMAC_EDMR_SWR_BIT); 187 187 … … 194 194 | (uint32_t)mac_addr[5]); 195 195 196 /* PHY Zbg*/196 /* PHYリセット */ 197 197 while ((state = phy_reset(state, 0)) != PHY_STATE_RESET); 198 198 ethernetif->state = state; … … 201 201 sil_wrw_mem(ETHERC_ECSR, 0x00000037); 202 202 203 /* NÏ»èÝLø*/203 /* リンク変化割り込み有効 */ 204 204 sil_wrw_mem(ETHERC_ECSIPR, sil_rew_mem(ETHERC_ECSIPR) | ETHERC_ECSIPR_LCHNGIP); 205 205 … … 207 207 sil_wrw_mem(EDMAC_EESR, 0x47FF0F9F); 208 208 209 /* óMèÝLø*/209 /* 送受信割り込み有効 */ 210 210 sil_wrw_mem(EDMAC_EESIPR, (EDMAC_EESIPR_TCIP | EDMAC_EESIPR_FRIP | EDMAC_EESIPR_RDEIP | EDMAC_EESIPR_FROFIP)); 211 211 212 /* óMt[·ãÀiobt@TCYj*/212 /* 受信フレーム長上限(バッファサイズ) */ 213 213 sil_wrw_mem(ETHERC_RFLR, IF_RX62N_BUF_PAGE_SIZE); 214 214 215 /* 96 rbgÔiúlj*/215 /* 96ビット時間(初期値) */ 216 216 sil_wrw_mem(ETHERC_IPGR, 0x00000014); 217 217 … … 232 232 sil_wrw_mem(EDMAC_RMCR, 0x00000001); 233 233 234 /* PHY Ìú»ð£·*/234 /* PHYの初期化を促す */ 235 235 ethernetif->link_pre = false; 236 236 ethernetif->link_now = true; … … 270 270 ER ret; 271 271 272 /* NIC ©çÌèÝðÖ~·éB*/272 /* NIC からの割り込みを禁止する。*/ 273 273 ret = dis_int(INTNO_IF_RX62N_TRX); 274 274 if (ret != E_OK) … … 299 299 rdsc->rdle = 1; 300 300 301 /* rx62n_init {ÌðÄÑo·B*/301 /* rx62n_init 本体を呼び出す。*/ 302 302 rx62n_init_sub(netif); 303 303 … … 306 306 } 307 307 308 /* NIC ©çÌèÝð·éB*/308 /* NIC からの割り込みを許可する。*/ 309 309 ret = ena_int(INTNO_IF_RX62N_TRX); 310 310 if (ret != E_OK) … … 313 313 314 314 /* 315 * rx62n_set_ecmr -- ECMR WX^ÌÝè315 * rx62n_set_ecmr -- ECMRレジスタの設定 316 316 */ 317 317 … … 328 328 ecmr |= ETHERC_ECMR_RTM; 329 329 330 /* ®ì[hÝè*/330 /* 動作モード設定 */ 331 331 sil_wrw_mem(ETHERC_ECMR, ecmr); 332 332 } … … 500 500 501 501 /* 502 * rx62n_link -- NóÔÌÏ»Éηé502 * rx62n_link -- リンク状態の変化に対する処理 503 503 */ 504 504 bool_t … … 517 517 } 518 518 519 /* PHY Ìú»*/519 /* PHYの初期化 */ 520 520 ethernetif->state = phy_initialize(ethernetif->state, 0, &mode); 521 521 if(ethernetif->state != PHY_STATE_NEGOTIATED){ … … 523 523 } 524 524 525 /* ECMR WX^ÌÝè*/525 /* ECMRレジスタの設定 */ 526 526 rx62n_set_ecmr(netif, mode); 527 527 return true; … … 550 550 bool_t cng = ethernetif->link_pre != ethernetif->link_now; 551 551 ethernetif->link_pre = ethernetif->link_now; 552 /* NóÔÉÏ» è*/552 /* リンク状態に変化あり */ 553 553 if(cng){ 554 554 if (ethernetif->link_pre) { … … 657 657 658 658 /* 659 * RX62N Ethernet Controler óMèÝnh659 * RX62N Ethernet Controler 送受信割り込みハンドラ 660 660 */ 661 661 … … 675 675 676 676 if (ecsr & ETHERC_ECSR_LCHNG) { 677 /* ETHERC èÝvöNA*/677 /* ETHERC部割り込み要因クリア */ 678 678 sil_wrw_mem(ETHERC_ECSR, ETHERC_ECSR_LCHNG); 679 679 … … 681 681 ethernetif->link_now = (psr & ETHERC_PSR_LMON) != 0; 682 682 683 /* NóÔÉÏ» è*/683 /* リンク状態に変化あり */ 684 684 if (ethernetif->link_pre != ethernetif->link_now) { 685 /* óMèÝ*/685 /* 受信割り込み処理 */ 686 686 isig_sem(ethernetif->sem_rev); 687 687 } … … 691 691 692 692 if (eesr & EDMAC_EESR_FR) { 693 /* DMA èÝvöNA*/693 /* DMA部割り込み要因クリア */ 694 694 sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_FR); 695 695 696 /* óMèÝ*/696 /* 受信割り込み処理 */ 697 697 isig_sem(ethernetif->sem_rev); 698 698 } 699 699 if (eesr & EDMAC_EESR_TC) { 700 /* DMA èÝvöNA*/700 /* DMA部割り込み要因クリア */ 701 701 sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_TC); 702 702 703 /* MèÝ*/703 /* 送信割り込み処理 */ 704 704 isig_sem(ethernetif->sem_rev); 705 705 } 706 706 if (eesr & (EDMAC_EESR_FROF | EDMAC_EESR_RDE)) { 707 /* DMA èÝvöNA*/707 /* DMA部割り込み要因クリア */ 708 708 sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_FROF | EDMAC_EESR_RDE); 709 709 710 710 ethernetif->over_flow = true; 711 711 712 /* óMèÝ*/712 /* 受信割り込み処理 */ 713 713 isig_sem(ethernetif->sem_rev); 714 714 } -
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.