Choco OS  V.0.16.9.0
Join to the chocolate world
oc_eth_lld.c
1 
29 #include <oc_eth_lld.h>
30 #include <oc_mem_lld.h>
31 #include <oc_bits.h>
32 #include <oc_module.h>
33 #include <oc_lsf.h>
34 #include <oc_stdtypes.h>
35 #include <oc_channels.h>
36 #include <oc_ba.h>
37 
43 #define _________________________________________MACROS_SECTION_____________________________________________________________________________
44 
45 #define ETH_Channel oC_Channel_ETH
46 #define IsRam(Address) oC_LSF_IsRamAddress(Address)
47 #define IsRom(Address) oC_LSF_IsRomAddress(Address)
48 #define IsChannelCorrect(Channel) oC_Channel_IsCorrect(ETH,Channel)
49 #define IsChannelPoweredOn(Channel) (oC_Machine_GetPowerStateForChannel(Channel) == oC_Power_On)
50 #define ETH_MACCR oC_Register(ETHERNET_MAC,ETH_MACCR)
51 #define ETH_MACFFR oC_Register(ETHERNET_MAC,ETH_MACFFR)
52 #define ETH_MACHTHR oC_Register(ETHERNET_MAC,ETH_MACHTHR)
53 #define ETH_MACHTLR oC_Register(ETHERNET_MAC,ETH_MACHTLR)
54 #define ETH_MACMIIAR oC_Register(ETHERNET_MAC,ETH_MACMIIAR)
55 #define ETH_MACMIIDR oC_Register(ETHERNET_MAC,ETH_MACMIIDR)
56 #define ETH_MACFCR oC_Register(ETHERNET_MAC,ETH_MACFCR)
57 #define ETH_MACVLANTR oC_Register(ETHERNET_MAC,ETH_MACVLANTR)
58 #define ETH_MACRWUFFR oC_Register(ETHERNET_MAC,ETH_MACRWUFFR)
59 #define ETH_MACPMTCSR oC_Register(ETHERNET_MAC,ETH_MACPMTCSR)
60 #define ETH_MACDBGR oC_Register(ETHERNET_MAC,ETH_MACDBGR)
61 #define ETH_MACSR oC_Register(ETHERNET_MAC,ETH_MACSR)
62 #define ETH_MACIMR oC_Register(ETHERNET_MAC,ETH_MACIMR)
63 #define ETH_MACA0HR oC_Register(ETHERNET_MAC,ETH_MACA0HR)
64 #define ETH_MACA0LR oC_Register(ETHERNET_MAC,ETH_MACA0LR)
65 #define ETH_MACA1HR oC_Register(ETHERNET_MAC,ETH_MACA1HR)
66 #define ETH_MACA1LR oC_Register(ETHERNET_MAC,ETH_MACA1LR)
67 #define ETH_MACA2HR oC_Register(ETHERNET_MAC,ETH_MACA2HR)
68 #define ETH_MACA2LR oC_Register(ETHERNET_MAC,ETH_MACA2LR)
69 #define ETH_MACA3HR oC_Register(ETHERNET_MAC,ETH_MACA3HR)
70 #define ETH_MACA3LR oC_Register(ETHERNET_MAC,ETH_MACA3LR)
71 #define ETH_MMCCR oC_Register(ETHERNET_MAC,ETH_MMCCR)
72 #define ETH_MMCRIR oC_Register(ETHERNET_MAC,ETH_MMCRIR)
73 #define ETH_MMCTIR oC_Register(ETHERNET_MAC,ETH_MMCTIR)
74 #define ETH_MMCRIMR oC_Register(ETHERNET_MAC,ETH_MMCRIMR )
75 #define ETH_MMCTIMR oC_Register(ETHERNET_MAC,ETH_MMCTIMR )
76 #define ETH_MMCTGFSCCR oC_Register(ETHERNET_MAC,ETH_MMCTGFSCCR )
77 #define ETH_MMCTGFMSCCR oC_Register(ETHERNET_MAC,ETH_MMCTGFMSCCR)
78 #define ETH_MMCTGFCR oC_Register(ETHERNET_MAC,ETH_MMCTGFCR )
79 #define ETH_MMCRFCECR oC_Register(ETHERNET_MAC,ETH_MMCRFCECR )
80 #define ETH_MMCRFAECR oC_Register(ETHERNET_MAC,ETH_MMCRFAECR )
81 #define ETH_MMCRGUFCR oC_Register(ETHERNET_MAC,ETH_MMCRGUFCR )
82 #define ETH_PTPTSCR oC_Register(ETHERNET_MAC,ETH_PTPTSCR )
83 #define ETH_PTPSSIR oC_Register(ETHERNET_MAC,ETH_PTPSSIR )
84 #define ETH_PTPTSHR oC_Register(ETHERNET_MAC,ETH_PTPTSHR )
85 #define ETH_PTPTSLR oC_Register(ETHERNET_MAC,ETH_PTPTSLR )
86 #define ETH_PTPTSHUR oC_Register(ETHERNET_MAC,ETH_PTPTSHUR )
87 #define ETH_PTPTSLIR oC_Register(ETHERNET_MAC,ETH_PTPTSLIR )
88 #define ETH_PTPTSAR oC_Register(ETHERNET_MAC,ETH_PTPTSAR )
89 #define ETH_PTPTTHR oC_Register(ETHERNET_MAC,ETH_PTPTTHR )
90 #define ETH_PTPTTLR oC_Register(ETHERNET_MAC,ETH_PTPTTLR )
91 #define ETH_PTPTSSR oC_Register(ETHERNET_MAC,ETH_PTPTSSR )
92 #define ETH_DMABMR oC_Register(ETHERNET_MAC,ETH_DMABMR )
93 #define ETH_DMATPDR oC_Register(ETHERNET_MAC,ETH_DMATPDR )
94 #define ETH_DMARPDR oC_Register(ETHERNET_MAC,ETH_DMARPDR )
95 #define ETH_DMARDLAR oC_Register(ETHERNET_MAC,ETH_DMARDLAR )
96 #define ETH_DMATDLAR oC_Register(ETHERNET_MAC,ETH_DMATDLAR )
97 #define ETH_DMASR oC_Register(ETHERNET_MAC,ETH_DMASR )
98 #define ETH_DMAOMR oC_Register(ETHERNET_MAC,ETH_DMAOMR )
99 #define ETH_DMAIER oC_Register(ETHERNET_MAC,ETH_DMAIER )
100 #define ETH_DMAMFBOCR oC_Register(ETHERNET_MAC,ETH_DMAMFBOCR )
101 #define ETH_DMARSWTR oC_Register(ETHERNET_MAC,ETH_DMARSWTR )
102 #define ETH_DMACHTDR oC_Register(ETHERNET_MAC,ETH_DMACHTDR )
103 #define ETH_DMACHRDR oC_Register(ETHERNET_MAC,ETH_DMACHRDR )
104 #define ETH_DMACHTBAR oC_Register(ETHERNET_MAC,ETH_DMACHTBAR )
105 #define ETH_DMACHRBAR oC_Register(ETHERNET_MAC,ETH_DMACHRBAR )
106 
107 #undef _________________________________________MACROS_SECTION_____________________________________________________________________________
108 
114 #define _________________________________________PROTOTYPES_SECTION_________________________________________________________________________
115 
116 static void TestFunction( void );
117 
118 #undef _________________________________________PROTOTYPES_SECTION_________________________________________________________________________
119 
125 #define _________________________________________VARIABLES_SECTION__________________________________________________________________________
126 
127 #undef _________________________________________VARIABLES_SECTION__________________________________________________________________________
128 
134 #define _________________________________________FUNCTIONS_SECTION__________________________________________________________________________
135 
136 //==========================================================================================================================================
141 //==========================================================================================================================================
142 oC_ErrorCode_t oC_ETH_LLD_TurnOnDriver( void )
143 {
144  oC_ErrorCode_t errorCode = oC_ErrorCode_ImplementError;
145 
147 
148  if(oC_Module_TurnOffVerification(&errorCode , oC_Module_ETH_LLD))
149  {
150  oC_Module_TurnOn(oC_Module_ETH_LLD);
151  errorCode = oC_ErrorCode_None;
152  TestFunction();
153  }
154 
156 
157  return errorCode;
158 }
159 
160 //==========================================================================================================================================
165 //==========================================================================================================================================
166 oC_ErrorCode_t oC_ETH_LLD_TurnOffDriver( void )
167 {
168  oC_ErrorCode_t errorCode = oC_ErrorCode_ImplementError;
169 
171 
172  if(oC_Module_TurnOnVerification(&errorCode , oC_Module_ETH_LLD))
173  {
174  oC_Module_TurnOff(oC_Module_ETH_LLD);
175  errorCode = oC_ErrorCode_None;
176  }
177 
179 
180  return errorCode;
181 }
182 
183 #undef _________________________________________FUNCTIONS_SECTION__________________________________________________________________________
184 
190 #define _________________________________________LOCAL_FUNCTIONS_SECTION____________________________________________________________________
191 
192 static void TestFunction( void )
193 {
195 
196  oC_ASSERT( ETH_MACCR->Value == 0x00008000 );
197 
198 
199 
200 }
201 
202 #undef _________________________________________LOCAL_FUNCTIONS_SECTION____________________________________________________________________
203 
Something is powered on.
Definition: oc_stdtypes.h:252
The file with LLD interface for the ETH driver.
The file with interface for LSF module.
The file with LLD interface for the MEM driver.
The file with interface for the module library.
static void oC_Module_TurnOn(oC_Module_t Module)
sets module as turned on
Definition: oc_module.h:170
The file with functions for the bits operation.
static void oC_MCS_EnterCriticalSection(void)
Enters to critical section.
Definition: oc_mcs.h:755
static bool oC_Module_TurnOffVerification(oC_ErrorCode_t *outErrorCode, oC_Module_t Module)
verify if module is turned off
Definition: oc_module.h:155
static bool oC_MCS_ExitCriticalSection(void)
Exits from critical section.
Definition: oc_mcs.h:784
static bool oC_Module_TurnOnVerification(oC_ErrorCode_t *outErrorCode, oC_Module_t Module)
verify if module is turned on
Definition: oc_module.h:138
static bool oC_Machine_SetPowerStateForChannel(oC_Channel_t Channel, oC_Power_t Power)
configures power state for machine channel
Definition: oc_machine.h:593
The file with interface for Channel module.
FILE__DESCRIPTION
static void oC_Module_TurnOff(oC_Module_t Module)
sets module as turned off
Definition: oc_module.h:185
Interface for Machine Base Addresses (BA) module.