change log for rtems (2010-11-12)

rtems-vc at rtems.org rtems-vc at rtems.org
Fri Nov 12 15:11:33 UTC 2010


 *sh*:
2010-11-12	Sebastian Huber <sebastian.huber at embedded-brains.de>

	* console/console.h, console/console.c, console/config.c,
	console/ns16550cfg.c: Removed files.
	* console/console-config.c: New file.
	* Makefile.am: Reflect changes above.
	* configure.ac: New BSP options.
	* include/bsp.h: Use new BSP options.
	* network/network.c: Avoid memory leak.
	* startup/bspstart.c: Initialize console port table.
	* spi/spi_init.c: Update for SD card API changes.

M   1.96  c/src/lib/libbsp/powerpc/gen83xx/ChangeLog
M   1.31  c/src/lib/libbsp/powerpc/gen83xx/Makefile.am
M   1.14  c/src/lib/libbsp/powerpc/gen83xx/configure.ac
R    1.4  c/src/lib/libbsp/powerpc/gen83xx/console/config.c
A    1.1  c/src/lib/libbsp/powerpc/gen83xx/console/console-config.c
R    1.2  c/src/lib/libbsp/powerpc/gen83xx/console/console.h
R   1.10  c/src/lib/libbsp/powerpc/gen83xx/console/console.c
R    1.2  c/src/lib/libbsp/powerpc/gen83xx/console/ns16550cfg.c
M   1.20  c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h
M   1.13  c/src/lib/libbsp/powerpc/gen83xx/network/network.c
M    1.7  c/src/lib/libbsp/powerpc/gen83xx/spi/spi_init.c
M   1.29  c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c

diff -u rtems/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog:1.95 rtems/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog:1.96
--- rtems/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog:1.95	Tue Jun 29 13:52:51 2010
+++ rtems/c/src/lib/libbsp/powerpc/gen83xx/ChangeLog	Fri Nov 12 08:16:57 2010
@@ -1,3 +1,15 @@
+2010-11-12	Sebastian Huber <sebastian.huber at embedded-brains.de>
+
+	* console/console.h, console/console.c, console/config.c,
+	console/ns16550cfg.c: Removed files.
+	* console/console-config.c: New file.
+	* Makefile.am: Reflect changes above.
+	* configure.ac: New BSP options.
+	* include/bsp.h: Use new BSP options.
+	* network/network.c: Avoid memory leak.
+	* startup/bspstart.c: Initialize console port table.
+	* spi/spi_init.c: Update for SD card API changes.
+
 2010-06-29	Joel Sherrill <joel.sherrill at oarcorp.com>
 
 	* configure.ac: Remove AC_CHECK_SIZEOF([void *]).

diff -u rtems/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am:1.30 rtems/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am:1.31
--- rtems/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am:1.30	Fri Apr 30 07:48:52 2010
+++ rtems/c/src/lib/libbsp/powerpc/gen83xx/Makefile.am	Fri Nov 12 08:16:57 2010
@@ -79,7 +79,8 @@
 	../../shared/src/irq-server.c
 
 # console
-libbsp_a_SOURCES += console/console.c console/ns16550cfg.c
+libbsp_a_SOURCES += ../../shared/console.c \
+	console/console-config.c
 # bsp_i2c
 libbsp_a_SOURCES += i2c/i2c_init.c
 # bsp_spi

diff -u rtems/c/src/lib/libbsp/powerpc/gen83xx/configure.ac:1.13 rtems/c/src/lib/libbsp/powerpc/gen83xx/configure.ac:1.14
--- rtems/c/src/lib/libbsp/powerpc/gen83xx/configure.ac:1.13	Tue Jun 29 13:52:51 2010
+++ rtems/c/src/lib/libbsp/powerpc/gen83xx/configure.ac	Fri Nov 12 08:16:57 2010
@@ -43,6 +43,24 @@
 RTEMS_BSPOPTS_HELP([MPC8349],
 [If defined, use custom settings for the MPC8349 libcpu family.])
 
