From 7c5b21e515c392fe87779704355e025ae15ce94d Mon Sep 17 00:00:00 2001 From: shil Date: Wed, 20 Apr 2022 06:57:27 +0000 Subject: [PATCH 1/2] [centec][v682] upgrade sonic platform support for centec v682 --- .../sonic-platform-modules-v682/48x8c/sonic_platform/sfp.py | 2 +- .../sonic-platform-modules-v682/48y8c/sonic_platform/sfp.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/centec/sonic-platform-modules-v682/48x8c/sonic_platform/sfp.py b/platform/centec/sonic-platform-modules-v682/48x8c/sonic_platform/sfp.py index 1d4154ff8384..c2e238a4e306 100644 --- a/platform/centec/sonic-platform-modules-v682/48x8c/sonic_platform/sfp.py +++ b/platform/centec/sonic-platform-modules-v682/48x8c/sonic_platform/sfp.py @@ -383,7 +383,7 @@ def get_presence(self): try: with open(self.port_to_eeprom_mapping[self.port_num], mode='rb', buffering=0) as fd: - fd.read() + fd.read(256) except IOError: return False diff --git a/platform/centec/sonic-platform-modules-v682/48y8c/sonic_platform/sfp.py b/platform/centec/sonic-platform-modules-v682/48y8c/sonic_platform/sfp.py index 3475753cd49d..952b64b521ba 100644 --- a/platform/centec/sonic-platform-modules-v682/48y8c/sonic_platform/sfp.py +++ b/platform/centec/sonic-platform-modules-v682/48y8c/sonic_platform/sfp.py @@ -383,7 +383,7 @@ def get_presence(self): try: with open(self.port_to_eeprom_mapping[self.port_num], mode='rb', buffering=0) as fd: - fd.read() + fd.read(256) except IOError: return False From d3cbc5aa2e928912f193b7e0fb51fec966c79e20 Mon Sep 17 00:00:00 2001 From: shil Date: Thu, 21 Apr 2022 09:37:58 +0000 Subject: [PATCH 2/2] [centec][arm64] fix tsingma soc driver bug on linux-5.10 --- platform/centec-arm64/tsingma-bsp/src/ctc-phy/mars.c | 3 +++ platform/centec-arm64/tsingma-bsp/src/i2c-ctc/i2c-ctc.c | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/platform/centec-arm64/tsingma-bsp/src/ctc-phy/mars.c b/platform/centec-arm64/tsingma-bsp/src/ctc-phy/mars.c index 675ba528fe68..7f1cdafe2254 100644 --- a/platform/centec-arm64/tsingma-bsp/src/ctc-phy/mars.c +++ b/platform/centec-arm64/tsingma-bsp/src/ctc-phy/mars.c @@ -314,3 +314,6 @@ static struct mdio_device_id __maybe_unused mars_tbl[] = { }; MODULE_DEVICE_TABLE(mdio, mars_tbl); + +MODULE_AUTHOR("Centec, Inc."); +MODULE_LICENSE("GPL"); diff --git a/platform/centec-arm64/tsingma-bsp/src/i2c-ctc/i2c-ctc.c b/platform/centec-arm64/tsingma-bsp/src/i2c-ctc/i2c-ctc.c index 0d6b97f2b378..d6b95aec3066 100755 --- a/platform/centec-arm64/tsingma-bsp/src/i2c-ctc/i2c-ctc.c +++ b/platform/centec-arm64/tsingma-bsp/src/i2c-ctc/i2c-ctc.c @@ -789,6 +789,11 @@ static int ctc_i2c_plat_probe(struct platform_device *pdev) of_property_read_u32(pdev->dev.of_node, "clock-frequency", &clk_freq); dev->clk_freq = clk_freq; + + dev->functionality = I2C_FUNC_10BIT_ADDR | CTC_IC_DEFAULT_FUNCTIONALITY; + dev->master_cfg = CTC_IC_CON_MASTER | CTC_IC_CON_SLAVE_DISABLE | + CTC_IC_CON_RESTART_EN; + if (dev->clk_freq <= 100000) dev->master_cfg |= CTC_IC_CON_SPEED_STD; else if (dev->clk_freq <= 400000)