[PATCH v3 1/2] net: fec: Add possibility to enable TXC delay
Stefano Babic
sbabic at denx.de
Fri May 1 12:46:36 CEST 2020
On 17.04.20 18:56, Philippe Schenker wrote:
> On Fri, 2020-04-17 at 18:35 +0200, Stefano Babic wrote:
>> Hi Philippe,
>>
>> On 11/03/20 11:52, Philippe Schenker wrote:
>>> This patch enables the possibility to set FEC_ENET_ENABLE_TXC_DELAY
>>> or
>>> FEC_ENET_ENABLE_RXC_DELAY so one can via a define enable the RXC or
>>> TXC
>>> delay in the MAC.
>>>
>>> Signed-off-by: Philippe Schenker <philippe.schenker at toradex.com>
>>> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov at toradex.com>
>>>
>>> ---
>>>
>>> Changes in v3:
>>> - Add Olek's reviewed-by tag
>>>
>>> Changes in v2: None
>>>
>>> drivers/net/fec_mxc.c | 10 ++++++++++
>>> drivers/net/fec_mxc.h | 2 ++
>>> 2 files changed, 12 insertions(+)
>>>
>>> diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
>>> index bc5b63d7881..345d37be4e8 100644
>>> --- a/drivers/net/fec_mxc.c
>>> +++ b/drivers/net/fec_mxc.c
>>> @@ -503,6 +503,16 @@ static int fec_open(struct eth_device *edev)
>>> writel(readl(&fec->eth->ecntrl) | FEC_ECNTRL_ETHER_EN,
>>> &fec->eth->ecntrl);
>>>
>>> +#ifdef FEC_ENET_ENABLE_TXC_DELAY
>>> + writel(readl(&fec->eth->ecntrl) | FEC_ECNTRL_TXC_DLY,
>>> + &fec->eth->ecntrl);
>>> +#endif
>>> +
>>> +#ifdef FEC_ENET_ENABLE_RXC_DELAY
>>> + writel(readl(&fec->eth->ecntrl) | FEC_ECNTRL_RXC_DLY,
>>> + &fec->eth->ecntrl);
>>> +#endif
>>> +
>>> #if defined(CONFIG_MX25) || defined(CONFIG_MX53) ||
>>> defined(CONFIG_MX6SL)
>>> udelay(100);
>>>
>>> diff --git a/drivers/net/fec_mxc.h b/drivers/net/fec_mxc.h
>>> index 159aec89679..3c8fdda2638 100644
>>> --- a/drivers/net/fec_mxc.h
>>> +++ b/drivers/net/fec_mxc.h
>>> @@ -188,6 +188,8 @@ struct ethernet_regs {
>>> #define FEC_ECNTRL_ETHER_EN 0x00000002 /* enable
>>> the FEC */
>>> #define FEC_ECNTRL_SPEED 0x00000020
>>> #define FEC_ECNTRL_DBSWAP 0x00000100
>>> +#define FEC_ECNTRL_TXC_DLY 0x00010000 /* TXC delayed */
>>> +#define FEC_ECNTRL_RXC_DLY 0x00020000 /* RXC delayed */
>>>
>>> #define FEC_X_WMRK_STRFWD 0x00000100
>>>
>>>
>>
>> But these are not exactly the properties removed by verdin-imx8mm in
>> DTS, that is for example rgmii_rxc_dly ? And then, should not be
>> better
>> to support it in DT instead of a CONFIG_ ?
>
> Hi Stefano,
>
> I'll add Igor in cc as I'm not that familiar with most recent
> development on u-boot. Yes you are right. Those tags (rgmii_rxc_dly) are
> exactly the same. However they came in from our downstream branch and
> were never meant for mainline u-boot. We dropped them in favor of the
> proper phy-mode 'rgmii-id' in linux. Those originally probably also
> originated from our downstream linux branch...
>
> But U-Boot does not support phy-modes on KSZ PHYs so I felt this was a
> straight forward and easy solution
This is an easy and straighforward solution, sure. Strange enough, your
solution in DT is exactly as Oliver's did here:
http://patchwork.ozlabs.org/project/uboot/patch/20200203135619.10180-1-oliver.graute@kococonnector.com/
Both of you tried to get in in DT.
> for u-boot that we can enable as soon
> as we have our new PHY KSZ9131 on our board. At the moment there is
> KSZ9031 placed which does indeed not support this.
Anyway, until the property is not mainlined to Linux, I am fine to merge
your series.
Regards,
Stefano
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
More information about the U-Boot
mailing list