[marvell-arm64]: Add support for 98DX35xx and 98CX85xx platform#311
[marvell-arm64]: Add support for 98DX35xx and 98CX85xx platform#311saiarcot895 merged 3 commits intosonic-net:masterfrom
Conversation
|
@Pavan-Nokia please review PR |
|
It looks like some of these patches are backports of existing patches in the kernel, whereas others are custom patches. For the backported patches, could you add the original commit hash, either into the patch file or in the PR description? For the custom patches, are there any plans to upstream these patches into the kernel? Also, I might be missing something here, but what's the reason of having |
|
@saiarcot895 Commit hash of upstreamed patches are mentioned as part of commit description. |
|
@saiarcot895 Regarding custom patches, Marvell will be planning to upstream them in near future. |
|
If possible, I'd like to keep the kernel configs the same across different platforms within a given architecture (like how it is for amd64 currently). I do see that currently armhf does have separate configs for armhf and marvell-armhf, but for arm64 currently, with the kernel configs that are being set, they don't seem like they would break any other platform. |
|
I have moved all the configs except CONFIG_MARVELL_AC5_WATCHDOG under arm64. |
|
@saiarcot895, @pavannaregundi addressed your comments. Kindly review the PR and share if you have any further comments pls |
|
@radha-danda, please refrain from adding such ping comments only a few hours after the last update. It only causes noise. |
These are set of patches for supporting Marvells 98DX35xx series of switching products. Patches 0001 to 0012 are backport of upstream patches. 0001-dt-bindings-marvell-Document-the-AC5-AC5X-compatible.patch - torvalds/linux@d6c1b95 0002-dt-bindings-net-mvneta-Add-marvell-armada-ac5-neta.patch - torvalds/linux@270a959 0003-arm64-dts-marvell-Add-Armada-98DX2530-SoC-and-RD-AC5.patch - torvalds/linux@b795fad 0004-arm64-dts-marvell-Add-UART1-3-for-AC5-AC5X.patch - torvalds/linux@31be791 0005-arm64-dts-marvell-98dx25xx-Fix-i2c-gpios-property.patch - torvalds/linux@2b14d38 0006-arm64-dts-Update-cache-properties-for-marvell.patch - torvalds/linux@b5d971c 0007-arm64-dts-marvell-AC5-AC5X-Fix-address-for-UART1.patch - torvalds/linux@80502ff 0008-mtd-rawnand-marvell-Add-missing-layouts.patch - torvalds/linux@68c18da 0009-pinctrl-mvebu-Add-driver-for-98DX2530-SoC.patch - torvalds/linux@f8970fd 0010-arm64-marvell-Enable-the-98DX2530-pinctrl-driver.patch - torvalds/linux@8225663 0011-net-mvneta-Add-support-for-98DX2530-Ethernet-port.patch - torvalds/linux@2d2a514 0012-spi-a3700-Support-big-endianness-for-AC5-SPI-driver.patch - torvalds/linux@66bbf14 0013-dt-bindings-ac5-Add-mmc-and-usb-properties.patch - Patch adds documentation for mmc and usb device tree properties. 0014-dts-ac5-marvell-Add-switching-mmc-watchdog-node.patch - Patch adds dts nodes for prestera switching, emmc and watchdog support. 0015-ac5-marvell-Add-watchdog-support.patch - Patch adds support for WD driver for ac5. WD registers are located in protected CPU area, which gets locked after bootrom runs. Therefore need to access them by using SMC, which was added in this driver. 0016-ac5-marvell-Add-support-for-emmc.patch - Patch adds eMMC support by adding compatible string. 0017-usb-ehci-Add-support-for-ac5.patch - Patch adds usb support by adding compatible string. 0018-mv6xxx-Fix-i2c-lock-due-to-arb-loss.patch - Patch fixes i2c bus lock issue due to lost arbitration from some i2c slaves, mainly SFPs. Change-Id: I9eb90d25c91c62e9ff7eee54f403411caeccd43f Signed-off-by: Pavan Naregundi <[email protected]>
These are set of patches for supporting Armada 7020 comexpress card hosting integrated CPUs used in Marvells 98CX85xx switching products. 0019-dt-bindings-marvell-Add-ARMADA-7K-properties.patch - Patch adds documentation for 7020 comexpress. 0020-dts-marvell-Add-support-for-7020-comexpress.patch - Patch defines device tree for 7020 comexpress. Change-Id: I56bc4d7a826201be0931fa109590723f98b74447 Signed-off-by: Pavan Naregundi <[email protected]>
Inclusions:
EEPROM support for SFPs and QSFP.
CONFIG_EEPROM_SFF_8436=m
CONFIG_EEPROM_OPTOE=m
Support I2C busses connected through a MUX.
CONFIG_I2C_MUX_GPIO=m
NAND flash support, used for accessing uboot environment variables.
CONFIG_MTD_RAW_NAND=m
CONFIG_MTD_NAND_ECC_SW_BCH=y
CONFIG_MTD_NAND_MARVELL=m
Enable fan controller driver.
CONFIG_SENSORS_EMC2305=m
Enable watchdog for AC5X.
- CONFIG_MARVELL_AC5_WATCHDOG=m`
Exclusions:
Overcome following dmesg error during boot.
- UBIFS error: cannot initialize compressor zstd, error -2
- CONFIG_UBIFS_FS_ZSTD
- crypto-safexcel f2800000.crypto: HW init failed (-2)
- CONFIG_CRYPTO_DEV_SAFEXCEL
- EIP197 cryptographic engine is not used.
Change-Id: Iaf0aeb8c309c85644dc640a9144f4a7bc37d71a2
Signed-off-by: Pavan Naregundi <[email protected]>
|
maybe i am missing something, but i couldn't find the kernel upstream commit id for any of the patch. |
| # | ||
| # Marvell platform patches for 4.19 | ||
| # Marvell platform patches for 5.10 | ||
| armhf_secondary_boot_online.patch |
There was a problem hiding this comment.
has this patch being upstreamed?
There was a problem hiding this comment.
has this patch being upstreamed?
Please find upstreamed patches in the commit description and link has been given to them.
|
@saiarcot895 Can this PR be backported to 202211 sonic-linux-kernel branch? |
* Add patches for marvell-arm64 support These are set of patches for supporting Marvells 98DX35xx series of switching products. Patches 0001 to 0012 are backport of upstream patches. 0001-dt-bindings-marvell-Document-the-AC5-AC5X-compatible.patch - torvalds/linux@d6c1b95 0002-dt-bindings-net-mvneta-Add-marvell-armada-ac5-neta.patch - torvalds/linux@270a959 0003-arm64-dts-marvell-Add-Armada-98DX2530-SoC-and-RD-AC5.patch - torvalds/linux@b795fad 0004-arm64-dts-marvell-Add-UART1-3-for-AC5-AC5X.patch - torvalds/linux@31be791 0005-arm64-dts-marvell-98dx25xx-Fix-i2c-gpios-property.patch - torvalds/linux@2b14d38 0006-arm64-dts-Update-cache-properties-for-marvell.patch - torvalds/linux@b5d971c 0007-arm64-dts-marvell-AC5-AC5X-Fix-address-for-UART1.patch - torvalds/linux@80502ff 0008-mtd-rawnand-marvell-Add-missing-layouts.patch - torvalds/linux@68c18da 0009-pinctrl-mvebu-Add-driver-for-98DX2530-SoC.patch - torvalds/linux@f8970fd 0010-arm64-marvell-Enable-the-98DX2530-pinctrl-driver.patch - torvalds/linux@8225663 0011-net-mvneta-Add-support-for-98DX2530-Ethernet-port.patch - torvalds/linux@2d2a514 0012-spi-a3700-Support-big-endianness-for-AC5-SPI-driver.patch - torvalds/linux@66bbf14 0013-dt-bindings-ac5-Add-mmc-and-usb-properties.patch - Patch adds documentation for mmc and usb device tree properties. 0014-dts-ac5-marvell-Add-switching-mmc-watchdog-node.patch - Patch adds dts nodes for prestera switching, emmc and watchdog support. 0015-ac5-marvell-Add-watchdog-support.patch - Patch adds support for WD driver for ac5. WD registers are located in protected CPU area, which gets locked after bootrom runs. Therefore need to access them by using SMC, which was added in this driver. 0016-ac5-marvell-Add-support-for-emmc.patch - Patch adds eMMC support by adding compatible string. 0017-usb-ehci-Add-support-for-ac5.patch - Patch adds usb support by adding compatible string. 0018-mv6xxx-Fix-i2c-lock-due-to-arb-loss.patch - Patch fixes i2c bus lock issue due to lost arbitration from some i2c slaves, mainly SFPs. Change-Id: I9eb90d25c91c62e9ff7eee54f403411caeccd43f Signed-off-by: Pavan Naregundi <[email protected]> * Add DTS support for 7020 ComExpress These are set of patches for supporting Armada 7020 comexpress card hosting integrated CPUs used in Marvells 98CX85xx switching products. 0019-dt-bindings-marvell-Add-ARMADA-7K-properties.patch - Patch adds documentation for 7020 comexpress. 0020-dts-marvell-Add-support-for-7020-comexpress.patch - Patch defines device tree for 7020 comexpress. Change-Id: I56bc4d7a826201be0931fa109590723f98b74447 Signed-off-by: Pavan Naregundi <[email protected]> * Update kernel configuration for Marvell platforms Inclusions: EEPROM support for SFPs and QSFP. CONFIG_EEPROM_SFF_8436=m CONFIG_EEPROM_OPTOE=m Support I2C busses connected through a MUX. CONFIG_I2C_MUX_GPIO=m NAND flash support, used for accessing uboot environment variables. CONFIG_MTD_RAW_NAND=m CONFIG_MTD_NAND_ECC_SW_BCH=y CONFIG_MTD_NAND_MARVELL=m Enable fan controller driver. CONFIG_SENSORS_EMC2305=m Enable watchdog for AC5X. - CONFIG_MARVELL_AC5_WATCHDOG=m` Exclusions: Overcome following dmesg error during boot. - UBIFS error: cannot initialize compressor zstd, error -2 - CONFIG_UBIFS_FS_ZSTD - crypto-safexcel f2800000.crypto: HW init failed (-2) - CONFIG_CRYPTO_DEV_SAFEXCEL - EIP197 cryptographic engine is not used. Change-Id: Iaf0aeb8c309c85644dc640a9144f4a7bc37d71a2 Signed-off-by: Pavan Naregundi <[email protected]> --------- Signed-off-by: Pavan Naregundi <[email protected]>
|
@Blueve could we have an ADO to track this cherry pick? |
|
@pavannaregundi cherry pick conflict for 202305, could you help to raise separate PR? @Blueve for vis. |
|
@pavannaregundi is on PTO till 25th Oct. He raise PR once he is back to work. |

These patches add necessary support for Marvell's Prestera family of switching platforms, namely 98DX35xx and 98CX85xx.
98DX35xx is internally referred as AC5(AlleyCat5) or AC5X(AlleyCat5X) and 98CX85xx as Falcon.
Testing:
Build of target/sonic-marvell-arm64.bin, load of the image on AC5XRD(98DX35xx) and Falcon(98CX85xx) switches, verified that all dockers operational and “show interface status” displays all ports correctly. Also verified operations of components such as management port, i2c, gpio, watchdog.
Build of target/sonic-marvell-armhf.bin, load of the image on M0, verified that all dockers operational and “show interface status” displays all ports correctly.