[Mellanox] Add support for SN2201 platform (#9333)

- Why I did it
Add support for SN2201 platform

- How I did it
Add required content for SN2201 platform
Note: still missing kernel driver support for this system. Once all is upstream will be updated as well.

- How to verify it
Install and basic sanity tests including traffic.

Signed-off-by: liora liora@nvidia.com
This commit is contained in:
Lior Avramov 2021-12-06 14:47:50 +02:00 committed by Judy Joseph
parent 82832375c2
commit 2c6af8432b
34 changed files with 1392 additions and 3 deletions

View File

@ -60,9 +60,9 @@ platform_dict = {'x86_64-mlnx_msn2700-r0': 0, 'x86_64-mlnx_msn2740-r0': 0, 'x86_
'x86_64-mlnx_msn2410-r0': 2, 'x86_64-mlnx_msn2010-r0': 3, 'x86_64-mlnx_msn3420-r0': 5,
'x86_64-mlnx_msn3700-r0': 0, 'x86_64-mlnx_msn3700c-r0': 0, 'x86_64-mlnx_msn3800-r0': 4,
'x86_64-mlnx_msn4410-r0': 0, 'x86_64-mlnx_msn4600-r0': 4, 'x86_64-mlnx_msn4600c-r0': 4,
'x86_64-mlnx_msn4700-r0': 0}
'x86_64-mlnx_msn4700-r0': 0, 'x86_64-nvidia_sn2201-r0': 6}
port_position_tuple_list = [(0, 0, 31, 32, 1), (0, 0, 15, 16, 1), (0, 48, 55, 56, 1),
(0, 18, 21, 22, 1), (0, 0, 63, 64, 1), (0, 48, 59, 60, 1)]
(0, 18, 21, 22, 1), (0, 0, 63, 64, 1), (0, 48, 59, 60, 1), (0, 48, 51, 52, 1)]
def log_info(msg, also_print_to_console=False):

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers.json.j2

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t0.j2

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_defaults_t1.j2

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/buffers_dynamic.json.j2

View File

@ -0,0 +1,160 @@
{
"interfaces": {
"Ethernet0": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet1": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet2": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet3": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet4": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet5": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet6": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet7": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet8": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet9": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet10": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet11": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet12": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet13": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet14": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet15": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet16": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet17": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet18": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet19": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet20": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet21": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet22": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet23": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet24": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet25": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet26": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet27": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet28": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet29": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet30": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet31": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet32": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet33": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet34": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet35": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet36": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet37": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet38": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet39": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet40": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet41": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet42": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet43": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet44": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet45": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet46": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet47": {
"default_brkout_mode": "1x1G[100]"
},
"Ethernet48": {
"default_brkout_mode": "1x100G[50G,40G,25G,10G]"
},
"Ethernet52": {
"default_brkout_mode": "1x100G[50G,40G,25G,10G]"
},
"Ethernet56": {
"default_brkout_mode": "1x100G[50G,40G,25G,10G]"
},
"Ethernet60": {
"default_brkout_mode": "1x100G[50G,40G,25G,10G]"
}
}
}

View File

@ -0,0 +1,40 @@
##
## Copyright (c) 2018-2021 NVIDIA CORPORATION & AFFILIATES.
## Apache-2.0
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
# PG lossless profiles.
# speed cable size xon xoff threshold
100 5m 49152 19456 29696 0
1000 5m 49152 19456 29696 0
10000 5m 49152 19456 29696 0
25000 5m 49152 19456 29696 0
40000 5m 49152 19456 29696 0
50000 5m 49152 19456 29696 0
100000 5m 50176 19456 30720 0
100 40m 49152 19456 29696 0
1000 40m 49152 19456 29696 0
10000 40m 49152 19456 29696 0
25000 40m 51200 19456 31744 0
40000 40m 52224 19456 32768 0
50000 40m 53248 19456 33792 0
100000 40m 58368 19456 38912 0
100 300m 56320 19456 29696 0
1000 300m 56320 19456 29696 0
10000 300m 56320 19456 36864 0
25000 300m 67584 19456 48128 0
40000 300m 78848 19456 59392 0
50000 300m 86016 19456 66560 0
100000 300m 123904 19456 104448 0

