drivers_interactive-rpi: use usb host/hid driver

Issue #4173
This commit is contained in:
Alexander Boettcher 2021-05-26 10:27:21 +02:00 committed by Christian Helmuth
parent f9c7947c45
commit 6b9fcc9449
4 changed files with 90 additions and 23 deletions

View File

@ -1,4 +1,6 @@
_/src/platform_drv
_/src/usb_drv
_/src/rpi_fb_drv
_/raw/drivers_interactive-rpi
_/src/event_filter
_/src/rpi_fb_drv
_/src/platform_drv
_/src/usb_hid_drv
_/src/usb_host_drv

View File

@ -1,4 +1,7 @@
content: drivers.config fb_drv.config
content: drivers.config fb_drv.config event_filter.config en_us.chargen special.chargen
drivers.config fb_drv.config:
drivers.config fb_drv.config event_filter.config:
cp $(REP_DIR)/recipes/raw/drivers_interactive-rpi/$@ $@
en_us.chargen special.chargen:
cp $(GENODE_DIR)/repos/os/src/server/event_filter/$@ $@

View File

@ -15,6 +15,17 @@
<default caps="60"/>
<start name="report_rom">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Report"/> <service name="ROM"/> </provides>
<config verbose="no">
<default-policy report="usb_drv -> devices"/>
</config>
<route>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="platform_drv" caps="200">
<binary name="rpi_platform_drv"/>
<resource name="RAM" quantum="3M"/>
@ -32,6 +43,53 @@
</route>
</start>
<start name="event_filter" caps="80">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Event"/> </provides>
<route>
<service name="ROM" label="config"> <parent label="event_filter.config"/> </service>
<service name="Event"> <parent/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="usb_drv" caps="150">
<binary name="rpi_usb_host_drv"/>
<resource name="RAM" quantum="12M"/>
<provides> <service name="Usb"/> </provides>
<config bios_handoff="yes">
<report devices="yes"/>
<policy label_prefix="usb_hid_drv" class="0x3"/>
</config>
<route>
<service name="Report"> <child name="report_rom"/> </service>
<service name="RM"> <parent/> </service>
<service name="ROM"> <parent/> </service>
<service name="PD"> <parent/> </service>
<service name="CPU"> <parent/> </service>
<service name="LOG"> <parent/> </service>
<service name="Timer"> <parent/> </service>
<service name="Platform"> <child name="platform_drv"/> </service>
</route>
</start>
<start name="usb_hid_drv" caps="140">
<resource name="RAM" quantum="11M"/>
<provides><service name="Input"/></provides>
<config use_report="yes"/>
<route>
<service name="ROM" label="report"> <child name="report_rom"/> </service>
<service name="Event"> <child name="event_filter" label="usb"/> </service>
<service name="RM"> <parent/> </service>
<service name="ROM"> <parent/> </service>
<service name="PD"> <parent/> </service>
<service name="CPU"> <parent/> </service>
<service name="LOG"> <parent/> </service>
<service name="Timer"> <parent/> </service>
<service name="Usb"> <child name="usb_drv"/> </service>
</route>
</start>
<start name="fb_drv" caps="120">
<binary name="rpi_fb_drv"/>
<resource name="RAM" quantum="4M"/>
@ -48,22 +106,4 @@
</route>
</start>
<start name="input_drv" caps="120">
<binary name="rpi_usb_drv"/>
<resource name="RAM" quantum="14M"/>
<config uhci="yes" ehci="yes" xhci="no"> <hid/> </config>
<route>
<service name="Platform"> <child name="platform_drv"/> </service>
<service name="ROM"> <parent/> </service>
<service name="IRQ"> <parent/> </service>
<service name="IO_MEM"> <parent/> </service>
<service name="PD"> <parent/> </service>
<service name="RM"> <parent/> </service>
<service name="CPU"> <parent/> </service>
<service name="LOG"> <parent/> </service>
<service name="Timer"> <parent/> </service>
<service name="Event"> <parent/> </service>
</route>
</start>
</config>

View File

@ -0,0 +1,22 @@
<config>
<output>
<chargen>
<merge>
<input name="usb"/>
</merge>
<mod1>
<key name="KEY_LEFTSHIFT"/> <key name="KEY_RIGHTSHIFT"/>
</mod1>
<mod2>
<key name="KEY_LEFTCTRL"/> <key name="KEY_RIGHTCTRL"/>
</mod2>
<mod3>
<key name="KEY_RIGHTALT"/> <!-- AltGr -->
</mod3>
<repeat delay_ms="230" rate_ms="90"/>
<include rom="en_us.chargen"/>
<include rom="special.chargen"/>
</chargen>
</output>
<policy label="usb" input="usb"/>
</config>