genode/repos/gems/recipes/raw/drivers_managed-imx8q_evk/drivers.config
2021-03-12 12:01:36 +01:00

369 lines
13 KiB
Plaintext

<config>
<parent-provides>
<service name="ROM"/>
<service name="IRQ"/>
<service name="IO_MEM"/>
<service name="PD"/>
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
<service name="Timer"/>
<service name="Report"/>
<service name="Capture"/>
<service name="Event"/>
</parent-provides>
<report child_caps="true" child_ram="true" init_caps="true" init_ram="true" delay_ms="5000"/>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<service name="Block">
<default-policy> <child name="sd_card_drv"/> </default-policy> </service>
<service name="Usb">
<default-policy> <child name="usb_drv"/> </default-policy> </service>
<service name="Platform">
<default-policy> <child name="platform_drv"/> </default-policy> </service>
<service name="Rtc">
<default-policy> <child name="rtc_drv"/> </default-policy> </service>
<start name="report_rom">
<resource name="RAM" quantum="2M"/>
<provides> <service name="Report"/> <service name="ROM"/> </provides>
<config verbose="no">
<policy label="rom_reporter -> usb_devices" report="usb_drv -> devices"/>
<policy label="usb_hid_drv -> report" report="usb_drv -> devices"/>
</config>
</start>
<start name="rom_reporter">
<resource name="RAM" quantum="1M"/>
<config>
<rom label="usb_devices"/>
<rom label="block_devices"/>
</config>
<route>
<service name="ROM" label="block_devices"><parent label="block_devices.report"/> </service>
<service name="ROM" label="usb_devices"> <child name="report_rom"/> </service>
<service name="Report" label="usb_devices"> <parent label="usb_devices"/> </service>
<service name="Report" label="block_devices"><parent label="block_devices"/> </service>
<service name="LOG"> <parent/> </service>
<service name="PD"> <parent/> </service>
<service name="CPU"> <parent/> </service>
<service name="ROM"> <parent/> </service>
</route>
</start>
<start name="platform_drv" caps="150">
<binary name="imx8mq_platform_drv"/>
<resource name="RAM" quantum="1M"/>
<provides> <service name="Platform"/> </provides>
<config>
<!-- GPIO banks -->
<device name="gpio1">
<io_mem address="0x30200000" size="0x10000"/>
<irq number="96"/>
<irq number="97"/>
</device>
<device name="gpio2">
<io_mem address="0x30210000" size="0x10000"/>
<irq number="98"/>
<irq number="99"/>
</device>
<device name="gpio3">
<io_mem address="0x30220000" size="0x10000"/>
<irq number="100"/>
<irq number="101"/>
</device>
<device name="gpio4">
<io_mem address="0x30230000" size="0x10000"/>
<irq number="102"/>
<irq number="103"/>
</device>
<device name="gpio5">
<io_mem address="0x30240000" size="0x10000"/>
<irq number="104"/>
<irq number="105"/>
</device>
<device name="synaptics_dsx">
<io_mem address="0x30a20000" size="0x10000"/>
<irq number="67"/>
</device>
<device name="usb_host_2">
<io_mem address="0x38200000" size="0x10000"/>
<irq number="73"/>
<power-domain name="usb_otg_2"/>
<clock name="usb_phy_ref_clk_root"
driver_name="usb_phy_root_clk"
parent="system_pll1_div8"
rate="100000000"/>
<clock name="usb_core_ref_clk_root"
parent="system_pll1_div8"
rate="100000000"/>
<clock name="usb_bus_clk_root"
parent="system_pll2_div2"
rate="500000000"/>
<clock name="usb_ctrl2_gate"/>
<clock name="usb_phy2_gate"/>
<property name="compatible" value="snps,dwc3"/>
<property name="dr_mode" value="host"/>
</device>
<device name="dcss">
<io_mem address="0x32e00000" size="0x30000"/>
<irq number="50"/>
<clock name="display_apb_clk_root"
driver_name="apb"/>
<clock name="display_axi_clk_root"
parent="system_pll1_clk"
rate="800000000"
driver_name="axi"/>
<clock name="display_rtrm_clk_root"
parent="system_pll1_clk"
rate="400000000"
driver_name="rtrm"/>
<clock name="video_pll1_clk"
parent="25m_ref_clk"
rate="1200000000" />
<clock name="display_dtrc_clk_root"
driver_name="dtrc"/>
<clock name="dc_pixel_clk_root"
parent="video_pll1_clk"
rate="120000000"
driver_name="pix"/>
<property name="compatible" value="nxp,imx8mq-dcss"/>
<property name="disp-dev" value="hdmi_disp"/>
</device>
<!-- CAUTION: System reset controller access is currently required by
mipi_dsi -->
<device name="src">
<io_mem address="0x30390000" size="0x10000"/>
</device>
<device name="mipi_dsi">
<io_mem address="0x30a00000" size="0x1000"/>
<irq number="66"/>
<power-domain name="mipi"/>
<clock name="mipi_dsi_phy_ref_clk_root"
parent="video_pll1_clk"
rate="24000000"
driver_name="phy_ref"/>
<clock name="mipi_dsi_esc_rx_clk_root"
parent="system_pll1_div10"
rate="80000000"
driver_name="rx_esc"/>
<clock name="mipi_dsi_core_clk_root"
parent="system_pll1_div3"
rate="266000000"
driver_name="core"/>
<property name="compatible" value="fsl,imx8mq-mipi-dsi_drm"/>
</device>
<device name="hdmi">
<io_mem address="0x32c00000" size="0x100000"/>
<io_mem address="0x32e40000" size="0x40000"/>
<io_mem address="0x32e2f000" size="0x10"/>
<irq number="48"/>
<irq number="57"/>
<property name="compatible" value="fsl,imx8mq-hdmi"/>
</device>
<device name="sdhc2">
<io_mem address="0x30b50000" size="0x10000"/>
<irq number="55"/>
<clock name="nand_usdhc_bus_clk_root"/>
<clock name="usdhc2_clk_root"/>
<clock name="usdhc2_gate"/>
<property name="compatible" value="fsl,imx8mq-usdhc"/>
</device>
<device name="fec">
<io_mem address="0x30be0000" size="0x4000"/>
<irq number="152"/>
<irq number="151"/>
<irq number="150"/>
<property name="compatible" value="fsl,imx6sx-fec"/>
<property name="mii" value="rgmii-id"/>
</device>
<policy label="usb_drv -> "> <device name="usb_host_2"/> </policy>
<policy label="fb_drv -> ">
<device name="dcss"/>
<device name="hdmi"/>
<device name="mipi_dsi"/>
<device name="src"/>
</policy>
<policy label="gpio_drv -> ">
<device name="gpio1"/>
<device name="gpio2"/>
<device name="gpio3"/>
<device name="gpio4"/>
<device name="gpio5"/>
</policy>
<policy label="touch_drv -> "> <device name="synaptics_dsx"/> </policy>
<policy label="sd_card_drv -> "> <device name="sdhc2"/> </policy>
<policy label="runtime -> nic"> <device name="fec"/> </policy>
</config>
<route> <any-service> <parent/> </any-service> </route>
</start>
<start name="usb_drv" caps="200">
<binary name="imx8q_evk_usb_host_drv"/>
<resource name="RAM" quantum="16M"/>
<provides> <service name="Usb"/> </provides>
<config>
<report devices="yes"/>
<policy label_prefix="usb_hid_drv" class="0x3"/>
</config>
<route>
<service name="Platform"> <child name="platform_drv"/> </service>
<service name="Report" label="devices"> <child name="report_rom"/> </service>
<service name="Report" label="config"> <parent label="usb_active_config"/> </service>
<service name="ROM"> <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>
</route>
</start>
<start name="usb_hid_drv" caps="140">
<resource name="RAM" quantum="11M"/>
<config use_report="yes" capslock_led="rom" numlock_led="rom"/>
<route>
<service name="ROM" label="report"> <child name="report_rom"/> </service>
<service name="ROM" label="capslock"> <parent label="capslock"/> </service>
<service name="ROM" label="numlock"> <parent label="numlock"/> </service>
<service name="ROM"> <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"> <child name="event_filter" label="usb"/> </service>
<service name="Usb"> <child name="usb_drv"/> </service>
</route>
</start>
<start name="gpio_drv" caps="150">
<binary name="imx_gpio_drv"/>
<resource name="RAM" quantum="2M"/>
<provides><service name="Gpio"/></provides>
<config/>
<route>
<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="Platform"> <child name="platform_drv"/> </service>
</route>
</start>
<start name="touch_drv" caps="150">
<binary name="imx8_synaptics_touch_drv"/>
<resource name="RAM" quantum="5M"/>
<provides><service name="Input"/></provides>
<route>
<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="Event"> <child name="event_filter" label="touch"/> </service>
<service name="Platform"> <child name="platform_drv"/> </service>
<service name="Gpio"> <child name="gpio_drv"/> </service>
</route>
</start>
<start name="fb_drv" caps="250">
<binary name="imx8_fb_drv"/>
<resource name="RAM" quantum="40M"/>
<route>
<service name="ROM" label="config"> <parent label="fb_drv.config"/> </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="Capture"> <parent/> </service>
<service name="Report"> <parent/> </service>
<service name="Platform"> <child name="platform_drv"/> </service>
</route>
</start>
<start name="sd_card_drv">
<binary name="imx8_sd_card_drv"/>
<resource name="RAM" quantum="16M"/>
<resource name="CPU" quantum="80"/>
<provides><service name="Block"/></provides>
<route>
<service name="ROM"> <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="Platform"> <child name="platform_drv"/> </service>
</route>
</start>
<!-- toggle key mappings depending on the numlock state -->
<start name="numlock_remap_rom">
<binary name="rom_filter"/>
<resource name="RAM" quantum="1M"/>
<provides> <service name="ROM"/> </provides>
<route>
<service name="ROM" label="config"> <parent label="numlock_remap.config"/> </service>
<service name="ROM" label="numlock"> <parent label="numlock"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="event_filter" caps="90">
<resource name="RAM" quantum="2M"/>
<provides> <service name="Event"/> </provides>
<route>
<service name="ROM" label="config"> <parent label="event_filter.config"/> </service>
<service name="ROM" label="numlock.remap"> <child name="numlock_remap_rom"/> </service>
<service name="ROM" label="capslock"> <parent label="capslock"/> </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="Event"> <parent/> </service>
</route>
</start>
<start name="rtc_drv">
<binary name="dummy_rtc_drv"/>
<resource name="RAM" quantum="1M"/>
<provides> <service name="Rtc"/> </provides>
<config allow_setting_rtc="true" year="2021" month="02" day="24"
hour="0" minute="0" second="0"/>
<route>
<any-service> <parent/> </any-service>
</route>
</start>
</config>