Merge git://www.denx.de/git/u-boot
authorMichal Simek <monstr@monstr.eu>
Mon, 7 May 2007 22:32:35 +0000 (00:32 +0200)
committerMichal Simek <monstr@monstr.eu>
Mon, 7 May 2007 22:32:35 +0000 (00:32 +0200)
Conflicts:

include/asm-microblaze/microblaze_intc.h
include/linux/stat.h

1  2 
README
common/Makefile
cpu/microblaze/start.S
include/configs/xupv2p.h
include/linux/stat.h

diff --combined README
index 33039f1d9cab682cb42faf93c831cc932eeae447,90ef2c2eba66be9d011c84f34ca44cc637b76095..bb5b46e33791c787cf492deac85c45a0a7142214
--- 1/README
--- 2/README
+++ b/README
@@@ -164,6 -164,7 +164,7 @@@ Directory Hierarchy
  - lib_mips    Files generic to MIPS    architecture
  - lib_nios    Files generic to NIOS    architecture
  - lib_ppc     Files generic to PowerPC architecture
+ - libfdt      Library files to support flattened device trees
  - net         Networking code
  - post                Power On Self Test
  - rtc         Real Time Clock drivers
@@@ -430,12 -431,23 +431,23 @@@ The following options need to be config
                expect it to be in bytes, others in MB.
                Define CONFIG_MEMSIZE_IN_BYTES to make it in bytes.
  
-               CONFIG_OF_FLAT_TREE
+               CONFIG_OF_LIBFDT / CONFIG_OF_FLAT_TREE
  
                New kernel versions are expecting firmware settings to be
-               passed using flat open firmware trees.
-               The environment variable "disable_of", when set, disables this
-               functionality.
+               passed using flattened device trees (based on open firmware
+               concepts).
+               CONFIG_OF_LIBFDT
+                * New libfdt-based support
+                * Adds the "fdt" command
+                * The bootm command does _not_ modify the fdt
+               CONFIG_OF_FLAT_TREE
+                * Deprecated, see CONFIG_OF_LIBFDT
+                * Original ft_build.c-based support
+                * Automatically modifies the dft as part of the bootm command
+                * The environment variable "disable_of", when set,
+                    disables this functionality.
  
                CONFIG_OF_FLAT_TREE_MAX_SIZE
  
  
                CONFIG_OF_HAS_BD_T
  
-               The resulting flat device tree will have a copy of the bd_t.
-               Space should be pre-allocated in the dts for the bd_t.
+                * CONFIG_OF_LIBFDT - enables the "fdt bd_t" command
+                * CONFIG_OF_FLAT_TREE - The resulting flat device tree
+                    will have a copy of the bd_t.  Space should be
+                    pre-allocated in the dts for the bd_t.
  
                CONFIG_OF_HAS_UBOOT_ENV
  
-               The resulting flat device tree will have a copy of u-boot's
-               environment variables
+                * CONFIG_OF_LIBFDT - enables the "fdt bd_t" command
+                * CONFIG_OF_FLAT_TREE - The resulting flat device tree
+                    will have a copy of u-boot's environment variables
  
                CONFIG_OF_BOARD_SETUP
  
                CFG_CMD_VFD     * VFD support (TRAB)
                CFG_CMD_BSP     * Board SPecific functions
                CFG_CMD_CDP     * Cisco Discover Protocol support
 +              CFG_CMD_FSL     * Microblaze FSL support
                -----------------------------------------------
                CFG_CMD_ALL     all
  
  
                #define CONFIG_COMMANDS (CFG_CMD_ALL & ~CFG_CMD_NET)
  
+       Other Commands:
+               fdt (flattened device tree) command: CONFIG_OF_LIBFDT
  
        Note:   Don't enable the "icache" and "dcache" commands
                (configuration option CFG_CMD_CACHE) unless you know
