2b7661d7af4600dca9ba41cf4f6b872f755b98e6
[openwrt-10.03/.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:=@GPIO_SUPPORT +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-scx200
97   SUBMENU:=$(I2C_MENU)
98   TITLE:=Geode SCx200 I2C using GPIO pins
99   DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-algo-bit
100   KCONFIG:=CONFIG_SCx200_I2C \
101         CONFIG_SCx200_I2C_SCL=12 \
102         CONFIG_SCx200_I2C_SDA=13
103   FILES:=$(LINUX_DIR)/drivers/i2c/busses/scx200_i2c.$(LINUX_KMOD_SUFFIX)
104   AUTOLOAD:=$(call AutoLoad,59,scx200_i2c)
105 endef
106
107 define KernelPackage/i2c-scx200/description
108  Kernel module for I2C using GPIO pins on the Geode SCx200 processors.
109 endef
110
111 $(eval $(call KernelPackage,i2c-scx200))
112
113
114 define KernelPackage/i2c-scx200-acb
115   SUBMENU:=$(I2C_MENU)
116   TITLE:=Geode SCx200 ACCESS.bus support
117   DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-algo-bit
118   KCONFIG:=CONFIG_SCx200_ACB
119   FILES:=$(LINUX_DIR)/drivers/i2c/busses/scx200_acb.$(LINUX_KMOD_SUFFIX)
120   AUTOLOAD:=$(call AutoLoad,59,scx200_acb)
121 endef
122
123 define KernelPackage/i2c-scx200-acb/description
124  Kernel module for I2C using the ACCESS.bus controllers on the Geode SCx200
125  and SC1100 processors and the CS5535 and CS5536 Geode companion devices.
126 endef
127
128 $(eval $(call KernelPackage,i2c-scx200-acb))
129