summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Hjorth <magnus@gaisler.com>2012-03-26 09:40:42 +0200
committerDaniel Hellstrom <daniel@gaisler.com>2012-03-27 15:20:18 +0200
commita79017f997b8dfed1294d10c2d4df03a6c11f22b (patch)
treea9c8dc9b03d5dad0beda442f4f701743ed23a39f
parent12d9d722615f2f2a8f33767ca1cc171888217fd2 (diff)
b1553rt.c: rt_init: Preserve rtaddr and rtpar fields on init.
-rw-r--r--c/src/lib/libbsp/sparc/shared/1553/b1553rt.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/1553/b1553rt.c b/c/src/lib/libbsp/sparc/shared/1553/b1553rt.c
index 0fa0c0cb05..acb9379650 100644
--- a/c/src/lib/libbsp/sparc/shared/1553/b1553rt.c
+++ b/c/src/lib/libbsp/sparc/shared/1553/b1553rt.c
@@ -444,7 +444,6 @@ static void set_broadcast_en(rt_priv *rt, int data)
static rtems_device_driver rt_init(rt_priv *rt)
{
-
rt->rx_blocking = 1;
if ( rt->rt_event )
@@ -458,7 +457,9 @@ static rtems_device_driver rt_init(rt_priv *rt)
return RTEMS_NO_MEMORY;
}
- rt->regs->ctrl = rt->ctrl_copy = 0x3C1D0; /* RT address 1, broadcast disabled, extmdata=1, writetsw = writecmd = 1 */
+ rt->ctrl_copy = rt->regs->ctrl & 0x3F00; /* Keep rtaddr and rtaddrp */
+ rt->ctrl_copy |= 0x3C0D0; /* broadcast disabled, extmdata=1, writetsw = writecmd = 1 */
+ rt->regs->ctrl = rt->ctrl_copy;
/* Set Clock speed */
set_clkspd(rt, rt->cfg_freq);