<div dir="ltr">Interesting idea.<div>Part of this may be done:</div><div>GPIO : Can start with Pierre's implementation</div><div>i2c: Isn't there a libi2c already?</div><div>SPI: ?</div><div>SD card: ? There should be at least one example to follow in the ARM tree.</div>
<div>Framebuffer: I think this is well defined.</div><div><br></div><div><br></div><div><div><div>Alan</div><div><br></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Mar 19, 2014 at 7:59 PM, Gedare Bloom <span dir="ltr"><<a href="mailto:gedare@rtems.org" target="_blank">gedare@rtems.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Wed, Mar 19, 2014 at 7:04 PM, Joel Sherrill<br>
<<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>> wrote:<br>
><br>
> On 3/19/2014 4:18 PM, Pierre Ficheux wrote:<br>
>> Hi Alan,<br>
>><br>
>> ----- Mail original -----<br>
>>> De: "Alan Cudmore" <<a href="mailto:alan.cudmore@gmail.com">alan.cudmore@gmail.com</a>><br>
>>> À: "Pierre Ficheux" <<a href="mailto:pierre.ficheux@openwide.fr">pierre.ficheux@openwide.fr</a>><br>
>>> Cc: "Andre Marques" <<a href="mailto:andre.lousa.marques@gmail.com">andre.lousa.marques@gmail.com</a>>, <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br>
>>> Envoyé: Mercredi 19 Mars 2014 22:10:50<br>
>>> Objet: Re: potential GSOC project: Improve the Raspberry Pi BSP<br>
>>><br>
>>><br>
>>> Hi Pierre,<br>
>>> We hope to use your GPIO implementation for this project. Any<br>
>>> problems with incorporating it into the BSP?<br>
>> No problem at all.<br>
>><br>
>>><br>
>>> For the USB and MMC support, the u-boot code would be nice, but it is<br>
>>> GPL and not compatible with the RTEMS libraries. But it could serve<br>
>>> as a reference.<br>
>> I'm not aware of RTEMS licensing issue :) I know it's GPL with linking exception but what's the problem with "libraries" ?<br>
> Ultimately, everything is statically linked together. So the license of<br>
> a library<br>
> could virally impact the license of all users.<br>
><br>
> Ideally this support would be part of the BSP.<br>
><br>
> There is a proposed API and simple driver model for analogs and discrete IO<br>
> in RTEMS git in another git module. It includes some shell commands to<br>
> assist<br>
> in debugging and playing with IO settings.<br>
</div></div>Would adding "generic" RTEMS interfaces for GPIO, i2c, SPI, and SD<br>
card with example implementations in Raspberry Pi be feasible and<br>
interesting?<br>
<span class="HOEnZb"><font color="#888888"><br>
-Gedare<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
>>><br>
>>> Also, I am not sure how to approach the USB and network<br>
>>> implementation. For example, we could probably get the Ethernet to<br>
>>> work, and the USB code would just be "a bunch of files" in the<br>
>>> ethernet driver directory. But I think the right way would be to use<br>
>>> the FreeBSD library support of the USB and Ethernet devices. I just<br>
>>> don't know how to do that :)<br>
>> I do agree. I talked about U-Boot for MMC support though it includes USB support too.<br>
> If this were in the new BSD USB/TCP/IP code, it should be<br>
> straightforward to<br>
> support both USB and TCP/IP.<br>
>> regards<br>
>>><br>
>>> Alan<br>
>>><br>
>>><br>
>>><br>
>>><br>
>>><br>
>>> On Wed, Mar 19, 2014 at 4:33 PM, Pierre Ficheux <<br>
>>> <a href="mailto:pierre.ficheux@openwide.fr">pierre.ficheux@openwide.fr</a> > wrote:<br>
>>><br>
>>><br>
>>> USB should be interesting too on RPi because of Ethernet support ;)<br>
>>><br>
>>> Regarding SD card you should take a look at U-Boot for RPi which<br>
>>> includes MMC support in drivers/mmc. U-Boot includes USB support for<br>
>>> RPi too in drivers/usb.<br>
>>><br>
>>> <a href="https://github.com/gonzoua/u-boot-pi" target="_blank">https://github.com/gonzoua/u-boot-pi</a><br>
>>><br>
>>> regards<br>
>>><br>
>>> ----- Mail original -----<br>
>>>> De: "Andre Marques" < <a href="mailto:andre.lousa.marques@gmail.com">andre.lousa.marques@gmail.com</a> ><br>
>>>> À: "Alan Cudmore" < <a href="mailto:alan.cudmore@gmail.com">alan.cudmore@gmail.com</a> ><br>
>>>> Cc: <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br>
>>>> Envoyé: Mercredi 19 Mars 2014 20:59:56<br>
>>>> Objet: Re: potential GSOC project: Improve the Raspberry Pi BSP<br>
>>><br>
>>>><br>
>>>><br>
>>>> Hello Alan,<br>
>>>><br>
>>>> I have decided to go with the framebuffer instead of the USB<br>
>>>> support.<br>
>>>> Will update the proposal with this.<br>
>>>><br>
>>>> Before GSOC I am considering to look at the SD card access through<br>
>>>> the onboard card reader. What do you think?<br>
>>>><br>
>>>> --André Marques.<br>
>>>><br>
>>>> On 03/19/14 00:56, Alan Cudmore wrote:<br>
>>>><br>
>>>><br>
>>>><br>
>>>> Hi André ,<br>
>>>> I agree about the USB stack. I am not even sure about how to<br>
>>>> integrate a driver that depends on the FreeBSD USB stack.<br>
>>>><br>
>>>><br>
>>>> The GPIO driver from Pierre is the one I was referring to. I don't<br>
>>>> think anyone ever made a decision on how to integrate the GPIO<br>
>>>> driver. If we have macros in the BSP header files then the GPIO can<br>
>>>> be programmed with the simple macros or the driver that Pierre<br>
>>>> wrote. If the project decides to use the GPIO device model for<br>
>>>> other<br>
>>>> BSPs, then the generic driver code can be moved to a shared<br>
>>>> directory at a later date.<br>
>>>><br>
>>>><br>
>>>> Thanks for the update,<br>
>>>><br>
>>>><br>
>>>> Alan<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> On Tue, Mar 18, 2014 at 11:04 AM, Andre Marques <<br>
>>>> <a href="mailto:andre.lousa.marques@gmail.com">andre.lousa.marques@gmail.com</a> > wrote:<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> Hello,<br>
>>>><br>
>>>> about the USB driver port from FreeBSD I am finding it difficult to<br>
>>>> gauge how much work it would involve, so I will follow your<br>
>>>> suggestion and look at something else.<br>
>>>><br>
>>>> As for GPIO I belive the work that has been done is this:<br>
>>>><br>
>>>> <a href="https://github.com/pficheux/raspberry_pi/tree/master/RTEMS/gpio_driver" target="_blank">https://github.com/pficheux/raspberry_pi/tree/master/RTEMS/gpio_driver</a><br>
>>>><br>
>>>> Am I right?<br>
>>>><br>
>>>> I also found a discussion on the best way of implementing the<br>
>>>> driver<br>
>>>><br>
>>>> <a href="http://www.rtems.org/pipermail/rtems-users/2013-October/012059.html" target="_blank">http://www.rtems.org/pipermail/rtems-users/2013-October/012059.html</a><br>
>>>><br>
>>>> but i am not sure if that came to a decision.<br>
>>>><br>
>>>> Meanwhile I will update the proposal with some basic info on the<br>
>>>> drivers.<br>
>>>><br>
>>>> --André Marques.<br>
>>>><br>
>>>><br>
>>>><br>
>>>> On 03/14/14 13:16, Andre Marques wrote:<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> Hello,<br>
>>>><br>
>>>> On 03/14/14 02:33, Alan Cudmore wrote:<br>
>>>><br>
>>>><br>
>>>><br>
>>>> Andre,<br>
>>>> I think your project proposal looks good, but I wonder if including<br>
>>>> USB support is too much. There are low level "bare metal" USB<br>
>>>> examples out there for the Raspberry Pi, and that may serve as a<br>
>>>> starting point, but I think a real USB implementation will use the<br>
>>>> BSD library that has been ported to RTEMS. It may be possible,<br>
>>>> since<br>
>>>> there is a FreeBSD port to the Raspberry Pi. Maybe others can help<br>
>>>> here.<br>
>>>><br>
>>>><br>
>>>> I will take a look into this.<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> If you think that GPIO, SPI, and I2C are not enough, then you could<br>
>>>> always look at the framebuffer or SD card access.<br>
>>>><br>
>>>><br>
>>>> Yes, right now I am trying to clarify everything the best I can so<br>
>>>> I<br>
>>>> don't end up with a lot more (or less) work than I can handle.<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> Finally, it may be necessary to have an Raspberry Pi and a few<br>
>>>> peripherals. For example, I have an inexpensive I2C compass module<br>
>>>> that I use with linux, and I have a breadboard wired up with LEDs<br>
>>>> to<br>
>>>> test GPIO.<br>
>>>><br>
>>>><br>
>>>> Right now I have access to a Raspberry Pi at the university, not<br>
>>>> sure<br>
>>>> about the peripherals though. Anyway, if this projects really goes<br>
>>>> forward I will get myself a raspberry and peripherals (I have<br>
>>>> already some other components, like a breadboard, leds, wire, etc).<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> Thanks,<br>
>>>> Alan<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> On Thu, Mar 13, 2014 at 8:32 PM, Alan Cudmore <<br>
>>>> <a href="mailto:alan.cudmore@gmail.com">alan.cudmore@gmail.com</a> > wrote:<br>
>>>><br>
>>>><br>
>>>><br>
>>>> I'm glad there is interest in this project. Andre, I will read your<br>
>>>> proposal and provide feedback.<br>
>>>> Joel, I was on the melange site and the system recognizes my<br>
>>>> account.<br>
>>>> Do I need to do anything to be a mentor for RTEMS?<br>
>>>> Alan<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> On Thu, Mar 13, 2014 at 7:31 PM, Andre Marques <<br>
>>>> <a href="mailto:andre.lousa.marques@gmail.com">andre.lousa.marques@gmail.com</a> > wrote:<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> It is now on melange too.<br>
>>>><br>
>>>> --André Marques.<br>
>>>><br>
>>>><br>
>>>><br>
>>>> On 03/13/14 23:21, Hesham Moustafa wrote:<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> Hi Andre,<br>
>>>><br>
>>>><br>
>>>> I quote from RTEMS SoC page :<br>
>>>><br>
>>>> "GSOC STUDENTS! PLEASE FILL IN THE APPLICATION AT<br>
>>>> <a href="http://www.google-melange.com" target="_blank">http://www.google-melange.com</a> ! YOU CAN EDIT UNTIL THE DEADLINE!<br>
>>>> BUT<br>
>>><br>
>>>> YOU WILL NOT GET A SLOT IF YOU DO NOT APPLY THROUGH Google!!!"<br>
>>>><br>
>>>><br>
>>>> Regards,<br>
>>>> Hesham<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> On Fri, Mar 14, 2014 at 1:16 AM, Andre Marques <<br>
>>>> <a href="mailto:andre.lousa.marques@gmail.com">andre.lousa.marques@gmail.com</a> > wrote:<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> Hello,<br>
>>>><br>
>>>> I just posted the first proposal draft for "Raspberry Pi BSP<br>
>>>> Peripherals " in the RTEMS Wiki<br>
>>>><br>
>>>> <a href="http://wiki.rtems.org/wiki/index.php/RTEMSSummerOfCode" target="_blank">http://wiki.rtems.org/wiki/index.php/RTEMSSummerOfCode</a><br>
>>>><br>
>>>> Any feedback is more than welcome. Should I post it already in<br>
>>>> melange too?<br>
>>>><br>
>>>> --André Marques.<br>
>>>><br>
>>>><br>
>>>><br>
>>>> On 03/13/14 15:26, Joel Sherrill wrote:<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> On 3/13/2014 9:46 AM, Andre Marques wrote:<br>
>>>><br>
>>>><br>
>>>><br>
>>>> Hello,<br>
>>>><br>
>>>> I would be very interested in working in this project because I'm<br>
>>>> currently trying to work with Raspberry Pi and RTEMS for my<br>
>>>> undergraduate thesis, so this could be a great followup to that for<br>
>>>> the summer.<br>
>>>><br>
>>>> I will need to do some reseach on it before making a proposal (the<br>
>>>> time is also gettting shorter), but will post a proposal draft very<br>
>>>> soon.<br>
>>>><br>
>>>> This would be a great area to work. As Alan says, the list is<br>
>>>> likely<br>
>>>> too much for<br>
>>>> one student, so it seems likely that the work could be divided for<br>
>>>> two students<br>
>>>> working on different parts.<br>
>>>><br>
>>>> For the Pi Master list, I would like to add the Geert board. That<br>
>>>> looks like something<br>
>>>> of interest to RTEMS folks.<br>
>>>><br>
>>>> --joel<br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> --André Marques.<br>
>>>><br>
>>>> On 03/13/14 11:23, Alan Cudmore wrote:<br>
>>>><br>
>>>><br>
>>>><br>
>>>> ( I posted this to the rtems-devel list by mistake, my apologies<br>
>>>> for<br>
>>>> the duplicate message )<br>
>>>><br>
>>>><br>
>>>><br>
>>>> f there are still potential GSOC students out there looking for a<br>
>>>> project, I would like to offer a potential project to work on:<br>
>>>> Improving the Raspberry Pi BSP. I would be happy to mentor a<br>
>>>> student<br>
>>>> for this project. Below is my description for the task.<br>
>>>><br>
>>>><br>
>>>> Thanks,<br>
>>>> Alan<br>
>>>><br>
>>>><br>
>>>> One of the RTEMS Open Projects is to contribute a BSP or Board<br>
>>>> Support Package for readily available boards. The Raspberry Pi is<br>
>>>> probably the most available board at $25 and $35 USD, and there<br>
>>>> have<br>
>>>> been over two million of these boards sold. The RTEMS head (4.11)<br>
>>>> currently has a basic BSP for the Raspberry Pi, supporting the CPU,<br>
>>>> a single UART, and timer. It is enough to run some basic RTEMS<br>
>>>> programs, but expanding the BSP to support peripherals will make it<br>
>>>> much more useful.<br>
>>>> For this project, the GSOC student could improve the peripheral<br>
>>>> support for the Raspberry Pi BSP.<br>
>>>> The peripherals we need to support (in order of increasing<br>
>>>> difficulty) include:<br>
>>>> 1. GPIO (This has been done by one user, but is not integrated)<br>
>>>> 2. I2C Bus<br>
>>>> 3. SPI Bus<br>
>>>> 4. Secure Digital card read and write support (using the SPI bus)<br>
>>>> 5. Graphics / RTEMS Framebuffer Support (I have a graphics demo<br>
>>>> working in an RTEMS task)<br>
>>>> 6. USB Device support<br>
>>>> 7. HDMI/Graphics console (Requires framebuffer support and USB or<br>
>>>> GPIO connected keyboard device)<br>
>>>> 8. Ethernet network support (Requires USB support)<br>
>>>> The entire list is probably too much for a single student to<br>
>>>> accomplish, so we can adjust the list of work according to what is<br>
>>>> possible.<br>
>>>><br>
>>>><br>
>>>> It may also be a good idea to add support for both models of the<br>
>>>> Raspberry Pi (256MB and 512MB) and be able to configure the memory<br>
>>>> map in the BSP to match the boot time split between the CPU and GPU<br>
>>>> memory.<br>
>>>><br>
>>>><br>
>>>> Finally, in order to do some of this coding, it may be necessary to<br>
>>>> come up with a more efficient way to load and debug code on the<br>
>>>> Raspberry Pi. Options include using U-boot or connecting a JTAG<br>
>>>> debug device to load code.<br>
>>>><br>
>>>><br>
>>>><br>
>>>> _______________________________________________<br>
>>>> rtems-users mailing list <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br>
>>>> <a href="http://www.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
>>>><br>
>>>> --<br>
>>>> Joel Sherrill, Ph.D. Director of Research & Development<br>
>>>> joel.sherrill@OARcorp.com On-Line Applications Research<br>
>>>> Ask me about RTEMS: a free RTOS Huntsville AL 35805<br>
>>>> Support Available <a href="tel:%28256%29%20722-9985" value="+12567229985">(256) 722-9985</a><br>
>>>><br>
>>>> _______________________________________________<br>
>>>> rtems-users mailing list<br>
>>>> <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br>
>>>> <a href="http://www.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> _______________________________________________<br>
>>>> rtems-users mailing list<br>
>>>> <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br>
>>>> <a href="http://www.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>><br>
>>>> _______________________________________________<br>
>>>> rtems-users mailing list<br>
>>>> <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br>
>>>> <a href="http://www.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
>>>><br>
>>> --<br>
>>> Pierre FICHEUX -/- CTO OW/OWI, France -\- <a href="mailto:pierre.ficheux@openwide.fr">pierre.ficheux@openwide.fr</a><br>
>>> <a href="http://ingenierie.openwide.fr" target="_blank">http://ingenierie.openwide.fr</a><br>
>>> <a href="http://www.linuxembedded.fr" target="_blank">http://www.linuxembedded.fr</a><br>
>>> I would love to change the world, but they won't give me the source<br>
>>> code<br>
>>><br>
>>><br>
>> --<br>
>> Pierre FICHEUX -/- CTO OW/OWI, France -\- <a href="mailto:pierre.ficheux@openwide.fr">pierre.ficheux@openwide.fr</a><br>
>>                                          <a href="http://ingenierie.openwide.fr" target="_blank">http://ingenierie.openwide.fr</a><br>
>>                                          <a href="http://www.linuxembedded.fr" target="_blank">http://www.linuxembedded.fr</a><br>
>> I would love to change the world, but they won't give me the source code<br>
>><br>
>> _______________________________________________<br>
>> rtems-users mailing list<br>
>> <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br>
>> <a href="http://www.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
><br>
> --<br>
> Joel Sherrill, Ph.D.             Director of Research & Development<br>
> joel.sherrill@OARcorp.com        On-Line Applications Research<br>
> Ask me about RTEMS: a free RTOS  Huntsville AL 35805<br>
> Support Available                <a href="tel:%28256%29%20722-9985" value="+12567229985">(256) 722-9985</a><br>
><br>
> _______________________________________________<br>
> rtems-users mailing list<br>
> <a href="mailto:rtems-users@rtems.org">rtems-users@rtems.org</a><br>
> <a href="http://www.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://www.rtems.org/mailman/listinfo/rtems-users</a><br>
</div></div></blockquote></div><br></div>