Legacy BPI u-boot with mainline armbian kernel


I would like to ask someone if anyone could make an armbian kernel with a BPI U-BOOT if possible. because I still have a problem with HDMI. HDMI still doesn’t work for me. Armbian image work fine for me, but manage it only over RDP / ssh. BPI image works fine. I’m still learning with linux. I could try make it, but it is high school for me.

thank you very much


ST33 test on BPI-M2 ultra:



We are working on it and will let you know when we are ready

Is still no GPU support?)


your kernel 5.1 on image is mainline or BPI-kernel?

someone already dropped a patch for the gpu (mali) for the m2 ultra (mainline), and i can confirm it works.

		mali: gpu@1c40000 {
			compatible = "allwinner,sun7i-a20-mali", "arm,mali-400";
			reg = <0x01c40000 0x10000>;
			interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
			interrupt-names = "gp",
			clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
			clock-names = "bus", "core";
			resets = <&ccu RST_BUS_GPU>;

			assigned-clocks = <&ccu CLK_GPU>;
			assigned-clock-rates = <384000000>;

I am running kmscube (no Desktop - gbm) on kernel 5.2.2 with the output:

Using display 0x1 with EGL version 1.4
EGL information:
  version: "1.4 Linux-r6p2-01rel0"
  vendor: "ARM"
  client extensions: "EGL_EXT_client_extensions EGL_EXT_platform_base EGL_KHR_platform_gbm EGL_KHR_platform_wayland "
  display extensions: "EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_EXT_image_dma_buf_import EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_swap_buffers_with_damage EGL_EXT_swap_buffers_with_damage EGL_KHR_lock_surface EGL_KHR_lock_surface2 EGL_EXT_create_context_robustness EGL_ANDROID_blob_cache EGL_KHR_create_context EGL_WL_bind_wayland_display EGL_KHR_partial_update EGL_KHR_create_context_no_error "
OpenGL ES 2.x information:
  version: "OpenGL ES 2.0"
  shading language version: "OpenGL ES GLSL ES 1.00"
  vendor: "ARM"
  renderer: "Mali-400 MP"
  extensions: "GL_OES_texture_npot GL_OES_vertex_array_object GL_OES_compressed_ETC1_RGB8_texture GL_EXT_compressed_ETC1_RGB8_sub_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_OES_vertex_half_float GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_ARM_mali_program_binary GL_EXT_shader_texture_lod GL_EXT_robustness GL_OES_depth_texture_cube_map GL_KHR_debug GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_mapbuffer GL_KHR_no_error"

Although some bits are missing like sound / THS / DVFS for the Kernel 5.x.

gpu node can be added to the Armbian Kernel, but i am not sure it will work on 4.19.

If BPI team has the Mainline Kernel with sound would be great.

Just to be clear, it is hdmi-sound what is missing. Someone at Armbian already got this working:

cat /proc/asound/cards
 0 [Codec          ]: H3_Audio_Codec - H3 Audio Codec
                      H3 Audio Codec

Wow) can you share patched image?)

The kernel 5.2 is still experimental but stable, if you can live with the board without Wifi + BT i can arrange that otherwise you should stick with Armbian or BPI.

Hello everyone, I have made a U-boot fork and merged with sunxi-next ( csi0, crypto, rtc, i2c, watchdog, spi,bus, pmu), I have also activated the integrated board audio and added the mali node mentioned here in addition to the instructions to compile and install in armbian.

Instructions for Armbian:

sudo apt update

sudo apt install swig python-dev python3-dev git make gcc flex bison

cd /tmp

git clone https://github.com/juanesf/u-boot.git && cd u-boot && make Bananapi_M2_Ultra_defconfig && make -j4

mkimage -C none -A arm -T script -d /boot/boot.cmd boot.scr

sudo dd if=/tmp/u-boot/u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1024 seek=8

sudo cp /tmp/u-boot/arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dtb /boot/dtb

sudo reboot 00