[at91] Add support for u-boot
authorClaudio Mignanti <c.mignanti@gmail.com>
Thu, 22 Jul 2010 11:32:38 +0000 (11:32 +0000)
committerClaudio Mignanti <c.mignanti@gmail.com>
Thu, 22 Jul 2010 11:32:38 +0000 (11:32 +0000)
SVN-Revision: 22351

20 files changed:
target/linux/at91/image/Config.in
target/linux/at91/image/Makefile
target/linux/at91/image/u-boot/Makefile
target/linux/at91/image/u-boot/patches/001-lowlevel-config.patch [deleted file]
target/linux/at91/image/u-boot/patches/002-dataflash_machine.patch [deleted file]
target/linux/at91/image/u-boot/patches/003-mac_init.patch [deleted file]
target/linux/at91/image/u-boot/patches/004-mac_config.patch [deleted file]
target/linux/at91/image/u-boot/patches/005-remove_float.patch [deleted file]
target/linux/at91/image/u-boot/patches/006-generate_params.patch [deleted file]
target/linux/at91/image/u-boot/patches/007-ubparams_bugfix.patch [deleted file]
target/linux/at91/image/u-boot/patches/008-ubparams_bugfix.patch [deleted file]
target/linux/at91/image/u-boot/patches/009-mac_init_bugfix.patch [deleted file]
target/linux/at91/image/u-boot/patches/010-irda-patch-remove.patch [deleted file]
target/linux/at91/image/u-boot/patches/011-ubparams_update.patch [deleted file]
target/linux/at91/image/u-boot/patches/012-make_3.81.patch [deleted file]
target/linux/at91/image/u-boot/patches/013-params-in-config.patch [deleted file]
target/linux/at91/image/u-boot/patches/014-ubparam-kernel.patch [deleted file]
target/linux/at91/image/u-boot/patches/015-eabi_fixes.patch [deleted file]
target/linux/at91/image/u-boot/patches/100-netusg20.patch [new file with mode: 0644]
target/linux/at91/image/u-boot/patches/200-clock.patch [new file with mode: 0644]

index b5a06f6..129c621 100644 (file)
@@ -10,16 +10,14 @@ config AT91_UBOOT
 
 config UBOOT_TARGET
        string "U-Boot target board"
-       depends TARGET_at91
        depends AT91_UBOOT
-       default "vlink"
+       default "netusg20"
        help
          For all supported boards there are ready-to-use default
                configurations available; just type "<board_name>".
 
 config UBOOT_IPADDR
        string "IP Address for U-Boot"
-       depends TARGET_at91
        depends AT91_UBOOT
        default "192.168.0.178"
        help
@@ -27,7 +25,6 @@ config UBOOT_IPADDR
 
 config UBOOT_SERVERIP
        string "IP Address of TFTP server"
-       depends TARGET_at91
        depends AT91_UBOOT
        default "192.168.0.232"
        help
index 433dad8..711b932 100644 (file)
@@ -8,9 +8,13 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
 define Build/Clean
+       $(MAKE) -C u-boot clean
 endef
 
 define Build/Compile
+       if [ $(CONFIG_AT91_UBOOT) ]; then \
+               $(MAKE) -C u-boot compile; \
+       fi
 endef
 
 define Image/Prepare
