public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] arm: General questions for new board support: Aspeed AST2400
@ 2016-06-03 16:29 Teddy Reed
  2016-06-03 23:02 ` Marek Vasut
  0 siblings, 1 reply; 2+ messages in thread
From: Teddy Reed @ 2016-06-03 16:29 UTC (permalink / raw)
  To: u-boot

Hello everyone!

I've been working on board support for Apeed's AST2400 SoC. Myself and
several other board users are just about finished with a cleanup up
the vendor's SDK code, trying to transform it into something capable
of merging into mainline.

This SoC is used as the Open Compute OpenBMC implementation for
Facebook and IBM's boards. The AST2400 is used in 5+ board
configurations that I know of, 4 of which are also Open Compute
platforms. If you're curious, my WIP branch is here:
https://github.com/theopolis/u-boot-openbmc/commits/v2016.03-openbmc-r3
and tells a very short story about the refactoring and merging of
Facebook's Open Compute board configurations.

There's quite a bit of code there, about 3000+ LoC for the AST2400
ARM926EJS CPU, its platform initialization, DDR3 calibration, and
I2C/NIC drivers. If you don't mind, I'd like some feedback on how to
move forward with merging board support. :)

My (very basic) plan would be to submit a 'large' patch that includes
the CPU/board initialization code, along with the 4 board
configurations. In subsequent patches we can merge the I2C and NIC
support. I2C and the NIC drivers aren't critical to the OpenBMC
platform within U-Boot so they are less of a priority, though still a
nice to have. That initial patch will include the ARM ASM DDR3
calibration code, and some not-so-best-practices within platform
initialization (pre-C runtime). There is a reason for this, though it
maybe not the best one. One of the boards, the Open Compute Yosemite,
controls several compute nodes, and depending on some GPIO
configuration will need to redirect 'very' early UART messages.

The DDR3 calibration is needed to support the several variations of
the AST2400. If it is not possible to merge this code for one reason
or another I would need to perform some serious coordination between
the board users. The SoC specification is unfortunately under NDA so
collecting and testing calibration values from the various board users
is not something I feel safe shouldering.

If we are able to merge given these two considerations it will allow
both the Facebook and IBM teams to iterate and track development much
quicker, it would be awesome! I know of several other forks that are
improving and adding Aspeed-related drivers. There are also upcoming
development teams interested in OpenBMC work that would love having
the AST2400 code in mainline too. And, in the near future a newer
AST2500 will come on online-- and would benefit from having the
AST2400 code to iterate upon. The AST2400 boards will remain in a
production capacity for next 3/4 years so we need both.

Thanks so much in advance!
-Teddy

-- 
Teddy Reed V

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-06-03 23:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-03 16:29 [U-Boot] arm: General questions for new board support: Aspeed AST2400 Teddy Reed
2016-06-03 23:02 ` Marek Vasut

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox