Hi all,
A while back I had worked on bringing up a DM8148-based board up to date with linux-omap3 master in order to get UBIFS + BCH16 up and running.
In doing so, I found that some changest broke Ethernet (RGMII) functionality for the DM8148 -- the device began failing to send packets over ~600 bytes.
I tracked the issue down to commit 135128bdbebb86f7a69554b99de596a22531affb, in which the configuration of the SATA PLL registers was changed to switch from a 20 MHz clock to a 100 MHz clock.
Since we're not using SATA in our application, a simple workaround is to remove the call to ti814x_sata_pllcfg() in from omap2_init_devices() (device.c).
However, I just wanted to ask whether anyone else ran across this. Is this a defect, or would one need to make some other changes if they wanted to use both SATA and RGMII?
For reference, the relevant sections of the DM8148 TRM (SPRUGZ8B, Nov 12 2011 revision) that I'm reviewing to obtain a better understanding of the SATA/EMAC clock structure are:
- Section 9.1.5 (EMAC) Interface Clokcing
- Figure 9-2, 3PSW Subsystem Clocking Block Diagram
- Section 21.5, "SATA PLL Registers"
- Figure 2-6, "Clock Structure"
- Figure 2-10, "SERDES and Ethernet Clock Structure"