1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-23 22:52:28 +02:00

Merge commit 'backfire/master' into xburst

Conflicts:

	feeds.conf.default
	package/base-files/Makefile
	package/block-extroot/Makefile
	package/block-mount/Makefile
	package/busybox/Makefile
	package/busybox/config/util-linux/Config.in
	package/dnsmasq/Makefile
	package/dnsmasq/files/dnsmasq.init
	package/uhttpd/Makefile
	target/linux/adm5120/image/Makefile
	target/linux/amazon/image/Makefile
	target/linux/ar71xx/config-2.6.33
	target/linux/ar71xx/config-2.6.34
	target/linux/at91/image/Makefile
	target/linux/atheros/patches-2.6.33/220-enet_micrel_workaround.patch
	target/linux/coldfire/image/Makefile
	target/linux/ep93xx/image/Makefile
	target/linux/etrax/image/Makefile
	target/linux/gemini/image/Makefile
	target/linux/generic-2.6/config-2.6.33
	target/linux/generic-2.6/config-2.6.34
	target/linux/generic-2.6/patches-2.6.33/007-squashfs_make_lzma_available.patch
	target/linux/generic-2.6/patches-2.6.33/014-samsung_flash
	target/linux/generic-2.6/patches-2.6.33/020-mips_multi_machine_support.patch
	target/linux/generic-2.6/patches-2.6.33/030-pci_disable_common_quirks.patch
	target/linux/generic-2.6/patches-2.6.33/060-block2mtd_init.patch
	target/linux/generic-2.6/patches-2.6.33/100-netfilter_layer7_2.21.patch
	target/linux/generic-2.6/patches-2.6.33/110-netfilter_match_speedup.patch
	target/linux/generic-2.6/patches-2.6.33/150-netfilter_imq.patch
	target/linux/generic-2.6/patches-2.6.33/202-mips_mem_functions_performance.patch
	target/linux/generic-2.6/patches-2.6.33/203-slab_maxsize.patch
	target/linux/generic-2.6/patches-2.6.33/205-skb_padding.patch
	target/linux/generic-2.6/patches-2.6.33/210-mini_fo_2.6.25_fixes.patch
	target/linux/generic-2.6/patches-2.6.33/212-mini_fo_2.6.26_fixes.patch
	target/linux/generic-2.6/patches-2.6.33/400-ledtrig_morse.patch
	target/linux/generic-2.6/patches-2.6.33/402-ledtrig_netdev.patch
	target/linux/generic-2.6/patches-2.6.33/511-yaffs-cvs-2009-04-24.patch
	target/linux/generic-2.6/patches-2.6.33/903-hostap_txpower.patch
	target/linux/generic-2.6/patches-2.6.33/924-cs5535_gpio.patch
	target/linux/generic-2.6/patches-2.6.33/940-wireless_mesh_header.patch
	target/linux/generic-2.6/patches-2.6.33/971-ocf_20080917.patch
	target/linux/generic-2.6/patches-2.6.33/980-vm_exports.patch
	target/linux/generic-2.6/patches-2.6.33/998-openwrt_lzma_options.patch
	target/linux/goldfish/image/Makefile
	target/linux/iop32x/image/Makefile
	target/linux/malta/Makefile
	target/linux/malta/README
	target/linux/malta/image/Makefile
	target/linux/mpc52xx/image/Makefile
	target/linux/mpc83xx/image/Makefile
	target/linux/omap35xx/image/Makefile
	target/linux/ppc40x/config-default
	target/linux/ppc40x/patches/004-magicbox.patch
	target/linux/ppc40x/patches/005-openrb.patch
	target/linux/ps3/image/Makefile
	target/linux/pxa/image/Makefile
	target/linux/pxcab/image/Makefile
	target/linux/ramips/image/Makefile
	target/linux/ramips/rt288x/config-2.6.32
	target/linux/ramips/rt305x/config-2.6.32
	target/linux/s3c24xx/image/Makefile
	target/linux/sibyte/image/Makefile
	target/linux/ubicom32/image/Makefile
	target/linux/x86/generic/config-default
This commit is contained in:
Lars-Peter Clausen 2010-05-02 13:23:58 +02:00
commit 78fcab66df
1601 changed files with 3753 additions and 652943 deletions

View File

@ -170,9 +170,16 @@ choice
depends !USE_EGLIBC
help
This will install binaries stripped using sstrip
endchoice
config BUILD_PATENTED
default y
bool "Compile with support for patented functionality"
help
When this option is disabled, software which provides patented functionality will not be built.
In case software provides optional support for patented functionality,
this optional support will get disabled for this package.
config STRIP_ARGS
string
prompt "Strip arguments"

View File

@ -1,6 +1,6 @@
src-svn packages svn://svn.openwrt.org/openwrt/packages
#src-svn xwrt http://x-wrt.googlecode.com/svn/trunk/package
#src-svn luci http://svn.luci.subsignal.org/luci/branches/luci-0.9/contrib/package
#src-svn xwrt http://x-wrt.googlecode.com/svn/branches/backfire_10.03/package
#src-svn luci http://svn.luci.subsignal.org/luci/tags/0.9.0/contrib/package
src-svn phone svn://svn.openwrt.org/openwrt/feeds/phone
src-svn efl svn://svn.openwrt.org/openwrt/feeds/efl
src-svn desktop svn://svn.openwrt.org/openwrt/feeds/desktop

View File

@ -11,7 +11,7 @@
# 3: tempfile for file listings
# 4: find options
DEP_FINDPARAMS := -x "*.svn*" -x ".*" -x "*.svn*" -x "*:*" -x "*\!*" -x "* *" -x "*\\\#*" -x "*/.*_check"
DEP_FINDPARAMS := -x "*/.svn*" -x ".*" -x "*:*" -x "*\!*" -x "* *" -x "*\\\#*" -x "*/.*_check"
find_md5=find $(1) -type f $(patsubst -x,-and -not -path,$(DEP_FINDPARAMS) $(2)) | md5s

View File

@ -134,7 +134,7 @@ $(eval $(call RequireCommand,svn, \
))
define Require/gnu-find
$(FIND) $(TMP_DIR) -lname foo
$(FIND) --version 2>/dev/null
endef
$(eval $(call Require,gnu-find, \

View File

@ -6,7 +6,7 @@
# See /LICENSE for more information.
#
RELEASE:=Kamikaze
RELEASE:=Backfire
SHELL:=/usr/bin/env bash
PREP_MK= OPENWRT_BUILD= QUIET=0

View File

@ -1,6 +1,8 @@
menu "Configuration"
depends on (PACKAGE_kmod-sangam-atm-annex-a || PACKAGE_kmod-sangam-atm-annex-b)
choice
prompt "Firmware version"
depends on (PACKAGE_kmod-sangam-atm-annex-a || PACKAGE_kmod-sangam-atm-annex-b)
default AR7_ATM_FW_VERSION_704
help
This option allows you to switch between firmware/driver versions which
@ -16,3 +18,5 @@ config AR7_ATM_FW_VERSION_703
bool "D7.03.01.00"
endchoice
endmenu

View File

@ -42,6 +42,7 @@ define KernelPackage/sangam-atm/Default
TITLE:=AR7 ADSL driver
FILES:=$(PKG_BUILD_DIR)/tiatm.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,tiatm)
MENU:=1
endef
define KernelPackage/sangam-atm/config

View File

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=base-files
PKG_RELEASE:=42
PKG_RELEASE:=43
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
@ -22,10 +22,7 @@ ifneq ($(DUMP),1)
TARGET:=$(TARGET)-$(PROFILE)
endif
LIBGCC_VERSION:=$(GCC_VERSION)
ifeq ($(ARCH),x86_64)
LIB_SUFFIX:=64
endif
ifneq ($(findstring mips64,$(ARCH)),)
ifneq ($(findstring $(ARCH) , mips64 x86_64 ),)
LIB_SUFFIX:=64
endif
else
@ -328,11 +325,6 @@ define Build/Compile
$(call Build/Compile/Default)
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib
ln -sf $(TOOLCHAIN_DIR)/usr/lib$(LIB_SUFFIX)/libstdc++.{la,a,so*} $(1)/usr/lib/
endef
define Package/base-files/install
$(CP) ./files/* $(1)/
if [ -d $(GENERIC_PLATFORM_DIR)/base-files/. ]; then \
@ -400,17 +392,17 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
define Package/libgcc/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(TOOLCHAIN_DIR)/lib$(LIB_SUFFIX)/libgcc_s.so.* $(1)/lib/
$(CP) $(TOOLCHAIN_DIR)/lib/libgcc_s.so.* $(1)/lib/
endef
define Package/libssp/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(TOOLCHAIN_DIR)/lib$(LIB_SUFFIX)/libssp.so.* $(1)/lib/
$(CP) $(TOOLCHAIN_DIR)/lib/libssp.so.* $(1)/lib/
endef
define Package/libstdcpp/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(TOOLCHAIN_DIR)/usr/lib$(LIB_SUFFIX)/libstdc++.so.* $(1)/usr/lib/
$(CP) $(TOOLCHAIN_DIR)/usr/lib/libstdc++.so.* $(1)/usr/lib/
endef
use_libutil=$(if $(CONFIG_USE_GLIBC)$(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP),libutil)
@ -433,7 +425,15 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
define Package/uClibc/install
$(INSTALL_DIR) $(1)/lib
for file in ld$(LIB_SUFFIX)-uClibc libc libcrypt libdl libm libnsl libresolv libuClibc libutil; do \
$(CP) \
$(TOOLCHAIN_DIR)/lib/ld*-uClibc.so.* \
$(TOOLCHAIN_DIR)/lib/ld*-uClibc-$(LIBC_SO_VERSION).so \
$(1)/lib/
$(CP) \
$(TOOLCHAIN_DIR)/lib/libc.so.* \
$(TOOLCHAIN_DIR)/lib/libuClibc-$(LIBC_SO_VERSION).so \
$(1)/lib/
for file in libcrypt libdl libm libnsl libresolv libutil; do \
$(CP) $(TOOLCHAIN_DIR)/lib/$$$$file.so.* $(1)/lib/; \
$(CP) $(TOOLCHAIN_DIR)/lib/$$$$file-$(LIBC_SO_VERSION).so $(1)/lib/; \
done

View File

@ -3,8 +3,8 @@
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
KAMIKAZE (bleeding edge, $R) ------------------
* 10 oz Vodka Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
Backfire (10.03, $R) --------------------------
* 1/3 shot Kahlua In a shot glass, layer Kahlua
* 1/3 shot Bailey's on the bottom, then Bailey's,
* 1/3 shot Vodka then Vodka.
---------------------------------------------------

View File

@ -0,0 +1,4 @@
DISTRIB_ID="OpenWrt"
DISTRIB_RELEASE="10.03"
DISTRIB_CODENAME="backfire"
DISTRIB_DESCRIPTION="OpenWrt Backfire 10.03"

View File

@ -0,0 +1 @@
10.03

View File

@ -26,7 +26,7 @@ endef
define Package/block-extroot
$(call Package/block-extroot/Default)
MENU:=1
DEPENDS:=+block-mount @PACKAGE_kmod-ide-core||PACKAGE_kmod-ata-core||PACKAGE_kmod-usb-storage||PACKAGE_kmod-mmc||PACKAGE_kmod-broadcom-sdhc
DEPENDS:=+block-mount @PACKAGE_kmod-ide-core||PACKAGE_kmod-usb-storage||PACKAGE_kmod-mmc||PACKAGE_kmod-broadcom-sdhc
endef
define Package/block-extroot/config

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=block-mount
PKG_VERSION:=0.1.0
PKG_RELEASE:=1
PKG_RELEASE:=2
include $(INCLUDE_DIR)/package.mk
@ -40,6 +40,10 @@ endef
define Build/Compile
endef
define Package/block-mount/conffiles
/etc/config/fstab
endef
define Package/block-mount/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/fstab.init $(1)/etc/init.d/fstab

View File

@ -377,7 +377,7 @@ static struct platform_t __initdata platforms[] = {
},
.leds = {
{ .name = "power", .gpio = 1 << 0, .polarity = REVERSE },
{ .name = "usb", .gpio = 1 << 2, .polarity = NORMAL },
{ .name = "usb", .gpio = 1 << 2, .polarity = REVERSE },
},
},
[WL300G] = {

View File

@ -1,3 +1,6 @@
menu "Configuration"
depends on PACKAGE_busybox
config BUSYBOX_CONFIG_FEATURE_DEVFS
bool
default y if LINUX_2_4
@ -31,3 +34,6 @@ config BUSYBOX_CONFIG_HUSH
default y if NOMMU
default n if !NOMMU
source "package/busybox/config/Config.in"
endmenu

View File

@ -1,5 +1,5 @@
#
# Copyright (C) 2006-2010 OpenWrt.org
# Copyright (C) 2006-2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
PKG_VERSION:=1.16.1
PKG_VERSION:=1.15.3
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.busybox.net/downloads \
http://distfiles.gentoo.org/distfiles/
PKG_MD5SUM:=319486ec65078d07fde26eb620fecde7
PKG_MD5SUM:=6059ac9456de6fb18dc8ee4cd0ec9240
include $(INCLUDE_DIR)/package.mk
@ -30,7 +30,6 @@ init-$(CONFIG_BUSYBOX_CONFIG_TELNETD) += telnet
define Package/busybox
SECTION:=base
CATEGORY:=Base system
MAINTAINER:=Nicolas Thill <nico@openwrt.org>
TITLE:=Core utilities for embedded Linux
URL:=http://busybox.net/
MENU:=1
@ -42,11 +41,7 @@ define Package/busybox/description
endef
define Package/busybox/config
menu "Configuration"
depends on PACKAGE_busybox
source "$(SOURCE)/target-config.in"
source "$(SOURCE)/config/Config.in"
endmenu
source "$(SOURCE)/Config.in"
endef
define Build/Configure

View File

@ -213,12 +213,6 @@ config BUSYBOX_CONFIG_FSCK_MINIX
check for and attempt to repair any corruption that occurs to a minix
filesystem.
config BUSYBOX_CONFIG_MKFS_EXT2
bool "mkfs_ext2"
default n
help
Utility to create EXT2 filesystems.
config BUSYBOX_CONFIG_MKFS_MINIX
bool "mkfs_minix"
default n
@ -239,12 +233,6 @@ config BUSYBOX_CONFIG_FEATURE_MINIX2
this. If you enabled 'mkfs_minix' then you almost certainly want to
be using the version 2 filesystem support.
config BUSYBOX_CONFIG_MKFS_REISER
bool "mkfs_reiser"
default n
help
Utility to create ReiserFS filesystems.
config BUSYBOX_CONFIG_MKFS_VFAT
bool "mkfs_vfat"
default n
@ -348,24 +336,6 @@ config BUSYBOX_CONFIG_LOSETUP
file or block device, and to query the status of a loop device. This
version does not currently support enabling data encryption.
config BUSYBOX_CONFIG_LSPCI
bool "lspci"
default n
help
lspci is a utility for displaying information about PCI buses in the
system and devices connected to them.
This version uses sysfs (/sys/bus/pci/devices) only.
config BUSYBOX_CONFIG_LSUSB
bool "lsusb"
default n
help
lsusb is a utility for displaying information about USB buses in the
system and devices connected to them.
This version uses sysfs (/sys/bus/usb/devices) only.
config BUSYBOX_CONFIG_MDEV
bool "mdev"
default n
@ -475,13 +445,6 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
bool "btrfs filesystem"
default y
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
bool "Reiser filesystem"
default y
@ -726,7 +689,6 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
help
This allows for specifying a device by label or uuid, rather than by
name. This feature utilizes the same functionality as blkid/findfs.
This also enables label or uuid support for swapon.
config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
bool "Support mounting NFS file systems"

View File

@ -1,15 +1,14 @@
# compcache configuration
menu "Configuration"
depends on PACKAGE_kmod-compcache
config COMPCACHE_ENABLE
bool "enabled on boot"
default n
depends on PACKAGE_kmod-compcache
help
Enables compressed ram swap devices.
config COMPCACHE_RAM_REPORTED
string "swap space reported to kernel in kb"
depends on PACKAGE_kmod-compcache
default "2048"
help
This is the amount of memory that will be reported
@ -21,10 +20,10 @@ config COMPCACHE_RAM_REPORTED
config COMPCACHE_BACKUP_DEV
string "Backup device for compcache"
depends on PACKAGE_kmod-compcache
default ""
help
Compcache will use this as a backup device for swap.
Example:
/dev/sda5
endmenu

View File

@ -26,6 +26,7 @@ define KernelPackage/compcache
VERSION:=$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)+$(PKG_RELEASE)
FILES:=$(PKG_BUILD_DIR)/ramzswap.$(LINUX_KMOD_SUFFIX) \
$(PKG_BUILD_DIR)/sub-projects/compression/lzo-kmod/lzo1x.$(LINUX_KMOD_SUFFIX)
MENU:=1
endef

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dnsmasq
PKG_VERSION:=2.52
PKG_RELEASE:=2
PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://thekelleys.org.uk/dnsmasq

View File

@ -296,9 +296,17 @@ dhcp_domain_add() {
local raddr="${4:+$4.$3.$2.$1.in-addr.arpa}"
for name in $names; do
append args "-A /$name${DOMAIN:+.$DOMAIN}/$ip"
[ -n "$raddr" ] && \
append args "--ptr-record=$raddr,$name${DOMAIN:+.$DOMAIN}"
local fqdn="$name"
[ "${fqdn%.*}" == "$fqdn" ] && \
fqdn="$fqdn${DOMAIN:+.$DOMAIN}"
append args "-A /$fqdn/$ip"
[ -n "$raddr" ] && {
append args "--ptr-record=$raddr,$fqdn"
raddr=""
}
done
}

View File

@ -0,0 +1,70 @@
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -707,6 +707,16 @@ int hostapd_setup_interface_complete(str
}
}
+ if (iface->current_mode) {
+ if (hostapd_prepare_rates(hapd, iface->current_mode)) {
+ wpa_printf(MSG_ERROR, "Failed to prepare rates table.");
+ hostapd_logger(hapd, NULL, HOSTAPD_MODULE_IEEE80211,
+ HOSTAPD_LEVEL_WARNING,
+ "Failed to prepare rates table.");
+ return -1;
+ }
+ }
+
if (hapd->iconf->rts_threshold > -1 &&
hostapd_set_rts(hapd, hapd->iconf->rts_threshold)) {
wpa_printf(MSG_ERROR, "Could not set RTS threshold for "
--- a/src/ap/hw_features.c
+++ b/src/ap/hw_features.c
@@ -101,8 +101,8 @@ int hostapd_get_hw_features(struct hosta
}
-static int hostapd_prepare_rates(struct hostapd_data *hapd,
- struct hostapd_hw_modes *mode)
+int hostapd_prepare_rates(struct hostapd_data *hapd,
+ struct hostapd_hw_modes *mode)
{
int i, num_basic_rates = 0;
int basic_rates_a[] = { 60, 120, 240, -1 };
@@ -668,14 +668,6 @@ int hostapd_select_hw_mode(struct hostap
return -1;
}
- if (hostapd_prepare_rates(iface->bss[0], iface->current_mode)) {
- wpa_printf(MSG_ERROR, "Failed to prepare rates table.");
- hostapd_logger(iface->bss[0], NULL, HOSTAPD_MODULE_IEEE80211,
- HOSTAPD_LEVEL_WARNING,
- "Failed to prepare rates table.");
- return -1;
- }
-
return 0;
}
--- a/src/ap/hw_features.h
+++ b/src/ap/hw_features.h
@@ -25,6 +25,8 @@ const char * hostapd_hw_mode_txt(int mod
int hostapd_hw_get_freq(struct hostapd_data *hapd, int chan);
int hostapd_hw_get_channel(struct hostapd_data *hapd, int freq);
int hostapd_check_ht_capab(struct hostapd_iface *iface);
+int hostapd_prepare_rates(struct hostapd_data *hapd,
+ struct hostapd_hw_modes *mode);
#else /* NEED_AP_MLME */
static inline void
hostapd_free_hw_features(struct hostapd_hw_modes *hw_features,
@@ -56,6 +58,11 @@ static inline int hostapd_check_ht_capab
{
return 0;
}
+static inline int hostapd_prepare_rates(struct hostapd_data *hapd,
+ struct hostapd_hw_modes *mode)
+{
+ return 0;
+}
#endif /* NEED_AP_MLME */

View File

@ -1,3 +1,6 @@
menu "Configuration"
depends on PACKAGE_kmod-ifx-tapi
config VOICE_CPE_TAPI_FAX
bool "fax relay and modem support"
default n
@ -69,3 +72,5 @@ config VOICE_CPE_TAPI_TRACES
help
enable driver traces with different trace levels to be
configured dynamically from the application or during insmod
endmenu

View File

@ -26,6 +26,7 @@ define KernelPackage/ifx-tapi
DEPENDS:=+kmod-ifxos @BROKEN
FILES:=$(PKG_BUILD_DIR)/src/drv_tapi.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,20,drv_tapi)
MENU:=1
endef
define KernelPackage/ifx-tapi/description
@ -33,9 +34,7 @@ define KernelPackage/ifx-tapi/description
endef
define KernelPackage/ifx-tapi/config
if PACKAGE_kmod-ifx-tapi
source "$(SOURCE)/Config.in"
endif
source "$(SOURCE)/Config.in"
endef
CONFIGURE_ARGS += \

View File

@ -1,3 +1,5 @@
menu "Configuration"
depends on PACKAGE_ifx-tapidemo
choice
prompt "board selection"
default VOICE_CPE_TAPIDEMO_BOARD_EASY50712_V3 if TARGET_ifxmips_platform_danube
@ -34,3 +36,4 @@ config VOICE_CPE_TAPIDEMO_FAX_T.38_FW
help
enable T.38 fax relay demo.
endmenu

View File

@ -26,6 +26,7 @@ define Package/ifx-tapidemo
URL:=http://www.lantiq.com/
MAINTAINER:=Lantiq
DEPENDS:=+kmod-ifx-tapi +kmod-ifx-vmmc @BROKEN
MENU:=1
endef
define Package/ifx-tapidemo/description
@ -33,9 +34,7 @@ define Package/ifx-tapidemo/description
endef
define Package/ifx-tapidemo/config
if PACKAGE_ifx-tapidemo
source "$(SOURCE)/Config.in"
endif
source "$(SOURCE)/Config.in"
endef
CONFIGURE_ARGS += \

View File

@ -1,3 +1,5 @@
menu "Configuration"
depends on PACKAGE_kmod-ifx-vmmc
choice
prompt "device selection"
default VOICE_CPE_VMMC_WITH_DEVICE_DANUBE_extract
@ -47,3 +49,5 @@ config VOICE_CPE_VMMC_MPS_HISTORY_SIZE
MPS history buffer (default=128 words, maximum=512 words, 0=disable)
To opimize the memory footprint in RAM, you might want to set the
buffer size to 0.
endmenu

View File

@ -26,6 +26,7 @@ define KernelPackage/ifx-vmmc
DEPENDS:=+kmod-ifx-tapi @BROKEN
FILES:=$(PKG_BUILD_DIR)/src/drv_vmmc.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,25,drv_vmmc)
MENU:=1
endef
define KernelPackage/ifx-vmmc/description
@ -33,9 +34,7 @@ define KernelPackage/ifx-vmmc/description
endef
define KernelPackage/ifx-vmmc/config
if PACKAGE_kmod-ifx-vmmc
source "$(SOURCE)/Config.in"
endif
source "$(SOURCE)/Config.in"
endef
CONFIGURE_ARGS += \

