
On 17.08.2018 12:58, Marek BehĂșn wrote:
When SFP module is connected directly to CPU module we want the SGMII lane speed at 1.25 Gbps.
Signed-off-by: Marek Behun marek.behun@nic.cz
board/CZ.NIC/turris_mox/turris_mox.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+)
diff --git a/board/CZ.NIC/turris_mox/turris_mox.c b/board/CZ.NIC/turris_mox/turris_mox.c index 4a3e78c5d6..224179434b 100644 --- a/board/CZ.NIC/turris_mox/turris_mox.c +++ b/board/CZ.NIC/turris_mox/turris_mox.c @@ -8,6 +8,7 @@ #include <dm.h> #include <clk.h> #include <spi.h> +#include <mvebu/comphy.h> #include <linux/string.h> #include <linux/libfdt.h> #include <fdt_support.h> @@ -218,6 +219,38 @@ static int mox_get_topology(const u8 **ptopology, int *psize, return 0; }
+int comphy_update_map(struct comphy_map *serdes_map, int count) +{
- int ret, i, size, sfpindex = -1, swindex = -1;
- const u8 *topology;
- ret = mox_get_topology(&topology, &size, NULL);
- if (ret)
return ret;
- for (i = 0; i < size; ++i) {
if (topology[i] == MOX_MODULE_SFP && sfpindex == -1)
sfpindex = i;
else if ((topology[i] == MOX_MODULE_TOPAZ ||
topology[i] == MOX_MODULE_PERIDOT) &&
swindex == -1)
swindex = i;
- }
- if (sfpindex >= 0 && swindex >= 0) {
if (sfpindex < swindex)
serdes_map[0].speed = PHY_SPEED_1_25G;
else
serdes_map[0].speed = PHY_SPEED_3_125G;
- } else if (sfpindex >= 0) {
serdes_map[0].speed = PHY_SPEED_1_25G;
- } else if (swindex >= 0) {
serdes_map[0].speed = PHY_SPEED_3_125G;
- }
- return 0;
+}
- int last_stage_init(void) { int ret, i;
This patch does not apply currently. I'm skipping it from this series for now. I'm currently pushing my Marvell branch upstream and would like to get the first batch of patches accepted. After Tom has pulled these patches, please rebase on top of this new master.
Thanks, Stefan