summaryrefslogtreecommitdiffstats
path: root/rtemsbsd/local
diff options
context:
space:
mode:
authorSichen Zhao <1473996754@qq.com>2017-11-08 21:43:32 +0800
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-11-10 13:10:08 +0100
commit7c68f4ef0b9ea2e3222859ff5e68ea926ddb6259 (patch)
tree94e8f763461aa88eb7f909e0bb4726cbd8dcd52a /rtemsbsd/local
parentImport BBB sd driver files from FreeBSD. (diff)
downloadrtems-libbsd-7c68f4ef0b9ea2e3222859ff5e68ea926ddb6259.tar.bz2
Port BBB sd driver files to RTEMS.
So BBB can mount and read eMMC and SD card.
Diffstat (limited to 'rtemsbsd/local')
-rw-r--r--rtemsbsd/local/gpiobus_if.c62
-rw-r--r--rtemsbsd/local/sdhci_if.c90
2 files changed, 152 insertions, 0 deletions
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 <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 }
+};
+
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 <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 }
+};
+