View File

@ -1,6 +1,8 @@
menu "Configuration"
depends on PACKAGE_kmod-ifxmips-dsl-api
choice
prompt "Firmware"
depends on PACKAGE_kmod-ifxmips-dsl-api
default IFXMIPS_ANNEX_B
help
This option controls which firmware is loaded
@ -20,12 +22,12 @@ endchoice
config IFXMIPS_DSL_FIRMWARE
bool "ifxmips-dsl firmware extractor"
default y
depends on PACKAGE_kmod-ifxmips-dsl-api
help
Say Y, if you need ifxmips-dsl to auto extract the firmware for you from the a800 firmware image
config IFXMIPS_DSL_DEBUG
bool "ifxmips-dsl debugging"
depends on PACKAGE_kmod-ifxmips-dsl-api
help
Say Y, if you need ifxmips-dsl to display debug messages.
endmenu

View File

@ -39,6 +39,7 @@ define KernelPackage/ifxmips-dsl-api
$(PKG_BUILD_DIR)/src/drv_dsl_cpe_api.$(LINUX_KMOD_SUFFIX) \
$(PKG_BUILD_DIR)/src/mei/ifxmips_atm.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,ifxmips_mei drv_dsl_cpe_api ifxmips_atm)
MENU:=1
endef
define KernelPackage/ifxmips-dsl-api/description

View File

@ -193,6 +193,11 @@ endef
$(eval $(call KernelPackage,ipip))
IPSEC-m:= \
key/af_key \
xfrm/xfrm_ipcomp \
xfrm/xfrm_user \
define KernelPackage/ipsec
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=IPsec related modules (IPv4 and IPv6)
@ -201,22 +206,30 @@ define KernelPackage/ipsec
CONFIG_NET_KEY \
CONFIG_XFRM_USER \
CONFIG_XFRM_IPCOMP
FILES:= \
$(LINUX_DIR)/net/key/af_key.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/net/xfrm/xfrm_user.$(LINUX_KMOD_SUFFIX) \
$(LINUX_DIR)/net/xfrm/xfrm_ipcomp.$(LINUX_KMOD_SUFFIX)
FILES:=$(foreach mod,$(IPSEC-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
AUTOLOAD:=$(call AutoLoad,30,$(notdir $(IPSEC-m)))
endef
define KernelPackage/ipsec/description
Kernel modules for IPsec support in both IPv4 and IPv6.
Includes:
- af_key
- xfrm_ipcomp
- xfrm_user
endef
$(eval $(call KernelPackage,ipsec))
IPSEC4-m:= \
ipv4/ah4 \
ipv4/esp4 \
ipv4/xfrm4_mode_beet \
ipv4/xfrm4_mode_transport \
ipv4/xfrm4_mode_tunnel \
ipv4/xfrm4_tunnel \
ipv4/ipcomp \
define KernelPackage/ipsec4
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=IPsec related modules (IPv4)
@ -229,9 +242,8 @@ define KernelPackage/ipsec4
CONFIG_INET_XFRM_MODE_TRANSPORT \
CONFIG_INET_XFRM_MODE_TUNNEL \
CONFIG_INET_XFRM_TUNNEL
FILES:= $(foreach mod,ah4 esp4 ipcomp xfrm4_mode_beet xfrm4_mode_transport xfrm4_mode_tunnel xfrm4_tunnel , \
$(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
)
FILES:=$(foreach mod,$(IPSEC4-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC4-m)))
endef
define KernelPackage/ipsec4/description
@ -249,6 +261,15 @@ endef
$(eval $(call KernelPackage,ipsec4))
IPSEC6-m:= \
ipv6/ah6 \
ipv6/esp6 \
ipv6/xfrm6_mode_beet \
ipv6/xfrm6_mode_transport \
ipv6/xfrm6_mode_tunnel \
ipv6/xfrm6_tunnel \
ipv6/ipcomp6 \
define KernelPackage/ipsec6
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=IPsec related modules (IPv6)
@ -261,9 +282,8 @@ define KernelPackage/ipsec6
CONFIG_INET6_XFRM_MODE_TRANSPORT \
CONFIG_INET6_XFRM_MODE_TUNNEL \
CONFIG_INET6_XFRM_TUNNEL
FILES:= $(foreach mod,ah6 esp6 ipcomp6 xfrm6_mode_beet xfrm6_mode_transport xfrm6_mode_tunnel xfrm6_tunnel, \
$(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
)
FILES:=$(foreach mod,$(IPSEC6-m),$(LINUX_DIR)/net/$(mod).$(LINUX_KMOD_SUFFIX))
AUTOLOAD:=$(call AutoLoad,32,$(notdir $(IPSEC6-m)))
endef
define KernelPackage/ipsec6/description
@ -289,9 +309,7 @@ define KernelPackage/iptunnel4
KCONFIG:= \
CONFIG_NET_IPIP \
CONFIG_INET_TUNNEL
FILES:= $(foreach mod,tunnel4, \
$(LINUX_DIR)/net/ipv4/$(mod).$(LINUX_KMOD_SUFFIX) \
)
FILES:=$(LINUX_DIR)/net/ipv4/tunnel4.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,31,tunnel4)
endef
@ -308,9 +326,7 @@ define KernelPackage/iptunnel6
DEPENDS:= @LINUX_2_6 +kmod-ipv6
KCONFIG:= \
CONFIG_INET6_TUNNEL
FILES:= $(foreach mod,tunnel6, \
$(LINUX_DIR)/net/ipv6/$(mod).$(LINUX_KMOD_SUFFIX) \
)
FILES:=$(LINUX_DIR)/net/ipv6/tunnel6.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,31,tunnel6)
endef

View File

@ -261,7 +261,8 @@ $(eval $(call KernelPackage,ssb))
define KernelPackage/bluetooth
SUBMENU:=$(OTHER_MENU)
TITLE:=Bluetooth support
DEPENDS:=@USB_SUPPORT +kmod-usb-core +!TARGET_x86:kmod-hid
DEPENDS:=@USB_SUPPORT +kmod-crc16 +kmod-usb-core +!TARGET_x86:kmod-hid \
+(TARGET_x86||TARGET_s3c24xx||TARGET_brcm47xx||TARGET_ar71xx):kmod-rfkill
KCONFIG:= \
CONFIG_BLUEZ \
CONFIG_BLUEZ_L2CAP \
@ -798,7 +799,7 @@ $(eval $(call KernelPackage,mmc-atmelmci,1))
define KernelPackage/cs5535-gpio
SUBMENU:=$(OTHER_MENU)
TITLE:=AMD CS5535/CS5536 GPIO driver
DEPENDS:=@TARGET_x86||@TARGET_olpc
DEPENDS:=@TARGET_x86
KCONFIG:=CONFIG_CS5535_GPIO
FILES:=$(LINUX_DIR)/drivers/char/cs5535_gpio.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,cs5535_gpio)
@ -851,7 +852,7 @@ $(eval $(call KernelPackage,textsearch))
define KernelPackage/rfkill
SUBMENU:=$(OTHER_MENU)
TITLE:=RF switch subsystem support
DEPENDS:=@TARGET_x86||TARGET_olpc||TARGET_s3c24xx||TARGET_brcm47xx||TARGET_ar71xx
DEPENDS:=@TARGET_x86||TARGET_s3c24xx||TARGET_brcm47xx||TARGET_ar71xx
KCONFIG:= \
CONFIG_RFKILL \
CONFIG_RFKILL_INPUT=y \

View File

@ -10,7 +10,7 @@ SOUND_MENU:=Sound Support
define KernelPackage/sound-core
SUBMENU:=$(SOUND_MENU)
TITLE:=Sound support
DEPENDS:=@AUDIO_SUPPORT
DEPENDS:=@AUDIO_SUPPORT +!TARGET_x86:kmod-input-core
KCONFIG:= \
CONFIG_SOUND \
CONFIG_SND \

View File

@ -158,6 +158,24 @@ endef
$(eval $(call KernelPackage,usb-octeon))
define KernelPackage/usb-isp116x-hcd
$(call KernelPackage/usb/Depends,@TARGET_ppc40x)
TITLE:=Support for the ISP116x USB Host Controller
KCONFIG:= \
CONFIG_USB_ISP116X_HCD \
CONFIG_USB_ISP116X_HCD_OF=y \
CONFIG_USB_ISP116X_HCD_PLATFORM=n
FILES:=$(LINUX_DIR)/drivers/usb/host/isp116x-hcd.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,isp116x-hcd)
endef
define KernelPackage/usb-isp116x-hcd/description
Kernel support for the ISP116X USB Host Controller
endef
$(eval $(call KernelPackage,usb-isp116x-hcd))
define KernelPackage/usb2
$(call KernelPackage/usb/Depends,)
TITLE:=Support for USB2 controllers
@ -451,6 +469,24 @@ endef
$(eval $(call KernelPackage,usb-serial-visor))
define KernelPackage/usb-serial-cypress-m8
$(call KernelPackage/usb-serial/Depends,)
TITLE:=Support for CypressM8 USB-Serial
KCONFIG:=CONFIG_USB_SERIAL_CYPRESS_M8
FILES:=$(LINUX_DIR)/drivers/usb/serial/cypress_m8.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,65,cypress_m8)
endef
define KernelPackage/usb-serial-cypress-m8/description
Kernel support for devices with Cypress M8 USB to Serial chip
(for example, the Delorme Earthmate LT-20 GPS)
Supported microcontrollers in the CY4601 family are:
CY7C63741 CY7C63742 CY7C63743 CY7C64013
endef
$(eval $(call KernelPackage,usb-serial-cypress-m8))
define KernelPackage/usb-serial-keyspan
$(call KernelPackage/usb-serial/Depends,)
TITLE:=Support for Keyspan USB-to-Serial devices

