1. 14 May, 2013 1 commit
  2. 29 Apr, 2013 1 commit
  3. 20 Nov, 2012 2 commits
  4. 03 May, 2012 1 commit
    • Alexander Potashev's avatar
      RT77744. lpc4350-eval: Ethernet support · 791d3ebe
      Alexander Potashev authored
       * Write a custom Ethernet driver for LPC18xx/LPC43xx. We know the
      Ethernet module is compatible with STM32F, but we do not want to spend
      time right now to merge these drivers.
       * Use Ethernet MII mode.
       * Store Ethernet DMA buffers and buffer descriptors in a free region of
      internal SRAM.
  5. 09 Apr, 2012 1 commit
    • Alexander Potashev's avatar
      RT76276. Add support for STMicroelectronics STM3240G-EVAL board · f271a6db
      Alexander Potashev authored
      * Clone the board-specific files from those used for the STM3220G-EVAL board.
      * Change STM3220G-EVAL to STM3240G-EVAL where appropriate.
      * cpu/arm_cortexm3/stm32/clock.c: Add support for clock rates up to 168 MHz.
      * Ethernet driver: Implement us/ms delays not tied to CPU clock rate.
      * Ethernet driver: Add `stm_phy_wait_busy()` to reduce code duplication.
      * Raise system clock rate from 120 MHz to 168 MHz.
      * Update PSRAM timings.
      * Disable the PSRAM Synchronous Burst Mode.
  6. 28 Feb, 2012 1 commit
    • Alexander Potashev's avatar
      RT77090. kinetis eth: Fix receiving of Ethernet packets · fe65e8bf
      Alexander Potashev authored
      The Ethernet module of the MCU requires that the RDAR register is set
      only after a while after the RDSR register is set; i.e. the RDAR
      register should not be set immediately after RDSR during initialization
      of the Ethernet module.
        1. If we write to the ENET_RDAR register immediately after initializing
      the ENET_RDSR register, the incoming packets can _never_ be received.
        2. If we make the MCU wait for 10us before writing to ENET_RDAR, the
      incoming packets are _always_ received correctly.
        3. If we perform a few instructions (about 10 of them) between setting
      RDSR and RDAR, then the problem manifests randomly from time to time.
      In order to fix the bug, we add a 10us delay just before writing
      to the RDAR register.
      Things just work in Freescale MQX and in Linux, because there is a lot
      of other initialization code between the RDAR and RDSR register are set,
      so this other initialization code serves as a delay.
  7. 11 Jan, 2012 1 commit
  8. 04 Jan, 2012 2 commits
  9. 06 Dec, 2011 1 commit
    • 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.
  10. 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.
  11. 24 Nov, 2011 1 commit
    • Alexander Potashev's avatar
      RT73025. ea-lpc1788: Ethernet driver · 0ee5d6e6
      Alexander Potashev authored
      * The driver structure is almost the same as in the STM32 Ethernet driver.
      * The PHY autodetection code was copied from the STM32 Ethernet driver
          (see `lpc178x_phy_init()`)
      * The speed/duplex detection logic grabbed from the Linux kernel
          (see linux/drivers/net/phy/phy_device.c)
      * The DMA used for Ethernet cannot work with the SoC-internal "System
          RAM", thus we use the external memory (SDRAM) for DMA descriptors
          and buffers.
  12. 14 Nov, 2011 1 commit
  13. 20 Oct, 2011 1 commit
  14. 17 Oct, 2011 2 commits
  15. 10 Oct, 2011 1 commit
  16. 07 Oct, 2011 4 commits
  17. 27 Sep, 2011 1 commit
  18. 26 Sep, 2011 1 commit
  19. 25 Sep, 2011 1 commit
    • Yuri Tikhonov's avatar
      RT73025. stm32f2_eth: driver implementation · 306c8bfd
      Yuri Tikhonov authored
      Note, beside this, to make driver workable, this patch:
      - changes SRAM memory distribution. Actually, we have 128K in STM (as
      opposite to 64K in A2F). TBDs here: a) CONFIG_MEM_RAM_LEN is a bad
      name, since this isn't length of full SRAM, but just a part of it; b)
      we should control the summary length of MEM_xxx areas somehow, on a
      SOC basis (i.e. A2F has 64K SRAM, STM32F2 has 128K SRAM, etc.), maybe
      include/configs/cortex-m3-common.h would be the best choice; c) not
      sure if we want to have *all* SRAM parts configurable, e.g. MALLOC size
      may be determined automatically.
      - in default configuration load files to SRAM (RAM_BUF) (as opposite
      to external RAM). TBD here: make this configurable somehow.
      Signed-off-by: default avatarYuri Tikhonov <yur@emcraft.com>
  20. 25 Jan, 2011 1 commit
  21. 03 Jan, 2011 2 commits
  22. 26 Nov, 2010 2 commits
  23. 31 Aug, 2010 1 commit