mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-11 14:10:13 +03:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b1001acaf0 | ||
|
|
dcd36d47d2 |
@@ -15,6 +15,7 @@ BR2_i386=y
|
||||
# BR2_nios2 is not set
|
||||
# BR2_powerpc is not set
|
||||
# BR2_sh is not set
|
||||
# BR2_sh64 is not set
|
||||
# BR2_sparc is not set
|
||||
# BR2_sparc64 is not set
|
||||
# BR2_x86_64 is not set
|
||||
|
||||
197
.gitlab-ci.yml
197
.gitlab-ci.yml
@@ -1,197 +0,0 @@
|
||||
# Configuration for Gitlab-CI.
|
||||
# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
|
||||
# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in.
|
||||
# It needs to be regenerated every time a defconfig is added, using
|
||||
# "make .gitlab-ci.yml".
|
||||
|
||||
image: debian:stable
|
||||
|
||||
before_script:
|
||||
- dpkg --add-architecture i386
|
||||
# The container has no package lists, so need to update first
|
||||
- apt-get update -qq
|
||||
- apt-get install -y -qq --no-install-recommends
|
||||
build-essential locales bc ca-certificates file rsync gcc-multilib
|
||||
git bzr cvs mercurial subversion libc6:i386 unzip wget cpio
|
||||
# To be able to generate a toolchain with locales, enable one UTF-8 locale
|
||||
- sed -i 's/# \(en_US.UTF-8\)/\1/' /etc/locale.gen
|
||||
- /usr/sbin/locale-gen
|
||||
|
||||
.defconfig_script: &defconfig_script
|
||||
- echo 'Configure Buildroot'
|
||||
- make ${CI_BUILD_NAME}
|
||||
- echo 'Build buildroot'
|
||||
- |
|
||||
make > >(tee build.log |grep '>>>') 2>&1 || {
|
||||
echo 'Failed build last output'
|
||||
tail -200 build.log
|
||||
exit 1
|
||||
}
|
||||
|
||||
check-gitlab-ci.yml:
|
||||
script:
|
||||
- mv .gitlab-ci.yml .gitlab-ci.yml.orig
|
||||
- make .gitlab-ci.yml
|
||||
- diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
|
||||
|
||||
.defconfig: &defconfig
|
||||
# Running the defconfigs for every push is too much, so limit to
|
||||
# explicit triggers through the API.
|
||||
only:
|
||||
- triggers
|
||||
- tags
|
||||
script: *defconfig_script
|
||||
artifacts:
|
||||
when: always
|
||||
expire_in: 2 weeks
|
||||
paths:
|
||||
- build.log
|
||||
- output/images/
|
||||
- output/build/build-time.log
|
||||
- output/build/packages-file-list.txt
|
||||
|
||||
acmesystems_aria_g25_128mb_defconfig: *defconfig
|
||||
acmesystems_aria_g25_256mb_defconfig: *defconfig
|
||||
acmesystems_arietta_g25_128mb_defconfig: *defconfig
|
||||
acmesystems_arietta_g25_256mb_defconfig: *defconfig
|
||||
arcturus_ucp1020_defconfig: *defconfig
|
||||
arm_foundationv8_defconfig: *defconfig
|
||||
arm_juno_defconfig: *defconfig
|
||||
armadeus_apf27_defconfig: *defconfig
|
||||
armadeus_apf28_defconfig: *defconfig
|
||||
armadeus_apf51_defconfig: *defconfig
|
||||
armadeus_apf9328_defconfig: *defconfig
|
||||
at91sam9260eknf_defconfig: *defconfig
|
||||
at91sam9g20dfc_defconfig: *defconfig
|
||||
at91sam9g45m10ek_defconfig: *defconfig
|
||||
at91sam9rlek_defconfig: *defconfig
|
||||
at91sam9x5ek_defconfig: *defconfig
|
||||
at91sam9x5ek_dev_defconfig: *defconfig
|
||||
at91sam9x5ek_mmc_defconfig: *defconfig
|
||||
at91sam9x5ek_mmc_dev_defconfig: *defconfig
|
||||
atmel_sama5d2_xplained_mmc_defconfig: *defconfig
|
||||
atmel_sama5d2_xplained_mmc_dev_defconfig: *defconfig
|
||||
atmel_sama5d3_xplained_defconfig: *defconfig
|
||||
atmel_sama5d3_xplained_dev_defconfig: *defconfig
|
||||
atmel_sama5d3_xplained_mmc_defconfig: *defconfig
|
||||
atmel_sama5d3_xplained_mmc_dev_defconfig: *defconfig
|
||||
atmel_sama5d3xek_defconfig: *defconfig
|
||||
atmel_sama5d4_xplained_defconfig: *defconfig
|
||||
atmel_sama5d4_xplained_dev_defconfig: *defconfig
|
||||
atmel_sama5d4_xplained_mmc_defconfig: *defconfig
|
||||
atmel_sama5d4_xplained_mmc_dev_defconfig: *defconfig
|
||||
bananapro_defconfig: *defconfig
|
||||
beagleboardx15_defconfig: *defconfig
|
||||
beaglebone_defconfig: *defconfig
|
||||
beaglebone_qt5_defconfig: *defconfig
|
||||
chromebook_snow_defconfig: *defconfig
|
||||
ci20_defconfig: *defconfig
|
||||
ci40_defconfig: *defconfig
|
||||
csky_gx6605s_defconfig: *defconfig
|
||||
cubieboard2_defconfig: *defconfig
|
||||
firefly_rk3288_defconfig: *defconfig
|
||||
firefly_rk3288_demo_defconfig: *defconfig
|
||||
freescale_imx28evk_defconfig: *defconfig
|
||||
freescale_imx31_3stack_defconfig: *defconfig
|
||||
freescale_imx6dlsabreauto_defconfig: *defconfig
|
||||
freescale_imx6dlsabresd_defconfig: *defconfig
|
||||
freescale_imx6qsabreauto_defconfig: *defconfig
|
||||
freescale_imx6qsabresd_defconfig: *defconfig
|
||||
freescale_imx6sololiteevk_defconfig: *defconfig
|
||||
freescale_imx6sxsabresd_defconfig: *defconfig
|
||||
freescale_imx6ulevk_defconfig: *defconfig
|
||||
freescale_imx7dsabresd_defconfig: *defconfig
|
||||
freescale_mpc8315erdb_defconfig: *defconfig
|
||||
freescale_p1010rdb_pa_defconfig: *defconfig
|
||||
galileo_defconfig: *defconfig
|
||||
gdb_bfin_bf512_defconfig: *defconfig
|
||||
grinn_chiliboard_defconfig: *defconfig
|
||||
grinn_liteboard_defconfig: *defconfig
|
||||
imx23evk_defconfig: *defconfig
|
||||
imx6q-sabresd_defconfig: *defconfig
|
||||
imx6ulpico_defconfig: *defconfig
|
||||
lego_ev3_defconfig: *defconfig
|
||||
linksprite_pcduino_defconfig: *defconfig
|
||||
minnowboard_max-graphical_defconfig: *defconfig
|
||||
minnowboard_max_defconfig: *defconfig
|
||||
mx25pdk_defconfig: *defconfig
|
||||
mx51evk_defconfig: *defconfig
|
||||
mx53loco_defconfig: *defconfig
|
||||
mx6cubox_defconfig: *defconfig
|
||||
mx6sx_udoo_neo_defconfig: *defconfig
|
||||
mx6udoo_defconfig: *defconfig
|
||||
nanopi_neo_defconfig: *defconfig
|
||||
nexbox_a95x_defconfig: *defconfig
|
||||
nitrogen6sx_defconfig: *defconfig
|
||||
nitrogen6x_defconfig: *defconfig
|
||||
nitrogen7_defconfig: *defconfig
|
||||
odroidc2_defconfig: *defconfig
|
||||
olimex_a20_olinuxino_lime2_defconfig: *defconfig
|
||||
olimex_a20_olinuxino_lime_defconfig: *defconfig
|
||||
olimex_a20_olinuxino_lime_mali_defconfig: *defconfig
|
||||
olimex_a20_olinuxino_micro_defconfig: *defconfig
|
||||
olimex_imx233_olinuxino_defconfig: *defconfig
|
||||
openblocks_a6_defconfig: *defconfig
|
||||
orangepi_one_defconfig: *defconfig
|
||||
orangepi_pc_defconfig: *defconfig
|
||||
pandaboard_defconfig: *defconfig
|
||||
pc_x86_64_bios_defconfig: *defconfig
|
||||
pc_x86_64_efi_defconfig: *defconfig
|
||||
qemu_aarch64_virt_defconfig: *defconfig
|
||||
qemu_arm_versatile_defconfig: *defconfig
|
||||
qemu_arm_versatile_nommu_defconfig: *defconfig
|
||||
qemu_arm_vexpress_defconfig: *defconfig
|
||||
qemu_m68k_mcf5208_defconfig: *defconfig
|
||||
qemu_m68k_q800_defconfig: *defconfig
|
||||
qemu_microblazebe_mmu_defconfig: *defconfig
|
||||
qemu_microblazeel_mmu_defconfig: *defconfig
|
||||
qemu_mips32r2_malta_defconfig: *defconfig
|
||||
qemu_mips32r2el_malta_defconfig: *defconfig
|
||||
qemu_mips32r6_malta_defconfig: *defconfig
|
||||
qemu_mips32r6el_malta_defconfig: *defconfig
|
||||
qemu_mips64_malta_defconfig: *defconfig
|
||||
qemu_mips64el_malta_defconfig: *defconfig
|
||||
qemu_mips64r6_malta_defconfig: *defconfig
|
||||
qemu_mips64r6el_malta_defconfig: *defconfig
|
||||
qemu_nios2_10m50_defconfig: *defconfig
|
||||
qemu_or1k_defconfig: *defconfig
|
||||
qemu_ppc64_pseries_defconfig: *defconfig
|
||||
qemu_ppc_g3beige_defconfig: *defconfig
|
||||
qemu_ppc_mpc8544ds_defconfig: *defconfig
|
||||
qemu_ppc_virtex_ml507_defconfig: *defconfig
|
||||
qemu_sh4_r2d_defconfig: *defconfig
|
||||
qemu_sh4eb_r2d_defconfig: *defconfig
|
||||
qemu_sparc64_sun4u_defconfig: *defconfig
|
||||
qemu_sparc_ss10_defconfig: *defconfig
|
||||
qemu_x86_64_defconfig: *defconfig
|
||||
qemu_x86_defconfig: *defconfig
|
||||
qemu_xtensa_lx60_defconfig: *defconfig
|
||||
qemu_xtensa_lx60_nommu_defconfig: *defconfig
|
||||
raspberrypi0_defconfig: *defconfig
|
||||
raspberrypi2_defconfig: *defconfig
|
||||
raspberrypi3_64_defconfig: *defconfig
|
||||
raspberrypi3_defconfig: *defconfig
|
||||
raspberrypi_defconfig: *defconfig
|
||||
riotboard_defconfig: *defconfig
|
||||
roseapplepi_defconfig: *defconfig
|
||||
s6lx9_microboard_defconfig: *defconfig
|
||||
sheevaplug_defconfig: *defconfig
|
||||
snps_aarch64_vdk_defconfig: *defconfig
|
||||
snps_arc700_axs101_defconfig: *defconfig
|
||||
snps_archs38_axs103_defconfig: *defconfig
|
||||
snps_archs38_haps_defconfig: *defconfig
|
||||
snps_archs38_vdk_defconfig: *defconfig
|
||||
stm32f429_disco_defconfig: *defconfig
|
||||
stm32f469_disco_defconfig: *defconfig
|
||||
telit_evk_pro3_defconfig: *defconfig
|
||||
toradex_apalis_imx6_defconfig: *defconfig
|
||||
ts4800_defconfig: *defconfig
|
||||
ts4900_defconfig: *defconfig
|
||||
ts5x00_defconfig: *defconfig
|
||||
wandboard_defconfig: *defconfig
|
||||
warp7_defconfig: *defconfig
|
||||
warpboard_defconfig: *defconfig
|
||||
zynq_microzed_defconfig: *defconfig
|
||||
zynq_zc706_defconfig: *defconfig
|
||||
zynq_zed_defconfig: *defconfig
|
||||
zynq_zybo_defconfig: *defconfig
|
||||
@@ -1,52 +0,0 @@
|
||||
# Configuration for Gitlab-CI.
|
||||
# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
|
||||
# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in.
|
||||
# It needs to be regenerated every time a defconfig is added, using
|
||||
# "make .gitlab-ci.yml".
|
||||
|
||||
image: debian:stable
|
||||
|
||||
before_script:
|
||||
- dpkg --add-architecture i386
|
||||
# The container has no package lists, so need to update first
|
||||
- apt-get update -qq
|
||||
- apt-get install -y -qq --no-install-recommends
|
||||
build-essential locales bc ca-certificates file rsync gcc-multilib
|
||||
git bzr cvs mercurial subversion libc6:i386 unzip wget cpio
|
||||
# To be able to generate a toolchain with locales, enable one UTF-8 locale
|
||||
- sed -i 's/# \(en_US.UTF-8\)/\1/' /etc/locale.gen
|
||||
- /usr/sbin/locale-gen
|
||||
|
||||
.defconfig_script: &defconfig_script
|
||||
- echo 'Configure Buildroot'
|
||||
- make ${CI_BUILD_NAME}
|
||||
- echo 'Build buildroot'
|
||||
- |
|
||||
make > >(tee build.log |grep '>>>') 2>&1 || {
|
||||
echo 'Failed build last output'
|
||||
tail -200 build.log
|
||||
exit 1
|
||||
}
|
||||
|
||||
check-gitlab-ci.yml:
|
||||
script:
|
||||
- mv .gitlab-ci.yml .gitlab-ci.yml.orig
|
||||
- make .gitlab-ci.yml
|
||||
- diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
|
||||
|
||||
.defconfig: &defconfig
|
||||
# Running the defconfigs for every push is too much, so limit to
|
||||
# explicit triggers through the API.
|
||||
only:
|
||||
- triggers
|
||||
- tags
|
||||
script: *defconfig_script
|
||||
artifacts:
|
||||
when: always
|
||||
expire_in: 2 weeks
|
||||
paths:
|
||||
- build.log
|
||||
- output/images/
|
||||
- output/build/build-time.log
|
||||
- output/build/packages-file-list.txt
|
||||
|
||||
680
CHANGES
680
CHANGES
@@ -1,669 +1,29 @@
|
||||
2017.05, Released May 31st, 2017
|
||||
2016.08.1, Released September 21st, 2016
|
||||
|
||||
Minor fixes.
|
||||
Fix potential entire root filesystem removal in the external
|
||||
toolchain handling. This would trigger if (and only if) the
|
||||
following conditions are met:
|
||||
|
||||
External toolchain: musl dynamic linker symlink for mips-sf
|
||||
corrected.
|
||||
- The user has selected a "known toolchain profile", such as a
|
||||
Linaro toolchain, a Sourcery CodeBench toolchain etc. People
|
||||
using "custom toolchain profile" are not affected.
|
||||
|
||||
Updated/fixed packages: agentpp, bash, exim, hans, madplay,
|
||||
qpid-proton, rtl8188eu, snmppp, stm32flash, strongswan, sudo,
|
||||
xen
|
||||
- The user has enabled BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y
|
||||
to indicate that the toolchain is already locally available
|
||||
(as opposed to having Buildroot download and extract the
|
||||
toolchain)
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
- The user has left BR2_TOOLCHAIN_EXTERNAL_PATH empty, because
|
||||
his toolchain is directly available through the PATH
|
||||
environment variable. When BR2_TOOLCHAIN_EXTERNAL_PATH is
|
||||
non-empty, Buildroot will do something silly (remove the
|
||||
toolchain contents), but that are limited to the toolchain
|
||||
itself.
|
||||
|
||||
#9906: genimage: Disk full
|
||||
When such conditions are met, Buildroot will run "rm -rf /*"
|
||||
due to TOOLCHAIN_EXTERNAL_INSTALL_DIR being empty.
|
||||
|
||||
2017.05-rc3, Released May 30th, 2017
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
ARC toolchain bumped to 2017.03
|
||||
|
||||
Runtime testing improvements and cleanups.
|
||||
|
||||
Updated/fixed packages: acpica, armadillo, audiofile, c-icap,
|
||||
cppcms, dhcp, docker-engine, dropbear, elfutils, erlang,
|
||||
fbgrab, ffmpeg, flashrom, ftop, gnutls, google-breakpad,
|
||||
keepalived, kodi, libcdio, libepoxy, libev, libminiupnpc,
|
||||
libqmi, libtasn1, libv4l, mariadb, mono, mosh, mosquitto,
|
||||
mxml, ntp, opencv, openpowerlink, oracle-mysql, popt,
|
||||
pulseview, python-enum34, rabbitmq-c, redis, samba4, stella,
|
||||
xen
|
||||
|
||||
Removed packages: firejail, ola
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#9871: fbgrab 1.3 won't build with BR2_REPRODUCIBLE set
|
||||
#9876: aarch64 support with gcc 4.8 toolchain
|
||||
#9896: host-gcc-initial error downloading because incorrect URL
|
||||
|
||||
2017.05-rc2, Released May 17th, 2017
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
ARC toolchain bumped to 2017.03-rc2
|
||||
|
||||
Updated/fixed packages: bluez_utils, boost, clamav, daemon,
|
||||
efibootmgr, efl, espeak, expedite, faketime, ffmpeg, fxload,
|
||||
git, gpsd, kvm-unit-tests, libcdio, libv4l, lua, mke2img,
|
||||
mpir, mpv, odroid-scripts, openblas, opencv3, openvpn, php,
|
||||
postgresql, protobuf, qt5declarative, qwt, radvd, rpcbind,
|
||||
rtmpdump, strongswan, sudo, ltp-testsuite, uclibc-ng-test,
|
||||
vlc, x11vnc, xfsprogs
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#9796: source-check broken for Git downloads
|
||||
#9866: BASE_DIR usage
|
||||
|
||||
2017.05-rc1, Released May 8th, 2017
|
||||
|
||||
Fixes all over the tree and new features.
|
||||
|
||||
Infrastructure:
|
||||
|
||||
- Installed binaries are now checked for correct architecture
|
||||
to catch natively built binaries or binaries built for other
|
||||
architecture variants.
|
||||
|
||||
- Luarocks infrastructure improvements to extraction handling,
|
||||
support for upstream name != Buildroot package name.
|
||||
|
||||
- 'make printvars' output format has changed to make it easier
|
||||
to use in scripts. It now has options to quote the variables
|
||||
and to show the expanded/unexpanded values.
|
||||
|
||||
- Automatic ext2 rootfs size calculation has been removed. The
|
||||
logic was not working working reliable in all setups as it
|
||||
depends on the host filesystem behaviour, so instead now the
|
||||
size has to be specified explicitly (defaults to 60MB).
|
||||
|
||||
- The git download infrastructure now ensures that GNU format
|
||||
tar files are created.
|
||||
|
||||
- Fixed a variable clashing issue in the mkusers script with
|
||||
internal bash variables.
|
||||
|
||||
- Fakeroot now links against libacl to fix issues on
|
||||
distributions using acls.
|
||||
|
||||
- Correct permissions for /dev/pts/ptmx when systemd is used
|
||||
with recent glibc versions.
|
||||
|
||||
- br2-external: Improve error reporting.
|
||||
|
||||
- A wrapper script for genimage has been added in
|
||||
support/scripts/genimage.sh for easy use of genimage from
|
||||
post-image scripts.
|
||||
|
||||
- A script to check for common style issues in new packages
|
||||
before submitting has been added in support/scripts/check-package
|
||||
|
||||
- Defconfigs are now tested by gitlab-CI instead of Travis:
|
||||
https://gitlab.com/buildroot.org/buildroot
|
||||
|
||||
- Infrastructure for runtime testing has been added to
|
||||
support/testing
|
||||
|
||||
Toolchain:
|
||||
|
||||
- External linaro toolchains updated to 2017.02, ARC toolchain
|
||||
updated to 2017.03-rc1, NIOSII CodeSourcery to 2017.05
|
||||
|
||||
- A number of fixes and improvements to the external toolchain
|
||||
handling, including C library detection, multilib and ld.so
|
||||
handling
|
||||
|
||||
- Glibc 2.25 and uClibc-ng 1.0.24 added, wordexp support enabled
|
||||
for uClibc-ng
|
||||
|
||||
- Binutils 2.28 added and default changed to 2.27
|
||||
|
||||
|
||||
Architectures:
|
||||
|
||||
- Support for the C-SKY architecture has been added.
|
||||
|
||||
|
||||
License handling:
|
||||
|
||||
- The package license markings for legal info now uses the
|
||||
SPDX short identifiers for the license string where possible.
|
||||
|
||||
- License info has been improved / added for a number of packages.
|
||||
|
||||
|
||||
Misc:
|
||||
|
||||
- Cmake 3.7.x installed on the host is no longer ignored as a
|
||||
workaround for the RPATH issues has been implemented.
|
||||
|
||||
- Docker-engine can now be built statically on an otherwise
|
||||
dynamic linked build for docker-in-docker setups.
|
||||
|
||||
- U-Boot now supports out-of-tree device trees, similar to
|
||||
Linux
|
||||
|
||||
- Nodejs 0.10.x support (and with it, support for <ARMv6) has
|
||||
been removed as this is now EOL upstream.
|
||||
|
||||
New defconfigs: AT91sam9x5ek dev/mmc/mmc-dev, banana pro,
|
||||
Nationalchip gx6605s, MIPS creator ci40, nexbox a95x, 64bit
|
||||
defconfig for raspberry pi 3, stm32f429-disc1.
|
||||
|
||||
The raspberry pi zero-w and rpi3 compute module are now also
|
||||
supported by the rpi0 / rpi3 defconfigs, beaglebone green is
|
||||
supported by the beaglebone defconfig.
|
||||
|
||||
Removed defconfig: minnowboard, via imx6 vab820, altera
|
||||
socdk/sockit
|
||||
|
||||
New packages: arp-scan, atest, augeas, bluez-tools, daemon,
|
||||
dc3dd, dieharder, execline, fmt, ghostscript, gqrx,
|
||||
gst1-vaapi, jo, keepalived, kmscube, kodi-jsonschemabuilder,
|
||||
kodi-skin-confluence, kodi-texturepacker, lensfun, leptonica,
|
||||
libbson, libcsv, libgphoto2, libkcapi, libmaxminddb,
|
||||
libmediaart, libnpth, libscrypt, lua-bit32, lua-resty-http,
|
||||
lugaru, memtool, mpir, nanomsg, physfs, phytool, pngquant,
|
||||
python-decorator, python-simplegeneric,
|
||||
python-sortedcontainers, rpi-bt-firmware, rpi-wifi-firmware,
|
||||
s6, s6-dns, s6-linux-init, s6-linux-utils, s6-networking,
|
||||
s6-portable-utils, s6-rc, supertux, tesseract-ocr,
|
||||
uccp420wlan, wilink-bt-firmware
|
||||
|
||||
Broken packages: ola
|
||||
|
||||
Removed packages: cosmo, kodi-visualisation-fountain,
|
||||
polarssl, portmap, xdriver_xf86-video-glide,
|
||||
xdriver_xf86-video-v4l, xdriver_xf86-video-wsfb
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#8831: image generation fails on host ZFS due to "no free space"
|
||||
#9436: e2fsprogs remove busybox applets even of unselected e2fs..
|
||||
#9456: mkusers script bash errors
|
||||
#9496: mke2img fails during build on ntfs-3g host partition
|
||||
#9531: NPM fails to build embedded modules
|
||||
#9596: KODI: --enable-lirc needs "HAVE_LIRC" compiler definition..
|
||||
#9691: Wrong cryptsetup package include files location
|
||||
#9696: Wrong cryptsetup package include files location
|
||||
#9706: Can't download newer revisions of package from PyPI
|
||||
#9711: Recent libCEC version bump seems to break kodi package
|
||||
#9716: exit, shutdown, reboot from kodi
|
||||
#9721: version 2017.02: no acceptable m4 could be found in $PATH
|
||||
#9726: Raspberry Pi version B - Problems with UART speed in..
|
||||
#9751: expat legal info - manifest.csv: GPLv2 Source site: MIT..
|
||||
#9756: glibc fails to build on buildroot-sh4*-buildroot-linux-gnu
|
||||
#9766: support/scripts/pkgutil.py conflicts with the pkgutil.py..
|
||||
#9776: libubox build failed
|
||||
#9791: Python searches for packages in the user site directory
|
||||
#9806: libseccomp is not available when BR2_arm=y
|
||||
#9826: post-build scritp - symlinks created in post-build script..
|
||||
#9836: triggerhappy: systemd unit broken
|
||||
#9846: musl libc not installed correctly in target folder
|
||||
#9856: build libubox failed on ubuntu 17.04 64bit
|
||||
|
||||
2017.02.2, Released May 1st, 2017
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Use HTTPS for the Codesourcery external toolchains as the HTTP
|
||||
URLs no longer work.
|
||||
|
||||
Updated/fixed packages: bind, busybox, dovecot, freetype,
|
||||
ghostscript, glibc, granite, hiredis, icu, imagemagick,
|
||||
gst-plugins-base, gst1-plugins-base, libcroco, libcurl, libnl,
|
||||
libnspr, libnss, libsamplerate, libsndfile, libunwind,
|
||||
minicom, mplayer, mpv, nodejs, python-django, python-pyyaml,
|
||||
python-web2py, samba4, syslinux, systemd, tiff, trinity,
|
||||
uboot, wireshark, xen
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#9791: Python searches for packages in the user site directory
|
||||
|
||||
2017.02.1, Released April 4th, 2017
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Fix a variable clashing issue in the mkusers script with
|
||||
internal bash variables.
|
||||
|
||||
Improve external toolchain version detection.
|
||||
|
||||
Correct permissions for /dev/pts/ptmx when systemd is used
|
||||
with recent glibc versions.
|
||||
|
||||
Fix python module name clash for graph-depends.
|
||||
|
||||
Fakeroot now links against libacl to fix issues on
|
||||
distributions using acls.
|
||||
|
||||
Ensure that the git download infrastructure creates GNU format
|
||||
tar files.
|
||||
|
||||
br2-external: Improve error reporting.
|
||||
|
||||
Updated/fixed packages: acl, apr, audiofile, busybox, cairo,
|
||||
dbus-cpp, dbus-glib, dbus-triggerd, domoticz, elfutils,
|
||||
fakeroot, filemq, fmc, gdb, git, gnutls, gst-ffmpeg,
|
||||
gst1-plygins-bad, harfbuzz, htop, imagemagick, jasper, libcec,
|
||||
libiio, libplatform, librsvg, libselinux, libsidplay2, libsoc,
|
||||
libwebsockets, libxkbcommon, linux-firmware, logrotate,
|
||||
lpt-testsuite, lttng-libust, mariadb, mbedtls, memcached,
|
||||
mesa3d, mpd, mplayer, nbd, ncftp, ntp, openssh, opentyrian,
|
||||
pcre, perl-gd, python, qt5base, rpi-userland, rpm, samba4,
|
||||
skalibs, slang, sngrep, squashfs, syslog-ng, taglib,
|
||||
tcpreplay, tor, upmpdcli, wget, wireshark,
|
||||
xdriver_xf86-video-vmware, xlib_libXv, zmqpp
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#9456: mkusers script bash errors
|
||||
|
||||
2017.02, Released February 28th, 2017
|
||||
|
||||
Minor fixes, mainly fixing autobuilder issues.
|
||||
|
||||
Don't use cmake 3.7.x from the build host as it is also
|
||||
affected by the RPATH handling issues, and instead build our
|
||||
own if needed.
|
||||
|
||||
Updated/fixed packages: assimp, classpath, genimage, mplayer,
|
||||
mpv, openocd, python-libconfig, qt5base, qt5quickcontrols,
|
||||
vlc, xterm
|
||||
|
||||
2017.02-rc3, Released February 26th, 2017
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
Cmake reverted to version 3.6.3 to workaround regressions
|
||||
related to RPATH handling.
|
||||
|
||||
Updated/fixed packages: bctoolbox, berkeleydb, binutils,
|
||||
btrfs-progs, classpath, directfb, glibc, gstreamer1,
|
||||
gst1-plugins-{base,good,bad,ugly}, gst1-libav,
|
||||
gst1-rtsp-server, gst1-validate, gst-omx, htop, libcurl,
|
||||
libepoxy, libimxvpuapi, libpcap, libuv, ncurses, openssh,
|
||||
oracle-mysql, poco, python, qt5base, qt5webkit, sslh, synergy,
|
||||
trousers, uclibc-ng-test, util-linux, vlc, xfsprogs
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#9251: Shared C++ libraries for Microblaze results in Segmentation...
|
||||
#9456: mkusers script bash errors
|
||||
#9506: Collectd 5.7.0 fails to build with libcrypt
|
||||
#9581: VagrantFile provisioning step fails due to issue with grub-pc
|
||||
#9586: usbmount: usbmount slows down the system... to a state of...
|
||||
#9616: CMake host packages cannot provide CONF_ENV
|
||||
#9641: Need raptor package installed in staging
|
||||
#9671: stunnel build error
|
||||
|
||||
2017.02-rc2, Released February 20th, 2017
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
Support for SOURCE_DATE_EPOCH in the toolchain wrapper for
|
||||
older gcc versions for reproducible builds has been
|
||||
(temporarily) reverted because of licensing compatiblity
|
||||
concerns.
|
||||
|
||||
Defconfigs: SD card generation fix for the Udoo Neo board
|
||||
|
||||
Infrastructure to handle .lz compressed tarballs added, and
|
||||
affected packages updated to use it.
|
||||
|
||||
Updated/fixed packages: bctoolbox, bind, canelloni,
|
||||
cbootimage, ccache, classpath, cups, dbus, ddrescue, directfb,
|
||||
ed, erlang, gcc, gdb, glmark2, gstreamer, gstreamer1, hiredis,
|
||||
kmod, kmsxx, lcdapi, libasplib, libgpiod, libnss, libraw,
|
||||
libv4l, mesa3d-headers, mosquitto, mpd, mpv, musl, ntfs-3g,
|
||||
ocrad, openswan, postgresql, qt5base, qt5quickcontrols, redis,
|
||||
riemann-c-client, samba4, sunxi-mali, tcping, trousers,
|
||||
uclibc, util-linux, vim, wavpack, wget, wiringpi, xfsprogs,
|
||||
xserver_xorg-server
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#8941: Valgrind fails to build with stack protection turned on
|
||||
#9291: perl: SysV message queues not configured, even if available
|
||||
#9651: libxcb-1.12 built Error
|
||||
#9656: util-linux: schedutils doesn't build on target w/o enabl...
|
||||
#9666: qt5quickcontrols install fails
|
||||
|
||||
2017.02-rc1, Released February 11th, 2017
|
||||
|
||||
Fixes all over the tree and new features.
|
||||
|
||||
Infrastructure:
|
||||
|
||||
- numerous improvements to support reproducible builds
|
||||
|
||||
- new waf-package package infrastructure to support packages
|
||||
that use the Waf build system. 6 packages converted to
|
||||
this infrastructure.
|
||||
|
||||
- add option <pkg>_PREFER_INSTALLER to the perl package
|
||||
infrastructure
|
||||
|
||||
Architecture:
|
||||
|
||||
- add support for the OpenRISC CPU architecture
|
||||
|
||||
- merge description of the ARM and ARM64 options, and add
|
||||
support for selecting a specific ARM64 core
|
||||
|
||||
Toolchain:
|
||||
|
||||
- major rework of the external toolchain support. It is now
|
||||
split into several packages, one per external toolchain,
|
||||
and a common infrastructure.
|
||||
|
||||
- important fix for musl to prevent a conflict between musl
|
||||
and kernel headers (fixes the build of numerous packages
|
||||
with musl)
|
||||
|
||||
- uClibc-ng bumped to 1.0.22, and therefore enable uClibc
|
||||
for ARM64, mips32r6 and mips64r6
|
||||
|
||||
- add gdb 7.12.1, and switch to gdb 7.11 as the default
|
||||
|
||||
- Linaro toolchains updated to 2016.11, ARC toolchain
|
||||
components updated to arc-2016.09, MIPS Codescape
|
||||
toolchains bumped to 2016.05-06, CodeSourcery AMD64 and
|
||||
NIOS2 toolchains bumped
|
||||
|
||||
- remove Analog Devices toolchain for the Blackfin
|
||||
architecture, remove pre-built musl toolchains from
|
||||
musl.codu.org
|
||||
|
||||
New defconfigs: Freescale i.MX23EVK, Qemu OpenRISC emulation,
|
||||
Qemu NIOS2 emulation, Grinn chiliBoard, Freescale i.MX6Q
|
||||
SabreSD, BeagleBoard X15, OrangePi One, ARC HS38 HAPS
|
||||
|
||||
New packages: angular-websocket, aubio, bctoolbox, darkhttpd,
|
||||
ddrescue, easydbus, fakedate, git-crypt, hiredis, ifenslave,
|
||||
jsmn, libgpiod, libgsm, linux-syscall-support, mariadb, mimic,
|
||||
nginx-dav-ext, nmon, opkg-utils, policycoreutils,
|
||||
pru-software-support, python-arrow, python-attrs,
|
||||
python-babel, python-bitstring, python-chardet,
|
||||
python-constantly, python-flask-babel, python-gunicorn,
|
||||
python-incremental, python-jsonschema, python-logbook,
|
||||
python-markdown2, python-mbstrdecoder, python-mutagen,
|
||||
python-pathpy, python-pudb, python-pyqrcode,
|
||||
python-pytablereader, python-setuptools-scm, python-sh,
|
||||
python-toml, python-vcversioner, python-whoosh,
|
||||
raspberrypi-usbboot, riemann-c-client, rtl8723bs, skalibs,
|
||||
sslh, sngrep, ti-cgt-pru, uclibc-ng-test, udpxy, uhttpd,
|
||||
upower, ustream-ssl, waf, xlib_libXfont2
|
||||
|
||||
Removed packages: perl-db-file, snowball-hdmiservice,
|
||||
snowball-init
|
||||
|
||||
Tooling: addition of a test-pkg script to help contributors
|
||||
build test their package.
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#8946: Valgrind fails to build with stack protection turned on
|
||||
#9461: odroidc2 - toolchain Linaro AArch64 2016.11 compile error
|
||||
#9466: VIM_REMOVE_DOCS removes rgb.txt
|
||||
#9486: xorg-server 1.19 fails to compile for glibc with systemd init (x86_64)
|
||||
#9501: eudev fails to build with older kernel headers
|
||||
#9526: Embedded NPM fails to start with "no such file or directory" error
|
||||
#9541: Platform drivers autoloading from info in device tree does not work
|
||||
#9546: seems BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS do nothing
|
||||
#9551: Coreutils fails to build target src/src_libsinglebin_pinky_a-pinky.o
|
||||
#9566: [kmod] Compilation fails with uclibc
|
||||
#9571: buildroot fails while building opencv for arm64 platform
|
||||
#9576: External tree with BR 2016.11 does not work anymore
|
||||
#9606: xorg-server cannot build for ARM target
|
||||
|
||||
2016.11.3, Released March 9th, 2017
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Updated/fixed packages: bind, dbus, gnutls, imagemagick,
|
||||
lcms2, libcurl, ntfs-3g, ntp, openssl, php, quagga, redis,
|
||||
squid, stunnel, tcpdump, vim, wavpack, wireshark, xlib_libXpm
|
||||
|
||||
2016.11.2, Released January 25th, 2017
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
A fix for BR2_EXTERNAL trees referenced using relative paths,
|
||||
which broke in 2016.11.
|
||||
|
||||
Updated/fixed packages: bind, docker-engine, gd, gnutls, go,
|
||||
imagemagick, irssi, libpng, libvncserver, musl, opus, php,
|
||||
php-imagick, rabbitmq-server, runc, wireshark,
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#9576: External tree with BR 2016.11 does not work anymore
|
||||
|
||||
2016.11.1, Released December 29th, 2016
|
||||
|
||||
Important / security related fixes.
|
||||
|
||||
Updated/fixed packages: apache, cryptopp, docker-engine,
|
||||
dovecot, exim, gdk-pixbuf, libcurl, libupnp, links, monit,
|
||||
nodejs, openssh, php, python, python-bottle, samba4, squid,
|
||||
uboot, vim, wireshark, xorg-server uboot
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#9466: VIM_REMOVE_DOCS removes rgb.txt
|
||||
|
||||
2016.11, Released November 30th, 2016
|
||||
|
||||
Minor fixes.
|
||||
|
||||
Updated/fixed packages: bzip2, gcc, jasper, sane-backends,
|
||||
uboot, uclibc
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#9451: packages/postgresql/postgresql.mk contains wrong POST...
|
||||
|
||||
2016.11-rc3, Released November 28th, 2016
|
||||
|
||||
Fixes all over the tree, including a number of security fixes.
|
||||
|
||||
The move from fakeroot to pseudo unfortunately brought a
|
||||
number of issues. The SELinux issue described in #9386 which
|
||||
triggered the move to pseudo has been investigated further and
|
||||
a workaround implemented and the pseudo changes reverted.
|
||||
|
||||
Linux kernel: update default to 4.8.11.
|
||||
|
||||
Defconfigs: Updates/fixes for imx28ek, mx6udoo, imx6ulpico,
|
||||
olimex a20 olinuxino lime mali, roseapplepi, synopsis aarch64
|
||||
vdk, axs101, axs103 and hs38 smd vdk.
|
||||
|
||||
Updated/fixed packages: autossh, chrony, dosfstools,
|
||||
dtv-scan-tables, e2fsprogs, gcc, gdb, gnuchess, gnuradio,
|
||||
gpsd, gst1-plugins-bad, gst1-plugins-good, imagemagick,
|
||||
kvm-unit-tests, libfribi, libuv, mesa3d, mpfr, mplayer, mpv,
|
||||
ntp, ola, olsr, openblas, openjpeg, openssh, postgresql,
|
||||
ptpd2python3, qemu, qextserialport, qt5base, quagga, xqwt,
|
||||
taskd, tiff, tremor, trousers, udisks, uclibc, wireshark,
|
||||
xapp_xload, xenomai, xmlstarlet
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#9386: ubinize fails with or without custom config
|
||||
#9431: A misspelling
|
||||
#9446: make raspberrypi3_defconfig compilation failure
|
||||
|
||||
2016.11-rc2, Released November 13th, 2016
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
Architecture: add support for MIPS XBurst cores; remove MIPS
|
||||
support for M5100 cores.
|
||||
|
||||
Updated/fixed packages: mesa3d, lttng-babeltrace, tinyalsa, pseudo,
|
||||
czmq, libxml2, makedevs, binutils, kvm-unit-tests, libnss, privoxy,
|
||||
qemu, ser2net, net-tools, ffmpeg, assimp, libmpeg2, ccache, mpv,
|
||||
libxslt, python, python3, php, valgrind, guile, domoticz, efl,
|
||||
jasper, kvmtool, go, wget, sane-backends, weston, tinymembench,
|
||||
strace, openjpeg, lcms2, quota.
|
||||
|
||||
Linux kernel: update default to 4.8.7.
|
||||
|
||||
CMake support: fix cmake wrapper to properly pass NDEBUG flag.
|
||||
|
||||
Filesystems: use a wrapper to pseudo, to better mimick the behaviour
|
||||
of fakeroot; makedevs no longer breaks of the destination already
|
||||
exists and is of the correct type/major/minor.
|
||||
|
||||
Defconfigs: a few legacy and broken defconfigs have been removed
|
||||
because they now fail to build: kb9202_defconfig, mini2440_defconfig,
|
||||
freescale_p2020ds, qmx6, calao*, atmel_sama5d4ek. Other defconfigs
|
||||
have been updated: nanopi-neo, olimex_a20_olinuxino_lime_mali,
|
||||
armadeus_apf51, armadeus_apf28, freescale_imx31_3stack, ci20,
|
||||
olimex_a20_olinuxino_lime2, atmel_at91sam9260eknf,
|
||||
atmel_at91sam9rlek, atmel_at91sam9g20dfc, atmel_at91sam9g45m10ek,
|
||||
atmel_sama5d3xek.
|
||||
|
||||
2016.11-rc1, Released November 3rd, 2016
|
||||
|
||||
Fixes all over the tree and new features.
|
||||
|
||||
It is now possible to specify multiple BR2_EXTERNAL
|
||||
directories. The required files in a BR2_EXTERNAL directory
|
||||
have changed to accomodate this feature. Refer to the
|
||||
documentation for details of how to update them. External
|
||||
trees now have a name and a description. Also, it is possible
|
||||
to override a defconfig in the external tree.
|
||||
|
||||
The default skeleton now uses UID 65534 for the "nobody"
|
||||
user instead of UID 99, like most distros do. See
|
||||
https://lwn.net/Articles/695478/ for a complete discussion.
|
||||
Programs and configuration files that explicitly refer to UID
|
||||
99 will have to be updated.
|
||||
|
||||
When the build environment already has a suitable cmake version
|
||||
(3.1 or later), that one will be used instead of building
|
||||
host-cmake. This can speed up the build significantly.
|
||||
|
||||
The ExtUtils::MakeMaker perl module is now required in the
|
||||
build environment.
|
||||
|
||||
An additional check is done during the build that files are
|
||||
not installed in the output directory within the output
|
||||
directory. This happens e.g. when the target directory is
|
||||
contained both in --prefix and in DESTDIR. The build will
|
||||
terminate with an error message that specifies which package
|
||||
and which file caused the failure.
|
||||
|
||||
The concept of "deprecated packages" and the BR2_DEPRECATED
|
||||
option have been removed. Instead, packages are removed
|
||||
immediately. Packages are only removed when they don't work
|
||||
for some reason. If you still need a removed package and
|
||||
you have a solution for the problem(s) that caused the
|
||||
removal, please contribute it.
|
||||
|
||||
Architecture: support for sh64 removed, improved support for
|
||||
MIPS core selection.
|
||||
|
||||
Toolchain: support for musl powerpc64le, mips64 and mipsr6
|
||||
toolchains, ARC toolchain components updates, gcc 6.x series
|
||||
bumped to 6.2.0, default binutils version switched to 2.26,
|
||||
default gcc version switched to gcc 5.x, Linaro toolchains
|
||||
updated, uclibc-ng bumped to 1.0.19. GCC is now always built
|
||||
with TLS support. Checking of unsafe compiler options (that
|
||||
point to host directories) has been extended with -isystem,
|
||||
-idirafter and -iquote.
|
||||
|
||||
Package infrastructure: new variable $(PKG)_DL_OPTS, addition
|
||||
of <pkg>-show-rdepends to list reverse dependencies, and
|
||||
<pkg>-graph-rdepends to graph reverse dependencies. Linux tools
|
||||
are now in a separate linux-tools package instead of in the
|
||||
kernel build. Fakeroot has been replaced by pseudo.
|
||||
|
||||
CMake support: the toolchainfile.cmake file now provides a
|
||||
definition of the CMAKE_BUILD_TYPE variable. The
|
||||
toolchainfile.cmake also no longer forces the compiler/linker
|
||||
flags defined by Buildroot.
|
||||
|
||||
New defconfigs: WaRP7, Solidrun's MX6 Cubox/Hummingboard,
|
||||
TS-4900, Grinn's liteBoard, Udoo MX6Q/DL, Qemu ARM noMMU,
|
||||
BeagleBone Qt5 demo, Digilent Zybo, FriendlyARM Nanopi NEO.
|
||||
|
||||
New packages: arm-trusted-firmware, amd-catalyst, atop, aufs,
|
||||
aufs-util, fwts, gst1-rtsp-server, libglob, libite, mfgtools,
|
||||
mksh, motion, paho-mqtt-c, php-amqp, pseudo, python-couchdb,
|
||||
python-crcmod, python-cssutils, python-docutils,
|
||||
python-futures, python-mwclient, python-mwscrape,
|
||||
python-mwscrape2slob, python-pyelftools, python-pyicu,
|
||||
python-pylru, python-pyqt5, python-requests-toolbelt,
|
||||
python-simpleaudio, python-slob, rabbitmq-server, shapelib,
|
||||
vdr, vdr-plugin-vnsiserver, vexpress-firmware, xvisor, iio and
|
||||
gpio linux tools.
|
||||
|
||||
Removed packages: binutils 2.24, fakeroot, gcc 4.7, ipkg,
|
||||
kodi-addon-xvdr, libgail, sstrip, torsmo, webkit, webkitgtk24,
|
||||
wvdial, wvstreams.
|
||||
|
||||
Documentation: the list of packages that was present in the
|
||||
Buildroot manual has been removed.
|
||||
|
||||
Legal info: the "licenses.txt" file that concatenates all
|
||||
license texts is no longer generated - it was not considered
|
||||
useful. The manifest.csv contains an empty cell instead of
|
||||
"not saved" when no license file is available.
|
||||
|
||||
Other: addition of a DEVELOPERS file listing developers taking
|
||||
care of packages or architectures.
|
||||
|
||||
Issues resolved (http://bugs.buildroot.org):
|
||||
|
||||
#7802: host-python build hangs compiling getbuildinfo.o
|
||||
#8206: mplayer uses host xorg development files
|
||||
#8516: mkcubiecard.sh uses outdated sfdisk switch -D
|
||||
#8536: Building sudo with PAM results in unusable sudo
|
||||
#8646: check-host-rpath script returns false positives when rpath
|
||||
contains symlink
|
||||
#8696: xdriver_xf86-input-mouse install header files in target
|
||||
directory
|
||||
#8811: rp-pppoe - generated scripts commands use HOST pathnames,
|
||||
not necessarily TARGET
|
||||
#8846: Orphaned/missing toolchain borks eclipse plugin
|
||||
#8856: python tornado runtime wasn't met on buildroot 2016.02
|
||||
#8901: gcc failes to build if fortran is enabled
|
||||
#8916: LDFLAGS pass to openssh
|
||||
#8941: "ls" of an NFSv4 share only works when pumped through strace
|
||||
#8946: Valgrind fails to build with stack protection turned on
|
||||
#9021: Kodi - Broken: Illegal instruction (core dumped)
|
||||
#9096: rootfs.ubi not created
|
||||
#9111: glibc 2.23: libmvec.so not copied
|
||||
#9176: minnowboard : USB not mounted
|
||||
#9196: raspberry pi 3 default build seem broken
|
||||
#9201: Permission denied make: *** [core-dependencies] Error 126 in
|
||||
Buildroot-2015.08.1
|
||||
#9216: log4cpp package build fails to build within install
|
||||
#9221: Kodi needs "Python .py and .pyc support" otherwise it crashes when
|
||||
pressing buttons.
|
||||
#9229: Firefly boot fails with: "failed to find part:boot"
|
||||
#9256: [Config file] New device: Odroid-U2/U3
|
||||
#9296: Buildroot Fails on applying patches
|
||||
#9301: U-boot fails to build with default zynq_zed_defconfig configuration
|
||||
#9316: U-boot fails to build if libssl-dev is not installed
|
||||
#9321: Vanilla libcrypt++ v5.6.3 doesn't allow to work Nvidia Tegra's
|
||||
flash utility (tegrarcm)
|
||||
#9326: Odroid-C2 build results in non-bootable image
|
||||
#9336: Improve iconv support for external toolchain based builds
|
||||
#9356: gdb package
|
||||
#9366: no link rootfs.ext4 -> rootfs.ext2
|
||||
#9371: openssl: download failes with "Only allow downloads from primary
|
||||
download site" + local server
|
||||
#9381: check-host-rpath issues
|
||||
#9386: ubinize fails with or without custom config
|
||||
|
||||
2016.08, Released September 1st, 2016
|
||||
2016.08, Released Septermber 1st, 2016
|
||||
|
||||
Minor fixes.
|
||||
|
||||
|
||||
74
Config.in
74
Config.in
@@ -14,23 +14,18 @@ config BR2_HOSTARCH
|
||||
string
|
||||
option env="HOSTARCH"
|
||||
|
||||
config BR2_BUILD_DIR
|
||||
config BR2_EXTERNAL
|
||||
string
|
||||
option env="BUILD_DIR"
|
||||
option env="BR2_EXTERNAL"
|
||||
|
||||
# Hidden config symbols for packages to check system gcc version
|
||||
config BR2_HOST_GCC_VERSION
|
||||
string
|
||||
option env="HOST_GCC_VERSION"
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_4_5
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "4 5"
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_4_6
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "4 6"
|
||||
select BR2_HOST_GCC_AT_LEAST_4_5
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_4_7
|
||||
bool
|
||||
@@ -84,11 +79,6 @@ config BR2_HOSTARCH_NEEDS_IA32_LIBS
|
||||
config BR2_HOSTARCH_NEEDS_IA32_COMPILER
|
||||
bool
|
||||
|
||||
# Hidden boolean selected by packages that need the host to have an
|
||||
# UTF8 locale.
|
||||
config BR2_NEEDS_HOST_UTF8_LOCALE
|
||||
bool
|
||||
|
||||
source "arch/Config.in"
|
||||
|
||||
menu "Build options"
|
||||
@@ -158,13 +148,6 @@ config BR2_XZCAT
|
||||
Command to be used to extract a xz'ed file to stdout.
|
||||
Default is "xzcat"
|
||||
|
||||
config BR2_LZCAT
|
||||
string "lzcat command"
|
||||
default "lzip -d -c"
|
||||
help
|
||||
Command to be used to extract a lzip'ed file to stdout.
|
||||
Default is "lzip -d -c"
|
||||
|
||||
config BR2_TAR_OPTIONS
|
||||
string "Tar options"
|
||||
default ""
|
||||
@@ -374,6 +357,40 @@ config BR2_CCACHE_USE_BASEDIR
|
||||
|
||||
endif
|
||||
|
||||
config BR2_DEPRECATED
|
||||
bool "Show options and packages that are deprecated or obsolete"
|
||||
help
|
||||
This option shows outdated/obsolete versions of packages and
|
||||
options that are otherwise hidden.
|
||||
|
||||
if BR2_DEPRECATED
|
||||
|
||||
config BR2_DEPRECATED_SINCE_2015_05
|
||||
bool
|
||||
default y
|
||||
|
||||
config BR2_DEPRECATED_SINCE_2015_08
|
||||
bool
|
||||
default y
|
||||
|
||||
config BR2_DEPRECATED_SINCE_2015_11
|
||||
bool
|
||||
default y
|
||||
|
||||
config BR2_DEPRECATED_SINCE_2016_02
|
||||
bool
|
||||
default y
|
||||
|
||||
config BR2_DEPRECATED_SINCE_2016_05
|
||||
bool
|
||||
default y
|
||||
|
||||
config BR2_DEPRECATED_SINCE_2016_08
|
||||
bool
|
||||
default y
|
||||
|
||||
endif
|
||||
|
||||
config BR2_ENABLE_DEBUG
|
||||
bool "build packages with debugging symbols"
|
||||
help
|
||||
@@ -536,11 +553,7 @@ config BR2_GOOGLE_BREAKPAD_ENABLE
|
||||
bool "Enable google-breakpad support"
|
||||
select BR2_PACKAGE_GOOGLE_BREAKPAD
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
|
||||
depends on BR2_USE_WCHAR
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
|
||||
depends on BR2_TOOLCHAIN_USES_GLIBC
|
||||
depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
|
||||
help
|
||||
This option will enable the use of google breakpad, a library
|
||||
@@ -721,12 +734,6 @@ config BR2_REPRODUCIBLE
|
||||
this allows to generate exactly identical binaries from one
|
||||
build to the other, including on different machines.
|
||||
|
||||
The current implementation is restricted to builds with the
|
||||
same output directory. Many (absolute) paths are recorded in
|
||||
intermediary files, and it is very likely that some of these
|
||||
paths leak into the target rootfs. If you build with the
|
||||
same O=... path, however, the result is identical.
|
||||
|
||||
This is labeled as an experimental feature, as not all
|
||||
packages behave properly to ensure reproducibility.
|
||||
|
||||
@@ -750,4 +757,9 @@ source "package/Config.in.host"
|
||||
|
||||
source "Config.in.legacy"
|
||||
|
||||
source "$BR2_BUILD_DIR/.br2-external.in"
|
||||
menu "User-provided options"
|
||||
depends on BR2_EXTERNAL != "support/dummy-external"
|
||||
|
||||
source "$BR2_EXTERNAL/Config.in"
|
||||
|
||||
endmenu
|
||||
|
||||
542
Config.in.legacy
542
Config.in.legacy
@@ -142,489 +142,9 @@ comment "build, or run, in unpredictable ways. "
|
||||
comment "----------------------------------------------------"
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2017.05"
|
||||
|
||||
config BR2_PACKAGE_SUNXI_MALI_R2P4
|
||||
bool "sunxi-mali r2p4 removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
sunxi-mali libMali for r2p4 Mali kernel module has been
|
||||
removed since the libump package only provides libUMP.so.3.
|
||||
libMali for r2p4 Mali kernel module requires libUMP.so.2.
|
||||
|
||||
config BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT
|
||||
bool "CoffeeScript option has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The option to enable NodeJS CoffeeScript has been removed.
|
||||
To continue using it, add "coffee-script" to
|
||||
BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL.
|
||||
|
||||
config BR2_PACKAGE_NODEJS_MODULES_EXPRESS
|
||||
bool "Express web application framework option has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The option to enable the NodeJS Express web application
|
||||
framework has been removed. To continue using it, add
|
||||
"express" to BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL.
|
||||
|
||||
config BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL
|
||||
bool "bluez5_utils gatttool install option removed"
|
||||
select BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED
|
||||
help
|
||||
The option to install gatttool specifically has been removed.
|
||||
Since version 5.44 gatttool is in the list of deprecated
|
||||
tools. The option to build and install deprecated tools has
|
||||
been automatically enabled.
|
||||
|
||||
config BR2_PACKAGE_OPENOCD_FT2XXX
|
||||
bool "openocd ft2232 support has been removed"
|
||||
select BR2_PACKAGE_OPENOCD_FTDI
|
||||
select BR2_LEGACY
|
||||
help
|
||||
FT2232 support in OpenOCD has been removed, it's replaced by
|
||||
FDTI support, which has automatically been enabled.
|
||||
|
||||
config BR2_PACKAGE_KODI_RTMPDUMP
|
||||
bool "kodi rtmp has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Internal rtmp support was removed from Kodi.
|
||||
|
||||
config BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN
|
||||
bool "kodi-visualisation-fountain has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
According to upstream 'the visualization is not currently
|
||||
in a working shape.'
|
||||
|
||||
config BR2_PACKAGE_PORTMAP
|
||||
bool "portmap has been removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_RPCBIND
|
||||
help
|
||||
The portmap upstream tarball is removed, no releases since
|
||||
ten years and latest change in upstream git in 2014.
|
||||
You should better use rpcbind as a RPC portmapper.
|
||||
|
||||
config BR2_BINUTILS_VERSION_2_25_X
|
||||
bool "binutils version 2.25 support removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Support for binutils version 2.25 has been removed. The
|
||||
current default version (2.27 or later) has been selected
|
||||
instead.
|
||||
|
||||
config BR2_TOOLCHAIN_BUILDROOT_INET_RPC
|
||||
bool "uclibc RPC support has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
uClibc-ng removed internal RPC implementation in 1.0.23. You
|
||||
should use libtirpc instead.
|
||||
|
||||
config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS
|
||||
int "extra size in blocks has been removed"
|
||||
default 0
|
||||
help
|
||||
Since the support for auto calculation of the filesystem size has been
|
||||
removed, this option is now useless and must be 0.
|
||||
You may want to check that BR2_TARGET_ROOTFS_EXT2_BLOCKS matchs
|
||||
your needs.
|
||||
|
||||
config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS_WRAP
|
||||
bool
|
||||
default y if BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS != 0
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_KDBUS
|
||||
bool "systemd-kdbus has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
--enable/disable-kdbus configure option has been removed since
|
||||
systemd-231.
|
||||
|
||||
config BR2_PACKAGE_POLARSSL
|
||||
bool "polarssl has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The polarssl crypto library has been removed since the 1.2.x
|
||||
release branch is no longer maintained. Newer upstream
|
||||
branches/releases (mbedtls) have API changes so they're not
|
||||
drop-in replacements.
|
||||
|
||||
config BR2_NBD_CLIENT
|
||||
bool "nbd client option was renamed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_NBD_CLIENT
|
||||
help
|
||||
The nbd client option has been renamed to BR2_PACKAGE_NBD_CLIENT.
|
||||
|
||||
config BR2_NBD_SERVER
|
||||
bool "nbd server option was renamed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_NBD_SERVER
|
||||
help
|
||||
The nbd server option has been renamed to BR2_PACKAGE_NBD_SERVER.
|
||||
|
||||
config BR2_PACKAGE_GMOCK
|
||||
bool "gmock merged into gtest package"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_GTEST
|
||||
select BR2_PACKAGE_GTEST_GMOCK
|
||||
help
|
||||
GMock is now a suboption of the GTest package.
|
||||
|
||||
config BR2_KERNEL_HEADERS_4_8
|
||||
bool "kernel headers version 4.8.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_4_4
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 4.8.x of the Linux kernel headers are no longer
|
||||
maintained upstream and are now removed. As an alternative,
|
||||
version 4.4.x of the headers have been automatically
|
||||
selected in your configuration.
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_18
|
||||
bool "kernel headers version 3.18.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_12
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.18.x of the Linux kernel headers are no longer
|
||||
maintained upstream and are now removed. As an alternative,
|
||||
version 3.12.x of the headers have been automatically
|
||||
selected in your configuration.
|
||||
|
||||
config BR2_GLIBC_VERSION_2_22
|
||||
bool "glibc 2.22 removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Support for glibc version 2.22 has been removed. The current
|
||||
default version has been selected instead.
|
||||
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2017.02"
|
||||
|
||||
config BR2_PACKAGE_PERL_DB_FILE
|
||||
bool "perl-db-file removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_BERKELEYDB
|
||||
select BR2_PACKAGE_PERL
|
||||
help
|
||||
DB_File can be built as a core Perl module, so the separate
|
||||
perl-db-file package has been removed.
|
||||
|
||||
config BR2_KERNEL_HEADERS_4_7
|
||||
bool "kernel headers version 4.7.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_4_4
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 4.7.x of the Linux kernel headers are no longer
|
||||
maintained upstream and are now removed. As an alternative,
|
||||
version 4.4.x of the headers have been automatically
|
||||
selected in your configuration.
|
||||
|
||||
config BR2_KERNEL_HEADERS_4_6
|
||||
bool "kernel headers version 4.6.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_4_4
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 4.6.x of the Linux kernel headers are no longer
|
||||
maintained upstream and are now removed. As an alternative,
|
||||
version 4.4.x of the headers have been automatically
|
||||
selected in your configuration.
|
||||
|
||||
config BR2_KERNEL_HEADERS_4_5
|
||||
bool "kernel headers version 4.5.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_4_4
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 4.5.x of the Linux kernel headers are no longer
|
||||
maintained upstream and are now removed. As an alternative,
|
||||
version 4.4.x of the headers have been automatically
|
||||
selected in your configuration.
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_14
|
||||
bool "kernel headers version 3.14.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_12
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.14.x of the Linux kernel headers are no longer
|
||||
maintained upstream and are now removed. As an alternative,
|
||||
version 3.12.x of the headers have been automatically
|
||||
selected in your configuration.
|
||||
|
||||
config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
|
||||
bool "musl-cross 1.1.12 toolchain removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The support for the prebuilt toolchain based on the Musl C
|
||||
library provided by the musl-cross project has been removed.
|
||||
Upstream doesn't provide any prebuilt toolchain anymore, use the
|
||||
Buildroot toolchain instead.
|
||||
|
||||
config BR2_UCLIBC_INSTALL_TEST_SUITE
|
||||
bool "uClibc tests now in uclibc-ng-test"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_UCLIBC_NG_TEST
|
||||
help
|
||||
The test suite of the uClibc C library has been moved into a
|
||||
separate package, uclibc-ng-test.
|
||||
|
||||
config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX
|
||||
bool "Blackfin.uclinux.org 2014R1 toolchain removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The ADI Blackfin toolchain has many bugs which are fixed in
|
||||
more recent gcc and uClibc-ng releases. Use the Buildroot
|
||||
toolchain instead.
|
||||
|
||||
config BR2_PACKAGE_MAKEDEVS
|
||||
bool "makedevs removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The makedevs tool is part of busybox. The Buildroot fork
|
||||
should not be used outside of the Buildroot infrastructure.
|
||||
|
||||
config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A
|
||||
bool "Arago ARMv7 2011.09 removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The Arago toolchains are every old and not updated anymore.
|
||||
|
||||
config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE
|
||||
bool "Arago ARMv5 2011.09 removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The Arago toolchains are every old and not updated anymore.
|
||||
|
||||
config BR2_PACKAGE_SNOWBALL_HDMISERVICE
|
||||
bool "snowball-hdmiservice removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
We no longer have support for the Snowball platform in
|
||||
Buildroot, so this package was no longer useful.
|
||||
|
||||
config BR2_PACKAGE_SNOWBALL_INIT
|
||||
bool "snowball-init removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
We no longer have support for the Snowball platform in
|
||||
Buildroot, so this package was no longer useful.
|
||||
|
||||
config BR2_GDB_VERSION_7_9
|
||||
bool "gdb 7.9 has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The 7.9 version of gdb has been removed. Use a newer version
|
||||
instead.
|
||||
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2016.11"
|
||||
|
||||
config BR2_PACKAGE_PHP_SAPI_CLI_CGI
|
||||
bool "PHP CGI and CLI options are now seperate"
|
||||
select BR2_PACKAGE_PHP_SAPI_CLI
|
||||
select BR2_PACKAGE_PHP_SAPI_CGI
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The PHP Interface options have been split up into a
|
||||
separate option for each interface.
|
||||
|
||||
config BR2_PACKAGE_PHP_SAPI_CLI_FPM
|
||||
bool "PHP CLI and FPM options are now separate"
|
||||
select BR2_PACKAGE_PHP_SAPI_CLI
|
||||
select BR2_PACKAGE_PHP_SAPI_FPM
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The PHP Interface options have been split up into a
|
||||
separate option for each interface.
|
||||
|
||||
config BR2_PACKAGE_WVSTREAMS
|
||||
bool "wvstreams removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
wvstreams is not maintained anymore since about 2009. It also
|
||||
doesn't build anymore with recent compilers (GCC 5+).
|
||||
|
||||
config BR2_PACKAGE_WVDIAL
|
||||
bool "wvdial removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
wvdial is not maintained anymore since about 2009. It also
|
||||
doesn't build anymore with recent compilers (GCC 5+).
|
||||
|
||||
config BR2_PACKAGE_WEBKITGTK24
|
||||
bool "webkitgtk 2.4.x removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
This legacy package only existed because some other packages
|
||||
depended on that specific version of webkitgtk. However, the
|
||||
other packages have been fixed. webkitgtk 2.4 is full of
|
||||
security issues so it needs to be removed.
|
||||
|
||||
config BR2_PACKAGE_TORSMO
|
||||
bool "torsmo removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
torsmo has been unmaintained for a long time, and nobody
|
||||
seems to be interested in it.
|
||||
|
||||
config BR2_PACKAGE_SSTRIP
|
||||
bool "sstrip removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
sstrip is unmaintained and potentially harmful. It doesn't
|
||||
save so much compared to normal binutils strip, and there is
|
||||
a big risk of binaries that don't work. Use normal strip
|
||||
instead.
|
||||
|
||||
config BR2_KERNEL_HEADERS_4_3
|
||||
bool "kernel headers version 4.3.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_4_1
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 4.3.x of the Linux kernel headers are no longer
|
||||
maintained upstream and are now removed. As an alternative,
|
||||
version 4.1.x of the headers have been automatically
|
||||
selected in your configuration.
|
||||
|
||||
config BR2_KERNEL_HEADERS_4_2
|
||||
bool "kernel headers version 4.2.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_4_1
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 4.2.x of the Linux kernel headers are no longer
|
||||
maintained upstream and are now removed. As an alternative,
|
||||
version 4.1.x of the headers have been automatically
|
||||
selected in your configuration.
|
||||
|
||||
config BR2_PACKAGE_KODI_ADDON_XVDR
|
||||
bool "kodi-addon-xvdr removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
According to the github project page:
|
||||
https://github.com/pipelka/xbmc-addon-xvdr
|
||||
this package is discontinued.
|
||||
|
||||
config BR2_PACKAGE_IPKG
|
||||
bool "ipkg removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
ipkg dates back to the early 2000s when Compaq started the
|
||||
handhelds.org project and it hasn't seen development since 2006.
|
||||
Use opkg as a replacement.
|
||||
|
||||
config BR2_GCC_VERSION_4_7_X
|
||||
bool "gcc 4.7.x support removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Support for gcc version 4.7.x has been removed. The current
|
||||
default version (4.9.x or later) has been selected instead.
|
||||
|
||||
config BR2_BINUTILS_VERSION_2_24_X
|
||||
bool "binutils version 2.24 support removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Support for binutils version 2.24 has been removed. The
|
||||
current default version (2.26 or later) has been selected
|
||||
instead.
|
||||
|
||||
config BR2_PACKAGE_WESTON_RPI
|
||||
bool "Weston propietary RPI support is gone"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Upstream decided the propietary (rpi-userland) weston composer
|
||||
support wasn't worth the effort so it was removed. Switch to
|
||||
the open VC4 support.
|
||||
|
||||
config BR2_LINUX_KERNEL_TOOL_CPUPOWER
|
||||
bool "linux-tool cpupower"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_LINUX_TOOLS_CPUPOWER
|
||||
help
|
||||
Linux tool cpupower option was renamed.
|
||||
|
||||
config BR2_LINUX_KERNEL_TOOL_PERF
|
||||
bool "linux-tool perf"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_LINUX_TOOLS_PERF
|
||||
help
|
||||
Linux tool perf option was renamed.
|
||||
|
||||
config BR2_LINUX_KERNEL_TOOL_SELFTESTS
|
||||
bool "linux-tool selftests"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_LINUX_TOOLS_SELFTESTS
|
||||
help
|
||||
Linux tool selftests option was renamed.
|
||||
|
||||
config BR2_GCC_VERSION_4_8_ARC
|
||||
bool "gcc arc option renamed"
|
||||
select BR2_LEGACY
|
||||
select BR2_GCC_VERSION_ARC
|
||||
help
|
||||
The option that selects the gcc version for the ARC
|
||||
architecture has been renamed to BR2_GCC_VERSION_ARC.
|
||||
|
||||
config BR2_KERNEL_HEADERS_4_0
|
||||
bool "kernel headers version 4.0.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_12
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 4.0.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.12.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_19
|
||||
bool "kernel headers version 3.19.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_12
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.19.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.12.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS
|
||||
bool "libevas-generic-loaders package removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_EFL
|
||||
help
|
||||
With EFL 1.18, libevas-generic-loaders is now provided by the efl
|
||||
package.
|
||||
|
||||
config BR2_PACKAGE_ELEMENTARY
|
||||
bool "elementary package removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_EFL
|
||||
help
|
||||
With EFL 1.18, elementary is now provided by the efl package.
|
||||
|
||||
config BR2_LINUX_KERNEL_CUSTOM_LOCAL
|
||||
bool "Linux kernel local directory option removed"
|
||||
help
|
||||
The option to select a local directory as the source of the Linux
|
||||
kernel has been removed. It hurts reproducibility of builds.
|
||||
|
||||
In case you were using this option during development of your
|
||||
Linux kernel, use the override mechanism instead.
|
||||
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2016.08"
|
||||
|
||||
config BR2_PACKAGE_EFL_JP2K
|
||||
bool "libevas jp2k loader has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
JP2K support in EFL requires openjpeg 1.x (libopenjpeg1.pc)
|
||||
while Buildroot only packages openjpeg 2.x. Therefore, the
|
||||
JP2K loader has been removed from EFL.
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_COMPAT
|
||||
bool "systemd compatibility libraries have been removed"
|
||||
select BR2_LEGACY
|
||||
@@ -784,19 +304,12 @@ config BR2_PACKAGE_QT5QUICK1
|
||||
from upstream starting from Qt 5.6.
|
||||
|
||||
config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR
|
||||
string "uboot custom patch dir has been removed"
|
||||
bool "uboot custom patch dir removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The uboot custom patch directory option has been removed. Use
|
||||
the improved BR2_TARGET_UBOOT_PATCH option instead.
|
||||
|
||||
config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR_WRAP
|
||||
bool
|
||||
default y if BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR != ""
|
||||
select BR2_LEGACY
|
||||
|
||||
# Note: BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR is still referenced from
|
||||
# boot/uboot/Config.in
|
||||
|
||||
config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID
|
||||
bool "xf86-input-void removed"
|
||||
select BR2_LEGACY
|
||||
@@ -806,12 +319,12 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_17
|
||||
bool "kernel headers version 3.17.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_12
|
||||
select BR2_KERNEL_HEADERS_3_18
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.17.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.12.x of the headers have been
|
||||
As an alternative, version 3.18.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_GDB_VERSION_7_7
|
||||
@@ -873,7 +386,7 @@ config BR2_GCC_VERSION_4_5_X
|
||||
version instead.
|
||||
|
||||
config BR2_PACKAGE_SQLITE_READLINE
|
||||
bool "sqlite command-line editing support was updated"
|
||||
bool "command-line editing support was updated"
|
||||
select BR2_PACKAGE_NCURSES
|
||||
select BR2_PACKAGE_READLINE
|
||||
select BR2_LEGACY
|
||||
@@ -907,7 +420,7 @@ config BR2_PACKAGE_E2FSPROGS_FINDFS
|
||||
This option attempted to enable findfs capabilities from
|
||||
e2fsprogs but has not worked since July 2015 (due to
|
||||
packaging changes). One can use BusyBox's findfs support or
|
||||
enable the BR2_PACKAGE_UTIL_LINUX_BINARIES option.
|
||||
enable the BR2_PACKAGE_UTIL_LINUX_FINDFS option.
|
||||
|
||||
config BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL
|
||||
bool "openpowerlink debug option has been removed"
|
||||
@@ -952,12 +465,12 @@ config BR2_PACKAGE_CUPS_PDFTOPS
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_16
|
||||
bool "kernel headers version 3.16.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_12
|
||||
select BR2_KERNEL_HEADERS_3_18
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.16.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.12.x of the headers have been
|
||||
As an alternative, version 3.18.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_PACKAGE_PYTHON_PYXML
|
||||
@@ -1168,32 +681,32 @@ config BR2_KERNEL_HEADERS_3_0
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_11
|
||||
bool "kernel headers version 3.11.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_10
|
||||
select BR2_KERNEL_HEADERS_3_12
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.11.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.10.x of the headers have been
|
||||
As an alternative, version 3.12.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_13
|
||||
bool "kernel headers version 3.13.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_12
|
||||
select BR2_KERNEL_HEADERS_3_14
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.13.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.12.x of the headers have been
|
||||
As an alternative, version 3.14.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_15
|
||||
bool "kernel headers version 3.15.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_12
|
||||
select BR2_KERNEL_HEADERS_3_18
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.15.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.12.x of the headers have been
|
||||
As an alternative, version 3.18.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI
|
||||
@@ -1743,12 +1256,11 @@ config BR2_PACKAGE_STRONGSWAN_TOOLS
|
||||
deprecated.
|
||||
|
||||
config BR2_PACKAGE_XBMC_ADDON_XVDR
|
||||
bool "xbmc-addon-xvdr removed"
|
||||
bool "xbmc options have been renamed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_KODI_ADDON_XVDR
|
||||
help
|
||||
According to the github project page:
|
||||
https://github.com/pipelka/xbmc-addon-xvdr
|
||||
this package is discontinued.
|
||||
The XBMC media center project was renamed to Kodi entertainment center
|
||||
|
||||
config BR2_PACKAGE_XBMC_PVR_ADDONS
|
||||
bool "xbmc options have been renamed"
|
||||
@@ -2000,12 +1512,12 @@ config BR2_PACKAGE_LIBELF
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_8
|
||||
bool "kernel headers version 3.8.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_4
|
||||
select BR2_KERNEL_HEADERS_3_10
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.8.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.4.x of the headers have been
|
||||
As an alternative, version 3.10.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_PACKAGE_GETTEXT_TOOLS
|
||||
@@ -2158,22 +1670,22 @@ config BR2_PACKAGE_EVTEST_CAPTURE
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_6
|
||||
bool "kernel headers version 3.6.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_4
|
||||
select BR2_KERNEL_HEADERS_3_10
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.6.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.4.x of the headers have been
|
||||
As an alternative, version 3.10.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_7
|
||||
bool "kernel headers version 3.7.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_4
|
||||
select BR2_KERNEL_HEADERS_3_10
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.7.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.4.x of the headers have been
|
||||
As an alternative, version 3.10.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_PACKAGE_VALA
|
||||
@@ -2346,22 +1858,22 @@ config BR2_KERNEL_HEADERS_3_1
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_3
|
||||
bool "kernel headers version 3.3.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_2
|
||||
select BR2_KERNEL_HEADERS_3_4
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.3.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.2.x of the headers have been
|
||||
As an alternative, version 3.4.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_5
|
||||
bool "kernel headers version 3.5.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_4
|
||||
select BR2_KERNEL_HEADERS_3_10
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.5.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.4.x of the headers have been
|
||||
As an alternative, version 3.10.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_GDB_VERSION_7_2
|
||||
|
||||
1785
DEVELOPERS
1785
DEVELOPERS
File diff suppressed because it is too large
Load Diff
323
Makefile
323
Makefile
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||
# Copyright (C) 2006-2014 by the Buildroot developers <buildroot@uclibc.org>
|
||||
# Copyright (C) 2014-2017 by the Buildroot developers <buildroot@buildroot.org>
|
||||
# Copyright (C) 2014-2016 by the Buildroot developers <buildroot@buildroot.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
|
||||
@@ -24,71 +24,29 @@
|
||||
# You shouldn't need to mess with anything beyond this point...
|
||||
#--------------------------------------------------------------
|
||||
|
||||
# Delete default rules. We don't use them. This saves a bit of time.
|
||||
.SUFFIXES:
|
||||
|
||||
# we want bash as shell
|
||||
SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
|
||||
else if [ -x /bin/bash ]; then echo /bin/bash; \
|
||||
else echo sh; fi; fi)
|
||||
|
||||
# Set O variable if not already done on the command line;
|
||||
# or avoid confusing packages that can use the O=<dir> syntax for out-of-tree
|
||||
# build by preventing it from being forwarded to sub-make calls.
|
||||
ifneq ("$(origin O)", "command line")
|
||||
O := $(CURDIR)/output
|
||||
endif
|
||||
|
||||
# Check if the current Buildroot execution meets all the pre-requisites.
|
||||
# If they are not met, Buildroot will actually do its job in a sub-make meeting
|
||||
# its pre-requisites, which are:
|
||||
# 1- Permissive enough umask:
|
||||
# Wrong or too restrictive umask will prevent Buildroot and packages from
|
||||
# creating files and directories.
|
||||
# 2- Absolute canonical CWD (i.e. $(CURDIR)):
|
||||
# Otherwise, some packages will use CWD as-is, others will compute its
|
||||
# absolute canonical path. This makes harder tracking and fixing host
|
||||
# machine path leaks.
|
||||
# 3- Absolute canonical output location (i.e. $(O)):
|
||||
# For the same reason as the one for CWD.
|
||||
|
||||
# Remove the trailing '/.' from $(O) as it can be added by the makefile wrapper
|
||||
# installed in the $(O) directory.
|
||||
# Also remove the trailing '/' the user can set when on the command line.
|
||||
override O := $(patsubst %/,%,$(patsubst %.,%,$(O)))
|
||||
# Make sure $(O) actually exists before calling realpath on it; this is to
|
||||
# avoid empty CANONICAL_O in case on non-existing entry.
|
||||
CANONICAL_O := $(shell mkdir -p $(O) >/dev/null 2>&1)$(realpath $(O))
|
||||
|
||||
CANONICAL_CURDIR = $(realpath $(CURDIR))
|
||||
|
||||
REQ_UMASK = 0022
|
||||
|
||||
# Make sure O= is passed (with its absolute canonical path) everywhere the
|
||||
# toplevel makefile is called back.
|
||||
EXTRAMAKEARGS := O=$(CANONICAL_O)
|
||||
|
||||
# Check Buildroot execution pre-requisites here.
|
||||
ifneq ($(shell umask):$(CURDIR):$(O),$(REQ_UMASK):$(CANONICAL_CURDIR):$(CANONICAL_O))
|
||||
# Trick for always running with a fixed umask
|
||||
UMASK = 0022
|
||||
ifneq ($(shell umask),$(UMASK))
|
||||
.PHONY: _all $(MAKECMDGOALS)
|
||||
|
||||
$(MAKECMDGOALS): _all
|
||||
@:
|
||||
|
||||
_all:
|
||||
@umask $(REQ_UMASK) && \
|
||||
$(MAKE) -C $(CANONICAL_CURDIR) --no-print-directory \
|
||||
$(MAKECMDGOALS) $(EXTRAMAKEARGS)
|
||||
@umask $(UMASK) && $(MAKE) --no-print-directory $(MAKECMDGOALS)
|
||||
|
||||
else # umask / $(CURDIR) / $(O)
|
||||
else # umask
|
||||
|
||||
# This is our default rule, so must come first
|
||||
all:
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2017.05
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1496267000
|
||||
export BR2_VERSION := 2016.08.1
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
@@ -128,8 +86,7 @@ export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlo
|
||||
noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
|
||||
defconfig %_defconfig allyesconfig allnoconfig silentoldconfig release \
|
||||
randpackageconfig allyespackageconfig allnopackageconfig \
|
||||
print-version olddefconfig distclean manual manual-html manual-split-html \
|
||||
manual-pdf manual-text manual-epub
|
||||
print-version olddefconfig
|
||||
|
||||
# Some global targets do not trigger a build, but are used to collect
|
||||
# metadata, or do various checks. When such targets are triggered,
|
||||
@@ -140,63 +97,80 @@ noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconf
|
||||
# We're building in two situations: when MAKECMDGOALS is empty
|
||||
# (default target is to build), or when MAKECMDGOALS contains
|
||||
# something else than one of the nobuild_targets.
|
||||
nobuild_targets := source %-source source-check \
|
||||
legal-info %-legal-info external-deps _external-deps \
|
||||
clean distclean help show-targets graph-depends \
|
||||
%-graph-depends %-show-depends %-show-version \
|
||||
graph-build graph-size list-defconfigs \
|
||||
savedefconfig printvars
|
||||
nobuild_targets := source source-check \
|
||||
legal-info external-deps _external-deps \
|
||||
clean distclean help
|
||||
ifeq ($(MAKECMDGOALS),)
|
||||
BR_BUILDING = y
|
||||
else ifneq ($(filter-out $(nobuild_targets),$(MAKECMDGOALS)),)
|
||||
BR_BUILDING = y
|
||||
endif
|
||||
|
||||
# We call make recursively to build packages. The command-line overrides that
|
||||
# are passed to Buildroot don't apply to those package build systems. In
|
||||
# particular, we don't want to pass down the O=<dir> option for out-of-tree
|
||||
# builds, because the value specified on the command line will not be correct
|
||||
# for packages.
|
||||
MAKEOVERRIDES :=
|
||||
# Strip quotes and then whitespaces
|
||||
qstrip = $(strip $(subst ",,$(1)))
|
||||
#"))
|
||||
|
||||
# Include some helper macros and variables
|
||||
include support/misc/utils.mk
|
||||
# Variables for use in Make constructs
|
||||
comma := ,
|
||||
empty :=
|
||||
space := $(empty) $(empty)
|
||||
|
||||
# Set variables related to in-tree or out-of-tree build.
|
||||
# Here, both $(O) and $(CURDIR) are absolute canonical paths.
|
||||
ifeq ($(O),$(CURDIR)/output)
|
||||
CONFIG_DIR := $(CURDIR)
|
||||
ifneq ("$(origin O)", "command line")
|
||||
O := output
|
||||
CONFIG_DIR := $(TOPDIR)
|
||||
NEED_WRAPPER =
|
||||
else
|
||||
# other packages might also support Linux-style out of tree builds
|
||||
# with the O=<dir> syntax (E.G. BusyBox does). As make automatically
|
||||
# forwards command line variable definitions those packages get very
|
||||
# confused. Fix this by telling make to not do so
|
||||
MAKEOVERRIDES =
|
||||
# strangely enough O is still passed to submakes with MAKEOVERRIDES
|
||||
# (with make 3.81 atleast), the only thing that changes is the output
|
||||
# of the origin function (command line -> environment).
|
||||
# Unfortunately some packages don't look at origin (E.G. uClibc 0.9.31+)
|
||||
# To really make O go away, we have to override it.
|
||||
override O := $(O)
|
||||
CONFIG_DIR := $(O)
|
||||
# we need to pass O= everywhere we call back into the toplevel makefile
|
||||
EXTRAMAKEARGS = O=$(O)
|
||||
NEED_WRAPPER = y
|
||||
endif
|
||||
|
||||
# bash prints the name of the directory on 'cd <dir>' if CDPATH is
|
||||
# set, so unset it here to not cause problems. Notice that the export
|
||||
# line doesn't affect the environment of $(shell ..) calls.
|
||||
# line doesn't affect the environment of $(shell ..) calls, so
|
||||
# explictly throw away any output from 'cd' here.
|
||||
export CDPATH :=
|
||||
|
||||
BASE_DIR := $(CANONICAL_O)
|
||||
BASE_DIR := $(shell mkdir -p $(O) && cd $(O) >/dev/null && pwd)
|
||||
$(if $(BASE_DIR),, $(error output directory "$(O)" does not exist))
|
||||
|
||||
|
||||
# Handling of BR2_EXTERNAL.
|
||||
#
|
||||
# The value of BR2_EXTERNAL is stored in .br-external in the output directory.
|
||||
# The location of the external.mk makefile fragments is computed in that file.
|
||||
# On subsequent invocations of make, this file is read in. BR2_EXTERNAL can
|
||||
# still be overridden on the command line, therefore the file is re-created
|
||||
# every time make is run.
|
||||
# On subsequent invocations of make, it is read in. It can still be overridden
|
||||
# on the command line, therefore the file is re-created every time make is run.
|
||||
#
|
||||
# When BR2_EXTERNAL is set to an empty value (e.g. explicitly in command
|
||||
# line), the .br-external file is removed and we point to
|
||||
# support/dummy-external. This makes sure we can unconditionally include the
|
||||
# Config.in and external.mk from the BR2_EXTERNAL directory. In this case,
|
||||
# override is necessary so the user can clear BR2_EXTERNAL from the command
|
||||
# line, but the dummy path is still used internally.
|
||||
|
||||
BR2_EXTERNAL_FILE = $(BASE_DIR)/.br-external.mk
|
||||
BR2_EXTERNAL_FILE = $(BASE_DIR)/.br-external
|
||||
-include $(BR2_EXTERNAL_FILE)
|
||||
$(shell support/scripts/br2-external \
|
||||
-m -o '$(BR2_EXTERNAL_FILE)' $(BR2_EXTERNAL))
|
||||
BR2_EXTERNAL_ERROR =
|
||||
include $(BR2_EXTERNAL_FILE)
|
||||
ifneq ($(BR2_EXTERNAL_ERROR),)
|
||||
$(error $(BR2_EXTERNAL_ERROR))
|
||||
ifeq ($(BR2_EXTERNAL),)
|
||||
override BR2_EXTERNAL = support/dummy-external
|
||||
$(shell rm -f $(BR2_EXTERNAL_FILE))
|
||||
else
|
||||
_BR2_EXTERNAL = $(shell cd $(BR2_EXTERNAL) >/dev/null 2>&1 && pwd)
|
||||
ifeq ($(_BR2_EXTERNAL),)
|
||||
$(error BR2_EXTERNAL='$(BR2_EXTERNAL)' does not exist, relative to $(TOPDIR))
|
||||
endif
|
||||
override BR2_EXTERNAL := $(_BR2_EXTERNAL)
|
||||
$(shell echo BR2_EXTERNAL ?= $(BR2_EXTERNAL) > $(BR2_EXTERNAL_FILE))
|
||||
endif
|
||||
|
||||
# To make sure that the environment variable overrides the .config option,
|
||||
@@ -227,18 +201,11 @@ LICENSE_FILES_DIR_TARGET = $(LEGAL_INFO_DIR)/licenses
|
||||
LICENSE_FILES_DIR_HOST = $(LEGAL_INFO_DIR)/host-licenses
|
||||
LEGAL_MANIFEST_CSV_TARGET = $(LEGAL_INFO_DIR)/manifest.csv
|
||||
LEGAL_MANIFEST_CSV_HOST = $(LEGAL_INFO_DIR)/host-manifest.csv
|
||||
LEGAL_LICENSES_TXT_TARGET = $(LEGAL_INFO_DIR)/licenses.txt
|
||||
LEGAL_LICENSES_TXT_HOST = $(LEGAL_INFO_DIR)/host-licenses.txt
|
||||
LEGAL_WARNINGS = $(LEGAL_INFO_DIR)/.warnings
|
||||
LEGAL_REPORT = $(LEGAL_INFO_DIR)/README
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# staging and target directories do NOT list these as
|
||||
# dependencies anywhere else
|
||||
#
|
||||
################################################################################
|
||||
$(BUILD_DIR) $(TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST):
|
||||
@mkdir -p $@
|
||||
|
||||
BR2_CONFIG = $(CONFIG_DIR)/.config
|
||||
|
||||
# Pull in the user's configuration file
|
||||
@@ -248,13 +215,9 @@ endif
|
||||
|
||||
# timezone and locale may affect build output
|
||||
ifeq ($(BR2_REPRODUCIBLE),y)
|
||||
export TZ = UTC
|
||||
export LANG = C
|
||||
export LC_ALL = C
|
||||
export GZIP = -n
|
||||
BR2_VERSION_GIT_EPOCH = $(shell GIT_DIR=$(TOPDIR)/.git $(GIT) log -1 --format=%at)
|
||||
export SOURCE_DATE_EPOCH = $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH))
|
||||
DEPENDENCIES_HOST_PREREQ += host-fakedate
|
||||
export TZ=UTC
|
||||
export LANG=C
|
||||
export LC_ALL=C
|
||||
endif
|
||||
|
||||
# To put more focus on warnings, be less verbose as default
|
||||
@@ -323,7 +286,6 @@ HOSTLN := $(shell which $(HOSTLN) || type -p $(HOSTLN) || echo ln)
|
||||
HOSTNM := $(shell which $(HOSTNM) || type -p $(HOSTNM) || echo nm)
|
||||
HOSTOBJCOPY := $(shell which $(HOSTOBJCOPY) || type -p $(HOSTOBJCOPY) || echo objcopy)
|
||||
HOSTRANLIB := $(shell which $(HOSTRANLIB) || type -p $(HOSTRANLIB) || echo ranlib)
|
||||
SED := $(shell which sed || type -p sed) -i -e
|
||||
|
||||
export HOSTAR HOSTAS HOSTCC HOSTCXX HOSTLD
|
||||
export HOSTCC_NOCCACHE HOSTCXX_NOCCACHE
|
||||
@@ -402,7 +364,6 @@ unexport QMAKESPEC
|
||||
unexport TERMINFO
|
||||
unexport MACHINE
|
||||
unexport O
|
||||
unexport GCC_COLORS
|
||||
|
||||
GNU_HOST_NAME := $(shell support/gnuconfig/config.guess)
|
||||
|
||||
@@ -422,7 +383,6 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \
|
||||
-e s/arm.*/arm/ -e s/sa110/arm/ \
|
||||
-e s/aarch64.*/arm64/ \
|
||||
-e s/bfin/blackfin/ \
|
||||
-e s/or1k/openrisc/ \
|
||||
-e s/parisc64/parisc/ \
|
||||
-e s/powerpc64.*/powerpc/ \
|
||||
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
|
||||
@@ -432,7 +392,6 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \
|
||||
ZCAT := $(call qstrip,$(BR2_ZCAT))
|
||||
BZCAT := $(call qstrip,$(BR2_BZCAT))
|
||||
XZCAT := $(call qstrip,$(BR2_XZCAT))
|
||||
LZCAT := $(call qstrip,$(BR2_LZCAT))
|
||||
TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf
|
||||
|
||||
# packages compiled for the host go here
|
||||
@@ -476,12 +435,11 @@ all: world
|
||||
|
||||
# Include legacy before the other things, because package .mk files
|
||||
# may rely on it.
|
||||
ifneq ($(BR2_DEPRECATED),y)
|
||||
include Makefile.legacy
|
||||
endif
|
||||
|
||||
include package/Makefile.in
|
||||
# arch/arch.mk.* must be after package/Makefile.in because it may need to
|
||||
# complement variables defined therein, like BR_NO_CHECK_HASH_FOR.
|
||||
-include $(wildcard arch/arch.mk.*)
|
||||
include support/dependencies/dependencies.mk
|
||||
|
||||
include toolchain/*.mk
|
||||
@@ -500,15 +458,7 @@ include boot/common.mk
|
||||
include linux/linux.mk
|
||||
include fs/common.mk
|
||||
|
||||
# If using a br2-external tree, the BR2_EXTERNAL_$(NAME)_PATH variables
|
||||
# are also present in the .config file. Since .config is included after
|
||||
# we defined them in the Makefile, the values for those variables are
|
||||
# quoted. We just include the generated Makefile fragment .br2-external.mk
|
||||
# a third time, which will set those variables to the un-quoted values.
|
||||
include $(BR2_EXTERNAL_FILE)
|
||||
|
||||
# Nothing to include if no BR2_EXTERNAL tree in use
|
||||
include $(BR2_EXTERNAL_MKS)
|
||||
include $(BR2_EXTERNAL)/external.mk
|
||||
|
||||
# Now we are sure we have all the packages scanned and defined. We now
|
||||
# check for each package in the list of enabled packages, that all its
|
||||
@@ -552,6 +502,15 @@ world: target-post-image
|
||||
legal-info legal-info-prepare legal-info-clean printvars help \
|
||||
list-defconfigs target-finalize target-post-image source-check
|
||||
|
||||
################################################################################
|
||||
#
|
||||
# staging and target directories do NOT list these as
|
||||
# dependencies anywhere else
|
||||
#
|
||||
################################################################################
|
||||
$(BUILD_DIR) $(TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST):
|
||||
@mkdir -p $@
|
||||
|
||||
# Populating the staging with the base directories is handled by the skeleton package
|
||||
$(STAGING_DIR):
|
||||
@mkdir -p $(STAGING_DIR)
|
||||
@@ -661,7 +620,7 @@ target-finalize: $(PACKAGES)
|
||||
$(TARGET_DIR)/usr/lib/pkgconfig $(TARGET_DIR)/usr/share/pkgconfig \
|
||||
$(TARGET_DIR)/usr/lib/cmake $(TARGET_DIR)/usr/share/cmake
|
||||
find $(TARGET_DIR)/usr/{lib,share}/ -name '*.cmake' -print0 | xargs -0 rm -f
|
||||
find $(TARGET_DIR)/lib/ $(TARGET_DIR)/usr/lib/ $(TARGET_DIR)/usr/libexec/ \
|
||||
find $(TARGET_DIR)/lib $(TARGET_DIR)/usr/lib $(TARGET_DIR)/usr/libexec \
|
||||
\( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f
|
||||
ifneq ($(BR2_PACKAGE_GDB),y)
|
||||
rm -rf $(TARGET_DIR)/usr/share/gdb
|
||||
@@ -676,20 +635,23 @@ endif
|
||||
rm -rf $(TARGET_DIR)/usr/info $(TARGET_DIR)/usr/share/info
|
||||
rm -rf $(TARGET_DIR)/usr/doc $(TARGET_DIR)/usr/share/doc
|
||||
rm -rf $(TARGET_DIR)/usr/share/gtk-doc
|
||||
rmdir $(TARGET_DIR)/usr/share 2>/dev/null || true
|
||||
-rmdir $(TARGET_DIR)/usr/share 2>/dev/null
|
||||
$(STRIP_FIND_CMD) | xargs -0 $(STRIPCMD) 2>/dev/null || true
|
||||
if test -d $(TARGET_DIR)/lib/modules; then \
|
||||
find $(TARGET_DIR)/lib/modules -type f -name '*.ko' -print0 | \
|
||||
xargs -0 -r $(KSTRIPCMD); fi
|
||||
|
||||
# See http://sourceware.org/gdb/wiki/FAQ, "GDB does not see any threads
|
||||
# besides the one in which crash occurred; or SIGTRAP kills my program when
|
||||
# I set a breakpoint"
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
|
||||
find $(TARGET_DIR)/lib/ -type f -name 'libpthread*.so*' | \
|
||||
find $(TARGET_DIR)/lib -type f -name 'libpthread*.so*' | \
|
||||
xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG)
|
||||
endif
|
||||
|
||||
# Valgrind needs ld.so with enough information, so only strip
|
||||
# debugging symbols.
|
||||
find $(TARGET_DIR)/lib/ -type f -name 'ld-*.so*' | \
|
||||
find $(TARGET_DIR)/lib -type f -name 'ld-*.so*' | \
|
||||
xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG)
|
||||
test -f $(TARGET_DIR)/etc/ld.so.conf && \
|
||||
{ echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true
|
||||
@@ -736,7 +698,7 @@ legal-info-prepare: $(LEGAL_INFO_DIR)
|
||||
@$(call legal-license-file,buildroot,COPYING,COPYING,HOST)
|
||||
@$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,TARGET)
|
||||
@$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,HOST)
|
||||
@$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved,HOST)
|
||||
@$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPLv2+,COPYING,not saved,not saved,HOST)
|
||||
@$(call legal-warning,the Buildroot source code has not been saved)
|
||||
@cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config
|
||||
|
||||
@@ -757,8 +719,6 @@ legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p
|
||||
show-targets:
|
||||
@echo $(PACKAGES) $(TARGETS_ROOTFS)
|
||||
|
||||
show-build-order: $(patsubst %,%-show-build-order,$(PACKAGES))
|
||||
|
||||
graph-build: $(O)/build/build-time.log
|
||||
@install -d $(GRAPHS_DIR)
|
||||
$(foreach o,name build duration,./support/scripts/graph-build-time \
|
||||
@@ -778,7 +738,7 @@ graph-depends: graph-depends-requirements
|
||||
@$(INSTALL) -d $(GRAPHS_DIR)
|
||||
@cd "$(CONFIG_DIR)"; \
|
||||
$(TOPDIR)/support/scripts/graph-depends $(BR2_GRAPH_DEPS_OPTS) \
|
||||
--direct -o $(GRAPHS_DIR)/$(@).dot
|
||||
-o $(GRAPHS_DIR)/$(@).dot
|
||||
dot $(BR2_GRAPH_DOT_OPTS) -T$(BR_GRAPH_OUT) \
|
||||
-o $(GRAPHS_DIR)/$(@).$(BR_GRAPH_OUT) \
|
||||
$(GRAPHS_DIR)/$(@).dot
|
||||
@@ -806,9 +766,6 @@ endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
HOSTCFLAGS = $(CFLAGS_FOR_BUILD)
|
||||
export HOSTCFLAGS
|
||||
|
||||
.PHONY: prepare-kconfig
|
||||
prepare-kconfig: outputmakefile $(BUILD_DIR)/.br2-external.in
|
||||
|
||||
$(BUILD_DIR)/buildroot-config/%onf:
|
||||
mkdir -p $(@D)/lxdialog
|
||||
PKG_CONFIG_PATH="$(HOST_PKG_CONFIG_PATH)" $(MAKE) CC="$(HOSTCC_NOCCACHE)" HOSTCC="$(HOSTCC_NOCCACHE)" \
|
||||
@@ -824,23 +781,23 @@ COMMON_CONFIG_ENV = \
|
||||
KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
|
||||
KCONFIG_TRISTATE=$(BUILD_DIR)/buildroot-config/tristate.config \
|
||||
BR2_CONFIG=$(BR2_CONFIG) \
|
||||
BR2_EXTERNAL=$(BR2_EXTERNAL) \
|
||||
HOST_GCC_VERSION="$(HOSTCC_VERSION)" \
|
||||
BUILD_DIR=$(BUILD_DIR) \
|
||||
SKIP_LEGACY=
|
||||
|
||||
xconfig: $(BUILD_DIR)/buildroot-config/qconf prepare-kconfig
|
||||
xconfig: $(BUILD_DIR)/buildroot-config/qconf outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN)
|
||||
|
||||
gconfig: $(BUILD_DIR)/buildroot-config/gconf prepare-kconfig
|
||||
gconfig: $(BUILD_DIR)/buildroot-config/gconf outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) srctree=$(TOPDIR) $< $(CONFIG_CONFIG_IN)
|
||||
|
||||
menuconfig: $(BUILD_DIR)/buildroot-config/mconf prepare-kconfig
|
||||
menuconfig: $(BUILD_DIR)/buildroot-config/mconf outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN)
|
||||
|
||||
nconfig: $(BUILD_DIR)/buildroot-config/nconf prepare-kconfig
|
||||
nconfig: $(BUILD_DIR)/buildroot-config/nconf outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN)
|
||||
|
||||
config: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
config: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN)
|
||||
|
||||
# For the config targets that automatically select options, we pass
|
||||
@@ -848,22 +805,22 @@ config: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
# no values are set for the legacy options so a subsequent oldconfig
|
||||
# will query them. Therefore, run an additional olddefconfig.
|
||||
|
||||
oldconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
oldconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) $< --oldconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
randconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
randconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --randconfig $(CONFIG_CONFIG_IN)
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
allyesconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
allyesconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --allyesconfig $(CONFIG_CONFIG_IN)
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
allnoconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --allnoconfig $(CONFIG_CONFIG_IN)
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
randpackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
randpackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
@@ -871,7 +828,7 @@ randpackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
allyespackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
allyespackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
@@ -879,7 +836,7 @@ allyespackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
@@ -887,24 +844,25 @@ allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
silentoldconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
silentoldconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
$(COMMON_CONFIG_ENV) $< --silentoldconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
olddefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN)
|
||||
|
||||
define percent_defconfig
|
||||
# Override the BR2_DEFCONFIG from COMMON_CONFIG_ENV with the new defconfig
|
||||
%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(1)/configs/%_defconfig prepare-kconfig
|
||||
@$$(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$(1)/configs/$$@ \
|
||||
$$< --defconfig=$(1)/configs/$$@ $$(CONFIG_CONFIG_IN)
|
||||
endef
|
||||
$(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call percent_defconfig,$(d))$(sep)))
|
||||
%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(TOPDIR)/configs/%_defconfig outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$(TOPDIR)/configs/$@ \
|
||||
$< --defconfig=$(TOPDIR)/configs/$@ $(CONFIG_CONFIG_IN)
|
||||
|
||||
savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(BR2_EXTERNAL)/configs/%_defconfig outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) BR2_DEFCONFIG=$(BR2_EXTERNAL)/configs/$@ \
|
||||
$< --defconfig=$(BR2_EXTERNAL)/configs/$@ $(CONFIG_CONFIG_IN)
|
||||
|
||||
savedefconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
|
||||
@$(COMMON_CONFIG_ENV) $< \
|
||||
--savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \
|
||||
$(CONFIG_CONFIG_IN)
|
||||
@@ -926,13 +884,6 @@ ifeq ($(NEED_WRAPPER),y)
|
||||
$(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O)
|
||||
endif
|
||||
|
||||
# Even though the target is a real file, we mark it as PHONY as we
|
||||
# want it to be re-generated each time make is invoked, in case the
|
||||
# value of BR2_EXTERNAL is changed.
|
||||
.PHONY: $(BUILD_DIR)/.br2-external.in
|
||||
$(BUILD_DIR)/.br2-external.in: $(BUILD_DIR)
|
||||
$(Q)support/scripts/br2-external -k -o "$(@)" $(BR2_EXTERNAL)
|
||||
|
||||
# printvars prints all the variables currently defined in our
|
||||
# Makefiles. Alternatively, if a non-empty VARS variable is passed,
|
||||
# only the variables matching the make pattern passed in VARS are
|
||||
@@ -942,10 +893,7 @@ printvars:
|
||||
$(sort $(if $(VARS),$(filter $(VARS),$(.VARIABLES)),$(.VARIABLES))), \
|
||||
$(if $(filter-out environment% default automatic, \
|
||||
$(origin $V)), \
|
||||
$(if $(QUOTED_VARS),\
|
||||
$(info $V='$(subst ','\'',$(if $(RAW_VARS),$(value $V),$($V)))'), \
|
||||
$(info $V=$(if $(RAW_VARS),$(value $V),$($V))))))
|
||||
# ' Syntax colouring...
|
||||
$(info $V=$($V) ($(value $V)))))
|
||||
|
||||
clean:
|
||||
rm -rf $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
|
||||
@@ -953,10 +901,13 @@ clean:
|
||||
$(LEGAL_INFO_DIR) $(GRAPHS_DIR)
|
||||
|
||||
distclean: clean
|
||||
ifeq ($(O),$(CURDIR)/output)
|
||||
ifeq ($(DL_DIR),$(TOPDIR)/dl)
|
||||
rm -rf $(DL_DIR)
|
||||
endif
|
||||
ifeq ($(O),output)
|
||||
rm -rf $(O)
|
||||
endif
|
||||
rm -rf $(TOPDIR)/dl $(BR2_CONFIG) $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/..config.tmp \
|
||||
rm -rf $(BR2_CONFIG) $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/..config.tmp \
|
||||
$(CONFIG_DIR)/.auto.deps $(BR2_EXTERNAL_FILE)
|
||||
|
||||
help:
|
||||
@@ -994,10 +945,7 @@ help:
|
||||
@echo ' <pkg>-depends - Build <pkg>'\''s dependencies'
|
||||
@echo ' <pkg>-configure - Build <pkg> up to the configure step'
|
||||
@echo ' <pkg>-build - Build <pkg> up to the build step'
|
||||
@echo ' <pkg>-show-depends - List packages on which <pkg> depends'
|
||||
@echo ' <pkg>-show-rdepends - List packages which have <pkg> as a dependency'
|
||||
@echo ' <pkg>-graph-depends - Generate a graph of <pkg>'\''s dependencies'
|
||||
@echo ' <pkg>-graph-rdepends - Generate a graph of <pkg>'\''s reverse dependencies'
|
||||
@echo ' <pkg>-dirclean - Remove <pkg> build directory'
|
||||
@echo ' <pkg>-reconfigure - Restart the build from the configure step'
|
||||
@echo ' <pkg>-rebuild - Restart the build from the build step'
|
||||
@@ -1023,7 +971,6 @@ help:
|
||||
@echo ' source-check - check selected packages for valid download URLs'
|
||||
@echo ' external-deps - list external packages used'
|
||||
@echo ' legal-info - generate info about license compliance'
|
||||
@echo ' printvars - dump all the internal variables'
|
||||
@echo
|
||||
@echo ' make V=0|1 - 0 => quiet build (default), 1 => verbose build'
|
||||
@echo ' make O=dir - Locate all output files in "dir", including .config'
|
||||
@@ -1032,34 +979,17 @@ help:
|
||||
@echo 'it on-line at http://buildroot.org/docs.html'
|
||||
@echo
|
||||
|
||||
# List the defconfig files
|
||||
# $(1): base directory
|
||||
# $(2): br2-external name, empty for bundled
|
||||
define list-defconfigs
|
||||
@first=true; \
|
||||
for defconfig in $(1)/configs/*_defconfig; do \
|
||||
[ -f "$${defconfig}" ] || continue; \
|
||||
if $${first}; then \
|
||||
if [ "$(2)" ]; then \
|
||||
printf 'External configs in "$(call qstrip,$(2))":\n'; \
|
||||
else \
|
||||
printf "Built-in configs:\n"; \
|
||||
fi; \
|
||||
first=false; \
|
||||
fi; \
|
||||
defconfig="$${defconfig##*/}"; \
|
||||
printf " %-35s - Build for %s\n" "$${defconfig}" "$${defconfig%_defconfig}"; \
|
||||
done; \
|
||||
$${first} || printf "\n"
|
||||
endef
|
||||
|
||||
# We iterate over BR2_EXTERNAL_NAMES rather than BR2_EXTERNAL_DIRS,
|
||||
# because we want to display the name of the br2-external tree.
|
||||
list-defconfigs:
|
||||
$(call list-defconfigs,$(TOPDIR))
|
||||
$(foreach name,$(BR2_EXTERNAL_NAMES),\
|
||||
$(call list-defconfigs,$(BR2_EXTERNAL_$(name)_PATH),\
|
||||
$(BR2_EXTERNAL_$(name)_DESC))$(sep))
|
||||
@echo 'Built-in configs:'
|
||||
@$(foreach b, $(sort $(notdir $(wildcard $(TOPDIR)/configs/*_defconfig))), \
|
||||
printf " %-35s - Build for %s\\n" $(b) $(b:_defconfig=);)
|
||||
ifneq ($(wildcard $(BR2_EXTERNAL)/configs/*_defconfig),)
|
||||
@echo
|
||||
@echo 'User-provided configs:'
|
||||
@$(foreach b, $(sort $(notdir $(wildcard $(BR2_EXTERNAL)/configs/*_defconfig))), \
|
||||
printf " %-35s - Build for %s\\n" $(b) $(b:_defconfig=);)
|
||||
endif
|
||||
@echo
|
||||
|
||||
release: OUT = buildroot-$(BR2_VERSION)
|
||||
|
||||
@@ -1077,12 +1007,9 @@ release:
|
||||
print-version:
|
||||
@echo $(BR2_VERSION_FULL)
|
||||
|
||||
.gitlab-ci.yml: .gitlab-ci.yml.in configs/*_defconfig
|
||||
(cd configs; LC_ALL=C ls -1 *_defconfig) | sed 's/$$/: *defconfig/' | cat $< - > $@
|
||||
|
||||
include docs/manual/manual.mk
|
||||
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(dir)/docs/*/*.mk)
|
||||
-include $(BR2_EXTERNAL)/docs/*/*.mk
|
||||
|
||||
.PHONY: $(noconfig_targets)
|
||||
|
||||
endif #umask / $(CURDIR) / $(O)
|
||||
endif #umask
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
# This file contains placeholders to detect backward-compatibility problems.
|
||||
# When a buildroot "API" feature is being deprecated, a rule should be added
|
||||
# here that issues an error when the old feature is used.
|
||||
#
|
||||
# This file is not included if BR2_DEPRECATED is selected, so it is possible
|
||||
# to bypass the errors (although that's usually a bad idea).
|
||||
|
||||
ifeq ($(BR2_LEGACY),y)
|
||||
$(error "You have legacy configuration in your .config! Please check your configuration.")
|
||||
|
||||
@@ -85,14 +85,6 @@ config BR2_bfin
|
||||
http://www.analog.com/
|
||||
http://en.wikipedia.org/wiki/Blackfin
|
||||
|
||||
config BR2_csky
|
||||
bool "csky"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
csky is processor IP from china.
|
||||
http://www.c-sky.com/
|
||||
http://www.github.com/c-sky
|
||||
|
||||
config BR2_i386
|
||||
bool "i386"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
@@ -167,13 +159,6 @@ config BR2_nios2
|
||||
http://www.altera.com/
|
||||
http://en.wikipedia.org/wiki/Nios_II
|
||||
|
||||
config BR2_or1k
|
||||
bool "OpenRISC"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
OpenRISC is a free and open processor for embedded system.
|
||||
http://openrisc.io
|
||||
|
||||
config BR2_powerpc
|
||||
bool "PowerPC"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
@@ -212,6 +197,16 @@ config BR2_sh
|
||||
http://www.hitachi.com/
|
||||
http://en.wikipedia.org/wiki/SuperH
|
||||
|
||||
config BR2_sh64
|
||||
bool "SuperH64"
|
||||
depends on BR2_DEPRECATED_SINCE_2015_05
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
SuperH64 (or SH) is a 64-bit reduced instruction set computer (RISC)
|
||||
instruction set architecture (ISA) developed by Hitachi.
|
||||
http://www.hitachi.com/
|
||||
http://en.wikipedia.org/wiki/SuperH
|
||||
|
||||
config BR2_sparc
|
||||
bool "SPARC"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
@@ -292,12 +287,6 @@ config BR2_GCC_TARGET_MODE
|
||||
config BR2_BINFMT_SUPPORTS_SHARED
|
||||
bool
|
||||
|
||||
# Must match the name of the architecture from readelf point of view,
|
||||
# i.e the "Machine:" field of readelf output. See get_machine_name()
|
||||
# in binutils/readelf.c for the list of possible values.
|
||||
config BR2_READELF_ARCH_NAME
|
||||
string
|
||||
|
||||
# Set up target binary format
|
||||
choice
|
||||
prompt "Target Binary Format"
|
||||
@@ -375,18 +364,18 @@ if BR2_arcle || BR2_arceb
|
||||
source "arch/Config.in.arc"
|
||||
endif
|
||||
|
||||
if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
|
||||
if BR2_arm || BR2_armeb
|
||||
source "arch/Config.in.arm"
|
||||
endif
|
||||
|
||||
if BR2_aarch64 || BR2_aarch64_be
|
||||
source "arch/Config.in.aarch64"
|
||||
endif
|
||||
|
||||
if BR2_bfin
|
||||
source "arch/Config.in.bfin"
|
||||
endif
|
||||
|
||||
if BR2_csky
|
||||
source "arch/Config.in.csky"
|
||||
endif
|
||||
|
||||
if BR2_m68k
|
||||
source "arch/Config.in.m68k"
|
||||
endif
|
||||
@@ -403,15 +392,11 @@ if BR2_nios2
|
||||
source "arch/Config.in.nios2"
|
||||
endif
|
||||
|
||||
if BR2_or1k
|
||||
source "arch/Config.in.or1k"
|
||||
endif
|
||||
|
||||
if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
|
||||
source "arch/Config.in.powerpc"
|
||||
endif
|
||||
|
||||
if BR2_sh
|
||||
if BR2_sh || BR2_sh64
|
||||
source "arch/Config.in.sh"
|
||||
endif
|
||||
|
||||
|
||||
7
arch/Config.in.aarch64
Normal file
7
arch/Config.in.aarch64
Normal file
@@ -0,0 +1,7 @@
|
||||
config BR2_ARCH
|
||||
default "aarch64" if BR2_aarch64
|
||||
default "aarch64_be" if BR2_aarch64_be
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE" if BR2_aarch64
|
||||
default "BIG" if BR2_aarch64_be
|
||||
@@ -38,10 +38,6 @@ config BR2_GCC_TARGET_CPU
|
||||
default "arc700" if BR2_arc770d
|
||||
default "archs" if BR2_archs38
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "ARCompact" if BR2_arc750d || BR2_arc770d
|
||||
default "ARCv2" if BR2_archs38
|
||||
|
||||
choice
|
||||
prompt "MMU Page Size"
|
||||
default BR2_ARC_PAGE_SIZE_8K
|
||||
|
||||
@@ -31,10 +31,6 @@ config BR2_ARM_CPU_HAS_VFPV4
|
||||
bool
|
||||
select BR2_ARM_CPU_HAS_VFPV3
|
||||
|
||||
config BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
bool
|
||||
select BR2_ARM_CPU_HAS_VFPV4
|
||||
|
||||
config BR2_ARM_CPU_HAS_ARM
|
||||
bool
|
||||
|
||||
@@ -59,11 +55,9 @@ config BR2_ARM_CPU_ARMV7A
|
||||
config BR2_ARM_CPU_ARMV7M
|
||||
bool
|
||||
|
||||
config BR2_ARM_CPU_ARMV8
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends on BR2_arm || BR2_armeb
|
||||
default BR2_arm926t
|
||||
help
|
||||
Specific CPU variant to use
|
||||
@@ -74,14 +68,12 @@ config BR2_arm920t
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV4
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm922t
|
||||
bool "arm922t"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV4
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm926t
|
||||
bool "arm926t"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -89,14 +81,12 @@ config BR2_arm926t
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV5
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm1136j_s
|
||||
bool "arm1136j-s"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV6
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm1136jf_s
|
||||
bool "arm1136jf-s"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -104,14 +94,12 @@ config BR2_arm1136jf_s
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV6
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm1176jz_s
|
||||
bool "arm1176jz-s"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV6
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm1176jzf_s
|
||||
bool "arm1176jzf-s"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -119,7 +107,6 @@ config BR2_arm1176jzf_s
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV6
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_arm11mpcore
|
||||
bool "mpcore"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -127,7 +114,6 @@ config BR2_arm11mpcore
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV6
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a5
|
||||
bool "cortex-A5"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -136,7 +122,6 @@ config BR2_cortex_a5
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a7
|
||||
bool "cortex-A7"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -145,7 +130,6 @@ config BR2_cortex_a7
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a8
|
||||
bool "cortex-A8"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -154,7 +138,6 @@ config BR2_cortex_a8
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a9
|
||||
bool "cortex-A9"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -163,7 +146,6 @@ config BR2_cortex_a9
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a12
|
||||
bool "cortex-A12"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -172,7 +154,6 @@ config BR2_cortex_a12
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a15
|
||||
bool "cortex-A15"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -181,7 +162,6 @@ config BR2_cortex_a15
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a17
|
||||
bool "cortex-A17"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@@ -190,73 +170,41 @@ config BR2_cortex_a17
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a53
|
||||
bool "cortex-A53"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_cortex_a57
|
||||
bool "cortex-A57"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_cortex_a72
|
||||
bool "cortex-A72"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_cortex_m3
|
||||
bool "cortex-M3"
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7M
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_m4
|
||||
bool "cortex-M4"
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
select BR2_ARM_CPU_ARMV7M
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_fa526
|
||||
bool "fa526/626"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_ARMV4
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_pj4
|
||||
bool "pj4"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_VFPV3
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_strongarm
|
||||
bool "strongarm sa110/sa1100"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_ARMV4
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_xscale
|
||||
bool "xscale"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_HAS_THUMB
|
||||
select BR2_ARM_CPU_ARMV5
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_iwmmxt
|
||||
bool "iwmmxt"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
select BR2_ARM_CPU_ARMV5
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
endchoice
|
||||
|
||||
config BR2_ARM_ENABLE_NEON
|
||||
@@ -336,7 +284,7 @@ endchoice
|
||||
|
||||
choice
|
||||
prompt "Floating point strategy"
|
||||
default BR2_ARM_FPU_FP_ARMV8 if BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
depends on BR2_ARM_EABI || BR2_ARM_EABIHF
|
||||
default BR2_ARM_FPU_VFPV4D16 if BR2_ARM_CPU_HAS_VFPV4
|
||||
default BR2_ARM_FPU_VFPV3D16 if BR2_ARM_CPU_HAS_VFPV3
|
||||
default BR2_ARM_FPU_VFPV2 if BR2_ARM_CPU_HAS_VFPV2
|
||||
@@ -447,25 +395,10 @@ config BR2_ARM_FPU_NEON_VFPV4
|
||||
example on Cortex-A5 and Cortex-A7, support for VFPv4 and
|
||||
NEON is optional.
|
||||
|
||||
config BR2_ARM_FPU_FP_ARMV8
|
||||
bool "FP-ARMv8"
|
||||
depends on BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
help
|
||||
This option allows to use the ARMv8 floating point unit.
|
||||
|
||||
config BR2_ARM_FPU_NEON_FP_ARMV8
|
||||
bool "NEON/FP-ARMv8"
|
||||
depends on BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
depends on BR2_ARM_CPU_HAS_NEON
|
||||
help
|
||||
This option allows to use both the ARMv8 floating point unit
|
||||
and the NEON SIMD unit for floating point operations.
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "ARM instruction set"
|
||||
depends on BR2_arm || BR2_armeb
|
||||
|
||||
config BR2_ARM_INSTRUCTIONS_ARM
|
||||
bool "ARM"
|
||||
@@ -501,14 +434,12 @@ config BR2_ARM_INSTRUCTIONS_THUMB2
|
||||
endchoice
|
||||
|
||||
config BR2_ARCH
|
||||
default "arm" if BR2_arm
|
||||
default "armeb" if BR2_armeb
|
||||
default "aarch64" if BR2_aarch64
|
||||
default "aarch64_be" if BR2_aarch64_be
|
||||
default "arm" if BR2_arm
|
||||
default "armeb" if BR2_armeb
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE" if (BR2_arm || BR2_aarch64)
|
||||
default "BIG" if (BR2_armeb || BR2_aarch64_be)
|
||||
default "LITTLE" if BR2_arm
|
||||
default "BIG" if BR2_armeb
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "arm920t" if BR2_arm920t
|
||||
@@ -534,31 +465,18 @@ config BR2_GCC_TARGET_CPU
|
||||
default "strongarm" if BR2_strongarm
|
||||
default "xscale" if BR2_xscale
|
||||
default "iwmmxt" if BR2_iwmmxt
|
||||
default "cortex-a53" if (BR2_cortex_a53 && !BR2_ARCH_IS_64)
|
||||
default "cortex-a53+fp" if (BR2_cortex_a53 && BR2_ARCH_IS_64 && BR2_ARM_FPU_FP_ARMV8)
|
||||
default "cortex-a53+fp+simd" if (BR2_cortex_a53 && BR2_ARCH_IS_64 && BR2_ARM_FPU_NEON_FP_ARMV8)
|
||||
default "cortex-a57" if (BR2_cortex_a57 && !BR2_ARCH_IS_64)
|
||||
default "cortex-a57+fp" if (BR2_cortex_a57 && BR2_ARCH_IS_64 && BR2_ARM_FPU_FP_ARMV8)
|
||||
default "cortex-a57+fp+simd" if (BR2_cortex_a57 && BR2_ARCH_IS_64 && BR2_ARM_FPU_NEON_FP_ARMV8)
|
||||
default "cortex-a72" if (BR2_cortex_a72 && !BR2_ARCH_IS_64)
|
||||
default "cortex-a72+fp" if (BR2_cortex_a72 && BR2_ARCH_IS_64 && BR2_ARM_FPU_FP_ARMV8)
|
||||
default "cortex-a72+fp+simd" if (BR2_cortex_a72 && BR2_ARCH_IS_64 && BR2_ARM_FPU_NEON_FP_ARMV8)
|
||||
|
||||
config BR2_GCC_TARGET_ABI
|
||||
default "aapcs-linux" if BR2_arm || BR2_armeb
|
||||
default "lp64" if BR2_aarch64 || BR2_aarch64_be
|
||||
default "aapcs-linux"
|
||||
|
||||
config BR2_GCC_TARGET_FPU
|
||||
depends on BR2_arm || BR2_armeb
|
||||
default "vfp" if BR2_ARM_FPU_VFPV2
|
||||
default "vfpv3" if BR2_ARM_FPU_VFPV3
|
||||
default "vfpv3-d16" if BR2_ARM_FPU_VFPV3D16
|
||||
default "vfpv4" if BR2_ARM_FPU_VFPV4
|
||||
default "vfpv4-d16" if BR2_ARM_FPU_VFPV4D16
|
||||
default "neon" if BR2_ARM_FPU_NEON
|
||||
default "neon-vfpv4" if BR2_ARM_FPU_NEON_VFPV4
|
||||
default "fp-armv8" if BR2_ARM_FPU_FP_ARMV8
|
||||
default "neon-fp-armv8" if BR2_ARM_FPU_NEON_FP_ARMV8
|
||||
default "vfpv3-d16" if BR2_ARM_FPU_VFPV3D16
|
||||
default "vfpv4" if BR2_ARM_FPU_VFPV4
|
||||
default "vfpv4-d16" if BR2_ARM_FPU_VFPV4D16
|
||||
default "neon" if BR2_ARM_FPU_NEON
|
||||
default "neon-vfpv4" if BR2_ARM_FPU_NEON_VFPV4
|
||||
|
||||
config BR2_GCC_TARGET_FLOAT_ABI
|
||||
default "soft" if BR2_ARM_SOFT_FLOAT
|
||||
@@ -568,7 +486,3 @@ config BR2_GCC_TARGET_FLOAT_ABI
|
||||
config BR2_GCC_TARGET_MODE
|
||||
default "arm" if BR2_ARM_INSTRUCTIONS_ARM
|
||||
default "thumb" if BR2_ARM_INSTRUCTIONS_THUMB || BR2_ARM_INSTRUCTIONS_THUMB2
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "ARM" if BR2_arm || BR2_armeb
|
||||
default "AArch64" if BR2_aarch64 || BR2_aarch64_be
|
||||
|
||||
@@ -105,6 +105,3 @@ config BR2_GCC_TARGET_CPU_REVISION
|
||||
value of the -mcpu option. For example, if the selected CPU is
|
||||
bf609, and then selected CPU revision is "0.0", then gcc will
|
||||
receive the -mcpu=bf609-0.0 option.
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Analog Devices Blackfin"
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default BR2_ck610
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
config BR2_ck610
|
||||
bool "ck610"
|
||||
|
||||
config BR2_ck807
|
||||
bool "ck807"
|
||||
|
||||
config BR2_ck810
|
||||
bool "ck810"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_CSKY_FPU
|
||||
bool "Enable FPU coprocessor"
|
||||
depends on BR2_ck810 || BR2_ck807
|
||||
help
|
||||
You can say N here if your C-SKY CPU doesn't have a
|
||||
Floating-Point Coprocessor or if you don't need FPU support
|
||||
for your user-space programs.
|
||||
|
||||
config BR2_CSKY_DSP
|
||||
bool "Enable DSP enhanced instructions"
|
||||
depends on BR2_ck810 || BR2_ck807
|
||||
|
||||
config BR2_ARCH
|
||||
default "csky"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "ck610" if (BR2_ck610 && !BR2_CSKY_FPU && !BR2_CSKY_DSP)
|
||||
default "ck807" if (BR2_ck807 && !BR2_CSKY_FPU && !BR2_CSKY_DSP)
|
||||
default "ck807e" if (BR2_ck807 && !BR2_CSKY_FPU && BR2_CSKY_DSP)
|
||||
default "ck807f" if (BR2_ck807 && BR2_CSKY_FPU && !BR2_CSKY_DSP)
|
||||
default "ck807ef" if (BR2_ck807 && BR2_CSKY_FPU && BR2_CSKY_DSP)
|
||||
default "ck810" if (BR2_ck810 && !BR2_CSKY_FPU && !BR2_CSKY_DSP)
|
||||
default "ck810e" if (BR2_ck810 && !BR2_CSKY_FPU && BR2_CSKY_DSP)
|
||||
default "ck810f" if (BR2_ck810 && BR2_CSKY_FPU && !BR2_CSKY_DSP)
|
||||
default "ck810ef" if (BR2_ck810 && BR2_CSKY_FPU && BR2_CSKY_DSP)
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "CSKY"
|
||||
@@ -35,6 +35,3 @@ endchoice
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "68040" if BR2_m68k_68040
|
||||
default "5208" if BR2_m68k_cf5208
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "MC68000"
|
||||
|
||||
@@ -6,9 +6,6 @@ config BR2_ENDIAN
|
||||
default "LITTLE" if BR2_microblazeel
|
||||
default "BIG" if BR2_microblazebe
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Xilinx MicroBlaze"
|
||||
|
||||
config BR2_microblaze
|
||||
bool
|
||||
default y if BR2_microblazeel || BR2_microblazebe
|
||||
|
||||
@@ -1,21 +1,3 @@
|
||||
# mips default CPU ISAs
|
||||
config BR2_MIPS_CPU_MIPS32
|
||||
bool
|
||||
config BR2_MIPS_CPU_MIPS32R2
|
||||
bool
|
||||
config BR2_MIPS_CPU_MIPS32R5
|
||||
bool
|
||||
config BR2_MIPS_CPU_MIPS32R6
|
||||
bool
|
||||
config BR2_MIPS_CPU_MIPS64
|
||||
bool
|
||||
config BR2_MIPS_CPU_MIPS64R2
|
||||
bool
|
||||
config BR2_MIPS_CPU_MIPS64R5
|
||||
bool
|
||||
config BR2_MIPS_CPU_MIPS64R6
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
||||
@@ -24,78 +6,27 @@ choice
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
64bit cabable: 64, 64r2, 64r5, 64r6
|
||||
non-64bit capable: 32, 32r2, 32r5, 32r6
|
||||
64bit cabable: 64, 64r2, 64r6
|
||||
non-64bit capable: 32, 32r2, 32r6
|
||||
|
||||
config BR2_mips_32
|
||||
bool "Generic MIPS32"
|
||||
bool "mips 32"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32
|
||||
config BR2_mips_32r2
|
||||
bool "Generic MIPS32R2"
|
||||
bool "mips 32r2"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R2
|
||||
config BR2_mips_32r5
|
||||
bool "Generic MIPS32R5"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R5
|
||||
config BR2_mips_32r6
|
||||
bool "Generic MIPS32R6"
|
||||
bool "mips 32r6"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R6
|
||||
config BR2_mips_interaptiv
|
||||
bool "interAptiv"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R2
|
||||
config BR2_mips_m5150
|
||||
bool "M5150"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R5
|
||||
config BR2_mips_m6250
|
||||
bool "M6250"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R6
|
||||
config BR2_mips_p5600
|
||||
bool "P5600"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R5
|
||||
config BR2_mips_xburst
|
||||
bool "XBurst"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R2
|
||||
help
|
||||
The Ingenic XBurst is a MIPS32R2 microprocessor. It has a
|
||||
bug in the FPU that can generate incorrect results in
|
||||
certain cases. The problem shows up when you have several
|
||||
fused madd instructions in sequence with dependant
|
||||
operands. This requires the -mno-fused-madd compiler option
|
||||
to be used in order to prevent emitting these instructions.
|
||||
|
||||
See http://www.ingenic.com/en/?xburst.html
|
||||
config BR2_mips_64
|
||||
bool "Generic MIPS64"
|
||||
bool "mips 64"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS64
|
||||
config BR2_mips_64r2
|
||||
bool "Generic MIPS64R2"
|
||||
bool "mips 64r2"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS64R2
|
||||
config BR2_mips_64r5
|
||||
bool "Generic MIPS64R5"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS64R5
|
||||
config BR2_mips_64r6
|
||||
bool "Generic MIPS64R6"
|
||||
bool "mips 64r6"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS64R6
|
||||
config BR2_mips_i6400
|
||||
bool "I6400"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS64R6
|
||||
config BR2_mips_p6600
|
||||
bool "P6600"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS64R6
|
||||
endchoice
|
||||
|
||||
|
||||
@@ -134,24 +65,15 @@ config BR2_ARCH
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE" if BR2_mipsel || BR2_mips64el
|
||||
default "BIG" if BR2_mips || BR2_mips64
|
||||
default "BIG" if BR2_mips || BR2_mips64
|
||||
|
||||
config BR2_GCC_TARGET_ARCH
|
||||
default "mips32" if BR2_mips_32
|
||||
default "mips32r2" if BR2_mips_32r2
|
||||
default "mips32r5" if BR2_mips_32r5
|
||||
default "mips32r6" if BR2_mips_32r6
|
||||
default "interaptiv" if BR2_mips_interaptiv
|
||||
default "m5101" if BR2_mips_m5150
|
||||
default "m6201" if BR2_mips_m6250
|
||||
default "p5600" if BR2_mips_p5600
|
||||
default "mips32r2" if BR2_mips_xburst
|
||||
default "mips64" if BR2_mips_64
|
||||
default "mips64r2" if BR2_mips_64r2
|
||||
default "mips64r5" if BR2_mips_64r5
|
||||
default "mips64r6" if BR2_mips_64r6
|
||||
default "i6400" if BR2_mips_i6400
|
||||
default "p6600" if BR2_mips_p6600
|
||||
|
||||
config BR2_MIPS_OABI32
|
||||
bool
|
||||
@@ -161,6 +83,3 @@ config BR2_GCC_TARGET_ABI
|
||||
default "32" if BR2_MIPS_OABI32
|
||||
default "n32" if BR2_MIPS_NABI32
|
||||
default "64" if BR2_MIPS_NABI64
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "MIPS R3000"
|
||||
|
||||
@@ -3,6 +3,3 @@ config BR2_ARCH
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Altera Nios II"
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
config BR2_ARCH
|
||||
default "or1k"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "BIG"
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "OpenRISC 1000"
|
||||
@@ -212,7 +212,3 @@ config BR2_GCC_TARGET_ABI
|
||||
default "no-spe" if BR2_PPC_ABI_no-spe
|
||||
default "ibmlongdouble" if BR2_PPC_ABI_ibmlongdouble
|
||||
default "ieeelongdouble" if BR2_PPC_ABI_ieeelongdouble
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "PowerPC" if BR2_powerpc
|
||||
default "PowerPC64" if BR2_powerpc64 || BR2_powerpc64le
|
||||
|
||||
@@ -23,10 +23,8 @@ config BR2_ARCH
|
||||
default "sh4eb" if BR2_sh4eb
|
||||
default "sh4a" if BR2_sh4a
|
||||
default "sh4aeb" if BR2_sh4aeb
|
||||
default "sh64" if BR2_sh64
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE" if BR2_sh4 || BR2_sh4a
|
||||
default "LITTLE" if BR2_sh4 || BR2_sh4a || BR2_sh64
|
||||
default "BIG" if BR2_sh2a || BR2_sh4eb || BR2_sh4aeb
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Renesas / SuperH SH"
|
||||
|
||||
@@ -28,7 +28,3 @@ config BR2_GCC_TARGET_CPU
|
||||
default "leon3" if BR2_sparc_leon3
|
||||
default "v8" if BR2_sparc_v8
|
||||
default "ultrasparc" if BR2_sparc_v9
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Sparc" if BR2_sparc
|
||||
default "Sparc v9" if BR2_sparc64
|
||||
|
||||
@@ -275,7 +275,3 @@ config BR2_GCC_TARGET_ARCH
|
||||
default "c3" if BR2_x86_c3
|
||||
default "c3-2" if BR2_x86_c32
|
||||
default "geode" if BR2_x86_geode
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Intel 80386" if BR2_i386
|
||||
default "Advanced Micro Devices X86-64" if BR2_x86_64
|
||||
|
||||
@@ -54,6 +54,3 @@ config BR2_ENDIAN
|
||||
|
||||
config BR2_ARCH
|
||||
default "xtensa" if BR2_xtensa
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Tensilica Xtensa Processor"
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
################################################################################
|
||||
# Those two variables can be used by packages that need to extract the overlay.
|
||||
#
|
||||
# ARCH_XTENSA_CORE_NAME is the name of the Xtensa core; empty if none or the
|
||||
# standard 'fsf' core.
|
||||
# ARCH_XTENSA_OVERLAY_TAR is the path to the overlay tarball; only valid when
|
||||
# ARCH_XTENSA_CORE_NAME is not empty.
|
||||
#
|
||||
# Example:
|
||||
# ifneq ($(ARCH_XTENSA_CORE_NAME),)
|
||||
# tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(@D) --strip-components=1 gcc
|
||||
# endif
|
||||
################################################################################
|
||||
ARCH_XTENSA_CORE_NAME = $(call qstrip,$(BR2_XTENSA_CORE_NAME))
|
||||
ARCH_XTENSA_OVERLAY_TAR = $(call qstrip,$(BR2_XTENSA_OVERLAY_DIR))/xtensa_$(ARCH_XTENSA_CORE_NAME).tar
|
||||
|
||||
################################################################################
|
||||
# arch-xtensa-overlay-extract -- extract an extensa overlay
|
||||
#
|
||||
# argument 1 is the path in which to extract
|
||||
# argument 2 is the component to extract, one of: gcc, binutils, gdb
|
||||
#
|
||||
# Example:
|
||||
# $(call arch-xtensa-overlay-extract,/path/to/overlay.tar,$(@D),gcc)
|
||||
################################################################################
|
||||
define arch-xtensa-overlay-extract
|
||||
tar xf $(ARCH_XTENSA_OVERLAY_TAR) -C $(1) --strip-components=1 $(2)
|
||||
endef
|
||||
@@ -1,35 +0,0 @@
|
||||
# Minimal SD card image for the Acmesystems Aria G25
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
file zImage {
|
||||
image = "zImage"
|
||||
}
|
||||
|
||||
file at91-ariag25.dtb {
|
||||
image = "at91-ariag25.dtb"
|
||||
}
|
||||
|
||||
file boot.bin {
|
||||
image = "at91sam9x5_aria-sdcardboot-linux-zimage-dt-3.8.6.bin"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
@@ -1,44 +1,51 @@
|
||||
Acme Systems Aria G25
|
||||
|
||||
Build instructions
|
||||
==================
|
||||
|
||||
To build an image for the Aria G25 choose the configuration
|
||||
corresponding to the Aria variant.
|
||||
As a regular user configure and then build:
|
||||
|
||||
For 128MB RAM variant type:
|
||||
|
||||
$ make acmesystems_aria_g25_128mb_defconfig
|
||||
|
||||
else for 256MB RAM variant type:
|
||||
|
||||
$ make acmesystems_aria_g25_256mb_defconfig
|
||||
|
||||
To customize the configuration choosed type:
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
When you are ready to start building Buildroot type:
|
||||
$ make acmesystems_aria_g25_128mb_defconfig (128MB RAM variant)
|
||||
or...
|
||||
$ make acmesystems_aria_g25_256mb_defconfig (256MB RAM variant)
|
||||
|
||||
$ make
|
||||
|
||||
How to write the microSD card
|
||||
=============================
|
||||
Writing to the MicroSD card
|
||||
===========================
|
||||
|
||||
Once the build process is finished you will have an image called
|
||||
"sdcard.img" in the output/images/ directory.
|
||||
Assuming your Aria G25 baseboard has a MicroSD socket, for example with
|
||||
the Terra baseboard, you'll need a blank MicroSD (obviously) initialized
|
||||
in a particular way to be able to boot from it.
|
||||
|
||||
Write the bootable SD card image "sdcard.img" onto an SD card with
|
||||
"dd" command:
|
||||
Assuming the card is seen as /dev/sdb in your PC/laptop/other device
|
||||
you'll need to run the following commands as root or via sudo.
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
Make sure all of the card partitions are unmounted before starting.
|
||||
|
||||
Assuming your Aria G25 baseboard has a MicroSD socket, for example
|
||||
with the Terra baseboard, insert the microSD card into the baseboard
|
||||
slot and power it.
|
||||
First we'll need to create two partitions:
|
||||
|
||||
To get the kernel log messages you can use a DPI cable
|
||||
(http://www.acmesystems.it/DPI)
|
||||
# sfdisk -uM /dev/sdb <<EOF
|
||||
,32,6
|
||||
;
|
||||
EOF
|
||||
|
||||
Then we'll need to create the empty filesystems:
|
||||
|
||||
# mkdosfs -n SD_BOOT /dev/sdb1
|
||||
# mkfs.ext4 -L SD_ROOT /dev/sdb2
|
||||
|
||||
We'll populate the first partition (boot) with the relevant files:
|
||||
|
||||
# mount /dev/sdb1 /mnt
|
||||
# cp output/images/at91bootstrap.bin /mnt/BOOT.BIN
|
||||
# cp output/images/zImage /mnt
|
||||
# cp output/images/at91-ariag25.dtb /mnt
|
||||
# umount /mnt
|
||||
|
||||
And the root filesystem afterwards:
|
||||
|
||||
# mount /dev/sdb2 /mnt
|
||||
# tar -C /mnt output/images/rootfs.tar
|
||||
# umount /mnt
|
||||
|
||||
You're done, insert the MicroSD card in the slot and enjoy.
|
||||
|
||||
You can find additional informations, tutorials and a very
|
||||
comprehensive documentation on http://www.acmesystems.it/aria.
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
# Minimal SD card image for the Acmesystems Arietta G25
|
||||
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
file zImage {
|
||||
image = "zImage"
|
||||
}
|
||||
|
||||
|
||||
file acme-arietta.dtb {
|
||||
image = "at91-ariettag25.dtb"
|
||||
image = "at91-ariag25.dtb"
|
||||
}
|
||||
|
||||
|
||||
file boot.bin {
|
||||
image = "at91sam9x5_arietta-sdcardboot-linux-zimage-dt-3.8.6.bin"
|
||||
}
|
||||
image = "at91sam9x5_arietta-sdcardboot-linux-zimage-dt-3.7.bin"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
@@ -6,9 +6,11 @@ GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
|
||||
exit $?
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Acme Systems Arietta G25
|
||||
Acmesystems Arietta G25
|
||||
|
||||
Intro
|
||||
=====
|
||||
@@ -13,8 +13,8 @@ documentation on http://www.acmesystems.it/arietta.
|
||||
Build instructions
|
||||
==================
|
||||
|
||||
To build an image for the Arietta G25 choose the configuration
|
||||
corresponding to the Arietta variant.
|
||||
To build an image for the arietta g25 choose the configuration
|
||||
corresponding to the arietta variant.
|
||||
|
||||
For 128MB RAM variant type:
|
||||
|
||||
@@ -24,11 +24,7 @@ else for 256MB RAM variant type:
|
||||
|
||||
$ make acmesystems_arietta_g25_256mb_defconfig
|
||||
|
||||
To customize the configuration chosen type:
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
When you are ready to start building Buildroot type:
|
||||
then:
|
||||
|
||||
$ make
|
||||
|
||||
@@ -42,7 +38,7 @@ Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Insert the microSD card into the Arietta slot and power it.
|
||||
Insert the microSD card into the arietta slot and power it.
|
||||
|
||||
The image just built is fairly basic and the only output
|
||||
you will get is on serial console, please consider to use a DPI
|
||||
|
||||
8
board/altera/post-image.sh
Executable file
8
board/altera/post-image.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
# post-image.sh for SoCkit/SoCDK
|
||||
# 2014, "Roman Diouskine" <roman.diouskine@savoirfairelinux.com>
|
||||
# 2014, "Sebastien Bourdelin" <sebastien.bourdelin@savoirfairelinux.com>
|
||||
|
||||
# create a DTB file copy with the name expected by the u-boot config
|
||||
# Name of the DTB is passed as the second argument to the script.
|
||||
cp -af $BINARIES_DIR/${2}.dtb $BINARIES_DIR/socfpga.dtb
|
||||
165
board/altera/readme.txt
Normal file
165
board/altera/readme.txt
Normal file
@@ -0,0 +1,165 @@
|
||||
SoCkit, SoC Development Kit
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
This is the buildroot board support for the Arrow SoCkit Evaluation Board
|
||||
and the Altera Cyclone 5 Development Board.
|
||||
|
||||
A good source of information for Arrow SoCkit:
|
||||
http://www.rocketboards.org/foswiki/Documentation/ArrowSoCKitEvaluationBoard
|
||||
|
||||
More information about SoC DK:
|
||||
https://www.altera.com/products/boards_and_kits/dev-kits/altera/kit-cyclone-v-soc.html
|
||||
|
||||
How it works
|
||||
============
|
||||
|
||||
Boot process:
|
||||
-------------
|
||||
|
||||
In summary, the bootloader has multiple stages, an hardcoded boot routine is
|
||||
loaded from an on-chip ROM.
|
||||
|
||||
- That first stage is scanning the SD card's partition table to find
|
||||
partition having the 0xA2 type.
|
||||
- This partition is expected to contain a boot image on its first 60 Kb,
|
||||
because u-boot is bigger, we must fill it with a preloader (u-boot-spl)
|
||||
which will load the u-boot image.
|
||||
- Then the u-boot image will load the Linux kernel.
|
||||
|
||||
A good source of information for the boot process is:
|
||||
http://xillybus.com/tutorials/u-boot-image-altera-soc
|
||||
|
||||
Note for the SPL:
|
||||
The SPL generated by the u-boot from Rocketboards doesn't seems to work,
|
||||
therefore we provide a patch for {uboot-PKG}/board/altera/socfpga_cyclone5/*
|
||||
based on the files generated with the Altera example design.
|
||||
|
||||
For more information about this files please look at:
|
||||
http://www.rocketboards.org/foswiki/Documentation/PreloaderUbootCustomization#Common_Source_Code
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot
|
||||
-------------------
|
||||
|
||||
The altera_sockit_defconfig configuration is a minimal configuration with
|
||||
all that is required to bring the SoCkit:
|
||||
|
||||
$ make altera_sockit_defconfig
|
||||
|
||||
and for the SoC Development Board:
|
||||
|
||||
$ make altera_sockdk_defconfig
|
||||
|
||||
Build everything
|
||||
----------------
|
||||
|
||||
Note: you will need to have access to the network, since Buildroot will
|
||||
download the packages' sources.
|
||||
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should obtain this tree:
|
||||
|
||||
output/images/
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext3 -> rootfs.ext2
|
||||
├── rootfs.tar
|
||||
├── socfpga_cyclone5_sockit.dtb or socfpga_cyclone5_socdk.dtb
|
||||
├── socfpga.dtb
|
||||
├── u-boot.img
|
||||
├── u-boot-spl.bin
|
||||
└── uImage
|
||||
|
||||
|
||||
Signing the Preloader
|
||||
---------------------
|
||||
|
||||
*** BEWARE ****
|
||||
The u-boot-spl.bin must be signed using the Altera's tool "mkpimage".
|
||||
This tool comes as a part of the Altera development environnment (SoC EDS).
|
||||
A fork of this tool have been done by Maxime Hadjinlian and can be found here:
|
||||
https://github.com/maximeh/mkpimage
|
||||
|
||||
Remember that without signing the u-boot-spl.bin, the board will not boot !!!
|
||||
|
||||
$ mkpimage u-boot-spl.bin -o u-boot-spl-signed.bin
|
||||
|
||||
Prepare your SDcard
|
||||
===================
|
||||
|
||||
A good source of information for the partitioning process is:
|
||||
http://www.rocketboards.org/foswiki/view/Projects/SoCKitLinaroLinuxDesktop#Partition_the_SD_Card
|
||||
|
||||
Create the SDcard partition table
|
||||
----------------------------------
|
||||
|
||||
Determine the device associated to the SD card:
|
||||
|
||||
$ cat /proc/partitions
|
||||
|
||||
let's assume it is /dev/mmcblk0:
|
||||
|
||||
$ sudo fdisk /dev/mmcblk0
|
||||
|
||||
Delete all previous partitions with 'd' then create the new partition table,
|
||||
using these options, pressing enter after each one:
|
||||
|
||||
* n p 1 9000000 +20480K t 1 b
|
||||
* n p 2 4096 +4496384K t 83
|
||||
* n p 3 2048 +1024K t 3 a2
|
||||
|
||||
Using the 'p' option, the SD card's partition must look like this:
|
||||
|
||||
Device Boot Start End Blocks Id System
|
||||
/dev/mmcblk0p1 9000000 9041919 20960 b W95 FAT32
|
||||
/dev/mmcblk0p2 4096 8996863 4496384 83 Linux
|
||||
/dev/mmcblk0p3 2048 4095 1024 a2 Unknown
|
||||
|
||||
Then write the partition table using 'w' and exit.
|
||||
|
||||
Make partition one a DOS partition:
|
||||
|
||||
$ sudo mkdosfs /dev/mmcblk0p1
|
||||
|
||||
Install the binaries to the SDcard
|
||||
----------------------------------
|
||||
|
||||
Remember your binaries are located in output/images/, go inside that directory:
|
||||
|
||||
$ cd output/images
|
||||
|
||||
The partition with type a2 is the partition scan by the first bootloader stage
|
||||
in the SoCkit ROM to find the next bootloader stage so we must write the signed
|
||||
preloader and the u-boot binaries in that partition:
|
||||
|
||||
$ sudo dd if=u-boot-spl-signed.bin of=/dev/mmcblk0p3 bs=64k seek=0
|
||||
$ sudo dd if=u-boot.img of=/dev/mmcblk0p3 bs=64k seek=4
|
||||
|
||||
Copy the Linux kernel and its Device tree:
|
||||
|
||||
$ sudo mkdir /mnt/sdcard
|
||||
$ sudo mount /dev/mmcblk0p1 /mnt/sdcard
|
||||
$ sudo cp socfpga.dtb uImage /mnt/sdcard
|
||||
$ sudo umount /mnt/sdcard
|
||||
|
||||
Copy the rootfs:
|
||||
|
||||
$ sudo dd if=rootfs.ext2 of=/dev/mmcblk0p2 bs=64k
|
||||
$ sudo sync
|
||||
|
||||
It's Done!
|
||||
|
||||
Finish
|
||||
======
|
||||
|
||||
Eject your SDcard, insert it in your SoCkit, and power it up.
|
||||
|
||||
if you want a serial console, you can plug a micro B USB cable on the USB-UART
|
||||
port, the serial port config to used is 57600/8-N-1.
|
||||
820
board/altera/sockit/uboot-sockit-preloader-sample-design.patch
Normal file
820
board/altera/sockit/uboot-sockit-preloader-sample-design.patch
Normal file
@@ -0,0 +1,820 @@
|
||||
From c70f2ebb350da20af1a0ed4b7960b8e5a1952713 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastien Bourdelin <sebastien.bourdelin@savoirfairelinux.com>
|
||||
Date: Thu, 20 Feb 2014 11:51:31 -0500
|
||||
Subject: [PATCH] board: add to sockit a working preloader design
|
||||
|
||||
---
|
||||
board/altera/socfpga_cyclone5/build.h | 2 +-
|
||||
board/altera/socfpga_cyclone5/iocsr_config.c | 314 ++++++++++-----------
|
||||
board/altera/socfpga_cyclone5/pinmux_config.c | 32 +--
|
||||
board/altera/socfpga_cyclone5/pinmux_config.h | 8 +-
|
||||
board/altera/socfpga_cyclone5/sdram/sdram_config.h | 14 +-
|
||||
.../altera/socfpga_cyclone5/sdram/sequencer_auto.h | 16 +-
|
||||
.../sdram/sequencer_auto_ac_init.c | 16 +-
|
||||
.../socfpga_cyclone5/sdram/sequencer_defines.h | 34 +--
|
||||
8 files changed, 218 insertions(+), 218 deletions(-)
|
||||
|
||||
diff --git a/board/altera/socfpga_cyclone5/build.h b/board/altera/socfpga_cyclone5/build.h
|
||||
index e5d9c3c..a369015 100644
|
||||
--- a/board/altera/socfpga_cyclone5/build.h
|
||||
+++ b/board/altera/socfpga_cyclone5/build.h
|
||||
@@ -29,7 +29,7 @@
|
||||
* Handoff files must provide user option whether to
|
||||
* enable watchdog during preloader execution phase
|
||||
*/
|
||||
-#define CONFIG_PRELOADER_WATCHDOG_ENABLE (0)
|
||||
+#define CONFIG_PRELOADER_WATCHDOG_ENABLE (1)
|
||||
|
||||
/*
|
||||
* Handoff files must provide user option whether to enable
|
||||
diff --git a/board/altera/socfpga_cyclone5/iocsr_config.c b/board/altera/socfpga_cyclone5/iocsr_config.c
|
||||
index fa663e1..90fc154 100644
|
||||
--- a/board/altera/socfpga_cyclone5/iocsr_config.c
|
||||
+++ b/board/altera/socfpga_cyclone5/iocsr_config.c
|
||||
@@ -7,113 +7,113 @@ const unsigned long iocsr_scan_chain0_table[((CONFIG_HPS_IOCSR_SCANCHAIN0_LENGTH
|
||||
0xC0000000,
|
||||
0x0000003F,
|
||||
0x00008000,
|
||||
- 0x00020080,
|
||||
- 0x08020000,
|
||||
- 0x08000000,
|
||||
- 0x00018020,
|
||||
+ 0x00060180,
|
||||
+ 0x18060000,
|
||||
+ 0x18000000,
|
||||
+ 0x00018060,
|
||||
0x00000000,
|
||||
0x00004000,
|
||||
- 0x00010040,
|
||||
- 0x04010000,
|
||||
- 0x04000000,
|
||||
- 0x00000010,
|
||||
- 0x00004010,
|
||||
+ 0x000300C0,
|
||||
+ 0x0C030000,
|
||||
+ 0x0C000000,
|
||||
+ 0x00000030,
|
||||
+ 0x0000C030,
|
||||
0x00002000,
|
||||
- 0x00020000,
|
||||
- 0x02008000,
|
||||
- 0x02000000,
|
||||
- 0x00000008,
|
||||
- 0x00002008,
|
||||
+ 0x00018060,
|
||||
+ 0x06018000,
|
||||
+ 0x06000000,
|
||||
+ 0x00000018,
|
||||
+ 0x00006018,
|
||||
0x00001000,
|
||||
};
|
||||
|
||||
const unsigned long iocsr_scan_chain1_table[((CONFIG_HPS_IOCSR_SCANCHAIN1_LENGTH / 32) + 1)] = {
|
||||
- 0x000C0300,
|
||||
- 0x10040000,
|
||||
- 0x100000C0,
|
||||
- 0x00000040,
|
||||
- 0x00010040,
|
||||
+ 0x00100000,
|
||||
+ 0x300C0000,
|
||||
+ 0x300000C0,
|
||||
+ 0x000000C0,
|
||||
+ 0x000300C0,
|
||||
0x00008000,
|
||||
0x00080000,
|
||||
- 0x18060000,
|
||||
- 0x18000000,
|
||||
- 0x00000060,
|
||||
- 0x00018060,
|
||||
+ 0x20000000,
|
||||
+ 0x00000000,
|
||||
+ 0x00000080,
|
||||
+ 0x00020000,
|
||||
0x00004000,
|
||||
- 0x00010040,
|
||||
+ 0x000300C0,
|
||||
0x10000000,
|
||||
- 0x04000000,
|
||||
- 0x00000010,
|
||||
- 0x00004010,
|
||||
+ 0x0C000000,
|
||||
+ 0x00000030,
|
||||
+ 0x0000C030,
|
||||
0x00002000,
|
||||
- 0x06008020,
|
||||
- 0x02008000,
|
||||
+ 0x06018060,
|
||||
+ 0x06018000,
|
||||
0x01FE0000,
|
||||
0xF8000000,
|
||||
0x00000007,
|
||||
0x00001000,
|
||||
- 0x00004010,
|
||||
- 0x01004000,
|
||||
- 0x01000000,
|
||||
- 0x00003004,
|
||||
- 0x00001004,
|
||||
+ 0x0000C030,
|
||||
+ 0x0300C000,
|
||||
+ 0x03000000,
|
||||
+ 0x0000300C,
|
||||
+ 0x0000300C,
|
||||
0x00000800,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
- 0x00800000,
|
||||
- 0x00000002,
|
||||
+ 0x01800000,
|
||||
+ 0x00000006,
|
||||
0x00002000,
|
||||
0x00000400,
|
||||
0x00000000,
|
||||
- 0x00401000,
|
||||
+ 0x00C03000,
|
||||
0x00000003,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000200,
|
||||
- 0x00600802,
|
||||
+ 0x00601806,
|
||||
0x00000000,
|
||||
- 0x80200000,
|
||||
- 0x80000600,
|
||||
- 0x00000200,
|
||||
+ 0x80600000,
|
||||
+ 0x80000601,
|
||||
+ 0x00000601,
|
||||
0x00000100,
|
||||
- 0x00300401,
|
||||
- 0xC0100400,
|
||||
- 0x40100000,
|
||||
- 0x40000300,
|
||||
- 0x000C0100,
|
||||
+ 0x00300C03,
|
||||
+ 0xC0300C00,
|
||||
+ 0xC0300000,
|
||||
+ 0xC0000300,
|
||||
+ 0x000C0300,
|
||||
0x00000080,
|
||||
};
|
||||
|
||||
const unsigned long iocsr_scan_chain2_table[((CONFIG_HPS_IOCSR_SCANCHAIN2_LENGTH / 32) + 1)] = {
|
||||
- 0x80040100,
|
||||
+ 0x300C0300,
|
||||
0x00000000,
|
||||
0x0FF00000,
|
||||
0x00000000,
|
||||
- 0x0C010040,
|
||||
+ 0x0C0300C0,
|
||||
0x00008000,
|
||||
- 0x18020080,
|
||||
- 0x00000000,
|
||||
- 0x08000000,
|
||||
- 0x00040020,
|
||||
- 0x06018060,
|
||||
+ 0x18060180,
|
||||
+ 0x18060000,
|
||||
+ 0x18000000,
|
||||
+ 0x00018060,
|
||||
+ 0x00018060,
|
||||
0x00004000,
|
||||
- 0x0C010040,
|
||||
- 0x04010000,
|
||||
+ 0x000300C0,
|
||||
+ 0x0C030000,
|
||||
0x00000030,
|
||||
0x00000000,
|
||||
- 0x03004010,
|
||||
+ 0x0300C030,
|
||||
0x00002000,
|
||||
- 0x06008020,
|
||||
- 0x02008000,
|
||||
- 0x02000018,
|
||||
- 0x00006008,
|
||||
- 0x01802008,
|
||||
+ 0x00018060,
|
||||
+ 0x06018000,
|
||||
+ 0x06000000,
|
||||
+ 0x00000018,
|
||||
+ 0x00006018,
|
||||
0x00001000,
|
||||
- 0x03004010,
|
||||
- 0x01004000,
|
||||
- 0x0100000C,
|
||||
- 0x00003004,
|
||||
- 0x00C01004,
|
||||
+ 0x0000C030,
|
||||
+ 0x00000000,
|
||||
+ 0x03000000,
|
||||
+ 0x0000000C,
|
||||
+ 0x00C0300C,
|
||||
0x00000800,
|
||||
};
|
||||
|
||||
@@ -170,14 +170,14 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0xA0000034,
|
||||
0x0D000001,
|
||||
0x6068030C,
|
||||
- 0xC7034018,
|
||||
- 0x0E381A01,
|
||||
+ 0xCF034059,
|
||||
+ 0x1E781A03,
|
||||
0x8030C0D0,
|
||||
- 0x34018606,
|
||||
- 0x01A01C70,
|
||||
+ 0x34059606,
|
||||
+ 0x01A03CF0,
|
||||
0x0C0D0000,
|
||||
- 0x18606803,
|
||||
- 0x01C70340,
|
||||
+ 0x59606803,
|
||||
+ 0x03CF0340,
|
||||
0xD000001A,
|
||||
0x068030C0,
|
||||
0x10040000,
|
||||
@@ -244,15 +244,15 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0xA0000034,
|
||||
0x0D000001,
|
||||
0x6068030C,
|
||||
- 0xC7034018,
|
||||
- 0x0E381A01,
|
||||
+ 0xCF034059,
|
||||
+ 0x1E781A03,
|
||||
0x8030C0D0,
|
||||
- 0x34018606,
|
||||
+ 0x34059606,
|
||||
0x01A00000,
|
||||
0x0C0D0000,
|
||||
- 0x18606803,
|
||||
- 0x01C70340,
|
||||
- 0xD00E381A,
|
||||
+ 0x59606803,
|
||||
+ 0x03CF0340,
|
||||
+ 0xD01E781A,
|
||||
0x068030C0,
|
||||
0x10040000,
|
||||
0x00200000,
|
||||
@@ -273,7 +273,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0xAA0D4000,
|
||||
- 0x01C3A808,
|
||||
+ 0x01C3A810,
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0x00040100,
|
||||
@@ -301,7 +301,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x2A835000,
|
||||
- 0x0070EA02,
|
||||
+ 0x0070EA04,
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x00010040,
|
||||
@@ -321,15 +321,15 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x14864000,
|
||||
0x69A47A05,
|
||||
0xCBCF23D7,
|
||||
- 0xF41E791E,
|
||||
- 0x034ED348,
|
||||
+ 0xF5DE791E,
|
||||
+ 0x0356D348,
|
||||
0x821A0000,
|
||||
0x0000D000,
|
||||
0x01860680,
|
||||
0xD769A47A,
|
||||
0x1ECBCF23,
|
||||
- 0x48F41E79,
|
||||
- 0x00034ED3,
|
||||
+ 0x48F5DE79,
|
||||
+ 0x000356D3,
|
||||
0x00080200,
|
||||
0x00001000,
|
||||
0x00080200,
|
||||
@@ -347,7 +347,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0xAA0D4000,
|
||||
- 0x01C3A808,
|
||||
+ 0x01C3A810,
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0x00040100,
|
||||
@@ -375,7 +375,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x2A835000,
|
||||
- 0x0070EA02,
|
||||
+ 0x0070EA04,
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x00015000,
|
||||
@@ -395,15 +395,15 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x14864000,
|
||||
0x69A47A05,
|
||||
0xCBCF23D7,
|
||||
- 0xF41E791E,
|
||||
- 0x034ED348,
|
||||
- 0x821A00C3,
|
||||
+ 0xF5DE791E,
|
||||
+ 0x0356D348,
|
||||
+ 0x821A02CB,
|
||||
0x0000D000,
|
||||
0x00000680,
|
||||
0xD769A47A,
|
||||
0x1ECBCF23,
|
||||
- 0x48F41E79,
|
||||
- 0x00034ED3,
|
||||
+ 0x48F5DE79,
|
||||
+ 0x000356D3,
|
||||
0x00080200,
|
||||
0x00001000,
|
||||
0x00080200,
|
||||
@@ -421,7 +421,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0xAA0D4000,
|
||||
- 0x01C3A808,
|
||||
+ 0x01C3A810,
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0x00040100,
|
||||
@@ -449,7 +449,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x2A835000,
|
||||
- 0x0070EA02,
|
||||
+ 0x0070EA04,
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x00010040,
|
||||
@@ -469,15 +469,15 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x14864000,
|
||||
0x69A47A05,
|
||||
0xCBCF23D7,
|
||||
- 0xF41E791E,
|
||||
- 0x034ED348,
|
||||
+ 0xF5DE791E,
|
||||
+ 0x0356D348,
|
||||
0x821A0000,
|
||||
0x0000D000,
|
||||
0x00000680,
|
||||
0xD769A47A,
|
||||
0x1ECBCF23,
|
||||
- 0x48F41E79,
|
||||
- 0x00034ED3,
|
||||
+ 0x48F5DE79,
|
||||
+ 0x000356D3,
|
||||
0x00080200,
|
||||
0x00001000,
|
||||
0x00080200,
|
||||
@@ -495,7 +495,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0xAA0D4000,
|
||||
- 0x01C3A808,
|
||||
+ 0x01C3A810,
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0x00040100,
|
||||
@@ -523,7 +523,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x2A835000,
|
||||
- 0x0070EA02,
|
||||
+ 0x0070EA04,
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x00010040,
|
||||
@@ -543,15 +543,15 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x14864000,
|
||||
0x69A47A05,
|
||||
0xCBCF23D7,
|
||||
- 0xF41E791E,
|
||||
- 0x034ED348,
|
||||
+ 0xF5DE791E,
|
||||
+ 0x0356D348,
|
||||
0x821A0000,
|
||||
0x0000D000,
|
||||
0x00000680,
|
||||
0xD769A47A,
|
||||
0x1ECBCF23,
|
||||
- 0x48F41E79,
|
||||
- 0x00034ED3,
|
||||
+ 0x48F5DE79,
|
||||
+ 0x000356D3,
|
||||
0x00080200,
|
||||
0x00001000,
|
||||
0x00080200,
|
||||
@@ -567,80 +567,80 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x04000002,
|
||||
0x00820000,
|
||||
0x00489000,
|
||||
- 0x001A1A1A,
|
||||
- 0x085506A0,
|
||||
- 0x0000E1D4,
|
||||
- 0x045506A0,
|
||||
- 0x0000E1D4,
|
||||
- 0x085506A0,
|
||||
- 0x8000E1D4,
|
||||
+ 0x801A1A1A,
|
||||
+ 0x00000200,
|
||||
+ 0x80000004,
|
||||
+ 0x00000200,
|
||||
+ 0x80000004,
|
||||
+ 0x00000200,
|
||||
+ 0x80000004,
|
||||
0x00000200,
|
||||
0x00000004,
|
||||
- 0x04000000,
|
||||
- 0x00000009,
|
||||
- 0x00002410,
|
||||
+ 0x00040000,
|
||||
+ 0x10000000,
|
||||
+ 0x00000000,
|
||||
0x00000040,
|
||||
- 0x41000000,
|
||||
- 0x00002082,
|
||||
- 0x00000350,
|
||||
- 0x000000DA,
|
||||
+ 0x00010000,
|
||||
+ 0x40002000,
|
||||
+ 0x00000100,
|
||||
+ 0x40000002,
|
||||
+ 0x00000100,
|
||||
+ 0x40000002,
|
||||
0x00000100,
|
||||
0x40000002,
|
||||
0x00000100,
|
||||
0x00000002,
|
||||
- 0x042A8350,
|
||||
- 0x000070EA,
|
||||
- 0x86000000,
|
||||
- 0x08000004,
|
||||
+ 0x00020000,
|
||||
+ 0x08000000,
|
||||
0x00000000,
|
||||
- 0x00482000,
|
||||
- 0x21800000,
|
||||
- 0x00101061,
|
||||
- 0x021541A8,
|
||||
- 0x00003875,
|
||||
- 0x011541A8,
|
||||
- 0x00003875,
|
||||
- 0x021541A8,
|
||||
- 0x20003875,
|
||||
+ 0x00000020,
|
||||
+ 0x00008000,
|
||||
+ 0x20001000,
|
||||
+ 0x00000080,
|
||||
+ 0x20000001,
|
||||
+ 0x00000080,
|
||||
+ 0x20000001,
|
||||
+ 0x00000080,
|
||||
+ 0x20000001,
|
||||
0x00000080,
|
||||
0x00000001,
|
||||
- 0x41000000,
|
||||
- 0x00000002,
|
||||
- 0x00FF0904,
|
||||
+ 0x00010000,
|
||||
+ 0x04000000,
|
||||
+ 0x00FF0000,
|
||||
0x00000000,
|
||||
- 0x90400000,
|
||||
- 0x00000820,
|
||||
+ 0x00004000,
|
||||
+ 0x00000800,
|
||||
0x80000001,
|
||||
- 0x38D612AF,
|
||||
- 0x86F8E38E,
|
||||
- 0x0A0A78B4,
|
||||
- 0x000D020A,
|
||||
+ 0x00041419,
|
||||
+ 0x40000000,
|
||||
+ 0x04000816,
|
||||
+ 0x000D0000,
|
||||
0x00006800,
|
||||
- 0x028A4320,
|
||||
- 0xEBB4D23D,
|
||||
- 0x8F65E791,
|
||||
- 0xA47A0F3C,
|
||||
- 0x0001A769,
|
||||
- 0x00410D00,
|
||||
+ 0x00000340,
|
||||
+ 0xD000001A,
|
||||
+ 0x06800000,
|
||||
+ 0x00340000,
|
||||
+ 0x0001A000,
|
||||
+ 0x00000D00,
|
||||
0x40000068,
|
||||
- 0x3D000003,
|
||||
- 0x91EBB4D2,
|
||||
- 0x3C8F65E7,
|
||||
- 0x69A47A0F,
|
||||
- 0x000001A7,
|
||||
+ 0x1A000003,
|
||||
+ 0x00D00000,
|
||||
+ 0x00068000,
|
||||
+ 0x00003400,
|
||||
+ 0x000001A0,
|
||||
+ 0x00000401,
|
||||
+ 0x00000008,
|
||||
0x00000401,
|
||||
0x00000008,
|
||||
0x00000401,
|
||||
0x00000008,
|
||||
- 0x00000540,
|
||||
- 0x000003A8,
|
||||
- 0x10AA0D40,
|
||||
- 0x8001C3A8,
|
||||
+ 0x00000401,
|
||||
+ 0x80000008,
|
||||
0x0000007F,
|
||||
+ 0x20000000,
|
||||
0x00000000,
|
||||
- 0x00004060,
|
||||
- 0xE1208000,
|
||||
+ 0xE0000080,
|
||||
0x0000001F,
|
||||
- 0x00004100,
|
||||
+ 0x00004000,
|
||||
};
|
||||
|
||||
diff --git a/board/altera/socfpga_cyclone5/pinmux_config.c b/board/altera/socfpga_cyclone5/pinmux_config.c
|
||||
index 730067e..cfd74cd 100644
|
||||
--- a/board/altera/socfpga_cyclone5/pinmux_config.c
|
||||
+++ b/board/altera/socfpga_cyclone5/pinmux_config.c
|
||||
@@ -23,7 +23,7 @@ unsigned long sys_mgr_init_table[CONFIG_HPS_PINMUX_NUM] = {
|
||||
0, /* EMACIO18 */
|
||||
0, /* EMACIO19 */
|
||||
3, /* FLASHIO0 */
|
||||
- 3, /* FLASHIO1 */
|
||||
+ 0, /* FLASHIO1 */
|
||||
3, /* FLASHIO2 */
|
||||
3, /* FLASHIO3 */
|
||||
0, /* FLASHIO4 */
|
||||
@@ -34,25 +34,25 @@ unsigned long sys_mgr_init_table[CONFIG_HPS_PINMUX_NUM] = {
|
||||
3, /* FLASHIO9 */
|
||||
3, /* FLASHIO10 */
|
||||
3, /* FLASHIO11 */
|
||||
- 3, /* GENERALIO0 */
|
||||
- 3, /* GENERALIO1 */
|
||||
- 3, /* GENERALIO2 */
|
||||
- 3, /* GENERALIO3 */
|
||||
- 3, /* GENERALIO4 */
|
||||
- 3, /* GENERALIO5 */
|
||||
- 3, /* GENERALIO6 */
|
||||
- 3, /* GENERALIO7 */
|
||||
- 3, /* GENERALIO8 */
|
||||
+ 0, /* GENERALIO0 */
|
||||
+ 1, /* GENERALIO1 */
|
||||
+ 1, /* GENERALIO2 */
|
||||
+ 1, /* GENERALIO3 */
|
||||
+ 1, /* GENERALIO4 */
|
||||
+ 0, /* GENERALIO5 */
|
||||
+ 0, /* GENERALIO6 */
|
||||
+ 0, /* GENERALIO7 */
|
||||
+ 0, /* GENERALIO8 */
|
||||
3, /* GENERALIO9 */
|
||||
3, /* GENERALIO10 */
|
||||
3, /* GENERALIO11 */
|
||||
3, /* GENERALIO12 */
|
||||
- 2, /* GENERALIO13 */
|
||||
- 2, /* GENERALIO14 */
|
||||
- 3, /* GENERALIO15 */
|
||||
- 3, /* GENERALIO16 */
|
||||
- 2, /* GENERALIO17 */
|
||||
- 2, /* GENERALIO18 */
|
||||
+ 0, /* GENERALIO13 */
|
||||
+ 0, /* GENERALIO14 */
|
||||
+ 1, /* GENERALIO15 */
|
||||
+ 1, /* GENERALIO16 */
|
||||
+ 1, /* GENERALIO17 */
|
||||
+ 1, /* GENERALIO18 */
|
||||
0, /* GENERALIO19 */
|
||||
0, /* GENERALIO20 */
|
||||
0, /* GENERALIO21 */
|
||||
diff --git a/board/altera/socfpga_cyclone5/pinmux_config.h b/board/altera/socfpga_cyclone5/pinmux_config.h
|
||||
index fb483ab..64c750a 100644
|
||||
--- a/board/altera/socfpga_cyclone5/pinmux_config.h
|
||||
+++ b/board/altera/socfpga_cyclone5/pinmux_config.h
|
||||
@@ -11,15 +11,15 @@
|
||||
#define CONFIG_HPS_UART0 (1)
|
||||
#define CONFIG_HPS_UART1 (0)
|
||||
#define CONFIG_HPS_TRACE (0)
|
||||
-#define CONFIG_HPS_I2C0 (1)
|
||||
-#define CONFIG_HPS_I2C1 (0)
|
||||
+#define CONFIG_HPS_I2C0 (0)
|
||||
+#define CONFIG_HPS_I2C1 (1)
|
||||
#define CONFIG_HPS_I2C2 (0)
|
||||
#define CONFIG_HPS_I2C3 (0)
|
||||
#define CONFIG_HPS_SPIM0 (1)
|
||||
-#define CONFIG_HPS_SPIM1 (0)
|
||||
+#define CONFIG_HPS_SPIM1 (1)
|
||||
#define CONFIG_HPS_SPIS0 (0)
|
||||
#define CONFIG_HPS_SPIS1 (0)
|
||||
-#define CONFIG_HPS_CAN0 (1)
|
||||
+#define CONFIG_HPS_CAN0 (0)
|
||||
#define CONFIG_HPS_CAN1 (0)
|
||||
|
||||
#define CONFIG_HPS_SDMMC_BUSWIDTH (4)
|
||||
diff --git a/board/altera/socfpga_cyclone5/sdram/sdram_config.h b/board/altera/socfpga_cyclone5/sdram/sdram_config.h
|
||||
index b90d6f3..dd027ef 100755
|
||||
--- a/board/altera/socfpga_cyclone5/sdram/sdram_config.h
|
||||
+++ b/board/altera/socfpga_cyclone5/sdram/sdram_config.h
|
||||
@@ -4,16 +4,16 @@
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_MEMTYPE (2)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_MEMBL (8)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_ADDRORDER (0)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_ECCEN (1)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_ECCCORREN (1)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_ECCEN (0)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_ECCCORREN (0)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_REORDEREN (1)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_STARVELIMIT (10)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_DQSTRKEN (0)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_NODMPINS (0)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TCWL (6)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TCWL (8)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_AL (0)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TCL (7)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TRRD (4)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TCL (11)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TRRD (3)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TFAW (12)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TRFC (104)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING2_IF_TREFI (3120)
|
||||
@@ -21,7 +21,7 @@
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING2_IF_TRP (6)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING2_IF_TWR (6)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING2_IF_TWTR (4)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING3_TRTP (4)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING3_TRTP (3)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING3_TRAS (14)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING3_TRC (20)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING3_TMRD (4)
|
||||
@@ -33,7 +33,7 @@
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMADDRW_ROWBITS (15)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMADDRW_BANKBITS (3)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMADDRW_CSBITS (1)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_DRAMIFWIDTH_IFWIDTH (40)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_DRAMIFWIDTH_IFWIDTH (32)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMDEVWIDTH_DEVWIDTH (8)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMINTR_INTREN (0)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_STATICCFG_MEMBL (2)
|
||||
diff --git a/board/altera/socfpga_cyclone5/sdram/sequencer_auto.h b/board/altera/socfpga_cyclone5/sdram/sequencer_auto.h
|
||||
index e8c5484..919676d 100644
|
||||
--- a/board/altera/socfpga_cyclone5/sdram/sequencer_auto.h
|
||||
+++ b/board/altera/socfpga_cyclone5/sdram/sequencer_auto.h
|
||||
@@ -34,7 +34,7 @@
|
||||
#define __RW_MGR_ac_read_en 0x21
|
||||
#define __RW_MGR_ac_mrs3_mirr 0x0C
|
||||
#define __RW_MGR_ac_mrs2 0x05
|
||||
-#define __RW_MGR_CONTENT_ac_mrs1 0x10090044
|
||||
+#define __RW_MGR_CONTENT_ac_mrs1 0x10090006
|
||||
#define __RW_MGR_CONTENT_ac_mrs3 0x100B0000
|
||||
#define __RW_MGR_CONTENT_ac_write_bank_0_col_0_nodata_wl_1 0x18980000
|
||||
#define __RW_MGR_CONTENT_ac_act_1 0x106B0000
|
||||
@@ -46,8 +46,8 @@
|
||||
#define __RW_MGR_CONTENT_ac_init_reset_0_cke_0 0x20700000
|
||||
#define __RW_MGR_CONTENT_ac_read_bank_0_1_norden 0x10580008
|
||||
#define __RW_MGR_CONTENT_ac_pre_all 0x10280400
|
||||
-#define __RW_MGR_CONTENT_ac_mrs0_user 0x10080431
|
||||
-#define __RW_MGR_CONTENT_ac_mrs0_dll_reset 0x10080530
|
||||
+#define __RW_MGR_CONTENT_ac_mrs0_user 0x10080471
|
||||
+#define __RW_MGR_CONTENT_ac_mrs0_dll_reset 0x10080570
|
||||
#define __RW_MGR_CONTENT_ac_read_bank_0_0 0x13580000
|
||||
#define __RW_MGR_CONTENT_ac_write_bank_0_col_1 0x1C980008
|
||||
#define __RW_MGR_CONTENT_ac_read_bank_0_1 0x13580008
|
||||
@@ -55,21 +55,21 @@
|
||||
#define __RW_MGR_CONTENT_ac_write_bank_1_col_1 0x1C9B0008
|
||||
#define __RW_MGR_CONTENT_ac_write_bank_0_col_0 0x1C980000
|
||||
#define __RW_MGR_CONTENT_ac_read_bank_1_0 0x135B0000
|
||||
-#define __RW_MGR_CONTENT_ac_mrs1_mirr 0x100A0024
|
||||
+#define __RW_MGR_CONTENT_ac_mrs1_mirr 0x100A0006
|
||||
#define __RW_MGR_CONTENT_ac_read_bank_1_1 0x135B0008
|
||||
#define __RW_MGR_CONTENT_ac_des_odt_1 0x38780000
|
||||
-#define __RW_MGR_CONTENT_ac_mrs0_dll_reset_mirr 0x100804C8
|
||||
+#define __RW_MGR_CONTENT_ac_mrs0_dll_reset_mirr 0x100804E8
|
||||
#define __RW_MGR_CONTENT_ac_zqcl 0x10380400
|
||||
#define __RW_MGR_CONTENT_ac_write_predata 0x38F80000
|
||||
-#define __RW_MGR_CONTENT_ac_mrs0_user_mirr 0x10080449
|
||||
+#define __RW_MGR_CONTENT_ac_mrs0_user_mirr 0x10080469
|
||||
#define __RW_MGR_CONTENT_ac_ref 0x10480000
|
||||
#define __RW_MGR_CONTENT_ac_nop 0x30780000
|
||||
#define __RW_MGR_CONTENT_ac_rdimm 0x10780000
|
||||
-#define __RW_MGR_CONTENT_ac_mrs2_mirr 0x10090010
|
||||
+#define __RW_MGR_CONTENT_ac_mrs2_mirr 0x10090218
|
||||
#define __RW_MGR_CONTENT_ac_write_bank_0_col_0_nodata 0x18180000
|
||||
#define __RW_MGR_CONTENT_ac_read_en 0x33780000
|
||||
#define __RW_MGR_CONTENT_ac_mrs3_mirr 0x100B0000
|
||||
-#define __RW_MGR_CONTENT_ac_mrs2 0x100A0008
|
||||
+#define __RW_MGR_CONTENT_ac_mrs2 0x100A0218
|
||||
|
||||
#define __RW_MGR_READ_B2B_WAIT2 0x6A
|
||||
#define __RW_MGR_LFSR_WR_RD_BANK_0_WAIT 0x31
|
||||
diff --git a/board/altera/socfpga_cyclone5/sdram/sequencer_auto_ac_init.c b/board/altera/socfpga_cyclone5/sdram/sequencer_auto_ac_init.c
|
||||
index e16efa1..20b4ca1 100644
|
||||
--- a/board/altera/socfpga_cyclone5/sdram/sequencer_auto_ac_init.c
|
||||
+++ b/board/altera/socfpga_cyclone5/sdram/sequencer_auto_ac_init.c
|
||||
@@ -6,16 +6,16 @@ const alt_u32 ac_rom_init[36] =
|
||||
{
|
||||
0x20700000,
|
||||
0x20780000,
|
||||
- 0x10080431,
|
||||
- 0x10080530,
|
||||
- 0x10090044,
|
||||
- 0x100a0008,
|
||||
+ 0x10080471,
|
||||
+ 0x10080570,
|
||||
+ 0x10090006,
|
||||
+ 0x100a0218,
|
||||
0x100b0000,
|
||||
0x10380400,
|
||||
- 0x10080449,
|
||||
- 0x100804c8,
|
||||
- 0x100a0024,
|
||||
- 0x10090010,
|
||||
+ 0x10080469,
|
||||
+ 0x100804e8,
|
||||
+ 0x100a0006,
|
||||
+ 0x10090218,
|
||||
0x100b0000,
|
||||
0x30780000,
|
||||
0x38780000,
|
||||
diff --git a/board/altera/socfpga_cyclone5/sdram/sequencer_defines.h b/board/altera/socfpga_cyclone5/sdram/sequencer_defines.h
|
||||
index 52faf3f..b85b85c 100644
|
||||
--- a/board/altera/socfpga_cyclone5/sdram/sequencer_defines.h
|
||||
+++ b/board/altera/socfpga_cyclone5/sdram/sequencer_defines.h
|
||||
@@ -1,28 +1,28 @@
|
||||
#ifndef _SEQUENCER_DEFINES_H_
|
||||
#define _SEQUENCER_DEFINES_H_
|
||||
|
||||
-#define AC_ROM_MR1_MIRR 0000000100100
|
||||
+#define AC_ROM_MR1_MIRR 0000000000110
|
||||
#define AC_ROM_MR1_OCD_ENABLE
|
||||
-#define AC_ROM_MR2_MIRR 0000000010000
|
||||
+#define AC_ROM_MR2_MIRR 0001000011000
|
||||
#define AC_ROM_MR3_MIRR 0000000000000
|
||||
#define AC_ROM_MR0_CALIB
|
||||
-#define AC_ROM_MR0_DLL_RESET_MIRR 0010011001000
|
||||
-#define AC_ROM_MR0_DLL_RESET 0010100110000
|
||||
-#define AC_ROM_MR0_MIRR 0010001001001
|
||||
-#define AC_ROM_MR0 0010000110001
|
||||
-#define AC_ROM_MR1 0000001000100
|
||||
-#define AC_ROM_MR2 0000000001000
|
||||
+#define AC_ROM_MR0_DLL_RESET_MIRR 0010011101000
|
||||
+#define AC_ROM_MR0_DLL_RESET 0010101110000
|
||||
+#define AC_ROM_MR0_MIRR 0010001101001
|
||||
+#define AC_ROM_MR0 0010001110001
|
||||
+#define AC_ROM_MR1 0000000000110
|
||||
+#define AC_ROM_MR2 0001000011000
|
||||
#define AC_ROM_MR3 0000000000000
|
||||
#define AFI_CLK_FREQ 401
|
||||
#define AFI_RATE_RATIO 1
|
||||
#define ARRIAVGZ 0
|
||||
#define ARRIAV 0
|
||||
-#define AVL_CLK_FREQ 67
|
||||
+#define AVL_CLK_FREQ 81
|
||||
#define BFM_MODE 0
|
||||
#define BURST2 0
|
||||
#define CALIBRATE_BIT_SLIPS 0
|
||||
-#define CALIB_LFIFO_OFFSET 7
|
||||
-#define CALIB_VFIFO_OFFSET 5
|
||||
+#define CALIB_LFIFO_OFFSET 11
|
||||
+#define CALIB_VFIFO_OFFSET 9
|
||||
#define CYCLONEV 1
|
||||
#define DDR2 0
|
||||
#define DDR3 1
|
||||
@@ -89,20 +89,20 @@
|
||||
#define RW_MGR_MEM_CHIP_SELECT_WIDTH 1
|
||||
#define RW_MGR_MEM_CLK_EN_WIDTH 1
|
||||
#define RW_MGR_MEM_CONTROL_WIDTH 1
|
||||
-#define RW_MGR_MEM_DATA_MASK_WIDTH 5
|
||||
-#define RW_MGR_MEM_DATA_WIDTH 40
|
||||
+#define RW_MGR_MEM_DATA_MASK_WIDTH 4
|
||||
+#define RW_MGR_MEM_DATA_WIDTH 32
|
||||
#define RW_MGR_MEM_DQ_PER_READ_DQS 8
|
||||
#define RW_MGR_MEM_DQ_PER_WRITE_DQS 8
|
||||
-#define RW_MGR_MEM_IF_READ_DQS_WIDTH 5
|
||||
-#define RW_MGR_MEM_IF_WRITE_DQS_WIDTH 5
|
||||
+#define RW_MGR_MEM_IF_READ_DQS_WIDTH 4
|
||||
+#define RW_MGR_MEM_IF_WRITE_DQS_WIDTH 4
|
||||
#define RW_MGR_MEM_NUMBER_OF_CS_PER_DIMM 1
|
||||
#define RW_MGR_MEM_NUMBER_OF_RANKS 1
|
||||
#define RW_MGR_MEM_ODT_WIDTH 1
|
||||
#define RW_MGR_MEM_VIRTUAL_GROUPS_PER_READ_DQS 1
|
||||
#define RW_MGR_MEM_VIRTUAL_GROUPS_PER_WRITE_DQS 1
|
||||
#define RW_MGR_MR0_BL 1
|
||||
-#define RW_MGR_MR0_CAS_LATENCY 3
|
||||
-#define RW_MGR_TRUE_MEM_DATA_MASK_WIDTH 5
|
||||
+#define RW_MGR_MR0_CAS_LATENCY 7
|
||||
+#define RW_MGR_TRUE_MEM_DATA_MASK_WIDTH 4
|
||||
#define RW_MGR_WRITE_TO_DEBUG_READ 1.0
|
||||
#define SKEW_CALIBRATION 0
|
||||
#define STATIC_FULL_CALIBRATION 1
|
||||
--
|
||||
1.9.0
|
||||
|
||||
@@ -8,8 +8,8 @@ These instructions apply to all models of the ARM Juno:
|
||||
- Juno r1 (supports PCIe)
|
||||
- Juno r2 (Big Cluster with A72)
|
||||
|
||||
Buildroot will generate the kernel image, device tree blob, bootloader binaries
|
||||
and a minimal root filesystem.
|
||||
Buildroot will generate the kernel image, device tree blob and a
|
||||
minimal root filesystem.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
@@ -44,20 +44,6 @@ After building, you should obtain this tree:
|
||||
+-- juno-r1.dtb (if Juno r1 is used)
|
||||
+-- juno-r2.dtb (if Juno r2 is used)
|
||||
+-- Image
|
||||
+-- bl1.bin
|
||||
+-- bl2.bin
|
||||
+-- bl2u.bin
|
||||
+-- bl31.bin
|
||||
+-- fip.bin
|
||||
+-- scp-fw.bin
|
||||
+-- u-boot.bin
|
||||
|
||||
Preparing your rootfs
|
||||
======================
|
||||
|
||||
Format your pen drive as a ext3 filesystem by executing:
|
||||
|
||||
$ mkfs.ext3 /dev/<your device>
|
||||
|
||||
Preparing your rootfs
|
||||
======================
|
||||
@@ -127,8 +113,7 @@ Installing kernel image and DTB
|
||||
3. Open the software/ folder
|
||||
4. Copy the 'Image' file to software/
|
||||
5. Copy the 'juno-r1.dtb' (r1), 'juno.dtb' (r0) or juno-r2.dtb (r2) file to software/
|
||||
6. Copy the bootloader binaries (bl1.bin and fip.bin) to software/
|
||||
7. Press the red button in the front pannel of ARM Juno
|
||||
6. Press the red button in the front pannel of ARM Juno
|
||||
|
||||
At this time, the board will erase the Flash entry for each new item and
|
||||
replace it with the lastest ones.
|
||||
|
||||
@@ -117,6 +117,8 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
# CONFIG_BACKLIGHT_GENERIC is not set
|
||||
CONFIG_BACKLIGHT_PWM=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
@@ -181,5 +183,3 @@ CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
@@ -20,7 +20,7 @@ CONFIG_BSD_DISKLABEL=y
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_MXC=y
|
||||
CONFIG_MXC_IRQ_PRIOR=y
|
||||
CONFIG_SOC_IMX51=y
|
||||
CONFIG_MACH_IMX51_DT=y
|
||||
CONFIG_ARM_THUMBEE=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
@@ -111,9 +111,7 @@ CONFIG_KEYBOARD_GPIO=m
|
||||
CONFIG_KEYBOARD_IMX=m
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_TOUCHSCREEN_WM831X=y
|
||||
CONFIG_TOUCHSCREEN_MC13XXX=m
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_MC13783_PWRBUTTON=m
|
||||
CONFIG_INPUT_UINPUT=m
|
||||
CONFIG_INPUT_WM831X_ON=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
@@ -129,24 +127,19 @@ CONFIG_SPI_IMX=y
|
||||
CONFIG_SPI_SPIDEV=m
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_WM831X=m
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_POWER_SUPPLY=m
|
||||
CONFIG_WM831X_BACKUP=m
|
||||
CONFIG_WM831X_POWER=m
|
||||
CONFIG_HWMON=m
|
||||
CONFIG_SENSORS_AS1531=m
|
||||
CONFIG_SENSORS_MC13783_ADC=m
|
||||
CONFIG_SENSORS_WM831X=m
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_WATCHDOG_NOWAYOUT=y
|
||||
CONFIG_WM831X_WATCHDOG=m
|
||||
CONFIG_IMX2_WDT=y
|
||||
CONFIG_MFD_MC13XXX_I2C=y
|
||||
CONFIG_MFD_WM831X_I2C=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_REGULATOR_MC13892=m
|
||||
CONFIG_IMX_IPUV3_CORE=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_MFD_IMX_IPU_V3=y
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_VIDEO_DEV=m
|
||||
@@ -210,13 +203,12 @@ CONFIG_USB_PRINTER=y
|
||||
CONFIG_USB_WDM=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_CHIPIDEA=y
|
||||
CONFIG_USB_CHIPIDEA_UDC=y
|
||||
CONFIG_USB_CHIPIDEA_HOST=y
|
||||
CONFIG_USB_PHY=y
|
||||
CONFIG_NOP_USB_XCEIV=y
|
||||
CONFIG_USB_GPIO_VBUS=y
|
||||
CONFIG_USB_ULPI=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET=m
|
||||
CONFIG_USB_GADGET_DEBUG_FILES=y
|
||||
CONFIG_USB_GADGET_DEBUG_FS=y
|
||||
CONFIG_USB_ETH=m
|
||||
@@ -235,19 +227,12 @@ CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_WM831X_STATUS=m
|
||||
CONFIG_LEDS_MC13783=m
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_MXC=y
|
||||
CONFIG_RTC_DRV_WM831X=y
|
||||
CONFIG_RTC_DRV_MC13XXX=m
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_DRM_IMX=y
|
||||
CONFIG_DRM_IMX_FB_HELPER=y
|
||||
CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
|
||||
CONFIG_DRM_IMX_TVE=y
|
||||
CONFIG_DRM_IMX_IPUV3=y
|
||||
CONFIG_IIO=m
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT2_FS_XATTR=y
|
||||
@@ -257,7 +242,6 @@ CONFIG_EXT2_FS_XIP=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_ISO9660_FS=y
|
||||
CONFIG_JOLIET=y
|
||||
@@ -265,6 +249,10 @@ CONFIG_ZISOFS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
|
||||
CONFIG_JFFS2_LZO=y
|
||||
CONFIG_JFFS2_CMODE_NONE=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
98
board/atmel/at91sam9260ek/linux-3.9.config
Normal file
98
board/atmel/at91sam9260ek/linux-3.9.config
Normal file
@@ -0,0 +1,98 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
CONFIG_KERNEL_LZO=y
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9260=y
|
||||
CONFIG_ARCH_AT91SAM9260_SAM9XE=y
|
||||
CONFIG_MACH_AT91SAM9260EK=y
|
||||
CONFIG_MACH_CAM60=y
|
||||
CONFIG_MACH_SAM9_L9260=y
|
||||
CONFIG_MACH_AFEB9260=y
|
||||
CONFIG_MACH_USB_A9260=y
|
||||
CONFIG_MACH_QIL_A9260=y
|
||||
CONFIG_MACH_CPU9260=y
|
||||
CONFIG_MACH_FLEXIBITY=y
|
||||
CONFIG_MACH_SNAPPER_9260=y
|
||||
CONFIG_MACH_AT91SAM_DT=y
|
||||
CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_ARM_APPENDED_DTB=y
|
||||
CONFIG_ARM_ATAG_DTB_COMPAT=y
|
||||
CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MACB=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_GPIO=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_WATCHDOG_NOWAYOUT=y
|
||||
CONFIG_AT91SAM9X_WATCHDOG=y
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DEVICEFS=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_STORAGE_DEBUG=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ZERO=m
|
||||
CONFIG_USB_GADGETFS=m
|
||||
CONFIG_USB_MASS_STORAGE=m
|
||||
CONFIG_USB_G_SERIAL=m
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_AT91SAM9=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_CRAMFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
@@ -1,34 +0,0 @@
|
||||
# Image for SD card boot on Atmel at91sam9x5ek boards
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"at91sam9g15ek.dtb",
|
||||
"at91sam9g25ek.dtb",
|
||||
"at91sam9g35ek.dtb",
|
||||
"at91sam9x25ek.dtb",
|
||||
"at91sam9x35ek.dtb",
|
||||
"boot.bin",
|
||||
"u-boot.bin"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ This guide covers the following configurations:
|
||||
- atmel_sama5d3_xplained_dev_defconfig
|
||||
- atmel_sama5d3_xplained_mmc_defconfig
|
||||
- atmel_sama5d3_xplained_mmc_dev_defconfig
|
||||
- atmel_sama5d4ek_defconfig
|
||||
- atmel_sama5d4_xplained_defconfig
|
||||
- atmel_sama5d4_xplained_dev_defconfig
|
||||
- atmel_sama5d4_xplained_mmc_defconfig
|
||||
@@ -44,7 +45,7 @@ using SAM-BA" section below.
|
||||
For the Xplained boards, an alternative Buildroot configuration is
|
||||
provided to boot from an SD card. Those configurations are labeled as
|
||||
'mmc'. In this case, after building Buildroot, follow the instructions
|
||||
in the "Preparing the SD card" section.
|
||||
in the "Preparting the SD card" sction.
|
||||
|
||||
To configure and build Buildroot, run:
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ image sdcard.img {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
|
||||
@@ -23,7 +23,6 @@ image sdcard.img {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
|
||||
@@ -24,7 +24,6 @@ image sdcard.img {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"MLO",
|
||||
"u-boot.img"
|
||||
}
|
||||
}
|
||||
size = 4M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
@@ -1,49 +0,0 @@
|
||||
BeagleBoard X15
|
||||
|
||||
Intro
|
||||
=====
|
||||
This config currently supports the beagleboard x15,
|
||||
and generates a barebone image.
|
||||
|
||||
The image must be flashed to a SD card to be used.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
$ make beagleboardx15_defconfig
|
||||
|
||||
Then you can edit the build options using
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Compile all and build a sdcard image:
|
||||
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should get a tree like this:
|
||||
|
||||
output/images/
|
||||
├── am57xx-beagle-x15.dtb
|
||||
├── am57xx-beagle-x15-revb1.dtb
|
||||
├── boot.vfat
|
||||
├── MLO
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4
|
||||
├── rootfs.tar
|
||||
├── sdcard.img
|
||||
├── u-boot.img
|
||||
├── u-boot-spl.bin
|
||||
└── zImage
|
||||
|
||||
How to write the microSD card
|
||||
=============================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
@@ -5,11 +5,8 @@ image boot.vfat {
|
||||
"u-boot.img",
|
||||
"zImage",
|
||||
"uEnv.txt",
|
||||
"am335x-evm.dtb",
|
||||
"am335x-evmsk.dtb",
|
||||
"am335x-bone.dtb",
|
||||
"am335x-boneblack.dtb",
|
||||
"am335x-bonegreen.dtb",
|
||||
"am335x-boneblack.dtb"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
|
||||
251
board/beaglebone/linux-3.12.config
Normal file
251
board/beaglebone/linux-3.12.config
Normal file
@@ -0,0 +1,251 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=16
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_EXPERT=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_FORCE_LOAD=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_ARCH_OMAP2PLUS=y
|
||||
CONFIG_OMAP_RESET_CLOCKS=y
|
||||
CONFIG_OMAP_MUX_DEBUG=y
|
||||
CONFIG_ARCH_OMAP3=y
|
||||
CONFIG_ARCH_OMAP4=y
|
||||
CONFIG_SOC_AM43XX=y
|
||||
# CONFIG_ARCH_OMAP2PLUS_TYPICAL is not set
|
||||
# CONFIG_SOC_TI81XX is not set
|
||||
# CONFIG_MACH_OMAP3_BEAGLE is not set
|
||||
# CONFIG_MACH_DEVKIT8000 is not set
|
||||
# CONFIG_MACH_OMAP_LDP is not set
|
||||
# CONFIG_MACH_OMAP3530_LV_SOM is not set
|
||||
# CONFIG_MACH_OMAP3_TORPEDO is not set
|
||||
# CONFIG_MACH_OVERO is not set
|
||||
# CONFIG_MACH_OMAP3EVM is not set
|
||||
# CONFIG_MACH_OMAP3_PANDORA is not set
|
||||
# CONFIG_MACH_TOUCHBOOK is not set
|
||||
# CONFIG_MACH_OMAP_3430SDP is not set
|
||||
# CONFIG_MACH_NOKIA_RM680 is not set
|
||||
# CONFIG_MACH_NOKIA_RX51 is not set
|
||||
# CONFIG_MACH_OMAP_ZOOM2 is not set
|
||||
# CONFIG_MACH_OMAP_ZOOM3 is not set
|
||||
# CONFIG_MACH_CM_T35 is not set
|
||||
# CONFIG_MACH_CM_T3517 is not set
|
||||
# CONFIG_MACH_IGEP0020 is not set
|
||||
# CONFIG_MACH_IGEP0030 is not set
|
||||
# CONFIG_MACH_SBC3530 is not set
|
||||
# CONFIG_MACH_OMAP_3630SDP is not set
|
||||
CONFIG_ARM_THUMBEE=y
|
||||
CONFIG_HAVE_ARM_ARCH_TIMER=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO2,115200"
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_STAT_DETAILS=y
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
CONFIG_GENERIC_CPUFREQ_CPU0=y
|
||||
# CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_VFP=y
|
||||
CONFIG_NEON=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_PM_RUNTIME=y
|
||||
CONFIG_PM_DEBUG=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM_USER=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_OMAP_OCP2SCP=y
|
||||
CONFIG_CONNECTOR=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=16384
|
||||
CONFIG_CROSSBAR=y
|
||||
CONFIG_EEPROM_93CX6=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_SCSI_SCAN_ASYNC=y
|
||||
CONFIG_MD=y
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_NET_VENDOR_ARC is not set
|
||||
# CONFIG_NET_CADENCE is not set
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
# CONFIG_NET_VENDOR_CIRRUS is not set
|
||||
# CONFIG_NET_VENDOR_FARADAY is not set
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
# CONFIG_NET_VENDOR_MICREL is not set
|
||||
# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
# CONFIG_NET_VENDOR_SEEQ is not set
|
||||
# CONFIG_NET_VENDOR_SMSC is not set
|
||||
# CONFIG_NET_VENDOR_STMICRO is not set
|
||||
CONFIG_TI_CPSW=y
|
||||
CONFIG_TI_CPTS=y
|
||||
# CONFIG_NET_VENDOR_VIA is not set
|
||||
# CONFIG_NET_VENDOR_WIZNET is not set
|
||||
CONFIG_AT803X_PHY=y
|
||||
CONFIG_SMSC_PHY=y
|
||||
# CONFIG_WLAN is not set
|
||||
# CONFIG_INPUT_MOUSEDEV is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_SERIO_LIBPS2=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=32
|
||||
CONFIG_SERIAL_8250_EXTENDED=y
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_SERIAL_OMAP=y
|
||||
CONFIG_SERIAL_OMAP_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_OMAP=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_OMAP24XX=y
|
||||
CONFIG_SPI_TI_QSPI=y
|
||||
CONFIG_PINCTRL_SINGLE=y
|
||||
CONFIG_DEBUG_GPIO=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_W1=y
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_THERMAL=y
|
||||
CONFIG_THERMAL_GOV_FAIR_SHARE=y
|
||||
CONFIG_THERMAL_GOV_USER_SPACE=y
|
||||
CONFIG_CPU_THERMAL=y
|
||||
CONFIG_TI_SOC_THERMAL=y
|
||||
CONFIG_TI_THERMAL=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_OMAP_WATCHDOG=y
|
||||
CONFIG_MFD_SYSCON=y
|
||||
CONFIG_MFD_TPS65217=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_REGULATOR_PBIAS=y
|
||||
CONFIG_REGULATOR_TPS65023=y
|
||||
CONFIG_REGULATOR_TPS6507X=y
|
||||
CONFIG_REGULATOR_TPS65217=y
|
||||
CONFIG_REGULATOR_TIAVSCLASS0=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
CONFIG_FB_DA8XX=y
|
||||
CONFIG_FB_DA8XX_TDA998X=y
|
||||
CONFIG_OMAP2_DSS=y
|
||||
CONFIG_OMAP2_DSS_SDI=y
|
||||
CONFIG_OMAP2_DSS_DSI=y
|
||||
CONFIG_FB_OMAP2=y
|
||||
CONFIG_DISPLAY_CONNECTOR_HDMI=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_MUSB_HDRC=m
|
||||
CONFIG_USB_MUSB_OMAP2PLUS=m
|
||||
CONFIG_USB_MUSB_DSPS=m
|
||||
CONFIG_USB_TI_CPPI41_DMA=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_AM335X_PHY_USB=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_DEBUG=y
|
||||
CONFIG_USB_GADGET_DEBUG_FS=y
|
||||
CONFIG_USB_ZERO=m
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_USB_ETH_EEM=y
|
||||
CONFIG_USB_MASS_STORAGE=m
|
||||
CONFIG_USB_G_MULTI=m
|
||||
CONFIG_USB_G_MULTI_CDC=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_UNSAFE_RESUME=y
|
||||
CONFIG_SDIO_UART=y
|
||||
CONFIG_MMC_OMAP=y
|
||||
CONFIG_MMC_OMAP_HS=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_ONESHOT=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
|
||||
CONFIG_LEDS_TRIGGER_CPU=y
|
||||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_OMAP=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_TI_EDMA=y
|
||||
CONFIG_DMA_OMAP=y
|
||||
CONFIG_TI_CPPI41=y
|
||||
CONFIG_COMMON_CLK_DEBUG=y
|
||||
CONFIG_OMAP_USB2=y
|
||||
CONFIG_OMAP_PIPE3=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT3_FS_XATTR is not set
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_QFMT_V2=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_SCHEDSTATS=y
|
||||
CONFIG_TIMER_STATS=y
|
||||
CONFIG_PROVE_LOCKING=y
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
CONFIG_CRYPTO_MANAGER=m
|
||||
CONFIG_CRYPTO_SHA256=m
|
||||
CONFIG_CRYPTO_DEFLATE=y
|
||||
CONFIG_CRYPTO_LZO=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
CONFIG_CRC_CCITT=y
|
||||
CONFIG_CRC_T10DIF=y
|
||||
CONFIG_CRC_ITU_T=y
|
||||
CONFIG_CRC7=y
|
||||
CONFIG_LIBCRC32C=y
|
||||
CONFIG_AVERAGE=y
|
||||
@@ -1,12 +0,0 @@
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_PREEMPT_COUNT=y
|
||||
CONFIG_OMAP2_DSS_INIT=y
|
||||
CONFIG_OMAP_DSS_BASE=y
|
||||
CONFIG_OMAP2_DSS=y
|
||||
CONFIG_OMAP2_DSS_DPI=y
|
||||
CONFIG_DRM_OMAP=y
|
||||
CONFIG_DRM_OMAP_NUM_CRTCS=2
|
||||
CONFIG_DRM_OMAP_WB_M2M=y
|
||||
CONFIG_DRM_TILCDC=y
|
||||
CONFIG_DRM_I2C_NXP_TDA998X=y
|
||||
CONFIG_DRM=y
|
||||
@@ -1,16 +0,0 @@
|
||||
This patch keeps the debugSS clock alive, it clocks the JTAG macro and enables
|
||||
access to the SoC via JTAG after the kernel booted.
|
||||
|
||||
Signed-off-by: Lothar Felten <lothar.felten@gmail.com>
|
||||
---
|
||||
diff -Naur linux-orig/arch/arm/mach-omap2/omap_hwmod_33xx_data.c linux-52c4aa7cdb93d61f8008f380135beaf7b8fa6593/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
|
||||
--- linux-orig/arch/arm/mach-omap2/omap_hwmod_33xx_data.c 2015-10-02 17:30:56.000000000 +0200
|
||||
+++ linux-52c4aa7cdb93d61f8008f380135beaf7b8fa6593/arch/arm/mach-omap2/omap_hwmod_33xx_data.c 2016-08-15 11:28:55.017617612 +0200
|
||||
@@ -208,6 +208,7 @@
|
||||
.name = "debugss",
|
||||
.class = &am33xx_debugss_hwmod_class,
|
||||
.clkdm_name = "l3_aon_clkdm",
|
||||
+ .flags = (HWMOD_INIT_NO_IDLE|HWMOD_INIT_NO_RESET), /* keep debugSS clock alive for JTAG */
|
||||
.main_clk = "trace_clk_div_ck",
|
||||
.prcm = {
|
||||
.omap4 = {
|
||||
@@ -0,0 +1,34 @@
|
||||
From 29885f2f3d700341d322274db6ad085e601c0994 Mon Sep 17 00:00:00 2001
|
||||
From: Pantelis Antoniou <panto@antoniou-consulting.com>
|
||||
Date: Fri, 4 Jan 2013 00:32:33 +0200
|
||||
Subject: [PATCH 3/3] arm: Export cache flush management symbols when
|
||||
!MULTI_CACHE
|
||||
|
||||
When compiling a kernel without CONFIG_MULTI_CACHE enabled the
|
||||
dma access functions end up not being exported. Fix it.
|
||||
|
||||
Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
|
||||
---
|
||||
arch/arm/kernel/setup.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
|
||||
index da1d1aa..dcb678c 100644
|
||||
--- a/arch/arm/kernel/setup.c
|
||||
+++ b/arch/arm/kernel/setup.c
|
||||
@@ -923,3 +923,12 @@ const struct seq_operations cpuinfo_op = {
|
||||
.stop = c_stop,
|
||||
.show = c_show
|
||||
};
|
||||
+
|
||||
+/* export the cache management functions */
|
||||
+#ifndef MULTI_CACHE
|
||||
+
|
||||
+EXPORT_SYMBOL(__glue(_CACHE,_dma_map_area));
|
||||
+EXPORT_SYMBOL(__glue(_CACHE,_dma_unmap_area));
|
||||
+EXPORT_SYMBOL(__glue(_CACHE,_dma_flush_range));
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#!/bin/sh
|
||||
# post-image.sh for CircuitCo BeagleBone and TI am335x-evm
|
||||
# post-image.sh for BeagleBone
|
||||
# 2014, Marcin Jabrzyk <marcin.jabrzyk@gmail.com>
|
||||
# 2016, Lothar Felten <lothar.felten@gmail.com>
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
|
||||
@@ -1,52 +1,44 @@
|
||||
CircuitCo BeagleBone
|
||||
Texas Instuments AM335x Evaluation Module (TMDXEVM3358)
|
||||
BeagleBone
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
This configuration will build a complete image for the beaglebone and
|
||||
the TI AM335x-EVM, the board type is identified by the on-board
|
||||
EEPROM. The configuration is based on the
|
||||
ti-processor-sdk-02.00.00.00. Device tree blobs for beaglebone
|
||||
variants and the evm-sk are built too.
|
||||
|
||||
For Qt5 support support use the beaglebone_qt5_defconfig.
|
||||
Intro
|
||||
=====
|
||||
To be able to use BeagleBone board with the images generated by
|
||||
Buildroot, you have to prepare the SDCard.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Select the default configuration for the target:
|
||||
$ make beaglebone_defconfig
|
||||
$ make beaglebone_defconfig
|
||||
|
||||
Optional: modify the configuration:
|
||||
$ make menuconfig
|
||||
Then you can edit the build options using
|
||||
|
||||
Build:
|
||||
$ make
|
||||
$ make menuconfig
|
||||
|
||||
Compile all and build rootfs image:
|
||||
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
===================
|
||||
output/images/
|
||||
├── am335x-boneblack.dtb
|
||||
├── am335x-bone.dtb
|
||||
├── am335x-evm.dtb
|
||||
├── am335x-evmsk.dtb
|
||||
├── boot.vfat
|
||||
├── MLO
|
||||
├── rootfs.ext2
|
||||
├── rootfs.tar
|
||||
├── sdcard.img
|
||||
├── u-boot.img
|
||||
├── uEnv.txt
|
||||
└── zImage
|
||||
-------------------
|
||||
|
||||
To copy the image file to the sdcard use dd:
|
||||
$ dd if=output/images/sdcard.img of=/dev/XXX
|
||||
After building, you should get a tree like this:
|
||||
|
||||
Tested hardware
|
||||
===============
|
||||
am335x-evm (rev. 1.1A)
|
||||
beagleboneblack (rev. A5A)
|
||||
beaglebone (rev. A6)
|
||||
output/images/
|
||||
├── am335x-boneblack.dtb
|
||||
├── am335x-bone.dtb
|
||||
├── MLO
|
||||
├── rootfs.ext2
|
||||
├── sdcard.img
|
||||
├── u-boot.img
|
||||
├── uEnv.txt
|
||||
└── zImage
|
||||
|
||||
2016, Lothar Felten <lothar.felten@gmail.com>
|
||||
How to write the microSD card
|
||||
=============================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
bootpart=0:1
|
||||
bootdir=
|
||||
bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
|
||||
uenvcmd=run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr};
|
||||
uenvcmd=run loadimage;run loadramdisk;run findfdt;run loadfdt;run ramboot
|
||||
|
||||
@@ -92,12 +92,14 @@ fi
|
||||
|
||||
setenv bootargs "${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc"
|
||||
|
||||
bpart=1
|
||||
|
||||
if test "sata" = "${dtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ;
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bpart}" ;
|
||||
elif test "usb" = "${dtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ;
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bpart}" ;
|
||||
else
|
||||
setenv bootargs "${bootargs} root=/dev/mmcblk${disk}p${bootpart}"
|
||||
setenv bootargs "${bootargs} root=/dev/mmcblk${disk}p${bpart}"
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${disable_giga}" ; then
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
# Minimal SD card image for Boundary Devices platforms
|
||||
#
|
||||
# It does not need a boot section for a bootloader since it is booted
|
||||
# from its NOR flash memory.
|
||||
#
|
||||
# To update the bootloader, execute the following from U-Boot prompt:
|
||||
# => run upgradeu
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.imx"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
|
||||
111
board/calao/qil-a9260/linux-3.4.7.config
Normal file
111
board/calao/qil-a9260/linux-3.4.7.config
Normal file
@@ -0,0 +1,111 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9260=y
|
||||
CONFIG_MACH_QIL_A9260=y
|
||||
CONFIG_AT91_SLOW_CLOCK=y
|
||||
CONFIG_AT91_EARLY_USART0=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="mem=64M console=ttyS1,115200"
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_DATAFLASH=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MACB=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_EVBUG=y
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_ATMEL=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_WATCHDOG_NOWAYOUT=y
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DEVICEFS=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_AT91=m
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_M41T94=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_FUSE_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_UBIFS_FS_XATTR=y
|
||||
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
603
board/calao/qil-a9260/patches/at91bootstrap/0001-qil-a9260.patch
Normal file
603
board/calao/qil-a9260/patches/at91bootstrap/0001-qil-a9260.patch
Normal file
@@ -0,0 +1,603 @@
|
||||
From a3e08beea8bf5e96e1237eef4a82f4a2fdd5286b Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Thu, 19 Jul 2012 14:19:59 +0200
|
||||
Subject: [PATCH] Add support for the Calao-systems QIL-A9260
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
board/qil_a9260/nandflash/Makefile | 122 ++++++++++++++
|
||||
board/qil_a9260/nandflash/qil-a9260.h | 109 ++++++++++++
|
||||
board/qil_a9260/qil_a9260.c | 298 +++++++++++++++++++++++++++++++++
|
||||
crt0_gnu.S | 7 +
|
||||
include/part.h | 6 +-
|
||||
5 files changed, 541 insertions(+), 1 deletions(-)
|
||||
create mode 100644 board/qil_a9260/nandflash/Makefile
|
||||
create mode 100644 board/qil_a9260/nandflash/qil-a9260.h
|
||||
create mode 100644 board/qil_a9260/qil_a9260.c
|
||||
|
||||
diff --git a/board/qil_a9260/nandflash/Makefile b/board/qil_a9260/nandflash/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..209a25f
|
||||
--- /dev/null
|
||||
+++ b/board/qil_a9260/nandflash/Makefile
|
||||
@@ -0,0 +1,122 @@
|
||||
+# TODO: set this appropriately for your local toolchain
|
||||
+ifndef ERASE_FCT
|
||||
+ERASE_FCT=rm -f
|
||||
+endif
|
||||
+ifndef CROSS_COMPILE
|
||||
+CROSS_COMPILE=arm-elf-
|
||||
+endif
|
||||
+
|
||||
+TOOLCHAIN=gcc
|
||||
+
|
||||
+BOOTSTRAP_PATH=../../..
|
||||
+
|
||||
+# NandFlashBoot Configuration for QIL-A9260
|
||||
+
|
||||
+# Target name (case sensitive!!!)
|
||||
+TARGET=AT91SAM9260
|
||||
+# Board name (case sensitive!!!)
|
||||
+BOARD=qil_a9260
|
||||
+# Link Address and Top_of_Memory
|
||||
+LINK_ADDR=0x200000
|
||||
+TOP_OF_MEMORY=0x301000
|
||||
+# Name of current directory
|
||||
+PROJECT=nandflash
|
||||
+
|
||||
+ifndef BOOT_NAME
|
||||
+BOOT_NAME=$(PROJECT)_$(BOARD)
|
||||
+endif
|
||||
+
|
||||
+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+
|
||||
+AS=$(CROSS_COMPILE)gcc
|
||||
+CC=$(CROSS_COMPILE)gcc
|
||||
+LD=$(CROSS_COMPILE)gcc
|
||||
+NM= $(CROSS_COMPILE)nm
|
||||
+SIZE=$(CROSS_COMPILE)size
|
||||
+OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
+OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
+
|
||||
+# Linker flags.
|
||||
+# -Wl,...: tell GCC to pass this to linker.
|
||||
+# -Map: create map file
|
||||
+# --cref: add cross reference to map file
|
||||
+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
|
||||
+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
|
||||
+OBJS=crt0_gnu.o
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+OBJS+=\
|
||||
+ $(BOARD).o \
|
||||
+ main.o \
|
||||
+ gpio.o \
|
||||
+ pmc.o \
|
||||
+ debug.o \
|
||||
+ sdramc.o \
|
||||
+ nandflash.o \
|
||||
+ _udivsi3.o \
|
||||
+ _umodsi3.o \
|
||||
+ div0.o \
|
||||
+ udiv.o \
|
||||
+ string.o
|
||||
+
|
||||
+
|
||||
+rebuild: clean all
|
||||
+
|
||||
+all: $(BOOT_NAME)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+$(BOOT_NAME): $(OBJS)
|
||||
+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
|
||||
+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
|
||||
+
|
||||
+main.o: $(BOOTSTRAP_PATH)/main.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
|
||||
+
|
||||
+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
|
||||
+
|
||||
+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
|
||||
+
|
||||
+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
|
||||
+
|
||||
+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
|
||||
+
|
||||
+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
|
||||
+
|
||||
+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o
|
||||
+
|
||||
+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
|
||||
+
|
||||
+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
|
||||
+
|
||||
+string.o: $(BOOTSTRAP_PATH)/lib/string.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
|
||||
+
|
||||
+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
|
||||
+
|
||||
+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
|
||||
+
|
||||
+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
|
||||
+
|
||||
+clean:
|
||||
+ $(ERASE_FCT) *.o *.bin *.elf *.map
|
||||
diff --git a/board/qil_a9260/nandflash/qil-a9260.h b/board/qil_a9260/nandflash/qil-a9260.h
|
||||
new file mode 100644
|
||||
index 0000000..c87002e
|
||||
--- /dev/null
|
||||
+++ b/board/qil_a9260/nandflash/qil-a9260.h
|
||||
@@ -0,0 +1,109 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : qil-a9260.h
|
||||
+ * Object :
|
||||
+ * Creation : GH July 19th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#ifndef _QIL_A9260_H
|
||||
+#define _QIL_A9260_H
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* PMC Settings */
|
||||
+/* */
|
||||
+/* The main oscillator is enabled as soon as possible in the c_startup */
|
||||
+/* and MCK is switched on the main oscillator. */
|
||||
+/* PLL initialization is done later in the hw_init() function */
|
||||
+/* ******************************************************************* */
|
||||
+#define MASTER_CLOCK (180000000/2)
|
||||
+#define PLL_LOCK_TIMEOUT 1000000
|
||||
+
|
||||
+#define PLLA_SETTINGS 0x20593F06
|
||||
+#define PLLB_SETTINGS 0x10483F0E
|
||||
+
|
||||
+/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */
|
||||
+#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2)
|
||||
+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* NandFlash Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_SMARTMEDIA_BASE 0x40000000
|
||||
+
|
||||
+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
|
||||
+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
|
||||
+
|
||||
+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0)
|
||||
+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0)
|
||||
+
|
||||
+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13))
|
||||
+
|
||||
+
|
||||
+/* ******************************************************************** */
|
||||
+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 90000000.*/
|
||||
+/* Please refer to SMC section in AT91SAM datasheet to learn how */
|
||||
+/* to generate these values. */
|
||||
+/* ******************************************************************** */
|
||||
+#define AT91C_SM_NWE_SETUP (1 << 0)
|
||||
+#define AT91C_SM_NCS_WR_SETUP (0 << 8)
|
||||
+#define AT91C_SM_NRD_SETUP (1 << 16)
|
||||
+#define AT91C_SM_NCS_RD_SETUP (0 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_PULSE (3 << 0)
|
||||
+#define AT91C_SM_NCS_WR_PULSE (3 << 8)
|
||||
+#define AT91C_SM_NRD_PULSE (3 << 16)
|
||||
+#define AT91C_SM_NCS_RD_PULSE (3 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_CYCLE (5 << 0)
|
||||
+#define AT91C_SM_NRD_CYCLE (5 << 16)
|
||||
+#define AT91C_SM_TDF (2 << 16)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* BootStrap Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */
|
||||
+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
+
|
||||
+#define MACH_TYPE 0x6AF /* QIL-A9260 */
|
||||
+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* Application Settings */
|
||||
+/* ******************************************************************* */
|
||||
+#undef CFG_DEBUG
|
||||
+#undef CFG_DATAFLASH
|
||||
+
|
||||
+#define CFG_NANDFLASH
|
||||
+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */
|
||||
+
|
||||
+#define CFG_HW_INIT
|
||||
+#define CFG_SDRAM
|
||||
+
|
||||
+#endif /* _QIL_A9260_H */
|
||||
diff --git a/board/qil_a9260/qil_a9260.c b/board/qil_a9260/qil_a9260.c
|
||||
new file mode 100644
|
||||
index 0000000..ae122e7
|
||||
--- /dev/null
|
||||
+++ b/board/qil_a9260/qil_a9260.c
|
||||
@@ -0,0 +1,298 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaiimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : qil_a9260.c
|
||||
+ * Object :
|
||||
+ * Creation : GH July 19th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#include "../../include/part.h"
|
||||
+#include "../../include/gpio.h"
|
||||
+#include "../../include/pmc.h"
|
||||
+#include "../../include/debug.h"
|
||||
+#include "../../include/sdramc.h"
|
||||
+#include "../../include/main.h"
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+#include "../../include/nandflash.h"
|
||||
+#endif
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+#include "../../include/dataflash.h"
|
||||
+#endif
|
||||
+
|
||||
+static inline unsigned int get_cp15(void)
|
||||
+{
|
||||
+ unsigned int value;
|
||||
+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value));
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
+static inline void set_cp15(unsigned int value)
|
||||
+{
|
||||
+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value));
|
||||
+}
|
||||
+
|
||||
+#ifdef CFG_HW_INIT
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+/* \fn hw_init */
|
||||
+/* \brief This function performs very low level HW initialization */
|
||||
+/* This function is invoked as soon as possible during the c_startup */
|
||||
+/* The bss segment must be initialized */
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+void hw_init(void)
|
||||
+{
|
||||
+ unsigned int cp15;
|
||||
+
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc hw_pio[] = {
|
||||
+#ifdef CFG_DEBUG
|
||||
+ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Disable watchdog */
|
||||
+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
|
||||
+
|
||||
+ /* At this stage the main oscillator is supposed to be enabled
|
||||
+ * PCK = MCK = MOSC */
|
||||
+
|
||||
+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */
|
||||
+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* PCK = PLLA = 2 * MCK */
|
||||
+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+ /* Switch MCK on PLLA output */
|
||||
+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure PLLB */
|
||||
+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure CP15 */
|
||||
+ cp15 = get_cp15();
|
||||
+ cp15 |= I_CACHE;
|
||||
+ set_cp15(cp15);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(hw_pio);
|
||||
+
|
||||
+ /* Configure the EBI Slave Slot Cycle to 64 */
|
||||
+ writel( (readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3));
|
||||
+
|
||||
+#ifdef CFG_DEBUG
|
||||
+ /* Enable Debug messages on the DBGU */
|
||||
+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200));
|
||||
+
|
||||
+ dbg_print("Start AT91Bootstrap...\n\r");
|
||||
+#endif /* CFG_DEBUG */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+ /* Initialize the matrix */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS1A_SDRAMC, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SDRAM Controller */
|
||||
+ sdram_init( AT91C_SDRAMC_NC_9 |
|
||||
+ AT91C_SDRAMC_NR_13 |
|
||||
+ AT91C_SDRAMC_CAS_2 |
|
||||
+ AT91C_SDRAMC_NB_4_BANKS |
|
||||
+ AT91C_SDRAMC_DBW_32_BITS |
|
||||
+ AT91C_SDRAMC_TWR_2 |
|
||||
+ AT91C_SDRAMC_TRC_7 |
|
||||
+ AT91C_SDRAMC_TRP_2 |
|
||||
+ AT91C_SDRAMC_TRCD_2 |
|
||||
+ AT91C_SDRAMC_TRAS_5 |
|
||||
+ AT91C_SDRAMC_TXSR_8, /* Control Register */
|
||||
+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
|
||||
+ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */
|
||||
+
|
||||
+
|
||||
+#endif /* CFG_SDRAM */
|
||||
+}
|
||||
+#endif /* CFG_HW_INIT */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn sdramc_hw_init */
|
||||
+/* \brief This function performs SDRAMC HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void sdramc_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+/* const struct pio_desc sdramc_pio[] = {
|
||||
+ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+*/
|
||||
+ /* Configure the SDRAMC PIO controller to output PCK0 */
|
||||
+/* pio_setup(sdramc_pio); */
|
||||
+
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0));
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0));
|
||||
+
|
||||
+}
|
||||
+#endif /* CFG_SDRAM */
|
||||
+
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_recovery */
|
||||
+/* \brief This function erases DataFlash Page 0 if USR PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_recovery(AT91PS_DF pDf)
|
||||
+{
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb_pio[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb_pio);
|
||||
+
|
||||
+ /* If USR PB is pressed during Boot sequence */
|
||||
+ /* Erase DataFlash Page 0*/
|
||||
+ if ( !pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ df_page_erase(pDf, 0);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_hw_init */
|
||||
+/* \brief This function performs DataFlash HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc df_pio[] = {
|
||||
+ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
|
||||
+ {"NPCS0", AT91C_PIN_PA(3), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(df_pio);
|
||||
+}
|
||||
+#endif /* CFG_DATAFLASH */
|
||||
+
|
||||
+
|
||||
+
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nand_recovery */
|
||||
+/* \brief This function erases NandFlash Block 0 if USR PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+static void nand_recovery(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb_pio[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb_pio);
|
||||
+
|
||||
+ /* If USR PB is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if (!pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ AT91F_NandEraseBlock0();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_hw_init */
|
||||
+/* \brief NandFlash HW init */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc nand_pio[] = {
|
||||
+ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SMC CS3 */
|
||||
+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3);
|
||||
+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3);
|
||||
+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3);
|
||||
+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE |
|
||||
+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(nand_pio);
|
||||
+
|
||||
+ nand_recovery();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_16bits_dbw_init */
|
||||
+/* \brief Configure SMC in 16 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_16bits_dbw_init(void)
|
||||
+{
|
||||
+ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_8bits_dbw_init */
|
||||
+/* \brief Configure SMC in 8 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_8bits_dbw_init(void)
|
||||
+{
|
||||
+ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+#endif /* #ifdef CFG_NANDFLASH */
|
||||
diff --git a/crt0_gnu.S b/crt0_gnu.S
|
||||
index 042b617..002feef 100644
|
||||
--- a/crt0_gnu.S
|
||||
+++ b/crt0_gnu.S
|
||||
@@ -106,6 +106,13 @@ _relocate_to_sram:
|
||||
#endif /* CFG_NORFLASH */
|
||||
|
||||
_setup_clocks:
|
||||
+/* Test if main osc is bypassed */
|
||||
+ ldr r0,=AT91C_PMC_MOR
|
||||
+ ldr r1, [r0]
|
||||
+ ldr r2,=AT91C_CKGR_OSCBYPASS
|
||||
+ ands r1, r1, r2
|
||||
+ bne _init_data /* branch if OSCBYPASS=1 */
|
||||
+
|
||||
/* Test if main oscillator is enabled */
|
||||
ldr r0,=AT91C_PMC_SR
|
||||
ldr r1, [r0]
|
||||
diff --git a/include/part.h b/include/part.h
|
||||
index ba5985a..bbd33fe 100644
|
||||
--- a/include/part.h
|
||||
+++ b/include/part.h
|
||||
@@ -35,7 +35,11 @@
|
||||
|
||||
#ifdef AT91SAM9260
|
||||
#include "AT91SAM9260_inc.h"
|
||||
-#include "at91sam9260ek.h"
|
||||
+ #ifdef at91sam9260ek
|
||||
+ #include "at91sam9260ek.h"
|
||||
+ #elif qil_a9260
|
||||
+ #include "qil-a9260.h"
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
#ifdef AT91SAM9XE
|
||||
--
|
||||
1.5.6.3
|
||||
|
||||
36
board/calao/qil-a9260/patches/barebox/0001-qil-a9260.patch
Normal file
36
board/calao/qil-a9260/patches/barebox/0001-qil-a9260.patch
Normal file
@@ -0,0 +1,36 @@
|
||||
From d076aa6182dc6df6bb311e60bbddb03573b9483b Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Fri, 3 Aug 2012 11:25:49 +0200
|
||||
Subject: [PATCH] Enable pull-up on Rx serial ports for the CALAO MB-QIL-A9260
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
arch/arm/boards/qil-a9260/init.c | 6 ++++++
|
||||
1 files changed, 6 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boards/qil-a9260/init.c b/arch/arm/boards/qil-a9260/init.c
|
||||
index 305d733..b43cace 100644
|
||||
--- a/arch/arm/boards/qil-a9260/init.c
|
||||
+++ b/arch/arm/boards/qil-a9260/init.c
|
||||
@@ -196,11 +196,17 @@ device_initcall(qil_a9260_devices_init);
|
||||
static int qil_a9260_console_init(void)
|
||||
{
|
||||
at91_register_uart(0, 0);
|
||||
+ at91_set_A_periph(AT91_PIN_PB14, 1); /* Enable pull-up on DRXD */
|
||||
+
|
||||
at91_register_uart(1, ATMEL_UART_CTS | ATMEL_UART_RTS
|
||||
| ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD
|
||||
| ATMEL_UART_RI);
|
||||
+
|
||||
at91_register_uart(2, ATMEL_UART_CTS | ATMEL_UART_RTS);
|
||||
+ at91_set_A_periph(AT91_PIN_PB7, 1); /* Enable pull-up on RXD1 */
|
||||
+
|
||||
at91_register_uart(3, ATMEL_UART_CTS | ATMEL_UART_RTS);
|
||||
+ at91_set_A_periph(AT91_PIN_PB9, 1); /* Enable pull-up on RXD2 */
|
||||
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
1.5.6.3
|
||||
|
||||
27
board/calao/qil-a9260/patches/linux/0001-qil-a9260.patch
Normal file
27
board/calao/qil-a9260/patches/linux/0001-qil-a9260.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
From fe6432a9728b62bce3db73c5a4efe026018fd495 Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Fri, 3 Aug 2012 16:45:37 +0200
|
||||
Subject: [PATCH] QIL-A9260: rtc modalias m41t48 renamed to rtc-m41t48
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
arch/arm/mach-at91/board-qil-a9260.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c
|
||||
index bf351e2..c0df05c 100644
|
||||
--- a/arch/arm/mach-at91/board-qil-a9260.c
|
||||
+++ b/arch/arm/mach-at91/board-qil-a9260.c
|
||||
@@ -78,7 +78,7 @@ static struct at91_udc_data __initdata ek_udc_data = {
|
||||
static struct spi_board_info ek_spi_devices[] = {
|
||||
#if defined(CONFIG_RTC_DRV_M41T94)
|
||||
{ /* M41T94 RTC */
|
||||
- .modalias = "m41t94",
|
||||
+ .modalias = "rtc-m41t94",
|
||||
.chip_select = 0,
|
||||
.max_speed_hz = 1 * 1000 * 1000,
|
||||
.bus_num = 0,
|
||||
--
|
||||
1.5.6.3
|
||||
|
||||
551
board/calao/tny-a9g20-lpw/at91bootstrap-1.16-tny-a9g20-lpw.patch
Normal file
551
board/calao/tny-a9g20-lpw/at91bootstrap-1.16-tny-a9g20-lpw.patch
Normal file
@@ -0,0 +1,551 @@
|
||||
From 53bd82b122f4530a98cba45795832820bb1d0b45 Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Mon, 13 Aug 2012 11:26:10 +0200
|
||||
Subject: [PATCH] Add support for the Calao-systems TNY-A9G20-LPW
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
board/tny_a9g20_lpw/nandflash/Makefile | 121 ++++++++++++
|
||||
board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h | 114 ++++++++++++
|
||||
board/tny_a9g20_lpw/tny_a9g20_lpw.c | 243 +++++++++++++++++++++++++
|
||||
crt0_gnu.S | 6 +
|
||||
include/part.h | 6 +-
|
||||
5 files changed, 489 insertions(+), 1 deletion(-)
|
||||
create mode 100644 board/tny_a9g20_lpw/nandflash/Makefile
|
||||
create mode 100644 board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h
|
||||
create mode 100644 board/tny_a9g20_lpw/tny_a9g20_lpw.c
|
||||
|
||||
diff --git a/board/tny_a9g20_lpw/nandflash/Makefile b/board/tny_a9g20_lpw/nandflash/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..7efbea7
|
||||
--- /dev/null
|
||||
+++ b/board/tny_a9g20_lpw/nandflash/Makefile
|
||||
@@ -0,0 +1,121 @@
|
||||
+# TODO: set this appropriately for your local toolchain
|
||||
+ifndef ERASE_FCT
|
||||
+ERASE_FCT=rm -f
|
||||
+endif
|
||||
+ifndef CROSS_COMPILE
|
||||
+CROSS_COMPILE=arm-elf-
|
||||
+endif
|
||||
+
|
||||
+TOOLCHAIN=gcc
|
||||
+
|
||||
+BOOTSTRAP_PATH=../../..
|
||||
+
|
||||
+# NandFlashBoot Configuration for AT91SAM9260EK
|
||||
+
|
||||
+# Target name (case sensitive!!!)
|
||||
+TARGET=AT91SAM9G20
|
||||
+# Board name (case sensitive!!!)
|
||||
+BOARD=tny_a9g20_lpw
|
||||
+# Link Address and Top_of_Memory
|
||||
+LINK_ADDR=0x200000
|
||||
+TOP_OF_MEMORY=0x301000
|
||||
+# Name of current directory
|
||||
+PROJECT=nandflash
|
||||
+
|
||||
+ifndef BOOT_NAME
|
||||
+BOOT_NAME=$(PROJECT)_$(BOARD)
|
||||
+endif
|
||||
+
|
||||
+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+
|
||||
+AS=$(CROSS_COMPILE)gcc
|
||||
+CC=$(CROSS_COMPILE)gcc
|
||||
+LD=$(CROSS_COMPILE)gcc
|
||||
+NM= $(CROSS_COMPILE)nm
|
||||
+SIZE=$(CROSS_COMPILE)size
|
||||
+OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
+OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
+
|
||||
+# Linker flags.
|
||||
+# -Wl,...: tell GCC to pass this to linker.
|
||||
+# -Map: create map file
|
||||
+# --cref: add cross reference to map file
|
||||
+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
|
||||
+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
|
||||
+OBJS=crt0_gnu.o
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+OBJS+=\
|
||||
+ $(BOARD).o \
|
||||
+ main.o \
|
||||
+ gpio.o \
|
||||
+ pmc.o \
|
||||
+ debug.o \
|
||||
+ sdramc.o \
|
||||
+ nandflash.o \
|
||||
+ _udivsi3.o \
|
||||
+ _umodsi3.o \
|
||||
+ div0.o \
|
||||
+ udiv.o \
|
||||
+ string.o
|
||||
+
|
||||
+rebuild: clean all
|
||||
+
|
||||
+all: $(BOOT_NAME)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+$(BOOT_NAME): $(OBJS)
|
||||
+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
|
||||
+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
|
||||
+
|
||||
+main.o: $(BOOTSTRAP_PATH)/main.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
|
||||
+
|
||||
+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
|
||||
+
|
||||
+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
|
||||
+
|
||||
+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
|
||||
+
|
||||
+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
|
||||
+
|
||||
+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
|
||||
+
|
||||
+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o
|
||||
+
|
||||
+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
|
||||
+
|
||||
+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
|
||||
+
|
||||
+string.o: $(BOOTSTRAP_PATH)/lib/string.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
|
||||
+
|
||||
+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
|
||||
+
|
||||
+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
|
||||
+
|
||||
+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
|
||||
+
|
||||
+clean:
|
||||
+ $(ERASE_FCT) *.o *.bin *.elf *.map
|
||||
diff --git a/board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h b/board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h
|
||||
new file mode 100644
|
||||
index 0000000..b1f8a1d
|
||||
--- /dev/null
|
||||
+++ b/board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h
|
||||
@@ -0,0 +1,114 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2008, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : tny-a9g20-lpw.h
|
||||
+ * Object :
|
||||
+ * Creation : GH August 13th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#ifndef _TNY_A9G20_LPW_H
|
||||
+#define _TNY_A9G20_LPW_H
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* PMC Settings */
|
||||
+/* */
|
||||
+/* The main oscillator is enabled as soon as possible in the c_startup */
|
||||
+/* and MCK is switched on the main oscillator. */
|
||||
+/* PLL initialization is done later in the hw_init() function */
|
||||
+/* ******************************************************************* */
|
||||
+#define MASTER_CLOCK (100000000)
|
||||
+#define PLL_LOCK_TIMEOUT 1000000
|
||||
+
|
||||
+/* set PLLA to 800Mhz from MAINCK= 12Mhz MULA=199 (0xC7+1= 200), DIVA=0x03 (Fplla=12Mhz x [(199+1)/3]=800Mhz) */
|
||||
+#define PLLA_SETTINGS 0x20C73F03
|
||||
+#define PLLB_SETTINGS 0x100F3F02
|
||||
+
|
||||
+/* Switch MCK on PLLA output PCK = PLLA/2 = 3 * MCK */
|
||||
+/* LP-SDRAM (fmax=100Mhz) PDIV=0 => PRESCALER CLK=PCLK; */
|
||||
+/* MDIV = 2 => PRESCALER CLK / 4 = MCLK=100Mhz */
|
||||
+/* PRESCALER CLK = PLLA (800Mhz) / 2 (PRES=1) = 400Mhz */
|
||||
+#define MCKR_SETTINGS 0x0204
|
||||
+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* NandFlash Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_SMARTMEDIA_BASE 0x40000000
|
||||
+
|
||||
+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
|
||||
+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
|
||||
+
|
||||
+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0)
|
||||
+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0)
|
||||
+
|
||||
+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13))
|
||||
+
|
||||
+
|
||||
+/* ******************************************************************** */
|
||||
+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 100000000.*/
|
||||
+/* Please refer to SMC section in AT91SAM9 datasheet to learn how */
|
||||
+/* to generate these values. */
|
||||
+/* ******************************************************************** */
|
||||
+#define AT91C_SM_NWE_SETUP (1 << 0)
|
||||
+#define AT91C_SM_NCS_WR_SETUP (0 << 8)
|
||||
+#define AT91C_SM_NRD_SETUP (1 << 16)
|
||||
+#define AT91C_SM_NCS_RD_SETUP (0 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_PULSE (3 << 0)
|
||||
+#define AT91C_SM_NCS_WR_PULSE (3 << 8)
|
||||
+#define AT91C_SM_NRD_PULSE (3 << 16)
|
||||
+#define AT91C_SM_NCS_RD_PULSE (3 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_CYCLE (5 << 0)
|
||||
+#define AT91C_SM_NRD_CYCLE (5 << 16)
|
||||
+
|
||||
+#define AT91C_SM_TDF (2 << 16)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* BootStrap Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */
|
||||
+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
+
|
||||
+#define MACH_TYPE 0x80B /* TNY-A9G20 */
|
||||
+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* Application Settings */
|
||||
+/* ******************************************************************* */
|
||||
+#undef CFG_DEBUG
|
||||
+#undef CFG_DATAFLASH
|
||||
+
|
||||
+#define CFG_NANDFLASH
|
||||
+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */
|
||||
+
|
||||
+#define CFG_SDRAM
|
||||
+#define CFG_HW_INIT
|
||||
+
|
||||
+#endif /* _TNY_A9G20_LPW_H */
|
||||
diff --git a/board/tny_a9g20_lpw/tny_a9g20_lpw.c b/board/tny_a9g20_lpw/tny_a9g20_lpw.c
|
||||
new file mode 100644
|
||||
index 0000000..cef9055
|
||||
--- /dev/null
|
||||
+++ b/board/tny_a9g20_lpw/tny_a9g20_lpw.c
|
||||
@@ -0,0 +1,243 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2008, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : tny_a9g20_lpw.c
|
||||
+ * Object :
|
||||
+ * Creation : GH August 13th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#include "../../include/part.h"
|
||||
+#include "../../include/gpio.h"
|
||||
+#include "../../include/pmc.h"
|
||||
+#include "../../include/debug.h"
|
||||
+#include "../../include/sdramc.h"
|
||||
+#include "../../include/main.h"
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+#include "../../include/nandflash.h"
|
||||
+#endif
|
||||
+
|
||||
+static inline unsigned int get_cp15(void)
|
||||
+{
|
||||
+ unsigned int value;
|
||||
+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value));
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
+static inline void set_cp15(unsigned int value)
|
||||
+{
|
||||
+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value));
|
||||
+}
|
||||
+
|
||||
+#ifdef CFG_HW_INIT
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+/* \fn hw_init */
|
||||
+/* \brief This function performs very low level HW initialization */
|
||||
+/* This function is invoked as soon as possible during the c_startup */
|
||||
+/* The bss segment must be initialized */
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+void hw_init(void)
|
||||
+{
|
||||
+ unsigned int cp15;
|
||||
+
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc hw_pio[] = {
|
||||
+#ifdef CFG_DEBUG
|
||||
+ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Disable watchdog */
|
||||
+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
|
||||
+
|
||||
+ /* At this stage the main oscillator is supposed to be enabled
|
||||
+ * PCK = MCK = MOSC */
|
||||
+ writel(0x00, AT91C_BASE_PMC + PMC_PLLICPR);
|
||||
+
|
||||
+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */
|
||||
+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* PCK = PLLA/2 = 3 * MCK */
|
||||
+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+ /* Switch MCK on PLLA output */
|
||||
+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure PLLB */
|
||||
+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure CP15 */
|
||||
+ cp15 = get_cp15();
|
||||
+ cp15 |= I_CACHE;
|
||||
+ set_cp15(cp15);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(hw_pio);
|
||||
+
|
||||
+ /* Configure the EBI Slave Slot Cycle to 64 */
|
||||
+ writel((readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3));
|
||||
+
|
||||
+#ifdef CFG_DEBUG
|
||||
+ /* Enable Debug messages on the DBGU */
|
||||
+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200));
|
||||
+
|
||||
+ dbg_print("Start AT91Bootstrap...\n\r");
|
||||
+#endif /* CFG_DEBUG */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+ /* Initialize the matrix (slow slew rate enabled and LPSDRAM memory voltage = 1.8V) */
|
||||
+ writel(((readl(AT91C_BASE_CCFG + CCFG_EBICSA)) | AT91C_EBI_CS1A_SDRAMC | (1<<17)) & ~0x00010000, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SDRAM Controller */
|
||||
+ sdram_init( AT91C_SDRAMC_NC_9 |
|
||||
+ AT91C_SDRAMC_NR_13 |
|
||||
+ AT91C_SDRAMC_CAS_3 |
|
||||
+ AT91C_SDRAMC_NB_4_BANKS |
|
||||
+ AT91C_SDRAMC_DBW_32_BITS |
|
||||
+ AT91C_SDRAMC_TWR_2 |
|
||||
+ AT91C_SDRAMC_TRC_7 |
|
||||
+ AT91C_SDRAMC_TRP_2 |
|
||||
+ AT91C_SDRAMC_TRCD_2 |
|
||||
+ AT91C_SDRAMC_TRAS_5 |
|
||||
+ AT91C_SDRAMC_TXSR_8, /* Control Register */
|
||||
+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
|
||||
+ AT91C_SDRAMC_MD_LOW_POWER_SDRAM); /* SDRAM (low power) */
|
||||
+
|
||||
+#endif /* CFG_SDRAM */
|
||||
+}
|
||||
+#endif /* CFG_HW_INIT */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn sdramc_hw_init */
|
||||
+/* \brief This function performs SDRAMC HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void sdramc_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+/* const struct pio_desc sdramc_pio[] = {
|
||||
+ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+*/
|
||||
+ /* Configure the SDRAMC PIO controller to output PCK0 */
|
||||
+/* pio_setup(sdramc_pio); */
|
||||
+
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0));
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0));
|
||||
+
|
||||
+}
|
||||
+#endif /* CFG_SDRAM */
|
||||
+
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nand_recovery */
|
||||
+/* \brief This function erases NandFlash Block 0 if BP4 is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+static void nand_recovery(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc bp4_pio[] = {
|
||||
+ {"BP4", AT91C_PIN_PA(31), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOA), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(bp4_pio);
|
||||
+
|
||||
+ /* If BP4 is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if (!pio_get_value(AT91C_PIN_PA(31)) )
|
||||
+ AT91F_NandEraseBlock0();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_hw_init */
|
||||
+/* \brief NandFlash HW init */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc nand_pio[] = {
|
||||
+ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SMC CS3 */
|
||||
+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3);
|
||||
+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3);
|
||||
+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3);
|
||||
+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE |
|
||||
+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(nand_pio);
|
||||
+
|
||||
+ nand_recovery();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_16bits_dbw_init */
|
||||
+/* \brief Configure SMC in 16 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_16bits_dbw_init(void)
|
||||
+{
|
||||
+ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_8bits_dbw_init */
|
||||
+/* \brief Configure SMC in 8 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_8bits_dbw_init(void)
|
||||
+{
|
||||
+ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+#endif /* #ifdef CFG_NANDFLASH */
|
||||
diff --git a/crt0_gnu.S b/crt0_gnu.S
|
||||
index 042b617..c6cd49d 100644
|
||||
--- a/crt0_gnu.S
|
||||
+++ b/crt0_gnu.S
|
||||
@@ -106,6 +106,12 @@ _relocate_to_sram:
|
||||
#endif /* CFG_NORFLASH */
|
||||
|
||||
_setup_clocks:
|
||||
+/* Test if main osc is bypassed */
|
||||
+ ldr r0,=AT91C_PMC_MOR
|
||||
+ ldr r1, [r0]
|
||||
+ ldr r2,=AT91C_CKGR_OSCBYPASS
|
||||
+ ands r1, r1, r2
|
||||
+ bne _init_data /* branch if OSCBYPASS=1 */
|
||||
/* Test if main oscillator is enabled */
|
||||
ldr r0,=AT91C_PMC_SR
|
||||
ldr r1, [r0]
|
||||
diff --git a/include/part.h b/include/part.h
|
||||
index ba5985a..ab79af1 100644
|
||||
--- a/include/part.h
|
||||
+++ b/include/part.h
|
||||
@@ -46,7 +46,11 @@
|
||||
|
||||
#ifdef AT91SAM9G20
|
||||
#include "AT91SAM9260_inc.h"
|
||||
-#include "at91sam9g20ek.h"
|
||||
+ #ifdef at91sam9g20ek
|
||||
+ #include "at91sam9g20ek.h"
|
||||
+ #elif tny_a9g20_lpw
|
||||
+ #include "tny-a9g20-lpw.h"
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
#ifdef AT91SAM9261
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
187
board/calao/tny-a9g20-lpw/linux-3.9.config
Normal file
187
board/calao/tny-a9g20-lpw/linux-3.9.config
Normal file
@@ -0,0 +1,187 @@
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_SOC_AT91SAM9260=y
|
||||
CONFIG_SOC_AT91SAM9263=y
|
||||
CONFIG_SOC_AT91SAM9G45=y
|
||||
CONFIG_SOC_AT91SAM9X5=y
|
||||
CONFIG_SOC_AT91SAM9N12=y
|
||||
CONFIG_MACH_AT91SAM_DT=y
|
||||
CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
|
||||
CONFIG_AT91_TIMER_HZ=128
|
||||
CONFIG_AEABI=y
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
CONFIG_UACCESS_WITH_MEMCPY=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_ARM_APPENDED_DTB=y
|
||||
CONFIG_ARM_ATAG_DTB_COMPAT=y
|
||||
CONFIG_CMDLINE="console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw"
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_AUTO_ZRELADDR=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_PNP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
CONFIG_IPV6=y
|
||||
# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET6_XFRM_MODE_BEET is not set
|
||||
CONFIG_IPV6_SIT_6RD=y
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
# CONFIG_STANDALONE is not set
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_MTD_UBI_GLUEBI=y
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=4
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_ATMEL_PWM=y
|
||||
CONFIG_ATMEL_TCLIB=y
|
||||
CONFIG_EEPROM_93CX6=m
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
# CONFIG_SCSI_LOWLEVEL is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MACB=y
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
# CONFIG_NET_VENDOR_FARADAY is not set
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
# CONFIG_NET_VENDOR_MICREL is not set
|
||||
# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
# CONFIG_NET_VENDOR_SEEQ is not set
|
||||
# CONFIG_NET_VENDOR_SMSC is not set
|
||||
# CONFIG_NET_VENDOR_STMICRO is not set
|
||||
CONFIG_DAVICOM_PHY=y
|
||||
CONFIG_MICREL_PHY=y
|
||||
# CONFIG_WLAN is not set
|
||||
CONFIG_INPUT_POLLDEV=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=272
|
||||
CONFIG_INPUT_JOYDEV=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_LEGACY_PTY_COUNT=4
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_GPIO=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_ATMEL=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_AT91SAM9X_WATCHDOG=y
|
||||
CONFIG_SSB=m
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_MODE_HELPERS=y
|
||||
CONFIG_FB_ATMEL=y
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
# CONFIG_LCD_CLASS_DEVICE is not set
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_BACKLIGHT_ATMEL_LCDC=y
|
||||
# CONFIG_BACKLIGHT_GENERIC is not set
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FONT_ACORN_8x8=y
|
||||
CONFIG_FONT_MINI_4x6=y
|
||||
CONFIG_LOGO=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_ACM=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_SERIAL=y
|
||||
CONFIG_USB_SERIAL_GENERIC=y
|
||||
CONFIG_USB_SERIAL_FTDI_SIO=y
|
||||
CONFIG_USB_SERIAL_PL2303=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_AT91=m
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_USB_GADGETFS=m
|
||||
CONFIG_USB_CDC_COMPOSITE=m
|
||||
CONFIG_USB_G_ACM_MS=m
|
||||
CONFIG_USB_G_MULTI=m
|
||||
CONFIG_USB_G_MULTI_CDC=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_ATMELMCI=y
|
||||
CONFIG_MMC_SPI=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_AT91RM9200=y
|
||||
CONFIG_RTC_DRV_AT91SAM9=y
|
||||
CONFIG_DMADEVICES=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_FANOTIFY=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_STRIP_ASM_SYMS=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_FTRACE is not set
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
CONFIG_CRYPTO_ARC4=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRYPTO_USER_API_HASH=m
|
||||
CONFIG_CRYPTO_USER_API_SKCIPHER=m
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
CONFIG_CRC_CCITT=m
|
||||
CONFIG_AVERAGE=y
|
||||
603
board/calao/usb-a9260/at91bootstrap-1.16-usb-a9260.patch
Normal file
603
board/calao/usb-a9260/at91bootstrap-1.16-usb-a9260.patch
Normal file
@@ -0,0 +1,603 @@
|
||||
From 43e8c90f13806405bde8eaaf3a956d0ddc806f64 Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Tue, 2 Oct 2012 09:19:15 +0200
|
||||
Subject: [PATCH] Add support for the USB-A9260
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
board/usb_a9260/nandflash/Makefile | 122 ++++++++++++++
|
||||
board/usb_a9260/nandflash/usb-a9260.h | 109 ++++++++++++
|
||||
board/usb_a9260/usb_a9260.c | 298 +++++++++++++++++++++++++++++++++
|
||||
crt0_gnu.S | 7 +
|
||||
include/part.h | 6 +-
|
||||
5 files changed, 541 insertions(+), 1 deletion(-)
|
||||
create mode 100644 board/usb_a9260/nandflash/Makefile
|
||||
create mode 100644 board/usb_a9260/nandflash/usb-a9260.h
|
||||
create mode 100644 board/usb_a9260/usb_a9260.c
|
||||
|
||||
diff --git a/board/usb_a9260/nandflash/Makefile b/board/usb_a9260/nandflash/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..02f4b50
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9260/nandflash/Makefile
|
||||
@@ -0,0 +1,122 @@
|
||||
+# TODO: set this appropriately for your local toolchain
|
||||
+ifndef ERASE_FCT
|
||||
+ERASE_FCT=rm -f
|
||||
+endif
|
||||
+ifndef CROSS_COMPILE
|
||||
+CROSS_COMPILE=arm-elf-
|
||||
+endif
|
||||
+
|
||||
+TOOLCHAIN=gcc
|
||||
+
|
||||
+BOOTSTRAP_PATH=../../..
|
||||
+
|
||||
+# NandFlashBoot Configuration for USB-A9260
|
||||
+
|
||||
+# Target name (case sensitive!!!)
|
||||
+TARGET=AT91SAM9260
|
||||
+# Board name (case sensitive!!!)
|
||||
+BOARD=usb_a9260
|
||||
+# Link Address and Top_of_Memory
|
||||
+LINK_ADDR=0x200000
|
||||
+TOP_OF_MEMORY=0x301000
|
||||
+# Name of current directory
|
||||
+PROJECT=nandflash
|
||||
+
|
||||
+ifndef BOOT_NAME
|
||||
+BOOT_NAME=$(PROJECT)_$(BOARD)
|
||||
+endif
|
||||
+
|
||||
+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+
|
||||
+AS=$(CROSS_COMPILE)gcc
|
||||
+CC=$(CROSS_COMPILE)gcc
|
||||
+LD=$(CROSS_COMPILE)gcc
|
||||
+NM= $(CROSS_COMPILE)nm
|
||||
+SIZE=$(CROSS_COMPILE)size
|
||||
+OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
+OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
+
|
||||
+# Linker flags.
|
||||
+# -Wl,...: tell GCC to pass this to linker.
|
||||
+# -Map: create map file
|
||||
+# --cref: add cross reference to map file
|
||||
+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
|
||||
+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
|
||||
+OBJS=crt0_gnu.o
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+OBJS+=\
|
||||
+ $(BOARD).o \
|
||||
+ main.o \
|
||||
+ gpio.o \
|
||||
+ pmc.o \
|
||||
+ debug.o \
|
||||
+ sdramc.o \
|
||||
+ nandflash.o \
|
||||
+ _udivsi3.o \
|
||||
+ _umodsi3.o \
|
||||
+ div0.o \
|
||||
+ udiv.o \
|
||||
+ string.o
|
||||
+
|
||||
+
|
||||
+rebuild: clean all
|
||||
+
|
||||
+all: $(BOOT_NAME)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+$(BOOT_NAME): $(OBJS)
|
||||
+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
|
||||
+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
|
||||
+
|
||||
+main.o: $(BOOTSTRAP_PATH)/main.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
|
||||
+
|
||||
+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
|
||||
+
|
||||
+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
|
||||
+
|
||||
+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
|
||||
+
|
||||
+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
|
||||
+
|
||||
+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
|
||||
+
|
||||
+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o
|
||||
+
|
||||
+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
|
||||
+
|
||||
+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
|
||||
+
|
||||
+string.o: $(BOOTSTRAP_PATH)/lib/string.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
|
||||
+
|
||||
+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
|
||||
+
|
||||
+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
|
||||
+
|
||||
+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
|
||||
+
|
||||
+clean:
|
||||
+ $(ERASE_FCT) *.o *.bin *.elf *.map
|
||||
diff --git a/board/usb_a9260/nandflash/usb-a9260.h b/board/usb_a9260/nandflash/usb-a9260.h
|
||||
new file mode 100644
|
||||
index 0000000..2aaf759
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9260/nandflash/usb-a9260.h
|
||||
@@ -0,0 +1,109 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb-a9260.h
|
||||
+ * Object :
|
||||
+ * Creation : GH Oct 1th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#ifndef _USB_A9260_H
|
||||
+#define _USB_A9260_H
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* PMC Settings */
|
||||
+/* */
|
||||
+/* The main oscillator is enabled as soon as possible in the c_startup */
|
||||
+/* and MCK is switched on the main oscillator. */
|
||||
+/* PLL initialization is done later in the hw_init() function */
|
||||
+/* ******************************************************************* */
|
||||
+#define MASTER_CLOCK (180000000/2)
|
||||
+#define PLL_LOCK_TIMEOUT 1000000
|
||||
+
|
||||
+#define PLLA_SETTINGS 0x20593F06
|
||||
+#define PLLB_SETTINGS 0x10483F0E
|
||||
+
|
||||
+/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */
|
||||
+#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2)
|
||||
+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* NandFlash Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_SMARTMEDIA_BASE 0x40000000
|
||||
+
|
||||
+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
|
||||
+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
|
||||
+
|
||||
+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0)
|
||||
+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0)
|
||||
+
|
||||
+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13))
|
||||
+
|
||||
+
|
||||
+/* ******************************************************************** */
|
||||
+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 90000000.*/
|
||||
+/* Please refer to SMC section in AT91SAM datasheet to learn how */
|
||||
+/* to generate these values. */
|
||||
+/* ******************************************************************** */
|
||||
+#define AT91C_SM_NWE_SETUP (1 << 0)
|
||||
+#define AT91C_SM_NCS_WR_SETUP (0 << 8)
|
||||
+#define AT91C_SM_NRD_SETUP (1 << 16)
|
||||
+#define AT91C_SM_NCS_RD_SETUP (0 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_PULSE (3 << 0)
|
||||
+#define AT91C_SM_NCS_WR_PULSE (3 << 8)
|
||||
+#define AT91C_SM_NRD_PULSE (3 << 16)
|
||||
+#define AT91C_SM_NCS_RD_PULSE (3 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_CYCLE (5 << 0)
|
||||
+#define AT91C_SM_NRD_CYCLE (5 << 16)
|
||||
+#define AT91C_SM_TDF (2 << 16)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* BootStrap Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */
|
||||
+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
+
|
||||
+#define MACH_TYPE 0x6AD /* USB-A9260 */
|
||||
+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* Application Settings */
|
||||
+/* ******************************************************************* */
|
||||
+#undef CFG_DEBUG
|
||||
+#undef CFG_DATAFLASH
|
||||
+
|
||||
+#define CFG_NANDFLASH
|
||||
+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */
|
||||
+
|
||||
+#define CFG_HW_INIT
|
||||
+#define CFG_SDRAM
|
||||
+
|
||||
+#endif /* _USB_A9260_H */
|
||||
diff --git a/board/usb_a9260/usb_a9260.c b/board/usb_a9260/usb_a9260.c
|
||||
new file mode 100644
|
||||
index 0000000..de30f0b
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9260/usb_a9260.c
|
||||
@@ -0,0 +1,298 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaiimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb_a9260.c
|
||||
+ * Object :
|
||||
+ * Creation : GH Oct 1th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#include "../../include/part.h"
|
||||
+#include "../../include/gpio.h"
|
||||
+#include "../../include/pmc.h"
|
||||
+#include "../../include/debug.h"
|
||||
+#include "../../include/sdramc.h"
|
||||
+#include "../../include/main.h"
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+#include "../../include/nandflash.h"
|
||||
+#endif
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+#include "../../include/dataflash.h"
|
||||
+#endif
|
||||
+
|
||||
+static inline unsigned int get_cp15(void)
|
||||
+{
|
||||
+ unsigned int value;
|
||||
+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value));
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
+static inline void set_cp15(unsigned int value)
|
||||
+{
|
||||
+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value));
|
||||
+}
|
||||
+
|
||||
+#ifdef CFG_HW_INIT
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+/* \fn hw_init */
|
||||
+/* \brief This function performs very low level HW initialization */
|
||||
+/* This function is invoked as soon as possible during the c_startup */
|
||||
+/* The bss segment must be initialized */
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+void hw_init(void)
|
||||
+{
|
||||
+ unsigned int cp15;
|
||||
+
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc hw_pio[] = {
|
||||
+#ifdef CFG_DEBUG
|
||||
+ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Disable watchdog */
|
||||
+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
|
||||
+
|
||||
+ /* At this stage the main oscillator is supposed to be enabled
|
||||
+ * PCK = MCK = MOSC */
|
||||
+
|
||||
+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */
|
||||
+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* PCK = PLLA = 2 * MCK */
|
||||
+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+ /* Switch MCK on PLLA output */
|
||||
+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure PLLB */
|
||||
+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure CP15 */
|
||||
+ cp15 = get_cp15();
|
||||
+ cp15 |= I_CACHE;
|
||||
+ set_cp15(cp15);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(hw_pio);
|
||||
+
|
||||
+ /* Configure the EBI Slave Slot Cycle to 64 */
|
||||
+ writel( (readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3));
|
||||
+
|
||||
+#ifdef CFG_DEBUG
|
||||
+ /* Enable Debug messages on the DBGU */
|
||||
+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200));
|
||||
+
|
||||
+ dbg_print("Start AT91Bootstrap...\n\r");
|
||||
+#endif /* CFG_DEBUG */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+ /* Initialize the matrix */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS1A_SDRAMC, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SDRAM Controller */
|
||||
+ sdram_init( AT91C_SDRAMC_NC_9 |
|
||||
+ AT91C_SDRAMC_NR_13 |
|
||||
+ AT91C_SDRAMC_CAS_2 |
|
||||
+ AT91C_SDRAMC_NB_4_BANKS |
|
||||
+ AT91C_SDRAMC_DBW_32_BITS |
|
||||
+ AT91C_SDRAMC_TWR_2 |
|
||||
+ AT91C_SDRAMC_TRC_7 |
|
||||
+ AT91C_SDRAMC_TRP_2 |
|
||||
+ AT91C_SDRAMC_TRCD_2 |
|
||||
+ AT91C_SDRAMC_TRAS_5 |
|
||||
+ AT91C_SDRAMC_TXSR_8, /* Control Register */
|
||||
+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
|
||||
+ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */
|
||||
+
|
||||
+
|
||||
+#endif /* CFG_SDRAM */
|
||||
+}
|
||||
+#endif /* CFG_HW_INIT */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn sdramc_hw_init */
|
||||
+/* \brief This function performs SDRAMC HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void sdramc_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+/* const struct pio_desc sdramc_pio[] = {
|
||||
+ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+*/
|
||||
+ /* Configure the SDRAMC PIO controller to output PCK0 */
|
||||
+/* pio_setup(sdramc_pio); */
|
||||
+
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0));
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0));
|
||||
+
|
||||
+}
|
||||
+#endif /* CFG_SDRAM */
|
||||
+
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_recovery */
|
||||
+/* \brief This function erases DataFlash Page 0 if USR PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_recovery(AT91PS_DF pDf)
|
||||
+{
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb_pio[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb_pio);
|
||||
+
|
||||
+ /* If USR PB is pressed during Boot sequence */
|
||||
+ /* Erase DataFlash Page 0*/
|
||||
+ if ( !pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ df_page_erase(pDf, 0);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_hw_init */
|
||||
+/* \brief This function performs DataFlash HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc df_pio[] = {
|
||||
+ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
|
||||
+ {"NPCS0", AT91C_PIN_PA(3), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(df_pio);
|
||||
+}
|
||||
+#endif /* CFG_DATAFLASH */
|
||||
+
|
||||
+
|
||||
+
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nand_recovery */
|
||||
+/* \brief This function erases NandFlash Block 0 if USR PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+static void nand_recovery(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb_pio[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb_pio);
|
||||
+
|
||||
+ /* If USR PB is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if (!pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ AT91F_NandEraseBlock0();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_hw_init */
|
||||
+/* \brief NandFlash HW init */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc nand_pio[] = {
|
||||
+ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SMC CS3 */
|
||||
+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3);
|
||||
+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3);
|
||||
+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3);
|
||||
+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE |
|
||||
+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(nand_pio);
|
||||
+
|
||||
+ nand_recovery();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_16bits_dbw_init */
|
||||
+/* \brief Configure SMC in 16 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_16bits_dbw_init(void)
|
||||
+{
|
||||
+ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_8bits_dbw_init */
|
||||
+/* \brief Configure SMC in 8 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_8bits_dbw_init(void)
|
||||
+{
|
||||
+ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+#endif /* #ifdef CFG_NANDFLASH */
|
||||
diff --git a/crt0_gnu.S b/crt0_gnu.S
|
||||
index 042b617..002feef 100644
|
||||
--- a/crt0_gnu.S
|
||||
+++ b/crt0_gnu.S
|
||||
@@ -106,6 +106,13 @@ _relocate_to_sram:
|
||||
#endif /* CFG_NORFLASH */
|
||||
|
||||
_setup_clocks:
|
||||
+/* Test if main osc is bypassed */
|
||||
+ ldr r0,=AT91C_PMC_MOR
|
||||
+ ldr r1, [r0]
|
||||
+ ldr r2,=AT91C_CKGR_OSCBYPASS
|
||||
+ ands r1, r1, r2
|
||||
+ bne _init_data /* branch if OSCBYPASS=1 */
|
||||
+
|
||||
/* Test if main oscillator is enabled */
|
||||
ldr r0,=AT91C_PMC_SR
|
||||
ldr r1, [r0]
|
||||
diff --git a/include/part.h b/include/part.h
|
||||
index ba5985a..212789f 100644
|
||||
--- a/include/part.h
|
||||
+++ b/include/part.h
|
||||
@@ -35,7 +35,11 @@
|
||||
|
||||
#ifdef AT91SAM9260
|
||||
#include "AT91SAM9260_inc.h"
|
||||
-#include "at91sam9260ek.h"
|
||||
+ #ifdef at91sam9260ek
|
||||
+ #include "at91sam9260ek.h"
|
||||
+ #elif usb_a9260
|
||||
+ #include "usb-a9260.h"
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
#ifdef AT91SAM9XE
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
97
board/calao/usb-a9260/linux-3.7.4.config
Normal file
97
board/calao/usb-a9260/linux-3.7.4.config
Normal file
@@ -0,0 +1,97 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9260=y
|
||||
CONFIG_MACH_USB_A9260=y
|
||||
CONFIG_AT91_SLOW_CLOCK=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="mem=64M console=ttyS0,115200"
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_DATAFLASH=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MACB=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_EVBUG=y
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_ATMEL=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_FUSE_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
851
board/calao/usb-a9263/at91bootstrap-1.16-usb-a9263.patch
Normal file
851
board/calao/usb-a9263/at91bootstrap-1.16-usb-a9263.patch
Normal file
@@ -0,0 +1,851 @@
|
||||
From 74796655212d321f50ab89e8c5570245901f4cba Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Thu, 5 Jul 2012 18:44:07 +0200
|
||||
Subject: [PATCH] Add support for the Calao-systems USB-A9263
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
board/usb_a9263/dataflash/Makefile | 115 +++++++++++++
|
||||
board/usb_a9263/dataflash/usb-a9263.h | 97 +++++++++++
|
||||
board/usb_a9263/nandflash/Makefile | 117 ++++++++++++++
|
||||
board/usb_a9263/nandflash/usb-a9263.h | 116 +++++++++++++
|
||||
board/usb_a9263/usb_a9263.c | 285 +++++++++++++++++++++++++++++++++
|
||||
crt0_gnu.S | 7 +
|
||||
driver/dataflash.c | 6 +-
|
||||
include/part.h | 6 +-
|
||||
8 files changed, 745 insertions(+), 4 deletions(-)
|
||||
create mode 100644 board/usb_a9263/dataflash/Makefile
|
||||
create mode 100644 board/usb_a9263/dataflash/usb-a9263.h
|
||||
create mode 100644 board/usb_a9263/nandflash/Makefile
|
||||
create mode 100644 board/usb_a9263/nandflash/usb-a9263.h
|
||||
create mode 100644 board/usb_a9263/usb_a9263.c
|
||||
|
||||
diff --git a/board/usb_a9263/dataflash/Makefile b/board/usb_a9263/dataflash/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..332685e
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9263/dataflash/Makefile
|
||||
@@ -0,0 +1,115 @@
|
||||
+# TODO: set this appropriately for your local toolchain
|
||||
+#SHELL=C:\CYGWIN_REP\dwn_071004\bin\BASH.exe
|
||||
+CROSS_COMPILE=arm-elf-
|
||||
+#CROSS_COMPILE = arm-softfloat-linux-gnu-
|
||||
+
|
||||
+TOOLCHAIN=gcc
|
||||
+
|
||||
+BOOTSTRAP_PATH=../../..
|
||||
+
|
||||
+# DataFlashBoot Configuration for USB-A9263
|
||||
+
|
||||
+# Target name (case sensitive!!!)
|
||||
+TARGET=AT91SAM9263
|
||||
+# Board name (case sensitive!!!)
|
||||
+BOARD=usb_a9263
|
||||
+# Link Address and Top_of_Memory
|
||||
+LINK_ADDR=0x300000
|
||||
+TOP_OF_MEMORY=0x314000
|
||||
+# Name of current directory
|
||||
+PROJECT=dataflash
|
||||
+
|
||||
+ifndef BOOT_NAME
|
||||
+BOOT_NAME=$(PROJECT)_$(BOARD)
|
||||
+endif
|
||||
+
|
||||
+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+
|
||||
+AS=$(CROSS_COMPILE)gcc
|
||||
+CC=$(CROSS_COMPILE)gcc
|
||||
+LD=$(CROSS_COMPILE)gcc
|
||||
+NM= $(CROSS_COMPILE)nm
|
||||
+SIZE=$(CROSS_COMPILE)size
|
||||
+OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
+OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
+
|
||||
+# Linker flags.
|
||||
+# -Wl,...: tell GCC to pass this to linker.
|
||||
+# -Map: create map file
|
||||
+# --cref: add cross reference to map file
|
||||
+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
|
||||
+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
|
||||
+OBJS=crt0_gnu.o
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+OBJS+=\
|
||||
+ $(BOARD).o \
|
||||
+ main.o \
|
||||
+ gpio.o \
|
||||
+ pmc.o \
|
||||
+ debug.o \
|
||||
+ sdramc.o \
|
||||
+ dataflash.o \
|
||||
+ _udivsi3.o \
|
||||
+ _umodsi3.o \
|
||||
+ div0.o \
|
||||
+ udiv.o \
|
||||
+ string.o
|
||||
+
|
||||
+rebuild: clean all
|
||||
+
|
||||
+all: $(BOOT_NAME)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+$(BOOT_NAME): $(OBJS)
|
||||
+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
|
||||
+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
|
||||
+
|
||||
+main.o: $(BOOTSTRAP_PATH)/main.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
|
||||
+
|
||||
+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
|
||||
+
|
||||
+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
|
||||
+
|
||||
+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
|
||||
+
|
||||
+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
|
||||
+
|
||||
+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
|
||||
+
|
||||
+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
|
||||
+
|
||||
+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
|
||||
+
|
||||
+string.o: $(BOOTSTRAP_PATH)/lib/string.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
|
||||
+
|
||||
+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
|
||||
+
|
||||
+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
|
||||
+
|
||||
+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
|
||||
+
|
||||
+clean:
|
||||
+ rm -f *.o *.bin *.elf *.map
|
||||
diff --git a/board/usb_a9263/dataflash/usb-a9263.h b/board/usb_a9263/dataflash/usb-a9263.h
|
||||
new file mode 100644
|
||||
index 0000000..40a3af8
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9263/dataflash/usb-a9263.h
|
||||
@@ -0,0 +1,97 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb-a9263.h
|
||||
+ * Object :
|
||||
+ * Creation : GH Jun 28th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#ifndef _USB_A9263_H
|
||||
+#define _USB_A9263_H
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* PMC Settings */
|
||||
+/* */
|
||||
+/* The main oscillator is enabled as soon as possible in the c_startup */
|
||||
+/* and MCK is switched on the main oscillator. */
|
||||
+/* PLL initialization is done later in the hw_init() function */
|
||||
+/* ******************************************************************* */
|
||||
+#define MASTER_CLOCK (180000000/2)
|
||||
+#define PLL_LOCK_TIMEOUT 1000000
|
||||
+
|
||||
+#define PLLA_SETTINGS 0x20593F06
|
||||
+#define PLLB_SETTINGS 0x10483F0E
|
||||
+
|
||||
+/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */
|
||||
+#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2)
|
||||
+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* DataFlash Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_BASE_SPI AT91C_BASE_SPI0
|
||||
+#define AT91C_ID_SPI AT91C_ID_SPI0
|
||||
+
|
||||
+/* SPI CLOCK */
|
||||
+#define AT91C_SPI_CLK 8000000
|
||||
+/* AC characteristics */
|
||||
+/* DLYBS = tCSS= 250ns min and DLYBCT = tCSH = 250ns */
|
||||
+#define DATAFLASH_TCSS (0x1a << 16) /* 250ns min (tCSS) <=> 12/48000000 = 250ns */
|
||||
+#define DATAFLASH_TCHS (0x1 << 24) /* 250ns min (tCSH) <=> (64*1+SCBR)/(2*48000000) */
|
||||
+
|
||||
+#define DF_CS_SETTINGS (AT91C_SPI_NCPHA | (AT91C_SPI_DLYBS & DATAFLASH_TCSS) | (AT91C_SPI_DLYBCT & DATAFLASH_TCHS) | ((MASTER_CLOCK / AT91C_SPI_CLK) << 8))
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* SDRAMC Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_BASE_SDRAMC AT91C_BASE_SDRAMC0
|
||||
+#define AT91C_EBI_SDRAM AT91C_EBI0_SDRAM
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* BootStrap Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
|
||||
+
|
||||
+#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */
|
||||
+#define IMG_SIZE 0x40000 /* Image Size in DataFlash */
|
||||
+
|
||||
+#define MACH_TYPE 0x6AE /* USB-A9263 */
|
||||
+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* Application Settings */
|
||||
+/* ******************************************************************* */
|
||||
+#define CFG_HW_INIT
|
||||
+#define CFG_SDRAM
|
||||
+#undef CFG_DEBUG
|
||||
+
|
||||
+#define CFG_DATAFLASH
|
||||
+
|
||||
+#endif /* _USB_A9263_H */
|
||||
diff --git a/board/usb_a9263/nandflash/Makefile b/board/usb_a9263/nandflash/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..c453098
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9263/nandflash/Makefile
|
||||
@@ -0,0 +1,117 @@
|
||||
+# TODO: set this appropriately for your local toolchain
|
||||
+#SHELL=C:\CYGWIN_REP\dwn_071004\bin\BASH.exe
|
||||
+CROSS_COMPILE=arm-elf-
|
||||
+
|
||||
+TOOLCHAIN=gcc
|
||||
+
|
||||
+BOOTSTRAP_PATH=../../..
|
||||
+
|
||||
+# NandFlashBoot Configuration for USB-A9263
|
||||
+
|
||||
+# Target name (case sensitive!!!)
|
||||
+TARGET=AT91SAM9263
|
||||
+# Board name (case sensitive!!!)
|
||||
+BOARD=usb_a9263
|
||||
+# Link Address and Top_of_Memory
|
||||
+LINK_ADDR=0x300000
|
||||
+TOP_OF_MEMORY=0x314000
|
||||
+# Name of current directory
|
||||
+PROJECT=nandflash
|
||||
+
|
||||
+ifndef BOOT_NAME
|
||||
+BOOT_NAME=$(PROJECT)_$(BOARD)
|
||||
+endif
|
||||
+
|
||||
+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+
|
||||
+AS=$(CROSS_COMPILE)gcc
|
||||
+CC=$(CROSS_COMPILE)gcc
|
||||
+LD=$(CROSS_COMPILE)gcc
|
||||
+NM= $(CROSS_COMPILE)nm
|
||||
+SIZE=$(CROSS_COMPILE)size
|
||||
+OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
+OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
+CCFLAGS=-g -mcpu=arm9 -O0 -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
+
|
||||
+# Linker flags.
|
||||
+# -Wl,...: tell GCC to pass this to linker.
|
||||
+# -Map: create map file
|
||||
+# --cref: add cross reference to map file
|
||||
+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
|
||||
+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
|
||||
+OBJS=crt0_gnu.o
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+OBJS+=\
|
||||
+ $(BOARD).o \
|
||||
+ main.o \
|
||||
+ gpio.o \
|
||||
+ pmc.o \
|
||||
+ debug.o \
|
||||
+ sdramc.o \
|
||||
+ nandflash.o \
|
||||
+ _udivsi3.o \
|
||||
+ _umodsi3.o \
|
||||
+ div0.o \
|
||||
+ udiv.o \
|
||||
+ string.o
|
||||
+
|
||||
+rebuild: clean all
|
||||
+
|
||||
+all: $(BOOT_NAME)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+$(BOOT_NAME): $(OBJS)
|
||||
+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
|
||||
+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
|
||||
+
|
||||
+main.o: $(BOOTSTRAP_PATH)/main.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
|
||||
+
|
||||
+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
|
||||
+
|
||||
+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
|
||||
+
|
||||
+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
|
||||
+
|
||||
+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
|
||||
+
|
||||
+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
|
||||
+
|
||||
+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o
|
||||
+
|
||||
+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
|
||||
+
|
||||
+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
|
||||
+
|
||||
+string.o: $(BOOTSTRAP_PATH)/lib/string.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
|
||||
+
|
||||
+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
|
||||
+
|
||||
+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
|
||||
+
|
||||
+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
|
||||
+
|
||||
+clean:
|
||||
+ rm -f *.o *.bin *.elf *.map
|
||||
diff --git a/board/usb_a9263/nandflash/usb-a9263.h b/board/usb_a9263/nandflash/usb-a9263.h
|
||||
new file mode 100644
|
||||
index 0000000..24e2cf1
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9263/nandflash/usb-a9263.h
|
||||
@@ -0,0 +1,116 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb-a9263.h
|
||||
+ * Object :
|
||||
+ * Creation : GH Jun 28th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#ifndef _USB_A9263_H
|
||||
+#define _USB_A9263_H
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* PMC Settings */
|
||||
+/* */
|
||||
+/* The main oscillator is enabled as soon as possible in the c_startup */
|
||||
+/* and MCK is switched on the main oscillator. */
|
||||
+/* PLL initialization is done later in the hw_init() function */
|
||||
+/* ******************************************************************* */
|
||||
+#define MASTER_CLOCK (180000000/2)
|
||||
+#define PLL_LOCK_TIMEOUT 1000000
|
||||
+
|
||||
+#define PLLA_SETTINGS 0x20593F06
|
||||
+#define PLLB_SETTINGS 0x10483F0E
|
||||
+
|
||||
+/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */
|
||||
+#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2)
|
||||
+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* NandFlash Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_SMARTMEDIA_BASE 0x40000000
|
||||
+
|
||||
+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
|
||||
+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
|
||||
+
|
||||
+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOD_SODR = AT91C_PIO_PD15;} while(0)
|
||||
+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOD_CODR = AT91C_PIO_PD15;} while(0)
|
||||
+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOA_PDSR & AT91C_PIO_PA22))
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* SDRAMC Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_BASE_SDRAMC AT91C_BASE_SDRAMC0
|
||||
+#define AT91C_EBI_SDRAM AT91C_EBI0_SDRAM
|
||||
+
|
||||
+/* ******************************************************************** */
|
||||
+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 90000000. */
|
||||
+/* Please refer to SMC section in AT91SAM9x datasheet to learn how */
|
||||
+/* to generate these values. */
|
||||
+/* ******************************************************************** */
|
||||
+#define AT91C_SM_NWE_SETUP (1 << 0)
|
||||
+#define AT91C_SM_NCS_WR_SETUP (0 << 8)
|
||||
+#define AT91C_SM_NRD_SETUP (1 << 16)
|
||||
+#define AT91C_SM_NCS_RD_SETUP (0 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_PULSE (3 << 0)
|
||||
+#define AT91C_SM_NCS_WR_PULSE (3 << 8)
|
||||
+#define AT91C_SM_NRD_PULSE (3 << 16)
|
||||
+#define AT91C_SM_NCS_RD_PULSE (3 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_CYCLE (5 << 0)
|
||||
+#define AT91C_SM_NRD_CYCLE (5 << 16)
|
||||
+
|
||||
+#define AT91C_SM_TDF (2 << 16)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* BootStrap Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */
|
||||
+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
+
|
||||
+#define MACH_TYPE 0x6AE /* USB-A9263 */
|
||||
+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* Application Settings */
|
||||
+/* ******************************************************************* */
|
||||
+#undef CFG_DEBUG
|
||||
+#undef CFG_DATAFLASH
|
||||
+
|
||||
+#define CFG_NANDFLASH
|
||||
+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */
|
||||
+
|
||||
+#define CFG_HW_INIT
|
||||
+#define CFG_SDRAM
|
||||
+
|
||||
+
|
||||
+#endif /* _USB_A9263_H */
|
||||
diff --git a/board/usb_a9263/usb_a9263.c b/board/usb_a9263/usb_a9263.c
|
||||
new file mode 100644
|
||||
index 0000000..5630f99
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9263/usb_a9263.c
|
||||
@@ -0,0 +1,285 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2006, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaiimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb_a9263.c
|
||||
+ * Object :
|
||||
+ * Creation : GH Jun 28th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#include "../../include/part.h"
|
||||
+#include "../../include/gpio.h"
|
||||
+#include "../../include/pmc.h"
|
||||
+#include "../../include/debug.h"
|
||||
+#include "../../include/sdramc.h"
|
||||
+#include "../../include/main.h"
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+#include "../../include/nandflash.h"
|
||||
+#endif
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+#include "../../include/dataflash.h"
|
||||
+#endif
|
||||
+
|
||||
+static inline unsigned int get_cp15(void)
|
||||
+{
|
||||
+ unsigned int value;
|
||||
+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value));
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
+static inline void set_cp15(unsigned int value)
|
||||
+{
|
||||
+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value));
|
||||
+}
|
||||
+
|
||||
+
|
||||
+#ifdef CFG_HW_INIT
|
||||
+/*---------------------------------------------------------------------------- */
|
||||
+/* \fn hw_init */
|
||||
+/* \brief This function performs very low level HW initialization */
|
||||
+/* This function is invoked as soon as possible during the c_startup */
|
||||
+/* The bss segment must be initialized */
|
||||
+/*---------------------------------------------------------------------------- */
|
||||
+void hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc hw_pio[] = {
|
||||
+#ifdef CFG_DEBUG
|
||||
+ {"RXD", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"TXD", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Disable watchdog */
|
||||
+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
|
||||
+
|
||||
+ /* At this stage the main oscillator is supposed to be enabled
|
||||
+ * PCK = MCK = MOSC */
|
||||
+
|
||||
+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */
|
||||
+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* PCK = PLLA = 2 * MCK */
|
||||
+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+ /* Switch MCK on PLLA output */
|
||||
+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+
|
||||
+ /* Configure PLLB */
|
||||
+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure the PIO controller to output PCK0 */
|
||||
+ pio_setup(hw_pio);
|
||||
+
|
||||
+ /* Configure the EBI0 Slave Slot Cycle to 64 */
|
||||
+ writel( (readl((AT91C_BASE_MATRIX + MATRIX_SCFG4)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG4));
|
||||
+
|
||||
+#ifdef CFG_DEBUG
|
||||
+ /* Enable Debug messages on the DBGU */
|
||||
+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200));
|
||||
+ dbg_print("Start AT91Bootstrap...\n\r");
|
||||
+#endif /* CFG_DEBUG */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+ /* Initialize the matrix */
|
||||
+ /* VDDIOMSEL = 1 -> Memories are 3.3V powered */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBI0CSA) | (1 << 16) | AT91C_EBI_CS1A_SDRAMC, AT91C_BASE_CCFG + CCFG_EBI0CSA);
|
||||
+
|
||||
+ /* Configure SDRAM Controller */
|
||||
+ sdram_init( AT91C_SDRAMC_NC_9 |
|
||||
+ AT91C_SDRAMC_NR_13 |
|
||||
+ AT91C_SDRAMC_CAS_2 |
|
||||
+ AT91C_SDRAMC_NB_4_BANKS |
|
||||
+ AT91C_SDRAMC_DBW_32_BITS |
|
||||
+ AT91C_SDRAMC_TWR_2 |
|
||||
+ AT91C_SDRAMC_TRC_7 |
|
||||
+ AT91C_SDRAMC_TRP_2 |
|
||||
+ AT91C_SDRAMC_TRCD_2 |
|
||||
+ AT91C_SDRAMC_TRAS_5 |
|
||||
+ AT91C_SDRAMC_TXSR_8, /* Control Register */
|
||||
+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
|
||||
+ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */
|
||||
+#endif /* CFG_SDRAM */
|
||||
+}
|
||||
+#endif /* CFG_HW_INIT */
|
||||
+
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+//*----------------------------------------------------------------------------
|
||||
+//* \fn sdramc_hw_init
|
||||
+//* \brief This function performs SDRAMC HW initialization
|
||||
+//*----------------------------------------------------------------------------*/
|
||||
+void sdramc_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc sdramc_pio[] = {
|
||||
+ {"D16", AT91C_PIN_PD(16), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D17", AT91C_PIN_PD(17), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D18", AT91C_PIN_PD(18), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D19", AT91C_PIN_PD(19), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D20", AT91C_PIN_PD(20), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D21", AT91C_PIN_PD(21), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D22", AT91C_PIN_PD(22), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D23", AT91C_PIN_PD(23), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D24", AT91C_PIN_PD(24), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D25", AT91C_PIN_PD(25), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D26", AT91C_PIN_PD(26), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D27", AT91C_PIN_PD(27), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D28", AT91C_PIN_PD(28), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D29", AT91C_PIN_PD(29), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D30", AT91C_PIN_PD(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D31", AT91C_PIN_PD(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the SDRAMC PIO controller */
|
||||
+ pio_setup(sdramc_pio);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_recovery */
|
||||
+/* \brief This function erases DataFlash Page 0 if USER PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_recovery(AT91PS_DF pDf)
|
||||
+{
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb_pio[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb_pio);
|
||||
+
|
||||
+ /* If USER PB is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if ( !pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ df_page_erase(pDf, 0);
|
||||
+#endif
|
||||
+}
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_hw_init */
|
||||
+/* \brief This function performs DataFlash HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc df_pio[] = {
|
||||
+ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_B},
|
||||
+ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_B},
|
||||
+ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_B},
|
||||
+ {"NPCS0", AT91C_PIN_PA(5), 0, PIO_DEFAULT, PIO_PERIPH_B},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(df_pio);
|
||||
+}
|
||||
+#endif /* CFG_DATAFLASH */
|
||||
+
|
||||
+
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nand_recovery */
|
||||
+/* \brief This function erases NandFlash Block 0 if USER PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+static void nand_recovery(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb_pio[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb_pio);
|
||||
+
|
||||
+ /* If USER PB is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if (!pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ AT91F_NandEraseBlock0();
|
||||
+}
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_hw_init */
|
||||
+/* \brief NandFlash HW init */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc nand_pio[] = {
|
||||
+ {"RDY_BSY", AT91C_PIN_PA(22), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {"NANDCS", AT91C_PIN_PD(15), 0, PIO_PULLUP, PIO_OUTPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBI0CSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBI0CSA);
|
||||
+
|
||||
+ /* Configure SMC CS3 */
|
||||
+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC0 + SMC_SETUP3);
|
||||
+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC0 + SMC_PULSE3);
|
||||
+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC0 + SMC_CYCLE3);
|
||||
+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE |
|
||||
+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC0 + SMC_CTRL3);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOA), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ writel((1 << AT91C_ID_PIOCDE), PMC_PCER + AT91C_BASE_PMC);
|
||||
+
|
||||
+ pio_setup(nand_pio);
|
||||
+
|
||||
+ nand_recovery();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_16bits_dbw_init */
|
||||
+/* \brief Configure SMC in 16 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_16bits_dbw_init(void)
|
||||
+{
|
||||
+ writel(readl(AT91C_BASE_SMC0 + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC0 + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_8bits_dbw_init */
|
||||
+/* \brief Configure SMC in 8 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_8bits_dbw_init(void)
|
||||
+{
|
||||
+ writel((readl(AT91C_BASE_SMC0 + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC0 + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+#endif /* #ifdef CFG_NANDFLASH */
|
||||
+
|
||||
+
|
||||
diff --git a/crt0_gnu.S b/crt0_gnu.S
|
||||
index 042b617..002feef 100644
|
||||
--- a/crt0_gnu.S
|
||||
+++ b/crt0_gnu.S
|
||||
@@ -106,6 +106,13 @@ _relocate_to_sram:
|
||||
#endif /* CFG_NORFLASH */
|
||||
|
||||
_setup_clocks:
|
||||
+/* Test if main osc is bypassed */
|
||||
+ ldr r0,=AT91C_PMC_MOR
|
||||
+ ldr r1, [r0]
|
||||
+ ldr r2,=AT91C_CKGR_OSCBYPASS
|
||||
+ ands r1, r1, r2
|
||||
+ bne _init_data /* branch if OSCBYPASS=1 */
|
||||
+
|
||||
/* Test if main oscillator is enabled */
|
||||
ldr r0,=AT91C_PMC_SR
|
||||
ldr r1, [r0]
|
||||
diff --git a/driver/dataflash.c b/driver/dataflash.c
|
||||
index e28e49e..4de295a 100644
|
||||
--- a/driver/dataflash.c
|
||||
+++ b/driver/dataflash.c
|
||||
@@ -293,14 +293,14 @@ static int df_init (AT91PS_DF pDf)
|
||||
pDf->dfDescription.pages_size = 264;
|
||||
pDf->dfDescription.page_offset = 9;
|
||||
break;
|
||||
-
|
||||
+*/
|
||||
case AT45DB021B:
|
||||
pDf->dfDescription.pages_number = 1024;
|
||||
pDf->dfDescription.pages_size = 264;
|
||||
pDf->dfDescription.page_offset = 9;
|
||||
break;
|
||||
|
||||
- case AT45DB041B:
|
||||
+/* case AT45DB041B:
|
||||
pDf->dfDescription.pages_number = 2048;
|
||||
pDf->dfDescription.pages_size = 264;
|
||||
pDf->dfDescription.page_offset = 9;
|
||||
@@ -373,7 +373,7 @@ int load_df(unsigned int pcs, unsigned int img_addr, unsigned int img_size, unsi
|
||||
if (!df_init(pDf))
|
||||
return -1;
|
||||
|
||||
-#if defined(AT91SAM9260) || defined(AT91SAM9XE) || defined(AT91SAM9G20)
|
||||
+#if defined(AT91SAM9260) || defined(AT91SAM9263) || defined(AT91SAM9XE) || defined(AT91SAM9G20)
|
||||
/* Test if a button has been pressed or not */
|
||||
/* Erase Page 0 to avoid infinite loop */
|
||||
df_recovery(pDf);
|
||||
diff --git a/include/part.h b/include/part.h
|
||||
index ba5985a..a1863d0 100644
|
||||
--- a/include/part.h
|
||||
+++ b/include/part.h
|
||||
@@ -61,7 +61,11 @@
|
||||
|
||||
#ifdef AT91SAM9263
|
||||
#include "AT91SAM9263_inc.h"
|
||||
-#include "at91sam9263ek.h"
|
||||
+ #ifdef at91sam9263ek
|
||||
+ #include "at91sam9263ek.h"
|
||||
+ #elif usb_a9263
|
||||
+ #include "usb-a9263.h"
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
#ifdef AT91CAP9
|
||||
--
|
||||
1.5.6.3
|
||||
|
||||
102
board/calao/usb-a9263/linux-3.4.4.config
Normal file
102
board/calao/usb-a9263/linux-3.4.4.config
Normal file
@@ -0,0 +1,102 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9263=y
|
||||
CONFIG_MACH_USB_A9263=y
|
||||
CONFIG_AT91_SLOW_CLOCK=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="mem=64M console=ttyS0,115200"
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_DATAFLASH=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MACB=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_EVBUG=y
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_ATMEL=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DEVICEFS=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_FUSE_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_UBIFS_FS_XATTR=y
|
||||
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
105
board/calao/usb-a9g20-lpw/linux-3.4.4.config
Normal file
105
board/calao/usb-a9g20-lpw/linux-3.4.4.config
Normal file
@@ -0,0 +1,105 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_ARCH_AT91SAM9G20=y
|
||||
CONFIG_MACH_USB_A9G20=y
|
||||
CONFIG_AT91_SLOW_CLOCK=y
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="mem=64M console=ttyS0,115200"
|
||||
CONFIG_FPE_NWFPE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_DATAFLASH=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_ATMEL=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_MACB=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_EVBUG=y
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_SERIAL_ATMEL=y
|
||||
CONFIG_SERIAL_ATMEL_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_GPIO=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_ATMEL=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DEVICEFS=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_RV3029C2=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_FUSE_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_UBIFS_FS_XATTR=y
|
||||
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
@@ -0,0 +1,610 @@
|
||||
From 8d84757d5170969e8bdfebc7951f43c5aa2b05fd Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Fri, 6 Jul 2012 16:32:47 +0200
|
||||
Subject: [PATCH] Add support for the Calao-systems USB-A9G20-LPW
|
||||
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
board/usb_a9g20_lpw/nandflash/Makefile | 121 ++++++++++
|
||||
board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h | 112 +++++++++
|
||||
board/usb_a9g20_lpw/usb_a9g20_lpw.c | 303 +++++++++++++++++++++++++
|
||||
crt0_gnu.S | 7 +
|
||||
include/part.h | 6 +-
|
||||
5 files changed, 548 insertions(+), 1 deletions(-)
|
||||
create mode 100644 board/usb_a9g20_lpw/nandflash/Makefile
|
||||
create mode 100644 board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h
|
||||
create mode 100644 board/usb_a9g20_lpw/usb_a9g20_lpw.c
|
||||
|
||||
diff --git a/board/usb_a9g20_lpw/nandflash/Makefile b/board/usb_a9g20_lpw/nandflash/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..8c9d99a
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9g20_lpw/nandflash/Makefile
|
||||
@@ -0,0 +1,121 @@
|
||||
+# TODO: set this appropriately for your local toolchain
|
||||
+ifndef ERASE_FCT
|
||||
+ERASE_FCT=rm -f
|
||||
+endif
|
||||
+ifndef CROSS_COMPILE
|
||||
+CROSS_COMPILE=arm-elf-
|
||||
+endif
|
||||
+
|
||||
+TOOLCHAIN=gcc
|
||||
+
|
||||
+BOOTSTRAP_PATH=../../..
|
||||
+
|
||||
+# NandFlashBoot Configuration for USB-A9G20-LPW
|
||||
+
|
||||
+# Target name (case sensitive!!!)
|
||||
+TARGET=AT91SAM9G20
|
||||
+# Board name (case sensitive!!!)
|
||||
+BOARD=usb_a9g20_lpw
|
||||
+# Link Address and Top_of_Memory
|
||||
+LINK_ADDR=0x200000
|
||||
+TOP_OF_MEMORY=0x301000
|
||||
+# Name of current directory
|
||||
+PROJECT=nandflash
|
||||
+
|
||||
+ifndef BOOT_NAME
|
||||
+BOOT_NAME=$(PROJECT)_$(BOARD)
|
||||
+endif
|
||||
+
|
||||
+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+
|
||||
+AS=$(CROSS_COMPILE)gcc
|
||||
+CC=$(CROSS_COMPILE)gcc
|
||||
+LD=$(CROSS_COMPILE)gcc
|
||||
+NM= $(CROSS_COMPILE)nm
|
||||
+SIZE=$(CROSS_COMPILE)size
|
||||
+OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
+OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
+
|
||||
+# Linker flags.
|
||||
+# -Wl,...: tell GCC to pass this to linker.
|
||||
+# -Map: create map file
|
||||
+# --cref: add cross reference to map file
|
||||
+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref
|
||||
+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR)
|
||||
+OBJS=crt0_gnu.o
|
||||
+
|
||||
+endif
|
||||
+
|
||||
+OBJS+=\
|
||||
+ $(BOARD).o \
|
||||
+ main.o \
|
||||
+ gpio.o \
|
||||
+ pmc.o \
|
||||
+ debug.o \
|
||||
+ sdramc.o \
|
||||
+ nandflash.o \
|
||||
+ _udivsi3.o \
|
||||
+ _umodsi3.o \
|
||||
+ div0.o \
|
||||
+ udiv.o \
|
||||
+ string.o
|
||||
+
|
||||
+rebuild: clean all
|
||||
+
|
||||
+all: $(BOOT_NAME)
|
||||
+
|
||||
+ifeq ($(TOOLCHAIN), gcc)
|
||||
+$(BOOT_NAME): $(OBJS)
|
||||
+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS)
|
||||
+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin
|
||||
+endif
|
||||
+
|
||||
+
|
||||
+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o
|
||||
+
|
||||
+main.o: $(BOOTSTRAP_PATH)/main.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o
|
||||
+
|
||||
+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o
|
||||
+
|
||||
+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o
|
||||
+
|
||||
+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o
|
||||
+
|
||||
+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o
|
||||
+
|
||||
+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o
|
||||
+
|
||||
+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o
|
||||
+
|
||||
+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o
|
||||
+
|
||||
+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o
|
||||
+
|
||||
+string.o: $(BOOTSTRAP_PATH)/lib/string.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o
|
||||
+
|
||||
+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c
|
||||
+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o
|
||||
+
|
||||
+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o
|
||||
+
|
||||
+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S
|
||||
+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o
|
||||
+
|
||||
+clean:
|
||||
+ $(ERASE_FCT) *.o *.bin *.elf *.map
|
||||
diff --git a/board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h b/board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h
|
||||
new file mode 100644
|
||||
index 0000000..c0bdc6e
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h
|
||||
@@ -0,0 +1,112 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2008, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb-a9g20-lpw.h
|
||||
+ * Object :
|
||||
+ * Creation : GH July 6th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#ifndef _USB_A9G20_LPW_H
|
||||
+#define _USB_A9G20_LPW_H
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* PMC Settings */
|
||||
+/* */
|
||||
+/* The main oscillator is enabled as soon as possible in the c_startup */
|
||||
+/* and MCK is switched on the main oscillator. */
|
||||
+/* PLL initialization is done later in the hw_init() function */
|
||||
+/* ******************************************************************* */
|
||||
+#define MASTER_CLOCK (133000000)
|
||||
+#define PLL_LOCK_TIMEOUT 1000000
|
||||
+
|
||||
+/* Set PLLA to 798Mhz */
|
||||
+#define PLLA_SETTINGS 0x20843F02
|
||||
+#define PLLB_SETTINGS 0x100F3F02
|
||||
+
|
||||
+/* Switch MCK on PLLA output PCK = PLLA/2 = 3 * MCK */
|
||||
+#define MCKR_SETTINGS 0x1300
|
||||
+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* NandFlash Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define AT91C_SMARTMEDIA_BASE 0x40000000
|
||||
+
|
||||
+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */
|
||||
+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */
|
||||
+
|
||||
+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0)
|
||||
+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0)
|
||||
+
|
||||
+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13))
|
||||
+
|
||||
+
|
||||
+/* ******************************************************************** */
|
||||
+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 133000000.*/
|
||||
+/* Please refer to SMC section in AT91SAM9 datasheet to learn how */
|
||||
+/* to generate these values. */
|
||||
+/* ******************************************************************** */
|
||||
+#define AT91C_SM_NWE_SETUP (2 << 0)
|
||||
+#define AT91C_SM_NCS_WR_SETUP (0 << 8)
|
||||
+#define AT91C_SM_NRD_SETUP (2 << 16)
|
||||
+#define AT91C_SM_NCS_RD_SETUP (0 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_PULSE (4 << 0)
|
||||
+#define AT91C_SM_NCS_WR_PULSE (4 << 8)
|
||||
+#define AT91C_SM_NRD_PULSE (4 << 16)
|
||||
+#define AT91C_SM_NCS_RD_PULSE (4 << 24)
|
||||
+
|
||||
+#define AT91C_SM_NWE_CYCLE (7 << 0)
|
||||
+#define AT91C_SM_NRD_CYCLE (7 << 16)
|
||||
+
|
||||
+#define AT91C_SM_TDF (3 << 16)
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* BootStrap Settings */
|
||||
+/* */
|
||||
+/* ******************************************************************* */
|
||||
+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */
|
||||
+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
+
|
||||
+#define MACH_TYPE 0x731 /* USB-A9G20 */
|
||||
+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+
|
||||
+/* ******************************************************************* */
|
||||
+/* Application Settings */
|
||||
+/* ******************************************************************* */
|
||||
+#undef CFG_DEBUG
|
||||
+#undef CFG_DATAFLASH
|
||||
+
|
||||
+#define CFG_NANDFLASH
|
||||
+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */
|
||||
+#undef CFG_NANDFLASH_RECOVERY
|
||||
+
|
||||
+#define CFG_SDRAM
|
||||
+#define CFG_HW_INIT
|
||||
+
|
||||
+#endif /* _USB_A9G20_LPW_H */
|
||||
diff --git a/board/usb_a9g20_lpw/usb_a9g20_lpw.c b/board/usb_a9g20_lpw/usb_a9g20_lpw.c
|
||||
new file mode 100644
|
||||
index 0000000..c372307
|
||||
--- /dev/null
|
||||
+++ b/board/usb_a9g20_lpw/usb_a9g20_lpw.c
|
||||
@@ -0,0 +1,303 @@
|
||||
+/* ----------------------------------------------------------------------------
|
||||
+ * ATMEL Microcontroller Software Support - ROUSSET -
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * Copyright (c) 2008, Atmel Corporation
|
||||
+
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions are met:
|
||||
+ *
|
||||
+ * - Redistributions of source code must retain the above copyright notice,
|
||||
+ * this list of conditions and the disclaimer below.
|
||||
+ *
|
||||
+ * Atmel's name may not be used to endorse or promote products derived from
|
||||
+ * this software without specific prior written permission.
|
||||
+ *
|
||||
+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
|
||||
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
||||
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * ----------------------------------------------------------------------------
|
||||
+ * File Name : usb_a9g20_lpw.c
|
||||
+ * Object :
|
||||
+ * Creation : GH July 6th 2012
|
||||
+ *-----------------------------------------------------------------------------
|
||||
+ */
|
||||
+#include "../../include/part.h"
|
||||
+#include "../../include/gpio.h"
|
||||
+#include "../../include/pmc.h"
|
||||
+#include "../../include/debug.h"
|
||||
+#include "../../include/sdramc.h"
|
||||
+#include "../../include/main.h"
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+#include "../../include/nandflash.h"
|
||||
+#endif
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+#include "../../include/dataflash.h"
|
||||
+#endif
|
||||
+
|
||||
+static inline unsigned int get_cp15(void)
|
||||
+{
|
||||
+ unsigned int value;
|
||||
+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value));
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
+static inline void set_cp15(unsigned int value)
|
||||
+{
|
||||
+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value));
|
||||
+}
|
||||
+
|
||||
+#ifdef CFG_HW_INIT
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+/* \fn hw_init */
|
||||
+/* \brief This function performs very low level HW initialization */
|
||||
+/* This function is invoked as soon as possible during the c_startup */
|
||||
+/* The bss segment must be initialized */
|
||||
+/*----------------------------------------------------------------------------*/
|
||||
+void hw_init(void)
|
||||
+{
|
||||
+ unsigned int cp15;
|
||||
+
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc hw_pio[] = {
|
||||
+#ifdef CFG_DEBUG
|
||||
+ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Disable watchdog */
|
||||
+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR);
|
||||
+
|
||||
+ /* At this stage the main oscillator is supposed to be enabled
|
||||
+ * PCK = MCK = MOSC */
|
||||
+ writel(0x00, AT91C_BASE_PMC + PMC_PLLICPR);
|
||||
+
|
||||
+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */
|
||||
+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* PCK = PLLA/2 = 3 * MCK */
|
||||
+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+ /* Switch MCK on PLLA output */
|
||||
+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure PLLB */
|
||||
+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT);
|
||||
+
|
||||
+ /* Configure CP15 */
|
||||
+ cp15 = get_cp15();
|
||||
+ cp15 |= I_CACHE;
|
||||
+ set_cp15(cp15);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(hw_pio);
|
||||
+
|
||||
+ /* Configure the EBI Slave Slot Cycle to 64 */
|
||||
+ writel((readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3));
|
||||
+
|
||||
+#ifdef CFG_DEBUG
|
||||
+ /* Enable Debug messages on the DBGU */
|
||||
+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200));
|
||||
+
|
||||
+ dbg_print("Start AT91Bootstrap...\n\r");
|
||||
+#endif /* CFG_DEBUG */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+ /* Initialize the matrix (VDDIOSEL=0: memory voltage = 1.8V ) */
|
||||
+ writel((readl(AT91C_BASE_CCFG + CCFG_EBICSA) & ~0x00010000) | AT91C_EBI_CS1A_SDRAMC , AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SDRAM Controller */
|
||||
+ sdram_init( AT91C_SDRAMC_NC_9 |
|
||||
+ AT91C_SDRAMC_NR_13 |
|
||||
+ AT91C_SDRAMC_CAS_3 |
|
||||
+ AT91C_SDRAMC_NB_4_BANKS |
|
||||
+ AT91C_SDRAMC_DBW_32_BITS |
|
||||
+ AT91C_SDRAMC_TWR_3 |
|
||||
+ AT91C_SDRAMC_TRC_9 |
|
||||
+ AT91C_SDRAMC_TRP_3 |
|
||||
+ AT91C_SDRAMC_TRCD_3 |
|
||||
+ AT91C_SDRAMC_TRAS_6 |
|
||||
+ AT91C_SDRAMC_TXSR_10, /* Control Register */
|
||||
+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */
|
||||
+ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */
|
||||
+
|
||||
+#endif /* CFG_SDRAM */
|
||||
+}
|
||||
+#endif /* CFG_HW_INIT */
|
||||
+
|
||||
+#ifdef CFG_SDRAM
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn sdramc_hw_init */
|
||||
+/* \brief This function performs SDRAMC HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void sdramc_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+/* const struct pio_desc sdramc_pio[] = {
|
||||
+ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+*/
|
||||
+ /* Configure the SDRAMC PIO controller to output PCK0 */
|
||||
+/* pio_setup(sdramc_pio); */
|
||||
+
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0));
|
||||
+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0));
|
||||
+
|
||||
+}
|
||||
+#endif /* CFG_SDRAM */
|
||||
+
|
||||
+#ifdef CFG_DATAFLASH
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_recovery */
|
||||
+/* \brief This function erases DataFlash Page 0 if USR PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_recovery(AT91PS_DF pDf)
|
||||
+{
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS1_DATAFLASH)
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb);
|
||||
+
|
||||
+ /* If USR PB is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if ( !pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ df_page_erase(pDf, 0);
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn df_hw_init */
|
||||
+/* \brief This function performs DataFlash HW initialization */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void df_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc df_pio[] = {
|
||||
+ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH)
|
||||
+ {"NPCS0", AT91C_PIN_PA(3), 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+#endif
|
||||
+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS1_DATAFLASH)
|
||||
+ {"NPCS1", AT91C_PIN_PC(11), 0, PIO_DEFAULT, PIO_PERIPH_B},
|
||||
+#endif
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ pio_setup(df_pio);
|
||||
+}
|
||||
+#endif /* CFG_DATAFLASH */
|
||||
+
|
||||
+
|
||||
+
|
||||
+#ifdef CFG_NANDFLASH
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nand_recovery */
|
||||
+/* \brief This function erases NandFlash Block 0 if USER PB is pressed */
|
||||
+/* during boot sequence */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+#ifdef CFG_NANDFLASH_RECOVERY
|
||||
+static void nand_recovery(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc usrpb[] = {
|
||||
+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(usrpb);
|
||||
+
|
||||
+ /* If USER PB is pressed during Boot sequence */
|
||||
+ /* Erase NandFlash block 0*/
|
||||
+ if (!pio_get_value(AT91C_PIN_PB(10)) )
|
||||
+ AT91F_NandEraseBlock0();
|
||||
+}
|
||||
+#else
|
||||
+static void nand_recovery(void) {}
|
||||
+#endif
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_hw_init */
|
||||
+/* \brief NandFlash HW init */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_hw_init(void)
|
||||
+{
|
||||
+ /* Configure PIOs */
|
||||
+ const struct pio_desc nand_pio[] = {
|
||||
+ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT},
|
||||
+ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT},
|
||||
+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A},
|
||||
+ };
|
||||
+
|
||||
+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */
|
||||
+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA);
|
||||
+
|
||||
+ /* Configure SMC CS3 */
|
||||
+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3);
|
||||
+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3);
|
||||
+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3);
|
||||
+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE |
|
||||
+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+
|
||||
+ /* Configure the PIO controller */
|
||||
+ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC);
|
||||
+ pio_setup(nand_pio);
|
||||
+
|
||||
+ nand_recovery();
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_16bits_dbw_init */
|
||||
+/* \brief Configure SMC in 16 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_16bits_dbw_init(void)
|
||||
+{
|
||||
+ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+/* \fn nandflash_cfg_8bits_dbw_init */
|
||||
+/* \brief Configure SMC in 8 bits mode */
|
||||
+/*------------------------------------------------------------------------------*/
|
||||
+void nandflash_cfg_8bits_dbw_init(void)
|
||||
+{
|
||||
+ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3);
|
||||
+}
|
||||
+
|
||||
+#endif /* #ifdef CFG_NANDFLASH */
|
||||
diff --git a/crt0_gnu.S b/crt0_gnu.S
|
||||
index 042b617..002feef 100644
|
||||
--- a/crt0_gnu.S
|
||||
+++ b/crt0_gnu.S
|
||||
@@ -106,6 +106,13 @@ _relocate_to_sram:
|
||||
#endif /* CFG_NORFLASH */
|
||||
|
||||
_setup_clocks:
|
||||
+/* Test if main osc is bypassed */
|
||||
+ ldr r0,=AT91C_PMC_MOR
|
||||
+ ldr r1, [r0]
|
||||
+ ldr r2,=AT91C_CKGR_OSCBYPASS
|
||||
+ ands r1, r1, r2
|
||||
+ bne _init_data /* branch if OSCBYPASS=1 */
|
||||
+
|
||||
/* Test if main oscillator is enabled */
|
||||
ldr r0,=AT91C_PMC_SR
|
||||
ldr r1, [r0]
|
||||
diff --git a/include/part.h b/include/part.h
|
||||
index ba5985a..1d7392a 100644
|
||||
--- a/include/part.h
|
||||
+++ b/include/part.h
|
||||
@@ -46,7 +46,11 @@
|
||||
|
||||
#ifdef AT91SAM9G20
|
||||
#include "AT91SAM9260_inc.h"
|
||||
-#include "at91sam9g20ek.h"
|
||||
+ #ifdef at91sam9g20ek
|
||||
+ #include "at91sam9g20ek.h"
|
||||
+ #elif usb_a9g20_lpw
|
||||
+ #include "usb-a9g20-lpw.h"
|
||||
+ #endif
|
||||
#endif
|
||||
|
||||
#ifdef AT91SAM9261
|
||||
--
|
||||
1.5.6.3
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
diff --git a/arch/arm/configs/usb_a9g20_defconfig b/arch/arm/configs/usb_a9g20_defconfig
|
||||
index 30bf380..7716e0e 100644
|
||||
--- a/arch/arm/configs/usb_a9g20_defconfig
|
||||
+++ b/arch/arm/configs/usb_a9g20_defconfig
|
||||
@@ -15,6 +15,7 @@ CONFIG_HUSH_FANCY_PROMPT=y
|
||||
CONFIG_CMDLINE_EDITING=y
|
||||
CONFIG_AUTO_COMPLETE=y
|
||||
CONFIG_MENU=y
|
||||
+# CONFIG_ERRNO_MESSAGES is not set
|
||||
# CONFIG_CONSOLE_ACTIVATE_FIRST is not set
|
||||
CONFIG_CONSOLE_ACTIVATE_ALL=y
|
||||
CONFIG_PARTITION=y
|
||||
@@ -1,12 +0,0 @@
|
||||
# Minimal SD card image
|
||||
#
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copy to target
|
||||
cp ${BINARIES_DIR}/vmlinux.gz.itb ${TARGET_DIR}/fitImage
|
||||
@@ -1,65 +0,0 @@
|
||||
*********************
|
||||
* MIPS Creator CI40 *
|
||||
*********************
|
||||
|
||||
This document details how to build and run a Buildroot system on the
|
||||
MIPS Creator CI40 platform. For more details about the CI40, see
|
||||
https://creatordev.io/ci40-iot-hub.html.
|
||||
|
||||
How to build
|
||||
------------
|
||||
|
||||
$ make ci40_defconfig
|
||||
$ make
|
||||
|
||||
Prepare USB/MMC for boot
|
||||
------------------------
|
||||
|
||||
On successful build, "sdcard.img" file will be created in 'output/images'
|
||||
folder.
|
||||
|
||||
Use following command to write image to bootable device
|
||||
|
||||
$ sudo dd if=./output/images/sdcard.img of=/dev/<your-microsd-or-usb-device>
|
||||
|
||||
Booting from USB/MMC
|
||||
--------------------
|
||||
|
||||
The boot loader is already present in NOR flash. To boot your newly generated
|
||||
Linux and root filesystem, you need to interrupt U-Boot autoboot. Current
|
||||
U-Boot is configured with 2 seconds of boot-delay, after expiry of this
|
||||
boot-delay timeout U-Boot starts booting the default image. To interrupt
|
||||
autoboot, press any key before the boot-delay time expires, U-Boot will
|
||||
stop the autoboot process and give a U-Boot prompt. You can now boot to
|
||||
your preferred boot method as describe below:
|
||||
|
||||
From USB
|
||||
pistachio # run usbboot
|
||||
|
||||
From SD-Card
|
||||
pistachio # run mmcboot
|
||||
|
||||
Persistent boot command
|
||||
-----------------------
|
||||
|
||||
To boot automatically to your preferred boot method, use following command to
|
||||
make it persistent, for example to automatically boot to usb:
|
||||
|
||||
pistachio # setenv bootcmd run usbboot
|
||||
pistachio # saveenv
|
||||
|
||||
Flash new bootloader
|
||||
--------------------
|
||||
|
||||
The bootloader image will be available in the 'output/images' folder. To flash
|
||||
the new bootloader, copy it to the device and use the following command on the
|
||||
device:
|
||||
|
||||
# flashcp -v u-boot-pistachio_marduk-<version>.img /dev/mtd0
|
||||
|
||||
Online docs
|
||||
-----------
|
||||
|
||||
Mostly for OpenWRT but it is applicable to Buildroot
|
||||
https://docs.creatordev.io/ci40/guides/openwrt-platform/#overview
|
||||
|
||||
36
board/congatec/qmx6/readme.txt
Normal file
36
board/congatec/qmx6/readme.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
This is the minimal buildroot support for the Congatec QMX6 Qseven CoM
|
||||
|
||||
conga-QMX6 is based on the freescale iMX6 SoC. For more information please
|
||||
have a look at http://www.congatec.com/products/qseven/conga-qmx6.html
|
||||
|
||||
The configuration is based on the currently latest kernel release from
|
||||
Congatec's git repository which is based on 3.0.35. The bootloader u-boot
|
||||
is preconfigured on the CPU module and does not need to be replaced.
|
||||
|
||||
To build the default configuration you only have to:
|
||||
|
||||
make qmx6_defconfig && make
|
||||
|
||||
You will need a microSD card of sufficient size and the first or only
|
||||
partition configured as Linux type.
|
||||
|
||||
To transfer the system to the card do:
|
||||
|
||||
$ sudo dd if=output/images/rootfs.ext2 of=/dev/sdX1
|
||||
|
||||
You can optionally extend the filesystem size to the whole partition:
|
||||
|
||||
$ sudo resize2fs /dev/sdX1
|
||||
|
||||
You can also update the card image without completely rewriting it:
|
||||
|
||||
$ sudo mount /dev/sdX1 /mnt
|
||||
$ sudo tar xf output/images/rootfs.tar -C /mnt
|
||||
$ sudo umount /mnt
|
||||
|
||||
Connect a terminal program to the rs232 connector marked "CONSOLE"
|
||||
with baudrate set to 115200, insert the microSD card into the socket
|
||||
on the CPU module and power the board to watch the system boot.
|
||||
|
||||
Booting from the SD card slot on the base board is currently not
|
||||
supported.
|
||||
@@ -1,25 +0,0 @@
|
||||
tar jtag jtag://127.0.0.1:1025
|
||||
reset
|
||||
|
||||
# setup CCR (Cache Config Reg)
|
||||
# 0-1:MP,2:IE,3:DE,4:WB,5:RS,6:Z,7:BE
|
||||
set $cr18 = 0x7d
|
||||
|
||||
# vendor custom setup, double cache line & preload
|
||||
set $cr30 = 0xc
|
||||
|
||||
# pin mux for serial8250
|
||||
set *(unsigned int *) 0xa030a14c |= (1 << 22) | (1 << 23)
|
||||
|
||||
# pass devicetree blob
|
||||
# r2 is magic
|
||||
# r3 is address
|
||||
set $r2 = 0x20150401
|
||||
set $r3 = 0x92000000
|
||||
restore gx6605s.dtb binary 0x92000000
|
||||
|
||||
# flush cache
|
||||
set $cr17 = 0x33
|
||||
|
||||
load
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
C-SKY Development Kit
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
C-SKY is a CPU Architecture from www.c-sky.com and has it own instruction set.
|
||||
Just like arm and mips in linux/arch, it named as 'csky'.
|
||||
|
||||
gx6605s develop board is made by Hangzhou Nationalchip and C-SKY.
|
||||
|
||||
Hardware Spec:
|
||||
* CPU: ck610 up to 594Mhz
|
||||
* Integrate with 64MB ddr2 in SOC.
|
||||
* Integrate with hardware Jtag.
|
||||
* Integrate with usb-to-serial chip.
|
||||
* USB ehci controller in SOC.
|
||||
* Power Supply: DC 5V from two micro-usb.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot
|
||||
-------------------
|
||||
|
||||
The csky_gx6605s_defconfig configuration is a sample configuration with
|
||||
all that is required to bring the gx6605s Development Board:
|
||||
|
||||
$ make csky_gx6605s_defconfig
|
||||
|
||||
Build everything
|
||||
----------------
|
||||
|
||||
Note: you will need to have access to the network, since Buildroot will
|
||||
download the packages' sources.
|
||||
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should obtain this tree:
|
||||
|
||||
output/images/
|
||||
├── vmlinux
|
||||
├── rootfs.ext2
|
||||
└── <board name>.dtb
|
||||
|
||||
How to run it
|
||||
=============
|
||||
|
||||
Prepare Jtag-Server
|
||||
-------------------
|
||||
|
||||
Download the Jtag-Server here:
|
||||
|
||||
https://github.com/c-sky/tools/raw/master/DebugServerConsole-linux-x86_64-V4.2.00-20161213.tar.gz
|
||||
|
||||
Go to the unpacked directory:
|
||||
|
||||
$./DebugServerConsole -ddc -rstwait 1000 -prereset -port 1025
|
||||
|
||||
Perhaps you need to use "sudo", which need libusb to detect c510:b210
|
||||
|
||||
$ sudo ./DebugServerConsole -ddc -rstwait 1000 -prereset -port 1025
|
||||
|
||||
Prepare USB drive
|
||||
-----------------
|
||||
|
||||
You sould determine which device associated to the usb drive
|
||||
carefully. eg:
|
||||
|
||||
$ cat /proc/partitions
|
||||
8 48 1971712 sdd
|
||||
8 49 976720 sdd1
|
||||
|
||||
$ sudo dd if=rootfs.ext2 of=/dev/sdd1
|
||||
$ sudo sync
|
||||
|
||||
Run
|
||||
---
|
||||
|
||||
Plug the usb drive on gx6605s dev board.
|
||||
|
||||
Setup the Console with the rate 115200/8-N-1.
|
||||
|
||||
$ cd output/images
|
||||
$ ../host/usr/bin/csky-linux-gdb -x ../../board/csky/gx6605s/gdbinit vmlinux
|
||||
|
||||
4
board/cubietech/cubieboard/boot.cmd
Normal file
4
board/cubietech/cubieboard/boot.cmd
Normal file
@@ -0,0 +1,4 @@
|
||||
setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
|
||||
fatload mmc 0 0x43000000 script.bin
|
||||
fatload mmc 0 0x48000000 uImage
|
||||
bootm 0x48000000
|
||||
749
board/cubietech/cubieboard/linux-cubieboard2.config
Normal file
749
board/cubietech/cubieboard/linux-cubieboard2.config
Normal file
@@ -0,0 +1,749 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||
CONFIG_TASKSTATS=y
|
||||
CONFIG_TASK_DELAY_ACCT=y
|
||||
CONFIG_TASK_XACCT=y
|
||||
CONFIG_TASK_IO_ACCOUNTING=y
|
||||
CONFIG_AUDIT=y
|
||||
CONFIG_IRQ_DOMAIN_DEBUG=y
|
||||
CONFIG_RCU_FAST_NO_HZ=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=19
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_CGROUP_FREEZER=y
|
||||
CONFIG_CGROUP_DEVICE=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_RESOURCE_COUNTERS=y
|
||||
CONFIG_CGROUP_MEM_RES_CTLR=y
|
||||
CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
|
||||
CONFIG_CGROUP_MEM_RES_CTLR_KMEM=y
|
||||
CONFIG_CGROUP_PERF=y
|
||||
CONFIG_CGROUP_SCHED=y
|
||||
CONFIG_CFS_BANDWIDTH=y
|
||||
CONFIG_RT_GROUP_SCHED=y
|
||||
CONFIG_BLK_CGROUP=y
|
||||
CONFIG_RELAY=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_PERF_COUNTERS=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_JUMP_LABEL=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_FORCE_LOAD=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
CONFIG_BLK_DEV_BSGLIB=y
|
||||
CONFIG_BLK_DEV_INTEGRITY=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_OSF_PARTITION=y
|
||||
CONFIG_AMIGA_PARTITION=y
|
||||
CONFIG_MAC_PARTITION=y
|
||||
CONFIG_BSD_DISKLABEL=y
|
||||
CONFIG_MINIX_SUBPARTITION=y
|
||||
CONFIG_SOLARIS_X86_PARTITION=y
|
||||
CONFIG_UNIXWARE_DISKLABEL=y
|
||||
CONFIG_SGI_PARTITION=y
|
||||
CONFIG_SUN_PARTITION=y
|
||||
CONFIG_KARMA_PARTITION=y
|
||||
CONFIG_EFI_PARTITION=y
|
||||
CONFIG_CFQ_GROUP_IOSCHED=y
|
||||
CONFIG_ARCH_SUN7I=y
|
||||
CONFIG_SUNXI_SCALING_MIN=408
|
||||
# CONFIG_CACHE_L2X0 is not set
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_ARM_ARCH_TIMER=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_COMPACTION=y
|
||||
CONFIG_KSM=y
|
||||
CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mmc0p1 rw init=/init loglevel=8"
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_STAT=m
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_FANTASY=y
|
||||
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
|
||||
CONFIG_CPU_FREQ_GOV_USERSPACE=m
|
||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
|
||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
|
||||
CONFIG_CPU_FREQ_USR_EVNT_NOTIFY=y
|
||||
CONFIG_CPU_FREQ_DVFS=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_VFP=y
|
||||
CONFIG_NEON=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_PM_RUNTIME=y
|
||||
CONFIG_PM_DEBUG=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM_USER=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_FIB_TRIE_STATS=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_NET_IPIP=y
|
||||
CONFIG_NET_IPGRE_DEMUX=m
|
||||
CONFIG_NET_IPGRE=m
|
||||
CONFIG_NET_IPGRE_BROADCAST=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
CONFIG_ARPD=y
|
||||
CONFIG_SYN_COOKIES=y
|
||||
CONFIG_INET_AH=y
|
||||
CONFIG_INET_ESP=y
|
||||
CONFIG_INET_IPCOMP=y
|
||||
CONFIG_INET_DIAG=m
|
||||
CONFIG_INET_UDP_DIAG=m
|
||||
CONFIG_TCP_CONG_ADVANCED=y
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
CONFIG_TCP_CONG_WESTWOOD=y
|
||||
CONFIG_TCP_CONG_HTCP=y
|
||||
CONFIG_TCP_CONG_HSTCP=y
|
||||
CONFIG_TCP_CONG_HYBLA=y
|
||||
CONFIG_TCP_CONG_SCALABLE=y
|
||||
CONFIG_TCP_CONG_LP=y
|
||||
CONFIG_TCP_CONG_VENO=y
|
||||
CONFIG_TCP_CONG_YEAH=y
|
||||
CONFIG_TCP_CONG_ILLINOIS=y
|
||||
CONFIG_TCP_MD5SIG=y
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_IPV6_PRIVACY=y
|
||||
CONFIG_IPV6_ROUTER_PREF=y
|
||||
CONFIG_IPV6_ROUTE_INFO=y
|
||||
CONFIG_IPV6_OPTIMISTIC_DAD=y
|
||||
CONFIG_INET6_AH=m
|
||||
CONFIG_INET6_ESP=m
|
||||
CONFIG_INET6_IPCOMP=m
|
||||
CONFIG_IPV6_MIP6=m
|
||||
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
|
||||
CONFIG_INET6_XFRM_MODE_TUNNEL=m
|
||||
CONFIG_INET6_XFRM_MODE_BEET=m
|
||||
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
|
||||
CONFIG_IPV6_SIT=m
|
||||
CONFIG_IPV6_SIT_6RD=y
|
||||
CONFIG_IPV6_TUNNEL=m
|
||||
CONFIG_IPV6_MULTIPLE_TABLES=y
|
||||
CONFIG_IPV6_SUBTREES=y
|
||||
CONFIG_IPV6_MROUTE=y
|
||||
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
|
||||
CONFIG_IPV6_PIMSM_V2=y
|
||||
# CONFIG_ANDROID_PARANOID_NETWORK is not set
|
||||
CONFIG_NETWORK_SECMARK=y
|
||||
CONFIG_NETWORK_PHY_TIMESTAMPING=y
|
||||
CONFIG_NETFILTER=y
|
||||
CONFIG_NF_CONNTRACK=m
|
||||
CONFIG_NF_CONNTRACK_SECMARK=y
|
||||
CONFIG_NF_CONNTRACK_ZONES=y
|
||||
CONFIG_NF_CONNTRACK_EVENTS=y
|
||||
CONFIG_NF_CONNTRACK_TIMEOUT=y
|
||||
CONFIG_NF_CONNTRACK_TIMESTAMP=y
|
||||
CONFIG_NF_CT_PROTO_DCCP=m
|
||||
CONFIG_NF_CT_PROTO_SCTP=m
|
||||
CONFIG_NF_CT_PROTO_UDPLITE=m
|
||||
CONFIG_NF_CONNTRACK_AMANDA=m
|
||||
CONFIG_NF_CONNTRACK_FTP=m
|
||||
CONFIG_NF_CONNTRACK_H323=m
|
||||
CONFIG_NF_CONNTRACK_IRC=m
|
||||
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
|
||||
CONFIG_NF_CONNTRACK_SNMP=m
|
||||
CONFIG_NF_CONNTRACK_PPTP=m
|
||||
CONFIG_NF_CONNTRACK_SANE=m
|
||||
CONFIG_NF_CONNTRACK_SIP=m
|
||||
CONFIG_NF_CONNTRACK_TFTP=m
|
||||
CONFIG_NF_CT_NETLINK=m
|
||||
CONFIG_NF_CT_NETLINK_TIMEOUT=m
|
||||
CONFIG_NETFILTER_TPROXY=m
|
||||
CONFIG_NETFILTER_XT_SET=m
|
||||
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CT=m
|
||||
CONFIG_NETFILTER_XT_TARGET_DSCP=m
|
||||
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
|
||||
CONFIG_NETFILTER_XT_TARGET_LED=m
|
||||
CONFIG_NETFILTER_XT_TARGET_LOG=m
|
||||
CONFIG_NETFILTER_XT_TARGET_MARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
|
||||
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
|
||||
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TEE=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TRACE=m
|
||||
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
|
||||
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
|
||||
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CPU=m
|
||||
CONFIG_NETFILTER_XT_MATCH_DCCP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_DSCP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_ESP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_HELPER=m
|
||||
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
|
||||
CONFIG_NETFILTER_XT_MATCH_IPVS=m
|
||||
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
|
||||
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_MAC=m
|
||||
CONFIG_NETFILTER_XT_MATCH_MARK=m
|
||||
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_NFACCT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_OSF=m
|
||||
CONFIG_NETFILTER_XT_MATCH_OWNER=m
|
||||
CONFIG_NETFILTER_XT_MATCH_POLICY=m
|
||||
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
|
||||
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
|
||||
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
|
||||
CONFIG_NETFILTER_XT_MATCH_QUOTA2=m
|
||||
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
|
||||
CONFIG_NETFILTER_XT_MATCH_REALM=m
|
||||
CONFIG_NETFILTER_XT_MATCH_RECENT=m
|
||||
CONFIG_NETFILTER_XT_MATCH_SCTP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
|
||||
CONFIG_NETFILTER_XT_MATCH_STATE=m
|
||||
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
|
||||
CONFIG_NETFILTER_XT_MATCH_STRING=m
|
||||
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
|
||||
CONFIG_NETFILTER_XT_MATCH_TIME=m
|
||||
CONFIG_NETFILTER_XT_MATCH_U32=m
|
||||
CONFIG_IP_SET=m
|
||||
CONFIG_IP_SET_BITMAP_IP=m
|
||||
CONFIG_IP_SET_BITMAP_IPMAC=m
|
||||
CONFIG_IP_SET_BITMAP_PORT=m
|
||||
CONFIG_IP_SET_HASH_IP=m
|
||||
CONFIG_IP_SET_HASH_IPPORT=m
|
||||
CONFIG_IP_SET_HASH_IPPORTIP=m
|
||||
CONFIG_IP_SET_HASH_IPPORTNET=m
|
||||
CONFIG_IP_SET_HASH_NET=m
|
||||
CONFIG_IP_SET_HASH_NETPORT=m
|
||||
CONFIG_IP_SET_HASH_NETIFACE=m
|
||||
CONFIG_IP_SET_LIST_SET=m
|
||||
CONFIG_IP_VS=m
|
||||
CONFIG_IP_VS_IPV6=y
|
||||
CONFIG_IP_VS_PROTO_TCP=y
|
||||
CONFIG_IP_VS_PROTO_UDP=y
|
||||
CONFIG_IP_VS_PROTO_ESP=y
|
||||
CONFIG_IP_VS_PROTO_AH=y
|
||||
CONFIG_IP_VS_PROTO_SCTP=y
|
||||
CONFIG_IP_VS_RR=m
|
||||
CONFIG_IP_VS_WRR=m
|
||||
CONFIG_IP_VS_LC=m
|
||||
CONFIG_IP_VS_WLC=m
|
||||
CONFIG_IP_VS_LBLC=m
|
||||
CONFIG_IP_VS_LBLCR=m
|
||||
CONFIG_IP_VS_DH=m
|
||||
CONFIG_IP_VS_SH=m
|
||||
CONFIG_IP_VS_SED=m
|
||||
CONFIG_IP_VS_NQ=m
|
||||
CONFIG_IP_VS_FTP=m
|
||||
CONFIG_IP_VS_PE_SIP=m
|
||||
CONFIG_NF_CONNTRACK_IPV4=m
|
||||
CONFIG_IP_NF_QUEUE=m
|
||||
CONFIG_IP_NF_IPTABLES=m
|
||||
CONFIG_IP_NF_MATCH_AH=m
|
||||
CONFIG_IP_NF_MATCH_ECN=m
|
||||
CONFIG_IP_NF_MATCH_RPFILTER=m
|
||||
CONFIG_IP_NF_MATCH_TTL=m
|
||||
CONFIG_IP_NF_FILTER=m
|
||||
CONFIG_IP_NF_TARGET_REJECT=m
|
||||
CONFIG_IP_NF_TARGET_REJECT_SKERR=y
|
||||
CONFIG_IP_NF_TARGET_ULOG=m
|
||||
CONFIG_NF_NAT=m
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_IP_NF_TARGET_NETMAP=m
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=m
|
||||
CONFIG_IP_NF_MANGLE=m
|
||||
CONFIG_IP_NF_TARGET_CLUSTERIP=m
|
||||
CONFIG_IP_NF_TARGET_ECN=m
|
||||
CONFIG_IP_NF_TARGET_TTL=m
|
||||
CONFIG_IP_NF_RAW=m
|
||||
CONFIG_IP_NF_ARPTABLES=m
|
||||
CONFIG_IP_NF_ARPFILTER=m
|
||||
CONFIG_IP_NF_ARP_MANGLE=m
|
||||
CONFIG_NF_CONNTRACK_IPV6=m
|
||||
CONFIG_IP6_NF_QUEUE=m
|
||||
CONFIG_IP6_NF_IPTABLES=m
|
||||
CONFIG_IP6_NF_MATCH_AH=m
|
||||
CONFIG_IP6_NF_MATCH_EUI64=m
|
||||
CONFIG_IP6_NF_MATCH_FRAG=m
|
||||
CONFIG_IP6_NF_MATCH_OPTS=m
|
||||
CONFIG_IP6_NF_MATCH_HL=m
|
||||
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
|
||||
CONFIG_IP6_NF_MATCH_MH=m
|
||||
CONFIG_IP6_NF_MATCH_RPFILTER=m
|
||||
CONFIG_IP6_NF_MATCH_RT=m
|
||||
CONFIG_IP6_NF_TARGET_HL=m
|
||||
CONFIG_IP6_NF_FILTER=m
|
||||
CONFIG_IP6_NF_TARGET_REJECT=m
|
||||
CONFIG_IP6_NF_TARGET_REJECT_SKERR=y
|
||||
CONFIG_IP6_NF_MANGLE=m
|
||||
CONFIG_IP6_NF_RAW=m
|
||||
CONFIG_BRIDGE_NF_EBTABLES=m
|
||||
CONFIG_BRIDGE_EBT_BROUTE=m
|
||||
CONFIG_BRIDGE_EBT_T_FILTER=m
|
||||
CONFIG_BRIDGE_EBT_T_NAT=m
|
||||
CONFIG_BRIDGE_EBT_802_3=m
|
||||
CONFIG_BRIDGE_EBT_AMONG=m
|
||||
CONFIG_BRIDGE_EBT_ARP=m
|
||||
CONFIG_BRIDGE_EBT_IP=m
|
||||
CONFIG_BRIDGE_EBT_IP6=m
|
||||
CONFIG_BRIDGE_EBT_LIMIT=m
|
||||
CONFIG_BRIDGE_EBT_MARK=m
|
||||
CONFIG_BRIDGE_EBT_PKTTYPE=m
|
||||
CONFIG_BRIDGE_EBT_STP=m
|
||||
CONFIG_BRIDGE_EBT_VLAN=m
|
||||
CONFIG_BRIDGE_EBT_ARPREPLY=m
|
||||
CONFIG_BRIDGE_EBT_DNAT=m
|
||||
CONFIG_BRIDGE_EBT_MARK_T=m
|
||||
CONFIG_BRIDGE_EBT_REDIRECT=m
|
||||
CONFIG_BRIDGE_EBT_SNAT=m
|
||||
CONFIG_BRIDGE_EBT_LOG=m
|
||||
CONFIG_BRIDGE_EBT_ULOG=m
|
||||
CONFIG_BRIDGE_EBT_NFLOG=m
|
||||
CONFIG_L2TP=m
|
||||
CONFIG_L2TP_V3=y
|
||||
CONFIG_L2TP_IP=m
|
||||
CONFIG_L2TP_ETH=m
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_VLAN_8021Q=m
|
||||
CONFIG_VLAN_8021Q_GVRP=y
|
||||
CONFIG_BATMAN_ADV=m
|
||||
CONFIG_OPENVSWITCH=m
|
||||
CONFIG_NETPRIO_CGROUP=m
|
||||
CONFIG_NET_PKTGEN=m
|
||||
CONFIG_IRDA=m
|
||||
CONFIG_IRLAN=m
|
||||
CONFIG_IRNET=m
|
||||
CONFIG_IRCOMM=m
|
||||
CONFIG_IRDA_ULTRA=y
|
||||
CONFIG_IRTTY_SIR=m
|
||||
CONFIG_KINGSUN_DONGLE=m
|
||||
CONFIG_KSDAZZLE_DONGLE=m
|
||||
CONFIG_KS959_DONGLE=m
|
||||
CONFIG_USB_IRDA=m
|
||||
CONFIG_SIGMATEL_FIR=m
|
||||
CONFIG_MCS_FIR=m
|
||||
CONFIG_BT=m
|
||||
CONFIG_BT_RFCOMM=m
|
||||
CONFIG_BT_RFCOMM_TTY=y
|
||||
CONFIG_BT_BNEP=m
|
||||
CONFIG_BT_BNEP_MC_FILTER=y
|
||||
CONFIG_BT_BNEP_PROTO_FILTER=y
|
||||
CONFIG_BT_HIDP=m
|
||||
CONFIG_BT_HCIBTUSB=m
|
||||
CONFIG_BT_HCIBTSDIO=m
|
||||
CONFIG_BT_HCIBCM203X=m
|
||||
CONFIG_BT_HCIBPA10X=m
|
||||
CONFIG_BT_HCIBFUSB=m
|
||||
CONFIG_BT_MRVL=m
|
||||
CONFIG_BT_MRVL_SDIO=m
|
||||
CONFIG_BT_ATH3K=m
|
||||
CONFIG_AF_RXRPC=m
|
||||
CONFIG_RXKAD=m
|
||||
CONFIG_CFG80211=y
|
||||
CONFIG_CFG80211_DEVELOPER_WARNINGS=y
|
||||
CONFIG_WIRELESS_EXT_SYSFS=y
|
||||
CONFIG_LIB80211=m
|
||||
CONFIG_CFG80211_ALLOW_RECONNECT=y
|
||||
CONFIG_MAC80211=m
|
||||
CONFIG_MAC80211_MESH=y
|
||||
CONFIG_WIMAX=m
|
||||
CONFIG_RFKILL=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
# CONFIG_FIRMWARE_IN_KERNEL is not set
|
||||
CONFIG_CONNECTOR=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_CRYPTOLOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=2
|
||||
CONFIG_SUNXI_DBGREG=m
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_BLK_DEV_SR_VENDOR=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_AHCI_PLATFORM=y
|
||||
CONFIG_SW_SATA_AHCI_PLATFORM=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_BONDING=m
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
# CONFIG_NET_VENDOR_CHELSIO is not set
|
||||
# CONFIG_NET_VENDOR_FARADAY is not set
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
# CONFIG_NET_VENDOR_MICREL is not set
|
||||
# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
# CONFIG_NET_VENDOR_SEEQ is not set
|
||||
# CONFIG_NET_VENDOR_SMSC is not set
|
||||
# CONFIG_NET_VENDOR_STMICRO is not set
|
||||
CONFIG_SUNXI_EMAC=y
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_PPP=m
|
||||
CONFIG_PPP_BSDCOMP=m
|
||||
CONFIG_PPP_DEFLATE=m
|
||||
CONFIG_PPP_FILTER=y
|
||||
CONFIG_PPP_MPPE=m
|
||||
CONFIG_PPP_MULTILINK=y
|
||||
CONFIG_PPPOE=m
|
||||
CONFIG_PPPOLAC=m
|
||||
CONFIG_PPPOPNS=m
|
||||
CONFIG_PPP_ASYNC=m
|
||||
CONFIG_PPP_SYNC_TTY=m
|
||||
CONFIG_USB_IPHETH=m
|
||||
CONFIG_ATH_COMMON=m
|
||||
CONFIG_ATH9K=m
|
||||
CONFIG_RTL8192CU=m
|
||||
CONFIG_RTL8192CU_SW=m
|
||||
CONFIG_RTL8188EU=m
|
||||
CONFIG_RTXX7X_SW=m
|
||||
CONFIG_INPUT_POLLDEV=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
CONFIG_INPUT_JOYDEV=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_KEYRESET=y
|
||||
CONFIG_KEYBOARD_HV2605_KEYBOARD=m
|
||||
CONFIG_INPUT_JOYSTICK=y
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_TOUCHSCREEN_GT801=m
|
||||
CONFIG_TOUCHSCREEN_GT811=m
|
||||
CONFIG_TOUCHSCREEN_GT818=m
|
||||
CONFIG_TOUCHSCREEN_FT5X_TS=m
|
||||
CONFIG_TOUCHSCREEN_ZT8031=m
|
||||
CONFIG_GSENSOR=y
|
||||
CONFIG_SENSORS_BMA250=m
|
||||
CONFIG_MEMSIC_ECOMPASS=m
|
||||
CONFIG_SENSORS_MXC622X=m
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_SERIAL_NONSTANDARD=y
|
||||
# CONFIG_DEVKMEM is not set
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=8
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=8
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_DEBUG=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_SUNXI=m
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_AW_AXP=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
CONFIG_VIDEO_DEV=y
|
||||
CONFIG_MEDIA_TUNER_CUSTOMISE=y
|
||||
# CONFIG_MEDIA_TUNER_SIMPLE is not set
|
||||
# CONFIG_MEDIA_TUNER_TDA8290 is not set
|
||||
# CONFIG_MEDIA_TUNER_TDA827X is not set
|
||||
# CONFIG_MEDIA_TUNER_TDA18271 is not set
|
||||
# CONFIG_MEDIA_TUNER_TDA9887 is not set
|
||||
# CONFIG_MEDIA_TUNER_TEA5767 is not set
|
||||
# CONFIG_MEDIA_TUNER_MT20XX is not set
|
||||
# CONFIG_MEDIA_TUNER_MT2060 is not set
|
||||
# CONFIG_MEDIA_TUNER_MT2266 is not set
|
||||
# CONFIG_MEDIA_TUNER_MT2131 is not set
|
||||
# CONFIG_MEDIA_TUNER_QT1010 is not set
|
||||
# CONFIG_MEDIA_TUNER_MXL5005S is not set
|
||||
# CONFIG_MEDIA_TUNER_MXL5007T is not set
|
||||
# CONFIG_MEDIA_TUNER_MC44S803 is not set
|
||||
# CONFIG_MEDIA_TUNER_MAX2165 is not set
|
||||
# CONFIG_MEDIA_TUNER_TDA18218 is not set
|
||||
# CONFIG_MEDIA_TUNER_TDA18212 is not set
|
||||
CONFIG_USB_VIDEO_CLASS=m
|
||||
CONFIG_USB_M5602=m
|
||||
CONFIG_USB_STV06XX=m
|
||||
CONFIG_USB_GL860=m
|
||||
CONFIG_USB_GSPCA_BENQ=m
|
||||
CONFIG_USB_GSPCA_CONEX=m
|
||||
CONFIG_USB_GSPCA_CPIA1=m
|
||||
CONFIG_USB_GSPCA_ETOMS=m
|
||||
CONFIG_USB_GSPCA_FINEPIX=m
|
||||
CONFIG_USB_GSPCA_JEILINJ=m
|
||||
CONFIG_USB_GSPCA_JL2005BCD=m
|
||||
CONFIG_USB_GSPCA_KINECT=m
|
||||
CONFIG_USB_GSPCA_KONICA=m
|
||||
CONFIG_USB_GSPCA_MARS=m
|
||||
CONFIG_USB_GSPCA_MR97310A=m
|
||||
CONFIG_USB_GSPCA_NW80X=m
|
||||
CONFIG_USB_GSPCA_OV519=m
|
||||
CONFIG_USB_GSPCA_OV534=m
|
||||
CONFIG_USB_GSPCA_OV534_9=m
|
||||
CONFIG_USB_GSPCA_PAC207=m
|
||||
CONFIG_USB_GSPCA_PAC7302=m
|
||||
CONFIG_USB_GSPCA_PAC7311=m
|
||||
CONFIG_USB_GSPCA_SE401=m
|
||||
CONFIG_USB_GSPCA_SN9C2028=m
|
||||
CONFIG_USB_GSPCA_SN9C20X=m
|
||||
CONFIG_USB_GSPCA_SONIXB=m
|
||||
CONFIG_USB_GSPCA_SONIXJ=m
|
||||
CONFIG_USB_GSPCA_SPCA500=m
|
||||
CONFIG_USB_GSPCA_SPCA501=m
|
||||
CONFIG_USB_GSPCA_SPCA505=m
|
||||
CONFIG_USB_GSPCA_SPCA506=m
|
||||
CONFIG_USB_GSPCA_SPCA508=m
|
||||
CONFIG_USB_GSPCA_SPCA561=m
|
||||
CONFIG_USB_GSPCA_SPCA1528=m
|
||||
CONFIG_USB_GSPCA_SQ905=m
|
||||
CONFIG_USB_GSPCA_SQ905C=m
|
||||
CONFIG_USB_GSPCA_SQ930X=m
|
||||
CONFIG_USB_GSPCA_STK014=m
|
||||
CONFIG_USB_GSPCA_STV0680=m
|
||||
CONFIG_USB_GSPCA_SUNPLUS=m
|
||||
CONFIG_USB_GSPCA_T613=m
|
||||
CONFIG_USB_GSPCA_TOPRO=m
|
||||
CONFIG_USB_GSPCA_TV8532=m
|
||||
CONFIG_USB_GSPCA_VC032X=m
|
||||
CONFIG_USB_GSPCA_VICAM=m
|
||||
CONFIG_USB_GSPCA_XIRLINK_CIT=m
|
||||
CONFIG_USB_GSPCA_ZC3XX=m
|
||||
CONFIG_VIDEO_PVRUSB2=m
|
||||
CONFIG_VIDEO_HDPVR=m
|
||||
CONFIG_VIDEO_EM28XX=m
|
||||
CONFIG_VIDEO_EM28XX_ALSA=m
|
||||
CONFIG_VIDEO_CX231XX=m
|
||||
CONFIG_VIDEO_CX231XX_ALSA=m
|
||||
CONFIG_VIDEO_TM6000=m
|
||||
CONFIG_VIDEO_TM6000_ALSA=m
|
||||
CONFIG_VIDEO_USBVISION=m
|
||||
CONFIG_USB_ET61X251=m
|
||||
CONFIG_USB_SN9C102=m
|
||||
CONFIG_USB_PWC=m
|
||||
CONFIG_VIDEO_CPIA2=m
|
||||
CONFIG_USB_ZR364XX=m
|
||||
CONFIG_USB_STKWEBCAM=m
|
||||
CONFIG_USB_S2255=m
|
||||
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||
CONFIG_SOC_CAMERA=m
|
||||
CONFIG_SOC_CAMERA_IMX074=m
|
||||
CONFIG_SOC_CAMERA_MT9M001=m
|
||||
CONFIG_SOC_CAMERA_MT9M111=m
|
||||
CONFIG_SOC_CAMERA_MT9T031=m
|
||||
CONFIG_SOC_CAMERA_MT9T112=m
|
||||
CONFIG_SOC_CAMERA_MT9V022=m
|
||||
CONFIG_SOC_CAMERA_RJ54N1=m
|
||||
CONFIG_SOC_CAMERA_TW9910=m
|
||||
CONFIG_SOC_CAMERA_PLATFORM=m
|
||||
CONFIG_SOC_CAMERA_OV2640=m
|
||||
CONFIG_SOC_CAMERA_OV5642=m
|
||||
CONFIG_SOC_CAMERA_OV6650=m
|
||||
CONFIG_SOC_CAMERA_OV772X=m
|
||||
CONFIG_SOC_CAMERA_OV9640=m
|
||||
CONFIG_SOC_CAMERA_OV9740=m
|
||||
CONFIG_V4L_MEM2MEM_DRIVERS=y
|
||||
# CONFIG_VIDEO_CSI_SUN4I is not set
|
||||
CONFIG_RADIO_SI470X=y
|
||||
CONFIG_USB_SI470X=m
|
||||
CONFIG_I2C_SI470X=m
|
||||
CONFIG_USB_MR800=m
|
||||
CONFIG_USB_DSBR=m
|
||||
CONFIG_RADIO_SI4713=m
|
||||
CONFIG_USB_KEENE=m
|
||||
CONFIG_RADIO_TEA5764=m
|
||||
CONFIG_RADIO_SAA7706H=m
|
||||
CONFIG_RADIO_TEF6862=m
|
||||
CONFIG_RADIO_WL1273=m
|
||||
CONFIG_AUDIO_ENGINE=y
|
||||
CONFIG_PA_CONTROL=y
|
||||
CONFIG_DRM=m
|
||||
CONFIG_DRM_MALI=m
|
||||
CONFIG_DRM_UDL=m
|
||||
CONFIG_MALI=m
|
||||
CONFIG_MALI400_DEBUG=y
|
||||
CONFIG_MALI400_GPU_UTILIZATION=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_SUNXI=y
|
||||
CONFIG_FB_SUNXI_LCD=y
|
||||
CONFIG_FB_SUNXI_HDMI=y
|
||||
CONFIG_HDMI_CEC=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
# CONFIG_LOGO_LINUX_CLUT224 is not set
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_SEQUENCER=m
|
||||
CONFIG_SND_MIXER_OSS=m
|
||||
CONFIG_SND_PCM_OSS=m
|
||||
CONFIG_SND_SEQUENCER_OSS=y
|
||||
CONFIG_SND_HRTIMER=m
|
||||
CONFIG_SND_VERBOSE_PRINTK=y
|
||||
CONFIG_SND_ALOOP=m
|
||||
CONFIG_SND_USB_AUDIO=m
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_SUNXI_SOC_SPDIF=y
|
||||
CONFIG_HIDRAW=y
|
||||
CONFIG_UHID=y
|
||||
CONFIG_HID_PID=y
|
||||
CONFIG_USB_HIDDEV=y
|
||||
CONFIG_HID_KYE=y
|
||||
CONFIG_HID_LOGITECH_DJ=y
|
||||
CONFIG_LOGITECH_FF=y
|
||||
# CONFIG_LOGIWHEELS_FF is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_ROOT_HUB_TT=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_STORAGE_REALTEK=y
|
||||
CONFIG_USB_STORAGE_DATAFAB=y
|
||||
CONFIG_USB_STORAGE_FREECOM=y
|
||||
CONFIG_USB_STORAGE_ISD200=y
|
||||
CONFIG_USB_STORAGE_USBAT=y
|
||||
CONFIG_USB_STORAGE_SDDR09=y
|
||||
CONFIG_USB_STORAGE_SDDR55=y
|
||||
CONFIG_USB_STORAGE_JUMPSHOT=y
|
||||
CONFIG_USB_STORAGE_ALAUDA=y
|
||||
CONFIG_USB_STORAGE_ONETOUCH=y
|
||||
CONFIG_USB_STORAGE_KARMA=y
|
||||
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
|
||||
CONFIG_USB_STORAGE_ENE_UB6250=y
|
||||
CONFIG_USB_SERIAL=y
|
||||
CONFIG_USB_SERIAL_CONSOLE=y
|
||||
CONFIG_USB_SERIAL_GENERIC=y
|
||||
CONFIG_USB_SERIAL_FTDI_SIO=m
|
||||
CONFIG_USB_SERIAL_PL2303=m
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_FILE_STORAGE=m
|
||||
CONFIG_USB_FILE_STORAGE_TEST=y
|
||||
CONFIG_MMC=y
|
||||
# CONFIG_MMC_BLOCK_BOUNCE is not set
|
||||
CONFIG_MMC_USHC=y
|
||||
CONFIG_MMC_SUNXI_POWER_CONTROL=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_SUNXI=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
|
||||
CONFIG_LEDS_TRIGGER_CPU=y
|
||||
CONFIG_LEDS_TRIGGER_GPIO=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_SUN4I=y
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_ANDROID=y
|
||||
CONFIG_ANDROID_BINDER_IPC=y
|
||||
CONFIG_ANDROID_LOGGER=y
|
||||
CONFIG_ANDROID_RAM_CONSOLE=y
|
||||
CONFIG_ANDROID_LOW_MEMORY_KILLER=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_EXT4_FS_POSIX_ACL=y
|
||||
CONFIG_EXT4_FS_SECURITY=y
|
||||
CONFIG_REISERFS_FS=y
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||
CONFIG_QFMT_V2=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_CUSE=y
|
||||
CONFIG_FSCACHE=y
|
||||
CONFIG_FSCACHE_STATS=y
|
||||
CONFIG_CACHEFILES=y
|
||||
CONFIG_ISO9660_FS=y
|
||||
CONFIG_JOLIET=y
|
||||
CONFIG_ZISOFS=y
|
||||
CONFIG_UDF_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
|
||||
CONFIG_NTFS_FS=y
|
||||
CONFIG_NTFS_RW=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_CONFIGFS_FS=y
|
||||
CONFIG_HFS_FS=y
|
||||
CONFIG_HFSPLUS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_NFS_V4_1=y
|
||||
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="y"
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NFS_USE_LEGACY_DNS=y
|
||||
CONFIG_NFSD=m
|
||||
CONFIG_NFSD_V3_ACL=y
|
||||
CONFIG_NFSD_V4=y
|
||||
CONFIG_NFSD_FAULT_INJECTION=y
|
||||
CONFIG_CIFS=y
|
||||
CONFIG_CIFS_DFS_UPCALL=y
|
||||
CONFIG_NLS_DEFAULT="utf8"
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_936=y
|
||||
CONFIG_NLS_CODEPAGE_950=y
|
||||
CONFIG_NLS_CODEPAGE_932=y
|
||||
CONFIG_NLS_CODEPAGE_949=y
|
||||
CONFIG_NLS_ASCII=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
# CONFIG_ENABLE_WARN_DEPRECATED is not set
|
||||
CONFIG_FRAME_WARN=2048
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_STRIP_ASM_SYMS=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
CONFIG_DEBUG_SECTION_MISMATCH=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_SHIRQ=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_SCHEDSTATS=y
|
||||
CONFIG_TIMER_STATS=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_DEBUG_LIST=y
|
||||
CONFIG_BOOT_PRINTK_DELAY=y
|
||||
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
|
||||
# CONFIG_FTRACE is not set
|
||||
CONFIG_DYNAMIC_DEBUG=y
|
||||
CONFIG_STRICT_DEVMEM=y
|
||||
CONFIG_DEBUG_LL=y
|
||||
CONFIG_SECURITYFS=y
|
||||
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
|
||||
CONFIG_CRYPTO_GF128MUL=y
|
||||
CONFIG_CRYPTO_SEQIV=y
|
||||
CONFIG_CRYPTO_SHA256=m
|
||||
CONFIG_CRYPTO_SHA512=m
|
||||
CONFIG_CRYPTO_AES=y
|
||||
CONFIG_CRYPTO_ZLIB=y
|
||||
CONFIG_CRYPTO_LZO=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
CONFIG_LIBCRC32C=y
|
||||
124
board/cubietech/cubieboard/mkcubiecard.sh
Executable file
124
board/cubietech/cubieboard/mkcubiecard.sh
Executable file
@@ -0,0 +1,124 @@
|
||||
#! /bin/sh
|
||||
# mkCubieCard.sh v0.1:
|
||||
# 2013, Carlo Caione <carlo.caione@gmail.com>
|
||||
# heavely based on :
|
||||
# mkA10card.sh v0.1
|
||||
# 2012, Jason Plum <jplum@archlinuxarm.org>
|
||||
# loosely based on :
|
||||
# mkcard.sh v0.5
|
||||
# (c) Copyright 2009 Graeme Gregory <dp@xora.org.uk>
|
||||
# Licensed under terms of GPLv2
|
||||
#
|
||||
# Parts of the procudure base on the work of Denys Dmytriyenko
|
||||
# http://wiki.omap.com/index.php/MMC_Boot_Format
|
||||
|
||||
IMAGES_DIR=$1
|
||||
SPL_IMG=$IMAGES_DIR/sunxi-spl.bin
|
||||
SPL_UBOOT=$IMAGES_DIR/u-boot-sunxi-with-spl.bin
|
||||
UBOOT_IMG=$IMAGES_DIR/u-boot.bin
|
||||
UIMAGE=$IMAGES_DIR/uImage
|
||||
BIN_BOARD_FILE=$IMAGES_DIR/script.bin
|
||||
ROOTFS=$IMAGES_DIR/rootfs.tar
|
||||
BOOT_CMD_H=$IMAGES_DIR/boot.scr
|
||||
|
||||
export LC_ALL=C
|
||||
|
||||
if [ $# -ne 2 ]; then
|
||||
echo "Usage: $0 <images_dir> <drive>"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ `id -u` -ne 0 ]; then
|
||||
echo "This script must be run as root" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f $SPL_IMG -a ! -f $SPL_UBOOT ] ||
|
||||
[ ! -f $UBOOT_IMG ] ||
|
||||
[ ! -f $UIMAGE ] ||
|
||||
[ ! -f $BIN_BOARD_FILE ] ||
|
||||
[ ! -f $ROOTFS ] ||
|
||||
[ ! -f $BOOT_CMD_H ]; then
|
||||
echo "File(s) missing."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DRIVE=$2
|
||||
P1=`mktemp -d`
|
||||
P2=`mktemp -d`
|
||||
|
||||
dd if=/dev/zero of=$DRIVE bs=1M count=3
|
||||
|
||||
SIZE=`fdisk -l $DRIVE | grep Disk | grep bytes | awk '{print $5}'`
|
||||
|
||||
echo DISK SIZE - $SIZE bytes
|
||||
|
||||
|
||||
# ~2048, 16MB, FAT, bootable
|
||||
# ~rest of drive, Ext4
|
||||
{
|
||||
echo 32,512,0x0C,*
|
||||
echo 544,,,-
|
||||
} | sfdisk -D $DRIVE
|
||||
|
||||
sleep 1
|
||||
|
||||
if [ -b ${DRIVE}1 ]; then
|
||||
D1=${DRIVE}1
|
||||
umount ${DRIVE}1
|
||||
mkfs.vfat -n "boot" ${DRIVE}1
|
||||
else
|
||||
if [ -b ${DRIVE}p1 ]; then
|
||||
D1=${DRIVE}p1
|
||||
umount ${DRIVE}p1
|
||||
mkfs.vfat -n "boot" ${DRIVE}p1
|
||||
else
|
||||
echo "Cant find boot partition in /dev"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [ -b ${DRIVE}2 ]; then
|
||||
D2=${DRIVE}2
|
||||
umount ${DRIVE}2
|
||||
mkfs.ext4 -L "Cubie" ${DRIVE}2
|
||||
else
|
||||
if [ -b ${DRIVE}p2 ]; then
|
||||
D2=${DRIVE}p2
|
||||
umount ${DRIVE}p2
|
||||
mkfs.ext4 -L "Cubie" ${DRIVE}p2
|
||||
else
|
||||
echo "Cant find rootfs partition in /dev"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
mount $D1 $P1
|
||||
mount $D2 $P2
|
||||
|
||||
# write uImage
|
||||
cp $UIMAGE $P1
|
||||
# write board file
|
||||
cp $BIN_BOARD_FILE $P1
|
||||
# write u-boot script
|
||||
cp $BOOT_CMD_H $P1
|
||||
# write rootfs
|
||||
tar -C $P2 -xvf $ROOTFS
|
||||
|
||||
sync
|
||||
|
||||
umount $D1
|
||||
umount $D2
|
||||
|
||||
rm -fr $P1
|
||||
rm -fr $P2
|
||||
|
||||
if [ -e $SPL_UBOOT ]; then
|
||||
dd if=$SPL_UBOOT of=$DRIVE bs=1024 seek=8
|
||||
else
|
||||
# write SPL
|
||||
dd if=$SPL_IMG of=$DRIVE bs=1024 seek=8
|
||||
# write mele u-boot
|
||||
dd if=$UBOOT_IMG of=$DRIVE bs=1024 seek=32
|
||||
fi
|
||||
14
board/cubietech/cubieboard/post-build.sh
Executable file
14
board/cubietech/cubieboard/post-build.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
# post-build.sh for CubieBoard
|
||||
# 2013, Carlo Caione <carlo.caione@gmail.com>
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
MKIMAGE=$HOST_DIR/usr/bin/mkimage
|
||||
BOOT_CMD=$BOARD_DIR/boot.cmd
|
||||
BOOT_CMD_H=$BINARIES_DIR/boot.scr
|
||||
|
||||
# U-Boot script
|
||||
if [ -e $MKIMAGE -a -e $BOOT_CMD ];
|
||||
then
|
||||
$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H
|
||||
fi
|
||||
62
board/cubietech/cubieboard/readme.txt
Normal file
62
board/cubietech/cubieboard/readme.txt
Normal file
@@ -0,0 +1,62 @@
|
||||
cubieboard and cubieboard2
|
||||
|
||||
-----
|
||||
Intro
|
||||
-----
|
||||
|
||||
To be able to use your cubieboard board with the images generated by
|
||||
Buildroot you have to correctly setup the SD card.
|
||||
|
||||
For more information, please see http://linux-sunxi.org/FirstSteps
|
||||
|
||||
---------------
|
||||
How to build it
|
||||
---------------
|
||||
|
||||
You need to use the cubieboard_defconfig or cubieboard2_defconfig, to do so:
|
||||
* make cubieboard_defconfig
|
||||
or
|
||||
* make cubieboard2_defconfig
|
||||
|
||||
And to compile:
|
||||
* make
|
||||
|
||||
-----------------
|
||||
What is generated
|
||||
-----------------
|
||||
|
||||
After building, you should obtain this tree:
|
||||
|
||||
output/images/
|
||||
+-- rootfs.tar
|
||||
+-- boot.scr
|
||||
+-- script.bin
|
||||
+-- sunxi-spl.bin
|
||||
+-- u-boot.bin
|
||||
+-- u-boot-sunxi-with-spl.bin (optional)
|
||||
`-- uImage
|
||||
|
||||
--------------------------
|
||||
How setting up the SD card
|
||||
--------------------------
|
||||
|
||||
Depending on the rootfs size, you might want to use a 2GB or larger SD-card.
|
||||
The script mkcubiecard.sh will take care of partitioning and formatting
|
||||
the SD-card.
|
||||
|
||||
BEWARE! This process will erase your SD card.
|
||||
|
||||
Use dmesg to find out where the SD card is attached in the /dev tree
|
||||
(<device>) and then:
|
||||
|
||||
# sudo ./mkcubiecard.sh <images_dir> <device>
|
||||
|
||||
where:
|
||||
- <images_dir> is the directory containing the generated files (usually
|
||||
output/images)
|
||||
- <device> is the device file of the SD card (usually /dev/sdX)
|
||||
|
||||
|
||||
|
||||
--
|
||||
Carlo Caione <carlo.caione@gmail.com>
|
||||
@@ -1,29 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"BOOT.BIN",
|
||||
"uEnv.txt",
|
||||
"system.bit",
|
||||
"zynq-zybo.dtb",
|
||||
"u-boot-dtb.img",
|
||||
"uImage"
|
||||
}
|
||||
}
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
OUTPUT_DIR="${O}/images"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
cp board/digilent/zybo/uEnv.txt ${BINARIES_DIR}
|
||||
cp board/digilent/zybo/system.bit ${BINARIES_DIR}
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
@@ -1,76 +0,0 @@
|
||||
Digilent Zybo
|
||||
=============
|
||||
|
||||
This is the Buildroot board support for the Digilent Zybo. The Zybo is
|
||||
a development board based on the Xilinx Zynq-7000 based All-Programmable
|
||||
System-On-Chip.
|
||||
|
||||
Zybo information including schematics, reference designs, and manuals are
|
||||
available from http://store.digilentinc.com/zybo-zynq-7000-arm-fpga-soc-trainer-board/ .
|
||||
|
||||
If you want a custom FPGA bitstream to be loaded by U-Boot, copy it as
|
||||
system.bit in board/digilent/zybo/.
|
||||
|
||||
Steps to create a working system for Zybo:
|
||||
|
||||
1) make zynq_zybo_defconfig
|
||||
2) make
|
||||
3) write your SD Card with the sdcard.img file using dd by doing
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
4) insert the SD Card and power up your Zybo
|
||||
5) Expect serial console on the second USB serial port exposed by the board
|
||||
|
||||
The expected output:
|
||||
|
||||
U-Boot SPL 2016.05 (May 20 2016 - 16:16:24)
|
||||
mmc boot
|
||||
Trying to boot from MMC1
|
||||
reading system.dtb
|
||||
spl_load_image_fat_os: error reading image system.dtb, err - -1
|
||||
reading u-boot-dtb.img
|
||||
reading u-boot-dtb.img
|
||||
|
||||
|
||||
U-Boot 2016.05 (May 20 2016 - 16:16:24 +0200)
|
||||
|
||||
Model: Zynq ZYBO Development Board
|
||||
Board: Xilinx Zynq
|
||||
I2C: ready
|
||||
DRAM: ECC disabled 512 MiB
|
||||
MMC: sdhci@e0100000: 0
|
||||
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB
|
||||
In: serial@e0001000
|
||||
Out: serial@e0001000
|
||||
Err: serial@e0001000
|
||||
Model: Zynq ZYBO Development Board
|
||||
Board: Xilinx Zynq
|
||||
Net: ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
|
||||
I2C EEPROM MAC address read failed
|
||||
|
||||
Warning: ethernet@e000b000 (eth0) using random MAC address - 56:64:dd:a7:6d:94
|
||||
eth0: ethernet@e000b000
|
||||
...
|
||||
|
||||
Resulting system
|
||||
----------------
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
The first partition is a FAT32 partition created at the beginning of the SD Card
|
||||
that contains the following files :
|
||||
/BOOT.BIN
|
||||
/zynq-zybo.dtb
|
||||
/uEnv.txt
|
||||
/system.bit
|
||||
/uImage
|
||||
/u-boot-dtb.img
|
||||
|
||||
The second partition is an ext4 partition that contains the root filesystem.
|
||||
|
||||
You can alter the booting procedure by modifying the uEnv.txt file
|
||||
in first partition of the SD card. It is a plain text file in format
|
||||
<key>=<value> one per line:
|
||||
|
||||
kernel_image=myimage
|
||||
modeboot=myboot
|
||||
myboot=...
|
||||
@@ -1,5 +0,0 @@
|
||||
bootargs=root=/dev/mmcblk0p2 rootwait rw rootfstype=ext4
|
||||
fpga_image=system.bit
|
||||
fpgaboot=if fatload mmc 0 0x1000000 ${fpga_image}; then echo Booting FPGA from ${fpga_image}; fpga info 0 && fpga loadb 0 0x1000000 $filesize; else echo FPGA image ${fpga_image} was not found, skipping...; fi;
|
||||
kernel_image=uImage
|
||||
sdboot=echo Booting from SD...; run fpgaboot; fatload mmc 0 0x1000000 ${kernel_image} && fatload mmc 0 0x2000000 zynq-zybo.dtb && bootm 0x1000000 - 0x2000000
|
||||
@@ -1,54 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#
|
||||
# dtb_list extracts the list of DTB files from BR2_LINUX_KERNEL_INTREE_DTS_NAME
|
||||
# in ${BR_CONFIG}, then prints the corresponding list of file names for the
|
||||
# genimage configuration file
|
||||
#
|
||||
dtb_list()
|
||||
{
|
||||
local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
|
||||
|
||||
for dt in $DTB_LIST; do
|
||||
echo -n "\"$dt.dtb\", "
|
||||
done
|
||||
}
|
||||
|
||||
#
|
||||
# linux_image extracts the Linux image format from BR2_LINUX_KERNEL_UIMAGE in
|
||||
# ${BR_CONFIG}, then prints the corresponding file name for the genimage
|
||||
# configuration file
|
||||
#
|
||||
linux_image()
|
||||
{
|
||||
if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
|
||||
echo "\"uImage\""
|
||||
else
|
||||
echo "\"zImage\""
|
||||
fi
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
local FILES="$(dtb_list) $(linux_image)"
|
||||
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
|
||||
local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
sed -e "s/%FILES%/${FILES}/" \
|
||||
board/freescale/common/imx/genimage.cfg.template > ${GENIMAGE_CFG}
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
|
||||
rm -f ${GENIMAGE_CFG}
|
||||
|
||||
exit $?
|
||||
}
|
||||
|
||||
main $@
|
||||
@@ -1,39 +0,0 @@
|
||||
# Minimal SD card image for the Freescale MX23/MX28 Template
|
||||
#
|
||||
# We mimic the .sdcard Freescale's MX23/MX28 image format:
|
||||
# * u-boot.sb is placed at offset 1M,
|
||||
# * a FAT partition at offset 16 MB is containing zImage/uImage and DTB files
|
||||
# * a single root filesystem partition is required (ext2, ext3 or ext4)
|
||||
#
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
%FILES%
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
partition-type = 0x53
|
||||
image = "u-boot.sd"
|
||||
offset = 1M
|
||||
size = 16M
|
||||
}
|
||||
|
||||
partition kernel {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#
|
||||
# dtb_list extracts the list of DTB files from BR2_LINUX_KERNEL_INTREE_DTS_NAME
|
||||
# in ${BR_CONFIG}, then prints the corresponding list of file names for the
|
||||
# genimage configuration file
|
||||
#
|
||||
dtb_list()
|
||||
{
|
||||
local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
|
||||
|
||||
for dt in $DTB_LIST; do
|
||||
echo -n "\"$dt.dtb\", "
|
||||
done
|
||||
}
|
||||
|
||||
#
|
||||
# linux_image extracts the Linux image format from BR2_LINUX_KERNEL_UIMAGE in
|
||||
# ${BR_CONFIG}, then prints the corresponding file name for the genimage
|
||||
# configuration file
|
||||
#
|
||||
linux_image()
|
||||
{
|
||||
if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
|
||||
echo "\"uImage\""
|
||||
else
|
||||
echo "\"zImage\""
|
||||
fi
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
local FILES="$(dtb_list) $(linux_image)"
|
||||
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
|
||||
local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
sed -e "s/%FILES%/${FILES}/" \
|
||||
board/freescale/common/mxs/genimage.cfg.template > ${GENIMAGE_CFG}
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
|
||||
rm -f ${GENIMAGE_CFG}
|
||||
|
||||
exit $?
|
||||
}
|
||||
|
||||
main $@
|
||||
93
board/freescale/create-boot-sd.sh
Executable file
93
board/freescale/create-boot-sd.sh
Executable file
@@ -0,0 +1,93 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -u
|
||||
set -e
|
||||
|
||||
PROGNAME=$(basename $0)
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Create an SD card that boots on an i.MX53/6 board."
|
||||
echo
|
||||
echo "Note: all data on the the card will be completely deleted!"
|
||||
echo "Use with care!"
|
||||
echo "Superuser permissions may be required to write to the device."
|
||||
echo
|
||||
echo "Usage: ${PROGNAME} <sd_block_device>"
|
||||
echo "Arguments:"
|
||||
echo " <sd_block_device> The device to be written to"
|
||||
echo
|
||||
echo "Example: ${PROGNAME} /dev/mmcblk0"
|
||||
echo
|
||||
}
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $(id -u) -ne 0 ]; then
|
||||
echo "${PROGNAME} must be run as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DEV=${1}
|
||||
|
||||
# The partition name prefix depends on the device name:
|
||||
# - /dev/sde -> /dev/sde1
|
||||
# - /dev/mmcblk0 -> /dev/mmcblk0p1
|
||||
if echo ${DEV}|grep -q mmcblk ; then
|
||||
PART="p"
|
||||
else
|
||||
PART=""
|
||||
fi
|
||||
|
||||
PART1=${DEV}${PART}1
|
||||
PART2=${DEV}${PART}2
|
||||
|
||||
# Unmount the partitions if mounted
|
||||
umount ${PART1} || true
|
||||
umount ${PART2} || true
|
||||
|
||||
# First, clear the card
|
||||
dd if=/dev/zero of=${DEV} bs=1M count=20
|
||||
|
||||
sync
|
||||
|
||||
# Partition the card.
|
||||
# SD layout for i.MX6 boot:
|
||||
# - Bootloader at offset 1024
|
||||
# - FAT partition starting at 1MB offset, containing uImage and *.dtb
|
||||
# - ext2/3 partition formatted as ext2 or ext3, containing the root filesystem.
|
||||
sfdisk ${DEV} <<EOF
|
||||
32,480,b
|
||||
512,,L
|
||||
EOF
|
||||
|
||||
sync
|
||||
|
||||
# Copy the bootloader at offset 1024
|
||||
dd if=output/images/u-boot.imx of=${DEV} obs=512 seek=2
|
||||
|
||||
# Prepare a temp dir for mounting partitions
|
||||
TMPDIR=$(mktemp -d)
|
||||
|
||||
# FAT partition: kernel and DTBs
|
||||
mkfs.vfat ${PART1}
|
||||
mount ${PART1} ${TMPDIR}
|
||||
cp output/images/*Image ${TMPDIR}/
|
||||
cp output/images/*.dtb ${TMPDIR}/ || true
|
||||
sync
|
||||
umount ${TMPDIR}
|
||||
|
||||
# ext2 partition: root filesystem
|
||||
mkfs.ext2 ${PART2}
|
||||
mount ${PART2} ${TMPDIR}
|
||||
tar -C ${TMPDIR}/ -xf output/images/rootfs.tar
|
||||
sync
|
||||
umount ${TMPDIR}
|
||||
|
||||
# Cleanup
|
||||
rmdir ${TMPDIR}
|
||||
sync
|
||||
echo Done
|
||||
@@ -1,48 +0,0 @@
|
||||
**************************
|
||||
Freescale i.MX23 EVK board
|
||||
**************************
|
||||
|
||||
This file documents the Buildroot support for the Freescale i.MX23 EVK board.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for your i.MX23 EVK board:
|
||||
|
||||
make imx23evk_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find in output/images/ directory the following files:
|
||||
- imx23-evk.dtb
|
||||
- rootfs.tar
|
||||
- u-boot.sd
|
||||
- zImage
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
To determine the device associated to the SD card have a look in the
|
||||
/proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Then, run the following command:
|
||||
|
||||
*** WARNING! The command will destroy all the card content. Use with care! ***
|
||||
|
||||
sudo dd if=output/images/sdcard.img of=/dev/<your-microsd-device>
|
||||
|
||||
Boot the i.MX23 EVK board
|
||||
=========================
|
||||
|
||||
- Put the Boot Mode Select jumper as 1 0 0 1 so that it can boot
|
||||
from the SD card
|
||||
- Insert the SD card in the SD Card slot of the board;
|
||||
- Connect an RS232 UART cable to the Debug UART Port and connect using a
|
||||
terminal emulator at 115200 bps, 8n1;
|
||||
- power on the board.
|
||||
|
||||
Enjoy!
|
||||
@@ -1,16 +1,17 @@
|
||||
# Minimal SD card image for the Freescale boards Template
|
||||
# Minimal SD card image for the Freescale's i.MX25 PDK board
|
||||
#
|
||||
# We mimic the .sdcard Freescale's image format:
|
||||
# We mimic the .sdcard Freescale's image format for i.MX25:
|
||||
# * the SD card must have 1 kB free space at the beginning,
|
||||
# * U-Boot is dumped as is,
|
||||
# * a FAT partition at offset 8 MB is containing zImage/uImage and DTB files
|
||||
# * a single root filesystem partition is required (ext2, ext3 or ext4)
|
||||
# * a FAT partition at offset 8 MB is containing zImage and dtbs,
|
||||
# * a single root filesystem partition is required (Ext4 in this case).
|
||||
#
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
%FILES%
|
||||
"imx25-pdk.dtb",
|
||||
"zImage"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
@@ -35,6 +36,6 @@ image sdcard.img {
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -40,7 +40,7 @@ command as root:
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/freescale/common/imx/genimage.cfg.template.
|
||||
board/freescale/imx25pdk/genimage.cfg.
|
||||
|
||||
Boot the i.MX25 PDK board
|
||||
=========================
|
||||
|
||||
97
board/freescale/imx28evk/create-boot-sd.sh
Executable file
97
board/freescale/imx28evk/create-boot-sd.sh
Executable file
@@ -0,0 +1,97 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -u
|
||||
set -e
|
||||
|
||||
PROGNAME=$(basename $0)
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Create an SD card that boots on an i.MX28 EVK board."
|
||||
echo
|
||||
echo "Note: all data on the the card will be completely deleted!"
|
||||
echo "Use with care!"
|
||||
echo "Superuser permissions may be required to write to the device."
|
||||
echo
|
||||
echo "Usage: ${PROGNAME} <sd_block_device>"
|
||||
echo "Arguments:"
|
||||
echo " <sd_block_device> The device to be written to"
|
||||
echo
|
||||
echo "Example: ${PROGNAME} /dev/mmcblk0"
|
||||
echo
|
||||
}
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $(id -u) -ne 0 ]; then
|
||||
echo "${PROGNAME} must be run as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DEV=${1}
|
||||
|
||||
# The partition name prefix depends on the device name:
|
||||
# - /dev/sde -> /dev/sde1
|
||||
# - /dev/mmcblk0 -> /dev/mmcblk0p1
|
||||
if echo ${DEV}|grep -q mmcblk ; then
|
||||
PART="p"
|
||||
else
|
||||
PART=""
|
||||
fi
|
||||
|
||||
PART1=${DEV}${PART}1
|
||||
PART2=${DEV}${PART}2
|
||||
PART3=${DEV}${PART}3
|
||||
|
||||
# Unmount the partitions if mounted
|
||||
umount ${PART1} || true
|
||||
umount ${PART2} || true
|
||||
umount ${PART3} || true
|
||||
|
||||
# First, clear the card
|
||||
dd if=/dev/zero of=${DEV} bs=1M count=20
|
||||
|
||||
sync
|
||||
|
||||
# Partition the card.
|
||||
# SD layout for i.MX28 boot:
|
||||
# - Special partition type 53 at sector 2048, containing an SD-SB-encapsulated u-boot
|
||||
# - FAT partition containing zImage
|
||||
# - ext2/3 partition formatted as ext2 or ext3, containing the root filesystem.
|
||||
sfdisk --force -u S ${DEV} <<EOF
|
||||
2048,2000,53
|
||||
4048,16000,b
|
||||
20048,,L
|
||||
EOF
|
||||
|
||||
sync
|
||||
|
||||
# Copy the bootloader at offset 2048
|
||||
# (We need to skip the partition table in the .sd, too.)
|
||||
dd if=output/images/u-boot.sd of=${DEV}1 bs=1M
|
||||
|
||||
# Prepare a temp dir for mounting partitions
|
||||
TMPDIR=$(mktemp -d)
|
||||
|
||||
# FAT partition: kernel
|
||||
mkfs.vfat ${PART2}
|
||||
mount ${PART2} ${TMPDIR}
|
||||
cp output/images/*Image ${TMPDIR}/
|
||||
cp output/images/*.dtb ${TMPDIR}/ || true
|
||||
sync
|
||||
umount ${TMPDIR}
|
||||
|
||||
# ext2 partition: root filesystem
|
||||
mkfs.ext2 ${PART3}
|
||||
mount ${PART3} ${TMPDIR}
|
||||
tar -C ${TMPDIR}/ -xf output/images/rootfs.tar
|
||||
sync
|
||||
umount ${TMPDIR}
|
||||
|
||||
# Cleanup
|
||||
rmdir ${TMPDIR}
|
||||
sync
|
||||
echo Done
|
||||
@@ -32,11 +32,12 @@ To determine the device associated to the SD card have a look in the
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Then, run the following command as root:
|
||||
Run the following script as root on your SD card. This will partition the card
|
||||
and copy the bootloader, kernel and root filesystem as needed.
|
||||
|
||||
*** WARNING! The command will destroy all the card content. Use with care! ***
|
||||
*** WARNING! The script will destroy all the card content. Use with care! ***
|
||||
|
||||
sudo dd if=output/images/sdcard.img of=/dev/<your-microsd-device>
|
||||
./board/freescale/imx28evk/create-boot-sd.sh <your-sd-device>
|
||||
|
||||
Boot the i.MX28 EVK board
|
||||
=========================
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
# CONFIG_FB_MXS is not set
|
||||
41
board/freescale/imx51evk/genimage.cfg
Normal file
41
board/freescale/imx51evk/genimage.cfg
Normal file
@@ -0,0 +1,41 @@
|
||||
# Minimal SD card image for the Freescale's i.MX51 EVK board
|
||||
#
|
||||
# We mimic the .sdcard Freescale's image format for i.MX51:
|
||||
# * the microSD card must have 1 kB free space at the beginning,
|
||||
# * U-Boot is dumped as is,
|
||||
# * a FAT partition at offset 8 MB is containing zImage and dtbs,
|
||||
# * a single root filesystem partition is required (Ext4 in this case).
|
||||
#
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"imx51-babbage.dtb",
|
||||
"zImage"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.imx"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -40,7 +40,7 @@ command as root:
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/freescale/common/imx/genimage.cfg.template.
|
||||
board/freescale/imx51evk/genimage.cfg.
|
||||
|
||||
Boot the i.MX51 EVK board
|
||||
=========================
|
||||
|
||||
42
board/freescale/imx53loco/genimage.cfg
Normal file
42
board/freescale/imx53loco/genimage.cfg
Normal file
@@ -0,0 +1,42 @@
|
||||
# Minimal microSD card image for the Freescale's i.MX53 QSB board
|
||||
#
|
||||
# We mimic the .sdcard Freescale's image format for i.MX53:
|
||||
# * the microSD card must have 1 kB free space at the beginning,
|
||||
# * U-Boot is dumped as is,
|
||||
# * a FAT partition at offset 8 MB is containing zImage and dtbs,
|
||||
# * a single root filesystem partition is required (Ext4 in this case).
|
||||
#
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"imx53-qsb.dtb",
|
||||
"imx53-qsrb.dtb",
|
||||
"zImage"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.imx"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user