diff mbox series

[05/10] arm: mvebu: clearfog: Add option for 2.5 Gbps SFP

Message ID 20200111193639.19022-5-mrjoel@lixil.net
State Superseded
Headers show
Series [01/10] arm: mvebu: fix SerDes table alignment | expand

Commit Message

Joel Johnson Jan. 11, 2020, 7:36 p.m. UTC
Signed-off-by: Joel Johnson <mrjoel at lixil.net>
---

 board/solidrun/clearfog/Kconfig    | 7 +++++++
 board/solidrun/clearfog/clearfog.c | 4 ++++
 2 files changed, 11 insertions(+)

Comments

Baruch Siach Jan. 12, 2020, 10:21 a.m. UTC | #1
Hi Joel,

On Sat, Jan 11 2020, Joel Johnson wrote:
> Signed-off-by: Joel Johnson <mrjoel at lixil.net>
> ---
>
>  board/solidrun/clearfog/Kconfig    | 7 +++++++
>  board/solidrun/clearfog/clearfog.c | 4 ++++
>  2 files changed, 11 insertions(+)
>
> diff --git a/board/solidrun/clearfog/Kconfig b/board/solidrun/clearfog/Kconfig
> index 30f53508c2..53f01daf7a 100644
> --- a/board/solidrun/clearfog/Kconfig
> +++ b/board/solidrun/clearfog/Kconfig
> @@ -24,4 +24,11 @@ config CLEARFOG_CON2_SATA
>  	 modules, but the desired protocol must be configured at build
>  	 time since it affects the SerDes topology layout.
>
> +config CLEARFOG_SFP_25GB
> +	bool "Enable 2.5 Gbps mode for SFP"
> +	help
> +	 Set the SFP module connection to support 2.5 Gbps transfer speed for the
> +	 SGMII connection (requires a supporting SFP). By default, transfer speed
> +	 of 1.25 Gbps is used, suitable for a more common 1 Gbps SFP module.

Note that recent Linux kernels support run-time SFP detection and serdes
speed configuration. This patch is still useful for older kernels.

baruch

> +
>  endmenu
> diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
> index 4f51b19ce9..247785ac56 100644
> --- a/board/solidrun/clearfog/clearfog.c
> +++ b/board/solidrun/clearfog/clearfog.c
> @@ -44,7 +44,11 @@ static struct serdes_map board_serdes_map[] = {
>  #else
>  	{PEX2, SERDES_SPEED_5_GBPS, PEX_ROOT_COMPLEX_X1, 0, 0},
>  #endif
> +#if defined (CONFIG_CLEARFOG_SFP_25GB)
> +	{SGMII2, SERDES_SPEED_3_125_GBPS, SERDES_DEFAULT_MODE, 0, 0},
> +#else
>  	{SGMII2, SERDES_SPEED_1_25_GBPS, SERDES_DEFAULT_MODE, 0, 0},
> +#endif
>  };
>
>  int hws_board_topology_load(struct serdes_map **serdes_map_array, u8 *count)

--
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
Joel Johnson Jan. 12, 2020, 3:07 p.m. UTC | #2
On January 12, 2020 10:21:05 AM UTC, Baruch Siach <baruch at tkos.co.il> wrote:
>Hi Joel,
>
>On Sat, Jan 11 2020, Joel Johnson wrote:
>> Signed-off-by: Joel Johnson <mrjoel at lixil.net>
>> ---
>>
>>  board/solidrun/clearfog/Kconfig    | 7 +++++++
>>  board/solidrun/clearfog/clearfog.c | 4 ++++
>>  2 files changed, 11 insertions(+)
>>
>> diff --git a/board/solidrun/clearfog/Kconfig
>b/board/solidrun/clearfog/Kconfig
>> index 30f53508c2..53f01daf7a 100644
>> --- a/board/solidrun/clearfog/Kconfig
>> +++ b/board/solidrun/clearfog/Kconfig
>> @@ -24,4 +24,11 @@ config CLEARFOG_CON2_SATA
>>  	 modules, but the desired protocol must be configured at build
>>  	 time since it affects the SerDes topology layout.
>>
>> +config CLEARFOG_SFP_25GB
>> +	bool "Enable 2.5 Gbps mode for SFP"
>> +	help
>> +	 Set the SFP module connection to support 2.5 Gbps transfer speed
>for the
>> +	 SGMII connection (requires a supporting SFP). By default, transfer
>speed
>> +	 of 1.25 Gbps is used, suitable for a more common 1 Gbps SFP
>module.
>
>Note that recent Linux kernels support run-time SFP detection and
>serdes
>speed configuration. This patch is still useful for older kernels.
>
>baruch

Older kernels I suppose is a nice side effect also, but I was mainly targeting differentiating within U-Boot for network support options.

Joel
diff mbox series

Patch

diff --git a/board/solidrun/clearfog/Kconfig b/board/solidrun/clearfog/Kconfig
index 30f53508c2..53f01daf7a 100644
--- a/board/solidrun/clearfog/Kconfig
+++ b/board/solidrun/clearfog/Kconfig
@@ -24,4 +24,11 @@  config CLEARFOG_CON2_SATA
 	 modules, but the desired protocol must be configured at build
 	 time since it affects the SerDes topology layout.
 
+config CLEARFOG_SFP_25GB
+	bool "Enable 2.5 Gbps mode for SFP"
+	help
+	 Set the SFP module connection to support 2.5 Gbps transfer speed for the
+	 SGMII connection (requires a supporting SFP). By default, transfer speed
+	 of 1.25 Gbps is used, suitable for a more common 1 Gbps SFP module.
+
 endmenu
diff --git a/board/solidrun/clearfog/clearfog.c b/board/solidrun/clearfog/clearfog.c
index 4f51b19ce9..247785ac56 100644
--- a/board/solidrun/clearfog/clearfog.c
+++ b/board/solidrun/clearfog/clearfog.c
@@ -44,7 +44,11 @@  static struct serdes_map board_serdes_map[] = {
 #else
 	{PEX2, SERDES_SPEED_5_GBPS, PEX_ROOT_COMPLEX_X1, 0, 0},
 #endif
+#if defined (CONFIG_CLEARFOG_SFP_25GB)
+	{SGMII2, SERDES_SPEED_3_125_GBPS, SERDES_DEFAULT_MODE, 0, 0},
+#else
 	{SGMII2, SERDES_SPEED_1_25_GBPS, SERDES_DEFAULT_MODE, 0, 0},
+#endif
 };
 
 int hws_board_topology_load(struct serdes_map **serdes_map_array, u8 *count)