# 
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk

PKG_NAME:=si3215
PKG_VERSION:=1.00
RELEASE_VERSION:=3

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).$(RELEASE_VERSION).tar.gz
PKG_CAT:=zcat

PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).$(RELEASE_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
PKG_MODULE_NAME:=si3215-$(PKG_VERSION).$(RELEASE_VERSION).$(LINUX_KMOD_SUFFIX)

include $(INCLUDE_DIR)/package.mk

ifeq ($(CONFIG_TARGET_comcerto100_ferouter),y)
	L_TDM_CODING:=2
	L_FLASH_TIME:=500
	L_SPI_CS:=3
endif

################ OpenWRT definition ########################
define KernelPackage/si3215
  CATEGORY:=Mindspeed Packages
  DEPENDS:=@TARGET_comcerto100_ferouter
  DEFAULT:=y
  TITLE:=SiLabs Si3215 ProSLIC Driver
  DESCRIPTION:= This package contains a driver for SiLabs Si3215 ProSLIC
  URL:=http://www.silabs.com/
  MAINTAINER:=Mindspeed Technologies
  FILES:= $(PKG_BUILD_DIR)/si3215.$(LINUX_KMOD_SUFFIX)
endef

ifeq ($(CONFIG_DEV_SI3215), y)
ifeq ($(CONFIG_DEV_SI3215_CVSBRANCH), "")
define Build/Prepare
	pushd "$(KERNEL_BUILD_DIR)"; \
	cvs -z9 -d:pserver:$(CONFIG_ACTIVEDEV_CVSUSERNAME)@$(CONFIG_ACTIVEDEV_CVSROOTPATH):/prj/msacvs/enterprise checkout -d $(PKG_NAME)-$(PKG_VERSION).$(RELEASE_VERSION) $(CONFIG_DEV_SI3215_MODULENAME);\
	popd
endef
else
define Build/Prepare
	pushd "$(KERNEL_BUILD_DIR)"; \
	cvs -z9 -d:pserver:$(CONFIG_ACTIVEDEV_CVSUSERNAME)@$(CONFIG_ACTIVEDEV_CVSROOTPATH):/prj/msacvs/enterprise checkout -d $(PKG_NAME)-$(PKG_VERSION).$(RELEASE_VERSION) -r $(CONFIG_DEV_SI3215_CVSBRANCH) $(CONFIG_DEV_SI3215_MODULENAME);\
	popd
endef
endif
endif

define Build/Compile
	$(call Build/Compile/Default, KERNELPATH="$(LINUX_DIR)")
endef

define Build/InstallDev
endef

define Build/UninstallDev
endef

define KernelPackage/si3215/install
	mkdir -p $(1)/etc/modules.d
	echo si3215 tdm_coding=$(L_TDM_CODING) flash_time=$(L_FLASH_TIME) spi_cs=$(L_SPI_CS) > $(1)/etc/modules.d/39-si3215
endef

$(eval $(call KernelPackage,si3215))
