> > +#define NVT_MISCR_RMII BIT(0) > > + > > +/* 2000ps is mapped to 0x0 ~ 0xF */ > > Excuse my ignorance: What is ps? picoseconds. An RGMII link needs a 2ns delay between the clock line and the data lines. Some MACs allow you to tune the delay they can insert, in this case in steps of 2ns / 16. > > +#define NVT_PATH_DELAY_DEC 134 > > +#define NVT_TX_DELAY_MASK GENMASK(19, 16) > > +#define NVT_RX_DELAY_MASK GENMASK(23, 20) > > + > > +struct nvt_priv_data { > > + struct platform_device *pdev; > > + struct regmap *regmap; > > +}; > > + > > +static struct nvt_priv_data * > > +nvt_gmac_setup(struct platform_device *pdev, struct plat_stmmacenet_data *plat) > > +{ > > + struct device *dev = &pdev->dev; > > + struct nvt_priv_data *bsp_priv; > > + phy_interface_t phy_mode; > > + u32 tx_delay, rx_delay; > > Please append the unit to the variable name. Which is trick, because they are in units of 2000/16 of a picosecond. Andrew