03 Mar, 2014

1 commit


01 Mar, 2014

2 commits

  • This completes the show_sdb_tree functionality, with the
    new informative fields. The output for a verbose module is now
    like this (long lines are unavoidable):

    SDB: 00000651:e6a542c9 WB4-Crossbar-GSI
    SDB: 0000ce42:00000601 WB-DMA.Control (00001000-0000103f)
    SDB: 0000ce42:779c5443 WB-OneWire-Master (00001100-000011ff)
    SDB: 0000ce42:00000603 WB-SPEC-CSR (00001200-0000121f)
    SDB: 0000ce42:00000013 WB-VIC-Int.Control (00001300-000013ff)
    SDB: 0000ce42:d5735ab4 WB-DMA.EIC (00001400-0000140f)
    SDB: 00000651:eef0b198 WB4-Bridge-GSI (bridge: 00002000)
    SDB: 00000651:e6a542c9 WB4-Crossbar-GSI
    SDB: 0000ce42:123c5443 WB-I2C-Master (00003000-000030ff)
    SDB: 0000ce42:e503947e WB-SPI.Control (00003100-0000311f)
    SDB: 0000ce42:123c5443 WB-I2C-Master (00003200-000032ff)
    SDB: 0000ce42:00000608 WB-FMC-ADC-Core (00003300-0000337f)
    SDB: 0000ce42:779c5443 WB-OneWire-Master (00003400-000034ff)
    SDB: 0000ce42:26ec6086 WB-FMC-ADC.EIC (00003500-0000350f)
    SDB: 0000ce42:00000604 WB-Timetag-Core (00003600-0000367f)
    SDB: Synthesis repository: git://ohwr.org/fmc-projects/fmc-adc-100m14b4cha.git
    SDB: Bitstream 'spec_top_fmc_adcmc-projects/fmc-adc-100m14b4cha.git' \
    synthesized 20140116 by mcattin (ISE version 133), commit f0a539dffe6d

    Signed-off-by: Tomasz Wlostowski
    Acked-by: Alessandro Rubini
    Acked-by: Juan David Gonzalez Cobas
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • This allows easier modification to the eeprom than loading the
    fmc-write-eeprom module. The carrier driver will refuse writing if
    the FPGA is not running the golden gateware image, so writing in
    practice is only available at manufacture/development time.

    Signed-off-by: Alessandro Rubini
    Acked-by: Juan David Gonzalez Cobas
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     

26 Feb, 2014

1 commit


16 Feb, 2014

2 commits

  • The code reported wrong addresses in the sdb dumps. All sdb addresses
    are relative, but the code was adding the base address twice. Bug
    exposed by a gateware image with two bridge levels.

    Thanks David for reporting the problem.

    Signed-off-by: Alessandro Rubini
    Reported-by: Juan David Gonzalez Cobas
    Tested-by: Juan David Gonzalez Cobas
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • At registration and unregistration time, I was checking fmc->flags
    for FMC_DEVICE_NO_MEZZANINE, to skip initialization and cleanup for
    empty slots. The check was wrong ("==" instead of "&") but
    registration failed anyways (as expected) because we had no EEPROM.

    This commit fixes one such checks and removes the other, so to
    actually accept slots with no mezzanines. That's because the carrier
    may offer some support anyways (the SPEC does), and working on the
    carrier with no mezzanine-specific driver is common during
    development.

    Signed-off-by: Alessandro Rubini
    Acked-by: Juan David Gonzalez Cobas
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     

14 Oct, 2013

1 commit


13 Aug, 2013

1 commit

  • This local symbol is used only in this file.
    Fix the following sparse warnings:

    drivers/fmc/fmc-write-eeprom.c:106:5: warning: symbol 'fwe_probe' was not declared. Should it be static?
    drivers/fmc/fmc-write-eeprom.c:147:5: warning: symbol 'fwe_remove' was not declared. Should it be static?

    Signed-off-by: Jingoo Han
    Acked-by: Alessandro Rubini
    Signed-off-by: Greg Kroah-Hartman

    Jingoo Han
     

25 Jul, 2013

1 commit

  • The fmc-chardev module was over-locking, by calling misc
    register/unregister while holding its spinlock. This reported a
    "scheduling while atomic" error.

    Since the misc driver already serializes operations internally, this
    commit downgrades the fmc-chardev lock to just cover its own list.

    Reported-by: Sasha Levin
    Reported-by: Fengguang Wu
    Signed-off-by: Alessandro Rubini
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     

25 Jun, 2013

1 commit


20 Jun, 2013

2 commits


19 Jun, 2013

5 commits

  • This driver exports the memory area associated with the mezzanine card
    as a misc device, so users can access registers.

    Signed-off-by: Alessandro Rubini
    Acked-by: Juan David Gonzalez Cobas
    Acked-by: Emilio G. Cota
    Acked-by: Samuel Iglesias Gonsalvez
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • This driver allows to reprogram the EEPROM in a mezzanine, to store
    its own identifiers during manufacturing or to save other useful data.

    Signed-off-by: Alessandro Rubini
    Acked-by: Juan David Gonzalez Cobas
    Acked-by: Emilio G. Cota
    Acked-by: Samuel Iglesias Gonsalvez
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • This simple do-nothing mezzanine driver shows how to write a mezzanine
    driver, that can also handle interrupts reported by the carrier.

    Signed-off-by: Alessandro Rubini
    Acked-by: Juan David Gonzalez Cobas
    Acked-by: Emilio G. Cota
    Acked-by: Samuel Iglesias Gonsalvez
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • This fake carrier is designed to help FMC users understand how a
    carrier driver works, and to experiment the behaviour with EEPROM
    reprogramming (with a mezzanine driver commited later). This carrier
    can register up to 4 (fake) mezzanines.

    We have real carriers (both on PCI-E and VME), but they are bigger
    things and are not part of this submission.

    Signed-off-by: Alessandro Rubini
    Acked-by: Juan David Gonzalez Cobas
    Acked-by: Emilio G. Cota
    Acked-by: Samuel Iglesias Gonsalvez
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • This module offers registration services for both carriers
    (i.e. devices) and mezzanines (i.e. drivers). The matching for devices
    and drivers is performed according to the IPMI standard for FRU
    devices (Field Replaceable Units).

    The code includes support for parsing an SDB tree if present in the FPGA,
    and dumping it for diagnostics. SDB is not mandatory.

    Files in this commit correspond to commit ab23167f in the master branch
    of the project hosted on ohwr.org.

    Signed-off-by: Alessandro Rubini
    Acked-by: Juan David Gonzalez Cobas
    Acked-by: Emilio G. Cota
    Acked-by: Samuel Iglesias Gonsalvez
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     

18 Jun, 2013

1 commit

  • This commit creates the drivers/fmc directory and puts the necessary
    hooks for kbuild and kconfig. The code is currently a placeholder
    that only registers an empty bus.

    Signed-off-by: Alessandro Rubini
    Acked-by: Juan David Gonzalez Cobas
    Acked-by: Emilio G. Cota
    Acked-by: Samuel Iglesias Gonsalvez
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini