1. 25 Dec, 2011 1 commit
  2. 14 Dec, 2011 1 commit
  3. 07 Dec, 2011 1 commit
    • Alexander Potashev's avatar
      RT73025. ea-lpc1788: fix hang-up in `udelay()` for all Cortex-M3 targets · a53bb5ce
      Alexander Potashev authored
      Hang-up scenario before this patch:
      At the time `udelay()` is called, the current value in
          the SYSTICK timer (`systick->val`) may be very close to, but greater
          than the number of clocks left to tick (`clc`).
      Since `systick->val` is greater than `clc`, we use the `while` loop from
          the `else` block. But this `while` loops only checks that `systick->val`
          is greater than `(tmp - clc)` which is a very small positive integer
          (because `tmp` is very close to `clc`.) The `while` loop will now
          terminate only if we manage to catch `systick->val` in a very thin
          range between 0 and `(tmp - clc)`. The comparison inside the `while`
          loop condition takes a considerable number of CPU clocks, that makes it
          hard to find `systick->val` between 0 and `(tmp - clc)`, we just step
          over this small range.
      
      This bug manifested when erasing NOR flash on EA-LPC1788-32: the
      `udelay(1)` call in `flash_status_check()` in `drivers/mtd/cfi_flash.c`
      was hanging.
      a53bb5ce
  4. 06 Dec, 2011 3 commits
    • Sergei Poselenov's avatar
    • Sergei Poselenov's avatar
      RT #73025. ea-lpc1788: create u-boot.bin with checksum instead of · d6962b42
      Sergei Poselenov authored
      u-boot-lpc.bin.
      
      For EA-LPC1788, the U-Boot image suitable for programming is u-boot-lpc.bin.
      This is inconsistent with other supported targets, where the image is
      u-boot.bin. This patch fixes this.
      d6962b42
    • Alexander Potashev's avatar
      RT73025. ea-lpc1788: fix hang-up in Ethernet driver after SYSRESET · 6c05ceb4
      Alexander Potashev authored
      To avoid hang-up of the Ethernet block after Cortex-M3 software reset
      (SYSRESET), we need to reset the Ethernet PHY immediately before
      performing the SYSRESET.
      
      All new code added in this patch should be in placed in `.ramcode`,
      because we might want to do a software reset after self-upgrade.
      
      Since we cannot use `printf()` in functions that may be called during
      self-upgrade (`printf()` is too big for `.ramcode`), the
      `lpc178x_phy_init()` function cannot be easily used in
      `lpc178x_phy_final_reset()`. Because of this, we use a pre-set PHY
      address (`CONFIG_LPC178X_ETH_PHY_ADDR`) instead of doing automatic
      PHY discovery that is usually done in `lpc178x_phy_init()`.
      
      If Ethernet is not enabled in the U-Boot configuration file, we do not
      perform the PHY reset.
      This leads to a minor bug: if you install U-Boot without Ethernet
      support into your board and do a self-upgrade to another build of
      U-Boot with Ethernet support, the Ethernet driver will hang in the
      latter U-Boot unless you have done a full reset (by pushing the SW1
      button) after self-upgrade.
      6c05ceb4
  5. 02 Dec, 2011 4 commits
  6. 01 Dec, 2011 2 commits
  7. 30 Nov, 2011 1 commit
    • Alexander Potashev's avatar
      RT73025. lpc178x_eth: fix `lpc178x_eth_send()` · 253feef0
      Alexander Potashev authored
      1. Fixed the algorithm for checking if the transmit buffers are full.
      2. Removed unnecessary `udelay()` calls that were kept after copying the
      	code from the LPCware's U-Boot port.
      3. Increased the numbers of receive and transmit DMA buffers.
      253feef0
  8. 25 Nov, 2011 3 commits
  9. 24 Nov, 2011 4 commits
  10. 22 Nov, 2011 1 commit
  11. 18 Nov, 2011 7 commits
  12. 17 Nov, 2011 2 commits
  13. 14 Nov, 2011 4 commits
  14. 11 Nov, 2011 4 commits
  15. 10 Nov, 2011 2 commits