net: ethernet: ave: add support for phy-mode setting of system controller
authorKunihiko Hayashi <hayashi.kunihiko@socionext.com>
Thu, 19 Apr 2018 07:24:55 +0000 (16:24 +0900)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Apr 2018 14:49:41 +0000 (10:49 -0400)
commit57878f2f4697a4f4ae53586fa7565ed1a3275a2c
tree78a6f9478e22b9e7f4eb8f06d0361fba04080458
parent74734306c20393910eae3379322c622e57351d98
net: ethernet: ave: add support for phy-mode setting of system controller

This patch adds support for specifying system controller that configures
phy-mode setting.

According to the DT property "phy-mode", it's necessary to configure the
controller, which is used to choose the settings of the MAC suitable,
for example, mdio pin connections, internal clocks, and so on.

Supported phy-modes are SoC-dependent. The driver allows phy-mode to set
"internal" if the SoC has a built-in PHY, and {"mii", "rmii", "rgmii"}
if the SoC supports each mode. So we have to check whether the phy-mode
is valid or not.

This adds the following features for each SoC:
- check whether the SoC supports the specified phy-mode
- configure the controller accroding to phy-mode

The DT property accepts one argument to distinguish them for multiple MAC
instances.

ethernet@65000000 {
...
socionext,syscon-phy-mode = <&soc_glue 0>;
};

ethernet@65200000 {
...
socionext,syscon-phy-mode = <&soc_glue 1>;
};

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/socionext/Kconfig
drivers/net/ethernet/socionext/sni_ave.c