View File

@ -1,7 +1,9 @@
menu "Configuration"
depends on PACKAGE_kexec-tools
config KEXEC_TOOLS_TARGET_NAME
string
prompt "Target name for kexec kernel" if PACKAGE_kexec-tools
prompt "Target name for kexec kernel"
default EXTRA_TARGET_ARCH_NAME if powerpc64
default ARCH
help
@ -12,8 +14,8 @@ config KEXEC_TOOLS_TARGET_NAME
config KEXEC_TOOLS_kdump
bool
prompt "kdump support"
depends on PACKAGE_kexec-tools
default n
help
Include the kdump utility.
endmenu

View File

@ -34,7 +34,7 @@ define Package/kexec-tools/description
endef
define Package/kexec-tools/config
source "$(SOURCE)/kexec-config.in"
source "$(SOURCE)/Config.in"
endef
KEXEC_TARGET_NAME:=$(call qstrip,$(CONFIG_KEXEC_TOOLS_TARGET_NAME))-linux-$(TARGET_SUFFIX)

View File

@ -1,12 +1,15 @@
menu "Configuration"
depends PACKAGE_libpcap
config PCAP_HAS_USB
bool "Include USB support"
depends PACKAGE_libpcap
depends PACKAGE_kmod-usb-core
default n
config PCAP_HAS_BT
bool "Include bluetooth support"
depends PACKAGE_libpcap
depends PACKAGE_kmod-bluetooth
depends BROKEN
default n
endmenu

View File

@ -25,6 +25,7 @@ define Package/libpcap
CATEGORY:=Libraries
TITLE:=Low-level packet capture library
URL:=http://www.tcpdump.org/
MENU:=1
endef
define Package/libpcap/description
@ -33,7 +34,7 @@ capture.
endef
define Package/libpcap/config
source "$(SOURCE)/Config.in"
source "$(SOURCE)/Config.in"
endef
TARGET_CFLAGS += \

View File

@ -1,11 +0,0 @@
# mac80211 configuration
config PACKAGE_MAC80211_DEBUGFS
bool "Export mac80211 internals in DebugFS"
depends on PACKAGE_kmod-mac80211
default y
---help---
Select this to see extensive information about
the internal state of mac80211 in debugfs.
Say N unless you know you need this.

View File

@ -1,16 +0,0 @@
# mac80211 configuration
config PACKAGE_ATH9K_DEBUG
bool "ath9k debugging"
depends PACKAGE_kmod-ath9k && KERNEL_DEBUG_FS
---help---
Say Y, if you need ath9k to display debug messages.
Pass the debug mask as a module parameter:
modprobe ath9k debug=0x00002000
Look in ath9k/core.h for possible debug masks
config PACKAGE_ATH9K_USE_MINSTREL
bool "use the new minstrel_ht rate control for ath9k"
depends PACKAGE_kmod-ath9k

View File

@ -1,79 +0,0 @@
# B43 configuration
choice
prompt "b43 firmware version"
depends on PACKAGE_kmod-b43
default B43_EXPERIMENTAL
help
This option allows you to select the version of the b43 firmware.
config B43_STABLE
bool "4.150.10.5 (stable)"
help
Stable firmware for BCM43xx devices.
If unsure, select this.
config B43_EXPERIMENTAL
bool "4.178.10.4 (experimental)"
help
Experimental firmware for BCM43xx devices.
This firmware is not tested as much as the "stable" firmware.
If unsure, select the "stable" firmware.
config B43_OPENFIRMWARE
bool "Open FirmWare for WiFi networks"
help
Opensource firmware for BCM43xx devices.
Do _not_ select this, unless you know what you are doing.
The Opensource firmware is not suitable for embedded devices, yet.
It does not support QoS, which is bad for AccessPoints.
It does not support hardware crypto acceleration, which is a showstopper
for embedded devices with low CPU resources.
If unsure, select the "stable" firmware.
endchoice
config B43_FW_SQUASH
bool "Remove unnecessary firmware files"
depends on PACKAGE_kmod-b43 && !B43_OPENFIRMWARE
default y
help
This options allows you to remove unnecessary b43 firmware files
from the final rootfs image. This can reduce the rootfs size by
up to 200k.
If unsure, say Y.
config B43_FW_SQUASH_COREREVS
string "Core revisions to include"
depends on PACKAGE_kmod-b43 && B43_FW_SQUASH
default "5,6,7,8,9,10,13,14,15"
help
This is a comma seperated list of core revision numbers.
Example (keep files for rev5 only):
5
Example (keep files for rev5 and rev11):
5,11
config B43_FW_SQUASH_PHYTYPES
string "PHY types to include"
depends on PACKAGE_kmod-b43 && B43_FW_SQUASH
default "G,LP"
help
This is a comma seperated list of PHY types:
A => A-PHY
AG => Dual A-PHY G-PHY
G => G-PHY
LP => LP-PHY
N => N-PHY
Example (keep files for G-PHY only):
G
Example (keep files for G-PHY and N-PHY):
G,N

View File

@ -1,24 +0,0 @@
# B43 configuration
config B43LEGACY_FW_SQUASH
bool "Remove unnecessary firmware files"
depends on PACKAGE_kmod-b43legacy
default y
help
This options allows you to remove unnecessary b43legacy firmware files
from the final rootfs image. This can reduce the rootfs size by
up to 50k.
If unsure, say Y.
config B43LEGACY_FW_SQUASH_COREREVS
string "Core revisions to include"
depends on PACKAGE_kmod-b43legacy && B43LEGACY_FW_SQUASH
default "1,2,3,4"
help
This is a comma seperated list of core revision numbers.
Example (keep files for rev4 only):
4
Example (keep files for rev2 and rev4):
2,4

View File

@ -1,15 +0,0 @@
# rt2x00 configuration
config PACKAGE_RT2X00_LIB_DEBUGFS
bool "Enable rt2x00 debugfs support"
depends PACKAGE_kmod-rt2x00-lib && PACKAGE_MAC80211_DEBUGFS
---help---
Enable creation of debugfs files for the rt2x00 drivers.
These debugfs files support both reading and writing of the
most important register types of the rt2x00 hardware.
config PACKAGE_RT2X00_DEBUG
bool "Enable rt2x00 debug output"
depends PACKAGE_kmod-rt2x00-lib
---help---
Enable debugging output for all rt2x00 modules

View File

@ -66,10 +66,23 @@ define KernelPackage/mac80211
DEPENDS+= +kmod-crypto-core +kmod-crypto-arc4 +kmod-crypto-aes +kmod-cfg80211
FILES:= $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,21,mac80211)
MENU:=1
endef
define KernelPackage/mac80211/config
source "$(SOURCE)/Config.in"
menu "Configuration"
depends on PACKAGE_kmod-mac80211
config PACKAGE_MAC80211_DEBUGFS
bool "Export mac80211 internals in DebugFS"
default y
help
Select this to see extensive information about
the internal state of mac80211 in debugfs.
Say N unless you know you need this.
endmenu
endef
define KernelPackage/mac80211/description
@ -186,10 +199,27 @@ $(call KernelPackage/rt2x00/Default)
TITLE+= (LIB)
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,25,rt2x00lib)
MENU:=1
endef
define KernelPackage/rt2x00-lib/config
source "$(SOURCE)/Config.in.rt2x00"
menu "Configuration"
depends PACKAGE_kmod-rt2x00-lib
config PACKAGE_RT2X00_LIB_DEBUGFS
bool "Enable rt2x00 debugfs support"
depends PACKAGE_MAC80211_DEBUGFS
help
Enable creation of debugfs files for the rt2x00 drivers.
These debugfs files support both reading and writing of the
most important register types of the rt2x00 hardware.
config PACKAGE_RT2X00_DEBUG
bool "Enable rt2x00 debug output"
help
Enable debugging output for all rt2x00 modules
endmenu
endef
define KernelPackage/rt2x00-pci
@ -321,24 +351,27 @@ define KernelPackage/zd1211rw
endef
define KernelPackage/ath/config
menu "Configuration"
depends on PACKAGE_kmod-ath
config ATH_USER_REGD
bool "Force Atheros drivers to respect the user's regdomain settings"
depends on PACKAGE_kmod-ath
help
Atheros' idea of regulatory handling is that the EEPROM of the card defines
the regulatory limits and the user is only allowed to restrict the settings
even further, even if the country allows frequencies or power levels that
are forbidden by the EEPROM settings.
Select this option if you want the driver to respect the user's decision about
regulatory settings.
config ATH_USER_REGD
bool "Force Atheros drivers to respect the user's regdomain settings"
help
Atheros' idea of regulatory handling is that the EEPROM of the card defines
the regulatory limits and the user is only allowed to restrict the settings
even further, even if the country allows frequencies or power levels that
are forbidden by the EEPROM settings.
config PACKAGE_ATH_DEBUG
bool "Atheros wireless debugging"
depends on PACKAGE_kmod-ath
help
Say Y, if you want to debug atheros wireless drivers.
Right now only ath9k makes use of this.
Select this option if you want the driver to respect the user's decision about
regulatory settings.
config PACKAGE_ATH_DEBUG
bool "Atheros wireless debugging"
help
Say Y, if you want to debug atheros wireless drivers.
Right now only ath9k makes use of this.
endmenu
endef
define KernelPackage/ath
@ -347,6 +380,7 @@ define KernelPackage/ath
DEPENDS+= @PCI_SUPPORT +kmod-mac80211
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,26,ath)
MENU:=1
endef
define KernelPackage/ath/description
@ -377,6 +411,7 @@ define KernelPackage/ath9k
$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k_hw.$(LINUX_KMOD_SUFFIX) \
$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath9k/ath9k.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,27,ath9k_hw ath9k_common ath9k)
MENU:=1
endef
define KernelPackage/ath9k/description
@ -385,7 +420,13 @@ Atheros IEEE 802.11n AR5008 and AR9001 family of chipsets.
endef
define KernelPackage/ath9k/config
source "$(SOURCE)/Config.in.ath9k"
menu "Configuration"
depends PACKAGE_kmod-ath9k
config PACKAGE_ATH9K_USE_MINSTREL
bool "use the new minstrel_ht rate control for ath9k"
endmenu
endef
USB8388FW_NAME:=usb8388
@ -579,10 +620,93 @@ $(call KernelPackage/b43-common)
TITLE:=Broadcom 43xx wireless support
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,30,b43)
MENU:=1
endef
define KernelPackage/b43/config
source "$(SOURCE)/Config.in.b43"
menu "Configuration"
depends on PACKAGE_kmod-b43
choice
prompt "b43 firmware version"
default B43_EXPERIMENTAL
help
This option allows you to select the version of the b43 firmware.
config B43_STABLE
bool "4.150.10.5 (stable)"
help
Stable firmware for BCM43xx devices.
If unsure, select this.
config B43_EXPERIMENTAL
bool "4.178.10.4 (experimental)"
help
Experimental firmware for BCM43xx devices.
This firmware is not tested as much as the "stable" firmware.
If unsure, select the "stable" firmware.
config B43_OPENFIRMWARE
bool "Open FirmWare for WiFi networks"
help
Opensource firmware for BCM43xx devices.
Do _not_ select this, unless you know what you are doing.
The Opensource firmware is not suitable for embedded devices, yet.
It does not support QoS, which is bad for AccessPoints.
It does not support hardware crypto acceleration, which is a showstopper
for embedded devices with low CPU resources.
If unsure, select the "stable" firmware.
endchoice
config B43_FW_SQUASH
bool "Remove unnecessary firmware files"
depends on !B43_OPENFIRMWARE
default y
help
This options allows you to remove unnecessary b43 firmware files
from the final rootfs image. This can reduce the rootfs size by
up to 200k.
If unsure, say Y.
config B43_FW_SQUASH_COREREVS
string "Core revisions to include"
depends on B43_FW_SQUASH
default "5,6,7,8,9,10,13,14,15"
help
This is a comma seperated list of core revision numbers.
Example (keep files for rev5 only):
5
Example (keep files for rev5 and rev11):
5,11
config B43_FW_SQUASH_PHYTYPES
string "PHY types to include"
depends on B43_FW_SQUASH
default "G,LP"
help
This is a comma seperated list of PHY types:
A => A-PHY
AG => Dual A-PHY G-PHY
G => G-PHY
LP => LP-PHY
N => N-PHY
Example (keep files for G-PHY only):
G
Example (keep files for G-PHY and N-PHY):
G,N
endmenu
endef
define KernelPackage/b43/description
@ -594,10 +718,37 @@ $(call KernelPackage/b43-common)
TITLE:=Broadcom 43xx-legacy wireless support
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43legacy/b43legacy.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,30,b43legacy)
MENU:=1
endef
define KernelPackage/b43legacy/config
source "$(SOURCE)/Config.in.b43legacy"
menu "Configuration"
depends on PACKAGE_kmod-b43legacy
config B43LEGACY_FW_SQUASH
bool "Remove unnecessary firmware files"
default y
help
This options allows you to remove unnecessary b43legacy firmware files
from the final rootfs image. This can reduce the rootfs size by
up to 50k.
If unsure, say Y.
config B43LEGACY_FW_SQUASH_COREREVS
string "Core revisions to include"
depends on B43LEGACY_FW_SQUASH
default "1,2,3,4"
help
This is a comma seperated list of core revision numbers.
Example (keep files for rev4 only):
4
Example (keep files for rev2 and rev4):
2,4
endmenu
endef
define KernelPackage/b43legacy/description

View File