View File

@ -0,0 +1,70 @@
##
## Copyright (c) 2021 NVIDIA CORPORATION & AFFILIATES.
## Apache-2.0
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
# name lanes alias index speed
Ethernet0 0 etp1 1 1000
Ethernet1 4 etp2 2 1000
Ethernet2 8 etp3 3 1000
Ethernet3 12 etp4 4 1000
Ethernet4 16 etp5 5 1000
Ethernet5 20 etp6 6 1000
Ethernet6 24 etp7 7 1000
Ethernet7 28 etp8 8 1000
Ethernet8 32 etp9 9 1000
Ethernet9 36 etp10 10 1000
Ethernet10 40 etp11 11 1000
Ethernet11 44 etp12 12 1000
Ethernet12 48 etp13 13 1000
Ethernet13 52 etp14 14 1000
Ethernet14 56 etp15 15 1000
Ethernet15 60 etp16 16 1000
Ethernet16 64 etp17 17 1000
Ethernet17 68 etp18 18 1000
Ethernet18 72 etp19 19 1000
Ethernet19 76 etp20 20 1000
Ethernet20 80 etp21 21 1000
Ethernet21 84 etp22 22 1000
Ethernet22 88 etp23 23 1000
Ethernet23 92 etp24 24 1000
Ethernet24 96 etp25 25 1000
Ethernet25 100 etp26 26 1000
Ethernet26 104 etp27 27 1000
Ethernet27 108 etp28 28 1000
Ethernet28 112 etp29 29 1000
Ethernet29 116 etp30 30 1000
Ethernet30 120 etp31 31 1000
Ethernet31 124 etp32 32 1000
Ethernet32 128 etp33 33 1000
Ethernet33 132 etp34 34 1000
Ethernet34 136 etp35 35 1000
Ethernet35 140 etp36 36 1000
Ethernet36 144 etp37 37 1000
Ethernet37 148 etp38 38 1000
Ethernet38 152 etp39 39 1000
Ethernet39 156 etp40 40 1000
Ethernet40 160 etp41 41 1000
Ethernet41 164 etp42 42 1000
Ethernet42 168 etp43 43 1000
Ethernet43 172 etp44 44 1000
Ethernet44 176 etp45 45 1000
Ethernet45 180 etp46 46 1000
Ethernet46 184 etp47 47 1000
Ethernet47 188 etp48 48 1000
Ethernet48 192,193,194,195 etp49 49 100000
Ethernet52 196,197,198,199 etp50 50 100000
Ethernet56 200,201,202,203 etp51 51 100000
Ethernet60 204,205,206,207 etp52 52 100000

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/ACS-MSN2700/qos.json.j2

View File

@ -0,0 +1,3 @@
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/sai_2201.xml
SAI_DUMP_STORE_PATH=/var/log/mellanox/sdk-dumps
SAI_DUMP_STORE_AMOUNT=10

View File

