if (priv->plat->has_gmac4 && priv->plat->clk_ptp_rate)
                priv->plat->cdc_error_adj = (2 * NSEC_PER_SEC) / priv->plat->clk_ptp_rate;
 
-       priv->ptp_clock_ops.n_per_out = priv->dma_cap.pps_out_num;
-       priv->ptp_clock_ops.n_ext_ts = priv->dma_cap.aux_snapshot_n;
+       /* Update the ptp clock parameters based on feature discovery, when
+        * available
+        */
+       if (priv->dma_cap.pps_out_num)
+               priv->ptp_clock_ops.n_per_out = priv->dma_cap.pps_out_num;
+
+       if (priv->dma_cap.aux_snapshot_n)
+               priv->ptp_clock_ops.n_ext_ts = priv->dma_cap.aux_snapshot_n;
 
        if (priv->plat->ptp_max_adj)
                priv->ptp_clock_ops.max_adj = priv->plat->ptp_max_adj;