add net5501 support

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.

It's also assumed that all x86 processors have keyboard & mouse ports,
ISA, DMI, ACPI... the embedded ones typically don't.  Again, moving
that to the generic subtarget.

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 <philipp_subx@redfish-solutions.com>

SVN-Revision: 20794
master
Florian Fainelli 15 years ago
parent 62b96185c3
commit 15e8d2e0b7
  1. 33
      package/kernel/modules/other.mk
  2. 2
      target/linux/x86/Makefile
  3. 66
      target/linux/x86/config-default
  4. 54
      target/linux/x86/generic/config-default
  5. 8
      target/linux/x86/image/Config.in
  6. 25
      target/linux/x86/net5501/config-default
  7. 15
      target/linux/x86/net5501/target.mk
  8. 11
      target/linux/x86/patches/100-geode_mfgpt_irq.patch

@ -801,7 +801,7 @@ define KernelPackage/cs5535-gpio
DEPENDS:=@TARGET_x86||@TARGET_olpc DEPENDS:=@TARGET_x86||@TARGET_olpc
KCONFIG:=CONFIG_CS5535_GPIO KCONFIG:=CONFIG_CS5535_GPIO
FILES:=$(LINUX_DIR)/drivers/char/cs5535_gpio.$(LINUX_KMOD_SUFFIX) FILES:=$(LINUX_DIR)/drivers/char/cs5535_gpio.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,90,cs5535_gpio) AUTOLOAD:=$(call AutoLoad,50,cs5535_gpio)
endef endef
define KernelPackage/cs5535-gpio/description define KernelPackage/cs5535-gpio/description
@ -874,3 +874,34 @@ define KernelPackage/rfkill/description
endef endef
$(eval $(call KernelPackage,rfkill)) $(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))

@ -10,7 +10,7 @@ ARCH:=i386
BOARD:=x86 BOARD:=x86
BOARDNAME:=x86 BOARDNAME:=x86
FEATURES:=squashfs jffs2 ext2 vdi vmdk pcmcia tgz 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 LINUX_VERSION:=2.6.32.10

@ -3,28 +3,7 @@ CONFIG_4KSTACKS=y
# CONFIG_60XX_WDT is not set # CONFIG_60XX_WDT is not set
# CONFIG_64BIT is not set # CONFIG_64BIT is not set
# CONFIG_AC3200 is not set # CONFIG_AC3200 is not set
CONFIG_ACPI=y # CONFIG_ACPI is not set
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_BATTERY is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_BUTTON is not set
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_ACPI_CUSTOM_DSDT is not set
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_DOCK is not set
# CONFIG_ACPI_FAN is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_PROCESSOR=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
# CONFIG_ACPI_PROCFS is not set
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_PROC_EVENT is not set
# CONFIG_ACPI_SBS is not set
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_WMI is not set
# CONFIG_ACQUIRE_WDT is not set # CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set # CONFIG_ADVANTECH_WDT is not set
# CONFIG_ALIM1535_WDT is not set # CONFIG_ALIM1535_WDT is not set
@ -83,12 +62,12 @@ CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_TABLE=y CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_SUP_AMD=y # CONFIG_CPU_SUP_AMD is not set
CONFIG_CPU_SUP_CENTAUR=y # CONFIG_CPU_SUP_CENTAUR is not set
CONFIG_CPU_SUP_CYRIX_32=y # CONFIG_CPU_SUP_CYRIX_32 is not set
CONFIG_CPU_SUP_INTEL=y # CONFIG_CPU_SUP_INTEL is not set
CONFIG_CPU_SUP_TRANSMETA_32=y # CONFIG_CPU_SUP_TRANSMETA_32 is not set
CONFIG_CPU_SUP_UMC_32=y # CONFIG_CPU_SUP_UMC_32 is not set
# CONFIG_CS5535_GPIO is not set # CONFIG_CS5535_GPIO is not set
# CONFIG_CS89x0 is not set # CONFIG_CS89x0 is not set
# CONFIG_DCDBAS is not set # CONFIG_DCDBAS is not set
@ -101,8 +80,7 @@ CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEPCA is not set # CONFIG_DEPCA is not set
CONFIG_DEVPORT=y CONFIG_DEVPORT=y
# CONFIG_DMAR is not set # CONFIG_DMAR is not set
CONFIG_DMI=y # CONFIG_DMI is not set
# CONFIG_DMIID is not set
CONFIG_DNOTIFY=y CONFIG_DNOTIFY=y
CONFIG_DOUBLEFAULT=y CONFIG_DOUBLEFAULT=y
CONFIG_DUMMY_CONSOLE=y CONFIG_DUMMY_CONSOLE=y
@ -194,14 +172,7 @@ CONFIG_HW_RANDOM_VIA=y
# CONFIG_IBMASR is not set # CONFIG_IBMASR is not set
# CONFIG_IMA is not set # CONFIG_IMA is not set
CONFIG_INITRAMFS_SOURCE="" CONFIG_INITRAMFS_SOURCE=""
CONFIG_INPUT=y # CONFIG_INPUT is not set
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_MOUSE=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_YEALINK is not set
# CONFIG_INTEL_MENLOW is not set # CONFIG_INTEL_MENLOW is not set
# CONFIG_IOMMU_API is not set # CONFIG_IOMMU_API is not set
# CONFIG_IOMMU_HELPER is not set # CONFIG_IOMMU_HELPER is not set
@ -214,9 +185,7 @@ CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_NONE=3 CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_TYPE_UDELAY=2 CONFIG_IO_DELAY_TYPE_UDELAY=2
# CONFIG_IO_DELAY_UDELAY is not set # CONFIG_IO_DELAY_UDELAY is not set
CONFIG_ISA=y # CONFIG_ISA is not set
CONFIG_ISAPNP=y
CONFIG_ISA_DMA_API=y
# CONFIG_ISCSI_IBFT_FIND is not set # CONFIG_ISCSI_IBFT_FIND is not set
# CONFIG_ISDN_CAPI is not set # CONFIG_ISDN_CAPI is not set
# CONFIG_ISDN_I4L is not set # CONFIG_ISDN_I4L is not set
@ -263,17 +232,6 @@ CONFIG_MICROCODE_OLD_INTERFACE=y
# CONFIG_MK6 is not set # CONFIG_MK6 is not set
# CONFIG_MK7 is not set # CONFIG_MK7 is not set
# CONFIG_MK8 is not set # CONFIG_MK8 is not set
# CONFIG_MOUSE_BCM5974 is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MPENTIUM4 is not set # CONFIG_MPENTIUM4 is not set
# CONFIG_MPENTIUMII is not set # CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set # CONFIG_MPENTIUMIII is not set
@ -399,9 +357,7 @@ CONFIG_VGA_CONSOLE=y
CONFIG_VM86=y CONFIG_VM86=y
CONFIG_VM_EVENT_COUNTERS=y CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_VORTEX is not set # CONFIG_VORTEX is not set
CONFIG_VT=y # CONFIG_VT is not set
CONFIG_VT_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
# CONFIG_W83697UG_WDT is not set # CONFIG_W83697UG_WDT is not set
# CONFIG_WAFER_WDT is not set # CONFIG_WAFER_WDT is not set
# CONFIG_WDT is not set # CONFIG_WDT is not set