@@@ -2382,17 -2398,17 +2399,17 @@@ configurations; the following names ar
        csb272_config           lwmon_config            sbc8260_config
        CU824_config            MBX860T_config          sbc8560_33_config
        DUET_ADS_config         MBX_config              sbc8560_66_config
-       EBONY_config            MPC8260ADS_config       SM850_config
-       ELPT860_config          MPC8540ADS_config       SPD823TS_config
-       ESTEEM192E_config       MPC8540EVAL_config      stxgp3_config
-       ETX094_config           MPC8560ADS_config       SXNI855T_config
-       FADS823_config          NETVIA_config           TQM823L_config
-       FADS850SAR_config       omap1510inn_config      TQM850L_config
-       FADS860T_config         omap1610h2_config       TQM855L_config
-       FPS850L_config          omap1610inn_config      TQM860L_config
-                               omap5912osk_config      walnut_config
-                               omap2420h4_config       Yukon8220_config
-                                                       ZPC1900_config
+       EBONY_config            mpc7448hpc2_config      SM850_config
+       ELPT860_config          MPC8260ADS_config       SPD823TS_config
+       ESTEEM192E_config       MPC8540ADS_config       stxgp3_config
+       ETX094_config           MPC8540EVAL_config      SXNI855T_config
+       FADS823_config          NMPC8560ADS_config      TQM823L_config
+       FADS850SAR_config       NETVIA_config           TQM850L_config
+       FADS860T_config         omap1510inn_config      TQM855L_config
+       FPS850L_config          omap1610h2_config       TQM860L_config
+                               omap1610inn_config      walnut_config
+                               omap5912osk_config      Yukon8220_config
+                               omap2420h4_config       ZPC1900_config
  
  Note: for some board special configuration names may exist; check if
        additional information is available from the board vendor; for
diff --combined common/Makefile
index c088821a57d95b821d47dbeeddec773f14391059,5dfd3a84a2492339fc810d1714edf4b9a452d052..bc1f7145056ef618e783a6f955b15922a2af9468
@@@ -32,7 -32,7 +32,7 @@@ COBJS = main.o ACEX1K.o altera.o bedbug
          cmd_cache.o cmd_console.o \
          cmd_date.o cmd_dcr.o cmd_diag.o cmd_display.o cmd_doc.o cmd_dtt.o \
          cmd_eeprom.o cmd_elf.o cmd_ext2.o \
-         cmd_fat.o cmd_fdc.o cmd_fdos.o cmd_flash.o cmd_fpga.o \
+         cmd_fat.o cmd_fdc.o cmd_fdt.o cmd_fdos.o cmd_flash.o cmd_fpga.o \
          cmd_i2c.o cmd_ide.o cmd_immap.o cmd_itest.o cmd_jffs2.o \
          cmd_load.o cmd_log.o \
          cmd_mem.o cmd_mii.o cmd_misc.o cmd_mmc.o \
          env_nand.o env_dataflash.o env_flash.o env_eeprom.o \
          env_nvram.o env_nowhere.o \
          exports.o \
-         flash.o fpga.o ft_build.o \
+         fdt_support.o flash.o fpga.o ft_build.o \
          hush.o kgdb.o lcd.o lists.o lynxkdi.o \
          memsize.o miiphybb.o miiphyutil.o \
          s_record.o serial.o soft_i2c.o soft_spi.o spartan2.o spartan3.o \
          usb.o usb_kbd.o usb_storage.o \
 -        virtex2.o xilinx.o crc16.o xyzModem.o cmd_mac.o
 +        virtex2.o xilinx.o crc16.o xyzModem.o cmd_mac.o cmd_mfsl.o
  
  SRCS  := $(AOBJS:.o=.S) $(COBJS:.o=.c)
  OBJS  := $(addprefix $(obj),$(AOBJS) $(COBJS))
diff --combined cpu/microblaze/start.S
index 453815818d099e306fc57a414ff100fe936c5603,ca3befc24e8ef868432bcf72b5f6b9064dd118d5..3c027ff9bb1c21eced03fa62e606d5c1f624ba70
@@@ -54,7 -54,7 +54,7 @@@ _start
        lhu     r7, r1, r0
        shi     r7, r0, 0x2
        shi     r6, r0, 0x6
