Port BBB sd driver files to RTEMS.

So BBB can mount and read eMMC and SD card.
This commit is contained in:
Sichen Zhao
2017-11-08 21:43:32 +08:00
committed by Sebastian Huber
parent 7e52ab9cd0
commit 7c68f4ef0b
9 changed files with 592 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
#include <machine/rtems-bsd-kernel-space.h>
/*
* This file is produced automatically.
* Do not modify anything in here by hand.
*
* Created from source file
* freebsd-org/sys/dev/gpio/gpiobus_if.m
* with
* makeobjops.awk
*
* See the source file for legal information
*/
#include <sys/param.h>
#include <sys/queue.h>
#include <sys/kernel.h>
#include <sys/kobj.h>
#include <sys/bus.h>
#include <sys/gpio.h>
#include <rtems/bsd/local/gpiobus_if.h>
struct kobjop_desc gpiobus_acquire_bus_desc = {
0, { &gpiobus_acquire_bus_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc gpiobus_release_bus_desc = {
0, { &gpiobus_release_bus_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc gpiobus_pin_set_desc = {
0, { &gpiobus_pin_set_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc gpiobus_pin_get_desc = {
0, { &gpiobus_pin_get_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc gpiobus_pin_toggle_desc = {
0, { &gpiobus_pin_toggle_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc gpiobus_pin_getcaps_desc = {
0, { &gpiobus_pin_getcaps_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc gpiobus_pin_getflags_desc = {
0, { &gpiobus_pin_getflags_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc gpiobus_pin_setflags_desc = {
0, { &gpiobus_pin_setflags_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc gpiobus_pin_getname_desc = {
0, { &gpiobus_pin_getname_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc gpiobus_pin_setname_desc = {
0, { &gpiobus_pin_setname_desc, (kobjop_t)kobj_error_method }
};

90
rtemsbsd/local/sdhci_if.c Normal file
View File

@@ -0,0 +1,90 @@
#include <machine/rtems-bsd-kernel-space.h>
/*
* This file is produced automatically.
* Do not modify anything in here by hand.
*
* Created from source file
* freebsd-org/sys/dev/sdhci/sdhci_if.m
* with
* makeobjops.awk
*
* See the source file for legal information
*/
#include <sys/param.h>
#include <sys/queue.h>
#include <sys/kernel.h>
#include <sys/kobj.h>
#include <sys/types.h>
#include <sys/bus.h>
#include <sys/sysctl.h>
#include <sys/taskqueue.h>
#include <dev/mmc/bridge.h>
#include <dev/sdhci/sdhci.h>
static void
null_set_uhs_timing(device_t brdev __unused,
struct sdhci_slot *slot __unused)
{
}
#include <rtems/bsd/local/sdhci_if.h>
struct kobjop_desc sdhci_read_1_desc = {
0, { &sdhci_read_1_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc sdhci_read_2_desc = {
0, { &sdhci_read_2_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc sdhci_read_4_desc = {
0, { &sdhci_read_4_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc sdhci_read_multi_4_desc = {
0, { &sdhci_read_multi_4_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc sdhci_write_1_desc = {
0, { &sdhci_write_1_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc sdhci_write_2_desc = {
0, { &sdhci_write_2_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc sdhci_write_4_desc = {
0, { &sdhci_write_4_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc sdhci_write_multi_4_desc = {
0, { &sdhci_write_multi_4_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc sdhci_platform_will_handle_desc = {
0, { &sdhci_platform_will_handle_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc sdhci_platform_start_transfer_desc = {
0, { &sdhci_platform_start_transfer_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc sdhci_platform_finish_transfer_desc = {
0, { &sdhci_platform_finish_transfer_desc, (kobjop_t)kobj_error_method }
};
struct kobjop_desc sdhci_min_freq_desc = {
0, { &sdhci_min_freq_desc, (kobjop_t)sdhci_generic_min_freq }
};
struct kobjop_desc sdhci_get_card_present_desc = {
0, { &sdhci_get_card_present_desc, (kobjop_t)sdhci_generic_get_card_present }
};
struct kobjop_desc sdhci_set_uhs_timing_desc = {
0, { &sdhci_set_uhs_timing_desc, (kobjop_t)null_set_uhs_timing }
};