mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-23 22:24:39 +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
|
||||
|
||||
|
||||
|
@ -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
|
||||
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
|
||||
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
|
||||
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
|
||||
|
@ -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
|
||||
|
||||
config ATH_USER_REGD
|
||||
bool "Force Atheros drivers to respect the user's regdomain settings"
|
||||
menu "Configuration"
|
||||
depends on PACKAGE_kmod-ath
|
||||
|
||||
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.
|
||||
|
||||
Select this option if you want the driver to respect the user's decision about
|
||||
regulatory settings.
|
||||
|
||||
config PACKAGE_ATH_DEBUG
|
||||
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.
|
||||
|
||||
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"
|
||||
menu "Configuration"
|
||||
depends PACKAGE_kmod-mmc-over-gpio
|
||||
|
||||
config KMOD_MMC_OVER_GPIO_DI_PIN
|
||||
int "GPIO DI (Data-In) pin"
|
||||
default 1
|
||||
|
||||
config KMOD_MMC_OVER_GPIO_DO_PIN
|
||||
int "GPIO DO PIN"
|
||||
depends PACKAGE_kmod-mmc-over-gpio
|
||||
config KMOD_MMC_OVER_GPIO_DO_PIN
|
||||
int "GPIO DO (Data-Out) pin"
|
||||
default 3
|
||||
|
||||
config KMOD_MMC_OVER_GPIO_CLK_PIN
|
||||
int "GPIO CLK PIN"
|
||||
depends PACKAGE_kmod-mmc-over-gpio
|
||||
config KMOD_MMC_OVER_GPIO_CLK_PIN
|
||||
int "GPIO CLK (Clock) pin"
|
||||
default 4
|
||||
|
||||
config KMOD_MMC_OVER_GPIO_CS_PIN
|
||||
int "GPIO CS PIN"
|
||||
depends PACKAGE_kmod-mmc-over-gpio
|
||||
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") )
|
||||
{
|
||||
if( (i+1) < argc )
|
||||
{
|
||||
switch(argv[i++][0])
|
||||
{
|
||||
case 'g':
|
||||
stat = do_get(nvram, argv[i]);
|
||||
done++;
|
||||
}
|
||||
else if( !strcmp(argv[i], "unset") && ++i < argc )
|
||||
{
|
||||
break;
|
||||
|
||||
case 'u':
|
||||
stat = do_unset(nvram, argv[i]);
|
||||
break;
|
||||
|
||||
case 's':
|
||||
stat = do_set(nvram, argv[i]);
|
||||
break;
|
||||
}
|
||||
done++;
|
||||
}
|
||||
else if( !strcmp(argv[i], "set") && ++i < argc )
|
||||
else
|
||||
{
|
||||
stat = do_set(nvram, argv[i]);
|
||||
done++;
|
||||
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" || {
|
||||
peerdns=""
|
||||
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=""
|
||||
for dns in $dns; do
|
||||
grep -q "$dns" /tmp/resolv.conf.auto 2>/dev/null || \
|
||||
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 )
|
||||
{
|
||||
if( ! strcasecmp(p, m->extn) )
|
||||
e = &path[strlen(path)-1];
|
||||
|
||||
while( e >= path )
|
||||
{
|
||||
if( (*e == '.') && !strcasecmp(&e[1], m->extn) )
|
||||
return m->mime;
|
||||
|
||||
m++;
|
||||
e--;
|
||||
}
|
||||
|
||||
m++;
|
||||
}
|
||||
|
||||
return "application/octet-stream";
|
||||
|
@ -54,8 +54,11 @@ static struct mimetype uh_mime_types[] = {
|
||||
{ "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" },
|
||||
|
@ -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));
|
||||
}
|
||||
|
||||
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
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user