@ -15,8 +15,8 @@
+ do {
+ reg = REG_READ(ah, AR_OBS_BUS_1);
+
+ if ((reg & 0x7E7FFFEF) != 0x00702400)
+ return true;
+ if ((reg & 0x7E7FFFEF) == 0x00702400)
+ continue;
+
+ switch (reg & 0x7E000B00) {
+ case 0x1E000000:

View File

@ -1,13 +1,13 @@
# MadWifi configuration
menu "Configuration"
depends on PACKAGE_kmod-madwifi
config MADWIFI_DEBUG
bool "Enable compilation of debugging features"
depends on DEVEL && PACKAGE_kmod-madwifi
depends on DEVEL
default n
config MADWIFI_COMPRESSION
bool "Enable Atheros Super A/G Compression"
depends on PACKAGE_kmod-madwifi
depends !TARGET_ar71xx
default n
help
@ -15,7 +15,6 @@ config MADWIFI_COMPRESSION
config MADWIFI_SINGLE_MODULE
bool "Combine driver and net80211 into a single module"
depends on PACKAGE_kmod-madwifi
default y
help
This option combines all driver and stack related code (except for HAL)
@ -24,7 +23,6 @@ config MADWIFI_SINGLE_MODULE
choice
prompt "Rate control algorithm selection"
depends on PACKAGE_kmod-madwifi
default MADWIFI_RCA_MINSTREL
help
This option controls how MadWifi chooses its bitrate.
@ -53,3 +51,5 @@ config MADWIFI_RCA_SAMPLERATE
average transmission time.
endchoice
endmenu

View File

@ -165,6 +165,7 @@ define KernelPackage/madwifi
DEPENDS:=+wireless-tools @LINUX_2_6 @PCI_SUPPORT @(!(TARGET_avr32||TARGET_cobalt||TARGET_ep93xx||TARGET_etrax||TARGET_octeon||TARGET_pxcab||TARGET_sibyte)||BROKEN)
FILES:=$(MADWIFI_FILES)
AUTOLOAD:=$(call AutoLoad,50,$(MADWIFI_AUTOLOAD))
MENU:=1
endef
define KernelPackage/madwifi/description

View File

@ -21,28 +21,30 @@ define KernelPackage/mmc-over-gpio
TITLE:=MMC/SD card over GPIO support
FILES:=$(LINUX_DIR)/drivers/mmc/host/gpiommc.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,93,gpiommc)
MENU:=1
endef
define Package/kmod-mmc-over-gpio/config
config KMOD_MMC_OVER_GPIO_DI_PIN
int "GPIO DI PIN"
depends PACKAGE_kmod-mmc-over-gpio
default 1
menu "Configuration"
depends PACKAGE_kmod-mmc-over-gpio
config KMOD_MMC_OVER_GPIO_DO_PIN
int "GPIO DO PIN"
depends PACKAGE_kmod-mmc-over-gpio
default 3
config KMOD_MMC_OVER_GPIO_DI_PIN
int "GPIO DI (Data-In) pin"
default 1
config KMOD_MMC_OVER_GPIO_CLK_PIN
int "GPIO CLK PIN"
depends PACKAGE_kmod-mmc-over-gpio
default 4
config KMOD_MMC_OVER_GPIO_DO_PIN
int "GPIO DO (Data-Out) pin"
default 3
config KMOD_MMC_OVER_GPIO_CS_PIN
int "GPIO CS PIN"
depends PACKAGE_kmod-mmc-over-gpio
default 7
config KMOD_MMC_OVER_GPIO_CLK_PIN
int "GPIO CLK (Clock) pin"
default 4
config KMOD_MMC_OVER_GPIO_CS_PIN
int "GPIO CS (Chip-Select) pin"
default 7
endmenu
endef
define KernelPackage/mmc-over-gpio/description

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=nvram
PKG_RELEASE:=5
PKG_RELEASE:=6
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)

View File

