@@ -529,8 +529,6 @@ static int fec_ptp_enable(struct ptp_clock_info *ptp,
unsigned long flags;
int ret = 0;
- fep->pps_channel = DEFAULT_PPS_CHANNEL;
-
if (rq->type == PTP_CLK_REQ_PPS) {
fep->reload_period = PPS_OUPUT_RELOAD_PERIOD;
@@ -712,12 +710,16 @@ void fec_ptp_init(struct platform_device *pdev, int irq_idx)
{
struct net_device *ndev = platform_get_drvdata(pdev);
struct fec_enet_private *fep = netdev_priv(ndev);
+ struct device_node *np = fep->pdev->dev.of_node;
int irq;
int ret;
fep->ptp_caps.owner = THIS_MODULE;
strscpy(fep->ptp_caps.name, "fec ptp", sizeof(fep->ptp_caps.name));
+ fep->pps_channel = DEFAULT_PPS_CHANNEL;
+ of_property_read_u32(np, "fsl,pps-channel", &fep->pps_channel);
+
fep->ptp_caps.max_adj = 250000000;
fep->ptp_caps.n_alarm = 0;
fep->ptp_caps.n_ext_ts = 0;