This is the mail archive of the ecos-discuss@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]

imx31 litekit redboot support


Hi All
      I was working on redboot tried to run it on imx31 litekit. I
successfully run redboot on imx31litekit I would like to share my
work.  my work was built on top of freescale's latest redboot release.

this is ecos base ecos_20050912.tar.gz
freescale's patch for basic support   patch-redboot-200650-base
freescale's patch for ads  support   patch-redboot-200650-mx31

on top of all of this here is my patch

put the patch file in package directory

patch -p1 < redboot-imx31litekit.patch

this patch only have nor nand and serial console support. Ethernet
driver didnt implemented.
Regards,

--
----
Hasan Hüseyin Yılmaz
diff -uNr /home/Development/Redboot/src/ecos/packages/devs/flash/arm/mx31ads/current/cdl/flash_board_spansion.cdl packages/devs/flash/arm/mx31ads/current/cdl/flash_board_spansion.cdl
--- /home/Development/Redboot/src/ecos/packages/devs/flash/arm/mx31ads/current/cdl/flash_board_spansion.cdl	2007-04-02 18:35:54.000000000 +0300
+++ packages/devs/flash/arm/mx31ads/current/cdl/flash_board_spansion.cdl	2007-04-02 18:52:26.000000000 +0300
@@ -61,11 +61,11 @@
 
     # Arguably this should do in the generic package
     # but then there is a logic loop so you can never enable it.
-    cdl_interface CYGINT_DEVS_FLASH_AMD_AM29XXXXX_REQUIRED {
+    cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
         display   "Generic AMD FlashFile driver required"
     }
 
-    implements    CYGINT_DEVS_FLASH_AMD_AM29XXXXX_REQUIRED
+    implements    CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
 
-    requires      CYGHWR_DEVS_FLASH_S29WS256N
+    requires      CYGHWR_DEVS_FLASH_INTEL_28F320C3
 }
diff -uNr /home/Development/Redboot/src/ecos/packages/devs/flash/arm/mx31ads/current/src/board_spansionflash.c packages/devs/flash/arm/mx31ads/current/src/board_spansionflash.c
--- /home/Development/Redboot/src/ecos/packages/devs/flash/arm/mx31ads/current/src/board_spansionflash.c	2007-04-02 18:35:54.000000000 +0300
+++ packages/devs/flash/arm/mx31ads/current/src/board_spansionflash.c	2007-04-02 18:53:32.000000000 +0300
@@ -70,4 +70,4 @@
 
 //--------------------------------------------------------------------------
 // Now include the driver code.
-#include "cyg/io/flash_am29xxxxx.inl"
+#include "cyg/io/flash_28fxxx.inl"
diff -uNr /home/Development/Redboot/src/ecos/packages/devs/flash/arm/mxc/current/include/mxc_nand_parts.inl packages/devs/flash/arm/mxc/current/include/mxc_nand_parts.inl
--- /home/Development/Redboot/src/ecos/packages/devs/flash/arm/mxc/current/include/mxc_nand_parts.inl	2007-04-02 18:35:51.000000000 +0300
+++ packages/devs/flash/arm/mxc/current/include/mxc_nand_parts.inl	2007-04-02 18:46:03.000000000 +0300
@@ -82,4 +82,15 @@
         device_size: 0x4000000 * 2,
         base_mask  : ~(0x4000000 * 2 - 1),
     },
+    {
+        device_id  : 0x7620, // ST NAND512W3A2BN6 (MX31 Litekit)
+        page_size  : 512,
+        spare_size : 16,
+        pages_per_block : 32,
+        block_size : 0x4000,
+        block_count: 4096,
+        device_size: 0x4000000,
+        base_mask  : ~(0x4000000 - 1),
+    },
+
 #endif // CYGONCE_DEVS_FLASH_MXC_NAND_PARTS_INL
