L4Linux network and SD Access

Christian Ludwig christian_ludwig at genua.de
Fri Jul 7 14:24:48 CEST 2017


On Friday, 7. July 2017, 02:19:34 Daniel  Wang wrote:
> I have a question. I just saw in the io/server/src/drivers/gpio
> directory.There are only two cc files. One is for bcm2835.c another one is
> for omap.cc. Does that mean if I want to make MMC and Ethernet drivers
> works in guest Linux on platform other than bcm2835, OMAP3 or OMAP4 I have
> to modify the driver file and provide support functions for that platform?

Therse GPIO drivers in io provide a means to pass different GPIO pins to 
different clients, e.g. Linuxes. It's a way to moderate access to a GPIO 
controller from multiple clients.

As far as I understand, you want to drive MMC and ethernet in one L4Linux. So 
you just have to pass the proper devices (MMIO regions and interrupts) to 
Linux. As Adam pointed out, you need to tweak Kconfig files to allow you to 
select the proper drivers. Note however that your device's drivers are most 
likely not sufficient to finally get the devices going. These drivers most 
likely need other infrastructure like clock devices and some power management. 
You need to find a way to either also pass these to Linux, or build a separate 
clock/pm server that only passes the necessary clock gates and power lines to 
Linux. Which also means you need to create a set of new drivers in Linux.

If you are really lucky you might be able to patch out the clock/pm calls in 
the Linux drivers and get a first working version. But no guarantees on that.

Hope that helps,

 - Christian

genua GmbH
Domagkstrasse 7, 85551 Kirchheim bei Muenchen
tel +49 89 991950-0, fax -999, www.genua.de
Geschaeftsfuehrer: Dr. Magnus Harlander, Bernhard Schneck,
Mark Tesch. Amtsgericht Muenchen HRB 98238
genua ist ein Unternehmen der Bundesdruckerei-Gruppe.

More information about the l4-hackers mailing list