This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

eSCI patch [was Re: Freescale unified driver]


Here is the patch. I have moved some platform dependent macros from
serial header (ser_esci.h) to var_io.h

Also added a note in ser_esci.h.

I would like to produce some text on how to write platform independent
drivers for ecos. With my ecos "experience" i don't expect it to be
perfect but I count on community critics.

Ilija

diff -r -U 5 -N -x CVS -x '*~' -x '.#*' clean/ecos/packages/devs/serial/freescale/esci/current/ChangeLog devo/ecos/packages/devs/serial/freescale/esci/current/ChangeLog
--- clean/ecos/packages/devs/serial/freescale/esci/current/ChangeLog	2006-05-31 21:16:24.000000000 +0200
+++ devo/ecos/packages/devs/serial/freescale/esci/current/ChangeLog	2006-08-08 09:22:19.000000000 +0200
@@ -1,5 +1,10 @@
+2006-08-08  Ilija Koco  <ilijak@siva.com.mk>
+
+	* ser_esci.h : platform dependent clock related macros
+	removed and placed in platform/var header 
+	
 2006-05-24  Ilija Koco  <ilijak@siva.com.mk>
 
 	* cdl/ser_freescale_esci.cdl:
 	* include/ser_esci.h: 
 	* src/ser_esci.c
diff -r -U 5 -N -x CVS -x '*~' -x '.#*' clean/ecos/packages/devs/serial/freescale/esci/current/include/ser_esci.h devo/ecos/packages/devs/serial/freescale/esci/current/include/ser_esci.h
--- clean/ecos/packages/devs/serial/freescale/esci/current/include/ser_esci.h	2006-05-31 21:16:24.000000000 +0200
+++ devo/ecos/packages/devs/serial/freescale/esci/current/include/ser_esci.h	2006-08-08 09:35:51.379006640 +0200
@@ -48,14 +48,31 @@
 //
 //   
 //####DESCRIPTIONEND####
 //==========================================================================
 
-#define CYGNUM_DEV_SER_FREESCALE_ESCI_SYSTEM_CLOCK      \
-  (CYGNUM_HAL_ARM_MAC7100_CLOCK_SPEED/2)
-#define FREESCALE_ESCI_BAUD(baud_rate)                          \
-  ((CYGNUM_DEV_SER_FREESCALE_ESCI_SYSTEM_CLOCK)/(baud_rate*16))
+// Note: Following macros are platform dependent
+//       and have to be defined in var_io.h or plf_io.h
+//    Macros referenced by serial driver:
+//      CYGADDR_IO_SERIAL_FREESCALE_ESCI_A_BASE
+//      CYGADDR_IO_SERIAL_FREESCALE_ESCI_B_BASE
+//      CYGADDR_IO_SERIAL_FREESCALE_ESCI_C_BASE
+//      CYGADDR_IO_SERIAL_FREESCALE_ESCI_D_BASE
+//      CYGNUM_DEV_SER_FREESCALE_ESCI_SYSTEM_CLOCK
+//      FREESCALE_ESCI_BAUD(baud_rate)
+
+//    Macros not referenced by serial driver
+//    but by interrupt controller
+//      CYGNUM_IO_SERIAL_FREESCALE_ESCI_A_INT_VECTOR
+//      CYGNUM_IO_SERIAL_FREESCALE_ESCI_B_INT_VECTOR
+//      CYGNUM_IO_SERIAL_FREESCALE_ESCI_C_INT_VECTOR
+//      CYGNUM_IO_SERIAL_FREESCALE_ESCI_D_INT_VECTOR
+//      MAC7100_ESCI_A_IV
+//      MAC7100_ESCI_B_IV
+//      MAC7100_ESCI_C_IV
+//      MAC7100_ESCI_D_IV
+//
 
 #define FREESCALE_ESCI_A_BASE       (CYGADDR_IO_SERIAL_FREESCALE_ESCI_A_BASE)
 #define FREESCALE_ESCI_B_BASE       (CYGADDR_IO_SERIAL_FREESCALE_ESCI_B_BASE)
 #define FREESCALE_ESCI_C_BASE       (CYGADDR_IO_SERIAL_FREESCALE_ESCI_C_BASE)
 #define FREESCALE_ESCI_D_BASE       (CYGADDR_IO_SERIAL_FREESCALE_ESCI_D_BASE)
diff -r -U 5 -N -x CVS -x '*~' -x '.#*' clean/ecos/packages/hal/arm/mac7100/var/current/ChangeLog devo/ecos/packages/hal/arm/mac7100/var/current/ChangeLog
--- clean/ecos/packages/hal/arm/mac7100/var/current/ChangeLog	2006-06-18 19:05:27.000000000 +0200
+++ devo/ecos/packages/hal/arm/mac7100/var/current/ChangeLog	2006-08-08 09:22:14.000000000 +0200
@@ -1,5 +1,10 @@
+2006-08-08  Ilija Koco  <ilijak@siva.com.mk>
+
+	* var_io.h: Freescale eSCI platform dependent clock related macros
+	moved here from ser_esci.h
+	
 2006-06-08  Ilija Koco  <ilijak@siva.com.mk>
 
 	* hal_var_setup.h: (new) Assembly macros shared between targets.
 	* cdl/hal_arm_mac7100.cdl: some defaults changed in favour of
 	MAC7100EVB
diff -r -U 5 -N -x CVS -x '*~' -x '.#*' clean/ecos/packages/hal/arm/mac7100/var/current/include/var_io.h devo/ecos/packages/hal/arm/mac7100/var/current/include/var_io.h
--- clean/ecos/packages/hal/arm/mac7100/var/current/include/var_io.h	2006-05-31 21:17:51.000000000 +0200
+++ devo/ecos/packages/hal/arm/mac7100/var/current/include/var_io.h	2006-08-08 09:11:24.000000000 +0200
@@ -182,10 +182,16 @@
 #define CYGNUM_IO_SERIAL_FREESCALE_ESCI_C_INT_VECTOR MAC7100_ESCI_C_IV
 
 #define CYGADDR_IO_SERIAL_FREESCALE_ESCI_D_BASE 0xFC0D0000
 #define CYGNUM_IO_SERIAL_FREESCALE_ESCI_D_INT_VECTOR MAC7100_ESCI_D_IV
 
+#define CYGNUM_DEV_SER_FREESCALE_ESCI_SYSTEM_CLOCK \
+  (CYGNUM_HAL_ARM_MAC7100_CLOCK_SPEED/2)
+#define FREESCALE_ESCI_BAUD(baud_rate)            \
+  ((CYGNUM_DEV_SER_FREESCALE_ESCI_SYSTEM_CLOCK)/(baud_rate*16))
+
+
 // *********************************************************************
 //
 // PIT Module
 //
 // *********************************************************************

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]