diff -uNr /home/Development/Redboot/src/ecos/packages/devs/flash/arm/mxc/current/include/mxc_nand_specifics.h packages/devs/flash/arm/mxc/current/include/mxc_nand_specifics.h
--- /home/Development/Redboot/src/ecos/packages/devs/flash/arm/mxc/current/include/mxc_nand_specifics.h	2007-04-02 18:35:51.000000000 +0300
+++ packages/devs/flash/arm/mxc/current/include/mxc_nand_specifics.h	2007-04-02 18:46:03.000000000 +0300
@@ -57,6 +57,6 @@
 #define CYGNUM_FLASH_WIDTH              8
 #define CYGNUM_FLASH_BASE               0
 #define CYGNUM_FLASH_BLANK              1
-#define CYGNUM_FLASH_ID_MANUFACTURER    FLASHWORD(0xEC)
+#define CYGNUM_FLASH_ID_MANUFACTURER    FLASHWORD(0x20)
 
 #endif // CYGONCE_DEVS_FLASH_MXC_NAND_SPECIFICS_H
diff -uNr /home/Development/Redboot/src/ecos/packages/devs/flash/arm/mxc/current/include/mxc_nfc.h packages/devs/flash/arm/mxc/current/include/mxc_nfc.h
--- /home/Development/Redboot/src/ecos/packages/devs/flash/arm/mxc/current/include/mxc_nfc.h	2007-04-02 18:35:51.000000000 +0300
+++ packages/devs/flash/arm/mxc/current/include/mxc_nfc.h	2007-04-02 18:46:03.000000000 +0300
@@ -82,7 +82,7 @@
 #define FLASH_Block_Erase               FLASHWORD(0x60)
 #define FLASH_Start_Erase               FLASHWORD(0xD0)
 
-#define CYGNUM_FLASH_ID_MANUFACTURER    FLASHWORD(0xEC)
+#define CYGNUM_FLASH_ID_MANUFACTURER    FLASHWORD(0x20)
 
 #define NAND_MAIN_BUF0                  (NFC_BASE + 0x000)
 #define NAND_MAIN_BUF1                  (NFC_BASE + 0x200)
diff -uNr /home/Development/Redboot/src/ecos/packages/devs/flash/arm/mxc/current/src/mxc_nfc.c packages/devs/flash/arm/mxc/current/src/mxc_nfc.c
--- /home/Development/Redboot/src/ecos/packages/devs/flash/arm/mxc/current/src/mxc_nfc.c	2007-04-02 18:35:51.000000000 +0300
+++ packages/devs/flash/arm/mxc/current/src/mxc_nfc.c	2007-04-02 18:46:03.000000000 +0300
@@ -82,6 +82,9 @@
 
 extern unsigned int hal_timer_count(void);
 
+#define STATUS_OK_STMICRO 	0x01 
+
+
 #define nfc_printf(level, args...)          \
     do {                                \
         if (g_nfc_debug_level >= level)     \
@@ -92,6 +95,7 @@
     "Samsung K9F5608x0C",
     "Samsung K9F1208R0B",
     "Samsung K9K1G08x0B",
+    "STMicro NAND512W3A2BNG",
 };
 
 void
@@ -519,7 +523,7 @@
     NFC_CMD_INPUT(FLASH_Start_Erase);
 
     flash_status = NFC_STATUS_READ();
