|
@@ -13,8 +13,8 @@
|
|
|
|
|
|
/**
|
|
|
* It maps 'enum phy_interface_t' found in include/linux/phy.h
|
|
|
- * into the device tree binding of 'phy-mode', so that Ethernet
|
|
|
- * device driver can get phy interface from device tree.
|
|
|
+ * into the device tree binding of 'phy-mode' or 'phy-connection-type',
|
|
|
+ * so that Ethernet device driver can get phy interface from device tree.
|
|
|
*/
|
|
|
static const char *phy_modes[] = {
|
|
|
[PHY_INTERFACE_MODE_NA] = "",
|
|
@@ -37,8 +37,9 @@ static const char *phy_modes[] = {
|
|
|
* of_get_phy_mode - Get phy mode for given device_node
|
|
|
* @np: Pointer to the given device_node
|
|
|
*
|
|
|
- * The function gets phy interface string from property 'phy-mode',
|
|
|
- * and return its index in phy_modes table, or errno in error case.
|
|
|
+ * The function gets phy interface string from property 'phy-mode' or
|
|
|
+ * 'phy-connection-type', and return its index in phy_modes table, or errno in
|
|
|
+ * error case.
|
|
|
*/
|
|
|
int of_get_phy_mode(struct device_node *np)
|
|
|
{
|
|
@@ -46,6 +47,8 @@ int of_get_phy_mode(struct device_node *np)
|
|
|
int err, i;
|
|
|
|
|
|
err = of_property_read_string(np, "phy-mode", &pm);
|
|
|
+ if (err < 0)
|
|
|
+ err = of_property_read_string(np, "phy-connection-type", &pm);
|
|
|
if (err < 0)
|
|
|
return err;
|
|
|
|