[U-Boot] [PATCH u-boot-marvell v2 07/12] board: turris_mox: Change SERDES map depending on module topology

Stefan Roese sr at denx.de
Wed Sep 19 12:22:43 UTC 2018


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 at 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


More information about the U-Boot mailing list