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

guenevere5670.asm (2337B)


      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 Guenevere (BCM95695P24SX).
     10 ;
     11 ; To start it, use the following commands from BCM,
     12 ; where unit 0 is the 5670 and units 3 and 4 are the 5673s:
     13 ;
     14 ;	0:led load guenevere5670.hex
     15 ;	0:led auto on
     16 ;	3:led load guenevere5673.hex
     17 ;	3:led auto on
     18 ;	4:led load guenevere5673.hex
     19 ;	4:led auto on
     20 ;	*:led start
     21 ;
     22 ; The 3 programs should be started all at once so that blinking
     23 ; is in sync across the 5673s.
     24 ;
     25 ; The Guenevere has 3 columns of 4 LEDs each as shown below:
     26 ;
     27 ;       5670 Unit 0    5673 Unit 3    5673 Unit 4
     28 ;       -------------  -------------  --------------
     29 ;       L04            E1             E1 
     30 ;       A04            R1             R1 
     31 ;       L05            T1             T1 
     32 ;       A05            L1             L1 
     33 ;
     34 ; This program runs only on the 5670 and controls only the leftmost
     35 ; column of LEDs.  The guenevere5673 program runs on each 5673.
     36 ;
     37 ; There is one bit per LED with the following colors:
     38 ;	ZERO		Green
     39 ;	ONE		Black
     40 ;
     41 ; The bits are shifted out in the following order:
     42 ;	L04, A04, L05, A05
     43 ;
     44 ; Current implementation:
     45 ;	L04 reflects port 4 higig (External Higig 0) link up
     46 ;	A04 reflects port 4 higig (External Higig 0) receive/transmit activity
     47 ;	L05 reflects port 5 higig (External Higig 1) link up
     48 ;	A05 reflects port 5 higig (External Higig 1) receive/transmit activity
     49 ;       E1 reflects port 1 xe link enable
     50 ;       R1 reflects port 1 xe receive activity
     51 ;       T1 reflects port 1 xe transmit activity
     52 ;       L1 reflects port 1 xe link up
     53 ;
     54 
     55 	port	4		; 5670 port 4 (left)
     56 	call	put
     57 
     58 	port	5		; 5670 port 5 (right)
     59 	call	put
     60 
     61 	send	4
     62 
     63 put:
     64 	pushst	LINKUP
     65 	tinv
     66 	pack
     67 	pushst	RX
     68 	pushst	TX
     69 	tor			; RX | TX
     70  	tinv
     71 	pack
     72 	ret
     73 
     74 ;
     75 ; Symbolic names for the bits of the port status fields
     76 ;
     77 
     78 RX		equ	0x0	; received packet
     79 TX		equ	0x1	; transmitted packet
     80 COLL		equ	0x2	; collision indicator
     81 SPEED_C		equ	0x3	; 100 Mbps
     82 SPEED_M		equ	0x4	; 1000 Mbps
     83 DUPLEX		equ	0x5	; half/full duplex
     84 FLOW		equ	0x6	; flow control capable
     85 LINKUP		equ	0x7	; link down/up status
     86 LINKEN		equ	0x8	; link disabled/enabled status
     87 ZERO		equ	0xE	; always 0
     88 ONE		equ	0xF	; always 1