24 Jul, 2013

1 commit


22 May, 2012

1 commit


22 Oct, 2011

1 commit


10 Sep, 2011

1 commit

  • Commit 6af1d41 "smc911x MII made available" was missing a few "const"
    qualifiers. Fix the resulting in build warnings:

    smc911x.c: In function 'smc911x_initialize':
    smc911x.c:297: warning: passing argument 2 of 'miiphy_register' from incompatible pointer type
    smc911x.c:297: warning: passing argument 3 of 'miiphy_register' from incompatible pointer type

    Signed-off-by: Wolfgang Denk
    Cc: Helmut Raiger

    Wolfgang Denk
     

08 Sep, 2011

1 commit


10 Jan, 2011

1 commit

  • The include/miiphy.h header duplicates a lot of things from linux/mii.h.
    So punt all the things that overlap to keep the API simple and to make
    merging between U-Boot and Linux simpler.

    Signed-off-by: Mike Frysinger

    Mike Frysinger
     

18 May, 2010

1 commit


04 May, 2010

1 commit

  • SMSC911x chips have alignment function to allow frame payload data
    (which comes after 14-bytes ethernet header) to be aligned at some
    boundary when reading it from fifo (usually - 4 bytes boundary).
    This is done by inserting fake zeros bytes BEFORE actual frame data when
    reading from SMSC's fifo.
    This function controlled by RX_CFG register. There are bits that
    represents amount of fake bytes to be inserted.

    Linux uses alignment of 4 bytes. Ethernet frame header is 14 bytes long,
    so we need to add 2 fake bytes to get payload data aligned at 4-bytes
    boundary.
    Linux driver does this by adding IP_ALIGNMENT constant (defined at
    skb.h) when calculating fifo data length. All network subsystem of Linux
    uses this constant too when calculating different offsets.

    But u-boot does not use any packet data alignment, so we don't need to
    add anything when calculating fifo data length.
    Moreover, driver zeros the RX_CFG register just one line up, so chip
    does not insert any fake data at the beginig. So calculated data length
    is always bigger by 1 word.

    It seems that at almost every packet read we get an underflow condition
    at fifo and possible corruption of data. Especially at continuous
    transfers, such as tftp.

    Just after removing this magic addition, I've got tftp transfer speed as
    it aught to be at 100Mbps. It was really slow before.

    It seems that fifo underflow occurs only when using byte packing on
    32-bit blackfin bus (may be because of very small delay between reads).

    Signed-off-by: Valentin Yakovenkov
    Signed-off-by: Ben Warren

    Valentin Yakovenkov
     

01 Feb, 2010

1 commit

  • This patch turns off MAC address mismatch warning when
    optional eeprom programmed with MAC address is not available.
    In that case, smc911x's MAC address register has its default
    value ff:ff:ff:ff:ff:ff and it's not a valid address. This
    makes eth_initialize() show the warning which has no
    meaningful information while environment variable ethaddr
    overrides the address read from the register. If there's no
    eeprom and the value of MAC address register is not valid
    after initialization, dev->enetaddr had better not be updated
    and maintain its initial value 00:00:00:00:00:00, which I
    think is what eth_initialize() expects. This is not a bug fix.
    Even without this patch, the driver works fine. It's just for
    enhancing the way of displaying messages.

    Signed-off-by: Seunghyeon Rhee
    Signed-off-by: Ben Warren

    Seunghyeon Rhee
     

08 Dec, 2009

1 commit


13 Nov, 2009

1 commit


28 Oct, 2009

1 commit


24 Oct, 2009

1 commit


13 Oct, 2009

1 commit

  • Refactor the smc911x driver to allow for detecting when the chip is missing.
    I.e. the detect_chip() function is called earlier and will abort gracefully
    when the Chip ID read returns all 1's.

    Signed-off-by: Olof Johansson
    Acked-by: Dirk Behme
    Acked-by: Ben Warren

    Olof Johansson
     

23 Jul, 2009

1 commit


15 Jun, 2009

