Re: New Pi Quad Core

2015-03-05 Thread alan.cudmore
I think this will be possible. I just tried a few bare metal assembly demos on 
the Pi A+ and Pi2 and it looks like even without the published CPU datasheet, 
they have things figured out.


For example: An assembly SMP NEON fractal demo:

https://github.com/PeterLemon/RaspberryPi/tree/master/SMP/NEON/Fractal/Julia



Another interesting thing: The same SD card firmware works for both the Pi and 
Pi2. The Pi2 boots kernel7.img, and the pi looks for kernel.img. 



Alan








From: Joel Sherrill
Sent: ‎Thursday‎, ‎March‎ ‎5‎, ‎2015 ‎1‎:‎42‎ ‎PM
To: rtems-de...@rtems.org, Alan Cudmore





Hi

I am going to go back on what I said earlier. The online discussion
seems to indicate that the BCM2836 has the same peripherals
as the BCM2835 on the previous Pi Models. But they are at
physical address 0x3F00 rather than the 0x2000.
The CPU core is a different ARM level.

Since people are having luck on the net and the source
for Linux can always be consulted if there are specific
register issues we can't figure out, I *THINK* that a
BSP variant for this makes sense as a GSoC project.

That would be an additional project to bring up the single
core as step 1, support SMP and test drivers done on other
single core Pi project. Maybe by the end of the summer ,
both can be supported with the same driver set.

-- 
Joel Sherrill, Ph.D. Director of Research & Development
joel.sherr...@oarcorp.comOn-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available(256) 722-9985___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: GSOC2015 idea Raspberry Pi BSP

2015-03-05 Thread alan.cudmore
Sounds like a good approach. 

There is a wealth of code out there, but much of it uses a license that is 
incompatible with RTEMS. 

If we did not consider the license, I think we could have graphics, USB, 
network, etc working pretty quickly.


Good resources here, but not directly useable:


Graphics, mailbox, SMP, etc:

https://github.com/PeterLemon/RaspberryPi


Bare metal USB library with Ethernet support:

https://github.com/rsta2/uspi


Uboot also has support for the Pi with Ethernet and SD card support.


Alan








From: QIAO YANG
Sent: ‎Thursday‎, ‎March‎ ‎5‎, ‎2015 ‎4‎:‎18‎ ‎PM
To: Andre Marques
Cc: Joel Sherrill, Alan Cudmore, Gedare Bloom, rtems-de...@rtems.org





With official documents and elinux wiki , we can find lots of details of 
different RPI model. Including chip datasheets , layout, and pin definitions 
etc...

For the moment, I've got a B and B+. So I think maybe I can start by building 
RTEMS and load it with uboot, check out the code for gpio and i2c , and maybe 
adapt the i2c driver with the new library.

I'll keep you updated if I've got stucked or made any progress :) .

Thanks for all helps!!

> 在 2015年3月5日,18:36,André Marques  写道:
> 
>> On 05-03-2015 16:46, Joel Sherrill wrote:
>> 
>>> On 3/5/2015 10:40 AM, Alan Cudmore wrote:
>>> The list below is still pretty good.
>>> Items 1 - 3 were done by Andre last summer, but we still don't have them
>>> in the git repository. The RTEMS I2C API has changed and we were going
>>> to try to move the I2C implementation to the new Linux based API.
>> So the API needs to change on I2C. What else remains to do to merge Andre's
>> work? Is this the first step of a 2015 project?
> 
> I have been working on and off Pavel's interrupt handling suggestions 
> (https://lists.rtems.org/pipermail/devel/2014-October/008911.html) for the 
> GPIO code, and soon enough will post a patch with those.
> 
> I2C support is done but the end of GSOC coincided with the release of the new 
> I2C API, so it is on hold until it is ported to the new API.
> 
> As far as SPI is concerned it was not merged because we were trying to merge 
> the three at the same time.
> 
>> I am guessing that USB and then the NIC are high on the list. Does FreeBSD
>> support the Pi? That would make it easier. This assumes the new TCP/IP
>> stack.
>> 
>> FWIW we need to make sure Andre's final write up is linked to from GSOC 2014
>> and the next Pi activities get their own project page for 2015.
>>> I still think that having complete Raspberry Pi support would be great
>>> for RTEMS, and RTOS education in general.  The Pi has worldwide
>>> availability, and is probably the least expensive target board that can
>>> run RTEMS.
>>> Having a non-simulated RTEMS board that has network, file system, and
>>> now even SMP support for $35 USD would be amazing.
>> +1
>> 
>> I haven't looked much. Does it have JTAG support even via soldering?
>>> Now the new Pi2 with a Quad Core ARM7 and the HAT add on board standard,
>>> the Pi is even better for real applications such as this Navigation board:
>>> http://www.emlid.com/
>> Is the SoC documentation available?
> 
> As far as peripherals go there should not be a difference between the Pi 1 
> and 2 (from what I could understand). It may be just a matter of changing 
> register addresses, but I have no Pi 2 to check that yet.
> 
>> Would it be better to complete the Pi or start a Pi v2 BSP? The last I
>> knew the
>> Pi V2 SoC documentation wasn't public yet so it isn't an option yet.
>> 
>> On general principle, I like the idea of finishing the Pi V1 BSP. If info is
>> available and we can support it, a project to complete V1 and start V2
>> BSP is a good one.
>> 
>>> Alan
>>> 
 On 3/5/2015 9:28 AM, Gedare Bloom wrote:
 Hello Yang Qiao,
 
 There is the future work listed in that page, and there are some other
 project ideas for raspberry pi. There also could be the opportunity to
 support the raspberry pi 2.
 
 The original list of open Raspberry Pi projects were:
 Peripherals we need to support (in order of increasing difficulty):
 1. GPIO (This has been done by one user, but is not integrated)
 2. I2C Bus
 3. SPI Bus
 4. Secure Digital card read and write support (using the SPI bus)
 5. Graphics / RTEMS Framebuffer Support (I have a graphics demo
 working in an RTEMS task)
 6. USB Device support
 7. HDMI/Graphics console (Requires framebuffer support and USB or GPIO
 connected keyboard device)
 8. Ethernet network support (Requires USB support)
 
 Finally, in order to do some of this coding, it may be necessary to
 come up with a more efficient way to load and debug code on the
 Raspberry Pi. Options include using U-boot or connecting a JTAG debug
 device to load code.
 
 I don't know the status of all of the above, but I think there is
 still a lot to do in #5-8.
 
 Gedare
 
> On Thu, Mar 5, 2015 at 4:28 AM, QIAO YANG