18 Dec, 2014

7 commits

  • Implement a feature to allow fastboot to write the downloaded image
    to the space reserved for the Protective MBR and the Primary GUID
    Partition Table.
    Additionally, prepare and write the Backup GUID Partition Table.

    Signed-off-by: Steve Rae
    Tested-by: Lukasz Majewski
    [Test HW: Exynos4412 - Trats2]

    Steve Rae
     
  • Signed-off-by: Steve Rae
    Tested-by: Lukasz Majewski
    [Test HW: Exynos4412 - Trats2]

    Steve Rae
     
  • In function dfu_get_buf(), the size of allocated buffer could
    be defined by the env variable. The size from this variable
    was passed for memalign() without checking its value.
    And the the memalign will return non null pointer for size 0.

    This could possibly cause data abort, so now the value of var
    is checked before use. And if this variable is set to 0 then
    the default size will be used.

    This commit also changes the base passed to simple_strtoul()
    to 0. Now decimal and hex values can be used for the variable
    dfu_bufsiz.

    Signed-off-by: Przemyslaw Marczak
    Tested-by: Lukasz Majewski
    [TestHW: Exynos4412-Trats2]

    Przemyslaw Marczak
     
  • Some pointers in function download_tail() were not checked
    before the use. This could possibly cause the data abort.
    To avoid this, check if the pointers are not null is added.

    Signed-off-by: Przemyslaw Marczak
    Tested-by: Lukasz Majewski
    [TestHW: Exynos4412-Trats2]

    Przemyslaw Marczak
     
  • The function mmc_block_op() is the last function before
    the physicall data write, but the mmc device pointer is not
    checked. If mmc device not exists, then data abort will occur.
    To avoid this, first the mmc device pointer is checked.

    Signed-off-by: Przemyslaw Marczak
    Tested-by: Lukasz Majewski
    [TestHW: Exynos4412-Trats2]

    Przemyslaw Marczak
     
  • The fastboot continue command is defined to exit fastboot and continue
    autoboot. This commit implements the continue command and the exiting of
    fastboot only. Subsequent u-boot commands can be processed after exiting
    fastboot. Autoboot should implement a boot script such as "fastboot; mmc
    read ; bootm" to fully implement the fastboot continue function.

    Signed-off-by: Rob Herring
    Tested-by: Lukasz Majewski
    [TestHW: Exynos4412-Trats2]

    Rob Herring
     
  • In order to add detach functions for fastboot, make the DFU detach related
    functions common so they can be shared.

    Signed-off-by: Rob Herring
    Tested-by: Lukasz Majewski
    [TestHW: Exynos4412-Trats2]

    Rob Herring
     

16 Dec, 2014

2 commits


15 Dec, 2014

2 commits

  • Use asmlinkage defined in include/linux/linkage.h if necessary.
    Actually no ARM board uses asmlinkage, so this commit has no impact.

    Signed-off-by: Masahiro Yamada
    Cc: Albert ARIBAUD

    Masahiro Yamada
     
  • Commit 65dd74a674d6 (x86: ivybridge: Implement SDRAM init) introduced
    x86-specific asmlinkage into arch/x86/include/asm/config.h.

    Commit ed0a2fbf14f7 (x86: Add a definition of asmlinkage) added the
    same macro define again, this time, into include/common.h.
    (Please do not add arch-specific stuff to include/common.h any more;
    it is already too cluttered.)

    The generic asmlinkage is defined in . If you want
    to override it with an arch-specific one, the best way is to add it
    to like Linux Kernel.

    Signed-off-by: Masahiro Yamada
    Cc: Simon Glass
    Tested-by: Simon Glass

    Masahiro Yamada
     

14 Dec, 2014

24 commits


13 Dec, 2014

5 commits

  • Tom Rini
     
  • The card_caps bit should denote the card capability to use DDR mode,
    but we need the flag indicating that the DDR mode is active.

    Signed-off-by: Andrew Gabbasov

    Andrew Gabbasov
     
  • Block length for write and read commands is fixed to 512 bytes
    when the card is in Dual Data Rate mode. If block length read from CSD
    is different, make sure the driver will use correct length
    in all further calculations and settings.

    Signed-off-by: Andrew Gabbasov

    Andrew Gabbasov
     
  • Since the driver doesn't work in 1.2V or 1.8V signaling level modes,
    Dual Data Rate mode can be supported by the driver only if it is supported
    by the card in regular 3.3V mode. So, check for a particular single
    bit in card type field.

    Signed-off-by: Andrew Gabbasov

    Andrew Gabbasov
     
  • If the MMC_MODE_DDR_52MHz flag is set in card capabilities bitmask,
    it is never cleared, even if switching to DDR mode fails, and if
    the controller driver uses this flag to check the DDR mode, it can
    take incorrect actions.

    Also, DDR related checks in mmc_startup() incorrectly handle the case
    when the host controller does not support some bus widths (e.g. can't
    support 8 bits), since the host_caps is checked for DDR bit, but not
    bus width bits.

    This fix clearly separates using of card_caps bitmask, having there
    the flags for the capabilities, that the card can support, and actual
    operation mode, described outside of card_caps (i.e. bus_width and
    ddr_mode fields in mmc structure). Separate host controller drivers
    may need to be updated to use the actual flags. Respectively,
    the capabilities checks in mmc_startup are made more correct and clear.

    Also, some clean up is made with errors handling and code syntax layout.

    Signed-off-by: Andrew Gabbasov

    Andrew Gabbasov