index 89a2be0..1d1b314 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=u-boot
-PKG_VERSION:=1.1.4
+PKG_VERSION:=2010.06
 PKG_RELEASE:=1
 
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
@@ -34,16 +34,18 @@ define Build/Compile
        $(CP) ./ubclient/* $(PKG_BUILD_DIR)/ubclient
        export LAN_IP=$(LAN_IP); \
        export LAN_SERVERIP=$(LAN_SERVERIP); \
-       $(MAKE) -C $(PKG_BUILD_DIR)/ubclient \
-               $(TARGET_CONFIGURE_OPTS) \
-               CFLAGS="$(TARGET_CFLAGS) -Dtarget_$(BOARD)=1"
+       #$(MAKE) -C $(PKG_BUILD_DIR)/ubclient \
+       #       $(TARGET_CONFIGURE_OPTS) \
+       #       CFLAGS="$(TARGET_CFLAGS) -Dtarget_$(BOARD)=1"
 endef
 
 define Build/InstallDev
        dd if=$(PKG_BUILD_DIR)/u-boot.bin of=$(PKG_BUILD_DIR)/u-boot.block bs=232k count=1 conv=sync
 #      $(INSTALL_DIR) $(STAGING_DIR)/ubclient/sbin
 #      $(INSTALL_BIN) $(PKG_BUILD_DIR)/ubclient/ubpar $(STAGING_DIR)/ubclient/sbin/
-       $(CP) $(PKG_BUILD_DIR)/ubclient/ubpar ../../base-files/sbin
+#      $(CP) $(PKG_BUILD_DIR)/ubclient/ubpar ../../base-files/sbin
+       mkdir -p $(BIN_DIR)/
+       cp $(PKG_BUILD_DIR)/u-boot.bin $(BIN_DIR)/u-boot.$(PKG_VERSION).bin
 endef
 
 $(eval $(call Build/DefaultTargets))
diff --git a/target/linux/at91/image/u-boot/patches/001-lowlevel-config.patch b/target/linux/at91/image/u-boot/patches/001-lowlevel-config.patch
deleted file mode 100644 (file)
index 25f92e4..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
---- u-boot-1.1.4/cpu/arm920t/config.mk 2005-12-16 17:39:27.000000000 +0100
-+++ u-boot-1.1.4.klaus/cpu/arm920t/config.mk   2006-02-27 19:07:41.000000000 +0100
-@@ -30,5 +30,5 @@
- # Supply options according to compiler version
- #
- # =========================================================================
--PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
-+PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32)
- PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
---- u-boot-1.1.4/cpu/arm920t/start.S   2005-12-16 17:39:27.000000000 +0100
-+++ u-boot-1.1.4.klaus/cpu/arm920t/start.S     2006-02-22 16:45:24.000000000 +0100
-@@ -237,6 +237,7 @@
-  */
-+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
- cpu_init_crit:
-       /*
-        * flush v4 I/D caches
-@@ -265,6 +266,7 @@
-       mov     lr, ip
-       mov     pc, lr
-+#endif
- /*
-  *************************************************************************
---- u-boot-1.1.4/examples/Makefile     2005-12-16 17:39:27.000000000 +0100
-+++ u-boot-1.1.4.klaus/examples/Makefile       2006-03-02 02:37:14.000000000 +0100
-@@ -30,7 +30,7 @@
- endif
- ifeq ($(ARCH),arm)
--LOAD_ADDR = 0xc100000
-+LOAD_ADDR = 0x21000000
- endif
- ifeq ($(ARCH),mips)
---- u-boot-1.1.4/include/config.h      1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.1.4.klaus/include/config.h        2006-02-27 19:04:46.000000000 +0100
-@@ -0,0 +1,2 @@
-+/* Automatically generated - do not edit */
-+#include <configs/at91rm9200dk.h>
---- u-boot-1.1.4/include/config.mk     1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.1.4.klaus/include/config.mk       2006-02-27 19:04:46.000000000 +0100
-@@ -0,0 +1,4 @@
-+ARCH   = arm
-+CPU    = arm920t
-+BOARD  = at91rm9200dk
-+SOC    = at91rm9200
---- u-boot-1.1.4/include/configs/at91rm9200dk.h        2005-12-16 17:39:27.000000000 +0100
-+++ u-boot-1.1.4.klaus/include/configs/at91rm9200dk.h  2006-02-26 22:44:17.000000000 +0100
-@@ -25,6 +25,11 @@
- #ifndef __CONFIG_H
- #define __CONFIG_H
-+// Added 2 defines to skip re-init lowlevel and relocate HCG HLH
-+//
-+#define CONFIG_SKIP_LOWLEVEL_INIT
-+#define CONFIG_SKIP_RELOCATE_UBOOT
-+
- /* ARM asynchronous clock */
- #define AT91C_MAIN_CLOCK      179712000       /* from 18.432 MHz crystal (18432000 / 4 * 39) */
- #define AT91C_MASTER_CLOCK    59904000        /* peripheral clock (AT91C_MASTER_CLOCK / 3) */
-@@ -165,12 +170,12 @@
- #define CFG_FLASH_ERASE_TOUT          (2*CFG_HZ) /* Timeout for Flash Erase */
- #define CFG_FLASH_WRITE_TOUT          (2*CFG_HZ) /* Timeout for Flash Write */
--#undef        CFG_ENV_IS_IN_DATAFLASH
-+#define       CFG_ENV_IS_IN_DATAFLASH
- #ifdef CFG_ENV_IS_IN_DATAFLASH
--#define CFG_ENV_OFFSET                        0x20000
-+#define CFG_ENV_OFFSET                        0x21000
- #define CFG_ENV_ADDR                  (CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)
--#define CFG_ENV_SIZE                  0x2000  /* 0x8000 */
-+#define CFG_ENV_SIZE                  0x8400  /* 0x8000 */
- #else
- #define CFG_ENV_IS_IN_FLASH           1
- #ifdef CONFIG_SKIP_LOWLEVEL_INIT
---- u-boot-1.1.4/Makefile      2005-12-16 17:39:27.000000000 +0100
-+++ u-boot-1.1.4.klaus/Makefile        2006-03-02 02:49:23.000000000 +0100
-@@ -57,7 +57,7 @@
- CROSS_COMPILE = powerpc-linux-
- endif
- ifeq ($(ARCH),arm)
--CROSS_COMPILE = arm-linux-
-+CROSS_COMPILE = ../staging_dir/bin/arm-linux-
- endif
- ifeq ($(ARCH),i386)
- ifeq ($(HOSTARCH),i387)
diff --git a/target/linux/at91/image/u-boot/patches/002-dataflash_machine.patch b/target/linux/at91/image/u-boot/patches/002-dataflash_machine.patch
deleted file mode 100644 (file)
index cf7648c..0000000
+++ /dev/null
@@ -1,6065 +0,0 @@
-diff -Naur u-boot-1.1.4.org/board/vlink/at45.c u-boot-1.1.4.tmp/board/vlink/at45.c
---- u-boot-1.1.4.org/board/vlink/at45.c        1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.1.4.tmp/board/vlink/at45.c        2005-12-16 17:39:27.000000000 +0100
-@@ -0,0 +1,621 @@
-+/* Driver for ATMEL DataFlash support
-+ * Author : Hamid Ikdoumi (Atmel)
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ *
-+ */
-+
-+#include <config.h>
-+#include <common.h>
-+#include <asm/hardware.h>
-+
-+#ifdef CONFIG_HAS_DATAFLASH
-+#include <dataflash.h>
-+
-+#define AT91C_SPI_CLK 10000000        /* Max Value = 10MHz to be compliant to
-+the Continuous Array Read function */
-+
-+/* AC Characteristics */
-+/* DLYBS = tCSS = 250ns min and DLYBCT = tCSH = 250ns */
-+#define DATAFLASH_TCSS        (0xC << 16)
-+#define DATAFLASH_TCHS        (0x1 << 24)
-+
-+#define AT91C_TIMEOUT_WRDY                    200000
-+#define AT91C_SPI_PCS0_SERIAL_DATAFLASH               0xE     /* Chip Select 0 : NPCS0 %1110 */
-+#define AT91C_SPI_PCS3_DATAFLASH_CARD         0x7     /* Chip Select 3 : NPCS3 %0111 */
-+
-+void AT91F_SpiInit(void) {
-+
-+/*-------------------------------------------------------------------*/
-+/*    SPI DataFlash Init                                                              */
-+/*-------------------------------------------------------------------*/
-+      /* Configure PIOs */
-+      AT91C_BASE_PIOA->PIO_ASR = AT91C_PA3_NPCS0 | AT91C_PA4_NPCS1 | AT91C_PA1_MOSI | AT91C_PA5_NPCS2 |
-+                                 AT91C_PA6_NPCS3 | AT91C_PA0_MISO | AT91C_PA2_SPCK;
-+      AT91C_BASE_PIOA->PIO_PDR = AT91C_PA3_NPCS0 | AT91C_PA4_NPCS1 | AT91C_PA1_MOSI | AT91C_PA5_NPCS2 |
-+                                 AT91C_PA6_NPCS3 | AT91C_PA0_MISO | AT91C_PA2_SPCK;
-+      /* Enable CLock */
-+      AT91C_BASE_PMC->PMC_PCER = 1 << AT91C_ID_SPI;
-+
-+      /* Reset the SPI */
-+      AT91C_BASE_SPI->SPI_CR = AT91C_SPI_SWRST;
-+
-+      /* Configure SPI in Master Mode with No CS selected !!! */
-+      AT91C_BASE_SPI->SPI_MR = AT91C_SPI_MSTR | AT91C_SPI_MODFDIS | AT91C_SPI_PCS;
-+
-+      /* Configure CS0 and CS3 */
-+      *(AT91C_SPI_CSR + 0) = AT91C_SPI_CPOL | (AT91C_SPI_DLYBS & DATAFLASH_TCSS) | (AT91C_SPI_DLYBCT &
-+      DATAFLASH_TCHS) | ((AT91C_MASTER_CLOCK / (2*AT91C_SPI_CLK)) << 8);
-+
-+      *(AT91C_SPI_CSR + 3) = AT91C_SPI_CPOL | (AT91C_SPI_DLYBS & DATAFLASH_TCSS) | (AT91C_SPI_DLYBCT &
-+      DATAFLASH_TCHS) | ((AT91C_MASTER_CLOCK / (2*AT91C_SPI_CLK)) << 8);
-+
-+}
-+
-+void AT91F_SpiEnable(int cs) {
-+      switch(cs) {
-+      case 0: /* Configure SPI CS0 for Serial DataFlash AT45DBxx */
-+              AT91C_BASE_SPI->SPI_MR &= 0xFFF0FFFF;
-+              AT91C_BASE_SPI->SPI_MR |= ((AT91C_SPI_PCS0_SERIAL_DATAFLASH<<16) & AT91C_SPI_PCS);
-+              break;
-+      case 3: /* Configure SPI CS3 for Serial DataFlash Card */
-+              /* Set up PIO SDC_TYPE to switch on DataFlash Card and not MMC/SDCard */
-+              AT91C_BASE_PIOB->PIO_PER = AT91C_PIO_PB7;       /* Set in PIO mode */
-+              AT91C_BASE_PIOB->PIO_OER = AT91C_PIO_PB7;       /* Configure in output */
-+              /* Clear Output */
-+              AT91C_BASE_PIOB->PIO_CODR = AT91C_PIO_PB7;
-+              /* Configure PCS */
-+              AT91C_BASE_SPI->SPI_MR &= 0xFFF0FFFF;
-+              AT91C_BASE_SPI->SPI_MR |= ((AT91C_SPI_PCS3_DATAFLASH_CARD<<16) & AT91C_SPI_PCS);
-+              break;
-+      }
-+
-+      /* SPI_Enable */
-+      AT91C_BASE_SPI->SPI_CR = AT91C_SPI_SPIEN;
-+}
-+
-+/*----------------------------------------------------------------------------*/
-+/* \fn    AT91F_SpiWrite                                                    */
-+/* \brief Set the PDC registers for a transfert                                     */
-+/*----------------------------------------------------------------------------*/
-+unsigned int AT91F_SpiWrite ( AT91PS_DataflashDesc pDesc )
-+{
-+      unsigned int timeout;
-+
-+      pDesc->state = BUSY;
-+
-+      AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTDIS + AT91C_PDC_RXTDIS;
-+
-+      /* Initialize the Transmit and Receive Pointer */
-+      AT91C_BASE_SPI->SPI_RPR = (unsigned int)pDesc->rx_cmd_pt ;
-+      AT91C_BASE_SPI->SPI_TPR = (unsigned int)pDesc->tx_cmd_pt ;
-+
-+      /* Intialize the Transmit and Receive Counters */
-+      AT91C_BASE_SPI->SPI_RCR = pDesc->rx_cmd_size;
-+      AT91C_BASE_SPI->SPI_TCR = pDesc->tx_cmd_size;
-+
-+      if ( pDesc->tx_data_size != 0 ) {
-+              /* Initialize the Next Transmit and Next Receive Pointer */
-+              AT91C_BASE_SPI->SPI_RNPR = (unsigned int)pDesc->rx_data_pt ;
-+              AT91C_BASE_SPI->SPI_TNPR = (unsigned int)pDesc->tx_data_pt ;
-+
-+              /* Intialize the Next Transmit and Next Receive Counters */
-+              AT91C_BASE_SPI->SPI_RNCR = pDesc->rx_data_size ;
-+              AT91C_BASE_SPI->SPI_TNCR = pDesc->tx_data_size ;
-+      }
-+
-+      /* arm simple, non interrupt dependent timer */
-+      reset_timer_masked();
-+      timeout = 0;
-+
-+      AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTEN + AT91C_PDC_RXTEN;
-+      while(!(AT91C_BASE_SPI->SPI_SR & AT91C_SPI_RXBUFF) && ((timeout = get_timer_masked() ) < CFG_SPI_WRITE_TOUT));
-+      AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTDIS + AT91C_PDC_RXTDIS;
-+      pDesc->state = IDLE;
-+
-+      if (timeout >= CFG_SPI_WRITE_TOUT){
-+              printf("Error Timeout\n\r");
-+              return DATAFLASH_ERROR;
-+      }
-+
-+      return DATAFLASH_OK;
-+}
-+
-+
-+/*----------------------------------------------------------------------*/
-+/* \fn    AT91F_DataFlashSendCommand                                  */
-+/* \brief Generic function to send a command to the dataflash         */
-+/*----------------------------------------------------------------------*/
-+AT91S_DataFlashStatus AT91F_DataFlashSendCommand(
-+      AT91PS_DataFlash pDataFlash,
-+      unsigned char OpCode,
-+      unsigned int CmdSize,
-+      unsigned int DataflashAddress)
-+{
-+    unsigned int adr;
-+
-+      if ( (pDataFlash->pDataFlashDesc->state) != IDLE)
-+              return DATAFLASH_BUSY;
-+
-+      /* process the address to obtain page address and byte address */
-+      adr = ((DataflashAddress / (pDataFlash->pDevice->pages_size)) << pDataFlash->pDevice->page_offset) + (DataflashAddress % (pDataFlash->pDevice->pages_size));
-+
-+      /* fill the  command  buffer */
-+      pDataFlash->pDataFlashDesc->command[0] = OpCode;
-+      if (pDataFlash->pDevice->pages_number >= 16384) {
-+              pDataFlash->pDataFlashDesc->command[1] = (unsigned char)((adr & 0x0F000000) >> 24);
-+              pDataFlash->pDataFlashDesc->command[2] = (unsigned char)((adr & 0x00FF0000) >> 16);
-+              pDataFlash->pDataFlashDesc->command[3] = (unsigned char)((adr & 0x0000FF00) >> 8);
-+              pDataFlash->pDataFlashDesc->command[4] = (unsigned char)(adr & 0x000000FF);
-+      } else {
-+              pDataFlash->pDataFlashDesc->command[1] = (unsigned char)((adr & 0x00FF0000) >> 16);
-+              pDataFlash->pDataFlashDesc->command[2] = (unsigned char)((adr & 0x0000FF00) >> 8);
-+              pDataFlash->pDataFlashDesc->command[3] = (unsigned char)(adr & 0x000000FF) ;
-+              pDataFlash->pDataFlashDesc->command[4] = 0;
-+      }
-+      pDataFlash->pDataFlashDesc->command[5] = 0;
-+      pDataFlash->pDataFlashDesc->command[6] = 0;
-+      pDataFlash->pDataFlashDesc->command[7] = 0;
-+
-+      /* Initialize the SpiData structure for the spi write fuction */
-+      pDataFlash->pDataFlashDesc->tx_cmd_pt   =  pDataFlash->pDataFlashDesc->command ;
-+      pDataFlash->pDataFlashDesc->tx_cmd_size =  CmdSize ;
-+      pDataFlash->pDataFlashDesc->rx_cmd_pt   =  pDataFlash->pDataFlashDesc->command ;
-+      pDataFlash->pDataFlashDesc->rx_cmd_size =  CmdSize ;
-+
-+      /* send the command and read the data */
-+      return AT91F_SpiWrite (pDataFlash->pDataFlashDesc);
-+}
-+
-+
-+/*----------------------------------------------------------------------*/
-+/* \fn    AT91F_DataFlashGetStatus                                    */
-+/* \brief Read the status register of the dataflash                   */
-+/*----------------------------------------------------------------------*/
-+AT91S_DataFlashStatus AT91F_DataFlashGetStatus(AT91PS_DataflashDesc pDesc)
-+{
-+      AT91S_DataFlashStatus status;
-+
-+      /* if a transfert is in progress ==> return 0 */
-+      if( (pDesc->state) != IDLE)
-+              return DATAFLASH_BUSY;
-+
-+      /* first send the read status command (D7H) */
-+      pDesc->command[0] = DB_STATUS;
-+      pDesc->command[1] = 0;
-+
-+      pDesc->DataFlash_state  = GET_STATUS;
-+      pDesc->tx_data_size     = 0 ;   /* Transmit the command and receive response */
-+      pDesc->tx_cmd_pt                = pDesc->command ;
-+      pDesc->rx_cmd_pt                = pDesc->command ;
-+      pDesc->rx_cmd_size              = 2 ;
-+      pDesc->tx_cmd_size              = 2 ;
-+      status = AT91F_SpiWrite (pDesc);
-+
-+      pDesc->DataFlash_state = *( (unsigned char *) (pDesc->rx_cmd_pt) +1);
-+
-+      return status;
-+}
-+
-+
-+/*----------------------------------------------------------------------*/
-+/* \fn    AT91F_DataFlashWaitReady                                    */
-+/* \brief wait for dataflash ready (bit7 of the status register == 1) */
-+/*----------------------------------------------------------------------*/
-+AT91S_DataFlashStatus AT91F_DataFlashWaitReady(AT91PS_DataflashDesc pDataFlashDesc, unsigned int timeout)
-+{
-+      pDataFlashDesc->DataFlash_state = IDLE;
-+
-+      do {
-+              AT91F_DataFlashGetStatus(pDataFlashDesc);
-+              timeout--;
-+      } while( ((pDataFlashDesc->DataFlash_state & 0x80) != 0x80) && (timeout > 0) );
-+
-+      if((pDataFlashDesc->DataFlash_state & 0x80) != 0x80)
-+              return DATAFLASH_ERROR;
-+
-+      return DATAFLASH_OK;
-+}
-+
-+
-+/*------------------------------------------------------------------------------*/
-+/* Function Name       : AT91F_DataFlashContinuousRead                                */
-+/* Object              : Continuous stream Read                               */
-+/* Input Parameters    : DataFlash Service                                    */
-+/*                                            : <src> = dataflash address     */
-+/*                     : <*dataBuffer> = data buffer pointer                  */
-+/*                     : <sizeToRead> = data buffer size                      */
-+/* Return value               : State of the dataflash                                */
-+/*------------------------------------------------------------------------------*/
-+AT91S_DataFlashStatus AT91F_DataFlashContinuousRead (
-+      AT91PS_DataFlash pDataFlash,
-+      int src,
-+      unsigned char *dataBuffer,
-+      int sizeToRead )
-+{
-+      AT91S_DataFlashStatus status;
-+      /* Test the size to read in the device */
-+      if ( (src + sizeToRead) > (pDataFlash->pDevice->pages_size * (pDataFlash->pDevice->pages_number)))
-+              return DATAFLASH_MEMORY_OVERFLOW;
-+
-+      pDataFlash->pDataFlashDesc->rx_data_pt = dataBuffer;
-+      pDataFlash->pDataFlashDesc->rx_data_size = sizeToRead;
-+      pDataFlash->pDataFlashDesc->tx_data_pt = dataBuffer;
-+      pDataFlash->pDataFlashDesc->tx_data_size = sizeToRead;
-+
-+      status = AT91F_DataFlashSendCommand (pDataFlash, DB_CONTINUOUS_ARRAY_READ, 8, src);
-+      /* Send the command to the dataflash */
-+      return(status);
-+}
-+
-+
-+/*------------------------------------------------------------------------------*/
-+/* Function Name       : AT91F_DataFlashPagePgmBuf                            */
-+/* Object              : Main memory page program through buffer 1 or buffer 2        */
-+/* Input Parameters    : DataFlash Service                                    */
-+/*                                            : <*src> = Source buffer        */
-+/*                     : <dest> = dataflash destination address                       */
-+/*                     : <SizeToWrite> = data buffer size                     */
-+/* Return value               : State of the dataflash                                */
-+/*------------------------------------------------------------------------------*/
-+AT91S_DataFlashStatus AT91F_DataFlashPagePgmBuf(
-+      AT91PS_DataFlash pDataFlash,
-+      unsigned char *src,
-+      unsigned int dest,
-+      unsigned int SizeToWrite)
-+{
-+      int cmdsize;
-+      pDataFlash->pDataFlashDesc->tx_data_pt = src ;
-+      pDataFlash->pDataFlashDesc->tx_data_size = SizeToWrite ;
-+      pDataFlash->pDataFlashDesc->rx_data_pt = src;
-+      pDataFlash->pDataFlashDesc->rx_data_size = SizeToWrite;
-+
-+      cmdsize = 4;
-+      /* Send the command to the dataflash */
-+      if (pDataFlash->pDevice->pages_number >= 16384)
-+              cmdsize = 5;
-+      return(AT91F_DataFlashSendCommand (pDataFlash, DB_PAGE_PGM_BUF1, cmdsize, dest));
-+}
-+
-+
-+/*------------------------------------------------------------------------------*/
-+/* Function Name       : AT91F_MainMemoryToBufferTransfert                    */
-+/* Object              : Read a page in the SRAM Buffer 1 or 2                        */
-+/* Input Parameters    : DataFlash Service                                    */
-+/*                     : Page concerned                                               */
-+/*                     :                                                      */
-+/* Return value               : State of the dataflash                                */
-+/*------------------------------------------------------------------------------*/
-+AT91S_DataFlashStatus AT91F_MainMemoryToBufferTransfert(
-+      AT91PS_DataFlash pDataFlash,
-+      unsigned char BufferCommand,
-+      unsigned int page)
-+{
-+      int cmdsize;
-+      /* Test if the buffer command is legal */
-+      if ((BufferCommand != DB_PAGE_2_BUF1_TRF) && (BufferCommand != DB_PAGE_2_BUF2_TRF))
-+              return DATAFLASH_BAD_COMMAND;
-+
-+      /* no data to transmit or receive */
-+      pDataFlash->pDataFlashDesc->tx_data_size = 0;
-+      cmdsize = 4;
-+      if (pDataFlash->pDevice->pages_number >= 16384)
-+              cmdsize = 5;
-+      return(AT91F_DataFlashSendCommand (pDataFlash, BufferCommand, cmdsize, page*pDataFlash->pDevice->pages_size));
-+}
-+
-+
-+/*----------------------------------------------------------------------------- */
-+/* Function Name       : AT91F_DataFlashWriteBuffer                           */
-+/* Object              : Write data to the internal sram buffer 1 or 2                */
-+/* Input Parameters    : DataFlash Service                                    */
-+/*                    : <BufferCommand> = command to write buffer1 or buffer2 */
-+/*                     : <*dataBuffer> = data buffer to write                 */
-+/*                     : <bufferAddress> = address in the internal buffer     */
-+/*                     : <SizeToWrite> = data buffer size                     */
-+/* Return value               : State of the dataflash                                */
-+/*------------------------------------------------------------------------------*/
-+AT91S_DataFlashStatus AT91F_DataFlashWriteBuffer (
-+      AT91PS_DataFlash pDataFlash,
-+      unsigned char BufferCommand,
-+      unsigned char *dataBuffer,
-+      unsigned int bufferAddress,
-+      int SizeToWrite )
-+{
-+      int cmdsize;
-+      /* Test if the buffer command is legal */
-+      if ((BufferCommand != DB_BUF1_WRITE) && (BufferCommand != DB_BUF2_WRITE))
-+              return DATAFLASH_BAD_COMMAND;
-+
-+      /* buffer address must be lower than page size */
-+      if (bufferAddress > pDataFlash->pDevice->pages_size)
-+              return DATAFLASH_BAD_ADDRESS;
-+
-+      if ( (pDataFlash->pDataFlashDesc->state)  != IDLE)
-+              return DATAFLASH_BUSY;
-+
-+      /* Send first Write Command */
-+      pDataFlash->pDataFlashDesc->command[0] = BufferCommand;
-+      pDataFlash->pDataFlashDesc->command[1] = 0;
-+      if (pDataFlash->pDevice->pages_number >= 16384) {
-+              pDataFlash->pDataFlashDesc->command[2] = 0;
-+              pDataFlash->pDataFlashDesc->command[3] = (unsigned char)(((unsigned int)(bufferAddress &  pDataFlash->pDevice->byte_mask)) >> 8) ;
-+              pDataFlash->pDataFlashDesc->command[4] = (unsigned char)((unsigned int)bufferAddress  & 0x00FF) ;
-+              cmdsize = 5;
-+      } else {
-+              pDataFlash->pDataFlashDesc->command[2] = (unsigned char)(((unsigned int)(bufferAddress &  pDataFlash->pDevice->byte_mask)) >> 8) ;
-+              pDataFlash->pDataFlashDesc->command[3] = (unsigned char)((unsigned int)bufferAddress  & 0x00FF) ;
-+              pDataFlash->pDataFlashDesc->command[4] = 0;
-+              cmdsize = 4;
-+      }
-+
-+      pDataFlash->pDataFlashDesc->tx_cmd_pt    = pDataFlash->pDataFlashDesc->command ;
-+      pDataFlash->pDataFlashDesc->tx_cmd_size = cmdsize ;
-+      pDataFlash->pDataFlashDesc->rx_cmd_pt    = pDataFlash->pDataFlashDesc->command ;
-+      pDataFlash->pDataFlashDesc->rx_cmd_size = cmdsize ;
-+
-+      pDataFlash->pDataFlashDesc->rx_data_pt  = dataBuffer ;
-+      pDataFlash->pDataFlashDesc->tx_data_pt  = dataBuffer ;
-+      pDataFlash->pDataFlashDesc->rx_data_size        = SizeToWrite ;
-+      pDataFlash->pDataFlashDesc->tx_data_size        = SizeToWrite ;
-+
-+      return AT91F_SpiWrite(pDataFlash->pDataFlashDesc);
-+}
-+
-+/*------------------------------------------------------------------------------*/
-+/* Function Name       : AT91F_PageErase                                        */
-+/* Object              : Erase a page                                                 */
-+/* Input Parameters    : DataFlash Service                                    */
-+/*                     : Page concerned                                               */
-+/*                     :                                                      */
-+/* Return value               : State of the dataflash                                */
-+/*------------------------------------------------------------------------------*/
-+AT91S_DataFlashStatus AT91F_PageErase(
-+      AT91PS_DataFlash pDataFlash,
-+      unsigned int page)
-+{
-+      int cmdsize;
-+      /* Test if the buffer command is legal */
-+      /* no data to transmit or receive */
-+      pDataFlash->pDataFlashDesc->tx_data_size = 0;
-+
-+      cmdsize = 4;
-+      if (pDataFlash->pDevice->pages_number >= 16384)
-+              cmdsize = 5;
-+      return(AT91F_DataFlashSendCommand (pDataFlash, DB_PAGE_ERASE, cmdsize, page*pDataFlash->pDevice->pages_size));
-+}
-+
-+
-+/*------------------------------------------------------------------------------*/
-+/* Function Name       : AT91F_BlockErase                                       */
-+/* Object              : Erase a Block                                                */
-+/* Input Parameters    : DataFlash Service                                    */
-+/*                     : Page concerned                                               */
-+/*                     :                                                      */
-+/* Return value               : State of the dataflash                                */
-+/*------------------------------------------------------------------------------*/
-+AT91S_DataFlashStatus AT91F_BlockErase(
-+      AT91PS_DataFlash pDataFlash,
-+      unsigned int block)
-+{
-+      int cmdsize;
-+      /* Test if the buffer command is legal */
-+      /* no data to transmit or receive */
-+      pDataFlash->pDataFlashDesc->tx_data_size = 0;
-+      cmdsize = 4;
-+      if (pDataFlash->pDevice->pages_number >= 16384)
-+              cmdsize = 5;
-+      return(AT91F_DataFlashSendCommand (pDataFlash, DB_BLOCK_ERASE,cmdsize, block*8*pDataFlash->pDevice->pages_size));
-+}
-+
-+/*------------------------------------------------------------------------------*/
-+/* Function Name       : AT91F_WriteBufferToMain                              */
-+/* Object              : Write buffer to the main memory                      */
-+/* Input Parameters    : DataFlash Service                                    */
-+/*            : <BufferCommand> = command to send to buffer1 or buffer2       */
-+/*                     : <dest> = main memory address                         */
-+/* Return value               : State of the dataflash                                */
-+/*------------------------------------------------------------------------------*/
-+AT91S_DataFlashStatus AT91F_WriteBufferToMain (
-+      AT91PS_DataFlash pDataFlash,
-+      unsigned char BufferCommand,
-+      unsigned int dest )
-+{
-+      int cmdsize;
-+      /* Test if the buffer command is correct */
-+      if ((BufferCommand != DB_BUF1_PAGE_PGM) &&
-+          (BufferCommand != DB_BUF1_PAGE_ERASE_PGM) &&
-+          (BufferCommand != DB_BUF2_PAGE_PGM) &&
-+          (BufferCommand != DB_BUF2_PAGE_ERASE_PGM) )
-+              return DATAFLASH_BAD_COMMAND;
-+
-+      /* no data to transmit or receive */
-+      pDataFlash->pDataFlashDesc->tx_data_size = 0;
-+
-+      cmdsize = 4;
-+      if (pDataFlash->pDevice->pages_number >= 16384)
-+              cmdsize = 5;
-+      /* Send the command to the dataflash */
-+      return(AT91F_DataFlashSendCommand (pDataFlash, BufferCommand, cmdsize, dest));
-+}
-+
-+
-+/*------------------------------------------------------------------------------*/
-+/* Function Name       : AT91F_PartialPageWrite                                       */
-+/* Object              : Erase partielly a page                                       */
-+/* Input Parameters    : <page> = page number                                 */
-+/*                    : <AdrInpage> = adr to begin the fading                 */
-+/*                     : <length> = Number of bytes to erase                  */
-+/*------------------------------------------------------------------------------*/
-+AT91S_DataFlashStatus AT91F_PartialPageWrite (
-+      AT91PS_DataFlash pDataFlash,
-+      unsigned char *src,
-+      unsigned int dest,
-+      unsigned int size)
-+{
-+      unsigned int page;
-+      unsigned int AdrInPage;
-+
-+      page = dest / (pDataFlash->pDevice->pages_size);
-+      AdrInPage = dest % (pDataFlash->pDevice->pages_size);
-+
-+      /* Read the contents of the page in the Sram Buffer */
-+      AT91F_MainMemoryToBufferTransfert(pDataFlash, DB_PAGE_2_BUF1_TRF, page);
-+      AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, AT91C_TIMEOUT_WRDY);
-+      /*Update the SRAM buffer */
-+      AT91F_DataFlashWriteBuffer(pDataFlash, DB_BUF1_WRITE, src, AdrInPage, size);
-+
-+      AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, AT91C_TIMEOUT_WRDY);
-+
-+      /* Erase page if a 128 Mbits device */
-+      if (pDataFlash->pDevice->pages_number >= 16384) {
-+              AT91F_PageErase(pDataFlash, page);
-+              /* Rewrite the modified Sram Buffer in the main memory */
-+              AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, AT91C_TIMEOUT_WRDY);
-+      }
-+
-+      /* Rewrite the modified Sram Buffer in the main memory */
-+      return(AT91F_WriteBufferToMain(pDataFlash, DB_BUF1_PAGE_ERASE_PGM, (page*pDataFlash->pDevice->pages_size)));
-+}
-+
-+
-+/*------------------------------------------------------------------------------*/
-+/* Function Name       : AT91F_DataFlashWrite                                 */
-+/* Object              :                                                      */
-+/* Input Parameters    : <*src> = Source buffer                                       */
-+/*                     : <dest> = dataflash adress                            */
-+/*                     : <size> = data buffer size                            */
-+/*------------------------------------------------------------------------------*/
-+AT91S_DataFlashStatus AT91F_DataFlashWrite(
-+      AT91PS_DataFlash pDataFlash,
-+      unsigned char *src,
-+      int dest,
-+      int size )
-+{
-+      unsigned int length;
-+      unsigned int page;
-+      unsigned int status;
-+
-+      AT91F_SpiEnable(pDataFlash->pDevice->cs);
-+
-+      if ( (dest + size) > (pDataFlash->pDevice->pages_size * (pDataFlash->pDevice->pages_number)))
-+              return DATAFLASH_MEMORY_OVERFLOW;
-+
-+      /* If destination does not fit a page start address */
-+      if ((dest % ((unsigned int)(pDataFlash->pDevice->pages_size)))  != 0 ) {
-+              length = pDataFlash->pDevice->pages_size - (dest % ((unsigned int)(pDataFlash->pDevice->pages_size)));
-+
-+              if (size < length)
-+                      length = size;
-+
-+              if(!AT91F_PartialPageWrite(pDataFlash,src, dest, length))
-+                      return DATAFLASH_ERROR;
-+
-+              AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, AT91C_TIMEOUT_WRDY);
-+
-+              /* Update size, source and destination pointers */
-+              size -= length;
-+              dest += length;
-+              src += length;
-+      }
-+
-+      while (( size - pDataFlash->pDevice->pages_size ) >= 0 ) {
-+              /* program dataflash page */
-+              page = (unsigned int)dest / (pDataFlash->pDevice->pages_size);
-+
-+              status = AT91F_DataFlashWriteBuffer(pDataFlash, DB_BUF1_WRITE, src, 0, pDataFlash->pDevice->pages_size);
-+              AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, AT91C_TIMEOUT_WRDY);
-+
-+              status = AT91F_PageErase(pDataFlash, page);
-+              AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, AT91C_TIMEOUT_WRDY);
-+              if (!status)
-+                      return DATAFLASH_ERROR;
-+
-+              status = AT91F_WriteBufferToMain (pDataFlash, DB_BUF1_PAGE_PGM, dest);
-+              if(!status)
-+                      return DATAFLASH_ERROR;
-+
-+              AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, AT91C_TIMEOUT_WRDY);
-+
-+              /* Update size, source and destination pointers */
-+              size -= pDataFlash->pDevice->pages_size ;
-+              dest += pDataFlash->pDevice->pages_size ;
-+              src  += pDataFlash->pDevice->pages_size ;
-+      }
-+
-+      /* If still some bytes to read */
-+      if ( size > 0 ) {
-+              /* program dataflash page */
-+              if(!AT91F_PartialPageWrite(pDataFlash, src, dest, size) )
-+                      return DATAFLASH_ERROR;
-+
-+              AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, AT91C_TIMEOUT_WRDY);
-+      }
-+      return DATAFLASH_OK;
-+}
-+
-+
-+/*------------------------------------------------------------------------------*/
-+/* Function Name       : AT91F_DataFlashRead                                  */
-+/* Object              : Read a block in dataflash                            */
-+/* Input Parameters    :                                                      */
-+/* Return value               :                                                       */
-+/*------------------------------------------------------------------------------*/
-+int AT91F_DataFlashRead(
-+      AT91PS_DataFlash pDataFlash,
-+      unsigned long addr,
-+      unsigned long size,
-+      char *buffer)
-+{
-+      unsigned long SizeToRead;
-+
-+      AT91F_SpiEnable(pDataFlash->pDevice->cs);
-+
-+      if(AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, AT91C_TIMEOUT_WRDY) != DATAFLASH_OK)
-+              return -1;
-+
-+      while (size) {
-+              SizeToRead = (size < 0x8000)? size:0x8000;
-+
-+              if (AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc, AT91C_TIMEOUT_WRDY) != DATAFLASH_OK)
-+                      return -1;
-+
-+              if (AT91F_DataFlashContinuousRead (pDataFlash, addr, buffer, SizeToRead) != DATAFLASH_OK)
-+                      return -1;
-+
-+              size -= SizeToRead;
-+              addr += SizeToRead;
-+              buffer += SizeToRead;
-+      }
-+
-+      return DATAFLASH_OK;
-+}
-+
-+
-+/*------------------------------------------------------------------------------*/
-+/* Function Name       : AT91F_DataflashProbe                                         */
-+/* Object              :                                                      */
-+/* Input Parameters    :                                                      */
-+/* Return value              : Dataflash status register                              */
-+/*------------------------------------------------------------------------------*/
-+int AT91F_DataflashProbe(int cs, AT91PS_DataflashDesc pDesc)
-+{
-+      AT91F_SpiEnable(cs);
-+      AT91F_DataFlashGetStatus(pDesc);
-+      return((pDesc->command[1] == 0xFF)? 0: pDesc->command[1] & 0x3C);
-+}
-+
-+#endif
-diff -Naur u-boot-1.1.4.org/board/vlink/config.mk u-boot-1.1.4.tmp/board/vlink/config.mk
---- u-boot-1.1.4.org/board/vlink/config.mk     1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.1.4.tmp/board/vlink/config.mk     2005-12-16 17:39:27.000000000 +0100
-@@ -0,0 +1 @@
-+TEXT_BASE = 0x21f00000
-diff -Naur u-boot-1.1.4.org/board/vlink/flash.c u-boot-1.1.4.tmp/board/vlink/flash.c
---- u-boot-1.1.4.org/board/vlink/flash.c       1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.1.4.tmp/board/vlink/flash.c       2006-06-05 02:44:43.000000000 +0200
-@@ -0,0 +1,504 @@
-+/*
-+ * (C) Copyright 2002
-+ * Lineo, Inc. <www.lineo.com>
-+ * Bernhard Kuhn <bkuhn@lineo.com>
-+ *
-+ * (C) Copyright 2002
-+ * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
-+ * Alex Zuepke <azu@sysgo.de>
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+#include <common.h>
-+
-+ulong myflush(void);
-+
-+
-+/* Flash Organization Structure */
-+typedef struct OrgDef
-+{
-+      unsigned int sector_number;
-+      unsigned int sector_size;
-+} OrgDef;
-+
-+
-+/* Flash Organizations */
-+OrgDef OrgAT49BV16x4[] =
-+{
-+      {  8,  8*1024 },        /*   8 *  8 kBytes sectors */
-+      {  2, 32*1024 },        /*   2 * 32 kBytes sectors */
-+      { 30, 64*1024 },        /*  30 * 64 kBytes sectors */
-+};
-+
-+OrgDef OrgAT49BV16x4A[] =
-+{
-+      {  8,  8*1024 },        /*   8 *  8 kBytes sectors */
-+      { 31, 64*1024 },        /*  31 * 64 kBytes sectors */
-+};
-+
-+OrgDef OrgAT49BV6416[] =
-+{
-+      {   8,  8*1024 },       /*   8 *  8 kBytes sectors */
-+      { 127, 64*1024 },       /* 127 * 64 kBytes sectors */
-+};
-+
-+flash_info_t    flash_info[CFG_MAX_FLASH_BANKS];
-+
-+/* AT49BV1614A Codes */
-+#define FLASH_CODE1           0xAA
-+#define FLASH_CODE2           0x55
-+#define ID_IN_CODE            0x90
-+#define ID_OUT_CODE           0xF0
-+
-+
-+#define CMD_READ_ARRAY                0x00F0
-+#define CMD_UNLOCK1           0x00AA
-+#define CMD_UNLOCK2           0x0055
-+#define CMD_ERASE_SETUP               0x0080
-+#define CMD_ERASE_CONFIRM     0x0030
-+#define CMD_PROGRAM           0x00A0
-+#define CMD_UNLOCK_BYPASS     0x0020
-+#define CMD_SECTOR_UNLOCK     0x0070
-+
-+#define MEM_FLASH_ADDR1               (*(volatile u16 *)(CFG_FLASH_BASE + (0x00005555<<1)))
-+#define MEM_FLASH_ADDR2               (*(volatile u16 *)(CFG_FLASH_BASE + (0x00002AAA<<1)))
-+
-+#define BIT_ERASE_DONE                0x0080
-+#define BIT_RDY_MASK          0x0080
-+#define BIT_PROGRAM_ERROR     0x0020
-+#define BIT_TIMEOUT           0x80000000 /* our flag */
-+
-+#define READY 1
-+#define ERR   2
-+#define TMO   4
-+
-+/*-----------------------------------------------------------------------
-+ */
-+void flash_identification (flash_info_t * info)
-+{
-+      volatile u16 manuf_code, device_code, add_device_code;
-+
-+      MEM_FLASH_ADDR1 = FLASH_CODE1;
-+      MEM_FLASH_ADDR2 = FLASH_CODE2;
-+      MEM_FLASH_ADDR1 = ID_IN_CODE;
-+
-+      manuf_code = *(volatile u16 *) CFG_FLASH_BASE;
-+      device_code = *(volatile u16 *) (CFG_FLASH_BASE + 2);
-+      add_device_code = *(volatile u16 *) (CFG_FLASH_BASE + (3 << 1));
-+
-+      MEM_FLASH_ADDR1 = FLASH_CODE1;
-+      MEM_FLASH_ADDR2 = FLASH_CODE2;
-+      MEM_FLASH_ADDR1 = ID_OUT_CODE;
-+
-+      /* Vendor type */
-+      info->flash_id = ATM_MANUFACT & FLASH_VENDMASK;
-+      printf ("Atmel: ");
-+
-+      if ((device_code & FLASH_TYPEMASK) == (ATM_ID_BV1614 & FLASH_TYPEMASK)) {
-+
-+              if ((add_device_code & FLASH_TYPEMASK) ==
-+                      (ATM_ID_BV1614A & FLASH_TYPEMASK)) {
-+                      info->flash_id |= ATM_ID_BV1614A & FLASH_TYPEMASK;
-+                      printf ("AT49BV1614A (16Mbit)\n");
-+              } else {                                /* AT49BV1614 Flash */
-+                      info->flash_id |= ATM_ID_BV1614 & FLASH_TYPEMASK;
-+                      printf ("AT49BV1614 (16Mbit)\n");
-+              }
-+
-+      } else if ((device_code & FLASH_TYPEMASK) == (ATM_ID_BV6416 & FLASH_TYPEMASK)) {
-+              info->flash_id |= ATM_ID_BV6416 & FLASH_TYPEMASK;
-+              printf ("AT49BV6416 (64Mbit)\n");
-+      }
-+}
-+
-+ushort flash_number_sector(OrgDef *pOrgDef, unsigned int nb_blocks)
-+{
-+      int i, nb_sectors = 0;
-+
-+      for (i=0; i<nb_blocks; i++){
-+              nb_sectors += pOrgDef[i].sector_number;
-+      }
-+
-+      return nb_sectors;
-+}
-+
-+void flash_unlock_sector(flash_info_t * info, unsigned int sector)
-+{
-+      volatile u16 *addr = (volatile u16 *) (info->start[sector]);
-+
-+      MEM_FLASH_ADDR1 = CMD_UNLOCK1;
-+      *addr = CMD_SECTOR_UNLOCK;
-+}
-+
-+
-+ulong flash_init (void)
-+{
-+      int i, j, k;
-+      unsigned int flash_nb_blocks, sector;
-+      unsigned int start_address;
-+      OrgDef *pOrgDef;
-+
-+      ulong size = 0;
-+
-+      for (i = 0; i < CFG_MAX_FLASH_BANKS; i++) {
-+              ulong flashbase = 0;
-+
-+              flash_identification (&flash_info[i]);
-+
-+              if ((flash_info[i].flash_id & FLASH_TYPEMASK) ==
-+                      (ATM_ID_BV1614 & FLASH_TYPEMASK)) {
-+
-+                      pOrgDef = OrgAT49BV16x4;
-+                      flash_nb_blocks = sizeof (OrgAT49BV16x4) / sizeof (OrgDef);
-+              } else if ((flash_info[i].flash_id & FLASH_TYPEMASK) ==
-+                      (ATM_ID_BV1614A & FLASH_TYPEMASK)){     /* AT49BV1614A Flash */
-+
-+                      pOrgDef = OrgAT49BV16x4A;
-+                      flash_nb_blocks = sizeof (OrgAT49BV16x4A) / sizeof (OrgDef);
-+              } else if ((flash_info[i].flash_id & FLASH_TYPEMASK) ==
-+                      (ATM_ID_BV6416 & FLASH_TYPEMASK)){      /* AT49BV6416 Flash */
-+
-+                      pOrgDef = OrgAT49BV6416;
-+                      flash_nb_blocks = sizeof (OrgAT49BV6416) / sizeof (OrgDef);
-+              } else {
-+                      flash_nb_blocks = 0;
-+                      pOrgDef = OrgAT49BV16x4;
-+              }
-+
-+              flash_info[i].sector_count = flash_number_sector(pOrgDef, flash_nb_blocks);
-+              memset (flash_info[i].protect, 0, flash_info[i].sector_count);
-+
-+              if (i == 0)
-+                      flashbase = PHYS_FLASH_1;
-+              else
-+                      panic ("configured too many flash banks!\n");
-+
-+              sector = 0;
-+              start_address = flashbase;
-+              flash_info[i].size = 0;
-+
-+              for (j = 0; j < flash_nb_blocks; j++) {
-+                      for (k = 0; k < pOrgDef[j].sector_number; k++) {
-+                              flash_info[i].start[sector++] = start_address;
-+                              start_address += pOrgDef[j].sector_size;
-+                              flash_info[i].size += pOrgDef[j].sector_size;
-+                      }
-+              }
-+
-+              size += flash_info[i].size;
-+
-+              if ((flash_info[i].flash_id & FLASH_TYPEMASK) ==
-+                      (ATM_ID_BV6416 & FLASH_TYPEMASK)){      /* AT49BV6416 Flash */
-+
-+                      /* Unlock all sectors at reset */
-+                      for (j=0; j<flash_info[i].sector_count; j++){
-+                              flash_unlock_sector(&flash_info[i], j);
-+                      }
-+              }
-+      }
-+
-+      /* Protect binary boot image */
-+      flash_protect (FLAG_PROTECT_SET,
-+                     CFG_FLASH_BASE,
-+                     CFG_FLASH_BASE + CFG_BOOT_SIZE - 1, &flash_info[0]);
-+
-+      /* Protect environment variables */
-+      flash_protect (FLAG_PROTECT_SET,
-+                     CFG_ENV_ADDR,
-+                     CFG_ENV_ADDR + CFG_ENV_SIZE - 1, &flash_info[0]);
-+
-+      /* Protect U-Boot gzipped image */
-+      flash_protect (FLAG_PROTECT_SET,
-+                     CFG_U_BOOT_BASE,
-+                     CFG_U_BOOT_BASE + CFG_U_BOOT_SIZE - 1, &flash_info[0]);
-+
-+      return size;
-+}
-+
-+/*-----------------------------------------------------------------------
-+ */
-+void flash_print_info (flash_info_t * info)
-+{
-+      int i;
-+
-+      switch (info->flash_id & FLASH_VENDMASK) {
-+      case (ATM_MANUFACT & FLASH_VENDMASK):
-+              printf ("Atmel: ");
-+              break;
-+      default:
-+              printf ("Unknown Vendor ");
-+              break;
-+      }
-+
-+      switch (info->flash_id & FLASH_TYPEMASK) {
-+      case (ATM_ID_BV1614 & FLASH_TYPEMASK):
-+              printf ("AT49BV1614 (16Mbit)\n");
-+              break;
-+      case (ATM_ID_BV1614A & FLASH_TYPEMASK):
-+              printf ("AT49BV1614A (16Mbit)\n");
-+              break;
-+      case (ATM_ID_BV6416 & FLASH_TYPEMASK):
-+              printf ("AT49BV6416 (64Mbit)\n");
-+              break;
-+      default:
-+              printf ("Unknown Chip Type\n");
-+              return;
-+      }
-+
-+      printf ("  Size: %ld MB in %d Sectors\n",
-+              info->size >> 20, info->sector_count);
-+
-+      printf ("  Sector Start Addresses:");
-+      for (i = 0; i < info->sector_count; i++) {
-+              if ((i % 5) == 0) {
-+                      printf ("\n   ");
-+              }
-+              printf (" %08lX%s", info->start[i],
-+                      info->protect[i] ? " (RO)" : "     ");
-+      }
-+      printf ("\n");
-+}
-+
-+/*-----------------------------------------------------------------------
-+ */
-+
-+int flash_erase (flash_info_t * info, int s_first, int s_last)
-+{
-+      ulong result;
-+      int iflag, cflag, prot, sect;
-+      int rc = ERR_OK;
-+      int chip1;
-+
-+      /* first look for protection bits */
-+
-+      if (info->flash_id == FLASH_UNKNOWN)
-+              return ERR_UNKNOWN_FLASH_TYPE;
-+
-+      if ((s_first < 0) || (s_first > s_last)) {
-+              return ERR_INVAL;
-+      }
-+
-+      if ((info->flash_id & FLASH_VENDMASK) !=
-+              (ATM_MANUFACT & FLASH_VENDMASK)) {
-+              return ERR_UNKNOWN_FLASH_VENDOR;
-+      }
-+
-+      prot = 0;
-+      for (sect = s_first; sect <= s_last; ++sect) {
-+              if (info->protect[sect]) {
-+                      prot++;
-+              }
-+      }
-+      if (prot)
-+              return ERR_PROTECTED;
-+
-+      /*
-+       * Disable interrupts which might cause a timeout
-+       * here. Remember that our exception vectors are
-+       * at address 0 in the flash, and we don't want a
-+       * (ticker) exception to happen while the flash
-+       * chip is in programming mode.
-+       */
-+      cflag = icache_status ();
-+      icache_disable ();
-+      iflag = disable_interrupts ();
-+
-+      /* Start erase on unprotected sectors */
-+      for (sect = s_first; sect <= s_last && !ctrlc (); sect++) {
-+              printf ("Erasing sector %2d ... ", sect);
-+
-+              /* arm simple, non interrupt dependent timer */
-+              reset_timer_masked ();
-+
-+              if (info->protect[sect] == 0) { /* not protected */
-+                      volatile u16 *addr = (volatile u16 *) (info->start[sect]);
-+
-+                      MEM_FLASH_ADDR1 = CMD_UNLOCK1;
-+                      MEM_FLASH_ADDR2 = CMD_UNLOCK2;
-+                      MEM_FLASH_ADDR1 = CMD_ERASE_SETUP;
-+
-+                      MEM_FLASH_ADDR1 = CMD_UNLOCK1;
-+                      MEM_FLASH_ADDR2 = CMD_UNLOCK2;
-+                      *addr = CMD_ERASE_CONFIRM;
-+
-+                      /* wait until flash is ready */
-+                      chip1 = 0;
-+
-+                      do {
-+                              result = *addr;
-+
-+                              /* check timeout */
-+                              if (get_timer_masked () > CFG_FLASH_ERASE_TOUT) {
-+                                      MEM_FLASH_ADDR1 = CMD_READ_ARRAY;
-+                                      chip1 = TMO;
-+                                      break;
-+                              }
-+
-+                              if (!chip1 && (result & 0xFFFF) & BIT_ERASE_DONE)
-+                                      chip1 = READY;
-+
-+                      } while (!chip1);
-+
-+                      MEM_FLASH_ADDR1 = CMD_READ_ARRAY;
-+
-+                      if (chip1 == ERR) {
-+                              rc = ERR_PROG_ERROR;
-+                              goto outahere;
-+                      }
-+                      if (chip1 == TMO) {
-+                              rc = ERR_TIMOUT;
-+                              goto outahere;
-+                      }
-+
-+                      printf ("ok.\n");
-+              } else {                        /* it was protected */
-+                      printf ("protected!\n");
-+              }
-+      }
-+
-+      if (ctrlc ())
-+              printf ("User Interrupt!\n");
-+
-+outahere:
-+      /* allow flash to settle - wait 10 ms */
-+      udelay_masked (10000);
-+
-+      if (iflag)
-+              enable_interrupts ();
-+
-+      if (cflag)
-+              icache_enable ();
-+
-+      return rc;
-+}
-+
-+/*-----------------------------------------------------------------------
-+ * Copy memory to flash
-+ */
-+
-+volatile static int write_word (flash_info_t * info, ulong dest,
-+                                                              ulong data)
-+{
-+      volatile u16 *addr = (volatile u16 *) dest;
-+      ulong result;
-+      int rc = ERR_OK;
-+      int cflag, iflag;
-+      int chip1;
-+
-+      /*
-+       * Check if Flash is (sufficiently) erased
-+       */
-+      result = *addr;
-+      if ((result & data) != data)
-+              return ERR_NOT_ERASED;
-+
-+
-+      /*
-+       * Disable interrupts which might cause a timeout
-+       * here. Remember that our exception vectors are
-+       * at address 0 in the flash, and we don't want a
-+       * (ticker) exception to happen while the flash
-+       * chip is in programming mode.
-+       */
-+      cflag = icache_status ();
-+      icache_disable ();
-+      iflag = disable_interrupts ();
-+
-+      MEM_FLASH_ADDR1 = CMD_UNLOCK1;
-+      MEM_FLASH_ADDR2 = CMD_UNLOCK2;
-+      MEM_FLASH_ADDR1 = CMD_PROGRAM;
-+      *addr = data;
-+
-+      /* arm simple, non interrupt dependent timer */
-+      reset_timer_masked ();
-+
-+      /* wait until flash is ready */
-+      chip1 = 0;
-+      do {
-+              result = *addr;
-+
-+              /* check timeout */
-+              if (get_timer_masked () > CFG_FLASH_ERASE_TOUT) {
-+                      chip1 = ERR | TMO;
-+                      break;
-+              }
-+              if (!chip1 && ((result & 0x80) == (data & 0x80)))
-+                      chip1 = READY;
-+
-+      } while (!chip1);
-+
-+      *addr = CMD_READ_ARRAY;
-+
-+      if (chip1 == ERR || *addr != data)
-+              rc = ERR_PROG_ERROR;
-+
-+      if (iflag)
-+              enable_interrupts ();
-+
-+      if (cflag)
-+              icache_enable ();
-+
-+      return rc;
-+}
-+
-+/*-----------------------------------------------------------------------
-+ * Copy memory to flash.
-+ */
-+
-+int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt)
-+{
-+      ulong wp, data;
-+      int rc;
-+
-+      if (addr & 1) {
-+              printf ("unaligned destination not supported\n");
-+              return ERR_ALIGN;
-+      };
-+
-+      if ((int) src & 1) {
-+              printf ("unaligned source not supported\n");
-+              return ERR_ALIGN;
-+      };
-+
-+      wp = addr;
-+
-+      while (cnt >= 2) {
-+              data = *((volatile u16 *) src);
-+              if ((rc = write_word (info, wp, data)) != 0) {
-+                      return (rc);
-+              }
-+              src += 2;
-+              wp += 2;
-+              cnt -= 2;
-+      }
-+
-+      if (cnt == 1) {
-+              data = (*((volatile u8 *) src)) | (*((volatile u8 *) (wp + 1)) <<
-+                                                                                 8);
-+              if ((rc = write_word (info, wp, data)) != 0) {
-+                      return (rc);
-+              }
-+              src += 1;
-+              wp += 1;
-+              cnt -= 1;
-+      };
-+
-+      return ERR_OK;
-+}
-diff -Naur u-boot-1.1.4.org/board/vlink/Makefile u-boot-1.1.4.tmp/board/vlink/Makefile
---- u-boot-1.1.4.org/board/vlink/Makefile      1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.1.4.tmp/board/vlink/Makefile      2006-06-05 02:48:33.000000000 +0200
-@@ -0,0 +1,46 @@
-+#
-+# (C) Copyright 2003
-+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
-+#
-+# See file CREDITS for list of people who contributed to this
-+# project.
-+#
-+# This program is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU General Public License as
-+# published by the Free Software Foundation; either version 2 of
-+# the License, or (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+# MA 02111-1307 USA
-+#
-+
-+include $(TOPDIR)/config.mk
-+
-+LIB   = lib$(BOARD).a
-+
-+OBJS  := vlink.o at45.o flash.o
-+
-+$(LIB):       $(OBJS) $(SOBJS)
-+      $(AR) crv $@ $(OBJS) $(SOBJS)
-+
-+clean:
-+      rm -f $(SOBJS) $(OBJS)
-+
-+distclean:    clean
-+      rm -f $(LIB) core *.bak .depend
-+
-+#########################################################################
-+
-+.depend:      Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c)
-+              $(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@
-+
-+-include .depend
-+
-+#########################################################################
-diff -Naur u-boot-1.1.4.org/board/vlink/u-boot.lds u-boot-1.1.4.tmp/board/vlink/u-boot.lds
---- u-boot-1.1.4.org/board/vlink/u-boot.lds    1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.1.4.tmp/board/vlink/u-boot.lds    2005-12-16 17:39:27.000000000 +0100
-@@ -0,0 +1,57 @@
-+/*
-+ * (C) Copyright 2002
-+ * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-+/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/
-+OUTPUT_ARCH(arm)
-+ENTRY(_start)
-+SECTIONS
-+{
-+      . = 0x00000000;
-+
-+      . = ALIGN(4);
-+      .text      :
-+      {
-+        cpu/arm920t/start.o   (.text)
-+        *(.text)
-+      }
-+
-+      . = ALIGN(4);
-+      .rodata : { *(.rodata) }
-+
-+      . = ALIGN(4);
-+      .data : { *(.data) }
-+
-+      . = ALIGN(4);
-+      .got : { *(.got) }
-+
-+      . = .;
-+      __u_boot_cmd_start = .;
-+      .u_boot_cmd : { *(.u_boot_cmd) }
-+      __u_boot_cmd_end = .;
-+
-+      . = ALIGN(4);
-+      __bss_start = .;
-+      .bss : { *(.bss) }
-+      _end = .;
-+}
-diff -Naur u-boot-1.1.4.org/board/vlink/vlink.c u-boot-1.1.4.tmp/board/vlink/vlink.c
---- u-boot-1.1.4.org/board/vlink/vlink.c       1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.1.4.tmp/board/vlink/vlink.c       2006-06-05 03:10:22.000000000 +0200
-@@ -0,0 +1,89 @@
-+/*
-+ * (C) Copyright 2002
-+ * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
-+ * Marius Groeger <mgroeger@sysgo.de>
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+#include <common.h>
-+#include <asm/arch/AT91RM9200.h>
-+#include <at91rm9200_net.h>
-+#include <dm9161.h>
-+#include <asm/mach-types.h>
-+
-+/* ------------------------------------------------------------------------- */
-+/*
-+ * Miscelaneous platform dependent initialisations
-+ */
-+
-+int board_init (void)
-+{
-+      DECLARE_GLOBAL_DATA_PTR;
-+
-+      /* Enable Ctrlc */
-+      console_init_f ();
-+
-+      /* Correct IRDA resistor problem */
-+      /* Set PA23_TXD in Output */
-+      (AT91PS_PIO) AT91C_BASE_PIOA->PIO_OER = AT91C_PA23_TXD2;
-+
-+      /* memory and cpu-speed are setup before relocation */
-+      /* so we do _nothing_ here */
-+
-+      /* arch number of Versalink-Board */
-+      gd->bd->bi_arch_number = MACH_TYPE_VLINK;
-+      /* adress of boot parameters */
-+      gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
-+
-+      return 0;
-+}
-+
-+int dram_init (void)
-+{
-+      DECLARE_GLOBAL_DATA_PTR;
-+
-+      gd->bd->bi_dram[0].start = PHYS_SDRAM;
-+      gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE;
-+      return 0;
-+}
-+
-+#ifdef CONFIG_DRIVER_ETHER
-+#if (CONFIG_COMMANDS & CFG_CMD_NET)
-+
-+/*
-+ * Name:
-+ *    at91rm9200_GetPhyInterface
-+ * Description:
-+ *    Initialise the interface functions to the PHY
-+ * Arguments:
-+ *    None
-+ * Return value:
-+ *    None
-+ */
-+void at91rm9200_GetPhyInterface(AT91PS_PhyOps p_phyops)
-+{
-+      p_phyops->Init = dm9161_InitPhy;
-+      p_phyops->IsPhyConnected = dm9161_IsPhyConnected;
-+      p_phyops->GetLinkSpeed = dm9161_GetLinkSpeed;
-+      p_phyops->AutoNegotiate = dm9161_AutoNegotiate;
-+}
-+
-+#endif        /* CONFIG_COMMANDS & CFG_CMD_NET */
-+#endif        /* CONFIG_DRIVER_ETHER */
-diff -Naur u-boot-1.1.4.org/include/asm-arm/mach-types.h u-boot-1.1.4.tmp/include/asm-arm/mach-types.h
---- u-boot-1.1.4.org/include/asm-arm/mach-types.h      2005-12-16 17:39:27.000000000 +0100
-+++ u-boot-1.1.4.tmp/include/asm-arm/mach-types.h      2006-06-05 01:29:25.000000000 +0200
-@@ -424,7 +424,7 @@
- #define MACH_TYPE_MPORT3S              411
- #define MACH_TYPE_RA_ALPHA             412
- #define MACH_TYPE_XCEP                 413
--#define MACH_TYPE_ARCOM_MERCURY        414
-+#define MACH_TYPE_ARCOM_VULCAN         414
- #define MACH_TYPE_STARGATE             415
- #define MACH_TYPE_ARMADILLOJ           416
- #define MACH_TYPE_ELROY_JACK           417
-@@ -457,7 +457,7 @@
- #define MACH_TYPE_XM250                444
- #define MACH_TYPE_T6TC1XB              445
- #define MACH_TYPE_ESS710               446
--#define MACH_TYPE_MX3ADS               447
-+#define MACH_TYPE_MX31ADS              447
- #define MACH_TYPE_HIMALAYA             448
- #define MACH_TYPE_BOLFENK              449
- #define MACH_TYPE_AT91RM9200KR         450
-@@ -563,8 +563,8 @@
- #define MACH_TYPE_ENS_CMU              550
- #define MACH_TYPE_MM6_SDB              551
- #define MACH_TYPE_SATURN               552
--#define MACH_TYPE_ARGONPLUSEVB         553
--#define MACH_TYPE_SCMA11EVB            554
-+#define MACH_TYPE_I30030EVB            553
-+#define MACH_TYPE_MXC27530EVB          554
- #define MACH_TYPE_SMDK2800             555
- #define MACH_TYPE_MTWILSON             556
- #define MACH_TYPE_ZITI                 557
-@@ -644,7 +644,7 @@
- #define MACH_TYPE_MX2JAZZ              631
- #define MACH_TYPE_MULTIIO              632
- #define MACH_TYPE_HRDISPLAY            633
--#define MACH_TYPE_SCMA11BB             634
-+#define MACH_TYPE_MXC27530ADS          634
- #define MACH_TYPE_TRIZEPS3             635
- #define MACH_TYPE_ZEFEERDZA            636
- #define MACH_TYPE_ZEFEERDZB            637
-@@ -718,7 +718,7 @@
- #define MACH_TYPE_GEM                  707
- #define MACH_TYPE_I858                 708
- #define MACH_TYPE_HX2750               709
--#define MACH_TYPE_ZEUSEVB              710
-+#define MACH_TYPE_MXC91131EVB          710
- #define MACH_TYPE_P700                 711
- #define MACH_TYPE_CPE                  712
- #define MACH_TYPE_SPITZ                713
-@@ -736,6 +736,331 @@
- #define MACH_TYPE_LN2410SBC            725
- #define MACH_TYPE_CB3RUFC              726
- #define MACH_TYPE_MP2USB               727
-+#define MACH_TYPE_NTNP425C             728
-+#define MACH_TYPE_COLIBRI              729
-+#define MACH_TYPE_PCM7220              730
-+#define MACH_TYPE_GATEWAY7001          731
-+#define MACH_TYPE_PCM027               732
-+#define MACH_TYPE_CMPXA                733
-+#define MACH_TYPE_ANUBIS               734
-+#define MACH_TYPE_ITE8152              735
-+#define MACH_TYPE_LPC3XXX              736
-+#define MACH_TYPE_PUPPETEER            737
-+#define MACH_TYPE_MACH_VADATECH        738
-+#define MACH_TYPE_E570                 739
-+#define MACH_TYPE_X50                  740
-+#define MACH_TYPE_RECON                741
-+#define MACH_TYPE_XBOARDGP8            742
-+#define MACH_TYPE_FPIC2                743
-+#define MACH_TYPE_AKITA                744
-+#define MACH_TYPE_A81                  745
-+#define MACH_TYPE_SVM_SC25X            746
-+#define MACH_TYPE_VADATECH020          747
-+#define MACH_TYPE_TLI                  748
-+#define MACH_TYPE_EDB9315LC            749
-+#define MACH_TYPE_PASSEC               750
-+#define MACH_TYPE_DS_TIGER             751
-+#define MACH_TYPE_E310                 752
-+#define MACH_TYPE_E330                 753
-+#define MACH_TYPE_RT3000               754
-+#define MACH_TYPE_NOKIA770             755
-+#define MACH_TYPE_PNX0106              756
-+#define MACH_TYPE_HX21XX               757
-+#define MACH_TYPE_FARADAY              758
-+#define MACH_TYPE_SBC9312              759
-+#define MACH_TYPE_BATMAN               760
-+#define MACH_TYPE_JPD201               761
-+#define MACH_TYPE_MIPSA                762
-+#define MACH_TYPE_KACOM                763
-+#define MACH_TYPE_SWARCOCPU            764
-+#define MACH_TYPE_SWARCODSL            765
-+#define MACH_TYPE_BLUEANGEL            766
-+#define MACH_TYPE_HAIRYGRAMA           767
-+#define MACH_TYPE_BANFF                768
-+#define MACH_TYPE_CARMEVA              769
-+#define MACH_TYPE_SAM255               770
-+#define MACH_TYPE_PPM10                771
-+#define MACH_TYPE_EDB9315A             772
-+#define MACH_TYPE_SUNSET               773
-+#define MACH_TYPE_STARGATE2            774
-+#define MACH_TYPE_INTELMOTE2           775
-+#define MACH_TYPE_TRIZEPS4             776
-+#define MACH_TYPE_MAINSTONE2           777
-+#define MACH_TYPE_EZ_IXP42X            778
-+#define MACH_TYPE_TAPWAVE_ZODIAC       779
-+#define MACH_TYPE_UNIVERSALMETER       780
-+#define MACH_TYPE_HICOARM9             781
-+#define MACH_TYPE_PNX4008              782
-+#define MACH_TYPE_KWS6000              783
-+#define MACH_TYPE_PORTUX920T           784
-+#define MACH_TYPE_EZ_X5                785
-+#define MACH_TYPE_OMAP_RUDOLPH         786
-+#define MACH_TYPE_CPUAT91              787
-+#define MACH_TYPE_REA9200              788
-+#define MACH_TYPE_ACTS_PUNE_SA1110     789
-+#define MACH_TYPE_IXP425               790
-+#define MACH_TYPE_I30030ADS            791
-+#define MACH_TYPE_PERCH                792
-+#define MACH_TYPE_EIS05R1              793
-+#define MACH_TYPE_PEPPERPAD            794
-+#define MACH_TYPE_SB3010               795
-+#define MACH_TYPE_RM9200               796
-+#define MACH_TYPE_DMA03                797
-+#define MACH_TYPE_ROAD_S101            798
-+#define MACH_TYPE_IQ_NEXTGEN_A         799
-+#define MACH_TYPE_IQ_NEXTGEN_B         800
-+#define MACH_TYPE_IQ_NEXTGEN_C         801
-+#define MACH_TYPE_IQ_NEXTGEN_D         802
-+#define MACH_TYPE_IQ_NEXTGEN_E         803
-+#define MACH_TYPE_MALLOW_AT91          804
-+#define MACH_TYPE_CYBERTRACKER_I       805
-+#define MACH_TYPE_GESBC931X            806
-+#define MACH_TYPE_CENTIPAD             807
-+#define MACH_TYPE_ARMSOC               808
-+#define MACH_TYPE_SE4200               809
-+#define MACH_TYPE_EMS197A              810
-+#define MACH_TYPE_MICRO9               811
-+#define MACH_TYPE_MICRO9L              812
-+#define MACH_TYPE_UC5471DSP            813
-+#define MACH_TYPE_SJ5471ENG            814
-+#define MACH_TYPE_CMPXA26X             815
-+#define MACH_TYPE_NC                   816
-+#define MACH_TYPE_OMAP_PALMTE          817
-+#define MACH_TYPE_AJAX52X              818
-+#define MACH_TYPE_SIRIUSTAR            819
-+#define MACH_TYPE_IODATA_HDLG          820
-+#define MACH_TYPE_AT91RM9200UTL        821
-+#define MACH_TYPE_BIOSAFE              822
-+#define MACH_TYPE_MP1000               823
-+#define MACH_TYPE_PARSY                824
-+#define MACH_TYPE_CCXP                 825
-+#define MACH_TYPE_OMAP_GSAMPLE         826
-+#define MACH_TYPE_REALVIEW_EB          827
-+#define MACH_TYPE_SAMOA                828
-+#define MACH_TYPE_T3XSCALE             829
-+#define MACH_TYPE_I878                 830
-+#define MACH_TYPE_BORZOI               831
-+#define MACH_TYPE_GECKO                832
-+#define MACH_TYPE_DS101                833
-+#define MACH_TYPE_OMAP_PALMTT2         834
-+#define MACH_TYPE_XSCALE_PALMLD        835
-+#define MACH_TYPE_CC9C                 836
-+#define MACH_TYPE_SBC1670              837
-+#define MACH_TYPE_IXDP28X5             838
-+#define MACH_TYPE_OMAP_PALMTT          839
-+#define MACH_TYPE_ML696K               840
-+#define MACH_TYPE_ARCOM_ZEUS           841
-+#define MACH_TYPE_OSIRIS               842
-+#define MACH_TYPE_MAESTRO              843
-+#define MACH_TYPE_TUNGE2               844
-+#define MACH_TYPE_IXBBM                845
-+#define MACH_TYPE_MX27                 846
-+#define MACH_TYPE_AX8004               847
-+#define MACH_TYPE_AT91SAM9261EK        848
-+#define MACH_TYPE_LOFT                 849
-+#define MACH_TYPE_MAGPIE               850
-+#define MACH_TYPE_MX21                 851
-+#define MACH_TYPE_MB87M3400            852
-+#define MACH_TYPE_MGUARD_DELTA         853
-+#define MACH_TYPE_DAVINCI_DVDP         854
-+#define MACH_TYPE_HTCUNIVERSAL         855
-+#define MACH_TYPE_TPAD                 856
-+#define MACH_TYPE_ROVERP3              857
-+#define MACH_TYPE_JORNADA928           858
-+#define MACH_TYPE_MV88FXX81            859
-+#define MACH_TYPE_STMP36XX             860
-+#define MACH_TYPE_SXNI79524            861
-+#define MACH_TYPE_AMS_DELTA            862
-+#define MACH_TYPE_URANIUM              863
-+#define MACH_TYPE_UCON                 864
-+#define MACH_TYPE_NAS100D              865
-+#define MACH_TYPE_L083_1000            866
-+#define MACH_TYPE_EZX                  867
-+#define MACH_TYPE_PNX5220              868
-+#define MACH_TYPE_BUTTE                869
-+#define MACH_TYPE_SRM2                 870
-+#define MACH_TYPE_DSBR                 871
-+#define MACH_TYPE_CRYSTALBALL          872
-+#define MACH_TYPE_TINYPXA27X           873
-+#define MACH_TYPE_HERBIE               874
-+#define MACH_TYPE_MAGICIAN             875
-+#define MACH_TYPE_CM4002               876
-+#define MACH_TYPE_B4                   877
-+#define MACH_TYPE_MAUI                 878
-+#define MACH_TYPE_CYBERTRACKER_G       879
-+#define MACH_TYPE_NXDKN                880
-+#define MACH_TYPE_MIO8390              881
-+#define MACH_TYPE_OMI_BOARD            882
-+#define MACH_TYPE_MX21CIV              883
-+#define MACH_TYPE_MAHI_CDAC            884
-+#define MACH_TYPE_XSCALE_PALMTX        885
-+#define MACH_TYPE_S3C2413              887
-+#define MACH_TYPE_SAMSYS_EP0           888
-+#define MACH_TYPE_WG302V1              889
-+#define MACH_TYPE_WG302V2              890
-+#define MACH_TYPE_EB42X                891
-+#define MACH_TYPE_IQ331ES              892
-+#define MACH_TYPE_COSYDSP              893
-+#define MACH_TYPE_UPLAT7D              894
-+#define MACH_TYPE_PTDAVINCI            895
-+#define MACH_TYPE_MBUS                 896
-+#define MACH_TYPE_NADIA2VB             897
-+#define MACH_TYPE_R1000                898
-+#define MACH_TYPE_HW90250              899
-+#define MACH_TYPE_OMAP_2430SDP         900
-+#define MACH_TYPE_DAVINCI_EVM          901
-+#define MACH_TYPE_OMAP_TORNADO         902
-+#define MACH_TYPE_OLOCREEK             903
-+#define MACH_TYPE_PALMZ72              904
-+#define MACH_TYPE_NXDB500              905
-+#define MACH_TYPE_APF9328              906
-+#define MACH_TYPE_OMAP_WIPOQ           907
-+#define MACH_TYPE_OMAP_TWIP            908
-+#define MACH_TYPE_XSCALE_PALMTREO650   909
-+#define MACH_TYPE_ACUMEN               910
-+#define MACH_TYPE_XP100                911
-+#define MACH_TYPE_FS2410               912
-+#define MACH_TYPE_PXA270_CERF          913
-+#define MACH_TYPE_SQ2FTLPALM           914
-+#define MACH_TYPE_BSEMSERVER           915
-+#define MACH_TYPE_NETCLIENT            916
-+#define MACH_TYPE_XSCALE_PALMTT5       917
-+#define MACH_TYPE_OMAP_PALMTC          918
-+#define MACH_TYPE_OMAP_APOLLON         919
-+#define MACH_TYPE_MXC30030EVB          920
-+#define MACH_TYPE_REA_2D               921
-+#define MACH_TYPE_TI3E524              922
-+#define MACH_TYPE_ATEB9200             923
-+#define MACH_TYPE_AUCKLAND             924
-+#define MACH_TYPE_AK3320M              925
-+#define MACH_TYPE_DURAMAX              926
-+#define MACH_TYPE_N35                  927
-+#define MACH_TYPE_PRONGHORN            928
-+#define MACH_TYPE_FUNDY                929
-+#define MACH_TYPE_LOGICPD_PXA270       930
-+#define MACH_TYPE_CPU777               931
-+#define MACH_TYPE_SIMICON9201          932
-+#define MACH_TYPE_LEAP2_HPM            933
-+#define MACH_TYPE_CM922TXA10           934
-+#define MACH_TYPE_PXA                  935
-+#define MACH_TYPE_SANDGATE2            936
-+#define MACH_TYPE_SANDGATE2G           937
-+#define MACH_TYPE_SANDGATE2P           938
-+#define MACH_TYPE_FRED_JACK            939
-+#define MACH_TYPE_TTG_COLOR1           940
-+#define MACH_TYPE_NXEB500HMI           941
-+#define MACH_TYPE_NETDCU8              942
-+#define MACH_TYPE_ML675050_CPU_BOA     943
-+#define MACH_TYPE_NG_FVX538            944
-+#define MACH_TYPE_NG_FVS338            945
-+#define MACH_TYPE_PNX4103              946
-+#define MACH_TYPE_HESDB                947
-+#define MACH_TYPE_XSILO                948
-+#define MACH_TYPE_ESPRESSO             949
-+#define MACH_TYPE_EMLC                 950
-+#define MACH_TYPE_SISTERON             951
-+#define MACH_TYPE_RX1950               952
-+#define MACH_TYPE_TSC_VENUS            953
-+#define MACH_TYPE_DS101J               954
-+#define MACH_TYPE_MXC30030ADS          955
-+#define MACH_TYPE_FUJITSU_WIMAXSOC     956
-+#define MACH_TYPE_DUALPCMODEM          957
-+#define MACH_TYPE_GESBC9312            958
-+#define MACH_TYPE_HTCAPACHE            959
-+#define MACH_TYPE_IXDP435              960
-+#define MACH_TYPE_CATPROVT100          961
-+#define MACH_TYPE_PICOTUX1XX           962
-+#define MACH_TYPE_PICOTUX2XX           963
-+#define MACH_TYPE_DSMG600              964
-+#define MACH_TYPE_EMPC2                965
-+#define MACH_TYPE_VENTURA              966
-+#define MACH_TYPE_PHIDGET_SBC          967
-+#define MACH_TYPE_IJ3K                 968
-+#define MACH_TYPE_PISGAH               969
-+#define MACH_TYPE_OMAP_FSAMPLE         970
-+#define MACH_TYPE_SG720                971
-+#define MACH_TYPE_REDFOX               972
-+#define MACH_TYPE_MYSH_EP9315_1        973
-+#define MACH_TYPE_TPF106               974
-+#define MACH_TYPE_AT91RM9200KG         975
-+#define MACH_TYPE_SLEDB                976
-+#define MACH_TYPE_ONTRACK              977
-+#define MACH_TYPE_PM1200               978
-+#define MACH_TYPE_ESS24XXX             979
-+#define MACH_TYPE_COREMP7              980
-+#define MACH_TYPE_NEXCODER_6446        981
-+#define MACH_TYPE_STVC8380             982
-+#define MACH_TYPE_TEKLYNX              983
-+#define MACH_TYPE_CARBONADO            984
-+#define MACH_TYPE_SYSMOS_MP730         985
-+#define MACH_TYPE_SNAPPER_CL15         986
-+#define MACH_TYPE_PGIGIM               987
-+#define MACH_TYPE_PTX9160P2            988
-+#define MACH_TYPE_DCORE1               989
-+#define MACH_TYPE_VICTORPXA            990
-+#define MACH_TYPE_MX2DTB               991
-+#define MACH_TYPE_PXA_IREX_ER0100      992
-+#define MACH_TYPE_OMAP_PALMZ71         993
-+#define MACH_TYPE_BARTEC_DEG           994
-+#define MACH_TYPE_HW50251              995
-+#define MACH_TYPE_IBOX                 996
-+#define MACH_TYPE_ATLASLH7A404         997
-+#define MACH_TYPE_PT2026               998
-+#define MACH_TYPE_HTCALPINE            999
-+#define MACH_TYPE_BARTEC_VTU           1000
-+#define MACH_TYPE_VCOREII              1001
-+#define MACH_TYPE_PDNB3                1002
-+#define MACH_TYPE_HTCBEETLES           1003
-+#define MACH_TYPE_S3C6400              1004
-+#define MACH_TYPE_S3C2443              1005
-+#define MACH_TYPE_OMAP_LDK             1006
-+#define MACH_TYPE_SMDK2460             1007
-+#define MACH_TYPE_SMDK2440             1008
-+#define MACH_TYPE_SMDK2412             1009
-+#define MACH_TYPE_WEBBOX               1010
-+#define MACH_TYPE_CWWNDP               1011
-+#define MACH_TYPE_DRAGON               1012
-+#define MACH_TYPE_OPENDO_CPU_BOARD     1013
-+#define MACH_TYPE_CCM2200              1014
-+#define MACH_TYPE_ETWARM               1015
-+#define MACH_TYPE_M93030               1016
-+#define MACH_TYPE_CC7U                 1017
-+#define MACH_TYPE_MTT_RANGER           1018
-+#define MACH_TYPE_NEXUS                1019
-+#define MACH_TYPE_DESMAN               1020
-+#define MACH_TYPE_BKDE303              1021
-+#define MACH_TYPE_SMDK2413             1022
-+#define MACH_TYPE_AML_M7200            1023
-+#define MACH_TYPE_AML_M5900            1024
-+#define MACH_TYPE_SG640                1025
-+#define MACH_TYPE_EDG79524             1026
-+#define MACH_TYPE_AI2410               1027
-+#define MACH_TYPE_IXP465               1028
-+#define MACH_TYPE_BALLOON3             1029
-+#define MACH_TYPE_HEINS                1030
-+#define MACH_TYPE_MPLUSEVA             1031
-+#define MACH_TYPE_RT042                1032
-+#define MACH_TYPE_CWIEM                1033
-+#define MACH_TYPE_CM_X270              1034
-+#define MACH_TYPE_CM_X255              1035
-+#define MACH_TYPE_ESH_AT91             1036
-+#define MACH_TYPE_SANDGATE3            1037
-+#define MACH_TYPE_PRIMO                1038
-+#define MACH_TYPE_GEMSTONE             1039
-+#define MACH_TYPE_PRONGHORNMETRO       1040
-+#define MACH_TYPE_SIDEWINDER           1041
-+#define MACH_TYPE_PICOMOD1             1042
-+#define MACH_TYPE_SG590                1043
-+#define MACH_TYPE_AKAI9307             1044
-+#define MACH_TYPE_FONTAINE             1045
-+#define MACH_TYPE_WOMBAT               1046
-+#define MACH_TYPE_ACQ300               1047
-+#define MACH_TYPE_MOD_270              1048
-+#define MACH_TYPE_VC0820               1049
-+#define MACH_TYPE_ANI_AIM              1050
-+#define MACH_TYPE_JELLYFISH            1051
-+#define MACH_TYPE_AMANITA              1052
-+#define MACH_TYPE_VLINK                1053
- #ifdef CONFIG_ARCH_EBSA110
- # ifdef machine_arch_type
-@@ -3540,9 +3865,9 @@
- # else
- #  define machine_arch_type   MACH_TYPE_RAMSES
- # endif
--# define machine_is_ramses()  (machine_arch_type == MACH_TYPE_RAMSES)
-+# define machine_is_mnci()    (machine_arch_type == MACH_TYPE_RAMSES)
- #else
--# define machine_is_ramses()  (0)
-+# define machine_is_mnci()    (0)
- #endif
- #ifdef CONFIG_ARCH_S28X
-@@ -4500,9 +4825,9 @@
- # else
- #  define machine_arch_type   MACH_TYPE_M825XX
- # endif
--# define machine_is_m825xx()  (machine_arch_type == MACH_TYPE_M825XX)
-+# define machine_is_comcerto()        (machine_arch_type == MACH_TYPE_M825XX)
- #else
--# define machine_is_m825xx()  (0)
-+# define machine_is_comcerto()        (0)
- #endif
- #ifdef CONFIG_SA1100_M7100
-@@ -5657,16 +5982,16 @@
- # define machine_is_xcep()    (0)
- #endif
--#ifdef CONFIG_MACH_ARCOM_MERCURY
-+#ifdef CONFIG_MACH_ARCOM_VULCAN
- # ifdef machine_arch_type
- #  undef machine_arch_type
- #  define machine_arch_type   __machine_arch_type
- # else
--#  define machine_arch_type   MACH_TYPE_ARCOM_MERCURY
-+#  define machine_arch_type   MACH_TYPE_ARCOM_VULCAN
- # endif
--# define machine_is_arcom_mercury()   (machine_arch_type == MACH_TYPE_ARCOM_MERCURY)
-+# define machine_is_arcom_vulcan()    (machine_arch_type == MACH_TYPE_ARCOM_VULCAN)
- #else
--# define machine_is_arcom_mercury()   (0)
-+# define machine_is_arcom_vulcan()    (0)
- #endif
- #ifdef CONFIG_MACH_STARGATE
-@@ -6053,16 +6378,16 @@
- # define machine_is_ess710()  (0)
- #endif
--#ifdef CONFIG_MACH_MX3ADS
-+#ifdef CONFIG_MACH_MX31ADS
- # ifdef machine_arch_type
- #  undef machine_arch_type
- #  define machine_arch_type   __machine_arch_type
- # else
--#  define machine_arch_type   MACH_TYPE_MX3ADS
-+#  define machine_arch_type   MACH_TYPE_MX31ADS
- # endif
--# define machine_is_mx3ads()  (machine_arch_type == MACH_TYPE_MX3ADS)
-+# define machine_is_mx31ads() (machine_arch_type == MACH_TYPE_MX31ADS)
- #else
--# define machine_is_mx3ads()  (0)
-+# define machine_is_mx31ads() (0)
- #endif
- #ifdef CONFIG_MACH_HIMALAYA
-@@ -7325,28 +7650,28 @@
- # define machine_is_saturn()  (0)
- #endif
--#ifdef CONFIG_MACH_ARGONPLUSEVB
-+#ifdef CONFIG_MACH_I30030EVB
- # ifdef machine_arch_type
- #  undef machine_arch_type
- #  define machine_arch_type   __machine_arch_type
- # else
--#  define machine_arch_type   MACH_TYPE_ARGONPLUSEVB
-+#  define machine_arch_type   MACH_TYPE_I30030EVB
- # endif
--# define machine_is_argonplusevb()    (machine_arch_type == MACH_TYPE_ARGONPLUSEVB)
-+# define machine_is_i30030evb()       (machine_arch_type == MACH_TYPE_I30030EVB)
- #else
--# define machine_is_argonplusevb()    (0)
-+# define machine_is_i30030evb()       (0)
- #endif
--#ifdef CONFIG_MACH_SCMA11EVB
-+#ifdef CONFIG_MACH_MXC27530EVB
- # ifdef machine_arch_type
- #  undef machine_arch_type
- #  define machine_arch_type   __machine_arch_type
- # else
--#  define machine_arch_type   MACH_TYPE_SCMA11EVB
-+#  define machine_arch_type   MACH_TYPE_MXC27530EVB
- # endif
--# define machine_is_scma11evb()       (machine_arch_type == MACH_TYPE_SCMA11EVB)
-+# define machine_is_mxc27530evb()     (machine_arch_type == MACH_TYPE_MXC27530EVB)
- #else
--# define machine_is_scma11evb()       (0)
-+# define machine_is_mxc27530evb()     (0)
- #endif
- #ifdef CONFIG_MACH_SMDK2800
-@@ -8297,16 +8622,16 @@
- # define machine_is_hrdisplay()       (0)
- #endif
--#ifdef CONFIG_MACH_SCMA11BB
-+#ifdef CONFIG_MACH_MXC27530ADS
- # ifdef machine_arch_type
- #  undef machine_arch_type
- #  define machine_arch_type   __machine_arch_type
- # else
--#  define machine_arch_type   MACH_TYPE_SCMA11BB
-+#  define machine_arch_type   MACH_TYPE_MXC27530ADS
- # endif
--# define machine_is_scma11bb()        (machine_arch_type == MACH_TYPE_SCMA11BB)
-+# define machine_is_mxc27530ads()     (machine_arch_type == MACH_TYPE_MXC27530ADS)
- #else
--# define machine_is_scma11bb()        (0)
-+# define machine_is_mxc27530ads()     (0)
- #endif
- #ifdef CONFIG_MACH_TRIZEPS3
-@@ -9185,16 +9510,16 @@
- # define machine_is_hx2750()  (0)
- #endif
--#ifdef CONFIG_MACH_ZEUSEVB
-+#ifdef CONFIG_MACH_MXC91131EVB
- # ifdef machine_arch_type
- #  undef machine_arch_type
- #  define machine_arch_type   __machine_arch_type
- # else
--#  define machine_arch_type   MACH_TYPE_ZEUSEVB
-+#  define machine_arch_type   MACH_TYPE_MXC91131EVB
- # endif
--# define machine_is_zeusevb() (machine_arch_type == MACH_TYPE_ZEUSEVB)
-+# define machine_is_mxc91131evb()     (machine_arch_type == MACH_TYPE_MXC91131EVB)
- #else
--# define machine_is_zeusevb() (0)
-+# define machine_is_mxc91131evb()     (0)
- #endif
- #ifdef CONFIG_MACH_P700
-@@ -9401,6 +9726,3906 @@
- # define machine_is_mp2usb()  (0)
- #endif
-+#ifdef CONFIG_MACH_NTNP425C
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NTNP425C
-+# endif
-+# define machine_is_ntnp425c()        (machine_arch_type == MACH_TYPE_NTNP425C)
-+#else
-+# define machine_is_ntnp425c()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_COLIBRI
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_COLIBRI
-+# endif
-+# define machine_is_colibri() (machine_arch_type == MACH_TYPE_COLIBRI)
-+#else
-+# define machine_is_colibri() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PCM7220
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PCM7220
-+# endif
-+# define machine_is_pcm7220() (machine_arch_type == MACH_TYPE_PCM7220)
-+#else
-+# define machine_is_pcm7220() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_GATEWAY7001
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_GATEWAY7001
-+# endif
-+# define machine_is_gateway7001()     (machine_arch_type == MACH_TYPE_GATEWAY7001)
-+#else
-+# define machine_is_gateway7001()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PCM027
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PCM027
-+# endif
-+# define machine_is_pcm027()  (machine_arch_type == MACH_TYPE_PCM027)
-+#else
-+# define machine_is_pcm027()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CMPXA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CMPXA
-+# endif
-+# define machine_is_cmpxa()   (machine_arch_type == MACH_TYPE_CMPXA)
-+#else
-+# define machine_is_cmpxa()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ANUBIS
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ANUBIS
-+# endif
-+# define machine_is_anubis()  (machine_arch_type == MACH_TYPE_ANUBIS)
-+#else
-+# define machine_is_anubis()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ITE8152
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ITE8152
-+# endif
-+# define machine_is_ite8152() (machine_arch_type == MACH_TYPE_ITE8152)
-+#else
-+# define machine_is_ite8152() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_LPC3XXX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_LPC3XXX
-+# endif
-+# define machine_is_lpc3xxx() (machine_arch_type == MACH_TYPE_LPC3XXX)
-+#else
-+# define machine_is_lpc3xxx() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PUPPETEER
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PUPPETEER
-+# endif
-+# define machine_is_puppeteer()       (machine_arch_type == MACH_TYPE_PUPPETEER)
-+#else
-+# define machine_is_puppeteer()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MACH_VADATECH
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MACH_VADATECH
-+# endif
-+# define machine_is_vt001()   (machine_arch_type == MACH_TYPE_MACH_VADATECH)
-+#else
-+# define machine_is_vt001()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_E570
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_E570
-+# endif
-+# define machine_is_e570()    (machine_arch_type == MACH_TYPE_E570)
-+#else
-+# define machine_is_e570()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_X50
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_X50
-+# endif
-+# define machine_is_x50()     (machine_arch_type == MACH_TYPE_X50)
-+#else
-+# define machine_is_x50()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_RECON
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_RECON
-+# endif
-+# define machine_is_recon()   (machine_arch_type == MACH_TYPE_RECON)
-+#else
-+# define machine_is_recon()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_XBOARDGP8
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_XBOARDGP8
-+# endif
-+# define machine_is_xboardgp8()       (machine_arch_type == MACH_TYPE_XBOARDGP8)
-+#else
-+# define machine_is_xboardgp8()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_FPIC2
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_FPIC2
-+# endif
-+# define machine_is_fpic2()   (machine_arch_type == MACH_TYPE_FPIC2)
-+#else
-+# define machine_is_fpic2()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AKITA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AKITA
-+# endif
-+# define machine_is_akita()   (machine_arch_type == MACH_TYPE_AKITA)
-+#else
-+# define machine_is_akita()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_A81
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_A81
-+# endif
-+# define machine_is_a81()     (machine_arch_type == MACH_TYPE_A81)
-+#else
-+# define machine_is_a81()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SVM_SC25X
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SVM_SC25X
-+# endif
-+# define machine_is_svm_sc25x()       (machine_arch_type == MACH_TYPE_SVM_SC25X)
-+#else
-+# define machine_is_svm_sc25x()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_VADATECH020
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_VADATECH020
-+# endif
-+# define machine_is_vt020()   (machine_arch_type == MACH_TYPE_VADATECH020)
-+#else
-+# define machine_is_vt020()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_TLI
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_TLI
-+# endif
-+# define machine_is_tli()     (machine_arch_type == MACH_TYPE_TLI)
-+#else
-+# define machine_is_tli()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_EDB9315LC
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_EDB9315LC
-+# endif
-+# define machine_is_edb9315lc()       (machine_arch_type == MACH_TYPE_EDB9315LC)
-+#else
-+# define machine_is_edb9315lc()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PASSEC
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PASSEC
-+# endif
-+# define machine_is_passec()  (machine_arch_type == MACH_TYPE_PASSEC)
-+#else
-+# define machine_is_passec()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DS_TIGER
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DS_TIGER
-+# endif
-+# define machine_is_ds_tiger()        (machine_arch_type == MACH_TYPE_DS_TIGER)
-+#else
-+# define machine_is_ds_tiger()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_E310
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_E310
-+# endif
-+# define machine_is_e310()    (machine_arch_type == MACH_TYPE_E310)
-+#else
-+# define machine_is_e310()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_E330
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_E330
-+# endif
-+# define machine_is_e330()    (machine_arch_type == MACH_TYPE_E330)
-+#else
-+# define machine_is_e330()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_RT3000
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_RT3000
-+# endif
-+# define machine_is_rt3000()  (machine_arch_type == MACH_TYPE_RT3000)
-+#else
-+# define machine_is_rt3000()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NOKIA770
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NOKIA770
-+# endif
-+# define machine_is_nokia770()        (machine_arch_type == MACH_TYPE_NOKIA770)
-+#else
-+# define machine_is_nokia770()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PNX0106
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PNX0106
-+# endif
-+# define machine_is_pnx0106() (machine_arch_type == MACH_TYPE_PNX0106)
-+#else
-+# define machine_is_pnx0106() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_HX21XX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_HX21XX
-+# endif
-+# define machine_is_hx21xx()  (machine_arch_type == MACH_TYPE_HX21XX)
-+#else
-+# define machine_is_hx21xx()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_FARADAY
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_FARADAY
-+# endif
-+# define machine_is_faraday() (machine_arch_type == MACH_TYPE_FARADAY)
-+#else
-+# define machine_is_faraday() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SBC9312
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SBC9312
-+# endif
-+# define machine_is_sbc9312() (machine_arch_type == MACH_TYPE_SBC9312)
-+#else
-+# define machine_is_sbc9312() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_BATMAN
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_BATMAN
-+# endif
-+# define machine_is_batman()  (machine_arch_type == MACH_TYPE_BATMAN)
-+#else
-+# define machine_is_batman()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_JPD201
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_JPD201
-+# endif
-+# define machine_is_jpd201()  (machine_arch_type == MACH_TYPE_JPD201)
-+#else
-+# define machine_is_jpd201()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MIPSA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MIPSA
-+# endif
-+# define machine_is_mipsa()   (machine_arch_type == MACH_TYPE_MIPSA)
-+#else
-+# define machine_is_mipsa()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_KACOM
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_KACOM
-+# endif
-+# define machine_is_kacom()   (machine_arch_type == MACH_TYPE_KACOM)
-+#else
-+# define machine_is_kacom()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SWARCOCPU
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SWARCOCPU
-+# endif
-+# define machine_is_swarcocpu()       (machine_arch_type == MACH_TYPE_SWARCOCPU)
-+#else
-+# define machine_is_swarcocpu()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SWARCODSL
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SWARCODSL
-+# endif
-+# define machine_is_swarcodsl()       (machine_arch_type == MACH_TYPE_SWARCODSL)
-+#else
-+# define machine_is_swarcodsl()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_BLUEANGEL
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_BLUEANGEL
-+# endif
-+# define machine_is_blueangel()       (machine_arch_type == MACH_TYPE_BLUEANGEL)
-+#else
-+# define machine_is_blueangel()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_HAIRYGRAMA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_HAIRYGRAMA
-+# endif
-+# define machine_is_hairygrama()      (machine_arch_type == MACH_TYPE_HAIRYGRAMA)
-+#else
-+# define machine_is_hairygrama()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_BANFF
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_BANFF
-+# endif
-+# define machine_is_banff()   (machine_arch_type == MACH_TYPE_BANFF)
-+#else
-+# define machine_is_banff()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CARMEVA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CARMEVA
-+# endif
-+# define machine_is_carmeva() (machine_arch_type == MACH_TYPE_CARMEVA)
-+#else
-+# define machine_is_carmeva() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SAM255
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SAM255
-+# endif
-+# define machine_is_sam255()  (machine_arch_type == MACH_TYPE_SAM255)
-+#else
-+# define machine_is_sam255()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PPM10
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PPM10
-+# endif
-+# define machine_is_ppm10()   (machine_arch_type == MACH_TYPE_PPM10)
-+#else
-+# define machine_is_ppm10()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_EDB9315A
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_EDB9315A
-+# endif
-+# define machine_is_edb9315a()        (machine_arch_type == MACH_TYPE_EDB9315A)
-+#else
-+# define machine_is_edb9315a()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SUNSET
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SUNSET
-+# endif
-+# define machine_is_sunset()  (machine_arch_type == MACH_TYPE_SUNSET)
-+#else
-+# define machine_is_sunset()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_STARGATE2
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_STARGATE2
-+# endif
-+# define machine_is_stargate2()       (machine_arch_type == MACH_TYPE_STARGATE2)
-+#else
-+# define machine_is_stargate2()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_INTELMOTE2
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_INTELMOTE2
-+# endif
-+# define machine_is_intelmote2()      (machine_arch_type == MACH_TYPE_INTELMOTE2)
-+#else
-+# define machine_is_intelmote2()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_TRIZEPS4
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_TRIZEPS4
-+# endif
-+# define machine_is_trizeps4()        (machine_arch_type == MACH_TYPE_TRIZEPS4)
-+#else
-+# define machine_is_trizeps4()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MAINSTONE2
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MAINSTONE2
-+# endif
-+# define machine_is_mainstone2()      (machine_arch_type == MACH_TYPE_MAINSTONE2)
-+#else
-+# define machine_is_mainstone2()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_EZ_IXP42X
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_EZ_IXP42X
-+# endif
-+# define machine_is_ez_ixp42x()       (machine_arch_type == MACH_TYPE_EZ_IXP42X)
-+#else
-+# define machine_is_ez_ixp42x()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_TAPWAVE_ZODIAC
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_TAPWAVE_ZODIAC
-+# endif
-+# define machine_is_tapwave_zodiac()  (machine_arch_type == MACH_TYPE_TAPWAVE_ZODIAC)
-+#else
-+# define machine_is_tapwave_zodiac()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_UNIVERSALMETER
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_UNIVERSALMETER
-+# endif
-+# define machine_is_universalmeter()  (machine_arch_type == MACH_TYPE_UNIVERSALMETER)
-+#else
-+# define machine_is_universalmeter()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_HICOARM9
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_HICOARM9
-+# endif
-+# define machine_is_hicoarm9()        (machine_arch_type == MACH_TYPE_HICOARM9)
-+#else
-+# define machine_is_hicoarm9()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PNX4008
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PNX4008
-+# endif
-+# define machine_is_pnx4008() (machine_arch_type == MACH_TYPE_PNX4008)
-+#else
-+# define machine_is_pnx4008() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_KWS6000
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_KWS6000
-+# endif
-+# define machine_is_kws6000() (machine_arch_type == MACH_TYPE_KWS6000)
-+#else
-+# define machine_is_kws6000() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PORTUX920T
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PORTUX920T
-+# endif
-+# define machine_is_portux920t()      (machine_arch_type == MACH_TYPE_PORTUX920T)
-+#else
-+# define machine_is_portux920t()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_EZ_X5
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_EZ_X5
-+# endif
-+# define machine_is_ez_x5()   (machine_arch_type == MACH_TYPE_EZ_X5)
-+#else
-+# define machine_is_ez_x5()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_RUDOLPH
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_RUDOLPH
-+# endif
-+# define machine_is_omap_rudolph()    (machine_arch_type == MACH_TYPE_OMAP_RUDOLPH)
-+#else
-+# define machine_is_omap_rudolph()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CPUAT91
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CPUAT91
-+# endif
-+# define machine_is_cpuat91() (machine_arch_type == MACH_TYPE_CPUAT91)
-+#else
-+# define machine_is_cpuat91() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_REA9200
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_REA9200
-+# endif
-+# define machine_is_rea9200() (machine_arch_type == MACH_TYPE_REA9200)
-+#else
-+# define machine_is_rea9200() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ACTS_PUNE_SA1110
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ACTS_PUNE_SA1110
-+# endif
-+# define machine_is_acts_pune_sa1110()        (machine_arch_type == MACH_TYPE_ACTS_PUNE_SA1110)
-+#else
-+# define machine_is_acts_pune_sa1110()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IXP425
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IXP425
-+# endif
-+# define machine_is_ixp425()  (machine_arch_type == MACH_TYPE_IXP425)
-+#else
-+# define machine_is_ixp425()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_I30030ADS
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_I30030ADS
-+# endif
-+# define machine_is_i30030ads()       (machine_arch_type == MACH_TYPE_I30030ADS)
-+#else
-+# define machine_is_i30030ads()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PERCH
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PERCH
-+# endif
-+# define machine_is_perch()   (machine_arch_type == MACH_TYPE_PERCH)
-+#else
-+# define machine_is_perch()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_EIS05R1
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_EIS05R1
-+# endif
-+# define machine_is_eis05r1() (machine_arch_type == MACH_TYPE_EIS05R1)
-+#else
-+# define machine_is_eis05r1() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PEPPERPAD
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PEPPERPAD
-+# endif
-+# define machine_is_pepperpad()       (machine_arch_type == MACH_TYPE_PEPPERPAD)
-+#else
-+# define machine_is_pepperpad()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SB3010
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SB3010
-+# endif
-+# define machine_is_sb3010()  (machine_arch_type == MACH_TYPE_SB3010)
-+#else
-+# define machine_is_sb3010()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_RM9200
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_RM9200
-+# endif
-+# define machine_is_rm9200()  (machine_arch_type == MACH_TYPE_RM9200)
-+#else
-+# define machine_is_rm9200()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DMA03
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DMA03
-+# endif
-+# define machine_is_dma03()   (machine_arch_type == MACH_TYPE_DMA03)
-+#else
-+# define machine_is_dma03()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ROAD_S101
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ROAD_S101
-+# endif
-+# define machine_is_road_s101()       (machine_arch_type == MACH_TYPE_ROAD_S101)
-+#else
-+# define machine_is_road_s101()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IQ_NEXTGEN_A
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IQ_NEXTGEN_A
-+# endif
-+# define machine_is_iq_nextgen_a()    (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_A)
-+#else
-+# define machine_is_iq_nextgen_a()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IQ_NEXTGEN_B
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IQ_NEXTGEN_B
-+# endif
-+# define machine_is_iq_nextgen_b()    (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_B)
-+#else
-+# define machine_is_iq_nextgen_b()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IQ_NEXTGEN_C
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IQ_NEXTGEN_C
-+# endif
-+# define machine_is_iq_nextgen_c()    (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_C)
-+#else
-+# define machine_is_iq_nextgen_c()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IQ_NEXTGEN_D
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IQ_NEXTGEN_D
-+# endif
-+# define machine_is_iq_nextgen_d()    (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_D)
-+#else
-+# define machine_is_iq_nextgen_d()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IQ_NEXTGEN_E
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IQ_NEXTGEN_E
-+# endif
-+# define machine_is_iq_nextgen_e()    (machine_arch_type == MACH_TYPE_IQ_NEXTGEN_E)
-+#else
-+# define machine_is_iq_nextgen_e()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MALLOW_AT91
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MALLOW_AT91
-+# endif
-+# define machine_is_mallow_at91()     (machine_arch_type == MACH_TYPE_MALLOW_AT91)
-+#else
-+# define machine_is_mallow_at91()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CYBERTRACKER_I
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CYBERTRACKER_I
-+# endif
-+# define machine_is_cybertracker_i()  (machine_arch_type == MACH_TYPE_CYBERTRACKER_I)
-+#else
-+# define machine_is_cybertracker_i()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_GESBC931X
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_GESBC931X
-+# endif
-+# define machine_is_gesbc931x()       (machine_arch_type == MACH_TYPE_GESBC931X)
-+#else
-+# define machine_is_gesbc931x()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CENTIPAD
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CENTIPAD
-+# endif
-+# define machine_is_centipad()        (machine_arch_type == MACH_TYPE_CENTIPAD)
-+#else
-+# define machine_is_centipad()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ARMSOC
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ARMSOC
-+# endif
-+# define machine_is_armsoc()  (machine_arch_type == MACH_TYPE_ARMSOC)
-+#else
-+# define machine_is_armsoc()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SE4200
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SE4200
-+# endif
-+# define machine_is_se4200()  (machine_arch_type == MACH_TYPE_SE4200)
-+#else
-+# define machine_is_se4200()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_EMS197A
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_EMS197A
-+# endif
-+# define machine_is_ems197a() (machine_arch_type == MACH_TYPE_EMS197A)
-+#else
-+# define machine_is_ems197a() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MICRO9
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MICRO9
-+# endif
-+# define machine_is_micro9()  (machine_arch_type == MACH_TYPE_MICRO9)
-+#else
-+# define machine_is_micro9()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MICRO9L
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MICRO9L
-+# endif
-+# define machine_is_micro9l() (machine_arch_type == MACH_TYPE_MICRO9L)
-+#else
-+# define machine_is_micro9l() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_UC5471DSP
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_UC5471DSP
-+# endif
-+# define machine_is_uc5471dsp()       (machine_arch_type == MACH_TYPE_UC5471DSP)
-+#else
-+# define machine_is_uc5471dsp()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SJ5471ENG
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SJ5471ENG
-+# endif
-+# define machine_is_sj5471eng()       (machine_arch_type == MACH_TYPE_SJ5471ENG)
-+#else
-+# define machine_is_sj5471eng()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CMPXA26X
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CMPXA26X
-+# endif
-+# define machine_is_none()    (machine_arch_type == MACH_TYPE_CMPXA26X)
-+#else
-+# define machine_is_none()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NC
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NC
-+# endif
-+# define machine_is_nc1()     (machine_arch_type == MACH_TYPE_NC)
-+#else
-+# define machine_is_nc1()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_PALMTE
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_PALMTE
-+# endif
-+# define machine_is_omap_palmte()     (machine_arch_type == MACH_TYPE_OMAP_PALMTE)
-+#else
-+# define machine_is_omap_palmte()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AJAX52X
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AJAX52X
-+# endif
-+# define machine_is_ajax52x() (machine_arch_type == MACH_TYPE_AJAX52X)
-+#else
-+# define machine_is_ajax52x() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SIRIUSTAR
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SIRIUSTAR
-+# endif
-+# define machine_is_siriustar()       (machine_arch_type == MACH_TYPE_SIRIUSTAR)
-+#else
-+# define machine_is_siriustar()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IODATA_HDLG
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IODATA_HDLG
-+# endif
-+# define machine_is_iodata_hdlg()     (machine_arch_type == MACH_TYPE_IODATA_HDLG)
-+#else
-+# define machine_is_iodata_hdlg()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AT91RM9200UTL
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AT91RM9200UTL
-+# endif
-+# define machine_is_at91rm9200utl()   (machine_arch_type == MACH_TYPE_AT91RM9200UTL)
-+#else
-+# define machine_is_at91rm9200utl()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_BIOSAFE
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_BIOSAFE
-+# endif
-+# define machine_is_biosafe() (machine_arch_type == MACH_TYPE_BIOSAFE)
-+#else
-+# define machine_is_biosafe() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MP1000
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MP1000
-+# endif
-+# define machine_is_mp1000()  (machine_arch_type == MACH_TYPE_MP1000)
-+#else
-+# define machine_is_mp1000()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PARSY
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PARSY
-+# endif
-+# define machine_is_parsy()   (machine_arch_type == MACH_TYPE_PARSY)
-+#else
-+# define machine_is_parsy()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CCXP
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CCXP
-+# endif
-+# define machine_is_ccxp270() (machine_arch_type == MACH_TYPE_CCXP)
-+#else
-+# define machine_is_ccxp270() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_GSAMPLE
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_GSAMPLE
-+# endif
-+# define machine_is_omap_gsample()    (machine_arch_type == MACH_TYPE_OMAP_GSAMPLE)
-+#else
-+# define machine_is_omap_gsample()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_REALVIEW_EB
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_REALVIEW_EB
-+# endif
-+# define machine_is_realview_eb()     (machine_arch_type == MACH_TYPE_REALVIEW_EB)
-+#else
-+# define machine_is_realview_eb()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SAMOA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SAMOA
-+# endif
-+# define machine_is_samoa()   (machine_arch_type == MACH_TYPE_SAMOA)
-+#else
-+# define machine_is_samoa()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_T3XSCALE
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_T3XSCALE
-+# endif
-+# define machine_is_t3xscale()        (machine_arch_type == MACH_TYPE_T3XSCALE)
-+#else
-+# define machine_is_t3xscale()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_I878
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_I878
-+# endif
-+# define machine_is_i878()    (machine_arch_type == MACH_TYPE_I878)
-+#else
-+# define machine_is_i878()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_BORZOI
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_BORZOI
-+# endif
-+# define machine_is_borzoi()  (machine_arch_type == MACH_TYPE_BORZOI)
-+#else
-+# define machine_is_borzoi()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_GECKO
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_GECKO
-+# endif
-+# define machine_is_gecko()   (machine_arch_type == MACH_TYPE_GECKO)
-+#else
-+# define machine_is_gecko()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DS101
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DS101
-+# endif
-+# define machine_is_ds101()   (machine_arch_type == MACH_TYPE_DS101)
-+#else
-+# define machine_is_ds101()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_PALMTT2
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_PALMTT2
-+# endif
-+# define machine_is_omap_palmtt2()    (machine_arch_type == MACH_TYPE_OMAP_PALMTT2)
-+#else
-+# define machine_is_omap_palmtt2()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_XSCALE_PALMLD
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_XSCALE_PALMLD
-+# endif
-+# define machine_is_xscale_palmld()   (machine_arch_type == MACH_TYPE_XSCALE_PALMLD)
-+#else
-+# define machine_is_xscale_palmld()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CC9C
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CC9C
-+# endif
-+# define machine_is_cc9c()    (machine_arch_type == MACH_TYPE_CC9C)
-+#else
-+# define machine_is_cc9c()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SBC1670
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SBC1670
-+# endif
-+# define machine_is_sbc1670() (machine_arch_type == MACH_TYPE_SBC1670)
-+#else
-+# define machine_is_sbc1670() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IXDP28X5
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IXDP28X5
-+# endif
-+# define machine_is_ixdp28x5()        (machine_arch_type == MACH_TYPE_IXDP28X5)
-+#else
-+# define machine_is_ixdp28x5()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_PALMTT
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_PALMTT
-+# endif
-+# define machine_is_omap_palmtt()     (machine_arch_type == MACH_TYPE_OMAP_PALMTT)
-+#else
-+# define machine_is_omap_palmtt()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ML696K
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ML696K
-+# endif
-+# define machine_is_ml696k()  (machine_arch_type == MACH_TYPE_ML696K)
-+#else
-+# define machine_is_ml696k()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ARCOM_ZEUS
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ARCOM_ZEUS
-+# endif
-+# define machine_is_arcom_zeus()      (machine_arch_type == MACH_TYPE_ARCOM_ZEUS)
-+#else
-+# define machine_is_arcom_zeus()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OSIRIS
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OSIRIS
-+# endif
-+# define machine_is_osiris()  (machine_arch_type == MACH_TYPE_OSIRIS)
-+#else
-+# define machine_is_osiris()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MAESTRO
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MAESTRO
-+# endif
-+# define machine_is_maestro() (machine_arch_type == MACH_TYPE_MAESTRO)
-+#else
-+# define machine_is_maestro() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_TUNGE2
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_TUNGE2
-+# endif
-+# define machine_is_tunge2()  (machine_arch_type == MACH_TYPE_TUNGE2)
-+#else
-+# define machine_is_tunge2()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IXBBM
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IXBBM
-+# endif
-+# define machine_is_ixbbm()   (machine_arch_type == MACH_TYPE_IXBBM)
-+#else
-+# define machine_is_ixbbm()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MX27
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MX27
-+# endif
-+# define machine_is_mx27ads() (machine_arch_type == MACH_TYPE_MX27)
-+#else
-+# define machine_is_mx27ads() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AX8004
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AX8004
-+# endif
-+# define machine_is_ax8004()  (machine_arch_type == MACH_TYPE_AX8004)
-+#else
-+# define machine_is_ax8004()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AT91SAM9261EK
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AT91SAM9261EK
-+# endif
-+# define machine_is_at91sam9261ek()   (machine_arch_type == MACH_TYPE_AT91SAM9261EK)
-+#else
-+# define machine_is_at91sam9261ek()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_LOFT
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_LOFT
-+# endif
-+# define machine_is_loft()    (machine_arch_type == MACH_TYPE_LOFT)
-+#else
-+# define machine_is_loft()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MAGPIE
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MAGPIE
-+# endif
-+# define machine_is_magpie()  (machine_arch_type == MACH_TYPE_MAGPIE)
-+#else
-+# define machine_is_magpie()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MX21
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MX21
-+# endif
-+# define machine_is_mx21ads() (machine_arch_type == MACH_TYPE_MX21)
-+#else
-+# define machine_is_mx21ads() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MB87M3400
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MB87M3400
-+# endif
-+# define machine_is_mb87m3400()       (machine_arch_type == MACH_TYPE_MB87M3400)
-+#else
-+# define machine_is_mb87m3400()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MGUARD_DELTA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MGUARD_DELTA
-+# endif
-+# define machine_is_mguard_delta()    (machine_arch_type == MACH_TYPE_MGUARD_DELTA)
-+#else
-+# define machine_is_mguard_delta()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DAVINCI_DVDP
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DAVINCI_DVDP
-+# endif
-+# define machine_is_davinci_dvdp()    (machine_arch_type == MACH_TYPE_DAVINCI_DVDP)
-+#else
-+# define machine_is_davinci_dvdp()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_HTCUNIVERSAL
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_HTCUNIVERSAL
-+# endif
-+# define machine_is_htcuniversal()    (machine_arch_type == MACH_TYPE_HTCUNIVERSAL)
-+#else
-+# define machine_is_htcuniversal()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_TPAD
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_TPAD
-+# endif
-+# define machine_is_tpad()    (machine_arch_type == MACH_TYPE_TPAD)
-+#else
-+# define machine_is_tpad()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ROVERP3
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ROVERP3
-+# endif
-+# define machine_is_roverp3() (machine_arch_type == MACH_TYPE_ROVERP3)
-+#else
-+# define machine_is_roverp3() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_JORNADA928
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_JORNADA928
-+# endif
-+# define machine_is_jornada928()      (machine_arch_type == MACH_TYPE_JORNADA928)
-+#else
-+# define machine_is_jornada928()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MV88FXX81
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MV88FXX81
-+# endif
-+# define machine_is_mv88fxx81()       (machine_arch_type == MACH_TYPE_MV88FXX81)
-+#else
-+# define machine_is_mv88fxx81()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_STMP36XX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_STMP36XX
-+# endif
-+# define machine_is_stmp36xx()        (machine_arch_type == MACH_TYPE_STMP36XX)
-+#else
-+# define machine_is_stmp36xx()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SXNI79524
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SXNI79524
-+# endif
-+# define machine_is_sxni79524()       (machine_arch_type == MACH_TYPE_SXNI79524)
-+#else
-+# define machine_is_sxni79524()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AMS_DELTA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AMS_DELTA
-+# endif
-+# define machine_is_ams_delta()       (machine_arch_type == MACH_TYPE_AMS_DELTA)
-+#else
-+# define machine_is_ams_delta()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_URANIUM
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_URANIUM
-+# endif
-+# define machine_is_uranium() (machine_arch_type == MACH_TYPE_URANIUM)
-+#else
-+# define machine_is_uranium() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_UCON
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_UCON
-+# endif
-+# define machine_is_ucon()    (machine_arch_type == MACH_TYPE_UCON)
-+#else
-+# define machine_is_ucon()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NAS100D
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NAS100D
-+# endif
-+# define machine_is_nas100d() (machine_arch_type == MACH_TYPE_NAS100D)
-+#else
-+# define machine_is_nas100d() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_L083_1000
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_L083_1000
-+# endif
-+# define machine_is_l083()    (machine_arch_type == MACH_TYPE_L083_1000)
-+#else
-+# define machine_is_l083()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_EZX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_EZX
-+# endif
-+# define machine_is_ezx()     (machine_arch_type == MACH_TYPE_EZX)
-+#else
-+# define machine_is_ezx()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PNX5220
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PNX5220
-+# endif
-+# define machine_is_pnx5220() (machine_arch_type == MACH_TYPE_PNX5220)
-+#else
-+# define machine_is_pnx5220() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_BUTTE
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_BUTTE
-+# endif
-+# define machine_is_butte()   (machine_arch_type == MACH_TYPE_BUTTE)
-+#else
-+# define machine_is_butte()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SRM2
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SRM2
-+# endif
-+# define machine_is_srm2()    (machine_arch_type == MACH_TYPE_SRM2)
-+#else
-+# define machine_is_srm2()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DSBR
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DSBR
-+# endif
-+# define machine_is_dsbr()    (machine_arch_type == MACH_TYPE_DSBR)
-+#else
-+# define machine_is_dsbr()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CRYSTALBALL
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CRYSTALBALL
-+# endif
-+# define machine_is_crystalball()     (machine_arch_type == MACH_TYPE_CRYSTALBALL)
-+#else
-+# define machine_is_crystalball()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_TINYPXA27X
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_TINYPXA27X
-+# endif
-+# define machine_is_tinypxa27x()      (machine_arch_type == MACH_TYPE_TINYPXA27X)
-+#else
-+# define machine_is_tinypxa27x()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_HERBIE
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_HERBIE
-+# endif
-+# define machine_is_herbie()  (machine_arch_type == MACH_TYPE_HERBIE)
-+#else
-+# define machine_is_herbie()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MAGICIAN
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MAGICIAN
-+# endif
-+# define machine_is_magician()        (machine_arch_type == MACH_TYPE_MAGICIAN)
-+#else
-+# define machine_is_magician()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CM4002
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CM4002
-+# endif
-+# define machine_is_cm4002()  (machine_arch_type == MACH_TYPE_CM4002)
-+#else
-+# define machine_is_cm4002()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_B4
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_B4
-+# endif
-+# define machine_is_b4()      (machine_arch_type == MACH_TYPE_B4)
-+#else
-+# define machine_is_b4()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MAUI
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MAUI
-+# endif
-+# define machine_is_maui()    (machine_arch_type == MACH_TYPE_MAUI)
-+#else
-+# define machine_is_maui()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CYBERTRACKER_G
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CYBERTRACKER_G
-+# endif
-+# define machine_is_cybertracker_g()  (machine_arch_type == MACH_TYPE_CYBERTRACKER_G)
-+#else
-+# define machine_is_cybertracker_g()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NXDKN
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NXDKN
-+# endif
-+# define machine_is_nxdkn()   (machine_arch_type == MACH_TYPE_NXDKN)
-+#else
-+# define machine_is_nxdkn()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MIO8390
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MIO8390
-+# endif
-+# define machine_is_mio8390() (machine_arch_type == MACH_TYPE_MIO8390)
-+#else
-+# define machine_is_mio8390() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMI_BOARD
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMI_BOARD
-+# endif
-+# define machine_is_omi_board()       (machine_arch_type == MACH_TYPE_OMI_BOARD)
-+#else
-+# define machine_is_omi_board()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MX21CIV
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MX21CIV
-+# endif
-+# define machine_is_mx21civ() (machine_arch_type == MACH_TYPE_MX21CIV)
-+#else
-+# define machine_is_mx21civ() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MAHI_CDAC
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MAHI_CDAC
-+# endif
-+# define machine_is_mahi_cdac()       (machine_arch_type == MACH_TYPE_MAHI_CDAC)
-+#else
-+# define machine_is_mahi_cdac()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_XSCALE_PALMTX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_XSCALE_PALMTX
-+# endif
-+# define machine_is_xscale_palmtx()   (machine_arch_type == MACH_TYPE_XSCALE_PALMTX)
-+#else
-+# define machine_is_xscale_palmtx()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_S3C2413
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_S3C2413
-+# endif
-+# define machine_is_s3c2413() (machine_arch_type == MACH_TYPE_S3C2413)
-+#else
-+# define machine_is_s3c2413() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SAMSYS_EP0
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SAMSYS_EP0
-+# endif
-+# define machine_is_samsys_ep0()      (machine_arch_type == MACH_TYPE_SAMSYS_EP0)
-+#else
-+# define machine_is_samsys_ep0()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_WG302V1
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_WG302V1
-+# endif
-+# define machine_is_wg302v1() (machine_arch_type == MACH_TYPE_WG302V1)
-+#else
-+# define machine_is_wg302v1() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_WG302V2
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_WG302V2
-+# endif
-+# define machine_is_wg302v2() (machine_arch_type == MACH_TYPE_WG302V2)
-+#else
-+# define machine_is_wg302v2() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_EB42X
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_EB42X
-+# endif
-+# define machine_is_eb42x()   (machine_arch_type == MACH_TYPE_EB42X)
-+#else
-+# define machine_is_eb42x()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IQ331ES
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IQ331ES
-+# endif
-+# define machine_is_iq331es() (machine_arch_type == MACH_TYPE_IQ331ES)
-+#else
-+# define machine_is_iq331es() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_COSYDSP
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_COSYDSP
-+# endif
-+# define machine_is_cosydsp() (machine_arch_type == MACH_TYPE_COSYDSP)
-+#else
-+# define machine_is_cosydsp() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_UPLAT7D
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_UPLAT7D
-+# endif
-+# define machine_is_uplat7d_proto()   (machine_arch_type == MACH_TYPE_UPLAT7D)
-+#else
-+# define machine_is_uplat7d_proto()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PTDAVINCI
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PTDAVINCI
-+# endif
-+# define machine_is_ptdavinci()       (machine_arch_type == MACH_TYPE_PTDAVINCI)
-+#else
-+# define machine_is_ptdavinci()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MBUS
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MBUS
-+# endif
-+# define machine_is_mbus()    (machine_arch_type == MACH_TYPE_MBUS)
-+#else
-+# define machine_is_mbus()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NADIA2VB
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NADIA2VB
-+# endif
-+# define machine_is_nadia2vb()        (machine_arch_type == MACH_TYPE_NADIA2VB)
-+#else
-+# define machine_is_nadia2vb()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_R1000
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_R1000
-+# endif
-+# define machine_is_r1000()   (machine_arch_type == MACH_TYPE_R1000)
-+#else
-+# define machine_is_r1000()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_HW90250
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_HW90250
-+# endif
-+# define machine_is_hw90250() (machine_arch_type == MACH_TYPE_HW90250)
-+#else
-+# define machine_is_hw90250() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_2430SDP
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_2430SDP
-+# endif
-+# define machine_is_omap_2430sdp()    (machine_arch_type == MACH_TYPE_OMAP_2430SDP)
-+#else
-+# define machine_is_omap_2430sdp()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DAVINCI_EVM
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DAVINCI_EVM
-+# endif
-+# define machine_is_davinci_evm()     (machine_arch_type == MACH_TYPE_DAVINCI_EVM)
-+#else
-+# define machine_is_davinci_evm()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_TORNADO
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_TORNADO
-+# endif
-+# define machine_is_omap_tornado()    (machine_arch_type == MACH_TYPE_OMAP_TORNADO)
-+#else
-+# define machine_is_omap_tornado()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OLOCREEK
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OLOCREEK
-+# endif
-+# define machine_is_olocreek()        (machine_arch_type == MACH_TYPE_OLOCREEK)
-+#else
-+# define machine_is_olocreek()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PALMZ72
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PALMZ72
-+# endif
-+# define machine_is_palmz72() (machine_arch_type == MACH_TYPE_PALMZ72)
-+#else
-+# define machine_is_palmz72() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NXDB500
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NXDB500
-+# endif
-+# define machine_is_nxdb500() (machine_arch_type == MACH_TYPE_NXDB500)
-+#else
-+# define machine_is_nxdb500() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_APF9328
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_APF9328
-+# endif
-+# define machine_is_apf9328() (machine_arch_type == MACH_TYPE_APF9328)
-+#else
-+# define machine_is_apf9328() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_WIPOQ
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_WIPOQ
-+# endif
-+# define machine_is_omap_wipoq()      (machine_arch_type == MACH_TYPE_OMAP_WIPOQ)
-+#else
-+# define machine_is_omap_wipoq()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_TWIP
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_TWIP
-+# endif
-+# define machine_is_omap_twip()       (machine_arch_type == MACH_TYPE_OMAP_TWIP)
-+#else
-+# define machine_is_omap_twip()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_XSCALE_PALMTREO650
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_XSCALE_PALMTREO650
-+# endif
-+# define machine_is_xscale_treo650()  (machine_arch_type == MACH_TYPE_XSCALE_PALMTREO650)
-+#else
-+# define machine_is_xscale_treo650()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ACUMEN
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ACUMEN
-+# endif
-+# define machine_is_acumen()  (machine_arch_type == MACH_TYPE_ACUMEN)
-+#else
-+# define machine_is_acumen()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_XP100
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_XP100
-+# endif
-+# define machine_is_xp100()   (machine_arch_type == MACH_TYPE_XP100)
-+#else
-+# define machine_is_xp100()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_FS2410
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_FS2410
-+# endif
-+# define machine_is_fs2410()  (machine_arch_type == MACH_TYPE_FS2410)
-+#else
-+# define machine_is_fs2410()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PXA270_CERF
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PXA270_CERF
-+# endif
-+# define machine_is_pxa270_cerf()     (machine_arch_type == MACH_TYPE_PXA270_CERF)
-+#else
-+# define machine_is_pxa270_cerf()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SQ2FTLPALM
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SQ2FTLPALM
-+# endif
-+# define machine_is_sq2ftlpalm()      (machine_arch_type == MACH_TYPE_SQ2FTLPALM)
-+#else
-+# define machine_is_sq2ftlpalm()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_BSEMSERVER
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_BSEMSERVER
-+# endif
-+# define machine_is_bsemserver()      (machine_arch_type == MACH_TYPE_BSEMSERVER)
-+#else
-+# define machine_is_bsemserver()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NETCLIENT
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NETCLIENT
-+# endif
-+# define machine_is_netclient()       (machine_arch_type == MACH_TYPE_NETCLIENT)
-+#else
-+# define machine_is_netclient()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_XSCALE_PALMTT5
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_XSCALE_PALMTT5
-+# endif
-+# define machine_is_xscale_palmtt5()  (machine_arch_type == MACH_TYPE_XSCALE_PALMTT5)
-+#else
-+# define machine_is_xscale_palmtt5()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_PALMTC
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_PALMTC
-+# endif
-+# define machine_is_xscale_palmtc()   (machine_arch_type == MACH_TYPE_OMAP_PALMTC)
-+#else
-+# define machine_is_xscale_palmtc()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_APOLLON
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_APOLLON
-+# endif
-+# define machine_is_omap_apollon()    (machine_arch_type == MACH_TYPE_OMAP_APOLLON)
-+#else
-+# define machine_is_omap_apollon()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MXC30030EVB
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MXC30030EVB
-+# endif
-+# define machine_is_mxc30030evb()     (machine_arch_type == MACH_TYPE_MXC30030EVB)
-+#else
-+# define machine_is_mxc30030evb()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_REA_2D
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_REA_2D
-+# endif
-+# define machine_is_rea_2d()  (machine_arch_type == MACH_TYPE_REA_2D)
-+#else
-+# define machine_is_rea_2d()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_TI3E524
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_TI3E524
-+# endif
-+# define machine_is_eti3e524()        (machine_arch_type == MACH_TYPE_TI3E524)
-+#else
-+# define machine_is_eti3e524()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ATEB9200
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ATEB9200
-+# endif
-+# define machine_is_ateb9200()        (machine_arch_type == MACH_TYPE_ATEB9200)
-+#else
-+# define machine_is_ateb9200()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AUCKLAND
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AUCKLAND
-+# endif
-+# define machine_is_auckland()        (machine_arch_type == MACH_TYPE_AUCKLAND)
-+#else
-+# define machine_is_auckland()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AK3320M
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AK3320M
-+# endif
-+# define machine_is_ak3220m() (machine_arch_type == MACH_TYPE_AK3320M)
-+#else
-+# define machine_is_ak3220m() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DURAMAX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DURAMAX
-+# endif
-+# define machine_is_duramax() (machine_arch_type == MACH_TYPE_DURAMAX)
-+#else
-+# define machine_is_duramax() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_N35
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_N35
-+# endif
-+# define machine_is_n35()     (machine_arch_type == MACH_TYPE_N35)
-+#else
-+# define machine_is_n35()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PRONGHORN
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PRONGHORN
-+# endif
-+# define machine_is_pronghorn()       (machine_arch_type == MACH_TYPE_PRONGHORN)
-+#else
-+# define machine_is_pronghorn()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_FUNDY
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_FUNDY
-+# endif
-+# define machine_is_fundy()   (machine_arch_type == MACH_TYPE_FUNDY)
-+#else
-+# define machine_is_fundy()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_LOGICPD_PXA270
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_LOGICPD_PXA270
-+# endif
-+# define machine_is_logicpd_pxa270()  (machine_arch_type == MACH_TYPE_LOGICPD_PXA270)
-+#else
-+# define machine_is_logicpd_pxa270()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CPU777
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CPU777
-+# endif
-+# define machine_is_cpu777()  (machine_arch_type == MACH_TYPE_CPU777)
-+#else
-+# define machine_is_cpu777()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SIMICON9201
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SIMICON9201
-+# endif
-+# define machine_is_simicon9201()     (machine_arch_type == MACH_TYPE_SIMICON9201)
-+#else
-+# define machine_is_simicon9201()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_LEAP2_HPM
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_LEAP2_HPM
-+# endif
-+# define machine_is_leap2_hpm()       (machine_arch_type == MACH_TYPE_LEAP2_HPM)
-+#else
-+# define machine_is_leap2_hpm()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CM922TXA10
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CM922TXA10
-+# endif
-+# define machine_is_cm922txa10()      (machine_arch_type == MACH_TYPE_CM922TXA10)
-+#else
-+# define machine_is_cm922txa10()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PXA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PXA
-+# endif
-+# define machine_is_sandgate()        (machine_arch_type == MACH_TYPE_PXA)
-+#else
-+# define machine_is_sandgate()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SANDGATE2
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SANDGATE2
-+# endif
-+# define machine_is_sandgate2()       (machine_arch_type == MACH_TYPE_SANDGATE2)
-+#else
-+# define machine_is_sandgate2()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SANDGATE2G
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SANDGATE2G
-+# endif
-+# define machine_is_sandgate2g()      (machine_arch_type == MACH_TYPE_SANDGATE2G)
-+#else
-+# define machine_is_sandgate2g()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SANDGATE2P
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SANDGATE2P
-+# endif
-+# define machine_is_sandgate2p()      (machine_arch_type == MACH_TYPE_SANDGATE2P)
-+#else
-+# define machine_is_sandgate2p()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_FRED_JACK
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_FRED_JACK
-+# endif
-+# define machine_is_fred_jack()       (machine_arch_type == MACH_TYPE_FRED_JACK)
-+#else
-+# define machine_is_fred_jack()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_TTG_COLOR1
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_TTG_COLOR1
-+# endif
-+# define machine_is_ttg_color1()      (machine_arch_type == MACH_TYPE_TTG_COLOR1)
-+#else
-+# define machine_is_ttg_color1()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NXEB500HMI
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NXEB500HMI
-+# endif
-+# define machine_is_nxeb500hmi()      (machine_arch_type == MACH_TYPE_NXEB500HMI)
-+#else
-+# define machine_is_nxeb500hmi()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NETDCU8
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NETDCU8
-+# endif
-+# define machine_is_netdcu8() (machine_arch_type == MACH_TYPE_NETDCU8)
-+#else
-+# define machine_is_netdcu8() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ML675050_CPU_BOA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ML675050_CPU_BOA
-+# endif
-+# define machine_is_ml675050_cpu_boa()        (machine_arch_type == MACH_TYPE_ML675050_CPU_BOA)
-+#else
-+# define machine_is_ml675050_cpu_boa()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NG_FVX538
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NG_FVX538
-+# endif
-+# define machine_is_ng_fvx538()       (machine_arch_type == MACH_TYPE_NG_FVX538)
-+#else
-+# define machine_is_ng_fvx538()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NG_FVS338
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NG_FVS338
-+# endif
-+# define machine_is_ng_fvs338()       (machine_arch_type == MACH_TYPE_NG_FVS338)
-+#else
-+# define machine_is_ng_fvs338()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PNX4103
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PNX4103
-+# endif
-+# define machine_is_pnx4103() (machine_arch_type == MACH_TYPE_PNX4103)
-+#else
-+# define machine_is_pnx4103() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_HESDB
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_HESDB
-+# endif
-+# define machine_is_hesdb()   (machine_arch_type == MACH_TYPE_HESDB)
-+#else
-+# define machine_is_hesdb()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_XSILO
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_XSILO
-+# endif
-+# define machine_is_xsilo()   (machine_arch_type == MACH_TYPE_XSILO)
-+#else
-+# define machine_is_xsilo()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ESPRESSO
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ESPRESSO
-+# endif
-+# define machine_is_espresso()        (machine_arch_type == MACH_TYPE_ESPRESSO)
-+#else
-+# define machine_is_espresso()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_EMLC
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_EMLC
-+# endif
-+# define machine_is_emlc()    (machine_arch_type == MACH_TYPE_EMLC)
-+#else
-+# define machine_is_emlc()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SISTERON
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SISTERON
-+# endif
-+# define machine_is_sisteron()        (machine_arch_type == MACH_TYPE_SISTERON)
-+#else
-+# define machine_is_sisteron()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_RX1950
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_RX1950
-+# endif
-+# define machine_is_rx1950()  (machine_arch_type == MACH_TYPE_RX1950)
-+#else
-+# define machine_is_rx1950()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_TSC_VENUS
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_TSC_VENUS
-+# endif
-+# define machine_is_tsc_venus()       (machine_arch_type == MACH_TYPE_TSC_VENUS)
-+#else
-+# define machine_is_tsc_venus()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DS101J
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DS101J
-+# endif
-+# define machine_is_ds101j()  (machine_arch_type == MACH_TYPE_DS101J)
-+#else
-+# define machine_is_ds101j()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MXC30030ADS
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MXC30030ADS
-+# endif
-+# define machine_is_mxc30030ads()     (machine_arch_type == MACH_TYPE_MXC30030ADS)
-+#else
-+# define machine_is_mxc30030ads()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_FUJITSU_WIMAXSOC
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_FUJITSU_WIMAXSOC
-+# endif
-+# define machine_is_fujitsu_wimaxsoc()        (machine_arch_type == MACH_TYPE_FUJITSU_WIMAXSOC)
-+#else
-+# define machine_is_fujitsu_wimaxsoc()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DUALPCMODEM
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DUALPCMODEM
-+# endif
-+# define machine_is_dualpcmodem()     (machine_arch_type == MACH_TYPE_DUALPCMODEM)
-+#else
-+# define machine_is_dualpcmodem()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_GESBC9312
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_GESBC9312
-+# endif
-+# define machine_is_gesbc9312()       (machine_arch_type == MACH_TYPE_GESBC9312)
-+#else
-+# define machine_is_gesbc9312()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_HTCAPACHE
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_HTCAPACHE
-+# endif
-+# define machine_is_htcapache()       (machine_arch_type == MACH_TYPE_HTCAPACHE)
-+#else
-+# define machine_is_htcapache()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IXDP435
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IXDP435
-+# endif
-+# define machine_is_ixdp435() (machine_arch_type == MACH_TYPE_IXDP435)
-+#else
-+# define machine_is_ixdp435() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CATPROVT100
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CATPROVT100
-+# endif
-+# define machine_is_catprovt100()     (machine_arch_type == MACH_TYPE_CATPROVT100)
-+#else
-+# define machine_is_catprovt100()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PICOTUX1XX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PICOTUX1XX
-+# endif
-+# define machine_is_picotux1xx()      (machine_arch_type == MACH_TYPE_PICOTUX1XX)
-+#else
-+# define machine_is_picotux1xx()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PICOTUX2XX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PICOTUX2XX
-+# endif
-+# define machine_is_picotux2xx()      (machine_arch_type == MACH_TYPE_PICOTUX2XX)
-+#else
-+# define machine_is_picotux2xx()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DSMG600
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DSMG600
-+# endif
-+# define machine_is_dsmg600() (machine_arch_type == MACH_TYPE_DSMG600)
-+#else
-+# define machine_is_dsmg600() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_EMPC2
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_EMPC2
-+# endif
-+# define machine_is_empc2()   (machine_arch_type == MACH_TYPE_EMPC2)
-+#else
-+# define machine_is_empc2()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_VENTURA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_VENTURA
-+# endif
-+# define machine_is_ventura() (machine_arch_type == MACH_TYPE_VENTURA)
-+#else
-+# define machine_is_ventura() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PHIDGET_SBC
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PHIDGET_SBC
-+# endif
-+# define machine_is_phidget_sbc()     (machine_arch_type == MACH_TYPE_PHIDGET_SBC)
-+#else
-+# define machine_is_phidget_sbc()     (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IJ3K
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IJ3K
-+# endif
-+# define machine_is_ij3k()    (machine_arch_type == MACH_TYPE_IJ3K)
-+#else
-+# define machine_is_ij3k()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PISGAH
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PISGAH
-+# endif
-+# define machine_is_pisgah()  (machine_arch_type == MACH_TYPE_PISGAH)
-+#else
-+# define machine_is_pisgah()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_FSAMPLE
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_FSAMPLE
-+# endif
-+# define machine_is_omap_fsample()    (machine_arch_type == MACH_TYPE_OMAP_FSAMPLE)
-+#else
-+# define machine_is_omap_fsample()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SG720
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SG720
-+# endif
-+# define machine_is_sg720()   (machine_arch_type == MACH_TYPE_SG720)
-+#else
-+# define machine_is_sg720()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_REDFOX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_REDFOX
-+# endif
-+# define machine_is_redfox()  (machine_arch_type == MACH_TYPE_REDFOX)
-+#else
-+# define machine_is_redfox()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MYSH_EP9315_1
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MYSH_EP9315_1
-+# endif
-+# define machine_is_mysh_ep9315_1()   (machine_arch_type == MACH_TYPE_MYSH_EP9315_1)
-+#else
-+# define machine_is_mysh_ep9315_1()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_TPF106
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_TPF106
-+# endif
-+# define machine_is_tpf106()  (machine_arch_type == MACH_TYPE_TPF106)
-+#else
-+# define machine_is_tpf106()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AT91RM9200KG
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AT91RM9200KG
-+# endif
-+# define machine_is_at91rm9200kg()    (machine_arch_type == MACH_TYPE_AT91RM9200KG)
-+#else
-+# define machine_is_at91rm9200kg()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SLEDB
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SLEDB
-+# endif
-+# define machine_is_racemt2() (machine_arch_type == MACH_TYPE_SLEDB)
-+#else
-+# define machine_is_racemt2() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ONTRACK
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ONTRACK
-+# endif
-+# define machine_is_ontrack() (machine_arch_type == MACH_TYPE_ONTRACK)
-+#else
-+# define machine_is_ontrack() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PM1200
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PM1200
-+# endif
-+# define machine_is_pm1200()  (machine_arch_type == MACH_TYPE_PM1200)
-+#else
-+# define machine_is_pm1200()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ESS24XXX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ESS24XXX
-+# endif
-+# define machine_is_ess24562()        (machine_arch_type == MACH_TYPE_ESS24XXX)
-+#else
-+# define machine_is_ess24562()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_COREMP7
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_COREMP7
-+# endif
-+# define machine_is_coremp7() (machine_arch_type == MACH_TYPE_COREMP7)
-+#else
-+# define machine_is_coremp7() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NEXCODER_6446
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NEXCODER_6446
-+# endif
-+# define machine_is_nexcoder_6446()   (machine_arch_type == MACH_TYPE_NEXCODER_6446)
-+#else
-+# define machine_is_nexcoder_6446()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_STVC8380
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_STVC8380
-+# endif
-+# define machine_is_stvc8380()        (machine_arch_type == MACH_TYPE_STVC8380)
-+#else
-+# define machine_is_stvc8380()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_TEKLYNX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_TEKLYNX
-+# endif
-+# define machine_is_teklynx() (machine_arch_type == MACH_TYPE_TEKLYNX)
-+#else
-+# define machine_is_teklynx() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CARBONADO
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CARBONADO
-+# endif
-+# define machine_is_carbonado()       (machine_arch_type == MACH_TYPE_CARBONADO)
-+#else
-+# define machine_is_carbonado()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SYSMOS_MP730
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SYSMOS_MP730
-+# endif
-+# define machine_is_sysmos_mp730()    (machine_arch_type == MACH_TYPE_SYSMOS_MP730)
-+#else
-+# define machine_is_sysmos_mp730()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SNAPPER_CL15
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SNAPPER_CL15
-+# endif
-+# define machine_is_snapper_cl15()    (machine_arch_type == MACH_TYPE_SNAPPER_CL15)
-+#else
-+# define machine_is_snapper_cl15()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PGIGIM
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PGIGIM
-+# endif
-+# define machine_is_pgigim()  (machine_arch_type == MACH_TYPE_PGIGIM)
-+#else
-+# define machine_is_pgigim()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PTX9160P2
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PTX9160P2
-+# endif
-+# define machine_is_ptx9160p2()       (machine_arch_type == MACH_TYPE_PTX9160P2)
-+#else
-+# define machine_is_ptx9160p2()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DCORE1
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DCORE1
-+# endif
-+# define machine_is_dcore1()  (machine_arch_type == MACH_TYPE_DCORE1)
-+#else
-+# define machine_is_dcore1()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_VICTORPXA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_VICTORPXA
-+# endif
-+# define machine_is_victorpxa()       (machine_arch_type == MACH_TYPE_VICTORPXA)
-+#else
-+# define machine_is_victorpxa()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MX2DTB
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MX2DTB
-+# endif
-+# define machine_is_mx2dtb()  (machine_arch_type == MACH_TYPE_MX2DTB)
-+#else
-+# define machine_is_mx2dtb()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PXA_IREX_ER0100
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PXA_IREX_ER0100
-+# endif
-+# define machine_is_pxa_irex_er0100() (machine_arch_type == MACH_TYPE_PXA_IREX_ER0100)
-+#else
-+# define machine_is_pxa_irex_er0100() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_PALMZ71
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_PALMZ71
-+# endif
-+# define machine_is_omap_palmz71()    (machine_arch_type == MACH_TYPE_OMAP_PALMZ71)
-+#else
-+# define machine_is_omap_palmz71()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_BARTEC_DEG
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_BARTEC_DEG
-+# endif
-+# define machine_is_bartec_deg()      (machine_arch_type == MACH_TYPE_BARTEC_DEG)
-+#else
-+# define machine_is_bartec_deg()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_HW50251
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_HW50251
-+# endif
-+# define machine_is_hw50251() (machine_arch_type == MACH_TYPE_HW50251)
-+#else
-+# define machine_is_hw50251() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IBOX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IBOX
-+# endif
-+# define machine_is_ibox()    (machine_arch_type == MACH_TYPE_IBOX)
-+#else
-+# define machine_is_ibox()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ATLASLH7A404
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ATLASLH7A404
-+# endif
-+# define machine_is_atlaslh7a404()    (machine_arch_type == MACH_TYPE_ATLASLH7A404)
-+#else
-+# define machine_is_atlaslh7a404()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PT2026
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PT2026
-+# endif
-+# define machine_is_pt2026()  (machine_arch_type == MACH_TYPE_PT2026)
-+#else
-+# define machine_is_pt2026()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_HTCALPINE
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_HTCALPINE
-+# endif
-+# define machine_is_htcalpine()       (machine_arch_type == MACH_TYPE_HTCALPINE)
-+#else
-+# define machine_is_htcalpine()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_BARTEC_VTU
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_BARTEC_VTU
-+# endif
-+# define machine_is_bartec_vtu()      (machine_arch_type == MACH_TYPE_BARTEC_VTU)
-+#else
-+# define machine_is_bartec_vtu()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_VCOREII
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_VCOREII
-+# endif
-+# define machine_is_vcoreii() (machine_arch_type == MACH_TYPE_VCOREII)
-+#else
-+# define machine_is_vcoreii() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PDNB3
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PDNB3
-+# endif
-+# define machine_is_pdnb3()   (machine_arch_type == MACH_TYPE_PDNB3)
-+#else
-+# define machine_is_pdnb3()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_HTCBEETLES
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_HTCBEETLES
-+# endif
-+# define machine_is_htcbeetles()      (machine_arch_type == MACH_TYPE_HTCBEETLES)
-+#else
-+# define machine_is_htcbeetles()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_S3C6400
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_S3C6400
-+# endif
-+# define machine_is_s3c6400() (machine_arch_type == MACH_TYPE_S3C6400)
-+#else
-+# define machine_is_s3c6400() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_S3C2443
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_S3C2443
-+# endif
-+# define machine_is_s3c2443() (machine_arch_type == MACH_TYPE_S3C2443)
-+#else
-+# define machine_is_s3c2443() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OMAP_LDK
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OMAP_LDK
-+# endif
-+# define machine_is_omap_ldk()        (machine_arch_type == MACH_TYPE_OMAP_LDK)
-+#else
-+# define machine_is_omap_ldk()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SMDK2460
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SMDK2460
-+# endif
-+# define machine_is_smdk2460()        (machine_arch_type == MACH_TYPE_SMDK2460)
-+#else
-+# define machine_is_smdk2460()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SMDK2440
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SMDK2440
-+# endif
-+# define machine_is_smdk2440()        (machine_arch_type == MACH_TYPE_SMDK2440)
-+#else
-+# define machine_is_smdk2440()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SMDK2412
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SMDK2412
-+# endif
-+# define machine_is_smdk2412()        (machine_arch_type == MACH_TYPE_SMDK2412)
-+#else
-+# define machine_is_smdk2412()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_WEBBOX
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_WEBBOX
-+# endif
-+# define machine_is_webbox()  (machine_arch_type == MACH_TYPE_WEBBOX)
-+#else
-+# define machine_is_webbox()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CWWNDP
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CWWNDP
-+# endif
-+# define machine_is_cwwndp()  (machine_arch_type == MACH_TYPE_CWWNDP)
-+#else
-+# define machine_is_cwwndp()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DRAGON
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DRAGON
-+# endif
-+# define machine_is_dragon()  (machine_arch_type == MACH_TYPE_DRAGON)
-+#else
-+# define machine_is_dragon()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_OPENDO_CPU_BOARD
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_OPENDO_CPU_BOARD
-+# endif
-+# define machine_is_opendo_cpu_board()        (machine_arch_type == MACH_TYPE_OPENDO_CPU_BOARD)
-+#else
-+# define machine_is_opendo_cpu_board()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CCM2200
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CCM2200
-+# endif
-+# define machine_is_ccm2200() (machine_arch_type == MACH_TYPE_CCM2200)
-+#else
-+# define machine_is_ccm2200() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ETWARM
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ETWARM
-+# endif
-+# define machine_is_etwarm()  (machine_arch_type == MACH_TYPE_ETWARM)
-+#else
-+# define machine_is_etwarm()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_M93030
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_M93030
-+# endif
-+# define machine_is_m93030()  (machine_arch_type == MACH_TYPE_M93030)
-+#else
-+# define machine_is_m93030()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CC7U
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CC7U
-+# endif
-+# define machine_is_cc7u()    (machine_arch_type == MACH_TYPE_CC7U)
-+#else
-+# define machine_is_cc7u()    (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MTT_RANGER
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MTT_RANGER
-+# endif
-+# define machine_is_mtt_ranger()      (machine_arch_type == MACH_TYPE_MTT_RANGER)
-+#else
-+# define machine_is_mtt_ranger()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_NEXUS
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_NEXUS
-+# endif
-+# define machine_is_nexus()   (machine_arch_type == MACH_TYPE_NEXUS)
-+#else
-+# define machine_is_nexus()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_DESMAN
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_DESMAN
-+# endif
-+# define machine_is_desman()  (machine_arch_type == MACH_TYPE_DESMAN)
-+#else
-+# define machine_is_desman()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_BKDE303
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_BKDE303
-+# endif
-+# define machine_is_bkde303() (machine_arch_type == MACH_TYPE_BKDE303)
-+#else
-+# define machine_is_bkde303() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SMDK2413
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SMDK2413
-+# endif
-+# define machine_is_smdk2413()        (machine_arch_type == MACH_TYPE_SMDK2413)
-+#else
-+# define machine_is_smdk2413()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AML_M7200
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AML_M7200
-+# endif
-+# define machine_is_aml_m7200()       (machine_arch_type == MACH_TYPE_AML_M7200)
-+#else
-+# define machine_is_aml_m7200()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AML_M5900
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AML_M5900
-+# endif
-+# define machine_is_aml_m5900()       (machine_arch_type == MACH_TYPE_AML_M5900)
-+#else
-+# define machine_is_aml_m5900()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SG640
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SG640
-+# endif
-+# define machine_is_sg640()   (machine_arch_type == MACH_TYPE_SG640)
-+#else
-+# define machine_is_sg640()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_EDG79524
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_EDG79524
-+# endif
-+# define machine_is_edg79524()        (machine_arch_type == MACH_TYPE_EDG79524)
-+#else
-+# define machine_is_edg79524()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AI2410
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AI2410
-+# endif
-+# define machine_is_ai2410()  (machine_arch_type == MACH_TYPE_AI2410)
-+#else
-+# define machine_is_ai2410()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_IXP465
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_IXP465
-+# endif
-+# define machine_is_ixp465()  (machine_arch_type == MACH_TYPE_IXP465)
-+#else
-+# define machine_is_ixp465()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_BALLOON3
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_BALLOON3
-+# endif
-+# define machine_is_balloon3()        (machine_arch_type == MACH_TYPE_BALLOON3)
-+#else
-+# define machine_is_balloon3()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_HEINS
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_HEINS
-+# endif
-+# define machine_is_heins()   (machine_arch_type == MACH_TYPE_HEINS)
-+#else
-+# define machine_is_heins()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MPLUSEVA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MPLUSEVA
-+# endif
-+# define machine_is_mpluseva()        (machine_arch_type == MACH_TYPE_MPLUSEVA)
-+#else
-+# define machine_is_mpluseva()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_RT042
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_RT042
-+# endif
-+# define machine_is_rt042()   (machine_arch_type == MACH_TYPE_RT042)
-+#else
-+# define machine_is_rt042()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CWIEM
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CWIEM
-+# endif
-+# define machine_is_cwiem()   (machine_arch_type == MACH_TYPE_CWIEM)
-+#else
-+# define machine_is_cwiem()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CM_X270
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CM_X270
-+# endif
-+# define machine_is_cm_x270() (machine_arch_type == MACH_TYPE_CM_X270)
-+#else
-+# define machine_is_cm_x270() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_CM_X255
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_CM_X255
-+# endif
-+# define machine_is_cm_x255() (machine_arch_type == MACH_TYPE_CM_X255)
-+#else
-+# define machine_is_cm_x255() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ESH_AT91
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ESH_AT91
-+# endif
-+# define machine_is_esh_at91()        (machine_arch_type == MACH_TYPE_ESH_AT91)
-+#else
-+# define machine_is_esh_at91()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SANDGATE3
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SANDGATE3
-+# endif
-+# define machine_is_sandgate3()       (machine_arch_type == MACH_TYPE_SANDGATE3)
-+#else
-+# define machine_is_sandgate3()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PRIMO
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PRIMO
-+# endif
-+# define machine_is_primo()   (machine_arch_type == MACH_TYPE_PRIMO)
-+#else
-+# define machine_is_primo()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_GEMSTONE
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_GEMSTONE
-+# endif
-+# define machine_is_gemstone()        (machine_arch_type == MACH_TYPE_GEMSTONE)
-+#else
-+# define machine_is_gemstone()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PRONGHORNMETRO
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PRONGHORNMETRO
-+# endif
-+# define machine_is_pronghorn_metro() (machine_arch_type == MACH_TYPE_PRONGHORNMETRO)
-+#else
-+# define machine_is_pronghorn_metro() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SIDEWINDER
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SIDEWINDER
-+# endif
-+# define machine_is_sidewinder()      (machine_arch_type == MACH_TYPE_SIDEWINDER)
-+#else
-+# define machine_is_sidewinder()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_PICOMOD1
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_PICOMOD1
-+# endif
-+# define machine_is_picomod1()        (machine_arch_type == MACH_TYPE_PICOMOD1)
-+#else
-+# define machine_is_picomod1()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_SG590
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_SG590
-+# endif
-+# define machine_is_sg590()   (machine_arch_type == MACH_TYPE_SG590)
-+#else
-+# define machine_is_sg590()   (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AKAI9307
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AKAI9307
-+# endif
-+# define machine_is_akai9307()        (machine_arch_type == MACH_TYPE_AKAI9307)
-+#else
-+# define machine_is_akai9307()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_FONTAINE
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_FONTAINE
-+# endif
-+# define machine_is_fontaine()        (machine_arch_type == MACH_TYPE_FONTAINE)
-+#else
-+# define machine_is_fontaine()        (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_WOMBAT
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_WOMBAT
-+# endif
-+# define machine_is_wombat()  (machine_arch_type == MACH_TYPE_WOMBAT)
-+#else
-+# define machine_is_wombat()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ACQ300
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ACQ300
-+# endif
-+# define machine_is_acq300()  (machine_arch_type == MACH_TYPE_ACQ300)
-+#else
-+# define machine_is_acq300()  (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_MOD_270
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_MOD_270
-+# endif
-+# define machine_is_mod_270() (machine_arch_type == MACH_TYPE_MOD_270)
-+#else
-+# define machine_is_mod_270() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_VC0820
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_VC0820
-+# endif
-+# define machine_is_vmc_vc0820()      (machine_arch_type == MACH_TYPE_VC0820)
-+#else
-+# define machine_is_vmc_vc0820()      (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_ANI_AIM
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_ANI_AIM
-+# endif
-+# define machine_is_ani_aim() (machine_arch_type == MACH_TYPE_ANI_AIM)
-+#else
-+# define machine_is_ani_aim() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_JELLYFISH
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_JELLYFISH
-+# endif
-+# define machine_is_jellyfish()       (machine_arch_type == MACH_TYPE_JELLYFISH)
-+#else
-+# define machine_is_jellyfish()       (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_AMANITA
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_AMANITA
-+# endif
-+# define machine_is_amanita() (machine_arch_type == MACH_TYPE_AMANITA)
-+#else
-+# define machine_is_amanita() (0)
-+#endif
-+
-+#ifdef CONFIG_MACH_VLINK
-+# ifdef machine_arch_type
-+#  undef machine_arch_type
-+#  define machine_arch_type   __machine_arch_type
-+# else
-+#  define machine_arch_type   MACH_TYPE_VLINK
-+# endif
-+# define machine_is_vlink()   (machine_arch_type == MACH_TYPE_VLINK)
-+#else
-+# define machine_is_vlink()   (0)
-+#endif
-+
- /*
-  * These have not yet been registered
-  */
-diff -Naur u-boot-1.1.4.org/include/config.h u-boot-1.1.4.tmp/include/config.h
---- u-boot-1.1.4.org/include/config.h  2006-06-05 05:04:25.000000000 +0200
-+++ u-boot-1.1.4.tmp/include/config.h  2006-06-05 05:03:47.000000000 +0200
-@@ -1,2 +1,2 @@
- /* Automatically generated - do not edit */
--#include <configs/at91rm9200dk.h>
-+#include <configs/vlink.h>
-diff -Naur u-boot-1.1.4.org/include/config.mk u-boot-1.1.4.tmp/include/config.mk
---- u-boot-1.1.4.org/include/config.mk 2006-06-05 05:04:25.000000000 +0200
-+++ u-boot-1.1.4.tmp/include/config.mk 2006-06-05 05:03:47.000000000 +0200
-@@ -1,4 +1,4 @@
- ARCH   = arm
- CPU    = arm920t
--BOARD  = at91rm9200dk
-+BOARD  = vlink
- SOC    = at91rm9200
-diff -Naur u-boot-1.1.4.org/include/configs/vlink.h u-boot-1.1.4.tmp/include/configs/vlink.h
---- u-boot-1.1.4.org/include/configs/vlink.h   1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.1.4.tmp/include/configs/vlink.h   2006-06-05 03:37:15.000000000 +0200
-@@ -0,0 +1,244 @@
-+/*
-+ * Hamish Guthrie <hamish@prodigi.ch>
-+ *
-+ * Configuation settings for the Figment Designs Versalink board.
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+#ifndef __CONFIG_H
-+#define __CONFIG_H
-+
-+// Added 2 defines to skip re-init lowlevel and relocate HCG HLH
-+//
-+#define CONFIG_SKIP_LOWLEVEL_INIT
-+#define CONFIG_SKIP_RELOCATE_UBOOT
-+
-+/* ARM asynchronous clock */
-+#define AT91C_MAIN_CLOCK      179712000       /* from 18.432 MHz crystal (18432000 / 4 * 39) */
-+#define AT91C_MASTER_CLOCK    59904000        /* peripheral clock (AT91C_MASTER_CLOCK / 3) */
-+/* #define AT91C_MASTER_CLOCK 44928000 */     /* peripheral clock (AT91C_MASTER_CLOCK / 4) */
-+
-+#define AT91_SLOW_CLOCK               32768   /* slow clock */
-+
-+#define CONFIG_ARM920T                1       /* This is an ARM920T Core      */
-+#define CONFIG_AT91RM9200     1       /* It's an Atmel AT91RM9200 SoC */
-+#define CONFIG_VLINK          1       /* on a Versalink Board         */
-+#define CONFIG_IDENT_STRING   " FDL Versalink"
-+#undef  CONFIG_USE_IRQ                        /* we don't need IRQ/FIQ stuff  */
-+#define USE_920T_MMU          1
-+
-+#define CONFIG_CMDLINE_TAG    1       /* enable passing of ATAGs      */
-+#define CONFIG_SETUP_MEMORY_TAGS 1
-+#define CONFIG_INITRD_TAG     1
-+
-+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
-+#define CFG_USE_MAIN_OSCILLATOR               1
-+/* flash */
-+#define MC_PUIA_VAL   0x00000000
-+#define MC_PUP_VAL    0x00000000
-+#define MC_PUER_VAL   0x00000000
-+#define MC_ASR_VAL    0x00000000
-+#define MC_AASR_VAL   0x00000000
-+#define EBI_CFGR_VAL  0x00000000
-+#define SMC2_CSR_VAL  0x00003284 /* 16bit, 2 TDF, 4 WS */
-+
-+/* clocks */
-+#define PLLAR_VAL     0x20263E04 /* 179.712000 MHz for PCK */
-+#define PLLBR_VAL     0x10483E0E /* 48.054857 MHz (divider by 2 for USB) */
-+#define MCKR_VAL      0x00000202 /* PCK/3 = MCK Master Clock = 59.904000MHz from PLLA */
-+
-+/* sdram */
-+#define PIOC_ASR_VAL  0xFFFF0000 /* Configure PIOC as peripheral (D16/D31) */
-+#define PIOC_BSR_VAL  0x00000000
-+#define PIOC_PDR_VAL  0xFFFF0000
-+#define EBI_CSA_VAL   0x00000002 /* CS1=SDRAM */
-+#define SDRC_CR_VAL   0x2188c155 /* set up the SDRAM */
-+#define SDRAM         0x20000000 /* address of the SDRAM */
-+#define SDRAM1                0x20000080 /* address of the SDRAM */
-+#define SDRAM_VAL     0x00000000 /* value written to SDRAM */
-+#define SDRC_MR_VAL   0x00000002 /* Precharge All */
-+#define SDRC_MR_VAL1  0x00000004 /* refresh */
-+#define SDRC_MR_VAL2  0x00000003 /* Load Mode Register */
-+#define SDRC_MR_VAL3  0x00000000 /* Normal Mode */
-+#define SDRC_TR_VAL   0x000002E0 /* Write refresh rate */
-+#endif        /* CONFIG_SKIP_LOWLEVEL_INIT */
-+/*
-+ * Size of malloc() pool
-+ */
-+#define CFG_MALLOC_LEN        (CFG_ENV_SIZE + 128*1024)
-+#define CFG_GBL_DATA_SIZE     128     /* size in bytes reserved for initial data */
-+
-+#define CONFIG_BAUDRATE 115200
-+
-+/*
-+ * Hardware drivers
-+ */
-+
-+/* define one of these to choose the DBGU, USART0  or USART1 as console */
-+#define CONFIG_DBGU
-+#undef CONFIG_USART0
-+#undef CONFIG_USART1
-+
-+#undef        CONFIG_HWFLOW                   /* don't include RTS/CTS flow control support   */
-+
-+#undef        CONFIG_MODEM_SUPPORT            /* disable modem initialization stuff */
-+
-+#define CONFIG_BOOTDELAY      3
-+/* #define CONFIG_ENV_OVERWRITE       1 */
-+
-+#define CONFIG_COMMANDS               \
-+                     ((CONFIG_CMD_DFL | CFG_CMD_MII |\
-+                      CFG_CMD_DHCP ) & \
-+                    ~(CFG_CMD_BDI | \
-+                      CFG_CMD_IMI | \
-+                      CFG_CMD_AUTOSCRIPT | \
-+                      CFG_CMD_FPGA | \
-+                      CFG_CMD_MISC | \
-+                      CFG_CMD_LOADS ))
-+
-+/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
-+#include <cmd_confdefs.h>
-+
-+#ifndef CONFIG_VLINK
-+#define CFG_MAX_NAND_DEVICE   1       /* Max number of NAND devices           */
-+#define SECTORSIZE 512
-+
-+#define ADDR_COLUMN 1
-+#define ADDR_PAGE 2
-+#define ADDR_COLUMN_PAGE 3
-+
-+#define NAND_ChipID_UNKNOWN   0x00
-+#define NAND_MAX_FLOORS 1
-+#define NAND_MAX_CHIPS 1
-+
-+#define AT91_SMART_MEDIA_ALE (1 << 22)        /* our ALE is AD22 */
-+#define AT91_SMART_MEDIA_CLE (1 << 21)        /* our CLE is AD21 */
-+
-+#define NAND_DISABLE_CE(nand) do { *AT91C_PIOC_SODR = AT91C_PIO_PC0;} while(0)
-+#define NAND_ENABLE_CE(nand) do { *AT91C_PIOC_CODR = AT91C_PIO_PC0;} while(0)
-+
-+#define NAND_WAIT_READY(nand) while (!(*AT91C_PIOC_PDSR & AT91C_PIO_PC2))
-+
-+#define WRITE_NAND_COMMAND(d, adr) do{ *(volatile __u8 *)((unsigned long)adr | AT91_SMART_MEDIA_CLE) = (__u8)(d); } while(0)
-+#define WRITE_NAND_ADDRESS(d, adr) do{ *(volatile __u8 *)((unsigned long)adr | AT91_SMART_MEDIA_ALE) = (__u8)(d); } while(0)
-+#define WRITE_NAND(d, adr) do{ *(volatile __u8 *)((unsigned long)adr) = (__u8)d; } while(0)
-+#define READ_NAND(adr) ((volatile unsigned char)(*(volatile __u8 *)(unsigned long)adr))
-+/* the following are NOP's in our implementation */
-+#define NAND_CTL_CLRALE(nandptr)
-+#define NAND_CTL_SETALE(nandptr)
-+#define NAND_CTL_CLRCLE(nandptr)
-+#define NAND_CTL_SETCLE(nandptr)
-+#endif
-+
-+#define CONFIG_NR_DRAM_BANKS 1
-+#define PHYS_SDRAM 0x20000000
-+#define PHYS_SDRAM_SIZE 0x2000000  /* 32 megs */
-+
-+#define CFG_MEMTEST_START             PHYS_SDRAM
-+#define CFG_MEMTEST_END                       CFG_MEMTEST_START + PHYS_SDRAM_SIZE - 262144
-+
-+#define CONFIG_DRIVER_ETHER
-+#define CONFIG_NET_RETRY_COUNT                20
-+#define CONFIG_AT91C_USE_RMII
-+
-+#define CONFIG_HAS_DATAFLASH          1
-+#define CFG_SPI_WRITE_TOUT            (5*CFG_HZ)
-+#define CFG_MAX_DATAFLASH_BANKS       2
-+#define CFG_MAX_DATAFLASH_PAGES       16384
-+#define CFG_DATAFLASH_LOGIC_ADDR_CS0  0xC0000000      /* Logical adress for CS0 */
-+#define CFG_DATAFLASH_LOGIC_ADDR_CS3  0xD0000000      /* Logical adress for CS3 */
-+
-+#ifdef CONFIG_VLINK
-+#define PHYS_FLASH_1                  0x10000000
-+#define PHYS_FLASH_SIZE                       0x200000  /* 2 megs main flash */
-+#define CFG_FLASH_BASE                        PHYS_FLASH_1
-+#define CFG_MAX_FLASH_BANKS           1
-+#define CFG_MAX_FLASH_SECT            256
-+#define CFG_FLASH_ERASE_TOUT          (2*CFG_HZ) /* Timeout for Flash Erase */
-+#define CFG_FLASH_WRITE_TOUT          (2*CFG_HZ) /* Timeout for Flash Write */
-+#endif
-+
-+#define       CFG_ENV_IS_IN_DATAFLASH
-+
-+#ifdef CFG_ENV_IS_IN_DATAFLASH
-+#define CFG_ENV_OFFSET                        0x21000
-+#define CFG_ENV_ADDR                  (CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)
-+#define CFG_ENV_SIZE                  0x8400  /* 0x8000 */
-+#else
-+#define CFG_ENV_IS_IN_FLASH           1
-+#ifdef CONFIG_SKIP_LOWLEVEL_INIT
-+#define CFG_ENV_ADDR                  (PHYS_FLASH_1 + 0x60000)  /* after u-boot.bin */
-+#define CFG_ENV_SIZE                  0x10000 /* sectors are 64K here */
-+#else
-+#define CFG_ENV_ADDR                  (PHYS_FLASH_1 + 0xe000)  /* between boot.bin and u-boot.bin.gz */
-+#define CFG_ENV_SIZE                  0x2000  /* 0x8000 */
-+#endif        /* CONFIG_SKIP_LOWLEVEL_INIT */
-+#endif        /* CFG_ENV_IS_IN_DATAFLASH */
-+
-+
-+#define CFG_LOAD_ADDR         0x21000000  /* default load address */
-+
-+#ifdef CONFIG_SKIP_LOWLEVEL_INIT
-+#define CFG_BOOT_SIZE         0x00 /* 0 KBytes */
-+#define CFG_U_BOOT_BASE               PHYS_FLASH_1
-+#define CFG_U_BOOT_SIZE               0x60000 /* 384 KBytes */
-+#else
-+#define CFG_BOOT_SIZE         0x6000 /* 24 KBytes */
-+#define CFG_U_BOOT_BASE               (PHYS_FLASH_1 + 0x10000)
-+#define CFG_U_BOOT_SIZE               0x10000 /* 64 KBytes */
-+#endif        /* CONFIG_SKIP_LOWLEVEL_INIT */
-+
-+#define CFG_BAUDRATE_TABLE    {115200 , 19200, 38400, 57600, 9600 }
-+
-+#define CFG_PROMPT            "U-Boot> "      /* Monitor Command Prompt */
-+#define CFG_CBSIZE            256             /* Console I/O Buffer Size */
-+#define CFG_MAXARGS           16              /* max number of command args */
-+#define CFG_PBSIZE            (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
-+
-+#ifndef __ASSEMBLY__
-+/*-----------------------------------------------------------------------
-+ * Board specific extension for bd_info
-+ *
-+ * This structure is embedded in the global bd_info (bd_t) structure
-+ * and can be used by the board specific code (eg board/...)
-+ */
-+
-+struct bd_info_ext {
-+      /* helper variable for board environment handling
-+       *
-+       * env_crc_valid == 0    =>   uninitialised
-+       * env_crc_valid  > 0    =>   environment crc in flash is valid
-+       * env_crc_valid  < 0    =>   environment crc in flash is invalid
-+       */
-+      int env_crc_valid;
-+};
-+#endif
-+
-+#define CFG_HZ 1000
-+#define CFG_HZ_CLOCK AT91C_MASTER_CLOCK/2     /* AT91C_TC0_CMR is implicitly set to */
-+                                      /* AT91C_TC_TIMER_DIV1_CLOCK */
-+
-+#define CONFIG_STACKSIZE      (32*1024)       /* regular stack */
-+
-+#ifdef CONFIG_USE_IRQ
-+#error CONFIG_USE_IRQ not supported
-+#endif
-+
-+#endif
-diff -Naur u-boot-1.1.4.org/MAKEALL u-boot-1.1.4.tmp/MAKEALL
---- u-boot-1.1.4.org/MAKEALL   2005-12-16 17:39:27.000000000 +0100
-+++ u-boot-1.1.4.tmp/MAKEALL   2006-06-05 02:44:24.000000000 +0200
-@@ -180,7 +180,7 @@
-       mx1ads          mx1fs2          omap1510inn     omap1610h2      \
-       omap1610inn     omap730p2       scb9328         smdk2400        \
-       smdk2410        trab            VCMA9           versatile       \
--      versatileab     versatilepb     voiceblue
-+      versatileab     versatilepb     voiceblue       vlink
- "
- #########################################################################
-diff -Naur u-boot-1.1.4.org/Makefile u-boot-1.1.4.tmp/Makefile
---- u-boot-1.1.4.org/Makefile  2006-06-02 15:58:57.000000000 +0200
-+++ u-boot-1.1.4.tmp/Makefile  2006-06-05 04:40:45.000000000 +0200
-@@ -1419,6 +1419,9 @@
- mp2usb_config :       unconfig
-       @./mkconfig $(@:_config=) arm arm920t mp2usb NULL at91rm9200
-+vlink_config  :       unconfig
-+      @./mkconfig $(@:_config=) arm arm920t vlink NULL at91rm9200
-+
- ########################################################################
- ## ARM Integrator boards - see doc/README-integrator for more info.
diff --git a/target/linux/at91/image/u-boot/patches/003-mac_init.patch b/target/linux/at91/image/u-boot/patches/003-mac_init.patch
deleted file mode 100644 (file)
index ec5dffa..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- u-boot-1.1.4.org/lib_arm/board.c   2006-06-05 12:36:22.000000000 +0200
-+++ u-boot-1.1.4.tmp/lib_arm/board.c   2006-06-05 12:36:44.000000000 +0200
-@@ -332,6 +332,11 @@
-       }
- #endif /* CONFIG_DRIVER_SMC91111 || CONFIG_DRIVER_LAN91C96 */
-+#ifdef CONFIG_MACH_VLINK
-+      printf("Initialising MAC address\n\r");
-+      eth_init(gd->bd);
-+#endif
-+
-       /* Initialize from environment */
-       if ((s = getenv ("loadaddr")) != NULL) {
-               load_addr = simple_strtoul (s, NULL, 16);
diff --git a/target/linux/at91/image/u-boot/patches/004-mac_config.patch b/target/linux/at91/image/u-boot/patches/004-mac_config.patch
deleted file mode 100644 (file)
index 73a8260..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
---- u-boot-1.1.4.ttt/include/configs/vlink.h   2006-06-05 15:57:37.000000000 +0200
-+++ u-boot-1.1.4/include/configs/vlink.h       2006-06-07 13:11:01.000000000 +0200
-@@ -105,9 +105,9 @@
- #define CONFIG_COMMANDS               \
-                      ((CONFIG_CMD_DFL | CFG_CMD_MII |\
--                      CFG_CMD_DHCP ) & \
--                    ~(CFG_CMD_BDI | \
--                      CFG_CMD_IMI | \
-+                      CFG_CMD_DHCP | \
-+                      CFG_CMD_BDI ) & \
-+                    ~(CFG_CMD_IMI | \
-                       CFG_CMD_AUTOSCRIPT | \
-                       CFG_CMD_FPGA | \
-                       CFG_CMD_MISC | \
diff --git a/target/linux/at91/image/u-boot/patches/005-remove_float.patch b/target/linux/at91/image/u-boot/patches/005-remove_float.patch
deleted file mode 100644 (file)
index 802c963..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -urN u-boot-1.1.4.old/cpu/arm920t/config.mk u-boot-1.1.4/cpu/arm920t/config.mk
---- u-boot-1.1.4.old/cpu/arm920t/config.mk     2007-03-19 12:44:39.000000000 +0100
-+++ u-boot-1.1.4/cpu/arm920t/config.mk 2007-03-20 09:23:54.000000000 +0100
-@@ -21,8 +21,7 @@
- # MA 02111-1307 USA
- #
--PLATFORM_RELFLAGS += -fno-strict-aliasing  -fno-common -ffixed-r8 \
--      -msoft-float
-+PLATFORM_RELFLAGS += -fno-strict-aliasing  -fno-common -ffixed-r8 
- PLATFORM_CPPFLAGS += -march=armv4
- # =========================================================================
diff --git a/target/linux/at91/image/u-boot/patches/006-generate_params.patch b/target/linux/at91/image/u-boot/patches/006-generate_params.patch
deleted file mode 100644 (file)
index d4427c3..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
---- u-boot-1.1.4.old/tools/Makefile    2007-03-22 18:17:25.000000000 +0100
-+++ u-boot-1.1.4/tools/Makefile        2007-03-22 17:08:46.000000000 +0100
-@@ -21,9 +21,9 @@
- # MA 02111-1307 USA
- #
--BINS  = img2srec$(SFX) mkimage$(SFX) envcrc$(SFX) gen_eth_addr$(SFX) bmp_logo$(SFX)
-+BINS  = img2srec$(SFX) mkimage$(SFX) envcrc$(SFX) gen_eth_addr$(SFX) bmp_logo$(SFX) ubparams$(SFX)
--OBJS  = environment.o img2srec.o mkimage.o crc32.o envcrc.o gen_eth_addr.o bmp_logo.o
-+OBJS  = environment.o img2srec.o mkimage.o crc32.o envcrc.o gen_eth_addr.o bmp_logo.o ubparams.o
- ifeq ($(ARCH),mips)
- BINS   += inca-swap-bytes$(SFX)
-@@ -118,6 +118,9 @@
- all:  .depend $(BINS) $(LOGO_H) subdirs
-+ubparams$(SFX): ubparams.o crc32.o
-+              $(CC) $(CFLAGS) -o $@ $^
-+
- envcrc$(SFX): envcrc.o crc32.o environment.o
-               $(CC) $(CFLAGS) -o $@ $^
-@@ -149,6 +152,9 @@
-               $(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
-               $(STRIP) $@
-+ubparams.o: ubparams.c
-+              $(CC) -g $(CFLAGS) -c $<
-+
- envcrc.o:     envcrc.c
-               $(CC) -g $(CFLAGS) -c $<
---- u-boot-1.1.4.old/tools/ubparams.c  1970-01-01 01:00:00.000000000 +0100
-+++ u-boot-1.1.4/tools/ubparams.c      2007-03-22 18:09:52.000000000 +0100
-@@ -0,0 +1,78 @@
-+/*
-+ * ubparams.c
-+ * 
-+ * Generate a u-boot parameter block with correct crc
-+ *
-+ * (C) 1007 Guthrie Consulting
-+ * hamish@prodigi.ch
-+ *
-+ */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+
-+#ifndef __ASSEMBLY__
-+#define __ASSEMBLY__
-+#endif
-+#define __ASM_STUB_PROCESSOR_H__
-+#include <config.h>
-+#undef __ASSEMBLY__
-+#include "environment.h"
-+
-+#define XMK_STR(x)  #x
-+#define MK_STR(x)  XMK_STR(x)
-+
-+extern unsigned long crc32 (unsigned long, const unsigned char *, unsigned int);
-+
-+#if !defined(ENV_CRC)
-+#define ENV_CRC ~0
-+#endif
-+
-+unsigned int env_size = 0x8400;
-+env_t environment = {
-+      ENV_CRC,
-+      "bootdelay=3\0"
-+      "baudrate=115200\0"
-+      "stdin=serial\0"
-+      "stdout=serial\0"
-+      "stderr=serial\0"
-+      "partitions=mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data)\0"
-+      "fbargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
-+      "rdba=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
-+      "rdram=run rdba; tftp 21000000 vImage; tftp 21200000 root.squashfs; bootm 21000000\0"
-+      "flash=run fbargs; bootm 0xc0042000\0"
-+      "bootargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
-+      "bootcmd=bootm 0xc0042000\0"
-+      "ethaddr=00:30:49:00:00:01\0"
-+      "ipaddr=10.0.1.73\0"
-+      "serverip=10.0.1.210\0"
-+      "serial#=MX070205484\0"
-+      "\0"
-+      };
-+
-+int main(void) {
-+      env_t *envptr, *source;
-+      unsigned char *dataptr;
-+      FILE *params;
-+
-+      source = &environment;
-+      envptr = (env_t *)malloc(CFG_ENV_SIZE);
-+      dataptr = (unsigned char *)envptr + ENV_HEADER_SIZE;
-+
-+      printf("Make u-boot params\n");
-+      printf("Params size is %d\n", CFG_ENV_SIZE);
-+
-+      memset(envptr, 0, CFG_ENV_SIZE);
-+      memcpy(envptr, source, sizeof(environment));
-+
-+      envptr->crc = crc32(0, envptr->data, ENV_SIZE);
-+
-+      params = fopen("params", "w");
-+      fwrite(envptr, CFG_ENV_SIZE, 1, params);
-+      fclose(params);
-+
-+      free(envptr);
-+      }
-+      
-+      
diff --git a/target/linux/at91/image/u-boot/patches/007-ubparams_bugfix.patch b/target/linux/at91/image/u-boot/patches/007-ubparams_bugfix.patch
deleted file mode 100644 (file)
index 3d069e4..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- u-boot-1.1.4.old/tools/ubparams.c  2007-03-22 18:09:52.000000000 +0100
-+++ u-boot-1.1.4/tools/ubparams.c      2007-03-22 18:29:32.000000000 +0100
-@@ -18,7 +18,7 @@
- #define __ASM_STUB_PROCESSOR_H__
- #include <config.h>
- #undef __ASSEMBLY__
--#include "environment.h"
-+#include <environment.h>
- #define XMK_STR(x)  #x
- #define MK_STR(x)  XMK_STR(x)
diff --git a/target/linux/at91/image/u-boot/patches/008-ubparams_bugfix.patch b/target/linux/at91/image/u-boot/patches/008-ubparams_bugfix.patch
deleted file mode 100644 (file)
index 9a16e19..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- u-boot-1.1.4.old/tools/ubparams.c  2007-03-23 10:51:17.000000000 +0100
-+++ u-boot-1.1.4/tools/ubparams.c      2007-03-23 10:49:37.000000000 +0100
-@@ -73,6 +73,7 @@
-       fclose(params);
-       free(envptr);
-+      return 0;
-       }
-       
-       
diff --git a/target/linux/at91/image/u-boot/patches/009-mac_init_bugfix.patch b/target/linux/at91/image/u-boot/patches/009-mac_init_bugfix.patch
deleted file mode 100644 (file)
index a36ebe3..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN u-boot-1.1.4.old/lib_arm/board.c u-boot-1.1.4/lib_arm/board.c
---- u-boot-1.1.4.old/lib_arm/board.c   2007-03-23 10:53:52.000000000 +0100
-+++ u-boot-1.1.4/lib_arm/board.c       2007-03-24 13:17:12.000000000 +0100
-@@ -332,7 +332,7 @@
-       }
- #endif /* CONFIG_DRIVER_SMC91111 || CONFIG_DRIVER_LAN91C96 */
--#ifdef CONFIG_MACH_VLINK
-+#ifdef CONFIG_VLINK
-       printf("Initialising MAC address\n\r");
-       eth_init(gd->bd);
- #endif
diff --git a/target/linux/at91/image/u-boot/patches/010-irda-patch-remove.patch b/target/linux/at91/image/u-boot/patches/010-irda-patch-remove.patch
deleted file mode 100644 (file)
index 2f23f5b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- u-boot-1.1.4.old/board/vlink/vlink.c       2007-04-03 11:42:39.000000000 +0200
-+++ u-boot-1.1.4/board/vlink/vlink.c   2007-04-03 11:48:33.000000000 +0200
-@@ -40,10 +40,6 @@
-       /* Enable Ctrlc */
-       console_init_f ();
--      /* Correct IRDA resistor problem */
--      /* Set PA23_TXD in Output */
--      (AT91PS_PIO) AT91C_BASE_PIOA->PIO_OER = AT91C_PA23_TXD2;
--
-       /* memory and cpu-speed are setup before relocation */
-       /* so we do _nothing_ here */
diff --git a/target/linux/at91/image/u-boot/patches/011-ubparams_update.patch b/target/linux/at91/image/u-boot/patches/011-ubparams_update.patch
deleted file mode 100644 (file)
index de02cc8..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -urN u-boot-1.1.4.old/tools/ubparams.c u-boot-1.1.4/tools/ubparams.c
---- u-boot-1.1.4.old/tools/ubparams.c  2007-05-01 13:20:17.000000000 +0200
-+++ u-boot-1.1.4/tools/ubparams.c      2007-05-04 10:13:34.000000000 +0200
-@@ -37,12 +37,11 @@
-       "stdin=serial\0"
-       "stdout=serial\0"
-       "stderr=serial\0"
--      "partitions=mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data)\0"
--      "fbargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
--      "rdba=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
-+      "fbargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
-+      "rdba=setenv bootargs root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
-       "rdram=run rdba; tftp 21000000 vImage; tftp 21200000 root.squashfs; bootm 21000000\0"
-       "flash=run fbargs; bootm 0xc0042000\0"
--      "bootargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
-+      "bootargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
-       "bootcmd=bootm 0xc0042000\0"
-       "ethaddr=00:30:49:00:00:01\0"
-       "ipaddr=10.0.1.73\0"
diff --git a/target/linux/at91/image/u-boot/patches/012-make_3.81.patch b/target/linux/at91/image/u-boot/patches/012-make_3.81.patch
deleted file mode 100644 (file)
index 767493f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -urN u-boot-1.1.4.orig/examples/Makefile u-boot-1.1.4/examples/Makefile
---- u-boot-1.1.4.orig/examples/Makefile        2007-05-13 13:45:44.000000000 +0200
-+++ u-boot-1.1.4/examples/Makefile     2007-05-13 13:48:43.000000000 +0200
-@@ -123,10 +123,10 @@
-       $(LD) -g $(EX_LDFLAGS) -Ttext $(LOAD_ADDR) \
-               -o $@ -e $(<:.o=) $< $(LIB) \
-               -L$(gcclibdir) -lgcc
--%.srec:       %
-+%.srec:       %.o
-       $(OBJCOPY) -O srec $< $@ 2>/dev/null
--%.bin:        %
-+%.bin:        %.o
-       $(OBJCOPY) -O binary $< $@ 2>/dev/null
- #########################################################################
diff --git a/target/linux/at91/image/u-boot/patches/013-params-in-config.patch b/target/linux/at91/image/u-boot/patches/013-params-in-config.patch
deleted file mode 100644 (file)
index 5f42209..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- u-boot-1.1.4.old/tools/Makefile    2007-06-13 13:35:59.000000000 +0200
-+++ u-boot-1.1.4/tools/Makefile        2007-06-14 15:33:04.000000000 +0200
-@@ -153,7 +153,7 @@
-               $(STRIP) $@
- ubparams.o: ubparams.c
--              $(CC) -g $(CFLAGS) -c $<
-+              $(CC) -g $(CFLAGS) -DLAN_IP=$(LAN_IP) -DLAN_SERVERIP=$(LAN_SERVERIP) -c $<
- envcrc.o:     envcrc.c
-               $(CC) -g $(CFLAGS) -c $<
---- u-boot-1.1.4.old/tools/ubparams.c  2007-06-13 13:35:59.000000000 +0200
-+++ u-boot-1.1.4/tools/ubparams.c      2007-06-14 15:31:55.000000000 +0200
-@@ -44,8 +44,8 @@
-       "bootargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
-       "bootcmd=bootm 0xc0042000\0"
-       "ethaddr=00:30:49:00:00:01\0"
--      "ipaddr=10.0.1.73\0"
--      "serverip=10.0.1.210\0"
-+      "ipaddr=" MK_STR(LAN_IP) "\0"
-+      "serverip=" MK_STR(LAN_SERVERIP) "\0"
-       "serial#=MX070205484\0"
-       "\0"
-       };
diff --git a/target/linux/at91/image/u-boot/patches/014-ubparam-kernel.patch b/target/linux/at91/image/u-boot/patches/014-ubparam-kernel.patch
deleted file mode 100644 (file)
index 26f0347..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- u-boot-1.1.4.old/tools/ubparams.c  2007-06-19 14:24:39.000000000 +0200
-+++ u-boot-1.1.4/tools/ubparams.c      2007-06-19 14:25:05.000000000 +0200
-@@ -39,7 +39,7 @@
-       "stderr=serial\0"
-       "fbargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
-       "rdba=setenv bootargs root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
--      "rdram=run rdba; tftp 21000000 vImage; tftp 21200000 root.squashfs; bootm 21000000\0"
-+      "rdram=run rdba; tftp 21000000 uImage; tftp 21200000 root.squashfs; bootm 21000000\0"
-       "flash=run fbargs; bootm 0xc0042000\0"
-       "bootargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
-       "bootcmd=bootm 0xc0042000\0"
diff --git a/target/linux/at91/image/u-boot/patches/015-eabi_fixes.patch b/target/linux/at91/image/u-boot/patches/015-eabi_fixes.patch
deleted file mode 100644 (file)
index ec94a4b..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-Index: git/lib_arm/div0.c
-===================================================================
---- git.orig/lib_arm/div0.c
-+++ git/lib_arm/div0.c
-@@ -22,9 +22,3 @@
-  */
- /* Replacement (=dummy) for GNU/Linux division-by zero handler */
--void __div0 (void)
--{
--      extern void hang (void);
--
--      hang();
--}
-Index: git/Makefile
-===================================================================
---- git.orig/Makefile
-+++ git/Makefile
-@@ -225,7 +225,7 @@ LIBS := $(addprefix $(obj),$(LIBS))
- .PHONY : $(LIBS)
- # Add GCC lib
--PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
-+PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc -lgcc_eh
- # The "tools" are needed early, so put this first
- # Don't include stuff already done in $(LIBS)
---- a/board/vlink/vlink.c      2009-10-29 16:40:33.000000000 +0100
-+++ b/board/vlink/vlink.c      2009-10-29 16:43:27.000000000 +0100
-@@ -33,6 +33,9 @@
-  * Miscelaneous platform dependent initialisations
-  */
-+void raise() {}
-+void abort() {}
-+
- int board_init (void)
- {
-       DECLARE_GLOBAL_DATA_PTR;
---- a/board/vlink/u-boot.lds   2009-10-29 16:40:33.000000000 +0100
-+++ b/board/vlink/u-boot.lds   2009-10-29 16:43:57.000000000 +0100
-@@ -38,6 +38,10 @@
-       . = ALIGN(4);
-       .rodata : { *(.rodata) }
-+      .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
-+      __exidx_start = .;
-+      .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
-+      __exidx_end = .;
-       . = ALIGN(4);
-       .data : { *(.data) }
diff --git a/target/linux/at91/image/u-boot/patches/100-netusg20.patch b/target/linux/at91/image/u-boot/patches/100-netusg20.patch
new file mode 100644 (file)
index 0000000..127372e
--- /dev/null
@@ -0,0 +1,574 @@
+Add support for the NetusG20 board by Acmesystems srl.
+This board is based on AT91SAM9G20 SoC.
+
+Signed-off-by: Claudio Mignanti <c.mignanti@gmail.com>
+---
+ MAKEALL                                           |    1 +
+ Makefile                                          |    3 +
+ arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c |    5 +
+ board/acmesystems/netusg20/Makefile               |   56 +++++++
+ board/acmesystems/netusg20/config.mk              |    1 +
+ board/acmesystems/netusg20/led.c                  |   40 +++++
+ board/acmesystems/netusg20/netusg20.c             |  152 +++++++++++++++++
+ board/acmesystems/netusg20/partition.c            |   39 +++++
+ include/configs/netusg20.h                        |  181 +++++++++++++++++++++
+ 9 files changed, 478 insertions(+), 0 deletions(-)
+ create mode 100644 board/acmesystems/netusg20/Makefile
+ create mode 100644 board/acmesystems/netusg20/config.mk
+ create mode 100644 board/acmesystems/netusg20/led.c
+ create mode 100644 board/acmesystems/netusg20/netusg20.c
+ create mode 100644 board/acmesystems/netusg20/partition.c
+ create mode 100644 include/configs/netusg20.h
+
+diff --git a/MAKEALL b/MAKEALL
+index d6d5f5b..60e36e1 100755
+--- a/MAKEALL
++++ b/MAKEALL
+@@ -684,6 +684,7 @@ LIST_at91="                        \
+       meesc                   \
+       mp2usb                  \
+       m501sk                  \
++      netusg20                \
+       otc570                  \
+       pm9261                  \
+       pm9263                  \
+diff --git a/Makefile b/Makefile
+index 87d5214..b73659f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2867,6 +2867,9 @@ at91sam9g45ekes_config   :       unconfig
+       fi;
+       @$(MKCONFIG) -a at91sam9m10g45ek arm arm926ejs at91sam9m10g45ek atmel at91
++netusg20_config:      unconfig
++      @$(MKCONFIG) $(@:_config=) arm arm926ejs netusg20 acmesystems at91
++
+ otc570_config :       unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm926ejs otc570 esd at91
+diff --git a/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c b/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c
+index 77d49ab..87ec531 100644
+--- a/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c
++++ b/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c
+@@ -59,7 +59,12 @@ void at91_serial3_hw_init(void)
+ {
+       at91_pmc_t      *pmc    = (at91_pmc_t *) AT91_PMC_BASE;
++#ifdef CONFIG_NETUSG20
++      /* pull-up active on DRXD*/
++      at91_set_a_periph(AT91_PIO_PORTB, 14, 1);
++#else
+       at91_set_a_periph(AT91_PIO_PORTB, 14, 0);               /* DRXD */
++#endif
+       at91_set_a_periph(AT91_PIO_PORTB, 15, 1);               /* DTXD */
+       writel(1 << AT91_ID_SYS, &pmc->pcer);
+ }
+diff --git a/board/acmesystems/netusg20/Makefile b/board/acmesystems/netusg20/Makefile
+new file mode 100644
+index 0000000..31589fd
+--- /dev/null
++++ b/board/acmesystems/netusg20/Makefile
+@@ -0,0 +1,56 @@
++#
++# (C) Copyright 2003-2008
++# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
++#
++# (C) Copyright 2008
++# Stelian Pop <stelian.pop@leadtechdesign.com>
++# Lead Tech Design <www.leadtechdesign.com>
++#
++# See file CREDITS for list of people who contributed to this
++# project.
++#
++# This program is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License as
++# published by the Free Software Foundation; either version 2 of
++# the License, or (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++# MA 02111-1307 USA
++#
++
++include $(TOPDIR)/config.mk
++
++LIB   = $(obj)lib$(BOARD).a
++
++COBJS-y       += netusg20.o
++COBJS-y       += led.o
++COBJS-y       += partition.o
++
++SRCS  := $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
++OBJS  := $(addprefix $(obj),$(COBJS-y))
++SOBJS := $(addprefix $(obj),$(SOBJS))
++
++$(LIB):       $(obj).depend $(OBJS) $(SOBJS)
++      $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
++
++clean:
++      rm -f $(SOBJS) $(OBJS)
++
++distclean:    clean
++      rm -f $(LIB) core *.bak $(obj).depend
++
++#########################################################################
++
++# defines $(obj).depend target
++include $(SRCTREE)/rules.mk
++
++sinclude $(obj).depend
++
++#########################################################################
+diff --git a/board/acmesystems/netusg20/config.mk b/board/acmesystems/netusg20/config.mk
+new file mode 100644
+index 0000000..ff2cfd1
+--- /dev/null
++++ b/board/acmesystems/netusg20/config.mk
+@@ -0,0 +1 @@
++TEXT_BASE = 0x23f00000
+diff --git a/board/acmesystems/netusg20/led.c b/board/acmesystems/netusg20/led.c
+new file mode 100644
+index 0000000..1016b98
+--- /dev/null
++++ b/board/acmesystems/netusg20/led.c
+@@ -0,0 +1,40 @@
++/*
++ * (C) Copyright 2007-2008
++ * Stelian Pop <stelian.pop@leadtechdesign.com>
++ * Lead Tech Design <www.leadtechdesign.com>
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++#include <asm/arch/at91sam9260.h>
++#include <asm/arch/at91_pmc.h>
++#include <asm/arch/gpio.h>
++#include <asm/arch/io.h>
++
++
++void coloured_LED_init(void)
++{
++      /* Enable clock */
++      at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_PIOA);
++
++      at91_set_gpio_output(CONFIG_RED_LED, 1);
++
++      at91_set_gpio_value(CONFIG_RED_LED, 1);
++}
+diff --git a/board/acmesystems/netusg20/netusg20.c b/board/acmesystems/netusg20/netusg20.c
+new file mode 100644
+index 0000000..94b4d4c
+--- /dev/null
++++ b/board/acmesystems/netusg20/netusg20.c
+@@ -0,0 +1,152 @@
++/*
++ * (C) Copyright 2007-2008
++ * Stelian Pop <stelian.pop@leadtechdesign.com>
++ * Lead Tech Design <www.leadtechdesign.com>
++ *
++ * (C) Copyright 2010
++ * Claudio Mignanti <c.mignanti@gmail.com>
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++#include <asm/arch/at91sam9260.h>
++#include <asm/arch/at91sam9260_matrix.h>
++#include <asm/arch/at91sam9_smc.h>
++#include <asm/arch/at91_common.h>
++#include <asm/arch/at91_pmc.h>
++#include <asm/arch/at91_rstc.h>
++#include <asm/arch/gpio.h>
++#include <asm/arch/io.h>
++#include <asm/arch/hardware.h>
++#if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
++#include <net.h>
++#endif
++#include <netdev.h>
++
++DECLARE_GLOBAL_DATA_PTR;
++
++/* ------------------------------------------------------------------------- */
++/*
++ * Miscelaneous platform dependent initialisations
++ */
++
++#ifdef CONFIG_MACB
++static void at91sam9260ek_macb_hw_init(void)
++{
++      unsigned long rstc;
++
++      /* Enable clock */
++      at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_EMAC);
++
++      /*
++       * Disable pull-up on:
++       *      RXDV (PA17) => PHY normal mode (not Test mode)
++       *      ERX0 (PA14) => PHY ADDR0
++       *      ERX1 (PA15) => PHY ADDR1
++       *      ERX2 (PA25) => PHY ADDR2
++       *      ERX3 (PA26) => PHY ADDR3
++       *      ECRS (PA28) => PHY ADDR4  => PHYADDR = 0x0
++       *
++       * PHY has internal pull-down
++       */
++      writel(pin_to_mask(AT91_PIN_PA14) |
++             pin_to_mask(AT91_PIN_PA15) |
++             pin_to_mask(AT91_PIN_PA17) |
++             pin_to_mask(AT91_PIN_PA25) |
++             pin_to_mask(AT91_PIN_PA26) |
++             pin_to_mask(AT91_PIN_PA28),
++             pin_to_controller(AT91_PIN_PA0) + PIO_PUDR);
++
++      rstc = at91_sys_read(AT91_RSTC_MR) & AT91_RSTC_ERSTL;
++
++      at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_EXTRST);
++
++      /* Wait for end hardware reset */
++      while (!(at91_sys_read(AT91_RSTC_SR) & AT91_RSTC_NRSTL));
++
++      /* Restore NRST value */
++      at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY |
++                                   (rstc) |
++                                   AT91_RSTC_URSTEN);
++
++      /* Re-enable pull-up */
++      writel(pin_to_mask(AT91_PIN_PA14) |
++             pin_to_mask(AT91_PIN_PA15) |
++             pin_to_mask(AT91_PIN_PA17) |
++             pin_to_mask(AT91_PIN_PA25) |
++             pin_to_mask(AT91_PIN_PA26) |
++             pin_to_mask(AT91_PIN_PA28),
++             pin_to_controller(AT91_PIN_PA0) + PIO_PUER);
++
++      at91_macb_hw_init();
++}
++#endif
++
++int board_init(void)
++{
++      /* Enable Ctrlc */
++      console_init_f();
++
++      gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9G20EK;
++
++      /* adress of boot parameters */
++      gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
++
++      at91_serial_hw_init();
++#ifdef CONFIG_HAS_DATAFLASH
++      at91_spi0_hw_init((1 << 0) | (1 << 1));
++#endif
++#ifdef CONFIG_MACB
++      at91sam9260ek_macb_hw_init();
++#endif
++
++      return 0;
++}
++
++int dram_init(void)
++{
++      gd->bd->bi_dram[0].start = PHYS_SDRAM;
++      gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE;
++      return 0;
++}
++
++#ifdef CONFIG_RESET_PHY_R
++void reset_phy(void)
++{
++#ifdef CONFIG_MACB
++      /*
++       * Initialize ethernet HW addr prior to starting Linux,
++       * needed for nfsroot
++       */
++      eth_init(gd->bd);
++#endif
++}
++#endif
++
++int board_eth_init(bd_t *bis)
++{
++      int rc = 0;
++#ifdef CONFIG_MACB
++      rc = macb_eth_initialize(0, (void *)AT91SAM9260_BASE_EMAC, 0x00);
++#endif
++      return rc;
++}
++
++void show_boot_progress (int val){}
+diff --git a/board/acmesystems/netusg20/partition.c b/board/acmesystems/netusg20/partition.c
+new file mode 100644
+index 0000000..7d79e53
+--- /dev/null
++++ b/board/acmesystems/netusg20/partition.c
+@@ -0,0 +1,39 @@
++/*
++ * (C) Copyright 2008
++ * Ulf Samuelsson <ulf@atmel.com>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ *
++ */
++#include <common.h>
++#include <config.h>
++#include <asm/hardware.h>
++#include <dataflash.h>
++
++AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
++
++struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
++      {CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1, 1}
++};
++
++/*define the area offsets*/
++dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
++      {0x00000000, 0x000041FF, FLAG_PROTECT_SET,   0, "Bootstrap"},
++      {0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
++      {0x00008400, 0x00041FFF, FLAG_PROTECT_SET,   0, "U-Boot"},
++      {0x00042000, 0x00251FFF, FLAG_PROTECT_CLEAR, 0, "Kernel"},
++      {0x00252000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0, "FS"},
++};
+diff --git a/include/configs/netusg20.h b/include/configs/netusg20.h
+new file mode 100644
+index 0000000..99b4f12
+--- /dev/null
++++ b/include/configs/netusg20.h
+@@ -0,0 +1,181 @@
++/*
++ * (C) Copyright 2007-2008
++ * Stelian Pop <stelian.pop@leadtechdesign.com>
++ * Lead Tech Design <www.leadtechdesign.com>
++ *
++ * Configuation settings for the NetusG20 boards.
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License as
++ * published by the Free Software Foundation; either version 2 of
++ * the License, or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#ifndef __CONFIG_H
++#define __CONFIG_H
++
++#define CONFIG_AT91_LEGACY
++
++/* ARM asynchronous clock */
++#define CONFIG_SYS_AT91_MAIN_CLOCK    18432000        /* 18.432 MHz crystal */
++#define CONFIG_SYS_HZ         1000
++
++#define CONFIG_DISPLAY_CPUINFO
++
++#define CONFIG_ARM926EJS      1       /* This is an ARM926EJS Core    */
++#define CONFIG_AT91SAM9G20    1       /* It's an Atmel AT91SAM9G20 SoC*/
++#define CONFIG_NETUSG20       1
++
++#define CONFIG_ARCH_CPU_INIT
++#undef CONFIG_USE_IRQ                 /* we don't need IRQ/FIQ stuff  */
++
++#define CONFIG_CMDLINE_TAG    1       /* enable passing of ATAGs      */
++#define CONFIG_SETUP_MEMORY_TAGS 1
++#define CONFIG_INITRD_TAG     1
++
++#define CONFIG_SKIP_LOWLEVEL_INIT
++#define CONFIG_SKIP_RELOCATE_UBOOT
++
++/*
++ * Hardware drivers
++ */
++#define CONFIG_AT91_GPIO      1
++#define CONFIG_ATMEL_USART    1
++#undef CONFIG_USART0
++#undef CONFIG_USART1
++#undef CONFIG_USART2
++#define CONFIG_USART3         1       /* USART 3 is DBGU */
++
++/* LED */
++#define CONFIG_AT91_LED
++#define       CONFIG_RED_LED          AT91_PIN_PA9    /* this is the power led */
++#define       CONFIG_GREEN_LED        AT91_PIN_PA6    /* this is the user led */
++
++#define CONFIG_BOOTDELAY      3
++
++/*
++ * BOOTP options
++ */
++#define CONFIG_BOOTP_BOOTFILESIZE     1
++#define CONFIG_BOOTP_BOOTPATH         1
++#define CONFIG_BOOTP_GATEWAY          1
++#define CONFIG_BOOTP_HOSTNAME         1
++
++/*
++ * Command line configuration.
++ */
++#include <config_cmd_default.h>
++#undef CONFIG_CMD_BDI
++#undef CONFIG_CMD_FPGA
++#undef CONFIG_CMD_IMI
++#undef CONFIG_CMD_IMLS
++#undef CONFIG_CMD_LOADS
++#undef CONFIG_CMD_SOURCE
++
++#define CONFIG_CMD_PING               1
++#define CONFIG_CMD_DHCP               1
++#define CONFIG_CMD_USB                1
++
++/* SDRAM */
++#define CONFIG_NR_DRAM_BANKS          1
++#define PHYS_SDRAM                    0x20000000
++#define PHYS_SDRAM_SIZE                       0x04000000      /* 64 megs */
++
++/* DataFlash */
++#define CONFIG_ATMEL_DATAFLASH_SPI
++#define CONFIG_HAS_DATAFLASH          1
++#define CONFIG_SYS_SPI_WRITE_TOUT             (5*CONFIG_SYS_HZ)
++#define CONFIG_SYS_MAX_DATAFLASH_BANKS                1
++#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1   0xD0000000      /* CS1 */
++#define AT91_SPI_CLK                  15000000
++
++#define DATAFLASH_TCSS                        (0x22 << 16)
++#define DATAFLASH_TCHS                        (0x1 << 24)
++
++/* no NAND flash on this board*/
++#define CONFIG_SYS_NO_FLASH
++
++/* Ethernet */
++#define CONFIG_MACB                   1
++#define CONFIG_RMII                   1
++#define CONFIG_NET_MULTI              1
++#define CONFIG_NET_RETRY_COUNT                20
++#define CONFIG_RESET_PHY_R            1
++
++/* MMC */
++#define CONFIG_MMC
++#define CONFIG_CMD_MMC
++#define CONFIG_ATMEL_MCI
++#define CONFIG_CMD_AUTOSCRIPT
++#define CONFIG_CMD_IMI
++#define CONFIG_CMD_SOURCE
++
++#define MMCI_BASE                                             0xFFFA8000
++
++/* USB */
++#define CONFIG_USB_ATMEL
++#define CONFIG_USB_OHCI_NEW           1
++#define CONFIG_DOS_PARTITION          1
++#define CONFIG_SYS_USB_OHCI_CPU_INIT          1
++#define CONFIG_SYS_USB_OHCI_REGS_BASE         0x00500000      /* AT91SAM9260_UHP_BASE */
++#define CONFIG_SYS_USB_OHCI_SLOT_NAME         "at91sam9260"
++#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS    2
++#define CONFIG_USB_STORAGE            1
++
++#define CONFIG_SYS_LOAD_ADDR                  0x22000000      /* load address */
++
++#define CONFIG_SYS_MEMTEST_START              PHYS_SDRAM
++#define CONFIG_SYS_MEMTEST_END                        0x23e00000
++
++/* Filesystem */
++#define CONFIG_CMD_FAT                1
++#define CONFIG_CMD_EXT2               1
++
++/* bootstrap + u-boot + env + linux in dataflash on CS1 */
++#define CONFIG_ENV_IS_IN_DATAFLASH    1
++#define CONFIG_SYS_MONITOR_BASE       (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + 0x8400)
++#define CONFIG_ENV_OFFSET             0x4200
++#define CONFIG_ENV_ADDR               (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + CONFIG_ENV_OFFSET)
++#define CONFIG_ENV_SIZE               0x4200
++#define CONFIG_BOOTCOMMAND    "mmc init; sleep 1; " \
++                            "ext2load mmc 0 0x20000000 uImage; " \
++                            "source 0x20000000"
++#define CONFIG_BOOTARGS               "mem=64M console=ttyS0,115200 " \
++                            "root=/dev/mmcblk0p1 rootwait"
++
++#define CONFIG_BAUDRATE               115200
++#define CONFIG_SYS_BAUDRATE_TABLE     {115200 , 19200, 38400, 57600, 9600 }
++
++#define CONFIG_SYS_PROMPT             "U-Boot> "
++#define CONFIG_SYS_CBSIZE             256
++#define CONFIG_SYS_MAXARGS            16
++#define CONFIG_SYS_PBSIZE             (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
++#define CONFIG_SYS_LONGHELP           1
++#define CONFIG_CMDLINE_EDITING        1
++
++/*
++ * Size of malloc() pool
++ */
++#define CONFIG_SYS_MALLOC_LEN         ROUND(3 * CONFIG_ENV_SIZE + 128*1024, 0x1000)
++#define CONFIG_SYS_GBL_DATA_SIZE      128     /* 128 bytes for initial data */
++
++#define CONFIG_STACKSIZE      (32*1024)       /* regular stack */
++
++#ifdef CONFIG_USE_IRQ
++#error CONFIG_USE_IRQ not supported
++#endif
++
++#endif
+-- 
+1.7.0.4
+
+
diff --git a/target/linux/at91/image/u-boot/patches/200-clock.patch b/target/linux/at91/image/u-boot/patches/200-clock.patch
new file mode 100644 (file)
index 0000000..fbfb641
--- /dev/null
@@ -0,0 +1,24 @@
+The function get_mci_clk_rate is used inside atmel_mci driver
+but never defined. Fix this typo.
+
+Signed-off-by: Claudio Mignanti <c.mignanti@gmail.com>
+---
+ drivers/mmc/atmel_mci.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/mmc/atmel_mci.c b/drivers/mmc/atmel_mci.c
+index 3946ffe..628aac9 100644
+--- a/drivers/mmc/atmel_mci.c
++++ b/drivers/mmc/atmel_mci.c
+@@ -67,7 +67,7 @@ static void mci_set_mode(unsigned long hz, unsigned long blklen)
+       unsigned long bus_hz;
+       unsigned long clkdiv;
+-      bus_hz = get_mci_clk_rate();
++      bus_hz = get_mck_clk_rate();
+       clkdiv = (bus_hz / hz) / 2 - 1;
+       pr_debug("mmc: setting clock %lu Hz, block size %lu\n",
+-- 
+1.7.0.4
+