diff --git a/.gitmodules b/.gitmodules
index 6715fa4ec6..ccd3674cb0 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -118,3 +118,6 @@
[submodule "platform/marvell-arm64/mrvl-prestera"]
path = platform/marvell-arm64/mrvl-prestera
url = https://github.com/Marvell-switching/mrvl-prestera.git
+[submodule "platform/marvell-arm64/sonic-platform-marvell"]
+ path = platform/marvell-arm64/sonic-platform-marvell
+ url = https://github.com/Marvell-switching/sonic-platform-arm64.git
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/default_sku b/device/marvell/arm64-marvell_rd98DX35xx-r0/default_sku
new file mode 100644
index 0000000000..ce1567b488
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/default_sku
@@ -0,0 +1 @@
+rd98DX35xx t1
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/installer.conf b/device/marvell/arm64-marvell_rd98DX35xx-r0/installer.conf
new file mode 100644
index 0000000000..b65a867509
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/installer.conf
@@ -0,0 +1 @@
+ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="default_hugepagesz=32M hugepages=4"
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/platform_asic b/device/marvell/arm64-marvell_rd98DX35xx-r0/platform_asic
new file mode 100644
index 0000000000..558e01e184
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/platform_asic
@@ -0,0 +1 @@
+marvell-arm64
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/plugins/eeprom.py b/device/marvell/arm64-marvell_rd98DX35xx-r0/plugins/eeprom.py
new file mode 100644
index 0000000000..f50fd2f289
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/plugins/eeprom.py
@@ -0,0 +1,13 @@
+#!/usr/bin/env python
+
+try:
+ from sonic_eeprom import eeprom_tlvinfo
+except ImportError as e:
+ raise ImportError (str(e) + "- required module not found")
+
+
+class board(eeprom_tlvinfo.TlvInfoDecoder):
+
+ def __init__(self, name, path, cpld_root, ro):
+ self.eeprom_path = "/sys/bus/i2c/devices/0-0050/eeprom"
+ super(board, self).__init__(self.eeprom_path, 0, '', True)
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/pmon_daemon_control.json b/device/marvell/arm64-marvell_rd98DX35xx-r0/pmon_daemon_control.json
new file mode 100644
index 0000000000..39deb88be0
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/pmon_daemon_control.json
@@ -0,0 +1,8 @@
+{
+ "skip_ledd": true,
+ "skip_pcied": true,
+ "skip_thermalctld": true,
+ "skip_psud": true,
+ "skip_xcvrd": true,
+ "skip_syseepromd": true
+}
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5 b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5
new file mode 100644
index 0000000000..a848fd51cd
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5
@@ -0,0 +1 @@
+7a62aaeaed876bd57c22537911fa7a4e
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml
new file mode 100644
index 0000000000..b2d413fff6
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml
@@ -0,0 +1,1894 @@
+
+
+
+
+
+ std-string
+ string
+ standard string.
+ 1
+ 100
+
+
+ board-callback-type
+ enumeration
+ Specifies os/ext drv callback types.
+
+ linux-static
+ Linux Static
+ 0
+
+
+ linux-shared
+ Linux Shared Lib mode
+ 1
+
+
+ external
+ External Os
+ 3
+
+
+ freeBsd
+ Free BSD
+ 4
+
+
+
+ board-pp-map-type
+ enumeration
+ Specifies pci info types.
+
+ fixed
+ Fixed
+ 0
+
+
+ autoscan
+ Auto scan
+ 1
+
+
+
+ board-pp-interface-channel-type
+ enumeration
+ Specifies interface tunnel.
+
+ pci
+ PCI
+ 0
+
+
+ smi
+ SMI
+ 1
+
+
+ pex
+ PEX
+ 3
+
+
+ pex_eagle
+ PEX EAGLE
+ 5
+
+
+ pex_falcon_z
+ PEX FALCON Z
+ 6
+
+
+
+ device-id-type
+ uint32
+ Device ID 0..1023
+ 0
+ 1023
+
+
+ port-mapping-type
+ enumeration
+ Specifies port map type.
+
+ ethernet_mac
+ ETHERNET_MAC
+ 0
+
+
+ cpu_sdma
+ CPU_SDMA
+ 1
+
+
+
+ interface-num-type
+ uint32
+ Interface number
+ 0
+ 1023
+
+
+ txq-port-number-type
+ uint32
+ 0 - 8 queues are configured per port (legacy mode),
+1...16 - the number of queues configured per port
+ SIP 5 : Bobcat2,BobK:0..71 ;Bobcat3: 0..576 ;Aldrin2:0..99
+ 0
+ 576
+
+
+ phy-smi-interface-type
+ uint32
+ Phy SMI interface type.
+ 0
+ 3
+
+
+ phy-xsmi-interface-type
+ uint32
+ Phy XSMI interface type.
+ 0
+ 15
+
+
+ phy-type
+ enumeration
+ Specifies the PHY Part Identifier.
+
+ NA
+ No Phy
+ 0
+
+
+ alaska-88E1543
+ Specifies PHY identifier 88E1543, used for Combo ports.
+ 1
+
+
+ alaska-88E1545
+ Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support.
+ 2
+
+
+ alaska-88E1680
+ Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G.
+ 3
+
+
+ alaska-88E151X
+ Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber).
+ 4
+
+
+ alaska-88E3140
+ Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. Uses with FW SolarFlare next generation.
+ 5
+
+
+ alaska-88E3240
+ Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. Uses with FW, SolarFlare next generation.
+ 6
+
+
+ alaska-88E3680
+ Specifies PHY identifier 88E3680, used for Octal Copper 100M.
+ 7
+
+
+ alaska-88E3220
+ Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. Uses FW, SolarFlare next generation.
+ 8
+
+
+ alaska-88E1680L
+ Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G.
+ 9
+
+
+ alaska-88E33X0
+ Specifies PHY identifier 88E33X0, used for MGIG Combo.
+ 10
+
+
+ alaska-88E1548
+ Specifies PHY identifier 88E1548, used for Fiber GE.
+ 11
+
+
+ alaska-88E20X0
+ Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G.
+ 12
+
+
+ alaska-88E1512
+ Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G.
+ 13
+
+
+ alaska-88E2180
+ Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G.
+ 14
+
+
+ alaska-88E1780
+ Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver
+ 15
+
+
+ alaska-88E2540
+ Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver with IEEE 1588v2 PTP Support
+ 16
+
+
+ alaska-88E2580
+ Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver with IEEE 1588v2 PTP Support
+ 17
+
+
+
+ physical-port-num-type
+ uint32
+ PHYSICAL PORT NUM
+ 0
+ 1023
+
+
+ led-stream-port-type
+ enumeration
+ Specifies the ledstream port type.
+
+ PORT_TYPE_TRI_SPEED
+ tri-speed port.
+ 1
+
+
+ PORT_TYPE_XG
+ XG port.
+ 2
+
+
+
+ led-stream-blink-select-type
+ enumeration
+ Specifies the LED stream blink select type.
+
+ BLINK_SELECT_0
+ Blink 0 signal.
+ 1
+
+
+ BLINK_SELECT_1
+ Blink 1 signal
+ 2
+
+
+
+ led-stream-order-mode-type
+ enumeration
+ Specifies the LED stream ordering mode.
+
+ ORDER_MODE_BY_PORT
+ the indication order is arranged by port.
+ 1
+
+
+ ORDER_MODE_BY_CLASS
+ the indication order is arranged by class.
+ 2
+
+
+
+ led-stream-blink-duty-cycle-type
+ enumeration
+ Specifies the LED stream blink cycle duty cycle type.
+
+ BLINK_DUTY_CYCLE_0
+ 25% on, 75% off.
+ 1
+
+
+ BLINK_DUTY_CYCLE_1
+ 50% on, 50% off.
+ 2
+
+
+ BLINK_DUTY_CYCLE_2
+ 50% on, 50% off.
+ 3
+
+
+ BLINK_DUTY_CYCLE_3
+ 75% on, 25% off.
+ 4
+
+
+
+ led-stream-blink-duration-type
+ enumeration
+ Specifies the LED stream blink period type.
+
+ BLINK_DURATION_0
+ BLINK_DURATION_0.
+ 1
+
+
+ BLINK_DURATION_1
+ BLINK_DURATION_1.
+ 2
+
+
+ BLINK_DURATION_2
+ BLINK_DURATION_2.
+ 3
+
+
+ BLINK_DURATION_3
+ BLINK_DURATION_3.
+ 4
+
+
+ BLINK_DURATION_4
+ BLINK_DURATION_4.
+ 5
+
+
+ BLINK_DURATION_5
+ BLINK_DURATION_5.
+ 6
+
+
+ BLINK_DURATION_6
+ (APPLICABLE DEVICES: xCat3; AC5; Lion2; Bobcat2; Caelum; Aldrin; AC3X; Bobcat3; Aldrin2; Pipe) .
+ 7
+
+
+ BLINK_DURATION_7
+ APPLICABLE DEVICES: Bobcat2; Caelum; Aldrin; AC3X; Bobcat3; Aldrin2; Pipe).
+ 8
+
+
+
+ led-stream-pulse-stretch-type
+ enumeration
+ Specifies the LED stream length of stretching for dynamic signals.
+
+ PULSE_STRETCH_0_NO
+ PULSE_STRETCH_0_NO.
+ 1
+
+
+ PULSE_STRETCH_1
+ PULSE_STRETCH_1.
+ 2
+
+
+ PULSE_STRETCH_2
+ PULSE_STRETCH_2.
+ 3
+
+
+ PULSE_STRETCH_3
+ PULSE_STRETCH_3.
+ 4
+
+
+ PULSE_STRETCH_4
+ PULSE_STRETCH_4.
+ 5
+
+
+ PULSE_STRETCH_5
+ PULSE_STRETCH_5.
+ 6
+
+
+ PULSE_STRETCH_6
+ (APPLICABLE DEVICES: Bobcat2; Caelum; Aldrin; AC3X; Bobcat3; Aldrin2; Falcon; AC5P; Pipe).
+ 7
+
+
+ PULSE_STRETCH_7
+ (APPLICABLE DEVICES: Bobcat2; Caelum; Aldrin; AC3X; Bobcat3; Aldrin2; Falcon; AC5P; Pipe).
+ 8
+
+
+
+ led-stream-clock-out-frequency-type
+ enumeration
+ Specifies the LED stream blink cycle duty cycle type.
+
+ _CLOCK_OUT_FREQUENCY_500
+ 500 KHz LED clock frequency.
+ 1
+
+
+ CLOCK_OUT_FREQUENCY_1000
+ 1 MHz LED clock frequency.
+ 2
+
+
+ CLOCK_OUT_FREQUENCY_2000
+ 2 MHz LED clock frequency.
+ 3
+
+
+ CLOCK_OUT_FREQUENCY_3000
+ 3 MHz LED clock frequency.
+ 4
+
+
+
+ led-stream-class5-select-type
+ enumeration
+ Specifies the LED stream indication displayed on class5 (for dual-media port/phy).
+
+ CLASS_5_SELECT_HALF_DUPLEX
+ Half Duplex is displayed on class5.
+ 1
+
+
+ CLASS_5_SELECT_FIBER_LINK_UP
+ If port is a dual media port, Fiber Link Up is displayed on class5.
+ 2
+
+
+
+ led-stream-class13-select-type
+ enumeration
+ Specifies the LED stream indication displayed on class13 (for dual-media port/phy).
+
+ CLASS_13_SELECT_LINK_DOWN
+ Link Down is displayed on class13.
+ 1
+
+
+ CLASS_13_SELECT_COPPER_LINK_UP
+ If port is a dual media port, Copper Link Up is displayed on class13.
+ 2
+
+
+
+ led-class-num-type
+ uint32
+ Led Class number
+ 0
+ 11
+
+
+ boolean-type
+ enumeration
+ Boolean 32 bits , due to bing endian
+
+ false
+ False
+ 0
+
+
+ true
+ True
+ 1
+
+
+
+ bus-id-type
+ uint32
+ Bus Id Type, PCI/SMI
+ 0
+ 255
+
+
+ function-id-type
+ uint32
+ Function Id Type, PCI/SMI
+ 0
+ 255
+
+
+ domain-type
+ uint32
+ Domain, PCI/SMI
+ 0
+ 255
+
+
+ led-interface-type
+ uint32
+ Led interface
+ 0
+ 255
+
+
+ led-position-type
+ uint32
+ Led position
+ 0
+ 63
+
+
+ serdes-lane-type
+ uint32
+ serdes lane
+ 0
+ 255
+
+
+ cpu-type
+ enumeration
+ The CPU Internal/External
+
+ external
+ Extrenal connected CPU
+ 0
+
+
+ internal
+ Internal CPU
+ 1
+
+
+
+ led-stream-clock-frequency-type
+ uint32
+ Led Clock Frequency Sip6
+ 500
+ 80000
+
+
+ led-unit-type
+ uint32
+ Led units
+ 1
+ 16
+
+
+ led-unit-or-no-unit-type
+ uint32
+ Led units, 0 for no Unit
+ 0
+ 16
+
+
+ led-group-type
+ uint32
+ Led Group
+ 0
+ 1
+
+
+ led-stream-force-data-type
+ string
+ A hexadecimal string with octets represented as hex digits
+separated by colons. The canonical representation uses
+lowercase characters.
+ 3
+ 11
+
+
+ bit-type
+ uint32
+ Bit range 0..31
+ 0
+ 31
+
+
+ bit-size-type
+ uint32
+ Bit leng 1..32
+ 1
+ 32
+
+
+ led-sip-type
+ enumeration
+ The LED scehme
+
+ na
+ NA
+ 0
+
+
+ sip5
+ SIP5: AC5, AC3x
+ 5
+
+
+ sip6
+ SIP6: Falcon, AC5x, AC5P
+ 6
+
+
+
+ port-cscd-type
+ enumeration
+ Specifies the cascade port type.
+
+ DSA_1_WORD
+ DSA Regular
+ 0
+
+
+ DSA_2_WORDS
+ DSA Extended
+ 1
+
+
+ NETWORK
+ Network.
+ 2
+
+
+ DSA_3_WORDS
+ DSA 3 Words
+ 3
+
+
+ DSA_4_WORD
+ DSA 4 Words
+ 4
+
+
+
+ trunk-cscd-type
+ uint32
+ Specifies the Cascade Trunk id.
+ 0
+ 127
+
+
+ port-trunk-cscd-type
+ enumeration
+ Specifies the cascade port type.
+
+ cscdPort
+ Cascade port
+ 0
+
+
+ cscdTrunk
+ Csacde trunk
+ 1
+
+
+
+ hash-cscd-type
+ enumeration
+ Specifies the hash used by cascade trunk.
+
+ pkt
+ Hash based on packet
+ 0
+
+
+ srcPort
+ Hash based on source port
+ 1
+
+
+
+ AC5X-RD-32x1G-16x2.5G-6x25G
+ linux-static
+ linux-static
+ autoscan
+ internal
+ pex_eagle
+
+ 0
+ 0
+ ASK-PP-AC5X-RD.xml
+ ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml
+ sip6
+
+ 0
+
+ ethernet_mac
+ 1
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 1
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 1
+
+ ethernet_mac
+ 0
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 0
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 2
+
+ ethernet_mac
+ 3
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 3
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 3
+
+ ethernet_mac
+ 2
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 2
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 4
+
+ ethernet_mac
+ 5
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 5
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 5
+
+ ethernet_mac
+ 4
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 4
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 6
+
+ ethernet_mac
+ 7
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 7
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 7
+
+ ethernet_mac
+ 6
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 6
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 8
+
+ ethernet_mac
+ 9
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 9
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 9
+
+ ethernet_mac
+ 8
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 8
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 10
+
+ ethernet_mac
+ 11
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 11
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 11
+
+ ethernet_mac
+ 10
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 10
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 12
+
+ ethernet_mac
+ 13
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 13
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 13
+
+ ethernet_mac
+ 12
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 12
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 14
+
+ ethernet_mac
+ 15
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 15
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 15
+
+ ethernet_mac
+ 14
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 14
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 16
+
+ ethernet_mac
+ 17
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 17
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 17
+
+ ethernet_mac
+ 16
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 16
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 18
+
+ ethernet_mac
+ 19
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 19
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 19
+
+ ethernet_mac
+ 18
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 18
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 20
+
+ ethernet_mac
+ 21
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 21
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 21
+
+ ethernet_mac
+ 20
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 20
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 22
+
+ ethernet_mac
+ 23
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 23
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 23
+
+ ethernet_mac
+ 22
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 22
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 24
+
+ ethernet_mac
+ 25
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 25
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 25
+
+ ethernet_mac
+ 24
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 24
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 26
+
+ ethernet_mac
+ 27
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 27
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 27
+
+ ethernet_mac
+ 26
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 26
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 28
+
+ ethernet_mac
+ 29
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 29
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 29
+
+ ethernet_mac
+ 28
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 28
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 30
+
+ ethernet_mac
+ 31
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 31
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 31
+
+ ethernet_mac
+ 30
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 30
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 32
+
+ ethernet_mac
+ 33
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 1
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 47
+
+ ethernet_mac
+ 46
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 6
+ 14
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 46
+
+ ethernet_mac
+ 47
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 6
+ 15
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 45
+
+ ethernet_mac
+ 44
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 6
+ 12
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 44
+
+ ethernet_mac
+ 45
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 6
+ 13
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 43
+
+ ethernet_mac
+ 42
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 5
+ 10
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 42
+
+ ethernet_mac
+ 43
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 5
+ 11
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 41
+
+ ethernet_mac
+ 40
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 5
+ 8
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 40
+
+ ethernet_mac
+ 41
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 5
+ 9
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 39
+
+ ethernet_mac
+ 38
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 6
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 38
+
+ ethernet_mac
+ 39
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 7
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 37
+
+ ethernet_mac
+ 36
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 4
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 36
+
+ ethernet_mac
+ 37
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 5
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 35
+
+ ethernet_mac
+ 34
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 2
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 34
+
+ ethernet_mac
+ 35
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 3
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 33
+
+ ethernet_mac
+ 32
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 0
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 48
+
+ ethernet_mac
+ 48
+ 0
+ false
+
+ NETWORK
+
+ NA
+
+
+
+ 0
+
+ 2
+ true
+
+ false
+
+
+
+ 49
+
+ ethernet_mac
+ 49
+ 0
+ false
+
+ NETWORK
+
+ NA
+
+
+
+ 1
+
+ 2
+ true
+
+ false
+
+
+
+ 50
+
+ ethernet_mac
+ 50
+ 0
+ false
+
+ NETWORK
+
+ NA
+
+
+
+ 0
+
+ 2
+ true
+
+ false
+
+
+
+ 51
+
+ ethernet_mac
+ 51
+ 0
+ false
+
+ NETWORK
+
+ NA
+
+
+
+ 1
+
+ 2
+ true
+
+ false
+
+
+
+ 52
+
+ ethernet_mac
+ 52
+ 0
+ false
+
+ NETWORK
+
+ NA
+
+
+
+ 2
+
+ 2
+ true
+
+ false
+
+
+
+ 53
+
+ ethernet_mac
+ 53
+ 0
+ false
+
+ NETWORK
+
+ NA
+
+
+
+ 3
+
+ 2
+ true
+
+ false
+
+
+
+ 63
+
+ cpu_sdma
+ 54
+ 0
+ false
+
+ NETWORK
+
+
+ 60
+
+ cpu_sdma
+ 55
+ 0
+ false
+
+ NETWORK
+
+
+ 0
+
+ ORDER_MODE_BY_CLASS
+ BLINK_DUTY_CYCLE_1
+ BLINK_DURATION_1
+ BLINK_DUTY_CYCLE_1
+ BLINK_DURATION_1
+ PULSE_STRETCH_1
+ false
+ 1627
+ false
+
+ 1
+ true
+
+
+ 2
+ true
+
+
+ 3
+ true
+
+
+ 4
+ 64
+ 65
+ false
+
+
+ 5
+ 64
+ 67
+ false
+
+
+
+ 2
+ PORT_TYPE_XG
+ true
+ BLINK_SELECT_0
+ false
+ true
+ true
+
+
+
+ .
+
+ 1
+
+
+
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5 b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5
new file mode 100644
index 0000000000..3a08897bfb
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5
@@ -0,0 +1 @@
+2876aaa02a47b5842e152ce794c50110
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml
new file mode 100644
index 0000000000..1d07f5994c
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml
@@ -0,0 +1,1239 @@
+
+
+
+
+
+ interface-mode-type
+ enumeration
+ Specifies supported Interface modes
+
+ 1000BASE_X
+ 1G
+ 6
+
+
+ SGMII
+ 1G , 2.5G
+ 3
+
+
+ QSGMII
+ 1G
+ 13
+
+
+ KR
+ 10G, 12G, 20G, 40G, 100G
+ 16
+
+
+ SR_LR
+ 5G, 10G, 12G, 20G, 40G
+ 20
+
+
+ KR2
+
+ 27
+
+
+ KR4
+
+ 28
+
+
+ SR_LR2
+
+ 29
+
+
+ SR_LR4
+ 100G
+ 30
+
+
+ KR_C
+ CONSORTIUM - 25G
+ 32
+
+
+ CR_C
+ CONSORTIUM - 25G
+ 33
+
+
+ KR2_C
+ CONSORTIUM - 50G
+ 34
+
+
+ CR2_C
+ CONSORTIUM - 50G
+ 35
+
+
+ CR
+
+ 36
+
+
+ CR2
+
+ 37
+
+
+ CR4
+
+ 38
+
+
+ KR_S
+
+ 39
+
+
+ CR_S
+
+ 40
+
+
+ KR8
+
+ 41
+
+
+ CR8
+
+ 42
+
+
+ SR_LR8
+
+ 43
+
+
+ USX_10G_QXGMII
+
+ 51
+
+
+ USX_20G_QXGMII
+
+ 52
+
+
+ USX_OUSGMII
+
+ 53
+
+
+ USX_20G_OXGMII
+
+ 54
+
+
+ NA
+
+ 57
+
+
+
+ port-speed-type
+ enumeration
+ Specifies supported speeds
+
+ 1G
+ 1G
+ 2
+
+
+ 10G
+ 10G
+ 3
+
+
+ 2500M
+ 2.5G
+ 5
+
+
+ 5G
+ 5G
+ 6
+
+
+ 25G
+ 25G, used in combination with CPSS_PORT_INTERFACE_MODE_KR_E, CPSS_PORT_INTERFACE_MODE_KR2_E
+ 21
+
+
+ 40G
+ 40G
+ 9
+
+
+ 50G
+ 50G
+ 14
+
+
+ 100G
+ 100G
+ 13
+
+
+ 200G
+ 200G
+ 24
+
+
+ 400G
+ 400G
+ 25
+
+
+ NA
+ NA
+ 35
+
+
+
+ fec-type
+ enumeration
+ Rx parameter type
+
+ enabled
+ Enabled
+ 0
+
+
+ disabled
+ Disabled
+ 1
+
+
+ rs_enabled
+ RS FEC enabled
+ 2
+
+
+ both_enabled
+ Both enabled
+ 3
+
+
+ rs_544_514_enabled
+ RS FEC 544 and 514
+ 4
+
+
+
+ physical-port-num-type
+ uint32
+ PHYSICAL PORT NUM
+ 0
+ 1023
+
+
+ tx-param-type
+ enumeration
+ Tx parameter type
+
+ atten
+ atten
+ 0
+
+
+ post
+ post
+ 1
+
+
+ pre
+ pre
+ 2
+
+
+ pre2
+ pre2
+ 3
+
+
+ pre3
+ pre3
+ 4
+
+
+ peak
+ peak
+ 5
+
+
+ main
+ main
+ 6
+
+
+ txAmpAdjEn
+ txAmpAdjEn
+ 7
+
+
+ emph0
+ emph0
+ 8
+
+
+ emph1
+ emph1
+ 9
+
+
+ txAmpShft
+ txAmpShft
+ 10
+
+
+ txEmphEn
+ txEmphEn
+ 11
+
+
+ txEmphEn1
+ txEmphEn1
+ 12
+
+
+ txAmpAdj
+ txAmpAdj
+ 13
+
+
+ slewCtrlEn
+ slewCtrlEn
+ 14
+
+
+ slewRate
+ slewRate
+ 15
+
+
+
+ rx-param-type
+ enumeration
+ Rx parameter type
+
+ sqlch
+ sqlch
+ 0
+
+
+ DC
+ DC
+ 1
+
+
+ LF
+ LF
+ 2
+
+
+ HF
+ HF
+ 3
+
+
+ gainShape1
+ gainShape1
+ 4
+
+
+ gainShape2
+ gainShape2
+ 5
+
+
+ shortChannelEn
+ shortChannelEn
+ 7
+
+
+ bfLf
+ bfLf
+ 8
+
+
+ bfHf
+ bfHf
+ 9
+
+
+ minLf
+ minLf
+ 10
+
+
+ maxLf
+ maxLf
+ 11
+
+
+ minHf
+ minHf
+ 12
+
+
+ maxHf
+ maxHf
+ 13
+
+
+ minPre1
+ minPre1
+ 14
+
+
+ maxPre1
+ maxPre1
+ 15
+
+
+ minPre2
+ minPre2
+ 16
+
+
+ maxPre2
+
+ 17
+
+
+ minPost
+ minPost
+ 18
+
+
+ maxPost
+ maxPost
+ 19
+
+
+ squelch
+ squelch
+ 20
+
+
+ termination
+ termination
+ 27
+
+
+ coldEnvelope
+ coldEnvelope
+ 35
+
+
+ hotEnvelope
+ hotEnvelope
+ 36
+
+
+ dcGain
+ dcGain
+ 37
+
+
+ bandWidth
+ bandWidth
+ 38
+
+
+ dfe
+ dfe
+ 39
+
+
+ ffeR
+ ffeR
+ 40
+
+
+ ffeC
+ ffeC
+ 41
+
+
+ sampler
+ sampler
+ 42
+
+
+ align90
+ align90
+ 43
+
+
+ ffeS
+ ffeS
+ 44
+
+
+ resSel
+ resSel
+ 45
+
+
+ resShift
+ resShift
+ 46
+
+
+ capSel
+ capSel
+ 47
+
+
+ ffeSettingForce
+ ffeSettingForce
+ 48
+
+
+ adaptedResSel
+ adaptedResSel
+ 49
+
+
+ adaptedCapSel
+ adaptedCapSel
+ 50
+
+
+ selmufi
+ selmufi
+ 51
+
+
+ selmuff
+ selmuff
+ 52
+
+
+ selmupi
+ selmupi
+ 53
+
+
+ selmupf
+ selmupf
+ 54
+
+
+ slewRateCtrl0
+ slewRateCtrl0
+ 55
+
+
+ slewRateCtrl1
+ slewRateCtrl1
+ 56
+
+
+ EO
+ EO
+ 57
+
+
+ dataRate
+ dataRate
+ 58
+
+
+ res1Sel
+ res1Sel
+ 59
+
+
+ res2Sel
+ res2Sel
+ 60
+
+
+ cap1Sel
+ cap1Sel
+ 61
+
+
+ cap2Sel
+ cap2Sel
+ 62
+
+
+ midpointLargeThresKLane
+ midpointLargeThresKLane
+ 63
+
+
+ midpointSmallThresKLane
+ midpointSmallThresKLane
+ 64
+
+
+ midpointLargeThresCLane
+ midpointLargeThresCLane
+ 65
+
+
+ midpointSmallThresCLane
+ midpointSmallThresCLane
+ 66
+
+
+ dfeResF0aHighThresInitLane
+ dfeResF0aHighThresInitLane
+ 67
+
+
+ dfeResF0aHighThresEndLane
+ dfeResF0aHighThresEndLane
+ 68
+
+
+ current1Sel
+ current1Sel
+ 69
+
+
+ rl1Sel
+ rl1Sel
+ 70
+
+
+ rl1Extra
+ rl1Extra
+ 71
+
+
+ cl1Ctrl
+ cl1Ctrl
+ 72
+
+
+ enMidFreq
+ enMidFreq
+ 73
+
+
+ cs1Mid
+ cs1Mid
+ 74
+
+
+ rs1Mid
+ rs1Mid
+ 75
+
+
+ rfCtrl
+ rfCtrl
+ 76
+
+
+ rl1TiaSel
+ rl1TiaSel
+ 77
+
+
+ rl1TiaExtra
+ rl1TiaExtra
+ 78
+
+
+ hpfRSel1st
+ hpfRSel1st
+ 79
+
+
+ current1TiaSel
+ current1TiaSel
+ 80
+
+
+ rl2Tune
+ rl2Tune
+ 81
+
+
+ rl2Sel
+ rl2Sel
+ 82
+
+
+ rs2Sel
+ rs2Sel
+ 83
+
+
+ current2Sel
+ current2Sel
+ 84
+
+
+ hpfRsel2nd
+ hpfRsel2nd
+ 85
+
+
+ BW
+ BW
+ 86
+
+
+ dfeGAIN
+ dfeGAIN
+ 87
+
+
+ dfeGAIN2
+ dfeGAIN2
+ 88
+
+
+ pre1
+ pre1
+ 89
+
+
+ pre2
+ pre2
+ 90
+
+
+ post1
+ post1
+ 91
+
+
+
+ boolean-type
+ enumeration
+ Boolean 32 bits , due to bing endian
+
+ false
+ False
+ 0
+
+
+ true
+ True
+ 1
+
+
+
+ serdes-type
+ enumeration
+ Serdes Type
+
+ NA
+ No serdes
+ 0
+
+
+ AVAGO
+ AVAGO
+ 1
+
+
+ COMPHY
+ COMPHY
+ 2
+
+
+ COMPHY_C12G
+ COMPHY_C12G
+ 3
+
+
+ COMPHY_C28G
+ COMPHY_C28G
+ 4
+
+
+ COMPHY_C112G
+ COMPHY_C112G
+ 5
+
+
+
+ uint8-type
+ uint32
+ Uint8 32 bits , due to bing endian
+ 0
+ 255
+
+
+ serdes-termination-type
+ enumeration
+ RX termination mode
+
+ GND
+ Enabled
+ 0
+
+
+ VDD
+ Disabled
+ 1
+
+
+ FLOATING
+ RS FEC enabled
+ 2
+
+
+
+ port-interconnect-profile-type
+ enumeration
+ Enumerator of interconnect profile.
+
+ profile_default
+ Profile Default
+ 0
+
+
+ profile_1
+ Profile 1
+ 1
+
+
+ profile_2
+ Profile 2
+ 2
+
+
+
+
+
+ 1000MR1
+
+ USX_OUSGMII
+ 1G
+ disabled
+
+
+ USX_OUSGMII
+ 1G
+ disabled
+ disabled
+
+
+
+ 2500MR1
+
+ USX_20G_OXGMII
+ 2500M
+ rs_enabled
+
+
+ USX_20G_OXGMII
+ 1G
+ rs_enabled
+
+
+ USX_20G_OXGMII
+ 2500M
+ rs_enabled
+ rs_enabled
+
+
+ USX_20G_OXGMII
+ 1G
+ rs_enabled
+ rs_enabled
+
+
+
+ 25GR1
+
+ SR_LR
+ 25G
+ rs_enabled
+
+
+ CR
+ 25G
+ rs_enabled
+
+
+ KR
+ 25G
+ rs_enabled
+
+
+ SR_LR
+ 10G
+ enabled
+
+
+ KR
+ 10G
+ enabled
+
+
+ 1000BASE_X
+ 1G
+
+
+ CR
+ 25G
+ rs_enabled
+ rs_enabled
+
+
+ KR
+ 25G
+ rs_enabled
+ rs_enabled
+
+
+ KR
+ 10G
+ enabled
+ enabled
+
+
+ 1000BASE_X
+ 1G
+ disabled
+ disabled
+
+
+
+
+
+ 0
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 1
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 2
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 3
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 4
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 5
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 6
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 7
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 8
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 9
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 10
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 11
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 12
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 13
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 14
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 15
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 16
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 17
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 18
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 19
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 20
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 21
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 22
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 23
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 24
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 25
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 26
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 27
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 28
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 29
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 30
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 31
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 32
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 33
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 34
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 35
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 36
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 37
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 38
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 39
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 40
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 41
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 42
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 43
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 44
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 45
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 46
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 47
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 48
+ AVAGO
+ profile_default
+ 25GR1
+
+
+ 49
+ AVAGO
+ profile_default
+ 25GR1
+
+
+ 50
+ AVAGO
+ profile_default
+ 25GR1
+
+
+ 51
+ AVAGO
+ profile_default
+ 25GR1
+
+
+ 52
+ AVAGO
+ profile_default
+ 25GR1
+
+
+ 53
+ AVAGO
+ profile_default
+ 25GR1
+
+
+
+
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.md5 b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.md5
new file mode 100644
index 0000000000..de23afe955
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.md5
@@ -0,0 +1 @@
+b42f2a2be9da6c7752c0807f9dee48bf
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.xml b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.xml
new file mode 100644
index 0000000000..ad457fe7db
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/ASK-PP-AC5X-RD.xml
@@ -0,0 +1,871 @@
+
+
+
+
+
+ std-string
+ string
+ standard string.
+ 1
+ 100
+
+
+ queue-id-type
+ uint32
+ Queue id
+ 0
+ 7
+
+
+ precent-type
+ uint32
+ Precent
+ 0
+ 100
+
+
+ phaThreadId-type
+ uint32
+ Thread id
+ 1
+ 255
+
+
+ routing-mode-type
+ enumeration
+ Specifies routing mode.
+
+ POLICY_BASED_ROUTING_ONLY
+ PBR only
+ 0
+
+
+ TCAM_ROUTER_BASED
+ Router engine or PBR
+ 1
+
+
+
+ shared-table-mode-type
+ enumeration
+ Specifies table sharing modes for L3 (LPM), L2 (FDB), EM (Exact Match)
+
+ MID_L3_MID_L2_NO_EM
+ MID_L3_MID_L2_NO_EM
+ 0
+
+
+ MID_L3_MID_L2_MIN_EM
+ MID_L3_MID_L2_MIN_EM
+ 1
+
+
+ LOW_MAX_L3_MID_LOW_L2_NO_EM
+ LOW_MAX_L3_MID_LOW_L2_NO_EM
+ 2
+
+
+ MAX_L3_MIN_L2_NO_EM
+ MAX_L3_MIN_L2_NO_EM
+ 3
+
+
+
+ pha-firmware-image-id-type
+ enumeration
+ Specifies supported Pha image id
+
+ DEFAULT
+ Default PHA firmware image ID
+ 0
+
+
+ 01
+ 01 firmware image ID
+ 1
+
+
+ 02
+ 02 PHA firmware image ID
+ 2
+
+
+
+ pha-firmware-thread-type
+ enumeration
+ Specifies supported Pha thread type
+
+ IOAM_INGRESS_SWITCH_IPV4
+ IOAM_INGRESS_SWITCH_IPV4
+ 1
+
+
+ IOAM_INGRESS_SWITCH_IPV6
+ IOAM_INGRESS_SWITCH_IPV6
+ 2
+
+
+ IOAM_TRANSIT_SWITCH_IPV4
+ IOAM_TRANSIT_SWITCH_IPV4
+ 3
+
+
+ IOAM_TRANSIT_SWITCH_IPV6
+ IOAM_TRANSIT_SWITCH_IPV6
+ 4
+
+
+ INT_IOAM_MIRRORING
+ INT_IOAM_MIRRORING
+ 5
+
+
+ INT_IOAM_EGRESS_SWITCH
+ INT_IOAM_EGRESS_SWITCH
+ 6
+
+
+ MPLS_SR_NO_EL
+ MPLS_SR_NO_EL
+ 7
+
+
+ MPLS_SR_ONE_EL
+ MPLS_SR_ONE_EL
+ 8
+
+
+ MPLS_SR_TWO_EL
+ MPLS_SR_TWO_EL
+ 9
+
+
+ MPLS_SR_THREE_EL
+ MPLS_SR_THREE_EL
+ 10
+
+
+ UNIFIED_SR
+ UNIFIED_SR
+ 11
+
+
+ CLASSIFIER_NSH_OVER_ETHERNET
+ CLASSIFIER_NSH_OVER_ETHERNET
+ 12
+
+
+ CLASSIFIER_NSH_OVER_VXLAN_GPE
+ CLASSIFIER_NSH_OVER_VXLAN_GPE
+ 13
+
+
+ SFF_NSH_VXLAN_GPE_TO_ETHERNET
+ SFF_NSH_VXLAN_GPE_TO_ETHERNET
+ 14
+
+
+ SFF_NSH_ETHERNET_TO_VXLAN_GPE
+ SFF_NSH_ETHERNET_TO_VXLAN_GPE
+ 15
+
+
+ IOAM_EGRESS_SWITCH_IPV6
+ IOAM_EGRESS_SWITCH_IPV6
+ 16
+
+
+ SRV6_END_NODE
+ SRV6_END_NODE
+ 17
+
+
+ SRV6_PENULTIMATE_END_NODE
+ SRV6_PENULTIMATE_END_NODE
+ 18
+
+
+ SRV6_SRC_NODE_1_SEGMENT
+ SRV6_SRC_NODE_1_SEGMENT
+ 19
+
+
+ SRV6_SRC_NODE_FIRST_PASS_2_3_SEGMENTS
+ SRV6_SRC_NODE_FIRST_PASS_2_3_SEGMENTS
+ 20
+
+
+ SRV6_SRC_NODE_SECOND_PASS_3_SEGMENTS
+ SRV6_SRC_NODE_SECOND_PASS_3_SEGMENTS
+ 21
+
+
+ SRV6_SRC_NODE_SECOND_PASS_2_SEGMENTS
+ SRV6_SRC_NODE_SECOND_PASS_2_SEGMENTS
+ 22
+
+
+ SGT_NETWORK_ADD_MSB
+ SGT_NETWORK_ADD_MSB
+ 23
+
+
+ SGT_NETWORK_FIX
+ SGT_NETWORK_FIX
+ 24
+
+
+ SGT_NETWORK_REMOVE
+ SGT_NETWORK_REMOVE
+ 25
+
+
+ SGT_EDSA_FIX
+ SGT_EDSA_FIX
+ 26
+
+
+ SGT_EDSA_REMOVE
+ SGT_EDSA_REMOVE
+ 27
+
+
+ SGT_GBP_FIX_IPV4
+ SGT_GBP_FIX_IPV4
+ 28
+
+
+ SGT_GBP_FIX_IPV6
+ SGT_GBP_FIX_IPV6
+ 29
+
+
+ SGT_GBP_REMOVE_IPV4
+ SGT_GBP_REMOVE_IPV4
+ 30
+
+
+ SGT_GBP_REMOVE_IPV6
+ SGT_GBP_REMOVE_IPV6
+ 31
+
+
+ PTP_PHY_1_STEP
+ PTP_PHY_1_STEP
+ 32
+
+
+ EGRESS_MIRRORING_METADATA
+ EGRESS_MIRRORING_METADATA
+ 33
+
+
+ CC_ERSPAN_TYPE_II_TRG_DEV_LC_IPV4
+ CC_ERSPAN_TYPE_II_TRG_DEV_LC_IPV4
+ 34
+
+
+ CC_ERSPAN_TYPE_II_TRG_DEV_LC_IPV6
+ CC_ERSPAN_TYPE_II_TRG_DEV_LC_IPV6
+ 35
+
+
+ CC_ERSPAN_TYPE_II_TRG_DEV_DIRECT_IPV4
+ CC_ERSPAN_TYPE_II_TRG_DEV_DIRECT_IPV4
+ 36
+
+
+ CC_ERSPAN_TYPE_II_TRG_DEV_DIRECT_IPV6
+ CC_ERSPAN_TYPE_II_TRG_DEV_DIRECT_IPV6
+ 37
+
+
+ CC_ERSPAN_TYPE_II_SRC_DEV
+ CC_ERSPAN_TYPE_II_SRC_DEV
+ 38
+
+
+ VXLAN_GBP_SOURCE_GROUP_POLICY_ID
+ VXLAN_GBP_SOURCE_GROUP_POLICY_ID
+ 39
+
+
+ SRV6_BEST_EFFORT
+ SRV6_BEST_EFFORT
+ 40
+
+
+ SRV6_SRC_NODE_1_CONTAINER
+ SRV6_SRC_NODE_1_CONTAINER
+ 41
+
+
+ SRV6_SRC_NODE_FIRST_PASS_2_3_CONTAINERS
+ SRV6_SRC_NODE_FIRST_PASS_2_3_CONTAINERS
+ 42
+
+
+ SRV6_SRC_NODE_SECOND_PASS_2_CONTAINERS
+ SRV6_SRC_NODE_SECOND_PASS_2_CONTAINERS
+ 43
+
+
+ SRV6_SRC_NODE_SECOND_PASS_3_CONTAINERS
+ SRV6_SRC_NODE_SECOND_PASS_3_CONTAINERS
+ 44
+
+
+ SRV6_END_NODE_COC32_GSID
+ SRV6_END_NODE_COC32_GSID
+ 45
+
+
+ IPV4_TTL_INCREMENT
+ IPV4_TTL_INCREMENT
+ 46
+
+
+ IPV6_HOP_LIMIT_INCREMENT
+ IPV6_HOP_LIMIT_INCREMENT
+ 47
+
+
+ CLEAR_OUTGOING_MTAG_COMMAND
+ CLEAR_OUTGOING_MTAG_COMMAND
+ 48
+
+
+ SFLOW_V5_IPV4
+ SFLOW_V5_IPV4
+ 49
+
+
+ SFLOW_V5_IPV6
+ SFLOW_V5_IPV6
+ 50
+
+
+ SLS
+ SLS
+ 51
+
+
+
+ trunk-member-mode-type
+ enumeration
+ Specifies supported Pha image id
+
+ NATIVE
+ NATIVE
+ * the trunk members are filled
+ * according to the order given by application.
+ * Regular trunk may hold max of 8 members.
+ * Cascade trunk may hold :
+ * max of 64 members
+ 0
+
+
+ FLEX
+ FLEX
+ * A mode to allows flexibility for
+ * each Regular trunk to state it's max number of members (before starting to add members).
+ * (this mode not effect 'cascade trunk' members)
+ * Regular trunk may hold : max of 4K members. (each trunk set it's own limit)
+ * Cascade trunk may hold : max of 64 members.
+ 2
+
+
+
+ number-physical-port-type
+ enumeration
+ ac5x 128, falcon 64,128,256, 512, 1024
+
+ no-ports
+ no-ports
+ 0
+
+
+ 64-ports
+ 64-ports
+ 64
+
+
+ 128-ports
+ 128-ports
+ 128
+
+
+ 256-ports
+ 256-ports
+ 256
+
+
+ 512-ports
+ 512-ports
+ 512
+
+
+ 1024-ports
+ 1024-ports
+ 1024
+
+
+
+ serdes-ref-clock-type
+ enumeration
+ Specifies serdes refernce clock.
+
+ external_25_single_ended
+ EXTERNAL_25_SINGLE_ENDED
+ 0
+
+
+ external_125_single_ended
+ EXTERNAL_125_SINGLE_ENDED
+ 1
+
+
+ external_125_diff
+ EXTERNAL_125_DIFF
+ 2
+
+
+ external_156_25_single_ended
+ EXTERNAL_156_25_SINGLE_ENDED
+ 3
+
+
+ external_156_25_diff
+ EXTERNAL_156_25_DIFF
+ 4
+
+
+ internal_125
+ INTERNAL_125
+ 5
+
+
+
+ cpu-port-id-type
+ uint32
+ CPU port id
+ 0
+ 7
+
+
+ rx-buffer-size-type
+ uint32
+ Rx Buffer size
+ 64
+ 10240
+
+
+ tx-sdma-queue-mode-type
+ enumeration
+ Specifies TX queue mode.
+
+ Normal
+ Application
+ 0
+
+
+ Packet_Generator
+ Traffic generator
+ 1
+
+
+
+ alloc-method-type
+ enumeration
+ Specifies Buffers allocation method.
+
+ Dynamic_Alloc
+ Dynamic
+ 0
+
+
+ Static_Alloc
+ Static
+ 1
+
+
+
+ au_mesage_lenght-type
+ enumeration
+ Specifies Buffers allocation method.
+
+ 4_words
+ 4 Words
+ 0
+
+
+ 8_words
+ 8 Words
+ 1
+
+
+
+ boolean-type
+ enumeration
+ Boolean 32 bits , due to bing endian
+
+ false
+ False
+ 0
+
+
+ true
+ True
+ 1
+
+
+
+
+ AC5X-RD
+
+ 4294967295
+ external_25_single_ended
+ 2
+ 60
+ 128-ports
+ false
+ false
+ 0
+
+
+ true
+
+ 4096
+
+
+ 2048
+
+
+
+ 0
+ 0
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 7
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 6
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 5
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 4
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 3
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 2
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 1
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 0
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 7
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 6
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 5
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 4
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 3
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 2
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 1
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 0
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 1
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 2
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 3
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 4
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 5
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 6
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 7
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 0
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 1
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 2
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 3
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 4
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 5
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 6
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 7
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+
+ false
+ false
+ false
+ 0
+ 8_words
+ false
+
+
+
+ TCAM_ROUTER_BASED
+ 0
+ MID_L3_MID_L2_NO_EM
+ true
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+ 511
+ FLEX
+
+ true
+ true
+ true
+ true
+
+ false
+ 01
+ 0
+
+
+
+
+
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5 b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5
new file mode 100644
index 0000000000..bd88f03a2e
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5
@@ -0,0 +1 @@
+079a2fcdb8fe1d1f0cf39e3c40e6dd36
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml
new file mode 100644
index 0000000000..f71d485bbe
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml
@@ -0,0 +1,346 @@
+
+
+
+
+
+ device-id-type
+ uint32
+ Device ID 0..1023
+ 0
+ 1023
+
+
+ port-id-type
+ uint32
+ Interface number
+ 0
+ 1023
+
+
+ logDest-type
+ enumeration
+ Logging Feature Options
+
+ SAI_LOG_SYSLOG
+ SYSLOG {Syslog service should be running to use this option}
+ 0
+
+
+ SAI_LOG_CONSOLE
+ CONSOLE
+ 1
+
+
+ SAI_LOG_FILE
+ FILE {Warning !!! Use with caution. Can cause disk full issues}
+ 2
+
+
+
+ log-dest-file-path-type
+ string
+ A string with path to file for logging feature
+ 2
+ 30
+
+
+ ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml
+
+ false
+
+
+
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+
+ 2
+ 0
+ 2
+
+
+ 3
+ 0
+ 3
+
+
+ 4
+ 0
+ 4
+
+
+ 5
+ 0
+ 5
+
+
+ 6
+ 0
+ 6
+
+
+ 7
+ 0
+ 7
+
+
+ 8
+ 0
+ 8
+
+
+ 9
+ 0
+ 9
+
+
+ 10
+ 0
+ 10
+
+
+ 11
+ 0
+ 11
+
+
+ 12
+ 0
+ 12
+
+
+ 13
+ 0
+ 13
+
+
+ 14
+ 0
+ 14
+
+
+ 15
+ 0
+ 15
+
+
+ 16
+ 0
+ 16
+
+
+ 17
+ 0
+ 17
+
+
+ 18
+ 0
+ 18
+
+
+ 19
+ 0
+ 19
+
+
+ 20
+ 0
+ 20
+
+
+ 21
+ 0
+ 21
+
+
+ 22
+ 0
+ 22
+
+
+ 23
+ 0
+ 23
+
+
+ 24
+ 0
+ 24
+
+
+ 25
+ 0
+ 25
+
+
+ 26
+ 0
+ 26
+
+
+ 27
+ 0
+ 27
+
+
+ 28
+ 0
+ 28
+
+
+ 29
+ 0
+ 29
+
+
+ 30
+ 0
+ 30
+
+
+ 31
+ 0
+ 31
+
+
+ 32
+ 0
+ 32
+
+
+ 33
+ 0
+ 33
+
+
+ 34
+ 0
+ 34
+
+
+ 35
+ 0
+ 35
+
+
+ 36
+ 0
+ 36
+
+
+ 37
+ 0
+ 37
+
+
+ 38
+ 0
+ 38
+
+
+ 39
+ 0
+ 39
+
+
+ 40
+ 0
+ 40
+
+
+ 41
+ 0
+ 41
+
+
+ 42
+ 0
+ 42
+
+
+ 43
+ 0
+ 43
+
+
+ 44
+ 0
+ 44
+
+
+ 45
+ 0
+ 45
+
+
+ 46
+ 0
+ 46
+
+
+ 47
+ 0
+ 47
+
+
+ 48
+ 0
+ 48
+
+
+ 49
+ 0
+ 49
+
+
+ 50
+ 0
+ 50
+
+
+ 51
+ 0
+ 51
+
+
+ 52
+ 0
+ 52
+
+
+ 53
+ 0
+ 53
+
+
+
+ 8
+ 0
+ 0
+ 64
+ 8
+ 8
+ 1024
+ 0
+ 0
+
+
+
+ 0
+
+
+ 2048
+
+
+
+ SAI_LOG_SYSLOG
+
+
+
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/port_config.ini b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/port_config.ini
new file mode 100644
index 0000000000..3dd789a035
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/port_config.ini
@@ -0,0 +1,55 @@
+# name lanes alias speed autoneg fec index
+Ethernet0 0 oneGigE0 1000 on none 1
+Ethernet1 1 oneGigE1 1000 on none 2
+Ethernet2 2 oneGigE2 1000 on none 3
+Ethernet3 3 oneGigE3 1000 on none 4
+Ethernet4 4 oneGigE4 1000 on none 5
+Ethernet5 5 oneGigE5 1000 on none 6
+Ethernet6 6 oneGigE6 1000 on none 7
+Ethernet7 7 oneGigE7 1000 on none 8
+Ethernet8 8 oneGigE8 1000 on none 9
+Ethernet9 9 oneGigE9 1000 on none 10
+Ethernet10 10 oneGigE10 1000 on none 11
+Ethernet11 11 oneGigE11 1000 on none 12
+Ethernet12 12 oneGigE12 1000 on none 13
+Ethernet13 13 oneGigE13 1000 on none 14
+Ethernet14 14 oneGigE14 1000 on none 15
+Ethernet15 15 oneGigE15 1000 on none 16
+Ethernet16 16 oneGigE16 1000 on none 17
+Ethernet17 17 oneGigE17 1000 on none 18
+Ethernet18 18 oneGigE18 1000 on none 19
+Ethernet19 19 oneGigE19 1000 on none 20
+Ethernet20 20 oneGigE20 1000 on none 21
+Ethernet21 21 oneGigE21 1000 on none 22
+Ethernet22 22 oneGigE22 1000 on none 23
+Ethernet23 23 oneGigE23 1000 on none 24
+Ethernet24 24 oneGigE24 1000 on none 25
+Ethernet25 25 oneGigE25 1000 on none 26
+Ethernet26 26 oneGigE26 1000 on none 27
+Ethernet27 27 oneGigE27 1000 on none 28
+Ethernet28 28 oneGigE28 1000 on none 29
+Ethernet29 29 oneGigE29 1000 on none 30
+Ethernet30 30 oneGigE30 1000 on none 31
+Ethernet31 31 oneGigE31 1000 on none 32
+Ethernet32 32 twod5GigE32 2500 on rs 33
+Ethernet33 33 twod5GigE33 2500 on rs 34
+Ethernet34 34 twod5GigE34 2500 on rs 35
+Ethernet35 35 twod5GigE35 2500 on rs 36
+Ethernet36 36 twod5GigE36 2500 on rs 37
+Ethernet37 37 twod5GigE37 2500 on rs 38
+Ethernet38 38 twod5GigE38 2500 on rs 39
+Ethernet39 39 twod5GigE39 2500 on rs 40
+Ethernet40 40 twod5GigE40 2500 on rs 41
+Ethernet41 41 twod5GigE41 2500 on rs 42
+Ethernet42 42 twod5GigE42 2500 on rs 43
+Ethernet43 43 twod5GigE43 2500 on rs 44
+Ethernet44 44 twod5GigE44 2500 on rs 45
+Ethernet45 45 twod5GigE45 2500 on rs 46
+Ethernet46 46 twod5GigE46 2500 on rs 47
+Ethernet47 47 twod5GigE47 2500 on rs 48
+Ethernet48 48 twenty5GigE48 25000 off none 49
+Ethernet49 49 twenty5GigE49 25000 off none 50
+Ethernet50 50 twenty5GigE50 25000 off none 51
+Ethernet51 51 twenty5GigE51 25000 off none 52
+Ethernet52 52 twenty5GigE52 25000 off none 53
+Ethernet53 53 twenty5GigE53 25000 off none 54
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/profile.ini b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/profile.ini
new file mode 100644
index 0000000000..c2f77685ad
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/profile.ini
@@ -0,0 +1 @@
+switchMacAddress=00:01:02:03:04:05
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/sai.profile b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/sai.profile
new file mode 100755
index 0000000000..ab0ddef9c8
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/rd98DX35xx/sai.profile
@@ -0,0 +1,4 @@
+mode=1
+hwId=AC5XRD
+switchProfile=/usr/share/sonic/hwsku/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml
+SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/profile.ini
diff --git a/device/marvell/arm64-marvell_rd98DX35xx-r0/system_health_monitoring_config.json b/device/marvell/arm64-marvell_rd98DX35xx-r0/system_health_monitoring_config.json
new file mode 100644
index 0000000000..79c17103bf
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx-r0/system_health_monitoring_config.json
@@ -0,0 +1,10 @@
+{
+ "services_to_ignore": [],
+ "devices_to_ignore": [
+ "asic",
+ "psu.temperature",
+ "fan",
+ "psu"
+ ],
+ "user_defined_checkers": []
+}
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/default_sku b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/default_sku
new file mode 100644
index 0000000000..d85eeb5c12
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/default_sku
@@ -0,0 +1 @@
+rd98DX35xx_cn9131 t1
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/installer.conf b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/installer.conf
new file mode 100644
index 0000000000..304a98aa1e
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/installer.conf
@@ -0,0 +1 @@
+ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="default_hugepagesz=32M hugepages=4 pci=noaer"
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/platform_asic b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/platform_asic
new file mode 100644
index 0000000000..558e01e184
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/platform_asic
@@ -0,0 +1 @@
+marvell-arm64
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/plugins/eeprom.py b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/plugins/eeprom.py
new file mode 100644
index 0000000000..f50fd2f289
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/plugins/eeprom.py
@@ -0,0 +1,13 @@
+#!/usr/bin/env python
+
+try:
+ from sonic_eeprom import eeprom_tlvinfo
+except ImportError as e:
+ raise ImportError (str(e) + "- required module not found")
+
+
+class board(eeprom_tlvinfo.TlvInfoDecoder):
+
+ def __init__(self, name, path, cpld_root, ro):
+ self.eeprom_path = "/sys/bus/i2c/devices/0-0050/eeprom"
+ super(board, self).__init__(self.eeprom_path, 0, '', True)
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/pmon_daemon_control.json b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/pmon_daemon_control.json
new file mode 100644
index 0000000000..39deb88be0
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/pmon_daemon_control.json
@@ -0,0 +1,8 @@
+{
+ "skip_ledd": true,
+ "skip_pcied": true,
+ "skip_thermalctld": true,
+ "skip_psud": true,
+ "skip_xcvrd": true,
+ "skip_syseepromd": true
+}
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5 b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5
new file mode 100644
index 0000000000..433753d8f4
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.md5
@@ -0,0 +1 @@
+95f963f02f1cb808656fcb1f008aa36a
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml
new file mode 100644
index 0000000000..2c1bb27fba
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml
@@ -0,0 +1,1894 @@
+
+
+
+
+
+ std-string
+ string
+ standard string.
+ 1
+ 100
+
+
+ board-callback-type
+ enumeration
+ Specifies os/ext drv callback types.
+
+ linux-static
+ Linux Static
+ 0
+
+
+ linux-shared
+ Linux Shared Lib mode
+ 1
+
+
+ external
+ External Os
+ 3
+
+
+ freeBsd
+ Free BSD
+ 4
+
+
+
+ board-pp-map-type
+ enumeration
+ Specifies pci info types.
+
+ fixed
+ Fixed
+ 0
+
+
+ autoscan
+ Auto scan
+ 1
+
+
+
+ board-pp-interface-channel-type
+ enumeration
+ Specifies interface tunnel.
+
+ pci
+ PCI
+ 0
+
+
+ smi
+ SMI
+ 1
+
+
+ pex
+ PEX
+ 3
+
+
+ pex_eagle
+ PEX EAGLE
+ 5
+
+
+ pex_falcon_z
+ PEX FALCON Z
+ 6
+
+
+
+ device-id-type
+ uint32
+ Device ID 0..1023
+ 0
+ 1023
+
+
+ port-mapping-type
+ enumeration
+ Specifies port map type.
+
+ ethernet_mac
+ ETHERNET_MAC
+ 0
+
+
+ cpu_sdma
+ CPU_SDMA
+ 1
+
+
+
+ interface-num-type
+ uint32
+ Interface number
+ 0
+ 1023
+
+
+ txq-port-number-type
+ uint32
+ 0 - 8 queues are configured per port (legacy mode),
+1...16 - the number of queues configured per port
+ SIP 5 : Bobcat2,BobK:0..71 ;Bobcat3: 0..576 ;Aldrin2:0..99
+ 0
+ 576
+
+
+ phy-smi-interface-type
+ uint32
+ Phy SMI interface type.
+ 0
+ 3
+
+
+ phy-xsmi-interface-type
+ uint32
+ Phy XSMI interface type.
+ 0
+ 15
+
+
+ phy-type
+ enumeration
+ Specifies the PHY Part Identifier.
+
+ NA
+ No Phy
+ 0
+
+
+ alaska-88E1543
+ Specifies PHY identifier 88E1543, used for Combo ports.
+ 1
+
+
+ alaska-88E1545
+ Specifies PHY identifier 88E1545, used for Copper GE with MAC on PHY support.
+ 2
+
+
+ alaska-88E1680
+ Specifies PHY identifier 88E1680, used for Copper with speeds of 10M/100M/1G.
+ 3
+
+
+ alaska-88E151X
+ Specifies PHY identifier 88E151X, used for Copper (HW supports combo and fiber).
+ 4
+
+
+ alaska-88E3140
+ Specifies PHY identifier 88E3140, used for Copper with speeds of 100M/1G/10G. Uses with FW SolarFlare next generation.
+ 5
+
+
+ alaska-88E3240
+ Specifies PHY identifier 88E3240, used for Copper with speeds of 100M/1G/10G. Uses with FW, SolarFlare next generation.
+ 6
+
+
+ alaska-88E3680
+ Specifies PHY identifier 88E3680, used for Octal Copper 100M.
+ 7
+
+
+ alaska-88E3220
+ Specifies PHY identifier 88E3220, used for Combo port with speeds of 100M/1G/10G. Uses FW, SolarFlare next generation.
+ 8
+
+
+ alaska-88E1680L
+ Specifies PHY identifier 88E1680L, used for Copper with speeds of 10M/100M/1G.
+ 9
+
+
+ alaska-88E33X0
+ Specifies PHY identifier 88E33X0, used for MGIG Combo.
+ 10
+
+
+ alaska-88E1548
+ Specifies PHY identifier 88E1548, used for Fiber GE.
+ 11
+
+
+ alaska-88E20X0
+ Specifies PHY identifier 88E20X0, used for Copper with speeds of 10M/100M/1G/2.5G/5G.
+ 12
+
+
+ alaska-88E1512
+ Specifies PHY identifier 88E1512, used for Copper with speeds of 10M/100M/1G.
+ 13
+
+
+ alaska-88E2180
+ Specifies PHY identifier 88E2180, used for Copper with speeds of 10M/100M/1G/2.5G/5G.
+ 14
+
+
+ alaska-88E1780
+ Specifies PHY identifier 88E1780, Integrated Octal 10/100/1000 Mbps Energy Efficient Ethernet Transceiver
+ 15
+
+
+ alaska-88E2540
+ Specifies PHY identifier 88E2540, 4 ports 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver with IEEE 1588v2 PTP Support
+ 16
+
+
+ alaska-88E2580
+ Specifies PHY identifier 88E12580, Octal 10/100/1000/2.5G/5GBASE-T Ethernet Transceiver with IEEE 1588v2 PTP Support
+ 17
+
+
+
+ physical-port-num-type
+ uint32
+ PHYSICAL PORT NUM
+ 0
+ 1023
+
+
+ led-stream-port-type
+ enumeration
+ Specifies the ledstream port type.
+
+ PORT_TYPE_TRI_SPEED
+ tri-speed port.
+ 1
+
+
+ PORT_TYPE_XG
+ XG port.
+ 2
+
+
+
+ led-stream-blink-select-type
+ enumeration
+ Specifies the LED stream blink select type.
+
+ BLINK_SELECT_0
+ Blink 0 signal.
+ 1
+
+
+ BLINK_SELECT_1
+ Blink 1 signal
+ 2
+
+
+
+ led-stream-order-mode-type
+ enumeration
+ Specifies the LED stream ordering mode.
+
+ ORDER_MODE_BY_PORT
+ the indication order is arranged by port.
+ 1
+
+
+ ORDER_MODE_BY_CLASS
+ the indication order is arranged by class.
+ 2
+
+
+
+ led-stream-blink-duty-cycle-type
+ enumeration
+ Specifies the LED stream blink cycle duty cycle type.
+
+ BLINK_DUTY_CYCLE_0
+ 25% on, 75% off.
+ 1
+
+
+ BLINK_DUTY_CYCLE_1
+ 50% on, 50% off.
+ 2
+
+
+ BLINK_DUTY_CYCLE_2
+ 50% on, 50% off.
+ 3
+
+
+ BLINK_DUTY_CYCLE_3
+ 75% on, 25% off.
+ 4
+
+
+
+ led-stream-blink-duration-type
+ enumeration
+ Specifies the LED stream blink period type.
+
+ BLINK_DURATION_0
+ BLINK_DURATION_0.
+ 1
+
+
+ BLINK_DURATION_1
+ BLINK_DURATION_1.
+ 2
+
+
+ BLINK_DURATION_2
+ BLINK_DURATION_2.
+ 3
+
+
+ BLINK_DURATION_3
+ BLINK_DURATION_3.
+ 4
+
+
+ BLINK_DURATION_4
+ BLINK_DURATION_4.
+ 5
+
+
+ BLINK_DURATION_5
+ BLINK_DURATION_5.
+ 6
+
+
+ BLINK_DURATION_6
+ (APPLICABLE DEVICES: xCat3; AC5; Lion2; Bobcat2; Caelum; Aldrin; AC3X; Bobcat3; Aldrin2; Pipe) .
+ 7
+
+
+ BLINK_DURATION_7
+ APPLICABLE DEVICES: Bobcat2; Caelum; Aldrin; AC3X; Bobcat3; Aldrin2; Pipe).
+ 8
+
+
+
+ led-stream-pulse-stretch-type
+ enumeration
+ Specifies the LED stream length of stretching for dynamic signals.
+
+ PULSE_STRETCH_0_NO
+ PULSE_STRETCH_0_NO.
+ 1
+
+
+ PULSE_STRETCH_1
+ PULSE_STRETCH_1.
+ 2
+
+
+ PULSE_STRETCH_2
+ PULSE_STRETCH_2.
+ 3
+
+
+ PULSE_STRETCH_3
+ PULSE_STRETCH_3.
+ 4
+
+
+ PULSE_STRETCH_4
+ PULSE_STRETCH_4.
+ 5
+
+
+ PULSE_STRETCH_5
+ PULSE_STRETCH_5.
+ 6
+
+
+ PULSE_STRETCH_6
+ (APPLICABLE DEVICES: Bobcat2; Caelum; Aldrin; AC3X; Bobcat3; Aldrin2; Falcon; AC5P; Pipe).
+ 7
+
+
+ PULSE_STRETCH_7
+ (APPLICABLE DEVICES: Bobcat2; Caelum; Aldrin; AC3X; Bobcat3; Aldrin2; Falcon; AC5P; Pipe).
+ 8
+
+
+
+ led-stream-clock-out-frequency-type
+ enumeration
+ Specifies the LED stream blink cycle duty cycle type.
+
+ _CLOCK_OUT_FREQUENCY_500
+ 500 KHz LED clock frequency.
+ 1
+
+
+ CLOCK_OUT_FREQUENCY_1000
+ 1 MHz LED clock frequency.
+ 2
+
+
+ CLOCK_OUT_FREQUENCY_2000
+ 2 MHz LED clock frequency.
+ 3
+
+
+ CLOCK_OUT_FREQUENCY_3000
+ 3 MHz LED clock frequency.
+ 4
+
+
+
+ led-stream-class5-select-type
+ enumeration
+ Specifies the LED stream indication displayed on class5 (for dual-media port/phy).
+
+ CLASS_5_SELECT_HALF_DUPLEX
+ Half Duplex is displayed on class5.
+ 1
+
+
+ CLASS_5_SELECT_FIBER_LINK_UP
+ If port is a dual media port, Fiber Link Up is displayed on class5.
+ 2
+
+
+
+ led-stream-class13-select-type
+ enumeration
+ Specifies the LED stream indication displayed on class13 (for dual-media port/phy).
+
+ CLASS_13_SELECT_LINK_DOWN
+ Link Down is displayed on class13.
+ 1
+
+
+ CLASS_13_SELECT_COPPER_LINK_UP
+ If port is a dual media port, Copper Link Up is displayed on class13.
+ 2
+
+
+
+ led-class-num-type
+ uint32
+ Led Class number
+ 0
+ 11
+
+
+ boolean-type
+ enumeration
+ Boolean 32 bits , due to bing endian
+
+ false
+ False
+ 0
+
+
+ true
+ True
+ 1
+
+
+
+ bus-id-type
+ uint32
+ Bus Id Type, PCI/SMI
+ 0
+ 255
+
+
+ function-id-type
+ uint32
+ Function Id Type, PCI/SMI
+ 0
+ 255
+
+
+ domain-type
+ uint32
+ Domain, PCI/SMI
+ 0
+ 255
+
+
+ led-interface-type
+ uint32
+ Led interface
+ 0
+ 255
+
+
+ led-position-type
+ uint32
+ Led position
+ 0
+ 63
+
+
+ serdes-lane-type
+ uint32
+ serdes lane
+ 0
+ 255
+
+
+ cpu-type
+ enumeration
+ The CPU Internal/External
+
+ external
+ Extrenal connected CPU
+ 0
+
+
+ internal
+ Internal CPU
+ 1
+
+
+
+ led-stream-clock-frequency-type
+ uint32
+ Led Clock Frequency Sip6
+ 500
+ 80000
+
+
+ led-unit-type
+ uint32
+ Led units
+ 1
+ 16
+
+
+ led-unit-or-no-unit-type
+ uint32
+ Led units, 0 for no Unit
+ 0
+ 16
+
+
+ led-group-type
+ uint32
+ Led Group
+ 0
+ 1
+
+
+ led-stream-force-data-type
+ string
+ A hexadecimal string with octets represented as hex digits
+separated by colons. The canonical representation uses
+lowercase characters.
+ 3
+ 11
+
+
+ bit-type
+ uint32
+ Bit range 0..31
+ 0
+ 31
+
+
+ bit-size-type
+ uint32
+ Bit leng 1..32
+ 1
+ 32
+
+
+ led-sip-type
+ enumeration
+ The LED scehme
+
+ na
+ NA
+ 0
+
+
+ sip5
+ SIP5: AC5, AC3x
+ 5
+
+
+ sip6
+ SIP6: Falcon, AC5x, AC5P
+ 6
+
+
+
+ port-cscd-type
+ enumeration
+ Specifies the cascade port type.
+
+ DSA_1_WORD
+ DSA Regular
+ 0
+
+
+ DSA_2_WORDS
+ DSA Extended
+ 1
+
+
+ NETWORK
+ Network.
+ 2
+
+
+ DSA_3_WORDS
+ DSA 3 Words
+ 3
+
+
+ DSA_4_WORD
+ DSA 4 Words
+ 4
+
+
+
+ trunk-cscd-type
+ uint32
+ Specifies the Cascade Trunk id.
+ 0
+ 127
+
+
+ port-trunk-cscd-type
+ enumeration
+ Specifies the cascade port type.
+
+ cscdPort
+ Cascade port
+ 0
+
+
+ cscdTrunk
+ Csacde trunk
+ 1
+
+
+
+ hash-cscd-type
+ enumeration
+ Specifies the hash used by cascade trunk.
+
+ pkt
+ Hash based on packet
+ 0
+
+
+ srcPort
+ Hash based on source port
+ 1
+
+
+
+ AC5X-RD-32x1G-16x2.5G-6x25G
+ linux-static
+ linux-static
+ autoscan
+ external
+ pex_eagle
+
+ 0
+ 0
+ ASK-PP-AC5X-RD.xml
+ ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml
+ sip6
+
+ 0
+
+ ethernet_mac
+ 1
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 1
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 1
+
+ ethernet_mac
+ 0
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 0
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 2
+
+ ethernet_mac
+ 3
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 3
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 3
+
+ ethernet_mac
+ 2
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 2
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 4
+
+ ethernet_mac
+ 5
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 5
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 5
+
+ ethernet_mac
+ 4
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 4
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 6
+
+ ethernet_mac
+ 7
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 7
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 7
+
+ ethernet_mac
+ 6
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 0
+ 6
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 8
+
+ ethernet_mac
+ 9
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 9
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 9
+
+ ethernet_mac
+ 8
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 8
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 10
+
+ ethernet_mac
+ 11
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 11
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 11
+
+ ethernet_mac
+ 10
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 10
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 12
+
+ ethernet_mac
+ 13
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 13
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 13
+
+ ethernet_mac
+ 12
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 12
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 14
+
+ ethernet_mac
+ 15
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 15
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 15
+
+ ethernet_mac
+ 14
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 1
+ 14
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 16
+
+ ethernet_mac
+ 17
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 17
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 17
+
+ ethernet_mac
+ 16
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 16
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 18
+
+ ethernet_mac
+ 19
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 19
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 19
+
+ ethernet_mac
+ 18
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 18
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 20
+
+ ethernet_mac
+ 21
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 21
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 21
+
+ ethernet_mac
+ 20
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 20
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 22
+
+ ethernet_mac
+ 23
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 23
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 23
+
+ ethernet_mac
+ 22
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 2
+ 22
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 24
+
+ ethernet_mac
+ 25
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 25
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 25
+
+ ethernet_mac
+ 24
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 24
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 26
+
+ ethernet_mac
+ 27
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 27
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 27
+
+ ethernet_mac
+ 26
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 26
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 28
+
+ ethernet_mac
+ 29
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 29
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 29
+
+ ethernet_mac
+ 28
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 28
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 30
+
+ ethernet_mac
+ 31
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 31
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 31
+
+ ethernet_mac
+ 30
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E1780
+ 3
+ 30
+ 1
+
+
+
+ 63
+ false
+
+
+
+ 32
+
+ ethernet_mac
+ 33
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 1
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 47
+
+ ethernet_mac
+ 46
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 6
+ 14
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 46
+
+ ethernet_mac
+ 47
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 6
+ 15
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 45
+
+ ethernet_mac
+ 44
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 6
+ 12
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 44
+
+ ethernet_mac
+ 45
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 6
+ 13
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 43
+
+ ethernet_mac
+ 42
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 5
+ 10
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 42
+
+ ethernet_mac
+ 43
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 5
+ 11
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 41
+
+ ethernet_mac
+ 40
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 5
+ 8
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 40
+
+ ethernet_mac
+ 41
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2540
+ 5
+ 9
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 39
+
+ ethernet_mac
+ 38
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 6
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 38
+
+ ethernet_mac
+ 39
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 7
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 37
+
+ ethernet_mac
+ 36
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 4
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 36
+
+ ethernet_mac
+ 37
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 5
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 35
+
+ ethernet_mac
+ 34
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 2
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 34
+
+ ethernet_mac
+ 35
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 3
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 33
+
+ ethernet_mac
+ 32
+ 0
+ false
+
+ NETWORK
+
+ alaska-88E2580
+ 4
+ 0
+ 0
+
+
+
+ 63
+ false
+
+
+
+ 48
+
+ ethernet_mac
+ 48
+ 0
+ false
+
+ NETWORK
+
+ NA
+
+
+
+ 0
+
+ 2
+ true
+
+ false
+
+
+
+ 49
+
+ ethernet_mac
+ 49
+ 0
+ false
+
+ NETWORK
+
+ NA
+
+
+
+ 1
+
+ 2
+ true
+
+ false
+
+
+
+ 50
+
+ ethernet_mac
+ 50
+ 0
+ false
+
+ NETWORK
+
+ NA
+
+
+
+ 0
+
+ 2
+ true
+
+ false
+
+
+
+ 51
+
+ ethernet_mac
+ 51
+ 0
+ false
+
+ NETWORK
+
+ NA
+
+
+
+ 1
+
+ 2
+ true
+
+ false
+
+
+
+ 52
+
+ ethernet_mac
+ 52
+ 0
+ false
+
+ NETWORK
+
+ NA
+
+
+
+ 2
+
+ 2
+ true
+
+ false
+
+
+
+ 53
+
+ ethernet_mac
+ 53
+ 0
+ false
+
+ NETWORK
+
+ NA
+
+
+
+ 3
+
+ 2
+ true
+
+ false
+
+
+
+ 63
+
+ cpu_sdma
+ 54
+ 0
+ false
+
+ NETWORK
+
+
+ 60
+
+ cpu_sdma
+ 55
+ 0
+ false
+
+ NETWORK
+
+
+ 0
+
+ ORDER_MODE_BY_CLASS
+ BLINK_DUTY_CYCLE_1
+ BLINK_DURATION_1
+ BLINK_DUTY_CYCLE_1
+ BLINK_DURATION_1
+ PULSE_STRETCH_1
+ false
+ 1627
+ false
+
+ 1
+ true
+
+
+ 2
+ true
+
+
+ 3
+ true
+
+
+ 4
+ 64
+ 65
+ false
+
+
+ 5
+ 64
+ 67
+ false
+
+
+
+ 2
+ PORT_TYPE_XG
+ true
+ BLINK_SELECT_0
+ false
+ true
+ true
+
+
+
+ .
+
+ 1
+
+
+
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5 b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5
new file mode 100644
index 0000000000..3a08897bfb
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.md5
@@ -0,0 +1 @@
+2876aaa02a47b5842e152ce794c50110
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml
new file mode 100644
index 0000000000..1d07f5994c
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-L1-AC5X-RD-32x1G-16x2_5G-6x25G.xml
@@ -0,0 +1,1239 @@
+
+
+
+
+
+ interface-mode-type
+ enumeration
+ Specifies supported Interface modes
+
+ 1000BASE_X
+ 1G
+ 6
+
+
+ SGMII
+ 1G , 2.5G
+ 3
+
+
+ QSGMII
+ 1G
+ 13
+
+
+ KR
+ 10G, 12G, 20G, 40G, 100G
+ 16
+
+
+ SR_LR
+ 5G, 10G, 12G, 20G, 40G
+ 20
+
+
+ KR2
+
+ 27
+
+
+ KR4
+
+ 28
+
+
+ SR_LR2
+
+ 29
+
+
+ SR_LR4
+ 100G
+ 30
+
+
+ KR_C
+ CONSORTIUM - 25G
+ 32
+
+
+ CR_C
+ CONSORTIUM - 25G
+ 33
+
+
+ KR2_C
+ CONSORTIUM - 50G
+ 34
+
+
+ CR2_C
+ CONSORTIUM - 50G
+ 35
+
+
+ CR
+
+ 36
+
+
+ CR2
+
+ 37
+
+
+ CR4
+
+ 38
+
+
+ KR_S
+
+ 39
+
+
+ CR_S
+
+ 40
+
+
+ KR8
+
+ 41
+
+
+ CR8
+
+ 42
+
+
+ SR_LR8
+
+ 43
+
+
+ USX_10G_QXGMII
+
+ 51
+
+
+ USX_20G_QXGMII
+
+ 52
+
+
+ USX_OUSGMII
+
+ 53
+
+
+ USX_20G_OXGMII
+
+ 54
+
+
+ NA
+
+ 57
+
+
+
+ port-speed-type
+ enumeration
+ Specifies supported speeds
+
+ 1G
+ 1G
+ 2
+
+
+ 10G
+ 10G
+ 3
+
+
+ 2500M
+ 2.5G
+ 5
+
+
+ 5G
+ 5G
+ 6
+
+
+ 25G
+ 25G, used in combination with CPSS_PORT_INTERFACE_MODE_KR_E, CPSS_PORT_INTERFACE_MODE_KR2_E
+ 21
+
+
+ 40G
+ 40G
+ 9
+
+
+ 50G
+ 50G
+ 14
+
+
+ 100G
+ 100G
+ 13
+
+
+ 200G
+ 200G
+ 24
+
+
+ 400G
+ 400G
+ 25
+
+
+ NA
+ NA
+ 35
+
+
+
+ fec-type
+ enumeration
+ Rx parameter type
+
+ enabled
+ Enabled
+ 0
+
+
+ disabled
+ Disabled
+ 1
+
+
+ rs_enabled
+ RS FEC enabled
+ 2
+
+
+ both_enabled
+ Both enabled
+ 3
+
+
+ rs_544_514_enabled
+ RS FEC 544 and 514
+ 4
+
+
+
+ physical-port-num-type
+ uint32
+ PHYSICAL PORT NUM
+ 0
+ 1023
+
+
+ tx-param-type
+ enumeration
+ Tx parameter type
+
+ atten
+ atten
+ 0
+
+
+ post
+ post
+ 1
+
+
+ pre
+ pre
+ 2
+
+
+ pre2
+ pre2
+ 3
+
+
+ pre3
+ pre3
+ 4
+
+
+ peak
+ peak
+ 5
+
+
+ main
+ main
+ 6
+
+
+ txAmpAdjEn
+ txAmpAdjEn
+ 7
+
+
+ emph0
+ emph0
+ 8
+
+
+ emph1
+ emph1
+ 9
+
+
+ txAmpShft
+ txAmpShft
+ 10
+
+
+ txEmphEn
+ txEmphEn
+ 11
+
+
+ txEmphEn1
+ txEmphEn1
+ 12
+
+
+ txAmpAdj
+ txAmpAdj
+ 13
+
+
+ slewCtrlEn
+ slewCtrlEn
+ 14
+
+
+ slewRate
+ slewRate
+ 15
+
+
+
+ rx-param-type
+ enumeration
+ Rx parameter type
+
+ sqlch
+ sqlch
+ 0
+
+
+ DC
+ DC
+ 1
+
+
+ LF
+ LF
+ 2
+
+
+ HF
+ HF
+ 3
+
+
+ gainShape1
+ gainShape1
+ 4
+
+
+ gainShape2
+ gainShape2
+ 5
+
+
+ shortChannelEn
+ shortChannelEn
+ 7
+
+
+ bfLf
+ bfLf
+ 8
+
+
+ bfHf
+ bfHf
+ 9
+
+
+ minLf
+ minLf
+ 10
+
+
+ maxLf
+ maxLf
+ 11
+
+
+ minHf
+ minHf
+ 12
+
+
+ maxHf
+ maxHf
+ 13
+
+
+ minPre1
+ minPre1
+ 14
+
+
+ maxPre1
+ maxPre1
+ 15
+
+
+ minPre2
+ minPre2
+ 16
+
+
+ maxPre2
+
+ 17
+
+
+ minPost
+ minPost
+ 18
+
+
+ maxPost
+ maxPost
+ 19
+
+
+ squelch
+ squelch
+ 20
+
+
+ termination
+ termination
+ 27
+
+
+ coldEnvelope
+ coldEnvelope
+ 35
+
+
+ hotEnvelope
+ hotEnvelope
+ 36
+
+
+ dcGain
+ dcGain
+ 37
+
+
+ bandWidth
+ bandWidth
+ 38
+
+
+ dfe
+ dfe
+ 39
+
+
+ ffeR
+ ffeR
+ 40
+
+
+ ffeC
+ ffeC
+ 41
+
+
+ sampler
+ sampler
+ 42
+
+
+ align90
+ align90
+ 43
+
+
+ ffeS
+ ffeS
+ 44
+
+
+ resSel
+ resSel
+ 45
+
+
+ resShift
+ resShift
+ 46
+
+
+ capSel
+ capSel
+ 47
+
+
+ ffeSettingForce
+ ffeSettingForce
+ 48
+
+
+ adaptedResSel
+ adaptedResSel
+ 49
+
+
+ adaptedCapSel
+ adaptedCapSel
+ 50
+
+
+ selmufi
+ selmufi
+ 51
+
+
+ selmuff
+ selmuff
+ 52
+
+
+ selmupi
+ selmupi
+ 53
+
+
+ selmupf
+ selmupf
+ 54
+
+
+ slewRateCtrl0
+ slewRateCtrl0
+ 55
+
+
+ slewRateCtrl1
+ slewRateCtrl1
+ 56
+
+
+ EO
+ EO
+ 57
+
+
+ dataRate
+ dataRate
+ 58
+
+
+ res1Sel
+ res1Sel
+ 59
+
+
+ res2Sel
+ res2Sel
+ 60
+
+
+ cap1Sel
+ cap1Sel
+ 61
+
+
+ cap2Sel
+ cap2Sel
+ 62
+
+
+ midpointLargeThresKLane
+ midpointLargeThresKLane
+ 63
+
+
+ midpointSmallThresKLane
+ midpointSmallThresKLane
+ 64
+
+
+ midpointLargeThresCLane
+ midpointLargeThresCLane
+ 65
+
+
+ midpointSmallThresCLane
+ midpointSmallThresCLane
+ 66
+
+
+ dfeResF0aHighThresInitLane
+ dfeResF0aHighThresInitLane
+ 67
+
+
+ dfeResF0aHighThresEndLane
+ dfeResF0aHighThresEndLane
+ 68
+
+
+ current1Sel
+ current1Sel
+ 69
+
+
+ rl1Sel
+ rl1Sel
+ 70
+
+
+ rl1Extra
+ rl1Extra
+ 71
+
+
+ cl1Ctrl
+ cl1Ctrl
+ 72
+
+
+ enMidFreq
+ enMidFreq
+ 73
+
+
+ cs1Mid
+ cs1Mid
+ 74
+
+
+ rs1Mid
+ rs1Mid
+ 75
+
+
+ rfCtrl
+ rfCtrl
+ 76
+
+
+ rl1TiaSel
+ rl1TiaSel
+ 77
+
+
+ rl1TiaExtra
+ rl1TiaExtra
+ 78
+
+
+ hpfRSel1st
+ hpfRSel1st
+ 79
+
+
+ current1TiaSel
+ current1TiaSel
+ 80
+
+
+ rl2Tune
+ rl2Tune
+ 81
+
+
+ rl2Sel
+ rl2Sel
+ 82
+
+
+ rs2Sel
+ rs2Sel
+ 83
+
+
+ current2Sel
+ current2Sel
+ 84
+
+
+ hpfRsel2nd
+ hpfRsel2nd
+ 85
+
+
+ BW
+ BW
+ 86
+
+
+ dfeGAIN
+ dfeGAIN
+ 87
+
+
+ dfeGAIN2
+ dfeGAIN2
+ 88
+
+
+ pre1
+ pre1
+ 89
+
+
+ pre2
+ pre2
+ 90
+
+
+ post1
+ post1
+ 91
+
+
+
+ boolean-type
+ enumeration
+ Boolean 32 bits , due to bing endian
+
+ false
+ False
+ 0
+
+
+ true
+ True
+ 1
+
+
+
+ serdes-type
+ enumeration
+ Serdes Type
+
+ NA
+ No serdes
+ 0
+
+
+ AVAGO
+ AVAGO
+ 1
+
+
+ COMPHY
+ COMPHY
+ 2
+
+
+ COMPHY_C12G
+ COMPHY_C12G
+ 3
+
+
+ COMPHY_C28G
+ COMPHY_C28G
+ 4
+
+
+ COMPHY_C112G
+ COMPHY_C112G
+ 5
+
+
+
+ uint8-type
+ uint32
+ Uint8 32 bits , due to bing endian
+ 0
+ 255
+
+
+ serdes-termination-type
+ enumeration
+ RX termination mode
+
+ GND
+ Enabled
+ 0
+
+
+ VDD
+ Disabled
+ 1
+
+
+ FLOATING
+ RS FEC enabled
+ 2
+
+
+
+ port-interconnect-profile-type
+ enumeration
+ Enumerator of interconnect profile.
+
+ profile_default
+ Profile Default
+ 0
+
+
+ profile_1
+ Profile 1
+ 1
+
+
+ profile_2
+ Profile 2
+ 2
+
+
+
+
+
+ 1000MR1
+
+ USX_OUSGMII
+ 1G
+ disabled
+
+
+ USX_OUSGMII
+ 1G
+ disabled
+ disabled
+
+
+
+ 2500MR1
+
+ USX_20G_OXGMII
+ 2500M
+ rs_enabled
+
+
+ USX_20G_OXGMII
+ 1G
+ rs_enabled
+
+
+ USX_20G_OXGMII
+ 2500M
+ rs_enabled
+ rs_enabled
+
+
+ USX_20G_OXGMII
+ 1G
+ rs_enabled
+ rs_enabled
+
+
+
+ 25GR1
+
+ SR_LR
+ 25G
+ rs_enabled
+
+
+ CR
+ 25G
+ rs_enabled
+
+
+ KR
+ 25G
+ rs_enabled
+
+
+ SR_LR
+ 10G
+ enabled
+
+
+ KR
+ 10G
+ enabled
+
+
+ 1000BASE_X
+ 1G
+
+
+ CR
+ 25G
+ rs_enabled
+ rs_enabled
+
+
+ KR
+ 25G
+ rs_enabled
+ rs_enabled
+
+
+ KR
+ 10G
+ enabled
+ enabled
+
+
+ 1000BASE_X
+ 1G
+ disabled
+ disabled
+
+
+
+
+
+ 0
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 1
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 2
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 3
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 4
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 5
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 6
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 7
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 8
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 9
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 10
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 11
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 12
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 13
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 14
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 15
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 16
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 17
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 18
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 19
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 20
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 21
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 22
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 23
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 24
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 25
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 26
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 27
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 28
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 29
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 30
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 31
+ AVAGO
+ profile_default
+ 1000MR1
+
+
+ 32
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 33
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 34
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 35
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 36
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 37
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 38
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 39
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 40
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 41
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 42
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 43
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 44
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 45
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 46
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 47
+ AVAGO
+ profile_default
+ 2500MR1
+
+
+ 48
+ AVAGO
+ profile_default
+ 25GR1
+
+
+ 49
+ AVAGO
+ profile_default
+ 25GR1
+
+
+ 50
+ AVAGO
+ profile_default
+ 25GR1
+
+
+ 51
+ AVAGO
+ profile_default
+ 25GR1
+
+
+ 52
+ AVAGO
+ profile_default
+ 25GR1
+
+
+ 53
+ AVAGO
+ profile_default
+ 25GR1
+
+
+
+
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.md5 b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.md5
new file mode 100644
index 0000000000..de23afe955
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.md5
@@ -0,0 +1 @@
+b42f2a2be9da6c7752c0807f9dee48bf
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.xml b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.xml
new file mode 100644
index 0000000000..ad457fe7db
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/ASK-PP-AC5X-RD.xml
@@ -0,0 +1,871 @@
+
+
+
+
+
+ std-string
+ string
+ standard string.
+ 1
+ 100
+
+
+ queue-id-type
+ uint32
+ Queue id
+ 0
+ 7
+
+
+ precent-type
+ uint32
+ Precent
+ 0
+ 100
+
+
+ phaThreadId-type
+ uint32
+ Thread id
+ 1
+ 255
+
+
+ routing-mode-type
+ enumeration
+ Specifies routing mode.
+
+ POLICY_BASED_ROUTING_ONLY
+ PBR only
+ 0
+
+
+ TCAM_ROUTER_BASED
+ Router engine or PBR
+ 1
+
+
+
+ shared-table-mode-type
+ enumeration
+ Specifies table sharing modes for L3 (LPM), L2 (FDB), EM (Exact Match)
+
+ MID_L3_MID_L2_NO_EM
+ MID_L3_MID_L2_NO_EM
+ 0
+
+
+ MID_L3_MID_L2_MIN_EM
+ MID_L3_MID_L2_MIN_EM
+ 1
+
+
+ LOW_MAX_L3_MID_LOW_L2_NO_EM
+ LOW_MAX_L3_MID_LOW_L2_NO_EM
+ 2
+
+
+ MAX_L3_MIN_L2_NO_EM
+ MAX_L3_MIN_L2_NO_EM
+ 3
+
+
+
+ pha-firmware-image-id-type
+ enumeration
+ Specifies supported Pha image id
+
+ DEFAULT
+ Default PHA firmware image ID
+ 0
+
+
+ 01
+ 01 firmware image ID
+ 1
+
+
+ 02
+ 02 PHA firmware image ID
+ 2
+
+
+
+ pha-firmware-thread-type
+ enumeration
+ Specifies supported Pha thread type
+
+ IOAM_INGRESS_SWITCH_IPV4
+ IOAM_INGRESS_SWITCH_IPV4
+ 1
+
+
+ IOAM_INGRESS_SWITCH_IPV6
+ IOAM_INGRESS_SWITCH_IPV6
+ 2
+
+
+ IOAM_TRANSIT_SWITCH_IPV4
+ IOAM_TRANSIT_SWITCH_IPV4
+ 3
+
+
+ IOAM_TRANSIT_SWITCH_IPV6
+ IOAM_TRANSIT_SWITCH_IPV6
+ 4
+
+
+ INT_IOAM_MIRRORING
+ INT_IOAM_MIRRORING
+ 5
+
+
+ INT_IOAM_EGRESS_SWITCH
+ INT_IOAM_EGRESS_SWITCH
+ 6
+
+
+ MPLS_SR_NO_EL
+ MPLS_SR_NO_EL
+ 7
+
+
+ MPLS_SR_ONE_EL
+ MPLS_SR_ONE_EL
+ 8
+
+
+ MPLS_SR_TWO_EL
+ MPLS_SR_TWO_EL
+ 9
+
+
+ MPLS_SR_THREE_EL
+ MPLS_SR_THREE_EL
+ 10
+
+
+ UNIFIED_SR
+ UNIFIED_SR
+ 11
+
+
+ CLASSIFIER_NSH_OVER_ETHERNET
+ CLASSIFIER_NSH_OVER_ETHERNET
+ 12
+
+
+ CLASSIFIER_NSH_OVER_VXLAN_GPE
+ CLASSIFIER_NSH_OVER_VXLAN_GPE
+ 13
+
+
+ SFF_NSH_VXLAN_GPE_TO_ETHERNET
+ SFF_NSH_VXLAN_GPE_TO_ETHERNET
+ 14
+
+
+ SFF_NSH_ETHERNET_TO_VXLAN_GPE
+ SFF_NSH_ETHERNET_TO_VXLAN_GPE
+ 15
+
+
+ IOAM_EGRESS_SWITCH_IPV6
+ IOAM_EGRESS_SWITCH_IPV6
+ 16
+
+
+ SRV6_END_NODE
+ SRV6_END_NODE
+ 17
+
+
+ SRV6_PENULTIMATE_END_NODE
+ SRV6_PENULTIMATE_END_NODE
+ 18
+
+
+ SRV6_SRC_NODE_1_SEGMENT
+ SRV6_SRC_NODE_1_SEGMENT
+ 19
+
+
+ SRV6_SRC_NODE_FIRST_PASS_2_3_SEGMENTS
+ SRV6_SRC_NODE_FIRST_PASS_2_3_SEGMENTS
+ 20
+
+
+ SRV6_SRC_NODE_SECOND_PASS_3_SEGMENTS
+ SRV6_SRC_NODE_SECOND_PASS_3_SEGMENTS
+ 21
+
+
+ SRV6_SRC_NODE_SECOND_PASS_2_SEGMENTS
+ SRV6_SRC_NODE_SECOND_PASS_2_SEGMENTS
+ 22
+
+
+ SGT_NETWORK_ADD_MSB
+ SGT_NETWORK_ADD_MSB
+ 23
+
+
+ SGT_NETWORK_FIX
+ SGT_NETWORK_FIX
+ 24
+
+
+ SGT_NETWORK_REMOVE
+ SGT_NETWORK_REMOVE
+ 25
+
+
+ SGT_EDSA_FIX
+ SGT_EDSA_FIX
+ 26
+
+
+ SGT_EDSA_REMOVE
+ SGT_EDSA_REMOVE
+ 27
+
+
+ SGT_GBP_FIX_IPV4
+ SGT_GBP_FIX_IPV4
+ 28
+
+
+ SGT_GBP_FIX_IPV6
+ SGT_GBP_FIX_IPV6
+ 29
+
+
+ SGT_GBP_REMOVE_IPV4
+ SGT_GBP_REMOVE_IPV4
+ 30
+
+
+ SGT_GBP_REMOVE_IPV6
+ SGT_GBP_REMOVE_IPV6
+ 31
+
+
+ PTP_PHY_1_STEP
+ PTP_PHY_1_STEP
+ 32
+
+
+ EGRESS_MIRRORING_METADATA
+ EGRESS_MIRRORING_METADATA
+ 33
+
+
+ CC_ERSPAN_TYPE_II_TRG_DEV_LC_IPV4
+ CC_ERSPAN_TYPE_II_TRG_DEV_LC_IPV4
+ 34
+
+
+ CC_ERSPAN_TYPE_II_TRG_DEV_LC_IPV6
+ CC_ERSPAN_TYPE_II_TRG_DEV_LC_IPV6
+ 35
+
+
+ CC_ERSPAN_TYPE_II_TRG_DEV_DIRECT_IPV4
+ CC_ERSPAN_TYPE_II_TRG_DEV_DIRECT_IPV4
+ 36
+
+
+ CC_ERSPAN_TYPE_II_TRG_DEV_DIRECT_IPV6
+ CC_ERSPAN_TYPE_II_TRG_DEV_DIRECT_IPV6
+ 37
+
+
+ CC_ERSPAN_TYPE_II_SRC_DEV
+ CC_ERSPAN_TYPE_II_SRC_DEV
+ 38
+
+
+ VXLAN_GBP_SOURCE_GROUP_POLICY_ID
+ VXLAN_GBP_SOURCE_GROUP_POLICY_ID
+ 39
+
+
+ SRV6_BEST_EFFORT
+ SRV6_BEST_EFFORT
+ 40
+
+
+ SRV6_SRC_NODE_1_CONTAINER
+ SRV6_SRC_NODE_1_CONTAINER
+ 41
+
+
+ SRV6_SRC_NODE_FIRST_PASS_2_3_CONTAINERS
+ SRV6_SRC_NODE_FIRST_PASS_2_3_CONTAINERS
+ 42
+
+
+ SRV6_SRC_NODE_SECOND_PASS_2_CONTAINERS
+ SRV6_SRC_NODE_SECOND_PASS_2_CONTAINERS
+ 43
+
+
+ SRV6_SRC_NODE_SECOND_PASS_3_CONTAINERS
+ SRV6_SRC_NODE_SECOND_PASS_3_CONTAINERS
+ 44
+
+
+ SRV6_END_NODE_COC32_GSID
+ SRV6_END_NODE_COC32_GSID
+ 45
+
+
+ IPV4_TTL_INCREMENT
+ IPV4_TTL_INCREMENT
+ 46
+
+
+ IPV6_HOP_LIMIT_INCREMENT
+ IPV6_HOP_LIMIT_INCREMENT
+ 47
+
+
+ CLEAR_OUTGOING_MTAG_COMMAND
+ CLEAR_OUTGOING_MTAG_COMMAND
+ 48
+
+
+ SFLOW_V5_IPV4
+ SFLOW_V5_IPV4
+ 49
+
+
+ SFLOW_V5_IPV6
+ SFLOW_V5_IPV6
+ 50
+
+
+ SLS
+ SLS
+ 51
+
+
+
+ trunk-member-mode-type
+ enumeration
+ Specifies supported Pha image id
+
+ NATIVE
+ NATIVE
+ * the trunk members are filled
+ * according to the order given by application.
+ * Regular trunk may hold max of 8 members.
+ * Cascade trunk may hold :
+ * max of 64 members
+ 0
+
+
+ FLEX
+ FLEX
+ * A mode to allows flexibility for
+ * each Regular trunk to state it's max number of members (before starting to add members).
+ * (this mode not effect 'cascade trunk' members)
+ * Regular trunk may hold : max of 4K members. (each trunk set it's own limit)
+ * Cascade trunk may hold : max of 64 members.
+ 2
+
+
+
+ number-physical-port-type
+ enumeration
+ ac5x 128, falcon 64,128,256, 512, 1024
+
+ no-ports
+ no-ports
+ 0
+
+
+ 64-ports
+ 64-ports
+ 64
+
+
+ 128-ports
+ 128-ports
+ 128
+
+
+ 256-ports
+ 256-ports
+ 256
+
+
+ 512-ports
+ 512-ports
+ 512
+
+
+ 1024-ports
+ 1024-ports
+ 1024
+
+
+
+ serdes-ref-clock-type
+ enumeration
+ Specifies serdes refernce clock.
+
+ external_25_single_ended
+ EXTERNAL_25_SINGLE_ENDED
+ 0
+
+
+ external_125_single_ended
+ EXTERNAL_125_SINGLE_ENDED
+ 1
+
+
+ external_125_diff
+ EXTERNAL_125_DIFF
+ 2
+
+
+ external_156_25_single_ended
+ EXTERNAL_156_25_SINGLE_ENDED
+ 3
+
+
+ external_156_25_diff
+ EXTERNAL_156_25_DIFF
+ 4
+
+
+ internal_125
+ INTERNAL_125
+ 5
+
+
+
+ cpu-port-id-type
+ uint32
+ CPU port id
+ 0
+ 7
+
+
+ rx-buffer-size-type
+ uint32
+ Rx Buffer size
+ 64
+ 10240
+
+
+ tx-sdma-queue-mode-type
+ enumeration
+ Specifies TX queue mode.
+
+ Normal
+ Application
+ 0
+
+
+ Packet_Generator
+ Traffic generator
+ 1
+
+
+
+ alloc-method-type
+ enumeration
+ Specifies Buffers allocation method.
+
+ Dynamic_Alloc
+ Dynamic
+ 0
+
+
+ Static_Alloc
+ Static
+ 1
+
+
+
+ au_mesage_lenght-type
+ enumeration
+ Specifies Buffers allocation method.
+
+ 4_words
+ 4 Words
+ 0
+
+
+ 8_words
+ 8 Words
+ 1
+
+
+
+ boolean-type
+ enumeration
+ Boolean 32 bits , due to bing endian
+
+ false
+ False
+ 0
+
+
+ true
+ True
+ 1
+
+
+
+
+ AC5X-RD
+
+ 4294967295
+ external_25_single_ended
+ 2
+ 60
+ 128-ports
+ false
+ false
+ 0
+
+
+ true
+
+ 4096
+
+
+ 2048
+
+
+
+ 0
+ 0
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 7
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 6
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 5
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 4
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 3
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 2
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 1
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 1
+ 0
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 7
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 6
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 5
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 4
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 3
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 2
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 1
+ Static_Alloc
+ 20
+ 20
+ 2048
+ 0
+
+
+ 0
+ 0
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 1
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 2
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 3
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 4
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 5
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 6
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 0
+ 7
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 0
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 1
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 2
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 3
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 4
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 5
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 6
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+ 1
+ 7
+ Static_Alloc
+ Normal
+ 20
+ 0
+ 128
+
+
+
+ false
+ false
+ false
+ 0
+ 8_words
+ false
+
+
+
+ TCAM_ROUTER_BASED
+ 0
+ MID_L3_MID_L2_NO_EM
+ true
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+ 511
+ FLEX
+
+ true
+ true
+ true
+ true
+
+ false
+ 01
+ 0
+
+
+
+
+
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5 b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5
new file mode 100644
index 0000000000..bd88f03a2e
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.md5
@@ -0,0 +1 @@
+079a2fcdb8fe1d1f0cf39e3c40e6dd36
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml
new file mode 100644
index 0000000000..f71d485bbe
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml
@@ -0,0 +1,346 @@
+
+
+
+
+
+ device-id-type
+ uint32
+ Device ID 0..1023
+ 0
+ 1023
+
+
+ port-id-type
+ uint32
+ Interface number
+ 0
+ 1023
+
+
+ logDest-type
+ enumeration
+ Logging Feature Options
+
+ SAI_LOG_SYSLOG
+ SYSLOG {Syslog service should be running to use this option}
+ 0
+
+
+ SAI_LOG_CONSOLE
+ CONSOLE
+ 1
+
+
+ SAI_LOG_FILE
+ FILE {Warning !!! Use with caution. Can cause disk full issues}
+ 2
+
+
+
+ log-dest-file-path-type
+ string
+ A string with path to file for logging feature
+ 2
+ 30
+
+
+ ASK-Board-ac5x-rd-32x1G-16x2_5G-6x25G.xml
+
+ false
+
+
+
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+
+ 2
+ 0
+ 2
+
+
+ 3
+ 0
+ 3
+
+
+ 4
+ 0
+ 4
+
+
+ 5
+ 0
+ 5
+
+
+ 6
+ 0
+ 6
+
+
+ 7
+ 0
+ 7
+
+
+ 8
+ 0
+ 8
+
+
+ 9
+ 0
+ 9
+
+
+ 10
+ 0
+ 10
+
+
+ 11
+ 0
+ 11
+
+
+ 12
+ 0
+ 12
+
+
+ 13
+ 0
+ 13
+
+
+ 14
+ 0
+ 14
+
+
+ 15
+ 0
+ 15
+
+
+ 16
+ 0
+ 16
+
+
+ 17
+ 0
+ 17
+
+
+ 18
+ 0
+ 18
+
+
+ 19
+ 0
+ 19
+
+
+ 20
+ 0
+ 20
+
+
+ 21
+ 0
+ 21
+
+
+ 22
+ 0
+ 22
+
+
+ 23
+ 0
+ 23
+
+
+ 24
+ 0
+ 24
+
+
+ 25
+ 0
+ 25
+
+
+ 26
+ 0
+ 26
+
+
+ 27
+ 0
+ 27
+
+
+ 28
+ 0
+ 28
+
+
+ 29
+ 0
+ 29
+
+
+ 30
+ 0
+ 30
+
+
+ 31
+ 0
+ 31
+
+
+ 32
+ 0
+ 32
+
+
+ 33
+ 0
+ 33
+
+
+ 34
+ 0
+ 34
+
+
+ 35
+ 0
+ 35
+
+
+ 36
+ 0
+ 36
+
+
+ 37
+ 0
+ 37
+
+
+ 38
+ 0
+ 38
+
+
+ 39
+ 0
+ 39
+
+
+ 40
+ 0
+ 40
+
+
+ 41
+ 0
+ 41
+
+
+ 42
+ 0
+ 42
+
+
+ 43
+ 0
+ 43
+
+
+ 44
+ 0
+ 44
+
+
+ 45
+ 0
+ 45
+
+
+ 46
+ 0
+ 46
+
+
+ 47
+ 0
+ 47
+
+
+ 48
+ 0
+ 48
+
+
+ 49
+ 0
+ 49
+
+
+ 50
+ 0
+ 50
+
+
+ 51
+ 0
+ 51
+
+
+ 52
+ 0
+ 52
+
+
+ 53
+ 0
+ 53
+
+
+
+ 8
+ 0
+ 0
+ 64
+ 8
+ 8
+ 1024
+ 0
+ 0
+
+
+
+ 0
+
+
+ 2048
+
+
+
+ SAI_LOG_SYSLOG
+
+
+
\ No newline at end of file
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/port_config.ini b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/port_config.ini
new file mode 100644
index 0000000000..3dd789a035
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/port_config.ini
@@ -0,0 +1,55 @@
+# name lanes alias speed autoneg fec index
+Ethernet0 0 oneGigE0 1000 on none 1
+Ethernet1 1 oneGigE1 1000 on none 2
+Ethernet2 2 oneGigE2 1000 on none 3
+Ethernet3 3 oneGigE3 1000 on none 4
+Ethernet4 4 oneGigE4 1000 on none 5
+Ethernet5 5 oneGigE5 1000 on none 6
+Ethernet6 6 oneGigE6 1000 on none 7
+Ethernet7 7 oneGigE7 1000 on none 8
+Ethernet8 8 oneGigE8 1000 on none 9
+Ethernet9 9 oneGigE9 1000 on none 10
+Ethernet10 10 oneGigE10 1000 on none 11
+Ethernet11 11 oneGigE11 1000 on none 12
+Ethernet12 12 oneGigE12 1000 on none 13
+Ethernet13 13 oneGigE13 1000 on none 14
+Ethernet14 14 oneGigE14 1000 on none 15
+Ethernet15 15 oneGigE15 1000 on none 16
+Ethernet16 16 oneGigE16 1000 on none 17
+Ethernet17 17 oneGigE17 1000 on none 18
+Ethernet18 18 oneGigE18 1000 on none 19
+Ethernet19 19 oneGigE19 1000 on none 20
+Ethernet20 20 oneGigE20 1000 on none 21
+Ethernet21 21 oneGigE21 1000 on none 22
+Ethernet22 22 oneGigE22 1000 on none 23
+Ethernet23 23 oneGigE23 1000 on none 24
+Ethernet24 24 oneGigE24 1000 on none 25
+Ethernet25 25 oneGigE25 1000 on none 26
+Ethernet26 26 oneGigE26 1000 on none 27
+Ethernet27 27 oneGigE27 1000 on none 28
+Ethernet28 28 oneGigE28 1000 on none 29
+Ethernet29 29 oneGigE29 1000 on none 30
+Ethernet30 30 oneGigE30 1000 on none 31
+Ethernet31 31 oneGigE31 1000 on none 32
+Ethernet32 32 twod5GigE32 2500 on rs 33
+Ethernet33 33 twod5GigE33 2500 on rs 34
+Ethernet34 34 twod5GigE34 2500 on rs 35
+Ethernet35 35 twod5GigE35 2500 on rs 36
+Ethernet36 36 twod5GigE36 2500 on rs 37
+Ethernet37 37 twod5GigE37 2500 on rs 38
+Ethernet38 38 twod5GigE38 2500 on rs 39
+Ethernet39 39 twod5GigE39 2500 on rs 40
+Ethernet40 40 twod5GigE40 2500 on rs 41
+Ethernet41 41 twod5GigE41 2500 on rs 42
+Ethernet42 42 twod5GigE42 2500 on rs 43
+Ethernet43 43 twod5GigE43 2500 on rs 44
+Ethernet44 44 twod5GigE44 2500 on rs 45
+Ethernet45 45 twod5GigE45 2500 on rs 46
+Ethernet46 46 twod5GigE46 2500 on rs 47
+Ethernet47 47 twod5GigE47 2500 on rs 48
+Ethernet48 48 twenty5GigE48 25000 off none 49
+Ethernet49 49 twenty5GigE49 25000 off none 50
+Ethernet50 50 twenty5GigE50 25000 off none 51
+Ethernet51 51 twenty5GigE51 25000 off none 52
+Ethernet52 52 twenty5GigE52 25000 off none 53
+Ethernet53 53 twenty5GigE53 25000 off none 54
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/profile.ini b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/profile.ini
new file mode 100644
index 0000000000..c2f77685ad
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/profile.ini
@@ -0,0 +1 @@
+switchMacAddress=00:01:02:03:04:05
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/sai.profile b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/sai.profile
new file mode 100644
index 0000000000..ab0ddef9c8
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/rd98DX35xx_cn9131/sai.profile
@@ -0,0 +1,4 @@
+mode=1
+hwId=AC5XRD
+switchProfile=/usr/share/sonic/hwsku/SAI-AC5X-RD-32x1G-16x2_5G-6x25G.xml
+SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/profile.ini
diff --git a/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/system_health_monitoring_config.json b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/system_health_monitoring_config.json
new file mode 100644
index 0000000000..79c17103bf
--- /dev/null
+++ b/device/marvell/arm64-marvell_rd98DX35xx_cn9131-r0/system_health_monitoring_config.json
@@ -0,0 +1,10 @@
+{
+ "services_to_ignore": [],
+ "devices_to_ignore": [
+ "asic",
+ "psu.temperature",
+ "fan",
+ "psu"
+ ],
+ "user_defined_checkers": []
+}
diff --git a/platform/marvell-arm64/one-image.mk b/platform/marvell-arm64/one-image.mk
index 225aad0b47..1aa36f2b1d 100644
--- a/platform/marvell-arm64/one-image.mk
+++ b/platform/marvell-arm64/one-image.mk
@@ -5,7 +5,9 @@ $(SONIC_ONE_IMAGE)_MACHINE = marvell-arm64
$(SONIC_ONE_IMAGE)_IMAGE_TYPE = onie
$(SONIC_ONE_IMAGE)_INSTALLS += $(SYSTEMD_SONIC_GENERATOR)
$(SONIC_ONE_IMAGE)_INSTALLS += $(MRVL_PRESTERA_DEB)
-$(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(NOKIA_7215_PLATFORM)
+$(SONIC_ONE_IMAGE)_LAZY_INSTALLS += $(NOKIA_7215_PLATFORM) \
+ $(AC5X_RD98DX35xx_PLATFORM) \
+ $(AC5X_RD98DX35xxCN9131_PLATFORM)
ifeq ($(INSTALL_DEBUG_TOOLS),y)
$(SONIC_ONE_IMAGE)_DOCKERS += $(SONIC_INSTALL_DOCKER_DBG_IMAGES)
$(SONIC_ONE_IMAGE)_DOCKERS += $(filter-out $(patsubst %-$(DBG_IMAGE_MARK).gz,%.gz, $(SONIC_INSTALL_DOCKER_DBG_IMAGES)), $(SONIC_INSTALL_DOCKER_IMAGES))
diff --git a/platform/marvell-arm64/platform-marvell.mk b/platform/marvell-arm64/platform-marvell.mk
new file mode 100644
index 0000000000..3f2ba3df09
--- /dev/null
+++ b/platform/marvell-arm64/platform-marvell.mk
@@ -0,0 +1,18 @@
+# Marvell Platform modules
+
+AC5X_RD98DX35xx_PLATFORM_MODULE_VERSION = 1.0
+AC5X_RD98DX35xxCN9131_PLATFORM_MODULE_VERSION = 1.0
+
+export AC5X_RD98DX35xx_PLATFORM_MODULE_VERSION
+export AC5X_RD98DX35xxCN9131_PLATFORM_MODULE_VERSION
+
+AC5X_RD98DX35xx_PLATFORM = sonic-platform-rd98dx35xx_$(AC5X_RD98DX35xx_PLATFORM_MODULE_VERSION)_$(CONFIGURED_ARCH).deb
+$(AC5X_RD98DX35xx_PLATFORM)_SRC_PATH = $(PLATFORM_PATH)/sonic-platform-marvell
+$(AC5X_RD98DX35xx_PLATFORM)_DEPENDS += $(LINUX_HEADERS) $(LINUX_HEADERS_COMMON)
+$(AC5X_RD98DX35xx_PLATFORM)_PLATFORM = arm64-marvell_rd98DX35xx-r0
+SONIC_DPKG_DEBS += $(AC5X_RD98DX35xx_PLATFORM)
+
+AC5X_RD98DX35xxCN9131_PLATFORM = sonic-platform-rd98dx35xx-cn9131_$(AC5X_RD98DX35xxCN9131_PLATFORM_MODULE_VERSION)_$(CONFIGURED_ARCH).deb
+$(AC5X_RD98DX35xxCN9131_PLATFORM)_PLATFORM = arm64-marvell_rd98DX35xx_cn9131-r0
+$(eval $(call add_extra_package,$(AC5X_RD98DX35xx_PLATFORM),$(AC5X_RD98DX35xxCN9131_PLATFORM)))
+
diff --git a/platform/marvell-arm64/platform.conf b/platform/marvell-arm64/platform.conf
index 9e2a0cd8ee..8a78164d93 100644
--- a/platform/marvell-arm64/platform.conf
+++ b/platform/marvell-arm64/platform.conf
@@ -27,9 +27,19 @@ fi
PLATFORM=`sed -n 's/^onie_platform=\(.*\)/\1/p' $MACH_FILE`
echo "Intalling SONiC from $install_env on Platform $PLATFORM"
+PLATFORM_AC5X=0
+PLATFORM_CN9131=0
+
case $PLATFORM in
- arm64-nokia_ixs7215_52xb-r0) PLATFORM_AC5X=1 ;;
- *) PLATFORM_AC5X=0;;
+ arm64-nokia_ixs7215_52xb-r0) PLATFORM_AC5X=1;
+ fdt_fname="/usr/lib/linux-image-${kernel_version}/marvell/7215-ixs-a1.dtb";
+ fit_conf_name="#conf_7215_a1";;
+ arm64-marvell_rd98DX35xx-r0) PLATFORM_AC5X=1;
+ fdt_fname="/usr/lib/linux-image-$kernel_version/marvell/ac5-98dx35xx-rd.dtb";
+ fit_conf_name="#conf_ac5x";;
+ arm64-marvell_rd98DX35xx_cn9131-r0) PLATFORM_CN9131=1;
+ fdt_fname="/boot/cn9131-db-comexpress.dtb";
+ fit_conf_name="#conf_cn9131";;
esac
if [ $PLATFORM_AC5X -eq 1 ]; then
@@ -37,11 +47,15 @@ if [ $PLATFORM_AC5X -eq 1 ]; then
fit_addr=0x210000000
initrd_addr=0x206000000
- fdt_fname="/usr/lib/linux-image-${kernel_version}/marvell/7215-ixs-a1.dtb"
-
FW_ENV_DEFAULT='/dev/mtd0 0x400000 0x10000 0x10000'
demo_part=2
- fit_conf_name="#conf_7215_a1"
+ mmc_bus="mmc0:0001"
+elif [ $PLATFORM_CN9131 -eq 1 ]; then
+ fdt_addr=0x1000000
+ fit_addr=0x8000000
+ initrd_addr=0x2000000
+ demo_part=2
+ FW_ENV_DEFAULT='/dev/mtd1 0x1F0000 0x10000 0x10000'
mmc_bus="mmc0:0001"
else
fdt_addr=0x1000000
diff --git a/platform/marvell-arm64/rules.mk b/platform/marvell-arm64/rules.mk
index 15d5071e1f..882a9451e9 100644
--- a/platform/marvell-arm64/rules.mk
+++ b/platform/marvell-arm64/rules.mk
@@ -7,6 +7,7 @@ include $(PLATFORM_PATH)/libsaithrift-dev.mk
include $(PLATFORM_PATH)/one-image.mk
include $(PLATFORM_PATH)/mrvl-prestera.mk
include $(PLATFORM_PATH)/platform-nokia.mk
+include $(PLATFORM_PATH)/platform-marvell.mk
SONIC_ALL += $(SONIC_ONE_IMAGE) \
$(DOCKER_FPM) \
diff --git a/platform/marvell-arm64/sonic-platform-marvell b/platform/marvell-arm64/sonic-platform-marvell
new file mode 160000
index 0000000000..c108e5e38e
--- /dev/null
+++ b/platform/marvell-arm64/sonic-platform-marvell
@@ -0,0 +1 @@
+Subproject commit c108e5e38e65d4d44520c52079a95a0a9262d6cc
diff --git a/platform/marvell-arm64/sonic_fit.its b/platform/marvell-arm64/sonic_fit.its
index c4be07c76f..b4c8ca8901 100644
--- a/platform/marvell-arm64/sonic_fit.its
+++ b/platform/marvell-arm64/sonic_fit.its
@@ -53,6 +53,44 @@
algo = "sha1";
};
};
+ kernel_1 {
+ description = "Linux Kernel";
+ data = /incbin/("/boot/vmlinuz-5.10.0-23-2-arm64");
+ type = "kernel";
+ arch = "arm64";
+ os = "linux";
+ compression = "none";
+ load = <0x2000000>;
+ entry = <0x2000000>;
+ hash@1 {
+ algo = "sha1";
+ };
+ };
+ ramdisk_1 {
+ description = "ramdisk";
+ data = /incbin/("/boot/initrd.img-5.10.0-23-2-arm64");
+ type = "ramdisk";
+ arch = "arm64";
+ os = "linux";
+ compression = "gzip";
+ load = <0x6000000>;
+ entry = <0x6000000>;
+ hash@1 {
+ algo = "sha1";
+ };
+ };
+ fdt_cn9131 {
+ description = "Flattened Device Tree blob";
+ data = /incbin/("/boot/cn9131-db-comexpress.dtb");
+ type = "flat_dt";
+ arch = "arm64";
+ compression = "none";
+ load = <0x1000000>;
+ entry = <0x1000000>;
+ hash@1 {
+ algo = "sha1";
+ };
+ };
};
configurations {
default = "conf_ac5x";
@@ -74,5 +112,14 @@
algo = "sha1";
};
};
- };
+ conf_cn9131 {
+ description = "Boot Linux kernel with FDT blob + ramdisk for CN9131";
+ kernel = "kernel_1";
+ fdt = "fdt_cn9131";
+ ramdisk = "ramdisk_1";
+ hash@1 {
+ algo = "sha1";
+ };
+ };
+ };
};