[adm5120] add custom GPIO-based I2C driver
[openwrt/svn-archive/archive.git] / package / kernel / modules / i2c.mk
1 #
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id $
8
9 I2C_MENU:=I2C support
10
11 define KernelPackage/i2c-core
12 SUBMENU:=$(I2C_MENU)
13 TITLE:=I2C support
14 DEPENDS:=@LINUX_2_6
15 KCONFIG:= \
16 CONFIG_I2C \
17 CONFIG_I2C_CHARDEV
18 FILES:= \
19 $(LINUX_DIR)/drivers/i2c/i2c-core.$(LINUX_KMOD_SUFFIX) \
20 $(LINUX_DIR)/drivers/i2c/i2c-dev.$(LINUX_KMOD_SUFFIX)
21 AUTOLOAD:=$(call AutoLoad,51,i2c-core i2c-dev)
22 endef
23
24 define KernelPackage/i2c-core/description
25 Kernel modules for I2C support
26 endef
27
28 $(eval $(call KernelPackage,i2c-core))
29
30
31 define KernelPackage/i2c-algo-bit
32 SUBMENU:=$(I2C_MENU)
33 TITLE:=I2C bit-banging interfaces
34 DEPENDS:=kmod-i2c-core
35 KCONFIG:=CONFIG_I2C_ALGOBIT
36 FILES:=$(LINUX_DIR)/drivers/i2c/algos/i2c-algo-bit.$(LINUX_KMOD_SUFFIX)
37 AUTOLOAD:=$(call AutoLoad,55,i2c-algo-bit)
38 endef
39
40 define KernelPackage/i2c-algo-bit/description
41 Kernel modules for I2C bit-banging interfaces.
42 endef
43
44 $(eval $(call KernelPackage,i2c-algo-bit))
45
46
47 define KernelPackage/i2c-algo-pca
48 SUBMENU:=$(I2C_MENU)
49 TITLE:=I2C PCA 9564 interfaces
50 DEPENDS:=kmod-i2c-core
51 KCONFIG:=CONFIG_I2C_ALGOPCA
52 FILES:=$(LINUX_DIR)/drivers/i2c/algos/i2c-algo-pca.$(LINUX_KMOD_SUFFIX)
53 AUTOLOAD:=$(call AutoLoad,55,i2c-algo-pca)
54 endef
55
56 define KernelPackage/i2c-algo-pca/description
57 Kernel modules for I2C PCA 9564 interfaces.
58 endef
59
60 $(eval $(call KernelPackage,i2c-algo-pca))
61
62
63 define KernelPackage/i2c-algo-pcf
64 SUBMENU:=$(I2C_MENU)
65 TITLE:=I2C PCF 8584 interfaces
66 DEPENDS:=kmod-i2c-core
67 KCONFIG:=CONFIG_I2C_ALGOPCF
68 FILES:=$(LINUX_DIR)/drivers/i2c/algos/i2c-algo-pcf.$(LINUX_KMOD_SUFFIX)
69 AUTOLOAD:=$(call AutoLoad,55,i2c-algo-pcf)
70 endef
71
72 define KernelPackage/i2c-algo-pcf/description
73 Kernel modules for I2C PCF 8584 interfaces
74 endef
75
76 $(eval $(call KernelPackage,i2c-algo-pcf))
77
78
79 define KernelPackage/i2c-gpio
80 SUBMENU:=$(I2C_MENU)
81 TITLE:=GPIO-based bitbanging I2C
82 DEPENDS:=kmod-i2c-core +kmod-i2c-algo-bit
83 KCONFIG:=CONFIG_I2C_GPIO
84 FILES:=$(LINUX_DIR)/drivers/i2c/busses/i2c-gpio.$(LINUX_KMOD_SUFFIX)
85 AUTOLOAD:=$(call AutoLoad,59,i2c-gpio)
86 endef
87
88 define KernelPackage/i2c-gpio/description
89 Kernel modules for a very simple bitbanging I2C driver utilizing the
90 arch-neutral GPIO API to control the SCL and SDA lines.
91 endef
92
93 $(eval $(call KernelPackage,i2c-gpio))
94
95
96 define KernelPackage/i2c-gpio-custom
97 SUBMENU:=$(I2C_MENU)
98 TITLE:=Custom GPIO-based I2C device
99 DEPENDS:=@TARGET_adm5120 kmod-i2c-core +kmod-i2c-gpio
100 KCONFIG:=CONFIG_I2C_GPIO_CUSTOM
101 FILES:=$(LINUX_DIR)/drivers/i2c/busses/i2c-gpio-custom.$(LINUX_KMOD_SUFFIX)
102 AUTOLOAD:=$(call AutoLoad,58,i2c-gpio-custom)
103 endef
104
105 define KernelPackage/i2c-gpio-custom/description
106 Kernel module for register a custom i2c-gpio platform device.
107 endef
108
109 $(eval $(call KernelPackage,i2c-gpio-custom))
110
111
112 define KernelPackage/i2c-scx200
113 SUBMENU:=$(I2C_MENU)
114 TITLE:=Geode SCx200 I2C using GPIO pins
115 DEPENDS:=@PCI_SUPPORT @TARGET_x86 kmod-i2c-core +kmod-i2c-algo-bit
116 KCONFIG:=CONFIG_SCx200_I2C
117 FILES:=$(LINUX_DIR)/drivers/i2c/busses/scx200_i2c.$(LINUX_KMOD_SUFFIX)
118 AUTOLOAD:=$(call AutoLoad,59,scx200_i2c)
119 endef
120
121 define KernelPackage/i2c-scx200/description
122 Kernel module for I2C using GPIO pins on the Geode SCx200 processors.
123 endef
124
125 $(eval $(call KernelPackage,i2c-scx200))
126
127
128 define KernelPackage/i2c-scx200-acb
129 SUBMENU:=$(I2C_MENU)
130 TITLE:=Geode SCx200 ACCESS.bus support
131 DEPENDS:=@PCI_SUPPORT @TARGET_x86 kmod-i2c-core +kmod-i2c-algo-bit
132 KCONFIG:=CONFIG_SCx200_ACB
133 FILES:=$(LINUX_DIR)/drivers/i2c/busses/scx200_acb.$(LINUX_KMOD_SUFFIX)
134 AUTOLOAD:=$(call AutoLoad,59,scx200_acb)
135 endef
136
137 define KernelPackage/i2c-scx200-acb/description
138 Kernel module for I2C using the ACCESS.bus controllers on the Geode SCx200
139 and SC1100 processors and the CS5535 and CS5536 Geode companion devices.
140 endef
141
142 $(eval $(call KernelPackage,i2c-scx200-acb))
143