@ -165,20 +165,32 @@ int main( int argc, const char *argv[] )
stat = do_info(nvram);
done++;
}
else if( !strcmp(argv[i], "get") && ++i < argc )
else if( !strcmp(argv[i], "get") || !strcmp(argv[i], "unset") || !strcmp(argv[i], "set") )
{
stat = do_get(nvram, argv[i]);
done++;
}
else if( !strcmp(argv[i], "unset") && ++i < argc )
{
stat = do_unset(nvram, argv[i]);
done++;
}
else if( !strcmp(argv[i], "set") && ++i < argc )
{
stat = do_set(nvram, argv[i]);
done++;
if( (i+1) < argc )
{
switch(argv[i++][0])
{
case 'g':
stat = do_get(nvram, argv[i]);
break;
case 'u':
stat = do_unset(nvram, argv[i]);
break;
case 's':
stat = do_set(nvram, argv[i]);
break;
}
done++;
}
else
{
fprintf(stderr, "Command '%s' requires an argument!\n", argv[i]);
done = 0;
break;
}
}
else if( !strcmp(argv[i], "commit") )
{

View File

@ -1,9 +1,8 @@
# OpenSSL configuration
if PACKAGE_libopenssl
menu "Configuration"
depends on PACKAGE_libopenssl
config OPENSSL_ENGINE
bool
prompt "Crypto acceleration support"
endif
endmenu

View File

@ -46,6 +46,7 @@ $(call Package/openssl/Default)
CATEGORY:=Libraries
DEPENDS:=+zlib
TITLE+= (libraries)
MENU:=1
endef
define Package/libopenssl/description

View File

@ -1,4 +1,4 @@
src/gz snapshots http://downloads.openwrt.org/snapshots/trunk/$S/packages
src/gz packages http://downloads.openwrt.org/backfire/10.03/$S/packages
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists

View File

@ -65,40 +65,80 @@ start_pppd() {
# /dev/ppp fast enough to be used here
[ -e /dev/ppp ] || mknod /dev/ppp c 108 0
local device
config_get device "$cfg" device
local unit
config_get unit "$cfg" unit
local username
config_get username "$cfg" username
local password
config_get password "$cfg" password
local keepalive
config_get keepalive "$cfg" keepalive
local connect
config_get connect "$cfg" connect
local disconnect
config_get disconnect "$cfg" disconnect
local pppd_options
config_get pppd_options "$cfg" pppd_options
local defaultroute
config_get_bool defaultroute "$cfg" defaultroute 1
[ "$defaultroute" -eq 1 ] && defaultroute="defaultroute replacedefaultroute" || defaultroute=""
interval="${keepalive##*[, ]}"
local interval="${keepalive##*[, ]}"
[ "$interval" != "$keepalive" ] || interval=5
config_get_bool peerdns "$cfg" peerdns 1
[ "$peerdns" -eq 1 ] && peerdns="usepeerdns" || {
local dns
config_get dns "$config" dns
local has_dns=0
local peer_default=1
[ -n "$dns" ] && {
has_dns=1
peer_default=0
}
local peerdns
config_get_bool peerdns "$cfg" peerdns $peer_default
echo -n "" > /tmp/resolv.conf.auto
[ "$peerdns" -eq 1 ] && {
peerdns="usepeerdns"
} || {
peerdns=""
config_get dns "$config" dns
for dns in $dns; do
grep -q "$dns" /tmp/resolv.conf.auto 2>/dev/null || \
echo "nameserver $dns" >> /tmp/resolv.conf.auto
echo "nameserver $dns" >> /tmp/resolv.conf.auto
done
}
config_get demand "$cfg" demand
[ -n "$demand" ] && echo "nameserver 1.1.1.1" > /tmp/resolv.conf.auto
local demand
config_get_bool demand "$cfg" demand 0
local demandargs
[ "$demand" -eq 1 ] && {
demandargs="precompiled-active-filter /etc/ppp/filter demand idle"
[ "$has_dns" -eq 0 ] && \
echo "nameserver 1.1.1.1" > /tmp/resolv.conf.auto
} || {
demandargs="persist"
}
local ipv6
config_get_bool ipv6 "$cfg" ipv6 0
[ "$ipv6" -eq 1 ] && ipv6="+ipv6" || ipv6=""
/usr/sbin/pppd "$@" \
${keepalive:+lcp-echo-interval $interval lcp-echo-failure ${keepalive%%[, ]*}} \
${demand:+precompiled-active-filter /etc/ppp/filter demand idle }${demand:-persist} \
$demandargs \
$peerdns \
$defaultroute \
${username:+user "$username" password "$password"} \
@ -117,9 +157,12 @@ setup_interface_ppp() {
local iface="$1"
local config="$2"
local device
config_get device "$config" device
local mtu
config_get mtu "$config" mtu
mtu=${mtu:-1492}
start_pppd "$config" \
mtu $mtu mru $mtu \

View File

@ -16,7 +16,7 @@ include $(INCLUDE_DIR)/kernel.mk
define Package/swconfig
SECTION:=base
CATEGORY:=Base system
DEPENDS:=@LINUX_2_6 +libuci +libnl-tiny
DEPENDS:=@LINUX_2_6 @!TARGET_brcm47xx +libuci +libnl-tiny
TITLE:=Switch configuration utility
endef

View File

@ -74,7 +74,7 @@ print_attrs(const struct switch_attr *attr)
static void
list_attributes(struct switch_dev *dev)
{
printf("Switch %d: %s(%s), ports: %d, vlans: %d\n", dev->id, dev->dev_name, dev->name, dev->ports, dev->vlans);
printf("Switch %d: %s(%s), ports: %d (cpu @ %d), vlans: %d\n", dev->id, dev->dev_name, dev->name, dev->ports, dev->cpu_port, dev->vlans);
printf(" --switch\n");
print_attrs(dev->ops);
printf(" --vlan\n");

View File

@ -581,11 +581,13 @@ add_switch(struct nl_msg *msg, void *arg)
if (tb[SWITCH_ATTR_ID])
dev->id = nla_get_u32(tb[SWITCH_ATTR_ID]);
if (tb[SWITCH_ATTR_NAME])
dev->name = strdup(nla_get_string(tb[SWITCH_ATTR_DEV_NAME]));
dev->name = strdup(nla_get_string(tb[SWITCH_ATTR_NAME]));
if (tb[SWITCH_ATTR_PORTS])
dev->ports = nla_get_u32(tb[SWITCH_ATTR_PORTS]);
if (tb[SWITCH_ATTR_VLANS])
dev->vlans = nla_get_u32(tb[SWITCH_ATTR_VLANS]);
if (tb[SWITCH_ATTR_CPU_PORT])
dev->cpu_port = nla_get_u32(tb[SWITCH_ATTR_CPU_PORT]);
if (!sa->head) {
sa->head = dev;

View File

@ -118,6 +118,7 @@ struct switch_dev {
const char *dev_name;
int ports;
int vlans;
int cpu_port;
struct switch_attr *ops;
struct switch_attr *port_ops;
struct switch_attr *vlan_ops;

View File

@ -1,5 +1,9 @@
menu "Configuration"
depends on PACKAGE_uboot-ifxmips
config IFXMIPS_UBOOT_A800
bool "add ARV452 Switch bringup hack"
depends on PACKAGE_uboot-ifxmips
help
Say Y, if you have a arv452 board (wav-281, A800, ..)
endmenu

View File

@ -26,6 +26,7 @@ define Package/uboot-ifxmips
DEPENDS:=@TARGET_ifxmips @BROKEN
TITLE:=U-Boot for Infineon MIPS boards
URL:=http://www.denx.de/wiki/U-Boot
MENU:=1
endef
define Build/Prepare

View File

@ -1,7 +1,9 @@
menu "Configuration"
depends on PACKAGE_uboot-lantiq
config UBOOT_TARGET
string "target"
default "easy50712_DDR166M"
depends on PACKAGE_uboot-lantiq
help
The configuration reflects the settings for a dedicated board hardware.
Select for Danube evaluation board easy50712_DDR166M .
@ -9,7 +11,6 @@ config UBOOT_TARGET
config UBOOT_RAMBOOT
bool "Enable RAM boot image"
depends on PACKAGE_uboot-lantiq
help
Using the UART boot mode of the ROM code this image could be loaded to the RAM.
While executing the image in the RAM the functionality of the uboot image can be
@ -30,6 +31,7 @@ config UBOOT_RAMBOOT_DDR_CONFIG
config UBOOT_A800
bool "add ARV452 Switch bringup hack"
depends on PACKAGE_uboot-lantiq
help
Say Y, if you have a arv452 board (wav-281, A800, ..)
endmenu

View File

@ -31,6 +31,7 @@ define Package/uboot-lantiq
DEPENDS:=@TARGET_ifxmips
TITLE:=U-Boot for Lantiq reference boards
URL:=http://www.denx.de/wiki/U-Boot
MENU:=1
endef
define Build/Prepare

View File

@ -48,7 +48,7 @@
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
":${hostname}:${netdev}:off\0" \
"addmisc=setenv bootargs ${bootargs} init=/etc/preinit " \
"console=ttyS1,115200 ethaddr=${ethaddr} ${mtdparts}" \
"console=ttyS1,115200 ethaddr=${ethaddr} " \
"${mtdparts}\0" \
"flash_flash=run flashargs addip addmisc;" \
"bootm ${kernel_addr}\0" \
@ -113,7 +113,7 @@
#ifndef CONFIG_SYS_PROMPT
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
#endif
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
#define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */

View File

@ -12,7 +12,7 @@
+
+U_BOOT_CMD(
+ httpd, 1, 1, do_httpd,
+ "httpd\t- start webserver\n", "\n"
+ "httpd\t- start webserver", ""
+);
+#endif
+

View File

@ -1,11 +1,10 @@
# udev package config
menu "udev configuration"
depends on PACKAGE_udev
menu "Configuration"
depends on PACKAGE_udev
config UDEV_DISABLE_LOGGING
bool "Disable udev logging to syslog"
depends on PACKAGE_udev
default n
help
Disable logging of udev messages to the syslog. If
@ -13,7 +12,6 @@ config UDEV_DISABLE_LOGGING
config UDEV_ENABLE_DEBUG
bool "Enable debug build of the udev package"
depends on PACKAGE_udev
default n
help
Compile in udev debug messages. If unsure, choose

View File

@ -26,6 +26,7 @@ define Package/udev
TITLE:=Dynamic device management subsystem
URL:=http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
MAINTAINER:=Geoff Levand <geoffrey.levand@am.sony.com>
MENU:=1
endef
define Package/udev/description
@ -34,7 +35,7 @@ define Package/udev/description
endef
define Package/udev/config
source "$(SOURCE)/udev-config.in"
source "$(SOURCE)/Config.in"
endef
udev-args-$(CONFIG_UDEV_DISABLE_LOGGING) += --disable-logging

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=uhttpd
PKG_RELEASE:=7
PKG_RELEASE:=9
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)

View File

@ -29,10 +29,16 @@ config uhttpd main
# CGI/Lua timeout, if the called script does not
# write data within the given amount of seconds,
# the server will temrinate the request with
# the server will terminate the request with
# 504 Gateway Timeout response.
option script_timeout 60
# Network timeout, if the current connection is
# blocked for the specified amount of seconds,
# the server will terminate the associated
# request process.
option network_timeout 30
# Basic auth realm, defaults to local hostname
# option realm OpenWrt

View File

@ -58,6 +58,7 @@ start_instance()
append_arg "$cfg" lua_prefix "-l"
append_arg "$cfg" lua_handler "-L"
append_arg "$cfg" script_timeout "-t"
append_arg "$cfg" network_timeout "-T"
config_get http "$cfg" listen_http
for listen in $http; do

View File

@ -68,7 +68,7 @@ static struct http_response * uh_cgi_header_parse(char *buf, int len, int *off)
if( (pos < len) && (buf[pos] == '\n') )
pos++;
if( pos < len )
if( pos <= len )
{
if( (hdrcount + 1) < array_size(res.headers) )
{

View File

@ -29,23 +29,21 @@
static const char * uh_file_mime_lookup(const char *path)
{
struct mimetype *m = &uh_mime_types[0];
char *p, *pd, *ps;
char *e;
ps = strrchr(path, '/');
pd = strrchr(path, '.');
/* use either slash or dot as separator, whatever comes last */
p = (ps && pd && (ps > pd)) ? ps : pd;
if( (p != NULL) && (*(++p) != 0) )
while( m->extn )
{
while( m->extn )
e = &path[strlen(path)-1];
while( e >= path )
{
if( ! strcasecmp(p, m->extn) )
if( (*e == '.') && !strcasecmp(&e[1], m->extn) )
return m->mime;
m++;
e--;
}
m++;
}
return "application/octet-stream";

View File

@ -20,58 +20,61 @@
static struct mimetype uh_mime_types[] = {
{ "txt", "text/plain" },
{ "log", "text/plain" },
{ "js", "text/javascript" },
{ "css", "text/css" },
{ "htm", "text/html" },
{ "html", "text/html" },
{ "diff", "text/x-patch" },
{ "patch", "text/x-patch" },
{ "c", "text/x-csrc" },
{ "h", "text/x-chdr" },
{ "o", "text/x-object" },
{ "ko", "text/x-object" },
{ "txt", "text/plain" },
{ "log", "text/plain" },
{ "js", "text/javascript" },
{ "css", "text/css" },
{ "htm", "text/html" },
{ "html", "text/html" },
{ "diff", "text/x-patch" },
{ "patch", "text/x-patch" },
{ "c", "text/x-csrc" },
{ "h", "text/x-chdr" },
{ "o", "text/x-object" },
{ "ko", "text/x-object" },
{ "bmp", "image/bmp" },
{ "gif", "image/gif" },
{ "png", "image/png" },
{ "jpg", "image/jpeg" },
{ "jpeg", "image/jpeg" },
{ "svg", "image/svg+xml" },
{ "bmp", "image/bmp" },
{ "gif", "image/gif" },
{ "png", "image/png" },
{ "jpg", "image/jpeg" },
{ "jpeg", "image/jpeg" },
{ "svg", "image/svg+xml" },
{ "zip", "application/zip" },
{ "pdf", "application/pdf" },
{ "xml", "application/xml" },
{ "xsl", "application/xml" },
{ "doc", "application/msword" },
{ "ppt", "application/vnd.ms-powerpoint" },
{ "xls", "application/vnd.ms-excel" },
{ "odt", "application/vnd.oasis.opendocument.text" },
{ "odp", "application/vnd.oasis.opendocument.presentation" },
{ "pl", "application/x-perl" },
{ "sh", "application/x-shellscript" },
{ "php", "application/x-php" },
{ "deb", "application/x-deb" },
{ "iso", "application/x-cd-image" },
{ "tgz", "application/x-compressed-tar" },
{ "gz", "application/x-gzip" },
{ "bz2", "application/x-bzip" },
{ "tar", "application/x-tar" },
{ "rar", "application/x-rar-compressed" },
{ "zip", "application/zip" },
{ "pdf", "application/pdf" },
{ "xml", "application/xml" },
{ "xsl", "application/xml" },
{ "doc", "application/msword" },
{ "ppt", "application/vnd.ms-powerpoint" },
{ "xls", "application/vnd.ms-excel" },
{ "odt", "application/vnd.oasis.opendocument.text" },
{ "odp", "application/vnd.oasis.opendocument.presentation" },
{ "pl", "application/x-perl" },
{ "sh", "application/x-shellscript" },
{ "php", "application/x-php" },
{ "deb", "application/x-deb" },
{ "iso", "application/x-cd-image" },
{ "tar.gz", "application/x-compressed-tar" },
{ "tgz", "application/x-compressed-tar" },
{ "gz", "application/x-gzip" },
{ "tar.bz2", "application/x-bzip-compressed-tar" },
{ "tbz", "application/x-bzip-compressed-tar" },
{ "bz2", "application/x-bzip" },
{ "tar", "application/x-tar" },
{ "rar", "application/x-rar-compressed" },
{ "mp3", "audio/mpeg" },
{ "ogg", "audio/x-vorbis+ogg" },
{ "wav", "audio/x-wav" },
{ "mp3", "audio/mpeg" },
{ "ogg", "audio/x-vorbis+ogg" },
{ "wav", "audio/x-wav" },
{ "mpg", "video/mpeg" },
{ "mpeg", "video/mpeg" },
{ "avi", "video/x-msvideo" },
{ "mpg", "video/mpeg" },
{ "mpeg", "video/mpeg" },
{ "avi", "video/x-msvideo" },
{ "README", "text/plain" },
{ "log", "text/plain" },
{ "cfg", "text/plain" },
{ "conf", "text/plain" },
{ "README", "text/plain" },
{ "log", "text/plain" },
{ "cfg", "text/plain" },
{ "conf", "text/plain" },
{ NULL, NULL }
};

View File

@ -116,8 +116,8 @@ int uh_tcp_send(struct client *cl, const char *buf, int len)
FD_ZERO(&writer);
FD_SET(cl->socket, &writer);
timeout.tv_sec = 0;
timeout.tv_usec = 500000;
timeout.tv_sec = cl->server->conf->network_timeout;
timeout.tv_usec = 0;
if( select(cl->socket + 1, NULL, &writer, NULL, &timeout) > 0 )
{
@ -376,6 +376,79 @@ int uh_b64decode(char *buf, int blen, const unsigned char *src, int slen)
return len;
}
static char * canonpath(const char *path, char *path_resolved)
{
char path_copy[PATH_MAX];
char *path_cpy = path_copy;
char *path_res = path_resolved;
struct stat s;
/* relative -> absolute */
if( *path != '/' )
{
getcwd(path_copy, PATH_MAX);
strncat(path_copy, "/", PATH_MAX - strlen(path_copy));
strncat(path_copy, path, PATH_MAX - strlen(path_copy));
}
else
{
strncpy(path_copy, path, PATH_MAX);
}
/* normalize */
while( (*path_cpy != '\0') && (path_cpy < (path_copy + PATH_MAX - 2)) )
{
if( *path_cpy == '/' )
{
/* skip repeating / */
if( path_cpy[1] == '/' )
{
path_cpy++;
continue;
}
/* /./ or /../ */
else if( path_cpy[1] == '.' )
{
/* skip /./ */
if( (path_cpy[2] == '/') || (path_cpy[2] == '\0') )
{
path_cpy += 2;
continue;
}
/* collapse /x/../ */
else if( (path_cpy[2] == '.') &&
((path_cpy[3] == '/') || (path_cpy[3] == '\0'))
) {
while( (path_res > path_resolved) && (*--path_res != '/') )
;
path_cpy += 3;
continue;
}
}
}
*path_res++ = *path_cpy++;
}
/* remove trailing slash if not root / */
if( (path_res > (path_resolved+1)) && (path_res[-1] == '/') )
path_res--;
else if( path_res == path_resolved )
*path_res++ = '/';
*path_res = '\0';
/* test access */
if( !stat(path_resolved, &s) && (s.st_mode & S_IROTH) )
return path_resolved;
return NULL;
}
struct path_info * uh_path_lookup(struct client *cl, const char *url)
{
@ -387,6 +460,7 @@ struct path_info * uh_path_lookup(struct client *cl, const char *url)
char *docroot = cl->server->conf->docroot;
char *pathptr = NULL;
int no_sym = cl->server->conf->no_symlinks;
int i = 0;
struct stat s;
@ -432,8 +506,9 @@ struct path_info * uh_path_lookup(struct client *cl, const char *url)
memset(path_info, 0, sizeof(path_info));
memcpy(path_info, buffer, min(i + 1, sizeof(path_info) - 1));
if( realpath(path_info, path_phys) )
{
if( no_sym ? realpath(path_info, path_phys)
: canonpath(path_info, path_phys)
) {
memset(path_info, 0, sizeof(path_info));
memcpy(path_info, &buffer[i],
min(strlen(buffer) - i, sizeof(path_info) - 1));
@ -547,10 +622,14 @@ struct auth_realm * uh_auth_add(char *path, char *user, char *pass)
min(strlen(pass), sizeof(new->pass) - 1));
}
uh_realm_count++;
if( new->pass[0] )
{
uh_realm_count++;
return new;
}
}
return new;
return NULL;
}
int uh_auth_check(

View File

@ -71,8 +71,8 @@ static void uh_config_parse(const char *path)
if( !uh_auth_add(line, user, pass) )
{
fprintf(stderr,
"Can not manage more than %i basic auth realms, "
"will skip the rest\n", UH_LIMIT_AUTHREALMS
"Notice: No password set for user %s, ignoring "
"authentication on %s\n", user, line
);
break;
@ -416,8 +416,11 @@ int main (int argc, char **argv)
/* maximum file descriptor number */
int new_fd, cur_fd, max_fd = 0;
#ifdef HAVE_TLS
int tls = 0;
int keys = 0;
#endif
int bound = 0;
int nofork = 0;
@ -426,9 +429,10 @@ int main (int argc, char **argv)
char bind[128];
char *port = NULL;
/* library handles */
void *tls_lib;
void *lua_lib;
#if defined(HAVE_TLS) || defined(HAVE_LUA)
/* library handle */
void *lib;
#endif
/* clear the master and temp sets */
FD_ZERO(&used_fds);
@ -466,7 +470,7 @@ int main (int argc, char **argv)
#ifdef HAVE_TLS
/* load TLS plugin */
if( ! (tls_lib = dlopen("uhttpd_tls.so", RTLD_LAZY | RTLD_GLOBAL)) )
if( ! (lib = dlopen("uhttpd_tls.so", RTLD_LAZY | RTLD_GLOBAL)) )
{
fprintf(stderr,
"Notice: Unable to load TLS plugin - disabling SSL support! "
@ -476,14 +480,14 @@ int main (int argc, char **argv)
else
{
/* resolve functions */
if( !(conf.tls_init = dlsym(tls_lib, "uh_tls_ctx_init")) ||
!(conf.tls_cert = dlsym(tls_lib, "uh_tls_ctx_cert")) ||
!(conf.tls_key = dlsym(tls_lib, "uh_tls_ctx_key")) ||
!(conf.tls_free = dlsym(tls_lib, "uh_tls_ctx_free")) ||
!(conf.tls_accept = dlsym(tls_lib, "uh_tls_client_accept")) ||
!(conf.tls_close = dlsym(tls_lib, "uh_tls_client_close")) ||
!(conf.tls_recv = dlsym(tls_lib, "uh_tls_client_recv")) ||
!(conf.tls_send = dlsym(tls_lib, "uh_tls_client_send"))
if( !(conf.tls_init = dlsym(lib, "uh_tls_ctx_init")) ||
!(conf.tls_cert = dlsym(lib, "uh_tls_ctx_cert")) ||
!(conf.tls_key = dlsym(lib, "uh_tls_ctx_key")) ||
!(conf.tls_free = dlsym(lib, "uh_tls_ctx_free")) ||
!(conf.tls_accept = dlsym(lib, "uh_tls_client_accept")) ||
!(conf.tls_close = dlsym(lib, "uh_tls_client_close")) ||
!(conf.tls_recv = dlsym(lib, "uh_tls_client_recv")) ||
!(conf.tls_send = dlsym(lib, "uh_tls_client_send"))
) {
fprintf(stderr,
"Error: Failed to lookup required symbols "
@ -501,7 +505,7 @@ int main (int argc, char **argv)
}
#endif
while( (opt = getopt(argc, argv, "fC:K:p:s:h:c:l:L:d:r:m:x:t:")) > 0 )
while( (opt = getopt(argc, argv, "fSC:K:p:s:h:c:l:L:d:r:m:x:t:T:")) > 0 )
{
switch(opt)
{
@ -592,6 +596,11 @@ int main (int argc, char **argv)
}
break;
/* don't follow symlinks */
case 'S':
conf.no_symlinks = 1;
break;
#ifdef HAVE_CGI
/* cgi prefix */
case 'x':
@ -618,6 +627,11 @@ int main (int argc, char **argv)
break;
#endif
/* network timeout */
case 'T':
conf.network_timeout = atoi(optarg);
break;
/* no fork */
case 'f':
nofork = 1;
@ -663,6 +677,7 @@ int main (int argc, char **argv)
" -K file ASN.1 server private key file\n"
#endif
" -h directory Specify the document root, default is '.'\n"
" -S Do not follow symbolic links outside of the docroot\n"
#ifdef HAVE_LUA
" -l string URL prefix for Lua handler, default is '/lua'\n"
" -L file Lua handler script, omit to disable Lua\n"
@ -673,6 +688,7 @@ int main (int argc, char **argv)
#if defined(HAVE_CGI) || defined(HAVE_LUA)
" -t seconds CGI and Lua script timeout in seconds, default is 60\n"
#endif
" -T seconds Network timeout in seconds, default is 30\n"
" -d string URL decode given string\n"
" -r string Specify basic auth realm\n"
" -m string MD5 crypt given string\n"
@ -712,6 +728,10 @@ int main (int argc, char **argv)
/* config file */
uh_config_parse(conf.file);
/* default network timeout */
if( conf.network_timeout <= 0 )
conf.network_timeout = 30;
#if defined(HAVE_CGI) || defined(HAVE_LUA)
/* default script timeout */
if( conf.script_timeout <= 0 )
@ -726,7 +746,7 @@ int main (int argc, char **argv)
#ifdef HAVE_LUA
/* load Lua plugin */
if( ! (lua_lib = dlopen("uhttpd_lua.so", RTLD_LAZY | RTLD_GLOBAL)) )
if( ! (lib = dlopen("uhttpd_lua.so", RTLD_LAZY | RTLD_GLOBAL)) )
{
fprintf(stderr,
"Notice: Unable to load Lua plugin - disabling Lua support! "
@ -736,9 +756,9 @@ int main (int argc, char **argv)
else
{
/* resolve functions */
if( !(conf.lua_init = dlsym(lua_lib, "uh_lua_init")) ||
!(conf.lua_close = dlsym(lua_lib, "uh_lua_close")) ||
!(conf.lua_request = dlsym(lua_lib, "uh_lua_request"))
if( !(conf.lua_init = dlsym(lib, "uh_lua_init")) ||
!(conf.lua_close = dlsym(lib, "uh_lua_close")) ||
!(conf.lua_request = dlsym(lib, "uh_lua_request"))
) {
fprintf(stderr,
"Error: Failed to lookup required symbols "

View File

@ -32,7 +32,7 @@
#include <linux/limits.h>
#include <netdb.h>
#include <ctype.h>
#include <errno.h>
#include <dlfcn.h>
@ -64,6 +64,8 @@ struct config {
char docroot[PATH_MAX];
char *realm;
char *file;
int no_symlinks;
int network_timeout;
#ifdef HAVE_CGI
char *cgi_prefix;
#endif

View File

@ -10,15 +10,12 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=vsc73x5-ucode
PKG_RELEASE:=1
PKG_SOURCE_URL:=http://www.tp-link.com/GPL
PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
PKG_SOURCE:=WirelessNRouer_AP.tar.gz
PKG_SOURCE:=vsc73x5-ucode.tar.bz2
PKG_BUILD_DIR:=$(BUILD_DIR)/vsc73x5-ucode
PKG_MD5SUM:=7dd6069a5f0e44cc9965fc7b43eb3046
UCODE_SRC_DIR:=u-boot/board/ar7100/common
UCODE_BUILD_DIR:=$(PKG_BUILD_DIR)/$(UCODE_SRC_DIR)
PKG_MD5SUM:=b32e3debcd118f263c79199a7b5afa68
include $(INCLUDE_DIR)/package.mk
@ -32,7 +29,7 @@ endef
define Package/vsc73x5/install
$(INSTALL_DIR) $(1)/lib/firmware
$(INSTALL_DATA) $(UCODE_BUILD_DIR)/$(2) $(1)/lib/firmware/$(3)
$(INSTALL_DATA) $(PKG_BUILD_DIR)/$(2) $(1)/lib/firmware/$(3)
endef
define Package/vsc7385-ucode-ap83
@ -87,13 +84,8 @@ define Package/vsc7395-ucode-pb44/install
$(call Package/vsc73x5/install,$(1),g5e_Plus1_2_29a_unmanaged_Atheros_v3.bin,vsc7395_ucode_pb44.bin)
endef
define Build/Prepare
tar -xzf "$(DL_DIR)/$(PKG_SOURCE)" ap-9x-gpl/ap93-u-boot.tar.bz2 -O | tar -C "$(PKG_BUILD_DIR)" -xj $(UCODE_SRC_DIR)
cp files/Makefile $(UCODE_BUILD_DIR)
endef
define Build/Compile
$(MAKE) -C $(UCODE_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) all
endef
$(eval $(call BuildPackage,vsc7385-ucode-ap83))

View File

@ -14,7 +14,7 @@ sub get_ts($$) {
my $ts = 0;
my $fn = "";
$path .= "/" if( -d $path);
open FIND, "find $path -type f -and -not -path \\*.svn\\* -and -not -path \\*CVS\\* $options 2>/dev/null |";
open FIND, "find $path -type f -and -not -path \\*/.svn\\* -and -not -path \\*CVS\\* $options 2>/dev/null |";
while (<FIND>) {
chomp;
my $file = $_;

View File

@ -23,9 +23,10 @@ all: compile
$(BIN_DIR)/$(IB_NAME).tar.bz2: clean
rm -rf $(PKG_BUILD_DIR)
mkdir -p $(IB_KDIR) $(PKG_BUILD_DIR)/staging_dir/host $(PKG_BUILD_DIR)/target
-cp $(TOPDIR)/.config $(PKG_BUILD_DIR)/.config
$(CP) \
$(INCLUDE_DIR) $(SCRIPT_DIR) \
$(TOPDIR)/rules.mk $(TOPDIR)/.config \
$(TOPDIR)/rules.mk \
./files/Makefile \
$(TMP_DIR)/.targetinfo \
$(TMP_DIR)/.packageinfo \

View File

@ -62,8 +62,8 @@ IPKG:= \
define Profile
$(eval $(call Profile/Default))
$(eval $(call Profile/$(1)))
ifeq ($(PROFILE),)
PROFILE:=$(1)
ifeq ($(USER_PROFILE),)
USER_PROFILE:=$(1)
endif
$(1)_NAME:=$(NAME)
$(1)_PACKAGES:=$(PACKAGES)
@ -73,7 +73,7 @@ endef
include $(INCLUDE_DIR)/target.mk
info: FORCE
_call_info: FORCE
echo 'Current Target: "$(BOARD)$(if $(SUBTARGET), ($(BOARDNAME)))"'
echo 'Default Packages: $(DEFAULT_PACKAGES)'
echo 'Available Profiles:'
@ -84,19 +84,19 @@ $(TOPDIR)/tmp/ipkg.conf: FORCE
@echo 'dest root /' > $@
@echo 'src packages file:$(PACKAGE_DIR)' >> $@
BUILD_PACKAGES:=$(sort $(DEFAULT_PACKAGES) $(PACKAGES) $($(PROFILE)_PACKAGES) kernel)
BUILD_PACKAGES:=$(sort $(DEFAULT_PACKAGES) $(USER_PACKAGES) $($(USER_PROFILE)_PACKAGES) kernel)
# "-pkgname" in the package list means remove "pkgname" from the package list
BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_PACKAGES))),$(BUILD_PACKAGES))
image:
echo 'Building images for $(BOARD)$(if $($(PROFILE)_NAME), - $($(PROFILE)_NAME))'
_call_image:
echo 'Building images for $(BOARD)$(if $($(USER_PROFILE)_NAME), - $($(USER_PROFILE)_NAME))'
echo 'Packages: $(BUILD_PACKAGES)'
echo
rm -rf $(TARGET_DIR)
mkdir -p $(TARGET_DIR) $(BIN_DIR) $(TMP_DIR)
$(MAKE) package_index
$(MAKE) package_install
ifneq ($(FILES),)
ifneq ($(USER_FILES),)
$(MAKE) copy_files
endif
$(MAKE) package_postinst
@ -118,7 +118,7 @@ package_install: FORCE
copy_files: FORCE
@echo
@echo Copying extra files
$(CP) $(FILES)/* $(TARGET_DIR)/
$(CP) $(USER_FILES)/* $(TARGET_DIR)/
package_postinst: FORCE
@echo
@ -140,5 +140,15 @@ clean:
rm -rf tmp $(TARGET_DIR) $(BIN_DIR)
info:
(unset PROFILE FILES PACKAGES MAKEFLAGS; $(MAKE) -s _call_info)
image:
(unset PROFILE FILES PACKAGES MAKEFLAGS; \
$(MAKE) _call_image \
$(if $(PROFILE),USER_PROFILE="$(PROFILE)") \
$(if $(FILES),USER_FILES="$(FILES)") \
$(if $(PACKAGES),USER_PACKAGES="$(PACKAGES)"))
.SILENT: help info image

View File

@ -11,6 +11,10 @@ LOADER_MAKE := $(NO_TRACE_MAKE) -C lzma-loader KDIR=$(KDIR)
JFFS2BLOCK := $(KDIR)/jffs2.block
JFFS2MARK := $(KDIR)/jffs2.mark
define imgname
$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(patsubst jffs2-%,jffs2,$(1))
endef
define Build/Clean
$(LOADER_MAKE) clean
endef

View File

@ -1,21 +0,0 @@
#
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
ARCH:=mips
BOARD:=amazon
BOARDNAME:=Infineon Amazon
FEATURES:=squashfs jffs2 broken
LINUX_VERSION:=2.6.30.10
include $(INCLUDE_DIR)/target.mk
define Target/Description
Build firmware images for Infineon Amazon boards
endef
$(eval $(call BuildTarget))

View File

@ -1,14 +0,0 @@
# Copyright (C) 2006 OpenWrt.org
config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
config interface lan
option ifname eth1
option type bridge
option proto static
option ipaddr 192.168.1.1
option netmask 255.255.255.0

View File

@ -1,152 +0,0 @@
CONFIG_32BIT=y
# CONFIG_64BIT is not set
CONFIG_ADM6996_SUPPORT=y
CONFIG_AMAZON_ASC_UART=y
CONFIG_AMAZON_MTD=y
CONFIG_AMAZON_NET_SW=y
CONFIG_AMAZON_PCI=y
CONFIG_AMAZON_WDT=y
CONFIG_AMAZON=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_ARCH_SUPPORTS_OPROFILE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_BCM47XX is not set
# CONFIG_BINARY_PRINTF is not set
CONFIG_BITREVERSE=y
# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
CONFIG_CEVT_R4K_LIB=y
CONFIG_CEVT_R4K=y
CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,jffs2 init=/bin/sh"
CONFIG_CPU_BIG_ENDIAN=y
# CONFIG_CPU_CAVIUM_OCTEON is not set
CONFIG_CPU_HAS_LLSC=y
CONFIG_CPU_HAS_PREFETCH=y
CONFIG_CPU_HAS_SYNC=y
# CONFIG_CPU_LITTLE_ENDIAN is not set
# CONFIG_CPU_LOONGSON2 is not set
# CONFIG_CPU_MIPS32_R1 is not set
CONFIG_CPU_MIPS32_R2=y
CONFIG_CPU_MIPS32=y
# CONFIG_CPU_MIPS64_R1 is not set
# CONFIG_CPU_MIPS64_R2 is not set
CONFIG_CPU_MIPSR2=y
# CONFIG_CPU_NEVADA is not set
# CONFIG_CPU_R10000 is not set
# CONFIG_CPU_R3000 is not set
# CONFIG_CPU_R4300 is not set
# CONFIG_CPU_R4X00 is not set
# CONFIG_CPU_R5000 is not set
# CONFIG_CPU_R5432 is not set
# CONFIG_CPU_R5500 is not set
# CONFIG_CPU_R6000 is not set
# CONFIG_CPU_R8000 is not set
# CONFIG_CPU_RM7000 is not set
# CONFIG_CPU_RM9000 is not set
# CONFIG_CPU_SB1 is not set
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
CONFIG_CPU_SUPPORTS_HIGHMEM=y
# CONFIG_CPU_TX39XX is not set
# CONFIG_CPU_TX49XX is not set
# CONFIG_CPU_VR41XX is not set
CONFIG_CSRC_R4K_LIB=y
CONFIG_CSRC_R4K=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DEVPORT=y
# CONFIG_DM9000 is not set
CONFIG_DMA_NEED_PCI_MAP_STATE=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_HARDWARE_WATCHPOINTS=y
CONFIG_HAS_DMA=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_HAVE_IDE=y
CONFIG_HAVE_MLOCK=y
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_STD_PC_SERIAL_PORT=y
CONFIG_HW_HAS_PCI=y
CONFIG_HW_RANDOM=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_IRQ_CPU=y
CONFIG_KALLSYMS=y
# CONFIG_LEMOTE_FULONG is not set
# CONFIG_MACH_ALCHEMY is not set
# CONFIG_MACH_DECSTATION is not set
# CONFIG_MACH_JAZZ is not set
# CONFIG_MACH_TX39XX is not set
# CONFIG_MACH_TX49XX is not set
# CONFIG_MACH_VR41XX is not set
# CONFIG_MIKROTIK_RB532 is not set
# CONFIG_MIPS_COBALT is not set
CONFIG_MIPS_L1_CACHE_SHIFT=5
# CONFIG_MIPS_MACHINE is not set
# CONFIG_MIPS_MALTA is not set
CONFIG_MIPS_MT_DISABLED=y
# CONFIG_MIPS_MT_SMP is not set
# CONFIG_MIPS_MT_SMTC is not set
# CONFIG_MIPS_SIM is not set
CONFIG_MIPS=y
CONFIG_MTD_AMAZON_BUS_WIDTH_16=y
# CONFIG_MTD_AMAZON_BUS_WIDTH_32 is not set
# CONFIG_MTD_AMAZON_BUS_WIDTH_8 is not set
# CONFIG_MTD_AMAZON_FLASH_SIZE_16 is not set
# CONFIG_MTD_AMAZON_FLASH_SIZE_2 is not set
CONFIG_MTD_AMAZON_FLASH_SIZE_4=y
# CONFIG_MTD_AMAZON_FLASH_SIZE_8 is not set
CONFIG_MTD_CFI_ADV_OPTIONS=y
# CONFIG_MTD_CFI_GEOMETRY is not set
# CONFIG_MTD_CFI_INTELEXT is not set
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-3
CONFIG_MTD_REDBOOT_PARTS=y
# CONFIG_NET_PCI is not set
# CONFIG_NO_IOPORT is not set
# CONFIG_NXP_STB220 is not set
# CONFIG_NXP_STB225 is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PMC_MSP is not set
# CONFIG_PMC_YOSEMITE is not set
# CONFIG_PNX8550_JBS is not set
# CONFIG_PNX8550_STB810 is not set
# CONFIG_PROBE_INITRD_HEADER is not set
CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_SCSI_DMA is not set
# CONFIG_SERIAL_8250 is not set
# CONFIG_SGI_IP22 is not set
# CONFIG_SGI_IP27 is not set
# CONFIG_SGI_IP28 is not set
# CONFIG_SGI_IP32 is not set
# CONFIG_SIBYTE_BIGSUR is not set
# CONFIG_SIBYTE_CARMEL is not set
# CONFIG_SIBYTE_CRHINE is not set
# CONFIG_SIBYTE_CRHONE is not set
# CONFIG_SIBYTE_LITTLESUR is not set
# CONFIG_SIBYTE_RHONE is not set
# CONFIG_SIBYTE_SENTOSA is not set
# CONFIG_SIBYTE_SWARM is not set
# CONFIG_SLOW_WORK is not set
CONFIG_SWAP_IO_SPACE=y
CONFIG_SYS_HAS_CPU_MIPS32_R1=y
CONFIG_SYS_HAS_CPU_MIPS32_R2=y
CONFIG_SYS_HAS_EARLY_PRINTK=y
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
CONFIG_TRACING_SUPPORT=y
CONFIG_TRAD_SIGNALS=y
CONFIG_USB_SUPPORT=y
CONFIG_ZONE_DMA_FLAG=0

View File

@ -1,155 +0,0 @@
CONFIG_32BIT=y
# CONFIG_64BIT is not set
CONFIG_ADM6996_SUPPORT=y
# CONFIG_ALCHEMY_GPIO_INDIRECT is not set
CONFIG_AMAZON_ASC_UART=y
CONFIG_AMAZON_MTD=y
CONFIG_AMAZON_NET_SW=y
CONFIG_AMAZON_PCI=y
CONFIG_AMAZON_WDT=y
CONFIG_AMAZON=y
# CONFIG_AR7 is not set
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_ARCH_SUPPORTS_OPROFILE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_BCM47XX is not set
# CONFIG_BCM63XX is not set
CONFIG_BITREVERSE=y
# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set
# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
CONFIG_CEVT_R4K_LIB=y
CONFIG_CEVT_R4K=y
CONFIG_CFG80211_DEFAULT_PS_VALUE=0
CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,jffs2 init=/bin/sh"
CONFIG_CPU_BIG_ENDIAN=y
# CONFIG_CPU_CAVIUM_OCTEON is not set
CONFIG_CPU_HAS_PREFETCH=y
CONFIG_CPU_HAS_SYNC=y
# CONFIG_CPU_LITTLE_ENDIAN is not set
# CONFIG_CPU_LOONGSON2E is not set
# CONFIG_CPU_MIPS32_R1 is not set
CONFIG_CPU_MIPS32_R2=y
CONFIG_CPU_MIPS32=y
# CONFIG_CPU_MIPS64_R1 is not set
# CONFIG_CPU_MIPS64_R2 is not set
CONFIG_CPU_MIPSR2=y
# CONFIG_CPU_NEVADA is not set
# CONFIG_CPU_R10000 is not set
# CONFIG_CPU_R3000 is not set
# CONFIG_CPU_R4300 is not set
# CONFIG_CPU_R4X00 is not set
# CONFIG_CPU_R5000 is not set
# CONFIG_CPU_R5432 is not set
# CONFIG_CPU_R5500 is not set
# CONFIG_CPU_R6000 is not set
# CONFIG_CPU_R8000 is not set
# CONFIG_CPU_RM7000 is not set
# CONFIG_CPU_RM9000 is not set
# CONFIG_CPU_SB1 is not set
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
CONFIG_CPU_SUPPORTS_HIGHMEM=y
# CONFIG_CPU_TX39XX is not set
# CONFIG_CPU_TX49XX is not set
# CONFIG_CPU_VR41XX is not set
CONFIG_CSRC_R4K_LIB=y
CONFIG_CSRC_R4K=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DEVPORT=y
# CONFIG_DM9000 is not set
CONFIG_DMA_NEED_PCI_MAP_STATE=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_EARLY_PRINTK=y
# CONFIG_FSNOTIFY is not set
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_HARDWARE_WATCHPOINTS=y
CONFIG_HAS_DMA=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_HAVE_IDE=y
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_STD_PC_SERIAL_PORT=y
CONFIG_HW_HAS_PCI=y
CONFIG_HW_RANDOM=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_IRQ_CPU=y
CONFIG_KALLSYMS=y
# CONFIG_MACH_ALCHEMY is not set
# CONFIG_MACH_DECSTATION is not set
# CONFIG_MACH_JAZZ is not set
# CONFIG_MACH_LOONGSON is not set
# CONFIG_MACH_TX39XX is not set
# CONFIG_MACH_TX49XX is not set
# CONFIG_MACH_VR41XX is not set
# CONFIG_MIKROTIK_RB532 is not set
# CONFIG_MIPS_COBALT is not set
CONFIG_MIPS_L1_CACHE_SHIFT=5
# CONFIG_MIPS_MACHINE is not set
# CONFIG_MIPS_MALTA is not set
CONFIG_MIPS_MT_DISABLED=y
# CONFIG_MIPS_MT_SMP is not set
# CONFIG_MIPS_MT_SMTC is not set
# CONFIG_MIPS_SIM is not set
CONFIG_MIPS=y
CONFIG_MTD_AMAZON_BUS_WIDTH_16=y
# CONFIG_MTD_AMAZON_BUS_WIDTH_32 is not set
# CONFIG_MTD_AMAZON_BUS_WIDTH_8 is not set
# CONFIG_MTD_AMAZON_FLASH_SIZE_16 is not set
# CONFIG_MTD_AMAZON_FLASH_SIZE_2 is not set
CONFIG_MTD_AMAZON_FLASH_SIZE_4=y
# CONFIG_MTD_AMAZON_FLASH_SIZE_8 is not set
CONFIG_MTD_CFI_ADV_OPTIONS=y
# CONFIG_MTD_CFI_GEOMETRY is not set
# CONFIG_MTD_CFI_INTELEXT is not set
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-3
CONFIG_MTD_REDBOOT_PARTS=y
# CONFIG_NET_PCI is not set
# CONFIG_NO_IOPORT is not set
# CONFIG_NXP_STB220 is not set
# CONFIG_NXP_STB225 is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PMC_MSP is not set
# CONFIG_PMC_YOSEMITE is not set
# CONFIG_PNX8550_JBS is not set
# CONFIG_PNX8550_STB810 is not set
# CONFIG_PROBE_INITRD_HEADER is not set
CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_SCSI_DMA is not set
# CONFIG_SERIAL_8250 is not set
# CONFIG_SGI_IP22 is not set
# CONFIG_SGI_IP27 is not set
# CONFIG_SGI_IP28 is not set
# CONFIG_SGI_IP32 is not set
# CONFIG_SIBYTE_BIGSUR is not set
# CONFIG_SIBYTE_CARMEL is not set
# CONFIG_SIBYTE_CRHINE is not set
# CONFIG_SIBYTE_CRHONE is not set
# CONFIG_SIBYTE_LITTLESUR is not set
# CONFIG_SIBYTE_RHONE is not set
# CONFIG_SIBYTE_SENTOSA is not set
# CONFIG_SIBYTE_SWARM is not set
CONFIG_SWAP_IO_SPACE=y
CONFIG_SYS_HAS_CPU_MIPS32_R1=y
CONFIG_SYS_HAS_CPU_MIPS32_R2=y
CONFIG_SYS_HAS_EARLY_PRINTK=y
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
CONFIG_TRAD_SIGNALS=y
# CONFIG_TREE_PREEMPT_RCU is not set
CONFIG_TREE_RCU=y
CONFIG_USB_SUPPORT=y
CONFIG_ZONE_DMA_FLAG=0

View File

@ -1,67 +0,0 @@
# copyright 2007 john crispin <blogic@openwrt.org>
menu "Amazon built-in"
config AMAZON_ASC_UART
bool "Amazon asc uart"
select SERIAL_CORE
select SERIAL_CORE_CONSOLE
default y
config AMAZON_PCI
bool "Amazon PCI support"
default y
select HW_HAS_PCI
select PCI
config AMAZON_NET_SW
bool "Amazon network"
default y
config AMAZON_WDT
bool "Amazon watchdog timer"
default y
config AMAZON_MTD
bool "Amazon MTD map"
default y
config ADM6996_SUPPORT
bool "Amazon ADM6996 Switch driver"
default y
choice
prompt "Flash Size"
depends on AMAZON_MTD
config MTD_AMAZON_FLASH_SIZE_2
bool "2MB"
config MTD_AMAZON_FLASH_SIZE_4
bool "4MB"
config MTD_AMAZON_FLASH_SIZE_8
bool "8MB"
config MTD_AMAZON_FLASH_SIZE_16
bool "16MB"
endchoice
choice
prompt "Bus Width"
depends on AMAZON_MTD
config MTD_AMAZON_BUS_WIDTH_8
bool "8-bit"
config MTD_AMAZON_BUS_WIDTH_16
bool "16-bit"
config MTD_AMAZON_BUS_WIDTH_32
bool "32-bit"
endchoice
endmenu

View File

@ -1,9 +0,0 @@
#
# Copyright 2007 openwrt.org
# John Crispin <blogic@openwrt.org>
#
# Makefile for Infineon Amazon
#
obj-y := dma-core.o interrupt.o prom.o setup.o board.o
obj-$(CONFIG_PCI) += pci.o

View File

@ -1,69 +0,0 @@
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Copyright (C) 2009 Hauke Mehrtens <hauke@hauke-m.de>
*/
#include <linux/platform_device.h>
#include <asm/amazon/irq.h>
#define AMAZON_FLASH_START 0x13000000
#define AMAZON_FLASH_MAX 0x1000000
static struct platform_device amazon_mii = {
.id = 0,
.name = "amazon_mii0",
// .dev = {
// .platform_data = amazon_ethaddr,
// }
};
static struct platform_device amazon_wdt = {
.id = 0,
.name = "amazon_wdt",
};
static struct platform_device amazon_asc = {
.id = 0,
.name = "amazon_asc",
};
static struct resource amazon_mtd_resource = {
.start = AMAZON_FLASH_START,
.end = AMAZON_FLASH_START + AMAZON_FLASH_MAX - 1,
.flags = IORESOURCE_MEM,
};
static struct platform_device amazon_mtd = {
.id = 0,
.name = "amazon_mtd",
.num_resources = 1,
.resource = &amazon_mtd_resource,
};
struct platform_device *amazon_devs[] = {
&amazon_mii, &amazon_mtd, &amazon_wdt, &amazon_asc
};
int __init amazon_init_devices(void)
{
printk(KERN_INFO "");
return platform_add_devices(amazon_devs, 4);
}
arch_initcall(amazon_init_devices);

File diff suppressed because it is too large Load Diff

View File

@ -1,69 +0,0 @@
#ifndef DMA_CORE_H
#define DMA_CORE_H
#define AMAZON_DMA_REG32(reg_num) *((volatile u32*)(reg_num))
#define AMAZON_DMA_CH_STEP 4
#define COMB_ISR_RX_MASK 0xfe000000
#define COMB_ISR_TX_MASK 0x01f00000
#define DMA_OWN 1
#define CPU_OWN 0
#define DMA_MAJOR 250
//Descriptors
#define DMA_DESC_OWN_CPU 0x0
#define DMA_DESC_OWN_DMA 0x80000000
#define DMA_DESC_CPT_SET 0x40000000
#define DMA_DESC_SOP_SET 0x20000000
#define DMA_DESC_EOP_SET 0x10000000
#define switch_rx_chan_base 0
#define switch_tx_chan_base 7
#define switch2_rx_chan_base 2
#define switch2_tx_chan_base 8
#define TPE_rx_chan_base 4
#define TPE_tx_chan_base 9
#define DPLus2FPI_rx_chan_base 6
#define DPLus2FPI_tx_chan_base 11
#define RX_CHAN_NUM 7
#define TX_CHAN_NUM 5
#define CHAN_TOTAL_NUM (RX_CHAN_NUM+TX_CHAN_NUM)
#define DEFAULT_OFFSET 20
#define DESCRIPTOR_SIZE 8
typedef struct dev_list{
struct dma_device_info* dev;
int weight;
struct dev_list* prev;
struct dev_list* next;
}dev_list;
typedef struct channel_info{
char device_name[16];
int occupied;
enum attr_t attr;
int current_desc;
int weight;
int default_weight;
int desc_num;
int burst_len;
int desc_len;
int desc_ofst;
int packet_size;
int offset_from_base;
int control;
void* opt[DEFAULT_OFFSET];
u8* (*buffer_alloc)(int len,int* offset, void** opt);
int (*buffer_free)(u8* dataptr,void* opt);
int (*intr_handler)(struct dma_device_info* info,int status);
struct dma_device_info* dma_dev;
}channel_info;
#endif

View File

@ -1,192 +0,0 @@
/*
* Gary Jennejohn (C) 2003 <gj@denx.de>
* Copyright (C) 2007 Felix Fietkau <nbd@openwrt.org>
* Copyright (C) 2007 John Crispin <blogic@openwrt.org>
*
* This program is free software; you can distribute it and/or modify it
* under the terms of the GNU General Public License (Version 2) as
* published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
*
* Routines for generic manipulation of the interrupts found on the
* AMAZON boards.
*/
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/kernel_stat.h>
#include <linux/module.h>
#include <asm/amazon/amazon.h>
#include <asm/amazon/irq.h>
#include <asm/bootinfo.h>
#include <asm/irq_cpu.h>
#include <asm/irq.h>
#include <asm/time.h>
static void amazon_disable_irq(unsigned int irq_nr)
{
int i;
u32 amazon_ier = AMAZON_ICU_IM0_IER;
if (irq_nr <= INT_NUM_IM0_IRL11 && irq_nr >= INT_NUM_IM0_IRL0)
amazon_writel(amazon_readl(amazon_ier) & (~(AMAZON_DMA_H_MASK)), amazon_ier);
else {
irq_nr -= INT_NUM_IRQ0;
for (i = 0; i <= 4; i++)
{
if (irq_nr <= 31)
amazon_writel(amazon_readl(amazon_ier) & ~(1 << irq_nr ), amazon_ier);
amazon_ier += 0x10;
irq_nr -= 32;
}
}
}
static void amazon_mask_and_ack_irq(unsigned int irq_nr)
{
int i;
u32 amazon_ier = AMAZON_ICU_IM0_IER;
u32 amazon_isr = AMAZON_ICU_IM0_ISR;
if (irq_nr <= INT_NUM_IM0_IRL11 && irq_nr >= INT_NUM_IM0_IRL0){
amazon_writel(amazon_readl(amazon_ier) & (~(AMAZON_DMA_H_MASK)), amazon_ier);
amazon_writel(AMAZON_DMA_H_MASK, amazon_isr);
} else {
irq_nr -= INT_NUM_IRQ0;
for (i = 0; i <= 4; i++)
{
if (irq_nr <= 31){
amazon_writel(amazon_readl(amazon_ier) & ~(1 << irq_nr ), amazon_ier);
amazon_writel((1 << irq_nr ), amazon_isr);
}
amazon_ier += 0x10;
amazon_isr += 0x10;
irq_nr -= 32;
}
}
}
static void amazon_enable_irq(unsigned int irq_nr)
{
int i;
u32 amazon_ier = AMAZON_ICU_IM0_IER;
if (irq_nr <= INT_NUM_IM0_IRL11 && irq_nr >= INT_NUM_IM0_IRL0)
amazon_writel(amazon_readl(amazon_ier) | AMAZON_DMA_H_MASK, amazon_ier);
else {
irq_nr -= INT_NUM_IRQ0;
for (i = 0; i <= 4; i++)
{
if (irq_nr <= 31)
amazon_writel(amazon_readl(amazon_ier) | (1 << irq_nr ), amazon_ier);
amazon_ier += 0x10;
irq_nr -= 32;
}
}
}
static unsigned int amazon_startup_irq(unsigned int irq)
{
amazon_enable_irq(irq);
return 0;
}
static void amazon_end_irq(unsigned int irq)
{
if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS))) {
amazon_enable_irq(irq);
}
}
static struct irq_chip amazon_irq_type = {
.name = "AMAZON",
.startup = amazon_startup_irq,
.enable = amazon_enable_irq,
.disable = amazon_disable_irq,
.unmask = amazon_enable_irq,
.ack = amazon_mask_and_ack_irq,
.mask = amazon_disable_irq,
.mask_ack = amazon_mask_and_ack_irq,
.end = amazon_end_irq
};
/* Cascaded interrupts from IM0-4 */
static inline void amazon_hw_irqdispatch(u8 line)
{
u32 irq;
irq = (amazon_readl(AMAZON_ICU_IM_VEC) >> (line * 5)) & AMAZON_ICU_IM0_VEC_MASK;
if (line == 0 && irq <= 11 && irq >= 0) {
//DMA fixed to IM0_IRL0
irq = 0;
}
do_IRQ(irq + INT_NUM_IRQ0 + (line * 32));
}
asmlinkage void plat_irq_dispatch(void)
{
unsigned int pending = read_c0_status() & read_c0_cause() & ST0_IM;
if (pending & CAUSEF_IP7){
do_IRQ(MIPS_CPU_TIMER_IRQ);
goto out;
} else {
unsigned int i;
for (i = 0; i <= 4; i++)
{
if(pending & (CAUSEF_IP2 << i)){
amazon_hw_irqdispatch(i);
goto out;
}
}
}
printk("Spurious IRQ: CAUSE=0x%08x\n", read_c0_status());
out:
return;
}
static struct irqaction cascade = {
.handler = no_action,
.flags = IRQF_DISABLED,
.name = "cascade",
};
void __init arch_init_irq(void)
{
int i;
/* mask all interrupt sources */
for(i = 0; i <= 4; i++){
amazon_writel(0, AMAZON_ICU_IM0_IER + (i * 0x10));
}
mips_cpu_irq_init();
/* set up irq cascade */
for (i = 2; i <= 6; i++) {
setup_irq(i, &cascade);
}
for (i = INT_NUM_IRQ0; i <= INT_NUM_IM4_IRL31; i++)
set_irq_chip_and_handler(i, &amazon_irq_type,
handle_level_irq);
set_c0_status(IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5);
}
void __cpuinit arch_fixup_c0_irqs(void)
{
/* FIXME: check for CPUID and only do fix for specific chips/versions */
cp0_compare_irq = CP0_LEGACY_COMPARE_IRQ;
cp0_perfcount_irq = CP0_LEGACY_PERFCNT_IRQ;
}

View File

@ -1,279 +0,0 @@
/*
* Carsten Langgaard, carstenl@mips.com
* Copyright (C) 1999, 2000 MIPS Technologies, Inc. All rights reserved.
* Copyright (C) 2007 Felix Fietkau <nbd@openwrt.org>
*
* This program is free software; you can distribute it and/or modify it
* under the terms of the GNU General Public License (Version 2) as
* published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
*/
/* FIXME: convert nasty volatile register derefs to readl/writel calls */
#include <linux/types.h>
#include <linux/pci.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <asm/io.h>
#include <asm/paccess.h>
#include <asm/amazon/irq.h>
#include <asm/amazon/amazon.h>
#define AMAZON_PCI_REG32( addr ) (*(volatile u32 *)(addr))
#ifndef AMAZON_PCI_MEM_BASE
#define AMAZON_PCI_MEM_BASE 0xb2000000
#endif
#define AMAZON_PCI_MEM_SIZE 0x00400000
#define AMAZON_PCI_IO_BASE 0xb2400000
#define AMAZON_PCI_IO_SIZE 0x00200000
#define AMAZON_PCI_CFG_BUSNUM_SHF 16
#define AMAZON_PCI_CFG_DEVNUM_SHF 11
#define AMAZON_PCI_CFG_FUNNUM_SHF 8
#define PCI_ACCESS_READ 0
#define PCI_ACCESS_WRITE 1
static struct resource pci_io_resource = {
.name = "io pci IO space",
#if 1
.start = AMAZON_PCI_IO_BASE,
.end = AMAZON_PCI_IO_BASE + AMAZON_PCI_IO_SIZE - 1,
#else
.start = 0,
.end = 0x00002000 - 1,
#endif
.flags = IORESOURCE_IO
};
static struct resource pci_mem_resource = {
.name = "ext pci memory space",
.start = AMAZON_PCI_MEM_BASE,
.end = AMAZON_PCI_MEM_BASE + AMAZON_PCI_MEM_SIZE - 1,
.flags = IORESOURCE_MEM
};
static int amazon_pci_config_access(unsigned char access_type,
struct pci_bus *bus, unsigned int devfn, unsigned int where, u32 *data)
{
unsigned long flags;
u32 pci_addr;
u32 val;
int ret;
/* Amazon support slot from 0 to 15 */
/* devfn 0 & 0x20 is itself */
if ((bus->number != 0) || (devfn > 0x7f) || (devfn == 0) || (devfn == 0x20))
return 1;
local_irq_save(flags);
pci_addr = AMAZON_PCI_CFG_BASE |
bus->number << AMAZON_PCI_CFG_BUSNUM_SHF |
devfn << AMAZON_PCI_CFG_FUNNUM_SHF |
(where & ~0x3);
if (access_type == PCI_ACCESS_WRITE)
{
#ifdef CONFIG_SWAP_IO_SPACE
val = swab32(*data);
#endif
ret = put_dbe(val, (u32 *)pci_addr);
} else {
ret = get_dbe(val, (u32 *)pci_addr);
#ifdef CONFIG_SWAP_IO_SPACE
*data = swab32(val);
#else
*data = val;
#endif
}
amazon_writel(amazon_readl(PCI_MODE) & (~(1<<PCI_MODE_cfgok_bit)), PCI_MODE);
amazon_writel(amazon_readl(STATUS_COMMAND_ADDR), STATUS_COMMAND_ADDR);
amazon_writel(amazon_readl(PCI_MODE) | (~(1<<PCI_MODE_cfgok_bit)), PCI_MODE);
mb();
local_irq_restore(flags);
if (((*data) == 0xffffffff) && (access_type == PCI_ACCESS_READ))
return 1;
return ret;
}
static int amazon_pci_read(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *val)
{
u32 data = 0;
if (amazon_pci_config_access(PCI_ACCESS_READ, bus, devfn, where, &data))
return PCIBIOS_DEVICE_NOT_FOUND;
if (size == 1)
*val = (data >> ((where & 3) << 3)) & 0xff;
else if (size == 2)
*val = (data >> ((where & 3) << 3)) & 0xffff;
else
*val = data;
return PCIBIOS_SUCCESSFUL;
}
static int amazon_pci_write(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 val)
{
u32 data = 0;
if (size == 4)
{
data = val;
} else {
if (amazon_pci_config_access(PCI_ACCESS_READ, bus, devfn, where, &data))
return PCIBIOS_DEVICE_NOT_FOUND;
if (size == 1)
data = (data & ~(0xff << ((where & 3) << 3))) |
(val << ((where & 3) << 3));
else if (size == 2)
data = (data & ~(0xffff << ((where & 3) << 3))) |
(val << ((where & 3) << 3));
}
if (amazon_pci_config_access(PCI_ACCESS_WRITE, bus, devfn, where, &data))
return PCIBIOS_DEVICE_NOT_FOUND;
return PCIBIOS_SUCCESSFUL;
}
static struct pci_ops amazon_pci_ops = {
amazon_pci_read,
amazon_pci_write
};
static struct pci_controller amazon_pci_controller = {
.pci_ops = &amazon_pci_ops,
.mem_resource = &pci_mem_resource,
.mem_offset = 0x00000000UL,
.io_resource = &pci_io_resource,
.io_offset = 0x00000000UL,
};
int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{
switch (slot) {
case 13:
/* IDSEL = AD29 --> USB Host Controller */
return INT_NUM_IM2_IRL15;
case 14:
/* IDSEL = AD30 --> mini PCI connector */
return INT_NUM_IM2_IRL14;
default:
printk("Warning: no IRQ found for PCI device in slot %d, pin %d\n", slot, pin);
return 0;
}
}
int pcibios_plat_dev_init(struct pci_dev *dev)
{
switch(dev->irq) {
case INT_NUM_IM2_IRL15:
/*
* IDSEL = AD29 --> USB Host Controller
* PCI_INTA/B/C--GPIO Port0.2--EXIN3
* IN/ALT0:1 ALT1:0
* PULL UP
*/
(*AMAZON_GPIO_P0_DIR) = (*AMAZON_GPIO_P0_DIR) & 0xfffffffb;
(*AMAZON_GPIO_P0_ALTSEL0) = (*AMAZON_GPIO_P0_ALTSEL0)| 4;
(*AMAZON_GPIO_P0_ALTSEL1) = (*AMAZON_GPIO_P0_ALTSEL1)& 0xfffffffb;
(*AMAZON_GPIO_P0_PUDSEL) = (*AMAZON_GPIO_P0_PUDSEL) | 4;
(*AMAZON_GPIO_P0_PUDEN) = (*AMAZON_GPIO_P0_PUDEN) | 4;
//External Interrupt Node
(*AMAZON_ICU_EXTINTCR) = (*AMAZON_ICU_EXTINTCR)|0x6000; /* Low Level triggered */
(*AMAZON_ICU_IRNEN) = (*AMAZON_ICU_IRNEN)|0x8;
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq);
break;
case INT_NUM_IM2_IRL14:
/*
* IDSEL = AD30 --> mini PCI connector
* PCI_INTA--GPIO Port0.1--EXIN2
* IN/ALT0:1 ALT1:0
* PULL UP
*/
(*AMAZON_GPIO_P0_DIR) = (*AMAZON_GPIO_P0_DIR) & 0xfffffffd;
(*AMAZON_GPIO_P0_ALTSEL0) = (*AMAZON_GPIO_P0_ALTSEL0)| 2;
(*AMAZON_GPIO_P0_ALTSEL1) = (*AMAZON_GPIO_P0_ALTSEL1)& 0xfffffffd;
(*AMAZON_GPIO_P0_PUDSEL) = (*AMAZON_GPIO_P0_PUDSEL) | 2;
(*AMAZON_GPIO_P0_PUDEN) = (*AMAZON_GPIO_P0_PUDEN) | 2;
//External Interrupt Node
(*AMAZON_ICU_EXTINTCR) = (*AMAZON_ICU_EXTINTCR)|0x600;
(*AMAZON_ICU_IRNEN) = (*AMAZON_ICU_IRNEN)|0x4;
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq);
break;
default:
return 1;
}
return 0;
}
int __init amazon_pci_init(void)
{
u32 temp_buffer;
#ifdef CONFIG_SWAP_IO_SPACE
AMAZON_PCI_REG32(IRM) = AMAZON_PCI_REG32(IRM) | (1<<27) | (1<<28);
wmb();
#endif
AMAZON_PCI_REG32(CLOCK_CONTROL) = AMAZON_PCI_REG32(CLOCK_CONTROL) | (1<<ARB_CTRL_bit);
amazon_writel(amazon_readl(PCI_MODE) & (~(1<<PCI_MODE_cfgok_bit)), PCI_MODE);
AMAZON_PCI_REG32(STATUS_COMMAND_ADDR) = AMAZON_PCI_REG32(STATUS_COMMAND_ADDR) | (1<<BUS_MASTER_ENABLE_BIT) |(1<<MEM_SPACE_ENABLE_BIT);
temp_buffer = AMAZON_PCI_REG32(PCI_ARB_CTRL_STATUS_ADDR);
temp_buffer = temp_buffer | (1<< INTERNAL_ARB_ENABLE_BIT);
temp_buffer = temp_buffer & ~(3<< PCI_MASTER0_REQ_MASK_2BITS);
temp_buffer = temp_buffer & ~(3<< PCI_MASTER0_GNT_MASK_2BITS);
/* flash */
temp_buffer = temp_buffer & ~(3<< PCI_MASTER1_REQ_MASK_2BITS);
temp_buffer = temp_buffer & ~(3<< PCI_MASTER1_GNT_MASK_2BITS);
/* external master */
temp_buffer = temp_buffer & ~(3<< PCI_MASTER2_REQ_MASK_2BITS);
temp_buffer = temp_buffer & ~(3<< PCI_MASTER2_GNT_MASK_2BITS);
AMAZON_PCI_REG32(PCI_ARB_CTRL_STATUS_ADDR) = temp_buffer;
wmb();
AMAZON_PCI_REG32(FPI_ADDRESS_MAP_0) = 0xb2000000;
AMAZON_PCI_REG32(FPI_ADDRESS_MAP_1) = 0xb2100000;
AMAZON_PCI_REG32(FPI_ADDRESS_MAP_2) = 0xb2200000;
AMAZON_PCI_REG32(FPI_ADDRESS_MAP_3) = 0xb2300000;
AMAZON_PCI_REG32(FPI_ADDRESS_MAP_4) = 0xb2400000;
AMAZON_PCI_REG32(FPI_ADDRESS_MAP_5) = 0xb2500000;
AMAZON_PCI_REG32(FPI_ADDRESS_MAP_6) = 0xb2600000;
AMAZON_PCI_REG32(FPI_ADDRESS_MAP_7) = 0xb2700000;
AMAZON_PCI_REG32(BAR11_MASK) = 0x0c000008;
AMAZON_PCI_REG32(PCI_ADDRESS_MAP_11) = 0x0;
AMAZON_PCI_REG32(BAR1_ADDR) = 0x0;
amazon_writel(amazon_readl(PCI_MODE) | (~(1<<PCI_MODE_cfgok_bit)), PCI_MODE);
//use 8 dw burse length
AMAZON_PCI_REG32(FPI_BURST_LENGTH) = 0x303;
amazon_pci_controller.io_map_base = (unsigned long)ioremap(AMAZON_PCI_IO_BASE, AMAZON_PCI_IO_SIZE - 1);
register_pci_controller(&amazon_pci_controller);
return 0;
}
arch_initcall(amazon_pci_init);

View File

@ -1,72 +0,0 @@
/*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Copyright 2007 John Crispin <blogic@openwrt.org>
*/
#include <linux/init.h>
#include <linux/string.h>
#include <linux/ctype.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/bootmem.h>
#include <linux/ioport.h>
#include <asm/bootinfo.h>
#include <asm/amazon/amazon.h>
#include <asm/amazon/irq.h>
#include <asm/amazon/model.h>
#include <asm/cpu.h>
void prom_putchar(char c)
{
/* Wait for FIFO to empty */
while ((amazon_readl(AMAZON_ASC_FSTAT) >> 8) != 0x00) ;
/* Crude cr/nl handling is better than none */
if(c == '\n')
amazon_writel('\r', AMAZON_ASC_TBUF);
amazon_writel(c, AMAZON_ASC_TBUF);
}
void __init prom_init(void)
{
char **envp = (char **) fw_arg2;
int memsize = 16; /* assume 16M as default */
envp = (char **)KSEG1ADDR((unsigned long)envp);
while (*envp) {
char *e = (char *)KSEG1ADDR(*envp);
if (!strncmp(e, "memsize=", 8)) {
e += 8;
memsize = simple_strtoul(e, NULL, 10);
}
envp++;
}
memsize *= 1024 * 1024;
strcpy(&(arcs_cmdline[0]), "console=ttyS0,115200 rootfstype=squashfs,jffs2");
add_memory_region(0x00000000, memsize, BOOT_MEM_RAM);
}
void prom_free_prom_memory(void)
{
}
const char *get_system_type(void)
{
return BOARD_SYSTEM_TYPE;
}

View File

@ -1,193 +0,0 @@
/*
* Copyright (C) 2004 Peng Liu <peng.liu@infineon.com>
* Copyright (C) 2007 John Crispin <blogic@openwrt.org>
* Copyright (C) 2007 Felix Fietkau <nbd@openwrt.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
*/
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <asm/reboot.h>
#include <asm/system.h>
#include <asm/time.h>
#include <asm/cpu.h>
#include <asm/bootinfo.h>
#include <asm/irq.h>
#include <asm/mipsregs.h>
#include <asm/amazon/amazon.h>
#include <asm/amazon/irq.h>
#include <asm/amazon/model.h>
static unsigned int r4k_offset;
static unsigned int r4k_cur;
/* required in arch/mips/kernel/kspd.c */
unsigned long cpu_khz;
static void amazon_reboot_setup(void);
/* the CPU clock rate - lifted from u-boot */
unsigned int amazon_get_cpu_hz(void)
{
/*-----------------------------------*/
/**CGU CPU Clock Reduction Register***/
/*-----------------------------------*/
switch(amazon_readl(AMAZON_CGU_CPUCRD) & 0x3){
case 0:
/*divider ration 1/1, 235 MHz clock */
return 235000000;
case 1:
/*divider ration 2/3, 235 MHz clock, clock not accurate, here */
return 150000000;
case 2:
/*divider ration 1/2, 235 MHz clock */
return 117500000;
default:
/*divider ration 1/4, 235 MHz clock */
return 58750000;
}
}
/* the FPI clock rate - lifted from u-boot */
unsigned int amazon_get_fpi_hz(void)
{
unsigned int clkCPU;
clkCPU = amazon_get_cpu_hz();
/*-------------------------------------*/
/***CGU Clock Divider Select Register***/
/*-------------------------------------*/
switch (amazon_readl(AMAZON_CGU_DIV) & 0x3)
{
case 1:
return clkCPU >> 1;
case 2:
return clkCPU >> 2;
default:
return clkCPU;
/* '11' is reserved */
}
}
EXPORT_SYMBOL(amazon_get_fpi_hz);
/* this doesn't really belong here, but it's a convenient location */
unsigned int amazon_get_cpu_ver(void)
{
static unsigned int cpu_ver = 0;
if (cpu_ver == 0)
cpu_ver = amazon_readl(AMAZON_MCD_CHIPID) & 0xFFFFF000;
return cpu_ver;
}
static inline u32 amazon_get_counter_resolution(void)
{
u32 res;
__asm__ __volatile__(
".set push\n"
".set mips32r2\n"
".set noreorder\n"
"rdhwr %0, $3\n"
"ehb\n"
".set pop\n"
: "=&r" (res)
: /* no input */
: "memory");
instruction_hazard();
return res;
}
void __init plat_time_init(void)
{
mips_hpt_frequency = amazon_get_cpu_hz() / amazon_get_counter_resolution();
r4k_offset = mips_hpt_frequency / HZ;
printk("mips_hpt_frequency:%d\n", mips_hpt_frequency);
printk("r4k_offset: %08x(%d)\n", r4k_offset, r4k_offset);
r4k_cur = (read_c0_count() + r4k_offset);
write_c0_compare(r4k_cur);
/* enable the timer in the PMU */
amazon_writel(amazon_readl(AMAZON_PMU_PWDCR)| AMAZON_PMU_PWDCR_GPT|AMAZON_PMU_PWDCR_FPI, AMAZON_PMU_PWDCR);
/* setup the GPTU for timer tick f_fpi == f_gptu*/
amazon_writel(0x0100, AMAZON_GPTU_CLC);
amazon_writel(0xffff, AMAZON_GPTU_CAPREL);
amazon_writel(0x80C0, AMAZON_GPTU_T6CON);
}
void __init plat_mem_setup(void)
{
u32 chipid = 0;
u32 part_no = 0;
chipid = amazon_readl(AMAZON_MCD_CHIPID);
part_no = AMAZON_MCD_CHIPID_PART_NUMBER_GET(chipid);
if(part_no == AMAZON_CHIPID_YANGTSE){
printk("Yangtse Version\n");
} else if (part_no == AMAZON_CHIPID_STANDARD) {
printk(SYSTEM_MODEL_NAME "\n");
} else {
printk("unknown version %8x\n",part_no);
}
amazon_reboot_setup();
//stop reset TPE and DFE
amazon_writel(0, AMAZON_RST_REQ);
//clock
amazon_writel(0x3fff, AMAZON_PMU_PWDCR);
//reenable trace capability
part_no = readl(AMAZON_BCU_ECON);
ioport_resource.start = IOPORT_RESOURCE_START;
ioport_resource.end = IOPORT_RESOURCE_END;
iomem_resource.start = IOMEM_RESOURCE_START;
iomem_resource.end = IOMEM_RESOURCE_END;
}
static void amazon_machine_restart(char *command)
{
local_irq_disable();
amazon_writel(AMAZON_RST_ALL, AMAZON_RST_REQ);
for (;;) ;
}
static void amazon_machine_halt(void)
{
printk(KERN_NOTICE "System halted.\n");
local_irq_disable();
for (;;) ;
}
static void amazon_machine_power_off(void)
{
printk(KERN_NOTICE "Please turn off the power now.\n");
local_irq_disable();
for (;;) ;
}
static void amazon_reboot_setup(void)
{
_machine_restart = amazon_machine_restart;
_machine_halt = amazon_machine_halt;
pm_power_off = amazon_machine_power_off;
}

View File

@ -1,7 +0,0 @@
#ifndef __AMAZON_IRQ_H
#define __AMAZON_IRQ_H
#define NR_IRQS 256
#include_next <irq.h>
#endif

View File

@ -1,52 +0,0 @@
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 2003, 2004 Ralf Baechle
*/
#ifndef __ASM_MACH_AMAZON_MANGLE_PORT_H
#define __ASM_MACH_AMAZON_MANGLE_PORT_H
#define __swizzle_addr_b(port) (port)
#define __swizzle_addr_w(port) ((port) ^ 2)
#define __swizzle_addr_l(port) (port)
#define __swizzle_addr_q(port) (port)
/*
* Sane hardware offers swapping of PCI/ISA I/O space accesses in hardware;
* less sane hardware forces software to fiddle with this...
*
* Regardless, if the host bus endianness mismatches that of PCI/ISA, then
* you can't have the numerical value of data and byte addresses within
* multibyte quantities both preserved at the same time. Hence two
* variations of functions: non-prefixed ones that preserve the value
* and prefixed ones that preserve byte addresses. The latters are
* typically used for moving raw data between a peripheral and memory (cf.
* string I/O functions), hence the "__mem_" prefix.
*/
#if defined(CONFIG_SWAP_IO_SPACE)
# define ioswabb(a, x) (x)
# define __mem_ioswabb(a, x) (x)
# define ioswabw(a, x) le16_to_cpu(x)
# define __mem_ioswabw(a, x) (x)
# define ioswabl(a, x) le32_to_cpu(x)
# define __mem_ioswabl(a, x) (x)
# define ioswabq(a, x) le64_to_cpu(x)
# define __mem_ioswabq(a, x) (x)
#else
# define ioswabb(a, x) (x)
# define __mem_ioswabb(a, x) (x)
# define ioswabw(a, x) (x)
# define __mem_ioswabw(a, x) cpu_to_le16(x)
# define ioswabl(a, x) (x)
# define __mem_ioswabl(a, x) cpu_to_le32(x)
# define ioswabq(a, x) (x)
# define __mem_ioswabq(a, x) cpu_to_le32(x)
#endif
#endif /* __ASM_MACH_AMAZON_MANGLE_PORT_H */

View File

@ -1,24 +0,0 @@
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
*/
#ifndef __ASM_MIPS_MACH_AMAZON_WAR_H
#define __ASM_MIPS_MACH_AMAZON_WAR_H
#define R4600_V1_INDEX_ICACHEOP_WAR 0
#define R4600_V1_HIT_CACHEOP_WAR 0
#define R4600_V2_HIT_CACHEOP_WAR 0
#define R5432_CP0_INTERRUPT_WAR 0
#define BCM1250_M3_WAR 0
#define SIBYTE_1956_WAR 0
#define MIPS4K_ICACHE_REFILL_WAR 0
#define MIPS_CACHE_SYNC_WAR 0
#define TX49XX_ICACHE_INDEX_INV_WAR 0
#define RM9000_CDEX_SMP_WAR 0
#define ICACHE_REFILLS_WORKAROUND_WAR 0
#define R10000_LLSC_WAR 0
#define MIPS34K_MISSED_ITLB_WAR 0
#endif

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More