From f09aa40e8517070bd50dd7d64cab768f81933f30 Mon Sep 17 00:00:00 2001 From: speriaka Date: Wed, 8 May 2019 15:56:57 +0530 Subject: [PATCH] drivers: net: ipq6018: Bring in SFP port Change-Id: I9b7c6636929715bee2619859da53bc36397f1d51 Signed-off-by: speriaka --- board/qca/arm/ipq6018/ipq6018.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/board/qca/arm/ipq6018/ipq6018.c b/board/qca/arm/ipq6018/ipq6018.c index 00ee630e6c..411cf2f5a7 100644 --- a/board/qca/arm/ipq6018/ipq6018.c +++ b/board/qca/arm/ipq6018/ipq6018.c @@ -894,6 +894,21 @@ void malibu_phy_reset_init(void) } } +void sfp_reset_init(void) +{ + int sfp_gpio = -1, node; + unsigned int *sfp_gpio_base; + + node = fdt_path_offset(gd->fdt_blob, "/ess-switch"); + if (node >= 0) + sfp_gpio = fdtdec_get_uint(gd->fdt_blob, node, "sfp_gpio", -1); + + if (sfp_gpio >=0) { + sfp_gpio_base = (unsigned int *)GPIO_CONFIG_ADDR(sfp_gpio); + writel(0x2C1, sfp_gpio_base); + } +} + void aquantia_phy_reset_init_done(void) { int aquantia_gpio; @@ -1019,6 +1034,7 @@ void eth_clock_enable(void) malibu_phy_reset_init(); aquantia_phy_reset_init(); napa_phy_reset_init(); + sfp_reset_init(); mdelay(500); malibu_phy_reset_init_done(); aquantia_phy_reset_init_done();