Skip to content

Added board configs for Aria G25 from Acme Systems#2

Closed
jbro wants to merge 6 commits into
linux4sam:masterfrom
Seluxit:master
Closed

Added board configs for Aria G25 from Acme Systems#2
jbro wants to merge 6 commits into
linux4sam:masterfrom
Seluxit:master

Conversation

@jbro
Copy link
Copy Markdown

@jbro jbro commented Sep 26, 2013

Extracted from Acme Systems fork:
https://github.com/tanzilli/at91bootstrap

@voodoovood
Copy link
Copy Markdown

Hello,
I have one question. There is need on at91 processors, eveon on aria g25 set mac address during bootstrapping. Have you think about that, or i will start to develope this?

@bandtank
Copy link
Copy Markdown

bandtank commented Nov 4, 2013

@jbro There are a bunch of things in Sergio's fork that you didn't add such as the defaults in Config.in. Why did you leave those out? They look to be pretty critical, e.g.

default "0x8000000" if CONFIG_AT91SAM9X5EK || CONFIG_AT91ARIAG25 || CONFIG_AT91SAM9N12EK

There are three other changes in that file as well. I understand why you left out the changes in load_kernel.c (not necessary anymore) and ddramc.c (should be added later I think). I'm going to start pushing on the devs of the main repo to see why they won't pull your changes, but I'd like to make sure we have as much as possible included in the pull first.

@jbro
Copy link
Copy Markdown
Author

jbro commented Nov 4, 2013

That does seems important,but I think that change came in after I did my clean up. What I specifically did, was to take a diff between linux4sam/at91bootstrap and tanzilli/at91bootstrap, and remove everything that wasn't configuration specific. Because I didn't want to take credit for any improvements tanzilli did to at91bootstrap. I'll redo the process to get in the most recent changes to tanzilli's repos. And maybe do the ddram change as a different pull request.

@evensonbryan
Copy link
Copy Markdown

@voodoovood

Have you been working on adding support for programming the MAC address? If so, do you need any help? I'm interested in reading the MAC address from a I2C EEPROM and setting it from the bootstrap. If someone is leading the effort and is looking for additional contributions, let me know.

@noglitch
Copy link
Copy Markdown
Member

noglitch commented Nov 7, 2013

@evensonbryan isn't it a task for the next bootloader (u-boot or barebox) to retrieve a MAC address? I also think that we can pass it to the Linux kernel into the property of Device Tree.

@noglitch
Copy link
Copy Markdown
Member

noglitch commented Nov 7, 2013

@jbro It seems that the fixes included in this pull request are already included in the latest revision of AT91Bootstrap. Am I right?
@jbro and @bandtank , We haven't planned to integrate support for other boards in the Atmel AT91Bootstrap. But, as always when I see contributions to an Open Source project, I feel the need for including these contributions to the mainline.
In conclusion, I am thinking of a way to adding such non-Atmel boards to the official AT91Bootstrap: maybe a kind of "contrib" directory at the root of the source code directory tree can be an option. It may collect boards from manufacturer and contributors which are committed to Open Source which I think is nice.

@jbro
Copy link
Copy Markdown
Author

jbro commented Nov 7, 2013