- /* 
+ /*
   * Copy U-Boot code to TEXT_BASE
   * solve problem with sbrk_base
   */
@@@ -117,36 -117,3 +117,36 @@@ clear_bss
  3:    /* jumping to board_init */
        brai    board_init
  1:    bri     1b
 +
 +/*
 + * Read 16bit little endian
 + */
 +      .text
 +      .global in16
 +      .ent    in16
 +      .align  2
 +in16: lhu     r3, r0, r5
 +      bslli   r4, r3, 8
 +      bsrli   r3, r3, 8
 +      andi    r4, r4, 0xffff
 +      or      r3, r3, r4
 +      rtsd    r15, 8
 +      sext16  r3, r3
 +      .end    in16
 +
 +/*
 + * Write 16bit little endian
 + * first parameter(r5) - address, second(r6) - short value
 + */
 +      .text
 +      .global out16
 +      .ent    out16
 +      .align  2
 +out16:        bslli   r3, r6, 8
 +      bsrli   r6, r6, 8
 +      andi    r3, r3, 0xffff
 +      or      r3, r3, r6
 +      sh      r3, r0, r5
 +      rtsd    r15, 8
 +      or      r0, r0, r0
 +      .end    out16
diff --combined include/configs/xupv2p.h
index c89ef7ce5c14991eda9cee58e210bcba9717a0f2,a2f48102f0ca676d9a06f51e47e2618df6b111e0..b4c720d18b55f3ec507c1558b07f0e9aabc00373
@@@ -41,7 -41,7 +41,7 @@@
  
  /*
   * setting reset address
-  * 
+  *
   * TEXT_BASE is set to place, where the U-BOOT run in RAM, but
   * if you want to store U-BOOT in flash, set CFG_RESET_ADDRESS
   * to FLASH memory and after loading bitstream jump to FLASH.
                        CFG_CMD_LOADS |\
                        CFG_CMD_LOADB |\
                        CFG_CMD_MISC |\
 +                      CFG_CMD_FAT |\
 +                      CFG_CMD_EXT2 |\
                        CFG_CMD_PING \
                        )
  
        "base 0;" \
        "echo"
  
 -
  /* system ace */
 -/*#define     CONFIG_SYSTEMACE
 -#define       DEBUG_SYSTEMACE
 -#define       CFG_SYSTEMACE_BASE      0xCF000000
 -#define       CFG_SYSTEMACE_WIDTH     16
 -#define       CONFIG_DOS_PARTITION*/
 +#define       CONFIG_SYSTEMACE
 +/* #define DEBUG_SYSTEMACE */
 +#define       SYSTEMACE_CONFIG_FPGA
 +#define       CFG_SYSTEMACE_BASE      XILINX_SYSACE_BASEADDR
 +#define       CFG_SYSTEMACE_WIDTH     XILINX_SYSACE_MEM_WIDTH
 +#define       CONFIG_DOS_PARTITION
  
  #endif        /* __CONFIG_H */
