at91: kernel v5.15: copy config and patches from 5.10
[openwrt/openwrt.git] / target / linux / at91 / modules.mk
index 438b663a16d35bde1cf150f97accb1eb3fd58d9c..0590afef82ae6acd243e27efc2ece4fe9321f0b0 100644 (file)
@@ -1,9 +1,6 @@
+# SPDX-License-Identifier: GPL-2.0-only
 #
 # Copyright (C) 2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
 define KernelPackage/mmc-at91
   SUBMENU:=$(OTHER_MENU)
@@ -24,10 +21,9 @@ define KernelPackage/pwm-atmel
   SUBMENU:=$(OTHER_MENU)
   TITLE:=PWM on atmel SoC
   DEPENDS:=@TARGET_at91
-  KCONFIG:=CONFIG_GENERIC_PWM \
-               CONFIG_ATMEL_PWM
-  FILES:=$(LINUX_DIR)/drivers/pwm/atmel-pwm.ko
-  AUTOLOAD:=$(call AutoLoad,51,atmel-pwm)
+  KCONFIG:=CONFIG_ATMEL_PWM
+  FILES:=$(LINUX_DIR)/drivers/misc/atmel_pwm.ko
+  AUTOLOAD:=$(call AutoLoad,51,atmel_pwm)
 endef
 
 define KernelPackage/pwm-atmel/description
@@ -35,3 +31,72 @@ define KernelPackage/pwm-atmel/description
 endef
 
 $(eval $(call KernelPackage,pwm-atmel))
+
+define KernelPackage/at91-adc
+  SUBMENU:=$(OTHER_MENU)
+  TITLE:=ADC on atmel SoC
+  DEPENDS:=@TARGET_at91 +kmod-iio-core +kmod-input-core
+  KCONFIG:=CONFIG_AT91_ADC
+  FILES:=$(LINUX_DIR)/drivers/iio/adc/at91_adc.ko
+  AUTOLOAD:=$(call AutoLoad,40,at91_adc)
+endef
+
+define KernelPackage/at91-adc/description
+ Kernel module to use the ADC channels of SoC
+endef
+
+$(eval $(call KernelPackage,at91-adc))
+
+define KernelPackage/at91-udc
+  SUBMENU:=$(USB_MENU)
+  TITLE:=USB Device Controller on atmel SoC
+  DEPENDS:=@TARGET_at91 +kmod-usb-gadget +kmod-regmap-core
+  KCONFIG:=CONFIG_USB_AT91
+ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/gadget/udc/at91_udc.ko),)
+  FILES:=$(LINUX_DIR)/drivers/usb/gadget/udc/at91_udc.ko
+else
+  FILES:=$(LINUX_DIR)/drivers/usb/gadget/at91_udc.ko
+endif
+  AUTOLOAD:=$(call AutoLoad,51,at91_udc)
+endef
+
+define KernelPackage/at91-udc/description
+ Kernel module to use the USB Device controller for Atmel AT91
+endef
+
+$(eval $(call KernelPackage,at91-udc))
+
+define KernelPackage/atmel-usba-udc
+  SUBMENU:=$(USB_MENU)
+  TITLE:=High-speed USB Device Controller on atmel SoC
+  DEPENDS:=@TARGET_at91 +kmod-usb-gadget
+  KCONFIG:=CONFIG_USB_ATMEL_USBA
+ifneq ($(wildcard $(LINUX_DIR)/drivers/usb/gadget/udc/atmel_usba_udc.ko),)
+  FILES:=$(LINUX_DIR)/drivers/usb/gadget/udc/atmel_usba_udc.ko
+else
+  FILES:=$(LINUX_DIR)/drivers/usb/gadget/atmel_usba_udc.ko
+endif
+  AUTOLOAD:=$(call AutoLoad,51,atmel_usba_udc)
+endef
+
+define KernelPackage/atmel-usba-udc/description
+ Kernel module to use the High-speed USB Device controller for Atmel AT91
+endef
+
+$(eval $(call KernelPackage,atmel-usba-udc))
+
+I2C_AT91_MODULES:=\
+  CONFIG_I2C_AT91:drivers/i2c/busses/i2c-at91
+
+define KernelPackage/at91-i2c
+  $(call i2c_defaults,$(I2C_AT91_MODULES),55)
+  TITLE:=I2C (TWI) master driver for Atmel AT91
+  DEPENDS:=@TARGET_at91 +kmod-i2c-core
+endef
+
+define KernelPackage/at91-i2c/description
+ Kernel module to use the I2C (TWI) master driver for Atmel AT91
+endef
+
+$(eval $(call KernelPackage,at91-i2c))
+