Select the serdes configuration table based on the platform identity
read from EEPROM TLV data. Clearfog GTR needs a slightly different
serdes configuration.

Reviewed-by: Stefan Roese <[email protected]>
Signed-off-by: Baruch Siach <[email protected]>
---
 board/solidrun/clearfog/clearfog.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/board/solidrun/clearfog/clearfog.c 
b/board/solidrun/clearfog/clearfog.c
index e178b06cd34d..3bc9ce0839a9 100644
--- a/board/solidrun/clearfog/clearfog.c
+++ b/board/solidrun/clearfog/clearfog.c
@@ -53,6 +53,14 @@ static struct serdes_map board_serdes_map[] = {
 
 int hws_board_topology_load(struct serdes_map **serdes_map_array, u8 *count)
 {
+       cf_read_tlv_data();
+
+       if (sr_product_is(&cf_tlv_data, "Clearfog GTR")) {
+               board_serdes_map[0].serdes_type = PEX0;
+               board_serdes_map[0].serdes_speed = SERDES_SPEED_5_GBPS;
+               board_serdes_map[0].serdes_mode = PEX_ROOT_COMPLEX_X1;
+       }
+
        *serdes_map_array = board_serdes_map;
        *count = ARRAY_SIZE(board_serdes_map);
        return 0;
-- 
2.24.1

Reply via email to