Added helper for linux-lts-utopic
This commit is contained in:
parent
ccfd789e17
commit
ca735e6292
30 changed files with 14857 additions and 0 deletions
2931
helpers/DATA/linux-lts-utopic/deblob-3.16
Normal file
2931
helpers/DATA/linux-lts-utopic/deblob-3.16
Normal file
File diff suppressed because it is too large
Load diff
7977
helpers/DATA/linux-lts-utopic/deblob-check
Normal file
7977
helpers/DATA/linux-lts-utopic/deblob-check
Normal file
File diff suppressed because it is too large
Load diff
319
helpers/DATA/linux-lts-utopic/deblob-main
Normal file
319
helpers/DATA/linux-lts-utopic/deblob-main
Normal file
|
|
@ -0,0 +1,319 @@
|
|||
#! /bin/sh
|
||||
|
||||
# Copyright (C) 2008-2012 Alexandre Oliva <lxoliva@fsfla.org>
|
||||
|
||||
# This program is part of GNU Linux-libre, a GNU project that
|
||||
# publishes scripts to clean up Linux so as to make it suitable for
|
||||
# use in the GNU Project and in Free System Distributions.
|
||||
|
||||
# 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
||||
# USA
|
||||
|
||||
# deblob-main - prepare a GNU Linux-libre tarball out of a non-libre
|
||||
# Linux tarball. It expects the Linux release (mver, say 3.0) as the
|
||||
# first argument, the gnu sub-release (extra) as the second optional
|
||||
# argument, and the patch release (sver, say .13) as an optional third
|
||||
# argument. mver and sver are pasted together to form kver.
|
||||
|
||||
# linux-$kver.tar.bz2 and deblob-$mver must exist in the current
|
||||
# directory, and the line that sets kver and extra in deblob-$mver
|
||||
# must match mver and extra.
|
||||
|
||||
# The resulting tarball is put in linux-libre-$kver-gnu$extra.tar.bz2.
|
||||
# An uncompressed xdelta that produces linux-libre-$kver-gnu$extra.tar
|
||||
# out of linux-$kver.tar is put in linux-libre-$kver-gnu$extra.xdelta.
|
||||
# This xdelta can be distributed to enable third parties to easily
|
||||
# reconstruct the binary tarball starting out of sources downloaded
|
||||
# from kernel.org, but without distributing non-Free Software
|
||||
# yourself, because xdelta (unlike patches) is not reversible: the
|
||||
# removed bits are not present in it at all.
|
||||
|
||||
# xdelta version 3 uses different command line syntax, and it switched
|
||||
# to the more standardized but less efficient vcdiff file format.
|
||||
# This script will also produce a vcdiff file if xdelta3 is present,
|
||||
# and it expects the xdelta program to use the version 1 syntax.
|
||||
|
||||
# To enable you to check the differences between the tarballs, a patch
|
||||
# file is generated in linux-libre-$kver-gnu$extra.patch. This patch
|
||||
# file contains the non-Free blobs, even though in reversed form, so
|
||||
# its distribution is discouraged.
|
||||
|
||||
# The tar files and binary deltas are finally compressed with bzip2,
|
||||
# and optionally with lzip and xz too, if the compressors are
|
||||
# available.
|
||||
|
||||
# At the end, the script attempts to generate a digital signature for
|
||||
# the newly-created tarball. This is the last thing the script does,
|
||||
# so interrupting it at that point to skip the signing won't fail to
|
||||
# do anything else.
|
||||
|
||||
# It is safe to interrupt the script at any other point. When it gets
|
||||
# a ^C (other than during signing), it starts cleaning up all of its
|
||||
# temporary and output files. If you insist, it may leave junk
|
||||
# behind, and then it will refuse to run again before you clean it up
|
||||
# by hand. It takes extra care to avoid overwriting useful files.
|
||||
|
||||
# If deblob-$mver finds any unexpected situation, it will error out,
|
||||
# and then deblob-main will quit. Pass --force to deblob-main, before
|
||||
# any other argument, for deblob-main to ignore any such situations.
|
||||
|
||||
case $1 in
|
||||
--force) force=--force; shift;;
|
||||
*) force=;;
|
||||
esac
|
||||
|
||||
# We don't want e.g. diff output translations to affect us.
|
||||
LC_ALL=C; export LC_ALL
|
||||
LANGUAGE=C; export LANGUAGE
|
||||
|
||||
mver=$1 extra=$2 sver=$3
|
||||
kver=$mver$sver gnu=gnu$extra
|
||||
deblob= dir=`echo "$0" | sed 's,[^/]*$,,;s,^$,.,;s,/*$,,'`
|
||||
|
||||
if test -f linux-$kver.tar; then
|
||||
zext=tar zcmd=
|
||||
elif test -f linux-$kver.tar.bz2; then
|
||||
zext=tar.bz2 zcmd=bunzip2
|
||||
elif test -f linux-$kver.tar.xz; then
|
||||
zext=tar.xz zcmd=unxz
|
||||
elif test -f linux-$kver.tar.lz; then
|
||||
zext=tar.lz zcmd="lzip -d"
|
||||
elif test -f linux-$kver.tar.gz; then
|
||||
zext=tar.gz zcmd=gunzip
|
||||
elif test -f linux-$kver.tgz; then
|
||||
zext=tgz zcmd=gunzip
|
||||
else
|
||||
echo linux-$kver.tar not found, tried .bz2, .xz, .lz, .gz and .tgz too >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -f deblob-$mver; then
|
||||
deblob=deblob-$mver
|
||||
elif test -f deblob; then
|
||||
deblob=deblob
|
||||
elif test -f $dir/deblob-$mver; then
|
||||
cp $dir/deblob-$mver deblob
|
||||
deblob=deblob
|
||||
else
|
||||
echo deblob does not exist >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
x1="kver=$mver extra=$extra"
|
||||
x2=`grep "^kver=[^ ]* extra=" $deblob`
|
||||
if test "$x1" = "$x2"; then
|
||||
:
|
||||
else
|
||||
echo deblob script does not match command-line arguments >&2
|
||||
echo expected: $x1 >&2
|
||||
echo found : $x2 >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cleanup=
|
||||
|
||||
for f in \
|
||||
linux-libre-$kver-$gnu.tar.bz2 \
|
||||
linux-libre-$kver-$gnu.tar.bz2.asc \
|
||||
linux-libre-$kver-$gnu.tar.bz2.sign \
|
||||
linux-libre-$kver-$gnu.tar.xz \
|
||||
linux-libre-$kver-$gnu.tar.xz.asc \
|
||||
linux-libre-$kver-$gnu.tar.xz.sign \
|
||||
linux-libre-$kver-$gnu.tar.lz \
|
||||
linux-libre-$kver-$gnu.tar.lz.asc \
|
||||
linux-libre-$kver-$gnu.tar.lz.sign \
|
||||
linux-libre-$kver-$gnu.tar \
|
||||
linux-libre-$kver-$gnu.tar.asc \
|
||||
linux-libre-$kver-$gnu.tar.sign \
|
||||
linux-libre-$kver-$gnu.patch \
|
||||
linux-libre-$kver-$gnu.log \
|
||||
linux-libre-$kver-$gnu.vcdiff \
|
||||
linux-libre-$kver-$gnu.vcdiff.bz2 \
|
||||
linux-libre-$kver-$gnu.vcdiff.bz2.asc \
|
||||
linux-libre-$kver-$gnu.vcdiff.bz2.sign \
|
||||
linux-libre-$kver-$gnu.vcdiff.xz \
|
||||
linux-libre-$kver-$gnu.vcdiff.xz.asc \
|
||||
linux-libre-$kver-$gnu.vcdiff.xz.sign \
|
||||
linux-libre-$kver-$gnu.vcdiff.lz \
|
||||
linux-libre-$kver-$gnu.vcdiff.lz.asc \
|
||||
linux-libre-$kver-$gnu.vcdiff.lz.sign \
|
||||
linux-libre-$kver-$gnu.xdelta \
|
||||
linux-libre-$kver-$gnu.xdelta.bz2 \
|
||||
linux-libre-$kver-$gnu.xdelta.bz2.asc \
|
||||
linux-libre-$kver-$gnu.xdelta.bz2.sign \
|
||||
linux-libre-$kver-$gnu.xdelta.xz \
|
||||
linux-libre-$kver-$gnu.xdelta.xz.asc \
|
||||
linux-libre-$kver-$gnu.xdelta.xz.sign \
|
||||
linux-libre-$kver-$gnu.xdelta.lz \
|
||||
linux-libre-$kver-$gnu.xdelta.lz.asc \
|
||||
linux-libre-$kver-$gnu.xdelta.lz.sign \
|
||||
; do
|
||||
if test -f $f; then
|
||||
echo $f already exists >&2
|
||||
exit 1
|
||||
fi
|
||||
cleanup="$cleanup $f"
|
||||
done
|
||||
|
||||
for d in \
|
||||
linux-$kver \
|
||||
linux-libre-$kver-$gnu \
|
||||
orig-linux-$kver \
|
||||
; do
|
||||
if test -d $d; then
|
||||
echo $d already exists >&2
|
||||
exit 1
|
||||
fi
|
||||
cleanup="$cleanup $d"
|
||||
done
|
||||
|
||||
if test -f $dir/deblob-$kver; then
|
||||
if cmp $dir/deblob-$kver $deblob; then
|
||||
:
|
||||
else
|
||||
echo $dir/deblob-$kver and $deblob are different >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if test ! -f deblob-check; then
|
||||
if test -f $dir/deblob-check; then
|
||||
cp $dir/deblob-check deblob-check
|
||||
fi
|
||||
else
|
||||
if test -f $dir/deblob-check; then
|
||||
if cmp $dir/deblob-check deblob-check; then
|
||||
:
|
||||
else
|
||||
echo $dir/deblob-check and deblob-check are different >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
trap 'status=$?; echo cleaning up...; rm -rf $cleanup; (exit $status); exit' 0 1 2 15
|
||||
|
||||
set -e
|
||||
|
||||
if test -n "$zcmd"; then
|
||||
echo Uncompressing linux-$kver.$zext into linux-$kver.tar
|
||||
rm -rf linux-$kver.tar
|
||||
cleanup="$cleanup linux-$kver.tar"
|
||||
$zcmd < linux-$kver.$zext > linux-$kver.tar
|
||||
fi
|
||||
|
||||
echo Extracting linux-$kver.tar into linux-$kver
|
||||
rm -rf linux-$kver
|
||||
tar -xf linux-$kver.tar
|
||||
rm -rf linux-libre-$kver-$gnu linux-libre-$kver-$gnu.tar
|
||||
|
||||
echo Copying linux-$kver to linux-libre-$kver-$gnu
|
||||
cp linux-$kver.tar linux-libre-$kver-$gnu.tar
|
||||
cp -lR linux-$kver/. linux-libre-$kver-$gnu
|
||||
|
||||
rm -f linux-libre-$kver-$gnu.log linux-libre-$kver-$gnu.log.tmp
|
||||
echo Deblobbing within linux-libre-$kver-$gnu, saving output to linux-libre-$kver-$gnu.log
|
||||
# We can't just pipe deblob into tee, for then we fail to detect
|
||||
# error conditions. Use file renaming to tell whether we succeeded.
|
||||
if (cd linux-libre-$kver-$gnu && /bin/sh ../$deblob $force) 2>&1; then
|
||||
mv linux-libre-$kver-$gnu.log.tmp linux-libre-$kver-$gnu.log
|
||||
fi | tee linux-libre-$kver-$gnu.log.tmp
|
||||
if test ! -f linux-libre-$kver-$gnu.log; then
|
||||
mv linux-libre-$kver-$gnu.log.tmp linux-libre-$kver-$gnu.log
|
||||
echo $deblob failed, aborting >&2
|
||||
exit 1
|
||||
fi
|
||||
rm -f linux-libre-$kver-$gnu.patch
|
||||
|
||||
# Do not copy these scripts for now, deblob-check regards itself as a blob.
|
||||
# cp -p $0 $deblob deblob-check linux-libre-$kver-$gnu
|
||||
|
||||
echo Generating linux-libre-$kver-$gnu.patch
|
||||
diff -druN linux-$kver linux-libre-$kver-$gnu > linux-libre-$kver-$gnu.patch || :
|
||||
|
||||
echo Removing removed or modified files from linux-libre-$kver-$gnu.tar
|
||||
diff -rq linux-$kver linux-libre-$kver-$gnu |
|
||||
sed -n "
|
||||
s,^Only in \\(linux-$kver\\(/.*\\)\\?\\): \\(.*\\),\1/\3,p;
|
||||
s,^Files \\(linux-$kver\\)/\\(.*\\) and linux-libre-$kver-$gnu/\\2 differ,\\1/\\2,p;
|
||||
" |
|
||||
xargs tar --delete -f linux-libre-$kver-$gnu.tar
|
||||
|
||||
echo Adding modified or added files to linux-libre-$kver-$gnu.tar
|
||||
rm -rf orig-linux-$kver
|
||||
mv linux-$kver orig-linux-$kver
|
||||
mv linux-libre-$kver-$gnu linux-$kver
|
||||
diff -rq orig-linux-$kver linux-$kver |
|
||||
sed -n "
|
||||
s,^Files orig-\\(linux-$kver/.*\\) and \\1 differ,\\1,p;
|
||||
s,^Only in \\(linux-$kver\\(/.*\\)\\?\\): \\(.*\\),\\1/\\3,p;
|
||||
" |
|
||||
xargs tar --append -f linux-libre-$kver-$gnu.tar
|
||||
|
||||
echo Wiping out extracted trees
|
||||
rm -rf linux-$kver orig-linux-$kver
|
||||
|
||||
echo Creating vcdiff between linux-$kver.tar and linux-libre-$kver-$gnu.tar
|
||||
xdelta3 -e -9 -S djw -s linux-$kver.tar linux-libre-$kver-$gnu.tar linux-libre-$kver-$gnu.vcdiff || : # don't fail if xdelta3 is not present
|
||||
|
||||
echo Creating xdelta between linux-$kver.tar and linux-libre-$kver-$gnu.tar
|
||||
xdelta delta -0 linux-$kver.tar linux-libre-$kver-$gnu.tar linux-libre-$kver-$gnu.xdelta || : # xdelta returns nonzero on success
|
||||
|
||||
cleanup="linux-libre-$kver-$gnu.tar linux-libre-$kver-$gnu.vcdiff linux-libre-$kver-$gnu.xdelta"
|
||||
|
||||
echo Compressing binary deltas and linux-libre-$kver-$gnu.tar
|
||||
rm -f linux-$kver.tar
|
||||
if test -f linux-libre-$kver-$gnu.vcdiff; then
|
||||
bzip2 -k9 linux-libre-$kver-$gnu.vcdiff
|
||||
xz -k9 linux-libre-$kver-$gnu.vcdiff || :
|
||||
lzip -k9 linux-libre-$kver-$gnu.vcdiff || :
|
||||
fi
|
||||
if test -f linux-libre-$kver-$gnu.xdelta; then
|
||||
bzip2 -k9 linux-libre-$kver-$gnu.xdelta
|
||||
xz -k9 linux-libre-$kver-$gnu.xdelta || :
|
||||
lzip -k9 linux-libre-$kver-$gnu.xdelta || :
|
||||
fi
|
||||
bzip2 -k9 linux-libre-$kver-$gnu.tar
|
||||
xz -k9 linux-libre-$kver-$gnu.tar || :
|
||||
lzip -k9 linux-libre-$kver-$gnu.tar || :
|
||||
|
||||
echo Done except for signing, feel free to interrupt
|
||||
for f in \
|
||||
linux-libre-$kver-$gnu.tar \
|
||||
linux-libre-$kver-$gnu.tar.bz2 \
|
||||
linux-libre-$kver-$gnu.tar.xz \
|
||||
linux-libre-$kver-$gnu.tar.lz \
|
||||
linux-libre-$kver-$gnu.vcdiff \
|
||||
linux-libre-$kver-$gnu.vcdiff.bz2 \
|
||||
linux-libre-$kver-$gnu.vcdiff.xz \
|
||||
linux-libre-$kver-$gnu.vcdiff.lz \
|
||||
linux-libre-$kver-$gnu.xdelta \
|
||||
linux-libre-$kver-$gnu.xdelta.bz2 \
|
||||
linux-libre-$kver-$gnu.xdelta.xz \
|
||||
linux-libre-$kver-$gnu.xdelta.lz \
|
||||
; do
|
||||
if test -f $f; then
|
||||
gpg -a --detach-sign $f
|
||||
mv $f.asc $f.sign
|
||||
fi
|
||||
done
|
||||
|
||||
rm -f $cleanup
|
||||
cleanup=
|
||||
trap 'status=$?; (exit $status); exit' 0 1 2 15
|
||||
|
||||
echo All set, please review linux-libre-$kver-$gnu.patch
|
||||
|
||||
exit 0
|
||||
6
helpers/DATA/linux-lts-utopic/firmware/.gitignore
vendored
Normal file
6
helpers/DATA/linux-lts-utopic/firmware/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
*.gen.S
|
||||
*.fw
|
||||
*.bin
|
||||
*.csp
|
||||
*.dsp
|
||||
ihex2fw
|
||||
251
helpers/DATA/linux-lts-utopic/firmware/Makefile
Normal file
251
helpers/DATA/linux-lts-utopic/firmware/Makefile
Normal file
|
|
@ -0,0 +1,251 @@
|
|||
#
|
||||
# kbuild file for firmware/
|
||||
#
|
||||
|
||||
# Create $(fwabs) from $(CONFIG_EXTRA_FIRMWARE_DIR) -- if it doesn't have a
|
||||
# leading /, it's relative to $(srctree).
|
||||
fwdir := $(subst ",,$(CONFIG_EXTRA_FIRMWARE_DIR))
|
||||
fwabs := $(addprefix $(srctree)/,$(filter-out /%,$(fwdir)))$(filter /%,$(fwdir))
|
||||
|
||||
fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE))
|
||||
|
||||
# There are three cases to care about:
|
||||
# 1. Building kernel with CONFIG_FIRMWARE_IN_KERNEL=y -- $(fw-shipped-y) should
|
||||
# include the firmware files to include, according to .config
|
||||
# 2. 'make modules_install', which will install firmware for modules, and
|
||||
# _also_ for the in-kernel drivers when CONFIG_FIRMWARE_IN_KERNEL=n
|
||||
# 3. 'make firmware_install', which installs all firmware, unconditionally.
|
||||
|
||||
# For the former two cases we want $(fw-shipped-y) and $(fw-shipped-m) to be
|
||||
# accurate. In the latter case it doesn't matter -- it'll use $(fw-shipped-all).
|
||||
# But be aware that the config file might not be included at all.
|
||||
|
||||
ifdef CONFIG_ACENIC_OMIT_TIGON_I
|
||||
acenic-objs := $(DEBLOBBED)
|
||||
fw-shipped- += $(DEBLOBBED)
|
||||
else
|
||||
acenic-objs := $(DEBLOBBED) $(DEBLOBBED)
|
||||
endif
|
||||
fw-shipped-$(CONFIG_ACENIC) += $(acenic-objs)
|
||||
fw-shipped-$(CONFIG_ADAPTEC_STARFIRE) += $(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_ATARI_DSP56K) += dsp56k/bootstrap.bin
|
||||
fw-shipped-$(CONFIG_ATM_AMBASSADOR) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_BNX2X) += $(DEBLOBBED) \
|
||||
$(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_BNX2) += $(DEBLOBBED) \
|
||||
$(DEBLOBBED) \
|
||||
$(DEBLOBBED) \
|
||||
$(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_CASSINI) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_CHELSIO_T3) += $(DEBLOBBED) \
|
||||
$(DEBLOBBED) \
|
||||
$(DEBLOBBED) \
|
||||
$(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_DRM_MGA) += $(DEBLOBBED) $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_DRM_R128) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_DRM_RADEON) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_DVB_AV7110) += av7110/bootcode.bin
|
||||
fw-shipped-$(CONFIG_DVB_TTUSB_BUDGET) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_E100) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_MYRI_SBUS) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_PCMCIA_PCNET) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_PCMCIA_3C589) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_PCMCIA_3C574) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_SERIAL_8250_CS) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_PCMCIA_SMC91C92) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_SCSI_ADVANSYS) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_SCSI_QLOGIC_1280) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_SCSI_QLOGICPTI) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_INFINIBAND_QIB) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_SND_KORG1212) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_SND_MAESTRO3) += $(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_SND_SB16_CSP) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) \
|
||||
$(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_SND_YMFPCI) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_SND_WAVEFRONT) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_TEHUTI) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_TIGON3) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_TYPHOON) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_EMI26) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_EMI62) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_KAWETH) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) \
|
||||
$(DEBLOBBED)
|
||||
ifdef CONFIG_FIRMWARE_IN_KERNEL
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_MPR) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA18X) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19QI) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19QW) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA19W) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28XA) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28XB) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA28X) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA49W) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_USA49WLC) += $(DEBLOBBED)
|
||||
else
|
||||
fw-shipped- += $(DEBLOBBED) $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) $(DEBLOBBED)
|
||||
endif
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_TI) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED) $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
$(DEBLOBBED) $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_EDGEPORT_TI) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_WHITEHEAT) += $(DEBLOBBED) $(DEBLOBBED) \
|
||||
# $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_KEYSPAN_PDA) += keyspan_pda/keyspan_pda.fw
|
||||
fw-shipped-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda/xircom_pgs.fw
|
||||
fw-shipped-$(CONFIG_USB_VICAM) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_VIDEO_CPIA2) += $(DEBLOBBED)
|
||||
fw-shipped-$(CONFIG_YAM) += $(DEBLOBBED) $(DEBLOBBED)
|
||||
|
||||
fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-)
|
||||
|
||||
# Directories which we _might_ need to create, so we have a rule for them.
|
||||
firmware-dirs := $(sort $(addprefix $(objtree)/$(obj)/,$(dir $(fw-external-y) $(fw-shipped-all))))
|
||||
|
||||
quiet_cmd_mkdir = MKDIR $(patsubst $(objtree)/%,%,$@)
|
||||
cmd_mkdir = mkdir -p $@
|
||||
|
||||
quiet_cmd_ihex = IHEX $@
|
||||
cmd_ihex = $(OBJCOPY) -Iihex -Obinary $< $@
|
||||
|
||||
quiet_cmd_ihex2fw = IHEX2FW $@
|
||||
cmd_ihex2fw = $(objtree)/$(obj)/ihex2fw $< $@
|
||||
|
||||
quiet_cmd_h16tofw = H16TOFW $@
|
||||
cmd_h16tofw = $(objtree)/$(obj)/ihex2fw -w $< $@
|
||||
|
||||
quiet_cmd_fwbin = MK_FW $@
|
||||
cmd_fwbin = FWNAME="$(patsubst firmware/%.gen.S,%,$@)"; \
|
||||
FWSTR="$(subst /,_,$(subst .,_,$(subst -,_,$(patsubst \
|
||||
firmware/%.gen.S,%,$@))))"; \
|
||||
ASM_WORD=$(if $(CONFIG_64BIT),.quad,.long); \
|
||||
ASM_ALIGN=$(if $(CONFIG_64BIT),3,2); \
|
||||
PROGBITS=$(if $(CONFIG_ARM),%,@)progbits; \
|
||||
echo "/* Generated by firmware/Makefile */" > $@;\
|
||||
echo " .section .rodata" >>$@;\
|
||||
echo " .p2align $${ASM_ALIGN}" >>$@;\
|
||||
echo "_fw_$${FWSTR}_bin:" >>$@;\
|
||||
echo " .incbin \"$(2)\"" >>$@;\
|
||||
echo "_fw_end:" >>$@;\
|
||||
echo " .section .rodata.str,\"aMS\",$${PROGBITS},1" >>$@;\
|
||||
echo " .p2align $${ASM_ALIGN}" >>$@;\
|
||||
echo "_fw_$${FWSTR}_name:" >>$@;\
|
||||
echo " .string \"$$FWNAME\"" >>$@;\
|
||||
echo " .section .builtin_fw,\"a\",$${PROGBITS}" >>$@;\
|
||||
echo " .p2align $${ASM_ALIGN}" >>$@;\
|
||||
echo " $${ASM_WORD} _fw_$${FWSTR}_name" >>$@;\
|
||||
echo " $${ASM_WORD} _fw_$${FWSTR}_bin" >>$@;\
|
||||
echo " $${ASM_WORD} _fw_end - _fw_$${FWSTR}_bin" >>$@;
|
||||
|
||||
# One of these files will change, or come into existence, whenever
|
||||
# the configuration changes between 32-bit and 64-bit. The .S files
|
||||
# need to change when that happens.
|
||||
wordsize_deps := $(wildcard include/config/64bit.h include/config/32bit.h \
|
||||
include/config/ppc32.h include/config/ppc64.h \
|
||||
include/config/superh32.h include/config/superh64.h \
|
||||
include/config/x86_32.h include/config/x86_64.h)
|
||||
|
||||
# Workaround for make < 3.81, where .SECONDEXPANSION doesn't work.
|
||||
# It'll end up depending on these targets, so make them a PHONY rule which
|
||||
# depends on _all_ the directories in $(firmware-dirs), and it'll work out OK.
|
||||
PHONY += $(objtree)/$$(%) $(objtree)/$(obj)/$$(%)
|
||||
$(objtree)/$$(%) $(objtree)/$(obj)/$$(%): $(firmware-dirs)
|
||||
@true
|
||||
|
||||
# For the $$(dir %) trick, where we need % to be expanded first.
|
||||
.SECONDEXPANSION:
|
||||
|
||||
$(patsubst %,$(obj)/%.gen.S, $(fw-shipped-y)): %: $(wordsize_deps) \
|
||||
| $(objtree)/$$(dir %)
|
||||
$(call cmd,fwbin,$(patsubst %.gen.S,%,$@))
|
||||
$(patsubst %,$(obj)/%.gen.S, $(fw-external-y)): %: $(wordsize_deps) \
|
||||
include/config/extra/firmware/dir.h | $(objtree)/$$(dir %)
|
||||
$(call cmd,fwbin,$(fwabs)/$(patsubst $(obj)/%.gen.S,%,$@))
|
||||
|
||||
# The .o files depend on the binaries directly; the .S files don't.
|
||||
$(patsubst %,$(obj)/%.gen.o, $(fw-shipped-y)): %.gen.o: %
|
||||
$(patsubst %,$(obj)/%.gen.o, $(fw-external-y)): $(obj)/%.gen.o: $(fwdir)/%
|
||||
|
||||
# .ihex is used just as a simple way to hold binary files in a source tree
|
||||
# where binaries are frowned upon. They are directly converted with objcopy.
|
||||
$(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %)
|
||||
$(call cmd,ihex)
|
||||
|
||||
# Don't depend on ihex2fw if we're installing and it already exists.
|
||||
# Putting it after | in the dependencies doesn't seem sufficient when
|
||||
# we're installing after a cross-compile, because ihex2fw has dependencies
|
||||
# on stuff like /usr/lib/gcc/ppc64-redhat-linux/4.3.0/include/stddef.h and
|
||||
# thus wants to be rebuilt. Which it can't be, if the prebuilt kernel tree
|
||||
# is exported read-only for someone to run 'make install'.
|
||||
ifeq ($(INSTALL):$(wildcard $(obj)/ihex2fw),install:$(obj)/ihex2fw)
|
||||
ihex2fw_dep :=
|
||||
else
|
||||
ihex2fw_dep := $(obj)/ihex2fw
|
||||
endif
|
||||
|
||||
# .HEX is also Intel HEX, but where the offset and length in each record
|
||||
# is actually meaningful, because the firmware has to be loaded in a certain
|
||||
# order rather than as a single binary blob. Thus, we convert them into our
|
||||
# more compact binary representation of ihex records (<linux/ihex.h>)
|
||||
$(obj)/%.fw: $(obj)/%.HEX $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %)
|
||||
$(call cmd,ihex2fw)
|
||||
|
||||
# .H16 is our own modified form of Intel HEX, with 16-bit length for records.
|
||||
$(obj)/%.fw: $(obj)/%.H16 $(ihex2fw_dep) | $(objtree)/$(obj)/$$(dir %)
|
||||
$(call cmd,h16tofw)
|
||||
|
||||
$(firmware-dirs):
|
||||
$(call cmd,mkdir)
|
||||
|
||||
obj-y += $(patsubst %,%.gen.o, $(fw-external-y))
|
||||
obj-$(CONFIG_FIRMWARE_IN_KERNEL) += $(patsubst %,%.gen.o, $(fw-shipped-y))
|
||||
|
||||
# Remove .S files and binaries created from ihex
|
||||
# (during 'make clean' .config isn't included so they're all in $(fw-shipped-))
|
||||
targets := $(fw-shipped-) $(patsubst $(obj)/%,%, \
|
||||
$(shell find $(obj) -name \*.gen.S 2>/dev/null))
|
||||
|
||||
# Without this, built-in.o won't be created when it's empty, and the
|
||||
# final vmlinux link will fail.
|
||||
obj-n := dummy
|
||||
|
||||
hostprogs-y := ihex2fw
|
||||
23
helpers/DATA/linux-lts-utopic/firmware/README.AddingFirmware
Normal file
23
helpers/DATA/linux-lts-utopic/firmware/README.AddingFirmware
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
|
||||
DO NOT ADD FIRMWARE TO THIS DIRECTORY.
|
||||
======================================
|
||||
|
||||
This directory is only here to contain firmware images extracted from old
|
||||
device drivers which predate the common use of request_firmware().
|
||||
|
||||
As we update those drivers to use request_firmware() and keep a clean
|
||||
separation between code and firmware, we put the extracted firmware
|
||||
here.
|
||||
|
||||
/*(DEBLOBBED)*/
|
||||
Ben Hutchings <ben@decadent.org.uk>
|
||||
|
||||
Your commit should include an update to the WHENCE file clearly
|
||||
identifying the licence under which the firmware is available, and
|
||||
that it is redistributable. If the licence is long and involved, it's
|
||||
permitted to include it in a separate file and refer to it from the
|
||||
WHENCE file.
|
||||
|
||||
Ideally, your commit should contain a Signed-Off-By: from someone
|
||||
authoritative on the licensing of the firmware in question (i.e. from
|
||||
within the company that owns the code).
|
||||
61
helpers/DATA/linux-lts-utopic/firmware/WHENCE
Normal file
61
helpers/DATA/linux-lts-utopic/firmware/WHENCE
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
**********
|
||||
* WHENCE *
|
||||
**********
|
||||
|
||||
This file attempts to document the origin and licensing information,
|
||||
if known, for each piece of firmware distributed for use with the Linux
|
||||
kernel.
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
/*(DEBLOBBED)*/
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
Driver: keyspan_pda -- USB Keyspan PDA single-port serial device
|
||||
|
||||
File: keyspan_pda/keyspan_pda.fw
|
||||
Source: keyspan_pda/keyspan_pda.S
|
||||
|
||||
File: keyspan_pda/xircom_pgs.fw
|
||||
Source: keyspan_pda/xircom_pgs.S
|
||||
|
||||
Licence: GPLv2+
|
||||
|
||||
Compiled from original 8051 source into Intel HEX, used in our binary ihex form.
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
/*(DEBLOBBED)*/
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
Driver: ATARI_DSP56K - Atari DSP56k support
|
||||
|
||||
File: dsp56k/bootstrap.bin
|
||||
Source: dsp56k/bootstrap.asm
|
||||
|
||||
Licence: GPLv2 or later
|
||||
|
||||
DSP56001 assembler, possibly buildable with a56 from
|
||||
http://www.zdomain.com/a56.html
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
/*(DEBLOBBED)*/
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
Driver: DVB AV7110 -- AV7110 cards
|
||||
|
||||
File: av7110/bootcode.bin
|
||||
|
||||
Licence: GPLv2 or later
|
||||
|
||||
ARM assembly source code available at http://www.linuxtv.org/downloads/firmware/Boot.S
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
/*(DEBLOBBED)*/
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
|
|
@ -0,0 +1 @@
|
|||
:/*(DEBLOBBED)*/
|
||||
|
|
@ -0,0 +1 @@
|
|||
:/*(DEBLOBBED)*/
|
||||
14
helpers/DATA/linux-lts-utopic/firmware/atmsar11.HEX
Normal file
14
helpers/DATA/linux-lts-utopic/firmware/atmsar11.HEX
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
:/*(DEBLOBBED)*/
|
||||
/*
|
||||
Madge Ambassador ATM Adapter microcode.
|
||||
Copyright (C) 1995-1999 Madge Networks Ltd.
|
||||
|
||||
This microcode data is placed under the terms of the GNU General
|
||||
Public License. The GPL is contained in /usr/doc/copyright/GPL on a
|
||||
Debian system and in the file COPYING in the Linux kernel source.
|
||||
|
||||
We would prefer you not to distribute modified versions without
|
||||
consultation and not to ask for assembly/other microcode source.
|
||||
*/
|
||||
|
||||
First record is start address in a __be32.
|
||||
109
helpers/DATA/linux-lts-utopic/firmware/av7110/Boot.S
Normal file
109
helpers/DATA/linux-lts-utopic/firmware/av7110/Boot.S
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
/*
|
||||
Boot.S: boot loader for Siemens DVB-S card
|
||||
|
||||
Copyright (C) 2001 Convergence integrated media GmbH
|
||||
Written by Ralph Metzler
|
||||
<rjkm@convergence.de>
|
||||
Copyright (C) 2006 Matthieu CASTET <castet.mattheiu@free.fr>
|
||||
|
||||
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
check AV711x_3_1.pdf for some hardware infos
|
||||
build it with :
|
||||
$ cc -mbig-endian -c Boot.S
|
||||
$ ld -Ttext 0x2c000000 -EB -o Boot Boot.o
|
||||
$ objcopy -Obinary Boot
|
||||
*/
|
||||
|
||||
.text
|
||||
.align
|
||||
.globl _start
|
||||
_start:
|
||||
b reset // reset vector
|
||||
movs pc, r14 // undefined
|
||||
subs pc, r14, #4 // SWI
|
||||
subs pc, r14, #4 // prefetch abort
|
||||
subs pc, r14, #8 // data abort
|
||||
subs pc, r14, #4 // reserved
|
||||
subs pc, r14, #4 // IRQ
|
||||
subs pc, r14, #4 // FIQ
|
||||
|
||||
.word tbl // table needed by firmware ROM
|
||||
tbl: .word (endtbl - tbl)
|
||||
.word 0
|
||||
.word conf
|
||||
endtbl: .word 0
|
||||
conf: .word 0xa5a55a5a
|
||||
.word 0x001f1555
|
||||
.word 0x00000009
|
||||
|
||||
reset: ldr r13, buffer
|
||||
ldr r4, flag
|
||||
mov r0, #0
|
||||
str r0, [r4]
|
||||
str r0, [r4, #4]
|
||||
|
||||
ldr r1, wait_address
|
||||
ldr r2, flag_address
|
||||
ldr r3, sram
|
||||
|
||||
copycode: // copy the code HW Sram
|
||||
ldmia r1!, {r5-r12}
|
||||
stmia r3!, {r5-r12}
|
||||
cmp r1, r2
|
||||
ble copycode
|
||||
ldr pc, sram // jump to the copied code
|
||||
|
||||
wait: ldrh r1, [r4] // wait for flag!=0
|
||||
cmp r1, #0
|
||||
beq wait
|
||||
|
||||
mov r1, r13 // buffer address
|
||||
ldr r3, [r4,#4] // destaddr
|
||||
|
||||
ldrh r2, [r4,#2] // get segment length
|
||||
add r2, r2, #63 // round length to next 64 bytes
|
||||
movs r2, r2, lsr #6 // and divide by 64
|
||||
moveq r0, #2 // if 0, set flag to 2, else signal
|
||||
strh r0, [r4] // that buffer is accepted by setting to 0
|
||||
beq wait
|
||||
|
||||
copyloop:
|
||||
ldmia r1!, {r5-r12}
|
||||
stmia r3!, {r5-r12}
|
||||
ldmia r1!, {r5-r12}
|
||||
stmia r3!, {r5-r12}
|
||||
subs r2, r2, #1
|
||||
bne copyloop
|
||||
|
||||
eor r13, r13, #0x1400 // switch to other buffer
|
||||
b wait
|
||||
|
||||
// flag is stored at 0x2c0003f8, length at 0x2c0003fa,
|
||||
// destaddr at 0x2c0003fc
|
||||
|
||||
flag: .word 0x2c0003f8
|
||||
|
||||
|
||||
// buffer 1 is at 0x2c000400, buffer 2 at 0x2c001000
|
||||
|
||||
buffer: .word 0x2c000400
|
||||
|
||||
sram: .word 0x9e000800
|
||||
wait_address: .word wait
|
||||
flag_address: .word flag
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
:10000000EA00000EE1B0F00EE25EF004E25EF00401
|
||||
:10001000E25EF008E25EF004E25EF004E25EF0040C
|
||||
:100020002C0000240000000C000000002C00003414
|
||||
:1000300000000000A5A55A5A001F15550000000930
|
||||
:10004000E59FD07CE59F4074E3A00000E5840000BC
|
||||
:10005000E5840004E59F1070E59F2070E59F306403
|
||||
:10006000E8B11FE0E8A31FE0E1510002DAFFFFFB67
|
||||
:10007000E59FF050E1D410B0E35100000AFFFFFC0F
|
||||
:10008000E1A0100DE5943004E1D420B2E282203FDB
|
||||
:10009000E1B0232203A00002E1C400B00AFFFFF494
|
||||
:1000A000E8B11FE0E8A31FE0E8B11FE0E8A31FE00C
|
||||
:1000B000E25220011AFFFFF9E22DDB05EAFFFFEC17
|
||||
:1000C0002C0003F82C0004009E0008002C00007493
|
||||
:0400D0002C0000C040
|
||||
:00000001FF
|
||||
1
helpers/DATA/linux-lts-utopic/firmware/cis/.gitignore
vendored
Normal file
1
helpers/DATA/linux-lts-utopic/firmware/cis/.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
*.cis
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
:/*(DEBLOBBED)*/
|
||||
|
||||
Copyright 2001, STMicrolectronics, Inc.
|
||||
Contact: steve.miller@st.com
|
||||
|
||||
Description:
|
||||
This file contains patch data for the CPiA2 (stv0672) VP4.
|
||||
|
||||
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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
98
helpers/DATA/linux-lts-utopic/firmware/dsp56k/bootstrap.asm
Normal file
98
helpers/DATA/linux-lts-utopic/firmware/dsp56k/bootstrap.asm
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
; Author: Frederik Noring <noring@nocrew.org>
|
||||
;
|
||||
; 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.
|
||||
|
||||
; DSP56k loader
|
||||
|
||||
; Host Interface
|
||||
M_BCR EQU $FFFE ; Port A Bus Control Register
|
||||
M_PBC EQU $FFE0 ; Port B Control Register
|
||||
M_PBDDR EQU $FFE2 ; Port B Data Direction Register
|
||||
M_PBD EQU $FFE4 ; Port B Data Register
|
||||
M_PCC EQU $FFE1 ; Port C Control Register
|
||||
M_PCDDR EQU $FFE3 ; Port C Data Direction Register
|
||||
M_PCD EQU $FFE5 ; Port C Data Register
|
||||
|
||||
M_HCR EQU $FFE8 ; Host Control Register
|
||||
M_HSR EQU $FFE9 ; Host Status Register
|
||||
M_HRX EQU $FFEB ; Host Receive Data Register
|
||||
M_HTX EQU $FFEB ; Host Transmit Data Register
|
||||
|
||||
; SSI, Synchronous Serial Interface
|
||||
M_RX EQU $FFEF ; Serial Receive Data Register
|
||||
M_TX EQU $FFEF ; Serial Transmit Data Register
|
||||
M_CRA EQU $FFEC ; SSI Control Register A
|
||||
M_CRB EQU $FFED ; SSI Control Register B
|
||||
M_SR EQU $FFEE ; SSI Status Register
|
||||
M_TSR EQU $FFEE ; SSI Time Slot Register
|
||||
|
||||
; Exception Processing
|
||||
M_IPR EQU $FFFF ; Interrupt Priority Register
|
||||
|
||||
org P:$0
|
||||
start jmp <$40
|
||||
|
||||
org P:$40
|
||||
; ; Zero 16384 DSP X and Y words
|
||||
; clr A #0,r0
|
||||
; clr B #0,r4
|
||||
; do #64,<_block1
|
||||
; rep #256
|
||||
; move A,X:(r0)+ B,Y:(r4)+
|
||||
;_block1 ; Zero (32768-512) Program words
|
||||
; clr A #512,r0
|
||||
; do #126,<_block2
|
||||
; rep #256
|
||||
; move A,P:(r0)+
|
||||
;_block2
|
||||
|
||||
; Copy DSP program control
|
||||
move #real,r0
|
||||
move #upload,r1
|
||||
do #upload_end-upload,_copy
|
||||
movem P:(r0)+,x0
|
||||
movem x0,P:(r1)+
|
||||
_copy movep #4,X:<<M_HCR
|
||||
movep #$c00,X:<<M_IPR
|
||||
and #<$fe,mr
|
||||
jmp upload
|
||||
|
||||
real
|
||||
org P:$7ea9
|
||||
upload
|
||||
movep #1,X:<<M_PBC
|
||||
movep #0,X:<<M_BCR
|
||||
|
||||
next jclr #0,X:<<M_HSR,*
|
||||
movep X:<<M_HRX,A
|
||||
move #>3,x0
|
||||
cmp x0,A #>1,x0
|
||||
jeq <$0
|
||||
_get_address
|
||||
jclr #0,X:<<M_HSR,_get_address
|
||||
movep X:<<M_HRX,r0
|
||||
_get_length
|
||||
jclr #0,X:<<M_HSR,_get_length
|
||||
movep X:<<M_HRX,y0
|
||||
cmp x0,A #>2,x0
|
||||
jeq load_X
|
||||
cmp x0,A
|
||||
jeq load_Y
|
||||
|
||||
load_P do y0,_load_P
|
||||
jclr #0,X:<<M_HSR,*
|
||||
movep X:<<M_HRX,P:(r0)+
|
||||
_load_P jmp next
|
||||
load_X do y0,_load_X
|
||||
jclr #0,X:<<M_HSR,*
|
||||
movep X:<<M_HRX,X:(r0)+
|
||||
_load_X jmp next
|
||||
load_Y do y0,_load_Y
|
||||
jclr #0,X:<<M_HSR,*
|
||||
movep X:<<M_HRX,Y:(r0)+
|
||||
_load_Y jmp next
|
||||
|
||||
upload_end
|
||||
end
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
:100000000C004000000000000000000000000000A4
|
||||
:1000100000000000000000000000000000000000E0
|
||||
:1000200000000000000000000000000000000000D0
|
||||
:1000300000000000000000000000000000000000C0
|
||||
:1000400000000000000000000000000000000000B0
|
||||
:1000500000000000000000000000000000000000A0
|
||||
:100060000000000000000000000000000000000090
|
||||
:100070000000000000000000000000000000000080
|
||||
:100080000000000000000000000000000000000070
|
||||
:100090000000000000000000000000000000000060
|
||||
:1000A0000000000000000000000000000000000050
|
||||
:1000B0000000000000000000000000000000000040
|
||||
:1000C00060F40000004F61F400007EA9062E80005D
|
||||
:1000D000004707D88407598408F4A800000408F4EE
|
||||
:1000E000BF000C0000FEB80AF080007EA908F4A052
|
||||
:1000F00000000108F4BE0000000AA980007EAD08DF
|
||||
:100100004E2B44F40000000344F4450000010EA00F
|
||||
:10011000000AA980007EB508502B0AA980007EB88D
|
||||
:1001200008462B44F4450000020AF0AA007EC920CC
|
||||
:1001300000450AF0AA007ED006C600007EC60AA9C5
|
||||
:1001400080007EC408586B0AF080007EAD06C600B1
|
||||
:10015000007ECD0AA980007ECB0858AB0AF0800053
|
||||
:100160007EAD06C600007ED40AA980007ED2085863
|
||||
:07017000EB0AF080007EADF8
|
||||
:00000001FF
|
||||
/* DSP56001 bootstrap code */
|
||||
10
helpers/DATA/linux-lts-utopic/firmware/edgeport/boot.H16
Normal file
10
helpers/DATA/linux-lts-utopic/firmware/edgeport/boot.H16
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
:/*(DEBLOBBED)*/
|
||||
//**************************************************************
|
||||
//* Edgeport/4 Binary Image
|
||||
//* Generated by HEX2C v1.06
|
||||
//* Copyright (C) 1998 Inside Out Networks, All rights reserved.
|
||||
//* 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.
|
||||
//**************************************************************
|
||||
10
helpers/DATA/linux-lts-utopic/firmware/edgeport/boot2.H16
Normal file
10
helpers/DATA/linux-lts-utopic/firmware/edgeport/boot2.H16
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
:/*(DEBLOBBED)*/
|
||||
//**************************************************************
|
||||
//* Edgeport/4 Binary Image
|
||||
//* Generated by HEX2C v1.06
|
||||
//* Copyright (C) 1998 Inside Out Networks, All rights reserved.
|
||||
//* 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.
|
||||
//**************************************************************
|
||||
10
helpers/DATA/linux-lts-utopic/firmware/edgeport/down.H16
Normal file
10
helpers/DATA/linux-lts-utopic/firmware/edgeport/down.H16
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
:/*(DEBLOBBED)*/
|
||||
//**************************************************************
|
||||
//* Edgeport/4 Binary Image
|
||||
//* Generated by HEX2C v1.06
|
||||
//* Copyright (C) 1998 Inside Out Networks, All rights reserved.
|
||||
//* 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.
|
||||
//**************************************************************
|
||||
10
helpers/DATA/linux-lts-utopic/firmware/edgeport/down2.H16
Normal file
10
helpers/DATA/linux-lts-utopic/firmware/edgeport/down2.H16
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
:/*(DEBLOBBED)*/
|
||||
//**************************************************************
|
||||
//* Edgeport/4 Binary Image
|
||||
//* Generated by HEX2C v1.06
|
||||
//* Copyright (C) 1998 Inside Out Networks, All rights reserved.
|
||||
//* 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.
|
||||
//**************************************************************
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
:/*(DEBLOBBED)*/
|
||||
//**************************************************************
|
||||
//* Edgeport Binary Image (for TI based products)
|
||||
//* Generated by TIBin2C v2.00 (watchport)
|
||||
//* Copyright (C) 2001 Inside Out Networks, All rights reserved.
|
||||
//**************************************************************
|
||||
280
helpers/DATA/linux-lts-utopic/firmware/ihex2fw.c
Normal file
280
helpers/DATA/linux-lts-utopic/firmware/ihex2fw.c
Normal file
|
|
@ -0,0 +1,280 @@
|
|||
/*
|
||||
* Parser/loader for IHEX formatted data.
|
||||
*
|
||||
* Copyright © 2008 David Woodhouse <dwmw2@infradead.org>
|
||||
* Copyright © 2005 Jan Harkes <jaharkes@cs.cmu.edu>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/mman.h>
|
||||
#include <fcntl.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#define _GNU_SOURCE
|
||||
#include <getopt.h>
|
||||
|
||||
|
||||
struct ihex_binrec {
|
||||
struct ihex_binrec *next; /* not part of the real data structure */
|
||||
uint32_t addr;
|
||||
uint16_t len;
|
||||
uint8_t data[];
|
||||
};
|
||||
|
||||
/**
|
||||
* nybble/hex are little helpers to parse hexadecimal numbers to a byte value
|
||||
**/
|
||||
static uint8_t nybble(const uint8_t n)
|
||||
{
|
||||
if (n >= '0' && n <= '9') return n - '0';
|
||||
else if (n >= 'A' && n <= 'F') return n - ('A' - 10);
|
||||
else if (n >= 'a' && n <= 'f') return n - ('a' - 10);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static uint8_t hex(const uint8_t *data, uint8_t *crc)
|
||||
{
|
||||
uint8_t val = (nybble(data[0]) << 4) | nybble(data[1]);
|
||||
*crc += val;
|
||||
return val;
|
||||
}
|
||||
|
||||
static int process_ihex(uint8_t *data, ssize_t size);
|
||||
static void file_record(struct ihex_binrec *record);
|
||||
static int output_records(int outfd);
|
||||
|
||||
static int sort_records = 0;
|
||||
static int wide_records = 0;
|
||||
static int include_jump = 0;
|
||||
|
||||
static int usage(void)
|
||||
{
|
||||
fprintf(stderr, "ihex2fw: Convert ihex files into binary "
|
||||
"representation for use by Linux kernel\n");
|
||||
fprintf(stderr, "usage: ihex2fw [<options>] <src.HEX> <dst.fw>\n");
|
||||
fprintf(stderr, " -w: wide records (16-bit length)\n");
|
||||
fprintf(stderr, " -s: sort records by address\n");
|
||||
fprintf(stderr, " -j: include records for CS:IP/EIP address\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int infd, outfd;
|
||||
struct stat st;
|
||||
uint8_t *data;
|
||||
int opt;
|
||||
|
||||
while ((opt = getopt(argc, argv, "wsj")) != -1) {
|
||||
switch (opt) {
|
||||
case 'w':
|
||||
wide_records = 1;
|
||||
break;
|
||||
case 's':
|
||||
sort_records = 1;
|
||||
break;
|
||||
case 'j':
|
||||
include_jump = 1;
|
||||
break;
|
||||
return usage();
|
||||
}
|
||||
}
|
||||
|
||||
if (optind + 2 != argc)
|
||||
return usage();
|
||||
|
||||
if (!strcmp(argv[optind], "-"))
|
||||
infd = 0;
|
||||
else
|
||||
infd = open(argv[optind], O_RDONLY);
|
||||
if (infd == -1) {
|
||||
fprintf(stderr, "Failed to open source file: %s",
|
||||
strerror(errno));
|
||||
return usage();
|
||||
}
|
||||
if (fstat(infd, &st)) {
|
||||
perror("stat");
|
||||
return 1;
|
||||
}
|
||||
data = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, infd, 0);
|
||||
if (data == MAP_FAILED) {
|
||||
perror("mmap");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (!strcmp(argv[optind+1], "-"))
|
||||
outfd = 1;
|
||||
else
|
||||
outfd = open(argv[optind+1], O_TRUNC|O_CREAT|O_WRONLY, 0644);
|
||||
if (outfd == -1) {
|
||||
fprintf(stderr, "Failed to open destination file: %s",
|
||||
strerror(errno));
|
||||
return usage();
|
||||
}
|
||||
if (process_ihex(data, st.st_size))
|
||||
return 1;
|
||||
|
||||
return output_records(outfd);
|
||||
}
|
||||
|
||||
static int process_ihex(uint8_t *data, ssize_t size)
|
||||
{
|
||||
struct ihex_binrec *record;
|
||||
uint32_t offset = 0;
|
||||
uint32_t data32;
|
||||
uint8_t type, crc = 0, crcbyte = 0;
|
||||
int i, j;
|
||||
int line = 1;
|
||||
int len;
|
||||
|
||||
i = 0;
|
||||
next_record:
|
||||
/* search for the start of record character */
|
||||
while (i < size) {
|
||||
if (data[i] == '\n') line++;
|
||||
if (data[i++] == ':') break;
|
||||
}
|
||||
|
||||
/* Minimum record length would be about 10 characters */
|
||||
if (i + 10 > size) {
|
||||
fprintf(stderr, "Can't find valid record at line %d\n", line);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
len = hex(data + i, &crc); i += 2;
|
||||
if (wide_records) {
|
||||
len <<= 8;
|
||||
len += hex(data + i, &crc); i += 2;
|
||||
}
|
||||
record = malloc((sizeof (*record) + len + 3) & ~3);
|
||||
if (!record) {
|
||||
fprintf(stderr, "out of memory for records\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
memset(record, 0, (sizeof(*record) + len + 3) & ~3);
|
||||
record->len = len;
|
||||
|
||||
/* now check if we have enough data to read everything */
|
||||
if (i + 8 + (record->len * 2) > size) {
|
||||
fprintf(stderr, "Not enough data to read complete record at line %d\n",
|
||||
line);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
record->addr = hex(data + i, &crc) << 8; i += 2;
|
||||
record->addr |= hex(data + i, &crc); i += 2;
|
||||
type = hex(data + i, &crc); i += 2;
|
||||
|
||||
for (j = 0; j < record->len; j++, i += 2)
|
||||
record->data[j] = hex(data + i, &crc);
|
||||
|
||||
/* check CRC */
|
||||
crcbyte = hex(data + i, &crc); i += 2;
|
||||
if (crc != 0) {
|
||||
fprintf(stderr, "CRC failure at line %d: got 0x%X, expected 0x%X\n",
|
||||
line, crcbyte, (unsigned char)(crcbyte-crc));
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* Done reading the record */
|
||||
switch (type) {
|
||||
case 0:
|
||||
/* old style EOF record? */
|
||||
if (!record->len)
|
||||
break;
|
||||
|
||||
record->addr += offset;
|
||||
file_record(record);
|
||||
goto next_record;
|
||||
|
||||
case 1: /* End-Of-File Record */
|
||||
if (record->addr || record->len) {
|
||||
fprintf(stderr, "Bad EOF record (type 01) format at line %d",
|
||||
line);
|
||||
return -EINVAL;
|
||||
}
|
||||
break;
|
||||
|
||||
case 2: /* Extended Segment Address Record (HEX86) */
|
||||
case 4: /* Extended Linear Address Record (HEX386) */
|
||||
if (record->addr || record->len != 2) {
|
||||
fprintf(stderr, "Bad HEX86/HEX386 record (type %02X) at line %d\n",
|
||||
type, line);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* We shouldn't really be using the offset for HEX86 because
|
||||
* the wraparound case is specified quite differently. */
|
||||
offset = record->data[0] << 8 | record->data[1];
|
||||
offset <<= (type == 2 ? 4 : 16);
|
||||
goto next_record;
|
||||
|
||||
case 3: /* Start Segment Address Record */
|
||||
case 5: /* Start Linear Address Record */
|
||||
if (record->addr || record->len != 4) {
|
||||
fprintf(stderr, "Bad Start Address record (type %02X) at line %d\n",
|
||||
type, line);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
memcpy(&data32, &record->data[0], sizeof(data32));
|
||||
data32 = htonl(data32);
|
||||
memcpy(&record->data[0], &data32, sizeof(data32));
|
||||
|
||||
/* These records contain the CS/IP or EIP where execution
|
||||
* starts. If requested output this as a record. */
|
||||
if (include_jump)
|
||||
file_record(record);
|
||||
goto next_record;
|
||||
|
||||
default:
|
||||
fprintf(stderr, "Unknown record (type %02X)\n", type);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct ihex_binrec *records;
|
||||
|
||||
static void file_record(struct ihex_binrec *record)
|
||||
{
|
||||
struct ihex_binrec **p = &records;
|
||||
|
||||
while ((*p) && (!sort_records || (*p)->addr < record->addr))
|
||||
p = &((*p)->next);
|
||||
|
||||
record->next = *p;
|
||||
*p = record;
|
||||
}
|
||||
|
||||
static int output_records(int outfd)
|
||||
{
|
||||
unsigned char zeroes[6] = {0, 0, 0, 0, 0, 0};
|
||||
struct ihex_binrec *p = records;
|
||||
|
||||
while (p) {
|
||||
uint16_t writelen = (p->len + 9) & ~3;
|
||||
|
||||
p->addr = htonl(p->addr);
|
||||
p->len = htons(p->len);
|
||||
if (write(outfd, &p->addr, writelen) != writelen)
|
||||
return 1;
|
||||
p = p->next;
|
||||
}
|
||||
/* EOF record is zero length, since we don't bother to represent
|
||||
the type field in the binary version */
|
||||
if (write(outfd, zeroes, 6) != 6)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
:03000000020200F9
|
||||
:0400230002055F0073
|
||||
:0400430002010000B6
|
||||
:050030000000000000CB
|
||||
:10010000020296000200000002000000020000004F
|
||||
:1001100002000000020000000200000002000000D7
|
||||
:1001200002000000020000000204610002048900D5
|
||||
:1002000075815EE4F532F533F530F531F534C20031
|
||||
:10021000C201A90074FE901000F0A3D9FC74FD90F7
|
||||
:100220001100F0A3D9FC7402907F9DF07400907FC0
|
||||
:1002300097F07486907F9EF0907F957403F0907F86
|
||||
:10024000AFE0D2E0F07401907FABF0907FAEF09021
|
||||
:100250007FAC7404F0907FAD7404F0907FC9F074AB
|
||||
:1002600084907F98F07400F59875C8307B059120D4
|
||||
:10027000D2CA759850D2E8D2AFD2AC7400F586904D
|
||||
:100280007FD67402F0792E7A007B00DBFEDAFAD991
|
||||
:10029000F67406F080FEC086C082C083C084C0852C
|
||||
:1002A000C0E0E591C2E4F591907FAB7401F0907FDE
|
||||
:1002B000E8E0F9A3E0FAA3E0FBA3E0FCE95460B4B2
|
||||
:1002C0000003020339B4406EBA000B12042040034D
|
||||
:1002D00002040202040ABA010302040ABA02030277
|
||||
:1002E000040ABA0303020444BA041EBB000A907F46
|
||||
:1002F00095E04402F0020402907F98E054FDF090F3
|
||||
:100300007F95E054FDF0020402BA050302040ABA24
|
||||
:100310000619BB0008E533D395320203DEBB0108A2
|
||||
:10032000E532C395330203DE02040ABA07058B34B3
|
||||
:1003300002040202040A02040ABA0020B9801090E2
|
||||
:100340007F00E4F0A3F0907FB57402F0020402B9DC
|
||||
:10035000820280EBB9810280E602040ABA010FBB77
|
||||
:10036000000302040ABB010302040202040ABA03E6
|
||||
:100370000FBB000302040ABB010302040202040AC9
|
||||
:10038000BA0656BC010F907FD47406F0907FD574E6
|
||||
:1003900012F0020402BC0212BB006F907FD47406FC
|
||||
:1003A000F0907FD57424F0020402BC03297404C3C6
|
||||
:1003B0009B40576055EB2B9006442582F5827400D4
|
||||
:1003C0003583F583E0F9A3E0FA907FD4E9F0907FDC
|
||||
:1003D000D5EAF002040202040ABA080F7401907F01
|
||||
:1003E00000F07401907FB5F0020402BA0903020420
|
||||
:1003F00002BA0A0574000203DEBA0B030204020209
|
||||
:10040000040A907FB47402F08009907FB4E0440144
|
||||
:10041000F08000D0E0D085D084D083D082D08632E6
|
||||
:10042000EB20E71EC3940A5019EB2324FEF58274D7
|
||||
:10043000053400F583E0F5CBF5CDA3E0F5CAF5CCA6
|
||||
:10044000C322D322B94111EB64FF5484FB907F98FF
|
||||
:10045000E0547B4BF0020402907F9BE064FF0203B8
|
||||
:10046000DEC086C082C083C084C085C0E0E591C282
|
||||
:10047000E4F591907FA97404F01205A0D0E0D08536
|
||||
:10048000D084D083D082D08632C086C082C083C060
|
||||
:1004900084C085C0E0E591C2E4F591907FAA740420
|
||||
:1004A000F0907FC9E0F9E4F586907DC075851085F0
|
||||
:1004B0003284E005860584F0E584B53302800905C1
|
||||
:1004C000320586A3D9EC8000907FC9F0B131D0E02D
|
||||
:1004D000D085D084D083D082D08632E4F586907FD8
|
||||
:1004E000BCE020E14B907D00E532F0A3E533F0A3C2
|
||||
:1004F000E530F0A3E531F0A3E430000104F0A305FA
|
||||
:10050000869010007910E0A30586F0A30586D9F641
|
||||
:10051000058674FCF0A305869011007910E0A30510
|
||||
:1005200086F0A30586D9F6E4F586907FBD7426F0A3
|
||||
:1005300022200013E532B53301220533758310857F
|
||||
:100540003382E0F599D2007400B5340122E533D34B
|
||||
:100550009532C3953440F5753400D2010205A0C030
|
||||
:1005600086C082C083C084C085C0E0309907C2992C
|
||||
:10057000C20012053430980512058AC298D0E0D026
|
||||
:1005800085D084D083D082D0863275831185308225
|
||||
:100590000582E599F0E582B53101220530B1A0224E
|
||||
:1005A000907FB8E020E138200136E530B5310122F6
|
||||
:1005B000E4F5867583110586907E00F0A3058679A3
|
||||
:1005C00001E530B5310280100531853182E00586C4
|
||||
:1005D000F0A3058609B940E9907FB9E96001F022EE
|
||||
:1005E000C201E4F586907E007401F0A37402F090DD
|
||||
:1005F0007FB9F022C299F5993099FDC29922E55E42
|
||||
:10060000F63CFD8FFEC8FF64FFB2FFD9FFEDFFF39C
|
||||
:10061000FFFA12010001FFFFFF40CD06040189AB84
|
||||
:1006200001020301090220000101008032090400D7
|
||||
:100630000002FFFFFF0007058203400001070502DB
|
||||
:1006400002400000064C0650067206A0040300009B
|
||||
:100650002203410043004D00450020007500730057
|
||||
:100660006200200077006900640067006500740084
|
||||
:1006700073002E03410043004D004500200055004B
|
||||
:1006800053004200200073006500720069006100A1
|
||||
:100690006C0020007700690064006700650074004A
|
||||
:0606A000060334003700E0
|
||||
:00000001FF
|
||||
1124
helpers/DATA/linux-lts-utopic/firmware/keyspan_pda/keyspan_pda.S
Normal file
1124
helpers/DATA/linux-lts-utopic/firmware/keyspan_pda/keyspan_pda.S
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,87 @@
|
|||
:03000000020200F9
|
||||
:0400230002059B0037
|
||||
:050030000000000000CB
|
||||
:0400430002010000B6
|
||||
:100100000202BA000200000002000000020000002B
|
||||
:1001100002000000020000000200000002000000D7
|
||||
:100120000200000002000000020485000204B90081
|
||||
:1002000075815EE4F532F533F530F531F534C20031
|
||||
:10021000C201A90074FE901000F0A3D9FC74FD90F7
|
||||
:100220001100F0A3D9FC907F9474BFF0907F957477
|
||||
:10023000EFF07410907F9EF07400907F98F07440FF
|
||||
:10024000907F9DF07400907F97F07482907F9EF075
|
||||
:10025000907F957403F0907FAFE0D2E0F07401904E
|
||||
:100260007FABF0907FAEF0907FAC7404F0907FADE8
|
||||
:100270007404F0907FC9F07407907FAFF074209001
|
||||
:100280007F9CF07480907F98F07453F59875C83017
|
||||
:100290007B059144D2CA759850D2E8D2AFD2AC74E3
|
||||
:1002A00000F586907FD67402F0792E7A007B00DB11
|
||||
:1002B000FEDAFAD9F67406F080FEC086C082C083EA
|
||||
:1002C000C084C085C0E0E591C2E4F591907FAB7435
|
||||
:1002D00001F0907FE8E0F9A3E0FAA3E0FBA3E0FCE3
|
||||
:1002E000E95460B4000302035DB4406EBA000B121F
|
||||
:1002F0000444400302042602042EBA010302042E21
|
||||
:10030000BA020302042EBA0303020468BA041EBB35
|
||||
:10031000000A907F95E04402F0020426907F98E066
|
||||
:1003200054FDF0907F95E054FDF0020426BA0503D9
|
||||
:1003300002042EBA0619BB0008E533D39532020435
|
||||
:1003400002BB0108E532C3953302040202042EBA4F
|
||||
:1003500007058B3402042602042E02042EBA002064
|
||||
:10036000B98010907F00E4F0A3F0907FB57402F0A4
|
||||
:10037000020426B9820280EBB9810280E602042ED3
|
||||
:10038000BA010FBB000302042EBB010302042602C4
|
||||
:10039000042EBA030FBB000302042EBB01030204A8
|
||||
:1003A0002602042EBA0656BC010F907FD47406F0C4
|
||||
:1003B000907FD5745AF0020426BC0212BB006F90E5
|
||||
:1003C0007FD47406F0907FD5746CF0020426BC03D1
|
||||
:1003D000297404C39B40576055EB2B90068C2582F3
|
||||
:1003E000F58274003583F583E0F9A3E0FA907FD4B9
|
||||
:1003F000E9F0907FD5EAF002042602042EBA080F35
|
||||
:100400007401907F00F07401907FB5F0020426BA69
|
||||
:100410000903020426BA0A057400020402BA0B0397
|
||||
:1004200002042602042E907FB47402F08009907FAB
|
||||
:10043000B4E04401F08000D0E0D085D084D083D0F7
|
||||
:1004400082D08632EB20E71EC3940A5019EB232496
|
||||
:1004500046F58274063400F583E0F5CBF5CDA3E0D4
|
||||
:10046000F5CAF5CCC322D322B94111EB64FF548005
|
||||
:10047000FB907F98E0547F4BF0020426907F9BE036
|
||||
:1004800064FF020402C086C082C083C084C085C0ED
|
||||
:10049000E0E591C2E4F591907FA97404F074209096
|
||||
:1004A0007F9CF01205DC7420907F9CF0D0E0D0851A
|
||||
:1004B000D084D083D082D08632C086C082C083C030
|
||||
:1004C00084C085C0E07410907F9CF0E591C2E4F593
|
||||
:1004D00091907FAA7404F0907FC9E0F9E4F58690CA
|
||||
:1004E0007DC0758510853284E005860584F0E5843D
|
||||
:1004F000B53302800905320586A3D9EC8000907FD0
|
||||
:10050000C9F0B16D7420907F9CF0D0E0D085D0848C
|
||||
:10051000D083D082D08632E4F586907FBCE020E1A3
|
||||
:100520004B907D00E532F0A3E533F0A3E530F0A376
|
||||
:10053000E531F0A3E430000104F0A305869010003B
|
||||
:100540007910E0A30586F0A30586D9F6058674FC2C
|
||||
:10055000F0A305869011007910E0A30586F0A305AD
|
||||
:1005600086D9F6E4F586907FBD7426F0222000132C
|
||||
:10057000E532B53301220533758310853382E0F50A
|
||||
:1005800099D2007400B5340122E533D39532C39576
|
||||
:100590003440F5753400D2010205DCC086C082C04B
|
||||
:1005A00083C084C085C0E0309907C299C20012059B
|
||||
:1005B000703098051205C6C298D0E0D085D084D09E
|
||||
:1005C00083D082D086327583118530820582E59989
|
||||
:1005D000F0E582B53101220530B1DC227410907F44
|
||||
:1005E0009CF0907FB8E020E13E20013CE530B53141
|
||||
:1005F0000122E4F5867583110586907E00F0A3053F
|
||||
:10060000867901E530B5310280100531853182E00F
|
||||
:100610000586F0A3058609B940E97410907F9CF027
|
||||
:10062000907FB9E96001F022C201E4F586907E0076
|
||||
:100630007401F0A37402F0907FB9F022C299F59989
|
||||
:100640003099FDC29922E55EF63CFD8FFEC8FF643D
|
||||
:10065000FFB2FFD9FFEDFFF3FFFA12010001FFFF28
|
||||
:10066000FF40CD06040189AB01020301090220000D
|
||||
:1006700001010080320904000002FFFFFF000705AE
|
||||
:10068000820340000107050202400000069406981C
|
||||
:1006900006BA06E8040300002203410043004D00AF
|
||||
:1006A000450020007500730062002000770069009B
|
||||
:1006B000640067006500740073002E03410043006E
|
||||
:1006C0004D004500200055005300420020007300FB
|
||||
:1006D00065007200690061006C002000770069000D
|
||||
:0E06E0006400670065007400060334003700F4
|
||||
:00000001FF
|
||||
1192
helpers/DATA/linux-lts-utopic/firmware/keyspan_pda/xircom_pgs.S
Normal file
1192
helpers/DATA/linux-lts-utopic/firmware/keyspan_pda/xircom_pgs.S
Normal file
File diff suppressed because it is too large
Load diff
45
helpers/DATA/linux-lts-utopic/firmware/whiteheat.HEX
Normal file
45
helpers/DATA/linux-lts-utopic/firmware/whiteheat.HEX
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
:/*(DEBLOBBED)*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* whiteheat.h -- ConnectTech WhiteHEAT Firmware.
|
||||
*
|
||||
* Copyright (C) 2000-2002 ConnectTech Inc (http://www.connecttech.com/)
|
||||
*
|
||||
* 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* (10/09/2002) Stuart MacDonald
|
||||
* Firmware 4.06
|
||||
*
|
||||
* (04/09/2000) gkh
|
||||
* Updated the firmware with the latest provided by ConnectTech.
|
||||
*
|
||||
* (01/16/2000) gkh
|
||||
* Fixed my intel hex processing tool, so now the firmware actually
|
||||
* matches the original file (this was causing a few problems...)
|
||||
*
|
||||
* (01/15/2000) gkh
|
||||
* Added debug loader firmware if DEBUG is #defined:
|
||||
* Port 1 LED flashes when the vend_ax program is running
|
||||
* Port 2 LED flashes when any SETUP command arrives
|
||||
* Port 3 LED flashes when any valid VENDOR request occurs
|
||||
* Port 4 LED flashes when the EXTERNAL RAM DOWNLOAD request occurs
|
||||
*
|
||||
* version 1.0 (01/09/2000) gkh
|
||||
* Original firmware from ConnectTech massaged a little to be program
|
||||
* readable.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#define whiteheat_DATE "20000106"
|
||||
45
helpers/DATA/linux-lts-utopic/firmware/whiteheat_loader.HEX
Normal file
45
helpers/DATA/linux-lts-utopic/firmware/whiteheat_loader.HEX
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
:/*(DEBLOBBED)*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* whiteheat.h -- ConnectTech WhiteHEAT Firmware.
|
||||
*
|
||||
* Copyright (C) 2000-2002 ConnectTech Inc (http://www.connecttech.com/)
|
||||
*
|
||||
* 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* (10/09/2002) Stuart MacDonald
|
||||
* Firmware 4.06
|
||||
*
|
||||
* (04/09/2000) gkh
|
||||
* Updated the firmware with the latest provided by ConnectTech.
|
||||
*
|
||||
* (01/16/2000) gkh
|
||||
* Fixed my intel hex processing tool, so now the firmware actually
|
||||
* matches the original file (this was causing a few problems...)
|
||||
*
|
||||
* (01/15/2000) gkh
|
||||
* Added debug loader firmware if DEBUG is #defined:
|
||||
* Port 1 LED flashes when the vend_ax program is running
|
||||
* Port 2 LED flashes when any SETUP command arrives
|
||||
* Port 3 LED flashes when any valid VENDOR request occurs
|
||||
* Port 4 LED flashes when the EXTERNAL RAM DOWNLOAD request occurs
|
||||
*
|
||||
* version 1.0 (01/09/2000) gkh
|
||||
* Original firmware from ConnectTech massaged a little to be program
|
||||
* readable.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#define whiteheat_DATE "20000106"
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
:/*(DEBLOBBED)*/
|
||||
/*****************************************************************************
|
||||
*
|
||||
* whiteheat.h -- ConnectTech WhiteHEAT Firmware.
|
||||
*
|
||||
* Copyright (C) 2000-2002 ConnectTech Inc (http://www.connecttech.com/)
|
||||
*
|
||||
* 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* (10/09/2002) Stuart MacDonald
|
||||
* Firmware 4.06
|
||||
*
|
||||
* (04/09/2000) gkh
|
||||
* Updated the firmware with the latest provided by ConnectTech.
|
||||
*
|
||||
* (01/16/2000) gkh
|
||||
* Fixed my intel hex processing tool, so now the firmware actually
|
||||
* matches the original file (this was causing a few problems...)
|
||||
*
|
||||
* (01/15/2000) gkh
|
||||
* Added debug loader firmware if DEBUG is #defined:
|
||||
* Port 1 LED flashes when the vend_ax program is running
|
||||
* Port 2 LED flashes when any SETUP command arrives
|
||||
* Port 3 LED flashes when any valid VENDOR request occurs
|
||||
* Port 4 LED flashes when the EXTERNAL RAM DOWNLOAD request occurs
|
||||
*
|
||||
* version 1.0 (01/09/2000) gkh
|
||||
* Original firmware from ConnectTech massaged a little to be program
|
||||
* readable.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#define whiteheat_DATE "20000106"
|
||||
56
helpers/make-linux-lts-utopic
Normal file
56
helpers/make-linux-lts-utopic
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2008-2014 Rubén Rodríguez <ruben@trisquel.info>
|
||||
#
|
||||
# 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
#
|
||||
|
||||
|
||||
VERSION=1
|
||||
|
||||
. ./config
|
||||
|
||||
for PATCH in $DATA/*.patch ; do
|
||||
patch -p1 < $PATCH
|
||||
done
|
||||
|
||||
sh $DATA/deblob-3.16 --force
|
||||
|
||||
rm firmware -rf
|
||||
cp -a $DATA/firmware .
|
||||
|
||||
# Compile with less modules and avoid abi check
|
||||
echo 'skipmodule = true' >> debian.master/rules.d/0-common-vars.mk
|
||||
echo 'skipabi = true' >> debian.master/rules.d/0-common-vars.mk
|
||||
echo 'skipmodule = true' >> debian/rules.d/0-common-vars.mk
|
||||
echo 'skipabi = true' >> debian/rules.d/0-common-vars.mk
|
||||
|
||||
line=$(grep -n ')-Ubuntu' debian/rules.d/0-common-vars.mk|cut -d: -f1)
|
||||
sed $(expr $line - 1 ),$(expr $line + 1 )d debian/rules.d/0-common-vars.mk -i
|
||||
sed s/family=ubuntu/family=trisquel/ -i debian/rules.d/0-common-vars.mk
|
||||
|
||||
rename s/ubuntu/trisquel/ debian.*/config/config.common.ubuntu
|
||||
|
||||
sed 's/Linux/Linux-libre/g' debian/control debian/control.stub -i
|
||||
|
||||
sed '/^firmware/d' ./debian*/abi/*/fwinfo -i
|
||||
echo > ./debian.master/d-i/firmware/nic-modules
|
||||
echo > ./debian.master/d-i/firmware/scsi-modules
|
||||
|
||||
changelog "Removed non-free bits"
|
||||
|
||||
cp debian/changelog debian.master/changelog
|
||||
|
||||
PARALLEL=true compile
|
||||
Loading…
Add table
Add a link
Reference in a new issue