I am creating a USB driver on the Zephyr OS.
Currently USB2 (high speed) is working but USB3 (super speed) is not working. I think USB3 PHY is not working correctly. I found below in the IMX8MPRM document section 11.3.2.9 Fixed RX Equalization.
The PHY can be configured for fixed equalization by
programming relevant control registers in the USB 3.0 femtoPHY as follows.
1. Write 1'b0 to RX_OVRD_IN_HI.RX_EQ_EN [address 16'h1006: bit 6].
2. Write 1'b1 to RX_OVRD_IN_HI.RX_EQ_EN_OVRD [address 16'h1006: bit 7].
3. Write a fixed value to RX_OVRD_IN_HI.RX_EQ [address 16'h1006: bits 8–10]
[equalization setting] (generally 2–4, based on testing in customer environment).
4. Write 1'b1 to RX_OVRD_IN_HI.RX_EQ_OVRD [address 16'h1006: bit 11].
The RX_OVRD_IN_HI is a PHY internal register and accessed through the register in
the USB controller. See PHY Register Control (PHY_CRCTL) in the Universal Serial
Bus Controller (USB) chapter for details of how to update a USB PHY register. In the
above steps, the register RX_OVRD_IN_HI will be written four times. The software
must also read the RX_OVRD_IN_HI register first and keep other bits the same while
updating specific bits.
I don't know how to access this register. Can you explain where I can find this information?
Do you have any sample code to access this register?