On 15-03-2015 12:32, Alan Cudmore wrote:
Nice work Qiao!

Andre had submitted the patches for GPIO, SPI, and I2C including recommended fixes. It was then recommended that we switch to the new Linux based I2C API, and we ( or I ) got stuck there.

I have addressed almost every Pavel's suggestion (https://lists.rtems.org/pipermail/devel/2014-October/008911.html), and the current code can be found on my last commit on my github (https://github.com/asuol/rtems/commit/eca62b41521da2e606f38320d31c83ec82e30ab6).

The difference from the last patch is that now each interrupt handler runs on its own task, and each user-defined handler may have as many arguments as the user may want (through a void pointer). Each pin can also have multiple handlers at the same time, so multiple devices may share a GPIO pin for interrupts, in which case each handler must inform if their device acknowledge the interrupt. The code is not yet thread-safe, so locking and compiler barriers are still missing if they are to be used on a concurrent environment, will try to conclude as soon as possible.

For the time I have available, it was not going to be a 1 or 2 day fix to move Andre's I2C implementation to the new Linux based API. It was taking me a while just to understand what needed to be done.

A little later today, I will try to come up with a proposal to split the Pi work so it can be done by 3 participants.. But we need to decide if re-doing the I2C implementation should be part of the work, or if we should use Andre's initial implementation as a baseline for everyone.


As soon as GPIO is in SPI can be sent directly, and the I2C is just a matter of using the new API, just refactoring the code around a bit to the new API functions (still have not looked at the new API unfortunately). Will have a look at it this week.

Also, I will submit basic patches to create a raspberrypi2 BSP variant. I have built both the raspberrypi and raspberrypi2 BSPs and tested ticker so far.


I should receive my PI2 sometime this week, so I may be able to have a look at it then.

--André.

Alan


On Sun, Mar 15, 2015 at 7:11 AM, Gedare Bloom <ged...@rtems.org <mailto:ged...@rtems.org>> wrote:



    On Sun, Mar 15, 2015 at 5:50 AM, QIAO YANG <yangqiao0...@me.com
    <mailto:yangqiao0...@me.com>> wrote:

        Hi !

        I've managed to run a hello demo on RPI B/B+, including a demo
        for loading an image by u-boot (I don't have an ethernet cable
        on my hand, but I'm going to be able to load the image by tftp
        for dev).

        If I've got it right, to prepare my proposal I may choose part
        of the TODO list , look into the implementation detail and
        schedule it. The work list may be divided for 3 students to
        complete.

        I've checked out the André's branch with GPIO, I2C, SPI
        implementations. Should we develop based on his branch or the
        upstream? Have we said that the I2C, SPI API has changed? I
        wonder that if anyone is working on it and if we will merge
        Andre's work to upstream at the begining of GSOC. If not,
        maybe I can get start by trying to do this job.

    The obvious projects I see from
    https://devel.rtems.org/wiki/Developer/Projects/Open/ImproveRaspberryPiBSP
    are:
    1) Get #1-3 mergeable. May not take much. Then do #4 SD-card
    support and refactor the i2c to use the newer cpukit/dev/i2c
    interface.
    2) #5 Graphics Frame Buffer + #7 HDMI/Graphics console
    3) #6 USB + #7 Networking
    4) Raspberry Pi 2 support, but this probably isn't enough.

    -Gedare



_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to