# 
# 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:=si3050
PKG_VERSION:=1.04
RELEASE_VERSION:=1

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:=si3050-$(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:=1
	L_BASE_TIMESLOT:=2
endif

ifeq ($(CONFIG_TARGET_comcerto1000_c1kevm),y)
	L_TDM_CODING:=2
	L_FLASH_TIME:=500
	L_SPI_CS:=2
	L_BASE_TIMESLOT:=4
endif

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

ifeq ($(CONFIG_DEV_SI3050), y)
ifeq ($(CONFIG_DEV_SI3050_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_SI3050_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_SI3050_CVSBRANCH) $(CONFIG_DEV_SI3050_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/si3050/install
	mkdir -p $(1)/etc/modules.d
	echo si3050 base_timeslot=$(L_BASE_TIMESLOT) spi_cs=$(L_SPI_CS) > $(1)/etc/modules.d/44-si3050
endef

$(eval $(call KernelPackage,si3050))
