Skip to main content
Topic: assembling code name Robert (Read 26994 times) previous topic - next topic

Re: assembling code name Robert

Reply #15
[quote author="tayken"]Had lots of problems on Win 7, I kept getting errors while trying to compile a design with one of the regular config files. Managed to get my hands on my Linux laptop and that one has no problems. Now I can write a config for testing. Any specific needs?

If need arises, I have a decent Intel i5 with Ubuntu at lab, can use that for long compiles during the day. The problem is no ftp access, blocked by university.[/quote]

dataflash is on spi0 cs0 at45db321

sram is mt48lc4m16a

leds are pc31,30,29

nothing other than that for right now

Re: assembling code name Robert

Reply #16
I wish I would have known about this thread earlier. I am VERY VERY familiar with at91bootstrap, u-boot, and buildroot.
FWIW: do not use ubuntu 11.10 to do the buidlroot compiles. ubuntu 11.04 and 10.10 work just fine though. (Debian, fedora, centos should work too)

I currently maintain custom buildroots for an at91sam9g20-evk, at91sam9g20 (custom board), at91sam9g45 (custom board), and atngw100.

Unfortunately I have not ordered my parts yet, *BUT* I am willing to build these for you. Also, If a few people need shell access to my build system I can set that up. (Dual Xeon E5310, 10GB ram, plenty of HD space) I would want a username, and a ssh public key (for login). Then I can setup a random password you can change on first login. Just email/PM me. (https://github.com/jcwoltz/E10-buildroot

At this point I think a github repo would be worthwhile for tracking changes to the buildroot environment and allow multiple collaborators. It doesn't matter to me if I set it up, or someone else does and adds collaborators. (Then put final uImage/rootfs/bootstrap/u-boot into dangerous prototype SVN). The reason I recommend git for this is the ease git can format and create packages.

I can build a at91bootstrap, u-boot, minimal uImage, and rootfs tonight. (as a starting point). The only thing that will take a little bit of time is so I can comb though the sch to make the board-robert.c file that contains flash mappings, gpio mappings, etc.

Has anyone registered for an ARM board id? http://www.arm.linux.org.uk/developer/machines/
This will be needed, as is a simple process.

I will post back tomorrow with files. Is someone willing to test these as I release these? (That is until I can order parts and assemble my board)

Re: assembling code name Robert

Reply #17
@jcwoltz

i have a semi complete board, it will connect to the sam-ba with usb and serial.

waiting for the high precision resistors for the phy, so i cant test net,

the build time is really reasonable on the vm i have set up at home.

Re: assembling code name Robert

Reply #18
[quote author="jcwoltz"]Has anyone registered for an ARM board id? http://www.arm.linux.org.uk/developer/machines/
This will be needed, as is a simple process.[/quote]

i have registered this board as the DP1 it is at the bottom of the list line # 3833

Re: assembling code name Robert

Reply #19
[quote author="sqkybeaver"]@jcwoltz

i have a semi complete board, it will connect to the sam-ba with usb and serial.

the build time is really reasonable on the vm i have set up at home.[/quote]
@sqkybeaver,
I dont know how familiar you are with buildroot, at91bootstrap, u-boot, and every thing else....

I have started working on this:
https://github.com/jcwoltz/cn-robert-buildroot

I can add people as contributors. Tonight (currently 4:17 pm where I am now) I will patch at91bootstrap, u-boot, kernel, etc.
Tomorrow morning I should have working patches and builds. I will post them someone (with a link).

Feel free to clone that repo, then in the morning do a pull. This is essentially a fresh repo with no modifications yet. I am about to go through sch, so I can get the GPIOS, network, flash, etc.....

Re: assembling code name Robert

Reply #20
[quote author="jcwoltz"]This is essentially a fresh repo with no modifications yet. I am about to go through sch, so I can get the GPIOS, network, flash, etc.....[/quote]

to start off with i'd like a memory test, possibly something that can be used for a self test during manufacture.

Re: assembling code name Robert

Reply #21
[quote author="sqkybeaver"]to start off with i'd like a memory test, possibly something that can be used for a self test during manufacture.[/quote]

I understand that. The best way I know HOW to do that is by loading up at91bootstrap, then u-boot. From u-boot it is much easier to test memory with a "u-boot application". Also u-boot will then allow you to to load images over ethernet. Obviously this is not a full test of the PHY, but will let you know if it works.

I have a couple of questions and frustrations as I am working through linux kernel patches. (Yes, I work backwords. Kernel -> U-boot -> at91bootstrap, as the information flows better that way for me).

I will update my repo when done with current iteration of kernel patch.
I have modified arch/arm/tools/mach-types with this line:
dp1arm9                MACH_DP1ARM9            DP1ARM9                3833
I have modified arch/arm/mach-at91/Kconfig with:
config MACH_DP1ARM9
        bool "dangerous prototypes first linux compatible board"
        help
          Select this if you are using a dangerous prototypes
          first linux compatible boardl. 91sam9260
          <http://dangerousprototypes.com/docs/Robert:_AT91SAM9260_Linux_development_board >
I have modified arm/arm/mach-at91/Makefile with:
obj-$(CONFIG_MACH_DP1ARM9)      += board-dp1arm9.o

I copied board-sam9260.c to board-dp1arm9.c and making the appropriate changes. Using schematic to collect most information. However, I do have a few questions:
Debug uart is hooked up, and will be ttyS0 as default and for console
uart 0,1,2 are hooked up and will be ttyS1, ttyS2, and ttyS3. (Uart4 not wired to anything)
I only see 1 usb host port hooked up (as opposed to 2 in the 9260evk)
The usb device port has the vbus pin on PA26 (as opposed to PC5 on the 9260evk)
no audio devices, so removed from board info
DataFlash is on bus 0 with chip select 0
Without digging into datasheet (yet) it appears the mmc is not on SPI0 CS1.
No Nand flash, so ripped out


Now the Questions:
I do not see the phy_irq_pin, it is PA7 on the 9260 EVK. Is there a phy_irq_pin?
Is the PHY RMII?
I added LED1,LED2, and LED3 to PC31, PC30, and PC29. With led3 initially setup in heartbeat mode. Do you want more pins setup as leds?
Do you want any GPIOs setup as buttons?
Are there any I2C devices onboard to add to kernel? (RTC, EEPROM, etc)


Once I know the ethernet stuff ESPECIALLY, I can work on U-Boot.

Re: assembling code name Robert

Reply #22
hopefully i can help at least a little.

[quote author="jcwoltz"]I only see 1 usb host port hooked up (as opposed to 2 in the 9260evk)[/quote]
the qfp version only has one host port

[quote author="jcwoltz"]The usb device port has the vbus pin on PA26 (as opposed to PC5 on the 9260evk)
[/quote]
from what i have read, the vbus pin can be hoked up to any gpio, wanted to provide access to spi1_npcs1

[quote author="jcwoltz"]Without digging into datasheet (yet) it appears the mmc is not on SPI0 CS1.[/quote]
the sd card is hoked up to mcda, and does not use spi.

[quote author="jcwoltz"]I do not see the phy_irq_pin, it is PA7 on the 9260 EVK. Is there a phy_irq_pin?
Is the PHY RMII?[/quote]
i am unsure if the irq is needed for the phy. and it is RMII.

[quote author="jcwoltz"]I added LED1,LED2, and LED3 to PC31, PC30, and PC29. With led3 initially setup in heartbeat mode. Do you want more pins setup as leds?
Do you want any GPIOs setup as buttons?[/quote]
that is fine for the leds, any remaining gpio should be setup as output

[quote author="jcwoltz"]Are there any I2C devices onboard to add to kernel? (RTC, EEPROM, etc)[/quote]
no specific devices, but it is brought out to the header, but if there is a generic way to use it that would be ideal(not priority)

[quote author="jcwoltz"]Once I know the ethernet stuff ESPECIALLY, I can work on U-Boot.[/quote]
ill pull out the data sheets and check the interrupt requirements for the specific phy.

everything else looks good.
what is the state of the repo? ready for a pull yet.

Re: assembling code name Robert

Reply #23
You can pull at any time you want....
Right now it is the basic buildroot with minor mods. In accordance to buildroot recommendations:
buildroot/board/dp/robert/
will contain all linux patches, linux config, u-boot patches, and at91bootstap patches. (Plus and root-additions or post-build.sh)
For now dangerousprototypes was too long and shortened to dp, I initially used robert, but that was before I dug into the kernel and got dp1arm9. I can change either of these, no big deal. I am about to commit the linux patch. Then move onto at91bootstrap.

*just commited buildroot/board/dp/robert/linux-3.1-patches/ * this patch will change.

Re: assembling code name Robert

Reply #24
It looks like the at91bootstrap (dataflash mode) will work mostly unchanged.

*HOWEVER* Since BMS is ties to VCC, and there is no way to chip select line from the data flash, these is no easy way to get into sam-ba mode when you need/want to. On the at91sam9260ek, they use push button 4. If you hold down button4 on powerup, it will erase the first sector of dataflash (at91bootstrap). That way you can get into samba.

I can change this so that either PC0 (X4-10) or PC1 (X4-9) can cause the same action. That way you put a jumper from GND (X4-8 and X4-7).

What do you think? Which do you prefer? I only picked those pins because there are close to GND pins on the header.

Status:
at91bootstrap almost all done.
kernel ready to test
rootfs (jffs2) ready to test
Now I need to work on u-boot.

*EDIT* I don't plan on keeping built binaries on github. However, can someone test this at91bootstrap?
https://github.com/jcwoltz/cn-robert-bu ... p1arm9.bin

go into sam-ba, connect, enable at45 dataflash, erase all, send boot file and select this file.
I will work on u-boot shortly. This version of the dataflash has debug turned on, so you should see it saying starting at91bootstrap on the debug uarts (X4-5 RX and X4-3TX). Please let me know if it works or not. I will work on u-boot.

JC

Re: assembling code name Robert

Reply #25
[quote author="jcwoltz"]I can change this so that either PC0 (X4-10) or PC1 (X4-9) can cause the same action. That way you put a jumper from GND (X4-8 and X4-7).[/quote]

either one should work fine.

i'll test the .bin shortly

thanks for all the work, i was hoping to get familiar with using buildroot and configuring it. an addition to the DP wiki would be great.

Re: assembling code name Robert

Reply #26
the most i have been able to get is the RomBOOT message from the dbgu port.

not sure if i am missing something.

Re: assembling code name Robert

Reply #27
[quote author="sqkybeaver"]the most i have been able to get is the RomBOOT message from the dbgu port.

not sure if i am missing something.[/quote]
Well, apparently when I #define CFG_DEBUG, it is not enabling the debug statements. So Unfortunately that is of no help right now. I will work on u-boot tonight/tomorrow morning. (Also work on getting debug statements to work in at91bootstrap)

I will post more info files tomorrow. (I know I said that yesterday)

Re: assembling code name Robert

Reply #28
i just pulled and will time the current build with 6 threads in vbox enabled.
it took about 1/2 hour for the first build i did.

Re: assembling code name Robert

Reply #29
[quote author="sqkybeaver"]i just pulled and will time the current build with 6 threads in vbox enabled.
it took about 1/2 hour for the first build i did.[/quote]
FYI: Kernel (uImage) and rootfs are for this board. The at91bootstrap and u-boot are not for this board. They are for the at91sam9260ek
However, as I patch them, you can do a git pull
a couple of commands and a make