The CS5535/6 Multifunction super-i/o chip has various subsystems built-in:
GPIO
I2C
IDE/ATA
high-precision timers
watchdog timer
etc.
This patch increases the functionality exposed by this chipset.
Signed-off-by: Philip Prindeville <[email protected]>
Index: target/linux/x86/alix2/config-default
===================================================================
--- target/linux/x86/alix2/config-default (revision 26907)
+++ target/linux/x86/alix2/config-default (working copy)
@@ -40,3 +40,4 @@
CONFIG_X86_TSC=y
CONFIG_X86_USE_3DNOW=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
+# CS5535_CLOCK_EVENT_SRC is not set
Index: target/linux/x86/alix2/target.mk
===================================================================
--- target/linux/x86/alix2/target.mk (revision 26907)
+++ target/linux/x86/alix2/target.mk (working copy)
@@ -1,11 +1,12 @@
BOARDNAME:=PCEngines alix2
FEATURES:=squashfs pci usb gpio
ALIX2_GPIO = $(if $(findstring
2.6.32,$(LINUX_VERSION)),gpio-cs5535,gpio-cs5535-new)
-DEFAULT_PACKAGES += kmod-ata-via-sata \
+DEFAULT_PACKAGES += \
kmod-crypto-hw-geode kmod-crypto-ocf \
kmod-$(ALIX2_GPIO) kmod-gpio-nsc \
kmod-wdt-geode kmod-hwmon-core kmod-hwmon-lm90 \
kmod-via-rhine kmod-leds-alix \
+ kmod-cs5536 kmod-pata-cs5536 \
kmod-i2c-core kmod-i2c-gpio \
kmod-i2c-algo-bit kmod-i2c-algo-pca kmod-i2c-algo-pcf \
kmod-i2c-scx200-acb \
Index: target/linux/x86/config-default
===================================================================
--- target/linux/x86/config-default (revision 26907)
+++ target/linux/x86/config-default (working copy)
@@ -271,7 +271,7 @@
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_PAGE_OFFSET=0xC0000000
# CONFIG_PARAVIRT_GUEST is not set
-CONFIG_PATA_AMD=y
+# CONFIG_PATA_AMD is not set
CONFIG_PATA_MPIIX=y
CONFIG_PATA_OLDPIIX=y
CONFIG_PATA_SC1200=y
Index: target/linux/x86/generic/config-default
===================================================================
--- target/linux/x86/generic/config-default (revision 26907)
+++ target/linux/x86/generic/config-default (working copy)
@@ -54,6 +54,7 @@
# CONFIG_MOUSE_VSXXXAA is not set
CONFIG_PATA_LEGACY=y
CONFIG_PATA_PLATFORM=y
+CONFIG_PATA_AMD=y
CONFIG_PCIEAER=y
CONFIG_PCIEPORTBUS=y
CONFIG_VT=y
Index: target/linux/x86/geos/config-default
===================================================================
--- target/linux/x86/geos/config-default (revision 26907)
+++ target/linux/x86/geos/config-default (working copy)
@@ -28,3 +28,4 @@
CONFIG_X86_USE_3DNOW=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_GPIOLIB=y
+# CS5535_CLOCK_EVENT_SRC is not set
Index: target/linux/x86/geos/target.mk
===================================================================
--- target/linux/x86/geos/target.mk (revision 26907)
+++ target/linux/x86/geos/target.mk (working copy)
@@ -6,6 +6,7 @@
kmod-$(GEOS_GPIO) \
kmod-wdt-geode kmod-hwmon-core kmod-hwmon-lm90 \
kmod-8139cp kmod-solos-pci \
+ kmod-cs5536 kmod-pata-cs5536 \
kmod-i2c-core kmod-i2c-gpio \
kmod-i2c-algo-bit kmod-i2c-algo-pca kmod-i2c-algo-pcf \
kmod-usb-core kmod-usb2 kmod-usb-uhci \
Index: package/kernel/modules/other.mk
===================================================================
--- package/kernel/modules/other.mk (revision 26907)
+++ package/kernel/modules/other.mk (working copy)
@@ -514,7 +514,7 @@
define KernelPackage/wdt-geode
SUBMENU:=$(OTHER_MENU)
TITLE:=Geode/LX Watchdog timer
- DEPENDS:=@TARGET_x86
+ DEPENDS:=@TARGET_x86 +kmod-cs5535-mfgpt
KCONFIG:=CONFIG_GEODE_WDT
FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.ko
AUTOLOAD:=$(call AutoLoad,50,geodewdt)
@@ -527,6 +527,38 @@
$(eval $(call KernelPackage,wdt-geode))
+define KernelPackage/cs5535-clockevt
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=CS5535/CS5536 high-res timer (MFGPT) events
+ DEPENDS:=@TARGET_x86 +kmod-cs5535-mfgpt
+ KCONFIG:=CONFIG_CS5535_CLOCK_EVENT_SRC
+ FILES:=$(LINUX_DIR)/drivers/misc/cs5535-clockevt.ko
+ AUTOLOAD:=$(call AutoLoad,45,cs5535-clockevt)
+endef
+
+define KernelPackage/cs5535-clockevt/description
+ Kernel module for CS5535/6 high-res clock event source
+endef
+
+$(eval $(call KernelPackage,cs5535-clockevt))
+
+
+define KernelPackage/cs5535-mfgpt
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=CS5535/6 Multifunction General Purpose Timer
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_CS5535_MFGPT
+ FILES:=$(LINUX_DIR)/drivers/misc/cs5535-mfgpt.ko
+ AUTOLOAD:=$(call AutoLoad,45,cs5535-mfgpt)
+endef
+
+define KernelPackage/cs5535-mfgpt/description
+ Kernel module for CS5535/6 multifunction general purpose timer.
+endef
+
+$(eval $(call KernelPackage,cs5535-mfgpt))
+
+
define KernelPackage/wdt-omap
SUBMENU:=$(OTHER_MENU)
TITLE:=OMAP Watchdog timer
Index: package/kernel/modules/block.mk
===================================================================
--- package/kernel/modules/block.mk (revision 26907)
+++ package/kernel/modules/block.mk (working copy)
@@ -471,6 +471,70 @@
$(eval $(call KernelPackage,ide-it821x))
+define KernelPackage/cs5535
+ TITLE:=NSC/AMD CS5535 chipset support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_BLK_DEV_CS5535
+ FILES=$(LINUX_DIR)/drivers/ide/cs5535.ko
+ AUTOLOAD:=$(call AutoLoad,30,cs5535,1)
+ $(call AddDepends/ide)
+endef
+
+define KernelPackage/cs5535/description
+ Kernel module for the NSC/AMD CS5535 companion chip
+endef
+
+$(eval $(call KernelPackage,cs5535))
+
+
+define KernelPackage/cs5536
+ TITLE:=AMD CS5536 chipset support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_BLK_DEV_CS5536
+ FILES=$(LINUX_DIR)/drivers/ide/cs5536.ko
+ AUTOLOAD:=$(call AutoLoad,30,cs5536,1)
+ $(call AddDepends/ide)
+endef
+
+define KernelPackage/cs5536/description
+ Kernel module for the AMD CS5536 Geode LX companion chip
+endef
+
+$(eval $(call KernelPackage,cs5536))
+
+
+define KernelPackage/pata-cs5535
+ TITLE:=CS5535 PATA support
+ DEPENDS:=@TARGET_x86 @PCI_SUPPORT
+ KCONFIG:=CONFIG_PATA_CS5535
+ FILES=$(LINUX_DIR)/drivers/ata/pata-cs5535.ko
+ AUTOLOAD:=$(call AutoLoad,30,pata-cs5535,1)
+ $(call AddDepends/ata)
+endef
+
+define KernelPackage/cs5535/description
+ Kernel module for the NSC/AMD CS5535 companion chip
+endef
+
+$(eval $(call KernelPackage,cs5535))
+
+
+define KernelPackage/pata-cs5536
+ TITLE:=CS5536 PATA support
+ DEPENDS:=@TARGET_x86 @PCI_SUPPORT
+ KCONFIG:=CONFIG_PATA_CS5536
+ FILES=$(LINUX_DIR)/drivers/ata/pata-cs5536.ko
+ AUTOLOAD:=$(call AutoLoad,30,pata-cs5536,1)
+ $(call AddDepends/ata)
+endef
+
+define KernelPackage/cs5536/description
+ Kernel module for the AMD CS5536 Geode LX companion chip
+endef
+
+$(eval $(call KernelPackage,cs5536))
+
+
define KernelPackage/libsas
SUBMENU:=$(BLOCK_MENU)
TITLE:=SAS Domain Transport Attributes
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel