[package] kernel/modules: package module for OpenFirmware I2C accessors
[openwrt.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
8 I2C_MENU:=I2C support
9
10 define KernelPackage/i2c-core
11   SUBMENU:=$(I2C_MENU)
12   TITLE:=I2C support
13   DEPENDS:=@LINUX_2_6
14   KCONFIG:= \
15         CONFIG_I2C \
16         CONFIG_I2C_CHARDEV
17   FILES:= \
18         $(LINUX_DIR)/drivers/i2c/i2c-core.$(LINUX_KMOD_SUFFIX) \
19         $(LINUX_DIR)/drivers/i2c/i2c-dev.$(LINUX_KMOD_SUFFIX)
20   AUTOLOAD:=$(call AutoLoad,51,i2c-core i2c-dev)
21 endef
22
23 define KernelPackage/i2c-core/description
24  Kernel modules for I2C support
25 endef
26
27 $(eval $(call KernelPackage,i2c-core))
28
29
30 define KernelPackage/i2c-algo-bit
31   SUBMENU:=$(I2C_MENU)
32   TITLE:=I2C bit-banging interfaces
33   DEPENDS:=kmod-i2c-core
34   KCONFIG:=CONFIG_I2C_ALGOBIT
35   FILES:=$(LINUX_DIR)/drivers/i2c/algos/i2c-algo-bit.$(LINUX_KMOD_SUFFIX)
36   AUTOLOAD:=$(call AutoLoad,55,i2c-algo-bit)
37 endef
38
39 define KernelPackage/i2c-algo-bit/description
40  Kernel modules for I2C bit-banging interfaces.
41 endef
42
43 $(eval $(call KernelPackage,i2c-algo-bit))
44
45
46 define KernelPackage/i2c-algo-pca
47   SUBMENU:=$(I2C_MENU)
48   TITLE:=I2C PCA 9564 interfaces
49   DEPENDS:=kmod-i2c-core
50   KCONFIG:=CONFIG_I2C_ALGOPCA
51   FILES:=$(LINUX_DIR)/drivers/i2c/algos/i2c-algo-pca.$(LINUX_KMOD_SUFFIX)
52   AUTOLOAD:=$(call AutoLoad,55,i2c-algo-pca)
53 endef
54
55 define KernelPackage/i2c-algo-pca/description
56  Kernel modules for I2C PCA 9564 interfaces.
57 endef
58
59 $(eval $(call KernelPackage,i2c-algo-pca))
60
61
62 define KernelPackage/i2c-algo-pcf
63   SUBMENU:=$(I2C_MENU)
64   TITLE:=I2C PCF 8584 interfaces
65   DEPENDS:=kmod-i2c-core
66   KCONFIG:=CONFIG_I2C_ALGOPCF
67   FILES:=$(LINUX_DIR)/drivers/i2c/algos/i2c-algo-pcf.$(LINUX_KMOD_SUFFIX)
68   AUTOLOAD:=$(call AutoLoad,55,i2c-algo-pcf)
69 endef
70
71 define KernelPackage/i2c-algo-pcf/description
72  Kernel modules for I2C PCF 8584 interfaces
73 endef
74
75 $(eval $(call KernelPackage,i2c-algo-pcf))
76
77
78 define KernelPackage/i2c-gpio
79   SUBMENU:=$(I2C_MENU)
80   TITLE:=GPIO-based bitbanging I2C
81   DEPENDS:=@GPIO_SUPPORT +kmod-i2c-algo-bit
82   KCONFIG:=CONFIG_I2C_GPIO
83   FILES:=$(LINUX_DIR)/drivers/i2c/busses/i2c-gpio.$(LINUX_KMOD_SUFFIX)
84   AUTOLOAD:=$(call AutoLoad,59,i2c-gpio)
85 endef
86
87 define KernelPackage/i2c-gpio/description
88  Kernel modules for a very simple bitbanging I2C driver utilizing the
89  arch-neutral GPIO API to control the SCL and SDA lines.
90 endef
91
92 $(eval $(call KernelPackage,i2c-gpio))
93
94
95 define KernelPackage/i2c-scx200
96   SUBMENU:=$(I2C_MENU)
97   TITLE:=Geode SCx200 I2C using GPIO pins
98   DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-algo-bit
99   KCONFIG:=CONFIG_SCx200_I2C \
100         CONFIG_SCx200_I2C_SCL=12 \
101         CONFIG_SCx200_I2C_SDA=13
102   FILES:=$(LINUX_DIR)/drivers/i2c/busses/scx200_i2c.$(LINUX_KMOD_SUFFIX)
103   AUTOLOAD:=$(call AutoLoad,59,scx200_i2c)
104 endef
105
106 define KernelPackage/i2c-scx200/description
107  Kernel module for I2C using GPIO pins on the Geode SCx200 processors.
108 endef
109
110 $(eval $(call KernelPackage,i2c-scx200))
111
112
113 define KernelPackage/i2c-scx200-acb
114   SUBMENU:=$(I2C_MENU)
115   TITLE:=Geode SCx200 ACCESS.bus support
116   DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-algo-bit
117   KCONFIG:=CONFIG_SCx200_ACB
118   FILES:=$(LINUX_DIR)/drivers/i2c/busses/scx200_acb.$(LINUX_KMOD_SUFFIX)
119   AUTOLOAD:=$(call AutoLoad,59,scx200_acb)
120 endef
121
122 define KernelPackage/i2c-scx200-acb/description
123  Kernel module for I2C using the ACCESS.bus controllers on the Geode SCx200
124  and SC1100 processors and the CS5535 and CS5536 Geode companion devices.
125 endef
126
127 $(eval $(call KernelPackage,i2c-scx200-acb))
128
129 define KernelPackage/of-i2c
130   SUBMENU:=$(I2C_MENU)
131   TITLE:=OpenFirmware I2C accessors
132   DEPENDS:=@TARGET_ppc40x||TARGET_ppc4xx kmod-i2c-core
133   KCONFIG:=CONFIG_OF_I2C
134   FILES:=$(LINUX_DIR)/drivers/of/of_i2c.$(LINUX_KMOD_SUFFIX)
135   AUTOLOAD:=$(call AutoLoad,58,of_i2c)
136 endef
137
138 define KernelPackage/of-i2c/description
139  Kernel module for OpenFirmware I2C accessors.
140 endef
141
142 $(eval $(call KernelPackage,of-i2c))
143
144
145 define KernelPackage/i2c-ibm-iic
146   SUBMENU:=$(I2C_MENU)
147   TITLE:=IBM PPC 4xx on-chip I2C interface support
148   DEPENDS:=@TARGET_ppc40x||TARGET_ppc4xx +kmod-i2c-core +kmod-of-i2c
149   KCONFIG:=CONFIG_I2C_IBM_IIC
150   FILES:=$(LINUX_DIR)/drivers/i2c/busses/i2c-ibm_iic.$(LINUX_KMOD_SUFFIX)
151   AUTOLOAD:=$(call AutoLoad,59,i2c-ibm_iic)
152 endef
153
154 define KernelPackage/i2c-ibm-iic/description
155  Kernel module for IIC peripheral found on embedded IBM PPC4xx based systems.
156 endef
157
158 $(eval $(call KernelPackage,i2c-ibm-iic))