u-boot: update version /home/liliana/Dingussy/local/releases/tt1860562
This commit is contained in:
parent
6694ffcc73
commit
6024743d64
0
MODULE_LICENSE_GPL2
Normal file
0
MODULE_LICENSE_GPL2
Normal file
298
NOTICE
Normal file
298
NOTICE
Normal file
@ -0,0 +1,298 @@
|
|||||||
|
NOTE! This copyright does *not* cover the so-called "standalone"
|
||||||
|
applications that use U-Boot services by means of the jump table
|
||||||
|
provided by U-Boot exactly for this purpose - this is merely
|
||||||
|
considered normal use of U-Boot, and does *not* fall under the
|
||||||
|
heading of "derived work".
|
||||||
|
|
||||||
|
The header files "include/image.h" and "include/asm-*/u-boot.h"
|
||||||
|
define interfaces to U-Boot. Including these (unmodified) header
|
||||||
|
files in another file is considered normal use of U-Boot, and does
|
||||||
|
*not* fall under the heading of "derived work".
|
||||||
|
|
||||||
|
Also note that the GPL below is copyrighted by the Free Software
|
||||||
|
Foundation, but the instance of code that it refers to (the U-Boot
|
||||||
|
source code) is copyrighted by me and others who actually wrote it.
|
||||||
|
-- Wolfgang Denk
|
||||||
|
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
|
59 Temple Place, Suite 330, Boston, MA 02111-1307 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 Library 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
|
||||||
80
board/tomtom/strasbourg/Makefile
Normal file
80
board/tomtom/strasbourg/Makefile
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
#
|
||||||
|
# (C) Copyright 2009 Texas Instruments.
|
||||||
|
#
|
||||||
|
# See file CREDITS for list of people who contributed to this
|
||||||
|
# project.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation; either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
|
# MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/config.mk
|
||||||
|
|
||||||
|
COMMONDIR = ../common
|
||||||
|
PLAT_DIR = $(TOPDIR)/plat-tomtom/offenburg
|
||||||
|
|
||||||
|
LIB = lib$(BOARD).a
|
||||||
|
|
||||||
|
# Boot shell scripts
|
||||||
|
USHOBJS := bootcmd.o altbootcmd.o preboot.o preboot_plat.o
|
||||||
|
|
||||||
|
# U-Boot 1.1.4 build system sucks :P
|
||||||
|
ifeq (,$(shell fgrep -q 'CONFIG_DEBUG_BUILD' \
|
||||||
|
$(TOPDIR)/include/`sed -ne 's|.*<\(.*\)>.*|\1|p' $(TOPDIR)/include/config.h` \
|
||||||
|
2>/dev/null || echo x))
|
||||||
|
USHOBJS += bootcmd_debug.o altbootcmd_debug.o preboot_debug.o
|
||||||
|
endif
|
||||||
|
|
||||||
|
OBJS := strasbourg.o \
|
||||||
|
${PLAT_DIR}/board.o \
|
||||||
|
${PLAT_DIR}/security.o \
|
||||||
|
${PLAT_DIR}/sys_info.o \
|
||||||
|
bricknum.o \
|
||||||
|
mfd_feat.o \
|
||||||
|
epic_fail.o
|
||||||
|
|
||||||
|
OBJS += $(COMMONDIR)/bootcount.o \
|
||||||
|
$(COMMONDIR)/env_init.o \
|
||||||
|
|
||||||
|
$(LIB): $(OBJS) $(USHOBJS)
|
||||||
|
$(AR) crv $@ $^
|
||||||
|
|
||||||
|
%.o: %.image
|
||||||
|
cd $(<D); \
|
||||||
|
$(OBJCOPY) -I binary -O elf32-littlearm -B arm \
|
||||||
|
--rename-section .data=.bootscript $(<F) $(@F)
|
||||||
|
|
||||||
|
.SECONDARY: $(USHOBJS:.o=.image)
|
||||||
|
|
||||||
|
%.image: %.ush Makefile
|
||||||
|
$(TOPDIR)/tools/mkimage -A arm -O linux -T script -C none \
|
||||||
|
-a 0 -e 0 -n $(*F) -d $< $@.tmp
|
||||||
|
-dd if=$@.tmp bs=4 of=$@ conv=sync
|
||||||
|
$(RM) $@.tmp
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(OBJS) $(USHOBJS)
|
||||||
|
|
||||||
|
distclean: clean
|
||||||
|
rm -f $(LIB) core *.bak .depend
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
.depend: Makefile $(OBJS:.o=.c)
|
||||||
|
$(CC) -M $(CPPFLAGS) $(OBJS:.o=.c) > $@
|
||||||
|
|
||||||
|
-include .depend
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
48
board/tomtom/strasbourg/mfd_feat.c
Normal file
48
board/tomtom/strasbourg/mfd_feat.c
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2012 TomTom International BV
|
||||||
|
* Written by Domenico Andreoli <domenico.andreoli@tomtom.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "mfd_feat.h"
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
#if defined(__VARIANT_STUTTGART_B1)
|
||||||
|
# define MFD_VARIANT MFD_VARIANT_STUTTGART_B1
|
||||||
|
#elif defined(__VARIANT_RENNES_B1)
|
||||||
|
# define MFD_VARIANT MFD_VARIANT_RENNES_B1
|
||||||
|
#elif defined(__VARIANT_RENNES_A1)
|
||||||
|
# define MFD_VARIANT MFD_VARIANT_RENNES_A1
|
||||||
|
#elif defined(__VARIANT_B2)
|
||||||
|
# define MFD_VARIANT MFD_VARIANT_STRASBOURG_B2
|
||||||
|
#elif defined(__VARIANT_B1)
|
||||||
|
# define MFD_VARIANT MFD_VARIANT_STRASBOURG_B1
|
||||||
|
#else
|
||||||
|
# define MFD_VARIANT MFD_VARIANT_STRASBOURG
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const struct mfd_feat *mfd_lookup(const struct mfd_feat *feat)
|
||||||
|
{
|
||||||
|
for (; feat; feat++) {
|
||||||
|
if (feat->mach && feat->mach != gd->bd->bi_arch_number)
|
||||||
|
continue;
|
||||||
|
if (feat->rev && feat->rev != MFD_VARIANT)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/* there must be a default (terminator) entry that breaks the loop */
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return feat;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 get_board_rev(void)
|
||||||
|
{
|
||||||
|
return MFD_VARIANT;
|
||||||
|
}
|
||||||
64
board/tomtom/strasbourg/mfd_feat.h
Normal file
64
board/tomtom/strasbourg/mfd_feat.h
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2012 TomTom International BV
|
||||||
|
* Written by Domenico Andreoli <domenico.andreoli@tomtom.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef TOMTOM_MFD_FEAT_H
|
||||||
|
#define TOMTOM_MFD_FEAT_H
|
||||||
|
|
||||||
|
#define MFD_VARIANT_STRASBOURG_A2 0x10
|
||||||
|
#define MFD_VARIANT_STRASBOURG_B1 0x11
|
||||||
|
#define MFD_VARIANT_STRASBOURG_B2 0x12
|
||||||
|
#define MFD_VARIANT_RENNES_A1 0x13
|
||||||
|
#define MFD_VARIANT_RENNES_B1 0x14
|
||||||
|
#define MFD_VARIANT_STUTTGART_B1 0x15
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Helper struct to hold a TomTom MFD board specific feature in form
|
||||||
|
* of a pointer. Specific features are selected in base of the mach and
|
||||||
|
* rev fields.
|
||||||
|
*/
|
||||||
|
struct mfd_feat {
|
||||||
|
unsigned int mach;
|
||||||
|
unsigned int rev;
|
||||||
|
void *priv;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Helper macros to init arrays of MFD features */
|
||||||
|
#define MFD_FEAT_INIT(_mach, _rev, _feat) { \
|
||||||
|
.mach = _mach, \
|
||||||
|
.rev = _rev, \
|
||||||
|
.priv = _feat, \
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The default entry is mandatory, it grants that mfd_lookup() is not
|
||||||
|
* an infinite loop. Entries after the default are ignored so normally
|
||||||
|
* it is last. It also provides a means to return a possibly meaningful
|
||||||
|
* value in case no MFD cadidate is found.
|
||||||
|
*/
|
||||||
|
#define MFD_DEFAULT(_feat) MFD_FEAT_INIT(0, 0, _feat)
|
||||||
|
|
||||||
|
#define MFD_1_0_A1(_feat) MFD_FEAT_INIT(MACH_TYPE_STRASBOURG, 0, _feat)
|
||||||
|
#define MFD_1_0_A2(_feat) MFD_FEAT_INIT(MACH_TYPE_STRASBOURG_A2, MFD_VARIANT_STRASBOURG_A2, _feat)
|
||||||
|
#define MFD_1_0_B1(_feat) MFD_FEAT_INIT(MACH_TYPE_STRASBOURG_A2, MFD_VARIANT_STRASBOURG_B1, _feat)
|
||||||
|
#define MFD_1_0_B2(_feat) MFD_FEAT_INIT(MACH_TYPE_STRASBOURG_A2, MFD_VARIANT_STRASBOURG_B2, _feat)
|
||||||
|
#define MFD_1_05(_feat) MFD_FEAT_INIT(MACH_TYPE_STRASBOURG_A2, MFD_VARIANT_RENNES_A1, _feat)
|
||||||
|
#define MFD_1_1(_feat) MFD_FEAT_INIT(MACH_TYPE_STRASBOURG_A2, MFD_VARIANT_RENNES_B1, _feat)
|
||||||
|
#define MFD_2_0(_feat) MFD_FEAT_INIT(MACH_TYPE_STRASBOURG_A2, MFD_VARIANT_STUTTGART_B1, _feat)
|
||||||
|
|
||||||
|
/* Lookup functions to find the first matching MFD feature */
|
||||||
|
const struct mfd_feat *mfd_lookup(const struct mfd_feat *feat);
|
||||||
|
|
||||||
|
static inline void *mfd_feature(const struct mfd_feat *feat)
|
||||||
|
{
|
||||||
|
const struct mfd_feat *_f = mfd_lookup(feat);
|
||||||
|
return _f ? _f->priv : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* TOMTOM_MFD_FEAT_H */
|
||||||
16
board/tomtom/strasbourg/preboot.ush
Normal file
16
board/tomtom/strasbourg/preboot.ush
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
run preboot_plat
|
||||||
|
setenv autoscript no
|
||||||
|
setenv bootfile /zImage
|
||||||
|
setenv conf.file /uboot.conf
|
||||||
|
setenv conf.maxsize 0x80
|
||||||
|
setenv flash.part.bootfs /dev/mmcblk${kernel.bootdev}p${flash.part.bootfs.num}
|
||||||
|
setenv flash.part.rootfs /dev/mmcblk${kernel.root.num}p${flash.part.rootfs.num}
|
||||||
|
setenv kernel.console.options ${baudrate}
|
||||||
|
setenv kernel.extrabootargs
|
||||||
|
setenv timeout 2
|
||||||
|
setenv verify no
|
||||||
|
setenv no_trybooty no
|
||||||
|
setenv bootargs root=${flash.part.rootfs} ${kernel.root.options} console=${kernel.console},${kernel.console.options} ${kernel.extrabootargs} androidboot.console=${kernel.console} sysboot_mode=${sysboot_mode} init=/init videoout=omap24xxvout vram=3M,0x83000000 lpj=2334720
|
||||||
|
mw.w ${fdaddr} 0x00000000 ${conf.maxsize}
|
||||||
|
ignore ext2load ${bootdev.class} ${bootdev}:${flash.part.bootfs.num} ${fdaddr} /uboot.conf ${conf.maxsize}
|
||||||
|
ignore bootconf ${fdaddr}
|
||||||
677
board/tomtom/strasbourg/strasbourg.c
Normal file
677
board/tomtom/strasbourg/strasbourg.c
Normal file
@ -0,0 +1,677 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* (C) Copyright 2004-2009
|
||||||
|
* Texas Instruments, <www.ti.com>
|
||||||
|
* Richard Woodruff <r-woodruff2@ti.com>
|
||||||
|
*
|
||||||
|
* See file CREDITS for list of people who contributed to this
|
||||||
|
* project.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
|
* MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
#include <common.h>
|
||||||
|
#include <asm/arch/cpu.h>
|
||||||
|
#include <asm/io.h>
|
||||||
|
#include <asm/arch/bits.h>
|
||||||
|
#include <asm/arch/mux.h>
|
||||||
|
#include <asm/arch/sys_proto.h>
|
||||||
|
#include <asm/arch/sys_info.h>
|
||||||
|
#include <asm/arch/clocks.h>
|
||||||
|
#include <asm/arch/mem.h>
|
||||||
|
#include <asm/arch/gpio.h>
|
||||||
|
#include <asm/arch/i2c.h>
|
||||||
|
#include <asm/memprot.h>
|
||||||
|
#include <tomtom.h>
|
||||||
|
#include <i2c.h>
|
||||||
|
#include <mmc.h>
|
||||||
|
#include <asm/mach-types.h>
|
||||||
|
#include <linux/mtd/nand_ecc.h>
|
||||||
|
#include <twl4030.h>
|
||||||
|
#include <flipflop.h>
|
||||||
|
#include "logo.h"
|
||||||
|
#include "mfd_feat.h"
|
||||||
|
#include <plat-tomtom/offenburg/offenburg.h>
|
||||||
|
|
||||||
|
/* Before including the padconfig settings, we have to set proper config */
|
||||||
|
#define BOOTLOADER_UBOOT_PADCONFIG
|
||||||
|
#if defined(__VARIANT_STUTTGART_B1)
|
||||||
|
# include <linux/padconfig_stuttgart_b1.h>
|
||||||
|
#elif defined( __VARIANT_RENNES_B1)
|
||||||
|
# include <linux/padconfig_rennes_b1.h>
|
||||||
|
#elif defined(__VARIANT_A1)
|
||||||
|
# include <linux/padconfig_strasbourg.h>
|
||||||
|
#else
|
||||||
|
# include <linux/padconfig_strasbourg_a2.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define GPIO_LCD_UD (12)
|
||||||
|
#define GPIO_LCD_LR (19)
|
||||||
|
#define GPIO_LCM_PWR_ON (137)
|
||||||
|
#define GPIO_nLCD_RESET (156)
|
||||||
|
#define GPIO_BACKLIGHT_ON (65)
|
||||||
|
#define GPIO_SENSE_11V0 (17)
|
||||||
|
#define SENSE_11V0_MAX_RETRY (5)
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
extern void detect_boot_mode(void);
|
||||||
|
extern void hw_watchdog_init(void);
|
||||||
|
|
||||||
|
extern const uchar __diagsys_start;
|
||||||
|
#define DIAGSYS_ADDR_START (&__diagsys_start)
|
||||||
|
extern const uchar __diagsys_end;
|
||||||
|
#define DIAGSYS_ADDR_END (&__diagsys_end)
|
||||||
|
#define DIAGSYS_LEN ((size_t) (DIAGSYS_ADDR_END - \
|
||||||
|
DIAGSYS_ADDR_START))
|
||||||
|
#define DIAGSYS_ADDR_NOR ((uchar *) 0x08300000UL)
|
||||||
|
|
||||||
|
#define DEFAULT_FDT_START ((uchar *) 0x81FE0000UL)
|
||||||
|
#define DEFAULT_FDT_LEN ((size_t) 0xe00U) /* 7 sectors */
|
||||||
|
|
||||||
|
unsigned exec_applet = 0;
|
||||||
|
|
||||||
|
extern const int __framebuffer_start;
|
||||||
|
#define FRAMEBUFFER_ADDR_START 0x83000000
|
||||||
|
extern const int __framebuffer_end;
|
||||||
|
#define FRAMEBUFFER_ADDR_END (&__framebuffer_end)
|
||||||
|
#define FRAMEBUFFER_LEN ((size_t) (FRAMEBUFFER_ADDR_END - \
|
||||||
|
FRAMEBUFFER_ADDR_START))
|
||||||
|
#define FDT_SCR_ROT_OFFSET (0x1150)
|
||||||
|
#define FDT_SCR_VCOM_OFFSET (0x124e)
|
||||||
|
#define EOL_SAT_TUN_OFFSET (0x0113)
|
||||||
|
|
||||||
|
/* Timer related definitions */
|
||||||
|
#define OMAP34XX_GPTIMER10_BASE (0x48086000)
|
||||||
|
#define TIMER_CTRL_GPOCFG (1 << 14)
|
||||||
|
#define TIMER_CTRL_CAPTMODE (1 << 13)
|
||||||
|
#define TIMER_CTRL_PT (1 << 12)
|
||||||
|
#define TIMER_CTRL_TRG_OVERFLOW (1 << 10)
|
||||||
|
#define TIMER_CTRL_TRG_OVERFLOW_MATCH (2 << 10)
|
||||||
|
#define TIMER_CTRL_TCM_LOWTOHIGH (0x1 << 8)
|
||||||
|
#define TIMER_CTRL_TCM_HIGHTOLOW (0x2 << 8)
|
||||||
|
#define TIMER_CTRL_TCM_BOTHEDGES (0x3 << 8)
|
||||||
|
#define TIMER_CTRL_SCPWM (1 << 7)
|
||||||
|
#define TIMER_CTRL_CE (1 << 6) /* compare enable */
|
||||||
|
#define TIMER_CTRL_PRE (1 << 5) /* prescaler enable */
|
||||||
|
#define TIMER_CTRL_POSTED (1 << 2)
|
||||||
|
#define TIMER_CTRL_AR (1 << 1) /* auto-reload enable */
|
||||||
|
#define TIMER_CTRL_ST (1 << 0) /* start timer */
|
||||||
|
|
||||||
|
/* CONTROL_PROG_IO1 bit definitions */
|
||||||
|
#define PRG_SDMMC1_SPEEDCTRL (1 << 20)
|
||||||
|
|
||||||
|
void eth_init(void *);
|
||||||
|
|
||||||
|
#ifdef __VARIANT_A1
|
||||||
|
# define BOOTDEV_SDCARD 0
|
||||||
|
# define BOOTDEV_MOVI 1
|
||||||
|
|
||||||
|
#else
|
||||||
|
# define BOOTDEV_MOVI 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern unsigned char __mmu_table_start;
|
||||||
|
|
||||||
|
/* Fudge kernel bootdevice on A1 if sd card is present:
|
||||||
|
* - root=/dev/mmcblk0p2 if no SD card present OR if booting from SD
|
||||||
|
* - root=/dev/mmcblk1p2 if have SD card and booting from movi
|
||||||
|
*/
|
||||||
|
int kernel_root_num = 0;
|
||||||
|
|
||||||
|
static unsigned char sat_tun = 0;
|
||||||
|
|
||||||
|
/*****************************************
|
||||||
|
* Routine: board_init
|
||||||
|
* Description: Early hardware init.
|
||||||
|
*****************************************/
|
||||||
|
int board_init(void)
|
||||||
|
{
|
||||||
|
detect_boot_mode();
|
||||||
|
|
||||||
|
if (get_device_type() != GP_DEVICE) {
|
||||||
|
set_default_map((uint32_t) &__mmu_table_start);
|
||||||
|
}
|
||||||
|
dcache_enable();
|
||||||
|
|
||||||
|
if (SYSBOOT_MODE_COLD == gd->tomtom.sysboot_mode)
|
||||||
|
/* cold boot => initialize the flipflop, we can't rely on the
|
||||||
|
state of the scratchpad register */
|
||||||
|
flipflop_set(0);
|
||||||
|
|
||||||
|
/* In general, load the kernel from MoviNAND; on A1 the SD slot is useful for recovery */
|
||||||
|
gd->tomtom.bootdev = BOOTDEV_MOVI;
|
||||||
|
|
||||||
|
/* STRBDEV-2049 Reduce the drive strength on the MoviNand signals */
|
||||||
|
__raw_writel(__raw_readl(CONTROL_PROG_IO1) & ~PRG_SDMMC1_SPEEDCTRL, CONTROL_PROG_IO1);
|
||||||
|
|
||||||
|
mmc_init(BOOTDEV_MOVI);
|
||||||
|
#ifdef BOOTDEV_SDCARD
|
||||||
|
kernel_root_num = !mmc_init(BOOTDEV_SDCARD);
|
||||||
|
|
||||||
|
if ((__raw_readl(0x480029c0) & 0xff) == 0x6) { /* Booted from the A1 SD slot? */
|
||||||
|
gd->tomtom.bootdev = BOOTDEV_SDCARD;
|
||||||
|
kernel_root_num = 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Enable GPIO4 clocks FCLK and ICLK */
|
||||||
|
__raw_writel(__raw_readl(CM_FCLKEN_WKUP) | (1 << CLKEN_PER_EN_GPIO2_BIT),
|
||||||
|
CM_FCLKEN_WKUP);
|
||||||
|
__raw_writel(__raw_readl(CM_ICLKEN_WKUP) | (1 << CLKEN_PER_EN_GPIO2_BIT),
|
||||||
|
CM_ICLKEN_WKUP);
|
||||||
|
delay(10000);
|
||||||
|
|
||||||
|
#if !defined(__VARIANT_A1)
|
||||||
|
if (!(__raw_readl(OMAP34XX_GPIO2_BASE + OMAP34XX_GPIO_DATAIN) & GPIO9)) {
|
||||||
|
memcpy(DIAGSYS_ADDR_START, DIAGSYS_ADDR_NOR, DIAGSYS_LEN);
|
||||||
|
memcpy(DEFAULT_FDT_START, DIAGSYS_ADDR_START+DIAGSYS_LEN-DEFAULT_FDT_LEN-512, DEFAULT_FDT_LEN);
|
||||||
|
exec_applet=1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
gpmc_init(); /* in SRAM or SDRAM, finish GPMC */
|
||||||
|
#if defined(__VARIANT_A1)
|
||||||
|
gd->bd->bi_arch_number = MACH_TYPE_STRASBOURG; /* Linux mach id */
|
||||||
|
#else
|
||||||
|
gd->bd->bi_arch_number = MACH_TYPE_STRASBOURG_A2; /* Linux mach id */
|
||||||
|
#endif
|
||||||
|
gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100); /* boot param addr */
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* Routine: dss_init
|
||||||
|
* Description: Initializes the display and fills the
|
||||||
|
framebuffer with the logo.
|
||||||
|
**********************************************************/
|
||||||
|
void dss_init(void)
|
||||||
|
{
|
||||||
|
unsigned long i, y;
|
||||||
|
unsigned long p = 0;
|
||||||
|
unsigned char pixel[3];
|
||||||
|
|
||||||
|
/* Draw logo into frame buffer */
|
||||||
|
for (i = 0; i < header_data_rle_size; i++) {
|
||||||
|
for (y = 0; y < header_data_rle[i][0]; y++) {
|
||||||
|
HEADER_PIXEL(header_data_rle[i][1], pixel);
|
||||||
|
*((unsigned int *)(FRAMEBUFFER_ADDR_START + p*4)) =
|
||||||
|
(pixel[0] << 16) |
|
||||||
|
(pixel[1] << 8) |
|
||||||
|
(pixel[2]);
|
||||||
|
p++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Reset lcd */
|
||||||
|
if (omap_request_gpio(GPIO_nLCD_RESET)) {
|
||||||
|
printf ("Error when requesting nLCD_RESET\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
omap_set_gpio_dataout(GPIO_nLCD_RESET, 0);
|
||||||
|
omap_set_gpio_direction(GPIO_nLCD_RESET, 0);
|
||||||
|
|
||||||
|
/* Enable lcm power */
|
||||||
|
if (omap_request_gpio(GPIO_LCM_PWR_ON)) {
|
||||||
|
printf ("Error when requesting LCM_PWR_ON\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(__VARIANT_B2) || defined(__VARIANT_RENNES_A1) || defined(__VARIANT_RENNES_B1)
|
||||||
|
if (omap_request_gpio(GPIO_SENSE_11V0)) {
|
||||||
|
printf ("Error when requesting LCM_PWR_ON\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
omap_set_gpio_direction(GPIO_SENSE_11V0, 1);
|
||||||
|
omap_set_gpio_dataout(GPIO_LCM_PWR_ON, 0);
|
||||||
|
omap_set_gpio_direction(GPIO_LCM_PWR_ON, 0);
|
||||||
|
for (i = 0; i < SENSE_11V0_MAX_RETRY; i++) {
|
||||||
|
/* attempt to activate LCD power supply */
|
||||||
|
omap_set_gpio_dataout(GPIO_LCM_PWR_ON, 1);
|
||||||
|
/* T8 */
|
||||||
|
delay(600000); /* 2 ms */
|
||||||
|
if (omap_get_gpio_datain(GPIO_SENSE_11V0))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (i == SENSE_11V0_MAX_RETRY)
|
||||||
|
printf("Failed to power on the LCM!!!");
|
||||||
|
#else
|
||||||
|
omap_set_gpio_dataout(GPIO_LCM_PWR_ON, 1);
|
||||||
|
omap_set_gpio_direction(GPIO_LCM_PWR_ON, 0);
|
||||||
|
#endif
|
||||||
|
delay (9000000); /* 30 ms */
|
||||||
|
|
||||||
|
/* Release Reset line */
|
||||||
|
omap_set_gpio_dataout(GPIO_nLCD_RESET, 1);
|
||||||
|
delay (9000000); /* 30 ms */
|
||||||
|
|
||||||
|
/* Setup lcm */
|
||||||
|
writel(0x00000001, 0x48050010);
|
||||||
|
writel(0x00000000, 0x48050040);
|
||||||
|
/* Enable RFBI set in bypass mode */
|
||||||
|
writel(0x00000002, 0x48050840);
|
||||||
|
writel(0x00310000, 0x48050860);
|
||||||
|
/* Config display controller */
|
||||||
|
writel(0x05F05F00, 0x48050464);
|
||||||
|
writel(0x00a00a00, 0x48050468);
|
||||||
|
writel(0x00000000, 0x4805046c);
|
||||||
|
writel(0x00010006, 0x48050470);
|
||||||
|
writel(0x000000ff, 0x48050474);
|
||||||
|
writel(0x00000000, 0x48050478);
|
||||||
|
writel(0x01DF031F, 0x4805047c);
|
||||||
|
writel(FRAMEBUFFER_ADDR_START, 0x48050480);
|
||||||
|
writel(0x01df031f, 0x4805048c);
|
||||||
|
writel(0x000000b1, 0x480504a0);
|
||||||
|
writel(0x03ff03c0, 0x480504a4);
|
||||||
|
writel(0x08018309, 0x48050440);//DISPC_CONTROL enable disp
|
||||||
|
}
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* Routine: config_screen_rotation
|
||||||
|
* Description: Configure the screen rotation based on the
|
||||||
|
EEPROM setting
|
||||||
|
**********************************************************/
|
||||||
|
static void config_screen_rotation(void)
|
||||||
|
{
|
||||||
|
unsigned char fdt_rotation;
|
||||||
|
|
||||||
|
/* Request the rotation GPIOs */
|
||||||
|
if (omap_request_gpio(GPIO_LCD_UD)) {
|
||||||
|
printf ("Error when requesting LCD_UD\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (omap_request_gpio(GPIO_LCD_LR)) {
|
||||||
|
printf ("Error when requesting LCD_LR\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Read the rotation value from EEPROM */
|
||||||
|
select_bus(CFG_I2C_EEPROM_BUS, OMAP_I2C_FAST_MODE);
|
||||||
|
if (eeprom_read (CFG_DEF_EEPROM_ADDR, FDT_SCR_ROT_OFFSET, &fdt_rotation, 1)) {
|
||||||
|
printf("** Error reading screen rotation from EEPROM\n");
|
||||||
|
fdt_rotation = 0;
|
||||||
|
}
|
||||||
|
select_bus(CFG_I2C_BUS, CFG_I2C_SPEED);
|
||||||
|
|
||||||
|
/* Set the rotation GPIOs accordingly */
|
||||||
|
if (fdt_rotation == '1') {
|
||||||
|
omap_set_gpio_dataout(GPIO_LCD_UD, 0);
|
||||||
|
omap_set_gpio_dataout(GPIO_LCD_LR, 1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
omap_set_gpio_dataout(GPIO_LCD_UD, 1);
|
||||||
|
omap_set_gpio_dataout(GPIO_LCD_LR, 0);
|
||||||
|
}
|
||||||
|
omap_set_gpio_direction(GPIO_LCD_UD, 0);
|
||||||
|
omap_set_gpio_direction(GPIO_LCD_LR, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static unsigned char vcom_to_pwmaoff_rennes_b1(unsigned char vcom)
|
||||||
|
{
|
||||||
|
unsigned char pwmaoff;
|
||||||
|
|
||||||
|
if (vcom >= 0x80)
|
||||||
|
pwmaoff = 0x3f;
|
||||||
|
else if (vcom == 0x7f)
|
||||||
|
pwmaoff = 0x01;
|
||||||
|
else if (vcom == 0x00)
|
||||||
|
pwmaoff = 0x00;
|
||||||
|
else
|
||||||
|
pwmaoff = vcom + 1;
|
||||||
|
|
||||||
|
return pwmaoff;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void config_screen_vcom_rennes_b1(void)
|
||||||
|
{
|
||||||
|
unsigned char vcom, data;
|
||||||
|
|
||||||
|
/* Read the vcom value from EEPROM */
|
||||||
|
select_bus(CFG_I2C_EEPROM_BUS, OMAP_I2C_FAST_MODE);
|
||||||
|
if (eeprom_read (CFG_DEF_EEPROM_ADDR, FDT_SCR_VCOM_OFFSET, &vcom, 1)) {
|
||||||
|
printf("** Error reading screen VCOM from EEPROM\n");
|
||||||
|
vcom = 0xff;
|
||||||
|
}
|
||||||
|
select_bus(CFG_I2C_BUS, CFG_I2C_SPEED);
|
||||||
|
|
||||||
|
/* clear VIBRA_CTL[0] - VIBRA_EN */
|
||||||
|
i2c_read(0x49, 0x45, 1, &data, 1);
|
||||||
|
data &= ~1;
|
||||||
|
i2c_write(0x49, 0x45, 1, &data, 1);
|
||||||
|
|
||||||
|
/* set LEDEN[0] - LEDAON */
|
||||||
|
i2c_read(0x4a, 0xee, 1, &data, 1);
|
||||||
|
data |= 1;
|
||||||
|
i2c_write(0x4a, 0xee, 1, &data, 1);
|
||||||
|
|
||||||
|
/* set LEDEN[4] - LEDAPWM */
|
||||||
|
i2c_read(0x4a, 0xee, 1, &data, 1);
|
||||||
|
data |= (1 << 4);
|
||||||
|
i2c_write(0x4a, 0xee, 1, &data, 1);
|
||||||
|
|
||||||
|
/* clear LEDEN[2] - LEDAEXT */
|
||||||
|
i2c_read(0x4a, 0xee, 1, &data, 1);
|
||||||
|
data &= ~(1 << 2);
|
||||||
|
i2c_write(0x4a, 0xee, 1, &data, 1);
|
||||||
|
|
||||||
|
/* set PWMAON */
|
||||||
|
data = 1;
|
||||||
|
i2c_write(0x4a, 0xef, 1, &data, 1);
|
||||||
|
|
||||||
|
/* set PWMAOFF */
|
||||||
|
data = vcom_to_pwmaoff_rennes_b1(vcom);
|
||||||
|
i2c_write(0x4a, 0xf0, 1, &data, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void switch_on_bl_pmic_pwm(void)
|
||||||
|
{
|
||||||
|
unsigned char data;
|
||||||
|
|
||||||
|
/* PWM0ON */
|
||||||
|
data = 0x2;
|
||||||
|
i2c_write(0x4a, 0xF8, 1, &data, 1);
|
||||||
|
/* PWM0OFF */
|
||||||
|
data = 0x44;
|
||||||
|
i2c_write(0x4a, 0xF9, 1, &data, 1);
|
||||||
|
/* PMBR1 */
|
||||||
|
i2c_read(0x49, 0x92, 1, &data, 1);
|
||||||
|
data |= (1<<2);
|
||||||
|
i2c_write(0x49, 0x92, 1, &data, 1);
|
||||||
|
/* GPBR1 */
|
||||||
|
i2c_read(0x49, 0x91, 1, &data, 1);
|
||||||
|
data |= ((1<<2) | (1));
|
||||||
|
i2c_write(0x49, 0x91, 1, &data, 1);
|
||||||
|
|
||||||
|
/* Set GPIO13 (BL enable) output high*/
|
||||||
|
data = 0x0;
|
||||||
|
i2c_read(0x49, 0x9c, 1, &data, 1);
|
||||||
|
data |= 0x20;
|
||||||
|
i2c_write(0x49, 0x9c, 1, &data, 1);
|
||||||
|
data = 0x0;
|
||||||
|
i2c_read(0x49, 0x9f, 1, &data, 1);
|
||||||
|
data |= 0x20;
|
||||||
|
i2c_write(0x49, 0x9f, 1, &data, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void switch_on_bl_omap_pwm(void)
|
||||||
|
{
|
||||||
|
/* Configure GPT10 source (1: sys_clk, 0: 32K_clk) */
|
||||||
|
sr32(CM_CLKSEL_CORE, 6, 1, 1);
|
||||||
|
|
||||||
|
/* TSICR register: non-posted mode */
|
||||||
|
writel(0x0, OMAP34XX_GPTIMER10_BASE + TSICR);
|
||||||
|
|
||||||
|
/* Timer load register */
|
||||||
|
writel(0xfffcd37e, OMAP34XX_GPTIMER10_BASE + TLDR);
|
||||||
|
|
||||||
|
/* Trigger register */
|
||||||
|
writel(0x0, OMAP34XX_GPTIMER10_BASE + TTGR);
|
||||||
|
|
||||||
|
/* Match register */
|
||||||
|
writel(0xfffdc5a7, OMAP34XX_GPTIMER10_BASE + TMAR);
|
||||||
|
|
||||||
|
/* Timer counter register */
|
||||||
|
writel(0xfffffffe, OMAP34XX_GPTIMER10_BASE + TCRR);
|
||||||
|
|
||||||
|
/* Start the timer */
|
||||||
|
writel(TIMER_CTRL_ST | TIMER_CTRL_AR | TIMER_CTRL_CE |
|
||||||
|
TIMER_CTRL_PT | TIMER_CTRL_TRG_OVERFLOW_MATCH,
|
||||||
|
OMAP34XX_GPTIMER10_BASE + TCLR);
|
||||||
|
|
||||||
|
/* Enable the backlight */
|
||||||
|
if (omap_request_gpio(GPIO_BACKLIGHT_ON)) {
|
||||||
|
printf ("Error when requesting BACKLIGHT_ON gpio\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
omap_set_gpio_dataout(GPIO_BACKLIGHT_ON, 1);
|
||||||
|
omap_set_gpio_direction(GPIO_BACKLIGHT_ON, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void switch_on_bl_omap_pwm_rennes_b1(void)
|
||||||
|
{
|
||||||
|
unsigned char data;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* switch off VDD_1V8_AUX2 so to hide the otherwise visible
|
||||||
|
* white flash on reboot
|
||||||
|
*/
|
||||||
|
i2c_read(0x4b, 0x76, 1, &data, 1);
|
||||||
|
data &= ~0x20;
|
||||||
|
i2c_write(0x4b, 0x76, 1, &data, 1);
|
||||||
|
|
||||||
|
/* Configure the screen VCOM based on the EEPROM value */
|
||||||
|
config_screen_vcom_rennes_b1();
|
||||||
|
|
||||||
|
/* continue with the usual omap pwm configuration */
|
||||||
|
switch_on_bl_omap_pwm();
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct mfd_feat bl_feats[] = {
|
||||||
|
MFD_1_0_A2(switch_on_bl_pmic_pwm),
|
||||||
|
MFD_1_0_B1(switch_on_bl_pmic_pwm),
|
||||||
|
MFD_1_0_B2(switch_on_bl_omap_pwm),
|
||||||
|
MFD_1_05(switch_on_bl_omap_pwm),
|
||||||
|
MFD_1_1(switch_on_bl_omap_pwm_rennes_b1),
|
||||||
|
MFD_2_0(switch_on_bl_omap_pwm_rennes_b1),
|
||||||
|
MFD_DEFAULT(NULL),
|
||||||
|
};
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* Routine: switch_on_bl
|
||||||
|
* Description: Switches on the display backlight
|
||||||
|
**********************************************************/
|
||||||
|
static void switch_on_bl(void)
|
||||||
|
{
|
||||||
|
void (*switch_mfd_bl)(void) = mfd_feature(bl_feats);
|
||||||
|
|
||||||
|
/* Configure the screen rotation based on the EEPROM value */
|
||||||
|
config_screen_rotation();
|
||||||
|
|
||||||
|
if (switch_mfd_bl)
|
||||||
|
switch_mfd_bl();
|
||||||
|
|
||||||
|
/* Print out APTS tag */
|
||||||
|
printf ("\n[APTS Logo/]\n\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void detect_sat_tuner_stuttgart_b1(void)
|
||||||
|
{
|
||||||
|
select_bus(CFG_I2C_EEPROM_BUS, OMAP_I2C_FAST_MODE);
|
||||||
|
if (eeprom_read(CFG_DEF_EEPROM_ADDR, EOL_SAT_TUN_OFFSET, &sat_tun, 1))
|
||||||
|
printf("** Error reading Diags_conf_13 Satellite Tuner\n");
|
||||||
|
select_bus(CFG_I2C_BUS, CFG_I2C_SPEED);
|
||||||
|
|
||||||
|
/* check bit 2 (SAT_CNF) */
|
||||||
|
sat_tun = (sat_tun != 0xff) && (sat_tun & 0x4);
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct mfd_feat sat_tun_feats[] = {
|
||||||
|
MFD_2_0(detect_sat_tuner_stuttgart_b1),
|
||||||
|
MFD_DEFAULT(NULL),
|
||||||
|
};
|
||||||
|
|
||||||
|
/*******************************************************
|
||||||
|
* Routine: misc_init_r
|
||||||
|
* Description: Init ethernet (done here so udelay works)
|
||||||
|
********************************************************/
|
||||||
|
int misc_init_r(void)
|
||||||
|
{
|
||||||
|
void (*detect_mfd_sat_tun)(void) = mfd_feature(sat_tun_feats);
|
||||||
|
|
||||||
|
#ifdef CONFIG_DRIVER_OMAP34XX_I2C
|
||||||
|
unsigned char data;
|
||||||
|
|
||||||
|
i2c_init(CFG_I2C_SPEED, CFG_I2C_SLAVE);
|
||||||
|
|
||||||
|
twl4030_usb_init();
|
||||||
|
|
||||||
|
/* Disable the PMU watchdog. The main SoC watchdog
|
||||||
|
* is enabled by this time */
|
||||||
|
data = 0;
|
||||||
|
i2c_write(0x4b, 0x5e, 1, &data, 1);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (detect_mfd_sat_tun)
|
||||||
|
detect_mfd_sat_tun();
|
||||||
|
|
||||||
|
switch_on_bl();
|
||||||
|
dieid_num_r();
|
||||||
|
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* IEN - Input Enable
|
||||||
|
* IDIS - Input Disable
|
||||||
|
* PTD - Pull type Down
|
||||||
|
* PTU - Pull type Up
|
||||||
|
* DIS - Pull type selection is inactive
|
||||||
|
* EN - Pull type selection is active
|
||||||
|
* M0 - Mode 0
|
||||||
|
* The commented string gives the final mux configuration for that pin
|
||||||
|
*/
|
||||||
|
#define MUX_DEFAULT_ES2()\
|
||||||
|
/*Die to Die */\
|
||||||
|
MUX_VAL(CP(d2d_mcad0), (IEN | PTD | EN | M0)) /*d2d_mcad0*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad1), (IEN | PTD | EN | M0)) /*d2d_mcad1*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad2), (IEN | PTD | EN | M0)) /*d2d_mcad2*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad3), (IEN | PTD | EN | M0)) /*d2d_mcad3*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad4), (IEN | PTD | EN | M0)) /*d2d_mcad4*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad5), (IEN | PTD | EN | M0)) /*d2d_mcad5*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad6), (IEN | PTD | EN | M0)) /*d2d_mcad6*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad7), (IEN | PTD | EN | M0)) /*d2d_mcad7*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad8), (IEN | PTD | EN | M0)) /*d2d_mcad8*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad9), (IEN | PTD | EN | M0)) /*d2d_mcad9*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad10), (IEN | PTD | EN | M0)) /*d2d_mcad10*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad11), (IEN | PTD | EN | M0)) /*d2d_mcad11*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad12), (IEN | PTD | EN | M0)) /*d2d_mcad12*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad13), (IEN | PTD | EN | M0)) /*d2d_mcad13*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad14), (IEN | PTD | EN | M0)) /*d2d_mcad14*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad15), (IEN | PTD | EN | M0)) /*d2d_mcad15*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad16), (IEN | PTD | EN | M0)) /*d2d_mcad16*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad17), (IEN | PTD | EN | M0)) /*d2d_mcad17*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad18), (IEN | PTD | EN | M0)) /*d2d_mcad18*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad19), (IEN | PTD | EN | M0)) /*d2d_mcad19*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad20), (IEN | PTD | EN | M0)) /*d2d_mcad20*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad21), (IEN | PTD | EN | M0)) /*d2d_mcad21*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad22), (IEN | PTD | EN | M0)) /*d2d_mcad22*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad23), (IEN | PTD | EN | M0)) /*d2d_mcad23*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad24), (IEN | PTD | EN | M0)) /*d2d_mcad24*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad25), (IEN | PTD | EN | M0)) /*d2d_mcad25*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad26), (IEN | PTD | EN | M0)) /*d2d_mcad26*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad27), (IEN | PTD | EN | M0)) /*d2d_mcad27*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad28), (IEN | PTD | EN | M0)) /*d2d_mcad28*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad29), (IEN | PTD | EN | M0)) /*d2d_mcad29*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad30), (IEN | PTD | EN | M0)) /*d2d_mcad30*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad31), (IEN | PTD | EN | M0)) /*d2d_mcad31*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad32), (IEN | PTD | EN | M0)) /*d2d_mcad32*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad33), (IEN | PTD | EN | M0)) /*d2d_mcad33*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad34), (IEN | PTD | EN | M0)) /*d2d_mcad34*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad35), (IEN | PTD | EN | M0)) /*d2d_mcad35*/\
|
||||||
|
MUX_VAL(CP(d2d_mcad36), (IEN | PTD | EN | M0)) /*d2d_mcad36*/\
|
||||||
|
MUX_VAL(CP(d2d_clk26mi), (IEN | PTD | DIS | M0)) /*d2d_clk26mi */\
|
||||||
|
MUX_VAL(CP(d2d_nrespwron ), (IEN | PTD | EN | M0)) /*d2d_nrespwron*/\
|
||||||
|
MUX_VAL(CP(d2d_nreswarm), (IEN | PTU | EN | M0)) /*d2d_nreswarm */\
|
||||||
|
MUX_VAL(CP(d2d_arm9nirq), (IEN | PTD | DIS | M0)) /*d2d_arm9nirq */\
|
||||||
|
MUX_VAL(CP(d2d_uma2p6fiq ), (IEN | PTD | DIS | M0)) /*d2d_uma2p6fiq*/\
|
||||||
|
MUX_VAL(CP(d2d_spint), (IEN | PTD | EN | M0)) /*d2d_spint*/\
|
||||||
|
MUX_VAL(CP(d2d_frint), (IEN | PTD | EN | M0)) /*d2d_frint*/\
|
||||||
|
MUX_VAL(CP(d2d_dmareq0), (IEN | PTD | DIS | M0)) /*d2d_dmareq0 */\
|
||||||
|
MUX_VAL(CP(d2d_dmareq1), (IEN | PTD | DIS | M0)) /*d2d_dmareq1 */\
|
||||||
|
MUX_VAL(CP(d2d_dmareq2), (IEN | PTD | DIS | M0)) /*d2d_dmareq2 */\
|
||||||
|
MUX_VAL(CP(d2d_dmareq3), (IEN | PTD | DIS | M0)) /*d2d_dmareq3 */\
|
||||||
|
MUX_VAL(CP(d2d_n3gtrst), (IEN | PTD | DIS | M0)) /*d2d_n3gtrst */\
|
||||||
|
MUX_VAL(CP(d2d_n3gtdi), (IEN | PTD | DIS | M0)) /*d2d_n3gtdi*/\
|
||||||
|
MUX_VAL(CP(d2d_n3gtdo), (IEN | PTD | DIS | M0)) /*d2d_n3gtdo*/\
|
||||||
|
MUX_VAL(CP(d2d_n3gtms), (IEN | PTD | DIS | M0)) /*d2d_n3gtms*/\
|
||||||
|
MUX_VAL(CP(d2d_n3gtck), (IEN | PTD | DIS | M0)) /*d2d_n3gtck*/\
|
||||||
|
MUX_VAL(CP(d2d_n3grtck), (IEN | PTD | DIS | M0)) /*d2d_n3grtck */\
|
||||||
|
MUX_VAL(CP(d2d_mstdby), (IEN | PTU | EN | M0)) /*d2d_mstdby*/\
|
||||||
|
MUX_VAL(CP(d2d_swakeup), (IEN | PTD | EN | M0)) /*d2d_swakeup */\
|
||||||
|
MUX_VAL(CP(d2d_idlereq), (IEN | PTD | DIS | M0)) /*d2d_idlereq */\
|
||||||
|
MUX_VAL(CP(d2d_idleack), (IEN | PTU | EN | M0)) /*d2d_idleack */\
|
||||||
|
MUX_VAL(CP(d2d_mwrite), (IEN | PTD | DIS | M0)) /*d2d_mwrite*/\
|
||||||
|
MUX_VAL(CP(d2d_swrite), (IEN | PTD | DIS | M0)) /*d2d_swrite*/\
|
||||||
|
MUX_VAL(CP(d2d_mread), (IEN | PTD | DIS | M0)) /*d2d_mread*/\
|
||||||
|
MUX_VAL(CP(d2d_sread), (IEN | PTD | DIS | M0)) /*d2d_sread*/\
|
||||||
|
MUX_VAL(CP(d2d_mbusflag), (IEN | PTD | DIS | M0)) /*d2d_mbusflag */\
|
||||||
|
MUX_VAL(CP(d2d_sbusflag), (IEN | PTD | DIS | M0)) /*d2d_sbusflag */\
|
||||||
|
MUX_VAL(CP(sdrc_cke0), (IDIS | PTU | EN | M0)) /*sdrc_cke0 */\
|
||||||
|
MUX_VAL(CP(sdrc_cke1), (IDIS | PTD | DIS | M7)) /*sdrc_cke1 unused*/
|
||||||
|
|
||||||
|
/**********************************************************
|
||||||
|
* Routine: set_muxconf_regs
|
||||||
|
* Description: Setting up the configuration Mux registers
|
||||||
|
* specific to the hardware. Many pins need
|
||||||
|
* to be moved from protect to primary mode.
|
||||||
|
*********************************************************/
|
||||||
|
void set_muxconf_regs(void)
|
||||||
|
{
|
||||||
|
PADCONFIG_SETTINGS_UBOOT
|
||||||
|
PADCONFIG_SETTINGS_COMMON
|
||||||
|
MUX_DEFAULT_ES2();
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* Routine: update_mux()
|
||||||
|
* Description:Update balls which are different between boards. All should be
|
||||||
|
* updated to match functionality. However, I'm only updating ones
|
||||||
|
* which I'll be using for now. When power comes into play they
|
||||||
|
* all need updating.
|
||||||
|
*****************************************************************************/
|
||||||
|
void update_mux(u32 btype, u32 mtype)
|
||||||
|
{
|
||||||
|
/* NOTHING as of now... */
|
||||||
|
}
|
||||||
|
|
||||||
|
void board_env_init(void)
|
||||||
|
{
|
||||||
|
char ulong_str[16]; /* Needs to be as long as "0x12345678" + '\0' */
|
||||||
|
|
||||||
|
/* Replace with factory data when available */
|
||||||
|
switch(gd->bd->bi_arch_number) {
|
||||||
|
case MACH_TYPE_STRASBOURG_A2:
|
||||||
|
setenv("kernel.console", "ttyO2");
|
||||||
|
break;
|
||||||
|
case MACH_TYPE_STRASBOURG:
|
||||||
|
default:
|
||||||
|
setenv("kernel.console", "ttyO0");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* disable the console in case of satellite tuner */
|
||||||
|
if (sat_tun) {
|
||||||
|
printf("## Silent boot due to SAT_CNF\n\n");
|
||||||
|
setenv("kernel.console", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
sprintf(ulong_str, "%u", kernel_root_num);
|
||||||
|
setenv("kernel.root.num", ulong_str);
|
||||||
|
|
||||||
|
sprintf(ulong_str, "%#lx", (unsigned long) DIAGSYS_ADDR_START);
|
||||||
|
setenv("applet.addr", ulong_str);
|
||||||
|
|
||||||
|
if (exec_applet) {
|
||||||
|
sprintf(ulong_str, "%u", DIAGSYS_LEN-44); /* 44 byte DSA sig at end */
|
||||||
|
setenv("applet.size", ulong_str);
|
||||||
|
|
||||||
|
sprintf(ulong_str, "%lx", DEFAULT_FDT_START);
|
||||||
|
setenv("fdt.default.addr", ulong_str);
|
||||||
|
|
||||||
|
setenv("exec_applet", "yes");
|
||||||
|
} else {
|
||||||
|
setenv("exec_applet", "no");
|
||||||
|
}
|
||||||
|
}
|
||||||
118
board/tomtom/strasbourg/u-boot.lds
Normal file
118
board/tomtom/strasbourg/u-boot.lds
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
/*
|
||||||
|
* January 2004 - Changed to support H4 device
|
||||||
|
* Copyright (c) 2004 Texas Instruments
|
||||||
|
*
|
||||||
|
* (C) Copyright 2002
|
||||||
|
* Gary Jennejohn, DENX Software Engineering, <gj@denx.de>
|
||||||
|
*
|
||||||
|
* See file CREDITS for list of people who contributed to this
|
||||||
|
* project.
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
||||||
|
OUTPUT_ARCH(arm)
|
||||||
|
ENTRY(_start)
|
||||||
|
SECTIONS
|
||||||
|
{
|
||||||
|
. = 0x00000000;
|
||||||
|
|
||||||
|
/* NOBITS section to contain the kernel */
|
||||||
|
. = 0x80008000;
|
||||||
|
.xkern . (COPY) :
|
||||||
|
{
|
||||||
|
__xkern_start = .;
|
||||||
|
. = . + 8M;
|
||||||
|
__xkern_end = .;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text :
|
||||||
|
{
|
||||||
|
cpu/omap3/start.o (.text)
|
||||||
|
*(.text)
|
||||||
|
}
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
.rodata : { *(.rodata) }
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
.data : { *(.data) }
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
.bootscript : { *(.bootscript) }
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
.got : { *(.got) }
|
||||||
|
|
||||||
|
__u_boot_cmd_start = .;
|
||||||
|
.u_boot_cmd : { *(.u_boot_cmd) }
|
||||||
|
__u_boot_cmd_end = .;
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
__bss_start = .;
|
||||||
|
.bss : { *(.bss) }
|
||||||
|
. = ALIGN(4);
|
||||||
|
_end = .;
|
||||||
|
|
||||||
|
/* NOBITS section to contain the MMU page table */
|
||||||
|
. = ALIGN(0x4000);
|
||||||
|
.mmu_table . (COPY) :
|
||||||
|
{
|
||||||
|
__mmu_table_start = .;
|
||||||
|
. = . + 16K; /* ARM page table is always 16K */
|
||||||
|
}
|
||||||
|
|
||||||
|
. = 0x83300000;
|
||||||
|
/* NOBITS section to contain the FDT */
|
||||||
|
.fdt . (COPY) :
|
||||||
|
{
|
||||||
|
__fdt_start = .;
|
||||||
|
. = . + 128K; /* Max FDT len is 128K */
|
||||||
|
__fdt_end = .;
|
||||||
|
}
|
||||||
|
|
||||||
|
. = ALIGN(128);
|
||||||
|
/* NOBITS section to contain the kernel */
|
||||||
|
.kern . (COPY) :
|
||||||
|
{
|
||||||
|
. = . + 16K; /* For the decompressor page table */
|
||||||
|
__kern_start = .;
|
||||||
|
. = . + 4M;
|
||||||
|
__kern_end = .;
|
||||||
|
}
|
||||||
|
|
||||||
|
. = 0x82000000;
|
||||||
|
.diagsys . (COPY) :
|
||||||
|
{
|
||||||
|
__diagsys_start = .;
|
||||||
|
. = . + 1M;
|
||||||
|
__diagsys_end = .;
|
||||||
|
}
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
|
||||||
|
. = 0x83000000;
|
||||||
|
.framebuffer . (COPY) :
|
||||||
|
{
|
||||||
|
__framebuffer_start = .;
|
||||||
|
. = . + 3M;
|
||||||
|
__framebuffer_end = .;
|
||||||
|
}
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
}
|
||||||
|
|
||||||
1933
common/cmd_bootm.c
1933
common/cmd_bootm.c
File diff suppressed because it is too large
Load Diff
@ -128,12 +128,6 @@ typedef enum {
|
|||||||
|
|
||||||
#define SDP_SDRC_MR_0_DDR 0x00000032
|
#define SDP_SDRC_MR_0_DDR 0x00000032
|
||||||
|
|
||||||
#ifdef CONFIG_STRASBOURG
|
|
||||||
#define SDP_SDRC_EMR2_0_DDR 0x00000020
|
|
||||||
#else
|
|
||||||
#define SDP_SDRC_EMR2_0_DDR 0x00000000
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* optimized timings good for current shipping parts */
|
/* optimized timings good for current shipping parts */
|
||||||
#define SDP_3430_SDRC_RFR_CTRL_100MHz 0x0002da01
|
#define SDP_3430_SDRC_RFR_CTRL_100MHz 0x0002da01
|
||||||
#define SDP_3430_SDRC_RFR_CTRL_133MHz 0x0003de01 /* 7.8us/7.5ns - 50=0x3de */
|
#define SDP_3430_SDRC_RFR_CTRL_133MHz 0x0003de01 /* 7.8us/7.5ns - 50=0x3de */
|
||||||
@ -261,7 +255,7 @@ typedef enum {
|
|||||||
#elif defined(CONFIG_3430ZOOM2_512M) ||\
|
#elif defined(CONFIG_3430ZOOM2_512M) ||\
|
||||||
defined(CONFIG_3630ZOOM3) || defined(CONFIG_3630SDP)\
|
defined(CONFIG_3630ZOOM3) || defined(CONFIG_3630SDP)\
|
||||||
|| defined(CONFIG_3630SDP_1G) || defined(CONFIG_3630ZOOM3_1G) \
|
|| defined(CONFIG_3630SDP_1G) || defined(CONFIG_3630ZOOM3_1G) \
|
||||||
|| defined(CONFIG_3730OVERO) || (defined(CONFIG_STRASBOURG) && defined(DDR_MT46H64M32))
|
|| defined(CONFIG_3730OVERO)
|
||||||
|
|
||||||
/* Hynix part of 3430 Zoom2 (166MHz optimized) 6.02ns
|
/* Hynix part of 3430 Zoom2 (166MHz optimized) 6.02ns
|
||||||
* ACTIMA
|
* ACTIMA
|
||||||
@ -454,25 +448,25 @@ typedef enum {
|
|||||||
# define SDP_SDRC_ACTIM_CTRLA_0 V_ACTIMA_100
|
# define SDP_SDRC_ACTIM_CTRLA_0 V_ACTIMA_100
|
||||||
# define SDP_SDRC_ACTIM_CTRLB_0 V_ACTIMB_100
|
# define SDP_SDRC_ACTIM_CTRLB_0 V_ACTIMB_100
|
||||||
# if !defined(SDP_SDRC_RFR_CTRL)
|
# if !defined(SDP_SDRC_RFR_CTRL)
|
||||||
# define SDP_SDRC_RFR_CTRL SDP_3430_SDRC_RFR_CTRL_100MHz
|
# define SDP_SDRC_RFR_CTRL SDP_3430_SDRC_RFR_CTRL_100MHz
|
||||||
# endif
|
# endif
|
||||||
#elif defined(L3_133MHZ)
|
#elif defined(L3_133MHZ)
|
||||||
# define SDP_SDRC_ACTIM_CTRLA_0 V_ACTIMA_133
|
# define SDP_SDRC_ACTIM_CTRLA_0 V_ACTIMA_133
|
||||||
# define SDP_SDRC_ACTIM_CTRLB_0 V_ACTIMB_133
|
# define SDP_SDRC_ACTIM_CTRLB_0 V_ACTIMB_133
|
||||||
# if !defined(SDP_SDRC_RFR_CTRL)
|
# if !defined(SDP_SDRC_RFR_CTRL)
|
||||||
# define SDP_SDRC_RFR_CTRL SDP_3430_SDRC_RFR_CTRL_133MHz
|
# define SDP_SDRC_RFR_CTRL SDP_3430_SDRC_RFR_CTRL_133MHz
|
||||||
# endif
|
# endif
|
||||||
#elif defined(L3_165MHZ)
|
#elif defined(L3_165MHZ)
|
||||||
# define SDP_SDRC_ACTIM_CTRLA_0 V_ACTIMA_165
|
# define SDP_SDRC_ACTIM_CTRLA_0 V_ACTIMA_165
|
||||||
# define SDP_SDRC_ACTIM_CTRLB_0 V_ACTIMB_165
|
# define SDP_SDRC_ACTIM_CTRLB_0 V_ACTIMB_165
|
||||||
# if !defined(SDP_SDRC_RFR_CTRL)
|
# if !defined(SDP_SDRC_RFR_CTRL)
|
||||||
# define SDP_SDRC_RFR_CTRL SDP_3430_SDRC_RFR_CTRL_165MHz
|
# define SDP_SDRC_RFR_CTRL SDP_3430_SDRC_RFR_CTRL_165MHz
|
||||||
# endif
|
# endif
|
||||||
#elif defined(L3_200MHZ)
|
#elif defined(L3_200MHZ)
|
||||||
# define SDP_SDRC_ACTIM_CTRLA_0 V_ACTIMA_200
|
# define SDP_SDRC_ACTIM_CTRLA_0 V_ACTIMA_200
|
||||||
# define SDP_SDRC_ACTIM_CTRLB_0 V_ACTIMB_200
|
# define SDP_SDRC_ACTIM_CTRLB_0 V_ACTIMB_200
|
||||||
# if !defined(SDP_SDRC_RFR_CTRL)
|
# if !defined(SDP_SDRC_RFR_CTRL)
|
||||||
# define SDP_SDRC_RFR_CTRL ZOOM3_3630_RFR_CTRL_200MHz
|
# define SDP_SDRC_RFR_CTRL ZOOM3_3630_RFR_CTRL_200MHz
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
27
include/configs/rennes_b1-debug.h
Normal file
27
include/configs/rennes_b1-debug.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* DEBUG Configuration for Strasbourg
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 TomTom International B.V.
|
||||||
|
*
|
||||||
|
************************************************************************
|
||||||
|
* 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.
|
||||||
|
************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CONFIG_DEBUG_BUILD
|
||||||
|
#include "rennes_b1.h"
|
||||||
|
|
||||||
|
/* EOF */
|
||||||
42
include/configs/rennes_b1.h
Normal file
42
include/configs/rennes_b1.h
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* U-Boot configuration for Strasbourg
|
||||||
|
*
|
||||||
|
* Copyright (C) 2010 TomTom International B.V.
|
||||||
|
*
|
||||||
|
************************************************************************
|
||||||
|
* 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.
|
||||||
|
************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __BOARD_CONFIG_H
|
||||||
|
#define __BOARD_CONFIG_H
|
||||||
|
|
||||||
|
#define __VARIANT_RENNES_B1
|
||||||
|
//#define CFG_NS16550_COM1 OMAP34XX_UART1
|
||||||
|
//#define CFG_NS16550_COM2 OMAP34XX_UART2
|
||||||
|
#define CFG_NS16550_COM3 OMAP34XX_UART3
|
||||||
|
|
||||||
|
/* select serial console configuration */
|
||||||
|
#define CONFIG_SERIAL3 3
|
||||||
|
#define CONFIG_CONS_INDEX 3
|
||||||
|
|
||||||
|
/* DDR chip */
|
||||||
|
#define DDR_MT46H128M16
|
||||||
|
|
||||||
|
#include "strasbourg_core.h"
|
||||||
|
|
||||||
|
#endif /* __BOARD_CONFIG_H */
|
||||||
|
|
||||||
27
include/configs/stuttgart_b1-debug.h
Normal file
27
include/configs/stuttgart_b1-debug.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* DEBUG Configuration for Stuttgart
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 TomTom International B.V.
|
||||||
|
*
|
||||||
|
************************************************************************
|
||||||
|
* 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.
|
||||||
|
************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CONFIG_DEBUG_BUILD
|
||||||
|
#include "stuttgart_b1.h"
|
||||||
|
|
||||||
|
/* EOF */
|
||||||
43
include/configs/stuttgart_b1.h
Normal file
43
include/configs/stuttgart_b1.h
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* U-Boot configuration for Stuttgart
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 TomTom International B.V.
|
||||||
|
*
|
||||||
|
************************************************************************
|
||||||
|
* 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.
|
||||||
|
************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __BOARD_CONFIG_H
|
||||||
|
#define __BOARD_CONFIG_H
|
||||||
|
|
||||||
|
#define __VARIANT_STUTTGART_B1
|
||||||
|
#define __VARIANT_RENNES_B1
|
||||||
|
//#define CFG_NS16550_COM1 OMAP34XX_UART1
|
||||||
|
//#define CFG_NS16550_COM2 OMAP34XX_UART2
|
||||||
|
#define CFG_NS16550_COM3 OMAP34XX_UART3
|
||||||
|
|
||||||
|
/* select serial console configuration */
|
||||||
|
#define CONFIG_SERIAL3 3
|
||||||
|
#define CONFIG_CONS_INDEX 3
|
||||||
|
|
||||||
|
/* DDR chip */
|
||||||
|
#define DDR_MT46H128M16
|
||||||
|
|
||||||
|
#include "strasbourg_core.h"
|
||||||
|
|
||||||
|
#endif /* __BOARD_CONFIG_H */
|
||||||
|
|
||||||
191
include/linux/padconfig_common.h
Normal file
191
include/linux/padconfig_common.h
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2009 TomTom BV <http://www.tomtom.com/>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PADCONFIG_COMMON_H
|
||||||
|
#define PADCONFIG_COMMON_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* INFO: this file was created to clean up the mux config settings which were
|
||||||
|
* at the time of the creation of this file in the x-loader, u-boot and kernel.
|
||||||
|
* All modules initialized all PADCONFIG. This ofcourse is overdone, but besides
|
||||||
|
* being initialized three times, all the settings were defined three times,
|
||||||
|
* using different defines each time. This modules first step will be to make
|
||||||
|
* one single table with all the PADCONFIG configuration which can be used in
|
||||||
|
* all three modules.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* To keep the names short: PC = PADCONF */
|
||||||
|
|
||||||
|
/* First the defines which allow the table to be mapped to the header files */
|
||||||
|
/* from TI. These defines have to be copied into the module using this table */
|
||||||
|
/* So all following defines are between #if 0 and #endif statement but should */
|
||||||
|
/* not be removed. */
|
||||||
|
|
||||||
|
/********************************************/
|
||||||
|
/************* SAMPLE DEFINES ***************/
|
||||||
|
/********************************************/
|
||||||
|
#if 0
|
||||||
|
/*********** BIT DEFINES, never used, just for info, but could be used :-) ****/
|
||||||
|
#define PC_MODE0 (0 << 0)
|
||||||
|
#define PC_MODE1 (1 << 0)
|
||||||
|
#define PC_MODE2 (2 << 0)
|
||||||
|
#define PC_MODE3 (3 << 0)
|
||||||
|
#define PC_MODE4 (4 << 0)
|
||||||
|
#define PC_MODE5 (5 << 0)
|
||||||
|
#define PC_MODE6 (6 << 0)
|
||||||
|
#define PC_MODE7 (7 << 0)
|
||||||
|
|
||||||
|
#define PC_INPUT (1 << 8)
|
||||||
|
#define PC_OUTPUT (0 << 8)
|
||||||
|
|
||||||
|
#define PC_PULL_ENA (1 << 3)
|
||||||
|
#define PC_PULL_DIS (0 << 3)
|
||||||
|
|
||||||
|
#define PC_PULL_UP (1 << 4)
|
||||||
|
#define PC_PULL_DOWN (0 << 4)
|
||||||
|
/********************************************/
|
||||||
|
/*********** END SAMPLE DEFINES *************/
|
||||||
|
/********************************************/
|
||||||
|
#endif // 0
|
||||||
|
|
||||||
|
/*********** BOOTLOADER/U-BOOT, used in case of bootloader or u-boot **********/
|
||||||
|
#ifdef BOOTLOADER_UBOOT_PADCONFIG
|
||||||
|
|
||||||
|
/* Brilliantly enough the naming of the PADs are different between the */
|
||||||
|
/* x-loader and kernel. So we use defines to overcome the problem */
|
||||||
|
|
||||||
|
#define CONTROL_PADCONF_SYS_NIRQ CONTROL_PADCONF_SYS_nIRQ
|
||||||
|
#define CONTROL_PADCONF_SYS_NRESWARM 0x0A08
|
||||||
|
#define CONTROL_PADCONF_MCBSP3_CLKX CONTROL_PADCONF_McBSP3_CLKX
|
||||||
|
#define CONTROL_PADCONF_MCBSP3_DR CONTROL_PADCONF_McBSP3_DR
|
||||||
|
#define CONTROL_PADCONF_MCBSP3_DX CONTROL_PADCONF_McBSP3_DX
|
||||||
|
#define CONTROL_PADCONF_MCBSP3_FSX CONTROL_PADCONF_McBSP3_FSX
|
||||||
|
#define CONTROL_PADCONF_MCBSP4_FSX CONTROL_PADCONF_McBSP4_FSX
|
||||||
|
#define CONTROL_PADCONF_MCBSP1_CLKX CONTROL_PADCONF_McBSP1_CLKX
|
||||||
|
#define CONTROL_PADCONF_MCBSP1_DR CONTROL_PADCONF_McBSP1_DR
|
||||||
|
#define CONTROL_PADCONF_MCBSP1_DX CONTROL_PADCONF_McBSP1_DX
|
||||||
|
#define CONTROL_PADCONF_MCBSP1_FSX CONTROL_PADCONF_McBSP1_FSX
|
||||||
|
#define CONTROL_PADCONF_MCBSP2_CLKX CONTROL_PADCONF_McBSP2_CLKX
|
||||||
|
#define CONTROL_PADCONF_MCBSP2_DR CONTROL_PADCONF_McBSP2_DR
|
||||||
|
#define CONTROL_PADCONF_MCBSP2_DX CONTROL_PADCONF_McBSP2_DX
|
||||||
|
#define CONTROL_PADCONF_MCBSP2_FSX CONTROL_PADCONF_McBSP2_FSX
|
||||||
|
#define CONTROL_PADCONF_MCSPI1_CLK CONTROL_PADCONF_McSPI1_CLK
|
||||||
|
#define CONTROL_PADCONF_MCSPI1_SIMO CONTROL_PADCONF_McSPI1_SIMO
|
||||||
|
#define CONTROL_PADCONF_MCSPI1_SOMI CONTROL_PADCONF_McSPI1_SOMI
|
||||||
|
#define CONTROL_PADCONF_MCSPI1_CS0 CONTROL_PADCONF_McSPI1_CS0
|
||||||
|
#define CONTROL_PADCONF_MCSPI1_CS1 CONTROL_PADCONF_McSPI1_CS1
|
||||||
|
#define CONTROL_PADCONF_MCSPI1_CS2 CONTROL_PADCONF_McSPI1_CS2
|
||||||
|
#define CONTROL_PADCONF_MCSPI1_CS3 CONTROL_PADCONF_McSPI1_CS3
|
||||||
|
#define CONTROL_PADCONF_MCSPI2_CLK CONTROL_PADCONF_McSPI2_CLK
|
||||||
|
#define CONTROL_PADCONF_MCSPI2_SIMO CONTROL_PADCONF_McSPI2_SIMO
|
||||||
|
#define CONTROL_PADCONF_MCSPI2_SOMI CONTROL_PADCONF_McSPI2_SOMI
|
||||||
|
#define CONTROL_PADCONF_MCSPI2_CS0 CONTROL_PADCONF_McSPI2_CS0
|
||||||
|
#define CONTROL_PADCONF_MCSPI2_CS1 CONTROL_PADCONF_McSPI2_CS1
|
||||||
|
#define CONTROL_PADCONF_SDMMC1_CLK CONTROL_PADCONF_MMC1_CLK
|
||||||
|
#define CONTROL_PADCONF_SDMMC1_CMD CONTROL_PADCONF_MMC1_CMD
|
||||||
|
#define CONTROL_PADCONF_SDMMC1_DAT0 CONTROL_PADCONF_MMC1_DAT0
|
||||||
|
#define CONTROL_PADCONF_SDMMC1_DAT1 CONTROL_PADCONF_MMC1_DAT1
|
||||||
|
#define CONTROL_PADCONF_SDMMC1_DAT2 CONTROL_PADCONF_MMC1_DAT2
|
||||||
|
#define CONTROL_PADCONF_SDMMC1_DAT3 CONTROL_PADCONF_MMC1_DAT3
|
||||||
|
#define CONTROL_PADCONF_SDMMC1_DAT6 CONTROL_PADCONF_MMC1_DAT6
|
||||||
|
#define CONTROL_PADCONF_SDMMC2_CLK CONTROL_PADCONF_MMC2_CLK
|
||||||
|
#define CONTROL_PADCONF_SDMMC2_CMD CONTROL_PADCONF_MMC2_CMD
|
||||||
|
#define CONTROL_PADCONF_SDMMC2_DAT0 CONTROL_PADCONF_MMC2_DAT0
|
||||||
|
#define CONTROL_PADCONF_SDMMC2_DAT1 CONTROL_PADCONF_MMC2_DAT1
|
||||||
|
#define CONTROL_PADCONF_SDMMC2_DAT2 CONTROL_PADCONF_MMC2_DAT2
|
||||||
|
#define CONTROL_PADCONF_SDMMC2_DAT3 CONTROL_PADCONF_MMC2_DAT3
|
||||||
|
#define CONTROL_PADCONF_SDMMC2_DAT4 CONTROL_PADCONF_MMC2_DAT4
|
||||||
|
#define CONTROL_PADCONF_SDMMC2_DAT5 CONTROL_PADCONF_MMC2_DAT5
|
||||||
|
#define CONTROL_PADCONF_SDMMC2_DAT6 CONTROL_PADCONF_MMC2_DAT6
|
||||||
|
#define CONTROL_PADCONF_SDMMC2_DAT7 CONTROL_PADCONF_MMC2_DAT7
|
||||||
|
#define CONTROL_PADCONF_GPMC_NCS0 CONTROL_PADCONF_GPMC_nCS0
|
||||||
|
#define CONTROL_PADCONF_GPMC_NCS6 CONTROL_PADCONF_GPMC_nCS6
|
||||||
|
#define CONTROL_PADCONF_GPMC_NCS7 CONTROL_PADCONF_GPMC_nCS7
|
||||||
|
#define CONTROL_PADCONF_GPMC_NWE CONTROL_PADCONF_GPMC_nWE
|
||||||
|
#define CONTROL_PADCONF_GPMC_NOE CONTROL_PADCONF_GPMC_nOE
|
||||||
|
#define CONTROL_PADCONF_GPMC_NADV_ALE CONTROL_PADCONF_GPMC_nADV_ALE
|
||||||
|
#define CONTROL_PADCONF_GPMC_NWP CONTROL_PADCONF_GPMC_nWP
|
||||||
|
#define CONTROL_PADCONF_MCBSP4_CLKX CONTROL_PADCONF_McBSP4_CLKX
|
||||||
|
#define CONTROL_PADCONF_MCBSP4_DR CONTROL_PADCONF_McBSP4_DR
|
||||||
|
#define CONTROL_PADCONF_MCBSP4_DX CONTROL_PADCONF_McBSP4_DX
|
||||||
|
#define CONTROL_PADCONF_MCBSP1_CLKR CONTROL_PADCONF_McBSP1_CLKR
|
||||||
|
#define CONTROL_PADCONF_MCBSP1_FSR CONTROL_PADCONF_McBSP1_FSR
|
||||||
|
#define CONTROL_PADCONF_MCBSP_CLKS CONTROL_PADCONF_McBSP_CLKS
|
||||||
|
#define CONTROL_PADCONF_SDMMC1_DAT4 CONTROL_PADCONF_MMC1_DAT4
|
||||||
|
#define CONTROL_PADCONF_SDMMC1_DAT5 CONTROL_PADCONF_MMC1_DAT5
|
||||||
|
#define CONTROL_PADCONF_SDMMC1_DAT7 CONTROL_PADCONF_MMC1_DAT7
|
||||||
|
#define CONTROL_PADCONF_GPMC_NCS1 CONTROL_PADCONF_GPMC_nCS1
|
||||||
|
#define CONTROL_PADCONF_GPMC_NCS2 CONTROL_PADCONF_GPMC_nCS2
|
||||||
|
#define CONTROL_PADCONF_GPMC_NCS3 CONTROL_PADCONF_GPMC_nCS3
|
||||||
|
#define CONTROL_PADCONF_GPMC_NCS4 CONTROL_PADCONF_GPMC_nCS4
|
||||||
|
#define CONTROL_PADCONF_GPMC_NCS5 CONTROL_PADCONF_GPMC_nCS5
|
||||||
|
#define CONTROL_PADCONF_GPMC_NBE0_CLE CONTROL_PADCONF_GPMC_nBE0_CLE
|
||||||
|
#define CONTROL_PADCONF_GPMC_NBE1 CONTROL_PADCONF_GPMC_nBE1
|
||||||
|
|
||||||
|
#define PC_DEFINE MUX_VAL
|
||||||
|
#define PC_MODE0 M0
|
||||||
|
#define PC_MODE1 M1
|
||||||
|
#define PC_MODE2 M2
|
||||||
|
#define PC_MODE3 M3
|
||||||
|
#define PC_MODE4 M4
|
||||||
|
#define PC_MODE5 M5
|
||||||
|
#define PC_MODE6 M6
|
||||||
|
#define PC_MODE7 M7
|
||||||
|
#define PC_INPUT IEN
|
||||||
|
#define PC_OUTPUT IDIS
|
||||||
|
#define PC_PULL_ENA EN
|
||||||
|
#define PC_PULL_DIS DIS
|
||||||
|
#define PC_PULL_UP PTU
|
||||||
|
#define PC_PULL_DOWN PTD
|
||||||
|
#define PC_WAKEUP_EN (1 << 14)
|
||||||
|
#define PC_OFF_EN (1 << 9)
|
||||||
|
#define PC_OFFOUT_EN (1 << 10)
|
||||||
|
#define PC_OFF_PULL_EN (1 << 12)
|
||||||
|
#define PC_OFF_PULL_UP (1 << 13)
|
||||||
|
#define PC_OFF_OUT_LOW (PC_OFF_EN)
|
||||||
|
#define PC_OFF_IN_NOPULL (PC_OFF_EN | PC_OFFOUT_EN)
|
||||||
|
#define PC_OFF_IN_PULLUP (PC_OFF_IN_NOPULL | PC_OFF_PULL_EN | PC_OFF_PULL_UP)
|
||||||
|
#define PC_OFF_IN_PULLDOWN (PC_OFF_IN_NOPULL | PC_OFF_PULL_EN)
|
||||||
|
|
||||||
|
#endif // BOOTLOADER_UBOOT_PADCONFIG
|
||||||
|
|
||||||
|
/*********** KERNEL, used in case of kernel build, board-santiago.c ***********/
|
||||||
|
#ifdef KERNEL_PADCONFIG
|
||||||
|
|
||||||
|
#define PC_DEFINE(x,y) OMAP3_MUX(x,y),
|
||||||
|
#define CP(x) x
|
||||||
|
#define PC_MODE0 OMAP_MUX_MODE0
|
||||||
|
#define PC_MODE1 OMAP_MUX_MODE1
|
||||||
|
#define PC_MODE2 OMAP_MUX_MODE2
|
||||||
|
#define PC_MODE3 OMAP_MUX_MODE3
|
||||||
|
#define PC_MODE4 OMAP_MUX_MODE4
|
||||||
|
#define PC_MODE5 OMAP_MUX_MODE5
|
||||||
|
#define PC_MODE6 OMAP_MUX_MODE6
|
||||||
|
#define PC_MODE7 OMAP_MUX_MODE7
|
||||||
|
#define PC_INPUT OMAP_PIN_INPUT
|
||||||
|
#define PC_OUTPUT OMAP_PIN_OUTPUT
|
||||||
|
#define PC_PULL_ENA OMAP_PULL_ENA
|
||||||
|
#define PC_PULL_DIS (0 << 3)
|
||||||
|
#define PC_PULL_UP OMAP_PULL_UP
|
||||||
|
#define PC_PULL_DOWN (0 << 4)
|
||||||
|
#define PC_WAKEUP_EN OMAP_WAKEUP_EN
|
||||||
|
#define PC_OFF_EN OMAP_OFF_EN
|
||||||
|
#define PC_OFFOUT_EN OMAP_OFFOUT_EN
|
||||||
|
#define PC_OFFOUT_VAL OMAP_OFFOUT_VAL
|
||||||
|
#define PC_OFF_PULL_EN OMAP_OFF_PULL_EN
|
||||||
|
#define PC_OFF_PULL_UP OMAP_OFF_PULL_UP
|
||||||
|
#define PC_OFF_OUT_LOW OMAP_PIN_OFF_OUTPUT_LOW
|
||||||
|
#define PC_OFF_OUT_HIGH OMAP_PIN_OFF_OUTPUT_HIGH
|
||||||
|
#define PC_OFF_IN_NOPULL OMAP_PIN_OFF_INPUT_NOPULL
|
||||||
|
#define PC_OFF_IN_PULLUP OMAP_PIN_OFF_INPUT_PULLUP
|
||||||
|
#define PC_OFF_IN_PULLDOWN OMAP_PIN_OFF_INPUT_PULLDOWN
|
||||||
|
|
||||||
|
#endif // KERNEL_PADCONFIG
|
||||||
|
|
||||||
|
#endif
|
||||||
327
include/linux/padconfig_monopoli.h
Normal file
327
include/linux/padconfig_monopoli.h
Normal file
@ -0,0 +1,327 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2009 TomTom BV <http://www.tomtom.com/>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PADCONFIG_SANTIAGO_H
|
||||||
|
#define PADCONFIG_SANTIAGO_H
|
||||||
|
|
||||||
|
#include "padconfig_common.h"
|
||||||
|
|
||||||
|
/*******************************/
|
||||||
|
/*********** TABLES ************/
|
||||||
|
/*******************************/
|
||||||
|
|
||||||
|
|
||||||
|
#define PADCONFIG_SETTINGS_XLOADER \
|
||||||
|
/*SDRC*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D0*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D1*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D2*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D3*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D4*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D5*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D6*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D7), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D7*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D8), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D8*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D9), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D9*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D10), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D10*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D11), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D11*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D12), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D12*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D13), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D13*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D14), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D14*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D15), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D15*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D16), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D16*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D17), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D17*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D18), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D18*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D19), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D19*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D20), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D20*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D21), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D21*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D22), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D22*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D23), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D23*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D24), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D24*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D25), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D25*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D26), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D26*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D27), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D27*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D28), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D28*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D29), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D29*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D30), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D30*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D31), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D31*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_CLK), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_CLK*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_DQS0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_DQS0*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_DQS1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_DQS1*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_DQS2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_DQS2*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_DQS3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_DQS3*/ \
|
||||||
|
\
|
||||||
|
/* MMC lines */ \
|
||||||
|
PC_DEFINE(CP(SDMMC1_CLK), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_CMD), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_DAT0), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_DAT1), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_DAT2), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_DAT3), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC2_CLK), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC2_CMD), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT0), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT1), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT2), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT3), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT4), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT5), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT6), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT7), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
\
|
||||||
|
/* UART4 lines */ \
|
||||||
|
PC_DEFINE(CP(GPMC_WAIT2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE2) /* DEBUG_TX */ \
|
||||||
|
PC_DEFINE(CP(GPMC_WAIT3), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE2) /* DEBUG_RX */ \
|
||||||
|
\
|
||||||
|
/* GPIO lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_D13), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 27: AUX_MOVI */ \
|
||||||
|
PC_DEFINE(CP(ETK_D14), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 28: AUX_SD */ \
|
||||||
|
|
||||||
|
#define PADCONFIG_SETTINGS_UBOOT \
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define PADCONFIG_SETTINGS_KERNEL \
|
||||||
|
/* GPIO lines */ \
|
||||||
|
PC_DEFINE(CP(GPIO126), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 126: GSM_SYS_RST */ \
|
||||||
|
PC_DEFINE(CP(GPIO127), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 127: GSM_SYS_EN */ \
|
||||||
|
\
|
||||||
|
/* UART1 lines */ \
|
||||||
|
PC_DEFINE(CP(UART1_TX), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* uP_UART1_TX */ \
|
||||||
|
PC_DEFINE(CP(UART1_RTS), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* uP_UART1_RTS */ \
|
||||||
|
PC_DEFINE(CP(UART1_CTS), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* uP_UART1_CTS */ \
|
||||||
|
PC_DEFINE(CP(UART1_RX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* uP_UART1_RX */ \
|
||||||
|
\
|
||||||
|
/* UART2 lines */ \
|
||||||
|
PC_DEFINE(CP(UART2_CTS), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_HIGH) /* uP_UART2_CTS */ \
|
||||||
|
PC_DEFINE(CP(UART2_RTS), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_HIGH) /* uP_UART2_RTS */ \
|
||||||
|
PC_DEFINE(CP(UART2_TX), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_HIGH) /* uP_UART2_TX */ \
|
||||||
|
PC_DEFINE(CP(UART2_RX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_HIGH) /* uP_UART2_RX */ \
|
||||||
|
\
|
||||||
|
/* UART3 lines */ \
|
||||||
|
PC_DEFINE(CP(UART3_CTS_RCTX), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* uP_UART3_CTS */ \
|
||||||
|
PC_DEFINE(CP(UART3_RTS_SD), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* uP_UART3_RTS */ \
|
||||||
|
PC_DEFINE(CP(UART3_RX_IRRX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* uP_UART3_RX */ \
|
||||||
|
PC_DEFINE(CP(UART3_TX_IRTX), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* uP_UART3_TX */ \
|
||||||
|
\
|
||||||
|
/* UART4 lines */ \
|
||||||
|
PC_DEFINE(CP(GPMC_WAIT2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE2 | OMAP_PIN_OFF_OUTPUT_LOW) /* DEBUG_TX */ \
|
||||||
|
PC_DEFINE(CP(GPMC_WAIT3), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE2 | OMAP_PIN_OFF_OUTPUT_LOW) /* DEBUG_RX */ \
|
||||||
|
\
|
||||||
|
/* PCM BT lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_CLKX), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* BT_PCM_CLK */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_DR), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* BT_PCM_OUT */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_DX), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* BT_PCM_IN */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_FSX), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* BT_PCM_SYNC */ \
|
||||||
|
\
|
||||||
|
/* PCM PMIC lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_CLKX), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* PCM_VDX */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_DR), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* PCM_VFS */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_DX), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* PCM_VCK */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_FSX), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* PCM_VDR */ \
|
||||||
|
\
|
||||||
|
/* PMIC I2S lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP2_CLKX), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* MCBSP2_CLK */ \
|
||||||
|
PC_DEFINE(CP(MCBSP2_DR), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* MCBSP2_DR */ \
|
||||||
|
PC_DEFINE(CP(MCBSP2_DX), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* MCBSP2_DX */ \
|
||||||
|
PC_DEFINE(CP(MCBSP2_FSX), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* MCBSP2_FSX */ \
|
||||||
|
\
|
||||||
|
/* MCSPI1 lines */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CLK), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* DR_SCLK */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_SIMO), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* DR_SDI */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_SOMI), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* DR_SDO */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* ACC_CS0 */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* TP196 */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* BARO_Csn */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS3), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7 | OMAP_PIN_OFF_OUTPUT_LOW) /* TP181 */ \
|
||||||
|
\
|
||||||
|
/* MCSPI2 (LCM) lines */ \
|
||||||
|
PC_DEFINE(CP(MCSPI2_CLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* SPI_LCM_CLK */ \
|
||||||
|
PC_DEFINE(CP(MCSPI2_SIMO), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* SPI_LCM_OUT */ \
|
||||||
|
PC_DEFINE(CP(MCSPI2_SOMI), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7 | OMAP_PIN_OFF_OUTPUT_LOW) /* TP182 */ \
|
||||||
|
PC_DEFINE(CP(MCSPI2_CS0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | OMAP_PIN_OFF_OUTPUT_LOW) /* SPI_LCM_CS0 */ \
|
||||||
|
PC_DEFINE(CP(MCSPI2_CS1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7 | OMAP_PIN_OFF_OUTPUT_LOW) /* TP186 */ \
|
||||||
|
\
|
||||||
|
/* WiFi lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_CLK), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE2 | OMAP_PIN_OFF_OUTPUT_LOW) /* WIFI_CLK */ \
|
||||||
|
PC_DEFINE(CP(ETK_CTL), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE2 | OMAP_PIN_OFF_OUTPUT_LOW) /* WIFI_CMD */ \
|
||||||
|
PC_DEFINE(CP(ETK_D3), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE2 | OMAP_PIN_OFF_OUTPUT_LOW) /* WIFI_DATA3 */ \
|
||||||
|
PC_DEFINE(CP(ETK_D4), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE2 | OMAP_PIN_OFF_OUTPUT_LOW) /* WIFI_DATA0 */ \
|
||||||
|
PC_DEFINE(CP(ETK_D5), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE2 | OMAP_PIN_OFF_OUTPUT_LOW) /* WIFI_DATA1 */ \
|
||||||
|
PC_DEFINE(CP(ETK_D6), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE2 | OMAP_PIN_OFF_OUTPUT_LOW) /* WIFI_DATA2 */ \
|
||||||
|
\
|
||||||
|
/* GPIO lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_CLKR), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 156: nLCD_RESET */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS3), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 54: nTP_IRQ */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A6), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 39: nCD_SD_micro */\
|
||||||
|
PC_DEFINE(CP(GPMC_D15), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 51: HPDETECTn */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS1), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 52: USB_DETECTn */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A4), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 37: AMP_PWR_EN */ \
|
||||||
|
PC_DEFINE(CP(ETK_D13), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 27: AUX_MOVI */ \
|
||||||
|
PC_DEFINE(CP(ETK_D14), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 28: AUX_SD */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_FSR), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 157: TSP_RST */ \
|
||||||
|
PC_DEFINE(CP(ETK_D10), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 24: DR_POWER_EN */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NBE0_CLE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 60: nBT_RST */ \
|
||||||
|
PC_DEFINE(CP(ETK_D15), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 29: WIFI_RSTn */ \
|
||||||
|
PC_DEFINE(CP(ETK_D1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_LOW) /* 15: WIFI_EN */ \
|
||||||
|
|
||||||
|
|
||||||
|
#define PADCONFIG_SETTINGS_COMMON \
|
||||||
|
/* CAM lines */ \
|
||||||
|
PC_DEFINE(CP(CAM_D0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D0 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D1 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D2 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D3 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D4 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D5 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D6 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D7), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D7 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D8), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D8 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D9), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D9 */ \
|
||||||
|
PC_DEFINE(CP(CAM_XCLKB), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* h_CAM_XCLKB */ \
|
||||||
|
PC_DEFINE(CP(CAM_PCLK), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_PCLK */ \
|
||||||
|
PC_DEFINE(CP(CAM_VS), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_VS */ \
|
||||||
|
PC_DEFINE(CP(CAM_HS), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_HS */ \
|
||||||
|
PC_DEFINE(CP(CAM_FLD), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE2) /* CAM_nRESET */ \
|
||||||
|
PC_DEFINE(CP(CSI2_DX0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CSI1_DX0 */ \
|
||||||
|
PC_DEFINE(CP(CSI2_DY0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CSI1_DX0 */ \
|
||||||
|
PC_DEFINE(CP(CSI2_DX1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CSI1_DX0 */ \
|
||||||
|
PC_DEFINE(CP(CSI2_DY1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CSI1_DX0 */ \
|
||||||
|
\
|
||||||
|
/* LCD lines */ \
|
||||||
|
PC_DEFINE(CP(DSS_ACBIAS), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_DAT_EN */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D0 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D1 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D2 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA3), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D3 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA4), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D4 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D5 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA6), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D6 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA7), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D7 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA8), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D8 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA9), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D9 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA10), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D10 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA11), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D11 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA12), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D12 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA13), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D13 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA14), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D14 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA15), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D15 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA16), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D16 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA17), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D17 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA18), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D18 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA19), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D19 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA20), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D20 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA21), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D21 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA22), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D22 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA23), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_D23 */ \
|
||||||
|
PC_DEFINE(CP(DSS_PCLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_DCLK */ \
|
||||||
|
PC_DEFINE(CP(DSS_HSYNC), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_HSYNC */ \
|
||||||
|
PC_DEFINE(CP(DSS_VSYNC), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* LCD_VSYNC */ \
|
||||||
|
\
|
||||||
|
/* WiFi lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_D9), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) \
|
||||||
|
PC_DEFINE(CP(ETK_D10), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) \
|
||||||
|
PC_DEFINE(CP(ETK_D11), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) \
|
||||||
|
PC_DEFINE(CP(ETK_D12), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) \
|
||||||
|
\
|
||||||
|
/* USB0 lines */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* USB0_ULPI_DATA0 */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* USB0_ULPI_DATA1 */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* USB0_ULPI_DATA2 */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* USB0_ULPI_DATA3 */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* USB0_ULPI_DATA4 */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* USB0_ULPI_DATA5 */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* USB0_ULPI_DATA6 */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA7), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* USB0_ULPI_DATA7 */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_CLK), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* USB0_ULPI_CLK */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_STP), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* USB0_ULPI_STP */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DIR), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* USB0_ULPI_DIR */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_NXT), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* USB0_ULPI_NXT */ \
|
||||||
|
\
|
||||||
|
/* SYS lines */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT0 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT1 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT2 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT3 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT4 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT5 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT6 */ \
|
||||||
|
PC_DEFINE(CP(SYS_CLKREQ), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_CLKREQ */ \
|
||||||
|
PC_DEFINE(CP(SYS_NIRQ), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | PC_WAKEUP_EN) /* SYS_NIRQ */ \
|
||||||
|
PC_DEFINE(CP(SYS_NRESWARM), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) /* SYS_NRESWARM */ \
|
||||||
|
PC_DEFINE(CP(SYS_OFF_MODE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_OFF_MODE */ \
|
||||||
|
PC_DEFINE(CP(SYS_CLKOUT1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) /* TP32 */ \
|
||||||
|
\
|
||||||
|
/* Unused GPMC lines (no mode7 for d0..d7 !) */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D0 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D1 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D2 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D3 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D4 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D5 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D6 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D7), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D7 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) /* TP183 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* TP144 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS6), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) /* TP145 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS7), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) /* TP146 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_CLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) /* TP2 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NWE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) /* TP4 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NOE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) /* TP10 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NADV_ALE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) /* TP3 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NWP), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) /* TP7 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_WAIT0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* TP23 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_WAIT1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) /* TP19 */ \
|
||||||
|
\
|
||||||
|
/* I2C lines */ \
|
||||||
|
PC_DEFINE(CP(I2C2_SCL), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C2_SDA), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C3_SCL), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C3_SDA), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C4_SCL), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C4_SDA), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
\
|
||||||
|
/* Unused JTAG lines */ \
|
||||||
|
PC_DEFINE(CP(JTAG_EMU0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) /* TP24 */ \
|
||||||
|
PC_DEFINE(CP(JTAG_EMU1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) /* TP29 */ \
|
||||||
|
\
|
||||||
|
/* GPIO lines */ \
|
||||||
|
PC_DEFINE(CP(CAM_XCLKA), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 96: CAM_PWR_ON */ \
|
||||||
|
PC_DEFINE(CP(CAM_WEN), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 167: TP33 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D10), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 109: DISP_ON */ \
|
||||||
|
PC_DEFINE(CP(CAM_D11), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 110: LCM_PWR_ENn_1 */ \
|
||||||
|
PC_DEFINE(CP(ETK_D0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 14: BT_EN */ \
|
||||||
|
PC_DEFINE(CP(ETK_D2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 16: BT_WAKE */ \
|
||||||
|
PC_DEFINE(CP(ETK_D7), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 21: HPWR */ \
|
||||||
|
PC_DEFINE(CP(ETK_D8), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 22: USB_SUSP */ \
|
||||||
|
PC_DEFINE(CP(MCBSP4_CLKX), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 152: BT_HOST_WAKE */\
|
||||||
|
PC_DEFINE(CP(MCBSP4_DR), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 153: nGPS_TCXO_ON */\
|
||||||
|
PC_DEFINE(CP(MCBSP4_DX), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 154: LCM_ID */ \
|
||||||
|
PC_DEFINE(CP(MCBSP_CLKS), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 160: nGPS_RESET */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 34: RDS_IRQ */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 35: RDS_RSTn */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A3), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 36: MUTE */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A7), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 40: LCD_PWR_ON */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A8), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 41: nLCD_STBY */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A9), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 42: GPS_1PPS */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A10), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 43: CPU_WAKE */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D8), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 44: DOCK_DET1 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D9), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 45: DOCK_DET0 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D10), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 46: EEPROM_WP */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D11), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 47: AR_BTRSTOUTn */\
|
||||||
|
PC_DEFINE(CP(GPMC_D12), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 48: TILT_PWR */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D13), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 49: TILT_OUT */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D14), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 50: ACCESSORY_PWREN */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* 53: USB_CHRG_DET */\
|
||||||
|
PC_DEFINE(CP(GPMC_NCS4), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4) /* 55: nON_OFF */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 56: LCM_nCS */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NBE1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* 61: LOW_DC_VDD */ \
|
||||||
|
PC_DEFINE(CP(SYS_CLKOUT2), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* 186: WALL_SENSE_CONNECT */
|
||||||
|
#endif // PADCONFIG_SANTIAGO_H
|
||||||
|
|
||||||
407
include/linux/padconfig_rennes_b1.h
Normal file
407
include/linux/padconfig_rennes_b1.h
Normal file
@ -0,0 +1,407 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2009 TomTom BV <http://www.tomtom.com/>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PADCONFIG_RENNES_B1_H
|
||||||
|
#define PADCONFIG_RENNES_B1_H
|
||||||
|
|
||||||
|
#include "padconfig_common.h"
|
||||||
|
|
||||||
|
/*******************************/
|
||||||
|
/*********** TABLES ************/
|
||||||
|
/*******************************/
|
||||||
|
|
||||||
|
#define PADCONFIG_SETTINGS_XLOADER_RENNES_B1 \
|
||||||
|
/*SDRC*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D0*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D1*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D2*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D3*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D4*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D5*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D6*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D7), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D7*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D8), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D8*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D9), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D9*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D10), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D10*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D11), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D11*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D12), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D12*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D13), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D13*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D14), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D14*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D15), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D15*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D16), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D16*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D17), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D17*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D18), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D18*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D19), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D19*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D20), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D20*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D21), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D21*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D22), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D22*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D23), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D23*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D24), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D24*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D25), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D25*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D26), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D26*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D27), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D27*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D28), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D28*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D29), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D29*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D30), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D30*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D31), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D31*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_CLK), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_CLK*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_DQS0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_DQS0*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_DQS1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_DQS1*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_DQS2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_DQS2*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_DQS3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_DQS3*/ \
|
||||||
|
\
|
||||||
|
/* MMC lines */ \
|
||||||
|
PC_DEFINE(CP(SDMMC1_CLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_CMD), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_DAT0), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_DAT1), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_DAT2), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_DAT3), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
\
|
||||||
|
/* USB0 lines */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_CLK), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA7), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DIR), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_NXT), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_STP), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
\
|
||||||
|
/* USB1 lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_D0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_RXRCV */ \
|
||||||
|
PC_DEFINE(CP(ETK_D1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_TXSE0 */ \
|
||||||
|
PC_DEFINE(CP(ETK_D2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_TXDAT */ \
|
||||||
|
PC_DEFINE(CP(ETK_D7), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_TXEN */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_DR), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* USB1_SPEED */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_DX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4) /* USB1_SUSPEND */ \
|
||||||
|
\
|
||||||
|
/* USB2 lines - TI CSR ticket OMAPS00262728: HSUSB2_DATA2 and HSUSB2_DATA6 */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS3), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* HSUSB2_DATA2 */ \
|
||||||
|
PC_DEFINE(CP(MCSPI2_CS0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* HSUSB2_DATA6 */ \
|
||||||
|
\
|
||||||
|
/* The following settings are there to overcome TS problem */ \
|
||||||
|
\
|
||||||
|
/* UART1 lines */ \
|
||||||
|
PC_DEFINE(CP(UART1_CTS), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPS_RTS_SOC_CTS */ \
|
||||||
|
PC_DEFINE(CP(UART1_RTS), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPS_CTS_SOC_RTS */ \
|
||||||
|
PC_DEFINE(CP(UART1_RX), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPS_TX_SOC_RX */ \
|
||||||
|
PC_DEFINE(CP(UART1_TX), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPS_RX_SOC_TX */ \
|
||||||
|
\
|
||||||
|
/* UART2 lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_CLKX), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* BT_RX */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_FSX), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* BT_TX */ \
|
||||||
|
\
|
||||||
|
/* SDARS lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_D8), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4) /* nTUN_PWREN_UB */ \
|
||||||
|
\
|
||||||
|
/* GPIO lines */ \
|
||||||
|
PC_DEFINE(CP(CAM_WEN), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPS_CORE_PWR_EN */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NBE0_CLE), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* nBT_RST */ \
|
||||||
|
PC_DEFINE(CP(CAM_XCLKA), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4) /* CAM_PWR_ON */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT1), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4) /* nCAM_RST */ \
|
||||||
|
PC_DEFINE(CP(MCBSP_CLKS), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* nGPS2_RESET */ \
|
||||||
|
PC_DEFINE(CP(UART3_RTS_SD), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPS_HOST_REQ */ \
|
||||||
|
\
|
||||||
|
/* MCBSP1 lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_CLKX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* BT_PCM_CLK */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_DR), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* BT_PCM_OUT */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_DX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* BT_PCM_IN */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_FSX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* BT_PCM_SYNC */ \
|
||||||
|
|
||||||
|
#ifndef PADCONFIG_SETTINGS_XLOADER
|
||||||
|
#define PADCONFIG_SETTINGS_XLOADER PADCONFIG_SETTINGS_XLOADER_RENNES_B1
|
||||||
|
#endif /* PADCONFIG_SETTINGS_XLOADER */
|
||||||
|
|
||||||
|
#define PADCONFIG_SETTINGS_UBOOT_RENNES_B1 \
|
||||||
|
/* LCD lines */ \
|
||||||
|
PC_DEFINE(CP(DSS_ACBIAS), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_DAT_EN */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D0 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D1 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D2 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA3), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D3 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA4), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D4 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D5 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA6), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D6 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA7), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D7 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA8), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D8 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA9), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D9 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA10), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D10 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA11), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D11 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA12), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D12 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA13), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D13 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA14), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D14 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA15), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D15 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA16), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D16 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA17), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D17 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA18), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D18 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA19), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D19 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA20), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D20 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA21), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D21 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA22), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D22 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA23), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D23 */ \
|
||||||
|
PC_DEFINE(CP(DSS_PCLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_PCLK */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* LCM_PWR_ON */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_CLKR), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* nLCD_RESET */ \
|
||||||
|
\
|
||||||
|
|
||||||
|
#ifndef PADCONFIG_SETTINGS_UBOOT
|
||||||
|
#define PADCONFIG_SETTINGS_UBOOT PADCONFIG_SETTINGS_UBOOT_RENNES_B1
|
||||||
|
#endif /* PADCONFIG_SETTINGS_UBOOT */
|
||||||
|
|
||||||
|
#define PADCONFIG_SETTINGS_KERNEL_RENNES_B1 \
|
||||||
|
/* UART1 lines */ \
|
||||||
|
PC_DEFINE(CP(UART1_CTS), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* GPS_RTS_SOC_CTS */ \
|
||||||
|
PC_DEFINE(CP(UART1_RTS), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | PC_OFF_OUT_LOW) /* GPS_CTS_SOC_RTS */ \
|
||||||
|
PC_DEFINE(CP(UART1_RX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | PC_OFF_OUT_LOW) /* GPS_TX_SOC_RX */ \
|
||||||
|
PC_DEFINE(CP(UART1_TX), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* GPS_RX_SOC_TX */ \
|
||||||
|
\
|
||||||
|
/* UART2 lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_CLKX), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE1 | PC_OFF_OUT_LOW) /* BT_RX */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_FSX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE1 | PC_OFF_OUT_LOW) /* BT_TX */ \
|
||||||
|
\
|
||||||
|
/* SDARS lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_D8), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | PC_OFF_OUT_HIGH) /* nTUN_PWREN_UB */ \
|
||||||
|
\
|
||||||
|
/* MCBSP1 lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_CLKX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* BT_PCM_CLK */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_DR), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* BT_PCM_OUT */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_DX), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* BT_PCM_IN */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_FSX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* BT_PCM_SYNC */ \
|
||||||
|
\
|
||||||
|
/* USB1 lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_D0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_RXRCV */ \
|
||||||
|
PC_DEFINE(CP(ETK_D1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_TXSE0 */ \
|
||||||
|
PC_DEFINE(CP(ETK_D2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_TXDAT */ \
|
||||||
|
PC_DEFINE(CP(ETK_D7), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MM1_TXEN */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_DR), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* USB1_SPEED */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_DX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | PC_OFF_OUT_HIGH) /* USB1_SUSPEND */ \
|
||||||
|
\
|
||||||
|
/* USB2 lines - TI CSR ticket OMAPS00262728: HSUSB2_DATA2 and HSUSB2_DATA6 */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS3), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* HSUSB2_DATA2 */ \
|
||||||
|
PC_DEFINE(CP(MCSPI2_CS0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* HSUSB2_DATA6 */ \
|
||||||
|
\
|
||||||
|
/* LCD lines */ \
|
||||||
|
PC_DEFINE(CP(DSS_ACBIAS), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_DAT_EN */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D0 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D1 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D2 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA3), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D3 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA4), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D4 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D5 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA6), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D6 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA7), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D7 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA8), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D8 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA9), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D9 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA10), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D10 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA11), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D11 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA12), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D12 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA13), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D13 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA14), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D14 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA15), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D15 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA16), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D16 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA17), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D17 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA18), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D18 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA19), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D19 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA20), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D20 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA21), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D21 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA22), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D22 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA23), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D23 */ \
|
||||||
|
PC_DEFINE(CP(DSS_PCLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_PCLK */ \
|
||||||
|
\
|
||||||
|
/* JTAG lines */ \
|
||||||
|
PC_DEFINE(CP(JTAG_NTRST), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* uP_nTRST */ \
|
||||||
|
PC_DEFINE(CP(JTAG_TCK), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* uP_TCK */ \
|
||||||
|
PC_DEFINE(CP(JTAG_TMS_TMSC), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* uP_nTMS */ \
|
||||||
|
PC_DEFINE(CP(JTAG_RTCK), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0) /* uP_nRTCK */ \
|
||||||
|
PC_DEFINE(CP(JTAG_NTRST), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* uP_nTRST */ \
|
||||||
|
PC_DEFINE(CP(JTAG_TDI), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* uP_TDI */ \
|
||||||
|
PC_DEFINE(CP(JTAG_TDO), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* uP_TDO */ \
|
||||||
|
\
|
||||||
|
/* GPIO lines */ \
|
||||||
|
PC_DEFINE(CP(CAM_WEN), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* GPS_CORE_PWR_EN */ \
|
||||||
|
PC_DEFINE(CP(CAM_XCLKA), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* CAM_PWR_ON */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nCAM_RST */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NBE0_CLE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nBT_RST */ \
|
||||||
|
PC_DEFINE(CP(MCBSP_CLKS), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nGPS_RESET */ \
|
||||||
|
PC_DEFINE(CP(UART3_RTS_SD), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* GPS_HOST_REQ */ \
|
||||||
|
PC_DEFINE(CP(GPIO126), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nAUTH_RST */ \
|
||||||
|
PC_DEFINE(CP(GPIO129), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* CAM_ON */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NBE1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_HIGH)/* PWR_HOLD */ \
|
||||||
|
|
||||||
|
#ifndef PADCONFIG_SETTINGS_KERNEL
|
||||||
|
#define PADCONFIG_SETTINGS_KERNEL PADCONFIG_SETTINGS_KERNEL_RENNES_B1
|
||||||
|
#endif /* PADCONFIG_SETTINGS_KERNEL */
|
||||||
|
|
||||||
|
#define PADCONFIG_SETTINGS_COMMON_RENNES_B1 \
|
||||||
|
/* CAM lines */ \
|
||||||
|
PC_DEFINE(CP(CAM_D0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D0 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D1 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D2 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D3 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D4 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D5 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D6 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D7), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D7 */ \
|
||||||
|
PC_DEFINE(CP(CAM_FLD), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0) /* CAM_FLD */ \
|
||||||
|
PC_DEFINE(CP(CAM_HS), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0) /* CAM_HS */ \
|
||||||
|
PC_DEFINE(CP(CAM_PCLK), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0) /* CAM_PCLK */ \
|
||||||
|
PC_DEFINE(CP(CAM_VS), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0) /* CAM_VS */ \
|
||||||
|
\
|
||||||
|
/* GPMC lines */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_A1 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_A2 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A3), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_A3 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A4), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_A4 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_A5 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A6), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_A6 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_CLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_CLK */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D0 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D1 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D2 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D3 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D4 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D5 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D6 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D7), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D7 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D8), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D8 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D9), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D9 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D10), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D10 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D11), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D11 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D12), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D12 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D13), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D13 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D14), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D14 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D15), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D15 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NWP), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_nWP */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_nCS0 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_nCS1 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_nCS2 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NOE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_nOE */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NADV_ALE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_nADV_ALE */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NWE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_nWE */ \
|
||||||
|
\
|
||||||
|
/* MCBSP4 lines */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS4), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE2 | PC_OFF_OUT_LOW) /* MCBSP4_CLK */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS6), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE2 | PC_OFF_OUT_LOW) /* MCBSP4_DX */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS7), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE2 | PC_OFF_OUT_LOW) /* MCBSP4_FSX */ \
|
||||||
|
\
|
||||||
|
/* I2C lines */ \
|
||||||
|
PC_DEFINE(CP(I2C2_SCL), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C2_SDA), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C3_SCL), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C3_SDA), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C4_SCL), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) \
|
||||||
|
PC_DEFINE(CP(I2C4_SDA), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) \
|
||||||
|
PC_DEFINE(CP(I2C1_SCL), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C1_SDA), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
\
|
||||||
|
/* MCBSP2 lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP2_CLKX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_NOPULL) /* MCBSP2_CLK */ \
|
||||||
|
PC_DEFINE(CP(MCBSP2_DR), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_NOPULL) /* MCBSP2_DR */ \
|
||||||
|
PC_DEFINE(CP(MCBSP2_DX), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* MCBSP2_DX */ \
|
||||||
|
PC_DEFINE(CP(MCBSP2_FSX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_NOPULL) /* MCBSP2_FSX */ \
|
||||||
|
\
|
||||||
|
/* MCSPI1 lines */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CLK), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_PULLDOWN) /* SPI_CAN_CLK */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_SIMO), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_PULLDOWN) /* SPI_CAN_SIMO */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_SOMI), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_PULLDOWN) /* SPI_CAN_SOMI */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_PULLDOWN) /* SPI_CAN_CS0 */ \
|
||||||
|
\
|
||||||
|
/* SYS lines */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT0 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT1 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT2 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT3 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT4 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT5 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT6 */ \
|
||||||
|
PC_DEFINE(CP(SYS_CLKREQ), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_CLKREQ */ \
|
||||||
|
PC_DEFINE(CP(SYS_NIRQ), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | PC_WAKEUP_EN) /* SYS_NIRQ */ \
|
||||||
|
PC_DEFINE(CP(SYS_NRESWARM), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) /* SYS_NRESWARM */ \
|
||||||
|
PC_DEFINE(CP(SYS_OFF_MODE), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_OFF_MODE */ \
|
||||||
|
\
|
||||||
|
/* UART3 lines */ \
|
||||||
|
PC_DEFINE(CP(UART3_RX_IRRX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | PC_OFF_IN_PULLDOWN) /* DEBUG_RX */ \
|
||||||
|
PC_DEFINE(CP(UART3_TX_IRTX), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* DEBUG_TX */ \
|
||||||
|
\
|
||||||
|
/* BACKLIGHT lines */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE3 | PC_OFF_IN_NOPULL) /* BACKLIGHT_PWM */ \
|
||||||
|
PC_DEFINE(CP(GPMC_WAIT3), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* BACKLIGHT_ON */ \
|
||||||
|
\
|
||||||
|
/* nACCEL_IRQ and nGYRO_IRQ lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_D5), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nGYRO_IRQ */ \
|
||||||
|
PC_DEFINE(CP(CAM_D10), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nACCEL_IRQ */ \
|
||||||
|
\
|
||||||
|
/* Unused lines set as GPIOs */ \
|
||||||
|
PC_DEFINE(CP(UART2_CTS), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* UART_CTS as GPIO */ \
|
||||||
|
PC_DEFINE(CP(UART2_RTS), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* UART_RTS as GPIO */ \
|
||||||
|
PC_DEFINE(CP(UART2_RX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* UART_RX as GPIO */ \
|
||||||
|
PC_DEFINE(CP(UART2_TX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* UART_TX as GPIO */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A7), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_A7 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A10), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_A10 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_CLK), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MCSPI3_CLK */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_CMD), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MCSPI3_SIMO */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MCSPI3_SOMI */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* SDMMC2_DAT2 as GPIO */\
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT3), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MCSPI3_CS0 */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT6), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* SDMMC2_DAT6 as GPIO */\
|
||||||
|
PC_DEFINE(CP(CAM_STROBE), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* CAM_STROBE as GPIO */\
|
||||||
|
PC_DEFINE(CP(DSS_HSYNC), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* LCD_HSYNC as GPIO */ \
|
||||||
|
PC_DEFINE(CP(DSS_VSYNC), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* LCD_VSYNC as GPIO */ \
|
||||||
|
PC_DEFINE(CP(ETK_CTL), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* ETK_CTL as GPIO */ \
|
||||||
|
PC_DEFINE(CP(ETK_D4), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* ETK_D4 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(ETK_D6), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* ETK_D6 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(ETK_D9), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* ETK_D9 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(MCBSP4_CLKX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MCBSP4_CLKX as GPIO */\
|
||||||
|
PC_DEFINE(CP(MCBSP4_DR), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MCBSP4_DR as GPIO */ \
|
||||||
|
PC_DEFINE(CP(MCBSP4_DX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MCBSP4_DX as GPIO */ \
|
||||||
|
PC_DEFINE(CP(MCBSP4_FSX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MCBSP4_FSX as GPIO */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MCSPI1_CS1 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MCSPI1_CS2 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_nCS1 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_nCS2 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(GPMC_WAIT1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_WAIT1 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(GPMC_WAIT2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_WAIT2 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(CSI2_DX0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* CSI2_DX0 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(CSI2_DY0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* CSI2_DY0 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(CSI2_DX1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* CSI2_DX1 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(CSI2_DY1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* CSI2_DY1 as GPIO */ \
|
||||||
|
\
|
||||||
|
/* GPIO lines */ \
|
||||||
|
PC_DEFINE(CP(CAM_D8), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_IN_PULLDOWN) /* nCAM_IRQ */ \
|
||||||
|
PC_DEFINE(CP(CAM_D9), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* nGPS_ANT_SHORT */ \
|
||||||
|
PC_DEFINE(CP(CAM_D11), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nUSB2_RESET */ \
|
||||||
|
PC_DEFINE(CP(CAM_XCLKB), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MIC_ON */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT4), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nCAN_RST */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* LCM_PWR_ON */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT7), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nCAN_IRQ */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A8), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_IN_NOPULL) /* nDIAGSYS_BOOT */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A9), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* GPS_1PPS */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS3), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | PC_OFF_OUT_LOW) /* nTP_IRQ */ \
|
||||||
|
PC_DEFINE(CP(HDQ_SIO), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_IN_PULLDOWN) /* CAN_RST_MON */ \
|
||||||
|
PC_DEFINE(CP(JTAG_EMU0), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | PC_OFF_IN_NOPULL) /* nUSB3_POWER_FAULT */\
|
||||||
|
PC_DEFINE(CP(JTAG_EMU1), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | PC_OFF_IN_NOPULL) /* nUSB1_POWER_FAULT */\
|
||||||
|
PC_DEFINE(CP(MCBSP1_CLKR), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nLCD_RESET */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_FSR), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nTP_RESET */ \
|
||||||
|
PC_DEFINE(CP(SYS_CLKOUT1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* nON_OFF */ \
|
||||||
|
PC_DEFINE(CP(SYS_CLKOUT2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* CAN_BT_MD */ \
|
||||||
|
PC_DEFINE(CP(UART3_CTS_RCTX),PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* CAN_SYNC */ \
|
||||||
|
PC_DEFINE(CP(ETK_CLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* LCD_UD */ \
|
||||||
|
PC_DEFINE(CP(ETK_D3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* SENSE_11V0 */ \
|
||||||
|
|
||||||
|
#ifndef PADCONFIG_SETTINGS_COMMON
|
||||||
|
#define PADCONFIG_SETTINGS_COMMON PADCONFIG_SETTINGS_COMMON_RENNES_B1
|
||||||
|
#endif /* PADCONFIG_SETTINGS_COMMON */
|
||||||
|
|
||||||
|
#endif // PADCONFIG_RENNES_B1_H
|
||||||
|
|
||||||
407
include/linux/padconfig_stuttgart_b1.h
Normal file
407
include/linux/padconfig_stuttgart_b1.h
Normal file
@ -0,0 +1,407 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2009 TomTom BV <http://www.tomtom.com/>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PADCONFIG_STUTTGART_B1_H
|
||||||
|
#define PADCONFIG_STUTTGART_B1_H
|
||||||
|
|
||||||
|
#include "padconfig_common.h"
|
||||||
|
|
||||||
|
/*******************************/
|
||||||
|
/*********** TABLES ************/
|
||||||
|
/*******************************/
|
||||||
|
|
||||||
|
#define PADCONFIG_SETTINGS_XLOADER_STUTTGART_B1 \
|
||||||
|
/*SDRC*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D0*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D1*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D2*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D3*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D4*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D5*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D6*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D7), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D7*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D8), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D8*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D9), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D9*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D10), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D10*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D11), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D11*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D12), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D12*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D13), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D13*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D14), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D14*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D15), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D15*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D16), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D16*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D17), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D17*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D18), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D18*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D19), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D19*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D20), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D20*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D21), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D21*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D22), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D22*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D23), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D23*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D24), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D24*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D25), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D25*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D26), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D26*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D27), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D27*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D28), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D28*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D29), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D29*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D30), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D30*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_D31), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_D31*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_CLK), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_CLK*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_DQS0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_DQS0*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_DQS1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_DQS1*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_DQS2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_DQS2*/ \
|
||||||
|
PC_DEFINE(CP(SDRC_DQS3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /*SDRC_DQS3*/ \
|
||||||
|
\
|
||||||
|
/* MMC lines */ \
|
||||||
|
PC_DEFINE(CP(SDMMC1_CLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_CMD), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_DAT0), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_DAT1), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_DAT2), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(SDMMC1_DAT3), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
\
|
||||||
|
/* USB0 lines */ \
|
||||||
|
PC_DEFINE(CP(HSUSB0_CLK), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DATA7), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_DIR), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_NXT), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(HSUSB0_STP), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
\
|
||||||
|
/* USB1 lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_D0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_RXRCV */ \
|
||||||
|
PC_DEFINE(CP(ETK_D1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_TXSE0 */ \
|
||||||
|
PC_DEFINE(CP(ETK_D2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_TXDAT */ \
|
||||||
|
PC_DEFINE(CP(ETK_D7), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_TXEN */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_DR), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* USB1_SPEED */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_DX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4) /* USB1_SUSPEND */ \
|
||||||
|
\
|
||||||
|
/* USB2 lines - TI CSR ticket OMAPS00262728: HSUSB2_DATA2 and HSUSB2_DATA6 */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS3), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* HSUSB2_DATA2 */ \
|
||||||
|
PC_DEFINE(CP(MCSPI2_CS0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* HSUSB2_DATA6 */ \
|
||||||
|
\
|
||||||
|
/* The following settings are there to overcome TS problem */ \
|
||||||
|
\
|
||||||
|
/* UART1 lines */ \
|
||||||
|
PC_DEFINE(CP(UART1_CTS), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPS_RTS_SOC_CTS */ \
|
||||||
|
PC_DEFINE(CP(UART1_RTS), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPS_CTS_SOC_RTS */ \
|
||||||
|
PC_DEFINE(CP(UART1_RX), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPS_TX_SOC_RX */ \
|
||||||
|
PC_DEFINE(CP(UART1_TX), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPS_RX_SOC_TX */ \
|
||||||
|
\
|
||||||
|
/* UART2 lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_CLKX), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* BT_RX */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_FSX), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* BT_TX */ \
|
||||||
|
\
|
||||||
|
/* SDARS lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_D8), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4) /* nTUN_PWREN_UB */ \
|
||||||
|
\
|
||||||
|
/* GPIO lines */ \
|
||||||
|
PC_DEFINE(CP(CAM_WEN), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPS_CORE_PWR_EN */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NBE0_CLE), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* nBT_RST */ \
|
||||||
|
PC_DEFINE(CP(CAM_XCLKA), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4) /* CAM_PWR_ON */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT1), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4) /* nCAM_RST */ \
|
||||||
|
PC_DEFINE(CP(MCBSP_CLKS), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* nGPS2_RESET */ \
|
||||||
|
PC_DEFINE(CP(UART3_RTS_SD), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPS_HOST_REQ */ \
|
||||||
|
\
|
||||||
|
/* MCBSP1 lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_CLKX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* BT_PCM_CLK */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_DR), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* BT_PCM_OUT */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_DX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* BT_PCM_IN */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_FSX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* BT_PCM_SYNC */ \
|
||||||
|
|
||||||
|
#ifndef PADCONFIG_SETTINGS_XLOADER
|
||||||
|
#define PADCONFIG_SETTINGS_XLOADER PADCONFIG_SETTINGS_XLOADER_STUTTGART_B1
|
||||||
|
#endif /* PADCONFIG_SETTINGS_XLOADER */
|
||||||
|
|
||||||
|
#define PADCONFIG_SETTINGS_UBOOT_STUTTGART_B1 \
|
||||||
|
/* LCD lines */ \
|
||||||
|
PC_DEFINE(CP(DSS_ACBIAS), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_DAT_EN */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D0 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D1 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D2 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA3), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D3 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA4), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D4 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D5 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA6), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D6 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA7), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D7 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA8), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D8 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA9), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D9 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA10), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D10 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA11), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D11 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA12), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D12 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA13), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D13 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA14), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D14 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA15), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D15 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA16), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D16 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA17), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D17 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA18), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D18 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA19), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D19 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA20), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D20 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA21), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D21 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA22), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D22 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA23), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D23 */ \
|
||||||
|
PC_DEFINE(CP(DSS_PCLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_PCLK */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* LCM_PWR_ON */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_CLKR), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* nLCD_RESET */ \
|
||||||
|
\
|
||||||
|
|
||||||
|
#ifndef PADCONFIG_SETTINGS_UBOOT
|
||||||
|
#define PADCONFIG_SETTINGS_UBOOT PADCONFIG_SETTINGS_UBOOT_STUTTGART_B1
|
||||||
|
#endif /* PADCONFIG_SETTINGS_UBOOT */
|
||||||
|
|
||||||
|
#define PADCONFIG_SETTINGS_KERNEL_STUTTGART_B1 \
|
||||||
|
/* UART1 lines */ \
|
||||||
|
PC_DEFINE(CP(UART1_CTS), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* GPS_RTS_SOC_CTS */ \
|
||||||
|
PC_DEFINE(CP(UART1_RTS), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | PC_OFF_OUT_LOW) /* GPS_CTS_SOC_RTS */ \
|
||||||
|
PC_DEFINE(CP(UART1_RX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | PC_OFF_OUT_LOW) /* GPS_TX_SOC_RX */ \
|
||||||
|
PC_DEFINE(CP(UART1_TX), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* GPS_RX_SOC_TX */ \
|
||||||
|
\
|
||||||
|
/* UART2 lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_CLKX), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE1 | PC_OFF_OUT_LOW) /* BT_RX */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_FSX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE1 | PC_OFF_OUT_LOW) /* BT_TX */ \
|
||||||
|
\
|
||||||
|
/* SDARS lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_D8), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | PC_OFF_OUT_HIGH) /* nTUN_PWREN_UB */ \
|
||||||
|
\
|
||||||
|
/* MCBSP1 lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_CLKX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* BT_PCM_CLK */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_DR), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* BT_PCM_OUT */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_DX), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* BT_PCM_IN */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_FSX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* BT_PCM_SYNC */ \
|
||||||
|
\
|
||||||
|
/* USB1 lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_D0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_RXRCV */ \
|
||||||
|
PC_DEFINE(CP(ETK_D1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_TXSE0 */ \
|
||||||
|
PC_DEFINE(CP(ETK_D2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MM1_TXDAT */ \
|
||||||
|
PC_DEFINE(CP(ETK_D7), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MM1_TXEN */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_DR), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* USB1_SPEED */ \
|
||||||
|
PC_DEFINE(CP(MCBSP3_DX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | PC_OFF_OUT_HIGH) /* USB1_SUSPEND */ \
|
||||||
|
\
|
||||||
|
/* USB2 lines - TI CSR ticket OMAPS00262728: HSUSB2_DATA2 and HSUSB2_DATA6 */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS3), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* HSUSB2_DATA2 */ \
|
||||||
|
PC_DEFINE(CP(MCSPI2_CS0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* HSUSB2_DATA6 */ \
|
||||||
|
\
|
||||||
|
/* LCD lines */ \
|
||||||
|
PC_DEFINE(CP(DSS_ACBIAS), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_DAT_EN */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D0 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D1 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D2 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA3), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D3 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA4), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D4 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D5 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA6), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D6 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA7), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D7 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA8), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D8 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA9), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D9 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA10), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D10 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA11), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D11 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA12), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D12 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA13), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D13 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA14), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D14 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA15), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D15 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA16), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D16 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA17), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D17 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA18), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D18 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA19), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D19 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA20), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D20 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA21), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D21 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA22), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D22 */ \
|
||||||
|
PC_DEFINE(CP(DSS_DATA23), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_D23 */ \
|
||||||
|
PC_DEFINE(CP(DSS_PCLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* LCD_PCLK */ \
|
||||||
|
\
|
||||||
|
/* JTAG lines */ \
|
||||||
|
PC_DEFINE(CP(JTAG_NTRST), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* uP_nTRST */ \
|
||||||
|
PC_DEFINE(CP(JTAG_TCK), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* uP_TCK */ \
|
||||||
|
PC_DEFINE(CP(JTAG_TMS_TMSC), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* uP_nTMS */ \
|
||||||
|
PC_DEFINE(CP(JTAG_RTCK), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0) /* uP_nRTCK */ \
|
||||||
|
PC_DEFINE(CP(JTAG_NTRST), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* uP_nTRST */ \
|
||||||
|
PC_DEFINE(CP(JTAG_TDI), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* uP_TDI */ \
|
||||||
|
PC_DEFINE(CP(JTAG_TDO), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* uP_TDO */ \
|
||||||
|
\
|
||||||
|
/* GPIO lines */ \
|
||||||
|
PC_DEFINE(CP(CAM_WEN), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* GPS_CORE_PWR_EN */ \
|
||||||
|
PC_DEFINE(CP(CAM_XCLKA), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* CAM_PWR_ON */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nCAM_RST */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NBE0_CLE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nBT_RST */ \
|
||||||
|
PC_DEFINE(CP(MCBSP_CLKS), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nGPS_RESET */ \
|
||||||
|
PC_DEFINE(CP(UART3_RTS_SD), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* GPS_HOST_REQ */ \
|
||||||
|
PC_DEFINE(CP(GPIO126), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nAUTH_RST */ \
|
||||||
|
PC_DEFINE(CP(GPIO129), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* CAM_ON */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NBE1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | OMAP_PIN_OFF_OUTPUT_HIGH)/* PWR_HOLD */ \
|
||||||
|
|
||||||
|
#ifndef PADCONFIG_SETTINGS_KERNEL
|
||||||
|
#define PADCONFIG_SETTINGS_KERNEL PADCONFIG_SETTINGS_KERNEL_STUTTGART_B1
|
||||||
|
#endif /* PADCONFIG_SETTINGS_KERNEL */
|
||||||
|
|
||||||
|
#define PADCONFIG_SETTINGS_COMMON_STUTTGART_B1 \
|
||||||
|
/* CAM lines */ \
|
||||||
|
PC_DEFINE(CP(CAM_D0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D0 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D1 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D2 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D3 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D4 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D5 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D6 */ \
|
||||||
|
PC_DEFINE(CP(CAM_D7), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* CAM_D7 */ \
|
||||||
|
PC_DEFINE(CP(CAM_FLD), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0) /* CAM_FLD */ \
|
||||||
|
PC_DEFINE(CP(CAM_HS), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0) /* CAM_HS */ \
|
||||||
|
PC_DEFINE(CP(CAM_PCLK), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0) /* CAM_PCLK */ \
|
||||||
|
PC_DEFINE(CP(CAM_VS), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0) /* CAM_VS */ \
|
||||||
|
\
|
||||||
|
/* GPMC lines */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A1), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_A1 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_A2 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A3), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_A3 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A4), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_A4 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_A5 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A6), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_A6 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_CLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_CLK */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D0 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D1 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D2 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D3 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D4 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D5 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D6 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D7), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D7 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D8), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D8 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D9), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D9 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D10), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D10 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D11), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D11 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D12), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D12 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D13), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D13 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D14), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D14 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_D15), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_D15 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NWP), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_nWP */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS0), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_nCS0 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_nCS1 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_nCS2 */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NOE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_nOE */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NADV_ALE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_nADV_ALE */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NWE), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* GPMC_nWE */ \
|
||||||
|
\
|
||||||
|
/* MCBSP4 lines */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS4), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE2 | PC_OFF_OUT_LOW) /* MCBSP4_CLK */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS6), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE2 | PC_OFF_OUT_LOW) /* MCBSP4_DX */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS7), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE2 | PC_OFF_OUT_LOW) /* MCBSP4_FSX */ \
|
||||||
|
\
|
||||||
|
/* I2C lines */ \
|
||||||
|
PC_DEFINE(CP(I2C2_SCL), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C2_SDA), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C3_SCL), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C3_SDA), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C4_SCL), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) \
|
||||||
|
PC_DEFINE(CP(I2C4_SDA), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE7) \
|
||||||
|
PC_DEFINE(CP(I2C1_SCL), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
PC_DEFINE(CP(I2C1_SDA), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) \
|
||||||
|
\
|
||||||
|
/* MCBSP2 lines */ \
|
||||||
|
PC_DEFINE(CP(MCBSP2_CLKX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_NOPULL) /* MCBSP2_CLK */ \
|
||||||
|
PC_DEFINE(CP(MCBSP2_DR), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_NOPULL) /* MCBSP2_DR */ \
|
||||||
|
PC_DEFINE(CP(MCBSP2_DX), PC_OUTPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* MCBSP2_DX */ \
|
||||||
|
PC_DEFINE(CP(MCBSP2_FSX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_NOPULL) /* MCBSP2_FSX */ \
|
||||||
|
\
|
||||||
|
/* MCSPI1 lines */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CLK), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_PULLDOWN) /* SPI_CAN_CLK */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_SIMO), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_PULLDOWN) /* SPI_CAN_SIMO */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_SOMI), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_PULLDOWN) /* SPI_CAN_SOMI */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE0 | PC_OFF_IN_PULLDOWN) /* SPI_CAN_CS0 */ \
|
||||||
|
\
|
||||||
|
/* SYS lines */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT0), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT0 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT1 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT2), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT2 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT3 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT4), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT4 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT5), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT5 */ \
|
||||||
|
PC_DEFINE(CP(SYS_BOOT6), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_BOOT6 */ \
|
||||||
|
PC_DEFINE(CP(SYS_CLKREQ), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_CLKREQ */ \
|
||||||
|
PC_DEFINE(CP(SYS_NIRQ), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | PC_WAKEUP_EN) /* SYS_NIRQ */ \
|
||||||
|
PC_DEFINE(CP(SYS_NRESWARM), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0) /* SYS_NRESWARM */ \
|
||||||
|
PC_DEFINE(CP(SYS_OFF_MODE), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0) /* SYS_OFF_MODE */ \
|
||||||
|
\
|
||||||
|
/* UART3 lines */ \
|
||||||
|
PC_DEFINE(CP(UART3_RX_IRRX), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE0 | PC_OFF_IN_PULLDOWN) /* DEBUG_RX */ \
|
||||||
|
PC_DEFINE(CP(UART3_TX_IRTX), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE0 | PC_OFF_OUT_LOW) /* DEBUG_TX */ \
|
||||||
|
\
|
||||||
|
/* BACKLIGHT lines */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE3 | PC_OFF_IN_NOPULL) /* BACKLIGHT_PWM */ \
|
||||||
|
PC_DEFINE(CP(GPMC_WAIT3), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* BACKLIGHT_ON */ \
|
||||||
|
\
|
||||||
|
/* nACCEL_IRQ and nGYRO_IRQ lines */ \
|
||||||
|
PC_DEFINE(CP(ETK_D5), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nGYRO_IRQ */ \
|
||||||
|
PC_DEFINE(CP(CAM_D10), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nACCEL_IRQ */ \
|
||||||
|
\
|
||||||
|
/* Unused lines set as GPIOs */ \
|
||||||
|
PC_DEFINE(CP(UART2_CTS), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* UART_CTS as GPIO */ \
|
||||||
|
PC_DEFINE(CP(UART2_RTS), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* UART_RTS as GPIO */ \
|
||||||
|
PC_DEFINE(CP(UART2_RX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* UART_RX as GPIO */ \
|
||||||
|
PC_DEFINE(CP(UART2_TX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* UART_TX as GPIO */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A7), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_A7 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A10), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_A10 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_CLK), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MCSPI3_CLK */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_CMD), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MCSPI3_SIMO */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MCSPI3_SOMI */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* SDMMC2_DAT2 as GPIO */\
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT3), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MCSPI3_CS0 */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT6), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* SDMMC2_DAT6 as GPIO */\
|
||||||
|
PC_DEFINE(CP(CAM_STROBE), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* CAM_STROBE as GPIO */\
|
||||||
|
PC_DEFINE(CP(DSS_HSYNC), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* LCD_HSYNC as GPIO */ \
|
||||||
|
PC_DEFINE(CP(DSS_VSYNC), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* LCD_VSYNC as GPIO */ \
|
||||||
|
PC_DEFINE(CP(ETK_CTL), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* ETK_CTL as GPIO */ \
|
||||||
|
PC_DEFINE(CP(ETK_D4), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* ETK_D4 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(ETK_D6), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* ETK_D6 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(ETK_D9), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* ETK_D9 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(MCBSP4_CLKX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MCBSP4_CLKX as GPIO */\
|
||||||
|
PC_DEFINE(CP(MCBSP4_DR), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MCBSP4_DR as GPIO */ \
|
||||||
|
PC_DEFINE(CP(MCBSP4_DX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MCBSP4_DX as GPIO */ \
|
||||||
|
PC_DEFINE(CP(MCBSP4_FSX), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MCBSP4_FSX as GPIO */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MCSPI1_CS1 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(MCSPI1_CS2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* MCSPI1_CS2 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_nCS1 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_nCS2 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(GPMC_WAIT1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_WAIT1 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(GPMC_WAIT2), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* GPMC_WAIT2 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(CSI2_DX0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* CSI2_DX0 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(CSI2_DY0), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* CSI2_DY0 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(CSI2_DX1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* CSI2_DX1 as GPIO */ \
|
||||||
|
PC_DEFINE(CP(CSI2_DY1), PC_INPUT | PC_PULL_ENA | PC_PULL_DOWN | PC_MODE4) /* CSI2_DY1 as GPIO */ \
|
||||||
|
\
|
||||||
|
/* GPIO lines */ \
|
||||||
|
PC_DEFINE(CP(CAM_D8), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_IN_PULLDOWN) /* nCAM_IRQ */ \
|
||||||
|
PC_DEFINE(CP(CAM_D9), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* nGPS_ANT_SHORT */ \
|
||||||
|
PC_DEFINE(CP(CAM_D11), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nUSB2_RESET */ \
|
||||||
|
PC_DEFINE(CP(CAM_XCLKB), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* MIC_ON */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT4), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nCAN_RST */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT5), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* LCM_PWR_ON */ \
|
||||||
|
PC_DEFINE(CP(SDMMC2_DAT7), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nCAN_IRQ */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A8), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_IN_NOPULL) /* nDIAGSYS_BOOT */ \
|
||||||
|
PC_DEFINE(CP(GPMC_A9), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* GPS_1PPS */ \
|
||||||
|
PC_DEFINE(CP(GPMC_NCS3), PC_INPUT | PC_PULL_DIS | PC_PULL_UP | PC_MODE4 | PC_OFF_OUT_LOW) /* nTP_IRQ */ \
|
||||||
|
PC_DEFINE(CP(HDQ_SIO), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_IN_PULLDOWN) /* CAN_RST_MON */ \
|
||||||
|
PC_DEFINE(CP(JTAG_EMU0), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | PC_OFF_IN_NOPULL) /* nUSB3_POWER_FAULT */\
|
||||||
|
PC_DEFINE(CP(JTAG_EMU1), PC_INPUT | PC_PULL_ENA | PC_PULL_UP | PC_MODE4 | PC_OFF_IN_NOPULL) /* nUSB1_POWER_FAULT */\
|
||||||
|
PC_DEFINE(CP(MCBSP1_CLKR), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nLCD_RESET */ \
|
||||||
|
PC_DEFINE(CP(MCBSP1_FSR), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* nTP_RESET */ \
|
||||||
|
PC_DEFINE(CP(SYS_CLKOUT1), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* nON_OFF */ \
|
||||||
|
PC_DEFINE(CP(SYS_CLKOUT2), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* CAN_BT_MD */ \
|
||||||
|
PC_DEFINE(CP(UART3_CTS_RCTX),PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* CAN_SYNC */ \
|
||||||
|
PC_DEFINE(CP(ETK_CLK), PC_OUTPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4) /* LCD_UD */ \
|
||||||
|
PC_DEFINE(CP(ETK_D3), PC_INPUT | PC_PULL_DIS | PC_PULL_DOWN | PC_MODE4 | PC_OFF_OUT_LOW) /* SENSE_11V0 */ \
|
||||||
|
|
||||||
|
#ifndef PADCONFIG_SETTINGS_COMMON
|
||||||
|
#define PADCONFIG_SETTINGS_COMMON PADCONFIG_SETTINGS_COMMON_STUTTGART_B1
|
||||||
|
#endif /* PADCONFIG_SETTINGS_COMMON */
|
||||||
|
|
||||||
|
#endif // PADCONFIG_STUTTGART_B1_H
|
||||||
|
|
||||||
366
lib_arm/board.c
366
lib_arm/board.c
@ -43,7 +43,33 @@
|
|||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#include <devices.h>
|
#include <devices.h>
|
||||||
#include <version.h>
|
#include <version.h>
|
||||||
#include <net.h>
|
#if defined(CONFIG_CMD_NET)
|
||||||
|
#include <net.h>
|
||||||
|
#endif
|
||||||
|
#include <asm/io.h>
|
||||||
|
#if defined(CONFIG_SMDK6410) || defined(CONFIG_SMDK6430) || defined(CONFIG_SMDK6440) ||\
|
||||||
|
defined(CONFIG_SEOUL) || defined(CONFIG_LIMA) || defined(CONFIG_VENICE)||\
|
||||||
|
defined(CONFIG_HAVANA) || defined(CONFIG_CORDOBA) || defined(CONFIG_CATANIA_S)
|
||||||
|
#include <movi.h>
|
||||||
|
#include <regs.h>
|
||||||
|
#elif defined(CONFIG_SMDK6450) || defined(CONFIG_VALDEZ)
|
||||||
|
#include <mmc.h>
|
||||||
|
#endif
|
||||||
|
#include <serial.h>
|
||||||
|
|
||||||
|
#ifdef CONFIG_TT_HEADER
|
||||||
|
# include <tt_header.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_CMD_NAND
|
||||||
|
#include <nand.h>
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_CMD_ONENAND
|
||||||
|
#include <onenand_uboot.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#undef DEBUG
|
||||||
|
|
||||||
#ifdef CONFIG_DRIVER_SMC91111
|
#ifdef CONFIG_DRIVER_SMC91111
|
||||||
#include "../drivers/smc91111.h"
|
#include "../drivers/smc91111.h"
|
||||||
@ -54,25 +80,8 @@
|
|||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
#if (CONFIG_COMMANDS & CFG_CMD_NAND)
|
|
||||||
#ifdef ENV_IS_VARIABLE
|
|
||||||
extern u8 is_nand;
|
|
||||||
#endif
|
|
||||||
void nand_init (void);
|
void nand_init (void);
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (CONFIG_COMMANDS & CFG_CMD_FLASH)
|
|
||||||
#ifdef ENV_IS_VARIABLE
|
|
||||||
extern u8 is_flash;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if (CONFIG_COMMANDS & CFG_CMD_ONENAND)
|
|
||||||
#ifdef ENV_IS_VARIABLE
|
|
||||||
extern u8 is_onenand;
|
|
||||||
#endif
|
|
||||||
void onenand_init(void);
|
void onenand_init(void);
|
||||||
#endif
|
|
||||||
|
|
||||||
ulong monitor_flash_len;
|
ulong monitor_flash_len;
|
||||||
|
|
||||||
@ -93,14 +102,17 @@ const char version_string[] =
|
|||||||
U_BOOT_VERSION" (" __DATE__ " - " __TIME__ ")"CONFIG_IDENT_STRING;
|
U_BOOT_VERSION" (" __DATE__ " - " __TIME__ ")"CONFIG_IDENT_STRING;
|
||||||
|
|
||||||
#ifdef CONFIG_DRIVER_CS8900
|
#ifdef CONFIG_DRIVER_CS8900
|
||||||
extern void cs8900_get_enetaddr (uchar * addr);
|
extern int cs8900_get_enetaddr (uchar * addr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_DRIVER_RTL8019
|
#ifdef CONFIG_DRIVER_RTL8019
|
||||||
extern void rtl8019_get_enetaddr (uchar * addr);
|
extern void rtl8019_get_enetaddr (uchar * addr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern void tomtom_env_init(void);
|
#if defined(CONFIG_HARD_I2C) || \
|
||||||
|
defined(CONFIG_SOFT_I2C)
|
||||||
|
#include <i2c.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Begin and End of memory area for malloc(), and current "brk"
|
* Begin and End of memory area for malloc(), and current "brk"
|
||||||
@ -109,8 +121,7 @@ static ulong mem_malloc_start = 0;
|
|||||||
static ulong mem_malloc_end = 0;
|
static ulong mem_malloc_end = 0;
|
||||||
static ulong mem_malloc_brk = 0;
|
static ulong mem_malloc_brk = 0;
|
||||||
|
|
||||||
static
|
static void mem_malloc_init (ulong dest_addr)
|
||||||
void mem_malloc_init (ulong dest_addr)
|
|
||||||
{
|
{
|
||||||
mem_malloc_start = dest_addr;
|
mem_malloc_start = dest_addr;
|
||||||
mem_malloc_end = dest_addr + CFG_MALLOC_LEN;
|
mem_malloc_end = dest_addr + CFG_MALLOC_LEN;
|
||||||
@ -133,6 +144,40 @@ void *sbrk (ptrdiff_t increment)
|
|||||||
return ((void *) old);
|
return ((void *) old);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *strmhz(char *buf, long hz)
|
||||||
|
{
|
||||||
|
long l, n;
|
||||||
|
long m;
|
||||||
|
|
||||||
|
n = hz / 1000000L;
|
||||||
|
l = sprintf (buf, "%ld", n);
|
||||||
|
m = (hz % 1000000L) / 1000L;
|
||||||
|
if (m != 0)
|
||||||
|
sprintf (buf + l, ".%03ld", m);
|
||||||
|
return (buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************************
|
||||||
|
* Coloured LED functionality
|
||||||
|
************************************************************************
|
||||||
|
* May be supplied by boards if desired
|
||||||
|
*/
|
||||||
|
void inline __coloured_LED_init (void) {}
|
||||||
|
void inline coloured_LED_init (void) __attribute__((weak, alias("__coloured_LED_init")));
|
||||||
|
void inline __red_LED_on (void) {}
|
||||||
|
void inline red_LED_on (void) __attribute__((weak, alias("__red_LED_on")));
|
||||||
|
void inline __red_LED_off(void) {}
|
||||||
|
void inline red_LED_off(void) __attribute__((weak, alias("__red_LED_off")));
|
||||||
|
void inline __green_LED_on(void) {}
|
||||||
|
void inline green_LED_on(void) __attribute__((weak, alias("__green_LED_on")));
|
||||||
|
void inline __green_LED_off(void) {}
|
||||||
|
void inline green_LED_off(void)__attribute__((weak, alias("__green_LED_off")));
|
||||||
|
void inline __yellow_LED_on(void) {}
|
||||||
|
void inline yellow_LED_on(void)__attribute__((weak, alias("__yellow_LED_on")));
|
||||||
|
void inline __yellow_LED_off(void) {}
|
||||||
|
void inline yellow_LED_off(void)__attribute__((weak, alias("__yellow_LED_off")));
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
* Init Utilities *
|
* Init Utilities *
|
||||||
************************************************************************
|
************************************************************************
|
||||||
@ -155,8 +200,14 @@ static int init_baudrate (void)
|
|||||||
static int display_banner (void)
|
static int display_banner (void)
|
||||||
{
|
{
|
||||||
printf ("\n\n%s\n\n", version_string);
|
printf ("\n\n%s\n\n", version_string);
|
||||||
|
|
||||||
debug ("U-Boot code: %08lX -> %08lX BSS: -> %08lX\n",
|
debug ("U-Boot code: %08lX -> %08lX BSS: -> %08lX\n",
|
||||||
_armboot_start, _bss_start, _bss_end);
|
_armboot_start, _bss_start, _bss_end);
|
||||||
|
#ifdef CONFIG_MEMORY_UPPER_CODE /* by scsuh */
|
||||||
|
debug("\t\bMalloc and Stack is above the U-Boot Code.\n");
|
||||||
|
#else
|
||||||
|
debug("\t\bMalloc and Stack is below the U-Boot Code.\n");
|
||||||
|
#endif
|
||||||
#ifdef CONFIG_MODEM_SUPPORT
|
#ifdef CONFIG_MODEM_SUPPORT
|
||||||
debug ("Modem Support enabled\n");
|
debug ("Modem Support enabled\n");
|
||||||
#endif
|
#endif
|
||||||
@ -192,7 +243,8 @@ static int display_dram_config (void)
|
|||||||
for (i=0; i<CONFIG_NR_DRAM_BANKS; i++) {
|
for (i=0; i<CONFIG_NR_DRAM_BANKS; i++) {
|
||||||
size += gd->bd->bi_dram[i].size;
|
size += gd->bd->bi_dram[i].size;
|
||||||
}
|
}
|
||||||
puts("DRAM: ");
|
|
||||||
|
puts("DRAM: ");
|
||||||
print_size(size, "\n");
|
print_size(size, "\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -202,11 +254,32 @@ static int display_dram_config (void)
|
|||||||
#ifndef CFG_NO_FLASH
|
#ifndef CFG_NO_FLASH
|
||||||
static void display_flash_config (ulong size)
|
static void display_flash_config (ulong size)
|
||||||
{
|
{
|
||||||
puts ("Flash: ");
|
puts ("Flash: ");
|
||||||
print_size (size, "\n");
|
print_size (size, "\n");
|
||||||
}
|
}
|
||||||
#endif /* CFG_NO_FLASH */
|
#endif /* CFG_NO_FLASH */
|
||||||
|
|
||||||
|
#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
|
||||||
|
static int init_func_i2c (void)
|
||||||
|
{
|
||||||
|
puts ("I2C: ");
|
||||||
|
i2c_init (CFG_I2C_SPEED, CFG_I2C_SLAVE);
|
||||||
|
puts ("ready\n");
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_SKIP_RELOCATE_UBOOT
|
||||||
|
/*
|
||||||
|
* This routine sets the relocation done flag, because even if
|
||||||
|
* relocation is skipped, the flag is used by other generic code.
|
||||||
|
*/
|
||||||
|
static int reloc_init(void)
|
||||||
|
{
|
||||||
|
gd->flags |= GD_FLG_RELOC;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Breathe some life into the board...
|
* Breathe some life into the board...
|
||||||
@ -237,6 +310,11 @@ int print_cpuinfo (void); /* test-only */
|
|||||||
|
|
||||||
init_fnc_t *init_sequence[] = {
|
init_fnc_t *init_sequence[] = {
|
||||||
cpu_init, /* basic cpu dependent setup */
|
cpu_init, /* basic cpu dependent setup */
|
||||||
|
#if defined(CONFIG_SKIP_RELOCATE_UBOOT)
|
||||||
|
reloc_init, /* Set the relocation done flag, must
|
||||||
|
do this AFTER cpu_init(), but as soon
|
||||||
|
as possible */
|
||||||
|
#endif
|
||||||
board_init, /* basic board dependent setup */
|
board_init, /* basic board dependent setup */
|
||||||
interrupt_init, /* set up exceptions */
|
interrupt_init, /* set up exceptions */
|
||||||
env_init, /* initialize environment */
|
env_init, /* initialize environment */
|
||||||
@ -249,9 +327,15 @@ init_fnc_t *init_sequence[] = {
|
|||||||
#endif
|
#endif
|
||||||
#if defined(CONFIG_DISPLAY_BOARDINFO)
|
#if defined(CONFIG_DISPLAY_BOARDINFO)
|
||||||
checkboard, /* display board info */
|
checkboard, /* display board info */
|
||||||
|
#endif
|
||||||
|
#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
|
||||||
|
init_func_i2c,
|
||||||
#endif
|
#endif
|
||||||
dram_init, /* configure available RAM banks */
|
dram_init, /* configure available RAM banks */
|
||||||
display_dram_config,
|
display_dram_config,
|
||||||
|
#if defined(CONFIG_TT_HEADER)
|
||||||
|
check_bricknum, /* is this release allowed to run? */
|
||||||
|
#endif
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -259,15 +343,35 @@ void start_armboot (void)
|
|||||||
{
|
{
|
||||||
init_fnc_t **init_fnc_ptr;
|
init_fnc_t **init_fnc_ptr;
|
||||||
char *s;
|
char *s;
|
||||||
#ifndef CFG_NO_FLASH
|
#if !defined(CFG_NO_FLASH) || defined (CONFIG_VFD) || defined(CONFIG_LCD)
|
||||||
ulong size = 0;
|
ulong size;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_VFD) || defined(CONFIG_LCD)
|
#if defined(CONFIG_VFD) || defined(CONFIG_LCD)
|
||||||
unsigned long addr;
|
unsigned long addr;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_BOOT_MOVINAND)
|
||||||
|
uint *magic = (uint *) (PHYS_SDRAM_1);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_S3C_MMC_BOOT
|
||||||
|
clear_bss();
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Pointer is writable since we allocated a register for it */
|
/* Pointer is writable since we allocated a register for it */
|
||||||
|
#ifdef CONFIG_MEMORY_UPPER_CODE /* by scsuh */
|
||||||
|
ulong gd_base;
|
||||||
|
|
||||||
|
gd_base = CFG_UBOOT_BASE + CFG_UBOOT_SIZE - CFG_MALLOC_LEN - CFG_STACK_SIZE - sizeof(gd_t);
|
||||||
|
#ifdef CONFIG_USE_IRQ
|
||||||
|
gd_base -= (CONFIG_STACKSIZE_IRQ+CONFIG_STACKSIZE_FIQ);
|
||||||
|
#endif
|
||||||
|
gd = (gd_t*)gd_base;
|
||||||
|
#else
|
||||||
gd = (gd_t*)(_armboot_start - CFG_MALLOC_LEN - sizeof(gd_t));
|
gd = (gd_t*)(_armboot_start - CFG_MALLOC_LEN - sizeof(gd_t));
|
||||||
|
#endif
|
||||||
|
|
||||||
/* compiler optimization barrier needed for GCC >= 3.4 */
|
/* compiler optimization barrier needed for GCC >= 3.4 */
|
||||||
__asm__ __volatile__("": : :"memory");
|
__asm__ __volatile__("": : :"memory");
|
||||||
|
|
||||||
@ -275,6 +379,8 @@ void start_armboot (void)
|
|||||||
gd->bd = (bd_t*)((char*)gd - sizeof(bd_t));
|
gd->bd = (bd_t*)((char*)gd - sizeof(bd_t));
|
||||||
memset (gd->bd, 0, sizeof (bd_t));
|
memset (gd->bd, 0, sizeof (bd_t));
|
||||||
|
|
||||||
|
gd->flags |= GD_FLG_RELOC;
|
||||||
|
|
||||||
monitor_flash_len = _bss_start - _armboot_start;
|
monitor_flash_len = _bss_start - _armboot_start;
|
||||||
|
|
||||||
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
|
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
|
||||||
@ -285,9 +391,6 @@ void start_armboot (void)
|
|||||||
|
|
||||||
#ifndef CFG_NO_FLASH
|
#ifndef CFG_NO_FLASH
|
||||||
/* configure available FLASH banks */
|
/* configure available FLASH banks */
|
||||||
#ifdef ENV_IS_VARIABLE
|
|
||||||
if (is_flash)
|
|
||||||
#endif
|
|
||||||
size = flash_init ();
|
size = flash_init ();
|
||||||
display_flash_config (size);
|
display_flash_config (size);
|
||||||
#endif /* CFG_NO_FLASH */
|
#endif /* CFG_NO_FLASH */
|
||||||
@ -306,36 +409,164 @@ void start_armboot (void)
|
|||||||
#endif /* CONFIG_VFD */
|
#endif /* CONFIG_VFD */
|
||||||
|
|
||||||
#ifdef CONFIG_LCD
|
#ifdef CONFIG_LCD
|
||||||
# ifndef PAGE_SIZE
|
/* board init may have inited fb_base */
|
||||||
# define PAGE_SIZE 4096
|
if (!gd->fb_base) {
|
||||||
# endif
|
# ifndef PAGE_SIZE
|
||||||
/*
|
# define PAGE_SIZE 4096
|
||||||
* reserve memory for LCD display (always full pages)
|
# endif
|
||||||
*/
|
/*
|
||||||
/* bss_end is defined in the board-specific linker script */
|
* reserve memory for LCD display (always full pages)
|
||||||
addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
|
*/
|
||||||
size = lcd_setmem (addr);
|
/* bss_end is defined in the board-specific linker script */
|
||||||
gd->fb_base = addr;
|
addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
|
||||||
|
size = lcd_setmem (addr);
|
||||||
|
gd->fb_base = addr;
|
||||||
|
}
|
||||||
#endif /* CONFIG_LCD */
|
#endif /* CONFIG_LCD */
|
||||||
|
|
||||||
/* armboot_start is defined in the board-specific linker script */
|
/* armboot_start is defined in the board-specific linker script */
|
||||||
|
#ifdef CONFIG_MEMORY_UPPER_CODE /* by scsuh */
|
||||||
|
mem_malloc_init (CFG_UBOOT_BASE + CFG_UBOOT_SIZE - CFG_MALLOC_LEN - CFG_STACK_SIZE);
|
||||||
|
#else
|
||||||
mem_malloc_init (_armboot_start - CFG_MALLOC_LEN);
|
mem_malloc_init (_armboot_start - CFG_MALLOC_LEN);
|
||||||
|
|
||||||
#if (CONFIG_COMMANDS & CFG_CMD_NAND)
|
|
||||||
#ifdef ENV_IS_VARIABLE
|
|
||||||
if (is_nand)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* samsung socs: auto-detect devices */
|
||||||
|
#if defined(CONFIG_SMDK6410) || defined(CONFIG_SMDK6430) || defined(CONFIG_SMDKC100) ||\
|
||||||
|
defined(CONFIG_SEOUL) || defined(CONFIG_LIMA) || defined(CONFIG_VENICE)
|
||||||
|
|
||||||
|
#if defined(CONFIG_MMC)
|
||||||
|
#if 0 /* TODO ? (not required for PND??) */
|
||||||
|
#if defined(CONFIG_S3C_MMC_BL0)
|
||||||
|
/* Use S3C64xx BL0 gathered information to set INF_REG3_REG */
|
||||||
|
/* refer to location of global variable set by S3C64xx IROM (BL0, from IROM spec)*/
|
||||||
|
#define S3C6400_IROM_HSMMC_BASE_ADDR (* (unsigned int*) (((void *)0) + (TCM_BASE-0x14)))
|
||||||
|
|
||||||
|
if (S3C6400_IROM_HSMMC_BASE_ADDR == ELFIN_HSMMC_0_BASE)
|
||||||
{
|
{
|
||||||
puts ("NAND:");
|
/* booted from mmc ch0 */
|
||||||
nand_init(); /* go init the NAND */
|
INF_REG3_REG = 0;
|
||||||
|
}
|
||||||
|
else if (S3C6400_IROM_HSMMC_BASE_ADDR == ELFIN_HSMMC_1_BASE)
|
||||||
|
{
|
||||||
|
/* booted from mmc ch1 */
|
||||||
|
INF_REG3_REG = 7;
|
||||||
|
}
|
||||||
|
#endif /* defined(CONFIG_S3C_MMC_BL0) */
|
||||||
|
#endif /* 0 */
|
||||||
|
puts("SD/MMC: ");
|
||||||
|
|
||||||
|
#if !defined(CONFIG_SMDKC100)
|
||||||
|
if (INF_REG3_REG == 0)
|
||||||
|
movi_ch = 0;
|
||||||
|
else
|
||||||
|
movi_ch = 1;
|
||||||
|
#else /* CONFIG_SMDKC100 */
|
||||||
|
movi_ch = 0;
|
||||||
|
#endif /* CONFIG_SMDKC100 */
|
||||||
|
|
||||||
|
movi_set_capacity();
|
||||||
|
movi_set_ofs(MOVI_TOTAL_BLKCNT);
|
||||||
|
movi_init();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if !defined(CONFIG_SEOUL) && !defined(CONFIG_LIMA) && !defined(CONFIG_VENICE)
|
||||||
|
if (INF_REG3_REG == 1) {
|
||||||
|
puts("OneNAND: ");
|
||||||
|
onenand_init();
|
||||||
|
/*setenv("bootcmd", "onenand read c0008000 80000 380000;bootm c0008000");*/
|
||||||
|
} else {
|
||||||
|
puts("NAND: ");
|
||||||
|
nand_init();
|
||||||
|
|
||||||
|
#if !defined(CONFIG_SMDKC100)
|
||||||
|
if (INF_REG3_REG == 0 || INF_REG3_REG == 7)
|
||||||
|
// setenv("bootcmd", "movi read kernel c0008000;movi read rootfs c0800000;bootm c0008000");
|
||||||
|
setenv("bootcmd", CONFIG_BOOTCOMMAND);
|
||||||
|
else
|
||||||
|
setenv("bootcmd", "nand read c0008000 80000 380000;bootm c0008000");
|
||||||
|
#endif /* CONFIG_SMDKC100 */
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_SEOUL && CONFIG_LIMA && CONFIG_VENICE */
|
||||||
|
|
||||||
|
/* samsung socs: another auto-detect devices */
|
||||||
|
#elif defined(CONFIG_SMDK6440) || defined(CONFIG_HAVANA) || defined(CONFIG_CORDOBA) || defined(CONFIG_CATANIA_S)
|
||||||
|
|
||||||
|
#if defined(CONFIG_MMC)
|
||||||
|
if (INF_REG3_REG == 1) { /* eMMC_4.3 */
|
||||||
|
puts("eMMC: ");
|
||||||
|
movi_ch = 1;
|
||||||
|
movi_emmc = 1;
|
||||||
|
|
||||||
|
movi_set_ofs(0);
|
||||||
|
movi_init();
|
||||||
|
} else if (INF_REG3_REG == 7 || INF_REG3_REG == 0) { /* SD/MMC */
|
||||||
|
if (INF_REG3_REG & 0x1)
|
||||||
|
movi_ch = 1;
|
||||||
|
else
|
||||||
|
movi_ch = 0;
|
||||||
|
|
||||||
|
puts("SD/MMC: ");
|
||||||
|
|
||||||
|
movi_set_capacity();
|
||||||
|
movi_set_ofs(MOVI_TOTAL_BLKCNT);
|
||||||
|
movi_init();
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_MMC */
|
||||||
|
|
||||||
|
#ifdef CONFIG_SMDK6440
|
||||||
|
if (INF_REG3_REG == 2) {
|
||||||
|
; /* N/A */
|
||||||
|
} else {
|
||||||
|
puts("NAND: ");
|
||||||
|
nand_init();
|
||||||
|
|
||||||
|
//setenv("bootcmd", "nand read c0008000 80000 380000;bootm c0008000");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (CONFIG_COMMANDS & CFG_CMD_ONENAND)
|
/* samsung socs: no auto-detect devices */
|
||||||
#ifdef ENV_IS_VARIABLE
|
#elif defined(CONFIG_SMDK6400) || defined(CONFIG_SMDK2450) || defined(CONFIG_SMDK2416)
|
||||||
if (is_onenand)
|
|
||||||
#endif
|
#if defined(CONFIG_NAND)
|
||||||
|
puts("NAND: ");
|
||||||
|
nand_init();
|
||||||
|
#endif /* CONFIG_NAND */
|
||||||
|
|
||||||
|
#if defined(CONFIG_ONENAND)
|
||||||
|
puts("OneNAND: ");
|
||||||
onenand_init();
|
onenand_init();
|
||||||
|
#endif /* CONFIG_ONENAND */
|
||||||
|
|
||||||
|
#if defined(CONFIG_BOOT_MOVINAND)
|
||||||
|
puts("SD/MMC: ");
|
||||||
|
|
||||||
|
if ((0x24564236 == magic[0]) && (0x20764316 == magic[1])) {
|
||||||
|
printf("Boot up for burning\n");
|
||||||
|
} else {
|
||||||
|
movi_set_capacity();
|
||||||
|
movi_set_ofs(MOVI_TOTAL_BLKCNT);
|
||||||
|
movi_init();
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_BOOT_MOVINAND */
|
||||||
|
|
||||||
|
/* others */
|
||||||
|
#else /* defined(CONFIG_SMDK6400) || defined(CONFIG_SMDK2450) || defined(CONFIG_SMDK2416) */
|
||||||
|
|
||||||
|
#if defined(CONFIG_CMD_NAND)
|
||||||
|
puts ("NAND: ");
|
||||||
|
nand_init();
|
||||||
|
#endif /* CONFIG_CMD_NAND */
|
||||||
|
|
||||||
|
/* CONFIG_SMDK6450, CONFIG_VALDEZ use this */
|
||||||
|
#if defined(CONFIG_GENERIC_MMC)
|
||||||
|
puts("SD/MMC: ");
|
||||||
|
if (mmc_initialize(gd->bd))
|
||||||
|
puts ("0 MB\n");
|
||||||
|
#endif /* CONFIG_GENERIC_MMC */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_HAS_DATAFLASH
|
#ifdef CONFIG_HAS_DATAFLASH
|
||||||
@ -351,14 +582,17 @@ void start_armboot (void)
|
|||||||
/* initialize environment */
|
/* initialize environment */
|
||||||
env_relocate ();
|
env_relocate ();
|
||||||
|
|
||||||
/* set TomTom specific environment variables */
|
|
||||||
tomtom_env_init();
|
|
||||||
|
|
||||||
#ifdef CONFIG_VFD
|
#ifdef CONFIG_VFD
|
||||||
/* must do this after the framebuffer is allocated */
|
/* must do this after the framebuffer is allocated */
|
||||||
drv_vfd_init();
|
drv_vfd_init();
|
||||||
#endif /* CONFIG_VFD */
|
#endif /* CONFIG_VFD */
|
||||||
|
|
||||||
|
#ifdef CONFIG_SERIAL_MULTI
|
||||||
|
serial_initialize();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_NET
|
||||||
|
|
||||||
/* IP Address */
|
/* IP Address */
|
||||||
gd->bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
|
gd->bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
|
||||||
|
|
||||||
@ -389,7 +623,7 @@ void start_armboot (void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
devices_init (); /* get the devices list going. */
|
devices_init (); /* get the devices list going. */
|
||||||
|
|
||||||
#ifdef CONFIG_CMC_PU2
|
#ifdef CONFIG_CMC_PU2
|
||||||
@ -409,6 +643,13 @@ void start_armboot (void)
|
|||||||
enable_interrupts ();
|
enable_interrupts ();
|
||||||
|
|
||||||
/* Perform network card initialisation if necessary */
|
/* Perform network card initialisation if necessary */
|
||||||
|
#ifdef CONFIG_DRIVER_TI_EMAC
|
||||||
|
extern void dm644x_eth_set_mac_addr (const u_int8_t *addr);
|
||||||
|
if (getenv ("ethaddr")) {
|
||||||
|
dm644x_eth_set_mac_addr(gd->bd->bi_enetaddr);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_DRIVER_CS8900
|
#ifdef CONFIG_DRIVER_CS8900
|
||||||
cs8900_get_enetaddr (gd->bd->bi_enetaddr);
|
cs8900_get_enetaddr (gd->bd->bi_enetaddr);
|
||||||
#endif
|
#endif
|
||||||
@ -423,20 +664,24 @@ void start_armboot (void)
|
|||||||
if ((s = getenv ("loadaddr")) != NULL) {
|
if ((s = getenv ("loadaddr")) != NULL) {
|
||||||
load_addr = simple_strtoul (s, NULL, 16);
|
load_addr = simple_strtoul (s, NULL, 16);
|
||||||
}
|
}
|
||||||
#if (CONFIG_COMMANDS & CFG_CMD_NET)
|
#if defined(CONFIG_CMD_NET)
|
||||||
if ((s = getenv ("bootfile")) != NULL) {
|
if ((s = getenv ("bootfile")) != NULL) {
|
||||||
copy_filename (BootFile, s, sizeof (BootFile));
|
copy_filename (BootFile, s, sizeof (BootFile));
|
||||||
}
|
}
|
||||||
#endif /* CFG_CMD_NET */
|
#endif
|
||||||
|
|
||||||
#ifdef BOARD_LATE_INIT
|
#ifdef BOARD_LATE_INIT
|
||||||
board_late_init ();
|
board_late_init ();
|
||||||
#endif
|
#endif
|
||||||
#if (CONFIG_COMMANDS & CFG_CMD_NET)
|
#if defined(CONFIG_CMD_NET)
|
||||||
#if defined(CONFIG_NET_MULTI)
|
#if defined(CONFIG_NET_MULTI)
|
||||||
puts ("Net: ");
|
puts ("Net: ");
|
||||||
#endif
|
#endif
|
||||||
eth_initialize(gd->bd);
|
eth_initialize(gd->bd);
|
||||||
|
#if defined(CONFIG_RESET_PHY_R)
|
||||||
|
debug ("Reset Ethernet PHY\n");
|
||||||
|
reset_phy();
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
/* main_loop() can return to retry autoboot, if so just run it again. */
|
/* main_loop() can return to retry autoboot, if so just run it again. */
|
||||||
for (;;) {
|
for (;;) {
|
||||||
@ -450,11 +695,18 @@ extern void epicfail(void);
|
|||||||
|
|
||||||
void hang (void)
|
void hang (void)
|
||||||
{
|
{
|
||||||
puts ("### ERROR ### Please RESET the board ###\n");
|
|
||||||
#ifdef EPICFAIL_POWEROFF
|
#ifdef EPICFAIL_POWEROFF
|
||||||
|
puts ("ERROR: volountary epic fail\n");
|
||||||
epicfail();
|
epicfail();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_CMD_BOOTWATCHDOG
|
||||||
|
/* Tell bootwatchdog the signature check failed */
|
||||||
|
bootwatchdog_pulse(20000, 0);
|
||||||
|
puts ("### ERROR ### Please RESET the board ###\n");
|
||||||
|
#else
|
||||||
for (;;);
|
for (;;);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_MODEM_SUPPORT
|
#ifdef CONFIG_MODEM_SUPPORT
|
||||||
|
|||||||
334
plat-tomtom/offenburg/sys_info.c
Normal file
334
plat-tomtom/offenburg/sys_info.c
Normal file
@ -0,0 +1,334 @@
|
|||||||
|
/*
|
||||||
|
* (C) Copyright 2009
|
||||||
|
* Texas Instruments, <www.ti.com>
|
||||||
|
* Richard Woodruff <r-woodruff2@ti.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR /PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
|
* MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
#include <asm/arch/cpu.h>
|
||||||
|
#include <asm/io.h>
|
||||||
|
#include <asm/arch/bits.h>
|
||||||
|
#include <asm/arch/mem.h> /* get mem tables */
|
||||||
|
#include <asm/arch/sys_proto.h>
|
||||||
|
#include <asm/arch/sys_info.h>
|
||||||
|
#include <asm/arch/rev.h>
|
||||||
|
#include <i2c.h>
|
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
u32 get_board_rev(void);
|
||||||
|
|
||||||
|
/****************************************************
|
||||||
|
* get_cpu_type() - low level get cpu type
|
||||||
|
* - no C globals yet.
|
||||||
|
****************************************************/
|
||||||
|
u32 get_cpu_type(void)
|
||||||
|
{
|
||||||
|
// fixme, need to get register defines for 3430
|
||||||
|
return (CPU_3430);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cpu_is_3410(void) - returns true for 3410
|
||||||
|
*/
|
||||||
|
u32 cpu_is_3410(void)
|
||||||
|
{
|
||||||
|
int status;
|
||||||
|
if (get_cpu_rev() < CPU_3XX_ES20) {
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
/* read scalability status and return 1 for 3410*/
|
||||||
|
status = __raw_readl(CONTROL_SCALABLE_OMAP_STATUS);
|
||||||
|
/*
|
||||||
|
* Check whether MPU frequency is set to 266 MHz which
|
||||||
|
* is nominal for 3410. If yes return true else false
|
||||||
|
*/
|
||||||
|
if (((status >> 8) & 0x3) == 0x2)
|
||||||
|
return 1;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/****************************************************
|
||||||
|
* is_mem_sdr() - return 1 if mem type in use is SDR
|
||||||
|
****************************************************/
|
||||||
|
u32 is_mem_sdr(void)
|
||||||
|
{
|
||||||
|
volatile u32 *burst = (volatile u32 *)(SDRC_MR_0 + SDRC_CS0_OSET);
|
||||||
|
if (*burst == SDP_SDRC_MR_0_SDR)
|
||||||
|
return (1);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************
|
||||||
|
* get_mem_type() - identify type of mDDR part used.
|
||||||
|
***********************************************************/
|
||||||
|
u32 get_mem_type(void)
|
||||||
|
{
|
||||||
|
#if (defined(CONFIG_STRASBOURG) && defined(__VARIANT_RENNES_A1))
|
||||||
|
return (DDR_STACKED);
|
||||||
|
#else
|
||||||
|
return (DDR_DISCRETE);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* get_cs0_size() - get size of chip select 0/1
|
||||||
|
************************************************************************/
|
||||||
|
u32 get_sdr_cs_size(u32 offset)
|
||||||
|
{
|
||||||
|
u32 size;
|
||||||
|
|
||||||
|
/* get ram size field */
|
||||||
|
size = __raw_readl(SDRC_MCFG_0 + offset) >> 8;
|
||||||
|
size &= 0x3FF; /* remove unwanted bits */
|
||||||
|
size *= SZ_2M; /* find size in MB */
|
||||||
|
return (size);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* get_board_type() - get board type based on current production stats.
|
||||||
|
* - NOTE-1-: 2 I2C EEPROMs will someday be populated with proper info.
|
||||||
|
* when they are available we can get info from there. This should
|
||||||
|
* be correct of all known boards up until today.
|
||||||
|
* - NOTE-2- EEPROMs are populated but they are updated very slowly. To
|
||||||
|
* avoid waiting on them we will use ES version of the chip to get info.
|
||||||
|
* A later version of the FPGA migth solve their speed issue.
|
||||||
|
*/
|
||||||
|
u32 get_board_type(void)
|
||||||
|
{
|
||||||
|
if (get_cpu_rev() >= CPU_3XX_ES20)
|
||||||
|
return SDP_3430_V2;
|
||||||
|
else
|
||||||
|
return SDP_3430_V1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************************************************************
|
||||||
|
* get_sysboot_value() - get init word settings
|
||||||
|
******************************************************************/
|
||||||
|
inline u32 get_sysboot_value(void)
|
||||||
|
{
|
||||||
|
return (0x0000003F & __raw_readl(CONTROL_STATUS));
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
* get_gpmc0_base() - Return current address hardware will be
|
||||||
|
* fetching from. The below effectively gives what is correct, its a bit
|
||||||
|
* mis-leading compared to the TRM. For the most general case the mask
|
||||||
|
* needs to be also taken into account this does work in practice.
|
||||||
|
* - for u-boot we currently map:
|
||||||
|
* -- 0 to nothing,
|
||||||
|
* -- 4 to flash
|
||||||
|
* -- 8 to enent
|
||||||
|
* -- c to wifi
|
||||||
|
****************************************************************************/
|
||||||
|
u32 get_gpmc0_base(void)
|
||||||
|
{
|
||||||
|
u32 b;
|
||||||
|
|
||||||
|
b = __raw_readl(GPMC_CONFIG_CS0 + GPMC_CONFIG7);
|
||||||
|
b &= 0x1F; /* keep base [5:0] */
|
||||||
|
b = b << 24; /* ret 0x0b000000 */
|
||||||
|
return (b);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*******************************************************************
|
||||||
|
* get_gpmc0_width() - See if bus is in x8 or x16 (mainly for nand)
|
||||||
|
*******************************************************************/
|
||||||
|
u32 get_gpmc0_width(void)
|
||||||
|
{
|
||||||
|
return (WIDTH_16BIT);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
* display_board_info() - print banner with board info.
|
||||||
|
*********************************************************************/
|
||||||
|
void display_board_info(u32 btype)
|
||||||
|
{
|
||||||
|
enum {
|
||||||
|
BOOTMODE_NOR,
|
||||||
|
BOOTMODE_ONND,
|
||||||
|
BOOTMODE_NAND,
|
||||||
|
BOOTMODE_MMC
|
||||||
|
};
|
||||||
|
|
||||||
|
char *bootmode[] = {
|
||||||
|
"NOR",
|
||||||
|
"ONND",
|
||||||
|
"NAND",
|
||||||
|
"MMC"
|
||||||
|
};
|
||||||
|
u32 brev = get_board_rev();
|
||||||
|
char cpu_3430s[] = CONFIG_OMAP3_SOC_NAME;
|
||||||
|
char db_ver[] = "0.0"; /* board type */
|
||||||
|
char mem_sdr[] = "mSDR"; /* memory type */
|
||||||
|
char mem_ddr[] = "mDDR";
|
||||||
|
char t_tst[] = "TST"; /* security level */
|
||||||
|
char t_emu[] = "EMU";
|
||||||
|
char t_hs[] = "HS";
|
||||||
|
char t_gp[] = "GP";
|
||||||
|
char unk[] = "?";
|
||||||
|
#ifdef CONFIG_LED_INFO
|
||||||
|
char led_string[CONFIG_LED_LEN] = { 0 };
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(L3_200MHZ)
|
||||||
|
char p_l3[] = "200";
|
||||||
|
#elif defined(L3_165MHZ)
|
||||||
|
char p_l3[] = "165";
|
||||||
|
#elif defined(L3_110MHZ)
|
||||||
|
char p_l3[] = "110";
|
||||||
|
#elif defined(L3_133MHZ)
|
||||||
|
char p_l3[] = "133";
|
||||||
|
#elif defined(L3_100MHZ)
|
||||||
|
char p_l3[] = "100";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(PRCM_PCLK_OPP1)
|
||||||
|
char p_cpu[] = "1";
|
||||||
|
#elif defined(PRCM_PCLK_OPP2)
|
||||||
|
char p_cpu[] = "2";
|
||||||
|
#elif defined(PRCM_PCLK_OPP3)
|
||||||
|
char p_cpu[] = "3";
|
||||||
|
#elif defined(PRCM_PCLK_OPP4)
|
||||||
|
char p_cpu[] = "4";
|
||||||
|
#endif
|
||||||
|
char *cpu_s, *db_s, *mem_s, *sec_s;
|
||||||
|
u32 cpu, rev, sec;
|
||||||
|
|
||||||
|
rev = get_cpu_rev();
|
||||||
|
cpu = get_cpu_type();
|
||||||
|
sec = get_device_type();
|
||||||
|
|
||||||
|
if (is_mem_sdr())
|
||||||
|
mem_s = mem_sdr;
|
||||||
|
else
|
||||||
|
mem_s = mem_ddr;
|
||||||
|
|
||||||
|
cpu_s = cpu_3430s;
|
||||||
|
|
||||||
|
db_s = db_ver;
|
||||||
|
db_s[0] += (brev >> 4) & 0xF;
|
||||||
|
db_s[2] += brev & 0xF;
|
||||||
|
|
||||||
|
switch (sec) {
|
||||||
|
case TST_DEVICE:
|
||||||
|
sec_s = t_tst;
|
||||||
|
break;
|
||||||
|
case EMU_DEVICE:
|
||||||
|
sec_s = t_emu;
|
||||||
|
break;
|
||||||
|
case HS_DEVICE:
|
||||||
|
sec_s = t_hs;
|
||||||
|
break;
|
||||||
|
case GP_DEVICE:
|
||||||
|
sec_s = t_gp;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
sec_s = unk;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("OMAP%s-%s rev %d, CPU-OPP%s L3-%sMHz\n", cpu_s, sec_s, rev,
|
||||||
|
p_cpu, p_l3);
|
||||||
|
printf("OMAP" CONFIG_OMAP3_SOC_NAME " " CONFIG_BOARD_NAME " %s Version + %s (Boot %s)\n", db_s,
|
||||||
|
mem_s, bootmode[BOOTMODE_MMC]);
|
||||||
|
printf("Machine: %lu, Revision: %x\n", gd->bd->bi_arch_number, get_board_rev());
|
||||||
|
#ifdef CONFIG_LED_INFO
|
||||||
|
/* Format: 0123456789ABCDEF
|
||||||
|
* 3430C GP L3-100 NAND
|
||||||
|
*/
|
||||||
|
sprintf(led_string, "%5s%3s%3s %4s", cpu_s, sec_s, p_l3,
|
||||||
|
bootmode[2]);
|
||||||
|
/* reuse sec */
|
||||||
|
for (sec = 0; sec < CONFIG_LED_LEN; sec += 2) {
|
||||||
|
/* invert byte loc */
|
||||||
|
u16 val = led_string[sec] << 8;
|
||||||
|
val |= led_string[sec + 1];
|
||||||
|
__raw_writew(val, LED_REGISTER + sec);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/********************************************************
|
||||||
|
* get_base(); get upper addr of current execution
|
||||||
|
*******************************************************/
|
||||||
|
u32 get_base(void)
|
||||||
|
{
|
||||||
|
u32 val;
|
||||||
|
__asm__ __volatile__("mov %0, pc \n":"=r"(val)::"memory");
|
||||||
|
val &= 0xF0000000;
|
||||||
|
val >>= 28;
|
||||||
|
return (val);
|
||||||
|
}
|
||||||
|
|
||||||
|
/********************************************************
|
||||||
|
* running_in_flash() - tell if currently running in
|
||||||
|
* flash.
|
||||||
|
*******************************************************/
|
||||||
|
u32 running_in_flash(void)
|
||||||
|
{
|
||||||
|
if (get_base() < 4)
|
||||||
|
return (1); /* in flash */
|
||||||
|
return (0); /* running in SRAM or SDRAM */
|
||||||
|
}
|
||||||
|
|
||||||
|
/********************************************************
|
||||||
|
* running_in_sram() - tell if currently running in
|
||||||
|
* sram.
|
||||||
|
*******************************************************/
|
||||||
|
u32 running_in_sram(void)
|
||||||
|
{
|
||||||
|
if (get_base() == 4)
|
||||||
|
return (1); /* in SRAM */
|
||||||
|
return (0); /* running in FLASH or SDRAM */
|
||||||
|
}
|
||||||
|
|
||||||
|
/********************************************************
|
||||||
|
* running_in_sdram() - tell if currently running in
|
||||||
|
* sdram.
|
||||||
|
*******************************************************/
|
||||||
|
u32 running_in_sdram(void)
|
||||||
|
{
|
||||||
|
if (get_base() > 4)
|
||||||
|
return (1); /* in sdram */
|
||||||
|
return (0); /* running in SRAM or FLASH */
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************************
|
||||||
|
* get_boot_type() - Is this an XIP type device or a stream one
|
||||||
|
* bits 4-0 specify type. Bit 5 sys mem/perif
|
||||||
|
***************************************************************/
|
||||||
|
u32 get_boot_type(void)
|
||||||
|
{
|
||||||
|
u32 v;
|
||||||
|
|
||||||
|
v = get_sysboot_value() & (BIT4 | BIT3 | BIT2 | BIT1 | BIT0);
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*************************************************************
|
||||||
|
* get_device_type(): tell if GP/HS/EMU/TST
|
||||||
|
*************************************************************/
|
||||||
|
u32 get_device_type(void)
|
||||||
|
{
|
||||||
|
int mode;
|
||||||
|
mode = __raw_readl(CONTROL_STATUS) & (DEVICE_MASK);
|
||||||
|
return (mode >>= 8);
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user