@ -0,0 +1,402 @@
<?xml version="1.0"?>
<!--
Copyright (c) 2019-2021 NVIDIA CORPORATION & AFFILIATES.
Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<root>
<platform_info type="2201">
<!-- Device MAC address -->
<device-mac-address>00:02:03:04:05:00</device-mac-address>
<!-- ISSU enabled -->
<issu-enabled>1</issu-enabled>
<!-- Number of ports in the following port list -->
<number-of-physical-ports>52</number-of-physical-ports>
<!-- List of ports in the device -->
<ports-list>
<port-info>
<local-port>61</local-port>
<width>1</width>
<module>0</module>
<!-- 0 none, 1=2, 2=4, 3=2,4 -->
<breakout-modes>0</breakout-modes>
<!-- (BITMASK) 3 - 1Gb, 28700 - 10Gb , 939524096 - 25Gb , 98368 - 40Gb , 3221225472 - 50Gb , 11534336 - 100Gb-->
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>62</local-port>
<width>1</width>
<module>1</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>63</local-port>
<width>1</width>
<module>2</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>64</local-port>
<width>1</width>
<module>3</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>57</local-port>
<width>1</width>
<module>4</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>58</local-port>
<width>1</width>
<module>5</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>59</local-port>
<width>1</width>
<module>6</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>60</local-port>
<width>1</width>
<module>7</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>53</local-port>
<width>1</width>
<module>8</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>54</local-port>
<width>1</width>
<module>9</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>55</local-port>
<width>1</width>
<module>10</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>56</local-port>
<width>1</width>
<module>11</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>49</local-port>
<width>1</width>
<module>12</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>50</local-port>
<width>1</width>
<module>13</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>51</local-port>
<width>1</width>
<module>14</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>52</local-port>
<width>1</width>
<module>15</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>45</local-port>
<width>1</width>
<module>16</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>46</local-port>
<width>1</width>
<module>17</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>47</local-port>
<width>1</width>
<module>18</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>48</local-port>
<width>1</width>
<module>19</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>41</local-port>
<width>1</width>
<module>20</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>42</local-port>
<width>1</width>
<module>21</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>43</local-port>
<width>1</width>
<module>22</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>44</local-port>
<width>1</width>
<module>23</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>37</local-port>
<width>1</width>
<module>24</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>38</local-port>
<width>1</width>
<module>25</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>39</local-port>
<width>1</width>
<module>26</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>40</local-port>
<width>1</width>
<module>27</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>33</local-port>
<width>1</width>
<module>28</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>34</local-port>
<width>1</width>
<module>29</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>35</local-port>
<width>1</width>
<module>30</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>36</local-port>
<width>1</width>
<module>31</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>1</local-port>
<width>1</width>
<module>32</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>2</local-port>
<width>1</width>
<module>33</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>3</local-port>
<width>1</width>
<module>34</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>4</local-port>
<width>1</width>
<module>35</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>5</local-port>
<width>1</width>
<module>36</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>6</local-port>
<width>1</width>
<module>37</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>17</local-port>
<width>1</width>
<module>38</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>18</local-port>
<width>1</width>
<module>39</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>19</local-port>
<width>1</width>
<module>40</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>20</local-port>
<width>1</width>
<module>41</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>21</local-port>
<width>1</width>
<module>42</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>22</local-port>
<width>1</width>
<module>43</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>23</local-port>
<width>1</width>
<module>44</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>24</local-port>
<width>1</width>
<module>45</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>25</local-port>
<width>1</width>
<module>46</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>26</local-port>
<width>1</width>
<module>47</module>
<breakout-modes>0</breakout-modes>
<port-speed>3</port-speed>
</port-info>
<port-info>
<local-port>9</local-port>
<width>4</width>
<module>48</module>
<breakout-modes>3</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>7</local-port>
<width>4</width>
<module>49</module>
<breakout-modes>3</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>13</local-port>
<width>4</width>
<module>50</module>
<breakout-modes>3</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
<port-info>
<local-port>11</local-port>
<width>4</width>
<module>51</module>
<breakout-modes>3</breakout-modes>
<port-speed>11534336</port-speed>
</port-info>
</ports-list>
</platform_info>
</root>

View File

@ -0,0 +1 @@
ACS-MSN2201 t1

View File

@ -0,0 +1 @@
ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="acpi_enforce_resources=lax"

View File