diff --combined include/linux/stat.h
index 39386f1220a03ff604e11eba30f36fb614b2cdeb,43fd53fc98cf8b5644c49b3c7cc5235278aa0365..37f2924df18881bf6569c21607cc9d19518f794a
@@@ -7,7 -7,7 +7,7 @@@
  extern "C" {
  #endif
  
- #define S_IFMT  00170000      /* type of file */
+ #define S_IFMT        00170000        /* type of file */
  #define S_IFSOCK 0140000      /* named socket */
  #define S_IFLNK        0120000        /* symbolic link */
  #define S_IFREG  0100000      /* regular */
@@@ -49,26 -49,25 +49,26 @@@ struct stat 
        ino_t           st_ino;         /* file id */
        mode_t          st_mode;        /* ownership/protection */
        nlink_t         st_nlink;       /* number of links */
-       uid_t           st_uid;         /* user id */
-       gid_t           st_gid;         /* group id */
+       uid_t           st_uid;         /* user id */
+       gid_t           st_gid;         /* group id */
        dev_t           st_rdev;
        off_t           st_size;        /* file size in # of bytes */
-       unsigned long   st_blksize;     /* block size */
-       unsigned long   st_blocks;      /* file size in # of blocks */
-       unsigned long   st_atime;       /* time file was last accessed */
-       unsigned long   __unused1;
-       unsigned long   st_mtime;       /* time file was last modified */
-       unsigned long   __unused2;
-       unsigned long   st_ctime;       /* time file status was last changed */
-       unsigned long   __unused3;
-       unsigned long   __unused4;
-       unsigned long   __unused5;
+       unsigned long   st_blksize;     /* block size */
+       unsigned long   st_blocks;      /* file size in # of blocks */
+       unsigned long   st_atime;       /* time file was last accessed */
+       unsigned long   __unused1;
+       unsigned long   st_mtime;       /* time file was last modified */
+       unsigned long   __unused2;
+       unsigned long   st_ctime;       /* time file status was last changed */
+       unsigned long   __unused3;
+       unsigned long   __unused4;
+       unsigned long   __unused5;
  };
  
  #endif        /* __PPC__ */
  
- #if defined (__ARM__) || defined (__I386__) || defined (__M68K__) || defined (__blackfin__) ||\
 -#if defined (__ARM__) || defined (__I386__) || defined (__M68K__) || defined (__bfin__)
++#if defined (__ARM__) || defined (__I386__) || defined (__M68K__) || defined (__bfin__) ||\
 +      defined (__microblaze__)
  
  struct stat {
        unsigned short st_dev;
  #if defined (__MIPS__)
  
  struct stat {
-       dev_t           st_dev;
-       long            st_pad1[3];
-       ino_t           st_ino;
-       mode_t          st_mode;
-       nlink_t         st_nlink;
-       uid_t           st_uid;
-       gid_t           st_gid;
-       dev_t           st_rdev;
-       long            st_pad2[2];
-       off_t           st_size;
-       long            st_pad3;
+       dev_t           st_dev;
+       long            st_pad1[3];
+       ino_t           st_ino;
+       mode_t          st_mode;
+       nlink_t         st_nlink;
+       uid_t           st_uid;
+       gid_t           st_gid;
+       dev_t           st_rdev;
+       long            st_pad2[2];
+       off_t           st_size;
+       long            st_pad3;
        /*
         * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
         * but we don't have it under Linux.
         */
-       time_t          st_atime;
-       long            reserved0;
-       time_t          st_mtime;
-       long            reserved1;
-       time_t          st_ctime;
-       long            reserved2;
-       long            st_blksize;
-       long            st_blocks;
-       long            st_pad4[14];
+       time_t          st_atime;
+       long            reserved0;
+       time_t          st_mtime;
+       long            reserved1;
+       time_t          st_ctime;
+       long            reserved2;
+       long            st_blksize;
+       long            st_blocks;
+       long            st_pad4[14];
  };
  
  #endif        /* __MIPS__ */
  
+ #if defined(__AVR32__)
+ struct stat {
+       unsigned long st_dev;
+       unsigned long st_ino;
+       unsigned short st_mode;
+       unsigned short st_nlink;
+       unsigned short st_uid;
+       unsigned short st_gid;
+       unsigned long  st_rdev;
+       unsigned long  st_size;
+       unsigned long  st_blksize;
+       unsigned long  st_blocks;
+       unsigned long  st_atime;
+       unsigned long  st_atime_nsec;
+       unsigned long  st_mtime;
+       unsigned long  st_mtime_nsec;
+       unsigned long  st_ctime;
+       unsigned long  st_ctime_nsec;
+       unsigned long  __unused4;
+       unsigned long  __unused5;
+ };
+ #endif /* __AVR32__ */
  #ifdef __cplusplus
  }
  #endif