================================================================================

                     Net3 RZ/T1 EthernethCo

                      Copyright (c) 2015, eForce Co., Ltd.

                                                                         2015-05
================================================================================


@{t@ĆAo[WAbv̗LځAу[U[YKCh⑫
܂B
@lTXА̕]{[hRTK7910022C00000BR̃TvvOpāA
܂B̃n[hEFAgpꍇ͓ǂݑւĂB

 t@C\
==============
@EthernethCo̊֘At@CȉɎ܂B

    1. \Driver\src\DDR_RZT1_ETH.c    - hCoW[{
    2. \Sample\xxx\DDR_RZT1_ETH_cfg.h -hCõRtBO[Vݒ
    3. \sample\xxx\net_cfg.c         - Net3̃RtBO[Vݒ,
                                       hCoC^[tF[X̐ݒ
    4. \sample\xxx\net_cfg.h         - 

 RtBO[V
======================
 RtBO[V鍀ڂ܂B


PHY̐ݒ
----------------
 RtBO[^CPUݒ^uiR7910017Ȃǁj́uEthernet0v́uPHYAhXv
 DDR_RZT1_ETH_cfg.ht@C #define ETH_CFG_PHY_ADDR : ƂĎ

    n[hEFAŎgpPHYAhXݒ肵܂B
    ݒ\Ȓl
      0 ` 31

 RtBO[^CPUݒ^uiR7910017Ȃǁj́uEthernet0v́uPHYC^tF[Xv
 DDR_RZT1_ETH_cfg.ht@C #define ETH_CFG_PHY_IF : ƂĎ

    n[hEFAŎgpPHYC^tF[X[hݒ肵܂B
    ݒ\
    EMII
      MIIgp܂B
    ERMII
      RMIIgp܂B
    
    RMIIł̓͊mFłĂ܂B

 RtBO[^CPUݒ^uiR7910017Ȃǁj́uEthernet0v́uPHY[hv
 DDR_RZT1_ETH_cfg.ht@C #define ETH_CFG_PHY_MODE F ƂĎ

    PHỸlSVG[V[hI܂B
    ݒ\Ȓl
    EAuto
            (tAuto-Negotiation[h (10HD/10FD/100HD/100FD/1000HD/1000FD))
    E10M HD    (10MdʐM}jA[h)
    E10M FD/HD (10MdʐMESdʐMAuto-Negotiation[h)
    E100M HD   (100MdʐM}jA[h)
    E100M FD/HD(100MdʐMESdʐMAuto-Negotiation[h)


MAC̐ݒ
----------------
 MACAhX : RtBO[^TCP/IPݒ^úuC^tF[Xv

    C^tF[XꗗΏۃR[h_uNbNA
    MACAhX̃GfBbg{bNXݒ肵܂B

filter[h
----------------
 RtBO[^CPUݒ^uiR7910017Ȃǁj́uEthernet0v́ufilter[hv
 DDR_RZT1_ETH_cfg.ht@C #define ETH_CFG_FILTER_MODE : ƂĎ

    ȉ̎MtB^[[hIł܂B

    Perfect filter
       gMACAhXƃu[hLXgAhXM܂B

    Promiscuous
       ׂẴt[M܂B

    Multicast
       ̃t[M܂B
       EgMACAhX
       Eu[hLXg
       E}`LXg


̑ݒ
----------
 RtBO[^CPUݒ^uiR7910017Ȃǁj́uEthernet0v́u݃xv
 DDR_RZT1_ETH_cfg.ht@C #define IPL_ETHERNET : ƂĎ
 
    LANhCoɊ֘A荞݂̊荞݃T[rX[`̊荞݃x
    ݒ肵܂B
    ڍׂ̓C3/Standard [U[YKCh́uacre_isrv̐QƂĂB

 RtBO[^Kernelݒ^uu^XNv́uID_ETH_SND_TSKvuID_ETH_RCV_TSKvuID_ETH_CTL_TSKv
 DDR_RZT1_ETH_cfg.ht@C #define ETH_CFG_TSK_PRI : ƂďL^XN̗Dx
   
    LANhCoɊ֘A^XN̗Dxݒ肵܂BiMAMARg[j
    ӁFMAMARg[^XN̗Dx͓lłȂ΂Ȃ܂B
    
    ݒ\Ȓl̓J[l̃RtBO[Vɂ܂B
    ڍׂ̓C3/Standard [U[YKCh́uRtBO[VƃVXe̋Nv
    ̏͂QƂĂB
 
 RtBO[^KernCPUݒ^uiR7910017Ȃǁj́uEthernet0v́uPHY쎞̃^XNDv
 DDR_RZT1_ETH_cfg.ht@C #define ETH_CFG_TSK_PRI_PHY : ƂĎ
 
    PHYWX^̓ǂݏsƂ̃^XNDxݒ肵܂B
    LAÑhCóAPHYWX^̓ǂݏ̏I|[Oő҂Ă܂B
    ̍ۂɁA^XNDxꎞIɂ̃}N̗DxɕύX܂B
    PHYWX^̓ǂݏsĂŒ́A̒lDx̃^XN
    sȂȂ܂̂ŁAgp̊ɍ킹āAK؂Ȓlݒ肵ĂB
    
    ݒ\Ȓl̓J[l̃RtBO[Vɂ܂B
    ڍׂ̓C3/Standard [U[YKCh́uRtBO[VƃVXe̋Nv
    ̏͂QƂĂB
 
 RtBO[^KernCPUݒ^uiR7910017Ȃǁj́uEthernet0v́uMACZNgv
 DDR_RZT1_ETH_cfg.ht@C #define ETH_CFG_MACSEL : ƂĎ

    MACZNgWX^(MACSEL)ɐݒ肷lw肵ĂB
    MACZNgWX^(MACSEL)̏ڍׂ́ARZ/T1̃[U[Y}jAQƂ
    B
    
    ݒ\Ȓl
    (R-IN Engineڐi)
     EEtherCAT
       WX^0x01ݒ肵܂B
     EEthernetMAC
       WX^0x03ݒ肵܂B
     ݒ荀ڂ͏LȊOɂ܂A̍ڂ̓T|[gĂ܂B

 |[eBO
==============
  L̍̓^[QbgɈˑ̂ŁA^[Qbgɍ킹Đݒ肵ĂB

E[q̐ݒ
  }`st@NVRg[(MPC),I/O|[gݒ肵āA
  RZ/T1̒[qC[TlbgɂĉB
  }`st@NVRg[(MPC),I/O|[gRZ/T1̃[U[Y}jA
  QƂĂB
  LsŃRtBO[^KernCPUݒ^uiR7910017Ȃǁj́uGPIO Portvݒł܂B

  Tv
    TvvOsample.3cft@CRtBO[^ŊJAuGPIO Portv̐ݒQƂĂB

EEtherNbNE(ETCLKE), EtherNbND(ETCLKD)̐ݒ
  VXeNbNRg[WX^𑀍삵EtherNbNE(ETCLKE)
  EtherNbND(ETCLKD)ݒ肵ĂB
  VXeNbNRg[WX^AEtherNbNE(ETCLKE)AEtherNbND
  (ETCLKD)̏ڍׂRZ/T1̃[U[Y}jAQƂĂB
  
  Tv
    TvvOsample.ct@Cboard_set_eth_clk֐QƂĂB

EMIIRg[WX^(MII_CTRLn)(n = 0`2)̐ݒ
  MIIRg[WX^(MII_CTRLn)(n = 0`2)ݒ肵ĂB
  MIIRg[WX^(MII_CTRLn)(n = 0`2)̏ڍׂRZ/T1̃[U[Y}jA
  QƂĂB
  
  Tv
    TvvOsample.ct@Cboard_eth_ini֐QƂĂB
  
EPHỸZbg
  PHỸZbgĂB
  ̎菇̓^[Qbg̉Hɂ܂̂ŁAn[hEFA݌v҂ɊmF
  B
  
  C[TlbgӃZbgWX^(ETHSFTRST)̎̃rbĝꂩ𑀍삷
  ƂŁAPHỸZbg邱ƂłB
  - rbg2 PHYRST  PHYRESTOUT#[qZbgrbg
  - rbg3 PHYRST2 PHYRESTOUT2#[qZbgrbg
  
  Tv
    TvvOsample.ct@Cboard_eth_ini֐QƂĂB

En[hEFAt@NV̏
  LANhCóuBuffer RAMv̗̈lbg[Nobt@ƂĎgp܂B
  uBuffer RAMv̗̈gpɂ̓n[hEFAt@NVKv
  ܂Blbg[Nobt@O(net_ini֐sO)ɁA
  ̊֐sāAn[hEFAt@NVĂB
  
      ֐ eth_hwfunc_ini
         ER eth_hwfunc_ini(void)
      ߂l s
             E_OK : 
             ̑ : s

  Tv
    TvvOsample.ct@CMainTask֐QƂĂB

 guV[eBO
========================
@Ethernet@\̏ƁAeth_ini()֐E_OKԋp܂B
E_OKԋpȂ悤Ȗ肪ꍇ́Aeth_ini()fobK
Ńg[XĉB


 TCP/IP-hCoC^tF[X
===============================
@Net3vgRX^bNƃhCõC^tF[XĂ
uuNet3EthernethCoC^tF[X.pdfvQƂĂB


 Kernel Resources
==================
@EthernethCoŎgpĂJ[l\[XȉɎ܂B

    Object               ID                  
    ------               --                  
    1) ^XN            ID_ETH_SND_TSK      
    2) ^XN            ID_ETH_RCV_TSK      
    3) ^XN            ID_ETH_CTL_TSK      
    4) CxgtO    ID_ETH_RCV_FLG      
    5) CxgtO    ID_ETH_SND_FLG      
    6) [{bNX    ID_ETH_RCV_MBX      
    7) Z}tH          ID_ETH_HWFUNC_SEM   
    8) 荞          ID_ETH_ETHDMAIT_ISR
       T[rX[`  
    9) 荞          ID_ETH_ETHTFIU_ISR
       T[rX[`
    10)荞          ID_ETH_ETHDTIE_ISR
       T[rX[`
    11)荞          ID_ETH_ETHRFI_ISR
       T[rX[`
    12)荞          ID_ETH_ETHRFE_ISR
       T[rX[`
    13)荞          ID_ETH_ETHDRIE_ISR
       T[rX[`
    14)[{bNX    ID_NETBUF_MBX
       

 v
========================
@{hCo͓v擾@\T|[gĂ܂B
@gNET_DEV[].ref֐eth_refE_NOSPTԋp܂B


 
======
@{hCouNet3 TCP/IPX^bN̎gpɌ݌vsĂ܂BeForceł́A
ȊO̎gpA@ȂJX^}CYɑ΂ẮA؂̃T|[g͍sĂ܂
̂łB


 o[WAbv̗
========================

--------------------------------------------------------------------------------
  2015-05
--------------------------------------------------------------------------------
ERtBO[^Ή

--------------------------------------------------------------------------------
  2015-03
--------------------------------------------------------------------------------
Et@[Xg[X

