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