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

wk5670.asm (2397B)


      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 program for the White Knight 5670.
     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 wk5670.hex
     15 ;	1:led load wk5690.hex
     16 ;	1:led auto on
     17 ;	2:led load wk5690.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 White Knight 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     L1 L2
     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     R1 R2
     32 ;
     33 ; This program runs only on the 5670 and controls only the rightmost
     34 ; two columns of LEDs.  The wk5690 program runs on each 5690.
     35 ;
     36 ; There is one bit per LED with the following colors:
     37 ;	ZERO		Green
     38 ;	ONE		Black
     39 ;
     40 ; The bits are shifted out in the following order:
     41 ;	E1, L1, T1, R1, E2, L2, T2, R2
     42 ;
     43 ; Current implementation:
     44 ;	E1 reflects port 1 higig link enable
     45 ;	L1 reflects port 1 higig link up
     46 ;	T1 reflects port 1 higig transmit activity
     47 ;	R1 reflects port 1 higig receive activity
     48 ;
     49 ; Note:
     50 ;	To provide consistent behavior, the gigabit LED patterns match
     51 ;	those in sdk5605.asm and the higig LEDs match those in sdk5670.asm.
     52 ;
     53 ;       E1 E2
     54 ;       L1 L2
     55 ;       T1 T2
     56 ;       R1 R2
     57 
     58 	port	3		; 5670 port 3 (right)
     59 	call	put
     60 
     61 	port	6		; 5670 port 6 (left)
     62 	call	put
     63 
     64 	send	8
     65 
     66 put:
     67 	pushst	LINKEN
     68 	tinv
     69 	pack
     70 	pushst	LINKUP
     71 	tinv
     72 	pack
     73 	pushst	TX
     74 	tinv
     75 	pack
     76 	pushst	RX
     77 	tinv
     78 	pack
     79 	ret
     80 
     81 ;
     82 ; Symbolic names for the bits of the port status fields
     83 ;
     84 
     85 RX		equ	0x0	; received packet
     86 TX		equ	0x1	; transmitted packet
     87 COLL		equ	0x2	; collision indicator
     88 SPEED_C		equ	0x3	; 100 Mbps
     89 SPEED_M		equ	0x4	; 1000 Mbps
     90 DUPLEX		equ	0x5	; half/full duplex
     91 FLOW		equ	0x6	; flow control capable
     92 LINKUP		equ	0x7	; link down/up status
     93 LINKEN		equ	0x8	; link disabled/enabled status
     94 ZERO		equ	0xE	; always 0
     95 ONE		equ	0xF	; always 1