On Wed, Oct 13, 2021 at 01:48:20AM -0700, Trent Piepho wrote: > On Wed, Oct 13, 2021 at 12:29 AM Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> wrote: > > > Note that not just KSZ8081 has this bit. Also KSZ8021, KSZ8031, and > > > KSZ8051, which has the existing different method to handle it, as > > > described earlier. > > > > ok, i'll sync all of this PHYs with the state of the kernel driver. > > The board fixups should be removed by someone who can confirm it. > > If you copy the entire kernel driver you will massively bloat this > code with stuff that is totally unused. Yes. > > > > +static int kszphy_rmii_clk_sel(struct phy_device *phydev, bool val) > > > > +{ > > > > + int ctrl; > > > > + > > > > + ctrl = phy_read(phydev, MII_KSZPHY_CTRL); > > > > + if (ctrl < 0) > > > > + return ctrl; > > > > + > > > > + if (val) > > > > + ctrl |= KSZPHY_RMII_REF_CLK_SEL; > > > > + else > > > > + ctrl &= ~KSZPHY_RMII_REF_CLK_SEL; > > > > + > > > > + return phy_write(phydev, MII_KSZPHY_CTRL, ctrl); > > > > +} > > > > > > phy_set_bits(phydev, MII_KSZPHY_CTRL, KSZ8051_RMII_50MHZ_CLK); > > > > No, it should be synced with kernel not in the opposite way. > > If you want the code to match, then improve the kernel code rather > than make Barebox code worse. phy_set_bits, phy_clear_bits and > phy_modify exist. One can not use them if a kernel driver has not > been refactored to use them? Sure. Can you please show example of the kszphy_rmii_clk_sel() refactoring. And how much optimization will it introduce? Please compared with disassembled part. Regards, Oleksij -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox