From ca6e0d13ad7ab3649455c20cbfbb42a53565471b Mon Sep 17 00:00:00 2001 From: Egor Savkin Date: Wed, 15 Feb 2023 18:14:05 +0800 Subject: [PATCH] Remove virtual LEDs from io_expander Signed-off-by: Egor Savkin --- src/runtime/src/comms.rs | 8 +------- src/runtime/src/io_expander.rs | 25 ------------------------- src/runtime/src/main.rs | 5 +++-- 3 files changed, 4 insertions(+), 34 deletions(-) diff --git a/src/runtime/src/comms.rs b/src/runtime/src/comms.rs index 2fa3c8e9..e14e7c60 100644 --- a/src/runtime/src/comms.rs +++ b/src/runtime/src/comms.rs @@ -32,7 +32,6 @@ use crate::moninj; use crate::mgmt; use crate::analyzer; use crate::rtio_mgt::{self, resolve_channel_name}; -use crate::io_expander; #[cfg(has_drtio)] use crate::pl; @@ -381,7 +380,7 @@ async fn handle_connection(stream: &mut TcpStream, control: Rc Result { - Ok(IoExpander {}) - } -} - -#[cfg(feature = "target_kasli_soc")] -impl IoExpander { - pub fn new(index: u8) -> Result { - const VIRTUAL_LED_MAPPING0: [(u8, u8, u8); 2] = [(0, 0, 6), (1, 1, 6)]; - const VIRTUAL_LED_MAPPING1: [(u8, u8, u8); 2] = [(2, 0, 6), (3, 1, 6)]; // Both expanders on SHARED I2C bus let mut io_expander = match index { @@ -45,7 +30,6 @@ impl IoExpander { busno: 0, port: 11, address: 0x40, - virtual_led_mapping: &VIRTUAL_LED_MAPPING0, iodir: [0xff; 2], out_current: [0; 2], out_target: [0; 2], @@ -60,7 +44,6 @@ impl IoExpander { busno: 0, port: 11, address: 0x42, - virtual_led_mapping: &VIRTUAL_LED_MAPPING1, iodir: [0xff; 2], out_current: [0; 2], out_target: [0; 2], @@ -125,10 +108,6 @@ impl IoExpander { pub fn init(&mut self) -> Result<(), &'static str> { self.select()?; - - for (_led, port, bit) in self.virtual_led_mapping.iter() { - self.iodir[*port as usize] &= !(1 << *bit); - } self.update_iodir()?; self.out_current[0] = 0x00; @@ -153,10 +132,6 @@ impl IoExpander { } pub fn service(&mut self) -> Result<(), &'static str> { - for (_led, port, bit) in self.virtual_led_mapping.iter() { - self.set(*port, *bit, true); - } - if self.out_target != self.out_current { self.select()?; if self.out_target[0] != self.out_current[0] { diff --git a/src/runtime/src/main.rs b/src/runtime/src/main.rs index 09e272ef..a925be98 100644 --- a/src/runtime/src/main.rs +++ b/src/runtime/src/main.rs @@ -46,6 +46,7 @@ mod mgmt; mod analyzer; mod irq; mod i2c; +#[cfg(feature = "target_kasli_soc")] mod io_expander; static mut SEEN_ASYNC_ERRORS: u8 = 0; @@ -115,9 +116,9 @@ pub fn main_core0() { i2c::init(); - let (mut io_expander0, mut io_expander1) = (io_expander::IoExpander::new(0).unwrap(), io_expander::IoExpander::new(1).unwrap()); #[cfg(feature = "target_kasli_soc")] { + let (mut io_expander0, mut io_expander1) = (io_expander::IoExpander::new(0).unwrap(), io_expander::IoExpander::new(1).unwrap()); io_expander0.init().expect("I2C I/O expander #0 initialization failed"); io_expander1.init().expect("I2C I/O expander #1 initialization failed"); @@ -146,5 +147,5 @@ pub fn main_core0() { task::spawn(report_async_rtio_errors()); - comms::main(timer, cfg, io_expander0, io_expander1); + comms::main(timer, cfg); }