@ -0,0 +1,152 @@
##
## Copyright (c) 2021 NVIDIA CORPORATION & AFFILIATES.
## Apache-2.0
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
- bus: '00'
dev: '00'
fn: '0'
id: '1980'
name: 'Host bridge: Intel Corporation Device (rev 11)'
- bus: '00'
dev: '04'
fn: '0'
id: '19a1'
name: 'Host bridge: Intel Corporation Device (rev 11)'
- bus: '00'
dev: '05'
fn: '0'
id: '19a2'
name: 'Generic system peripheral: Intel Corporation Device (rev 11)'
- bus: '00'
dev: '06'
fn: '0'
id: '19a3'
name: 'PCI bridge: Intel Corporation Device (rev 11)'
- bus: '00'
dev: '09'
fn: '0'
id: '19a4'
name: 'PCI bridge: Intel Corporation Device (rev 11)'
- bus: '00'
dev: '0b'
fn: '0'
id: '19a6'
name: 'PCI bridge: Intel Corporation Device (rev 11)'
- bus: '00'
dev: '0f'
fn: '0'
id: '19a9'
name: 'PCI bridge: Intel Corporation Device (rev 11)'
- bus: '00'
dev: '10'
fn: '0'
id: '19aa'
name: 'PCI bridge: Intel Corporation Device (rev 11)'
- bus: '00'
dev: 11
fn: '0'
id: '19ab'
name: 'PCI bridge: Intel Corporation Device (rev 11)'
- bus: '00'
dev: 12
fn: '0'
id: 19ac
name: 'System peripheral: Intel Corporation DNV SMBus Contoller - Host (rev 11)'
- bus: '00'
dev: 15
fn: '0'
id: 19d0
name: 'USB controller: Intel Corporation Device (rev 11)'
- bus: '00'
dev: 16
fn: '0'
id: 19d1
name: 'PCI bridge: Intel Corporation Device (rev 11)'
- bus: '00'
dev: 17
fn: '0'
id: 19d2
name: 'PCI bridge: Intel Corporation Device (rev 11)'
- bus: '00'
dev: 18
fn: '0'
id: 1973
name: 'Communication controller: Intel Corporation Device (rev 11)'
- bus: '00'
dev: 1c
fn: '0'
id: 19db
name: 'SD Host controller: Intel Corporation Device (rev 11)'
- bus: '00'
dev: 1f
fn: '0'
id: 19dc
name: 'ISA bridge: Intel Corporation DNV LPC or eSPI (rev 11)'
- bus: '00'
dev: 1f
fn: '2'
id: 197e
name: 'Memory controller: Intel Corporation Device (rev 11)'
- bus: '00'
dev: '1f'
fn: '4'
id: 19df
name: 'SMBus: Intel Corporation DNV SMBus controller (rev 11)'
- bus: '00'
dev: '1f'
fn: '5'
id: 19e0
name: 'Serial bus controller: Intel Corporation DNV SPI Controller (rev 11)'
- bus: '01'
dev: '00'
fn: '0'
id: 19e2
name: 'Co-processor: Intel Corporation Device (rev 11)'
- bus: '02'
dev: '00'
fn: '0'
id: 0026
name: 'Non-Volatile memory controller: Device (rev 03)'
- bus: '03'
dev: '00'
fn: '0'
id: cb84
name: 'Ethernet controller: Mellanox Technologies MT52100'
- bus: '06'
dev: '00'
fn: '0'
id: 1533
name: 'Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)'
- bus: '07'
dev: '00'
fn: '0'
id: 15c3
name: 'Ethernet controller: Intel Corporation Device (rev 11)'
- bus: '07'
dev: '00'
fn: '1'
id: 15c3
name: 'Ethernet controller: Intel Corporation Device (rev 11)'
- bus: '08'
dev: '00'
fn: '0'
id: 15c3
name: 'Ethernet controller: Intel Corporation Device (rev 11)'
- bus: '08'
dev: '00'
fn: '1'
id: 15c3
name: 'Ethernet controller: Intel Corporation Device (rev 11)'

View File

