Hummingboard Pulse (iMX8Q) WIP


Recommended Posts

Was in dire need of Armbian on my new toy, the HBP with a iMX8Q CPU ;-) The board features dual WWAN (PCIe + M.2) sockets for highspeed 3G/4G/5G modems with a SIM socket. The Debian build from SolidRun did not have any modem drivers enabled in the kernel so there was headache. Wipped up this WIP configuration and it builds and runs with:
```
$ ./compile.sh  BOARD=hummingboardpulse-imx8q BRANCH=legacy RELEASE=buster BUILD_MINIMAL=no BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=no
```

NOTE: It uses the HDMI and LPDDR4 binary blobs from NXP. You will get a prompt during build to accept the license.


The board is default configured to boot from SD using the Boot Select DIPs

 

 _   _ ____    ____        _            _ __  ____  _____  
| | | | __ )  |  _ \ _   _| |___  ___  (_)  \/  \ \/ ( _ ) 
| |_| |  _ \  | |_) | | | | / __|/ _ \ | | |\/| |\  // _ \ 
|  _  | |_) | |  __/| |_| | \__ \  __/ | | |  | |/  \ (_) |
|_| |_|____/  |_|    \__,_|_|___/\___| |_|_|  |_/_/\_\___/ 
                                                           
Welcome to Armbian buster with Linux 4.19.72-imx8-sr-imx8

System load:   0.41 1.82 1.38  	Up time:       29 min		
Memory usage:  4 % of 2997MB 	IP:            192.168.10.148
CPU temp:      47°C           	
Usage of /:    18% of 7.1G   	

[ General system configuration (beta): armbian-config ]

http://ix.io/27FC
 

Link to post
Share on other sites
Donate and support the project!

Cool! I was just wandering if there had an Armbian build for i.MX8M then I saw your post.

 

BTW: Do you know if there's any graphic support for i.MX8M? I'd like to try headless first and then move to HMI with LCD kiosk display.

 

Thanks & BR.

Link to post
Share on other sites

Is it just me or is the SolidRun software support really messed up?

 

https://developer.solid-run.com/knowledge-base/i-mx8m-atf-u-boot-and-linux-kernel/

 

1. They're using an old u-boot release (v2018.11-solidrun, there were another 6 new official u-boot releases since then) and when you browse to SolidRun's github you'll find another version (v2018.11-solidrun-1gb, I guess that's for the 1gb RAM version of the board?!). All SolidRun u-boot branches are abandoned (last commit 1y ago...) Also they didn't seem to make any afford to bring the Hummingboard Pulse code into the official u-boot repo (https://github.com/SolidRun/u-boot/tree/v2018.11-solidrun-1gb/board/solidrun/imx8mq_hb vs. https://gitlab.denx.de/u-boot/u-boot/-/tree/master/board/solidrun; heck it's not even in the iMX custodian repo https://gitlab.denx.de/u-boot/custodians/u-boot-imx/-/tree/master/board/solidrun)

 

2. You need to use firmware blobs from NXP (developer KB above uses firmware 7.9; NXP is at version 8.7 right now) which have no official website/no changelog/no explanation what the h* they're doing/why you need them

 

3. Linux Kernel... oh boy, this is a mess. Again developer KB above will give you solidrun-imx_4.9.x_1.0.0_ga (last update 2 years ago). But the Debian images they provide ship with kernel 4.19 (I guess it's from linux-4.19.y-nxp; last commit 9 month ago, so you're stuck with version 4.19.72 forever it seems). Then there's a lone SolidRun employee playing with kernel 5.4 (no updates again, you're stuck with 5.4.3 forever)

 

Well screw them you say, I'll just use vanilla, after all they added support for the Hummingboard Pulse in 5.4 but no! They did this half-assed because your board will boot with just the Intel ethernet interface working (compare 5.8-rc1 fec_main.c with Freescale 5.4-2.0.x-imx fec_main.c); all the imx8mq-fec stuff is still missing in vanilla kernel) 

 

All I wanted was a ARM board with 2 Ethernet ports...

Edited by ARMBirdy
Added clickable links
Link to post
Share on other sites
13 hours ago, ARMBirdy said:

They're using an old u-boot release (v2018.11-solidrun, there were another 6 new official u-boot releases since then) and when you browse to SolidRun's github you'll find another version (v2018.11-solidrun-1gb, I guess that's for the 1gb RAM version of the board?!). All SolidRun u-boot branches are abandoned (last commit 1y ago...) Also they didn't seem to make any afford to bring the Hummingboard Pulse code into the official u-boot repo (https://github.com/SolidRun/u-boot/tree/v2018.11-solidrun-1gb/board/solidrun/imx8mq_hb vs. https://gitlab.denx.de/u-boot/u-boot/-/tree/master/board/solidrun; heck it's not even in the iMX custodian repo https://gitlab.denx.de/u-boot/custodians/u-boot-imx/-/tree/master/board/solidrun)

 

This is the case with most of hardware - hardware support is based on some ancient u-boot where similar hardware was brought up. They (chip maker) extend it for the new chip. Then chip integrator ads its own changes deploys boot loader and forget about. The same is with all / most others:

https://github.com/hardkernel/u-boot/tree/odroidc-v2011.03

https://github.com/radxa/u-boot

https://github.com/orangepi-xunlong/OrangePiH3_uboot

 

Keeping things up to date is extremely expensive and only possible if we and community around this particular hw covers up. We provide mainline u-boot wherever this is possible, but we simply decided to skip imx8 boards since we have no resources to sponsor while not a single cent coverage for this job ever came from users nor from the vendor. Its a lot of work and we only lost huge amount of time. You don't even notice nor say thanks or give anything in return.

 

13 hours ago, ARMBirdy said:

You need to use firmware blobs from NXP (developer KB above uses firmware 7.9; NXP is at version 8.7 right now) which have no official website/no changelog/no explanation what the h* they're doing/why you need them


As you need them (Microsoft owned boot loader / RTOS) to boot Raspberry Pi and lots of others. Welcome to the "open source".
 

Reverse engineering is usually a part of the job to get this hardware to the mainline. Blobs are there to give them control over the hw.

 

13 hours ago, ARMBirdy said:

Linux Kernel... oh boy, this is a mess.


Its a private development kernel, a raw material. Far away from mainline Linux. Its a Linux where this device was brought up.

 

13 hours ago, ARMBirdy said:

they provide ship with kernel 4.19


This is the latest drop of development kernel which is developed by NXP for their customers (Solidrun). Due to the licence demands, they have to release the code. In whatever quality it is. Getting from here to proper stable mainline can easily cost a million. (for this particular chip I don't know how good or bad support actually is and if you need 1/4, 1/2 of that million. To know that its yet another investment into the R&D I have no plan to add on the top of existing jobs.

 

13 hours ago, ARMBirdy said:

All I wanted was a ARM board with 2 Ethernet ports...

 

https://www.armbian.com/nanopi-r2s/

https://www.armbian.com/nanopi-r1/

https://www.armbian.com/orange-pi-r1/

 

... or do something to spark development, either commercially or non-commercially.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...