gpio_drv: remove specs for imx53 and imx6

Also cleanup run scripts and recipes were gpio driver is not required,
update the ones were it is.

issue #3900
This commit is contained in:
Sebastian Sumpf 2020-09-24 16:07:27 +02:00 committed by Christian Helmuth
parent 6c6deb7e8b
commit b9bd179e54
15 changed files with 34 additions and 136 deletions

View File

@ -65,16 +65,6 @@ proc acpi_drv_name { } {
return acpi_drv
}
##
# Return name of the gpio driver
#
proc gpio_drv { } {
if {[have_spec rpi]} { return rpi_gpio_drv }
if {[have_spec imx53]} { return imx53_gpio_drv }
if {[have_spec imx6]} { return imx6_gpio_drv }
return no_gpio_drv_available
}
proc platform_drv_build_components {} {
set drv_build_components ""
lappend_if [have_platform_drv] drv_build_components drivers/platform

View File

@ -72,8 +72,6 @@ set build_components {
server/dynamic_rom
}
lappend_if [have_spec gpio] build_components drivers/gpio
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
@ -190,7 +188,6 @@ set boot_modules {
}
append boot_modules [usb_drv_binary]
lappend_if [have_spec gpio] boot_modules [gpio_drv]
append_platform_drv_boot_modules

View File

@ -142,8 +142,6 @@ set build_components {
server/report_rom
}
lappend_if [have_spec gpio] build_components drivers/gpio
source ${genode_dir}/repos/base/run/platform_drv.inc
if { [have_spec x86] } { append_platform_drv_build_components
} else { append build_components { drivers/platform }
@ -174,14 +172,6 @@ append config {
<default caps="100"/>
}
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\" caps=\"150\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>
"
if { [have_spec x86] } { append_platform_drv_config
} else {
append config "<start name=\"[platform_drv_binary_non_x86]\">"
@ -291,7 +281,6 @@ set boot_modules {
}
append boot_modules " [usb_host_drv_binary] "
lappend_if [have_spec gpio] boot_modules [gpio_drv]
if {[have_spec x86]} { append_platform_drv_boot_modules
} else { append boot_modules " [platform_drv_binary_non_x86] " }

View File

@ -19,8 +19,6 @@ set build_components {
lib/vfs/lwip
}
lappend_if [have_spec gpio] build_components drivers/gpio
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
@ -49,13 +47,6 @@ append config {
</default-route>
<default caps="200"/>}
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
append_platform_drv_config
append config {
@ -116,7 +107,6 @@ set boot_modules {
}
append boot_modules [usb_host_drv_binary]
lappend_if [have_spec gpio] boot_modules [gpio_drv]
append_platform_drv_boot_modules

View File

@ -87,8 +87,6 @@ set boot_modules {
usb_terminal
}
lappend_if [have_spec gpio] boot_modules [gpio_drv]
append_platform_drv_boot_modules
build_boot_image $boot_modules

View File

@ -35,25 +35,6 @@
</route>
</start>
<start name="imx53_gpio_drv" caps="200">
<resource name="RAM" quantum="4M"/>
<provides><service name="Gpio"/></provides>
<config>
<gpio num="1" mode="O" value="1"/>
<gpio num="88" mode="O" value="1"/>
</config>
<route>
<service name="Platform"> <child name="platform_drv"/> </service>
<service name="IO_MEM"> <parent/> </service>
<service name="ROM"> <parent/> </service>
<service name="PD"> <parent/> </service>
<service name="CPU"> <parent/> </service>
<service name="LOG"> <parent/> </service>
<service name="IRQ"> <parent/> </service>
<service name="Timer"> <parent/> </service>
</route>
</start>
<start name="fb_drv" caps="120">
<binary name="imx53_fb_drv"/>
<resource name="RAM" quantum="4M"/>

View File

@ -1,7 +1,7 @@
#
# Build
#
if {[have_spec gpio] == 0} {
if {[have_spec rpi] == 0} {
puts "Runs only on platforms with GPIO"
exit 0
}
@ -41,10 +41,8 @@ append config {
<provides><service name="Timer"/></provides>
</start>}
append config "
<start name=\"[gpio_drv]\">"
append config {
<start name="rpi_gpio_drv">
<resource name="RAM" quantum="1M"/>
<provides><service name="Gpio"/></provides>
<config>
@ -68,10 +66,9 @@ set boot_modules {
core ld.lib.so init
timer
led_gpio_drv
rpi_gpio_drv
}
append boot_modules [gpio_drv]
build_boot_image $boot_modules
run_genode_until forever

View File

@ -1,7 +1,7 @@
#
# Build
#
if {[have_spec gpio] == 0} {
if {[have_spec rpi] == 0} {
puts "Runs only on platforms with GPIO"
exit 0
}
@ -41,10 +41,9 @@ append config {
<provides><service name="Timer"/></provides>
</start>}
append config "
<start name=\"[gpio_drv]\">"
append config {
<start name="rpi_gpio_drv"/>
<resource name="RAM" quantum="1M"/>
<provides><service name="Gpio"/></provides>
<config async_events="0">
@ -73,7 +72,7 @@ set boot_modules {
signal_gpio_drv
}
append boot_modules [gpio_drv]
append boot_modules rpi_gpio_drv
build_boot_image $boot_modules

View File

@ -143,10 +143,29 @@ set config {
<default caps="100"/>}
append_if $trusted_led config {
<start name="imx53_gpio_drv">
<start name="platform_drv" caps="150">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Platform"/> </provides>
<config>
<device name="gpio">
<io_mem address="0x53f90000" size="0x4000"/>
<irq number="56"/>
<irq number="57"/>
</device>
<policy label="imx_gpio_drv -> ">
<device name="gpio"/>
</policy>
</config>
</start>
<start name="imx_gpio_drv">
<resource name="RAM" quantum="3M"/>
<provides><service name="Gpio"/></provides>
<config/>
<route>
<service name="Platform"><child name="platform_drv" /></service>
<any-service><parent/><any-child/></any-service>
</route>
</start>}
append_if $mmc_rootfs config {
@ -164,6 +183,11 @@ append_if $mmc_rootfs config {
<start name="imx53_sd_card_drv">
<resource name="RAM" quantum="3M"/>
<provides><service name="Block"/></provides>
<route>
<service name="Platform"> <child name="imx53_platform_drv"/> </service>
<service name="Regulator"> <child name="imx53_platform_drv"/> </service>
<any-service><parent/><any-child/></any-service>
</route>
</start>
<start name="part_block">
<resource name="RAM" quantum="10M" />
@ -266,7 +290,8 @@ if { $mmc_rootfs } {
}
cd ..
lappend_if $trusted_led boot_modules imx53_gpio_drv
lappend_if $trusted_led boot_modules imx_gpio_drv
lappend_if $trusted_led boot_modules platform_drv
build_boot_image [join $boot_modules " "]

View File

@ -13,8 +13,6 @@ set build_components {
test/block/bench
}
lappend_if [have_spec gpio] build_components drivers/gpio
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
@ -46,13 +44,6 @@ set config {
append_platform_drv_config
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
@ -138,7 +129,6 @@ set boot_modules {
}
append boot_modules [usb_host_drv_binary]
lappend_if [have_spec gpio] boot_modules [gpio_drv]
append_platform_drv_boot_modules

View File

@ -1,22 +0,0 @@
/*
* \brief Gpio driver for the i.MX53
* \author Stefan Kalkowski <stefan.kalkowski@genode-labs.com>
* \date 2018-02-22
*/
/*
* Copyright (C) 2018 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
#ifndef _DRIVERS__GPIO__SPEC__IMX53__BOARD_H_
#define _DRIVERS__GPIO__SPEC__IMX53__BOARD_H_
/* Genode includes */
#include <drivers/defs/imx53.h>
namespace Board { using namespace Imx53; }
#endif /* _DRIVERS__GPIO__SPEC__IMX53__BOARD_H_ */

View File

@ -1,7 +0,0 @@
TARGET = imx53_gpio_drv
REQUIRES = arm_v7
SRC_CC = main.cc
LIBS = base
INC_DIR += $(PRG_DIR) $(REP_DIR)/src/drivers/gpio/imx
vpath main.cc $(REP_DIR)/src/drivers/gpio/imx

View File

@ -1,22 +0,0 @@
/*
* \brief Gpio driver for the i.MX6 SoCs
* \author Stefan Kalkowski <stefan.kalkowski@genode-labs.com>
* \date 2018-02-22
*/
/*
* Copyright (C) 2018 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU Affero General Public License version 3.
*/
#ifndef _DRIVERS__GPIO__SPEC__IMX6__BOARD_H_
#define _DRIVERS__GPIO__SPEC__IMX6__BOARD_H_
/* Genode includes */
#include <drivers/defs/imx6.h>
namespace Board { using namespace Imx6; }
#endif /* _DRIVERS__GPIO__SPEC__IMX6__BOARD_H_ */

View File

@ -1,7 +0,0 @@
TARGET = imx6_gpio_drv
REQUIRES = arm_v7
SRC_CC = main.cc
LIBS = base
INC_DIR += $(PRG_DIR) $(REP_DIR)/src/drivers/gpio/imx
vpath main.cc $(REP_DIR)/src/drivers/gpio/imx

View File

@ -30,7 +30,7 @@ class Genode::Vm : public Vm_base
enum { DTB_OFFSET = 0x1000000 };
Gpio::Connection _led { _env, 123 };
Gpio::Connection _led { _env, 28 };
/*************