@ -1,2 +1,56 @@
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_INPUT=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_MOUSE=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_MOUSE_BCM5974 is not set
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_VSXXXAA is not set
CONFIG_DMI=y
# CONFIG_DMIID is not set
CONFIG_ISA=y
CONFIG_ISAPNP=y
CONFIG_ISA_DMA_API=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_ACPI=y
# CONFIG_ACPI_AC is not set
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_BATTERY is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_BUTTON is not set
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_ACPI_CUSTOM_DSDT is not set
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_DOCK is not set
# CONFIG_ACPI_FAN is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_ACPI_PROCESSOR=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
# CONFIG_ACPI_PROCFS is not set
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_PROC_EVENT is not set
# CONFIG_ACPI_SBS is not set
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_WMI is not set
CONFIG_PATA_LEGACY=y CONFIG_PATA_LEGACY=y
CONFIG_PATA_PLATFORM=y CONFIG_PATA_PLATFORM=y

@ -13,8 +13,8 @@ config X86_GRUB_CONSOLE
bool bool
depends X86_GRUB_IMAGES depends X86_GRUB_IMAGES
prompt "Use Console Terminal (in addition to Serial)" prompt "Use Console Terminal (in addition to Serial)"
default n 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) default y if ! (TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501)
config X86_GRUB_SERIAL config X86_GRUB_SERIAL
string string
@ -26,8 +26,8 @@ config X86_GRUB_SERIAL
config X86_GRUB_BAUDRATE config X86_GRUB_BAUDRATE
int "Serial port baud rate" int "Serial port baud rate"
depends X86_GRUB_IMAGES depends X86_GRUB_IMAGES
default 19200 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) default 38400 if ! (TARGET_x86_generic_Soekris48xx || TARGET_x86_generic_Soekris45xx || TARGET_x86_net5501)
config X86_GRUB_KERNELPART config X86_GRUB_KERNELPART
int "Kernel partition size (in MB)" int "Kernel partition size (in MB)"

@ -0,0 +1,25 @@
# CONFIG_ACPI is not set
# CONFIG_DMI 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_INPUT 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

@ -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

@ -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;
Loading…
Cancel
Save