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

Function PhyWrite

src/dolphin/src/eth/eth.c:281–319  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

279}
280
281static void PhyWrite(unsigned int regNo, u16 value) {
282 int i;
283
284 /* Clear command */
285 for (i = 0; i < 32; i++) {
286 StaOutput(1);
287 }
288
289 /* Enter write mode */
290 StaOutput(0);
291 StaOutput(1);
292 StaOutput(0);
293 StaOutput(1);
294 StaOutput(0);
295 StaOutput(0);
296 StaOutput(0);
297 StaOutput(0);
298 StaOutput(0);
299
300 /* Set register */
301 StaOutput((regNo >> 4) & 1);
302 StaOutput((regNo >> 3) & 1);
303 StaOutput((regNo >> 2) & 1);
304 StaOutput((regNo >> 1) & 1);
305 StaOutput((regNo >> 0) & 1);
306
307 StaOutput(1);
308 StaOutput(0);
309
310 /* Write value */
311 for (i = 0; i < 16; i++) {
312 StaOutput((u8)((value >> (15 - i)) & 1));
313 }
314
315 /* Clear command */
316 for (i = 0; i < 32; i++) {
317 StaOutput(1);
318 }
319}
320
321static void reset(void) {
322 writecmd(0x0060, 0);

Callers

nothing calls this directly

Calls 1

StaOutputFunction · 0.85

Tested by

no test coverage detected