Skip to content

Commit

Permalink
[marvell-arm64]: Add support for 98DX35xx and 98CX85xx platform (soni…
Browse files Browse the repository at this point in the history
…c-net#311)

* 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 <pnaregundi@marvell.com>

* 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 <pnaregundi@marvell.com>

* 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 <pnaregundi@marvell.com>

---------

Signed-off-by: Pavan Naregundi <pnaregundi@marvell.com>
  • Loading branch information
pavannaregundi committed May 17, 2023
1 parent 1398567 commit e7c93a5
Show file tree
Hide file tree
Showing 23 changed files with 2,545 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
From: Chris Packham <chris.packham@alliedtelesis.co.nz>
Date: Tue, 5 Jul 2022 22:09:19 +0300
dt-bindings: marvell: Document the AC5/AC5X compatibles

Describe the compatible properties for the Marvell Alleycat5/5X switches
with integrated CPUs.

Alleycat5:
* 98DX2538: 24x1G + 2x10G + 2x10G Stack
* 98DX2535: 24x1G + 4x1G Stack
* 98DX2532: 8x1G + 2x10G + 2x1G Stack
* 98DX2531: 8x1G + 4x1G Stack
* 98DX2528: 24x1G + 2x10G + 2x10G Stack
* 98DX2525: 24x1G + 4x1G Stack
* 98DX2522: 8x1G + 2x10G + 2x1G Stack
* 98DX2521: 8x1G + 4x1G Stack
* 98DX2518: 24x1G + 2x10G + 2x10G Stack
* 98DX2515: 24x1G + 4x1G Stack
* 98DX2512: 8x1G + 2x10G + 2x1G Stack
* 98DX2511: 8x1G + 4x1G Stack

Alleycat5X:
* 98DX3500: 24x1G + 6x25G
* 98DX3501: 16x1G + 6x10G
* 98DX3510: 48x1G + 6x25G
* 98DX3520: 24x2.5G + 6x25G
* 98DX3530: 48x2.5G + 6x25G
* 98DX3540: 12x5G/6x10G + 6x25G
* 98DX3550: 24x5G/12x10G + 6x25G

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Vadym Kochan <vadym.kochan@plvision.eu>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
---
.../bindings/arm/marvell/marvell,ac5.yaml | 32 +++++++++++++++++++
1 file changed, 32 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/marvell/marvell,ac5.yaml

diff --git a/Documentation/devicetree/bindings/arm/marvell/marvell,ac5.yaml b/Documentation/devicetree/bindings/arm/marvell/marvell,ac5.yaml
new file mode 100644
index 000000000..8960fb8b2
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/marvell/marvell,ac5.yaml
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/marvell/marvell,ac5.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Marvell Alleycat5/5X Platforms
+
+maintainers:
+ - Chris Packham <chris.packham@alliedtelesis.co.nz>
+
+properties:
+ $nodename:
+ const: '/'
+ compatible:
+ oneOf:
+ - description: Alleycat5 (98DX25xx) Reference Design
+ items:
+ - enum:
+ - marvell,rd-ac5
+ - const: marvell,ac5
+
+ - description: Alleycat5X (98DX35xx) Reference Design
+ items:
+ - enum:
+ - marvell,rd-ac5x
+ - const: marvell,ac5x
+ - const: marvell,ac5
+
+additionalProperties: true
+
+...
--
2.25.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
From: Chris Packham <chris.packham@alliedtelesis.co.nz>
Date: Wed, 16 Mar 2022 10:52:06 +1300
dt-bindings: net: mvneta: Add marvell,armada-ac5-neta

The out of band port on the 98DX2530 SoC is similar to the armada-3700
except it requires a slightly different MBUS window configuration. Add a
new compatible string so this difference can be accounted for.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
---
.../devicetree/bindings/net/marvell-armada-370-neta.txt | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt b/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt
index 691f886cf..2bf31572b 100644
--- a/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt
+++ b/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt
@@ -5,6 +5,7 @@ Required properties:
"marvell,armada-370-neta"
"marvell,armada-xp-neta"
"marvell,armada-3700-neta"
+ "marvell,armada-ac5-neta"
- reg: address and length of the register set for the device.
- interrupts: interrupt for the device
- phy: See ethernet.txt file in the same directory.
--
2.25.1

Loading

0 comments on commit e7c93a5

Please sign in to comment.