[package]
edition = "2024"
name = "ax-driver"
version = "0.11.3"
authors = ["RCore Team <yuchen@tsinghua.edu.cn>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "ArceOS rdrive driver registration and rdif binding collection"
readme = false
license = "Apache-2.0"
repository = "https://github.com/rcore-os/tgoskits"
[features]
ahci = [
"block",
"pci",
"dep:simple-ahci",
]
aic8800-wifi = [
"net",
"dep:aic8800",
"dep:sdhci-cv1800",
"dep:sdio-host",
]
bcm2835-sdhci = [
"block",
"dep:bcm2835-sdhci",
]
block = [
"dep:ax-errno",
"dep:ax-kspin",
"dep:rdif-block",
]
cvsd = [
"block",
"dep:cv181x-sdhci",
"dep:sdmmc-protocol",
"sdmmc-protocol/rdif",
]
default = []
display = [
"dep:ax-errno",
"dep:rdif-display",
]
fxmac = [
"net",
"dep:ax-alloc",
"dep:ax-crate-interface",
"dep:fxmac_rs",
]
input = [
"dep:ax-errno",
"dep:rdif-input",
]
intel-net = [
"net",
"pci",
"dep:eth-intel",
]
irq = []
jpeg = [
"rockchip-pm",
"rockchip-soc",
"dep:rockchip-jpeg",
]
jpu-selftest = ["jpeg"]
k230-sdhci = [
"block",
"dep:sdhci-host",
"dep:sdmmc-protocol",
"sdmmc-protocol/rdif",
]
list-pci-devices = ["pci"]
ls2k1000-ahci = [
"block",
"dep:simple-ahci",
]
ls2k1000-gmac = [
"net",
"dep:ax-kspin",
]
net = [
"dep:ax-kspin",
"dep:rd-net",
]
nvme = [
"block",
"pci",
"dep:nvme-driver",
]
pci = [
"dep:ax-kspin",
"dep:pcie",
"dep:rdif-msi",
"dep:rdif-pcie",
]
pci-list-devices = ["list-pci-devices"]
phytium-mci = [
"block",
"dep:ax-kspin",
"dep:phytium-mci-host",
"dep:sdmmc-protocol",
"sdmmc-protocol/rdif",
]
pinctrl = [
"dep:rdif-pinctrl",
"rdif-pinctrl/fdt",
]
ramdisk = [
"block",
"dep:ramdisk",
]
realtek-rtl8125 = [
"net",
"pci",
"dep:realtek-rtl8125",
]
rga = ["dep:rockchip-rga"]
rk3588-pcie = [
"pci",
"rockchip-soc",
"rockchip-pm",
"dep:rk3588-pci",
]
rk3588-pwm = [
"rockchip-soc",
"dep:rdif-pwm",
"dep:rockchip-pwm",
]
rknpu = [
"rockchip-pm",
"rockchip-soc",
"dep:rockchip-npu",
]
rockchip-dwc-xhci = [
"usb",
"rockchip-soc",
"rockchip-pm",
]
rockchip-dwmmc = [
"block",
"rockchip-pm",
"rockchip-soc",
"dep:arm-scmi-rs",
"dep:ax-kspin",
"dep:dwmmc-host",
"dep:rdif-clk",
"dep:sdmmc-protocol",
"sdmmc-protocol/rdif",
]
rockchip-ehci = [
"usb",
"rockchip-soc",
"rockchip-pm",
]
rockchip-pm = [
"rockchip-soc",
"dep:rdif-power",
"dep:rockchip-pm",
]
rockchip-sdhci = [
"block",
"rockchip-pm",
"rockchip-soc",
"dep:ax-kspin",
"dep:rdif-clk",
"dep:sdhci-host",
"dep:sdmmc-protocol",
"sdmmc-protocol/rdif",
]
rockchip-soc = [
"pinctrl",
"dep:ax-kspin",
"dep:rdif-clk",
"dep:rdif-reset",
"dep:rockchip-soc",
]
rtc = []
serial = [
"dep:ax-errno",
"dep:ax-kernel-guard",
"dep:ax-kspin",
"dep:rdif-serial",
"dep:some-serial",
]
starfive-jh7110-dwmmc = [
"block",
"starfive-soc",
"dep:sdmmc-protocol",
"dep:starfive-jh7110-dwmmc",
"sdmmc-protocol/rdif",
"sdmmc-protocol/sdio",
]
starfive-soc = [
"dep:rdif-clk",
"dep:rdif-reset",
"dep:tock-registers",
]
usb = ["dep:crab-usb"]
virtio = ["virtio-core"]
virtio-blk = [
"block",
"virtio",
"pci",
"dep:ax-kernel-guard",
]
virtio-core = [
"dep:ax-alloc",
"dep:virtio-drivers",
"virtio-drivers/alloc",
]
virtio-gpu = [
"display",
"virtio",
"pci",
]
virtio-input = [
"input",
"virtio",
"pci",
]
virtio-net = [
"net",
"virtio",
"pci",
"dep:ax-kernel-guard",
]
virtio-socket = [
"vsock",
"virtio",
"pci",
]
vsock = [
"dep:ax-errno",
"dep:rdif-vsock",
]
xhci-mmio = ["usb"]
xhci-pci = [
"usb",
"pci",
]
[lib]
name = "ax_driver"
path = "src/lib.rs"
[[test]]
name = "binding_info"
path = "tests/binding_info.rs"
[[test]]
name = "model_register"
path = "tests/model_register.rs"
[dependencies.aic8800]
version = "0.2.4"
optional = true
[dependencies.anyhow]
version = "1.0"
default-features = false
[dependencies.arm-scmi-rs]
version = "0.1.7"
optional = true
[dependencies.ax-alloc]
version = "0.8.11"
optional = true
default-features = false
[dependencies.ax-crate-interface]
version = "0.5.7"
optional = true
[dependencies.ax-errno]
version = "0.6.1"
optional = true
[dependencies.ax-kernel-guard]
version = "0.3.11"
optional = true
[dependencies.ax-kspin]
version = "0.3.15"
optional = true
[dependencies.axklib]
version = "0.7.4"
[dependencies.bcm2835-sdhci]
version = "0.1.1-preview.1"
optional = true
[dependencies.crab-usb]
version = "0.10.1"
optional = true
[dependencies.cv181x-sdhci]
version = "0.1.2"
optional = true
default-features = false
[dependencies.dma-api]
version = "0.9.3"
[dependencies.dwmmc-host]
version = "0.3.2"
optional = true
default-features = false
[dependencies.eth-intel]
version = "0.1.11"
optional = true
[dependencies.fdt-edit]
version = "0.2.3"
[dependencies.fxmac_rs]
version = "0.6.0"
optional = true
[dependencies.heapless]
version = "0.9"
[dependencies.irq-framework]
version = "0.3.0"
[dependencies.log]
version = "0.4"
[dependencies.mmio-api]
version = "0.2.2"
[dependencies.nvme-driver]
version = "0.7.1"
optional = true
[dependencies.pcie]
version = "0.6.6"
optional = true
[dependencies.phytium-mci-host]
version = "0.3.2"
optional = true
default-features = false
[dependencies.ramdisk]
version = "0.1.10"
optional = true
[dependencies.rd-net]
version = "0.2.2"
optional = true
[dependencies.rdif-block]
version = "0.11.2"
optional = true
[dependencies.rdif-clk]
version = "0.5.4"
optional = true
[dependencies.rdif-display]
version = "0.2.0"
optional = true
[dependencies.rdif-input]
version = "0.2.0"
optional = true
[dependencies.rdif-intc]
version = "0.15.0"
[dependencies.rdif-msi]
version = "0.1.0"
optional = true
[dependencies.rdif-pcie]
version = "0.2.5"
optional = true
[dependencies.rdif-pinctrl]
version = "0.1.2"
optional = true
[dependencies.rdif-power]
version = "0.8.0"
optional = true
[dependencies.rdif-pwm]
version = "0.1.0"
optional = true
[dependencies.rdif-reset]
version = "0.1.0"
optional = true
[dependencies.rdif-serial]
version = "0.9.0"
optional = true
[dependencies.rdif-vsock]
version = "0.1.2"
optional = true
[dependencies.rdrive]
version = "0.23.5"
[dependencies.rdrive-macros]
version = "0.4.2"
[dependencies.realtek-rtl8125]
version = "0.2.9"
optional = true
[dependencies.rk3588-pci]
version = "0.2.4"
optional = true
[dependencies.rockchip-jpeg]
version = "0.1.3"
optional = true
[dependencies.rockchip-npu]
version = "0.2.10"
optional = true
[dependencies.rockchip-pm]
version = "0.4.6"
optional = true
[dependencies.rockchip-pwm]
version = "0.1.0"
optional = true
[dependencies.rockchip-rga]
version = "0.1.5"
optional = true
[dependencies.rockchip-soc]
version = "0.4.1"
optional = true
[dependencies.sdhci-cv1800]
version = "0.1.1"
optional = true
[dependencies.sdhci-host]
version = "0.4.1"
optional = true
default-features = false
[dependencies.sdio-host]
version = "0.1.0"
optional = true
package = "sdio-host-cv1800"
[dependencies.sdmmc-protocol]
version = "0.4.1"
optional = true
default-features = false
[dependencies.simple-ahci]
version = "0.1.1-preview.1"
optional = true
[dependencies.some-serial]
version = "0.7.0"
optional = true
[dependencies.spin]
version = "=0.12.0"
features = [
"lock_api",
"once",
"lazylock",
]
default-features = false
[dependencies.starfive-jh7110-dwmmc]
version = "0.1.2"
optional = true
default-features = false
[dependencies.tock-registers]
version = "0.10"
optional = true
[dependencies.virtio-drivers]
version = "0.13.0"
optional = true
default-features = false
[dev-dependencies.ax-kernel-guard]
version = "0.3.11"
features = ["host-test"]
[target.'cfg(target_arch = "aarch64")'.dependencies.ax-arm-pl031]
version = "0.4.7"
[target.'cfg(target_arch = "riscv64")'.dependencies.riscv_goldfish]
version = "0.1"
[target.'cfg(target_arch = "x86_64")'.dependencies.x86]
version = "0.52"