kobo-core 0.4.0

Kobo e-reader device SDK: device database, sysfs/ioctl, rendering, audio pipeline, trait surface
Documentation
// SPDX-License-Identifier: MIT
// Copyright (c) 2026 Nayeem Bin Ahsan
use crate::device::config::{DeviceConfig, SocFamily, TouchProtocol};

pub fn mtk_devices() -> Vec<DeviceConfig> {
    use super::{fl_mxc_aw99703, fl_mxc_lm3630a};
    vec![
        DeviceConfig {
            codename: "monza",
            model: "Kobo Libra Colour",
            soc: SocFamily::Mtk,
            display_dpi: 300,
            has_color_screen: true,
            has_natural_light: true,
            has_bt: true,
            has_keys: true,
            has_gsensor: true,
            has_eclipse_wfm: true,
            is_smp: true,
            frontlight: fl_mxc_lm3630a(),
            battery_sysfs: "/sys/class/power_supply/bd71827_bat".into(),
            touch_protocol: TouchProtocol::Snow,
            touch_switch_xy: true,
            touch_mirrored_x: true,
            touch_mirrored_y: false,
            standby_state: "mem",
            automagic_sysfs: false,
        },
        DeviceConfig {
            codename: "monzaKobo",
            model: "Kobo Libra Colour",
            soc: SocFamily::Mtk,
            display_dpi: 300,
            has_color_screen: true,
            has_natural_light: true,
            has_bt: true,
            has_keys: true,
            has_gsensor: true,
            has_eclipse_wfm: true,
            is_smp: true,
            frontlight: fl_mxc_lm3630a(),
            battery_sysfs: "/sys/class/power_supply/bd71827_bat".into(),
            touch_protocol: TouchProtocol::Snow,
            touch_switch_xy: true,
            touch_mirrored_x: true,
            touch_mirrored_y: false,
            standby_state: "mem",
            automagic_sysfs: false,
        },
        DeviceConfig {
            codename: "spaBW",
            model: "Kobo Clara BW",
            soc: SocFamily::Mtk,
            display_dpi: 300,
            has_color_screen: false,
            has_natural_light: true,
            has_bt: true,
            has_keys: false,
            has_gsensor: false,
            has_eclipse_wfm: true,
            is_smp: false,
            frontlight: fl_mxc_lm3630a(),
            battery_sysfs: "/sys/class/power_supply/bd71827_bat".into(),
            touch_protocol: TouchProtocol::Snow,
            touch_switch_xy: true,
            touch_mirrored_x: true,
            touch_mirrored_y: false,
            standby_state: "mem",
            automagic_sysfs: false,
        },
        DeviceConfig {
            codename: "spaKoboBW",
            model: "Kobo Clara BW",
            soc: SocFamily::Mtk,
            display_dpi: 300,
            has_color_screen: false,
            has_natural_light: true,
            has_bt: true,
            has_keys: false,
            has_gsensor: false,
            has_eclipse_wfm: true,
            is_smp: false,
            frontlight: fl_mxc_lm3630a(),
            battery_sysfs: "/sys/class/power_supply/bd71827_bat".into(),
            touch_protocol: TouchProtocol::Snow,
            touch_switch_xy: true,
            touch_mirrored_x: true,
            touch_mirrored_y: false,
            standby_state: "mem",
            automagic_sysfs: false,
        },
        DeviceConfig {
            codename: "spaColour",
            model: "Kobo Clara Colour",
            soc: SocFamily::Mtk,
            display_dpi: 300,
            has_color_screen: true,
            has_natural_light: true,
            has_bt: true,
            has_keys: false,
            has_gsensor: false,
            has_eclipse_wfm: true,
            is_smp: false,
            frontlight: fl_mxc_lm3630a(),
            battery_sysfs: "/sys/class/power_supply/bd71827_bat".into(),
            touch_protocol: TouchProtocol::Snow,
            touch_switch_xy: true,
            touch_mirrored_x: true,
            touch_mirrored_y: false,
            standby_state: "mem",
            automagic_sysfs: false,
        },
        DeviceConfig {
            codename: "condor",
            model: "Kobo Elipsa 2E",
            soc: SocFamily::Mtk,
            display_dpi: 300,
            has_color_screen: false,
            has_natural_light: true,
            has_bt: true,
            has_keys: false,
            has_gsensor: false,
            has_eclipse_wfm: true,
            is_smp: true,
            frontlight: fl_mxc_aw99703(true),
            battery_sysfs: "/sys/class/power_supply/bd71827_bat".into(),
            touch_protocol: TouchProtocol::Snow,
            touch_switch_xy: true,
            touch_mirrored_x: true,
            touch_mirrored_y: false,
            standby_state: "mem",
            automagic_sysfs: false,
        },
    ]
}