+RTEMS_BSPOPTS_SET([BSP_CONSOLE_BAUD],[mpc8313erdb],[115200])
+RTEMS_BSPOPTS_SET([BSP_CONSOLE_BAUD],[*],[9600])
+RTEMS_BSPOPTS_HELP([BSP_CONSOLE_BAUD],[Default baud for console and other serial devices.])
+
+RTEMS_BSPOPTS_SET([BSP_USE_UART_INTERRUPTS],[mpc8313erdb],[1])
+RTEMS_BSPOPTS_HELP([BSP_USE_UART_INTERRUPTS],[enable usage of interrupts for the UART modules])
+
+RTEMS_BSPOPTS_SET([BSP_USE_UART2],[mpc8313erdb],[1])
+RTEMS_BSPOPTS_SET([BSP_USE_UART2],[mpc8349eamds],[1])
+RTEMS_BSPOPTS_SET([BSP_USE_UART2],[hsc_cm01],[1])
+RTEMS_BSPOPTS_HELP([BSP_USE_UART2],[If defined, enables UART2.])
+
+RTEMS_BSPOPTS_SET([HAS_UBOOT],[mpc8313erdb],[1])
+RTEMS_BSPOPTS_HELP([HAS_UBOOT],[If defined, enables U-Boot support.])
+
+RTEMS_BSPOPTS_SET([PPC_USE_DATA_CACHE],[*],[1])
+RTEMS_BSPOPTS_HELP([PPC_USE_DATA_CACHE], [If defined, then the PowerPC specific
+ code in RTEMS will use data cache instructions to optimize the context switch code.])
 
 RTEMS_CHECK_NETWORKING
 AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")

diff -u /dev/null rtems/c/src/lib/libbsp/powerpc/gen83xx/console/console-config.c:1.1
--- /dev/null	Fri Nov 12 09:11:32 2010
+++ rtems/c/src/lib/libbsp/powerpc/gen83xx/console/console-config.c	Fri Nov 12 08:16:57 2010
@@ -0,0 +1,118 @@
+/**
+ * @file
+ *
+ * @brief Console configuration.
+ */
+
+/*
+ * Copyright (c) 2008, 2010 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Obere Lagerstr. 30
+ *  82178 Puchheim
+ *  Germany
+ *  <rtems at embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ */
+
+#include <rtems/bspIo.h>
+
+#include <libchip/serial.h>
+#include <libchip/ns16550.h>
+
+#include <mpc83xx/mpc83xx.h>
+
+#include <bspopts.h>
+#include <bsp/irq.h>
+
+#ifdef BSP_USE_UART2
+  #define PORT_COUNT 2
+#else
+  #define PORT_COUNT 1
+#endif
+
+#ifdef BSP_USE_UART_INTERRUPTS
+  #define DEVICE_FNS &ns16550_fns
+#else
+  #define DEVICE_FNS &ns16550_fns_polled
+#endif
+
+static uint8_t gen83xx_console_get_register(uint32_t addr, uint8_t i)
+{
+  volatile uint8_t *reg = (volatile uint8_t *) addr;
+
+  return reg [i];
+}
+
+static void gen83xx_console_set_register(uint32_t addr, uint8_t i, uint8_t val)
+{
+  volatile uint8_t *reg = (volatile uint8_t *) addr;
+
+  reg [i] = val; 
+}
+
+unsigned long Console_Port_Count = PORT_COUNT;
+
+rtems_device_minor_number Console_Port_Minor = 0;
+
+console_data Console_Port_Data [PORT_COUNT];
+
+console_tbl Console_Port_Tbl [PORT_COUNT] = {
+  {
+    .sDeviceName = "/dev/ttyS0",
+    .deviceType = SERIAL_NS16550,
+    .pDeviceFns = DEVICE_FNS,
+    .deviceProbe = NULL,
+    .pDeviceFlow = NULL,
+    .ulMargin = 16,
+    .ulHysteresis = 8,
+    .pDeviceParams = (void *) BSP_CONSOLE_BAUD,
+    .ulCtrlPort1 = (uint32_t) &mpc83xx.duart [0],
+    .ulCtrlPort2 = 0,
+    .ulDataPort =  (uint32_t) &mpc83xx.duart [0],
+    .getRegister = gen83xx_console_get_register,
+    .setRegister = gen83xx_console_set_register,
+    .getData = NULL,
+    .setData = NULL,
+    .ulClock = 0,
+    .ulIntVector = BSP_IPIC_IRQ_UART1
+  }
+#ifdef BSP_USE_UART2
+  , {
+    .sDeviceName = "/dev/ttyS1",
+    .deviceType = SERIAL_NS16550,
+    .pDeviceFns = DEVICE_FNS,
+    .deviceProbe = NULL,
+    .pDeviceFlow = NULL,
+    .ulMargin = 16,
+    .ulHysteresis = 8,
+    .pDeviceParams = (void *) BSP_CONSOLE_BAUD,
+    .ulCtrlPort1 = (uint32_t) &mpc83xx.duart [1],
+    .ulCtrlPort2 = 0,
+    .ulDataPort =  (uint32_t) &mpc83xx.duart [1],
+    .getRegister = gen83xx_console_get_register,
+    .setRegister = gen83xx_console_set_register,
+    .getData = NULL,
+    .setData = NULL,
+    .ulClock = 0,
+    .ulIntVector = BSP_IPIC_IRQ_UART2
+  }
+#endif
+};
+
+static void gen83xx_output_char(char c)
+{
+  const console_fns *console = Console_Port_Tbl [Console_Port_Minor].pDeviceFns;
+  
+  if (c == '\n') {
+    console->deviceWritePolled((int) Console_Port_Minor, '\r');
+  }
+  console->deviceWritePolled((int) Console_Port_Minor, c);
+}
+
+BSP_output_char_function_type  BSP_output_char = gen83xx_output_char;
+
+BSP_polling_getchar_function_type BSP_poll_char = NULL;

