mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-21 17:11:57 -06:00
Add the ability to select a different PHY for each i.MX6UL FEC interface
Add properties to the i.MX6UL processor to be able to select a particular PHY on the MDIO bus for each FEC device. Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net> Message-id: ea1d604198b6b73ea6521676e45bacfc597aba53.1593296112.git.jcd@tribudubois.net Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
461c51ad42
commit
456914afc6
2 changed files with 12 additions and 0 deletions
|
@ -427,6 +427,9 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp)
|
||||||
FSL_IMX6UL_ENET2_TIMER_IRQ,
|
FSL_IMX6UL_ENET2_TIMER_IRQ,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
object_property_set_uint(OBJECT(&s->eth[i]),
|
||||||
|
s->phy_num[i],
|
||||||
|
"phy-num", &error_abort);
|
||||||
object_property_set_uint(OBJECT(&s->eth[i]),
|
object_property_set_uint(OBJECT(&s->eth[i]),
|
||||||
FSL_IMX6UL_ETH_NUM_TX_RINGS,
|
FSL_IMX6UL_ETH_NUM_TX_RINGS,
|
||||||
"tx-ring-num", &error_abort);
|
"tx-ring-num", &error_abort);
|
||||||
|
@ -607,10 +610,17 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp)
|
||||||
FSL_IMX6UL_OCRAM_ALIAS_ADDR, &s->ocram_alias);
|
FSL_IMX6UL_OCRAM_ALIAS_ADDR, &s->ocram_alias);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Property fsl_imx6ul_properties[] = {
|
||||||
|
DEFINE_PROP_UINT32("fec1-phy-num", FslIMX6ULState, phy_num[0], 0),
|
||||||
|
DEFINE_PROP_UINT32("fec2-phy-num", FslIMX6ULState, phy_num[1], 1),
|
||||||
|
DEFINE_PROP_END_OF_LIST(),
|
||||||
|
};
|
||||||
|
|
||||||
static void fsl_imx6ul_class_init(ObjectClass *oc, void *data)
|
static void fsl_imx6ul_class_init(ObjectClass *oc, void *data)
|
||||||
{
|
{
|
||||||
DeviceClass *dc = DEVICE_CLASS(oc);
|
DeviceClass *dc = DEVICE_CLASS(oc);
|
||||||
|
|
||||||
|
device_class_set_props(dc, fsl_imx6ul_properties);
|
||||||
dc->realize = fsl_imx6ul_realize;
|
dc->realize = fsl_imx6ul_realize;
|
||||||
dc->desc = "i.MX6UL SOC";
|
dc->desc = "i.MX6UL SOC";
|
||||||
/* Reason: Uses serial_hds and nd_table in realize() directly */
|
/* Reason: Uses serial_hds and nd_table in realize() directly */
|
||||||
|
|
|
@ -87,6 +87,8 @@ typedef struct FslIMX6ULState {
|
||||||
MemoryRegion caam;
|
MemoryRegion caam;
|
||||||
MemoryRegion ocram;
|
MemoryRegion ocram;
|
||||||
MemoryRegion ocram_alias;
|
MemoryRegion ocram_alias;
|
||||||
|
|
||||||
|
uint32_t phy_num[FSL_IMX6UL_NUM_ETHS];
|
||||||
} FslIMX6ULState;
|
} FslIMX6ULState;
|
||||||
|
|
||||||
enum FslIMX6ULMemoryMap {
|
enum FslIMX6ULMemoryMap {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue