[PATCH 061/111] B1553BRM: change the init of the RT legalization registers
Daniel Hellstrom
daniel at gaisler.com
Thu Feb 26 16:39:03 UTC 2015
---
c/src/lib/libbsp/sparc/shared/1553/b1553brm.c | 23 ++++++++++++++++++++-
c/src/lib/libbsp/sparc/shared/include/b1553brm.h | 8 +++++++
2 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/c/src/lib/libbsp/sparc/shared/1553/b1553brm.c b/c/src/lib/libbsp/sparc/shared/1553/b1553brm.c
index 19ad36c..6ec5d64 100644
--- a/c/src/lib/libbsp/sparc/shared/1553/b1553brm.c
+++ b/c/src/lib/libbsp/sparc/shared/1553/b1553brm.c
@@ -596,6 +596,25 @@ static void clr_int_logs(struct irq_log_list *logs){
}
}
+unsigned short b1553brm_rt_cmd_legalize[16] = {
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0xffff,
+ 0xffff,
+ 0xffff,
+ 0xfffd,
+ 0xfe01,
+ 0xfff2,
+ 0xffff,
+ 0xfffd,
+ 0xfe05,
+ 0xffff,
+};
+
static rtems_device_driver rt_init(brm_priv *brm) {
unsigned int i;
@@ -633,9 +652,9 @@ static rtems_device_driver rt_init(brm_priv *brm) {
clr_int_logs(brm->irq_log);
- /* Legalize all commands */
+ /* Initialize the Legalize register with standard values */
for (i = 0; i < 16; i++) {
- brm->regs->rt_cmd_leg[i] = 0;
+ brm->regs->rt_cmd_leg[i] = b1553brm_rt_cmd_legalize[i];
}
/* Init descriptor table
diff --git a/c/src/lib/libbsp/sparc/shared/include/b1553brm.h b/c/src/lib/libbsp/sparc/shared/include/b1553brm.h
index 1c3b38b..49b2a21 100644
--- a/c/src/lib/libbsp/sparc/shared/include/b1553brm.h
+++ b/c/src/lib/libbsp/sparc/shared/include/b1553brm.h
@@ -154,6 +154,14 @@ struct bc_msg {
void b1553brm_register_drv(void);
+/* Default initialization of the RT legalization registers. The values in this
+ * array are written to the registers on boot driver initialization and when
+ * the user set the mode to RT-mode by calling ioctl(BRM_SET_MODE). Thus,
+ * update the array first then call ioctl(BRM_SET_MODE) for the changes to have
+ * an affect. Note that this affects all B1553BRM RTs in the system.
+ */
+extern unsigned short b1553brm_rt_cmd_legalize[16];
+
#ifdef __cplusplus
}
#endif
--
1.7.0.4
More information about the devel
mailing list