ath79: ag71xx: assert a switch reset if defined in dts.
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
This commit is contained in:
parent
a5fa6b3825
commit
f593020a28
1 changed files with 9 additions and 0 deletions
|
@ -1218,6 +1218,7 @@ ag71xx_ar7240_probe(struct mdio_device *mdiodev)
|
||||||
struct mii_bus *mii = mdiodev->bus;
|
struct mii_bus *mii = mdiodev->bus;
|
||||||
struct ar7240sw *as;
|
struct ar7240sw *as;
|
||||||
struct switch_dev *swdev;
|
struct switch_dev *swdev;
|
||||||
|
struct reset_control *switch_reset;
|
||||||
u32 ctrl;
|
u32 ctrl;
|
||||||
int phy_if_mode, err, i;
|
int phy_if_mode, err, i;
|
||||||
|
|
||||||
|
@ -1231,6 +1232,14 @@ ag71xx_ar7240_probe(struct mdio_device *mdiodev)
|
||||||
|
|
||||||
swdev = &as->swdev;
|
swdev = &as->swdev;
|
||||||
|
|
||||||
|
switch_reset = devm_reset_control_get_optional(&mdiodev->dev, "switch");
|
||||||
|
if (switch_reset) {
|
||||||
|
reset_control_assert(switch_reset);
|
||||||
|
msleep(50);
|
||||||
|
reset_control_deassert(switch_reset);
|
||||||
|
msleep(200);
|
||||||
|
}
|
||||||
|
|
||||||
ctrl = ar7240sw_reg_read(mii, AR7240_REG_MASK_CTRL);
|
ctrl = ar7240sw_reg_read(mii, AR7240_REG_MASK_CTRL);
|
||||||
as->ver = (ctrl >> AR7240_MASK_CTRL_VERSION_S) &
|
as->ver = (ctrl >> AR7240_MASK_CTRL_VERSION_S) &
|
||||||
AR7240_MASK_CTRL_VERSION_M;
|
AR7240_MASK_CTRL_VERSION_M;
|
||||||
|
|
Loading…
Reference in a new issue