openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

merlin5670.asm (2262B)


      1 ;
      2 ;
      3 ;
      4 ; This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      5 ; 
      6 ; Copyright 2007-2019 Broadcom Inc. All rights reserved.
      7 ; 
      8 ;
      9 ; This is the default 5670 program for the Merlin (BCM95690R24S).
     10 ;
     11 ; To start it, use the following commands from BCM,
     12 ; where unit 0 is the 5670 and units 1 and 2 are the 5690s:
     13 ;
     14 ;	0:led load merlin5670.hex
     15 ;	1:led load merlin5690.hex
     16 ;	1:led auto on
     17 ;	2:led load merlin5690.hex
     18 ;	2:led auto on
     19 ;	*:led start
     20 ;
     21 ; The 3 programs should be started all at once so that blinking
     22 ; is in sync across the 5690s.
     23 ;
     24 ; The Merlin has 14 columns of 4 LEDs each as shown below:
     25 ;
     26 ;            5690 Unit 1              5690 Unit 2          5670 Unit 0
     27 ;       -----------------------  -----------------------  --------------
     28 ;       L01 L03 L05 L07 L09 L11  L01 L03 L05 L07 L09 L11     E1 E2
     29 ;       A01 A03 A05 A07 A09 A11  A01 A03 A05 A07 A09 A11     R1 R2
     30 ;       L02 L04 L06 L08 L10 L12  L02 L04 L06 L08 L10 L12     T1 T2
     31 ;       A02 A04 A06 A08 A10 A12  A02 A04 A06 A08 A10 A12     L1 L2
     32 ;
     33 ; The 5670 LEDs are on the back of the unit.
     34 ;
     35 ; This program runs only on the 5670 and controls only the rightmost
     36 ; two columns of LEDs.  The merlin5690 program runs on each 5690.
     37 ;
     38 ; There is one bit per LED with the following colors:
     39 ;	ZERO		Green
     40 ;	ONE		Black
     41 ;
     42 ; The bits are shifted out in the following order:
     43 ;	E1, L1, T1, R1, E2, L2, T2, R2
     44 ;
     45 ; Current implementation:
     46 ;	E1 reflects port 1 higig link enable
     47 ;	R1 reflects port 1 higig receive activity
     48 ;	T1 reflects port 1 higig transmit activity
     49 ;	L1 reflects port 1 higig link up
     50 ;
     51 
     52 	port	3		; 5670 port 3 (right)
     53 	call	put
     54 
     55 	port	6		; 5670 port 6 (left)
     56 	call	put
     57 
     58 	send	8
     59 
     60 put:
     61 	pushst	LINKEN
     62 	tinv
     63 	pack
     64 	pushst	RX
     65 	tinv
     66 	pack
     67 	pushst	TX
     68 	tinv
     69 	pack
     70 	pushst	LINKUP
     71 	tinv
     72 	pack
     73 	ret
     74 
     75 ;
     76 ; Symbolic names for the bits of the port status fields
     77 ;
     78 
     79 RX		equ	0x0	; received packet
     80 TX		equ	0x1	; transmitted packet
     81 COLL		equ	0x2	; collision indicator
     82 SPEED_C		equ	0x3	; 100 Mbps
     83 SPEED_M		equ	0x4	; 1000 Mbps
     84 DUPLEX		equ	0x5	; half/full duplex
     85 FLOW		equ	0x6	; flow control capable
     86 LINKUP		equ	0x7	; link down/up status
     87 LINKEN		equ	0x8	; link disabled/enabled status
     88 ZERO		equ	0xE	; always 0
     89 ONE		equ	0xF	; always 1