@ -0,0 +1,479 @@
{
"chassis": {
"name": "SN2201",
"components": [{
"name": "ONIE"
},
{
"name": "SSD"
},
{
"name": "BIOS"
},
{
"name": "CPLD1"
},
{
"name": "CPLD2"
}
],
"fans": [{
"name": "fan1"
},
{
"name": "fan2"
},
{
"name": "fan3"
},
{
"name": "fan4"
}
],
"psus": [
{
"name": "PSU 1",
"fans": [
{
"name": "psu1_fan1"
}
],
"thermals": [
{
"name": "PSU-1 Temp"
}
]
},
{
"name": "PSU 2",
"fans": [
{
"name": "psu2_fan1"
}
],
"thermals": [
{
"name": "PSU-2 Temp"
}
]
}
],
"thermals": [
{
"name": "Ambient Port Side Temp"
},
{
"name": "Ambient Fan Side Temp"
},
{
"name": "CPU Pack Temp"
},
{
"name": "CPU Core 0 Temp"
},
{
"name": "CPU Core 1 Temp"
},
{
"name": "ASIC"
}
],
"sfps": [{
"name": "sfp1",
"thermals": [{
"name": "xSFP module 1 Temp"
}]
},
{
"name": "sfp2",
"thermals": [{
"name": "xSFP module 2 Temp"
}]
},
{
"name": "sfp3",
"thermals": [{
"name": "xSFP module 3 Temp"
}]
},
{
"name": "sfp4",
"thermals": [{
"name": "xSFP module 4 Temp"
}]
}
]
},
"interfaces": {
"Ethernet0": {
"index": "1",
"lanes": "0",
"breakout_modes": {
"1x1G[100]": ["etp1"]
}
},
"Ethernet1": {
"index": "2",
"lanes": "4",
"breakout_modes": {
"1x1G[100]": ["etp2"]
}
},
"Ethernet2": {
"index": "3",
"lanes": "8",
"breakout_modes": {
"1x1G[100]": ["etp3"]
}
},
"Ethernet3": {
"index": "4",
"lanes": "12",
"breakout_modes": {
"1x1G[100]": ["etp4"]
}
},
"Ethernet4": {
"index": "5",
"lanes": "16",
"breakout_modes": {
"1x1G[100]": ["etp5"]
}
},
"Ethernet5": {
"index": "6",
"lanes": "20",
"breakout_modes": {
"1x1G[100]": ["etp6"]
}
},
"Ethernet6": {
"index": "7",
"lanes": "24",
"breakout_modes": {
"1x1G[100]": ["etp7"]
}
},
"Ethernet7": {
"index": "8",
"lanes": "28",
"breakout_modes": {
"1x1G[100]": ["etp8"]
}
},
"Ethernet8": {
"index": "9",
"lanes": "32",
"breakout_modes": {
"1x1G[100]": ["etp9"]
}
},
"Ethernet9": {
"index": "10",
"lanes": "36",
"breakout_modes": {
"1x1G[100]": ["etp10"]
}
},
"Ethernet10": {
"index": "11",
"lanes": "40",
"breakout_modes": {
"1x1G[100]": ["etp11"]
}
},
"Ethernet11": {
"index": "12",
"lanes": "44",
"breakout_modes": {
"1x1G[100]": ["etp12"]
}
},
"Ethernet12": {
"index": "13",
"lanes": "48",
"breakout_modes": {
"1x1G[100]": ["etp13"]
}
},
"Ethernet13": {
"index": "14",
"lanes": "52",
"breakout_modes": {
"1x1G[100]": ["etp14"]
}
},
"Ethernet14": {
"index": "15",
"lanes": "56",
"breakout_modes": {
"1x1G[100]": ["etp15"]
}
},
"Ethernet15": {
"index": "16",
"lanes": "60",
"breakout_modes": {
"1x1G[100]": ["etp16"]
}
},
"Ethernet16": {
"index": "17",
"lanes": "64",
"breakout_modes": {
"1x1G[100]": ["etp17"]
}
},
"Ethernet17": {
"index": "18",
"lanes": "68",
"breakout_modes": {
"1x1G[100]": ["etp18"]
}
},
"Ethernet18": {
"index": "19",
"lanes": "72",
"breakout_modes": {
"1x1G[100]": ["etp19"]
}
},
"Ethernet19": {
"index": "20",
"lanes": "76",
"breakout_modes": {
"1x1G[100]": ["etp20"]
}
},
"Ethernet20": {
"index": "21",
"lanes": "80",
"breakout_modes": {
"1x1G[100]": ["etp21"]
}
},
"Ethernet21": {
"index": "22",
"lanes": "84",
"breakout_modes": {
"1x1G[100]": ["etp22"]
}
},
"Ethernet22": {
"index": "23",
"lanes": "88",
"breakout_modes": {
"1x1G[100]": ["etp23"]
}
},
"Ethernet23": {
"index": "24",
"lanes": "92",
"breakout_modes": {
"1x1G[100]": ["etp24"]
}
},
"Ethernet24": {
"index": "25",
"lanes": "96",
"breakout_modes": {
"1x1G[100]": ["etp25"]
}
},
"Ethernet25": {
"index": "26",
"lanes": "100",
"breakout_modes": {
"1x1G[100]": ["etp26"]
}
},
"Ethernet26": {
"index": "27",
"lanes": "104",
"breakout_modes": {
"1x1G[100]": ["etp27"]
}
},
"Ethernet27": {
"index": "28",
"lanes": "108",
"breakout_modes": {
"1x1G[100]": ["etp28"]
}
},
"Ethernet28": {
"index": "29",
"lanes": "112",
"breakout_modes": {
"1x1G[100]": ["etp29"]
}
},
"Ethernet29": {
"index": "30",
"lanes": "116",
"breakout_modes": {
"1x1G[100]": ["etp30"]
}
},
"Ethernet30": {
"index": "31",
"lanes": "120",
"breakout_modes": {
"1x1G[100]": ["etp31"]
}
},
"Ethernet31": {
"index": "32",
"lanes": "124",
"breakout_modes": {
"1x1G[100]": ["etp32"]
}
},
"Ethernet32": {
"index": "33",
"lanes": "128",
"breakout_modes": {
"1x1G[100]": ["etp33"]
}
},
"Ethernet33": {
"index": "34",
"lanes": "132",
"breakout_modes": {
"1x1G[100]": ["etp34"]
}
},
"Ethernet34": {
"index": "35",
"lanes": "136",
"breakout_modes": {
"1x1G[100]": ["etp35"]
}
},
"Ethernet35": {
"index": "36",
"lanes": "140",
"breakout_modes": {
"1x1G[100]": ["etp36"]
}
},
"Ethernet36": {
"index": "37",
"lanes": "144",
"breakout_modes": {
"1x1G[100]": ["etp37"]
}
},
"Ethernet37": {
"index": "38",
"lanes": "148",
"breakout_modes": {
"1x1G[100]": ["etp38"]
}
},
"Ethernet38": {
"index": "39",
"lanes": "152",
"breakout_modes": {
"1x1G[100]": ["etp39"]
}
},
"Ethernet39": {
"index": "40",
"lanes": "156",
"breakout_modes": {
"1x1G[100]": ["etp40"]
}
},
"Ethernet40": {
"index": "41",
"lanes": "160",
"breakout_modes": {
"1x1G[100]": ["etp41"]
}
},
"Ethernet41": {
"index": "42",
"lanes": "164",
"breakout_modes": {
"1x1G[100]": ["etp42"]
}
},
"Ethernet42": {
"index": "43",
"lanes": "168",
"breakout_modes": {
"1x1G[100]": ["etp43"]
}
},
"Ethernet43": {
"index": "44",
"lanes": "172",
"breakout_modes": {
"1x1G[100]": ["etp44"]
}
},
"Ethernet44": {
"index": "45",
"lanes": "176",
"breakout_modes": {
"1x1G[100]": ["etp45"]
}
},
"Ethernet45": {
"index": "46",
"lanes": "180",
"breakout_modes": {
"1x1G[100]": ["etp46"]
}
},
"Ethernet46": {
"index": "47",
"lanes": "184",
"breakout_modes": {
"1x1G[100]": ["etp47"]
}
},
"Ethernet47": {
"index": "48",
"lanes": "188",
"breakout_modes": {
"1x1G[100]": ["etp48"]
}
},
"Ethernet48": {
"index": "49,49,49,49",
"lanes": "192,193,194,195",
"breakout_modes": {
"1x100G[50G,40G,25G,10G]": ["etp49"],
"2x50G[25G,10G]": ["etp49a", "etp49b"]
}
},
"Ethernet52": {
"index": "50,50,50,50",
"lanes": "196,197,198,199",
"breakout_modes": {
"1x100G[50G,40G,25G,10G]": ["etp50"],
"2x50G[25G,10G]": ["etp50a", "etp50b"]
}
},
"Ethernet56": {
"index": "51,51,51,51",
"lanes": "200,201,202,203",
"breakout_modes": {
"1x100G[50G,40G,25G,10G]": ["etp51"],
"2x50G[25G,10G]": ["etp51a", "etp51b"]
}
},
"Ethernet60": {
"index": "52,52,52,52",
"lanes": "204,205,206,207",
"breakout_modes": {
"1x100G[50G,40G,25G,10G]": ["etp52"],
"2x50G[25G,10G]": ["etp52a", "etp52b"]
}
}
}
}

