DP83TC812R-Q1: Why does not write to Register Address?

Part Number: DP83TC812R-Q1

Tool/software:

Hello,

I use DP83TC812R chip on my custom board. I use QNX OS on my custom board. I try change register value of DP83TC812 on BSP and I expecting change the value of register on boot(when ethernet phy starting). Firstly I read 0x0444, 0x018B and 0x018E register address. I want control 0x0444 address for force sleeping, I used 0x018B register address for testing whether be able to write or not, I used 0x018E register address for read status.

I followed below steps for testing.

1- Read first status of registers

  • Write 0x001F value to 0x0D register
  • Write register address that I want change(0x0444, 0x018E, 0x018B) to 0x0E address.
  • Write 0x401F value to 0x0D
  • Read 0x0E


The results;

  • 0x0444 --> 0
  • 0x018E --> 4
  • 0x018B -->7179 (0x1C0B)


2- For value that I want to write to register

  • Write 0x001F value to 0x0D register
  • Write register address that I want change(0x0444, 0x018E, 0x018B) to 0x0E address.
  • Write 0x401F value to 0x0D
  • Write the value that I want to 0x0E register


The results;

  • For 0x0444, write 0x000C to 0x0E register
  • For 0x018B, write 0x0020 to 0x0E register


3- I read the 0x0444, 0x018B and 0x018E registers again using the method explained in step 1.

The results;

  • 0x0444 --> 0
  • 0x018E --> 4
  • 0x018B -->7243 (0x1C4B)


As I understand from test, I can't control registers. I don't know to how changed 0x018B and why does not change 0x0444 registers value. Could you please help about this issue?

Best Regards,

Faruk