Initial commit: TXW82x FPV v2.7.0.7-42229 SDK + project sources

This commit is contained in:
2026-07-06 11:30:13 +08:00
commit e76462eeb7
3451 changed files with 1415300 additions and 0 deletions

69
sdk/hal/sdio_slave.c Normal file
View File

@@ -0,0 +1,69 @@
#include "typesdef.h"
#include "list.h"
#include "errno.h"
#include "dev.h"
#include "hal/sdio_slave.h"
int32 sdio_slave_open(struct sdio_slave *slave, enum sdio_slave_speed speed, uint32 flags)
{
if (slave) {
HALDEV_SUSPENDED(slave);
return ((const struct sdios_hal_ops *)slave->dev.ops)->open(slave, speed, flags);
}
return RET_ERR;
}
int32 sdio_slave_close(struct sdio_slave *slave)
{
if (slave) {
HALDEV_SUSPENDED(slave);
return ((const struct sdios_hal_ops *)slave->dev.ops)->close(slave);
}
return RET_ERR;
}
int32 sdio_slave_write(struct sdio_slave *slave, uint8 *buff, uint32 len, int8 sync)
{
if (slave && ((const struct sdios_hal_ops *)slave->dev.ops)->write) {
HALDEV_SUSPENDED(slave);
return ((const struct sdios_hal_ops *)slave->dev.ops)->write(slave, buff, len, sync);
}
return RET_ERR;
}
int32 sdio_slave_write_scatter(struct sdio_slave *slave, scatter_data *data, uint32 count, int8 sync)
{
if (slave && ((const struct sdios_hal_ops *)slave->dev.ops)->write_scatter) {
HALDEV_SUSPENDED(slave);
return ((const struct sdios_hal_ops *)slave->dev.ops)->write_scatter(slave, data, count, sync);
}
return RET_ERR;
}
int32 sdio_slave_read(struct sdio_slave *slave, uint8 *buff, uint32 len, int8 sync)
{
if (slave && ((const struct sdios_hal_ops *)slave->dev.ops)->read) {
HALDEV_SUSPENDED(slave);
return ((const struct sdios_hal_ops *)slave->dev.ops)->read(slave, buff, len, sync);
}
return RET_ERR;
}
int32 sdio_slave_ioctl(struct sdio_slave *slave, uint32 cmd, uint32 param)
{
if (slave && ((const struct sdios_hal_ops *)slave->dev.ops)->ioctl) {
HALDEV_SUSPENDED(slave);
return ((const struct sdios_hal_ops *)slave->dev.ops)->ioctl(slave, cmd, param);
}
return RET_ERR;
}
int32 sdio_slave_request_irq(struct sdio_slave *slave, sdio_slave_irq_hdl handle, uint32 data)
{
if (slave && ((const struct sdios_hal_ops *)slave->dev.ops)->request_irq) {
HALDEV_SUSPENDED(slave);
return ((const struct sdios_hal_ops *)slave->dev.ops)->request_irq(slave, handle, data);
}
return RET_ERR;
}