View File

@ -0,0 +1 @@
mellanox

View File

@ -0,0 +1 @@
../x86_64-mlnx_msn2700-r0/platform_reboot

View File

@ -0,0 +1 @@
../x86_64-mlnx_msn2700-r0/platform_wait

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/eeprom.py

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/fanutil.py

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/psuutil.py

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/sfplpmget.py

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/sfplpmset.py

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/sfpreset.py

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/sfputil.py

View File

@ -0,0 +1 @@
../../x86_64-mlnx_msn2700-r0/plugins/thermalutil.py

View File

@ -0,0 +1 @@
../x86_64-mlnx_msn2700-r0/pmon_daemon_control.json

View File

@ -0,0 +1,47 @@
################################################################################
# Copyright (c) 2021, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# Platform specific sensors config for SN2201
################################################################################
# Fan Controller emc2305.
bus "i2c-7" "i2c-1-mux (chan_id 5)"
chip "emc2305-i2c-7-4d"
ignore fan5
# Temperature sensors
chip "coretemp-isa-0000"
label temp8 "Core 0"
label temp14 "Core 1"
bus "i2c-2" "i2c-1-mux (chan_id 0)"
chip "lm75-i2c-*-4a"
label temp1 "Ambient Switch Board Temp"
bus "i2c-2" "i2c-1-mux (chan_id 0)"
chip "lm75-i2c-*-4b"
label temp1 "Ambient Port side Temp"
bus "i2c-7" "i2c-1-mux (chan_id 5)"
chip "lm75-i2c-*-49"
label temp1 "Ambient Fan side Temp"
bus "i2c-8" "i2c-1-mux (chan_id 6)"
chip "lm75-i2c-*-4f"
label temp1 "Ambient CPU Board Temp"
# Power controllers
bus "i2c-9" "i2c-1-mux (chan_id 7)"
chip "pmbus-i2c-*-40"
ignore curr3
ignore in3
ignore power3
bus "i2c-2" "i2c-1-mux (chan_id 0)"
chip "ads1015-i2c-*-49"
ignore in1
ignore in2
ignore in4
ignore in5
ignore in6
ignore in7

