MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / PhyRead

Function PhyRead

src/dolphin/src/eth/eth.c:237–279  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

235}
236
237static u16 PhyRead(unsigned int regNo) {
238 int i;
239 u16 value;
240
241 /* Clear command */
242 for (i = 0; i < 32; i++) {
243 StaOutput(1);
244 }
245
246 /* Enter read mode */
247 StaOutput(0);
248 StaOutput(1);
249 StaOutput(1);
250 StaOutput(0);
251 StaOutput(0);
252 StaOutput(0);
253 StaOutput(0);
254 StaOutput(0);
255 StaOutput(0);
256
257 /* Set register */
258 StaOutput((regNo >> 4) & 1);
259 StaOutput((regNo >> 3) & 1);
260 StaOutput((regNo >> 2) & 1);
261 StaOutput((regNo >> 1) & 1);
262 StaOutput((regNo >> 0) & 1);
263 writecmd(0x0060, 4);
264 value = StaInput();
265 value = StaInput();
266
267 /* Read value */
268 value = 0;
269 for (i = 0; i < 16; i++) {
270 value = value + (StaInput() << (15 - i));
271 }
272
273 /* Clear command */
274 for (i = 0; i < 32; i++) {
275 StaOutput(1);
276 }
277
278 return value;
279}
280
281static void PhyWrite(unsigned int regNo, u16 value) {
282 int i;

Callers

nothing calls this directly

Calls 3

StaOutputFunction · 0.85
writecmdFunction · 0.85
StaInputFunction · 0.85

Tested by

no test coverage detected