Commit d3fa20b9 authored by Grygorii Strashko's avatar Grygorii Strashko Committed by Vinod Koul

phy: ti: gmii-sel: use features mask during init

Use features mask during PHYs initialization to simplify code.
Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
Link: https://lore.kernel.org/r/20200828201943.29155-3-grygorii.strashko@ti.comSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 15819a6c
...@@ -147,13 +147,9 @@ static const ...@@ -147,13 +147,9 @@ static const
struct reg_field phy_gmii_sel_fields_dra7[][PHY_GMII_SEL_LAST] = { struct reg_field phy_gmii_sel_fields_dra7[][PHY_GMII_SEL_LAST] = {
{ {
[PHY_GMII_SEL_PORT_MODE] = REG_FIELD(0x554, 0, 1), [PHY_GMII_SEL_PORT_MODE] = REG_FIELD(0x554, 0, 1),
[PHY_GMII_SEL_RGMII_ID_MODE] = REG_FIELD((~0), 0, 0),
[PHY_GMII_SEL_RMII_IO_CLK_EN] = REG_FIELD((~0), 0, 0),
}, },
{ {
[PHY_GMII_SEL_PORT_MODE] = REG_FIELD(0x554, 4, 5), [PHY_GMII_SEL_PORT_MODE] = REG_FIELD(0x554, 4, 5),
[PHY_GMII_SEL_RGMII_ID_MODE] = REG_FIELD((~0), 0, 0),
[PHY_GMII_SEL_RMII_IO_CLK_EN] = REG_FIELD((~0), 0, 0),
}, },
}; };
...@@ -174,8 +170,6 @@ static const ...@@ -174,8 +170,6 @@ static const
struct reg_field phy_gmii_sel_fields_am654[][PHY_GMII_SEL_LAST] = { struct reg_field phy_gmii_sel_fields_am654[][PHY_GMII_SEL_LAST] = {
{ {
[PHY_GMII_SEL_PORT_MODE] = REG_FIELD(0x4040, 0, 1), [PHY_GMII_SEL_PORT_MODE] = REG_FIELD(0x4040, 0, 1),
[PHY_GMII_SEL_RGMII_ID_MODE] = REG_FIELD((~0), 0, 0),
[PHY_GMII_SEL_RMII_IO_CLK_EN] = REG_FIELD((~0), 0, 0),
}, },
}; };
...@@ -266,7 +260,7 @@ static int phy_gmii_init_phy(struct phy_gmii_sel_priv *priv, int port, ...@@ -266,7 +260,7 @@ static int phy_gmii_init_phy(struct phy_gmii_sel_priv *priv, int port,
if_phy->fields[PHY_GMII_SEL_PORT_MODE] = regfield; if_phy->fields[PHY_GMII_SEL_PORT_MODE] = regfield;
field = *fields++; field = *fields++;
if (field.reg != (~0)) { if (soc_data->features & BIT(PHY_GMII_SEL_RGMII_ID_MODE)) {
regfield = devm_regmap_field_alloc(dev, regfield = devm_regmap_field_alloc(dev,
priv->regmap, priv->regmap,
field); field);
...@@ -278,7 +272,7 @@ static int phy_gmii_init_phy(struct phy_gmii_sel_priv *priv, int port, ...@@ -278,7 +272,7 @@ static int phy_gmii_init_phy(struct phy_gmii_sel_priv *priv, int port,
} }
field = *fields; field = *fields;
if (field.reg != (~0)) { if (soc_data->features & BIT(PHY_GMII_SEL_RMII_IO_CLK_EN)) {
regfield = devm_regmap_field_alloc(dev, regfield = devm_regmap_field_alloc(dev,
priv->regmap, priv->regmap,
field); field);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment