ARM: imx6q: Set enet tx reference clk from anatop to support 1588
authorFrank Li <Frank.Li@freescale.com>
Tue, 30 Oct 2012 18:25:22 +0000 (18:25 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Nov 2012 16:28:05 +0000 (12:28 -0400)
Set GRP1 BIT21 ENET_CLK_SEL:
  Enet tx reference clk from internal clock from anatop
  (loopback through pad), this clock also sent out to external PHY

Signed-off-by: Frank Li <Frank.Li@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/arm/mach-imx/mach-imx6q.c

index 47c91f7185d2fb7cdef048388e5cf82620e68a87..38d69100398d9d6bb5a174aaa7c25dec150b746c 100644 (file)
@@ -117,6 +117,17 @@ static void __init imx6q_sabrelite_init(void)
        imx6q_sabrelite_cko1_setup();
 }
 
+static void __init imx6q_1588_init(void)
+{
+       struct regmap *gpr;
+
+       gpr = syscon_regmap_lookup_by_compatible("fsl,imx6q-iomuxc-gpr");
+       if (!IS_ERR(gpr))
+               regmap_update_bits(gpr, 0x4, 1 << 21, 1 << 21);
+       else
+               pr_err("failed to find fsl,imx6q-iomux-gpr regmap\n");
+
+}
 static void __init imx6q_usb_init(void)
 {
        struct regmap *anatop;
@@ -153,6 +164,7 @@ static void __init imx6q_init_machine(void)
 
        imx6q_pm_init();
        imx6q_usb_init();
+       imx6q_1588_init();
 }
 
 static struct cpuidle_driver imx6q_cpuidle_driver = {