This patch brings up the net5501 platform. Note that the x86/ target included support for all x86/ class processors. That's not technically correct. This should be constrained only to the "generic" subtarget. Every x86-class target that isn't generic should be able to select only the optimizations/capabilities applicable to that architectural variant.
Fortunately, this was a fairly benign tweak. The net5501 board includes the following logic: Geode/LX processor CS5535 super-I/O chip PC87360 sensor chip Via Rhine Ethernet controllers Via Sata controllers USB, LEDS, I2C Signed-off-by: Philip Prindeville <[email protected]> --- Index: target/linux/x86/net5501/config-default =================================================================== --- target/linux/x86/net5501/config-default (revision 0) +++ target/linux/x86/net5501/config-default (revision 0) @@ -0,0 +1,23 @@ +# CONFIG_ACPI is not set +CONFIG_CPU_SUP_AMD=y +CONFIG_GEODE_MFGPT_TIMER=y +# CONFIG_GEODE_WDT is not set +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set +# CONFIG_ISA is not set +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_M486 is not set +CONFIG_MGEODE_LX=y +# CONFIG_MOUSE_PS2 is not set +# CONFIG_PCSPKR_PLATFORM is not set +CONFIG_PROCESSOR_SELECT=y +# CONFIG_SCx200 is not set +# CONFIG_SERIO_I8042 is not set +# CONFIG_SERIO_LIBPS2 is not set +CONFIG_X86_DEBUGCTLMSR=y +# CONFIG_X86_DS is not set +CONFIG_X86_L1_CACHE_SHIFT=5 +CONFIG_X86_TSC=y +CONFIG_X86_USE_3DNOW=y +CONFIG_X86_USE_PPRO_CHECKSUM=y Index: target/linux/x86/net5501/target.mk =================================================================== --- target/linux/x86/net5501/target.mk (revision 0) +++ target/linux/x86/net5501/target.mk (revision 0) @@ -0,0 +1,15 @@ +BOARDNAME:=Soekris net5501 +DEFAULT_PACKAGES += kmod-ata-via-sata kmod-crypto-hw-geode \ + kmod-cs5535-gpio kmod-nsc-gpio kmod-pc8736x-gpio \ + kmod-geodewdt kmod-hwmon-core kmod-hwmon-pc87360 \ + kmod-via-rhine \ + 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-hid kmod-usb-uhci +CFLAGS += -march=k6-2 -fno-align-functions -fno-align-loops -fno-align-jumps \ + -fno-align-labels + +define Target/Description + Build firmware images for Soekris net5501 board +endef + Index: target/linux/x86/image/Config.in =================================================================== --- target/linux/x86/image/Config.in (revision 20749) +++ target/linux/x86/image/Config.in (working copy) @@ -13,8 +13,8 @@ bool depends X86_GRUB_IMAGES prompt "Use Console Terminal (in addition to Serial)" - default n if TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx - default y if ! (TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx) + default n if TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501 + default y if ! (TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501) config X86_GRUB_SERIAL string @@ -26,8 +26,8 @@ config X86_GRUB_BAUDRATE int "Serial port baud rate" depends X86_GRUB_IMAGES - default 19200 if TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx - default 38400 if ! (TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx) + default 19200 if TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501 + default 38400 if ! (TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501) config X86_GRUB_KERNELPART int "Kernel partition size (in MB)" Index: target/linux/x86/config-default =================================================================== --- target/linux/x86/config-default (revision 20749) +++ target/linux/x86/config-default (working copy) @@ -83,12 +83,12 @@ CONFIG_CPU_FREQ_TABLE=y CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y -CONFIG_CPU_SUP_AMD=y -CONFIG_CPU_SUP_CENTAUR=y -CONFIG_CPU_SUP_CYRIX_32=y -CONFIG_CPU_SUP_INTEL=y -CONFIG_CPU_SUP_TRANSMETA_32=y -CONFIG_CPU_SUP_UMC_32=y +# CONFIG_CPU_SUP_AMD is not set +# CONFIG_CPU_SUP_CENTAUR is not set +# CONFIG_CPU_SUP_CYRIX_32 is not set +# CONFIG_CPU_SUP_INTEL is not set +# CONFIG_CPU_SUP_TRANSMETA_32 is not set +# CONFIG_CPU_SUP_UMC_32 is not set # CONFIG_CS5535_GPIO is not set # CONFIG_CS89x0 is not set # CONFIG_DCDBAS is not set Index: target/linux/x86/patches/100-geode_mfgpt_irq.patch =================================================================== --- target/linux/x86/patches/100-geode_mfgpt_irq.patch (revision 0) +++ target/linux/x86/patches/100-geode_mfgpt_irq.patch (revision 0) @@ -0,0 +1,11 @@ +--- a/arch/x86/kernel/mfgpt_32.c 2010-03-15 09:52:04.000000000 -0600 ++++ b/arch/x86/kernel/mfgpt_32.c 2010-04-08 17:31:56.000000000 -0600 +@@ -33,7 +33,7 @@ + #include <linux/module.h> + #include <asm/geode.h> + +-#define MFGPT_DEFAULT_IRQ 7 ++#define MFGPT_DEFAULT_IRQ 6 + + static struct mfgpt_timer_t { + unsigned int avail:1; Index: target/linux/x86/generic/config-default =================================================================== --- target/linux/x86/generic/config-default (revision 0) +++ target/linux/x86/generic/config-default (revision 0) @@ -0,0 +1,6 @@ +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_CPU_SUP_CYRIX_32=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_TRANSMETA_32=y +CONFIG_CPU_SUP_UMC_32=y Index: target/linux/x86/Makefile =================================================================== --- target/linux/x86/Makefile (revision 20749) +++ target/linux/x86/Makefile (working copy) @@ -10,7 +10,7 @@ BOARD:=x86 BOARDNAME:=x86 FEATURES:=squashfs jffs2 ext2 vdi vmdk pcmcia tgz -SUBTARGETS=generic olpc xen_domu ep80579 +SUBTARGETS=generic olpc xen_domu ep80579 net5501 LINUX_VERSION:=2.6.32.10 Index: package/kernel/modules/other.mk =================================================================== --- package/kernel/modules/other.mk (revision 20749) +++ package/kernel/modules/other.mk (working copy) @@ -801,7 +801,7 @@ DEPENDS:=...@target_x86||@TARGET_olpc KCONFIG:=CONFIG_CS5535_GPIO FILES:=$(LINUX_DIR)/drivers/char/cs5535_gpio.$(LINUX_KMOD_SUFFIX) - AUTOLOAD:=$(call AutoLoad,90,cs5535_gpio) + AUTOLOAD:=$(call AutoLoad,50,cs5535_gpio) endef define KernelPackage/cs5535-gpio/description @@ -874,3 +874,34 @@ endef $(eval $(call KernelPackage,rfkill)) + +define KernelPackage/geodewdt + SUBMENU:=$(OTHER_MENU) + TITLE:=Geode/LX Watchdog timer + DEPENDS:=...@target_x86 @LINUX_2_6 + KCONFIG:=CONFIG_GEODE_WDT + FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,50,geodewdt) +endef + +define KernelPackage/geodewdt/description + Kernel module for Geode watchdog timer. +endef + +$(eval $(call KernelPackage,geodewdt)) + +define KernelPackage/pc8736x-gpio + SUBMENU:=$(OTHER_MENU) + TITLE:=PC8736x GPIO support + DEPENDS:=...@target_x86 + KCONFIG:=CONFIG_PC8736x_GPIO + FILES:=$(LINUX_DIR)/drivers/char/pc8736x_gpio.$(LINUX_KMOD_SUFFIX) + AUTOLOAD:=$(call AutoLoad,40,pc8736x_gpio) +endef + +define KernelPackage/pc8736x-gpio/description + Kernel module for PC8736x GPIO +endef + +$(eval $(call KernelPackage,pc8736x-gpio)) + _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