1 commit

  • This reverts commit ca9c8a1e10fac01e6a1129f82a7ce18bd818fa43,
    which causes compile warnings ("large integer implicitly truncated
    to unsigned type") on all systems that use this driver. The warning
    results from passing long constants (TX_CFG, RX_CFG) into
    smc911x_set_mac_csr() which is declared to accept "unsigned
    character" arguments only.

    Being close to a release, with nobody available to actually test the
    code or the suggested fixes, it seems better to revert the patch.

    Wolfgang Denk
     

09 Jun, 2009

1 commit

  • eth_halt() function in the smc911x drivers used to call the
    smc911x_reset() function. eth_halt() used to be called after
    tftp transfers. This used to put the ethernet chip in reset
    while the linux boots up resulting in the ethernet driver
    not coming up. NFS boot used to fail as a result.

    This patch calls smc911x_shutdown() instead of smc911x_reset().
    Some comments received has also been fixed.

    Signed-off-by: Manikandan Pillai
    Signed-off-by: Ben Warren

    Manikandan Pillai
     

08 Jun, 2009

1 commit


21 Mar, 2009

1 commit

  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    Also, do not bother checking the EEPROM if the env is setup. This
    simplifies the code greatly.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Wolfgang Dnek
    CC: Ben Warren
    CC: Rolf Offermanns
    CC: Erik Stahlman
    CC: Daris A Nevil
    CC: Sascha Hauer

    Mike Frysinger
     

25 Feb, 2009

1 commit

  • The smc911x driver has a lot of useful defines/functions which can be used
    by pieces of code (such as example eeprom programmers). Rather than
    forcing each place to duplicate these defines/functions, split them out
    of the smdc911x driver into a local header.

    Signed-off-by: Mike Frysinger
    Acked-by: Ben Warren
    CC: Sascha Hauer
    CC: Guennadi Liakhovetski
    CC: Magnus Lilja
    CC: Ben Warren

    Mike Frysinger
     

29 Jan, 2009

1 commit


25 Jan, 2009

1 commit


03 Sep, 2008

1 commit

  • The RSK7203 board has the SMSC9118 wired up 'incorrectly'.
    Byte-swapping is necessary, and so poor performance is inevitable.
    This problem cannot evade by the swap function of CHIP, this can
    evade by software Byte-swapping.
    And this has problem by FIFO access only. pkt_data_pull/pkt_data_push
    functions necessary to solve this problem.

    Signed-off-by: Nobuhiro Iwamatsu
    Signed-off-by: Ben Warren

    Nobuhiro Iwamatsu
     

13 Jul, 2008

1 commit


07 Jul, 2008

2 commits


10 Jun, 2008

1 commit


23 May, 2008

1 commit


21 May, 2008

1 commit

  • This commit gets rid of a huge amount of silly white-space issues.
    Especially, all sequences of SPACEs followed by TAB characters get
    removed (unless they appear in print statements).

    Also remove all embedded "vim:" and "vi:" statements which hide
    indentation problems.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

10 May, 2008

1 commit

  • When applying the AT91CAP9 patches upstream, something transformed
    the '@' character into the ' ' sequence.

    The patch below restores the original form in all the places where
    it has been modified (the AT91CAP9 files, the AT91SAM9260 files which
    were copied from AT91CAP9, and a couple of other files where the
    ' ' sequence was present).

    Signed-off-by: Stelian Pop

    Stelian Pop
     

15 Apr, 2008

2 commits


11 Apr, 2008

1 commit

  • Reverting became necessary after it turned out that the patches in
    the u-boot-arm repo were modified, and in some cases corrupted.

    This reverts the following commits:

    066bebd6353e33af3adefc3404560871699e9961
    7a837b7310166ae8fc8b8d66d7ef01b60a80f9d6
    c88ae20580b2b01487b4cdcc8b2a113f551aee36
    a147e56f03871bba4f05058d5e04ce7deb010b04
    d6674e0e2a6a1f033945f78838566210d3f28c95
    8c8463cce44d849e37744749b32d38e1dfb12e50
    c98b47ad24b2d91f41c09a3d62d7f70ad84f4b7d
    8bf69d81782619187933a605f1a95ee1d069478d
    8c16cb0d3b971f46fbe77c072664c0f2dcd4471d
    a574a73852a527779234e73e17e7597fd8128882
    1377b5583a48021d983e1fd565f7d40c89e84d63
    1704dc20917b4f71e373e2c888497ee666d40380

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

30 Mar, 2008

1 commit