summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2011-01-28 20:56:44 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2011-01-28 20:56:44 +0100
commit2c8917958da115704507aab835c41c1a4a63664d (patch)
treee79c26b6347e2ae8444bcdbce1236cc48f63107e /target
parentcf5ef7c683fa845a6e6412b319e0a1040aa0f445 (diff)
parentcd83ced050a5d68c922a0de054ac022cd4ff26ac (diff)
resolve conflict
Diffstat (limited to 'target')
-rw-r--r--target/linux/config/Config.in.misc7
-rw-r--r--target/linux/config/Config.in.netdevice1
-rw-r--r--target/linux/config/Config.in.usb40
-rw-r--r--target/linux/patches/2.6.36/zboot-brcm-reloc.patch297
-rw-r--r--target/packages/pkg-available/laptop8
5 files changed, 320 insertions, 33 deletions
diff --git a/target/linux/config/Config.in.misc b/target/linux/config/Config.in.misc
index f936f39be..8acd0dabe 100644
--- a/target/linux/config/Config.in.misc
+++ b/target/linux/config/Config.in.misc
@@ -1,9 +1,3 @@
-#config ADK_LINUX_INITRAMFS_BUILTIN
-# select ADK_KERNEL_BLK_DEV_INITRD
-# select ADK_KERNEL_INITRAMFS_COMPRESSION_NONE
-# boolean
-# default n
-
config ADK_KERNEL_RFKILL
boolean
@@ -46,6 +40,7 @@ config ADK_KERNEL_RTC_DRV_CMOS
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
default y if ADK_TARGET_SYSTEM_IBM_X40
default n
+ depends on (ADK_TARGET_SYSTEM_PCENGINES_ALIX1C || ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13 || ADK_TARGET_SYSTEM_IBM_X40)
help
PC CMOS RTC support.
diff --git a/target/linux/config/Config.in.netdevice b/target/linux/config/Config.in.netdevice
index b5390e92d..28a37dbef 100644
--- a/target/linux/config/Config.in.netdevice
+++ b/target/linux/config/Config.in.netdevice
@@ -340,6 +340,7 @@ config ADK_KPACKAGE_KMOD_P54_USB
select ADK_PACKAGE_P54_FIRMWARE
select ADK_KERNEL_EXPERIMENTAL
select ADK_KPACKAGE_KMOD_MAC80211
+ select ADK_KPACKAGE_KMOD_CRC_CCITT
depends on ADK_PACKAGE_KMOD_USB_CONTROLLER
default n
help
diff --git a/target/linux/config/Config.in.usb b/target/linux/config/Config.in.usb
index 07a97ae24..52eb92864 100644
--- a/target/linux/config/Config.in.usb
+++ b/target/linux/config/Config.in.usb
@@ -1,35 +1,37 @@
menu "USB support"
depends on ADK_TARGET_WITH_USB
+config ADK_KERNEL_USB
+ boolean
+
config ADK_KERNEL_USB_LIBUSUAL
tristate
config ADK_KERNEL_USB_SERIAL
boolean
-config ADK_KERNEL_USB
- boolean
-
config ADK_KERNEL_USB_STORAGE
boolean
config ADK_KERNEL_USB_EHCI_HCD
boolean
+ select ADK_PACKAGE_KMOD_USB_CONTROLLER
config ADK_KERNEL_USB_UHCI_HCD
boolean
+ select ADK_PACKAGE_KMOD_USB_CONTROLLER
config ADK_KPACKAGE_KMOD_USB
prompt "kmod-usb......................... USB support"
tristate
+ select ADK_KERNEL_NLS
+ depends on !ADK_KERNEL_USB
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
default y if ADK_TARGET_SYSTEM_IBM_X40
default y if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
default n
- depends on !ADK_KERNEL_USB
- select ADK_KERNEL_NLS
help
Universal Serial Bus (USB) is a specification for a serial bus
subsystem which offers higher speeds and more features than the
@@ -62,10 +64,12 @@ config ADK_KPACKAGE_KMOD_USB
config ADK_KPACKAGE_KMOD_USB_UHCI_HCD
prompt "kmod-usb-uhci................... Support for UHCI controllers"
tristate
+ select ADK_PACKAGE_KMOD_USB_CONTROLLER
depends on ADK_KPACKAGE_KMOD_USB
depends on !ADK_KERNEL_USB_UHCI_HCD
depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
- select ADK_PACKAGE_KMOD_USB_CONTROLLER
+ default y if ADK_TARGET_SYSTEM_IBM_X40
+ default n
help
The Universal Host Controller Interface is a standard by Intel for
accessing the USB hardware in the PC (which is also called the USB
@@ -79,15 +83,13 @@ config ADK_KPACKAGE_KMOD_USB_UHCI_HCD
config ADK_KPACKAGE_KMOD_USB_OHCI_HCD
prompt "kmod-usb-ohci................... Support for OHCI controllers"
tristate
+ select ADK_PACKAGE_KMOD_USB_CONTROLLER
+ depends on ADK_KPACKAGE_KMOD_USB
+ depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
- default y if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
- default y if ADK_TARGET_SYSTEM_IBM_X40
default n
- depends on ADK_KPACKAGE_KMOD_USB
- depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
- select ADK_PACKAGE_KMOD_USB_CONTROLLER
help
The Open Host Controller Interface (OHCI) is a standard for accessing
USB 1.1 host controller hardware. It does more in hardware than Intel's
@@ -101,10 +103,10 @@ config ADK_KPACKAGE_KMOD_USB_OHCI_HCD
config ADK_KPACKAGE_KMOD_USB_ISP116X_HCD
prompt "kmod-usb-isp116x................ ISP116X HCD support"
tristate
- default n
+ select ADK_PACKAGE_KMOD_USB_CONTROLLER
depends on ADK_KPACKAGE_KMOD_USB
depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
- select ADK_PACKAGE_KMOD_USB_CONTROLLER
+ default n
help
The ISP1160 and ISP1161 chips are USB host controllers. Enable this
option if your board has this chip. If unsure, say N.
@@ -114,10 +116,10 @@ config ADK_KPACKAGE_KMOD_USB_ISP116X_HCD
config ADK_KPACKAGE_KMOD_USB_SL811_HCD
prompt "kmod-usb-sl811.................. SL811HS HCD support"
tristate
- default n
+ select ADK_PACKAGE_KMOD_USB_CONTROLLER
depends on ADK_KPACKAGE_KMOD_USB
depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
- select ADK_PACKAGE_KMOD_USB_CONTROLLER
+ default n
help
The SL811HS is a single-port USB controller that supports either
host side or peripheral side roles. Enable this option if your
@@ -128,15 +130,15 @@ config ADK_KPACKAGE_KMOD_USB_SL811_HCD
config ADK_KPACKAGE_KMOD_USB_EHCI_HCD
prompt "kmod-usb-ehci................... Support for USB 2.0 controllers"
tristate
+ select ADK_PACKAGE_KMOD_USB_CONTROLLER
depends on !ADK_KERNEL_USB_EHCI_HCD
+ depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
+ depends on ADK_KPACKAGE_KMOD_USB
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2
default y if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13
default y if ADK_TARGET_SYSTEM_IBM_X40
default n
- depends on !ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
- depends on ADK_KPACKAGE_KMOD_USB
- select ADK_PACKAGE_KMOD_USB_CONTROLLER
help
The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
"high speed" (480 Mbit/sec, 60 Mbyte/sec) host controller hardware.
@@ -158,7 +160,7 @@ config ADK_KPACKAGE_KMOD_USB_EHCI_HCD
config ADK_PACKAGE_KMOD_USB_CONTROLLER
tristate
- depends on ADK_KPACKAGE_KMOD_USB_UHCI_HCD || ADK_KPACKAGE_KMOD_USB_OHCI_HCD || ADK_KPACKAGE_KMOD_EHCI_HCD
+ default y if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
default n
config ADK_KPACKAGE_KMOD_USB_ACM
diff --git a/target/linux/patches/2.6.36/zboot-brcm-reloc.patch b/target/linux/patches/2.6.36/zboot-brcm-reloc.patch
new file mode 100644
index 000000000..2ff2cce15
--- /dev/null
+++ b/target/linux/patches/2.6.36/zboot-brcm-reloc.patch
@@ -0,0 +1,297 @@
+--- /dev/null Thu Jan 6 02:10:11 2011
++++ linux-2.6.36/arch/mips/boot/compressed/invcache.S Thu Jan 6 01:32:57 2011
+@@ -0,0 +1,132 @@
++/*-
++ * written 2011 by Thorsten Glaser <tg@mirbsd.org> based on
++ * code from LZMA-Loader with the following copyright note:
++ * Copyright 2005 Oleg I. Vdovikin <oleg@cs.msu.su>
++ * cache manipulation adapted from Broadcom code
++ * idea taken from original bunzip2 decompressor code
++ * Copyright 2004 Manuel Novoa III <mjn3@codepoet.org>
++ */
++
++/*
++ * This file is supposed to be #include’d where it’s
++ * needed; we will not trash s0, s1, s2, s3.
++ */
++
++#define KSEG0 0x80000000
++
++#define C0_CONFIG $16
++#define C0_TAGLO $28
++#define C0_TAGHI $29
++
++#define CONF1_DA_SHIFT 7 /* D$ associativity */
++#define CONF1_DA_MASK 0x00000380
++#define CONF1_DA_BASE 1
++#define CONF1_DL_SHIFT 10 /* D$ line size */
++#define CONF1_DL_MASK 0x00001c00
++#define CONF1_DL_BASE 2
++#define CONF1_DS_SHIFT 13 /* D$ sets/way */
++#define CONF1_DS_MASK 0x0000e000
++#define CONF1_DS_BASE 64
++#define CONF1_IA_SHIFT 16 /* I$ associativity */
++#define CONF1_IA_MASK 0x00070000
++#define CONF1_IA_BASE 1
++#define CONF1_IL_SHIFT 19 /* I$ line size */
++#define CONF1_IL_MASK 0x00380000
++#define CONF1_IL_BASE 2
++#define CONF1_IS_SHIFT 22 /* Instruction cache sets/way */
++#define CONF1_IS_MASK 0x01c00000
++#define CONF1_IS_BASE 64
++
++#define Index_Invalidate_I 0x00
++#define Index_Writeback_Inv_D 0x01
++
++ /* Get cache sizes */
++ .set mips32
++ mfc0 s4,C0_CONFIG,1
++ .set mips0
++
++ li s5,CONF1_DL_MASK
++ and s5,s4
++ beq s5,zero,2f
++ nop
++
++ srl s5,CONF1_DL_SHIFT
++ li t0,CONF1_DL_BASE
++ sll s5,t0,s5 /* s5 has D$ cache line size */
++
++ li s6,CONF1_DA_MASK
++ and s6,s4
++ srl s6,CONF1_DA_SHIFT
++ addiu s6,CONF1_DA_BASE /* s6 now has D$ associativity */
++
++ li t0,CONF1_DS_MASK
++ and t0,s4
++ srl t0,CONF1_DS_SHIFT
++ li s7,CONF1_DS_BASE
++ sll s7,s7,t0 /* s7 has D$ sets per way */
++
++ multu s6,s7 /* sets/way * associativity */
++ mflo t0 /* total cache lines */
++
++ multu s5,t0 /* D$ linesize * lines */
++ mflo s6 /* s6 is now D$ size in bytes */
++
++ /* Initilize the D$: */
++ mtc0 zero,C0_TAGLO
++ mtc0 zero,C0_TAGHI
++
++ li t0,KSEG0 /* Just an address for the first $ line */
++ addu t1,t0,s6 /* + size of cache == end */
++
++ .set mips3
++1: cache Index_Writeback_Inv_D,0(t0)
++ .set mips0
++ bne t0,t1,1b
++ addu t0,s5
++
++2:
++ /* Now we get to do it all again for the I$ */
++
++ move s7,zero /* just in case there is no icache */
++ move t8,zero
++
++ li t0,CONF1_IL_MASK
++ and t0,s4
++ beq t0,zero,3f
++ nop
++
++ srl t0,CONF1_IL_SHIFT
++ li s7,CONF1_IL_BASE
++ sll s7,t0 /* s7 has I$ cache line size */
++
++ li t0,CONF1_IA_MASK
++ and t0,s4
++ srl t0,CONF1_IA_SHIFT
++ addiu t8,t0,CONF1_IA_BASE /* t8 now has I$ associativity */
++
++ li t0,CONF1_IS_MASK
++ and t0,s4
++ srl t0,CONF1_IS_SHIFT
++ li t9,CONF1_IS_BASE
++ sll t9,t0 /* t9 has I$ sets per way */
++
++ multu t8,t9 /* sets/way * associativity */
++ mflo t0 /* t8 is now total cache lines */
++
++ multu s7,t0 /* I$ linesize * lines */
++ mflo t8 /* t8 is cache size in bytes */
++
++ /* Initilize the I$: */
++ mtc0 zero,C0_TAGLO
++ mtc0 zero,C0_TAGHI
++
++ li t0,KSEG0 /* Just an address for the first $ line */
++ addu t1,t0,t8 /* + size of cache == end */
++
++ .set mips3
++1: cache Index_Invalidate_I,0(t0)
++ .set mips0
++ bne t0,t1,1b
++ addu t0,s7
++
++3:
+--- /dev/null Thu Jan 6 00:14:18 2011
++++ linux-2.6.36/arch/mips/boot/compressed/selfreloc.lds.S Wed Jan 5 23:52:43 2011
+@@ -0,0 +1,39 @@
++/*-
++ * written 2010 by Thorsten Glaser <tg@debian.org> based on
++ * arch/mips/kernel/vmlinux.lds and arch/mips/boot/compressed/ld.script
++ */
++
++#include <asm/asm-offsets.h>
++#include <asm/page.h>
++#include <asm-generic/vmlinux.lds.h>
++
++#undef mips
++#define mips mips
++OUTPUT_ARCH(mips)
++ENTRY(selfreloc_start)
++PHDRS {
++ text PT_LOAD FLAGS(7); /* RWX */
++}
++SECTIONS
++{
++ . = VMLINUX_LOAD_ADDRESS;
++ .text : {
++ *(.text)
++ *(.text.*)
++ *(.rodata)
++ *(.rodata.*)
++ *(.data)
++ *(.data.*)
++ *(.bss)
++ *(.bss.*)
++ } :text
++ /DISCARD/ : {
++ *(.MIPS.options)
++ *(.options)
++ *(.pdr)
++ *(.reginfo)
++ *(.comment)
++ *(.note)
++ *(.gnu.attributes)
++ }
++}
+--- /dev/null Thu Jan 6 02:10:14 2011
++++ linux-2.6.36/arch/mips/boot/compressed/selfreloc.S Thu Jan 6 01:21:44 2011
+@@ -0,0 +1,60 @@
++/*-
++ * written 2011 by Thorsten Glaser <tg@freewrt.org> based on
++ * arch/mips/boot/compressed/head.S and code from LZMA-Loader
++ */
++
++#include <asm/asm.h>
++#include <asm/regdef.h>
++
++ .set noreorder
++ .cprestore
++
++ .text
++ LEAF(selfreloc_start)
++selfreloc_start:
++ /* Save boot rom start args */
++ move s0, a0
++ move s1, a1
++ move s2, a2
++ move s3, a3
++
++ /* Copy code to the correct place */
++ PTR_LI a0, VMLINUZ_LOAD_ADDRESS
++ PTR_LA a1, imgbeg
++ PTR_LA a2, imgend
++1: lw t0, 0(a1)
++ sw t0, 0(a0)
++ add a1, 4
++ add a0, 4
++ blt a1, a2, 1b
++ nop
++
++ /*
++ * At this point we need to invalidate dcache and
++ * icache before jumping to the new code
++ */
++/* #include "invcache.S" // since this may work only on brcm? */
++
++ /* Restore boot rom start args */
++ move a0, s0
++ move a1, s1
++ move a2, s2
++ move a3, s3
++
++ /* Jump to the code at its new location */
++ PTR_LI k0, VMLINUZ_LOAD_ADDRESS
++ jr k0
++ nop
++
++ /* Just in case we come back… */
++3:
++ b 3b
++ nop
++ END(selfreloc_start)
++
++ .globl imgbeg
++ .p2align 2
++imgbeg: .incbin "vmlinuz.bin"
++ .globl imgend
++ .p2align 2
++imgend:
+--- linux-2.6.36/arch/mips/boot/compressed/Makefile~ Wed Jan 5 21:26:40 2011
++++ linux-2.6.36/arch/mips/boot/compressed/Makefile Wed Jan 5 23:35:58 2011
+@@ -62,8 +62,13 @@ $(obj)/piggy.o: $(obj)/dummy.o $(obj)/vm
+ # Calculate the load address of the compressed kernel image
+ hostprogs-y := calc_vmlinuz_load_addr
+
++ifdef CONFIG_BCM47XX
++# XXX just after CFE, just pray the address is static
++VMLINUZ_LOAD_ADDRESS = 0xffffffff80480000
++else
+ VMLINUZ_LOAD_ADDRESS = $(shell $(obj)/calc_vmlinuz_load_addr \
+ $(obj)/vmlinux.bin $(VMLINUX_LOAD_ADDRESS))
++endif
+
+ vmlinuzobjs-y += $(obj)/piggy.o
+
+@@ -106,4 +107,12 @@ OBJCOPYFLAGS_vmlinuz.srec := $(OBJCOPYFL
+ vmlinuz.srec: vmlinuz
+ $(call cmd,objcopy)
+
+-clean-files := $(objtree)/vmlinuz $(objtree)/vmlinuz.{32,ecoff,bin,srec}
++AFLAGS_selfreloc.o := -DVMLINUZ_LOAD_ADDRESS=$(VMLINUZ_LOAD_ADDRESS)
++arch/mips/boot/compressed/selfreloc.o: arch/mips/boot/compressed/selfreloc.S vmlinuz.bin arch/mips/boot/compressed/invcache.S
++
++CPPFLAGS_selfreloc.lds := $(KBUILD_CFLAGS)
++
++vmlinub.elf: arch/mips/boot/compressed/selfreloc.o arch/mips/boot/compressed/selfreloc.lds
++ $(LD) $(LDFLAGS) -T arch/mips/boot/compressed/selfreloc.lds arch/mips/boot/compressed/selfreloc.o -o $@
++
++clean-files := $(objtree)/vmlinuz $(objtree)/vmlinuz.{32,ecoff,bin,srec} $(objtree)/vmlinub.elf $(objtree)/arch/mips/boot/compressed/selfreloc.{o,lds}
+--- linux-2.6.36/arch/mips/Makefile~ Wed Jan 5 20:26:12 2011
++++ linux-2.6.36/arch/mips/Makefile Wed Jan 5 22:41:38 2011
+@@ -79,6 +79,7 @@ endif
+ all-$(CONFIG_BOOT_ELF32) := $(vmlinux-32)
+ all-$(CONFIG_BOOT_ELF64) := $(vmlinux-64)
+ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlinuz
++all-$(CONFIG_BCM47XX) += vmlinub.elf
+
+ #
+ # GCC uses -G 0 -mabicalls -fpic as default. We don't want PIC in the kernel
+@@ -285,7 +286,7 @@ vmlinux.bin vmlinux.ecoff vmlinux.srec:
+ $(Q)$(MAKE) $(build)=arch/mips/boot VMLINUX=$(vmlinux-32) arch/mips/boot/$@
+
+ # boot/compressed
+-vmlinuz vmlinuz.bin vmlinuz.ecoff vmlinuz.srec: $(vmlinux-32) FORCE
++vmlinuz vmlinuz.bin vmlinuz.ecoff vmlinuz.srec vmlinub.elf: $(vmlinux-32) FORCE
+ $(Q)$(MAKE) $(build)=arch/mips/boot/compressed \
+ VMLINUX_LOAD_ADDRESS=$(load-y) 32bit-bfd=$(32bit-bfd) $@
+
+@@ -322,6 +323,7 @@ define archhelp
+ echo ' vmlinuz.ecoff - ECOFF zboot image'
+ echo ' vmlinuz.bin - Raw binary zboot image'
+ echo ' vmlinuz.srec - SREC zboot image'
++ echo ' vmlinub.elf - ELF self-relocating zboot image'
+ echo
+ echo ' These will be default as apropriate for a configured platform.'
+ endef
diff --git a/target/packages/pkg-available/laptop b/target/packages/pkg-available/laptop
index 1d0185550..9663690fe 100644
--- a/target/packages/pkg-available/laptop
+++ b/target/packages/pkg-available/laptop
@@ -1,19 +1,11 @@
config ADK_PKG_LAPTOP
bool "Choose packages for a laptop system with X"
default n
- select ADK_KPACKAGE_KMOD_PCMCIA
- select ADK_KPACKAGE_KMOD_PCCARD
- select ADK_KPACKAGE_KMOD_SERIAL_8250_CS
select ADK_PACKAGE_SCREEN
select ADK_PACKAGE_VIM
select ADK_PACKAGE_SUDO
select ADK_PACKAGE_KEYCHAIN
- select ADK_PACKAGE_CRYPTSETUP
- select ADK_PACKAGE_OPENSC
- select ADK_PACKAGE_PCSC_LITE
- select ADK_PACKAGE_CCID
select ADK_PACKAGE_ALSA_UTILS
- select ADK_PACKAGE_OPENSSL_PKCS11
select ADK_PACKAGE_OPENSSH_CLIENT
select ADK_PACKAGE_OPENSSH_CLIENT_UTILS
select ADK_PACKAGE_OPENSSH_SERVER