View File

@ -0,0 +1 @@
../x86_64-mlnx_msn2700-r0/system_health_monitoring_config.json

View File

@ -0,0 +1 @@
../x86_64-mlnx_msn2700-r0/thermal_policy.json

View File

@ -40,6 +40,7 @@
'x86_64-mlnx_msn4700-r0':'MELLANOX-SPECTRUM-3',
'x86_64-mlnx_msn4600c-r0':'MELLANOX-SPECTRUM-3',
'x86_64-mlnx_msn4600-r0':'MELLANOX-SPECTRUM-3',
'x86_64-nvidia_sn2201-r0':'MELLANOX-SPECTRUM',
'vs-platform':'vs'
}
%}

View File

@ -63,7 +63,6 @@ REBOOT_CAUSE_FILE_LENGTH = 1
# Global logger class instance
logger = Logger()
class Chassis(ChassisBase):
"""Platform-specific Chassis class"""

View File

@ -153,6 +153,13 @@ DEVICE_DATA = {
'sfp': {
'max_port_per_line_card': 16
}
},
'x86_64-nvidia_sn2201-r0': {
'thermal': {
"capability": {
"comex_amb": False
}
}
}
}

View File

@ -109,6 +109,14 @@ THERMAL_NAMING_RULE = {
"high_threshold": "mlxsw-gearbox{}/temp_trip_hot",
"high_critical_threshold": "mlxsw-gearbox{}/temp_trip_crit",
"type": "indexable"
},
{
"name": "Ambient CPU Board Temp",
"temperature": "cpu_amb"
},
{
"name": "Ambient Switch Board Temp",
"temperature": "swb_amb"
}
],
'linecard thermals': {