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