ravb: Avoid unsupported internal delay mode for R-Car E3/D3
authorSimon Horman <horms+renesas@verge.net.au>
Tue, 23 Apr 2019 13:01:53 +0000 (15:01 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Apr 2019 01:43:49 +0000 (18:43 -0700)
commit0a5d329ffd1be394e3e4176eb11ca51dfde03c40
tree4d78b3040abeb9360555434d914774db7d1eea35
parentc98f4822ed7e02ff91fd29707218779718cf60f9
ravb: Avoid unsupported internal delay mode for R-Car E3/D3

According to the R-Car Gen3 Hardware Manual Rev 1.50 of Nov 30, 2018, the
TX clock internal delay mode isn't supported on R-Car E3 (r8a77990) or D3
(r8a77995). And by extension it is also not supported by RZ/G2E (r9a774c0).

This matches all ES versions of the affected SoCs as it is
not clear if this problem will be resolved in newer chips.
This can be revisited, as necessary.

This patch does not error-out if PHY_INTERFACE_MODE_RGMII_ID or
PHY_INTERFACE_MODE_RGMII_TXID are used on SoCs where TX clock delay
mode is not supported as there is a risk of introducing a regression
when used in conjunction with older DT blobs present in the field.
Rather, a warning is logged in such cases.

Based on work by Kazuya Mizuguchi.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/renesas/ravb_main.c