diff -u rtems/c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h:1.19 rtems/c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h:1.20
--- rtems/c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h:1.19	Sun Nov 29 22:26:10 2009
+++ rtems/c/src/lib/libbsp/powerpc/gen83xx/include/bsp.h	Fri Nov 12 08:16:57 2010
@@ -20,21 +20,9 @@
 #ifndef __GEN83xx_BSP_h
 #define __GEN83xx_BSP_h
 
-#include <bspopts.h>
-
-/*
- * MPC8313E Reference Design Board
- */
-
-#ifdef MPC8313ERDB
-
-#define HAS_UBOOT
+#define BSP_FEATURE_IRQ_EXTENSION
 
-/* For U-Boot */
-#define CONFIG_MPC83XX
-#define CONFIG_HAS_ETH1
-
-#endif /* MPC8313ERDB */
+#include <bspopts.h>
 
 #include <libcpu/powerpc-utility.h>
 
@@ -78,25 +66,23 @@
 extern "C" {
 #endif
 
-
 #include <rtems.h>
 #include <rtems/console.h>
 #include <rtems/clockdrv.h>
-#include <bsp/irq.h>
 #include <bsp/vectors.h>
-#include <bsp/tictac.h>
+#include <bsp/irq.h>
 
 #ifdef HAS_UBOOT
+  #ifdef MPC8313ERDB
+    #define CONFIG_MPC83XX
+    #define CONFIG_HAS_ETH1
+  #endif
 
-#include <bsp/u-boot.h>
-
-extern bd_t bsp_uboot_board_info;
-extern const size_t bsp_uboot_board_info_size;
-
-#endif /* HAS_UBOOT */
+  #include <bsp/u-boot.h>
 
-#define BSP_UART1_MINOR 0
-#define BSP_UART2_MINOR 1
+  extern bd_t bsp_uboot_board_info;
+  extern const size_t bsp_uboot_board_info_size;
+#endif
 
 /*
  * indicate, that BSP has no IDE driver
@@ -111,21 +97,6 @@
 rtems_status_code bsp_register_i2c(void);
 rtems_status_code bsp_register_spi(void);
 
-/* console modes (only termios) */
-#ifdef  PRINTK_MINOR
-#undef  PRINTK_MINOR
-#endif
-#define PRINTK_MINOR BSP_UART1_MINOR
-
-#if defined(MPC8249EAMDS) || defined(HSC_CM01)
-#define BSP_USE_UART2 TRUE
-#else
-#define BSP_USE_UART2 FALSE
-#endif
-
-#define SINGLE_CHAR_MODE
-#define UARTS_USE_TERMIOS_INT   1
-
 /*
  * Network driver configuration
  */
@@ -134,16 +105,12 @@
 #define RTEMS_BSP_NETWORK_DRIVER_ATTACH	BSP_tsec_attach
 
 #ifdef MPC8313ERDB
-
-#define RTEMS_BSP_NETWORK_DRIVER_NAME	"tsec2"
-#define RTEMS_BSP_NETWORK_DRIVER_NAME2	"tsec1"
-
-#else /* MPC8313ERDB */
-
-#define RTEMS_BSP_NETWORK_DRIVER_NAME	"tsec1"
-#define RTEMS_BSP_NETWORK_DRIVER_NAME2	"tsec2"
-
-#endif /* MPC8313ERDB */
+  #define RTEMS_BSP_NETWORK_DRIVER_NAME "tsec2"
+  #define RTEMS_BSP_NETWORK_DRIVER_NAME2 "tsec1"
+#else
+  #define RTEMS_BSP_NETWORK_DRIVER_NAME "tsec1"
+  #define RTEMS_BSP_NETWORK_DRIVER_NAME2 "tsec2"
+#endif
 
 #if defined(MPC8349EAMDS)
 /*

diff -u rtems/c/src/lib/libbsp/powerpc/gen83xx/network/network.c:1.12 rtems/c/src/lib/libbsp/powerpc/gen83xx/network/network.c:1.13
--- rtems/c/src/lib/libbsp/powerpc/gen83xx/network/network.c:1.12	Sun Nov 29 22:26:10 2009
+++ rtems/c/src/lib/libbsp/powerpc/gen83xx/network/network.c	Fri Nov 12 08:16:57 2010
@@ -67,12 +67,11 @@
 \*=========================================================================*/
 {
   int    unitNumber;
-  char   *unitName;
 
   /*
    * Parse driver name
    */
-  if((unitNumber = rtems_bsdnet_parse_driver_name(config, &unitName)) < 0) {
+  if((unitNumber = rtems_bsdnet_parse_driver_name(config, NULL)) < 0) {
     return 0;
   }
   if (attaching) {

diff -u rtems/c/src/lib/libbsp/powerpc/gen83xx/spi/spi_init.c:1.6 rtems/c/src/lib/libbsp/powerpc/gen83xx/spi/spi_init.c:1.7
--- rtems/c/src/lib/libbsp/powerpc/gen83xx/spi/spi_init.c:1.6	Sun Nov 29 22:26:10 2009
+++ rtems/c/src/lib/libbsp/powerpc/gen83xx/spi/spi_init.c	Fri Nov 12 08:16:57 2010
@@ -247,31 +247,26 @@
 
 #include <libchip/spi-sd-card.h>
 
-sd_card_driver_entry sd_card_driver_table [1] = { {
-#if 0
-                .driver = {
-                        .ops = &sd_card_driver_ops,
-                        .size = sizeof( sd_card_driver_entry)
-                },
-                .table_index = 0,
-                .minor = 0,
-#endif
-                .device_name = "sd-card-a",
-#if 0
-                .disk_device_name = "/dev/sd-card-a",
-#endif
-                .transfer_mode = SD_CARD_TRANSFER_MODE_DEFAULT,
-                .command = SD_CARD_COMMAND_DEFAULT,
-                /* .response = whatever, */
-                .response_index = SD_CARD_COMMAND_SIZE,
-                .n_ac_max = SD_CARD_N_AC_MAX_DEFAULT,
-                .block_number = 0,
-                .block_size = 0,
-                .block_size_shift = 0,
-                .busy = 1,
-                .verbose = 1,
-                .schedule_if_busy = 0
-        }
+#define SD_CARD_NUMBER 1
+
+size_t sd_card_driver_table_size = SD_CARD_NUMBER;
+
+sd_card_driver_entry sd_card_driver_table [SD_CARD_NUMBER] = {
+  {
+    .device_name = "/dev/sd-card-a",
+    .bus = 0,
+    .transfer_mode = SD_CARD_TRANSFER_MODE_DEFAULT,
+    .command = SD_CARD_COMMAND_DEFAULT,
+    /* .response = whatever, */
+    .response_index = SD_CARD_COMMAND_SIZE,
+    .n_ac_max = SD_CARD_N_AC_MAX_DEFAULT,
+    .block_number = 0,
+    .block_size = 0,
+    .block_size_shift = 0,
+    .busy = true,
+    .verbose = true,
+    .schedule_if_busy = false
+  }
 };
 
 #endif /* MPC8313ERDB */
@@ -299,6 +294,7 @@
 |    0 or error code                                                        |
 \*=========================================================================*/
 {
+  rtems_status_code sc = RTEMS_SUCCESSFUL;
   int ret_code;
   unsigned spi_busno;
 
@@ -378,12 +374,11 @@
 #if defined( MPC8313ERDB)
 
   /* Register SD Card driver */
-  ret_code = rtems_libi2c_register_drv(
-    sd_card_driver_table [0].device_name,
-    (rtems_libi2c_drv_t *) &sd_card_driver_table [0],
-    spi_busno,
-    0
-  );
+  sd_card_driver_table [0].bus = spi_busno;
+  sc = sd_card_register();
+  if (sc != RTEMS_SUCCESSFUL) {
+    return sc;
+  }
 
 #elif defined( MPC8349EAMDS)
 

diff -u rtems/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c:1.28 rtems/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c:1.29
--- rtems/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c:1.28	Fri Oct 23 02:32:44 2009
+++ rtems/c/src/lib/libbsp/powerpc/gen83xx/startup/bspstart.c	Fri Nov 12 08:16:57 2010
@@ -20,6 +20,8 @@
  * $Id$
  */
 
+#include <libchip/serial.h>
+
 #include <libcpu/powerpc-utility.h>
 
 #include <bsp.h>
@@ -83,6 +85,7 @@
 void bsp_start( void)
 {
   rtems_status_code sc = RTEMS_SUCCESSFUL;
+  unsigned long i = 0;
 
   ppc_cpu_id_t myCpu;
   ppc_cpu_revision_t myCpuRevision;
@@ -127,6 +130,16 @@
   bsp_clicks_per_usec = BSP_bus_frequency / 4000000;
 #endif /* HAS_UBOOT */
 
+  /* Initialize some console parameters */
+  for (i = 0; i < Console_Port_Count; ++i) {
+    Console_Port_Tbl [i].ulClock = BSP_bus_frequency;
+
+    #ifdef HAS_UBOOT
+      Console_Port_Tbl [i].pDeviceParams =
+        (void *) bsp_uboot_board_info.bi_baudrate;
+    #endif
+  }
+
   /* Initialize exception handler */
   sc = ppc_exc_initialize(
     PPC_INTERRUPT_DISABLE_MASK_DEFAULT,



--

Generated by Deluxe Loginfo [http://www.codewiz.org/projects/index.html#loginfo] 2.122 by Bernardo Innocenti <bernie at develer.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/vc/attachments/20101112/fdb0e2d9/attachment.html>


More information about the vc mailing list