Hi all
We still have some confusion over this, and I really hope we can get some guidance.
We are using a Variscite Dart-mx6 Eval board with Fido. In general the board is all working - the final bit which has us stumped is the PTP.
The eval board has an external Phy which generates a 125M clock into ENET_REF_CLK(GPIO1[23]).
We noticed that the driver init code did not allow for external clocks, so have changed as follows:
imx6q_1588_init(void)
.....
if (!IS_ERR(gpr))
regmap_update_bits(gpr, IOMUXC_GPR1,
IMX6Q_GPR1_ENET_CLK_SEL_MASK,
0);
// IMX6Q_GPR1_ENET_CLK_SEL_ANATOP);
else
In the dtsi:
in the hog group we have added:
MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0b1
in the enet group we have:
MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
In the fec
fec: ethernet@02188000 {
compatible = "fsl,imx6q-fec";
reg = <0x02188000 0x4000>;
interrupts-extended =
<&intc 0 118 IRQ_TYPE_LEVEL_HIGH>,
<&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET_REF>;
clock-names = "ipg", "ahb", "ptp";
status = "disabled";
};
We are not clear whether these are the right settings - regardless, the ptp clock does not count. We can set it and read it, but it does not count and so the clock must be the issue.
Would be really grateful for some guidance on this
Z