1. 15 3月, 2016 5 次提交
  2. 25 1月, 2016 1 次提交
  3. 14 1月, 2016 2 次提交
    • S
      mmc: store hwpart in the block device · 873cc1d7
      Stephen Warren 提交于
      This will allow us to have multiple block device structs each referring
      to the same eMMC device, yet different HW partitions.
      
      For now, there is still a single block device per eMMC device. As before,
      this block device always accesses whichever HW partition was most recently
      selected. Clients wishing to make use of multiple block devices referring
      to different HW partitions can simply take a copy of this block device
      once it points at the correct HW partition, and use each one as they wish.
      This feature will be used by the next patch.
      
      In the future, perhaps get_device() could be enhanced to return a
      dynamically allocated block device struct, to avoid the client needing to
      copy it in order to maintain multiple block devices. However, this would
      require all users to be updated to free those block device structs at some
      point, which is rather a large change.
      
      Most callers of mmc_switch_part() wish to permanently switch the default
      MMC block device's HW partition. Enhance mmc_switch_part() so that it does
      this. This removes the need for callers to do this. However,
      common/env_mmc.c needs to save and restore the current HW partition. Make
      it do this more explicitly.
      
      Replace use of mmc_switch_part() with mmc_select_hwpart() in order to
      remove duplicate code that skips the call if that HW partition is already
      selected.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      873cc1d7
    • S
      block: pass block dev not num to read/write/erase() · 7c4213f6
      Stephen Warren 提交于
      This will allow the implementation to make use of data in the block_dev
      structure beyond the base device number. This will be useful so that eMMC
      block devices can encompass the HW partition ID rather than treating this
      out-of-band. Equally, the existence of the priv field is crying out for
      this patch to exist.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Reviewed-by: NTom Rini <trini@konsulko.com>
      7c4213f6
  4. 24 11月, 2015 1 次提交
  5. 13 11月, 2015 1 次提交
  6. 18 12月, 2014 1 次提交
  7. 06 6月, 2014 1 次提交
  8. 23 5月, 2014 1 次提交
  9. 05 5月, 2014 1 次提交
    • M
      part: header fix · 6b423b75
      Mateusz Zalega 提交于
      Implementation made use of types defined in common.h, even though it
      wasn't #included. It worked in circumstances when .c files included
      every needed header (all).
      Signed-off-by: NMateusz Zalega <m.zalega@samsung.com>
      Cc: Tom Rini <trini@ti.com>
      Cc: Minkyu Kang <mk7.kang@samsung.com>
      6b423b75
  10. 09 1月, 2014 1 次提交
  11. 15 10月, 2013 1 次提交
  12. 24 7月, 2013 1 次提交
  13. 16 7月, 2013 1 次提交
    • F
      Fix ext2/ext4 filesystem accesses beyond 2TiB · 04735e9c
      Frederic Leroy 提交于
      With CONFIG_SYS_64BIT_LBA, lbaint_t gets defined as a 64-bit type,
      which is required to represent block numbers for storage devices that
      exceed 2TiB (the block size usually is 512B), e.g. recent hard drives
      
      We now use lbaint_t for partition offset to reflect the lbaint_t change,
      and access partitions beyond or crossing the 2.1TiB limit.
      This required changes to signature of ext4fs_devread(), and type of all
      variables relatives to block sector.
      
      ext2/ext4 fs uses logical block represented by a 32 bit value. Logical
      block is a multiple of device block sector. To avoid overflow problem
      when calling ext4fs_devread(), we need to cast the sector parameter.
      Signed-off-by: NFrédéric Leroy <fredo@starox.org>
      04735e9c
  14. 26 6月, 2013 1 次提交
    • S
      Fix block device accesses beyond 2TiB · ff8fef56
      Sascha Silbe 提交于
      With CONFIG_SYS_64BIT_LBA, lbaint_t gets defined as a 64-bit type,
      which is required to represent block numbers for storage devices that
      exceed 2TiB (the block size usually is 512B), e.g. recent hard drives.
      
      For some obscure reason, the current U-Boot code uses lbaint_t for the
      number of blocks to read (a rather optimistic estimation of how RAM
      sizes will evolve), but not for the starting address. Trying to access
      blocks beyond the 2TiB boundary will simply wrap around and read a
      block within the 0..2TiB range.
      
      We now use lbaint_t for block start addresses, too. This required
      changes to all block drivers as the signature of block_read(),
      block_write() and block_erase() in block_dev_desc_t changed.
      Signed-off-by: NSascha Silbe <t-uboot@infra-silbe.de>
      ff8fef56
  15. 02 5月, 2013 2 次提交
  16. 14 12月, 2012 1 次提交
  17. 26 9月, 2012 5 次提交
    • S
      disk: part_efi: parse and store partition UUID · 894bfbbf
      Stephen Warren 提交于
      Each EFI partition table entry contains a UUID. Extend U-Boot's struct
      disk_partition to be able to store this information, and modify
      get_partition_info_efi() to fill it in.
      
      The implementation of uuid_string() was derived from the Linux kernel,
      tag v3.6-rc4 file lib/vsprintf.c function uuid_string().
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      894bfbbf
    • S
      disk: get_device_and_partition() "auto" partition and cleanup · 10a37fd7
      Stephen Warren 提交于
      Rework get_device_and_partition() to:
      a) Implement a new partition ID of "auto", which requests that U-Boot
         search for the first "bootable" partition, and fall back to the first
         valid partition if none is found. This way, users don't need to
         specify an explicit partition in their commands.
      b) Make use of get_device().
      c) Add parameter to indicate whether returning a whole device is
         acceptable, or whether a partition is mandatory.
      d) Make error-checking of the user's device-/partition-specification
         more complete. In particular, if strtoul() doesn't convert all
         characters, it's an error rather than just ignored.
      
      The resultant device/partition returned by the function will be as
      follows, based on whether the disk has a partition table (ptable) or not,
      and whether the calling command allows the whole device to be returned
      or not.
      
      (D and P are integers, P >= 1)
      
      D
      D:
        No ptable:
          !allow_whole_dev: error
          allow_whole_dev: device D
        ptable:
          device D partition 1
      D:0
        !allow_whole_dev: error
        allow_whole_dev: device D
      D:P
        No ptable: error
        ptable: device D partition P
      D:auto
        No ptable:
          !allow_whole_dev: error
          allow_whole_dev: device D
        ptable:
          first partition in device D with bootable flag set.
          If none, first valid paratition in device D.
      
      Note: In order to review this patch, it's probably easiest to simply
      look at the file contents post-application, rather than reading the
      patch itself.
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      [swarren: Rob implemented scanning for bootable partitions. I fixed a
      couple of issues there, switched the syntax to ":auto", added the
      error-checking rework, and ":0" syntax for the whole device]
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      10a37fd7
    • S
      disk: introduce get_device() · 2023e608
      Stephen Warren 提交于
      This patch introduces function get_device(). This looks up a
      block_dev_desc_t from an interface name (e.g. mmc) and device number
      (e.g. 0). This function is essentially the non-partition-specific
      prefix of get_device_and_partition().
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      2023e608
    • R
      disk/part: introduce get_device_and_partition · 99d2c205
      Rob Herring 提交于
      All block device related commands (scsiboot, fatload, ext2ls, etc.) have
      simliar duplicated device and partition parsing and selection code. This
      adds a common function to replace various implementations.
      
      The new function has an enhancement over current versions. If no device
      or partition is specified on the command line, the bootdevice env variable
      will be used (scsiboot does this).
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      99d2c205
    • R
      disk/part: check bootable flag for DOS partitions · 40e0e568
      Rob Herring 提交于
      Determine which partitions are bootable/active. In the partition listing,
      print "Boot" for partitions with the bootable/active flag set.
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      40e0e568
  18. 22 5月, 2012 1 次提交
  19. 26 7月, 2011 1 次提交
  20. 16 7月, 2011 1 次提交
  21. 04 4月, 2009 1 次提交
    • U
      mflash: Initial mflash support · 75eb82ec
      unsik Kim 提交于
      Mflash is fusion memory device mainly targeted consumer eletronic and
      mobile phone.
      Internally, it have nand flash and other hardware logics and supports
      some different operation (ATA, IO, XIP) modes.
      
      IO mode is custom mode for the host that doesn't have IDE interface.
      (Many mobile targeted SoC doesn't have IDE bus)
      
      This driver support mflash IO mode.
      
      Followings are brief descriptions about IO mode.
      
      1. IO mode based on ATA protocol and uses some custom command. (read
         confirm, write confirm)
      2. IO mode uses SRAM bus interface.
      Signed-off-by: Nunsik Kim <donari75@gmail.com>
      75eb82ec
  22. 19 10月, 2008 1 次提交
  23. 27 3月, 2008 2 次提交
  24. 04 2月, 2008 1 次提交
    • S
      MMC for PXA 27X (resubmit) · c95219fa
      stefano babic 提交于
      MMC support for X_Scale PXA is broken and does not work.
      Mainly, the mmc_init() function cannot recognize current SD/MMC cards.
      There were already some patches around the world but none of them was
      merged into the official u-boot tree.
      
      This patch makes order fixing this issue. Resubmit after code cleanup.
      
      Applied and tested on PXA 270 (TrizepsIV module).
      Signed-off-by: NStefano Babic <sbabic@denx.de>
      c95219fa
  25. 23 10月, 2007 1 次提交
    • M
      fix pxa255_idp board · 2a4741d9
      Marcel Ziswiler 提交于
      The pxa255_idp being an old unmaintained board showed several issues:
      1. CONFIG_INIT_CRITICAL was still defined.
      2. Neither CONFIG_MAC_PARTITION nor CONFIG_DOS_PARTITION was defined.
      3. Symbol flash_addr was undeclared.
      4. The boards lowlevel_init function was still called memsetup.
      5. The TEXT_BASE was still 0xa3000000 rather than 0xa3080000.
      6. Using -march=armv5 instead of -march=armv5te resulted in lots of
      'target CPU does not support interworking' warnings on recent compilers.
      7. The PXA's serial driver redefined FFUART, BTUART and STUART used as
      indexes rather than the register definitions from the pxa-regs header
      file. Renamed them to FFUART_INDEX, BTUART_INDEX and STUART_INDEX to
      avoid any ambiguities.
      8. There were several redefinition warnings concerning ICMR, OSMR3,
      OSCR, OWER, OIER, RCSR and CCCR in the PXA's assembly start file.
      9. The board configuration file was rather outdated.
      10. The part header file defined the vendor, product and revision arrays
      as unsigned chars instead of just chars in the block_dev_desc_t
      structure.
      Signed-off-by: NMarcel Ziswiler <marcel@ziswiler.com>
      2a4741d9
  26. 20 2月, 2007 3 次提交
  27. 19 4月, 2004 1 次提交
    • W
      * Cleanup, minor fixes · 6e592385
      wdenk 提交于
      * Patch by Rune Torgersen, 16 Apr 2004:
        LBA48 fixes
      
      * Patches by Pantelis Antoniou, 16 Apr 2004:
        - Fix some compile problems;
          add "once" functionality for the netretry variable
      6e592385