u-boot questions regarding the rockchip rk 3399...

Hello.

I've installed FreeBSD 14.2-RELEASE on both my boards (RockPro64 and Khadas Edge V),both based on the Rockchip RK3399 and I've used a display that has a resolution of 720 x 720 resolution and I saw that the screen remains almost black (almost because I see a dim illumination coming from the display) .

I don't even see the u-boot logo. Instead,it is able to turn on my large HDMI monitor,which has a resolution of 1920x1080 pixels.

Since I'm building a FreeBSD modular phone, I want to use a small HDMI display with a low resolution. My question is : why is u-boot able to turn on a monitor that has a resolution of 1920x1080 and it's not able to turn on the other HDMI display that has a resolution of 720x720 ?

Or even better : what's the lowest resolution that will work ?

If I want to buy a display that has a resolution of 800x600,will u-boot be able to turn it on ? 1024x768 ? more ?

Thanks.
 
Can I refer back to my original recommendation. Forget HDMI. It is an EXTERNAL interface. You can make that work maybe but what about MIPI Display?
If you are going do dive into the bowels of U-Boot to learn HDMI just look at MIPI instead.
On top of all this my earlier recommendation was look at dudeman porting PinePhone.
All the U-Boot work is done. MIPI stuff is in FreeBSD or repository. It was done for RK3399 chip.
Why resist MIPI.
No soldering as it uses Flat Ribbon Cables. It is getting to be standard. I assume you can buy the display from pinephone for your experiment. MIPI is standard.

Get with it. Ditch this HDMI for a mobile phone premise.

That is my honest opinion.
 
its probably the same problem as with rk356x boards.
hdmi / pixel clock is to low for the hardwired pll values and/or edid fails and the hard wired 720p 16x9 fails
 
its probably the same problem as with rk356x boards.
hdmi / pixel clock is to low for the hardwired pll values and/or edid fails and the hard wired 720p 16x9 fails

Is there a method to know what's the lowest resolution accepted by u-boot ? Can u help me to find it ? thanks.
 
Does it make sense ? 640x480 is lower than 720x720. So,if the lowest res. is 640x480,with the display at 720x720 it should work. But it does not. I think it may work with a resolution higher than 720x720 ; but I don't know how much.
 
I've got a nice reply from the u-boot ML :

Hello Mario,

The way operating systems detect monitor resolution is by reading the
EDID information via the I2C lines of the HDMI connector.

U-Boot has CONFIG_I2C_EDID to build a module to parse EDID information.
This is not enabled by khadas-edge-v-rk3399_defconfig. I would assume
this is part of the problem.

scripts/get_maintainer.pl configs/khadas-edge-v-rk3399_defconfig and
scripts/get_maintainer.pl common/edid
will provide the people and the U-Boot list that you could contact for
support.

There is also a #u-boot IRC channel at irc.libera.chat.

Best regards
 
Since u-boot should be installed on FreeBSD,can someone point me where I can get the khadas-edge-v-rk3399_defconfig file and the u-boot code that should be recompiled ?
 
I've just remembered that I had two small displays,stored inside the shelf,that could be tested,to see if they work with u-boot and the khadas-edge-v. The first one is a 4 inch display,720x720 from waveshare,the second one is a 480x480 from a Chinese brand. The result that I've got is the same for both :

https://drive.google.com/file/d/1InM4f4DLcYX8Y3ntERItnhwVuEnmHWeK/view?usp=sharing

What happens is that u-boot is able to show the first stage of messages on the screen and then it becomes black and it remains black....
 
Since u-boot should be installed on FreeBSD,can someone point me where I can get the khadas-edge-v-rk3399_defconfig file and the u-boot code that should be recompiled ?
Well if this post was true:
Compiled succesfully....
Then the defconfig files are here:

/usr/ports/sysutils/u-boot-khadis-edge-v/work/u-boot-2025.07/configs/

You see the ports /work directory contains the source tree.
/usr/ports/sysutils/u-boot-khadis-edge-v/work/u-boot-2025.07/

To modify and recompile consider using the patch method with make makepatch.
Make a copy of any file to be edited with *.orig file extension. That way you have a copy of the original. Patching will require it.

 
Well if this post was true:

Then the defconfig files are here:

/usr/ports/sysutils/u-boot-khadis-edge-v/work/u-boot-2025.07/configs/

You see the ports /work directory contains the source tree.
/usr/ports/sysutils/u-boot-khadis-edge-v/work/u-boot-2025.07/

To modify and recompile consider using the patch method with make makepatch.
Make a copy of any file to be edited with *.orig file extension. That way you have a copy of the original.


very thanks. But what the uboot developer told me is not true,as I have explained on post #9. I think that covacat understood what's the problem,on post #3. We already did what is needed here,in the recent past,but not using uboot,but with the uefi-ed2k code of Jared McNeill. So,the procedure used in the past should be modified,but the problem is still the same,this one :

hdmi / pixel clock is to low for the hardwired pll values and/or edid fails and the hard wired 720p 16x9 fails

I can confirm this diagnosis by attaching a serial console to the board...
 
Did you even look at the changes PinePhone porter did to U-Boot?

Embedded Phone Interfaces
1)MIPI
2)eDP
3)LVDS

Notice nowhere on that list is HDMI??? Why you wasting your time? How much do you really have invested in HDMI? Not much?

Get for reals.
 
Is your use of HDMI due to the modular design you hope for?
You have to pick your causes here.
Do you want FreeBSD phone or modular phone.
Pick One.
 
This is the log that comes from the serial console :


I think the error is the following :

Code:
i2s0: <Rockchip I2S> mem 0xff880000-0xff880fff irq 51 on ofwbus0
Cannot set frequency for clk: clkin_i2s, error: 34
Cannot set frequency for clk: xin24m, error: 34
i2s1: <Rockchip I2S> mem 0xff890000-0xff890fff irq 52 on ofwbus0
Cannot set frequency for clk: clkin_i2s, error: 34
Cannot set frequency for clk: xin24m, error: 34
i2s2: <Rockchip I2S> mem 0xff8a0000-0xff8a0fff irq 53 on ofwbus0
Cannot set frequency for clk: clkin_i2s, error: 34
Cannot set frequency for clk: xin24m, error: 34
 
Back
Top