mirror of https://gitee.com/openkylin/linux.git
net: stmmac: sun8i: add support for Allwinner H6 EMAC
The EMAC on Allwinner H6 is just like the one on A64. The "internal PHY" on H6 is on a co-packaged AC200 chip, and it's not really internal (it's connected via RMII at PA GPIO bank). Add support for the Allwinner H6 EMAC in the dwmac-sun8i driver. Signed-off-by: Icenowy Zheng <icenowy@aosc.io> Signed-off-by: Ondrej Jirman <megous@megous.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
dcdfa50eef
commit
adadd38c53
|
@ -138,6 +138,20 @@ static const struct emac_variant emac_variant_a64 = {
|
|||
.tx_delay_max = 7,
|
||||
};
|
||||
|
||||
static const struct emac_variant emac_variant_h6 = {
|
||||
.default_syscon_value = 0x50000,
|
||||
.syscon_field = &sun8i_syscon_reg_field,
|
||||
/* The "Internal PHY" of H6 is not on the die. It's on the
|
||||
* co-packaged AC200 chip instead.
|
||||
*/
|
||||
.soc_has_internal_phy = false,
|
||||
.support_mii = true,
|
||||
.support_rmii = true,
|
||||
.support_rgmii = true,
|
||||
.rx_delay_max = 31,
|
||||
.tx_delay_max = 7,
|
||||
};
|
||||
|
||||
#define EMAC_BASIC_CTL0 0x00
|
||||
#define EMAC_BASIC_CTL1 0x04
|
||||
#define EMAC_INT_STA 0x08
|
||||
|
@ -1216,6 +1230,8 @@ static const struct of_device_id sun8i_dwmac_match[] = {
|
|||
.data = &emac_variant_r40 },
|
||||
{ .compatible = "allwinner,sun50i-a64-emac",
|
||||
.data = &emac_variant_a64 },
|
||||
{ .compatible = "allwinner,sun50i-h6-emac",
|
||||
.data = &emac_variant_h6 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, sun8i_dwmac_match);
|
||||
|
|
Loading…
Reference in New Issue