mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-11 14:10:13 +03:00
Compare commits
1 Commits
2017.02.1
...
2009.02_rc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aec9917038 |
@@ -6,6 +6,7 @@ BR2_HAVE_DOT_CONFIG=y
|
||||
# BR2_alpha is not set
|
||||
# BR2_arm is not set
|
||||
# BR2_armeb is not set
|
||||
# BR2_avr32 is not set
|
||||
# BR2_cris is not set
|
||||
# BR2_ia64 is not set
|
||||
BR2_i386=y
|
||||
@@ -15,9 +16,11 @@ 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
|
||||
# BR2_x86_i386 is not set
|
||||
# BR2_x86_i486 is not set
|
||||
# BR2_x86_i586 is not set
|
||||
BR2_x86_i686=y
|
||||
|
||||
15
.gitignore
vendored
15
.gitignore
vendored
@@ -1,15 +0,0 @@
|
||||
/output
|
||||
/dl
|
||||
/.auto.deps
|
||||
/.config.cmd
|
||||
/.config.old
|
||||
/..config.tmp
|
||||
/.config
|
||||
*.depend
|
||||
*.o
|
||||
/*.patch
|
||||
/*.diff
|
||||
*.orig
|
||||
*.rej
|
||||
*~
|
||||
*.pyc
|
||||
355
COPYING
355
COPYING
@@ -1,355 +0,0 @@
|
||||
With the exceptions below, Buildroot is distributed under the terms of
|
||||
the GNU General Public License, reproduced below; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
Some files in Buildroot contain a different license statement. Those
|
||||
files are licensed under the license contained in the file itself.
|
||||
|
||||
Buildroot also bundles patch files, which are applied to the sources
|
||||
of the various packages. Those patches are not covered by the license
|
||||
of Buildroot. Instead, they are covered by the license of the software
|
||||
to which the patches are applied. When said software is available
|
||||
under multiple licenses, the Buildroot patches are only provided under
|
||||
the publicly accessible licenses.
|
||||
|
||||
-----------------------------------------------------------------
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
769
Config.in
769
Config.in
@@ -1,6 +1,6 @@
|
||||
#
|
||||
|
||||
mainmenu "Buildroot $BR2_VERSION Configuration"
|
||||
mainmenu "Buildroot2 Configuration"
|
||||
|
||||
config BR2_HAVE_DOT_CONFIG
|
||||
bool
|
||||
@@ -8,136 +8,36 @@ config BR2_HAVE_DOT_CONFIG
|
||||
|
||||
config BR2_VERSION
|
||||
string
|
||||
option env="BR2_VERSION_FULL"
|
||||
default "2009.02-rc2"
|
||||
|
||||
config BR2_HOSTARCH
|
||||
string
|
||||
option env="HOSTARCH"
|
||||
|
||||
config BR2_BUILD_DIR
|
||||
string
|
||||
option env="BUILD_DIR"
|
||||
|
||||
# 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
|
||||
default y if BR2_HOST_GCC_VERSION = "4 7"
|
||||
select BR2_HOST_GCC_AT_LEAST_4_6
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_4_8
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "4 8"
|
||||
select BR2_HOST_GCC_AT_LEAST_4_7
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_4_9
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "4 9"
|
||||
select BR2_HOST_GCC_AT_LEAST_4_8
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_5
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "5"
|
||||
select BR2_HOST_GCC_AT_LEAST_4_9
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_6
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "6"
|
||||
select BR2_HOST_GCC_AT_LEAST_5
|
||||
|
||||
# Hidden boolean selected by packages in need of Java in order to build
|
||||
# (example: xbmc)
|
||||
config BR2_NEEDS_HOST_JAVA
|
||||
bool
|
||||
|
||||
# Hidden boolean selected by packages in need of javac in order to build
|
||||
# (example: classpath)
|
||||
config BR2_NEEDS_HOST_JAVAC
|
||||
bool
|
||||
|
||||
# Hidden boolean selected by packages in need of jar in order to build
|
||||
# (example: classpath)
|
||||
config BR2_NEEDS_HOST_JAR
|
||||
bool
|
||||
|
||||
# Hidden boolean selected by pre-built packages for x86, when they
|
||||
# need to run on x86-64 machines (example: pre-built external
|
||||
# toolchains, binary tools like SAM-BA, etc.).
|
||||
config BR2_HOSTARCH_NEEDS_IA32_LIBS
|
||||
bool
|
||||
|
||||
# Hidden boolean selected by packages that need to build 32 bits
|
||||
# binaries with the host compiler, even on 64 bits build machines (e.g
|
||||
# bootloaders).
|
||||
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"
|
||||
source "target/Config.in.arch"
|
||||
source "target/device/Config.in"
|
||||
|
||||
menu "Build options"
|
||||
|
||||
menu "Commands"
|
||||
|
||||
config BR2_WGET
|
||||
string "Wget command"
|
||||
default "wget --passive-ftp -nd -t 3"
|
||||
default "wget --passive-ftp -nd"
|
||||
|
||||
config BR2_SVN
|
||||
string "Subversion (svn) command"
|
||||
default "svn"
|
||||
config BR2_SVN_CO
|
||||
string "Subversion (svn) command to download source tree"
|
||||
default "svn co"
|
||||
|
||||
config BR2_BZR
|
||||
string "Bazaar (bzr) command"
|
||||
default "bzr"
|
||||
config BR2_SVN_UP
|
||||
string "Subversion (svn) command to update source tree"
|
||||
default "svn up"
|
||||
|
||||
config BR2_GIT
|
||||
string "Git command"
|
||||
default "git"
|
||||
|
||||
config BR2_CVS
|
||||
string "CVS command"
|
||||
default "cvs"
|
||||
|
||||
config BR2_LOCALFILES
|
||||
string "Local files retrieval command"
|
||||
default "cp"
|
||||
|
||||
config BR2_SCP
|
||||
string "Secure copy (scp) command"
|
||||
default "scp"
|
||||
|
||||
config BR2_SSH
|
||||
string "Secure shell (ssh) command"
|
||||
default "ssh"
|
||||
|
||||
config BR2_HG
|
||||
string "Mercurial (hg) command"
|
||||
default "hg"
|
||||
string "Git command to download source tree"
|
||||
default "git clone"
|
||||
|
||||
config BR2_ZCAT
|
||||
string "zcat command"
|
||||
default "gzip -d -c"
|
||||
help
|
||||
Command to be used to extract a gzip'ed file to stdout. zcat
|
||||
is identical to gunzip -c except that the former may not be
|
||||
available on your system.
|
||||
Command to be used to extract a gzip'ed file to stdout.
|
||||
zcat is identical to gunzip -c except that the former may
|
||||
not be available on your system.
|
||||
Default is "gzip -d -c"
|
||||
Other possible values include "gunzip -c" or "zcat".
|
||||
|
||||
@@ -151,20 +51,6 @@ config BR2_BZCAT
|
||||
Default is "bzcat"
|
||||
Other possible values include "bunzip2 -c" or "bzip2 -d -c".
|
||||
|
||||
config BR2_XZCAT
|
||||
string "xzcat command"
|
||||
default "xzcat"
|
||||
help
|
||||
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 ""
|
||||
@@ -173,216 +59,140 @@ config BR2_TAR_OPTIONS
|
||||
E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
|
||||
and to be verbose.
|
||||
|
||||
endmenu
|
||||
|
||||
config BR2_DEFCONFIG_FROM_ENV
|
||||
string
|
||||
option env="BR2_DEFCONFIG"
|
||||
|
||||
config BR2_DEFCONFIG
|
||||
string "Location to save buildroot config"
|
||||
default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
|
||||
default "$(CONFIG_DIR)/defconfig"
|
||||
help
|
||||
When running 'make savedefconfig', the defconfig file will be
|
||||
saved in this location.
|
||||
|
||||
config BR2_DL_DIR
|
||||
string "Download dir"
|
||||
default "$(TOPDIR)/dl"
|
||||
default "$(BASE_DIR)/dl"
|
||||
help
|
||||
Directory to store all the source files that we need to fetch.
|
||||
If the Linux shell environment has defined the BR2_DL_DIR
|
||||
environment variable, then this overrides this configuration
|
||||
item.
|
||||
If the Linux shell environment has defined the BUILDROOT_DL_DIR
|
||||
environment variable, then this overrides this configuration item.
|
||||
|
||||
The default is $(TOPDIR)/dl
|
||||
The default is $(BASE_DIR)/dl
|
||||
|
||||
config BR2_HOST_DIR
|
||||
string "Host dir"
|
||||
default "$(BASE_DIR)/host"
|
||||
source "target/device/Config.in.mirrors"
|
||||
|
||||
config BR2_STAGING_DIR
|
||||
string "Toolchain and header file location?"
|
||||
default "$(BUILD_DIR)/staging_dir"
|
||||
help
|
||||
Directory to store all the binary files that are built for the
|
||||
host. This includes the cross compilation toolchain when
|
||||
building the internal buildroot toolchain.
|
||||
This is the location where the toolchain will be installed. The
|
||||
toolchain will not work if it is moved from this location.
|
||||
Therefore, if you wish to package up a uClibc toolchain, it is
|
||||
important that is is set to the final location where the toolchain
|
||||
will be used.
|
||||
|
||||
The default is $(BASE_DIR)/host
|
||||
Most people will leave this set to the default value of
|
||||
"$(BUILD_DIR)/staging_dir".
|
||||
|
||||
menu "Mirrors and Download locations"
|
||||
config BR2_FPU_SUFFIX
|
||||
bool "Add '_nofpu' suffix for softfloat toolchains"
|
||||
help
|
||||
If the toolchain is configured to use softfloat, then
|
||||
the "_nofpu" suffix will be added to the toolchain build
|
||||
directory name and to any rootfs image name
|
||||
|
||||
config BR2_PRIMARY_SITE
|
||||
string "Primary download site"
|
||||
config BR2_TOPDIR_PREFIX
|
||||
string "Custom build dir prefix"
|
||||
default ""
|
||||
help
|
||||
Primary site to download from. If this option is set then
|
||||
buildroot will try to download package source first from this
|
||||
site and try the default if the file is not found.
|
||||
Valid URIs are:
|
||||
- URIs recognized by $(WGET)
|
||||
- local URIs of the form file://absolutepath
|
||||
- scp URIs of the form scp://[user@]host:path.
|
||||
Add a custom string to the beginning of the build directories.
|
||||
|
||||
config BR2_PRIMARY_SITE_ONLY
|
||||
bool "Only allow downloads from primary download site"
|
||||
depends on BR2_PRIMARY_SITE != ""
|
||||
build_ARCH -> [PREFIX]_build_ARCH
|
||||
toolchain_build_ARCH -> [PREFIX]_toolchain_build_ARCH
|
||||
|
||||
config BR2_TOPDIR_SUFFIX
|
||||
string "Custom build dir suffix"
|
||||
default ""
|
||||
help
|
||||
If this option is enabled, downloads will only be attempted
|
||||
from the primary download site. Other locations, like the
|
||||
package's official download location or the backup download
|
||||
site, will not be considered. Therefore, if the package is not
|
||||
present on the primary site, the download fails.
|
||||
Add a custom string to the end of the build directories.
|
||||
|
||||
This is useful for project developers who want to ensure that
|
||||
the project can be built even if the upstream tarball
|
||||
locations disappear.
|
||||
build_ARCH -> build_ARCH_[SUFFIX]
|
||||
toolchain_build_ARCH -> toolchain_build_ARCH_[SUFFIX]
|
||||
|
||||
if !BR2_PRIMARY_SITE_ONLY
|
||||
|
||||
config BR2_BACKUP_SITE
|
||||
string "Backup download site"
|
||||
default "http://sources.buildroot.net"
|
||||
config BR2_ROOTFS_PREFIX
|
||||
string "Custom root fs prefix"
|
||||
default "rootfs"
|
||||
help
|
||||
Backup site to download from. If this option is set then
|
||||
buildroot will fall back to download package sources from here
|
||||
if the normal location fails.
|
||||
Add a custom string to the beginning of the root file system name.
|
||||
|
||||
config BR2_KERNEL_MIRROR
|
||||
string "Kernel.org mirror"
|
||||
default "https://cdn.kernel.org/pub"
|
||||
config BR2_ROOTFS_SUFFIX
|
||||
string "Custom root fs suffix"
|
||||
default ""
|
||||
help
|
||||
kernel.org is mirrored on a number of servers around the
|
||||
world. The following allows you to select your preferred
|
||||
mirror. By default, a CDN is used, which automatically
|
||||
redirects to a mirror geographically close to you.
|
||||
Add a custom string to the end of the root file system name.
|
||||
|
||||
Have a look on the kernel.org site for a list of mirrors, then
|
||||
enter the URL to the base directory. Examples:
|
||||
|
||||
http://www.XX.kernel.org/pub (XX = country code)
|
||||
http://mirror.aarnet.edu.au/pub/ftp.kernel.org
|
||||
|
||||
config BR2_GNU_MIRROR
|
||||
string "GNU Software mirror"
|
||||
default "http://ftpmirror.gnu.org"
|
||||
config BR2_GNU_BUILD_SUFFIX
|
||||
string "GNU build hostname suffix"
|
||||
default "pc-linux-gnu"
|
||||
help
|
||||
GNU has multiple software mirrors scattered around the
|
||||
world. The following allows you to select your preferred
|
||||
mirror. By default, a generic address is used, which
|
||||
automatically selects an up-to-date and local mirror.
|
||||
The string used to pass to configure scripts via the
|
||||
--build= option. Just specify the suffix here, the leading
|
||||
arch will be filled in automatically.
|
||||
|
||||
Have a look on the gnu.org site for a list of mirrors, then
|
||||
enter the URL to the base directory. Examples:
|
||||
Here's some copy and paste build host options for you:
|
||||
linux: pc-linux-gnu
|
||||
cygwin: pc-cygwin
|
||||
os x: apple-darwin7 / apple-darwin8
|
||||
|
||||
http://ftp.gnu.org/pub/gnu
|
||||
http://mirror.aarnet.edu.au/pub/gnu
|
||||
|
||||
config BR2_LUAROCKS_MIRROR
|
||||
string "LuaRocks mirror"
|
||||
default "http://rocks.moonscript.org"
|
||||
config BR2_GNU_TARGET_SUFFIX
|
||||
string "GNU target suffix"
|
||||
default "linux-uclibcgnueabi" if BR2_ARM_EABI
|
||||
default "linux-uclibc"
|
||||
help
|
||||
LuaRocks repository.
|
||||
The string used to pass to configure scripts via the
|
||||
--target= option. Just specify the suffix here, the leading
|
||||
arch will be filled in automatically.
|
||||
|
||||
See http://luarocks.org
|
||||
Most users will want to stick with the default setting, though
|
||||
other users (most notably ARM EABI) like to add on to this in
|
||||
order to stay in line with gcc conventions.
|
||||
|
||||
config BR2_CPAN_MIRROR
|
||||
string "CPAN mirror (Perl packages)"
|
||||
default "http://cpan.metacpan.org"
|
||||
help
|
||||
CPAN (Comprehensive Perl Archive Network) is a repository of
|
||||
Perl packages. It has multiple software mirrors scattered
|
||||
around the world. This option allows you to select a mirror.
|
||||
|
||||
The list of mirrors is available at:
|
||||
http://search.cpan.org/mirror
|
||||
|
||||
endif
|
||||
|
||||
endmenu
|
||||
Default options are:
|
||||
linux-uclibcgnueabi for ARM EABI
|
||||
linux-uclibc for the rest
|
||||
gnuhurd-uclibc for the hurd
|
||||
|
||||
config BR2_JLEVEL
|
||||
int "Number of jobs to run simultaneously (0 for auto)"
|
||||
default "0"
|
||||
int "Number of jobs to run simultaneously"
|
||||
default "1"
|
||||
help
|
||||
Number of jobs to run simultaneously. If 0, determine
|
||||
automatically according to number of CPUs on the host system.
|
||||
Number of jobs to run simultaneously
|
||||
|
||||
config BR2_CCACHE
|
||||
bool "Enable compiler cache"
|
||||
config BR2_PREFER_IMA
|
||||
bool "prefer IMA compiles"
|
||||
help
|
||||
This option will enable the use of ccache, a compiler cache.
|
||||
It will cache the result of previous builds to speed up future
|
||||
builds. By default, the cache is stored in
|
||||
$HOME/.buildroot-ccache.
|
||||
Where possible, compile package with Inter Module Analysis.
|
||||
This potentially uses alot of system resources on your compile
|
||||
host with the benefit of creating smaller binaries for the target.
|
||||
|
||||
Note that Buildroot does not try to invalidate the cache
|
||||
contents when the compiler changes in an incompatible way.
|
||||
Therefore, if you make a change to the compiler version and/or
|
||||
configuration, you are responsible for purging the ccache
|
||||
cache by removing the $HOME/.buildroot-ccache directory.
|
||||
If unsure, say No.
|
||||
|
||||
if BR2_CCACHE
|
||||
WARNING: This is highly experimental at the moment.
|
||||
|
||||
config BR2_CCACHE_DIR
|
||||
string "Compiler cache location"
|
||||
default "$(HOME)/.buildroot-ccache"
|
||||
config BR2_DEPRECATED
|
||||
bool "Show packages that are deprecated or obsolete"
|
||||
help
|
||||
Where ccache should store cached files.
|
||||
This option hides outdated/obsolete versions of packages.
|
||||
|
||||
config BR2_CCACHE_INITIAL_SETUP
|
||||
string "Compiler cache initial setup"
|
||||
help
|
||||
Initial ccache settings to apply, such as --max-files or
|
||||
--max-size.
|
||||
|
||||
For example, if your project is known to require more space
|
||||
than the default max cache size, then you might want to
|
||||
increase the cache size to a suitable amount using the -M
|
||||
(--max-size) option.
|
||||
|
||||
The string you specify here is passed verbatim to ccache.
|
||||
Refer to ccache documentation for more details.
|
||||
|
||||
These initial settings are applied after ccache has been
|
||||
compiled.
|
||||
|
||||
config BR2_CCACHE_USE_BASEDIR
|
||||
bool "Use relative paths"
|
||||
config BR2_RECENT
|
||||
bool "Show packages that are of the latest major version"
|
||||
default y
|
||||
help
|
||||
Allow ccache to convert absolute paths within the output
|
||||
directory into relative paths.
|
||||
This option show recent versions of packages.
|
||||
|
||||
During the build, many -I include directives are given with an
|
||||
absolute path. These absolute paths end up in the hashes that
|
||||
are computed by ccache. Therefore, when you build from a
|
||||
different directory, the hash will be different and the cached
|
||||
object will not be used.
|
||||
|
||||
To improve cache performance, set this option to y. This
|
||||
allows ccache to rewrite absolute paths within the output
|
||||
directory into relative paths. Note that only paths within the
|
||||
output directory will be rewritten; therefore, if you change
|
||||
BR2_HOST_DIR to point outside the output directory and
|
||||
subsequently move it to a different location, this will lead
|
||||
to cache misses.
|
||||
|
||||
This option has as a result that the debug information in the
|
||||
object files also has only relative paths. Therefore, make
|
||||
sure you cd to the build directory before starting gdb. See
|
||||
the section "COMPILING IN DIFFERENT DIRECTORIES" in the ccache
|
||||
manual for more information.
|
||||
|
||||
endif
|
||||
config BR2_CONFIG_CACHE
|
||||
bool "Use a central configure cache file"
|
||||
help
|
||||
This determines if a central config cache is used by
|
||||
packages, reducing the configure time for packages as each
|
||||
one caches its findings.
|
||||
|
||||
config BR2_ENABLE_DEBUG
|
||||
bool "build packages with debugging symbols"
|
||||
select BR2_PACKAGE_GDB_SERVER
|
||||
help
|
||||
Build packages with debugging symbols enabled. All libraries
|
||||
and binaries in the 'staging' directory will have debugging
|
||||
symbols, which allows remote debugging even if libraries and
|
||||
binaries are stripped on the target. Whether libraries and
|
||||
binaries are stripped on the target is controlled by the
|
||||
BR2_STRIP_* options below.
|
||||
Build packages with debugging symbols
|
||||
enabled
|
||||
|
||||
if BR2_ENABLE_DEBUG
|
||||
choice
|
||||
@@ -394,11 +204,11 @@ choice
|
||||
config BR2_DEBUG_1
|
||||
bool "debug level 1"
|
||||
help
|
||||
Debug level 1 produces minimal information, enough for making
|
||||
backtraces in parts of the program that you don't plan to
|
||||
debug. This includes descriptions of functions and external
|
||||
variables, but no information about local variables and no
|
||||
line numbers.
|
||||
Debug level 1 produces minimal information, enough
|
||||
for making backtraces in parts of the program that
|
||||
you don't plan to debug. This includes descriptions
|
||||
of functions and external variables, but no information
|
||||
about local variables and no line numbers.
|
||||
|
||||
config BR2_DEBUG_2
|
||||
bool "debug level 2"
|
||||
@@ -408,51 +218,41 @@ config BR2_DEBUG_2
|
||||
config BR2_DEBUG_3
|
||||
bool "debug level 3"
|
||||
help
|
||||
Level 3 includes extra information, such as all the macro
|
||||
definitions present in the program. Some debuggers support
|
||||
macro expansion when you use -g3.
|
||||
Level 3 includes extra information, such as all the
|
||||
macro definitions present in the program. Some debuggers
|
||||
support macro expansion when you use -g3.
|
||||
endchoice
|
||||
endif
|
||||
|
||||
choice
|
||||
prompt "strip command for binaries on target"
|
||||
prompt "strip"
|
||||
default BR2_STRIP_strip
|
||||
help
|
||||
Select whether to strip binaries and libraries for the target
|
||||
or not.
|
||||
strip is the normal strip command
|
||||
sstrip is a strip that discards more than the normal strip
|
||||
none do not strip (only for debugging!)
|
||||
|
||||
config BR2_STRIP_strip
|
||||
bool "strip"
|
||||
depends on !BR2_PACKAGE_HOST_ELF2FLT
|
||||
depends on !BR2_ENABLE_DEBUG
|
||||
help
|
||||
Binaries and libraries in the target filesystem will be
|
||||
stripped using the normal 'strip' command. This allows to save
|
||||
space, mainly by removing debugging symbols. Debugging symbols
|
||||
on the target are needed for native debugging, but not when
|
||||
remote debugging is used.
|
||||
strip is the normal strip command
|
||||
|
||||
config BR2_STRIP_sstrip
|
||||
bool "sstrip"
|
||||
select BR2_PACKAGE_SSTRIP_HOST
|
||||
depends on !BR2_ENABLE_DEBUG
|
||||
help
|
||||
sstrip is a strip that discards more than the normal strip
|
||||
|
||||
config BR2_STRIP_none
|
||||
bool "none"
|
||||
help
|
||||
Do not strip binaries and libraries in the target filesystem.
|
||||
none do not strip (only for debugging!)
|
||||
endchoice
|
||||
|
||||
config BR2_STRIP_EXCLUDE_FILES
|
||||
string "executables that should not be stripped"
|
||||
depends on !BR2_STRIP_none
|
||||
default ""
|
||||
help
|
||||
You may specify a space-separated list of binaries and
|
||||
libraries here that should not be stripped on the target.
|
||||
|
||||
config BR2_STRIP_EXCLUDE_DIRS
|
||||
string "directories that should be skipped when stripping"
|
||||
depends on !BR2_STRIP_none
|
||||
default ""
|
||||
help
|
||||
You may specify a space-separated list of directories that
|
||||
should be skipped when stripping. Binaries and libraries in
|
||||
these directories will not be touched. The directories should
|
||||
be specified relative to the target directory, without leading
|
||||
slash.
|
||||
|
||||
choice
|
||||
prompt "gcc optimization level"
|
||||
default BR2_OPTIMIZE_S
|
||||
@@ -461,293 +261,110 @@ choice
|
||||
|
||||
config BR2_OPTIMIZE_0
|
||||
bool "optimization level 0"
|
||||
depends on !BR2_PACKAGE_LINUX
|
||||
help
|
||||
Do not optimize. This is the default.
|
||||
|
||||
config BR2_OPTIMIZE_1
|
||||
bool "optimization level 1"
|
||||
depends on !BR2_PACKAGE_LINUX
|
||||
help
|
||||
Optimize. Optimizing compilation takes somewhat more time, and
|
||||
a lot more memory for a large function. With -O, the compiler
|
||||
tries to reduce code size and execution time, without
|
||||
performing any optimizations that take a great deal of
|
||||
compilation time. -O turns on the following optimization
|
||||
Optimize. Optimizing compilation takes somewhat more time,
|
||||
and a lot more memory for a large function. With -O, the
|
||||
compiler tries to reduce code size and execution time,
|
||||
without performing any optimizations that take a great deal
|
||||
of compilation time. -O turns on the following optimization
|
||||
flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
|
||||
-fcprop-registers -floop-optimize -fif-conversion
|
||||
-fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
|
||||
-ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
|
||||
-ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants. -O
|
||||
also turns on -fomit-frame-pointer on machines where doing so
|
||||
does not interfere with debugging.
|
||||
-ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
|
||||
-O also turns on -fomit-frame-pointer on machines where doing
|
||||
so does not interfere with debugging.
|
||||
|
||||
config BR2_OPTIMIZE_2
|
||||
bool "optimization level 2"
|
||||
help
|
||||
Optimize even more. GCC performs nearly all supported
|
||||
optimizations that do not involve a space-speed tradeoff. The
|
||||
compiler does not perform loop unrolling or function inlining
|
||||
when you specify -O2. As compared to -O, this option increases
|
||||
both compilation time and the performance of the generated
|
||||
code. -O2 turns on all optimization flags specified by -O. It
|
||||
also turns on the following optimization flags:
|
||||
-fthread-jumps -fcrossjumping -foptimize-sibling-calls
|
||||
Optimize even more. GCC performs nearly all supported optimizations
|
||||
that do not involve a space-speed tradeoff. The compiler does not
|
||||
perform loop unrolling or function inlining when you specify -O2.
|
||||
As compared to -O, this option increases both compilation time and
|
||||
the performance of the generated code. -O2 turns on all optimization
|
||||
flags specified by -O. It also turns on the following optimization
|
||||
flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls
|
||||
-fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm
|
||||
-fexpensive-optimizations -fstrength-reduce
|
||||
-frerun-cse-after-loop -frerun-loop-opt -fcaller-saves
|
||||
-fpeephole2 -fschedule-insns -fschedule-insns2
|
||||
-fsched-interblock -fsched-spec -fregmove -fstrict-aliasing
|
||||
-fdelete-null-pointer-checks -freorder-blocks
|
||||
-freorder-functions -falign-functions -falign-jumps
|
||||
-falign-loops -falign-labels -ftree-vrp -ftree-pre. Please
|
||||
note the warning under -fgcse about invoking -O2 on programs
|
||||
-fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop
|
||||
-frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns
|
||||
-fschedule-insns2 -fsched-interblock -fsched-spec -fregmove
|
||||
-fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks
|
||||
-freorder-functions -falign-functions -falign-jumps -falign-loops
|
||||
-falign-labels -ftree-vrp -ftree-pre
|
||||
Please note the warning under -fgcse about invoking -O2 on programs
|
||||
that use computed gotos.
|
||||
|
||||
config BR2_OPTIMIZE_3
|
||||
bool "optimization level 3"
|
||||
help
|
||||
Optimize yet more. -O3 turns on all optimizations specified by
|
||||
-O2 and also turns on the -finline-functions, -funswitch-loops
|
||||
and -fgcse-after-reload options.
|
||||
|
||||
config BR2_OPTIMIZE_G
|
||||
bool "optimize for debugging"
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
||||
help
|
||||
Optimize for debugging. This enables optimizations that do not
|
||||
interfere with debugging. It should be the optimization level
|
||||
of choice for the standard edit-compile-debug cycle, offering
|
||||
a reasonable level of optimization while maintaining fast
|
||||
compilation and a good debugging experience.
|
||||
Optimize yet more. -O3 turns on all optimizations specified by -O2
|
||||
and also turns on the -finline-functions, -funswitch-loops and
|
||||
-fgcse-after-reload options.
|
||||
|
||||
config BR2_OPTIMIZE_S
|
||||
bool "optimize for size"
|
||||
help
|
||||
Optimize for size. -Os enables all -O2 optimizations that do
|
||||
not typically increase code size. It also performs further
|
||||
optimizations designed to reduce code size. -Os disables the
|
||||
following optimization flags: -falign-functions -falign-jumps
|
||||
-falign-loops -falign-labels -freorder-blocks
|
||||
-freorder-blocks-and-partition -fprefetch-loop-arrays
|
||||
Optimize for size. -Os enables all -O2 optimizations that do not
|
||||
typically increase code size. It also performs further optimizations
|
||||
designed to reduce code size. -Os disables the following optimization
|
||||
flags: -falign-functions -falign-jumps -falign-loops -falign-labels
|
||||
-freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
|
||||
-ftree-vect-loop-version
|
||||
|
||||
endchoice
|
||||
|
||||
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_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
|
||||
config BR2_PREFER_STATIC_LIB
|
||||
bool "prefer static libraries"
|
||||
help
|
||||
This option will enable the use of google breakpad, a library
|
||||
and tool suite that allows you to distribute an application to
|
||||
users with compiler-provided debugging information removed,
|
||||
record crashes in compact "minidump" files, send them back to
|
||||
your server and produce C and C++ stack traces from these
|
||||
minidumps. Breakpad can also write minidumps on request for
|
||||
programs that have not crashed.
|
||||
Where possible, build and use static libraries for the target.
|
||||
This potentially increases your code size and should only be
|
||||
used if you know what you do.
|
||||
The default is to build dynamic libraries and use those on
|
||||
the target filesystem.
|
||||
|
||||
if BR2_GOOGLE_BREAKPAD_ENABLE
|
||||
WARNING: This is highly experimental at the moment.
|
||||
|
||||
config BR2_GOOGLE_BREAKPAD_INCLUDE_FILES
|
||||
string "List of executables and libraries to extract symbols from"
|
||||
default ""
|
||||
config BR2_HAVE_MANPAGES
|
||||
bool "manpages on the target"
|
||||
help
|
||||
You may specify a space-separated list of binaries and
|
||||
libraries with full paths relative to $(TARGET_DIR) of which
|
||||
debug symbols will be dumped for further use with google
|
||||
breakpad.
|
||||
Leave the manpages on the target.
|
||||
If you say n here, your target will not contain any
|
||||
manpage.
|
||||
|
||||
A directory structure that can be used by minidump-stackwalk
|
||||
will be created at:
|
||||
|
||||
$(STAGING_DIR)/usr/share/google-breakpad-symbols
|
||||
|
||||
endif
|
||||
|
||||
choice
|
||||
bool "build code with Stack Smashing Protection"
|
||||
default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy
|
||||
depends on BR2_TOOLCHAIN_HAS_SSP
|
||||
config BR2_HAVE_INFOPAGES
|
||||
bool "infopages on the target"
|
||||
help
|
||||
Enable stack smashing protection support using GCC's
|
||||
-fstack-protector option family.
|
||||
Leave the infopages on the target.
|
||||
If you say n here, your target will not contain any
|
||||
infopage.
|
||||
|
||||
See
|
||||
http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
|
||||
for details.
|
||||
|
||||
Note that this requires the toolchain to have SSP support.
|
||||
This is always the case for glibc and eglibc toolchain, but is
|
||||
optional in uClibc toolchains.
|
||||
|
||||
config BR2_SSP_NONE
|
||||
bool "None"
|
||||
config BR2_HAVE_DOCUMENTATION
|
||||
bool "documentation on the target"
|
||||
help
|
||||
Disable stack-smashing protection.
|
||||
Leave the documentation on the target.
|
||||
If you say n here, your target will not contain any
|
||||
documentation.
|
||||
|
||||
config BR2_SSP_REGULAR
|
||||
bool "-fstack-protector"
|
||||
config BR2_HAVE_DEVFILES
|
||||
bool "development files in target filesystem"
|
||||
help
|
||||
Emit extra code to check for buffer overflows, such as stack
|
||||
smashing attacks. This is done by adding a guard variable to
|
||||
functions with vulnerable objects. This includes functions
|
||||
that call alloca, and functions with buffers larger than 8
|
||||
bytes. The guards are initialized when a function is entered
|
||||
and then checked when the function exits. If a guard check
|
||||
fails, an error message is printed and the program exits.
|
||||
Install headers and static libraries in the
|
||||
target filesystem
|
||||
|
||||
config BR2_SSP_STRONG
|
||||
bool "-fstack-protector-strong"
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
||||
help
|
||||
Like -fstack-protector but includes additional functions to be
|
||||
protected - those that have local array definitions, or have
|
||||
references to local frame addresses.
|
||||
|
||||
comment "Stack Smashing Protection strong needs a toolchain w/ gcc >= 4.9"
|
||||
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
||||
|
||||
config BR2_SSP_ALL
|
||||
bool "-fstack-protector-all"
|
||||
help
|
||||
Like -fstack-protector except that all functions are
|
||||
protected. This option might have a significant performance
|
||||
impact on the compiled binaries.
|
||||
|
||||
endchoice
|
||||
|
||||
comment "Stack Smashing Protection needs a toolchain w/ SSP"
|
||||
depends on !BR2_TOOLCHAIN_HAS_SSP
|
||||
|
||||
choice
|
||||
bool "libraries"
|
||||
default BR2_SHARED_LIBS if BR2_BINFMT_SUPPORTS_SHARED
|
||||
default BR2_STATIC_LIBS if !BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
Select the type of libraries you want to use on the target.
|
||||
|
||||
The default is to build dynamic libraries and use those on the
|
||||
target filesystem, except when the architecture and/or the
|
||||
selected binary format does not support shared libraries.
|
||||
|
||||
config BR2_STATIC_LIBS
|
||||
bool "static only"
|
||||
help
|
||||
Build and use only static libraries. No shared libraries will
|
||||
be installed on the target. This potentially increases your
|
||||
code size and should only be used if you know what you are
|
||||
doing. Note that some packages may not be available when this
|
||||
option is enabled, due to their need for dynamic library
|
||||
support.
|
||||
|
||||
config BR2_SHARED_LIBS
|
||||
bool "shared only"
|
||||
depends on BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
Build and use only shared libraries. This is the recommended
|
||||
solution as it saves space and build time.
|
||||
|
||||
config BR2_SHARED_STATIC_LIBS
|
||||
bool "both static and shared"
|
||||
depends on BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
Build both shared and static libraries, but link executables
|
||||
dynamically. While building both shared and static libraries
|
||||
take more time and more disk space, having static libraries
|
||||
may be useful to link some of the applications statically.
|
||||
|
||||
endchoice
|
||||
|
||||
|
||||
config BR2_PACKAGE_OVERRIDE_FILE
|
||||
string "location of a package override file"
|
||||
default "$(CONFIG_DIR)/local.mk"
|
||||
help
|
||||
A package override file is a short makefile that contains
|
||||
variable definitions of the form <pkg>_OVERRIDE_SRCDIR, which
|
||||
allows to tell Buildroot to use an existing directory as the
|
||||
source directory for a particular package. See the Buildroot
|
||||
documentation for more details on this feature.
|
||||
|
||||
config BR2_GLOBAL_PATCH_DIR
|
||||
string "global patch directories"
|
||||
help
|
||||
You may specify a space separated list of one or more
|
||||
directories containing global package patches. For a specific
|
||||
version <packageversion> of a specific package <packagename>,
|
||||
patches are applied as follows:
|
||||
|
||||
First, the default Buildroot patch set for the package is
|
||||
applied from the package's directory in Buildroot.
|
||||
|
||||
Then for every directory - <global-patch-dir> - that exists in
|
||||
BR2_GLOBAL_PATCH_DIR, if the directory
|
||||
<global-patch-dir>/<packagename>/<packageversion>/ exists,
|
||||
then all *.patch files in this directory will be applied.
|
||||
|
||||
Otherwise, if the directory <global-patch-dir>/<packagename>
|
||||
exists, then all *.patch files in the directory will be
|
||||
applied.
|
||||
|
||||
menu "Advanced"
|
||||
|
||||
config BR2_COMPILER_PARANOID_UNSAFE_PATH
|
||||
bool "paranoid check of library/header paths"
|
||||
default y
|
||||
help
|
||||
By default, when this option is disabled, when the Buildroot
|
||||
cross-compiler will encounter an unsafe library or header path
|
||||
(such as /usr/include, or /usr/lib), the compiler will display
|
||||
a warning.
|
||||
|
||||
By enabling this option, this warning is turned into an error,
|
||||
which will completely abort the build when such unsafe paths
|
||||
are encountered.
|
||||
|
||||
Note that this mechanism is available for both the internal
|
||||
toolchain (through the toolchain wrapper and binutils patches)
|
||||
and external toolchain backends (through the toolchain wrapper).
|
||||
|
||||
config BR2_REPRODUCIBLE
|
||||
bool "Make the build reproducible (experimental)"
|
||||
help
|
||||
This option will remove all sources of non-reproducibility
|
||||
from the build process. For a given Buildroot configuration,
|
||||
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.
|
||||
|
||||
endmenu
|
||||
source package/gnuconfig/Config.in
|
||||
|
||||
endmenu
|
||||
|
||||
source "toolchain/Config.in"
|
||||
|
||||
source "system/Config.in"
|
||||
|
||||
source "linux/Config.in"
|
||||
|
||||
source "package/Config.in"
|
||||
|
||||
source "fs/Config.in"
|
||||
|
||||
source "boot/Config.in"
|
||||
|
||||
source "package/Config.in.host"
|
||||
|
||||
source "Config.in.legacy"
|
||||
|
||||
source "$BR2_BUILD_DIR/.br2-external.in"
|
||||
source "target/Config.in"
|
||||
|
||||
2660
Config.in.legacy
2660
Config.in.legacy
File diff suppressed because it is too large
Load Diff
1696
DEVELOPERS
1696
DEVELOPERS
File diff suppressed because it is too large
Load Diff
@@ -1,59 +0,0 @@
|
||||
#
|
||||
# Makefile.legacy - support for backward compatibility
|
||||
#
|
||||
# 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.
|
||||
|
||||
ifeq ($(BR2_LEGACY),y)
|
||||
$(error "You have legacy configuration in your .config! Please check your configuration.")
|
||||
endif
|
||||
|
||||
#
|
||||
# Legacy options from 2014.02
|
||||
#
|
||||
|
||||
# The BUILDROOT_DL_DIR environment variable was renamed by BR2_DL_DIR. We
|
||||
# want to detect someone using the old variable, _except_ if also the new
|
||||
# variable was set. By the time we get here, however, we no longer have
|
||||
# access to the BR2_DL_DIR environment variable (because it has been overridden
|
||||
# by the .config inclusion). However, the environment variable (if defined) was
|
||||
# saved in DL_DIR, so we can use that.
|
||||
ifneq ($(BUILDROOT_DL_DIR),)
|
||||
ifneq ($(BUILDROOT_DL_DIR),$(DL_DIR))
|
||||
$(error "The BUILDROOT_DL_DIR environment variable was renamed to BR2_DL_DIR.")
|
||||
endif
|
||||
endif
|
||||
|
||||
# If a script is using the deprecated BUILDROOT_CONFIG, make sure it fails.
|
||||
# Add some directories in front just in case someone used dirname on it.
|
||||
BUILDROOT_CONFIG_FAKE = /tmp/deprecated/The-BUILDROOT_CONFIG-environment-variable-was-renamed-to-BR2_CONFIG
|
||||
|
||||
# Similar to above for BUILDROOT_CONFIG, but here we have no .config equivalent.
|
||||
ifneq ($(BUILDROOT_CONFIG),)
|
||||
ifneq ($(BUILDROOT_CONFIG),$(BR2_CONFIG))
|
||||
ifneq ($(BUILDROOT_CONFIG),$(BUILDROOT_CONFIG_FAKE))
|
||||
$(error "The BUILDROOT_CONFIG environment variable was renamed to BR2_CONFIG.")
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
BUILDROOT_CONFIG = $(BUILDROOT_CONFIG_FAKE)
|
||||
export BUILDROOT_CONFIG
|
||||
|
||||
#
|
||||
# Legacy options from 2012.08
|
||||
#
|
||||
|
||||
host-pkg-config:
|
||||
@$(call MESSAGE,host-pkg-config is replaced by host-pkgconf)
|
||||
@$(call MESSAGE,please update your .mk files)
|
||||
@false
|
||||
.PHONY: host-pkg-config
|
||||
|
||||
#
|
||||
# Legacy options from 2012.05
|
||||
#
|
||||
GENTARGETS = $$(error The GENTARGETS macro no longer exists; use $$$$(eval $$$$(generic-package)) or $$$$(eval $$$$(host-generic-package)))
|
||||
AUTOTARGETS = $$(error The AUTOTARGETS macro no longer exists; use $$$$(eval $$$$(autotools-package)) or $$$$(eval $$$$(host-autotools-package)))
|
||||
CMAKETARGETS = $$(error The CMAKETARGETS macro no longer exists; use $$$$(eval $$$$(cmake-package)) or $$$$(eval $$$$(host-cmake-package)))
|
||||
26
README
26
README
@@ -1,26 +0,0 @@
|
||||
Buildroot is a simple, efficient and easy-to-use tool to generate embedded
|
||||
Linux systems through cross-compilation.
|
||||
|
||||
The documentation can be found in docs/manual. You can generate a text
|
||||
document with 'make manual-text' and read output/docs/manual/manual.text.
|
||||
Online documentation can be found at http://buildroot.org/docs.html
|
||||
|
||||
To build and use the buildroot stuff, do the following:
|
||||
|
||||
1) run 'make menuconfig'
|
||||
2) select the target architecture and the packages you wish to compile
|
||||
3) run 'make'
|
||||
4) wait while it compiles
|
||||
5) find the kernel, bootloader, root filesystem, etc. in output/images
|
||||
|
||||
You do not need to be root to build or run buildroot. Have fun!
|
||||
|
||||
Buildroot comes with a basic configuration for a number of boards. Run
|
||||
'make list-defconfigs' to view the list of provided configurations.
|
||||
|
||||
Please feed suggestions, bug reports, insults, and bribes back to the
|
||||
buildroot mailing list: buildroot@buildroot.org
|
||||
You can also find us on #buildroot on Freenode IRC.
|
||||
|
||||
If you would like to contribute patches, please read
|
||||
https://buildroot.org/manual.html#submitting-patches
|
||||
14
TODO
Normal file
14
TODO
Normal file
@@ -0,0 +1,14 @@
|
||||
Buildroot2 TODOs
|
||||
|
||||
- fix packages/Makefile.autotools.in to use a package-imposed patchdir
|
||||
(Ivan Kuten)
|
||||
- convert all packages that use autoconf to use the infrastructure of
|
||||
packages/Makefile.autotools.in
|
||||
- fix setting of flags for packages
|
||||
|
||||
- stabilize for a 0.10.0 release
|
||||
|
||||
- think about using a common --config-cache for configure
|
||||
Should take care of expanding TARGET_CONFIGURE_ARGS for cross compiles
|
||||
to working presets.
|
||||
|
||||
412
arch/Config.in
412
arch/Config.in
@@ -1,412 +0,0 @@
|
||||
menu "Target options"
|
||||
|
||||
config BR2_ARCH_IS_64
|
||||
bool
|
||||
|
||||
config BR2_KERNEL_64_USERLAND_32
|
||||
bool
|
||||
|
||||
config BR2_SOFT_FLOAT
|
||||
bool
|
||||
|
||||
config BR2_ARCH_HAS_MMU_MANDATORY
|
||||
bool
|
||||
|
||||
config BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
bool
|
||||
|
||||
config BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Target Architecture"
|
||||
default BR2_i386
|
||||
help
|
||||
Select the target architecture family to build for.
|
||||
|
||||
config BR2_arcle
|
||||
bool "ARC (little endian)"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
|
||||
that can be used from deeply embedded to high performance host
|
||||
applications. Little endian.
|
||||
|
||||
config BR2_arceb
|
||||
bool "ARC (big endian)"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
|
||||
that can be used from deeply embedded to high performance host
|
||||
applications. Big endian.
|
||||
|
||||
config BR2_arm
|
||||
bool "ARM (little endian)"
|
||||
# MMU support is set by the subarchitecture file, arch/Config.in.arm
|
||||
help
|
||||
ARM is a 32-bit reduced instruction set computer (RISC) instruction
|
||||
set architecture (ISA) developed by ARM Holdings. Little endian.
|
||||
http://www.arm.com/
|
||||
http://en.wikipedia.org/wiki/ARM
|
||||
|
||||
config BR2_armeb
|
||||
bool "ARM (big endian)"
|
||||
# MMU support is set by the subarchitecture file, arch/Config.in.arm
|
||||
help
|
||||
ARM is a 32-bit reduced instruction set computer (RISC) instruction
|
||||
set architecture (ISA) developed by ARM Holdings. Big endian.
|
||||
http://www.arm.com/
|
||||
http://en.wikipedia.org/wiki/ARM
|
||||
|
||||
config BR2_aarch64
|
||||
bool "AArch64 (little endian)"
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
Aarch64 is a 64-bit architecture developed by ARM Holdings.
|
||||
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
||||
http://en.wikipedia.org/wiki/ARM
|
||||
|
||||
config BR2_aarch64_be
|
||||
bool "AArch64 (big endian)"
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
Aarch64 is a 64-bit architecture developed by ARM Holdings.
|
||||
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
||||
http://en.wikipedia.org/wiki/ARM
|
||||
|
||||
config BR2_bfin
|
||||
bool "Blackfin"
|
||||
select BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
help
|
||||
The Blackfin is a family of 16 or 32-bit microprocessors developed,
|
||||
manufactured and marketed by Analog Devices.
|
||||
http://www.analog.com/
|
||||
http://en.wikipedia.org/wiki/Blackfin
|
||||
|
||||
config BR2_i386
|
||||
bool "i386"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
Intel i386 architecture compatible microprocessor
|
||||
http://en.wikipedia.org/wiki/I386
|
||||
|
||||
config BR2_m68k
|
||||
bool "m68k"
|
||||
# MMU support is set by the subarchitecture file, arch/Config.in.m68k
|
||||
help
|
||||
Motorola 68000 family microprocessor
|
||||
http://en.wikipedia.org/wiki/M68k
|
||||
|
||||
config BR2_microblazeel
|
||||
bool "Microblaze AXI (little endian)"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
Soft processor core designed for Xilinx FPGAs from Xilinx. AXI bus
|
||||
based architecture (little endian)
|
||||
http://www.xilinx.com
|
||||
http://en.wikipedia.org/wiki/Microblaze
|
||||
|
||||
config BR2_microblazebe
|
||||
bool "Microblaze non-AXI (big endian)"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
Soft processor core designed for Xilinx FPGAs from Xilinx. PLB bus
|
||||
based architecture (non-AXI, big endian)
|
||||
http://www.xilinx.com
|
||||
http://en.wikipedia.org/wiki/Microblaze
|
||||
|
||||
config BR2_mips
|
||||
bool "MIPS (big endian)"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
|
||||
http://www.mips.com/
|
||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||
|
||||
config BR2_mipsel
|
||||
bool "MIPS (little endian)"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
|
||||
http://www.mips.com/
|
||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||
|
||||
config BR2_mips64
|
||||
bool "MIPS64 (big endian)"
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
|
||||
http://www.mips.com/
|
||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||
|
||||
config BR2_mips64el
|
||||
bool "MIPS64 (little endian)"
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
|
||||
http://www.mips.com/
|
||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||
|
||||
config BR2_nios2
|
||||
bool "Nios II"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
Nios II is a soft core processor from Altera Corporation.
|
||||
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
|
||||
help
|
||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
||||
Big endian.
|
||||
http://www.power.org/
|
||||
http://en.wikipedia.org/wiki/Powerpc
|
||||
|
||||
config BR2_powerpc64
|
||||
bool "PowerPC64 (big endian)"
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
||||
Big endian.
|
||||
http://www.power.org/
|
||||
http://en.wikipedia.org/wiki/Powerpc
|
||||
|
||||
config BR2_powerpc64le
|
||||
bool "PowerPC64 (little endian)"
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
||||
Little endian.
|
||||
http://www.power.org/
|
||||
http://en.wikipedia.org/wiki/Powerpc
|
||||
|
||||
config BR2_sh
|
||||
bool "SuperH"
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
help
|
||||
SuperH (or SH) is a 32-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
|
||||
help
|
||||
SPARC (from Scalable Processor Architecture) is a RISC instruction
|
||||
set architecture (ISA) developed by Sun Microsystems.
|
||||
http://www.oracle.com/sun
|
||||
http://en.wikipedia.org/wiki/Sparc
|
||||
|
||||
config BR2_sparc64
|
||||
bool "SPARC64"
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
SPARC (from Scalable Processor Architecture) is a RISC instruction
|
||||
set architecture (ISA) developed by Sun Microsystems.
|
||||
http://www.oracle.com/sun
|
||||
http://en.wikipedia.org/wiki/Sparc
|
||||
|
||||
config BR2_x86_64
|
||||
bool "x86_64"
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
x86-64 is an extension of the x86 instruction set (Intel i386
|
||||
architecture compatible microprocessor).
|
||||
http://en.wikipedia.org/wiki/X86_64
|
||||
|
||||
config BR2_xtensa
|
||||
bool "Xtensa"
|
||||
# MMU support is set by the subarchitecture file, arch/Config.in.xtensa
|
||||
help
|
||||
Xtensa is a Tensilica processor IP architecture.
|
||||
http://en.wikipedia.org/wiki/Xtensa
|
||||
http://www.tensilica.com/
|
||||
|
||||
endchoice
|
||||
|
||||
# The following string values are defined by the individual
|
||||
# Config.in.$ARCH files
|
||||
config BR2_ARCH
|
||||
string
|
||||
|
||||
config BR2_ENDIAN
|
||||
string
|
||||
|
||||
config BR2_GCC_TARGET_ARCH
|
||||
string
|
||||
|
||||
config BR2_GCC_TARGET_ABI
|
||||
string
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
string
|
||||
|
||||
config BR2_GCC_TARGET_CPU_REVISION
|
||||
string
|
||||
|
||||
# The value of this option will be passed as --with-fpu=<value> when
|
||||
# building gcc (internal backend) or -mfpu=<value> in the toolchain
|
||||
# wrapper (external toolchain)
|
||||
config BR2_GCC_TARGET_FPU
|
||||
string
|
||||
|
||||
# The value of this option will be passed as --with-float=<value> when
|
||||
# building gcc (internal backend) or -mfloat-abi=<value> in the toolchain
|
||||
# wrapper (external toolchain)
|
||||
config BR2_GCC_TARGET_FLOAT_ABI
|
||||
string
|
||||
|
||||
# The value of this option will be passed as --with-mode=<value> when
|
||||
# building gcc (internal backend) or -m<value> in the toolchain
|
||||
# wrapper (external toolchain)
|
||||
config BR2_GCC_TARGET_MODE
|
||||
string
|
||||
|
||||
# Must be selected by binary formats that support shared libraries.
|
||||
config BR2_BINFMT_SUPPORTS_SHARED
|
||||
bool
|
||||
|
||||
# Set up target binary format
|
||||
choice
|
||||
prompt "Target Binary Format"
|
||||
default BR2_BINFMT_ELF if BR2_USE_MMU
|
||||
default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
default BR2_BINFMT_FLAT
|
||||
|
||||
config BR2_BINFMT_ELF
|
||||
bool "ELF"
|
||||
depends on BR2_USE_MMU
|
||||
select BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
ELF (Executable and Linkable Format) is a format for libraries and
|
||||
executables used across different architectures and operating
|
||||
systems.
|
||||
|
||||
config BR2_BINFMT_FDPIC
|
||||
bool "FDPIC"
|
||||
depends on BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
select BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
ELF FDPIC binaries are based on ELF, but allow the individual load
|
||||
segments of a binary to be located in memory independently of each
|
||||
other. This makes this format ideal for use in environments where no
|
||||
MMU is available.
|
||||
|
||||
config BR2_BINFMT_FLAT
|
||||
bool "FLAT"
|
||||
depends on !BR2_USE_MMU
|
||||
help
|
||||
FLAT binary is a relatively simple and lightweight executable format
|
||||
based on the original a.out format. It is widely used in environment
|
||||
where no MMU is available.
|
||||
|
||||
endchoice
|
||||
|
||||
# Set up flat binary type
|
||||
choice
|
||||
prompt "FLAT Binary type"
|
||||
depends on BR2_BINFMT_FLAT
|
||||
default BR2_BINFMT_FLAT_ONE
|
||||
|
||||
config BR2_BINFMT_FLAT_ONE
|
||||
bool "One memory region"
|
||||
help
|
||||
All segments are linked into one memory region.
|
||||
|
||||
config BR2_BINFMT_FLAT_SEP_DATA
|
||||
bool "Separate data and code region"
|
||||
# this FLAT binary type technically exists on m68k, but fails
|
||||
# to build numerous packages: due to architecture limitation,
|
||||
# big functions cannot be built in this mode. They cause build
|
||||
# failures such as "Tried to convert PC relative branch to
|
||||
# absolute jump" or "error: value -yyyyy out of range".
|
||||
depends on BR2_bfin
|
||||
help
|
||||
Allow for the data and text segments to be separated and placed in
|
||||
different regions of memory.
|
||||
|
||||
config BR2_BINFMT_FLAT_SHARED
|
||||
bool "Shared binary"
|
||||
depends on BR2_m68k || BR2_bfin
|
||||
# Even though this really generates shared binaries, there is no libdl
|
||||
# and dlopen() cannot be used. So packages that require shared
|
||||
# libraries cannot be built. Therefore, we don't select
|
||||
# BR2_BINFMT_SUPPORTS_SHARED and therefore force BR2_STATIC_LIBS.
|
||||
# Although this adds -static to the compilation, that's not a problem
|
||||
# because the -mid-shared-library option overrides it.
|
||||
help
|
||||
Allow to load and link indiviual FLAT binaries at run time.
|
||||
|
||||
endchoice
|
||||
|
||||
if BR2_arcle || BR2_arceb
|
||||
source "arch/Config.in.arc"
|
||||
endif
|
||||
|
||||
if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
|
||||
source "arch/Config.in.arm"
|
||||
endif
|
||||
|
||||
if BR2_bfin
|
||||
source "arch/Config.in.bfin"
|
||||
endif
|
||||
|
||||
if BR2_m68k
|
||||
source "arch/Config.in.m68k"
|
||||
endif
|
||||
|
||||
if BR2_microblazeel || BR2_microblazebe
|
||||
source "arch/Config.in.microblaze"
|
||||
endif
|
||||
|
||||
if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
|
||||
source "arch/Config.in.mips"
|
||||
endif
|
||||
|
||||
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
|
||||
source "arch/Config.in.sh"
|
||||
endif
|
||||
|
||||
if BR2_sparc || BR2_sparc64
|
||||
source "arch/Config.in.sparc"
|
||||
endif
|
||||
|
||||
if BR2_i386 || BR2_x86_64
|
||||
source "arch/Config.in.x86"
|
||||
endif
|
||||
|
||||
if BR2_xtensa
|
||||
source "arch/Config.in.xtensa"
|
||||
endif
|
||||
|
||||
endmenu # Target options
|
||||
@@ -1,77 +0,0 @@
|
||||
choice
|
||||
prompt "Target CPU"
|
||||
depends on BR2_arc
|
||||
default BR2_arc770d
|
||||
help
|
||||
Specific CPU to use
|
||||
|
||||
config BR2_arc750d
|
||||
bool "ARC 750D"
|
||||
|
||||
config BR2_arc770d
|
||||
bool "ARC 770D"
|
||||
|
||||
config BR2_archs38
|
||||
bool "ARC HS38"
|
||||
|
||||
endchoice
|
||||
|
||||
# Choice of atomic instructions presence
|
||||
config BR2_ARC_ATOMIC_EXT
|
||||
bool "Atomic extension (LLOCK/SCOND instructions)"
|
||||
default y if BR2_arc770d || BR2_archs38
|
||||
|
||||
config BR2_ARCH
|
||||
default "arc" if BR2_arcle
|
||||
default "arceb" if BR2_arceb
|
||||
|
||||
config BR2_arc
|
||||
bool
|
||||
default y if BR2_arcle || BR2_arceb
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE" if BR2_arcle
|
||||
default "BIG" if BR2_arceb
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "arc700" if BR2_arc750d
|
||||
default "arc700" if BR2_arc770d
|
||||
default "archs" if BR2_archs38
|
||||
|
||||
choice
|
||||
prompt "MMU Page Size"
|
||||
default BR2_ARC_PAGE_SIZE_8K
|
||||
help
|
||||
MMU starting from version 3 (found in ARC 770) and now
|
||||
version 4 (found in ARC HS38) allows the selection of the
|
||||
page size during ASIC design creation.
|
||||
|
||||
The following options are available for MMU v3 and v4: 4kB,
|
||||
8kB and 16 kB.
|
||||
|
||||
The default is 8 kB (that really matches the only page size
|
||||
in MMU v2). It is important to build a toolchain with page
|
||||
size matching the hardware configuration. Otherwise
|
||||
user-space applications will fail at runtime.
|
||||
|
||||
config BR2_ARC_PAGE_SIZE_4K
|
||||
bool "4KB"
|
||||
depends on BR2_arc770d || BR2_archs38
|
||||
|
||||
config BR2_ARC_PAGE_SIZE_8K
|
||||
bool "8KB"
|
||||
help
|
||||
This is the one and only option available for MMUv2 and
|
||||
default value for MMU v3 and v4.
|
||||
|
||||
config BR2_ARC_PAGE_SIZE_16K
|
||||
bool "16KB"
|
||||
depends on BR2_arc770d || BR2_archs38
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_ARC_PAGE_SIZE
|
||||
string
|
||||
default "4K" if BR2_ARC_PAGE_SIZE_4K
|
||||
default "8K" if BR2_ARC_PAGE_SIZE_8K
|
||||
default "16K" if BR2_ARC_PAGE_SIZE_16K
|
||||
@@ -1,570 +0,0 @@
|
||||
# arm cpu features
|
||||
config BR2_ARM_CPU_HAS_NEON
|
||||
bool
|
||||
|
||||
# for some cores, NEON support is optional
|
||||
config BR2_ARM_CPU_MAYBE_HAS_NEON
|
||||
bool
|
||||
|
||||
# for some cores, VFPv2 is optional
|
||||
config BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
||||
bool
|
||||
|
||||
config BR2_ARM_CPU_HAS_VFPV2
|
||||
bool
|
||||
|
||||
# for some cores, VFPv3 is optional
|
||||
config BR2_ARM_CPU_MAYBE_HAS_VFPV3
|
||||
bool
|
||||
select BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
||||
|
||||
config BR2_ARM_CPU_HAS_VFPV3
|
||||
bool
|
||||
select BR2_ARM_CPU_HAS_VFPV2
|
||||
|
||||
# for some cores, VFPv4 is optional
|
||||
config BR2_ARM_CPU_MAYBE_HAS_VFPV4
|
||||
bool
|
||||
select BR2_ARM_CPU_MAYBE_HAS_VFPV3
|
||||
|
||||
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
|
||||
|
||||
config BR2_ARM_CPU_HAS_THUMB
|
||||
bool
|
||||
|
||||
config BR2_ARM_CPU_HAS_THUMB2
|
||||
bool
|
||||
|
||||
config BR2_ARM_CPU_ARMV4
|
||||
bool
|
||||
|
||||
config BR2_ARM_CPU_ARMV5
|
||||
bool
|
||||
|
||||
config BR2_ARM_CPU_ARMV6
|
||||
bool
|
||||
|
||||
config BR2_ARM_CPU_ARMV7A
|
||||
bool
|
||||
|
||||
config BR2_ARM_CPU_ARMV7M
|
||||
bool
|
||||
|
||||
config BR2_ARM_CPU_ARMV8
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default BR2_arm926t
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
config BR2_arm920t
|
||||
bool "arm920t"
|
||||
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_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
|
||||
select BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
||||
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
|
||||
select BR2_ARM_CPU_HAS_VFPV2
|
||||
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
|
||||
select BR2_ARM_CPU_HAS_VFPV2
|
||||
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
|
||||
select BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
||||
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
|
||||
select BR2_ARM_CPU_MAYBE_HAS_NEON
|
||||
select BR2_ARM_CPU_MAYBE_HAS_VFPV4
|
||||
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
|
||||
select BR2_ARM_CPU_HAS_NEON
|
||||
select BR2_ARM_CPU_HAS_VFPV4
|
||||
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
|
||||
select BR2_ARM_CPU_HAS_NEON
|
||||
select BR2_ARM_CPU_HAS_VFPV3
|
||||
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
|
||||
select BR2_ARM_CPU_MAYBE_HAS_NEON
|
||||
select BR2_ARM_CPU_MAYBE_HAS_VFPV3
|
||||
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
|
||||
select BR2_ARM_CPU_HAS_NEON
|
||||
select BR2_ARM_CPU_HAS_VFPV4
|
||||
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
|
||||
select BR2_ARM_CPU_HAS_NEON
|
||||
select BR2_ARM_CPU_HAS_VFPV4
|
||||
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
|
||||
select BR2_ARM_CPU_HAS_NEON
|
||||
select BR2_ARM_CPU_HAS_VFPV4
|
||||
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
|
||||
bool "Enable NEON SIMD extension support"
|
||||
depends on BR2_ARM_CPU_MAYBE_HAS_NEON
|
||||
select BR2_ARM_CPU_HAS_NEON
|
||||
help
|
||||
For some CPU cores, the NEON SIMD extension is optional.
|
||||
Select this option if you are certain your particular
|
||||
implementation has NEON support and you want to use it.
|
||||
|
||||
config BR2_ARM_ENABLE_VFP
|
||||
bool "Enable VFP extension support"
|
||||
depends on BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
||||
select BR2_ARM_CPU_HAS_VFPV4 if BR2_ARM_CPU_MAYBE_HAS_VFPV4
|
||||
select BR2_ARM_CPU_HAS_VFPV3 if BR2_ARM_CPU_MAYBE_HAS_VFPV3
|
||||
select BR2_ARM_CPU_HAS_VFPV2 if BR2_ARM_CPU_MAYBE_HAS_VFPV2
|
||||
help
|
||||
For some CPU cores, the VFP extension is optional. Select
|
||||
this option if you are certain your particular
|
||||
implementation has VFP support and you want to use it.
|
||||
|
||||
choice
|
||||
prompt "Target ABI"
|
||||
depends on BR2_arm || BR2_armeb
|
||||
default BR2_ARM_EABIHF if BR2_ARM_CPU_HAS_VFPV2
|
||||
default BR2_ARM_EABI
|
||||
help
|
||||
Application Binary Interface to use. The Application Binary
|
||||
Interface describes the calling conventions (how arguments
|
||||
are passed to functions, how the return value is passed, how
|
||||
system calls are made, etc.).
|
||||
|
||||
config BR2_ARM_EABI
|
||||
bool "EABI"
|
||||
help
|
||||
The EABI is currently the standard ARM ABI, which is used in
|
||||
most projects. It supports both the 'soft' floating point
|
||||
model (in which floating point instructions are emulated in
|
||||
software) and the 'softfp' floating point model (in which
|
||||
floating point instructions are executed using an hardware
|
||||
floating point unit, but floating point arguments to
|
||||
functions are passed in integer registers).
|
||||
|
||||
The 'softfp' floating point model is link-compatible with
|
||||
the 'soft' floating point model, i.e you can link a library
|
||||
built 'soft' with some other code built 'softfp'.
|
||||
|
||||
However, passing the floating point arguments in integer
|
||||
registers is a bit inefficient, so if your ARM processor has
|
||||
a floating point unit, and you don't have pre-compiled
|
||||
'soft' or 'softfp' code, using the EABIhf ABI will provide
|
||||
better floating point performances.
|
||||
|
||||
If your processor does not have a floating point unit, then
|
||||
you must use this ABI.
|
||||
|
||||
config BR2_ARM_EABIHF
|
||||
bool "EABIhf"
|
||||
depends on BR2_ARM_CPU_HAS_VFPV2
|
||||
help
|
||||
The EABIhf is an extension of EABI which supports the 'hard'
|
||||
floating point model. This model uses the floating point
|
||||
unit to execute floating point instructions, and passes
|
||||
floating point arguments in floating point registers.
|
||||
|
||||
It is more efficient than EABI for floating point related
|
||||
workload. However, it does not allow to link against code
|
||||
that has been pre-built for the 'soft' or 'softfp' floating
|
||||
point models.
|
||||
|
||||
If your processor has a floating point unit, and you don't
|
||||
depend on existing pre-compiled code, this option is most
|
||||
likely the best choice.
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Floating point strategy"
|
||||
default BR2_ARM_FPU_FP_ARMV8 if BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
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
|
||||
default BR2_ARM_SOFT_FLOAT if !BR2_ARM_CPU_HAS_VFPV2
|
||||
|
||||
config BR2_ARM_SOFT_FLOAT
|
||||
bool "Soft float"
|
||||
depends on BR2_ARM_EABI
|
||||
select BR2_SOFT_FLOAT
|
||||
help
|
||||
This option allows to use software emulated floating
|
||||
point. It should be used for ARM cores that do not include a
|
||||
Vector Floating Point unit, such as ARMv5 cores (ARM926 for
|
||||
example) or certain ARMv6 cores.
|
||||
|
||||
config BR2_ARM_FPU_VFPV2
|
||||
bool "VFPv2"
|
||||
depends on BR2_ARM_CPU_HAS_VFPV2
|
||||
help
|
||||
This option allows to use the VFPv2 floating point unit, as
|
||||
available in some ARMv5 processors (ARM926EJ-S) and some
|
||||
ARMv6 processors (ARM1136JF-S, ARM1176JZF-S and ARM11
|
||||
MPCore).
|
||||
|
||||
Note that this option is also safe to use for newer cores
|
||||
such as Cortex-A, because the VFPv3 and VFPv4 units are
|
||||
backward compatible with VFPv2.
|
||||
|
||||
config BR2_ARM_FPU_VFPV3
|
||||
bool "VFPv3"
|
||||
depends on BR2_ARM_CPU_HAS_VFPV3
|
||||
help
|
||||
This option allows to use the VFPv3 floating point unit, as
|
||||
available in some ARMv7 processors (Cortex-A{8, 9}). This
|
||||
option requires a VFPv3 unit that has 32 double-precision
|
||||
registers, which is not necessarily the case in all SOCs
|
||||
based on Cortex-A{8, 9}. If you're unsure, use VFPv3-D16
|
||||
instead, which is guaranteed to work on all Cortex-A{8, 9}.
|
||||
|
||||
Note that this option is also safe to use for newer cores
|
||||
that have a VFPv4 unit, because VFPv4 is backward compatible
|
||||
with VFPv3. They must of course also have 32
|
||||
double-precision registers.
|
||||
|
||||
config BR2_ARM_FPU_VFPV3D16
|
||||
bool "VFPv3-D16"
|
||||
depends on BR2_ARM_CPU_HAS_VFPV3
|
||||
help
|
||||
This option allows to use the VFPv3 floating point unit, as
|
||||
available in some ARMv7 processors (Cortex-A{8, 9}). This
|
||||
option requires a VFPv3 unit that has 16 double-precision
|
||||
registers, which is generally the case in all SOCs based on
|
||||
Cortex-A{8, 9}, even though VFPv3 is technically optional on
|
||||
Cortex-A9. This is the safest option for those cores.
|
||||
|
||||
Note that this option is also safe to use for newer cores
|
||||
such that have a VFPv4 unit, because the VFPv4 is backward
|
||||
compatible with VFPv3.
|
||||
|
||||
config BR2_ARM_FPU_VFPV4
|
||||
bool "VFPv4"
|
||||
depends on BR2_ARM_CPU_HAS_VFPV4
|
||||
help
|
||||
This option allows to use the VFPv4 floating point unit, as
|
||||
available in some ARMv7 processors (Cortex-A{5, 7, 12,
|
||||
15}). This option requires a VFPv4 unit that has 32
|
||||
double-precision registers, which is not necessarily the
|
||||
case in all SOCs based on Cortex-A{5, 7, 12, 15}. If you're
|
||||
unsure, you should probably use VFPv4-D16 instead.
|
||||
|
||||
Note that if you want binary code that works on all ARMv7
|
||||
cores, including the earlier Cortex-A{8, 9}, you should
|
||||
instead select VFPv3.
|
||||
|
||||
config BR2_ARM_FPU_VFPV4D16
|
||||
bool "VFPv4-D16"
|
||||
depends on BR2_ARM_CPU_HAS_VFPV4
|
||||
help
|
||||
This option allows to use the VFPv4 floating point unit, as
|
||||
available in some ARMv7 processors (Cortex-A{5, 7, 12,
|
||||
15}). This option requires a VFPv4 unit that has 16
|
||||
double-precision registers, which is always available on
|
||||
Cortex-A12 and Cortex-A15, but optional on Cortex-A5 and
|
||||
Cortex-A7.
|
||||
|
||||
Note that if you want binary code that works on all ARMv7
|
||||
cores, including the earlier Cortex-A{8, 9}, you should
|
||||
instead select VFPv3-D16.
|
||||
|
||||
config BR2_ARM_FPU_NEON
|
||||
bool "NEON"
|
||||
depends on BR2_ARM_CPU_HAS_NEON
|
||||
help
|
||||
This option allows to use the NEON SIMD unit, as available
|
||||
in some ARMv7 processors, as a floating-point unit. It
|
||||
should however be noted that using NEON for floating point
|
||||
operations doesn't provide a complete compatibility with the
|
||||
IEEE 754.
|
||||
|
||||
config BR2_ARM_FPU_NEON_VFPV4
|
||||
bool "NEON/VFPv4"
|
||||
depends on BR2_ARM_CPU_HAS_VFPV4
|
||||
depends on BR2_ARM_CPU_HAS_NEON
|
||||
help
|
||||
This option allows to use both the VFPv4 and the NEON SIMD
|
||||
units for floating point operations. Note that some ARMv7
|
||||
cores do not necessarily have VFPv4 and/or NEON support, for
|
||||
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"
|
||||
depends on BR2_ARM_CPU_HAS_ARM
|
||||
help
|
||||
This option instructs the compiler to generate regular ARM
|
||||
instructions, that are all 32 bits wide.
|
||||
|
||||
config BR2_ARM_INSTRUCTIONS_THUMB
|
||||
bool "Thumb"
|
||||
depends on BR2_ARM_CPU_HAS_THUMB
|
||||
# Thumb-1 and VFP are not compatible
|
||||
depends on BR2_ARM_SOFT_FLOAT
|
||||
help
|
||||
This option instructions the compiler to generate Thumb
|
||||
instructions, which allows to mix 16 bits instructions and
|
||||
32 bits instructions. This generally provides a much smaller
|
||||
compiled binary size.
|
||||
|
||||
comment "Thumb1 is not compatible with VFP"
|
||||
depends on BR2_ARM_CPU_HAS_THUMB
|
||||
depends on !BR2_ARM_SOFT_FLOAT
|
||||
|
||||
config BR2_ARM_INSTRUCTIONS_THUMB2
|
||||
bool "Thumb2"
|
||||
depends on BR2_ARM_CPU_HAS_THUMB2
|
||||
help
|
||||
This option instructions the compiler to generate Thumb2
|
||||
instructions, which allows to mix 16 bits instructions and
|
||||
32 bits instructions. This generally provides a much smaller
|
||||
compiled binary size.
|
||||
|
||||
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
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE" if (BR2_arm || BR2_aarch64)
|
||||
default "BIG" if (BR2_armeb || BR2_aarch64_be)
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "arm920t" if BR2_arm920t
|
||||
default "arm922t" if BR2_arm922t
|
||||
default "arm926ej-s" if BR2_arm926t
|
||||
default "arm1136j-s" if BR2_arm1136j_s
|
||||
default "arm1136jf-s" if BR2_arm1136jf_s
|
||||
default "arm1176jz-s" if BR2_arm1176jz_s
|
||||
default "arm1176jzf-s" if BR2_arm1176jzf_s
|
||||
default "mpcore" if BR2_arm11mpcore && BR2_ARM_CPU_HAS_VFPV2
|
||||
default "mpcorenovfp" if BR2_arm11mpcore
|
||||
default "cortex-a5" if BR2_cortex_a5
|
||||
default "cortex-a7" if BR2_cortex_a7
|
||||
default "cortex-a8" if BR2_cortex_a8
|
||||
default "cortex-a9" if BR2_cortex_a9
|
||||
default "cortex-a12" if BR2_cortex_a12
|
||||
default "cortex-a15" if BR2_cortex_a15
|
||||
default "cortex-a17" if BR2_cortex_a17
|
||||
default "cortex-m3" if BR2_cortex_m3
|
||||
default "cortex-m4" if BR2_cortex_m4
|
||||
default "fa526" if BR2_fa526
|
||||
default "marvell-pj4" if BR2_pj4
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
config BR2_GCC_TARGET_FLOAT_ABI
|
||||
default "soft" if BR2_ARM_SOFT_FLOAT
|
||||
default "softfp" if !BR2_ARM_SOFT_FLOAT && BR2_ARM_EABI
|
||||
default "hard" if !BR2_ARM_SOFT_FLOAT && BR2_ARM_EABIHF
|
||||
|
||||
config BR2_GCC_TARGET_MODE
|
||||
default "arm" if BR2_ARM_INSTRUCTIONS_ARM
|
||||
default "thumb" if BR2_ARM_INSTRUCTIONS_THUMB || BR2_ARM_INSTRUCTIONS_THUMB2
|
||||
@@ -1,107 +0,0 @@
|
||||
choice
|
||||
prompt "Target CPU"
|
||||
depends on BR2_bfin
|
||||
default BR2_bf532
|
||||
help
|
||||
Specify target CPU
|
||||
config BR2_bf606
|
||||
bool "bf606"
|
||||
config BR2_bf607
|
||||
bool "bf607"
|
||||
config BR2_bf608
|
||||
bool "bf608"
|
||||
config BR2_bf609
|
||||
bool "bf609"
|
||||
config BR2_bf512
|
||||
bool "bf512"
|
||||
config BR2_bf514
|
||||
bool "bf514"
|
||||
config BR2_bf516
|
||||
bool "bf516"
|
||||
config BR2_bf518
|
||||
bool "bf518"
|
||||
config BR2_bf522
|
||||
bool "bf522"
|
||||
config BR2_bf523
|
||||
bool "bf523"
|
||||
config BR2_bf524
|
||||
bool "bf524"
|
||||
config BR2_bf525
|
||||
bool "bf525"
|
||||
config BR2_bf526
|
||||
bool "bf526"
|
||||
config BR2_bf527
|
||||
bool "bf527"
|
||||
config BR2_bf531
|
||||
bool "bf531"
|
||||
config BR2_bf532
|
||||
bool "bf532"
|
||||
config BR2_bf533
|
||||
bool "bf533"
|
||||
config BR2_bf534
|
||||
bool "bf534"
|
||||
config BR2_bf536
|
||||
bool "bf536"
|
||||
config BR2_bf537
|
||||
bool "bf537"
|
||||
config BR2_bf538
|
||||
bool "bf538"
|
||||
config BR2_bf539
|
||||
bool "bf539"
|
||||
config BR2_bf542
|
||||
bool "bf542"
|
||||
config BR2_bf544
|
||||
bool "bf544"
|
||||
config BR2_bf547
|
||||
bool "bf547"
|
||||
config BR2_bf548
|
||||
bool "bf548"
|
||||
config BR2_bf549
|
||||
bool "bf549"
|
||||
config BR2_bf561
|
||||
bool "bf561"
|
||||
endchoice
|
||||
|
||||
config BR2_ARCH
|
||||
default "bfin"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default bf606 if BR2_bf606
|
||||
default bf607 if BR2_bf607
|
||||
default bf608 if BR2_bf608
|
||||
default bf609 if BR2_bf609
|
||||
default bf512 if BR2_bf512
|
||||
default bf514 if BR2_bf514
|
||||
default bf516 if BR2_bf516
|
||||
default bf518 if BR2_bf518
|
||||
default bf522 if BR2_bf522
|
||||
default bf523 if BR2_bf523
|
||||
default bf524 if BR2_bf524
|
||||
default bf525 if BR2_bf525
|
||||
default bf526 if BR2_bf526
|
||||
default bf527 if BR2_bf527
|
||||
default bf531 if BR2_bf531
|
||||
default bf532 if BR2_bf532
|
||||
default bf533 if BR2_bf533
|
||||
default bf534 if BR2_bf534
|
||||
default bf536 if BR2_bf536
|
||||
default bf537 if BR2_bf537
|
||||
default bf538 if BR2_bf538
|
||||
default bf539 if BR2_bf539
|
||||
default bf542 if BR2_bf542
|
||||
default bf544 if BR2_bf544
|
||||
default bf547 if BR2_bf547
|
||||
default bf548 if BR2_bf548
|
||||
default bf549 if BR2_bf549
|
||||
default bf561 if BR2_bf561
|
||||
|
||||
config BR2_GCC_TARGET_CPU_REVISION
|
||||
string "Target CPU revision"
|
||||
help
|
||||
Specify a target CPU revision, which will be appended to the
|
||||
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.
|
||||
@@ -1,37 +0,0 @@
|
||||
config BR2_ARCH
|
||||
default "m68k" if BR2_m68k
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "BIG"
|
||||
|
||||
# symbols used to distinguish between m68k and coldfire
|
||||
# for gcc multilib
|
||||
config BR2_m68k_m68k
|
||||
bool
|
||||
|
||||
config BR2_m68k_cf
|
||||
bool
|
||||
|
||||
# coldfire variants will be added later
|
||||
choice
|
||||
prompt "Target CPU"
|
||||
depends on BR2_m68k
|
||||
default BR2_m68k_68040
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
config BR2_m68k_68040
|
||||
bool "68040"
|
||||
select BR2_m68k_m68k
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
|
||||
config BR2_m68k_cf5208
|
||||
bool "5208"
|
||||
select BR2_m68k_cf
|
||||
select BR2_SOFT_FLOAT
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "68040" if BR2_m68k_68040
|
||||
default "5208" if BR2_m68k_cf5208
|
||||
@@ -1,11 +0,0 @@
|
||||
config BR2_ARCH
|
||||
default "microblazeel" if BR2_microblazeel
|
||||
default "microblaze" if BR2_microblazebe
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE" if BR2_microblazeel
|
||||
default "BIG" if BR2_microblazebe
|
||||
|
||||
config BR2_microblaze
|
||||
bool
|
||||
default y if BR2_microblazeel || BR2_microblazebe
|
||||
@@ -1,163 +0,0 @@
|
||||
# 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
|
||||
default BR2_mips_32 if BR2_mips || BR2_mipsel
|
||||
default BR2_mips_64 if BR2_mips64 || BR2_mips64el
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
64bit cabable: 64, 64r2, 64r5, 64r6
|
||||
non-64bit capable: 32, 32r2, 32r5, 32r6
|
||||
|
||||
config BR2_mips_32
|
||||
bool "Generic MIPS32"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32
|
||||
config BR2_mips_32r2
|
||||
bool "Generic MIPS32R2"
|
||||
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"
|
||||
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"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS64
|
||||
config BR2_mips_64r2
|
||||
bool "Generic MIPS64R2"
|
||||
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"
|
||||
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
|
||||
|
||||
|
||||
choice
|
||||
prompt "Target ABI"
|
||||
depends on BR2_mips64 || BR2_mips64el
|
||||
default BR2_MIPS_NABI32
|
||||
|
||||
help
|
||||
Application Binary Interface to use
|
||||
|
||||
config BR2_MIPS_NABI32
|
||||
bool "n32"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_KERNEL_64_USERLAND_32
|
||||
config BR2_MIPS_NABI64
|
||||
bool "n64"
|
||||
depends on BR2_ARCH_IS_64
|
||||
endchoice
|
||||
|
||||
config BR2_MIPS_SOFT_FLOAT
|
||||
bool "Use soft-float"
|
||||
default y
|
||||
select BR2_SOFT_FLOAT
|
||||
help
|
||||
If your target CPU does not have a Floating Point Unit (FPU)
|
||||
or a kernel FPU emulator, but you still wish to support
|
||||
floating point functions, then everything will need to be
|
||||
compiled with soft floating point support (-msoft-float).
|
||||
|
||||
config BR2_ARCH
|
||||
default "mips" if BR2_mips
|
||||
default "mipsel" if BR2_mipsel
|
||||
default "mips64" if BR2_mips64
|
||||
default "mips64el" if BR2_mips64el
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE" if BR2_mipsel || BR2_mips64el
|
||||
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
|
||||
default y if BR2_mips || BR2_mipsel
|
||||
|
||||
config BR2_GCC_TARGET_ABI
|
||||
default "32" if BR2_MIPS_OABI32
|
||||
default "n32" if BR2_MIPS_NABI32
|
||||
default "64" if BR2_MIPS_NABI64
|
||||
@@ -1,5 +0,0 @@
|
||||
config BR2_ARCH
|
||||
default "nios2"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
@@ -1,5 +0,0 @@
|
||||
config BR2_ARCH
|
||||
default "or1k"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "BIG"
|
||||
@@ -1,214 +0,0 @@
|
||||
config BR2_POWERPC_CPU_HAS_ALTIVEC
|
||||
bool
|
||||
|
||||
config BR2_POWERPC_CPU_HAS_SPE
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default BR2_generic_powerpc
|
||||
help
|
||||
Specific CPU variant to use
|
||||
config BR2_generic_powerpc
|
||||
bool "generic"
|
||||
config BR2_powerpc_401
|
||||
bool "401"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_403
|
||||
bool "403"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_405
|
||||
bool "405"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_405fp
|
||||
bool "405 with FPU"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_440
|
||||
bool "440"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_440fp
|
||||
bool "440 with FPU"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_464
|
||||
bool "464"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_464fp
|
||||
bool "464 with FPU"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_476
|
||||
bool "476"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_476fp
|
||||
bool "476 with FPU"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_505
|
||||
bool "505"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_601
|
||||
bool "601"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_602
|
||||
bool "602"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_603
|
||||
bool "603"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_603e
|
||||
bool "603e"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_604
|
||||
bool "604"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_604e
|
||||
bool "604e"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_620
|
||||
bool "620"
|
||||
config BR2_powerpc_630
|
||||
bool "630"
|
||||
config BR2_powerpc_740
|
||||
bool "740"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_7400
|
||||
bool "7400"
|
||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_7450
|
||||
bool "7450"
|
||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_750
|
||||
bool "750"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_821
|
||||
bool "821"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_823
|
||||
bool "823"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_860
|
||||
bool "860"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_970
|
||||
bool "970"
|
||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
||||
config BR2_powerpc_8540
|
||||
bool "8540 / e500v1"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_POWERPC_CPU_HAS_SPE
|
||||
config BR2_powerpc_8548
|
||||
bool "8548 / e500v2"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_POWERPC_CPU_HAS_SPE
|
||||
config BR2_powerpc_e300c2
|
||||
bool "e300c2"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_e300c3
|
||||
bool "e300c3"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_e500mc
|
||||
bool "e500mc"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_powerpc_e5500
|
||||
bool "e5500"
|
||||
depends on !BR2_powerpc64le
|
||||
config BR2_powerpc_e6500
|
||||
bool "e6500"
|
||||
depends on !BR2_powerpc64le
|
||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
||||
config BR2_powerpc_power4
|
||||
bool "power4"
|
||||
config BR2_powerpc_power5
|
||||
bool "power5"
|
||||
config BR2_powerpc_power6
|
||||
bool "power6"
|
||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
||||
config BR2_powerpc_power7
|
||||
bool "power7"
|
||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
||||
config BR2_powerpc_power8
|
||||
bool "power8"
|
||||
select BR2_POWERPC_CPU_HAS_ALTIVEC
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Target ABI"
|
||||
default BR2_powerpc_SPE if BR2_POWERPC_CPU_HAS_SPE
|
||||
default BR2_powerpc_CLASSIC
|
||||
help
|
||||
Application Binary Interface to use
|
||||
|
||||
config BR2_powerpc_CLASSIC
|
||||
bool "Classic"
|
||||
depends on !BR2_POWERPC_CPU_HAS_SPE
|
||||
config BR2_powerpc_SPE
|
||||
bool "SPE"
|
||||
depends on BR2_POWERPC_CPU_HAS_SPE
|
||||
endchoice
|
||||
|
||||
config BR2_POWERPC_SOFT_FLOAT
|
||||
bool "Use soft-float"
|
||||
select BR2_SOFT_FLOAT
|
||||
help
|
||||
If your target CPU does not have a Floating Point Unit (FPU)
|
||||
or a kernel FPU emulator, but you still wish to support
|
||||
floating point functions, then everything will need to be
|
||||
compiled with soft floating point support (-msoft-float).
|
||||
|
||||
config BR2_ARCH
|
||||
default "powerpc" if BR2_powerpc
|
||||
default "powerpc64" if BR2_powerpc64
|
||||
default "powerpc64le" if BR2_powerpc64le
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "BIG" if BR2_powerpc || BR2_powerpc64
|
||||
default "LITTLE" if BR2_powerpc64le
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "401" if BR2_powerpc_401
|
||||
default "403" if BR2_powerpc_403
|
||||
default "405" if BR2_powerpc_405
|
||||
default "405fp" if BR2_powerpc_405fp
|
||||
default "440" if BR2_powerpc_440
|
||||
default "440fp" if BR2_powerpc_440fp
|
||||
default "464" if BR2_powerpc_464
|
||||
default "464fp" if BR2_powerpc_464fp
|
||||
default "476" if BR2_powerpc_476
|
||||
default "476fp" if BR2_powerpc_476fp
|
||||
default "505" if BR2_powerpc_505
|
||||
default "601" if BR2_powerpc_601
|
||||
default "602" if BR2_powerpc_602
|
||||
default "603" if BR2_powerpc_603
|
||||
default "603e" if BR2_powerpc_603e
|
||||
default "604" if BR2_powerpc_604
|
||||
default "604e" if BR2_powerpc_604e
|
||||
default "620" if BR2_powerpc_620
|
||||
default "630" if BR2_powerpc_630
|
||||
default "740" if BR2_powerpc_740
|
||||
default "7400" if BR2_powerpc_7400
|
||||
default "7450" if BR2_powerpc_7450
|
||||
default "750" if BR2_powerpc_750
|
||||
default "821" if BR2_powerpc_821
|
||||
default "823" if BR2_powerpc_823
|
||||
default "860" if BR2_powerpc_860
|
||||
default "970" if BR2_powerpc_970
|
||||
default "8540" if BR2_powerpc_8540
|
||||
default "8548" if BR2_powerpc_8548
|
||||
default "e300c2" if BR2_powerpc_e300c2
|
||||
default "e300c3" if BR2_powerpc_e300c3
|
||||
default "e500mc" if BR2_powerpc_e500mc
|
||||
default "e5500" if BR2_powerpc_e5500
|
||||
default "e6500" if BR2_powerpc_e6500
|
||||
default "power4" if BR2_powerpc_power4
|
||||
default "power5" if BR2_powerpc_power5
|
||||
default "power6" if BR2_powerpc_power6
|
||||
default "power7" if BR2_powerpc_power7
|
||||
default "power8" if BR2_powerpc_power8
|
||||
|
||||
config BR2_GCC_TARGET_ABI
|
||||
default "altivec" if BR2_PPC_ABI_altivec
|
||||
default "no-altivec" if BR2_PPC_ABI_no-altivec
|
||||
default "spe" if BR2_PPC_ABI_spe
|
||||
default "no-spe" if BR2_PPC_ABI_no-spe
|
||||
default "ibmlongdouble" if BR2_PPC_ABI_ibmlongdouble
|
||||
default "ieeelongdouble" if BR2_PPC_ABI_ieeelongdouble
|
||||
@@ -1,29 +0,0 @@
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends on BR2_sh
|
||||
default BR2_sh4
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
config BR2_sh2a
|
||||
bool "sh2a (SH2A big endian)"
|
||||
config BR2_sh4
|
||||
bool "sh4 (SH4 little endian)"
|
||||
config BR2_sh4eb
|
||||
bool "sh4eb (SH4 big endian)"
|
||||
config BR2_sh4a
|
||||
bool "sh4a (SH4A little endian)"
|
||||
config BR2_sh4aeb
|
||||
bool "sh4aeb (SH4A big endian)"
|
||||
endchoice
|
||||
|
||||
config BR2_ARCH
|
||||
default "sh2a" if BR2_sh2a
|
||||
default "sh4" if BR2_sh4
|
||||
default "sh4eb" if BR2_sh4eb
|
||||
default "sh4a" if BR2_sh4a
|
||||
default "sh4aeb" if BR2_sh4aeb
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE" if BR2_sh4 || BR2_sh4a
|
||||
default "BIG" if BR2_sh2a || BR2_sh4eb || BR2_sh4aeb
|
||||
@@ -1,30 +0,0 @@
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends on BR2_sparc || BR2_sparc64
|
||||
default BR2_sparc_v8 if BR2_sparc
|
||||
default BR2_sparc_v9 if BR2_sparc64
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
config BR2_sparc_v8
|
||||
bool "v8"
|
||||
depends on BR2_sparc
|
||||
config BR2_sparc_leon3
|
||||
bool "leon3"
|
||||
depends on BR2_sparc
|
||||
config BR2_sparc_v9
|
||||
bool "v9"
|
||||
depends on BR2_sparc64
|
||||
endchoice
|
||||
|
||||
config BR2_ARCH
|
||||
default "sparc" if BR2_sparc
|
||||
default "sparc64" if BR2_sparc64
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "BIG"
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "leon3" if BR2_sparc_leon3
|
||||
default "v8" if BR2_sparc_v8
|
||||
default "ultrasparc" if BR2_sparc_v9
|
||||
@@ -1,277 +0,0 @@
|
||||
# i386/x86_64 cpu features
|
||||
config BR2_X86_CPU_HAS_MMX
|
||||
bool
|
||||
config BR2_X86_CPU_HAS_SSE
|
||||
bool
|
||||
config BR2_X86_CPU_HAS_SSE2
|
||||
bool
|
||||
config BR2_X86_CPU_HAS_SSE3
|
||||
bool
|
||||
config BR2_X86_CPU_HAS_SSSE3
|
||||
bool
|
||||
config BR2_X86_CPU_HAS_SSE4
|
||||
bool
|
||||
config BR2_X86_CPU_HAS_SSE42
|
||||
bool
|
||||
config BR2_X86_CPU_HAS_AVX
|
||||
bool
|
||||
config BR2_X86_CPU_HAS_AVX2
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
default BR2_x86_i586 if BR2_i386
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
config BR2_x86_i486
|
||||
bool "i486"
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_i586
|
||||
bool "i586"
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_x1000
|
||||
bool "x1000"
|
||||
depends on !BR2_x86_64
|
||||
help
|
||||
The Intel X1000 is a Pentium class microprocessor in the
|
||||
Quark (sub-Atom) Product Line. The X1000 has a bug on the
|
||||
lock prefix requiring that prefix must be stripped at build
|
||||
time.
|
||||
|
||||
See https://en.wikipedia.org/wiki/Intel_Quark
|
||||
|
||||
config BR2_x86_i686
|
||||
bool "i686"
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_pentiumpro
|
||||
bool "pentium pro"
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_pentium_mmx
|
||||
bool "pentium MMX"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_pentium_m
|
||||
bool "pentium mobile"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_pentium2
|
||||
bool "pentium2"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_pentium3
|
||||
bool "pentium3"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_pentium4
|
||||
bool "pentium4"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_prescott
|
||||
bool "prescott"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_nocona
|
||||
bool "nocona"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
config BR2_x86_core2
|
||||
bool "core2"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
select BR2_X86_CPU_HAS_SSSE3
|
||||
config BR2_x86_corei7
|
||||
bool "corei7"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
select BR2_X86_CPU_HAS_SSSE3
|
||||
select BR2_X86_CPU_HAS_SSE4
|
||||
select BR2_X86_CPU_HAS_SSE42
|
||||
config BR2_x86_corei7_avx
|
||||
bool "corei7-avx"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
select BR2_X86_CPU_HAS_SSSE3
|
||||
select BR2_X86_CPU_HAS_SSE4
|
||||
select BR2_X86_CPU_HAS_SSE42
|
||||
select BR2_X86_CPU_HAS_AVX
|
||||
config BR2_x86_core_avx2
|
||||
bool "core-avx2"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
select BR2_X86_CPU_HAS_SSSE3
|
||||
select BR2_X86_CPU_HAS_SSE4
|
||||
select BR2_X86_CPU_HAS_SSE42
|
||||
select BR2_X86_CPU_HAS_AVX
|
||||
select BR2_X86_CPU_HAS_AVX2
|
||||
config BR2_x86_atom
|
||||
bool "atom"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
select BR2_X86_CPU_HAS_SSSE3
|
||||
config BR2_x86_k6
|
||||
bool "k6"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_k6_2
|
||||
bool "k6-2"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_athlon
|
||||
bool "athlon"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_athlon_4
|
||||
bool "athlon-4"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_opteron
|
||||
bool "opteron"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
config BR2_x86_opteron_sse3
|
||||
bool "opteron w/ SSE3"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
config BR2_x86_barcelona
|
||||
bool "barcelona"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
config BR2_x86_jaguar
|
||||
bool "jaguar"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
select BR2_X86_CPU_HAS_SSSE3
|
||||
select BR2_X86_CPU_HAS_SSE4
|
||||
select BR2_X86_CPU_HAS_SSE42
|
||||
config BR2_x86_steamroller
|
||||
bool "steamroller"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
select BR2_X86_CPU_HAS_SSSE3
|
||||
select BR2_X86_CPU_HAS_SSE4
|
||||
select BR2_X86_CPU_HAS_SSE42
|
||||
config BR2_x86_geode
|
||||
bool "geode"
|
||||
# Don't include MMX support because there several variant of geode
|
||||
# processor, some with MMX support, some without.
|
||||
# See: http://en.wikipedia.org/wiki/Geode_%28processor%29
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_c3
|
||||
bool "Via/Cyrix C3 (Samuel/Ezra cores)"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_c32
|
||||
bool "Via C3-2 (Nehemiah cores)"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_winchip_c6
|
||||
bool "IDT Winchip C6"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
config BR2_x86_winchip2
|
||||
bool "IDT Winchip 2"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
depends on !BR2_x86_64
|
||||
endchoice
|
||||
|
||||
config BR2_ARCH
|
||||
default "i486" if BR2_x86_i486
|
||||
default "i586" if BR2_x86_i586
|
||||
default "i586" if BR2_x86_x1000
|
||||
default "i586" if BR2_x86_pentium_mmx
|
||||
default "i586" if BR2_x86_geode
|
||||
default "i586" if BR2_x86_c3
|
||||
default "i686" if BR2_x86_c32
|
||||
default "i586" if BR2_x86_winchip_c6
|
||||
default "i586" if BR2_x86_winchip2
|
||||
default "i686" if BR2_x86_i686
|
||||
default "i686" if BR2_x86_pentium2
|
||||
default "i686" if BR2_x86_pentium3
|
||||
default "i686" if BR2_x86_pentium4
|
||||
default "i686" if BR2_x86_pentium_m
|
||||
default "i686" if BR2_x86_pentiumpro
|
||||
default "i686" if BR2_x86_prescott
|
||||
default "i686" if BR2_x86_nocona && BR2_i386
|
||||
default "i686" if BR2_x86_core2 && BR2_i386
|
||||
default "i686" if BR2_x86_corei7 && BR2_i386
|
||||
default "i686" if BR2_x86_corei7_avx && BR2_i386
|
||||
default "i686" if BR2_x86_corei7_avx2 && BR2_i386
|
||||
default "i686" if BR2_x86_atom && BR2_i386
|
||||
default "i686" if BR2_x86_opteron && BR2_i386
|
||||
default "i686" if BR2_x86_opteron_sse3 && BR2_i386
|
||||
default "i686" if BR2_x86_barcelona && BR2_i386
|
||||
default "i686" if BR2_x86_jaguar && BR2_i386
|
||||
default "i686" if BR2_x86_steamroller && BR2_i386
|
||||
default "i686" if BR2_x86_k6
|
||||
default "i686" if BR2_x86_k6_2
|
||||
default "i686" if BR2_x86_athlon
|
||||
default "i686" if BR2_x86_athlon_4
|
||||
default "x86_64" if BR2_x86_64
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
|
||||
config BR2_GCC_TARGET_ARCH
|
||||
default "i486" if BR2_x86_i486
|
||||
default "i586" if BR2_x86_i586
|
||||
default "i586" if BR2_x86_x1000
|
||||
default "pentium-mmx" if BR2_x86_pentium_mmx
|
||||
default "i686" if BR2_x86_i686
|
||||
default "pentiumpro" if BR2_x86_pentiumpro
|
||||
default "pentium-m" if BR2_x86_pentium_m
|
||||
default "pentium2" if BR2_x86_pentium2
|
||||
default "pentium3" if BR2_x86_pentium3
|
||||
default "pentium4" if BR2_x86_pentium4
|
||||
default "prescott" if BR2_x86_prescott
|
||||
default "nocona" if BR2_x86_nocona
|
||||
default "core2" if BR2_x86_core2
|
||||
default "corei7" if BR2_x86_corei7
|
||||
default "corei7-avx" if BR2_x86_corei7_avx
|
||||
default "core-avx2" if BR2_x86_core_avx2
|
||||
default "atom" if BR2_x86_atom
|
||||
default "k8" if BR2_x86_opteron
|
||||
default "k8-sse3" if BR2_x86_opteron_sse3
|
||||
default "barcelona" if BR2_x86_barcelona
|
||||
default "btver2" if BR2_x86_jaguar
|
||||
default "bdver3" if BR2_x86_steamroller
|
||||
default "k6" if BR2_x86_k6
|
||||
default "k6-2" if BR2_x86_k6_2
|
||||
default "athlon" if BR2_x86_athlon
|
||||
default "athlon-4" if BR2_x86_athlon_4
|
||||
default "winchip-c6" if BR2_x86_winchip_c6
|
||||
default "winchip2" if BR2_x86_winchip2
|
||||
default "c3" if BR2_x86_c3
|
||||
default "c3-2" if BR2_x86_c32
|
||||
default "geode" if BR2_x86_geode
|
||||
@@ -1,56 +0,0 @@
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends on BR2_xtensa
|
||||
default BR2_xtensa_fsf
|
||||
config BR2_XTENSA_CUSTOM
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
bool "Custom Xtensa processor configuration"
|
||||
config BR2_xtensa_fsf
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
bool "fsf - Default configuration"
|
||||
endchoice
|
||||
|
||||
config BR2_XTENSA_CUSTOM_NAME
|
||||
string "Custom Xtensa processor configuration name"
|
||||
depends on BR2_XTENSA_CUSTOM
|
||||
default ""
|
||||
help
|
||||
Name given to a custom Xtensa processor configuration.
|
||||
|
||||
config BR2_XTENSA_CORE_NAME
|
||||
string
|
||||
default BR2_XTENSA_CUSTOM_NAME if BR2_XTENSA_CUSTOM
|
||||
default "" if BR2_xtensa_fsf
|
||||
|
||||
config BR2_XTENSA_OVERLAY_DIR
|
||||
string "Overlay directory for custom configuration"
|
||||
depends on BR2_XTENSA_CUSTOM
|
||||
default ""
|
||||
help
|
||||
Provide the directory path that contains the overlay file
|
||||
for a custom processor configuration. The path is relative
|
||||
to the top directory of buildroot.
|
||||
These overlay files are tar packages with updated configuration
|
||||
files for various toolchain packages and Xtensa processor
|
||||
configurations. They are provided by the processor vendor or
|
||||
directly from Tensilica.
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Endianness"
|
||||
depends on BR2_XTENSA_CUSTOM
|
||||
default BR2_XTENSA_LITTLE_ENDIAN
|
||||
|
||||
config BR2_XTENSA_LITTLE_ENDIAN
|
||||
bool "Little endian"
|
||||
|
||||
config BR2_XTENSA_BIG_ENDIAN
|
||||
bool "Big endian"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE" if BR2_XTENSA_LITTLE_ENDIAN
|
||||
default "BIG" if BR2_xtensa_fsf || BR2_XTENSA_BIG_ENDIAN
|
||||
|
||||
config BR2_ARCH
|
||||
default "xtensa" if BR2_xtensa
|
||||
@@ -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 +0,0 @@
|
||||
Acme Systems Aria G25
|
||||
|
||||
Build instructions
|
||||
==================
|
||||
|
||||
To build an image for the Aria G25 choose the configuration
|
||||
corresponding to the Aria variant.
|
||||
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
Write the bootable SD card image "sdcard.img" onto an SD card with
|
||||
"dd" command:
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
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.
|
||||
|
||||
To get the kernel log messages you can use a DPI cable
|
||||
(http://www.acmesystems.it/DPI)
|
||||
|
||||
You can find additional informations, tutorials and a very
|
||||
comprehensive documentation on http://www.acmesystems.it/aria.
|
||||
@@ -1,35 +0,0 @@
|
||||
# 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"
|
||||
}
|
||||
|
||||
file boot.bin {
|
||||
image = "at91sam9x5_arietta-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,49 +0,0 @@
|
||||
Acme Systems Arietta G25
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Arietta G25. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
You can find additional informations, tutorials and a very comprehensive
|
||||
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.
|
||||
|
||||
For 128MB RAM variant type:
|
||||
|
||||
$ make acmesystems_arietta_g25_128mb_defconfig
|
||||
|
||||
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:
|
||||
|
||||
$ make
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
cable (http://www.acmesystems.it/DPI)
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,165 +0,0 @@
|
||||
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.
|
||||
@@ -1,820 +0,0 @@
|
||||
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
|
||||
|
||||
@@ -1,269 +0,0 @@
|
||||
CONFIG_PPC_85xx=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_CROSS_COMPILE="powerpc-linux-"
|
||||
CONFIG_LOCALVERSION="-ANI-uCP1020-64EE512"
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
CONFIG_DEFAULT_HOSTNAME="uCP1020-64EE512"
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_AUDIT=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_LOG_CPU_MAX_BUF_SHIFT=14
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_RD_BZIP2 is not set
|
||||
# CONFIG_RD_LZMA is not set
|
||||
# CONFIG_RD_XZ is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
# CONFIG_RD_LZ4 is not set
|
||||
CONFIG_SYSCTL_SYSCALL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_SLUB_DEBUG is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_JUMP_LABEL=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_MAC_PARTITION=y
|
||||
# CONFIG_EFI_PARTITION is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_UCP1020_SOM=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_PREEMPT=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_MATH_EMULATION=y
|
||||
CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED=y
|
||||
CONFIG_SWIOTLB=y
|
||||
# CONFIG_COMPACTION is not set
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
# CONFIG_PCIEAER is not set
|
||||
# CONFIG_PCIEASPM is not set
|
||||
CONFIG_PCI_MSI=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_SYN_COOKIES=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_NETFILTER=y
|
||||
CONFIG_BRIDGE_NETFILTER=y
|
||||
CONFIG_NF_CONNTRACK=y
|
||||
CONFIG_NF_CONNTRACK_FTP=y
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
|
||||
CONFIG_NETFILTER_XT_TARGET_MARK=y
|
||||
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
|
||||
CONFIG_NETFILTER_XT_MATCH_HELPER=y
|
||||
CONFIG_NETFILTER_XT_MATCH_MARK=y
|
||||
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
|
||||
CONFIG_NETFILTER_XT_MATCH_STATE=y
|
||||
CONFIG_NF_CONNTRACK_IPV4=y
|
||||
CONFIG_IP_NF_IPTABLES=y
|
||||
CONFIG_IP_NF_FILTER=y
|
||||
CONFIG_IP_NF_TARGET_REJECT=y
|
||||
CONFIG_IP_NF_NAT=y
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=y
|
||||
CONFIG_IP_NF_TARGET_NETMAP=y
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=y
|
||||
CONFIG_IP_NF_MANGLE=y
|
||||
CONFIG_BRIDGE=y
|
||||
CONFIG_VLAN_8021Q=y
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_HTB=y
|
||||
CONFIG_CFG80211=y
|
||||
# CONFIG_CFG80211_DEFAULT_PS is not set
|
||||
CONFIG_MAC80211=y
|
||||
# CONFIG_MAC80211_RC_MINSTREL is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/bin/hotplug"
|
||||
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_FTL=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_MTD_SST25L=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_PLATFORM=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_MTD_NAND_FSL_UPM=y
|
||||
CONFIG_MTD_SPI_NOR=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=131072
|
||||
CONFIG_EEPROM_AT25=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_ST=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_NET_VENDOR_3COM is not set
|
||||
# CONFIG_NET_VENDOR_ADAPTEC is not set
|
||||
# CONFIG_NET_VENDOR_AGERE is not set
|
||||
# CONFIG_NET_VENDOR_ALTEON is not set
|
||||
# CONFIG_NET_VENDOR_AMD is not set
|
||||
# CONFIG_NET_VENDOR_ARC is not set
|
||||
# CONFIG_NET_VENDOR_ATHEROS is not set
|
||||
# CONFIG_NET_CADENCE is not set
|
||||
# CONFIG_NET_VENDOR_BROADCOM is not set
|
||||
# CONFIG_NET_VENDOR_BROCADE is not set
|
||||
# CONFIG_NET_VENDOR_CHELSIO is not set
|
||||
# CONFIG_NET_VENDOR_CISCO is not set
|
||||
# CONFIG_NET_VENDOR_DEC is not set
|
||||
# CONFIG_NET_VENDOR_DLINK is not set
|
||||
# CONFIG_NET_VENDOR_EMULEX is not set
|
||||
# CONFIG_NET_VENDOR_EXAR is not set
|
||||
CONFIG_GIANFAR=y
|
||||
# CONFIG_NET_VENDOR_HP is not set
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
# CONFIG_NET_VENDOR_MELLANOX is not set
|
||||
# CONFIG_NET_VENDOR_MICREL is not set
|
||||
# CONFIG_NET_VENDOR_MICROCHIP is not set
|
||||
# CONFIG_NET_VENDOR_MYRI is not set
|
||||
# CONFIG_NET_VENDOR_NATSEMI is not set
|
||||
# CONFIG_NET_VENDOR_NVIDIA is not set
|
||||
# CONFIG_NET_VENDOR_OKI is not set
|
||||
# CONFIG_NET_PACKET_ENGINE is not set
|
||||
# CONFIG_NET_VENDOR_QLOGIC is not set
|
||||
# CONFIG_NET_VENDOR_QUALCOMM is not set
|
||||
# CONFIG_NET_VENDOR_REALTEK is not set
|
||||
# CONFIG_NET_VENDOR_RDC is not set
|
||||
# CONFIG_NET_VENDOR_ROCKER is not set
|
||||
# CONFIG_NET_VENDOR_SAMSUNG is not set
|
||||
# CONFIG_NET_VENDOR_SEEQ is not set
|
||||
# CONFIG_NET_VENDOR_SILAN is not set
|
||||
# CONFIG_NET_VENDOR_SIS is not set
|
||||
# CONFIG_NET_VENDOR_SMSC is not set
|
||||
# CONFIG_NET_VENDOR_STMICRO is not set
|
||||
# CONFIG_NET_VENDOR_SUN is not set
|
||||
# CONFIG_NET_VENDOR_TEHUTI is not set
|
||||
# CONFIG_NET_VENDOR_TI is not set
|
||||
# CONFIG_NET_VENDOR_VIA is not set
|
||||
# CONFIG_NET_VENDOR_WIZNET is not set
|
||||
# CONFIG_NET_VENDOR_XILINX is not set
|
||||
CONFIG_MICREL_PHY=y
|
||||
CONFIG_IWLWIFI=m
|
||||
# CONFIG_INPUT_MOUSEDEV is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_SERIO_LIBPS2=y
|
||||
CONFIG_LEGACY_PTY_COUNT=16
|
||||
CONFIG_NOZOMI=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=2
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MPC=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_BITBANG=y
|
||||
CONFIG_SPI_FSL_ESPI=y
|
||||
CONFIG_SPI_SPIDEV=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIO_MPC8XXX=y
|
||||
CONFIG_SENSORS_LM90=y
|
||||
CONFIG_THERMAL=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_BOOKE_WDT=y
|
||||
CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT=36
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_MEDIA_CONTROLLER=y
|
||||
CONFIG_VIDEO_V4L2_SUBDEV_API=y
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
CONFIG_USB_VIDEO_CLASS=y
|
||||
CONFIG_USB_GSPCA=y
|
||||
CONFIG_USB_PWC=y
|
||||
CONFIG_USB_ZR364XX=y
|
||||
CONFIG_USB_STKWEBCAM=y
|
||||
CONFIG_VIDEO_EM28XX=y
|
||||
CONFIG_VIDEO_EM28XX_V4L2=y
|
||||
# CONFIG_HID is not set
|
||||
# CONFIG_USB_HID is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_DYNAMIC_MINORS=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_FSL=y
|
||||
CONFIG_USB_ACM=y
|
||||
CONFIG_USB_WDM=y
|
||||
CONFIG_USB_TMC=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_STORAGE_DEBUG=y
|
||||
CONFIG_USB_MDC800=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_FSL_DMA=y
|
||||
CONFIG_ASYNC_TX_DMA=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
|
||||
# CONFIG_EXT3_FS_XATTR is not set
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_XFS_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_NTFS_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_WBUF_VERIFY=y
|
||||
CONFIG_JFFS2_SUMMARY=y
|
||||
CONFIG_JFFS2_FS_XATTR=y
|
||||
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
|
||||
CONFIG_JFFS2_LZO=y
|
||||
CONFIG_JFFS2_RUBIN=y
|
||||
CONFIG_CRAMFS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_NFSD=y
|
||||
CONFIG_CIFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_CRC_T10DIF=y
|
||||
CONFIG_CRC_ITU_T=y
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
# CONFIG_DEBUG_PREEMPT is not set
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||
# CONFIG_RCU_CPU_STALL_INFO is not set
|
||||
# CONFIG_FTRACE is not set
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
CONFIG_CRYPTO_PCBC=y
|
||||
CONFIG_CRYPTO_SHA1=y
|
||||
CONFIG_CRYPTO_SHA1_PPC=y
|
||||
CONFIG_CRYPTO_DEFLATE=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRYPTO_DEV_TALITOS=y
|
||||
@@ -1,462 +0,0 @@
|
||||
From a243628639e12a4bd0a737eac78a12ed240cd137 Mon Sep 17 00:00:00 2001
|
||||
From: Oleksandr G Zhadan <oleks@arcturusnetworks.com>
|
||||
Date: Mon, 18 Jul 2016 10:40:16 -0400
|
||||
Subject: [PATCH] Arcturus uCP1020 BSP support
|
||||
|
||||
The uCP1020 product family (ucp1020) is an Arcturus Networks Inc.
|
||||
System on Modules product featuring a NXP QorIQ P1020 CPU,
|
||||
optionally populated with 1 or 2 Gig-Ethernet PHYs,
|
||||
DDR3, NOR Flash, eMMC NAND Flash and/or SPI Flash.
|
||||
|
||||
Signed-off-by: Oleksandr G Zhadan <oleks@arcturusnetworks.com>
|
||||
Signed-off-by: Michael Durrant <arcsupport@arcturusnetworks.com>
|
||||
---
|
||||
arch/powerpc/boot/dts/ucp1020.dts | 87 ++++++++++++
|
||||
arch/powerpc/boot/dts/ucp1020.dtsi | 211 ++++++++++++++++++++++++++++++
|
||||
arch/powerpc/platforms/85xx/Kconfig | 7 +
|
||||
arch/powerpc/platforms/85xx/Makefile | 1 +
|
||||
arch/powerpc/platforms/85xx/ucp1020_som.c | 92 +++++++++++++
|
||||
5 files changed, 398 insertions(+)
|
||||
create mode 100644 arch/powerpc/boot/dts/ucp1020.dts
|
||||
create mode 100644 arch/powerpc/boot/dts/ucp1020.dtsi
|
||||
create mode 100644 arch/powerpc/platforms/85xx/ucp1020_som.c
|
||||
|
||||
diff --git a/arch/powerpc/boot/dts/ucp1020.dts b/arch/powerpc/boot/dts/ucp1020.dts
|
||||
new file mode 100644
|
||||
index 0000000..291e70a
|
||||
--- /dev/null
|
||||
+++ b/arch/powerpc/boot/dts/ucp1020.dts
|
||||
@@ -0,0 +1,87 @@
|
||||
+/*
|
||||
+ * uCP1020 Tree Source (32-bit address map)
|
||||
+ *
|
||||
+ * Copyright 2013-2016 Arcturus Networks Inc.
|
||||
+ *
|
||||
+ * 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 following disclaimer.
|
||||
+ * * Redistributions in binary form must reproduce the above copyright
|
||||
+ * notice, this list of conditions and the following disclaimer in the
|
||||
+ * documentation and/or other materials provided with the distribution.
|
||||
+ * * Neither the name of Freescale Semiconductor nor the
|
||||
+ * names of its contributors may be used to endorse or promote products
|
||||
+ * derived from this software without specific prior written permission.
|
||||
+ *
|
||||
+ *
|
||||
+ * ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
+ * GNU General Public License ("GPL") as published by the Free Software
|
||||
+ * Foundation, either version 2 of that License or (at your option) any
|
||||
+ * later version.
|
||||
+ *
|
||||
+ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
|
||||
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor 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.
|
||||
+ */
|
||||
+
|
||||
+/include/ "fsl/p1020si-pre.dtsi"
|
||||
+/ {
|
||||
+ model = "arcturus,uCP1020";
|
||||
+ compatible = "arcturus,uCP1020";
|
||||
+
|
||||
+ memory {
|
||||
+ device_type = "memory";
|
||||
+ };
|
||||
+
|
||||
+ lbc: localbus@ffe05000 {
|
||||
+ reg = <0 0xffe05000 0 0x1000>;
|
||||
+
|
||||
+ /* NOR Flash */
|
||||
+ ranges = <0x0 0x0 0x0 0xec000000 0x04000000>;
|
||||
+ };
|
||||
+
|
||||
+ soc: soc@ffe00000 {
|
||||
+ ranges = <0x0 0x0 0xffe00000 0x100000>;
|
||||
+ };
|
||||
+
|
||||
+ pci0: pcie@ffe09000 {
|
||||
+ ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
|
||||
+ 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>;
|
||||
+ reg = <0 0xffe09000 0 0x1000>;
|
||||
+ pcie@0 {
|
||||
+ ranges = <0x2000000 0x0 0xa0000000
|
||||
+ 0x2000000 0x0 0xa0000000
|
||||
+ 0x0 0x20000000
|
||||
+
|
||||
+ 0x1000000 0x0 0x0
|
||||
+ 0x1000000 0x0 0x0
|
||||
+ 0x0 0x100000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pci1: pcie@ffe0a000 {
|
||||
+ reg = <0 0xffe0a000 0 0x1000>;
|
||||
+ ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000
|
||||
+ 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>;
|
||||
+ pcie@0 {
|
||||
+ ranges = <0x2000000 0x0 0x80000000
|
||||
+ 0x2000000 0x0 0x80000000
|
||||
+ 0x0 0x20000000
|
||||
+
|
||||
+ 0x1000000 0x0 0x0
|
||||
+ 0x1000000 0x0 0x0
|
||||
+ 0x0 0x100000>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+/include/ "ucp1020.dtsi"
|
||||
+/include/ "fsl/p1020si-post.dtsi"
|
||||
diff --git a/arch/powerpc/boot/dts/ucp1020.dtsi b/arch/powerpc/boot/dts/ucp1020.dtsi
|
||||
new file mode 100644
|
||||
index 0000000..7cff949
|
||||
--- /dev/null
|
||||
+++ b/arch/powerpc/boot/dts/ucp1020.dtsi
|
||||
@@ -0,0 +1,211 @@
|
||||
+/*
|
||||
+ * uCP1020 Device Tree Source stub (no addresses or top-level ranges)
|
||||
+ *
|
||||
+ * Copyright 2013-2016 Arcturus Networks Inc.
|
||||
+ *
|
||||
+ * 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 following disclaimer.
|
||||
+ * * Redistributions in binary form must reproduce the above copyright
|
||||
+ * notice, this list of conditions and the following disclaimer in the
|
||||
+ * documentation and/or other materials provided with the distribution.
|
||||
+ * * Neither the name of Freescale Semiconductor nor the
|
||||
+ * names of its contributors may be used to endorse or promote products
|
||||
+ * derived from this software without specific prior written permission.
|
||||
+ *
|
||||
+ *
|
||||
+ * ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
+ * GNU General Public License ("GPL") as published by the Free Software
|
||||
+ * Foundation, either version 2 of that License or (at your option) any
|
||||
+ * later version.
|
||||
+ *
|
||||
+ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
|
||||
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
+ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor 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.
|
||||
+ */
|
||||
+
|
||||
+&lbc {
|
||||
+ nor@0,0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ compatible = "cfi-flash";
|
||||
+ reg = <0x0 0x0 0x04000000>;
|
||||
+ bank-width = <2>;
|
||||
+ device-width = <1>;
|
||||
+
|
||||
+ partition@100000 {
|
||||
+ /* 7MB - PART 0 */
|
||||
+ reg = <0x00100000 0x00700000>;
|
||||
+ label = "0";
|
||||
+ };
|
||||
+
|
||||
+ partition@800000 {
|
||||
+ /* 32MB - PART 1 */
|
||||
+ reg = <0x0800000 0x02000000>;
|
||||
+ label = "1";
|
||||
+ };
|
||||
+
|
||||
+ partition@2800000 {
|
||||
+ /* 8MB - PART 2 */
|
||||
+ reg = <0x02800000 0x00800000>;
|
||||
+ label = "2";
|
||||
+ };
|
||||
+
|
||||
+ partition@3000000 {
|
||||
+ /* (16MB - 512K) - PART 3 JFFS 2 */
|
||||
+ reg = <0x03000000 0x00f80000>;
|
||||
+ label = "3";
|
||||
+ };
|
||||
+
|
||||
+ partition@0 {
|
||||
+ /* 512KB - bootloader[u-boot, uCbootloader] */
|
||||
+ reg = <0x0 0x00080000>;
|
||||
+ label = "BOOT_SPI";
|
||||
+ };
|
||||
+
|
||||
+ partition@3f80000 {
|
||||
+ /* 512KB - bootloade NOR r[u-boot, uCbootloader] */
|
||||
+ reg = <0x03f80000 0x00080000>;
|
||||
+ label = "B";
|
||||
+ };
|
||||
+
|
||||
+ partition@80000 {
|
||||
+ /* 256KB - bootloaders environment (uCenv) */
|
||||
+ reg = <0x00080000 0x00040000>;
|
||||
+
|
||||
+ label = "E";
|
||||
+ };
|
||||
+
|
||||
+ partition@C0000 {
|
||||
+ /* 256KB - bootloaders environment (u-boot) */
|
||||
+ reg = <0x000C0000 0x00040000>;
|
||||
+ label = "UENV";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&soc {
|
||||
+ i2c@3000 {
|
||||
+ spoc@14 {
|
||||
+ compatible = "conexant,cx2070x";
|
||||
+ reg = <0x14>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ i2c@3100 {
|
||||
+ dtt@4C {
|
||||
+ compatible = "national,lm90";
|
||||
+ reg = <0x4C>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ spi@7000 {
|
||||
+ flash@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ compatible = "winbond,w25q80bl";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <40000000>; /* input clock */
|
||||
+
|
||||
+ partition@0 {
|
||||
+ label = "SPI MBR";
|
||||
+ reg = <0x00000000 0x00002000>;
|
||||
+ read-only;
|
||||
+ };
|
||||
+ partition@2000 {
|
||||
+ label = "SPI ENV";
|
||||
+ reg = <0x00002000 0x00006000>;
|
||||
+ read-only;
|
||||
+ };
|
||||
+ partition@8000 {
|
||||
+ label = "SPI FS";
|
||||
+ reg = <0x00008000 0x000F8000>;
|
||||
+ };
|
||||
+ };
|
||||
+ flash@3 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ compatible = "spansion,s25fl008k";
|
||||
+ reg = <3>;
|
||||
+ spi-max-frequency = <40000000>; /* input clock */
|
||||
+ partition@0 {
|
||||
+ label = "SPI USER";
|
||||
+ reg = <0x00000000 0x00100000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usb@22000 {
|
||||
+ phy_type = "ulpi";
|
||||
+ dr_mode = "host";
|
||||
+ };
|
||||
+
|
||||
+ mdio@24000 {
|
||||
+ phy0: ethernet-phy@4 {
|
||||
+ interrupt-parent = <&mpic>;
|
||||
+ interrupts = <4 1>;
|
||||
+ reg = <0x04>;
|
||||
+ };
|
||||
+
|
||||
+ phy1: ethernet-phy@6 {
|
||||
+ interrupt-parent = <&mpic>;
|
||||
+ interrupts = <8 1>;
|
||||
+ reg = <0x6>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ enet0: ethernet@b0000 {
|
||||
+ phy-handle = <&phy0>;
|
||||
+ phy-connection-type = "rgmii-id";
|
||||
+ };
|
||||
+
|
||||
+ enet1: ethernet@b1000 {
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ enet2: ethernet@b2000 {
|
||||
+ phy-handle = <&phy1>;
|
||||
+ phy-connection-type = "rgmii-id";
|
||||
+ };
|
||||
+
|
||||
+ gpio0: gpio@f000 {
|
||||
+ compatible = "fsl,mpc8572-gpio", "fsl,pq3-gpio";
|
||||
+ reg = <0xf000 0x1000>;
|
||||
+ interrupts = <47 2>;
|
||||
+ interrupt-parent = <&mpic>;
|
||||
+ #gpio-cells = <2>;
|
||||
+ gpio-controller;
|
||||
+ };
|
||||
+
|
||||
+ gpio-leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+ gpio5 {
|
||||
+ label = "led1"; /* LED15 */
|
||||
+ gpios = <&gpio0 5 0>;
|
||||
+ };
|
||||
+ gpio12 {
|
||||
+ label = "led2"; /* LED16 */
|
||||
+ gpios = <&gpio0 12 0>;
|
||||
+ };
|
||||
+ gpio13 {
|
||||
+ label = "led3"; /* LED17 */
|
||||
+ gpios = <&gpio0 13 0>;
|
||||
+ };
|
||||
+ gpio7 {
|
||||
+ label = "led4"; /* LED18 */
|
||||
+ gpios = <&gpio0 7 0>;
|
||||
+ };
|
||||
+ gpio6 {
|
||||
+ label = "led5"; /* LED19 */
|
||||
+ gpios = <&gpio0 6 0>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
|
||||
index 2fb4b24..81a944f 100644
|
||||
--- a/arch/powerpc/platforms/85xx/Kconfig
|
||||
+++ b/arch/powerpc/platforms/85xx/Kconfig
|
||||
@@ -241,6 +241,13 @@ config SGY_CTS1000
|
||||
help
|
||||
Enable this to support functionality in Servergy's CTS-1000 systems.
|
||||
|
||||
+config UCP1020_SOM
|
||||
+ bool "Arcturus uCP1020 Rev.1.3 System on Module"
|
||||
+ select DEFAULT_UIMAGE
|
||||
+ help
|
||||
+ This option enables support for the Arcturus Networks Inc.
|
||||
+ uCP1020 System on Module.
|
||||
+
|
||||
config MVME2500
|
||||
bool "Artesyn MVME2500"
|
||||
select DEFAULT_UIMAGE
|
||||
diff --git a/arch/powerpc/platforms/85xx/Makefile b/arch/powerpc/platforms/85xx/Makefile
|
||||
index 1fe7fb9..84f2b9a 100644
|
||||
--- a/arch/powerpc/platforms/85xx/Makefile
|
||||
+++ b/arch/powerpc/platforms/85xx/Makefile
|
||||
@@ -31,4 +31,5 @@ obj-$(CONFIG_XES_MPC85xx) += xes_mpc85xx.o
|
||||
obj-$(CONFIG_GE_IMP3A) += ge_imp3a.o
|
||||
obj-$(CONFIG_PPC_QEMU_E500) += qemu_e500.o
|
||||
obj-$(CONFIG_SGY_CTS1000) += sgy_cts1000.o
|
||||
+obj-$(CONFIG_UCP1020_SOM) += ucp1020_som.o
|
||||
obj-$(CONFIG_MVME2500) += mvme2500.o
|
||||
diff --git a/arch/powerpc/platforms/85xx/ucp1020_som.c b/arch/powerpc/platforms/85xx/ucp1020_som.c
|
||||
new file mode 100644
|
||||
index 0000000..777e8ad
|
||||
--- /dev/null
|
||||
+++ b/arch/powerpc/platforms/85xx/ucp1020_som.c
|
||||
@@ -0,0 +1,92 @@
|
||||
+/*
|
||||
+ * Arcturus Networks Inc. uCP1020 module Setup
|
||||
+ *
|
||||
+ * Copyright 2014-2016 Arcturus Networks Inc.
|
||||
+ *
|
||||
+ * by Oleksandr G Zhadan & Michael Durrant (www.ArcturusNetworks.com)
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify it
|
||||
+ * under the terms of the GNU General Public License as published by the
|
||||
+ * Free Software Foundation; either version 2 of the License, or (at your
|
||||
+ * option) any later version.
|
||||
+ */
|
||||
+
|
||||
+#include <linux/stddef.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/pci.h>
|
||||
+#include <linux/kdev_t.h>
|
||||
+#include <linux/delay.h>
|
||||
+#include <linux/seq_file.h>
|
||||
+#include <linux/interrupt.h>
|
||||
+#include <linux/of_platform.h>
|
||||
+
|
||||
+#include <asm/time.h>
|
||||
+#include <asm/machdep.h>
|
||||
+#include <asm/pci-bridge.h>
|
||||
+#include <mm/mmu_decl.h>
|
||||
+#include <asm/prom.h>
|
||||
+#include <asm/udbg.h>
|
||||
+#include <asm/mpic.h>
|
||||
+#include <asm/fsl_guts.h>
|
||||
+
|
||||
+#include <sysdev/fsl_soc.h>
|
||||
+#include <sysdev/fsl_pci.h>
|
||||
+#include "smp.h"
|
||||
+
|
||||
+#include "mpc85xx.h"
|
||||
+
|
||||
+void __init ucp1020_som_pic_init(void)
|
||||
+{
|
||||
+ struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN |
|
||||
+ MPIC_SINGLE_DEST_CPU,
|
||||
+ 0, 256, " OpenPIC ");
|
||||
+
|
||||
+ BUG_ON(mpic == NULL);
|
||||
+
|
||||
+ mpic_init(mpic);
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Setup the architecture
|
||||
+ */
|
||||
+static void __init ucp1020_som_setup_arch(void)
|
||||
+{
|
||||
+ if (ppc_md.progress)
|
||||
+ ppc_md.progress("uCP1020_SoM_setup_arch()", 0);
|
||||
+
|
||||
+ mpc85xx_smp_init();
|
||||
+
|
||||
+ fsl_pci_assign_primary();
|
||||
+ pr_info("\n\t%s (http://www.arcturusnetworks.com)\n", ppc_md.name);
|
||||
+}
|
||||
+
|
||||
+machine_arch_initcall(ucp1020, mpc85xx_common_publish_devices);
|
||||
+machine_arch_initcall(ucp1020, swiotlb_setup_bus_notifier);
|
||||
+
|
||||
+/*
|
||||
+ * Called very early, device-tree isn't unflattened
|
||||
+ */
|
||||
+static int __init ucp1020_probe(void)
|
||||
+{
|
||||
+ unsigned long root = of_get_flat_dt_root();
|
||||
+
|
||||
+ if (of_flat_dt_is_compatible(root, "arcturus,uCP1020"))
|
||||
+ return 1;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+define_machine(ucp1020) {
|
||||
+ .name = "uCP1020 SoM - Arcturus Networks Inc.",
|
||||
+ .probe = ucp1020_probe,
|
||||
+ .setup_arch = ucp1020_som_setup_arch,
|
||||
+ .init_IRQ = ucp1020_som_pic_init,
|
||||
+#ifdef CONFIG_PCI
|
||||
+ .pcibios_fixup_bus = fsl_pcibios_fixup_bus,
|
||||
+#endif
|
||||
+ .get_irq = mpic_get_irq,
|
||||
+ .restart = fsl_rstcr_restart,
|
||||
+ .calibrate_decr = generic_calibrate_decr,
|
||||
+#ifdef DEBUG
|
||||
+ .progress = udbg_progress,
|
||||
+#endif
|
||||
+};
|
||||
--
|
||||
2.1.4
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
From 4c74fd1266287deca0c1ff091071c5b8558b9735 Mon Sep 17 00:00:00 2001
|
||||
From: Oleksandr G Zhadan <oleks@arcturusnetworks.com>
|
||||
Date: Mon, 18 Jul 2016 10:45:41 -0400
|
||||
Subject: [PATCH 1/1] p1020 esdhc controller reserved bit
|
||||
|
||||
Prevent SDHCI core from writing reserved bits, where
|
||||
p1020 reserved bit is SDHCI_CTRL_HISPD, not 0x01(SDHCI_CTRL_LED).
|
||||
|
||||
Signed-off-by: Oleksandr G Zhadan <oleks@arcturusnetworks.com>
|
||||
Signed-off-by: Michael Durrant <arcsupport@arcturusnetworks.com>
|
||||
---
|
||||
drivers/mmc/host/sdhci-esdhc.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/mmc/host/sdhci-esdhc.h b/drivers/mmc/host/sdhci-esdhc.h
|
||||
index a870c42..b45de0a 100644
|
||||
--- a/drivers/mmc/host/sdhci-esdhc.h
|
||||
+++ b/drivers/mmc/host/sdhci-esdhc.h
|
||||
@@ -45,6 +45,6 @@
|
||||
#define ESDHC_DMA_SYSCTL 0x40c
|
||||
#define ESDHC_DMA_SNOOP 0x00000040
|
||||
|
||||
-#define ESDHC_HOST_CONTROL_RES 0x01
|
||||
+#define ESDHC_HOST_CONTROL_RES (SDHCI_CTRL_HISPD)
|
||||
|
||||
#endif /* _DRIVERS_MMC_SDHCI_ESDHC_H */
|
||||
--
|
||||
2.1.4
|
||||
@@ -1,73 +0,0 @@
|
||||
Arcturus uCP1020 SoM
|
||||
====================
|
||||
|
||||
This tutorial describes how to use the predefined Buildroot
|
||||
configuration for the Arcturus uCP1020 SoM platform.
|
||||
|
||||
Additional information about this module can be found at
|
||||
<www.arcturusnetworks.com/products/ucp1020>
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
make arcturus_ucp1020_defconfig
|
||||
make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should obtain this tree:
|
||||
|
||||
output/images/
|
||||
+-- rootfs.jffs2
|
||||
+-- rootfs.tar
|
||||
+-- u-boot.bin
|
||||
+-- ucp1020.dtb
|
||||
+-- uImage
|
||||
|
||||
Flashing
|
||||
--------
|
||||
|
||||
You'll need to program the files created by buildroot into the NOR flash.
|
||||
|
||||
1. Program the new U-Boot binary (optional)
|
||||
If you don't feel confident upgrading your bootloader then don't do it,
|
||||
it's unnecessary most of the time.
|
||||
|
||||
B$ tftp u-boot.bin
|
||||
B$ protect off 0xeff80000 +$filesize
|
||||
B$ erase 0xeff80000 +$filesize
|
||||
B$ cp.b $loadaddr 0xeff80000 $filesize
|
||||
|
||||
2. Program the kernel
|
||||
|
||||
B$ tftp uImage
|
||||
B$ erase 0xec140000 +$filesize
|
||||
B$ cp.b $loadaddr 0xec140000 $filesize
|
||||
|
||||
3. Program the DTB
|
||||
|
||||
B$ tftp ucp1020.dtb
|
||||
B$ erase 0xec100000 +$filesize
|
||||
B$ cp.b $loadaddr 0xec100000 $filesize
|
||||
|
||||
4. Program the jffs2 root filesystem
|
||||
|
||||
B$ tftp rootfs.jffs2
|
||||
B$ erase 0xec800000 0xee8fffff
|
||||
B$ cp.b $loadaddr 0xec800000 $filesize
|
||||
|
||||
5. Booting your new system
|
||||
|
||||
B$ setenv norboot 'setenv bootargs root=/dev/mtdblock1 rootfstype=jffs2 console=$consoledev,$baudrate;bootm 0xec140000 - 0xec100000'
|
||||
|
||||
If you want to set this boot option as default:
|
||||
|
||||
B$ setenv bootcmd 'run norboot'
|
||||
B$ saveenv
|
||||
|
||||
...or for a single boot:
|
||||
|
||||
B$ run norboot
|
||||
|
||||
Good Luck !
|
||||
@@ -1,19 +0,0 @@
|
||||
This is the support for the ARM Foundation v8 machine emulated by the
|
||||
ARM software simulator of the AArch64 architecture.
|
||||
|
||||
First, one has to download the AArch64 software simulator from:
|
||||
|
||||
https://silver.arm.com/download/download.tm?pv=2663527
|
||||
|
||||
Then, use the arm_foundationv8_defconfig configuration to build your
|
||||
Buildroot system.
|
||||
|
||||
Finally, boot your system with:
|
||||
|
||||
${LOCATION_OF_FOUNDATIONV8_SIMULATOR}/models/Linux64_GCC-4.7/Foundation_Platform \
|
||||
--image output/images/linux-system.axf \
|
||||
--block-device output/images/rootfs.ext2 \
|
||||
--network=nat
|
||||
|
||||
You can get network access from within the simulated environment
|
||||
by requesting an IP address using DHCP (run the command 'udhcpc').
|
||||
@@ -1,169 +0,0 @@
|
||||
CONFIG_SMP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_FHANDLE=y
|
||||
CONFIG_AUDIT=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_HIGH_RES_TIMERS=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_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_MEMCG=y
|
||||
CONFIG_MEMCG_SWAP=y
|
||||
CONFIG_MEMCG_KMEM=y
|
||||
CONFIG_CGROUP_HUGETLB=y
|
||||
CONFIG_SCHED_AUTOGROUP=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_ARCH_VEXPRESS=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_PCI_HOST_GENERIC=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
CONFIG_HOTPLUG_PCI_PCIE=y
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
CONFIG_NR_CPUS=6
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_KSM=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_CMA=y
|
||||
CONFIG_CMDLINE="console=ttyAMA0"
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_ARM_CPUIDLE=y
|
||||
CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
|
||||
CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
|
||||
CONFIG_ARM_DT_BL_CPUFREQ=y
|
||||
CONFIG_ARM_SCPI_CPUFREQ=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_BPF_JIT=y
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_AHCI=y
|
||||
CONFIG_SATA_AHCI_PLATFORM=y
|
||||
CONFIG_AHCI_XGENE=y
|
||||
CONFIG_PATA_PLATFORM=y
|
||||
CONFIG_PATA_OF_PLATFORM=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_TUN=y
|
||||
CONFIG_SKY2=y
|
||||
CONFIG_SMC91X=y
|
||||
CONFIG_SMSC911X=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIO_AMBAKMI=y
|
||||
CONFIG_LEGACY_PTY_COUNT=16
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_SERIAL_XILINX_PS_UART=y
|
||||
CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_DESIGNWARE_PLATFORM=y
|
||||
CONFIG_I2C_SLAVE=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_PL022=y
|
||||
CONFIG_PTP_1588_CLOCK=m
|
||||
CONFIG_GPIO_PL061=y
|
||||
CONFIG_GPIO_XGENE=y
|
||||
CONFIG_POWER_RESET_XGENE=y
|
||||
CONFIG_POWER_RESET_SYSCON=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_REGULATOR_VEXPRESS=m
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_I2C_NXP_TDA998X=y
|
||||
CONFIG_DRM_ARM=y
|
||||
CONFIG_DRM_HDLCD=y
|
||||
CONFIG_DRM_VIRTUAL_HDLCD=y
|
||||
CONFIG_FB_ARMCLCD=y
|
||||
CONFIG_LOGO=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_HCD_PLATFORM=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD_PLATFORM=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_ISP1760=y
|
||||
CONFIG_NOP_USB_XCEIV=y
|
||||
CONFIG_USB_ULPI=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_ARMMMCI=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SPI=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_EFI=y
|
||||
CONFIG_RTC_DRV_PL030=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_PL330_DMA=y
|
||||
CONFIG_COMMON_CLK_SCPI=y
|
||||
CONFIG_ARM_TIMER_SP804=y
|
||||
CONFIG_MAILBOX=y
|
||||
CONFIG_ARM_MHU=y
|
||||
CONFIG_PHY_XGENE=y
|
||||
CONFIG_ARM_SCPI_PROTOCOL=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_FANOTIFY=y
|
||||
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_CUSE=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_EFIVAR_FS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
CONFIG_KVM=y
|
||||
CONFIG_DYNAMIC_DEBUG=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_LOCKUP_DETECTOR=y
|
||||
CONFIG_SECURITY=y
|
||||
CONFIG_CRYPTO_ANSI_CPRNG=y
|
||||
CONFIG_ARM64_CRYPTO=y
|
||||
CONFIG_CRYPTO_SHA1_ARM64_CE=y
|
||||
CONFIG_CRYPTO_SHA2_ARM64_CE=y
|
||||
CONFIG_CRYPTO_GHASH_ARM64_CE=y
|
||||
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
|
||||
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_SIMPLE_CARD=y
|
||||
CONFIG_SND_DESIGNWARE_I2S=y
|
||||
CONFIG_CMA=y
|
||||
CONFIG_CMA_SIZE_MBYTES=64
|
||||
@@ -1,134 +0,0 @@
|
||||
ARM Juno r1/r0
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
These instructions apply to all models of the ARM Juno:
|
||||
- Juno r0 (does not support PCIe)
|
||||
- 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.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot
|
||||
-------------------
|
||||
|
||||
Configuring Buildroot is pretty simple, just execute:
|
||||
|
||||
$ make arm_juno_defconfig
|
||||
|
||||
Build the rootfs, kernel and DTB
|
||||
--------------------------------
|
||||
|
||||
Note: you will need to have access to the network, since Buildroot will
|
||||
download the packages' sources.
|
||||
|
||||
You may now build your rootfs with:
|
||||
|
||||
$ make
|
||||
|
||||
(This may take a while)
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should obtain this tree:
|
||||
|
||||
output/images/
|
||||
+-- rootfs.tar
|
||||
+-- juno.dtb (if Juno r0 is used)
|
||||
+-- 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
|
||||
======================
|
||||
|
||||
Format your pen drive as a ext3 filesystem by executing:
|
||||
|
||||
$ mkfs.ext3 /dev/<your device>
|
||||
|
||||
Installing your rootfs
|
||||
======================
|
||||
|
||||
After mounting the pen drive please execute the following:
|
||||
|
||||
$ sudo tar -xvf output/images/rootfs.tar -C <pen drive mount path>
|
||||
|
||||
When completed make sure to unmount the device:
|
||||
|
||||
$ umount <pen drive mount path>
|
||||
|
||||
Insert the pen drive in one of the ARM Juno' USB type A connectors.
|
||||
|
||||
Configure *.dtb in the boot configuration for Juno r0
|
||||
=====================================================
|
||||
|
||||
SITE1/HBI0262B/images.txt
|
||||
.....
|
||||
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||
NOR3ADDRESS: 0x00C00000 ;Image Flash Address
|
||||
NOR3FILE: \SOFTWARE\juno.dtb ;Image File Name
|
||||
NOR3NAME: board.dtb ;Specify Image name to preserve file extension
|
||||
NOR3LOAD: 00000000 ;Image Load Address
|
||||
NOR3ENTRY: 00000000 ;Image Entry Point
|
||||
......
|
||||
|
||||
Configure *.dtb in the boot configuration for Juno r1
|
||||
=====================================================
|
||||
|
||||
SITE1/HBI0262C/images.txt
|
||||
......
|
||||
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||
NOR3ADDRESS: 0x00C00000 ;Image Flash Address
|
||||
NOR3FILE: \SOFTWARE\juno-r1.dtb ;Image File Name
|
||||
NOR3NAME: board.dtb ;Specify target filename to preserve file extension
|
||||
NOR3LOAD: 00000000 ;Image Load Address
|
||||
NOR3ENTRY: 00000000 ;Image Entry Point
|
||||
......
|
||||
|
||||
Configure *.dtb in the boot configuration for Juno r2
|
||||
=====================================================
|
||||
|
||||
SITE1/HBI0262D/images.txt
|
||||
......
|
||||
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
|
||||
NOR3ADDRESS: 0x02000000 ;Image Flash Address
|
||||
NOR3FILE: \SOFTWARE\juno-r2.dtb ;Image File Name
|
||||
NOR3NAME: board.dtb ;Specify target filename to preserve file extension
|
||||
NOR3LOAD: 00000000 ;Image Load Address
|
||||
NOR3ENTRY: 00000000 ;Image Entry Point
|
||||
......
|
||||
|
||||
Installing kernel image and DTB
|
||||
===============================
|
||||
|
||||
1. Connect to the ARM Juno UART0 and execute USB_ON in the terminal
|
||||
2. Connect a USB cable between your PC and ARM Juno USB type B connector
|
||||
A mass storage device should appear in your desktop.
|
||||
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
|
||||
|
||||
At this time, the board will erase the Flash entry for each new item and
|
||||
replace it with the lastest ones.
|
||||
@@ -1,224 +0,0 @@
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_OPROFILE=m
|
||||
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_MULTI_V7 is not set
|
||||
CONFIG_ARCH_MXC=y
|
||||
CONFIG_MACH_IMX27_DT=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_PM_DEBUG=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=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=y
|
||||
CONFIG_CAN=m
|
||||
CONFIG_CAN_VCAN=m
|
||||
CONFIG_CAN_MCP251X=m
|
||||
CONFIG_BT=m
|
||||
CONFIG_BT_RFCOMM=m
|
||||
CONFIG_BT_RFCOMM_TTY=y
|
||||
CONFIG_BT_BNEP=m
|
||||
CONFIG_BT_HIDP=m
|
||||
CONFIG_BT_HCIBTUSB=m
|
||||
CONFIG_BT_HCIUART=m
|
||||
CONFIG_BT_HCIUART_H4=y
|
||||
CONFIG_BT_HCIUART_BCSP=y
|
||||
CONFIG_CFG80211=m
|
||||
CONFIG_MAC80211=m
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_ADV_OPTIONS=y
|
||||
CONFIG_MTD_CFI_GEOMETRY=y
|
||||
# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
|
||||
# CONFIG_MTD_CFI_I2 is not set
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_PHYSMAP=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_MXC=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_EEPROM_AT25=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_NETDEVICES=y
|
||||
# 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_MICROCHIP 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_NET_VENDOR_WIZNET is not set
|
||||
CONFIG_SMSC_PHY=y
|
||||
CONFIG_RTL8187=m
|
||||
CONFIG_LIBERTAS=m
|
||||
CONFIG_LIBERTAS_SDIO=m
|
||||
CONFIG_RT2X00=m
|
||||
CONFIG_RT2500USB=m
|
||||
CONFIG_RT73USB=m
|
||||
CONFIG_RT2800USB=m
|
||||
CONFIG_RTL8192CU=m
|
||||
CONFIG_ZD1211RW=m
|
||||
CONFIG_INPUT_JOYDEV=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_KEYBOARD_GPIO=y
|
||||
CONFIG_KEYBOARD_IMX=m
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_INPUT_JOYSTICK=y
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_SERIAL_IMX=y
|
||||
CONFIG_SERIAL_IMX_CONSOLE=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_IMX=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_IMX=y
|
||||
CONFIG_SPI_SPIDEV=m
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_W1=y
|
||||
CONFIG_W1_MASTER_MXC=y
|
||||
CONFIG_W1_SLAVE_THERM=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_IMX2_WDT=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
CONFIG_USB_VIDEO_CLASS=m
|
||||
CONFIG_USB_PWC=m
|
||||
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||
CONFIG_SOC_CAMERA=m
|
||||
CONFIG_VIDEO_MX2=m
|
||||
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
|
||||
# CONFIG_DVB_AU8522_V4L is not set
|
||||
# CONFIG_DVB_TUNER_DIB0070 is not set
|
||||
# CONFIG_DVB_TUNER_DIB0090 is not set
|
||||
CONFIG_FB=y
|
||||
# CONFIG_FB_MX3 is not set
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
# CONFIG_LCD_CLASS_DEVICE is not set
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
CONFIG_SOUND=m
|
||||
CONFIG_SND=m
|
||||
CONFIG_SND_MIXER_OSS=m
|
||||
CONFIG_SND_PCM_OSS=m
|
||||
# CONFIG_SND_DRIVERS is not set
|
||||
# CONFIG_SND_ARM is not set
|
||||
# CONFIG_SND_SPI is not set
|
||||
# CONFIG_SND_USB is not set
|
||||
CONFIG_SND_SOC=m
|
||||
CONFIG_SND_IMX_SOC=m
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_MXC=y
|
||||
CONFIG_USB_ACM=y
|
||||
CONFIG_USB_PRINTER=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_CHIPIDEA=y
|
||||
CONFIG_USB_CHIPIDEA_HOST=y
|
||||
CONFIG_USB_CHIPIDEA_DEBUG=y
|
||||
CONFIG_USB_SERIAL=y
|
||||
CONFIG_USB_SERIAL_FTDI_SIO=y
|
||||
CONFIG_USB_SERIAL_PL2303=y
|
||||
CONFIG_USB_ULPI=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_USB_GADGETFS=m
|
||||
CONFIG_USB_MASS_STORAGE=m
|
||||
CONFIG_USB_G_HID=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_MXC=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_LEDS_TRIGGER_TRANSIENT=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_DS1374=y
|
||||
CONFIG_RTC_DRV_MXC=m
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_IMX_SDMA=y
|
||||
CONFIG_IMX_DMA=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
CONFIG_IIO=y
|
||||
CONFIG_MAX1027=y
|
||||
CONFIG_MAX5821=y
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PWM_IMX=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
# CONFIG_PROC_PAGE_MONITOR is not set
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=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_NLS_ISO8859_15=m
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
# CONFIG_DEBUG_PREEMPT is not set
|
||||
# CONFIG_FTRACE is not set
|
||||
CONFIG_DEBUG_LL=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
@@ -1,185 +0,0 @@
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_OPROFILE=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_BSD_DISKLABEL=y
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_MXS=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CPU_IDLE=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_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_CAN=m
|
||||
CONFIG_CAN_VCAN=m
|
||||
CONFIG_CAN_FLEXCAN=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_CFG80211=m
|
||||
CONFIG_MAC80211=m
|
||||
CONFIG_MAC80211_RC_PID=y
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_FW_LOADER=m
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_DATAFLASH=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
# CONFIG_M25PXX_USE_FAST_READ is not set
|
||||
CONFIG_MTD_SST25L=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_GPMI_NAND=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_EEPROM_AT25=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_ST=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_CHR_DEV_SCH=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_SCSI_SCAN_ASYNC=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_RTL8187=m
|
||||
CONFIG_RT2X00=m
|
||||
CONFIG_RT73USB=m
|
||||
CONFIG_ZD1211RW=m
|
||||
CONFIG_INPUT_JOYDEV=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_UINPUT=m
|
||||
# CONFIG_SERIO_SERPORT is not set
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
# CONFIG_DEVKMEM is not set
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_SERIAL_MXS_AUART=y
|
||||
CONFIG_TTY_PRINTK=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MXS=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_BITBANG=m
|
||||
CONFIG_SPI_MXS=y
|
||||
CONFIG_SPI_SPIDEV=m
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_HWMON=m
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_STMP3XXX_RTC_WATCHDOG=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_MXS=y
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
CONFIG_LCD_CLASS_DEVICE=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
# CONFIG_BACKLIGHT_GENERIC is not set
|
||||
CONFIG_BACKLIGHT_PWM=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DEBUG=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_ACM=y
|
||||
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_MXS_PHY=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_DEBUG_FILES=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_MXS=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_DEFAULT_ON=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_STMP=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_MXS_DMA=y
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_MXS_LRADC=y
|
||||
CONFIG_IIO=y
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PWM_MXS=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT2_FS_XATTR=y
|
||||
CONFIG_EXT2_FS_POSIX_ACL=y
|
||||
CONFIG_EXT2_FS_SECURITY=y
|
||||
CONFIG_EXT2_FS_XIP=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_ISO9660_FS=y
|
||||
CONFIG_JOLIET=y
|
||||
CONFIG_ZISOFS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=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_FS=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
@@ -1,278 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_OPROFILE=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_BSD_DISKLABEL=y
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_MXC=y
|
||||
CONFIG_MXC_IRQ_PRIOR=y
|
||||
CONFIG_SOC_IMX51=y
|
||||
CONFIG_ARM_THUMBEE=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_STAT_DETAILS=y
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
|
||||
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
CONFIG_CPU_FREQ_IMX=y
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_VFP=y
|
||||
CONFIG_NEON=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
# CONFIG_SUSPEND 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_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_CAN=m
|
||||
CONFIG_CAN_RAW=m
|
||||
CONFIG_CAN_BCM=m
|
||||
CONFIG_CAN_VCAN=m
|
||||
CONFIG_CAN_MCP251X=m
|
||||
CONFIG_BT=m
|
||||
CONFIG_BT_L2CAP=y
|
||||
CONFIG_BT_SCO=y
|
||||
CONFIG_BT_RFCOMM=m
|
||||
CONFIG_BT_RFCOMM_TTY=y
|
||||
CONFIG_BT_BNEP=m
|
||||
CONFIG_BT_HIDP=m
|
||||
CONFIG_BT_HCIBTUSB=m
|
||||
CONFIG_BT_HCIUART=m
|
||||
CONFIG_BT_HCIUART_H4=y
|
||||
CONFIG_BT_HCIUART_BCSP=y
|
||||
CONFIG_CFG80211=m
|
||||
CONFIG_MAC80211=m
|
||||
CONFIG_MAC80211_RC_PID=y
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_FW_LOADER=m
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_MXC=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_MISC_DEVICES=y
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_EEPROM_AT25=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_ST=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_CHR_DEV_SCH=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_SCSI_SCAN_ASYNC=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_MII=y
|
||||
CONFIG_SMSC_PHY=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
# CONFIG_NETDEV_1000 is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
CONFIG_RTL8187=m
|
||||
CONFIG_LIBERTAS=m
|
||||
CONFIG_LIBERTAS_SDIO=m
|
||||
CONFIG_RT2X00=m
|
||||
CONFIG_RT73USB=m
|
||||
CONFIG_ZD1211RW=m
|
||||
CONFIG_INPUT_JOYDEV=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
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
|
||||
CONFIG_SERIAL_8250=m
|
||||
CONFIG_SERIAL_IMX=y
|
||||
CONFIG_SERIAL_IMX_CONSOLE=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_IMX=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_IMX=y
|
||||
CONFIG_SPI_SPIDEV=m
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_WM831X=m
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
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
|
||||
# CONFIG_RC_CORE is not set
|
||||
# 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_TEA5761 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_XC2028 is not set
|
||||
# CONFIG_MEDIA_TUNER_XC5000 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_VIDEO_VIVI=m
|
||||
CONFIG_USB_VIDEO_CLASS=m
|
||||
# CONFIG_RADIO_ADAPTERS is not set
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_MX5=y
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=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
|
||||
CONFIG_SOUND=m
|
||||
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
|
||||
CONFIG_SND=m
|
||||
CONFIG_SND_MIXER_OSS=m
|
||||
CONFIG_SND_PCM_OSS=m
|
||||
# CONFIG_SND_DRIVERS is not set
|
||||
# CONFIG_SND_ARM is not set
|
||||
# CONFIG_SND_SPI is not set
|
||||
# CONFIG_SND_USB is not set
|
||||
CONFIG_SND_SOC=m
|
||||
CONFIG_SND_IMX_SOC=m
|
||||
CONFIG_SND_SOC_APF51_DEV_WM8960=m
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DEBUG=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_DEVICEFS=y
|
||||
# CONFIG_USB_DEVICE_CLASS is not set
|
||||
CONFIG_USB_SUSPEND=y
|
||||
CONFIG_USB_OTG=y
|
||||
# CONFIG_USB_OTG_WHITELIST is not set
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_MXC=y
|
||||
CONFIG_USB_ACM=y
|
||||
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_DEBUG_FILES=y
|
||||
CONFIG_USB_GADGET_DEBUG_FS=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_USB_MASS_STORAGE=m
|
||||
CONFIG_USB_G_SERIAL=m
|
||||
CONFIG_USB_CDC_COMPOSITE=m
|
||||
CONFIG_USB_G_MULTI=m
|
||||
CONFIG_USB_G_MULTI_CDC=y
|
||||
CONFIG_USB_G_HID=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_ESDHC_IMX=y
|
||||
CONFIG_MMC_SPI=m
|
||||
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
|
||||
CONFIG_EXT2_FS_POSIX_ACL=y
|
||||
CONFIG_EXT2_FS_SECURITY=y
|
||||
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
|
||||
CONFIG_ZISOFS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=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_FS=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
@@ -1,89 +0,0 @@
|
||||
Introduction
|
||||
============
|
||||
|
||||
Armadeus APFxx are Systems On Module (SOM) based on Freescale/NXP i.MX
|
||||
processors associated with an FPGA (except on APF28). Non volatile
|
||||
data are stored in on-module NOR or NAND Flash, depending on the
|
||||
model. These SOM can be used on Armadeus development boards or with
|
||||
custom docking boards.
|
||||
|
||||
Supported platforms
|
||||
===================
|
||||
|
||||
Buildroot currently supports the following Armadeus platforms with the
|
||||
associated defconfigs:
|
||||
|
||||
* APF9328 SOM + devt boards -> armadeus_apf9328_defconfig
|
||||
* APF27 SOM + devt board -> armadeus_apf27_defconfig
|
||||
* APF51 SOM + devt board -> armadeus_apf51_defconfig
|
||||
* APF28 SOM + devt board -> armadeus_apf28_defconfig
|
||||
|
||||
Vanilla Linux versions are preferred to Freescale's one in these
|
||||
configurations.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot
|
||||
-------------------
|
||||
|
||||
Let's say you own an APFxx SOM with it's corresponding development
|
||||
board, all you have to do is:
|
||||
|
||||
$ make armadeus_apfxx_defconfig
|
||||
|
||||
where "apfxx" is the version of your SOM.
|
||||
|
||||
Launch build
|
||||
------------
|
||||
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
When the build is finished, you will end up with:
|
||||
|
||||
output/images/
|
||||
├── imx**-apfxxdev.dtb [1]
|
||||
├── rootfs.jffs2 [2]
|
||||
├── rootfs.tar
|
||||
├── rootfs.ubi [2]
|
||||
├── rootfs.ubifs [2]
|
||||
└── uImage
|
||||
|
||||
[1] Only if the kernel version used uses a Device Tree.
|
||||
[2] .ubi/.ubifs images are not available on APF9328 and replaced by a
|
||||
.jffs2 one in this case.
|
||||
|
||||
Building U-Boot is currently not supported in these configurations.
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
You will require a serial connection to the board and a TFTP server on
|
||||
your Host PC. Assuming your server is configured for exporting
|
||||
/tftpboot/ directory, you will have to copy the generated images to
|
||||
it:
|
||||
|
||||
$ cp output/images/uImage /tftpboot/apfxx-linux.bin
|
||||
$ cp output/images/*.dtb /tftpboot/
|
||||
$ cp output/images/rootfs.ubi /tftpboot/apfxx-rootfs.ubi
|
||||
$ cp output/images/rootfs.jffs2 /tftpboot/apfxx-rootfs.jffs2
|
||||
|
||||
where "apfxx" is the version of your SOM, as used with _defconfigs.
|
||||
|
||||
Then on your serial terminal, all you have to do is:
|
||||
|
||||
* interrupt the boot process and access U-Boot console by pressing any
|
||||
key when booting,
|
||||
* configure board and server IP addresses with "ipaddr" and "serverip"
|
||||
environment variables,
|
||||
* if you want to update kernel:
|
||||
BIOS > run update_kernel
|
||||
* if you want to update device tree:
|
||||
BIOS > run update_dtb
|
||||
* if you want to update rootfs:
|
||||
BIOS > run update_rootfs
|
||||
|
||||
That's it !
|
||||
@@ -1,136 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
BUILDIR=$1
|
||||
TTY=$2
|
||||
BOARD=$3
|
||||
|
||||
family_at91sam9g45m10ek="at91sam9m10g45ek"
|
||||
mach_at91sam9g45m10ek="at91sam9m10-g45-ek"
|
||||
dtb_at91sam9g45m10ek="at91sam9m10g45ek.dtb"
|
||||
|
||||
family_at91sam9rlek="at91sam9rlek"
|
||||
mach_at91sam9rlek="at91sam9rl64-ek"
|
||||
dtb_at91sam9rlek="at91sam9rlek.dtb"
|
||||
|
||||
family_at91sam9g15ek="at91sam9x5ek"
|
||||
mach_at91sam9g15ek="at91sam9g15-ek"
|
||||
dtb_at91sam9g15ek="at91sam9g15ek.dtb"
|
||||
|
||||
family_at91sam9g25ek="at91sam9x5ek"
|
||||
mach_at91sam9g25ek="at91sam9g25-ek"
|
||||
dtb_at91sam9g25ek="at91sam9g25ek.dtb"
|
||||
|
||||
family_at91sam9g35ek="at91sam9x5ek"
|
||||
mach_at91sam9g35ek="at91sam9g35-ek"
|
||||
dtb_at91sam9g35ek="at91sam9g35ek.dtb"
|
||||
|
||||
family_at91sam9x25ek="at91sam9x5ek"
|
||||
mach_at91sam9x25ek="at91sam9x25-ek"
|
||||
dtb_at91sam9x25ek="at91sam9x25ek.dtb"
|
||||
|
||||
family_at91sam9x35ek="at91sam9x5ek"
|
||||
mach_at91sam9x35ek="at91sam9x35-ek"
|
||||
dtb_at91sam9x35ek="at91sam9x35ek.dtb"
|
||||
|
||||
family_sama5d31ek="sama5d3xek"
|
||||
mach_sama5d31ek="at91sama5d3x-ek"
|
||||
dtb_sama5d31ek="sama5d31ek.dtb"
|
||||
|
||||
family_sama5d31ek_revc="sama5d3xek"
|
||||
mach_sama5d31ek_revc="at91sama5d3x-ek"
|
||||
dtb_sama5d31ek_revc="sama5d31ek_revc.dtb"
|
||||
|
||||
family_sama5d33ek="sama5d3xek"
|
||||
mach_sama5d33ek="at91sama5d3x-ek"
|
||||
dtb_sama5d33ek="sama5d33ek.dtb"
|
||||
|
||||
family_sama5d33ek_revc="sama5d3xek"
|
||||
mach_sama5d33ek_revc="at91sama5d3x-ek"
|
||||
dtb_sama5d33ek_revc="sama5d33ek_revc.dtb"
|
||||
|
||||
family_sama5d34ek="sama5d3xek"
|
||||
mach_sama5d34ek="at91sama5d3x-ek"
|
||||
dtb_sama5d34ek="sama5d34ek.dtb"
|
||||
|
||||
family_sama5d34ek_revc="sama5d3xek"
|
||||
mach_sama5d34ek_revc="at91sama5d3x-ek"
|
||||
dtb_sama5d34ek_revc="sama5d34ek_revc.dtb"
|
||||
|
||||
family_sama5d35ek="sama5d3xek"
|
||||
mach_sama5d35ek="at91sama5d3x-ek"
|
||||
dtb_sama5d35ek="sama5d35ek.dtb"
|
||||
|
||||
family_sama5d35ek_revc="sama5d3xek"
|
||||
mach_sama5d35ek_revc="at91sama5d3x-ek"
|
||||
dtb_sama5d35ek_revc="sama5d35ek_revc.dtb"
|
||||
|
||||
family_sama5d36ek="sama5d3xek"
|
||||
mach_sama5d36ek="at91sama5d3x-ek"
|
||||
dtb_sama5d36ek="sama5d36ek.dtb"
|
||||
|
||||
family_sama5d36ek_revc="sama5d3xek"
|
||||
mach_sama5d36ek_revc="at91sama5d3x-ek"
|
||||
dtb_sama5d36ek_revc="sama5d36ek_revc.dtb"
|
||||
|
||||
family_sama5d3_xplained="sama5d3_xplained"
|
||||
mach_sama5d3_xplained="at91sama5d3x-xplained"
|
||||
dtb_sama5d3_xplained="at91-sama5d3_xplained.dtb"
|
||||
|
||||
family_sama5d4ek="sama5d4ek"
|
||||
mach_sama5d4ek="at91sama5d4x-ek"
|
||||
dtb_sama5d4ek="at91-sama5d4ek.dtb"
|
||||
|
||||
family_sama5d4_xplained="sama5d4_xplained"
|
||||
mach_sama5d4_xplained="at91sama5d4x-ek"
|
||||
dtb_sama5d4_xplained="at91-sama5d4_xplained.dtb"
|
||||
|
||||
usage() {
|
||||
cat << EOF
|
||||
Usage:
|
||||
$0 <builddir_path> <interface> <board>
|
||||
|
||||
Available boards:
|
||||
at91sam9g45m10ek
|
||||
at91sam9rlek
|
||||
at91sam9g15ek
|
||||
at91sam9g25ek
|
||||
at91sam9x25ek
|
||||
at91sam9g35ek
|
||||
at91sam9x35ek
|
||||
sama5d31ek
|
||||
sama5d33ek
|
||||
sama5d34ek
|
||||
sama5d35ek
|
||||
sama5d36ek
|
||||
sama5d31ek_revc (Until rev. C)
|
||||
sama5d33ek_revc (Until rev. C)
|
||||
sama5d34ek_revc (Until rev. C)
|
||||
sama5d35ek_revc (Until rev. C)
|
||||
sama5d36ek_revc (Until rev. C)
|
||||
sama5d3_xplained
|
||||
sama5d4ek
|
||||
sama5d4_xplained
|
||||
|
||||
Example:
|
||||
$0 ./output /dev/ttyACM0 at91sam9g45m10ek
|
||||
EOF
|
||||
}
|
||||
|
||||
F="family_$BOARD"
|
||||
M="mach_$BOARD"
|
||||
D="dtb_$BOARD"
|
||||
|
||||
if [[ $# != 3 || -z ${!F} ]]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
video_mode="video=LVDS-1:800x480-16"
|
||||
if [[ $BOARD == "*pda4" ]]; then
|
||||
video_mode="video=LVDS-1:480x272-16"
|
||||
fi
|
||||
|
||||
echo "Executing: ${!F} O=$1/images $1/host/opt/sam-ba/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode"
|
||||
export O=$1/images
|
||||
$1/host/opt/sam-ba/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode
|
||||
|
||||
@@ -1,358 +0,0 @@
|
||||
# ----------------------------------------------------------------------------
|
||||
# ATMEL Microcontroller
|
||||
# ----------------------------------------------------------------------------
|
||||
# Copyright (c) 2015, 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.
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
################################################################################
|
||||
# Script data
|
||||
################################################################################
|
||||
# DBGU address for rm9200, 9260/9g20, 9261/9g10, 9rl, 9x5
|
||||
set at91_base_dbgu0 0xfffff200
|
||||
# DBGU address for 9263, 9g45, sama5d3
|
||||
set at91_base_dbgu1 0xffffee00
|
||||
# DBGU address for sama5d4
|
||||
set at91_base_dbgu2 0xfc069000
|
||||
|
||||
set arch_exid_offset 0x44
|
||||
|
||||
# arch id
|
||||
set arch_id_at91sam9g20 0x019905a0
|
||||
set arch_id_at91sam9g45 0x819b05a0
|
||||
set arch_id_at91sam9x5 0x819a05a0
|
||||
set arch_id_at91sam9n12 0x819a07a0
|
||||
set arch_id_sama5d3 0x8a5c07c0
|
||||
|
||||
## Find out at91sam9x5 variant to load the corresponding dtb file
|
||||
array set at91sam9x5_variant {
|
||||
0x00000000 at91sam9g15
|
||||
0x00000001 at91sam9g35
|
||||
0x00000002 at91sam9x35
|
||||
0x00000003 at91sam9g25
|
||||
0x00000004 at91sam9x25
|
||||
}
|
||||
|
||||
## Find out sama5d3 variant to load the corresponding dtb file
|
||||
array set sama5d3_variant {
|
||||
0x00444300 sama5d31
|
||||
0x00414300 sama5d33
|
||||
0x00414301 sama5d34
|
||||
0x00584300 sama5d35
|
||||
0x00004301 sama5d36
|
||||
}
|
||||
|
||||
## Find out sama5d4 variant
|
||||
array set sama5d4_variant {
|
||||
0x00000001 sama5d41
|
||||
0x00000002 sama5d42
|
||||
0x00000003 sama5d43
|
||||
0x00000004 sama5d44
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# proc uboot_env: Convert u-boot variables in a string ready to be flashed
|
||||
# in the region reserved for environment variables
|
||||
################################################################################
|
||||
proc set_uboot_env {nameOfLstOfVar} {
|
||||
upvar $nameOfLstOfVar lstOfVar
|
||||
|
||||
# sector size is the size defined in u-boot CFG_ENV_SIZE
|
||||
set sectorSize [expr 0x20000 - 5]
|
||||
|
||||
set strEnv [join $lstOfVar "\0"]
|
||||
while {[string length $strEnv] < $sectorSize} {
|
||||
append strEnv "\0"
|
||||
}
|
||||
# \0 between crc and strEnv is the flag value for redundant environment
|
||||
set strCrc [binary format i [::vfs::crc $strEnv]]
|
||||
return "$strCrc\0$strEnv"
|
||||
}
|
||||
|
||||
################################################################################
|
||||
proc find_variant_name {boardType} {
|
||||
global at91_base_dbgu0
|
||||
global at91_base_dbgu1
|
||||
global at91_base_dbgu2
|
||||
global arch_exid_offset
|
||||
global at91sam9x5_variant
|
||||
global sama5d3_variant
|
||||
global sama5d4_variant
|
||||
set socName "none"
|
||||
|
||||
switch $boardType {
|
||||
at91sam9x5ek {
|
||||
set exidAddr [expr {$at91_base_dbgu0 + $arch_exid_offset}]
|
||||
set chip_variant [format "0x%08x" [read_int $exidAddr]]
|
||||
|
||||
foreach {key value} [array get at91sam9x5_variant] {
|
||||
if {$key == $chip_variant} {
|
||||
set socName "$value"
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
sama5d3xek {
|
||||
set exidAddr [expr {$at91_base_dbgu1 + $arch_exid_offset}]
|
||||
set chip_variant [format "0x%08x" [read_int $exidAddr]]
|
||||
|
||||
foreach {key value} [array get sama5d3_variant] {
|
||||
#puts "-I- === $chip_variant ? $key ($value) ==="
|
||||
if {$key == $chip_variant} {
|
||||
set socName "$value"
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
sama5d3_xplained {
|
||||
set exidAddr [expr {$at91_base_dbgu1 + $arch_exid_offset}]
|
||||
set chip_variant [format "0x%08x" [read_int $exidAddr]]
|
||||
|
||||
foreach {key value} [array get sama5d3_variant] {
|
||||
#puts "-I- === $chip_variant ? $key ($value) ==="
|
||||
if {$key == $chip_variant} {
|
||||
set socName "$value"
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
sama5d4ek {
|
||||
set exidAddr [expr {$at91_base_dbgu2 + $arch_exid_offset}]
|
||||
set chip_variant [format "0x%08x" [read_int $exidAddr]]
|
||||
|
||||
foreach {key value} [array get sama5d4_variant] {
|
||||
#puts "-I- === $chip_variant ? $key ($value) ==="
|
||||
if {$key == $chip_variant} {
|
||||
set socName "$value"
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
sama5d4_xplained {
|
||||
set exidAddr [expr {$at91_base_dbgu2 + $arch_exid_offset}]
|
||||
set chip_variant [format "0x%08x" [read_int $exidAddr]]
|
||||
|
||||
foreach {key value} [array get sama5d4_variant] {
|
||||
#puts "-I- === $chip_variant ? $key ($value) ==="
|
||||
if {$key == $chip_variant} {
|
||||
set socName "$value"
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return "$socName"
|
||||
}
|
||||
|
||||
proc find_variant_ecc {boardType} {
|
||||
set eccType "none"
|
||||
|
||||
switch $boardType {
|
||||
at91sam9x5ek {
|
||||
set eccType 0xc0c00405
|
||||
}
|
||||
at91sam9n12ek {
|
||||
set eccType 0xc0c00405
|
||||
}
|
||||
sama5d3xek {
|
||||
set eccType 0xc0902405
|
||||
}
|
||||
sama5d3_xplained {
|
||||
set eccType 0xc0902405
|
||||
}
|
||||
sama5d4ek {
|
||||
set eccType 0xc1e04e07
|
||||
}
|
||||
sama5d4_xplained {
|
||||
set eccType 0xc1e04e07
|
||||
}
|
||||
}
|
||||
|
||||
puts "-I- === eccType is $eccType ==="
|
||||
return $eccType
|
||||
}
|
||||
|
||||
proc get_kernel_load_addr {boardType} {
|
||||
set kernel_load_addr 0x22000000
|
||||
|
||||
switch $boardType {
|
||||
at91sam9m10g45ek {
|
||||
set kernel_load_addr 0x72000000
|
||||
}
|
||||
}
|
||||
|
||||
return $kernel_load_addr
|
||||
}
|
||||
|
||||
proc get_dtb_load_addr {boardType} {
|
||||
set dtb_load_addr 0x21000000
|
||||
|
||||
switch $boardType {
|
||||
at91sam9m10g45ek {
|
||||
set dtb_load_addr 0x71000000
|
||||
}
|
||||
}
|
||||
|
||||
return $dtb_load_addr
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Main script: Load the linux demo in NandFlash,
|
||||
# Update the environment variables
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
|
||||
# check for proper variable initialization
|
||||
if {! [info exists boardFamily]} {
|
||||
puts "-I- === Parsing script arguments ==="
|
||||
if {! [info exists env(O)]} {
|
||||
puts "-E- === Binaries path not defined ==="
|
||||
exit
|
||||
}
|
||||
|
||||
set bootstrapFile "$env(O)/at91bootstrap.bin"
|
||||
set ubootFile "$env(O)/u-boot.bin"
|
||||
set kernelFile "$env(O)/zImage"
|
||||
set rootfsFile "$env(O)/rootfs.ubi"
|
||||
set build_uboot_env "yes"
|
||||
|
||||
set i 1
|
||||
foreach arg $::argv {
|
||||
puts "argument $i is $arg"
|
||||
switch $i {
|
||||
4 { set boardFamily $arg }
|
||||
5 { set dtbFile "$env(O)/$arg" }
|
||||
6 { set videoMode $arg }
|
||||
}
|
||||
incr i
|
||||
}
|
||||
}
|
||||
|
||||
puts "-I- === Board Family is $boardFamily ==="
|
||||
|
||||
set pmeccConfig [find_variant_ecc $boardFamily]
|
||||
|
||||
## Now check for the needed files
|
||||
if {! [file exists $bootstrapFile]} {
|
||||
puts "-E- === AT91Bootstrap file not found ==="
|
||||
exit
|
||||
}
|
||||
|
||||
if {! [file exists $ubootFile]} {
|
||||
puts "-E- === U-Boot file not found ==="
|
||||
exit
|
||||
}
|
||||
|
||||
if {! [file exists $kernelFile]} {
|
||||
puts "-E- === Linux kernel file not found ==="
|
||||
exit
|
||||
}
|
||||
|
||||
if {! [file exists $dtbFile]} {
|
||||
puts "-E- === Device Tree binary: $dtbFile file not found ==="
|
||||
exit
|
||||
}
|
||||
|
||||
if {! [file exists $rootfsFile]} {
|
||||
puts "-E- === Rootfs file not found ==="
|
||||
exit
|
||||
}
|
||||
|
||||
## NandFlash Mapping
|
||||
set bootStrapAddr 0x00000000
|
||||
set ubootAddr 0x00040000
|
||||
set ubootEnvAddr 0x000c0000
|
||||
set dtbAddr 0x00180000
|
||||
set kernelAddr 0x00200000
|
||||
set rootfsAddr 0x00800000
|
||||
|
||||
## u-boot variable
|
||||
set kernelLoadAddr [get_kernel_load_addr $boardFamily]
|
||||
set dtbLoadAddr [get_dtb_load_addr $boardFamily]
|
||||
|
||||
## NandFlash Mapping
|
||||
set kernelSize [format "0x%08X" [file size $kernelFile]]
|
||||
set dtbSize [format "0x%08X" [file size $dtbFile]]
|
||||
set bootCmd "bootcmd=nand read $dtbLoadAddr $dtbAddr $dtbSize; nand read $kernelLoadAddr $kernelAddr $kernelSize; bootz $kernelLoadAddr - $dtbLoadAddr"
|
||||
set rootfsSize [format "0x%08X" [file size $rootfsFile]]
|
||||
|
||||
lappend u_boot_variables \
|
||||
"bootdelay=1" \
|
||||
"baudrate=115200" \
|
||||
"stdin=serial" \
|
||||
"stdout=serial" \
|
||||
"stderr=serial" \
|
||||
"bootargs=console=ttyS0,115200 mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,256k(env),256k(env_redundant),256k(spare),512k(dtb),6M(kernel)ro,-(rootfs) rootfstype=ubifs ubi.mtd=7 root=ubi0:rootfs rw $videoMode" \
|
||||
"$bootCmd"
|
||||
|
||||
## Additional files to load
|
||||
set ubootEnvFile "ubootEnvtFileNandFlash.bin"
|
||||
|
||||
|
||||
## Start flashing procedure ##################################################
|
||||
puts "-I- === Initialize the NAND access ==="
|
||||
NANDFLASH::Init
|
||||
|
||||
if {$pmeccConfig != "none"} {
|
||||
puts "-I- === Enable PMECC OS Parameters ==="
|
||||
NANDFLASH::NandHeaderValue HEADER $pmeccConfig
|
||||
}
|
||||
|
||||
puts "-I- === Erase all the NAND flash blocs and test the erasing ==="
|
||||
NANDFLASH::EraseAllNandFlash
|
||||
|
||||
puts "-I- === Load AT91Bootstrap in the first sector ==="
|
||||
if {$pmeccConfig != "none"} {
|
||||
NANDFLASH::SendBootFilePmeccCmd $bootstrapFile
|
||||
} else {
|
||||
NANDFLASH::sendBootFile $bootstrapFile
|
||||
}
|
||||
|
||||
puts "-I- === Load u-boot in the next sectors ==="
|
||||
send_file {NandFlash} "$ubootFile" $ubootAddr 0
|
||||
|
||||
if {$build_uboot_env == "yes"} {
|
||||
puts "-I- === Load the u-boot environment variables ==="
|
||||
set fh [open "$ubootEnvFile" w]
|
||||
fconfigure $fh -translation binary
|
||||
puts -nonewline $fh [set_uboot_env u_boot_variables]
|
||||
close $fh
|
||||
send_file {NandFlash} "$ubootEnvFile" $ubootEnvAddr 0
|
||||
}
|
||||
|
||||
puts "-I- === Load the Kernel image and device tree database ==="
|
||||
send_file {NandFlash} "$dtbFile" $dtbAddr 0
|
||||
send_file {NandFlash} "$kernelFile" $kernelAddr 0
|
||||
|
||||
if {$pmeccConfig != "none"} {
|
||||
puts "-I- === Enable trimffs ==="
|
||||
NANDFLASH::NandSetTrimffs 1
|
||||
}
|
||||
|
||||
puts "-I- === Load the linux file system ==="
|
||||
send_file {NandFlash} "$rootfsFile" $rootfsAddr 0
|
||||
|
||||
puts "-I- === DONE. ==="
|
||||
@@ -1,173 +0,0 @@
|
||||
This document explains how to set up a basic Buildroot system on various
|
||||
Atmel boards. Additional details can also be found on the Linux4SAM website:
|
||||
http://www.at91.com/linux4sam/bin/view/Linux4SAM/
|
||||
|
||||
This guide covers the following configurations:
|
||||
- at91sam9g45m10ek_defconfig
|
||||
- at91sam9rlek_defconfig
|
||||
- at91sam9x5ek_defconfig (at91sam9g15, at91sam9g25, at91sam9x25,
|
||||
at91sam9g35 and at91sam9x35)
|
||||
- atmel_sama5d3xek_defconfig (sama5d31, sama5d33, sama5d34, sama5d35,
|
||||
sama5d36)
|
||||
- atmel_sama5d3_xplained_defconfig
|
||||
- atmel_sama5d3_xplained_dev_defconfig
|
||||
- atmel_sama5d3_xplained_mmc_defconfig
|
||||
- atmel_sama5d3_xplained_mmc_dev_defconfig
|
||||
- atmel_sama5d4_xplained_defconfig
|
||||
- atmel_sama5d4_xplained_dev_defconfig
|
||||
- atmel_sama5d4_xplained_mmc_defconfig
|
||||
- atmel_sama5d4_xplained_mmc_dev_defconfig
|
||||
- atmel_sama5d2_xplained_mmc_defconfig
|
||||
- atmel_sama5d2_xplained_mmc_dev_defconfig
|
||||
|
||||
These configurations will use AT91Bootstrap, u-boot and a linux kernel from
|
||||
the git trees maintained by Atmel.
|
||||
|
||||
The configurations labeled as 'dev' provide a development rootfs with tools to
|
||||
tests the features of the SoC:
|
||||
- ALSA tools to test audio
|
||||
- FFMPEG to record video from the ISI/ISC
|
||||
- I2C, SPI, CAN, etc. tools
|
||||
- modetest for LCD screens, HDMI
|
||||
- Wilc1000 firmware for the Atmel Wireless sdio module
|
||||
- SSH for convenience
|
||||
- GDB/GDB server for debug
|
||||
|
||||
Configuring and building Buildroot
|
||||
==================================
|
||||
|
||||
For most configurations listed above, the Buildroot configuration
|
||||
assumes the system will be flashed on NAND. In this case, after
|
||||
building Buildroot, follow the instructions in the "Flashing the NAND
|
||||
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.
|
||||
|
||||
To configure and build Buildroot, run:
|
||||
|
||||
make <board>_defconfig
|
||||
make
|
||||
|
||||
Flashing the NAND using SAM-BA
|
||||
==============================
|
||||
|
||||
Flashing the board
|
||||
------------------
|
||||
|
||||
Connect the board:
|
||||
o at91sam9g45m10ek: DBGU: J10, USB sam-ba: J14
|
||||
o at91sam9rlek: DBGU: J19, USB sam-ba: J21
|
||||
o at91sam9x5ek: DBGU: J11, USB sam-ba: J20
|
||||
o sama5d3xek: DBGU: J14, USB sam-ba: J20
|
||||
o sama5d3 Xplained: DBGU: J23, USB sam-ba: J6
|
||||
o sama5d4ek: DBGU: J22 or J24, USB sam-ba: J1
|
||||
o sama5d4 Xplained: DBGU: J1, USB sam-ba: J11
|
||||
|
||||
Start the board in RomBOOT:
|
||||
o at91sam9g45m10ek:
|
||||
1. open JP8, JP10 and JP12
|
||||
2. start the board
|
||||
3. close JP8, JP10 and JP12
|
||||
|
||||
o at91sam9rlek:
|
||||
1. J11 on 1-2 (BMS=1), open J12 and J13
|
||||
2. start the board
|
||||
3. close J12 and J13
|
||||
|
||||
o at91sam9x5ek:
|
||||
1. open JP9 and:
|
||||
- Cogent: open *NCS jumper
|
||||
- Embest: open SW1
|
||||
- Ronetix: open J1 and J2
|
||||
2. start the board
|
||||
3. close JP9 and:
|
||||
- Cogent: close *NCS jumper
|
||||
- Embest: close SW1 (ON position)
|
||||
- Ronetix: close J1 and J2
|
||||
|
||||
o sama5d3xek:
|
||||
1. start the board
|
||||
2. push BP4 and BP1
|
||||
3. release BP1
|
||||
4. release BP4
|
||||
|
||||
o sama5d3 Xplained:
|
||||
1. open JP5 (NANDCS) and JP6 (SPICS)
|
||||
2. start the board
|
||||
3. close JP5 ans JP6
|
||||
|
||||
o sama5d4ek:
|
||||
1. start the board
|
||||
2. push BP3 and BP4
|
||||
3. release BP4
|
||||
4. release BP3
|
||||
|
||||
o sama5d4 Xplained:
|
||||
1. close JP7 (BOOT_DIS)
|
||||
2. start the board
|
||||
3. open JP7
|
||||
|
||||
"RomBOOT" should appear on your console (this should be ttyUSBx or ttyACMx)
|
||||
|
||||
Now locate the USB sam-ba interface it should be ttyACMx, usually ttyACM0
|
||||
dmesg on your machine should give:
|
||||
usb 1-2.1.4: New USB device found, idVendor=03eb, idProduct=6124
|
||||
usb 1-2.1.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
|
||||
cdc_acm 1-2.1.4:1.0: ttyACM0: USB ACM device
|
||||
|
||||
Look for idVendor=03eb, idProduct=6124, this is the interface you want to use.
|
||||
|
||||
You can then flash the board using the provided flasher.sh script in board/atmel:
|
||||
|
||||
board/atmel/flasher.sh <builddir_path> <interface> <board>
|
||||
|
||||
For example, for an out of tree build made in
|
||||
/tmp/atmel_sama5d3_xplained/ for the sama5d3 Xplained, you would use:
|
||||
board/atmel/flasher.sh /tmp/atmel_sama5d3_xplained/ /dev/ttyACM0 sama5d3_xplained
|
||||
|
||||
Reboot, the system should boot up to the buildroot login invite.
|
||||
|
||||
Preparing the SD card
|
||||
=====================
|
||||
|
||||
An image named sdcard.img is automatically generated. With this image,
|
||||
you no longer have to care about the creation of the partition and
|
||||
copying files to the SD card.
|
||||
|
||||
You need at least a 1GB SD card. All the data on the SD card will be
|
||||
lost. To copy the image on the SD card:
|
||||
|
||||
/!\ Caution be sure to do it on the right mmcblk device /!\
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/mmcblk0
|
||||
|
||||
Insert your SD card in your Xplained board, and enjoy. The default
|
||||
U-Boot environment will load properly the kernel and Device Tree blob
|
||||
from the first partition of the SD card, so everything works
|
||||
automatically.
|
||||
|
||||
By default a 16MB FAT partition is created. It contains at91bootstrap,
|
||||
u-boot, the kernel image and all dtb variants for your board. The dtb
|
||||
used is the basic one:
|
||||
|
||||
U-Boot> print
|
||||
[...]
|
||||
bootcmd=fatload mmc 1:1 0x21000000 at91-sama5d2_xplained.dtb; fatload mmc 1:1 0x22000000 zImage; bootz 0x22000000 - 0x21000000
|
||||
[...]
|
||||
|
||||
If you want to use a variant such as the _pda7 one, you will have to
|
||||
update your u-boot environment:
|
||||
|
||||
U-Boot> setenv bootcmd 'fatload mmc 1:1 0x21000000 at91-sama5d2_xplained_pda7.dtb; fatload mmc 1:1 0x22000000 zImage; bootz 0x22000000 - 0x21000000'
|
||||
U-Boot> save
|
||||
Saving Environment to FAT...
|
||||
writing uboot.env
|
||||
done
|
||||
|
||||
A 512MB ext4 partition is also created to store the rootfs generated.
|
||||
|
||||
If you want to customize the size of the partitions and their content,
|
||||
take a look at the the genimage.cfg file in the board directory.
|
||||
@@ -1,34 +0,0 @@
|
||||
# Image for SD card boot on Atmel SAMA5D2 Xplained boards
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"at91-sama5d2_xplained.dtb",
|
||||
"at91-sama5d2_xplained_pda4.dtb",
|
||||
"at91-sama5d2_xplained_pda7.dtb",
|
||||
"at91-sama5d2_xplained_pda7b.dtb",
|
||||
"boot.bin",
|
||||
"u-boot.bin"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
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,34 +0,0 @@
|
||||
# Image for SD card boot on Atmel SAMA5D3 Xplained boards
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"at91-sama5d3_xplained.dtb",
|
||||
"at91-sama5d3_xplained_pda4.dtb",
|
||||
"at91-sama5d3_xplained_pda7.dtb",
|
||||
"at91-sama5d3_xplained_pda7b.dtb",
|
||||
"boot.bin",
|
||||
"u-boot.bin"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
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,35 +0,0 @@
|
||||
# Image for SD card boot on Atmel SAMA5D4 Xplained boards
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"at91-sama5d4_xplained.dtb",
|
||||
"at91-sama5d4_xplained_hdmi.dtb",
|
||||
"at91-sama5d4_xplained_pda4.dtb",
|
||||
"at91-sama5d4_xplained_pda7.dtb",
|
||||
"at91-sama5d4_xplained_pda7b.dtb",
|
||||
"boot.bin",
|
||||
"u-boot.bin"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
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,247 +0,0 @@
|
||||
/*
|
||||
* Device Tree Generator version: 1.3
|
||||
*
|
||||
* (C) Copyright 2007-2008 Xilinx, Inc.
|
||||
* (C) Copyright 2007-2009 Michal Simek
|
||||
*
|
||||
* Michal SIMEK <monstr@monstr.eu>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
* CAUTION: This file is automatically generated by libgen.
|
||||
* Version: Xilinx EDK 13.2 EDK_O.61xd
|
||||
*
|
||||
* XPS project directory: device-tree_bsp_230-orig
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "xlnx,microblaze";
|
||||
model = "testing";
|
||||
MCB3_LPDDR: memory@80000000 {
|
||||
device_type = "memory";
|
||||
reg = < 0x80000000 0x4000000 >;
|
||||
} ;
|
||||
aliases {
|
||||
ethernet0 = &Ethernet_MAC;
|
||||
serial0 = &USB_Uart;
|
||||
} ;
|
||||
chosen {
|
||||
bootargs = "console=ttyUL0";
|
||||
linux,stdout-path = "/axi@0/serial@40600000";
|
||||
} ;
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#cpus = <0x1>;
|
||||
#size-cells = <0>;
|
||||
microblaze_0: cpu@0 {
|
||||
clock-frequency = <66666667>;
|
||||
compatible = "xlnx,microblaze-8.20.a";
|
||||
d-cache-baseaddr = <0x80000000>;
|
||||
d-cache-highaddr = <0x83ffffff>;
|
||||
d-cache-line-size = <0x10>;
|
||||
d-cache-size = <0x2000>;
|
||||
device_type = "cpu";
|
||||
i-cache-baseaddr = <0x80000000>;
|
||||
i-cache-highaddr = <0x83ffffff>;
|
||||
i-cache-line-size = <0x10>;
|
||||
i-cache-size = <0x2000>;
|
||||
model = "microblaze,8.20.a";
|
||||
reg = <0>;
|
||||
timebase-frequency = <66666667>;
|
||||
xlnx,addr-tag-bits = <0xd>;
|
||||
xlnx,allow-dcache-wr = <0x1>;
|
||||
xlnx,allow-icache-wr = <0x1>;
|
||||
xlnx,area-optimized = <0x0>;
|
||||
xlnx,avoid-primitives = <0x0>;
|
||||
xlnx,branch-target-cache-size = <0x0>;
|
||||
xlnx,cache-byte-size = <0x2000>;
|
||||
xlnx,d-axi = <0x1>;
|
||||
xlnx,d-lmb = <0x1>;
|
||||
xlnx,d-plb = <0x0>;
|
||||
xlnx,data-size = <0x20>;
|
||||
xlnx,dcache-addr-tag = <0xd>;
|
||||
xlnx,dcache-always-used = <0x1>;
|
||||
xlnx,dcache-byte-size = <0x2000>;
|
||||
xlnx,dcache-data-width = <0x0>;
|
||||
xlnx,dcache-force-tag-lutram = <0x0>;
|
||||
xlnx,dcache-interface = <0x0>;
|
||||
xlnx,dcache-line-len = <0x4>;
|
||||
xlnx,dcache-use-fsl = <0x0>;
|
||||
xlnx,dcache-use-writeback = <0x0>;
|
||||
xlnx,dcache-victims = <0x0>;
|
||||
xlnx,debug-enabled = <0x1>;
|
||||
xlnx,div-zero-exception = <0x0>;
|
||||
xlnx,dynamic-bus-sizing = <0x1>;
|
||||
xlnx,ecc-use-ce-exception = <0x0>;
|
||||
xlnx,edge-is-positive = <0x1>;
|
||||
xlnx,endianness = <0x1>;
|
||||
xlnx,family = "spartan6";
|
||||
xlnx,fault-tolerant = <0x0>;
|
||||
xlnx,fpu-exception = <0x0>;
|
||||
xlnx,freq = <0x3f940ab>;
|
||||
xlnx,fsl-data-size = <0x20>;
|
||||
xlnx,fsl-exception = <0x0>;
|
||||
xlnx,fsl-links = <0x0>;
|
||||
xlnx,i-axi = <0x0>;
|
||||
xlnx,i-lmb = <0x1>;
|
||||
xlnx,i-plb = <0x0>;
|
||||
xlnx,icache-always-used = <0x1>;
|
||||
xlnx,icache-data-width = <0x0>;
|
||||
xlnx,icache-force-tag-lutram = <0x0>;
|
||||
xlnx,icache-interface = <0x0>;
|
||||
xlnx,icache-line-len = <0x4>;
|
||||
xlnx,icache-streams = <0x0>;
|
||||
xlnx,icache-use-fsl = <0x0>;
|
||||
xlnx,icache-victims = <0x0>;
|
||||
xlnx,ill-opcode-exception = <0x0>;
|
||||
xlnx,instance = "microblaze_0";
|
||||
xlnx,interconnect = <0x2>;
|
||||
xlnx,interconnect-m-axi-dc-aw-register = <0x0>;
|
||||
xlnx,interconnect-m-axi-dc-read-issuing = <0x2>;
|
||||
xlnx,interconnect-m-axi-dc-w-register = <0x0>;
|
||||
xlnx,interconnect-m-axi-dc-write-issuing = <0x20>;
|
||||
xlnx,interconnect-m-axi-dp-read-issuing = <0x1>;
|
||||
xlnx,interconnect-m-axi-dp-write-issuing = <0x1>;
|
||||
xlnx,interconnect-m-axi-ic-read-issuing = <0x2>;
|
||||
xlnx,interconnect-m-axi-ip-read-issuing = <0x1>;
|
||||
xlnx,interrupt-is-edge = <0x0>;
|
||||
xlnx,lockstep-slave = <0x0>;
|
||||
xlnx,mmu-dtlb-size = <0x1>;
|
||||
xlnx,mmu-itlb-size = <0x1>;
|
||||
xlnx,mmu-privileged-instr = <0x0>;
|
||||
xlnx,mmu-tlb-access = <0x3>;
|
||||
xlnx,mmu-zones = <0x2>;
|
||||
xlnx,number-of-pc-brk = <0x1>;
|
||||
xlnx,number-of-rd-addr-brk = <0x0>;
|
||||
xlnx,number-of-wr-addr-brk = <0x0>;
|
||||
xlnx,opcode-0x0-illegal = <0x0>;
|
||||
xlnx,optimization = <0x0>;
|
||||
xlnx,pvr = <0x0>;
|
||||
xlnx,pvr-user1 = <0x0>;
|
||||
xlnx,pvr-user2 = <0x0>;
|
||||
xlnx,reset-msr = <0x0>;
|
||||
xlnx,sco = <0x0>;
|
||||
xlnx,stream-interconnect = <0x0>;
|
||||
xlnx,unaligned-exceptions = <0x0>;
|
||||
xlnx,use-barrel = <0x1>;
|
||||
xlnx,use-branch-target-cache = <0x0>;
|
||||
xlnx,use-dcache = <0x1>;
|
||||
xlnx,use-div = <0x0>;
|
||||
xlnx,use-ext-brk = <0x1>;
|
||||
xlnx,use-ext-nm-brk = <0x1>;
|
||||
xlnx,use-extended-fsl-instr = <0x0>;
|
||||
xlnx,use-fpu = <0x0>;
|
||||
xlnx,use-hw-mul = <0x1>;
|
||||
xlnx,use-icache = <0x1>;
|
||||
xlnx,use-interrupt = <0x1>;
|
||||
xlnx,use-mmu = <0x3>;
|
||||
xlnx,use-msr-instr = <0x1>;
|
||||
xlnx,use-pcmp-instr = <0x0>;
|
||||
xlnx,use-stack-protection = <0x0>;
|
||||
} ;
|
||||
} ;
|
||||
axi4lite_0: axi@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "xlnx,axi-interconnect-1.03.a", "simple-bus";
|
||||
ranges ;
|
||||
Ethernet_MAC: ethernet@40e00000 {
|
||||
compatible = "xlnx,axi-ethernetlite-1.00.a", "xlnx,xps-ethernetlite-1.00.a";
|
||||
device_type = "network";
|
||||
interrupt-parent = <µblaze_0_intc>;
|
||||
interrupts = < 2 0 >;
|
||||
local-mac-address = [ 00 0a 35 aa de 00 ];
|
||||
// phy-handle = <&phy0>;
|
||||
reg = < 0x40e00000 0x10000 >;
|
||||
xlnx,duplex = <0x1>;
|
||||
xlnx,family = "spartan6";
|
||||
xlnx,include-global-buffers = <0x0>;
|
||||
xlnx,include-internal-loopback = <0x0>;
|
||||
xlnx,include-mdio = <0x1>;
|
||||
xlnx,include-phy-constraints = <0x1>;
|
||||
xlnx,interconnect-s-axi-read-acceptance = <0x1>;
|
||||
xlnx,interconnect-s-axi-write-acceptance = <0x1>;
|
||||
xlnx,rx-ping-pong = <0x0>;
|
||||
xlnx,s-axi-aclk-period-ps = <0x3a98>;
|
||||
xlnx,s-axi-id-width = <0x1>;
|
||||
xlnx,s-axi-supports-narrow-burst = <0x0>;
|
||||
xlnx,tx-ping-pong = <0x0>;
|
||||
/*
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
phy0: phy@7 {
|
||||
compatible = "marvell,88e1111";
|
||||
device_type = "ethernet-phy";
|
||||
reg = <7>;
|
||||
} ;
|
||||
} ;
|
||||
*/
|
||||
} ;
|
||||
SPI_FLASH: spi@40a00000 {
|
||||
compatible = "xlnx,axi-spi-1.01.a", "xlnx,xps-spi-2.00.a";
|
||||
interrupt-parent = <µblaze_0_intc>;
|
||||
interrupts = < 1 2 >;
|
||||
reg = < 0x40a00000 0x10000 >;
|
||||
xlnx,family = "spartan6";
|
||||
xlnx,fifo-exist = <0x1>;
|
||||
xlnx,num-ss-bits = <0x1>;
|
||||
xlnx,num-transfer-bits = <0x8>;
|
||||
xlnx,sck-ratio = <0x4>;
|
||||
} ;
|
||||
USB_Uart: serial@40600000 {
|
||||
clock-frequency = <66666667>;
|
||||
compatible = "xlnx,axi-uartlite-1.02.a", "xlnx,xps-uartlite-1.00.a";
|
||||
current-speed = <115200>;
|
||||
device_type = "serial";
|
||||
interrupt-parent = <µblaze_0_intc>;
|
||||
interrupts = < 3 0 >;
|
||||
port-number = <0>;
|
||||
reg = < 0x40600000 0x10000 >;
|
||||
xlnx,baudrate = <0x1c200>;
|
||||
xlnx,data-bits = <0x8>;
|
||||
xlnx,family = "spartan6";
|
||||
xlnx,odd-parity = <0x1>;
|
||||
xlnx,s-axi-aclk-freq-hz = <0x3f940ab>;
|
||||
xlnx,use-parity = <0x0>;
|
||||
} ;
|
||||
microblaze_0_intc: interrupt-controller@41200000 {
|
||||
#interrupt-cells = <0x2>;
|
||||
compatible = "xlnx,axi-intc-1.01.a", "xlnx,xps-intc-1.00.a";
|
||||
interrupt-controller ;
|
||||
reg = < 0x41200000 0x10000 >;
|
||||
xlnx,kind-of-intr = <0xc>;
|
||||
xlnx,num-intr-inputs = <0x4>;
|
||||
} ;
|
||||
system_timer: timer@41c00000 {
|
||||
clock-frequency = <66666667>;
|
||||
compatible = "xlnx,axi-timer-1.02.a", "xlnx,xps-timer-1.00.a";
|
||||
interrupt-parent = <µblaze_0_intc>;
|
||||
interrupts = < 0 2 >;
|
||||
reg = < 0x41c00000 0x10000 >;
|
||||
xlnx,count-width = <0x20>;
|
||||
xlnx,family = "spartan6";
|
||||
xlnx,gen0-assert = <0x1>;
|
||||
xlnx,gen1-assert = <0x1>;
|
||||
xlnx,one-timer-only = <0x0>;
|
||||
xlnx,trig0-assert = <0x1>;
|
||||
xlnx,trig1-assert = <0x1>;
|
||||
} ;
|
||||
} ;
|
||||
} ;
|
||||
@@ -1,68 +0,0 @@
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_INITRAMFS_SOURCE="rootfs.cpio"
|
||||
CONFIG_INITRAMFS_COMPRESSION_GZIP=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_EXPERT=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_KALLSYMS_EXTRA_PASS=y
|
||||
# CONFIG_HOTPLUG is not set
|
||||
# CONFIG_BASE_FULL is not set
|
||||
# CONFIG_FUTEX is not set
|
||||
# CONFIG_EPOLL is not set
|
||||
# CONFIG_SIGNALFD is not set
|
||||
# CONFIG_SHMEM is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_OPT_LIB_ASM is not set
|
||||
CONFIG_KERNEL_BASE_ADDR=0x80000000
|
||||
CONFIG_XILINX_MICROBLAZE0_FAMILY="spartan6"
|
||||
CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1
|
||||
# CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR is not set
|
||||
CONFIG_XILINX_MICROBLAZE0_USE_BARREL=1
|
||||
CONFIG_XILINX_MICROBLAZE0_USE_HW_MUL=1
|
||||
CONFIG_XILINX_MICROBLAZE0_HW_VER="8.20.a"
|
||||
CONFIG_HZ_100=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
CONFIG_CMDLINE_FORCE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_XILINX_EMACLITE=y
|
||||
# CONFIG_INPUT is not set
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_VT is not set
|
||||
CONFIG_SERIAL_UARTLITE=y
|
||||
CONFIG_SERIAL_UARTLITE_CONSOLE=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
CONFIG_EXT2_FS=y
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_CIFS=y
|
||||
CONFIG_CIFS_STATS=y
|
||||
CONFIG_CIFS_STATS2=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_DEBUG_SLAB=y
|
||||
CONFIG_DEBUG_SPINLOCK=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
@@ -1,70 +0,0 @@
|
||||
This is the buildroot board support for the Avnet Spartan6 LX9 MicroBoard.
|
||||
|
||||
The Avnet S6LX9 Microboard is a small USB-Stick sized module containing
|
||||
a Spartan6 FPGA capable of running the Microblaze softcore processor
|
||||
together with RAM and FLASH memory.
|
||||
|
||||
The board can be bought from Avnet (avnet.com) or from Trenz Electronic
|
||||
(www.trenz-electronic.de) for a low price.
|
||||
|
||||
To run the Linux built with buildroot you have to install the FPGA bitfile
|
||||
and u-boot as described in the tutorial AvtS6LX9MicroBoard_SW302_PetaLinux
|
||||
available on http://www.em.avnet.com/s6microboard
|
||||
|
||||
On this site also is a forum containing information on how to build your own
|
||||
Microblaze processor for the Microboard.
|
||||
|
||||
The image file (default name is simpleImage.lx9_mmu.ub) has to be copied
|
||||
to your tftp folder (often /tftpboot/) or can be programmed into the
|
||||
board's SPI flash.
|
||||
|
||||
Sample session:
|
||||
|
||||
$ make s6lx9_microboard_defconfig
|
||||
$ make
|
||||
$ cp build/linux-<version>/arch/microblaze/boot/simpleImage.lx9_mmu.ub /tftpboot/br12.2a.ub
|
||||
$ minicom
|
||||
<hit the reset button on the S6LX9 Microboard>
|
||||
|
||||
Icache:ON
|
||||
Dcache:ON
|
||||
U-Boot Start:0x83f00000
|
||||
SF: Got idcode 20 ba 18 10 01
|
||||
*** Warning - bad CRC, using default environment
|
||||
|
||||
Net: Xilinx_Emaclite
|
||||
MAC: 00:0a:35:00:63:37
|
||||
U-BOOT for Avnet-LX9-Microboard-AXI-tiny-13.1
|
||||
|
||||
BOOTP broadcast 1
|
||||
DHCP client bound to address 192.168.11.122
|
||||
Hit any key to stop autoboot: 0
|
||||
U-Boot-PetaLinux> tftp br12.2a.ub
|
||||
Using Xilinx_Emaclite device
|
||||
TFTP from server 192.168.11.10; our IP address is 192.168.11.122
|
||||
Filename 'br12.2a.ub'.
|
||||
Load address: 0x80002000
|
||||
Loading: #################################################################
|
||||
#################################################################
|
||||
#################################################################
|
||||
#################################################################
|
||||
#################################################################
|
||||
##############################
|
||||
done
|
||||
Bytes transferred = 5207724 (4f76ac hex)
|
||||
U-Boot-PetaLinux> bootm
|
||||
## Booting kernel from Legacy Image at 80002000 ...
|
||||
Image Name: Linux-3.1.0
|
||||
Image Type: MicroBlaze Linux Kernel Image (uncompressed)
|
||||
Data Size: 5207660 Bytes = 5 MB
|
||||
Load Address: 80000000
|
||||
Entry Point: 80000000
|
||||
Verifying Checksum ... OK
|
||||
Loading Kernel Image ... OK
|
||||
OK
|
||||
## Transferring control to Linux (at address 80000000), 0x80000000 ramdisk 0x00000000, FDT 0x00000000...
|
||||
Early console on uartlite at 0x40600000
|
||||
..... boot log skipped
|
||||
|
||||
Welcome to Microblaze Buildroot
|
||||
Microblaze login:
|
||||
@@ -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
|
||||
@@ -1,32 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"MLO",
|
||||
"u-boot.img",
|
||||
"zImage",
|
||||
"uEnv.txt",
|
||||
"am335x-evm.dtb",
|
||||
"am335x-evmsk.dtb",
|
||||
"am335x-bone.dtb",
|
||||
"am335x-boneblack.dtb",
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
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,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 = {
|
||||
@@ -1,21 +0,0 @@
|
||||
#!/bin/sh
|
||||
# post-image.sh for CircuitCo BeagleBone and TI am335x-evm
|
||||
# 2014, Marcin Jabrzyk <marcin.jabrzyk@gmail.com>
|
||||
# 2016, Lothar Felten <lothar.felten@gmail.com>
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
# copy the uEnv.txt to the output/images directory
|
||||
cp board/beaglebone/uEnv.txt $BINARIES_DIR/uEnv.txt
|
||||
|
||||
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,52 +0,0 @@
|
||||
CircuitCo BeagleBone
|
||||
Texas Instuments AM335x Evaluation Module (TMDXEVM3358)
|
||||
|
||||
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.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Select the default configuration for the target:
|
||||
$ make beaglebone_defconfig
|
||||
|
||||
Optional: modify the configuration:
|
||||
$ make menuconfig
|
||||
|
||||
Build:
|
||||
$ 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
|
||||
|
||||
Tested hardware
|
||||
===============
|
||||
am335x-evm (rev. 1.1A)
|
||||
beagleboneblack (rev. A5A)
|
||||
beaglebone (rev. A6)
|
||||
|
||||
2016, Lothar Felten <lothar.felten@gmail.com>
|
||||
@@ -1,4 +0,0 @@
|
||||
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};
|
||||
@@ -1,130 +0,0 @@
|
||||
setenv bootargs ''
|
||||
|
||||
if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then
|
||||
a_script=0x80800000
|
||||
a_zImage=0x80800000
|
||||
a_fdt=0x83000000
|
||||
m4=''
|
||||
if itest.s "x1" == "x$m4enabled" ; then
|
||||
run m4boot;
|
||||
m4='-m4';
|
||||
fi
|
||||
else
|
||||
a_script=0x10800000
|
||||
a_zImage=0x10800000
|
||||
a_fdt=0x13000000
|
||||
fi
|
||||
|
||||
setenv initrd_high 0xffffffff
|
||||
if itest.s "x" == "x${dtbname}" ; then
|
||||
if itest.s x6SOLO == "x${cpu}" ; then
|
||||
dtbname=imx6dl-${board}.dtb;
|
||||
elif itest.s x6DL == "x${cpu}" ; then
|
||||
dtbname=imx6dl-${board}.dtb;
|
||||
elif itest.s x6QP == "x${cpu}" ; then
|
||||
dtbname=imx6qp-${board}.dtb;
|
||||
elif itest.s x6SX == "x${cpu}" ; then
|
||||
dtbname=imx6sx-${board}${m4}.dtb;
|
||||
elif itest.s x7D == "x${cpu}" ; then
|
||||
dtbname=imx7d-${board}${m4}.dtb;
|
||||
else
|
||||
dtbname=imx6q-${board}.dtb;
|
||||
fi
|
||||
fi
|
||||
|
||||
if load ${dtype} ${disk}:1 ${a_script} uEnv.txt ; then
|
||||
env import -t ${a_script} ${filesize}
|
||||
fi
|
||||
|
||||
if itest.s x == x${bootdir} ; then
|
||||
bootdir=/boot/
|
||||
fi
|
||||
|
||||
if itest.s x${bootpart} == x ; then
|
||||
bootpart=1
|
||||
fi
|
||||
|
||||
if load ${dtype} ${disk}:${bootpart} ${a_fdt} ${bootdir}${dtbname} ; then
|
||||
fdt addr ${a_fdt}
|
||||
setenv fdt_high 0xffffffff
|
||||
else
|
||||
echo "!!!! Error loading ${bootdir}${dtbname}";
|
||||
exit;
|
||||
fi
|
||||
|
||||
cmd_xxx_present=
|
||||
fdt resize
|
||||
if itest.s "x" != "x${cmd_custom}" ; then
|
||||
run cmd_custom
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${cmd_hdmi}" ; then
|
||||
run cmd_hdmi
|
||||
cmd_xxx_present=1;
|
||||
if itest.s x == x${allow_noncea} ; then
|
||||
setenv bootargs ${bootargs} mxc_hdmi.only_cea=1;
|
||||
echo "only CEA modes allowed on HDMI port";
|
||||
else
|
||||
setenv bootargs ${bootargs} mxc_hdmi.only_cea=0;
|
||||
echo "non-CEA modes allowed on HDMI, audio may be affected";
|
||||
fi
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${cmd_lcd}" ; then
|
||||
run cmd_lcd
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_lvds}" ; then
|
||||
run cmd_lvds
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_lvds2}" ; then
|
||||
run cmd_lvds2
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
|
||||
if itest.s "x" == "x${cmd_xxx_present}" ; then
|
||||
echo "!!!!!!!!!!!!!!!!"
|
||||
echo "warning: your u-boot may be outdated, please upgrade"
|
||||
echo "!!!!!!!!!!!!!!!!"
|
||||
fi
|
||||
|
||||
setenv bootargs "${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc"
|
||||
|
||||
if test "sata" = "${dtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ;
|
||||
elif test "usb" = "${dtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ;
|
||||
else
|
||||
setenv bootargs "${bootargs} root=/dev/mmcblk${disk}p${bootpart}"
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${disable_giga}" ; then
|
||||
setenv bootargs ${bootargs} fec.disable_giga=1
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${wlmac}" ; then
|
||||
setenv bootargs ${bootargs} wlcore.mac=${wlmac}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${gpumem}" ; then
|
||||
setenv bootargs ${bootargs} galcore.contiguousSize=${gpumem}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${cma}" ; then
|
||||
setenv bootargs ${bootargs} cma=${cma}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${show_fdt}" ; then
|
||||
fdt print /
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${show_env}" ; then
|
||||
printenv
|
||||
fi
|
||||
|
||||
if load ${dtype} ${disk}:${bootpart} ${a_zImage} ${bootdir}/zImage ; then
|
||||
bootz ${a_zImage} - ${a_fdt}
|
||||
fi
|
||||
echo "Error loading kernel image"
|
||||
@@ -1,69 +0,0 @@
|
||||
if itest.s a$uboot_defconfig == a; then
|
||||
echo "Please set uboot_defconfig to the appropriate value"
|
||||
exit
|
||||
fi
|
||||
|
||||
offset=0x400
|
||||
a_uImage1=0x12000000
|
||||
a_uImage2=0x12400000
|
||||
|
||||
if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then
|
||||
a_uImage1=0x82000000
|
||||
a_uImage2=0x82400000
|
||||
fi
|
||||
|
||||
setenv stdout serial,vga
|
||||
echo "check U-Boot" ;
|
||||
|
||||
if load ${dtype} ${disk}:1 ${a_uImage1} u-boot.$uboot_defconfig ; then
|
||||
else
|
||||
echo "No U-Boot image found on SD card" ;
|
||||
exit
|
||||
fi
|
||||
echo "read $filesize bytes from SD card" ;
|
||||
if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then
|
||||
echo "probed SPI ROM" ;
|
||||
else
|
||||
echo "Error initializing EEPROM" ;
|
||||
exit
|
||||
fi ;
|
||||
if sf read ${a_uImage2} $offset $filesize ; then
|
||||
else
|
||||
echo "Error reading boot loader from EEPROM" ;
|
||||
exit
|
||||
fi
|
||||
if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
|
||||
echo "------- U-Boot versions match" ;
|
||||
exit
|
||||
fi
|
||||
echo "Need U-Boot upgrade" ;
|
||||
echo "Program in 5 seconds" ;
|
||||
for n in 5 4 3 2 1 ; do
|
||||
echo $n ;
|
||||
sleep 1 ;
|
||||
done
|
||||
echo "erasing" ;
|
||||
sf erase 0 0xC0000 ;
|
||||
|
||||
# two steps to prevent bricking
|
||||
echo "programming" ;
|
||||
setexpr a1 ${a_uImage1} + 0x400
|
||||
setexpr o1 ${offset} + 0x400
|
||||
setexpr s1 ${filesize} - 0x400
|
||||
sf write ${a1} ${o1} ${s1} ;
|
||||
sf write ${a_uImage1} $offset 0x400 ;
|
||||
|
||||
echo "verifying" ;
|
||||
if sf read ${a_uImage2} $offset $filesize ; then
|
||||
else
|
||||
echo "Error re-reading EEPROM" ;
|
||||
exit
|
||||
fi
|
||||
if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
|
||||
else
|
||||
echo "Read verification error" ;
|
||||
exit
|
||||
fi
|
||||
while echo "---- U-Boot upgraded. reset" ; do
|
||||
sleep 120
|
||||
done
|
||||
@@ -1,18 +0,0 @@
|
||||
# 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 rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/bin/sh
|
||||
# post-build fixups
|
||||
# for further details, see
|
||||
#
|
||||
# http://boundarydevices.com/u-boot-on-i-mx6/
|
||||
#
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
# bd u-boot looks for bootscript here
|
||||
$HOST_DIR/usr/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
|
||||
-n "boot script" -d $BOARD_DIR/6x_bootscript.txt $TARGET_DIR/6x_bootscript
|
||||
|
||||
# u-boot / update script for bd upgradeu command
|
||||
if [ -e $BINARIES_DIR/u-boot.imx ];
|
||||
then
|
||||
install -D -m 0644 $BINARIES_DIR/u-boot.imx $TARGET_DIR/u-boot.imx
|
||||
$HOST_DIR/usr/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
|
||||
-n "upgrade script" -d $BOARD_DIR/6x_upgrade.txt $TARGET_DIR/6x_upgrade
|
||||
fi
|
||||
@@ -1,16 +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}"
|
||||
|
||||
exit $?
|
||||
@@ -1,30 +0,0 @@
|
||||
Buildroot for Boundary Devices platforms:
|
||||
|
||||
https://boundarydevices.com/product-category/popular-sbc-and-som-modules/
|
||||
|
||||
Here is the list of targeted platforms per defconfig:
|
||||
|
||||
- nitrogen6x_defconfig
|
||||
- BD-SL-i.MX6 (SABRE-Lite)
|
||||
- Nitrogen6X
|
||||
- Nitrogen6_Lite
|
||||
- Nitrogen6_MAX
|
||||
- Nitrogen6_VM
|
||||
- Nitrogen6_SOM
|
||||
- Nitrogen6_SOMv2
|
||||
|
||||
- nitrogen6sx_defconfig
|
||||
- Nitrogen6_SoloX
|
||||
|
||||
- nitrogen7_defconfig
|
||||
- Nitrogen7
|
||||
|
||||
To install, simply copy the image to a uSD card:
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Where 'sdX' is the device node of the uSD partition.
|
||||
|
||||
To upgrade u-boot, cancel autoboot and type:
|
||||
|
||||
> run upgradeu
|
||||
@@ -1 +0,0 @@
|
||||
console=tty1 clk_ignore_unused root=/dev/mmcblk1p2 rootfstype=ext4 ro
|
||||
@@ -1,37 +0,0 @@
|
||||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
description = "Buildroot kernel for Chromebook Snow";
|
||||
images {
|
||||
kernel@1 {
|
||||
description = "kernel";
|
||||
data = /incbin/("zImage");
|
||||
type = "kernel_noload";
|
||||
arch = "arm";
|
||||
os = "linux";
|
||||
compression = "none";
|
||||
load = <0>;
|
||||
entry = <0>;
|
||||
hash@1 {
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
fdt@1{
|
||||
description = "exynos5250-snow.dtb";
|
||||
data = /incbin/("exynos5250-snow.dtb");
|
||||
type = "flat_dt";
|
||||
arch = "arm";
|
||||
compression = "none";
|
||||
hash@1 {
|
||||
algo = "sha1";
|
||||
};
|
||||
};
|
||||
};
|
||||
configurations {
|
||||
default = "conf@1";
|
||||
conf@1{
|
||||
kernel = "kernel@1";
|
||||
fdt = "fdt@1";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,27 +0,0 @@
|
||||
Some versions of u-boot for this Chromebook check for tpm node
|
||||
in the device tree and fail badly (reboot) if it is not found.
|
||||
|
||||
While not exactly correct, it is much easier to patch the mainline
|
||||
device tree to match u-boot expectations than to fix u-boot on
|
||||
this device.
|
||||
|
||||
See https://code.google.com/p/chromium/issues/detail?id=220169
|
||||
and https://lkml.org/lkml/2013/3/4/242
|
||||
|
||||
Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi
|
||||
+++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
|
||||
@@ -466,6 +466,11 @@
|
||||
status = "okay";
|
||||
samsung,i2c-sda-delay = <100>;
|
||||
samsung,i2c-max-bus-freq = <66000>;
|
||||
+
|
||||
+ tpm {
|
||||
+ compatible = "infineon,slb9635tt";
|
||||
+ reg = <0x20>;
|
||||
+ };
|
||||
};
|
||||
|
||||
&i2c_5 {
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
CONFIG_MWIFIEX=m
|
||||
CONFIG_MWIFIEX_SDIO=m
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This scripts makes a minimal bootable SD card image for the Chromebook.
|
||||
# The resulting file is called bootsd.img. It should be written directly
|
||||
# to the card:
|
||||
#
|
||||
# SD=/dev/mmcblk1 # check your device name!
|
||||
# dd if=output/images/bootsd.img of=$SD
|
||||
#
|
||||
# The partitions are created just large enough to hold the kernel and
|
||||
# the rootfs image. Most of the card will be empty, and the secondary
|
||||
# GPT will not be in its proper location.
|
||||
|
||||
# cgpt does not create protective MBR, and the kernel refuses to read
|
||||
# GPT unless there's some kind of MBR in sector 0. So we need parted
|
||||
# to write that single sector before doing anything with the GPT.
|
||||
cgpt=$HOST_DIR/usr/bin/cgpt
|
||||
parted=$HOST_DIR/usr/sbin/parted
|
||||
kernel=$BINARIES_DIR/uImage.kpart
|
||||
rootfs=$BINARIES_DIR/rootfs.ext2
|
||||
|
||||
run() { echo "$@"; "$@"; }
|
||||
die() { echo "$@" >&2; exit 1; }
|
||||
test -f $kernel || die "No kernel image found"
|
||||
test -f $rootfs || die "No rootfs image found"
|
||||
test -x $cgpt || die "cgpt not found (host-vboot-utils have not been built?)"
|
||||
|
||||
# True file sizes in bytes
|
||||
kernelsize=`stat -t $kernel | cut -d\ -f2`
|
||||
rootfssize=`stat -t $rootfs | cut -d\ -f2`
|
||||
|
||||
# The card is partitioned in sectors of 8KB.
|
||||
# 4 sectors are reserved for MBR+GPT. Their actual size turns out
|
||||
# to be 33 512-blocks which is just over 2 sectors, but we align
|
||||
# it to a nice round number.
|
||||
sec=8192
|
||||
kernelsec=$(((kernelsize+8191)>>13))
|
||||
rootfssec=$(((rootfssize+8191)>>13))
|
||||
headersec=4
|
||||
|
||||
# There is also a copy of MBR+GPT at the end of the image.
|
||||
# It's going to be useless but both tools assume it's there.
|
||||
imagesec=$((2*headersec+kernelsec+rootfssec))
|
||||
bootsd="$BINARIES_DIR/bootsd.img"
|
||||
run dd bs=$sec count=$imagesec if=/dev/zero of=$bootsd
|
||||
|
||||
# cgpt needs offsets and sizes in 512-blocks.
|
||||
block=512
|
||||
kernelstart=$((headersec<<4))
|
||||
kernelblocks=$((kernelsec<<4))
|
||||
rootfsblocks=$((rootfssec<<4))
|
||||
rootfsstart=$((kernelstart+kernelblocks))
|
||||
|
||||
# This command initializes both GPT and MBR
|
||||
run $parted -s $bootsd mklabel gpt
|
||||
|
||||
# The kernel partition must be marked as bootable, that's why -S -T -P
|
||||
run $cgpt add -i 1 -b $kernelstart -s $kernelblocks \
|
||||
-t kernel -l kernel \
|
||||
-S 1 -T 1 -P 10 $bootsd
|
||||
|
||||
# It does not really matter where the rootfs partition is located as long
|
||||
# as the kernel can find it.
|
||||
# However, if anything is changed here, kernel.args must be updated as well.
|
||||
run $cgpt add -i 2 -b $rootfsstart -s $rootfsblocks \
|
||||
-t data -l rootfs $bootsd
|
||||
|
||||
run dd bs=$block if=$kernel of=$bootsd seek=$kernelstart
|
||||
run dd bs=$block if=$rootfs of=$bootsd seek=$rootfsstart
|
||||
@@ -1,137 +0,0 @@
|
||||
Samsung XE303C12 aka Chromebook Snow
|
||||
====================================
|
||||
|
||||
This file describes booting the Chromebook from an SD card containing
|
||||
Buildroot kernel and rootfs, using the original bootloader. This is
|
||||
the least invasive way to get Buildroot onto the devices and a good
|
||||
starting point.
|
||||
|
||||
The bootloader will only boot a kernel from a GPT partition marked
|
||||
bootable with cgpt tool from vboot-utils package.
|
||||
The kernel image must be signed using futility from the same package.
|
||||
The signing part is done by sign.sh script in this directory.
|
||||
|
||||
It does not really matter where rootfs is as long as the kernel is able
|
||||
to find it, but this particular configuration assumes the kernel is on
|
||||
partition 1 and rootfs is on partition 2 of the SD card.
|
||||
Make sure to check kernel.args if you change this.
|
||||
|
||||
Making the boot media
|
||||
---------------------
|
||||
Start by configuring and building the images.
|
||||
|
||||
make chromebook_snow_defconfig
|
||||
make menuconfig # if necessary
|
||||
make
|
||||
|
||||
The important files are:
|
||||
|
||||
uImage.kpart (kernel and device tree, signed)
|
||||
rootfs.tar
|
||||
bootsd.img (SD card image containing both kernel and rootfs)
|
||||
|
||||
Write the image directly to some SD card.
|
||||
WARNING: make sure there is nothing important on that card,
|
||||
and double-check the device name!
|
||||
|
||||
SD=/dev/mmcblk1 # may be /dev/sdX on some hosts
|
||||
dd if=output/images/bootsd.img of=$SD
|
||||
|
||||
Switching to developer mode and booting from SD
|
||||
-----------------------------------------------
|
||||
Power Chromebook down, then power it up while holding Esc+F3.
|
||||
BEWARE: switching to developer mode deletes all user data.
|
||||
Create backups if you need them.
|
||||
|
||||
While in developer mode, Chromebook will boot into a white screen saying
|
||||
"OS verification is off".
|
||||
|
||||
Press Ctrl-D at this screen to boot Chromium OS from eMMC.
|
||||
Press Ctrl-U at this screen to boot from SD (or USB)
|
||||
Press Power to power it off.
|
||||
Do NOT press Space unless you mean it.
|
||||
This will switch it back to normal mode.
|
||||
|
||||
The is no way to get rid of the white screen without re-flashing the bootloader.
|
||||
|
||||
Troubleshooting
|
||||
---------------
|
||||
Loud *BEEP* after pressing Ctrl-U means there's no valid partition to boot from.
|
||||
Which in turn means either bad GPT or improperly signed kernel.
|
||||
|
||||
Return to the OS verification screen without any sounds means the code managed
|
||||
to reboot the board. May indicate properly signed but invalid image.
|
||||
|
||||
Blank screen means the image is valid and properly signed but cannot boot
|
||||
for some reason, like missing or incorrect DT.
|
||||
|
||||
In case the board becomes unresponsive:
|
||||
|
||||
* Press Esc+F3+Power. The board should reboot instantly.
|
||||
Remove SD card to prevent it from attempting a system recovery.
|
||||
|
||||
* Hold Power button for around 10s. The board should shut down into
|
||||
its soft-off mode. Press Power button again or open the lid to turn in on.
|
||||
|
||||
* If that does not work, disconnect the charger and push a hidden
|
||||
button on the underside with a pin of some sort. The board should shut
|
||||
down completely. Opening the lid and pressing Power button will not work.
|
||||
To turn it back on, connect the charger.
|
||||
|
||||
Partitioning SD card manually
|
||||
-----------------------------
|
||||
Check mksd.sh for partitioning commands.
|
||||
|
||||
Use parted and cgpt on a real device, and calculate the partition
|
||||
sizes properly. The kernel partition may be as small as 4MB, but
|
||||
you will probably want the rootfs to occupy the whole remaining space.
|
||||
|
||||
cgpt may be used to check current layout:
|
||||
|
||||
output/host/usr/bin/cgpt show $SD
|
||||
|
||||
All sizes and all offsets are in 512-byte blocks.
|
||||
|
||||
Writing kernel and rootfs to a partitioned SD card
|
||||
--------------------------------------------------
|
||||
Write .kpart directly to the bootable partition:
|
||||
|
||||
dd if=output/images/uImage.kpart of=${SD}1
|
||||
|
||||
Make a new filesystem on the rootfs partition, and unpack rootfs.tar there:
|
||||
|
||||
mkfs.ext4 ${SD}2
|
||||
mount ${SD2} /mnt/<ROOTFS-PARTITION>
|
||||
tar -xvf output/images/rootfs.tar -C /mnt/<ROOTFS-PARTITION>
|
||||
umount /mnt/<ROOTFS-PARTITION>
|
||||
|
||||
This will require root permissions even if you can write to $SD.
|
||||
|
||||
Kernel command line
|
||||
-------------------
|
||||
The command line is taken from board/chromebook/snow/kernel.args and stored
|
||||
in the vboot header (which also holds the signature).
|
||||
|
||||
The original bootloader prepends "cros_secure console= " to the supplied
|
||||
command line. The only way to suppress this is to enable CMDLINE_FORCE
|
||||
in the kernel config, disabling external command line completely.
|
||||
|
||||
That's not necessary however. The mainline kernel ignores cros_secure,
|
||||
and supplying console=tty1 in kernel.args undoes the effect of console=
|
||||
|
||||
Booting with console= suppresses all kernel output.
|
||||
As a side effect, it makes /dev/console unusable, which the init in use must
|
||||
be able to handle.
|
||||
|
||||
WiFi card
|
||||
---------
|
||||
Run modprobe mwifiex_sdio to load the driver.
|
||||
The name of the device should be mlan0.
|
||||
|
||||
Further reading
|
||||
---------------
|
||||
https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-arm-chromebook
|
||||
http://linux-exynos.org/wiki/Samsung_Chromebook_XE303C12/Installing_Linux
|
||||
http://archlinuxarm.org/platforms/armv7/samsung/samsung-chromebook
|
||||
http://www.de7ec7ed.com/2013/05/application-processor-ap-uart-samsung.html
|
||||
http://www.de7ec7ed.com/2013/05/embedded-controller-ec-uart-samsung.html
|
||||
@@ -1,41 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# This script creates u-boot FIT image containing the kernel and the DT,
|
||||
# then signs it using futility from vboot-utils.
|
||||
# The resulting file is called uImage.kpart.
|
||||
|
||||
BOARD_DIR=$(dirname $0)
|
||||
mkimage=$HOST_DIR/usr/bin/mkimage
|
||||
futility=$HOST_DIR/usr/bin/futility
|
||||
devkeys=$HOST_DIR/usr/share/vboot/devkeys
|
||||
|
||||
run() { echo "$@"; "$@"; }
|
||||
die() { echo "$@" >&2; exit 1; }
|
||||
test -f $BINARIES_DIR/zImage || \
|
||||
die "No kernel image found"
|
||||
test -x $mkimage || \
|
||||
die "No mkimage found (host-uboot-tools has not been built?)"
|
||||
test -x $futility || \
|
||||
die "No futility found (host-vboot-utils has not been built?)"
|
||||
|
||||
# kernel.its references zImage and exynos5250-snow.dtb, and all three
|
||||
# files must be in current directory for mkimage.
|
||||
run cp $BOARD_DIR/kernel.its $BINARIES_DIR/kernel.its || exit 1
|
||||
echo "# entering $BINARIES_DIR for the next command"
|
||||
(cd $BINARIES_DIR && run $mkimage -f kernel.its uImage.itb) || exit 1
|
||||
|
||||
# futility requires non-empty file to be supplied with --bootloader
|
||||
# even if it does not make sense for the target platform.
|
||||
echo > $BINARIES_DIR/dummy.txt
|
||||
|
||||
run $futility vbutil_kernel \
|
||||
--keyblock $devkeys/kernel.keyblock \
|
||||
--signprivate $devkeys/kernel_data_key.vbprivk \
|
||||
--arch arm \
|
||||
--version 1 \
|
||||
--config $BOARD_DIR/kernel.args \
|
||||
--vmlinuz $BINARIES_DIR/uImage.itb \
|
||||
--bootloader $BINARIES_DIR/dummy.txt \
|
||||
--pack $BINARIES_DIR/uImage.kpart || exit 1
|
||||
|
||||
rm -f $BINARIES_DIR/kernel.its $BINARIES_DIR/dummy.txt
|
||||
@@ -1,42 +0,0 @@
|
||||
*********************
|
||||
* MIPS Creator CI20 *
|
||||
*********************
|
||||
|
||||
The 'ci20_defconfig' will create a root filesystem and a kernel image
|
||||
under the 'output/images/' directory. This document will try to explain how
|
||||
to use them in order to run Buildroot in the MIPS Creator CI20 board.
|
||||
|
||||
Assuming you are at the U-Boot prompt of the MIPS Creator CI20, you have to
|
||||
load the generated kernel image by using the 'tftpboot' command. In
|
||||
order to do that, you will need to get the network working. Here you
|
||||
have the instructions to set the ip address, netmask and gateway:
|
||||
|
||||
setenv ipaddr x.x.x.x
|
||||
setenv netmask x.x.x.x
|
||||
setenv gatewayip x.x.x.x
|
||||
|
||||
Now you have to set the ip for the TFTP server you are going to load the
|
||||
kernel image from, and also the name of the kernel image file (we use
|
||||
'uImage' as a filename in this example):
|
||||
|
||||
setenv serverip x.x.x.x
|
||||
setenv bootfile uImage
|
||||
|
||||
And finally load the kernel image:
|
||||
|
||||
tftpboot
|
||||
|
||||
Now you have to extract the generated root filesystem into a USB drive
|
||||
or SD-Card. Here you have the instructions to boot from the two of them.
|
||||
You have to choose the one your prefer:
|
||||
|
||||
From USB
|
||||
setenv bootargs console=ttyS4,115200 console=tty0 mem=256M@0x0
|
||||
mem=768M@0x30000000 root=/dev/sda1
|
||||
|
||||
From SD-Card
|
||||
setenv bootargs console=ttyS4,115200 console=tty0 mem=256M@0x0
|
||||
mem=768M@0x30000000 root=/dev/mmcblk0p1
|
||||
|
||||
And finally run this command to boot the board:
|
||||
bootm
|
||||
@@ -1,5 +0,0 @@
|
||||
setenv fdt_high ffffffff
|
||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
fatload mmc 0 $kernel_addr_r zImage
|
||||
fatload mmc 0 $fdt_addr_r sun7i-a20-cubieboard2.dtb
|
||||
bootz $kernel_addr_r - $fdt_addr_r
|
||||
@@ -1,37 +0,0 @@
|
||||
# Minimal SD card image for the Cubieboard2
|
||||
# Based in the Orange Pi genimage.cfg
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"sun7i-a20-cubieboard2.dtb",
|
||||
"boot.scr"
|
||||
}
|
||||
}
|
||||
size = 10M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-sunxi-with-spl.bin"
|
||||
offset = 8192
|
||||
size = 1040384 # 1MB - 8192
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/bin/sh
|
||||
# post-build.sh for Cubieboard2
|
||||
# 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
|
||||
$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H
|
||||
@@ -1,16 +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}"
|
||||
|
||||
exit $?
|
||||
@@ -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,46 +0,0 @@
|
||||
Buildroot for Embest RIoTboard
|
||||
==============================
|
||||
|
||||
1. Compiling buildroot
|
||||
----------------------
|
||||
|
||||
make riotboard_defconfig
|
||||
make
|
||||
|
||||
2. Installing buildroot
|
||||
-----------------------
|
||||
|
||||
Prepare an SD-card and plug it into your card reader. Write the bootloader to
|
||||
your SD-card:
|
||||
|
||||
sudo dd if=output/images/u-boot.imx of=/dev/sdX bs=1k seek=1
|
||||
|
||||
Create 1 partition on the SD-card using your favourite tool. The
|
||||
partition should be big enough to hold your rootfs, for example
|
||||
128MiB. Here's an example partition layout:
|
||||
|
||||
Device Boot Start End Blocks Id System
|
||||
/dev/sdX1 2048 264191 131072 83 Linux
|
||||
|
||||
Format the SD-card partition with your favourite filesystem:
|
||||
|
||||
sudo mkfs.ext2 /dev/sdX1
|
||||
|
||||
Deploy your rootfs to the SD-card:
|
||||
|
||||
sudo mkdir /mnt/sdcard/
|
||||
sudo mount /dev/sdX1 /mnt/sdcard/
|
||||
sudo tar xf output/images/rootfs.tar -C /mnt/sdcard/
|
||||
sudo umount /dev/sdX1
|
||||
|
||||
3. Running buildroot
|
||||
--------------------
|
||||
|
||||
Position the board so you can read the label "RIoTboard" on the right side of
|
||||
SW1 DIP switches. Configure the SW1 swiches like this:
|
||||
|
||||
10100101 (1 means ON position, 0 means OFF position)
|
||||
|
||||
Now plug your prepared SD-card in slot J6. Connect a serial console (115200, 8,
|
||||
N, 1) to header J18. Connect a 5V/1A power supply to the board and enjoy your
|
||||
new toy.
|
||||
@@ -1,6 +0,0 @@
|
||||
default buildroot
|
||||
|
||||
label buildroot
|
||||
kernel /boot/uImage
|
||||
devicetree /boot/imx6dl-riotboard.dtb
|
||||
append console=ttymxc1,115200 root=/dev/mmcblk0p1 rw
|
||||
@@ -1,6 +0,0 @@
|
||||
default firefly-rk3288
|
||||
|
||||
label firefly-rk3288
|
||||
kernel /boot/uImage
|
||||
devicetree /boot/rk3288-firefly.dtb
|
||||
append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
|
||||
@@ -1,3 +0,0 @@
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
MKIMAGE=$HOST_DIR/usr/bin/mkimage
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/sd-image.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
|
||||
exit $?
|
||||
@@ -1,40 +0,0 @@
|
||||
Firefly RK3288
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
$ make firefly_rk3288_defconfig
|
||||
|
||||
Then you can edit the build options using
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Compile all and build rootfs image:
|
||||
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should get a tree like this:
|
||||
|
||||
output/images/
|
||||
├── rk3288-firefly.dtb
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4 -> rootfs.ext2
|
||||
├── sdcard.img
|
||||
├── u-boot-dtb.img
|
||||
├── u-boot-spl-dtb.bin
|
||||
├── u-boot-spl-dtb.img
|
||||
└── uImage
|
||||
|
||||
Prepare your SDCard
|
||||
===================
|
||||
|
||||
Buildroot generates a ready-to-use SD card image that you can flash directly to
|
||||
the card. The image will be in output/images/sdcard.img.
|
||||
You can write this image directly to an SD card device (i.e. /dev/xxx):
|
||||
|
||||
$ dd if=output/images/sdcard.img of=/dev/xxx
|
||||
|
||||
Finally, you can insert the SD card to the Firefly RK3288 board and boot it.
|
||||
@@ -1,22 +0,0 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot-spl-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-spl-dtb.img"
|
||||
offset = 32K
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 128K
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
# Minimal SD card image for the Freescale boards Template
|
||||
#
|
||||
# We mimic the .sdcard Freescale's image format:
|
||||
# * 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)
|
||||
#
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
%FILES%
|
||||
}
|
||||
}
|
||||
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.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/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 $@
|
||||
@@ -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!
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user