-    if(flash_status != 0xC0) {
+    if((flash_status & STATUS_OK_STMICRO )) {
         diag_printf("Error %d: %s(at 0x%x) status=0x%x\n",
                     __LINE__, __FUNCTION__, ra, flash_status);
         nfc_update_blk_table(ra, true);
@@ -780,7 +784,7 @@
         NFC_CMD_INPUT(FLASH_Program);
 
         flash_status = NFC_STATUS_READ();
-        if(flash_status != 0xC0) {
+    	if(flash_status & STATUS_OK_STMICRO ) {
             diag_printf("Error %d: %s(0x%x) status=0x%x\n",
                         __LINE__, __FUNCTION__, flash_addr, flash_status);
             return -1;
@@ -805,7 +809,7 @@
         NFC_CMD_INPUT(FLASH_Program);
 
         flash_status = NFC_STATUS_READ();
-        if(flash_status != 0xC0) {
+    	if(flash_status & STATUS_OK_STMICRO ) {
             diag_printf("Error %d: %s(0x%x) status=0x%x\n",
                         __LINE__, __FUNCTION__, flash_addr, flash_status);
             return -1;
@@ -839,7 +843,7 @@
         NFC_CMD_INPUT(FLASH_Read_Mode3);
         start_nfc_addr_ops(ADDRESS_INPUT_READ_PAGE, addr, MXC_NAND_LA_MASK);
         NFC_DATA_OUTPUT(buf, FDO_SPARE_ONLY);
-        temp = readw(ECC_STATUS_RESULT_REG);
+        temp = readw(ECC_STATUS_RESULT_REG); 
         NFC_CMD_INPUT(FLASH_Read_Mode1);
         if ((temp & 0x3) <= 0x1)
             return 0;
diff -uNr /home/Development/Redboot/src/ecos/packages/devs/flash/intel/28fxxx/current/include/flash_28fxxx_parts.inl packages/devs/flash/intel/28fxxx/current/include/flash_28fxxx_parts.inl
--- /home/Development/Redboot/src/ecos/packages/devs/flash/intel/28fxxx/current/include/flash_28fxxx_parts.inl	2007-04-02 18:35:51.000000000 +0300
+++ packages/devs/flash/intel/28fxxx/current/include/flash_28fxxx_parts.inl	2007-04-02 18:55:59.000000000 +0300
@@ -87,6 +87,28 @@
 #else // 16 bit devices
 
 #ifdef CYGHWR_DEVS_FLASH_INTEL_28F320C3
+    {   // 28F320C3-T
+        device_id  : FLASHWORD(0x88c3),
+        block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
+        block_count: 32,
+        device_size: 0x200000 * CYGNUM_FLASH_INTERLEAVE,
+        base_mask  : ~(0x200000 * CYGNUM_FLASH_INTERLEAVE - 1),
+        locking    : true,
+        buffered_w : false,
+        bootblock  : true,
+        bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0
+                     },
+        banked     : false
+    },
     {   // 28F320C3-T
         device_id  : FLASHWORD(0x88c4),
         block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
diff -uNr /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/cdl/hal_arm_board.cdl packages/hal/arm/mx31/ads/current/cdl/hal_arm_board.cdl
--- /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/cdl/hal_arm_board.cdl	2007-04-02 18:35:54.000000000 +0300
+++ packages/hal/arm/mx31/ads/current/cdl/hal_arm_board.cdl	2007-04-02 18:41:18.000000000 +0300
@@ -62,7 +62,7 @@
         puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_board.h>"
 	puts $::cdl_header "#define HAL_PLATFORM_CPU    \"Freescale i.MX31 based\""
         puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"MX31 ADS\""
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  0x1BF"
+        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  0x4D4"
         puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK board_program_new_stack"
     }
 
diff -uNr /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/include/fsl_board.h packages/hal/arm/mx31/ads/current/include/fsl_board.h
--- /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/include/fsl_board.h	2007-04-02 18:35:54.000000000 +0300
+++ packages/hal/arm/mx31/ads/current/include/fsl_board.h	2007-04-02 18:41:18.000000000 +0300
@@ -42,20 +42,6 @@
 
 #include <cyg/hal/hal_soc.h>        // Hardware definitions
 
-#define PBC_BASE                    CS4_BASE_ADDR    /* Peripheral Bus Controller */
-#define PBC_VERSION                 0x0
-#define PBC_BSTAT2                  0x2
-#define PBC_BCTRL1                  0x4
-#define PBC_BCTRL1_CLR              0x6
-#define PBC_BCTRL2                  0x8
-#define PBC_BCTRL2_CLR              0xA
-#define PBC_BCTRL3                  0xC
-#define PBC_BCTRL3_CLR              0xE
-#define PBC_BCTRL4                  0x10
-#define PBC_BCTRL4_CLR              0x12
-#define PBC_BSTAT1                  0x14
-#define BOARD_CS_LAN_BASE           (CS4_BASE_ADDR + 0x00020000 + 0x300)
-#define BOARD_CS_UART_BASE          (CS4_BASE_ADDR + 0x00010000)
 
 #define BOARD_FLASH_START	        CS0_BASE_ADDR
 #define REDBOOT_IMAGE_SIZE          0x40000
@@ -66,22 +52,6 @@
 #define RAM_BANK0_BASE              SDRAM_BASE_ADDR
 
 #define LED_MAX_NUM	2
-#define LED_IS_ON(n)    (readw(PBC_BASE+PBC_BCTRL1_CLR) & (1 << (n+6)))
-#define TURN_LED_ON(n)  writew((readw(PBC_BASE+PBC_BCTRL1_CLR) | (1 << (n+6))), PBC_BASE+PBC_BCTRL1)
-#define TURN_LED_OFF(n) writew((1<<(n+6)), PBC_BASE+PBC_BCTRL1_CLR)
-
-
-#define BOARD_DEBUG_LED(n) 			\
-    CYG_MACRO_START				\
-        if (n >= 0 && n < LED_MAX_NUM) { 	\
-		if (LED_IS_ON(n)) 		\
-			TURN_LED_OFF(n); 	\
-		else 				\
-			TURN_LED_ON(n);		\
-	}					\
-    CYG_MACRO_END
-
-#define BOARD_PBC_VERSION       ((*(volatile unsigned short*)(PBC_BASE + PBC_VERSION)) >> 8)
 
 #define DEBUG_SWITCH_1          (1 << 7)
 #define DEBUG_SWITCH_2          (1 << 6)
@@ -93,10 +63,4 @@
 #define DEBUG_SWITCH_8          (1 << 0)
 #define CLK_INPUT_27MHZ_SET     DEBUG_SWITCH_4
 
-#define DEBUG_SWITCH_IS_ON(n)   (((*(volatile unsigned short*)(PBC_BASE + PBC_BSTAT2)) & n) == 0)
-#if 0
-    while (DEBUG_SWITCH_IS_ON(DEBUG_SWITCH_1)) {
-        hal_delay_us(100);
-    }
-#endif
 #endif /* CYGONCE_FSL_BOARD_H */
diff -uNr /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/include/hal_platform_setup.h packages/hal/arm/mx31/ads/current/include/hal_platform_setup.h
--- /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/include/hal_platform_setup.h	2007-04-02 18:35:54.000000000 +0300
+++ packages/hal/arm/mx31/ads/current/include/hal_platform_setup.h	2007-04-02 18:50:03.000000000 +0300
@@ -472,10 +472,6 @@
         str r3, [r0, #CLKCTL_CCMR]  // enable PLL
         str r4, [r0, #CLKCTL_CCMR]  // switch to PLL (SPLL for FIR)
 
-        mov r1, #PBC_BASE
-        ldrh r1, [r1, #PBC_BSTAT2]
-        ands r1, r1, #CLK_INPUT_27MHZ_SET
-
         // 532-133-66.5
         ldr r1, CCM_PDR0_532_133_66_W
         str r1, [r0, #CLKCTL_PDR0]
diff -uNr /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/misc/redboot_ROMRAM.ecm packages/hal/arm/mx31/ads/current/misc/redboot_ROMRAM.ecm
--- /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/misc/redboot_ROMRAM.ecm	2007-04-02 18:35:54.000000000 +0300
+++ packages/hal/arm/mx31/ads/current/misc/redboot_ROMRAM.ecm	2007-04-02 18:48:35.000000000 +0300
@@ -18,7 +18,7 @@
     package -hardware CYGPKG_DEVS_ETH_ARM_MX31ADS current ;
     package -hardware CYGPKG_DEVS_ETH_CL_CS8900A current ;
     package -hardware CYGPKG_COMPRESS_ZLIB current ;
-    package -hardware CYGPKG_DEVS_FLASH_AMD_AM29XXXXX current ;
+    package -hardware CYGPKG_DEVS_FLASH_INTEL_28FXXX current ;
     package -hardware CYGPKG_IO_FLASH current ;
     package -hardware CYGPKG_DEVS_FLASH_ONMXC current ;
     package -hardware CYGPKG_DEVS_FLASH_MX31ADS_SPANSION current ;
@@ -35,7 +35,7 @@
     inferred_value 0
 };
 
-cdl_option CYGHWR_DEVS_FLASH_S29WS256N {
+cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320C3 {
     inferred_value 1
 };
 
@@ -117,4 +117,4 @@
 
 cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
     user_value 1 "FSL 200650"
-};
\ No newline at end of file
+};
diff -uNr /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/src/board_diag.c packages/hal/arm/mx31/ads/current/src/board_diag.c
--- /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/src/board_diag.c	2007-04-02 18:35:54.000000000 +0300
+++ packages/hal/arm/mx31/ads/current/src/board_diag.c	2007-04-02 18:41:18.000000000 +0300
@@ -58,12 +58,6 @@
 static void cyg_hal_plf_duart_init(void);
 extern void cyg_hal_plf_serial_init(void);
 
-#define DUART_WORKAROUND_DELAY(a)   \
-do {                                \
-    if (BOARD_PBC_VERSION < 7)      \
-        hal_delay_us(a);            \
-} while (0)
-
 void cyg_hal_plf_comms_init(void)
 {
     static int initialized = 0;
@@ -74,18 +68,10 @@
     initialized = 1;
 
     /* Setup GPIO and enable transceiver for UARTs */
-    cyg_hal_plf_duart_init();
+//    cyg_hal_plf_duart_init();
     cyg_hal_plf_serial_init();
 }
 
-//=============================================================================
-// ST16552 DUART driver
-//=============================================================================
-
-//-----------------------------------------------------------------------------
-// There are two serial ports.
-#define CYG_DEV_SERIAL_BASE_A    (BOARD_CS_UART_BASE + 0x0000) // port A
-#define CYG_DEV_SERIAL_BASE_B    (BOARD_CS_UART_BASE + 0x0010) // port B
 
 //-----------------------------------------------------------------------------
 // Based on 14.7456 MHz xtal
@@ -199,41 +185,7 @@
     int isr_vector;
 } channel_data_t;
 
-static channel_data_t channels[] = {
-#if CYGHWR_HAL_ARM_DUART_UARTA != 0
-    {(uart_width*)CYG_DEV_SERIAL_BASE_A, 1000, 0},
-#endif
-#if CYGHWR_HAL_ARM_DUART_UARTB != 0
-    {(uart_width*)CYG_DEV_SERIAL_BASE_B, 1000, 0}
-#endif
-};
-
-//-----------------------------------------------------------------------------
-
-static void init_duart_channel(channel_data_t* __ch_data)
-{
-    uart_width* base = __ch_data->base;
-    uart_width lcr;
-
-    // 8-1-no parity.
-    HAL_WRITE_UINT_UART(base+CYG_DEV_SERIAL_LCR,
-                        SIO_LCR_WLS0 | SIO_LCR_WLS1);
-    DUART_WORKAROUND_DELAY(50);
-    HAL_READ_UINT_UART(base+CYG_DEV_SERIAL_LCR, lcr);
-    lcr |= SIO_LCR_DLAB;
-    DUART_WORKAROUND_DELAY(50);
-    HAL_WRITE_UINT_UART(base+CYG_DEV_SERIAL_LCR, lcr);
-    DUART_WORKAROUND_DELAY(50);
-    HAL_WRITE_UINT_UART(base+CYG_DEV_SERIAL_DLL, CYG_DEV_SERIAL_BAUD_LSB);
-    DUART_WORKAROUND_DELAY(50);
-    HAL_WRITE_UINT_UART(base+CYG_DEV_SERIAL_DLM, CYG_DEV_SERIAL_BAUD_MSB);
-    lcr &= ~SIO_LCR_DLAB;
-    DUART_WORKAROUND_DELAY(50);
-    HAL_WRITE_UINT_UART(base+CYG_DEV_SERIAL_LCR, lcr);
-    DUART_WORKAROUND_DELAY(50);
-    HAL_WRITE_UINT_UART(base+CYG_DEV_SERIAL_FCR, 0x07);  // Enable & clear FIFO
-}
-
+#if 0
 //#define x_debug_uart_log_buf
 #ifdef x_debug_uart_log_buf
 #define x_DIAG_BUFSIZE 2048
@@ -646,5 +598,5 @@
 #endif // __BASE
 
 #endif // CYGSEM_HAL_VIRTUAL_VECTOR_DIAG
-
+#endif 
 /*---------------------------------------------------------------------------*/
diff -uNr /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/src/board_misc.c packages/hal/arm/mx31/ads/current/src/board_misc.c
--- /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/src/board_misc.c	2007-04-02 18:35:54.000000000 +0300
+++ packages/hal/arm/mx31/ads/current/src/board_misc.c	2007-04-02 18:41:18.000000000 +0300
@@ -110,45 +110,20 @@
     volatile int i = 0;
     unsigned long val = readl(CCM_BASE_ADDR + CLKCTL_CCMR);
     
-    if ((val & 0x6) == 0x4) {
-        if ((readw(PBC_BASE + PBC_BSTAT2) & CLK_INPUT_27MHZ_SET) != 0) {
-            g_clock_src = FREQ_27MHZ;
-        } else {
-            g_clock_src = FREQ_26MHZ;
-        }
-    } else if ((val & 0x6) == 0x2) {
-        g_clock_src = FREQ_32768HZ;
-    }
+    g_clock_src = FREQ_26MHZ;
 
     /* PBC setup */
     //Enable UART transceivers also reset the Ethernet/external UART
-    temp = readw(PBC_BASE + PBC_BCTRL1);
-
-    writew(0x8023, PBC_BASE + PBC_BCTRL1);
-
-    for (i = 0; i < 100000; i++) {
-    }
-
-    // clear the reset, toggle the LEDs
-    writew(0xDF, PBC_BASE + PBC_BCTRL1_CLR);
-
-    for (i = 0; i < 100000; i++) {
-    }
-
-    dummy = readb(0xB4000008);
-    dummy = readb(0xB4000007);
-    dummy = readb(0xB4000008);
-    dummy = readb(0xB4000007);
 
     // UAT1
-    writel(0x12121212, IOMUXC_BASE_ADDR + 0x7C);
-    writel(0x12121212, IOMUXC_BASE_ADDR + 0x80);
+//    writel(0x12121212, IOMUXC_BASE_ADDR + 0x7C);
+//    writel(0x12121212, IOMUXC_BASE_ADDR + 0x80);
 
     // UART2
-    writel(0x13131300, IOMUXC_BASE_ADDR + 0x70);
-    writel(0x00001313, IOMUXC_BASE_ADDR + 0x74);
-    writel(0x00000040, IOMUXC_BASE_ADDR + 0x7C);
-    writel(0x40400000, IOMUXC_BASE_ADDR + 0x78);
+//    writel(0x13131300, IOMUXC_BASE_ADDR + 0x70);
+//    writel(0x00001313, IOMUXC_BASE_ADDR + 0x74);
+//    writel(0x00000040, IOMUXC_BASE_ADDR + 0x7C);
+//    writel(0x40400000, IOMUXC_BASE_ADDR + 0x78);
 }
 
 #include CYGHWR_MEMORY_LAYOUT_H
diff -uNr /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/src/redboot_cmds.c packages/hal/arm/mx31/ads/current/src/redboot_cmds.c
--- /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/ads/current/src/redboot_cmds.c	2007-04-02 18:35:54.000000000 +0300
+++ packages/hal/arm/mx31/ads/current/src/redboot_cmds.c	2007-04-02 18:41:18.000000000 +0300
@@ -111,7 +111,7 @@
 
     launchRunImg(phys_addr);
 }
-
+#if 0
 #if CYGPKG_REDBOOT_NETWORKING
 #define LAN_BASE    BOARD_CS_LAN_BASE
 
@@ -276,7 +276,7 @@
 #endif //EEPROM_DEBUG
 
 #endif //CYGPKG_REDBOOT_NETWORKING
-
+#endif 
 #if defined(CYGSEM_REDBOOT_FLASH_CONFIG) && defined(CYG_HAL_STARTUP_ROMRAM)
 
 RedBoot_cmd("romupdate", 
diff -uNr /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/var/current/src/soc_diag.c packages/hal/arm/mx31/var/current/src/soc_diag.c
--- /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/var/current/src/soc_diag.c	2007-04-02 18:35:54.000000000 +0300
+++ packages/hal/arm/mx31/var/current/src/soc_diag.c	2007-04-02 18:41:18.000000000 +0300
@@ -527,7 +527,7 @@
 #define NUMOF(x) (sizeof(x)/sizeof(x[0]))
     for (i = 0;  i < NUMOF(channels);  i++) {
         init_serial_channel(&channels[i]);
-        CYGACC_CALL_IF_SET_CONSOLE_COMM(i+2);
+        CYGACC_CALL_IF_SET_CONSOLE_COMM(i);
         comm = CYGACC_CALL_IF_CONSOLE_PROCS();
         CYGACC_COMM_IF_CH_DATA_SET(*comm, &channels[i]);
         CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);
@@ -567,19 +567,19 @@
 
 #include <cyg/hal/hal_stub.h>           // cyg_hal_gdb_interrupt
 
-#if (CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL == 2)
+#if (CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL == 0)
 #define __BASE ((void*)UART1_BASE_ADDR)
 #define CYGHWR_HAL_GDB_PORT_VECTOR CYGNUM_HAL_INTERRUPT_UART1
-#elif (CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL == 3)
+#elif (CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL == 1)
 #define __BASE ((void*)UART2_BASE_ADDR)
 #define CYGHWR_HAL_GDB_PORT_VECTOR CYGNUM_HAL_INTERRUPT_UART2
-#elif (CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL == 4)
+#elif (CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL == 2)
 #define __BASE ((void*)UART3_BASE_ADDR)
 #define CYGHWR_HAL_GDB_PORT_VECTOR CYGNUM_HAL_INTERRUPT_UART3
-#elif (CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL == 5)
+#elif (CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL == 3)
 #define __BASE ((void*)UART4_BASE_ADDR)
 #define CYGHWR_HAL_GDB_PORT_VECTOR CYGNUM_HAL_INTERRUPT_UART4
-#elif (CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL == 6)
+#elif (CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL == 4)
 #define __BASE ((void*)UART5_BASE_ADDR)
 #define CYGHWR_HAL_GDB_PORT_VECTOR CYGNUM_HAL_INTERRUPT_UART5
 #endif
diff -uNr /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/var/current/src/soc_misc.c packages/hal/arm/mx31/var/current/src/soc_misc.c
--- /home/Development/Redboot/src/ecos/packages/hal/arm/mx31/var/current/src/soc_misc.c	2007-04-02 18:35:54.000000000 +0300
+++ packages/hal/arm/mx31/var/current/src/soc_misc.c	2007-04-02 18:44:13.000000000 +0300
@@ -168,6 +168,9 @@
 
     // Perform any platform specific initializations
     plf_hardware_init();
+    // Init uart 
+    writel(0x12100101, IOMUXC_BASE_ADDR + 0x7C);
+    writel(0x00001210, IOMUXC_BASE_ADDR + 0x80);
 
     // Set up eCos/ROM interfaces
     hal_if_init();
@@ -248,8 +251,6 @@
     writel(delayCount, EPIT_BASE_ADDR + EPITLR);
 
     while ((0x1 & readl(EPIT_BASE_ADDR + EPITSR)) == 0); // return until compare bit is set
-    if ((++led_on % 2000) == 0)
-        BOARD_DEBUG_LED(0);
 }
 
 // -------------------------------------------------------------------------
-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

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