@noglitch the fixes in this pull-request should be Aria G25 support only (there are some other changes at @tanzilli's repo, however I don't think I have the necessary insight to evalute them. With regards to including non-Atmel boards, I think it would be very useful, so people don't have keep track of multiple repos and patch-sets.

@evensonbryan
Copy link
Copy Markdown

@noglitch

U-Boot and barebox are capable of passing a MAC address to the kernel via the Device Tree, but I'm unaware of any feature in either to read an EEPROM to figure out what the MAC address should be. For example, tell U-Boot that the MAC address for eth0 resides at address 0x60 on the I2C EEPROM at I2C address 0x2 (or at address 0x30 of the SPI EEPROM at SPI chip select 1). That way for a production setup, each board can self-discover its MAC address.

Is there a feature like that in U-Boot or barebox? Or, is there one being worked on that is planned? If none existed, I was considering working on adding it to the at91bootstrap since it can boot directly to the Linux kernel. For our production setup, U-Boot and barebox aren't adding much functionality and add a couple seconds to boot time; may as well bypass them if we don't need them.

@giovannimanzoni
Copy link
Copy Markdown

Hello, this patch of Sergio Tanzilli https://raw.githubusercontent.com/AcmeSystems/acmepatches/master/at91bootstrap-3.7.patch is not usable:

patching file board/Config.in
Hunk #1 FAILED at 21.
Hunk #2 FAILED at 43.

patching file driver/ds24xx.c
Hunk #1 FAILED at 712.
Hunk #2 FAILED at 769.
Hunk #3 FAILED at 921.

Solution:

  1. files Config.in.boardname are not needed
  2. update Config.in files

board/at91sam9x5_aria/Config.in

config CONFIG_AT91SAM9X5_ARIA
bool "at91sam9x5_aria"
select AT91SAM9X5
[..]

board/at91sam9x5_arietta/Config.in

config CONFIG_AT91SAM9X5_ARIETTA
bool "at91sam9x5_arietta"
select AT91SAM9X5
[..]

board/sama5d3_acqua/Config.in

config CONFIG_SAMA5D3_ACQUA
bool "sama5d3_acqua"
select SAMA5D3X

  1. patch to driver/ds24xx.c is not needed
  2. patch driver/board_hw_info.c with what was do for ds24xx.c, you have to add

#elif defined(CONFIG_AT91SAM9X5_ARIA)
/* at91sam9x5_aria
* CPU Module: SAM9X25-CM, EMBEST
* Display Module: SAM9x5-DM, FLEX
* EK Module: SAM9x5-EK, FLEX
*/
board_id_cm = BOARD_ID_SAM9X25_CM;
board_id_dm = BOARD_ID_SAM9x5_DM;
board_id_ek = BOARD_ID_SAM9X5_EK;
vendor_cm = VENDOR_EMBEST;
vendor_dm = VENDOR_FLEX;
vendor_ek = VENDOR_FLEX;

#elif defined(CONFIG_AT91SAM9X5_ARIETTA)
/* at91sam9x5_arietta
* CPU Module: SAM9X25-CM, EMBEST
* Display Module: SAM9x5-DM, FLEX
* EK Module: SAM9x5-EK, FLEX
*/
board_id_cm = BOARD_ID_SAM9X25_CM;
board_id_dm = BOARD_ID_SAM9x5_DM;
board_id_ek = BOARD_ID_SAM9X5_EK;
vendor_cm = VENDOR_EMBEST;
vendor_dm = VENDOR_FLEX;
vendor_ek = VENDOR_FLEX;

I Hope I was clear

@giovannimanzoni
Copy link
Copy Markdown

and than when compile,
AS /home/gio/acme/ARIA/normal/bootloader_at91/mio/crt0_gnu.S
CC /home/gio/acme/ARIA/normal/bootloader_at91/mio/main.c
CC /home/gio/acme/ARIA/normal/bootloader_at91/mio/board/at91sam9x5_aria/at91sam9x5_aria.c
/home/gio/acme/ARIA/normal/bootloader_at91/mio/board/at91sam9x5_aria/at91sam9x5_aria.c:47:26: fatal error: onewire_info.h: No such file or directory
compilation terminated.

@wenyouyang
Copy link
Copy Markdown

Hi,

You patch file is not based on the AT91Bootstrap latest version.
Many changes have happened from ...

The right way, I think, fetch the latest one for your base to develop your own board.
The attached file you can try to compile, it is OK on my side.

It is based on the latest version, v3.8-beta1.

BTW, there is a dedicated directory, contrib, for the contributions from the customers.

I strongly suggest to put your board code under this directory.

Thank you for your support.

Best Regards,
Wenyou Yang

0001-Add-new-boards-support.patch.txt

alozewski pushed a commit to alozewski/at91bootstrap that referenced this pull request May 6, 2016
@noglitch
Copy link
Copy Markdown
Member

noglitch commented Jun 7, 2016

Acme systems boards are now included in the "contrib" directory.
We can close this PR.

@noglitch noglitch closed this Jun 7, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

7 participants