defined 2.5MHz should only be used when all devices on the bus support
       the given clock speed.
 
+  suppress-preamble:
+    description:
+      The 32 bit preamble should be suppressed. In order for this to
+      work, all devices on the bus must support suppressed preamble.
+    type: boolean
+
 patternProperties:
   "^ethernet-phy@[0-9a-f]+$":
     type: object
 
        static struct mii_bus *fec0_mii_bus;
        struct net_device *ndev = platform_get_drvdata(pdev);
        struct fec_enet_private *fep = netdev_priv(ndev);
+       bool suppress_preamble = false;
        struct device_node *node;
        int err = -ENXIO;
        u32 mii_speed, holdtime;
 
        bus_freq = 2500000; /* 2.5MHz by default */
        node = of_get_child_by_name(pdev->dev.of_node, "mdio");
-       if (node)
+       if (node) {
                of_property_read_u32(node, "clock-frequency", &bus_freq);
+               suppress_preamble = of_property_read_bool(node,
+                                                         "suppress-preamble");
+       }
 
        /*
         * Set MII speed (= clk_get_rate() / 2 * phy_speed)
 
        fep->phy_speed = mii_speed << 1 | holdtime << 8;
 
+       if (suppress_preamble)
+               fep->phy_speed |= BIT(7);
+
        writel(fep->phy_speed, fep->hwp + FEC_MII_SPEED);
 
        /* Clear any pending transaction complete indication */