add vdsl driver
Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 36023
This commit is contained in:
parent
23c3aa997b
commit
ae30b0c511
2 changed files with 217 additions and 0 deletions
69
package/platform/lantiq/ltq-vdsl/Makefile
Normal file
69
package/platform/lantiq/ltq-vdsl/Makefile
Normal file
|
@ -0,0 +1,69 @@
|
|||
# Copyright (C) 2012 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:=ltq-vdsl-vr9
|
||||
PKG_VERSION:=4.11.4
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_BASE_NAME:=drv_dsl_cpe_api_vrx
|
||||
PKG_SOURCE:=$(PKG_BASE_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/drv_dsl_cpe_api-$(PKG_VERSION)
|
||||
PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources/
|
||||
PKG_MD5SUM:=b6d9c1e3c5db1bfcd6e81bb2f582cadb
|
||||
|
||||
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define KernelPackage/ltq-vdsl-vr9
|
||||
TITLE:=vdsl driver
|
||||
SECTION:=sys
|
||||
SUBMENU:=Network Devices
|
||||
DEPENDS:=@TARGET_lantiq_xway +kmod-ltq-vdsl-vr9-mei
|
||||
FILES:=$(PKG_BUILD_DIR)/src/drv_dsl_cpe_api.ko
|
||||
AUTOLOAD:=$(call AutoLoad,51,drv_dsl_cpe_api)
|
||||
endef
|
||||
|
||||
define Package/ltq-vdsl-vr9/description
|
||||
This package contains the Lantiq DSL CPE API driver.
|
||||
|
||||
Supported Devices:
|
||||
- VRX200 Family
|
||||
endef
|
||||
|
||||
EXTRA_CFLAGS = -fno-pic -mno-abicalls -mlong-calls -G 0
|
||||
|
||||
CONFIGURE_ARGS += --enable-kernel-include="$(LINUX_DIR)/include" \
|
||||
--with-max-device="1" \
|
||||
--with-lines-per-device="1" \
|
||||
--with-channels-per-line="1" \
|
||||
--enable-vrx \
|
||||
--enable-ifxos \
|
||||
--enable-ifxos-include="-I$(STAGING_DIR)/usr/include/ifxos" \
|
||||
--enable-driver-include="-I$(STAGING_DIR)/usr/include/vdsl" \
|
||||
--enable-add-drv-cflags="-DMODULE -DINCLUDE_DSL_ATM_PTM_INTERFACE_SUPPORT -DDSL_DEBUG_DISABLE" \
|
||||
--enable-adsl-led=no \
|
||||
--enable-adsl-mib=no \
|
||||
--enable-dsl-ceoc=no \
|
||||
--enable-dsl-bonding=no \
|
||||
--enable-linux-26 \
|
||||
--enable-kernelbuild="$(LINUX_DIR)" \
|
||||
KERNEL_ARCH=mips
|
||||
|
||||
CONFIGURE_ARGS += --enable-model=full
|
||||
#CONFIGURE_ARGS += --enable-model=lite
|
||||
#CONFIGURE_ARGS += --enable-model=footprint
|
||||
#CONFIGURE_ARGS += --enable-model=typical
|
||||
#CONFIGURE_ARGS += --enable-model=debug
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include/drv_vdsl_cpe_api
|
||||
$(CP) $(PKG_BUILD_DIR)/src/include/drv_dsl_cpe*.h $(1)/usr/include/drv_vdsl_cpe_api/
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,ltq-vdsl-vr9))
|
148
package/platform/lantiq/ltq-vdsl/patches/100-compat.patch
Normal file
148
package/platform/lantiq/ltq-vdsl/patches/100-compat.patch
Normal file
|
@ -0,0 +1,148 @@
|
|||
Index: drv_dsl_cpe_api-4.11.4/src/include/drv_dsl_cpe_os_linux.h
|
||||
===================================================================
|
||||
--- drv_dsl_cpe_api-4.11.4.orig/src/include/drv_dsl_cpe_os_linux.h 2011-10-26 00:35:29.000000000 +0200
|
||||
+++ drv_dsl_cpe_api-4.11.4/src/include/drv_dsl_cpe_os_linux.h 2012-11-28 23:05:38.766342592 +0100
|
||||
@@ -17,7 +17,7 @@
|
||||
#endif
|
||||
|
||||
#include <asm/ioctl.h>
|
||||
-#include <linux/autoconf.h>
|
||||
+#include <generated/autoconf.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <linux/sched.h>
|
||||
|
||||
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17))
|
||||
- #include <linux/utsrelease.h>
|
||||
+ #include <generated/utsrelease.h>
|
||||
#endif
|
||||
|
||||
#include <linux/types.h>
|
||||
@@ -40,7 +40,6 @@
|
||||
#include <linux/delay.h>
|
||||
#include <linux/poll.h>
|
||||
#include <asm/uaccess.h>
|
||||
-#include <linux/smp_lock.h>
|
||||
|
||||
#ifdef INCLUDE_DSL_CPE_API_IFXOS_SUPPORT
|
||||
/** IFXOS includes*/
|
||||
Index: drv_dsl_cpe_api-4.11.4/src/Makefile.in
|
||||
===================================================================
|
||||
--- drv_dsl_cpe_api-4.11.4.orig/src/Makefile.in 2012-03-05 15:24:31.000000000 +0100
|
||||
+++ drv_dsl_cpe_api-4.11.4/src/Makefile.in 2012-11-28 23:05:38.770342592 +0100
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
# the headerfile of linux kernels 2.6.x contain to much arithmetic
|
||||
# with void pointers (which is allowed for gcc!)
|
||||
-@KERNEL_2_6_FALSE@am__append_8 = -Wpointer-arith
|
||||
+@KERNEL_2_6_FALSE@am__append_8 =
|
||||
subdir = src
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
Index: drv_dsl_cpe_api-4.11.4/src/common/drv_dsl_cpe_os_linux.c
|
||||
===================================================================
|
||||
--- drv_dsl_cpe_api-4.11.4.orig/src/common/drv_dsl_cpe_os_linux.c 2011-10-26 00:35:28.000000000 +0200
|
||||
+++ drv_dsl_cpe_api-4.11.4/src/common/drv_dsl_cpe_os_linux.c 2012-11-28 23:05:38.770342592 +0100
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
#define DSL_INTERN
|
||||
|
||||
+#include <linux/device.h>
|
||||
#include "drv_dsl_cpe_api.h"
|
||||
#include "drv_dsl_cpe_api_ioctl.h"
|
||||
|
||||
@@ -34,7 +35,7 @@
|
||||
static DSL_ssize_t DSL_DRV_Write(DSL_DRV_file_t *pFile, const DSL_char_t * pBuf,
|
||||
DSL_DRV_size_t nSize, DSL_DRV_offset_t * pLoff);
|
||||
|
||||
-static DSL_int_t DSL_DRV_Ioctls(DSL_DRV_inode_t * pINode, DSL_DRV_file_t * pFile,
|
||||
+static long DSL_DRV_Ioctls(DSL_DRV_file_t * pFile,
|
||||
DSL_uint_t nCommand, unsigned long nArg);
|
||||
|
||||
static int DSL_DRV_Open(DSL_DRV_inode_t * ino, DSL_DRV_file_t * fil);
|
||||
@@ -71,7 +72,7 @@
|
||||
open: DSL_DRV_Open,
|
||||
release: DSL_DRV_Release,
|
||||
write: DSL_DRV_Write,
|
||||
- ioctl: DSL_DRV_Ioctls,
|
||||
+ unlocked_ioctl: DSL_DRV_Ioctls,
|
||||
poll: DSL_DRV_Poll
|
||||
};
|
||||
#else
|
||||
@@ -172,7 +173,7 @@
|
||||
\return Success or failure.
|
||||
\ingroup Internal
|
||||
*/
|
||||
-static DSL_int_t DSL_DRV_Ioctls(DSL_DRV_inode_t * pINode,
|
||||
+static long DSL_DRV_Ioctls(
|
||||
DSL_DRV_file_t * pFile,
|
||||
DSL_uint_t nCommand,
|
||||
unsigned long nArg)
|
||||
@@ -222,14 +223,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- if (pINode == DSL_NULL)
|
||||
- {
|
||||
- bIsInKernel = DSL_TRUE;
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
bIsInKernel = DSL_FALSE;
|
||||
- }
|
||||
|
||||
if ( (_IOC_TYPE(nCommand) == DSL_IOC_MAGIC_CPE_API) ||
|
||||
(_IOC_TYPE(nCommand) == DSL_IOC_MAGIC_CPE_API_G997) ||
|
||||
@@ -1082,6 +1076,7 @@
|
||||
int __init DSL_ModuleInit(void)
|
||||
{
|
||||
DSL_int_t i;
|
||||
+ static struct class *dsl_class;
|
||||
|
||||
printk(DSL_DRV_CRLF DSL_DRV_CRLF "Lantiq CPE API Driver version: %s" DSL_DRV_CRLF,
|
||||
&(dsl_cpe_api_version[4]));
|
||||
@@ -1127,6 +1122,10 @@
|
||||
|
||||
DSL_DRV_DevNodeInit();
|
||||
|
||||
+ dsl_class = class_create(THIS_MODULE, "dsl_cpe_api0");
|
||||
+ device_create(dsl_class, NULL, MKDEV(DRV_DSL_CPE_API_DEV_MAJOR, 0), NULL, "dsl_cpe_api0");
|
||||
+
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
Index: drv_dsl_cpe_api-4.11.4/src/device/drv_dsl_cpe_msg_vrx.c
|
||||
===================================================================
|
||||
--- drv_dsl_cpe_api-4.11.4.orig/src/device/drv_dsl_cpe_msg_vrx.c 2012-03-05 11:25:21.000000000 +0100
|
||||
+++ drv_dsl_cpe_api-4.11.4/src/device/drv_dsl_cpe_msg_vrx.c 2012-11-28 23:06:46.418344288 +0100
|
||||
@@ -685,6 +685,7 @@
|
||||
DSL_ProfileType_t nProfile = DSL_PROFILE_LAST;
|
||||
DSL_G997_XTUSystemEnablingData_t data = {{0,0,0,0,0,0,0,0}};
|
||||
|
||||
+ //printk("%s:%s[%d]\n", __FILE__, __func__, __LINE__);
|
||||
DSL_DEBUG( DSL_DBG_MSG,
|
||||
(pContext, SYS_DBG_MSG"DSL[%02d]: IN - DSL_DRV_VXX_SendMsgSelectedProfileVdsl2Get"
|
||||
DSL_DRV_CRLF, DSL_DEV_NUM(pContext)));
|
||||
@@ -985,8 +988,10 @@
|
||||
|
||||
/* Check consistency of XTSE status setting - Only one bit should be set at
|
||||
a time */
|
||||
+ //printk("XTSE (%d) - ", DSL_G997_NUM_XTSE_OCTETS);
|
||||
for (i = 0, nBitCount = 0; i < DSL_G997_NUM_XTSE_OCTETS; i++)
|
||||
{
|
||||
+ //printk("%02X ", data.XTSE[i]);
|
||||
for (j = 0; j < 8; j++)
|
||||
{
|
||||
if ( ((data.XTSE[i] >> j) & 0x01) != 0)
|
||||
@@ -996,6 +1001,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ //printk("\n");
|
||||
+
|
||||
if (nBitCount > 1)
|
||||
{
|
||||
DSL_DEBUG( DSL_DBG_ERR,
|
Loading…
Reference in a new issue