aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files/include
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2013-11-09 19:27:27 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2013-11-09 19:27:27 +0000
commit7a82667372af7eb372133fd6bb0e3322c8c02df1 (patch)
treec5abe17c0a150f119deb3f624de5eb081a260e77 /target/linux/generic/files/include
parente75584e2898d34ff319a5ac55bef2dd469321d8f (diff)
downloadupstream-7a82667372af7eb372133fd6bb0e3322c8c02df1.tar.gz
upstream-7a82667372af7eb372133fd6bb0e3322c8c02df1.tar.bz2
upstream-7a82667372af7eb372133fd6bb0e3322c8c02df1.zip
kernel: adm6996: add support for ADM6996L and GPIO interface
This patch makes it possible to use adm6996.c on first generation BCM47XX devices with ADM switches. The GPIO bit banging protocol implementation was copied from the old switch driver and adapted to this driver and changed to the mainline kernel GPIO interface. The ADM6996L is different from the ADM6996M which is supported, for both specs are available in the Internet. This was tested on a WRT54GS version 1.0, thank you Dirk Neukirchen for the device. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 38698
Diffstat (limited to 'target/linux/generic/files/include')
-rw-r--r--target/linux/generic/files/include/linux/platform_data/adm6996-gpio.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/target/linux/generic/files/include/linux/platform_data/adm6996-gpio.h b/target/linux/generic/files/include/linux/platform_data/adm6996-gpio.h
new file mode 100644
index 0000000000..e4fcfafa74
--- /dev/null
+++ b/target/linux/generic/files/include/linux/platform_data/adm6996-gpio.h
@@ -0,0 +1,30 @@
+/*
+ * ADM6996 GPIO platform data
+ *
+ * Copyright (C) 2013 Hauke Mehrtens <hauke@hauke-m.de>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License v2 as published by the
+ * Free Software Foundation
+ */
+
+#ifndef __PLATFORM_ADM6996_GPIO_H
+#define __PLATFORM_ADM6996_GPIO_H
+
+#include <linux/kernel.h>
+
+enum adm6996_model {
+ ADM6996FC = 1,
+ ADM6996M = 2,
+ ADM6996L = 3,
+};
+
+struct adm6996_gpio_platform_data {
+ u8 eecs;
+ u8 eesk;
+ u8 eedi;
+ u8 eerc;
+ enum adm6996_model model;
+};
+
+#endif