arm: mvebu: clearfog: Add option for 2.5 Gbps SFP

While newer Linux kernels provide autoconfiguration of SFP, provide
an option for setting in U-Boot Kconfig for use prior to booting.

Signed-off-by: Joel Johnson <mrjoel@lixil.net>
Reviewed-by: Stefan Roese <sr@denx.de>
This commit is contained in:
Joel Johnson 2020-03-23 14:21:33 -06:00 committed by Stefan Roese
parent 9f205d658d
commit 8a86308a87
2 changed files with 12 additions and 0 deletions

View file

@ -15,4 +15,11 @@ config TARGET_CLEARFOG_BASE
detection via additional EEPROM hardware. This option enables selecting detection via additional EEPROM hardware. This option enables selecting
the Base variant for older hardware revisions. the Base variant for older hardware revisions.
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 endmenu

View file

@ -63,6 +63,11 @@ int hws_board_topology_load(struct serdes_map **serdes_map_array, u8 *count)
{ {
cf_read_tlv_data(); cf_read_tlv_data();
/* Apply build configuration options before runtime configuration */
if (IS_ENABLED(CONFIG_CLEARFOG_SFP_25GB))
board_serdes_map[5].serdes_speed = SERDES_SPEED_3_125_GBPS;
/* Apply runtime detection changes */
if (sr_product_is(&cf_tlv_data, "Clearfog GTR")) { if (sr_product_is(&cf_tlv_data, "Clearfog GTR")) {
board_serdes_map[0].serdes_type = PEX0; board_serdes_map[0].serdes_type = PEX0;
board_serdes_map[0].serdes_speed = SERDES_SPEED_5_GBPS; board_serdes_map[0].serdes_speed = SERDES_SPEED_5_GBPS;