Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add AST2050 platform (KGPE-D16/KCMA-D16 motherboards) #133

Open
tlaurion opened this issue Feb 7, 2019 · 10 comments
Open

Add AST2050 platform (KGPE-D16/KCMA-D16 motherboards) #133

tlaurion opened this issue Feb 7, 2019 · 10 comments
Labels
enhancement New feature or request help wanted Extra attention is needed new board Support for new hardware

Comments

@tlaurion
Copy link

tlaurion commented Feb 7, 2019

This OpenBMC port for the KGPE-D16 and KCMA-D8 works but is left unmaintained.

PCB plans for the ASMv4 have been open sourced.
PCB can be ordered online here.

Let's remember that the KGPE-d16 (and KCMA-d8) are the last FSF' RYF certifiable x86 motherboards, containing zero binary blobs.

The KGPE-D16 has been ported to Heads and measured boot works without a TPM for the moment(works with LibremKey), until coreboot 4.9.1 measured boot @zaolin work is merged upstream. and has measured boot under coreboot 4.11 under Heads tree in workstation and server boards configs even with USB HID at boot (USB keyboard).

@bluecmd bluecmd added enhancement New feature or request help wanted Extra attention is needed new board Support for new hardware labels Feb 7, 2019
@bluecmd
Copy link
Contributor

bluecmd commented Feb 7, 2019

Thanks for the issue, definitely seems like a cool board to support.

From the old port there are some data available: 1 2 3

This email says the AST2050 uses ARM926EJ which should be what the AST2400 series uses. However, I'm not sure if it's so close that you could boot a Linux kernel using the AST2400 configuration, and I'm not sure what the AST2050 mainline situation is. The linked kernel appears to be 2.6.x series, which sadly makes it quite a burden to update.

I would say that the next step is to look at how the QEMU and Kernel situation is in terms of this particular SoC and then make sure those are supported upstream.

EDIT: If anyone is interesting in purchasing this board + CPUs, they seem to go for quite cheap at eBay.

@tlaurion
Copy link
Author

@bluecmd : what would be needed to port to this board from knowledgeable people? HW?

@bluecmd
Copy link
Contributor

bluecmd commented Feb 21, 2019

HW ideally, an emulator like qemu would also be acceptable.

@tlaurion
Copy link
Author

@bluecmd

I would say that the next step is to look at how the QEMU and Kernel situation is in terms of this particular SoC and then make sure those are supported upstream.

Please point me to a minimal starting point and i'll try to test this myself!

@bluecmd
Copy link
Contributor

bluecmd commented Mar 24, 2019

Sure, I'd love to help. Are you thinking of pursuing hardware or emulation?

In either case, compiling and getting a modern Linux kernel to boot on the BMC SoC is a good first task. If you managed to do that everything else is just hooking it up to the build system.

One good first step might be to build an u-boot image and burn it to the BMC and make sure you have access to a bootloader for debugging. u-bmc is not using u-boot by itself, but getting u-boot up is a standard thing for these types of SoCs so that should be a good start.

@bluecmd
Copy link
Contributor

bluecmd commented Apr 8, 2019

Coreboot seems to have ast2050 support as well, so might be a good lead: https://github.com/coreboot/coreboot/tree/master/src/drivers/aspeed/ast2050

@tlaurion
Copy link
Author

tlaurion commented Apr 9, 2019

Sure, I'd love to help. Are you thinking of pursuing hardware or emulation?

@bluecmd hardware for sure!

Sent from my Galaxy S3 using FastHub-Libre

@pkubaj
Copy link

pkubaj commented Oct 3, 2019

The drivers for ast2050 are out-of-tree and only for 2.6.29.6. I tried to upgrade the kernel and managed to get only 2.6.30.10 (https://github.com/pkubaj/ast2050-linux-kernel/tree/linux-2.6.30.10). 2.6.31 compiles, but doesn't boot and I have no JTAG soldered, so can't check why it doesn't boot.

Newer kernels differ a lot, the driver has been completely rewritten and so would have to support for ast2050. AFAIR the oldest supported ast is ast2400.

@macpijan
Copy link

@pkubaj We are looking into that (how much effort would it be to bump the patches to the current mainline kernel) as part of this effort:linuxboot/heads#719

Just wanted to reach out if you have tried anything more than what you reported here.

The oldest supported ASPEED SoC is in fact AST2400 currently. What might be worth to note that it also has ARM926 (just with higher clock) so it may be not that far from AST2050 (?)

The AST2400 is 2 generations newer (marked as Gen 4, while the AST2050 is marked as Gen 2 SoC).

@pkubaj
Copy link

pkubaj commented Aug 25, 2021

No, I abandoned this effort since I don't have JTAG on my board and have no experience whatsoever with soldering.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed new board Support for new hardware
Projects
None yet
Development

No branches or pull requests

4 participants