From b1d53fd4c8e307e052921e53e565cb5730ba4b16 Mon Sep 17 00:00:00 2001 From: Stefan Kalkowski Date: Tue, 18 Feb 2025 14:48:56 +0100 Subject: [PATCH] sculpt: add F&S i.MX 8MP Armstone --- repos/gems/run/sculpt.run | 25 +++++++++++++++++------ repos/gems/run/sculpt_image.run | 15 ++++++++++---- repos/gems/src/app/sculpt_manager/main.cc | 11 +++++----- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/repos/gems/run/sculpt.run b/repos/gems/run/sculpt.run index 199fb1442f..a475961278 100644 --- a/repos/gems/run/sculpt.run +++ b/repos/gems/run/sculpt.run @@ -12,12 +12,13 @@ proc sculpt_version { } { return "24.10" } proc assert_platform_supported { } { - if {[have_board pc]} return - if {[have_board imx8q_evk]} return - if {[have_board mnt_reform2]} return - if {[have_board mnt_pocket]} return - if {[have_board linux]} return - if {[have_board pinephone]} return + if {[have_board pc]} return + if {[have_board imx8q_evk]} return + if {[have_board mnt_reform2]} return + if {[have_board mnt_pocket]} return + if {[have_board linux]} return + if {[have_board pinephone]} return + if {[have_board imx8mp_armstone]} return puts "Platform is unsupported."; exit 0; @@ -231,6 +232,18 @@ proc driver_routes { } { } + set result(imx8mp_armstone) { + + + + + + + + + + } + if {[info exists result([board])]} { return $result([board]); } diff --git a/repos/gems/run/sculpt_image.run b/repos/gems/run/sculpt_image.run index f565a0896e..8f9e9b60aa 100644 --- a/repos/gems/run/sculpt_image.run +++ b/repos/gems/run/sculpt_image.run @@ -3,10 +3,11 @@ # proc board_supported { } { - if {[have_board pinephone]} { return true } - if {[have_board pc]} { return true } - if {[have_board mnt_reform2]} { return true } - if {[have_board mnt_pocket]} { return true } + if {[have_board pinephone]} { return true } + if {[have_board pc]} { return true } + if {[have_board mnt_reform2]} { return true } + if {[have_board mnt_pocket]} { return true } + if {[have_board imx8mp_armstone]} { return true } return false } @@ -52,6 +53,12 @@ if {[have_board mnt_pocket]} { assert_run_arg "--image-uboot-gzip-best" } +if {[have_board imx8mp_armstone]} { + assert_include image/uboot + assert_include image/armstone_sdcard + assert_run_arg "--image-uboot-gzip-best" +} + source ${genode_dir}/repos/gems/run/sculpt.run set image_name "sculpt-$board_var-[build_date]" diff --git a/repos/gems/src/app/sculpt_manager/main.cc b/repos/gems/src/app/sculpt_manager/main.cc index c0ff8b8154..7c2b3bba60 100644 --- a/repos/gems/src/app/sculpt_manager/main.cc +++ b/repos/gems/src/app/sculpt_manager/main.cc @@ -91,6 +91,7 @@ struct Sculpt::Main : Input_event_handler, bool const _mnt_reform = (_build_info.board == "mnt_reform2"); bool const _mnt_pocket = (_build_info.board == "mnt_pocket"); + bool const _armstone = (_build_info.board == "imx8mp_armstone"); Registry _child_states { }; @@ -294,13 +295,13 @@ struct Sculpt::Main : Input_event_handler, **********************/ Board_info::Soc _soc { - .fb = _mnt_reform || _mnt_pocket, + .fb = _mnt_reform || _mnt_pocket || _armstone, .touch = false, .wifi = _mnt_pocket, /* initialized via PCI on Reform */ - .usb = _mnt_reform || _mnt_pocket, - .mmc = _mnt_reform || _mnt_pocket, + .usb = _mnt_reform || _mnt_pocket || _armstone, + .mmc = _mnt_reform || _mnt_pocket || _armstone, .modem = false, - .nic = _mnt_reform || _mnt_pocket, + .nic = _mnt_reform || _mnt_pocket || _armstone, .fb_on_dedicated_cpu = _mnt_pocket }; @@ -310,7 +311,7 @@ struct Sculpt::Main : Input_event_handler, Drivers::Resumed _resumed = _drivers.resumed(); Board_info::Options _driver_options { - .display = _mnt_reform || _mnt_pocket, + .display = _mnt_reform || _mnt_pocket || _armstone, .usb_net = false, .nic = false, .wifi = _mnt_pocket,