mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-23 22:59:24 +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:
commit
78fcab66df
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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, \
|
||||
|
@ -6,7 +6,7 @@
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
RELEASE:=Kamikaze
|
||||
RELEASE:=Backfire
|
||||
SHELL:=/usr/bin/env bash
|
||||
PREP_MK= OPENWRT_BUILD= QUIET=0
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
---------------------------------------------------
|
||||
|
4
package/base-files/files/etc/openwrt_release
Normal file
4
package/base-files/files/etc/openwrt_release
Normal file
@ -0,0 +1,4 @@
|
||||
DISTRIB_ID="OpenWrt"
|
||||
DISTRIB_RELEASE="10.03"
|
||||
DISTRIB_CODENAME="backfire"
|
||||
DISTRIB_DESCRIPTION="OpenWrt Backfire 10.03"
|
1
package/base-files/files/etc/openwrt_version
Normal file
1
package/base-files/files/etc/openwrt_version
Normal file
@ -0,0 +1 @@
|
||||
10.03
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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] = {
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -8,14 +8,11 @@ basic:
|
||||
@@ -8,14 +8,11 @@ basic:
|
||||
|
||||
openssl-links:
|
||||
cd lib; ln -s ../src/.libs/libcyassl.a libcrypto.a; \
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
70
package/hostapd/patches/370-basic_rates.patch
Normal file
70
package/hostapd/patches/370-basic_rates.patch
Normal 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 */
|
||||
|
@ -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
|
||||
|
@ -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 += \
|
||||
|
@ -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
|
||||
|
@ -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 += \
|
||||
|
@ -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
|
||||
|
@ -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 += \
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 \
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
@ -764,7 +800,7 @@ $(eval $(call KernelPackage,usb-net-cdc-ether))
|
||||
define KernelPackage/usb-net-rndis
|
||||
$(call KernelPackage/usb-net/Depends,@LINUX_2_6 +kmod-usb-net-cdc-ether)
|
||||
TITLE:=Support for RNDIS connections
|
||||
KCONFIG:=CONFIG_USB_NET_RNDIS_HOST
|
||||
KCONFIG:=CONFIG_USB_NET_RNDIS_HOST
|
||||
FILES:= $(LINUX_DIR)/drivers/$(USBNET_DIR)/rndis_host.$(LINUX_KMOD_SUFFIX)
|
||||
AUTOLOAD:=$(call AutoLoad,62,rndis_host)
|
||||
endef
|
||||
|
@ -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
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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 += \
|
||||
|
@ -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.
|
@ -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
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -8,7 +8,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=nvram
|
||||
PKG_RELEASE:=5
|
||||
PKG_RELEASE:=6
|
||||
|
||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
||||
|
||||
|
@ -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") )
|
||||
{
|
||||
|
@ -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
|
||||
|
@ -46,6 +46,7 @@ $(call Package/openssl/Default)
|
||||
CATEGORY:=Libraries
|
||||
DEPENDS:=+zlib
|
||||
TITLE+= (libraries)
|
||||
MENU:=1
|
||||
endef
|
||||
|
||||
define Package/libopenssl/description
|
||||
|
@ -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
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
||||
|
@ -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");
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
+
|
||||
+U_BOOT_CMD(
|
||||
+ httpd, 1, 1, do_httpd,
|
||||
+ "httpd\t- start webserver\n", "\n"
|
||||
+ "httpd\t- start webserver", ""
|
||||
+);
|
||||
+#endif
|
||||
+
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -8,7 +8,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=uhttpd
|
||||
PKG_RELEASE:=7
|
||||
PKG_RELEASE:=9
|
||||
|
||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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) )
|
||||
{
|
||||
|
@ -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";
|
||||
|
@ -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 }
|
||||
};
|
||||
|
@ -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(
|
||||
|
@ -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 "
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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 = $_;
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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))
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
||||
|
@ -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
@ -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
|
||||
|
@ -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;
|
||||
}
|
@ -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);
|
@ -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;
|
||||
}
|
@ -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;
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
#ifndef __AMAZON_IRQ_H
|
||||
#define __AMAZON_IRQ_H
|
||||
|
||||
#define NR_IRQS 256
|
||||
#include_next <irq.h>
|
||||
|
||||
#endif
|
@ -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 */
|
@ -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
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user