| 1 | # |
| 2 | # Copyright (C) 2008 OpenWrt.org |
| 3 | # |
| 4 | # This is free software, licensed under the GNU General Public License v2. |
| 5 | # See /LICENSE for more information. |
| 6 | |
| 7 | include $(TOPDIR)/rules.mk |
| 8 | include $(INCLUDE_DIR)/kernel.mk |
| 9 | |
| 10 | PKG_NAME:=mmc-over-gpio |
| 11 | PKG_RELEASE:=4 |
| 12 | |
| 13 | include $(INCLUDE_DIR)/package.mk |
| 14 | |
| 15 | |
| 16 | define KernelPackage/mmc-over-gpio |
| 17 | SUBMENU:=Other modules |
| 18 | DEPENDS:=@GPIO_SUPPORT +kmod-mmc-spi +kmod-spi-gpio-old |
| 19 | KCONFIG:=CONFIG_GPIOMMC \ |
| 20 | CONFIG_CONFIGFS_FS=y |
| 21 | TITLE:=MMC/SD card over GPIO support |
| 22 | FILES:=$(LINUX_DIR)/drivers/mmc/host/gpiommc.$(LINUX_KMOD_SUFFIX) |
| 23 | AUTOLOAD:=$(call AutoLoad,93,gpiommc) |
| 24 | MENU:=1 |
| 25 | endef |
| 26 | |
| 27 | define Package/kmod-mmc-over-gpio/config |
| 28 | menu "Configuration" |
| 29 | depends PACKAGE_kmod-mmc-over-gpio |
| 30 | |
| 31 | config KMOD_MMC_OVER_GPIO_DI_PIN |
| 32 | int "GPIO DI (Data-In) pin" |
| 33 | default 1 |
| 34 | |
| 35 | config KMOD_MMC_OVER_GPIO_DO_PIN |
| 36 | int "GPIO DO (Data-Out) pin" |
| 37 | default 3 |
| 38 | |
| 39 | config KMOD_MMC_OVER_GPIO_CLK_PIN |
| 40 | int "GPIO CLK (Clock) pin" |
| 41 | default 4 |
| 42 | |
| 43 | config KMOD_MMC_OVER_GPIO_CS_PIN |
| 44 | int "GPIO CS (Chip-Select) pin" |
| 45 | default 7 |
| 46 | |
| 47 | endmenu |
| 48 | endef |
| 49 | |
| 50 | define KernelPackage/mmc-over-gpio/description |
| 51 | Support for driving an MMC/SD card over GPIO pins via SPI. |
| 52 | endef |
| 53 | |
| 54 | define KernelPackage/mmc-over-gpio/conffiles |
| 55 | /etc/config/mmc_over_gpio |
| 56 | endef |
| 57 | |
| 58 | define Build/Prepare |
| 59 | mkdir -p $(PKG_BUILD_DIR) |
| 60 | endef |
| 61 | |
| 62 | define Build/Compile |
| 63 | endef |
| 64 | |
| 65 | define KernelPackage/mmc-over-gpio/install |
| 66 | $(INSTALL_DIR) $(1)/etc/config |
| 67 | $(INSTALL_DATA) ./files/mmc_over_gpio.config $(1)/etc/config/mmc_over_gpio |
| 68 | $(INSTALL_DIR) $(1)/etc/init.d |
| 69 | $(INSTALL_BIN) ./files/mmc_over_gpio.init $(1)/etc/init.d/mmc_over_gpio |
| 70 | |
| 71 | $(SED) 's,@GPIO_DI_PIN@,$(CONFIG_KMOD_MMC_OVER_GPIO_DI_PIN),g' \ |
| 72 | -e 's,@GPIO_DO_PIN@,$(CONFIG_KMOD_MMC_OVER_GPIO_DO_PIN),g' \ |
| 73 | -e 's,@GPIO_CLK_PIN@,$(CONFIG_KMOD_MMC_OVER_GPIO_CLK_PIN),g' \ |
| 74 | -e 's,@GPIO_CS_PIN@,$(CONFIG_KMOD_MMC_OVER_GPIO_CS_PIN),g' \ |
| 75 | $(1)/etc/config/mmc_over_gpio |
| 76 | endef |
| 77 | |
| 78 | $(eval $(call KernelPackage,mmc-over-gpio)) |
| 79 | |