From 7c68f4ef0b9ea2e3222859ff5e68ea926ddb6259 Mon Sep 17 00:00:00 2001 From: Sichen Zhao <1473996754@qq.com> Date: Wed, 8 Nov 2017 21:43:32 +0800 Subject: Port BBB sd driver files to RTEMS. So BBB can mount and read eMMC and SD card. --- rtemsbsd/local/gpiobus_if.c | 62 +++++++++++++++++++++++++++++++ rtemsbsd/local/sdhci_if.c | 90 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 152 insertions(+) create mode 100644 rtemsbsd/local/gpiobus_if.c create mode 100644 rtemsbsd/local/sdhci_if.c (limited to 'rtemsbsd/local') diff --git a/rtemsbsd/local/gpiobus_if.c b/rtemsbsd/local/gpiobus_if.c new file mode 100644 index 00000000..a1c7dd5c --- /dev/null +++ b/rtemsbsd/local/gpiobus_if.c @@ -0,0 +1,62 @@ +#include + +/* + * 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 +#include +#include +#include +#include +#include +#include + +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 } +}; + diff --git a/rtemsbsd/local/sdhci_if.c b/rtemsbsd/local/sdhci_if.c new file mode 100644 index 00000000..1d6c26d4 --- /dev/null +++ b/rtemsbsd/local/sdhci_if.c @@ -0,0 +1,90 @@ +#include + +/* + * 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 +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static void +null_set_uhs_timing(device_t brdev __unused, + struct sdhci_slot *slot __unused) +{ + +} + +#include + +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 } +}; + -- cgit v1.2.3