PMC-Sierra, Inc.
PM6541 E1XC-EVBD
TELECOM STANDARD PRODUCT
PMC-930917
ISSUE 1
E1XC EVALUATION DAUGHTERBOARD
: WEST
WE1XCNORM DEV !
;
: AD
( tsb offset --- addr )
( calculate the absolute address of normal register )
( assumes DEV has been set to EE1XCNORM or WE1XCNORM )
+ DEV @ + ;
: WRBIT
(
addr data bitpos --- )
( modify a single bit based upon "bitpos" mask )
DUP ROT 01 AND * FF ROT -
2 PICK RD AND OR WR
;
: WRIND offset base data ---
(
)
( perform SIGX or PCSC indirect write )
( "offset" is the indirect address )
( "base" is the SIGX or PCSC base address )
( "data" is the value to be written )
SWAP TSB !
TSB @ 3 + C!
(
(
store base )
write data )
TSB @ 2 + SWAP 7F AND WR
10 0 DO
(
write offset with R/W low )
TSB @ 1 + RD 80 < IF LEAVE THEN ( leave if not BUSY )
I 9 > IF CR ." BUSY STILL HIGH " CR LEAVE THEN
LOOP ;
: RDIND
(
offset base --- data
)
( perform SIGX or PCSC indirect read )
( "offset" is the indirect address )
( "base" is the SIGX or PCSC base address )
( "data" is the value to read )
TSB !
(
store base
)
TSB @ 2 + SWAP 80 OR WR
10 0 DO
(
write addr with R/W high )
TSB @ 1 + RD 80 < IF LEAVE THEN ( leave if not BUSY )
I 9 > IF CR ." BUSY STILL HIGH" CR LEAVE THEN
LOOP
TSB @ 3 + RD ;
(
read data )
( ### CONFIG ### )
( The "data" value is written to the appropriate bit )
:
SIND
( data --- )
27