Drivers and such things (the rk3588 port)

Alexander Boettcher alexander.boettcher at genode-labs.com
Mon Jan 9 11:23:35 CET 2023


Hello,

On 09.01.23 05:24, Michael Grunditz wrote:
> A quick follow up : I have tried the "boot" framebuffer driver.
> But I cant get the ram config in the run file to work. I am testing
> with fb_bench. In theory video output should work , I have initialised
> the hardware in uboot and can fill the screen with the "mw.l" command.
> However I am a bit unsure how to write the platform_info tag.
> I added this to the runfile
> et fd [open [run_dir]/genode/platform_info w]
>          puts $fd {
>              <platform_info>
>              <boot>
>          <framebuffer phys="0xed800000" width="1920" height="1080" bpp="32"/>
>      </boot>
> </platform_info>
> }
> close $fd

there is already a platform_info ROM generated by core (roottask), which would collide with this one (so only one of both would be accessible).
The one option is to add this information directly to the generated platform_info in core, e.g.
look for Platform::_init_additional_platform_info() in repos/base-hw.
The other option is to name your platform_info differently and use the re-labeling feature of Genode's init to refer to your version of the platform_info, e.g something alike:

--- a/repos/os/run/fb_bench.run
+++ b/repos/os/run/fb_bench.run
@@ -20,7 +20,7 @@ import_from_depot [depot_user]/src/[base_src] \
                    [depot_user]/src/nitpicker \
                    [depot_user]/src/gui_fb \
                    [depot_user]/src/init
-build { test/fb_bench }
+build { test/fb_bench drivers/framebuffer/boot }
  
  install_config {
  <config>
@@ -70,10 +70,12 @@ install_config {
  	</start>
  
  	<start name="gui_fb">
+		<binary name="boot_fb_drv"/>
  		<resource name="RAM" quantum="4M"/>
  		<provides> <service name="Framebuffer"/> <service name="Input"/> </provides>
  		<config/>
  		<route>
+			<service name="ROM" label="platform_info"> <parent label="platform_info_my"/> </service>
  			<service name="Gui"> <child name="nitpicker"/> </service>
  			<any-service> <parent/> <any-child/> </any-service>
  		</route>
@@ -94,7 +96,16 @@ set fd [open [run_dir]/genode/focus w]
  puts $fd "<focus label=\"gui_fb -> \" domain=\"default\"/>"
  close $fd
  
-build_boot_image { test-fb_bench }
+set fd [open [run_dir]/genode/platform_info_my w]
+puts $fd {
+<platform_info>
+	<boot>
+		<framebuffer phys="0xed800000" width="1920" height="1080" bpp="32" type="1"/>
+	</boot>
+</platform_info>}
+close $fd
+
+build_boot_image { test-fb_bench boot_fb_drv }

Hope it helps,

Alex.

-- 
Alexander Boettcher
Genode Labs

https://www.genodians.org - https://www.genode.org



More information about the users mailing list