u32 reset_delays[3];
int tx_delay_ps;
int rx_delay_ps;
+ bool leds_active_low;
};
static int sun8i_mdio_read(struct mii_dev *bus, int addr, int devad, int reg)
reg |= priv->phyaddr << H3_EPHY_ADDR_SHIFT;
reg |= H3_EPHY_CLK_SEL;
reg |= H3_EPHY_SELECT;
+
+ if (pdata->leds_active_low)
+ reg |= H3_EPHY_LED_POL;
} else {
reg |= H3_EPHY_SHUTDOWN;
}
printf("%s: Invalid RX delay value %d\n", __func__,
sun8i_pdata->rx_delay_ps);
+ sun8i_pdata->leds_active_low =
+ fdtdec_get_bool(gd->fdt_blob, dev_of_offset(dev),
+ "allwinner,leds-active-low");
+
if (fdtdec_get_bool(gd->fdt_blob, dev_of_offset(dev),
"snps,reset-active-low"))
reset_flags |= GPIOD_ACTIVE_LOW;