Thanks for your notes Igor. I've been through fec_main.c and I noticed only the following properties:
num-tx-queues
num-rx-queues
stop-mode
wakeup_irq
phy-reset-duration
So I take it by that, you're saying there is no Device Tree property which can be used to set the clock rate?
Our Ethernet is setup correctly in u-boot, that is we read the ENET_REF_CLK at 50MHz there, but once the kernel initializes it jumps to 125MHz, which is why I was looking in the kernel for notes on how this is selected.
I also did find the information about the CCM_ANALOG_PLL_ENETn register, but I couldn't find in the code where this was done.
I thought perhaps it had to do with the clk_enet_ref_table from arch/arm/mach-imx/clk-imx6q.c
static struct clk_div_table clk_enet_ref_table[] = {
{ .val = 0, .div = 20, },
{ .val = 1, .div = 10, },
{ .val = 2, .div = 5, },
{ .val = 3, .div = 4, },
{ /* sentinel */ }
};
But making adjustments here seemed to have no effect. Do you have another suggestion where I might look for the setting of this register?