blob: b38ed6f9eda717d4a3990ecd03b9b56e58096b71 [file] [log] [blame]
Shad Ansari2f7f9be2017-06-07 13:34:53 -07001# $Id: rc.soc,v 1.192 2013/07/17 22:13:43 dkelley Exp $
2# $Copyright: (c) 1998-2001 Broadcom Corp.
3# All Rights Reserved.$
4#
5# Initialization RC (run commands) file
6#
7# These are default commands that are read and executed by default
8# when BCM boots up. Typically this file is called rc.soc and resides
9# in the flash filesystem, NVRAM, or disk.
10#
11# Board Configuration Setting
12#
13# This file uses configuration properties to know on which board
14# it is running. Currently one of following settings must be made:
15#
16# BCM95670K8 config add herc8=1
17# BCM95690K24 config add draco_b2b=1
18# BCM95690K24S config add draco_stk=1
19# BCM95690R24 config add galahad=1
20# BCM95690R24S config add merlin=1
21# BCM95690R48S config add lancelot=1
22# BCM95691K12 config add draco_k12=1
23# White Knight config add white_knight=1 (not shipping)
24# Black Knight config add black_knight=1 (not shipping)
25# BCM95673K2S config add twolynx=1
26# BCM95673R8 config add herculynx=1
27# BCM95673R24S config add lynxalittle=1
28# BCM95673R48S config add lynxalot=1
29# BCM95695P24SX_10 config add guenevere=1
30# BCM95650K24 config add magnum=1 (automatic for 5650L)
31# BCM95675 config add herc8_15=1
32# BCM95650R24 config add tuc24_ref=1
33# BCM95695P48LM config add lm48p=1
34# BCM95695P48LM-10 config add lm48p_B=1
35# BCM956504P48LM-10 config add lm48p_C=1
36# BCM956504P48LM-20 config add lm48p_C=1
37# BCM956504P48LM-50 config add lm48p_D=1
38# BCM956504P48POEREF config add fbpoe=1
39# BCM956504P24REF P0 config add fb24=1
40# BCM956504P24 P0 config add fb24=1
41# BCM956102P48 config add felix48=1
42# BCM953300P24REF config add mirage24=1
43# BCM956800K20C config add bradley_1g=1
44# BCM956700K16 config add humv=1
45# BCM956800K20 config add bradley=1
46# BCM956580K16 config add goldwing=1
47# BCM956314P24REF config add bcm56314p24ref=1
48# BCM956024P48REF config add BCM956024P48REF=1
49# BCM956224P48REF config add BCM956224P48REF=1
50# BCM956224R50T config add BCM956224R50T=1
51# BCM956024R50T config add BCM956024R50T=1
52# BCM56820K24XG config add BCM56820K24XG=1
53# BCM953314R24GS config add BCM953314R24GS=1
54# BCM953314K24 config add BCM953314K24=1
55# BCM956820R24XG config add BCM956820R24XG=1
56# BCM956160R config add bcm956160r=1
57
58if $?BCM56146_A0 \
59 'local BCM56146 1'
60
61if $?BCM56147_A0 \
62 'local BCM56147 1'
63
64
65if $?1 "echo rc: arguments not supported; exit"
66if !$?unit "echo rc: no current unit; exit"
67
68echo "rc: unit $unit device $devname"
69local quiet no
70local echo echo
71local rcdone \$rc$unit
72if !"expr $rcdone + 0" "local echo noecho; local quiet yes"
73
74# Set convenience local variables
75
76# simulation related
77#if $?plisim \
78# "local no_bcm 1"
79if $?quickturn || $?plisim \
80 "local simulator 1"
81
82if $?simulator \
83 'echo -n "Chip init starts at: ";date'
84
85# board related
86if $?galahad \
87 "local draco_b2b 1"
88if $?black_knight || $?white_knight || $?merlin \
89 "local draco_herc4 1"
90
91#if $?QUX_A0 \
92# 'echo blablabla;der 0x40 4 ; exit'
93
94if $?FLAIR_A0 \
95 'echo blablabla;der 0x40 4 ; exit'
96
97if $?BCM88750_A0 || $?BCM88750_B0 || $?BCM88753_A0 || $?BCM88753_B0 || $?BCM88752_A0 || $?BCM88752_B0 || $?BCM88755_B0 || $?BCM88754_A0 || $?BCM88770_A1 || $?BCM88773_A1 || $?BCM88774_A1 || $?BCM88775_A1 || $?BCM88776_A1 || $?BCM88777_A1 || $?BCM88950_A0 || $?BCM88950_A1 || $?BCM88953_A1 || $?BCM88954_A1 || $?BCM88955_A1 || $?BCM88956_A1 || $?BCM88952_A0 || $?BCM88952_A1 || $?BCM88772_A1 \
98 'rcload dfe.soc ; exit'
99
100if $?BCM88790_A0 \
101 'rcload dnxf.soc ; exit'
102
103if $?ARAD_A0 || $?ARAD_B0 || $?ARAD_B1 || $?ARADPLUS_A0 || $?BCM88650_A0 || $?BCM88650_B0 || $?BCM88650_B1 || $?BCM88652_A0 || $?BCM88652_B0 || $?BCM88350_B1 || $?BCM88351_B1 || \
104 $?BCM88450_B1 || $?BCM88451_B1 || $?BCM88550_B1 || $?BCM88551_B1 || $?BCM88552_B1 || $?BCM88651_B1 || $?BCM88654_B1 || $?BCM88660_A0 || $?BCM88360_A0 || $?BCM88361_A0 || $?BCM88363_A0 ||\
105 $?BCM88460_A0 || $?BCM88461_A0 || $?BCM88560_A0 || $?BCM88561_A0 || $?BCM88562_A0 || $?BCM88661_A0 || $?BCM88664_A0 \
106 'rcload arad.soc ; exit'
107
108if $?BCM83207_A0 \
109 'rcload samar.soc ; exit'
110if $?BCM83208_A0 \
111 'rcload sinai.soc ; exit'
112
113if $?QAX_A0 || $?BCM88470_A0 || $?BCM88471_A0 || $?BCM88473_A0 || $?BCM88474_A0 || $?BCM88474H_A0 || $?BCM88476_A0 || $?BCM88477_A0 || \
114 $?QAX_B0 || $?BCM88470_B0 || $?BCM88471_B0 || $?BCM88473_B0 || $?BCM88474_B0 || $?BCM88474H_B0 || $?BCM88476_B0 || $?BCM88477_B0 \
115 'setenv QAX 1'
116
117if $?QUX_A0 || $?BCM88270_A0 \
118 'setenv QUX 1'
119
120if $?JERICHO_A0 || $?BCM88670_A0 || $?BCM88671_A0 || $?BCM88671M_A0 || $?BCM88672_A0 || $?BCM88673_A0 || $?BCM88674_A0 || $?BCM88675_A0 || $?BCM88675M_A0 || $?BCM88676_A0 || $?BCM88676M_A0 || $?BCM88677_A0 || $?BCM88678_A0 || $?BCM88679_A0 || \
121 $?JERICHO_A1 || $?BCM88670_A1 || $?BCM88671_A1 || $?BCM88671M_A1 || $?BCM88672_A1 || $?BCM88673_A1 || $?BCM88674_A1 || $?BCM88675_A1 || $?BCM88675M_A1 || $?BCM88676_A1 || $?BCM88676M_A1 || $?BCM88677_A1 || $?BCM88678_A1 || $?BCM88679_A1 || \
122 $?QMX_A0 || $?BCM88370_A0 || $?BCM88371_A0 || $?BCM88371M_A0 || $?BCM88375_A0 || $?BCM88376_A0 || $?BCM88376M_A0 || $?BCM88377_A0 || $?BCM88378_A0 || $?BCM88379_A0 || \
123 $?QMX_A1 || $?BCM88370_A1 || $?BCM88371_A1 || $?BCM88371M_A1 || $?BCM88375_A1 || $?BCM88376_A1 || $?BCM88376M_A1 || $?BCM88377_A1 || $?BCM88378_A1 || $?BCM88379_A1 || \
124 $?JERICHO_B0 || $?BCM88670_B0 || $?BCM88671_B0 || $?BCM88671M_B0 || $?BCM88672_B0 || $?BCM88673_B0 || $?BCM88674_B0 || $?BCM88675_B0 || $?BCM88675M_B0 || $?BCM88676_B0 || $?BCM88676M_B0 || $?BCM88677_B0 || $?BCM88678_B0 || $?BCM88679_B0 || $?BCM88680_A0 || \
125 $?QMX_B0 || $?BCM88370_B0 || $?BCM88371_B0 || $?BCM88371M_B0 || $?BCM88375_B0 || $?BCM88376_B0 || $?BCM88376M_B0 || $?BCM88377_B0 || $?BCM88378_B0 || $?BCM88379_B0 || $?BCM88379_A1 || \
126 $?JERPLUS || $?BCM88680_A0 || $?BCM88681_A0 || $?BCM88682_A0 || $?BCM88683_A0 || $?BCM88380_A0 || $?BCM88381_A0 \
127 'rcload jer.soc ; exit'
128
129if $?BCM88690_A0 \
130 'rcload dnx.soc ; exit'
131
132if $?QAX || $?QUX\
133 'rcload qax.soc ; exit'
134
135
136if $?BCM88202_A0 || $?ARDON_A0 || $?BCM88202_A1 || $?ARDON_A1 || $?BCM88202_A2 || $?ARDON_A2\
137 'rcload atmf.soc ; exit'
138
139if $?ACP \
140 'exit'
141
142if $?BCM88690_A0\
143 'exit'
144
145if !"expr $pcidev + 0 == 0x5650" \
146 "local magnum 1"
147if $?drac || $?drac15 \
148 "local drac_any 1"
149if $?lynx || $?lynx15 \
150 "local lynx_any 1"
151if $?tucana || $?magnum \
152 "local tucana_any 1"
153if $?herc || $?herc15 \
154 "local herc_any 1"
155if $?firebolt || $?firebolt2 || $?helix || \
156 $?felix || $?helix15 || $?felix15 || $?raptor || $?raven || $?hawkeye\
157 "local firebolt_any 1"
158if !"expr $pcidev + 0 == 0xb501" \
159 "local firebolt_10x4 1"
160if $?easyrider \
161 "local easyrider_any 1"
162if !"expr $pcidev + 0 == 0xb602" \
163 "local easyrider_1x1 1"
164if $?bradley || $?humv || $?goldwing \
165 "local bradley_any 1"
166if $?drac_any || $?lynx_any || $?tucana_any \
167 "local xgs12_switch 1"
168if $?firebolt_any || $?easyrider_any || $?bradley_any \
169 "local xgs3_switch 1"
170if $?xgs12_switch || $?xgs3_switch \
171 "local xgs_switch 1"
172if $?herc_any \
173 "local xgs_fabric 1"
174if $?xgs_fabric || $?xgs_switch \
175 "local xgs 1"
176if !$?xgs \
177 "local strata 1"
178if $?strata && !$?gsl \
179 "local PBMP_ALL 0x0bffffff"
180if $?strata && $?gsl \
181 "local PBMP_ALL 0x080000ff"
182if $?BCM56214_A0 || $?BCM56014_A0 || $?BCM56215_A0 || \
183 $?BCM56214_A1 || $?BCM56014_A1 || $?BCM56215_A1 && \
184 !$?BCM956024P48REF \
185 "local rap24_ref 1"
186
187if $?BCM5655_A0 || $?BCM5655_B0 \
188 "local tucana_nohg 1"
189
190if $?BCM956024P48REF || $?BCM956224P48REF || $?BCM956024R50T || \
191 $?BCM956224R50T \
192 "local raven_eb_48p 1"
193
194if $?BCM953314R24GS \
195 "local hawkeye_p24 1"
196
197if $?BCM953314K24 \
198 "local hawkeye_k24 1"
199
200if $?firebolt_any && $?lm48p || $?lm48p_D \
201 "config add lmfb48=1"
202
203# Set software's wait for S-Channel response to 3 seconds for QuickTurn
204# (Recommend at least 10 seconds if the ARL is 100% busy with inserts.)
205if $?quickturn "stimeout 3000000"
206if $?plisim "stimeout 60000000"
207
208# Direct phy led programming: 5464 activity led becomes link/activity
209if $?drac_any && $?lancelot || $?lynxalot || $?guenevere \
210 "config add phy_led_ctrl=0x18"
211
212# Shutdown threads if system is already running
213if $?triumph3 \
214 "ibodSync off"
215counter off
216linkscan off
217if $?feature_arl_hashed && !$?simulator \
218 "l2mode off"
219if $?feature_ces && $?BCM56440_A0 \
220 "ces off"
221
222# Test on-chip memory before initializing
223#if !$?simulator "init soc; bist l3 arl cbp"
224init soc
225
226# Initialize miscellaneous chip registers
227init misc
228
229# Initialize external TCAM if necessary
230# NOTE : tcam is initialized during "init misc" unless
231# tcam_reset_toggle = 1 is configured
232if "expr $rcdone + 0" && !"expr $tcam_reset_toggle + 0" \
233 "dispatch attach 0 esw 0"
234if !"expr $tcam_reset_toggle + 0" "muxsel 0; muxsel 0x80"
235if !"expr $tcam_reset_toggle + 0" "init tcam; $echo rc: TCAM initialized"
236
237# Initialize the StrataSwitch MMU registers
238init mmu
239if $?katana2 \
240 kt2config.soc
241
242
243# Uncomment to turn off Single-Bit Error reporting on 5670
244#if $?herc "m mmu_intcntl pp_sbe_en=0"
245
246# Initialize Cell Free Address Pool
247# NOTE: this should NOT be done unless chip is known to have bad CFAP
248# memory entries that need to be mapped out.
249if $?cfap_tests "$echo rc: Initializing CFAP; cfapinit"
250
251$echo rc: MMU initialized
252
253#
254# Load uKernel
255#
256
257# Pick default FW names if not set already by config
258if !$?fw_core_0 \
259 'local fw_core_0 ${fw_prefix}_0_bfd_bhh.srec; \
260 if $?greyhound || $?hurricane2 || $?hurricane3 "local fw_core_0 ${fw_prefix}_0_ptpfull.srec"; \
261 if $?caladan3 "local fw_core_0 ${fw_prefix}_0.srec"; \
262 if $?helix4 && !$?feature_bhh "local fw_core_0 ${fw_prefix}_0_bfd.srec"; \
263 if $?helix4 && $?feature_bhh "local fw_core_0 ${fw_prefix}_0_bfd_bhh.srec"; \
264 if $?tomahawk && !$?feature_bhh "local fw_core_0 ${fw_prefix}_0_bfd.srec"; \
265 if $?tomahawk_plus && !$?feature_bhh "local fw_core_0 ${fw_prefix}_0_bfd.srec"; \
266 if $?trident2plus && !$?feature_bhh "local fw_core_0 ${fw_prefix}_0_bfd.srec"; \
267 '
268
269if !$?fw_core_1 \
270 'local fw_core_1 ${fw_prefix}_1_ptpfull.srec; \
271 if $?caladan3 "local fw_core_1 ${fw_prefix}_1_bs.srec"; \
272 '
273
274if !$?fw_core_2 \
275 "local fw_core_2 ${fw_prefix}_2_eth_lmdm.srec"
276
277# Load the firmwares
278if $?feature_cmicm && !$?rcpu_only && !$ihost_mode && !$?feature_iproc \
279 "mcsload 0 ${fw_core_0} InitMCS=true; \
280 mcsload 1 ${fw_core_1};"
281
282if $?hurricane2 \
283 "mcsload 0 ${fw_core_0} InitMCS=true;"
284
285if $?feature_iproc && !$?hurricane2 && !$?hurricane3 && !$?rcpu_only && !$?feature_uc_mhost && !$ihost_mode\
286 "mcsload 0 ${fw_core_0} InitMCS=true TwoStage=true TwoStageAddr=0x60000000;\
287 mcsload 1 ${fw_core_1} TwoStage=true TwoStageAddr=0x6002c000;"
288
289if $?feature_iproc && !$?rcpu_only && $?feature_uc_mhost && $?num_ucs\
290 'if !"expr $num_ucs > 0" "mcsload 0 ${fw_core_0} InitMCS=true"; \
291 if !"expr $num_ucs > 1" "mcsload 1 ${fw_core_1}"; \
292 if !"expr $num_ucs > 2" "mcsload 2 ${fw_core_2}";'
293
294#
295# Init CLI and BCM API
296#
297# This must be done after the raw register writes to avoid having state
298# clobbered. NOTE: Tables are cleared by "init bcm" below. If
299# table modifications are required, put them after "init bcm". Some
300# registers might also be affected.
301#
302
303if !$?no_bcm \
304 "init bcm; \
305 $echo rc: BCM driver initialized"
306
307if $?no_bcm \
308 "$echo rc: *** NOT initializing BCM driver ***"
309
310if $?no_bcm && $?strata \
311 'write vtable 0 1 VLAN_TAG=0,PORT_BITMAP=0,UT_PORT_BITMAP=0; \
312 insert vtable VLAN_TAG=1,PORT_BITMAP=$PBMP_ALL,UT_PORT_BITMAP=$PBMP_ALL; \
313 local pv \
314 VLAN_TAG=1,SP_ST=3,PORT_BITMAP=$PBMP_ALL,UT_PORT_BITMAP=$PBMP_ALL; \
315 write ptable 0 32 PTYPE=0; \
316 if !$?gsl "write ptable 0 24 $pv,PTYPE=1"; \
317 if !$?gsl "write ptable 24 2 $pv,PTYPE=2"; \
318 if $?gsl "write ptable 0 8 $pv,PTYPE=2"; \
319 write ptable 27 1 $pv,PTYPE=3; \
320 local pv'
321
322# Turn on mirroring of hardware ARL operations into software ARL table.
323if $?feature_arl_sorted \
324 "arlmode intr_dma; \
325 $echo rc: ARL DMA shadowing enabled"
326
327if $?feature_arl_hashed && !$?simulator && !$?rcpu_only \
328 "l2mode interval=3000000; \
329 $echo rc: L2 Table shadowing enabled"
330
331# If running BCM library, start linkscan task and set port modes
332
333if !$?no_bcm && !$?rcpu_only \
334 "linkscan 250000; \
335 port fe,ge linkscan=on autoneg=on \
336 speed=0 fullduplex=true txpause=true rxpause=true; \
337 port st linkscan=on txpause=false rxpause=false; \
338 port xe,ce linkscan=on autoneg=off \
339 speed=0 fullduplex=true txpause=true rxpause=true; \
340 port hg linkscan=on fullduplex=true txpause=false rxpause=false; \
341 $echo rc: Port modes initialized"
342
343if !$?no_bcm && $?rcpu_only \
344 "linkscan 250000; \
345 port e linkscan=on; \
346 port st linkscan=on; \
347 port xe linkscan=on; \
348 $echo rc: Port modes initialized"
349
350if !$?no_bcm && $?shadow \
351 "port il linkscan=on; \
352 $echo rc: Interlaken Port mode initialized"
353
354# Selectively re-enable Auto Negotiation based on config port_force_an_list.
355#if $?port_force_an_list \
356# "port $port_force_an_list autoneg=on"
357
358# No spanning tree is running, so put ports all in the forwarding state
359# stp support not available for shadow device.
360
361if !$?no_bcm && !$?shadow \
362 "stg stp 1 all forward"
363
364# Start counter task unless already started by "init bcm" above.
365if $?plisim "local dma false"
366if !$?plisim "local dma true"
367if $?device_eb_vli "local dma false"
368if $?no_bcm && !$?rcpu_only\
369 "counter Interval=1000 Pbm=all Dma=$dma; \
370 $echo rc: Counter collection enabled"
371if $?rcpu_only \
372 "counter Interval=2000000 Pbm=all Dma=false; \
373 $echo rc: Counter collection enabled"
374
375# Resynchronize the saved values kept by the 'show counter' command.
376if !$?simulator \
377 "counter sync"
378
379# By default, dump data of packets that go to CPU.
380if !$?testinit \
381 "pw report +raw"
382
383# Default LED processor program for various SDKs and reference designs.
384# Source code can be found in $SDK/led/examples.
385
386if !$?p48 "local ledcode '\
387 E0 28 60 7F 67 2F 67 6B 06 7F 80 D2 1A 74 01 12 \
388 7E 85 05 D2 0F 71 19 52 00 12 7D 85 05 D2 1F 71 \
389 23 52 00 12 7C 85 05 D2 05 71 2D 52 00 3A 68 32 \
390 00 97 75 3B 12 A0 FE 7F 02 0A 50 32 01 97 75 47 \
391 12 BA FE 7F 02 0A 50 12 BA FE 7F 95 75 59 85 12 \
392 A0 FE 7F 95 75 A8 85 77 9A 12 A0 FE 7F 95 75 63 \
393 85 77 A1 16 7C DA 02 71 A1 77 A8 32 05 97 71 76 \
394 06 7D D2 01 71 9A 06 7F 67 93 75 9A 32 02 97 71 \
395 9A 32 03 97 71 A8 32 04 97 75 A1 06 7E D2 07 71 \
396 A1 77 A8 12 80 F8 15 1A 00 57 32 0E 87 32 0E 87 \
397 57 32 0E 87 32 0F 87 57 32 0F 87 32 0E 87 57'" # sdk5605.hex
398
399if $?p48 "local ledcode '\
400 E0 28 60 7F 67 43 67 3C 67 35 67 2F 06 7F 80 D2 \
401 18 74 01 28 60 7F 67 9B 67 89 67 BF 67 83 67 3C \
402 67 73 67 68 67 5D 06 7F 80 D2 1A 74 13 3A 70 67 \
403 AD 71 C3 77 BF 32 03 97 71 C3 77 BF 32 05 97 71 \
404 C3 77 BF 12 BA FE 7F 32 01 97 75 4F 02 06 50 32 \
405 00 97 75 57 02 06 50 95 75 C3 85 77 BF 67 AD 75 \
406 BF 32 04 97 71 C3 77 BF 67 AD 75 BF 32 03 97 71 \
407 C3 77 BF 67 AD 75 BF 32 03 97 71 BF 32 04 97 71 \
408 BF 77 C3 67 B6 71 C3 77 BF 12 A0 FE 7F 32 00 97 \
409 75 95 02 06 50 95 75 C3 85 77 BF 12 BA FE 7F 32 \
410 01 97 75 A7 02 06 50 95 75 C3 85 77 BF 06 7F 12 \
411 80 F8 15 1A 00 57 06 7F 12 80 F8 15 1A 07 57 32 \
412 0F 87 57 32 0E 87 57'" # p48.hex
413
414if $?herc && !$?black_knight "local ledcode '\
415 02 01 67 36 29 32 08 D7 87 32 07 D7 87 32 01 D7 \
416 87 32 00 D7 87 80 D2 09 74 02 86 7F 06 7F C2 07 \
417 74 24 86 7E 16 7E CA 07 E0 17 0D 12 08 98 27 D7 \
418 87 91 74 2D 3A 28 10 DA 07 75 3E FA 02 57 EA 06 \
419 57'" # sdk5670.hex
420
421if $?herc && $?black_knight "local ledcode '\
422 2A 03 32 08 D7 87 32 07 D7 87 32 01 D7 87 32 00 \
423 D7 87 2A 06 32 08 D7 87 32 07 D7 87 32 01 D7 87 \
424 32 00 D7 87 3A 08'" # knigget.hex
425
426if $?drac_any "local ledcode '\
427 E0 28 60 C3 67 4E 67 8A 06 C3 80 D2 0C 74 01 28 \
428 60 C3 32 00 D7 87 32 01 D7 87 32 07 D7 87 32 08 \
429 D7 87 32 0F 87 32 0F 87 32 0F 87 32 0F 87 12 C2 \
430 85 05 D2 0F 71 38 52 00 12 C1 85 05 D2 1F 71 42 \
431 52 00 12 C0 85 05 D2 05 71 4C 52 00 3A 38 32 00 \
432 97 75 5A 12 A0 FE C3 02 0A 50 32 01 97 75 66 12 \
433 AD FE C3 02 0A 50 12 AD FE C3 95 75 78 85 12 A0 \
434 FE C3 95 75 C0 85 77 B9 12 A0 FE C3 95 75 82 85 \
435 77 C7 16 C0 DA 02 71 C7 77 C0 32 05 97 71 9A 32 \
436 02 97 71 B9 06 C1 D2 01 71 B9 06 C3 67 B2 75 B9 \
437 32 03 97 71 C0 32 04 97 75 C7 06 C2 D2 07 71 C7 \
438 77 C0 12 80 F8 15 1A 00 57 32 0E 87 32 0E 87 57 \
439 32 0E 87 32 0F 87 57 32 0F 87 32 0E 87 57'" # sdk5690.hex
440
441if $?draco_k12 "local ledcode '\
442 02 0B A2 01 28 A2 01 60 C3 67 32 67 6E 06 C3 90 \
443 75 02 12 C2 85 05 D2 0F 71 1C 52 00 12 C1 85 05 \
444 D2 1F 71 26 52 00 12 C0 85 05 D2 05 71 30 52 00 \
445 3A 30 32 00 97 75 3E 12 A0 FE C3 02 0A 50 32 01 \
446 97 75 4A 12 AC FE C3 02 0A 50 12 AC FE C3 95 75 \
447 5C 85 12 A0 FE C3 95 75 A6 85 77 9F 12 A0 FE C3 \
448 95 75 66 85 77 AD 16 C0 DA 02 71 AD 77 A6 32 05 \
449 97 71 7E 32 02 97 71 9F 06 C1 D2 01 71 9F 06 C3 \
450 67 96 75 9F 32 03 97 71 A6 32 04 97 75 AD 06 C2 \
451 D2 07 71 AD 77 A6 12 80 A2 01 F8 15 1A 00 57 32 \
452 0E 87 32 0E 87 57 32 0E 87 32 0F 87 57 32 0F 87 \
453 32 0E 87 57'" # k12-5690.hex
454
455if $?herc && $?white_knight "local ledcode '\
456 2A 03 67 0A 2A 06 67 0A 3A 08 32 08 D7 87 32 07 \
457 D7 87 32 01 D7 87 32 00 D7 87 57'" # wk5670.hex
458
459if $?herc && $?merlin "local ledcode '\
460 2A 03 67 0A 2A 06 67 0A 3A 08 32 08 D7 87 32 00 \
461 D7 87 32 01 D7 87 32 07 D7 87 57'" # merlin5670.hex
462
463if $?herc && $?lancelot "local ledcode '\
464 2A 05 67 12 2A 06 67 12 2A 03 67 12 2A 04 67 12 \
465 3A 10 32 08 D7 87 32 00 D7 87 32 01 D7 87 32 07 \
466 D7 87 57'" # lancelot.hex
467
468if $?xgs_fabric && $?guenevere "local ledcode '\
469 2A 04 67 0A 2A 05 67 0A 3A 04 32 07 D7 87 32 00 \
470 32 01 B7 D7 87 57'" # guenevere5670.hex
471
472if $?drac_any && $?white_knight "local ledcode '\
473 E0 28 60 C3 67 2f 67 6B 06 C3 80 D2 0C 74 01 12 \
474 C2 85 05 D2 0F 71 19 52 00 12 C1 85 05 D2 1F 71 \
475 23 52 00 12 C0 85 05 D2 05 71 2D 52 00 3A 30 32 \
476 00 97 75 3B 12 A0 FE C3 02 0A 50 32 01 97 75 47 \
477 12 AC FE C3 02 0A 50 12 AC FE C3 95 75 59 85 12 \
478 A0 FE C3 95 75 A8 85 77 9A 12 A0 FE C3 95 75 63 \
479 85 77 A1 16 C0 DA 02 71 A1 77 A8 32 05 97 71 7B \
480 32 02 97 71 9A 06 C1 D2 01 71 9A 06 C3 67 93 75 \
481 9A 32 03 97 71 A8 32 04 97 75 A1 06 C2 D2 07 71 \
482 A1 77 A8 12 80 F8 15 1A 00 57 32 0E 87 32 0E 87 \
483 57 32 0E 87 32 0F 87 57 32 0F 87 32 0E 87 57'" # wk5690.hex
484
485if $?drac_any && $?merlin "local ledcode '\
486 E0 28 60 C3 67 2F 67 6B 06 C3 80 D2 0C 74 01 12 \
487 C2 85 05 D2 0F 71 19 52 00 12 C1 85 05 D2 1F 71 \
488 23 52 00 12 C0 85 05 D2 05 71 2D 52 00 3A 30 32 \
489 00 97 75 3B 12 A0 FE C3 02 0A 50 32 01 97 75 47 \
490 12 AC FE C3 02 0A 50 12 AC FE C3 95 75 59 85 12 \
491 A0 FE C3 95 75 A8 85 77 9A 12 A0 FE C3 95 75 63 \
492 85 77 A1 16 C0 DA 02 71 A1 77 A8 32 05 97 71 7B \
493 32 02 97 71 9A 06 C1 D2 01 71 9A 06 C3 67 93 75 \
494 9A 32 03 97 71 A8 32 04 97 75 A1 06 C2 D2 07 71 \
495 A1 77 A8 12 80 F8 15 1A 00 57 32 0E 87 32 0E 87 \
496 57 32 0F 87 32 0E 87 57 32 0E 87 32 0F 87 57'" # merlin5690.hex
497
498if $?drac_any && $?galahad "local ledcode '\
499 E0 28 60 C3 67 2F 67 6B 06 C3 80 D2 0C 74 01 12 \
500 C2 85 05 D2 0F 71 19 52 00 12 C1 85 05 D2 1F 71 \
501 23 52 00 12 C0 85 05 D2 05 71 2D 52 00 3A 30 32 \
502 00 97 75 3B 12 A0 FE C3 02 0A 50 32 01 97 75 47 \
503 12 AC FE C3 02 0A 50 12 AC FE C3 95 75 59 85 12 \
504 A0 FE C3 95 75 A8 85 77 9A 12 A0 FE C3 95 75 63 \
505 85 77 A1 16 C0 DA 02 71 A1 77 A8 32 05 97 71 7B \
506 32 02 97 71 9A 06 C1 D2 01 71 9A 06 C3 67 93 75 \
507 9A 32 03 97 71 A8 32 04 97 75 A1 06 C2 D2 07 71 \
508 A1 77 A8 12 80 F8 15 1A 00 57 32 0E 87 32 0E 87 \
509 57 32 0F 87 32 0E 87 57 32 0E 87 32 0F 87 57'" # galahad.hex
510
511if $?drac_any && $?lm "local ledcode '\
512E0 28 60 C3 67 2D 06 C3 80 D2 0C 74 01 12 C2 85 \
51305 D2 0F 71 17 52 00 12 C1 85 05 D2 1F 71 21 52 \
51400 12 C0 85 05 D2 05 71 2B 52 00 3A 18 32 00 97 \
51575 39 12 A0 FE C3 02 0A 50 32 01 97 75 45 12 AC \
516FE C3 02 0A 50 12 AC FE C3 95 75 5F 85 12 A0 FE \
517C3 95 71 5C 16 C0 DA 02 71 A6 77 B4 85 77 77 12 \
518A0 FE C3 95 75 6F 85 16 C0 DA 02 71 A6 77 AD 16 \
519C0 DA 02 71 AD 77 B4 32 05 97 71 82 06 C1 D2 01 \
52071 A6 06 C3 67 9F 75 A6 32 02 97 71 A6 32 03 97 \
52171 B4 32 04 97 75 AD 06 C2 D2 07 71 AD 77 B4 12 \
52280 F8 15 1A 00 57 32 0E 87 32 0E 87 57 32 0E 87 \
52332 0F 87 57 32 0F 87 32 0E 87 57'" # lm5690.hex
524
525if $?twolynx "local ledcode '\
526 2A 01 67 0A 2A 00 67 0A 3A 08 32 08 D7 87 32 00 \
527 D7 87 32 01 D7 87 32 07 D7 87 57'" # twolynx.hex
528
529if $?lynx_any && $?herculynx || $?lynxalot || $?lm || $?guenevere \
530 "local ledcode '\
53112 C0 85 05 D2 03 71 0A 52 00 2A 00 67 10 3A 04 \
53232 08 D7 87 06 C0 D2 01 71 22 32 0F 87 32 0F 87 \
53377 2A 32 00 D7 87 32 01 D7 87 32 07 D7 87 57'" # herculynx.hex
534
535if $?tucana && !$?magnum "local ledcode '\
536 E0 67 23 D2 18 74 01 02 20 67 23 D2 38 74 09 02 \
537 18 67 23 D2 1C 74 11 E9 02 80 45 80 81 DA 0D 74 \
538 1A 3A 68 28 60 E3 67 4A 67 36 06 E4 30 87 06 E5 \
539 30 87 06 E3 80 57 32 00 97 71 45 32 01 97 71 45 \
540 02 0F 60 E5 57 02 0E 60 E5 57 06 E3 12 A0 F8 15 \
541 1A 00 75 59 02 0E 60 E4 57 02 0F 60 E4 57'" # sdk5665.hex
542
543if $?magnum && !$?tuc24_ref && !$?BCM5650_C0 "local ledcode '\
544 E0 28 60 FC 67 5A 67 9C 06 FA 67 DA 06 FB 67 DA \
545 06 FC 80 D2 1C 74 01 12 FD 85 05 D2 0F 71 21 52 \
546 00 12 FE 85 05 D2 1F 71 2B 52 00 12 FF 85 05 D2 \
547 05 71 35 52 00 E9 05 98 98 98 98 C2 0F 60 F9 05 \
548 88 88 88 88 C2 F0 B6 F9 50 81 DA 0C 74 36 E9 02 \
549 80 45 80 81 DA 0E 74 51 3A 70 32 00 97 75 66 12 \
550 C0 FE FC 02 0A 50 32 01 97 75 72 12 DC FE FC 02 \
551 0A 50 12 DC FE FC 95 75 86 85 12 C0 FE FC 95 02 \
552 FA 75 D7 85 77 D1 12 C0 FE FC 95 75 92 85 02 FA \
553 77 D4 16 FF DA 02 02 FA 71 D4 77 D7 32 05 97 71 \
554 A9 06 FE D2 01 02 FB 71 D1 06 FC 67 CA 02 FB 75 \
555 D1 32 02 97 71 D1 32 03 97 71 D7 32 04 97 75 D4 \
556 06 FD D2 07 02 FB 71 D4 77 D7 12 A0 F8 15 1A 00 \
557 57 42 00 57 42 01 57 42 02 57 D2 02 74 E3 32 0F \
558 87 77 E6 32 0E 87 D2 01 74 EE 32 0F 87 57 32 0E \
559 87 57'" # sdk5665.hex
560
561if $?magnum && !$?tuc24_ref && $?BCM5650_C0 "local ledcode '\
562 E0 60 FB D2 18 75 09 A2 01 60 FC 28 67 37 67 73 \
563 06 FB 80 D2 1C 74 01 12 FD 85 05 D2 0F 71 21 52 \
564 00 12 FE 85 05 D2 1F 71 2B 52 00 12 FF 85 05 D2 \
565 05 71 35 52 00 3A 70 32 00 97 75 43 12 C0 FE FC \
566 02 0A 50 32 01 97 75 4F 12 DC FE FC 02 0A 50 12 \
567 DC FE FC 95 75 61 85 12 C0 FE FC 95 75 B0 85 77 \
568 A2 12 C0 FE FC 95 75 6B 85 77 A9 16 FF DA 02 71 \
569 A9 77 B0 32 05 97 71 7E 06 FE D2 01 71 A2 06 FC \
570 67 9B 75 A2 32 02 97 71 A2 32 03 97 71 B0 32 04 \
571 97 75 A9 06 FD D2 07 71 A9 77 B0 12 A0 F8 15 1A \
572 00 57 32 0F 87 32 0F 87 57 32 0E 87 32 0F 87 57 \
573 32 0F 87 32 0E 87 57'" # magnum_sdk.hex
574
575if $?tuc24_ref && $?BCM5650_C0 "local ledcode '\
576 E0 60 FB D2 18 71 10 60 FC 28 67 D0 67 C0 77 19 \
577 A2 01 60 FC 28 67 40 67 7C 06 FB 80 D2 1C 74 01 \
578 12 FD 85 05 D2 0F 71 2A 52 00 12 FE 85 05 D2 1F \
579 71 34 52 00 12 FF 85 05 D2 05 71 3E 52 00 3A 68 \
580 32 00 97 75 4C 12 C0 FE FC 02 0A 50 32 01 97 75 \
581 58 12 DC FE FC 02 0A 50 12 DC FE FC 95 75 6A 85 \
582 12 C0 FE FC 95 75 B9 85 77 AB 12 C0 FE FC 95 75 \
583 74 85 77 B2 16 FF DA 02 71 B2 77 B9 32 05 97 71 \
584 87 06 FE D2 01 71 AB 06 FC 67 A4 75 AB 32 02 97 \
585 71 AB 32 03 97 71 B9 32 04 97 75 B2 06 FD D2 07 \
586 71 B2 77 B9 12 A0 F8 15 1A 00 57 32 0F 87 32 0F \
587 87 57 32 0E 87 32 0F 87 57 32 0F 87 32 0E 87 57 \
588 02 0E 32 00 97 71 CD 32 01 97 71 CD 80 30 87 57 \
589 06 FC 12 A0 F8 15 1A 00 02 0F 75 DD 90 30 87 57'" # magnum.hex
590
591if $?tuc24_ref && !$?BCM5650_C0 "local ledcode '\
592 E0 28 60 FC D2 18 71 0E 67 E9 67 D9 77 1A 67 5A \
593 67 9C 06 FA 67 D0 06 FB 67 D0 06 FC 80 D2 1C 74 \
594 01 12 FE 85 05 D2 1F 71 2B 52 00 12 FF 85 05 D2 \
595 05 71 35 52 00 E9 05 98 98 98 98 C2 0F 60 F9 05 \
596 88 88 88 88 C2 F0 B6 F9 50 81 DA 0C 74 36 E9 02 \
597 80 45 80 81 DA 0D 74 51 3A 68 32 00 97 75 66 12 \
598 C0 FE FC 02 0A 50 32 01 97 75 72 12 DC FE FC 02 \
599 0A 50 12 DC FE FC 95 75 86 85 12 C0 FE FC 95 02 \
600 FA 75 CD 85 77 C7 12 C0 FE FC 95 75 92 85 02 FA \
601 77 CA 16 FF DA 02 02 FA 71 CA 77 CD 32 05 97 71 \
602 A9 06 FE D2 01 02 FB 71 C7 06 FC 67 C0 02 FB 75 \
603 C7 32 02 97 71 C7 32 03 97 71 CD 32 04 97 75 CA \
604 12 A0 F8 15 1A 00 57 42 FF 57 42 FE 57 42 EF 57 \
605 30 87 98 98 98 98 30 87 57 02 0E 32 00 97 71 E6 \
606 32 01 97 71 E6 80 30 87 57 06 FC 12 A0 F8 15 1A \
607 00 02 0F 75 F6 90 30 87 57'" # tuc24_ref.hex
608
609if $?herc8_15 "local ledcode '\
610 02 01 28 32 08 D7 87 32 07 D7 87 32 01 D7 87 32 \
611 00 D7 87 80 D2 09 74 02 86 7F 06 7F C2 07 74 22 \
612 86 7E 16 7E CA 07 E0 17 0D 12 08 98 27 D7 87 91 \
613 74 2B 3A 28'" # sdk5675.hex
614
615if $?drac_any && $?lm "local ledcode '\
616 E0 28 60 C3 67 2D 06 C3 80 D2 0C 74 01 12 C2 85 \
617 05 D2 0F 71 17 52 00 12 C1 85 05 D2 1F 71 21 52 \
618 00 12 C0 85 05 D2 05 71 2B 52 00 3A 18 32 00 97 \
619 75 39 12 A0 FE C3 02 0A 50 32 01 97 75 45 12 AC \
620 FE C3 02 0A 50 12 AC FE C3 95 75 5F 85 12 A0 FE \
621 C3 95 71 5C 16 C0 DA 02 71 A6 77 B4 85 77 77 12 \
622 A0 FE C3 95 75 6F 85 16 C0 DA 02 71 A6 77 AD 16 \
623 C0 DA 02 71 AD 77 B4 32 05 97 71 82 06 C1 D2 01 \
624 71 A6 06 C3 67 9F 75 A6 32 02 97 71 A6 32 03 97 \
625 71 B4 32 04 97 75 AD 06 C2 D2 07 71 AD 77 B4 12 \
626 80 F8 15 1A 00 57 32 0E 87 32 0E 87 57 32 0E 87 \
627 32 0F 87 57 32 0F 87 32 0E 87 57 00 00 00 00 00'" # lm5690.hex
628
629if $?drac_any && $?lm48p "local ledcode '\
630 E0 28 60 C3 67 7C 06 C3 80 28 60 C3 67 7C 67 40 \
631 06 C3 90 28 60 C3 67 40 06 C3 80 80 D2 0C 74 01 \
632 12 C2 85 05 D2 0F 71 2A 52 00 12 C1 85 05 D2 1F \
633 71 34 52 00 12 C0 85 05 D2 05 71 3E 52 00 3A 30 \
634 32 00 97 75 4C 12 A0 FE C3 02 0A 50 32 01 97 75 \
635 58 12 AC FE C3 02 0A 50 12 AC FE C3 95 75 6A 85 \
636 12 A0 FE C3 95 75 B9 85 77 AB 12 A0 FE C3 95 75 \
637 74 85 77 B2 16 C0 DA 02 71 B2 77 B9 32 05 97 71 \
638 8C 32 02 97 71 AB 06 C1 D2 01 71 AB 06 C3 67 A4 \
639 75 AB 32 03 97 71 B9 32 04 97 75 B2 06 C2 D2 07 \
640 71 B2 77 B9 12 80 F8 15 1A 00 57 32 0E 87 32 0E \
641 87 57 32 0E 87 32 0F 87 57 32 0F 87 32 0E 87 57'" # lm48p5695.hex
642
643if $?drac_any && $?lm48p_B "local ledcode '\
644 E0 28 60 C3 67 79 06 C3 67 3D 06 C3 80 28 60 C3 \
645 67 3D 06 C3 67 79 06 C3 80 D2 0C 74 01 12 C2 85 \
646 05 D2 0F 71 27 52 00 12 C1 85 05 D2 1F 71 31 52 \
647 00 12 C0 85 05 D2 05 71 3B 52 00 3A 30 32 00 97 \
648 75 49 12 A0 FE C3 02 0A 50 32 01 97 75 55 12 AC \
649 FE C3 02 0A 50 12 AC FE C3 95 75 67 85 12 A0 FE \
650 C3 95 75 B6 85 77 A8 12 A0 FE C3 95 75 71 85 77 \
651 AF 16 C0 DA 02 71 AF 77 B6 32 05 97 71 89 32 02 \
652 97 71 A8 06 C1 D2 01 71 A8 06 C3 67 A1 75 A8 32 \
653 03 97 71 B6 32 04 97 75 AF 06 C2 D2 07 71 AF 77 \
654 B6 12 80 F8 15 1A 00 57 32 0E 87 32 0E 87 57 32 \
655 0E 87 32 0F 87 57 32 0F 87 32 0E 87 57'" # lm48p5695_10.hex
656
657if $?firebolt_any "local ledcode '\
658 E0 28 60 E3 67 55 67 91 06 E3 80 28 60 E3 67 91 \
659 67 55 06 E3 80 D2 18 74 01 28 60 E3 67 B9 75 26 \
660 67 CE 67 55 77 2E 32 0E 87 32 08 87 67 C0 06 E3 \
661 80 D2 1C 74 19 12 E2 85 05 D2 0F 71 3F 52 00 12 \
662 E1 85 05 D2 1F 71 49 52 00 12 E0 85 05 D2 05 71 \
663 53 52 00 3A 70 32 00 97 75 61 12 A0 FE E3 02 0A \
664 50 32 01 97 75 6D 12 BC FE E3 02 0A 50 12 BC FE \
665 E3 95 75 7F 85 12 A0 FE E3 95 75 CE 85 77 C0 12 \
666 A0 FE E3 95 75 89 85 77 C7 16 E0 DA 02 71 C7 77 \
667 CE 32 05 97 71 A1 32 02 97 71 C0 06 E1 D2 01 71 \
668 C0 06 E3 67 B9 75 C0 32 03 97 71 CE 32 04 97 75 \
669 C7 06 E2 D2 07 71 C7 77 CE 12 80 F8 15 1A 00 57 \
670 32 0E 87 32 0E 87 57 32 0E 87 32 0F 87 57 32 0F \
671 87 32 0E 87 57'" # sdk56504.hex
672
673#Led program for new rev of FB SDK and Ref design
674if $?firebolt_any && !$?fb24 "local ledcode '\
675 E0 28 60 E3 67 4B 67 87 06 E3 80 D2 18 74 01 28 \
676 60 E3 67 AF 75 1C 67 C4 67 4B 77 24 32 0E 87 32 \
677 08 87 67 B6 06 E3 80 D2 1C 74 0F 12 E2 85 05 D2 \
678 0F 71 35 52 00 12 E1 85 05 D2 1F 71 3F 52 00 12 \
679 E0 85 05 D2 05 71 49 52 00 3A 70 32 00 97 75 57 \
680 12 A0 FE E3 02 0A 50 32 01 97 75 63 12 BC FE E3 \
681 02 0A 50 12 BC FE E3 95 75 75 85 12 A0 FE E3 95 \
682 75 C4 85 77 B6 12 A0 FE E3 95 75 7F 85 77 BD 16 \
683 E0 DA 02 71 BD 77 C4 32 05 97 71 97 32 02 97 71 \
684 B6 06 E1 D2 01 71 B6 06 E3 67 AF 75 B6 32 03 97 \
685 71 C4 32 04 97 75 BD 06 E2 D2 07 71 BD 77 C4 12 \
686 80 F8 15 1A 00 57 32 0E 87 32 0E 87 57 32 0E 87 \
687 32 0F 87 57 32 0F 87 32 0E 87 57'" # sdk56504ref.hex
688
689#Override Default Firebolt LED program for Line Module
690if $?lm && $?firebolt_any "local ledcode '\
691 E0 28 60 E3 67 79 06 E3 67 3D 06 E3 80 28 60 E3 \
692 67 3D 06 E3 67 79 06 E3 80 D2 18 74 01 12 E2 85 \
693 05 D2 0F 71 27 52 00 12 E1 85 05 D2 1F 71 31 52 \
694 00 12 E0 85 05 D2 05 71 3B 52 00 3A 60 32 00 97 \
695 75 49 12 A0 FE E3 02 0A 50 32 01 97 75 55 12 BC \
696 FE E3 02 0A 50 12 BC FE E3 95 75 67 85 12 A0 FE \
697 E3 95 75 B6 85 77 A8 12 A0 FE E3 95 75 71 85 77 \
698 AF 16 E0 DA 02 71 AF 77 B6 32 05 97 71 89 32 02 \
699 97 71 A8 06 E1 D2 01 71 A8 06 E3 67 A1 75 A8 32 \
700 03 97 71 B6 32 04 97 75 AF 06 E2 D2 07 71 AF 77 \
701 B6 12 80 F8 15 1A 00 57 32 0E 87 32 0E 87 57 32 \
702 0E 87 32 0F 87 57 32 0F 87 32 0E 87 57'" # lm48p56504.hex
703
704#Override Default Firebolt LED program for Line Module -50 version
705if $?lm && $?lm48p_D && $?firebolt_any "local ledcode '\
706 E0 28 60 E3 67 6D 06 E3 67 31 06 E3 80 D2 18 74 \
707 01 12 E2 85 05 D2 0F 71 1B 52 00 12 E1 85 05 D2 \
708 1F 71 25 52 00 12 E0 85 05 D2 05 71 2F 52 00 3A \
709 60 32 00 97 75 3D 12 A0 FE E3 02 0A 50 32 01 97 \
710 75 49 12 BC FE E3 02 0A 50 12 BC FE E3 95 75 5B \
711 85 12 A0 FE E3 95 75 AA 85 77 9C 12 A0 FE E3 95 \
712 75 65 85 77 A3 16 E0 DA 02 71 A3 77 AA 32 05 97 \
713 71 7D 32 02 97 71 9C 06 E1 D2 01 71 9C 06 E3 67 \
714 95 75 9C 32 03 97 71 AA 32 04 97 75 A3 06 E2 D2 \
715 07 71 A3 77 AA 12 80 F8 15 1A 00 57 32 0E 87 32 \
716 0E 87 57 32 0E 87 32 0F 87 57 32 0F 87 32 0E 87 \
717 57'" # lm48p56504_50.hex
718
719if $?lm && $?firebolt_10x4 "local ledcode '\
720 02 18 28 32 07 67 1E 75 0A D7 87 32 01 D7 87 32 \
721 00 D7 87 32 08 D7 87 80 D2 1C 74 02 3A 0C 12 80 \
722 F8 15 1A 00 57 '" # lm12pcx456501.hex
723
724if $?fbpoe && $?firebolt_any "local ledcode '\
725 E0 28 60 E3 67 85 67 49 06 E3 80 D2 18 74 01 28 \
726 60 E3 67 AD 75 1A 67 C2 77 20 32 0E 87 32 08 87 \
727 67 49 06 E3 80 D2 1A 74 0F 12 E2 85 05 D2 0F 71 \
728 33 52 00 12 E1 85 05 D2 1F 71 3D 52 00 12 E0 85 \
729 05 D2 05 71 47 52 00 3A 68 32 00 97 75 55 12 A0 \
730 FE E3 02 0A 50 32 01 97 75 61 12 BA FE E3 02 0A \
731 50 12 BA FE E3 95 75 73 85 12 A0 FE E3 95 75 C2 \
732 85 77 B4 12 A0 FE E3 95 75 7D 85 77 BB 16 E0 DA \
733 02 71 BB 77 C2 32 05 97 71 95 32 02 97 71 B4 06 \
734 E1 D2 01 71 B4 06 E3 67 AD 75 B4 32 03 97 71 C2 \
735 32 04 97 75 BB 06 E2 D2 07 71 BB 77 C2 12 80 F8 \
736 15 1A 00 57 32 0E 87 32 0E 87 57 32 0E 87 32 0F \
737 87 57 32 0F 87 32 0E 87 57'" # poe48p56504.hex
738
739#Override Default Firebolt LED program for felix
740if $?felix || $?felix15 "local ledcode '\
741 E0 28 60 E3 67 6B 67 A7 06 E3 80 D2 18 74 01 02 \
742 18 28 60 E3 67 49 02 19 28 60 E3 67 49 32 0E 87 \
743 32 0E 87 32 0E 87 32 0E 87 12 E2 85 05 D2 0F 71 \
744 33 52 00 12 E1 85 05 D2 1F 71 3D 52 00 12 E0 85 \
745 05 D2 05 71 47 52 00 3A 68 67 CF 75 52 32 0E 87 \
746 77 55 32 0F 87 32 00 97 75 5E 32 0E 87 57 32 01 \
747 97 75 67 32 0E 87 57 32 0F 87 57 32 00 97 75 77 \
748 12 A0 FE E3 02 0A 50 32 01 97 75 83 12 BC FE E3 \
749 02 0A 50 12 BC FE E3 95 75 95 85 12 A0 FE E3 95 \
750 75 E4 85 77 D6 12 A0 FE E3 95 75 9F 85 77 DD 16 \
751 E0 DA 02 71 DD 77 E4 32 05 97 71 B7 32 02 97 71 \
752 D6 06 E1 D2 01 71 D6 06 E3 67 CF 75 D6 32 03 97 \
753 71 E4 32 04 97 75 DD 06 E2 D2 07 71 DD 77 E4 12 \
754 80 F8 15 1A 00 57 32 0E 87 32 0E 87 57 32 0E 87 \
755 32 0F 87 57 32 0E 87 32 0F 87 57'" # sdk56102.hex
756
757#Override Default Felix LED program for felix48
758if $?felix48 && $?felix || $?felix15 "local ledcode '\
759 E0 28 60 E3 67 6B 67 A7 06 E3 80 D2 18 74 01 02 \
760 18 28 60 E3 67 49 02 19 28 60 E3 67 49 32 0E 87 \
761 32 0E 87 32 0E 87 32 0E 87 12 E2 85 05 D2 0F 71 \
762 33 52 00 12 E1 85 05 D2 1F 71 3D 52 00 12 E0 85 \
763 05 D2 05 71 47 52 00 3A 68 67 CF 75 52 32 0E 87 \
764 77 55 32 0F 87 32 00 97 75 5E 32 0E 87 57 32 01 \
765 97 75 67 32 0E 87 57 32 0F 87 57 32 00 97 75 77 \
766 12 A0 FE E3 02 0A 50 32 01 97 75 83 12 BC FE E3 \
767 02 0A 50 12 BC FE E3 95 75 95 85 12 A0 FE E3 95 \
768 75 E4 85 77 D6 12 A0 FE E3 95 75 9F 85 77 DD 16 \
769 E0 DA 02 71 DD 77 E4 32 05 97 71 B7 32 02 97 71 \
770 D6 06 E1 D2 01 71 D6 06 E3 67 CF 75 D6 32 03 97 \
771 71 E4 32 04 97 75 DD 06 E2 D2 07 71 DD 77 E4 12 \
772 80 F8 15 1A 00 57 32 0E 87 32 0E 87 57 32 0E 87 \
773 32 0F 87 57 32 0F 87 32 0E 87 57'" # felix48.hex
774
775if $?easyrider_any "local ledcode '\
776 E0 28 60 E3 67 59 67 95 06 E3 80 28 60 E3 67 95 \
777 67 59 06 E3 80 D2 0C 74 01 28 60 E3 67 BD 75 26 \
778 67 D2 67 59 77 2E 32 0E 87 32 08 87 67 C4 06 E3 \
779 80 D2 0D 74 19 12 E2 85 05 D2 0F 71 3F 52 00 12 \
780 E1 85 05 D2 1F 71 49 52 00 12 E0 85 05 D2 05 71 \
781 53 52 00 67 C4 67 C4 3A 38 32 00 97 75 65 12 A0 \
782 FE E3 02 0A 50 32 01 97 75 71 12 AD FE E3 02 0A \
783 50 12 AD FE E3 95 75 83 85 12 A0 FE E3 95 75 D2 \
784 85 77 C4 12 A0 FE E3 95 75 8D 85 77 CB 16 E0 DA \
785 02 71 CB 77 D2 32 05 97 71 A5 32 02 97 71 C4 06 \
786 E1 D2 01 71 C4 06 E3 67 BD 75 C4 32 03 97 71 D2 \
787 32 04 97 75 CB 06 E2 D2 07 71 CB 77 D2 12 80 F8 \
788 15 1A 00 57 32 0E 87 32 0E 87 57 32 0E 87 32 0F \
789 87 57 32 0F 87 32 0E 87 57'" # sdk56601.hex
790
791#Override Default Easyrider LED program for 56602
792if $?easyrider_1x1 "local ledcode '\
793 E0 60 E1 67 7C 67 7C 06 E1 80 D2 0C 74 01 02 0C \
794 28 60 E1 67 75 75 1D 67 8A 67 39 77 25 32 0E 87 \
795 32 08 87 67 7C 06 E1 D2 00 02 00 74 10 12 E0 85 \
796 05 D2 05 71 37 52 00 3A 38 32 00 97 75 45 12 A0 \
797 FE E1 02 0A 50 32 01 97 75 51 12 AD FE E1 02 0A \
798 50 12 AD FE E1 95 75 63 85 12 A0 FE E1 95 75 8A \
799 85 77 7C 12 A0 FE E1 95 75 6D 85 77 83 16 E0 DA \
800 02 71 83 77 8A 12 80 F8 15 1A 00 57 32 0E 87 32 \
801 0E 87 57 32 0E 87 32 0F 87 57 32 0F 87 32 0E 87 \
802 57'" # sdk56602.hex
803
804#Override Default LED program for 53300
805if $?mirage24 "local ledcode '\
806 E0 28 60 E3 67 6B 67 2F 06 E3 80 D2 18 74 01 12 \
807 E2 85 05 D2 0F 71 19 52 00 12 E1 85 05 D2 1F 71 \
808 23 52 00 12 E0 85 05 D2 05 71 2D 52 00 3A 30 32 \
809 00 97 75 3B 12 A0 FE E3 02 0A 50 32 01 97 75 47 \
810 12 BC FE E3 02 0A 50 12 BC FE E3 95 75 59 85 12 \
811 A0 FE E3 95 75 A2 85 77 9A 12 A0 FE E3 95 75 63 \
812 85 77 9E 16 E0 DA 02 71 9E 77 A2 32 05 97 71 7B \
813 32 02 97 71 9A 06 E1 D2 01 71 9A 06 E3 67 93 75 \
814 9A 32 03 97 71 A2 32 04 97 75 9E 06 E2 D2 07 71 \
815 9E 77 A2 12 80 F8 15 1A 00 57 32 0F 87 57 32 0E \
816 87 57 32 0E 87 57'" # sdk53300.hex
817
818#Override Default LED program for 56314
819if $?bcm56314p24ref "local ledcode '\
820 E0 28 60 E3 67 79 67 3D 06 E3 80 D2 18 74 01 28 \
821 60 E3 67 79 67 A8 06 E3 80 D2 1C 74 0F 12 E2 85 \
822 05 D2 0F 71 27 52 00 12 E1 85 05 D2 1F 71 31 52 \
823 00 12 E0 85 05 D2 05 71 3B 52 00 3A 38 32 00 97 \
824 75 49 12 A0 FE E3 02 0A 50 32 01 97 75 55 12 BC \
825 FE E3 02 0A 50 12 BC FE E3 95 75 67 85 12 A0 FE \
826 E3 95 75 B0 85 77 A8 12 A0 FE E3 95 75 71 85 77 \
827 AC 16 E0 DA 02 71 AC 77 B0 32 05 97 71 89 32 02 \
828 97 71 A8 06 E1 D2 01 71 A8 06 E3 67 A1 75 A8 32 \
829 03 97 71 B0 32 04 97 75 AC 06 E2 D2 07 71 AC 77 \
830 B0 12 80 F8 15 1A 00 57 32 0F 87 57 32 0E 87 57 \
831 32 0E 87 57'" # bcm956314p24ref.hex
832
833if $?bradley "local ledcode '\
834 E0 28 60 F2 67 1B 06 F2 80 D2 14 74 01 86 F3 12 \
835 F0 85 05 D2 05 71 19 52 00 3A 28 32 00 97 75 27 \
836 12 A8 FE F2 02 0A 50 32 01 97 75 33 12 BC FE F2 \
837 02 0A 50 12 BC FE F2 95 75 45 85 12 A8 FE F2 95 \
838 75 91 85 77 57 12 A8 FE F2 95 75 4F 85 77 8A 16 \
839 F0 DA 02 71 8A 77 91 06 F2 12 94 F8 15 02 02 C1 \
840 74 6E 02 04 C1 74 6E 02 08 C1 74 6E 77 74 C6 F3 \
841 74 91 77 8A 06 F2 67 7C 75 83 77 91 12 80 F8 15 \
842 1A 00 57 32 0E 87 32 0E 87 57 32 0E 87 32 0F 87 \
843 57 32 0F 87 32 0E 87 57'" # sdk56800.hex
844
845if $?humv "local ledcode '\
846 E0 28 60 F2 67 21 06 F2 80 D2 08 74 0F F2 02 D2 \
847 12 74 01 86 F3 12 F0 85 05 D2 05 71 1F 52 00 3A \
848 20 32 00 97 75 2D 12 A8 FE F2 02 0A 50 32 01 97 \
849 75 39 12 BA FE F2 02 0A 50 12 BA FE F2 95 75 4B \
850 85 12 A8 FE F2 95 75 97 85 77 5D 12 A8 FE F2 95 \
851 75 55 85 77 90 16 F0 DA 02 71 90 77 97 06 F2 12 \
852 94 F8 15 02 02 C1 74 74 02 04 C1 74 74 02 08 C1 \
853 74 74 77 7A C6 F3 74 97 77 90 06 F2 67 82 75 89 \
854 77 97 12 80 F8 15 1A 00 57 32 0E 87 32 0E 87 57 \
855 32 0E 87 32 0F 87 57 32 0F 87 32 0E 87 57'" # sdk56700.hex
856
857if $?bradley_1g "local ledcode '\
858 E0 28 60 E3 67 2F 67 6B 06 E3 80 D2 14 74 01 12 \
859 E2 85 05 D2 0F 71 19 52 00 12 E1 85 05 D2 1F 71 \
860 23 52 00 12 E0 85 05 D2 05 71 2D 52 00 3A 50 32 \
861 00 97 75 3B 12 A0 FE E3 02 0A 50 32 01 97 75 47 \
862 12 B4 FE E3 02 0A 50 12 B4 FE E3 95 75 59 85 12 \
863 A0 FE E3 95 75 A8 85 77 9A 12 A0 FE E3 95 75 63 \
864 85 77 A1 16 E0 DA 02 71 A1 77 A8 32 05 97 71 7B \
865 32 02 97 71 9A 06 E1 D2 01 71 9A 06 E3 67 93 75 \
866 9A 32 03 97 71 A8 32 04 97 75 A1 06 E2 D2 07 71 \
867 A1 77 A8 12 80 F8 15 1A 00 57 32 0E 87 32 0E 87 \
868 57 32 0E 87 32 0F 87 57 32 0F 87 32 0E 87 57 '" # sdk56800c.hex
869
870if $?goldwing "local ledcode '\
871 E0 28 60 F3 D2 10 75 0E 67 3B 67 94 77 12 67 94 \
872 67 3B 06 F3 80 D2 14 74 01 86 F4 12 F2 85 05 D2 \
873 0F 71 25 52 00 12 F1 85 05 D2 1F 71 2F 52 00 12 \
874 F0 85 05 D2 05 71 39 52 00 3A 50 32 00 97 75 47 \
875 12 A8 FE F3 02 0A 50 32 01 97 75 53 12 BC FE F3 \
876 02 0A 50 12 BC FE F3 95 75 65 85 12 A8 FE F3 95 \
877 75 C0 85 77 77 12 A8 FE F3 95 75 6F 85 77 B9 16 \
878 F0 DA 02 71 B9 77 C0 06 F3 12 94 F8 15 02 02 C1 \
879 74 8E 02 04 C1 74 8E 02 08 C1 74 8E 77 B2 C6 F4 \
880 74 C0 77 B9 06 F3 67 AB 75 B2 32 04 75 B2 32 03 \
881 97 71 C0 06 F2 D2 07 71 B9 77 C0 12 80 F8 15 1A \
882 00 57 32 0E 87 32 0E 87 57 32 0E 87 32 0F 87 57 \
883 32 0F 87 32 0E 87 57 '" # sdk56580.hex
884
885if $?humv && $?lm "local ledcode '\
886 02 04 28 D2 08 74 0A F2 02 28 32 07 67 29 75 11 \
887 D7 87 60 E4 67 30 06 E4 60 E4 67 4C 06 E4 32 08 \
888 D7 87 80 D2 12 74 02 3A 30 12 80 F8 15 1A 00 57 \
889 06 E4 12 94 F8 15 02 10 C1 70 42 12 D2 FE E4 02 \
890 0A 50 12 D2 FE E4 95 75 6D 85 77 68 06 E4 12 94 \
891 F8 15 02 20 C1 70 5E 12 C0 FE E4 02 0A 50 12 C0 \
892 FE E4 95 75 6D 85 77 68 32 0E D7 87 57 32 0F D7 \
893 87 57 '" # lm12p56802.hex
894
895
896if $?raptor "local ledcode '\
897 02 06 28 60 FF 67 64 67 93 06 FF 80 D2 36 74 02 \
898 02 04 28 60 FF 67 BB 75 1E 32 0E 87 77 21 32 0F \
899 87 67 7D 06 FF 80 D2 06 74 12 02 01 28 60 FF 67 \
900 BB 75 38 32 0E 87 77 3B 32 0F 87 67 7D 06 FF 80 \
901 D2 03 74 2C 12 FE 85 05 D2 0F 71 4E 52 00 12 FD \
902 85 05 D2 1F 71 58 52 00 12 FC 85 05 D2 05 71 62 \
903 52 00 3A C8 32 01 97 75 76 32 00 97 75 C9 16 FC \
904 DA 02 71 C9 77 D0 32 00 97 75 C2 77 D0 32 00 97 \
905 75 86 32 0E 87 57 32 01 97 75 8F 32 0E 87 57 32 \
906 0F 87 57 32 05 97 71 A3 32 02 97 71 C2 06 FD D2 \
907 01 71 C2 06 FF 67 BB 75 C2 32 03 97 71 D0 32 04 \
908 97 75 C9 06 FE D2 07 71 C9 77 D0 12 A0 F8 15 1A \
909 00 57 32 0E 87 32 0E 87 57 32 0E 87 32 0F 87 57 \
910 32 0F 87 32 0E 87 57 00 00 00 00 00 00 00 00 00'" # sdk56018.hex
911
912if $?raptor && $?rap24_ref "local ledcode '\
913 02 06 60 E1 67 48 67 31 06 E1 80 D2 1E 71 02 02 \
914 05 60 E1 67 48 67 31 06 E1 90 D2 03 74 11 02 02 \
915 60 E1 67 48 67 31 06 E1 90 D2 00 74 20 86 E0 3A \
916 38 06 E1 67 50 75 57 28 32 00 32 01 B7 97 75 57 \
917 16 E0 CA 05 74 5B 77 57 06 E1 67 50 75 57 77 5B \
918 12 A0 F8 15 1A 00 57 32 0F 87 57 32 0E 87 57 00'" # sdk56214.hex
919
920if $?raven_eb_48p "local ledcode '\
921 02 06 28 60 C3 67 30 67 6C 06 C3 80 D2 1E 74 02 \
922 12 C2 85 05 D2 0F 71 1A 52 00 12 C1 85 05 D2 1F \
923 71 24 52 00 12 C0 85 05 D2 05 71 2E 52 00 3A 60 \
924 32 00 97 75 3C 12 C0 FE C3 02 0A 50 32 01 97 75 \
925 48 12 E0 FE C3 02 0A 50 12 E0 FE C3 95 75 5A 85 \
926 12 C0 FE C3 95 75 A9 85 77 9B 12 C0 FE C3 95 75 \
927 64 85 77 A2 16 C0 DA 02 71 A2 77 A9 32 05 97 71 \
928 7C 32 02 97 71 9B 06 C1 D2 01 71 9B 06 C3 67 94 \
929 75 9B 32 03 97 71 A9 32 04 97 75 A2 06 C2 D2 07 \
930 71 A2 77 A9 12 A0 F8 15 1A 00 57 32 0E 87 32 0E \
931 87 57 32 0E 87 32 0F 87 57 32 0F 87 32 0E 87 57'" #bcm956024p48ref.hex
932
933if $?BCM956024R50T "local ledcode '\
934 02 06 28 60 C3 67 30 67 6C 06 C3 80 D2 1E 74 02 \
935 12 C2 85 05 D2 0F 71 1A 52 00 12 C1 85 05 D2 1F \
936 71 24 52 00 12 C0 85 05 D2 05 71 2E 52 00 3A 60 \
937 32 00 97 75 3C 12 C0 FE C3 02 0A 50 32 01 97 75 \
938 48 12 E0 FE C3 02 0A 50 12 E0 FE C3 95 75 5A 85 \
939 12 C0 FE C3 95 75 A9 85 77 9B 12 C0 FE C3 95 75 \
940 64 85 77 A2 16 C0 DA 02 71 A2 77 A9 32 05 97 75 \
941 7C 32 02 97 71 9B 06 C1 D2 01 71 9B 06 C3 67 94 \
942 75 9B 32 03 97 71 A9 32 04 97 75 A2 06 C2 D2 07 \
943 71 A2 77 A9 12 A0 F8 15 1A 00 57 32 0E 87 32 0E \
944 87 57 32 0E 87 32 0F 87 57 32 0F 87 32 0E 87 57'" #bcm956024r50t.hex
945
946if $?scorpion || $?conqueror "local ledcode '\
947 02 18 28 60 E1 67 12 06 E1 90 D2 00 74 02 86 E0 \
948 3A 18 67 2D 75 34 28 32 00 32 01 B7 97 75 38 16 \
949 E0 CA 05 74 38 77 34 67 2D 75 34 77 38 12 A0 F8 \
950 15 1A 00 57 32 0F 87 57 32 0E 87 57 00 00 00 00 \
951 00 00 00'" #sdk56820.hex
952
953if $?scorpion && $?BCM956820R24XG "local ledcode '\
954 02 01 28 67 D0 02 02 28 67 D6 67 D0 02 01 28 67 \
955 D6 02 04 28 67 D0 02 03 28 67 D6 67 D0 02 04 28 \
956 67 D6 02 05 28 67 D0 02 06 28 67 D6 67 D0 02 05 \
957 28 67 D6 02 07 28 67 D0 02 08 28 67 D6 67 D0 02 \
958 07 28 67 D6 02 09 28 67 D0 02 0A 28 67 D6 67 D0 \
959 02 09 28 67 D6 02 0C 28 67 D0 02 0B 28 67 D6 67 \
960 D0 02 0C 28 67 D6 02 0D 28 67 D0 02 0E 28 67 D6 \
961 67 D0 02 0D 28 67 D6 02 0F 28 67 D0 02 10 28 67 \
962 D6 67 D0 02 0F 28 67 D6 02 11 28 67 D0 02 12 28 \
963 67 D6 67 D0 02 11 28 67 D6 02 14 28 67 D0 02 13 \
964 28 67 D6 67 D0 02 14 28 67 D6 02 15 28 67 D0 02 \
965 16 28 67 D6 67 D0 02 15 28 67 D6 02 17 28 67 D0 \
966 02 18 28 67 D6 67 D0 02 17 28 67 D6 86 E0 3A 30 \
967 67 F1 75 F8 77 FC 67 F1 75 F8 28 32 00 32 01 B7 \
968 97 75 F8 16 E0 CA 05 74 FC 77 F8 67 F1 75 F8 77 \
969 FC 12 A0 F8 15 1A 00 57 32 0F 87 57 32 0E 87 57 \
970 '" #bcm956820r24xg.hex
971
972if $?valkyrie "local ledcode '\
973 02 02 67 A9 67 94 02 03 67 A9 67 94 02 05 67 A9 \
974 67 94 02 04 67 A9 67 94 02 06 67 A9 67 94 02 07 \
975 67 A9 67 94 02 12 67 A9 67 94 02 13 67 A9 67 94 \
976 02 0E 67 A9 67 94 02 0F 67 A9 67 94 02 11 67 A9 \
977 67 94 02 10 67 A9 67 94 02 1A 67 A9 67 94 02 20 \
978 67 A9 67 94 02 21 67 A9 67 94 02 22 67 A9 67 94 \
979 02 23 67 A9 67 94 02 24 67 A9 67 94 02 2F 67 A9 \
980 67 94 02 2E 67 A9 67 94 02 1B 67 A9 67 94 02 2B \
981 67 A9 67 94 02 2C 67 A9 67 94 02 2D 67 A9 67 94 \
982 86 E0 3A 30 67 AF 75 B6 28 32 00 32 01 B7 97 75 \
983 B6 16 E0 CA 05 74 BA 77 B6 67 AF 75 B6 77 BA 12 \
984 A0 F8 15 1A 00 57 32 0F 87 57 32 0E 87 57 00 00 \
985 00'" #sdk56680.hex
986
987if $?valkyrie2 "local ledcode '\
988 02 1E 67 A9 67 94 02 1F 67 A9 67 94 02 21 67 A9 \
989 67 94 02 20 67 A9 67 94 02 22 67 A9 67 94 02 23 \
990 67 A9 67 94 02 24 67 A9 67 94 02 25 67 A9 67 94 \
991 02 26 67 A9 67 94 02 27 67 A9 67 94 02 29 67 A9 \
992 67 94 02 28 67 A9 67 94 02 2A 67 A9 67 94 02 2B \
993 67 A9 67 94 02 2C 67 A9 67 94 02 2D 67 A9 67 94 \
994 02 2E 67 A9 67 94 02 2F 67 A9 67 94 02 31 67 A9 \
995 67 94 02 30 67 A9 67 94 02 32 67 A9 67 94 02 33 \
996 67 A9 67 94 02 34 67 A9 67 94 02 35 67 A9 67 94 \
997 86 E0 3A 30 67 AF 75 B6 28 32 00 32 01 B7 97 75 \
998 B6 16 E0 CA 05 74 BA 77 B6 67 AF 75 B6 77 BA 12 \
999 A0 F8 15 1A 00 57 32 0F 87 57 32 0E 87 57 00 00 \
1000 00'" #sdk56685.hex
1001
1002if $?hawkeye_p24 "local ledcode '\
1003 02 01 28 60 E3 67 43 67 1C 06 E3 80 D2 19 74 02 \
1004 12 E0 85 05 D2 03 71 1A 52 00 3A 60 32 00 32 01 \
1005 B7 97 75 2B 12 E4 FE E3 02 01 50 12 E4 FE E3 95 \
1006 75 3B 85 06 E3 67 55 75 6A 77 5C 16 E0 DA 01 71 \
1007 6A 77 5C 06 E3 67 55 75 6A 32 03 97 71 5C 32 04 \
1008 97 75 6A 77 63 12 A0 F8 15 1A 00 57 32 0E 87 32 \
1009 0F 87 57 32 0F 87 32 0E 87 57 32 0F 87 32 0F 87 \
1010 57'" #bcm953314p24ref.hex
1011
1012if $?hawkeye_k24 "local ledcode '\
1013 02 01 28 60 E1 67 3D 67 1C 06 E1 80 D2 19 74 02 \
1014 12 E0 85 05 D2 05 71 1A 52 00 3A 30 32 00 32 01 \
1015 B7 97 75 2B 12 E2 FE E1 02 0A 50 12 E2 FE E1 95 \
1016 75 35 85 77 50 16 E0 DA 02 71 4C 77 50 06 E1 67 \
1017 45 75 50 77 4C 12 A0 F8 15 1A 00 57 32 0E 87 57 \
1018 32 0F 87 57 00 00 00 00 00 00 00 00 00 00 00 00'" #bcm953314k24.hex
1019
1020if !"expr $pcidev + 0 == 0xb624" "local ledcode '\
1021 02 1C 28 67 18 02 1D 28 67 18 02 1E 28 67 18 02 \
1022 1F 28 67 18 86 E0 3A 08 67 3B 75 20 67 46 77 24 \
1023 67 42 77 42 28 32 00 32 01 B7 97 75 42 16 E0 CA \
1024 05 74 46 77 42 67 3B 75 42 77 46 12 A0 F8 15 1A \
1025 00 57 32 0F 87 57 32 0E 87 57 00 00 00 00 00 00'" #sdk56624.hex
1026
1027if !"expr $pcidev + 0 == 0xb626" "local ledcode '\
1028 02 1A 28 67 22 02 1B 28 67 22 02 1C 28 67 22 02 \
1029 1D 28 67 22 02 1E 28 67 22 02 1F 28 67 22 86 E0 \
1030 3A 08 67 3D 75 44 28 32 00 32 01 B7 97 75 48 16 \
1031 E0 CA 05 74 48 77 44 67 3D 75 44 77 48 12 A0 F8 \
1032 15 1A 00 57 32 0F 87 57 32 0E 87 57 00 00 00 00'" #sdk56626.hex
1033
1034if !"expr $pcidev + 0 == 0xb628" "local ledcode '\
1035 02 02 28 67 2C 02 0E 28 67 2C 02 1A 28 67 2C 02 \
1036 1B 28 67 2C 02 1C 28 67 2C 02 1D 28 67 2C 02 1E \
1037 28 67 2C 02 1F 28 67 2C 86 E0 3A 08 67 47 75 4E \
1038 28 32 00 32 01 B7 97 75 52 16 E0 CA 05 74 52 77 \
1039 4E 67 47 75 4E 77 52 12 A0 F8 15 1A 00 57 32 0F \
1040 87 57 32 0E 87 57 00 00 00 00 00 00 00 00 00 00'" #sdk56628.hex
1041
1042if !"expr $pcidev + 0 == 0xb629" "local ledcode '\
1043 02 02 28 67 2C 02 0E 28 67 2C 02 1A 28 67 2C 02 \
1044 1B 28 67 2C 02 1C 28 67 2C 02 1D 28 67 2C 02 1E \
1045 28 67 2C 02 1F 28 67 2C 86 E0 3A 08 67 47 75 4E \
1046 28 32 00 32 01 B7 97 75 52 16 E0 CA 05 74 52 77 \
1047 4E 67 47 75 4E 77 52 12 A0 F8 15 1A 00 57 32 0F \
1048 87 57 32 0E 87 57 00 00 00 00 00 00 00 00 00 00'" #sdk56629.hex
1049
1050if !"expr $pcidev + 0 == 0xb634" "local ledcode '\
1051 02 1A 28 67 18 02 1B 28 67 18 02 1C 28 67 18 02 \
1052 1D 28 67 18 86 E0 3A 08 67 3B 75 20 67 46 77 24 \
1053 67 42 77 42 28 32 00 32 01 B7 97 75 42 16 E0 CA \
1054 05 74 46 77 42 67 3B 75 42 77 46 12 A0 F8 15 1A \
1055 00 57 32 0F 87 57 32 0E 87 57 00 00 00 00 00 00'" #sdk56634.hex
1056
1057if !"expr $pcidev + 0 == 0xb630" "local ledcode '\
1058 02 1A 28 67 18 02 1B 28 67 18 02 1C 28 67 18 02 \
1059 1D 28 67 18 86 E0 3A 08 67 3B 75 20 67 46 77 24 \
1060 67 42 77 42 28 32 00 32 01 B7 97 75 42 16 E0 CA \
1061 05 74 46 77 42 67 3B 75 42 77 46 12 A0 F8 15 1A \
1062 00 57 32 0F 87 57 32 0E 87 57 00 00 00 00 00 00'" #sdk56634.hex
1063
1064if !"expr $pcidev + 0 == 0xb636" "local ledcode '\
1065 02 2A 28 67 22 02 32 28 67 22 02 1A 28 67 22 02 \
1066 1B 28 67 22 02 1C 28 67 22 02 1D 28 67 22 86 E0 \
1067 3A 08 67 3D 75 44 28 32 00 32 01 B7 97 75 48 16 \
1068 E0 CA 05 74 48 77 44 67 3D 75 44 77 48 12 A0 F8 \
1069 15 1A 00 57 32 0F 87 57 32 0E 87 57 00 00 00 00'" #sdk56636.hex
1070
1071if !"expr $pcidev + 0 == 0xb638" "local ledcode '\
1072 02 1E 28 67 2C 02 26 28 67 2C 02 2A 28 67 2C 02 \
1073 32 28 67 2C 02 1A 28 67 2C 02 1B 28 67 2C 02 1C \
1074 28 67 2C 02 1D 28 67 2C 86 E0 3A 08 67 47 75 4E \
1075 28 32 00 32 01 B7 97 75 52 16 E0 CA 05 74 52 77 \
1076 4E 67 47 75 4E 77 52 12 A0 F8 15 1A 00 57 32 0F \
1077 87 57 32 0E 87 57 00 00 00 00 00 00 00 00 00 00'" #sdk56638.hex
1078
1079if !"expr $pcidev + 0 == 0xb639" "local ledcode '\
1080 02 1E 28 67 2C 02 26 28 67 2C 02 2A 28 67 2C 02 \
1081 32 28 67 2C 02 1A 28 67 2C 02 1B 28 67 2C 02 1C \
1082 28 67 2C 02 1D 28 67 2C 86 E0 3A 08 67 47 75 4E \
1083 28 32 00 32 01 B7 97 75 52 16 E0 CA 05 74 52 77 \
1084 4E 67 47 75 4E 77 52 12 A0 F8 15 1A 00 57 32 0F \
1085 87 57 32 0E 87 57 00 00 00 00 00 00 00 00 00 00'" #sdk56639.hex
1086
1087if !"expr $pcidev + 0 == 0xb334" "local ledcode '\
1088 02 02 28 60 E1 67 3D 67 1C 06 E1 80 D2 1E 74 02 \
1089 12 E0 85 05 D2 05 71 1A 52 00 3A 38 32 00 32 01 \
1090 B7 97 75 2B 12 E2 FE E1 02 0A 50 12 E2 FE E1 95 \
1091 75 35 85 77 4C 16 E0 DA 02 71 50 77 4C 06 E1 67 \
1092 45 75 4C 77 50 12 A0 F8 15 1A 00 57 32 0F 87 57 \
1093 32 0E 87 57 00 00 00 00 00 00 00 00 00 00 00 00'" #sdk56334.hex
1094
1095if $?apollo "local ledcode '\
1096 02 1E 28 60 E0 67 58 67 73 06 E0 80 28 60 E0 67 \
1097 73 67 58 06 E0 80 D2 36 74 02 02 1A 28 60 E0 67 \
1098 9B 75 29 67 B0 67 58 77 31 32 0E 87 32 08 87 67 \
1099 A2 06 E0 80 D2 1E 74 1C 12 E2 85 05 D2 0F 71 42 \
1100 52 00 12 E1 85 05 D2 1F 71 4C 52 00 12 E3 85 05 \
1101 D2 05 71 56 52 00 3A 70 32 00 97 75 64 32 01 97 \
1102 71 6B 77 B0 32 01 97 71 A9 77 A2 16 E3 DA 02 71 \
1103 A9 77 B0 32 05 97 75 83 32 02 97 71 A2 06 E1 D2 \
1104 01 71 A2 06 E0 67 9B 75 A2 32 03 97 71 B0 32 04 \
1105 97 75 A9 06 E2 D2 07 71 A9 77 B0 12 A0 F8 15 1A \
1106 00 57 32 0E 87 32 0E 87 57 32 0E 87 32 0F 87 57 \
1107 32 0F 87 32 0E 87 57 00 00 00 00 00 00 00 00 00'" #sdk56524.hex
1108
1109if $?tomahawk || $?tomahawk_plus "local ledcode '\
1110 02 00 28 60 E1 67 25 67 14 06 E1 80 D2 40 74 02 \
1111 86 E0 3A FC 28 32 00 32 01 B7 97 75 37 16 E0 CA \
1112 05 74 3E 77 37 67 2B 75 37 77 45 12 A0 F8 15 1A \
1113 00 57 28 32 07 97 57 32 0E 87 32 0E 87 57 32 0F \
1114 87 32 0E 87 57 32 0E 87 32 0F 87 57 00 00 00 00'" #sdk56960.hex
1115
1116if $?trident2plus "local ledcode '\
1117 02 01 28 60 E1 67 31 67 20 06 E1 80 D2 31 74 02 \
1118 86 E0 3A C0 67 37 75 1C 67 51 77 20 67 43 77 43 \
1119 28 32 00 32 01 B7 97 75 43 16 E0 CA 05 74 4A 77 \
1120 43 67 37 75 43 77 51 12 A0 F8 15 1A 00 57 28 32 \
1121 07 97 57 32 0E 87 32 0E 87 57 32 0F 87 32 0E 87 \
1122 57 32 0E 87 32 0F 87 57 00 00 00 00 00 00 00 00'" #sdk56860.hex
1123
1124if $?apache "local ledcode '\
1125 02 00 67 24 67 0F 80 D2 24 74 02 86 E0 3A F8 67 \
1126 34 75 16 77 1D 57 67 3C 75 62 77 44 57 67 3C 75 \
1127 4E 77 58 57 67 2C 75 62 77 70 07 57 07 12 A0 F8 \
1128 15 1A 00 57 07 12 A0 F8 15 1A 04 57 07 12 A0 F8 \
1129 15 1A 05 57 16 E0 CA 1E 74 69 77 62 07 57 16 E0 \
1130 CA 1E 74 70 77 62 07 57 16 E0 CA 1E 74 69 77 70 \
1131 07 57 32 0E 87 32 0E 87 57 32 0F 87 32 0E 87 57 \
1132 32 0E 87 32 0F 87 57 00 00 00 00 00 00 00 00 00'" #sdk56560.hex
1133
1134if $?generic8led "local ledcode '\
1135 06 E1 D2 40 71 11 E0 60 E1 16 E3 DA 01 71 15 60 \
1136 E3 67 5D 75 2B 12 01 61 E3 67 71 28 67 32 86 E0 \
1137 16 E2 81 61 E2 DA 1E 75 2B 3A 08 E9 61 E2 86 E1 \
1138 77 00 67 5D 75 38 77 3C 67 64 77 64 67 41 67 4F \
1139 57 28 32 01 97 75 64 16 E0 CA 05 74 68 77 64 28 \
1140 32 00 97 75 64 16 E0 CA 05 74 68 77 64 12 A0 F8 \
1141 15 1A 00 57 32 0F 87 57 32 0E 87 57 09 75 64 77 \
1142 68 12 05 67 6C 12 04 67 6C 12 03 67 6C 12 02 67 \
1143 6C 12 01 67 6C 12 00 67 6C 57 00 00 00 00 00 00'" #generic8led.hex
1144
1145# Download LED code into LED processor and enable (if applicable).
1146
1147if $?feature_led_proc && $?ledcode && !$?simulator \
1148 "led prog $ledcode; \
1149 led auto on; led start"
1150
1151# Setup Greyhound LED processor
1152if $?greyhound \
1153 "rcload gh_ledup.soc"
1154
1155# Setup Hurricane3 LED processor
1156if $?hurricane3 \
1157 "rcload hr3_led.soc"
1158
1159# Setup Tomahawk LED processor
1160if $?tomahawk && !$?simulator \
1161 "led 1 prog $ledcode; \
1162 led 1 auto on; led 1 start; \
1163 led 2 prog $ledcode; \
1164 led 2 auto on; led 2 start"
1165
1166# Setup Tomahawk+ LED processor
1167if $?tomahawk_plus && !$?simulator \
1168 "led 1 prog $ledcode; \
1169 led 1 auto on; led 1 start; \
1170 led 2 prog $ledcode; \
1171 led 2 auto on; led 2 start"
1172
1173# If loading multiple rc.soc, upon loading the last unit, restart
1174# all LED processors so any common blinking is in sync.
1175
1176if !"expr $?feature_led_proc && !$?simulator && $unit == $units - 1" \
1177 "*:led stop; *:led start"
1178
1179# Run counter DMA task 4 times per second to achieve better
1180# ctr_xaui_activity.
1181if $?bradley_any \
1182 "ctr interval=250000"
1183
1184# Initialize Hercules UC modid 0 entry to point to the CPU
1185if $?herc_any \
1186 "w uc 0 1 1"
1187
1188# Additional configuration for 48-port in Stacking mode.
1189# On the 48-port platform, rc.soc is run twice; once on unit 0 and
1190# then once on unit 1. The turbo port on unit N is geN.
1191# All turbo port traffic must be tagged; see vlan add below.
1192# See $SDK/doc/48-port.txt for more information including how
1193# to configure IPG values for line rate operation.
1194
1195if $?p48 && $?unit0 \
1196 "local turbo_port 0; local my_modid 1;"
1197
1198if $?p48 && $?unit1 \
1199 "local turbo_port 1; local my_modid 2;"
1200
1201if $?p48 \
1202 "m config st_is_mirr=0 st_module=1 st_mcnt=1 st_simplex=0 st_link=0; \
1203 m config.g$turbo_port st_link=1; \
1204 m gmacc2.ge$turbo_port ipgt=8 mclkfq=1; \
1205 m fe_maxf maxfr=1560; \
1206 m maxfr maxfr=1568; \
1207 m config2 my_modid=$my_modid; \
1208 port ge$turbo_port speed=2500; \
1209 vlan add 1 pbm=ge$turbo_port ubm=none"
1210
1211if !$?no_bcm && $?drac_any \
1212 "m modport_7_0 port_for_mod1=0xc"
1213if !$?no_bcm && $?lynx_any \
1214 "m modport_7_0 port_for_mod1=0x1"
1215if !$?no_bcm && $?tucana \
1216 "stkmode modid=0;"
1217if !$?no_bcm && $?tucana && !$?magnum && !$?tucana_nohg \
1218 "m modport_7_0 port_for_mod2=0x38; \
1219 m imodport_7_0 port_for_mod0=0 port_for_mod1=0 port_for_mod2=0x38; \
1220 stkmode modid=0"
1221if !$?no_bcm && $?xgs_switch && !$?rcpu_only\
1222 "stkmode modid=0; \
1223 s CMIC_COS_CTRL_RX CH0_COS_BMP=0,CH1_COS_BMP=0xff, \
1224 CH2_COS_BMP=0,CH3_COS_BMP=0"
1225
1226# Back-to-back Draco setup.
1227
1228# Draco chips must run at 127MHz. Some older versions
1229# are not set to this frequency.
1230
1231if $?draco_stk && $?unit0 \
1232 "i2c probe quiet; bb clock Ref125 127"
1233
1234# Applies to SDK Baseboard with either internal or external Higigs,
1235# as well as the Galahad reference design.
1236
1237if $?draco_b2b && $?unit0 \
1238 "stkmode modid=0; \
1239 m modport_7_0 port_for_mod0=0 port_for_mod1=12; \
1240 m imodport_7_0 port_for_mod0=0 port_for_mod1=12"
1241
1242if !$?simulator && $?draco_b2b && $?unit0 \
1243 "i2c probe quiet; bb clock Ref125 127"
1244
1245if $?draco_b2b && $?unit1 \
1246 "stkmode modid=1; \
1247 m modport_7_0 port_for_mod0=12 port_for_mod1=0; \
1248 m imodport_7_0 port_for_mod0=12 port_for_mod1=0"
1249
1250# Merlin, White Knight, Black Knight setup.
1251# Draco unit 1 is on Herc port 8
1252# Draco unit 2 is on Herc port 1
1253
1254if $?draco_herc4 && $?unit0 \
1255 "w uc.hpic7 0 1 0x0; \
1256 w uc.hpic7 1 1 0x2; \
1257 w uc.hpic0 0 1 0x100; \
1258 w uc.hpic0 1 1 0x0"
1259
1260if !$?simulator && $?draco_herc4 && $?unit0 \
1261 "i2c probe quiet; bb clock Ref125 127"
1262
1263if $?draco_herc4 && $?unit1 \
1264 "stkmode modid=0; \
1265 m modport_7_0 port_for_mod0=0 port_for_mod1=12; \
1266 m imodport_7_0 port_for_mod0=0 port_for_mod1=12"
1267
1268if $?draco_herc4 && $?unit2 \
1269 "stkmode modid=1; \
1270 m modport_7_0 port_for_mod0=12 port_for_mod1=0; \
1271 m imodport_7_0 port_for_mod0=12 port_for_mod1=0"
1272
1273# Lancelot setup
1274# (enabled by adding the property "lancelot=1")
1275# Notes:
1276# Draco unit 1 is on Herc port 7
1277# Draco unit 2 is on Herc port 8
1278# Draco unit 3 is on Herc port 1
1279# Draco unit 4 is on Herc port 2
1280
1281if $?lancelot && $?unit0 \
1282 "w uc.hpic6 0 1 0x0; \
1283 w uc.hpic6 1 1 0x100; \
1284 w uc.hpic6 2 1 0x2; \
1285 w uc.hpic6 3 1 0x4; \
1286 w uc.hpic7 0 1 0x80; \
1287 w uc.hpic7 1 1 0x0; \
1288 w uc.hpic7 2 1 0x2; \
1289 w uc.hpic7 3 1 0x4; \
1290 w uc.hpic0 0 1 0x80; \
1291 w uc.hpic0 1 1 0x100; \
1292 w uc.hpic0 2 1 0x0; \
1293 w uc.hpic0 3 1 0x4; \
1294 w uc.hpic1 0 1 0x80; \
1295 w uc.hpic1 1 1 0x100; \
1296 w uc.hpic1 2 1 0x2; \
1297 w uc.hpic1 3 1 0x0"
1298
1299if !$?simulator && $?lancelot && $?unit0 \
1300 "i2c probe quiet; bb clock Draco_Core 127"
1301
1302if $?lancelot && $?unit1 \
1303 "stkmode modid=0; \
1304 m modport_7_0 port_for_mod0=0 port_for_mod1=12 \
1305 port_for_mod2=12 port_for_mod3=12; \
1306 m imodport_7_0 port_for_mod0=0 port_for_mod1=12 \
1307 port_for_mod2=12 port_for_mod3=12"
1308
1309if $?lancelot && $?unit2 \
1310 "stkmode modid=1; \
1311 m modport_7_0 port_for_mod0=12 port_for_mod1=0 \
1312 port_for_mod2=12 port_for_mod3=12; \
1313 m imodport_7_0 port_for_mod0=12 port_for_mod1=0 \
1314 port_for_mod2=12 port_for_mod3=12"
1315
1316if $?lancelot && $?unit3 \
1317 "stkmode modid=2; \
1318 m modport_7_0 port_for_mod0=12 port_for_mod1=12 \
1319 port_for_mod2=0 port_for_mod3=12; \
1320 m imodport_7_0 port_for_mod0=12 port_for_mod1=12 \
1321 port_for_mod2=0 port_for_mod3=12"
1322
1323if $?lancelot && $?unit4 \
1324 "stkmode modid=3; \
1325 m modport_7_0 port_for_mod0=12 port_for_mod1=12 \
1326 port_for_mod2=12 port_for_mod3=0; \
1327 m imodport_7_0 port_for_mod0=12 port_for_mod1=12 \
1328 port_for_mod2=12 port_for_mod3=0"
1329
1330# Lynx SDK (TwoLynx) setup
1331# (enabled by adding the property "twolynx=1")
1332
1333if $?twolynx && $?unit0 \
1334 "stkmode modid=0; \
1335 m modport_7_0 port_for_mod0=0 port_for_mod1=1; \
1336 m imodport_7_0 port_for_mod0=0 port_for_mod1=1; \
1337 "
1338
1339if $?twolynx && $?unit1 \
1340 "stkmode modid=1; \
1341 m modport_7_0 port_for_mod0=1 port_for_mod1=0; \
1342 m imodport_7_0 port_for_mod0=1 port_for_mod1=0; \
1343 "
1344# HercuLynx setup
1345# (enabled by adding the property "herculynx=1")
1346# Notes:
1347# Lynx unit 1 is on Herc port 1
1348# Lynx unit 2 is on Herc port 2
1349# Lynx unit 3 is on Herc port 3
1350# Lynx unit 4 is on Herc port 4
1351# Lynx unit 5 is on Herc port 5
1352# Lynx unit 6 is on Herc port 6
1353# Lynx unit 7 is on Herc port 7
1354# Lynx unit 8 is on Herc port 8
1355
1356if $?herculynx && $?unit0 \
1357 " \
1358 w uc.hpic0 0 1 0x002; \
1359 w uc.hpic0 1 1 0x004; \
1360 w uc.hpic0 2 1 0x008; \
1361 w uc.hpic0 3 1 0x010; \
1362 w uc.hpic0 4 1 0x020; \
1363 w uc.hpic0 5 1 0x040; \
1364 w uc.hpic0 6 1 0x080; \
1365 w uc.hpic0 7 1 0x100; \
1366 ; \
1367 w uc.hpic1 0 1 0x002; \
1368 w uc.hpic1 1 1 0x004; \
1369 w uc.hpic1 2 1 0x008; \
1370 w uc.hpic1 3 1 0x010; \
1371 w uc.hpic1 4 1 0x020; \
1372 w uc.hpic1 5 1 0x040; \
1373 w uc.hpic1 6 1 0x080; \
1374 w uc.hpic1 7 1 0x100; \
1375 ; \
1376 w uc.hpic2 0 1 0x002; \
1377 w uc.hpic2 1 1 0x004; \
1378 w uc.hpic2 2 1 0x008; \
1379 w uc.hpic2 3 1 0x010; \
1380 w uc.hpic2 4 1 0x020; \
1381 w uc.hpic2 5 1 0x040; \
1382 w uc.hpic2 6 1 0x080; \
1383 w uc.hpic2 7 1 0x100; \
1384 ; \
1385 w uc.hpic3 0 1 0x002; \
1386 w uc.hpic3 1 1 0x004; \
1387 w uc.hpic3 2 1 0x008; \
1388 w uc.hpic3 3 1 0x010; \
1389 w uc.hpic3 4 1 0x020; \
1390 w uc.hpic3 5 1 0x040; \
1391 w uc.hpic3 6 1 0x080; \
1392 w uc.hpic3 7 1 0x100; \
1393 ; \
1394 w uc.hpic4 0 1 0x002; \
1395 w uc.hpic4 1 1 0x004; \
1396 w uc.hpic4 2 1 0x008; \
1397 w uc.hpic4 3 1 0x010; \
1398 w uc.hpic4 4 1 0x020; \
1399 w uc.hpic4 5 1 0x040; \
1400 w uc.hpic4 6 1 0x080; \
1401 w uc.hpic4 7 1 0x100; \
1402 ; \
1403 w uc.hpic5 0 1 0x002; \
1404 w uc.hpic5 1 1 0x004; \
1405 w uc.hpic5 2 1 0x008; \
1406 w uc.hpic5 3 1 0x010; \
1407 w uc.hpic5 4 1 0x020; \
1408 w uc.hpic5 5 1 0x040; \
1409 w uc.hpic5 6 1 0x080; \
1410 w uc.hpic5 7 1 0x100; \
1411 ; \
1412 w uc.hpic6 0 1 0x002; \
1413 w uc.hpic6 1 1 0x004; \
1414 w uc.hpic6 2 1 0x008; \
1415 w uc.hpic6 3 1 0x010; \
1416 w uc.hpic6 4 1 0x020; \
1417 w uc.hpic6 5 1 0x040; \
1418 w uc.hpic6 6 1 0x080; \
1419 w uc.hpic6 7 1 0x100; \
1420 ; \
1421 w uc.hpic7 0 1 0x002; \
1422 w uc.hpic7 1 1 0x004; \
1423 w uc.hpic7 2 1 0x008; \
1424 w uc.hpic7 3 1 0x010; \
1425 w uc.hpic7 4 1 0x020; \
1426 w uc.hpic7 5 1 0x040; \
1427 w uc.hpic7 6 1 0x080; \
1428 w uc.hpic7 7 1 0x100; \
1429 ; \
1430 "
1431
1432if $?herculynx && $?lynx_any \
1433 "m modport_7_0 \
1434 port_for_mod0=1 port_for_mod1=1 \
1435 port_for_mod2=1 port_for_mod3=1 \
1436 port_for_mod4=1 port_for_mod5=1 \
1437 port_for_mod6=1 port_for_mod7=1; \
1438 m imodport_7_0 \
1439 port_for_mod0=1 port_for_mod1=1 \
1440 port_for_mod2=1 port_for_mod3=1 \
1441 port_for_mod4=1 port_for_mod5=1 \
1442 port_for_mod6=1 port_for_mod7=1; \
1443 "
1444
1445if $?herculynx && $?unit1 \
1446 "stkmode modid=0"
1447
1448if $?herculynx && $?unit2 \
1449 "stkmode modid=1"
1450
1451if $?herculynx && $?unit3 \
1452 "stkmode modid=2"
1453
1454if $?herculynx && $?unit4 \
1455 "stkmode modid=3"
1456
1457if $?herculynx && $?unit5 \
1458 "stkmode modid=4"
1459
1460if $?herculynx && $?unit6 \
1461 "stkmode modid=5"
1462
1463if $?herculynx && $?unit7 \
1464 "stkmode modid=6"
1465
1466if $?herculynx && $?unit8 \
1467 "stkmode modid=7"
1468
1469# LynxaLot setup
1470# (enabled by adding the property "lynxalot=1")
1471# Notes:
1472# Lynx unit 0 is on Herc port 3 (hg2/hpic2) (mod 0)
1473# Lynx unit 1 is on Herc port 4 (hg3/hpic3) (mod 1)
1474# Higig conn 0 is on Herc port 5 (hg4/hpic4)
1475# Higig conn 1 is on Herc port 6 (hg5/hpic5)
1476# Draco unit 3 is on Herc port 7 (hg6/hpic6) (mod 2)
1477# Draco unit 4 is on Herc port 8 (hg7/hpic7) (mod 3)
1478# Draco unit 5 is on Herc port 1 (hg0/hpic0) (mod 4)
1479# Draco unit 6 is on Herc port 2 (hg1/hpic1) (mod 5)
1480
1481if $?lynxalot && $?unit2 \
1482 " \
1483 w uc.hpic0 0 1 0x008; \
1484 w uc.hpic0 1 1 0x010; \
1485 w uc.hpic0 2 1 0x080; \
1486 w uc.hpic0 3 1 0x100; \
1487 w uc.hpic0 4 1 0x002; \
1488 w uc.hpic0 5 1 0x004; \
1489 ; \
1490 w uc.hpic1 0 1 0x008; \
1491 w uc.hpic1 1 1 0x010; \
1492 w uc.hpic1 2 1 0x080; \
1493 w uc.hpic1 3 1 0x100; \
1494 w uc.hpic1 4 1 0x002; \
1495 w uc.hpic1 5 1 0x004; \
1496 ; \
1497 w uc.hpic2 0 1 0x008; \
1498 w uc.hpic2 1 1 0x010; \
1499 w uc.hpic2 2 1 0x080; \
1500 w uc.hpic2 3 1 0x100; \
1501 w uc.hpic2 4 1 0x002; \
1502 w uc.hpic2 5 1 0x004; \
1503 ; \
1504 w uc.hpic3 0 1 0x008; \
1505 w uc.hpic3 1 1 0x010; \
1506 w uc.hpic3 2 1 0x080; \
1507 w uc.hpic3 3 1 0x100; \
1508 w uc.hpic3 4 1 0x002; \
1509 w uc.hpic3 5 1 0x004; \
1510 ; \
1511 w uc.hpic6 0 1 0x008; \
1512 w uc.hpic6 1 1 0x010; \
1513 w uc.hpic6 2 1 0x080; \
1514 w uc.hpic6 3 1 0x100; \
1515 w uc.hpic6 4 1 0x002; \
1516 w uc.hpic6 5 1 0x004; \
1517 ; \
1518 w uc.hpic7 0 1 0x008; \
1519 w uc.hpic7 1 1 0x010; \
1520 w uc.hpic7 2 1 0x080; \
1521 w uc.hpic7 3 1 0x100; \
1522 w uc.hpic7 4 1 0x002; \
1523 w uc.hpic7 5 1 0x004; \
1524 ; \
1525 "
1526
1527if $?lynxalot && $?lynx_any \
1528 "m modport_7_0 \
1529 port_for_mod0=1 port_for_mod1=1 \
1530 port_for_mod2=1 port_for_mod3=1 \
1531 port_for_mod4=1 port_for_mod5=1 \
1532 port_for_mod6=1 port_for_mod7=1; \
1533 m imodport_7_0 \
1534 port_for_mod0=1 port_for_mod1=1 \
1535 port_for_mod2=1 port_for_mod3=1 \
1536 port_for_mod4=1 port_for_mod5=1 \
1537 port_for_mod6=1 port_for_mod7=1; \
1538 "
1539
1540if $?lynxalot && $?drac_any \
1541 "m modport_7_0 port_for_mod0=12 port_for_mod1=12 \
1542 port_for_mod2=12 port_for_mod3=12 \
1543 port_for_mod4=12 port_for_mod5=12 \
1544 port_for_mod6=12 port_for_mod7=12; \
1545 m imodport_7_0 port_for_mod0=12 port_for_mod1=12 \
1546 port_for_mod2=12 port_for_mod3=12 \
1547 port_for_mod4=12 port_for_mod5=12 \
1548 port_for_mod6=12 port_for_mod7=12; \
1549 "
1550
1551if $?lynxalot && $?unit0 \
1552 "stkmode modid=0"
1553
1554if $?lynxalot && $?unit1 \
1555 "stkmode modid=1"
1556
1557if $?lynxalot && $?unit3 \
1558 "stkmode modid=2"
1559
1560if $?lynxalot && $?unit4 \
1561 "stkmode modid=3"
1562
1563if $?lynxalot && $?unit5 \
1564 "stkmode modid=4"
1565
1566if $?lynxalot && $?unit6 \
1567 "stkmode modid=5"
1568
1569# guenevere setup
1570# (enabled by adding the property "guenevere=1")
1571# Notes:
1572# hgX mapping based on pbmp_valid.0=0x1b7
1573# Draco unit 1 is on Herc port 1 (hg0/hpic0) (mod 0)
1574# Draco unit 2 is on Herc port 2 (hg1/hpic1) (mod 1)
1575# Lynx unit 3 is on Herc port 8 (hg5/hpic7) (mod 2)
1576# Lynx unit 4 is on Herc port 7 (hg4/hpic6) (mod 3)
1577# Higig conn 0 is on Herc port 4 (hg2/hpic3)
1578# Higig conn 1 is on Herc port 5 (hg3/hpic4)
1579# Herc port 3 - Unused (hpic2)
1580# Herc port 6 - Unused (hpic5)
1581if $?guenevere && $?unit0 \
1582 " \
1583 w uc.hpic0 0 1 0x002; \
1584 w uc.hpic0 1 1 0x004; \
1585 w uc.hpic0 2 1 0x100; \
1586 w uc.hpic0 3 1 0x080; \
1587 ; \
1588 w uc.hpic1 0 1 0x002; \
1589 w uc.hpic1 1 1 0x004; \
1590 w uc.hpic1 2 1 0x100; \
1591 w uc.hpic1 3 1 0x080; \
1592 ; \
1593 w uc.hpic7 0 1 0x002; \
1594 w uc.hpic7 1 1 0x004; \
1595 w uc.hpic7 2 1 0x100; \
1596 w uc.hpic7 3 1 0x080; \
1597 ; \
1598 w uc.hpic6 0 1 0x002; \
1599 w uc.hpic6 1 1 0x004; \
1600 w uc.hpic6 2 1 0x100; \
1601 w uc.hpic6 3 1 0x080; \
1602 ; \
1603 "
1604
1605if $?guenevere && $?lynx_any \
1606 "m modport_7_0 \
1607 port_for_mod0=1 port_for_mod1=1 \
1608 port_for_mod2=1 port_for_mod3=1 \
1609 port_for_mod4=1 port_for_mod5=1 \
1610 port_for_mod6=1 port_for_mod7=1; \
1611 m imodport_7_0 \
1612 port_for_mod0=1 port_for_mod1=1 \
1613 port_for_mod2=1 port_for_mod3=1 \
1614 port_for_mod4=1 port_for_mod5=1 \
1615 port_for_mod6=1 port_for_mod7=1; \
1616 "
1617
1618if $?guenevere && $?drac_any \
1619 "m modport_7_0 port_for_mod0=12 port_for_mod1=12 \
1620 port_for_mod2=12 port_for_mod3=12 \
1621 port_for_mod4=12 port_for_mod5=12 \
1622 port_for_mod6=12 port_for_mod7=12; \
1623 m imodport_7_0 port_for_mod0=12 port_for_mod1=12 \
1624 port_for_mod2=12 port_for_mod3=12 \
1625 port_for_mod4=12 port_for_mod5=12 \
1626 port_for_mod6=12 port_for_mod7=12; \
1627 "
1628
1629if $?guenevere && $?unit1 \
1630 "stkmode modid=0"
1631
1632if $?guenevere && $?unit2 \
1633 "stkmode modid=1"
1634
1635if $?guenevere && $?unit3 \
1636 "stkmode modid=2"
1637
1638if $?guenevere && $?unit4 \
1639 "stkmode modid=3"
1640
1641# felix48 setup
1642# (enabled by adding the property "felix48=1")
1643# Notes:
1644# BCM56102 unit-0 higig port (port 26) is connected
1645# to BCM56102 Unit-1 higig port (port 26)
1646#
1647
1648if $?felix48 && $?unit0 \
1649 "stkmode modid=0 ; \
1650 m IEGR_PORT MY_MODID=0; \
1651 m XPORT_CONFIG MY_MODID=0; \
1652 w MODPORT_MAP 1 1 HIGIG_PORT_BITMAP=0x4 ; \
1653 "
1654
1655if $?felix48 && $?unit1 \
1656 "stkmode modid=1 ; \
1657 m IEGR_PORT MY_MODID=1; \
1658 m XPORT_CONFIG MY_MODID=1; \
1659 w MODPORT_MAP 0 1 HIGIG_PORT_BITMAP=0x4 ; \
1660 "
1661# fbpoe setup
1662# (enabled by adding the property "fbpoe=1")
1663# Notes:
1664# BCM56504 unit-0 higig port (port 27,28) is connected
1665# to BCM56504 Unit-1 higig port (port 27,28)
1666#
1667
1668if $?unit0 && $?firebolt_any && $?fbpoe \
1669 "stkmode modid=0; \
1670 w modport_map 1 1 HIGIG_PORT_BITMAP=0x4; \
1671 m HIGIG_TRUNK_GROUP HIGIG_TRUNK_RTAG1=3 \
1672 HIGIG_TRUNK_ID1_PORT0=2 \
1673 HIGIG_TRUNK_ID1_PORT1=3 \
1674 HIGIG_TRUNK_ID1_PORT2=2 \
1675 HIGIG_TRUNK_ID1_PORT3=3; \
1676 m HIGIG_TRUNK_CONTROL HIGIG_TRUNK_ID2=1 \
1677 HIGIG_TRUNK2=1 \
1678 HIGIG_TRUNK_ID3=1 \
1679 HIGIG_TRUNK3=1 \
1680 HIGIG_TRUNK_BITMAP1=0xc \
1681 ACTIVE_PORT_BITMAP=0xf"
1682
1683if $?unit1 && $?firebolt_any && $?fbpoe \
1684 "stkmode modid=1; \
1685 w modport_map 0 1 HIGIG_PORT_BITMAP=0x4; \
1686 m HIGIG_TRUNK_GROUP HIGIG_TRUNK_RTAG1=3 \
1687 HIGIG_TRUNK_ID1_PORT0=2 \
1688 HIGIG_TRUNK_ID1_PORT1=3 \
1689 HIGIG_TRUNK_ID1_PORT2=2 \
1690 HIGIG_TRUNK_ID1_PORT3=3; \
1691 m HIGIG_TRUNK_CONTROL HIGIG_TRUNK_ID2=1 \
1692 HIGIG_TRUNK2=1 \
1693 HIGIG_TRUNK_ID3=1 \
1694 HIGIG_TRUNK3=1 \
1695 HIGIG_TRUNK_BITMAP1=0xc \
1696 ACTIVE_PORT_BITMAP=0xf"
1697
1698# Dual Raptor/Raven boards
1699if $?raven_eb_48p || $?rap24_ref \
1700 "local rcpu_system 1"
1701if $?unit0 && $?rcpu_system \
1702 "stkmode modid=0"
1703if $?unit1 && $?rcpu_system \
1704 "stkmode modid=1"
1705
1706# LM fb48 platform setup
1707# (enabled by adding the property "lm48p=1")
1708#
1709if $?unit0 && $?firebolt_any && $?lm48p || $?lm48p_D \
1710 "stkmode modid=0"
1711
1712if $?unit1 && $?firebolt_any && $?lm48p || $?lm48p_D \
1713 "stkmode modid=1"
1714
1715# Set Firebolt POE power level 170(total) - 110(switch) = 60
1716if $?fbpoe \
1717 "local poepower 60"
1718
1719# Set Draco15 POE power level 170(total) - 80(switch) = 90
1720if $?drac15\
1721 "local poepower 90"
1722
1723# Hurricane3 BCM956160R setup
1724# Notes:
1725# BCM56160 unit-0 higig port (port 29,30) is connected
1726# to BCM56160 Unit-1 higig port (port 26,27)
1727#
1728
1729if $?bcm956160r && $?unit0 \
1730 "stkmode modid=0; \
1731 w modport_map 1 1 HIGIG_PORT_BITMAP=0x60000000; \
1732 trunk add id=128 r=3 pbm=hg0-hg1"
1733
1734if $?bcm956160r && $?unit1 \
1735 "stkmode modid=1; \
1736 w modport_map 0 1 HIGIG_PORT_BITMAP=0xc000000; \
1737 trunk add id=128 r=3 pbm=hg0-hg1"
1738
1739# if enable_poe is set, then enable the POE processor for
1740# either Firebolt or Draco15 platform
1741if $?unit0 && $?enable_poe && $?fbpoe || $?drac15 \
1742 "$echo rc: Enabling POE ...; \
1743 poesel reset; \
1744 i2c probe quiet; \
1745 xpoe verbose off; \
1746 xpoe power $poepower; \
1747 xpoe verbose on; \
1748 poesel enable"
1749
1750# mark this unit so that subsequent rc runs are quiet
1751setenv rc$unit 1
1752
1753if $?macsec '\
1754 macsec sync; \
1755 $echo "rc: MACSEC CLI Enabled"'
1756
1757# cache a copy of rc.soc in memory
1758rccache addq rc.soc
1759
1760# setup chassis if requested
1761if !"expr $?autochassis2 && $unit == $units - 1" \
1762 "setenv chassis2_no_rc 1; \
1763 rcload c2switch.soc; \
1764 setenv chassis2_no_rc; \
1765 "
1766
1767# start stacking if requested
1768if !"expr $?autostack && $unit == $units - 1" \
1769 "rcload stk.soc"
1770
1771if !"expr $?aedev + 0" && !"expr $unit == $units - 1" \
1772 "aedev init"
1773
1774# hurricane 48p FE platform LED setup for 56146_A0 and 56147_A0 board
1775# (enabled by adding the property "fe_hu_48p=1")
1776#
1777if $?fe_hu_48p && $?BCM56146 || $?BCM56147 \
1778 "phy fe0 0x1f 0x008b; \
1779 phy fe0 0x1a 0x3f09;\
1780 phy fe8 0x1f 0x008b; \
1781 phy fe8 0x1a 0x3f09; \
1782 phy fe16 0x1f 0x008b; \
1783 phy fe16 0x1a 0x3f09"
1784
1785# enable LED matrix mode for PHY54292 on BCM953411K/R
1786if $?bcm953411 \
1787 "rcload gh_bcm953411x.soc"
1788
1789if $?simulator \
1790 'echo -n "Chip init finishes at: ";date'