summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-08-22 13:59:56 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-08-22 13:59:56 +0000
commitd46a0055124ff2d3afd312bf23f084f095774c90 (patch)
treeac69b4a4a88a2682bf158fcc299704e753e307ce /c
parent2009-08-22 Xi Yang <hiyangxi@gmail.com> (diff)
downloadrtems-d46a0055124ff2d3afd312bf23f084f095774c90.tar.bz2
2009-08-22 Xi Yang <hiyangxi@gmail.com>
* pxa255/include/pxa255.h: Add constants for LCD, Network, and Timer. * pxa255/irq/bsp_irq_init.c, pxa255/irq/irq.c, pxa255/irq/irq.h: Change to dummy_handler().
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libcpu/arm/ChangeLog6
-rwxr-xr-xc/src/lib/libcpu/arm/pxa255/include/pxa255.h21
-rwxr-xr-xc/src/lib/libcpu/arm/pxa255/irq/bsp_irq_init.c7
-rwxr-xr-xc/src/lib/libcpu/arm/pxa255/irq/irq.c6
-rwxr-xr-xc/src/lib/libcpu/arm/pxa255/irq/irq.h1
5 files changed, 36 insertions, 5 deletions
diff --git a/c/src/lib/libcpu/arm/ChangeLog b/c/src/lib/libcpu/arm/ChangeLog
index cacaa098f6..371f1bd4dd 100644
--- a/c/src/lib/libcpu/arm/ChangeLog
+++ b/c/src/lib/libcpu/arm/ChangeLog
@@ -1,3 +1,9 @@
+2009-08-22 Xi Yang <hiyangxi@gmail.com>
+
+ * pxa255/include/pxa255.h: Add constants for LCD, Network, and Timer.
+ * pxa255/irq/bsp_irq_init.c, pxa255/irq/irq.c,
+ pxa255/irq/irq.h: Change to dummy_handler().
+
2009-08-18 Joel Sherrill <joel.sherrill@OARcorp.com>
* s3c2400/clock/clockdrv.c, s3c24xx/clock/clockdrv.c: Add stubs for
diff --git a/c/src/lib/libcpu/arm/pxa255/include/pxa255.h b/c/src/lib/libcpu/arm/pxa255/include/pxa255.h
index e3d2767ccf..beb63874ec 100755
--- a/c/src/lib/libcpu/arm/pxa255/include/pxa255.h
+++ b/c/src/lib/libcpu/arm/pxa255/include/pxa255.h
@@ -27,6 +27,7 @@ typedef unsigned int word_t;
#define XSCALE_IRQ_OS_TIMER 26
#define XSCALE_IRQ_PMU 12
#define XSCALE_IRQ_STUART 20
+#define XSCALE_IRQ_NETWORK 16
#define PMU_IRQ 12
#define CCNT_IRQ_ENABLE 1UL << 6
@@ -106,4 +107,24 @@ typedef unsigned int word_t;
#define PMC_PMNC_CCD (0x01 << 3)
#define PMC_PMNC_PCD (0x01 << 4)
+/*LCD*/
+#define LCCR0 (*(volatile word_t *)(0x44000000))
+#define LCCR1 (*(volatile word_t *)(0x44000004))
+#define LCCR2 (*(volatile word_t *)(0x44000008))
+#define LCCR3 (*(volatile word_t *)(0x4400000C))
+
+#define FDADR0 (*(volatile word_t *)(0x44000200))
+#define FSADR0 (*(volatile word_t *)(0x44000204))
+#define FIDR0 (*(volatile word_t *)(0x44000208))
+#define LDCMD0 (*(volatile word_t *)(0x4400020C))
+
+#define FDADR1 (*(volatile word_t *)(0x44000210))
+#define FSADR1 (*(volatile word_t *)(0x44000214))
+#define FIDR1 (*(volatile word_t *)(0x44000218))
+#define LDCMD1 (*(volatile word_t *)(0x4400021C))
+
+#define LCCR0_ENB 0x00000001
+#define LCCR1_PPL 0x000003FF
+#define LCCR2_LPP 0x000003FF
+#define LCCR3_BPP 0x07000000
#endif
diff --git a/c/src/lib/libcpu/arm/pxa255/irq/bsp_irq_init.c b/c/src/lib/libcpu/arm/pxa255/irq/bsp_irq_init.c
index 1d7100255b..ebdaf5bd18 100755
--- a/c/src/lib/libcpu/arm/pxa255/irq/bsp_irq_init.c
+++ b/c/src/lib/libcpu/arm/pxa255/irq/bsp_irq_init.c
@@ -13,7 +13,10 @@
#include <bsp.h>
#include <pxa255.h>
-extern void default_int_handler(void);
+void dummy_handler(uint32_t vector)
+{
+ printk("I am dummy handler\n");
+}
void (*IRQ_table[PRIMARY_IRQS])(uint32_t vector);
@@ -27,7 +30,7 @@ void BSP_rtems_irq_mngt_init(void)
/* Initialize the vector table contents with default handler */
for (i=0; i<PRIMARY_IRQS; i++) {
- IRQ_table[i] = default_int_handler;
+ IRQ_table[i] = dummy_handler;
}
/* disable all interrupts */
diff --git a/c/src/lib/libcpu/arm/pxa255/irq/irq.c b/c/src/lib/libcpu/arm/pxa255/irq/irq.c
index 7146d35a44..859b6834c0 100755
--- a/c/src/lib/libcpu/arm/pxa255/irq/irq.c
+++ b/c/src/lib/libcpu/arm/pxa255/irq/irq.c
@@ -43,7 +43,7 @@ int BSP_install_rtems_irq_handler (const rtems_irq_connect_data* irq)
* interrupt number . We
* convert it to a long word offset to get source's vector register
*/
- if (IRQ_table[irq->name]!= default_int_handler) {
+ if (IRQ_table[irq->name] != dummy_handler) {
return 0;
}
@@ -87,7 +87,7 @@ int BSP_remove_rtems_irq_handler (const rtems_irq_connect_data* irq)
/*
* Check if the handler is actually connected. If not, issue an error.
*/
- if (IRQ_table[irq->name]!= irq->hdl) {
+ if (IRQ_table[irq->name] != irq->hdl) {
return 0;
}
_CPU_ISR_Disable(level);
@@ -107,7 +107,7 @@ int BSP_remove_rtems_irq_handler (const rtems_irq_connect_data* irq)
/*
* restore the default irq value
*/
- IRQ_table[irq->name] = default_int_handler;
+ IRQ_table[irq->name] = dummy_handler;
_CPU_ISR_Enable(level);
diff --git a/c/src/lib/libcpu/arm/pxa255/irq/irq.h b/c/src/lib/libcpu/arm/pxa255/irq/irq.h
index dc7eff0784..d685269ee6 100755
--- a/c/src/lib/libcpu/arm/pxa255/irq/irq.h
+++ b/c/src/lib/libcpu/arm/pxa255/irq/irq.h
@@ -27,6 +27,7 @@ extern "C" {
extern void default_int_handler();
extern void (*IRQ_table[PRIMARY_IRQS])(uint32_t vector);
+extern void dummy_handler(uint32_t vector);