mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
Compare commits
519 Commits
v2018.03-r
...
v2018.03
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f95ab1fb6e | ||
|
|
ca89df7dd4 | ||
|
|
6d7403bf72 | ||
|
|
b887f0a68e | ||
|
|
f0d5bd4ba5 | ||
|
|
ffab61f4aa | ||
|
|
2b0bc47661 | ||
|
|
85e1f6be03 | ||
|
|
2e5c42c630 | ||
|
|
48ba1f3c38 | ||
|
|
63f881d46a | ||
|
|
51be471663 | ||
|
|
b7d6e0abab | ||
|
|
4320e2fda4 | ||
|
|
428e60e079 | ||
|
|
c9bf43dd9d | ||
|
|
293b9814d7 | ||
|
|
b996b7d426 | ||
|
|
17796171be | ||
|
|
c604f47a80 | ||
|
|
d38826a3dc | ||
|
|
b771f0b126 | ||
|
|
314d9f7e3e | ||
|
|
b5b0e4e351 | ||
|
|
5e62f82825 | ||
|
|
81f077f40f | ||
|
|
3cbd5ff18d | ||
|
|
7f586d6fc4 | ||
|
|
4ef17f9cbe | ||
|
|
7c0764b436 | ||
|
|
61ec4e0742 | ||
|
|
24c9309254 | ||
|
|
1bb34c8b89 | ||
|
|
b08c8c4870 | ||
|
|
e0d20dc152 | ||
|
|
a84f559262 | ||
|
|
de2069c761 | ||
|
|
1e5f89881a | ||
|
|
b432b1ebdf | ||
|
|
cd655514aa | ||
|
|
b3f4070340 | ||
|
|
afe0e6bddf | ||
|
|
12e0ab327d | ||
|
|
b2c38dc3d3 | ||
|
|
33ba5b3d1d | ||
|
|
60299e0d4e | ||
|
|
89fcfd1f58 | ||
|
|
4610343950 | ||
|
|
cce09d2676 | ||
|
|
beb84f921a | ||
|
|
50e031efa4 | ||
|
|
4f0533ffcd | ||
|
|
d1fe3182fa | ||
|
|
7a7081e6f3 | ||
|
|
d6eb25c2f1 | ||
|
|
76ed8f0542 | ||
|
|
c6d99986f0 | ||
|
|
f295a5697e | ||
|
|
77bba970e2 | ||
|
|
e1541b1d7f | ||
|
|
6256b02db3 | ||
|
|
3ccc207a30 | ||
|
|
5dc5a53c5e | ||
|
|
71d5a14204 | ||
|
|
e885b4255f | ||
|
|
5c32de202b | ||
|
|
ce3c9a59af | ||
|
|
e7affad190 | ||
|
|
fc3a6f1c53 | ||
|
|
38a69e96b3 | ||
|
|
3990c9d627 | ||
|
|
f415834608 | ||
|
|
d231182441 | ||
|
|
3b3ea2c56e | ||
|
|
44c5580f1c | ||
|
|
3ee58ea425 | ||
|
|
b691c9a668 | ||
|
|
341ca90560 | ||
|
|
92afd7ecf9 | ||
|
|
a0fd381fc6 | ||
|
|
8f5672ea9d | ||
|
|
1693a577be | ||
|
|
8d6312032e | ||
|
|
c550389881 | ||
|
|
431be621c6 | ||
|
|
76f11d3adf | ||
|
|
1313aaf031 | ||
|
|
5775f00e12 | ||
|
|
d38de3380d | ||
|
|
2155a7981d | ||
|
|
7fb464302e | ||
|
|
4bafceff0e | ||
|
|
beac7d33d9 | ||
|
|
27a4b3bc4c | ||
|
|
c7d08d80c3 | ||
|
|
45530e3943 | ||
|
|
85447f785c | ||
|
|
e12546de54 | ||
|
|
39bcbb7740 | ||
|
|
0339086bd9 | ||
|
|
434d5a00a4 | ||
|
|
33554fcec9 | ||
|
|
849f672bdb | ||
|
|
35a69a3b01 | ||
|
|
a9bdd67653 | ||
|
|
520d822632 | ||
|
|
e9a98ba312 | ||
|
|
4bc4f8a67a | ||
|
|
aa5a863283 | ||
|
|
bec8c647bc | ||
|
|
8981433f4d | ||
|
|
6cdd70eb52 | ||
|
|
ff5410d34b | ||
|
|
04c96ed2a6 | ||
|
|
c35e2d91a9 | ||
|
|
c1e1c1eca1 | ||
|
|
3dccc10ee1 | ||
|
|
0bb430c849 | ||
|
|
ba8bf9481b | ||
|
|
d021e94210 | ||
|
|
3f56552227 | ||
|
|
5de0b5a36a | ||
|
|
18e48776a6 | ||
|
|
b4f20767b1 | ||
|
|
e2d5997ffd | ||
|
|
0c0eaee562 | ||
|
|
1c124d379d | ||
|
|
9ab81fcc8a | ||
|
|
2a5945eee6 | ||
|
|
0a84925974 | ||
|
|
1022807c21 | ||
|
|
fa7b8eae7c | ||
|
|
a2d5efd74f | ||
|
|
744247de29 | ||
|
|
e293542c1f | ||
|
|
ed5af03f9b | ||
|
|
78b7d37b1b | ||
|
|
664758c3dd | ||
|
|
4be9f1f25d | ||
|
|
952c346272 | ||
|
|
5fbed8f2c6 | ||
|
|
10117a2985 | ||
|
|
fa2c14676c | ||
|
|
76584e3398 | ||
|
|
8a856db238 | ||
|
|
0b75cc3f13 | ||
|
|
b2a3372138 | ||
|
|
3d40915350 | ||
|
|
ac738a4a7b | ||
|
|
b0fcd8ef60 | ||
|
|
7b889baf29 | ||
|
|
20fa1dd386 | ||
|
|
ed286bc80e | ||
|
|
8c4037a09a | ||
|
|
669f2d189e | ||
|
|
d247cf5069 | ||
|
|
036c9679d2 | ||
|
|
b0cce3f90f | ||
|
|
36dd7e7e25 | ||
|
|
bb4059a53b | ||
|
|
0f44d33536 | ||
|
|
462c117ce0 | ||
|
|
a64a614db7 | ||
|
|
24ccd0c8fd | ||
|
|
1b313aa3e3 | ||
|
|
f0f6917188 | ||
|
|
0778e7c50b | ||
|
|
26862b4a40 | ||
|
|
7b1cfec317 | ||
|
|
d884c58f0c | ||
|
|
ede52d0482 | ||
|
|
60a53351fb | ||
|
|
3ffa5288c8 | ||
|
|
116b49cfc4 | ||
|
|
4a41fec589 | ||
|
|
ace1bed327 | ||
|
|
a0276f3eee | ||
|
|
127a6011ee | ||
|
|
c413baa95c | ||
|
|
e74adafb04 | ||
|
|
4db25fe7fa | ||
|
|
2adee41db9 | ||
|
|
6ba41e5dc3 | ||
|
|
2022270c7d | ||
|
|
04f9f8be83 | ||
|
|
90321dce0d | ||
|
|
42182c9b9c | ||
|
|
3149c13ac3 | ||
|
|
bcc6bd84d4 | ||
|
|
2d28eeda33 | ||
|
|
33c1d77f4a | ||
|
|
6a27333ba3 | ||
|
|
2d7482cf79 | ||
|
|
a4efd73773 | ||
|
|
2faa1a302b | ||
|
|
14761caeee | ||
|
|
9b3fc21837 | ||
|
|
8fc238bfad | ||
|
|
b594481709 | ||
|
|
48a2f11443 | ||
|
|
5baf543e52 | ||
|
|
d4d64889b0 | ||
|
|
f82290afc8 | ||
|
|
004b4cdaec | ||
|
|
c6b89f3180 | ||
|
|
995b60b593 | ||
|
|
7e87816caa | ||
|
|
6d29cc7dcf | ||
|
|
4280342adb | ||
|
|
04a03b240f | ||
|
|
0fb1a8a469 | ||
|
|
5abcbd7847 | ||
|
|
5262767ded | ||
|
|
60279b5757 | ||
|
|
3c5a7b7547 | ||
|
|
02b0895c21 | ||
|
|
25f6dc8955 | ||
|
|
a6e50da0d5 | ||
|
|
88306dbb5a | ||
|
|
f51155eced | ||
|
|
7b8eeb4060 | ||
|
|
a05dab4e76 | ||
|
|
cd07358c04 | ||
|
|
8a41f68870 | ||
|
|
bd650cd404 | ||
|
|
7961b9f6db | ||
|
|
fee626c449 | ||
|
|
b2cdef4861 | ||
|
|
e1caa5841e | ||
|
|
5b6ae550a8 | ||
|
|
7ee37d0e0c | ||
|
|
8a8d300005 | ||
|
|
ccb947f2ce | ||
|
|
5c44ddcb13 | ||
|
|
974147b437 | ||
|
|
74caed0e33 | ||
|
|
d64c789414 | ||
|
|
fd5577ce26 | ||
|
|
32fe36574e | ||
|
|
f116634cd1 | ||
|
|
fef4a545b6 | ||
|
|
21a9f435f3 | ||
|
|
a6fbf94550 | ||
|
|
d53b128df4 | ||
|
|
b16c129c22 | ||
|
|
163f8858ae | ||
|
|
04e2cead60 | ||
|
|
d1ec9461f2 | ||
|
|
0c502b6c17 | ||
|
|
ac727577f0 | ||
|
|
d693742b25 | ||
|
|
0c3fecd0bf | ||
|
|
678382c73a | ||
|
|
d877a6c50e | ||
|
|
beffc170f2 | ||
|
|
75670c81e4 | ||
|
|
7a88afd080 | ||
|
|
d8aed6fae8 | ||
|
|
36c1877c5c | ||
|
|
7e63ba2f49 | ||
|
|
7d531e8a4f | ||
|
|
6becd9de6b | ||
|
|
bf14d9a7e1 | ||
|
|
0850d7f7bf | ||
|
|
80ee4fc504 | ||
|
|
9095d5b894 | ||
|
|
34a5c4257a | ||
|
|
fbca0e66cc | ||
|
|
4a942f49b8 | ||
|
|
2c4b096b4c | ||
|
|
bbdf38698e | ||
|
|
60e5456291 | ||
|
|
7b819b569e | ||
|
|
a5dfabea19 | ||
|
|
95d3877a58 | ||
|
|
4d69009462 | ||
|
|
64c26fee05 | ||
|
|
b6f3a12ef8 | ||
|
|
244ce78a04 | ||
|
|
d679a529a4 | ||
|
|
e48be29ef3 | ||
|
|
175c3e3ade | ||
|
|
b254c5291d | ||
|
|
ac08432a4c | ||
|
|
85f855cf02 | ||
|
|
a5af51a703 | ||
|
|
6e5308c4b8 | ||
|
|
ebdb098c67 | ||
|
|
cda87ec558 | ||
|
|
f3177d02f3 | ||
|
|
278b90ce78 | ||
|
|
7c8f00e484 | ||
|
|
f59ab6c659 | ||
|
|
df9cf561b0 | ||
|
|
0c2307431e | ||
|
|
f3b5056c4e | ||
|
|
038782a27a | ||
|
|
f19a95a40b | ||
|
|
9f0930e5d9 | ||
|
|
ae86b6be12 | ||
|
|
f623e07f0c | ||
|
|
268ec6e00e | ||
|
|
ee3556bcaf | ||
|
|
990d06b0bc | ||
|
|
dfaec76029 | ||
|
|
c883f351e6 | ||
|
|
30cf7f818d | ||
|
|
ccd6849031 | ||
|
|
31cbcb5ddd | ||
|
|
1811a928c6 | ||
|
|
560eeee8c2 | ||
|
|
a451bc27c9 | ||
|
|
a5a37567c4 | ||
|
|
99bec1aead | ||
|
|
99dcbdd8a3 | ||
|
|
c946b0e9fd | ||
|
|
389366f99a | ||
|
|
4c82b03c12 | ||
|
|
c87c81186c | ||
|
|
ac4605ae64 | ||
|
|
25c5b4e1bf | ||
|
|
c5343d4e11 | ||
|
|
8bbff6a70e | ||
|
|
f1754f0810 | ||
|
|
71abe5ac00 | ||
|
|
5030eaa499 | ||
|
|
cbebe7a0f5 | ||
|
|
313ed5d505 | ||
|
|
d695d66278 | ||
|
|
492322992b | ||
|
|
a47506ff8f | ||
|
|
923837e159 | ||
|
|
8639e34d2c | ||
|
|
6808ef9ac2 | ||
|
|
104816142f | ||
|
|
e24bd1e79e | ||
|
|
ea0211b61f | ||
|
|
2d2d306f79 | ||
|
|
8bcf12ccce | ||
|
|
9cef983d1c | ||
|
|
92164216a7 | ||
|
|
64ef094bc5 | ||
|
|
84a4d34e96 | ||
|
|
d4f422f886 | ||
|
|
a059de11c9 | ||
|
|
a43aebee89 | ||
|
|
c631e150fe | ||
|
|
f29aa23b54 | ||
|
|
a4fa811463 | ||
|
|
86c2f1e75b | ||
|
|
a4d403290e | ||
|
|
7e13f1d08f | ||
|
|
329f5ef51d | ||
|
|
38314d0e64 | ||
|
|
2371d1bcbf | ||
|
|
215bb1c147 | ||
|
|
bf8f4c4400 | ||
|
|
211a3a23b9 | ||
|
|
ab1af91093 | ||
|
|
d1ceb0c488 | ||
|
|
22191ac353 | ||
|
|
a1ffd9e2e6 | ||
|
|
03073a6665 | ||
|
|
79d0802953 | ||
|
|
8955519bb3 | ||
|
|
78804518e4 | ||
|
|
11f3090532 | ||
|
|
e705e2cd5b | ||
|
|
c12737cea0 | ||
|
|
77e04034ec | ||
|
|
c966c7b977 | ||
|
|
51313b49f2 | ||
|
|
893d98d9aa | ||
|
|
59d3782cda | ||
|
|
d8acc9deec | ||
|
|
0093b3fcd8 | ||
|
|
cc9467ef7e | ||
|
|
55e83d2e36 | ||
|
|
9d9baacb90 | ||
|
|
daebb796ff | ||
|
|
a75a3ef305 | ||
|
|
886678fcf7 | ||
|
|
9e41b54a2e | ||
|
|
f41a45830b | ||
|
|
44395c8504 | ||
|
|
78ca33508d | ||
|
|
f07b3148d7 | ||
|
|
6d6564957c | ||
|
|
2850645cab | ||
|
|
cf678b31ac | ||
|
|
3414913c24 | ||
|
|
87da89e803 | ||
|
|
958a2106f5 | ||
|
|
8d9bde0dbb | ||
|
|
e0a75fed9e | ||
|
|
f1bcad22dd | ||
|
|
a61b65ffb5 | ||
|
|
a35332fa28 | ||
|
|
52df705c96 | ||
|
|
f24e482ae0 | ||
|
|
238a53c710 | ||
|
|
8953d86664 | ||
|
|
3baa9ec44a | ||
|
|
eec2d43795 | ||
|
|
8a099b6860 | ||
|
|
e0e4e53375 | ||
|
|
fcdbde7ce0 | ||
|
|
c1ef486327 | ||
|
|
80ebf86d9b | ||
|
|
770611f21e | ||
|
|
ecd7ab5628 | ||
|
|
8cf223133c | ||
|
|
6ce8b10b87 | ||
|
|
e56d9d79e5 | ||
|
|
423e84bc72 | ||
|
|
995e9fef8f | ||
|
|
4fdffb9856 | ||
|
|
d7cb10a05f | ||
|
|
7537e93290 | ||
|
|
912d97b108 | ||
|
|
de274663f5 | ||
|
|
bb0fabe42d | ||
|
|
80fd219ec7 | ||
|
|
3e4aeebcdb | ||
|
|
7a7391fd7e | ||
|
|
b9d984ea16 | ||
|
|
c282eae07c | ||
|
|
4f0cd03723 | ||
|
|
169c20e903 | ||
|
|
0ec3d98f76 | ||
|
|
04c28a7810 | ||
|
|
1973b381a1 | ||
|
|
3707c6ee0d | ||
|
|
8cb7c04248 | ||
|
|
aa4e0e005b | ||
|
|
3fd24fa9ed | ||
|
|
ad0e503991 | ||
|
|
deca50fbd5 | ||
|
|
3b73e8d067 | ||
|
|
f941c8d76c | ||
|
|
6e43d1b199 | ||
|
|
b2153075f4 | ||
|
|
e4d4604a7b | ||
|
|
4f60e5d3a8 | ||
|
|
c6c1ca100f | ||
|
|
b76965958c | ||
|
|
80719938c9 | ||
|
|
2166ebf783 | ||
|
|
31f044bd91 | ||
|
|
42a1820bbc | ||
|
|
87c7fb396a | ||
|
|
48f58a5973 | ||
|
|
2e87980580 | ||
|
|
ab21ecef7a | ||
|
|
11d2e98d7e | ||
|
|
76e22222d3 | ||
|
|
405fc8305b | ||
|
|
58932ec68c | ||
|
|
f513de6c82 | ||
|
|
140ad2d899 | ||
|
|
944537c56e | ||
|
|
564e9383e5 | ||
|
|
c0c32af0b2 | ||
|
|
d46ec0bbaf | ||
|
|
426230a65f | ||
|
|
a9b1c2164a | ||
|
|
f9747a5a5d | ||
|
|
f1554b28d3 | ||
|
|
e21b04fec4 | ||
|
|
d0c0752add | ||
|
|
ca92ad4f68 | ||
|
|
2d1c661915 | ||
|
|
45410da714 | ||
|
|
e7563c204e | ||
|
|
aae7422b45 | ||
|
|
bd5a8e5850 | ||
|
|
77217c4b5f | ||
|
|
c239f49f8a | ||
|
|
d78b4ae06a | ||
|
|
3e1b61de58 | ||
|
|
6c45abe709 | ||
|
|
2ad341ed7d | ||
|
|
88f05a926d | ||
|
|
9753c4f886 | ||
|
|
d55c8159bd | ||
|
|
f25ac66c52 | ||
|
|
cacb8a029f | ||
|
|
b08fc34f3f | ||
|
|
2678059ec8 | ||
|
|
c8a6bade5b | ||
|
|
3b644a3c2f | ||
|
|
f32e79f159 | ||
|
|
7109930a70 | ||
|
|
427d568c31 | ||
|
|
a587051f5d | ||
|
|
83144cd336 | ||
|
|
93561a327b | ||
|
|
c4a142f4a6 | ||
|
|
099b9ae7b7 | ||
|
|
92dde1a7cc | ||
|
|
df7810863f | ||
|
|
0732d7cd86 | ||
|
|
501fbc6744 | ||
|
|
01c42d3d74 | ||
|
|
3c0e607c31 | ||
|
|
5a60a548f7 | ||
|
|
77cbd9536e | ||
|
|
b9b2724111 | ||
|
|
7f6a0d4688 | ||
|
|
7ad2a5b8fb | ||
|
|
ecd69c3e36 | ||
|
|
546a496ffd | ||
|
|
3469bf4274 | ||
|
|
378960d8c2 | ||
|
|
7b36dbdec7 | ||
|
|
3ffb33d636 | ||
|
|
368e86d983 | ||
|
|
fe3dfb2324 | ||
|
|
578d95e99f |
20
.travis.yml
20
.travis.yml
@@ -72,7 +72,11 @@ before_script:
|
||||
wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2016.09-release/arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install.tar.gz &&
|
||||
tar -C /tmp -xf arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install.tar.gz;
|
||||
fi
|
||||
- if [[ "${TOOLCHAIN}" == *xtensa* ]]; then ./tools/buildman/buildman --fetch-arch xtensa ; fi
|
||||
- if [[ "${TOOLCHAIN}" == *xtensa* ]]; then
|
||||
wget https://github.com/foss-xtensa/toolchain/releases/download/2018.02/x86_64-2018.02-${TOOLCHAIN}.tar.gz &&
|
||||
tar -C /tmp -xf x86_64-2018.02-${TOOLCHAIN}.tar.gz &&
|
||||
echo -e "\n[toolchain-prefix]\nxtensa = /tmp/2018.02/${TOOLCHAIN}/bin/${TOOLCHAIN}-" >> ~/.buildman;
|
||||
fi
|
||||
# If TOOLCHAIN is unset, we're on some flavour of ARM.
|
||||
- if [[ "${TOOLCHAIN}" == "" ]]; then
|
||||
wget http://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz &&
|
||||
@@ -101,9 +105,8 @@ script:
|
||||
#
|
||||
# Exit code 129 means warnings only.
|
||||
- if [[ "${BUILDMAN}" != "" ]]; then
|
||||
set +e;
|
||||
tools/buildman/buildman -P ${BUILDMAN};
|
||||
ret=$?;
|
||||
ret=0;
|
||||
tools/buildman/buildman -P -E ${BUILDMAN} || ret=$?;
|
||||
if [[ $ret -ne 0 && $ret -ne 129 ]]; then
|
||||
tools/buildman/buildman -sdeP ${BUILDMAN};
|
||||
exit $ret;
|
||||
@@ -272,7 +275,7 @@ matrix:
|
||||
BUILDMAN="xilinx -x microblaze"
|
||||
- env:
|
||||
- BUILDMAN="xtensa"
|
||||
TOOLCHAIN="xtensa"
|
||||
TOOLCHAIN="xtensa-dc233c-elf"
|
||||
- env:
|
||||
- BUILDMAN="riscv"
|
||||
TOOLCHAIN="riscv"
|
||||
@@ -385,5 +388,12 @@ matrix:
|
||||
QEMU_TARGET="arm-softmmu"
|
||||
TEST_PY_ID="--id qemu"
|
||||
BUILDMAN="^zynq_zc702$"
|
||||
- env:
|
||||
- TEST_PY_BD="xtfpga"
|
||||
TEST_PY_TEST_SPEC="not sleep"
|
||||
QEMU_TARGET="xtensa-softmmu"
|
||||
TEST_PY_ID="--id qemu"
|
||||
BUILDMAN="^xtfpga$"
|
||||
TOOLCHAIN="xtensa-dc233c-elf"
|
||||
|
||||
# TODO make it perfect ;-r
|
||||
|
||||
54
Kconfig
54
Kconfig
@@ -69,20 +69,56 @@ config DISTRO_DEFAULTS
|
||||
imply USE_BOOTCOMMAND
|
||||
select CMD_BOOTZ if ARM && !ARM64
|
||||
select CMD_BOOTI if ARM64
|
||||
select CMD_DHCP
|
||||
select CMD_PXE
|
||||
select CMD_DHCP if NET && CMD_NET
|
||||
select CMD_PXE if NET && CMD_NET
|
||||
select CMD_EXT2
|
||||
select CMD_EXT4
|
||||
select CMD_FAT
|
||||
select CMD_FS_GENERIC
|
||||
select CMD_MII
|
||||
select CMD_PING
|
||||
select CMD_PART
|
||||
imply CMD_MII if NET
|
||||
select CMD_PING if NET
|
||||
select CMD_PART if PARTITIONS
|
||||
select HUSH_PARSER
|
||||
select BOOTP_BOOTPATH if NET && CMD_NET
|
||||
select BOOTP_DNS if NET && CMD_NET
|
||||
select BOOTP_GATEWAY if NET && CMD_NET
|
||||
select BOOTP_HOSTNAME if NET && CMD_NET
|
||||
select BOOTP_PXE if NET && CMD_NET
|
||||
select BOOTP_SUBNETMASK if NET && CMD_NET
|
||||
select CMDLINE_EDITING
|
||||
select AUTO_COMPLETE
|
||||
select SYS_LONGHELP
|
||||
select SUPPORT_RAW_INITRD
|
||||
select ENV_VARS_UBOOT_CONFIG
|
||||
help
|
||||
Select this to enable various options and commands which are suitable
|
||||
for building u-boot for booting general purpose Linux distributions.
|
||||
|
||||
config ENV_VARS_UBOOT_CONFIG
|
||||
bool "Add arch, board, vendor and soc variables to default environment"
|
||||
help
|
||||
Define this in order to add variables describing the
|
||||
U-Boot build configuration to the default environment.
|
||||
These will be named arch, cpu, board, vendor, and soc.
|
||||
Enabling this option will cause the following to be defined:
|
||||
- CONFIG_SYS_ARCH
|
||||
- CONFIG_SYS_CPU
|
||||
- CONFIG_SYS_BOARD
|
||||
- CONFIG_SYS_VENDOR
|
||||
- CONFIG_SYS_SOC
|
||||
|
||||
config SYS_BOOT_GET_CMDLINE
|
||||
bool "Enable kernel command line setup"
|
||||
help
|
||||
Enables allocating and saving kernel cmdline in space between
|
||||
"bootm_low" and "bootm_low" + BOOTMAPSZ.
|
||||
|
||||
config SYS_BOOT_GET_KBD
|
||||
bool "Enable kernel board information setup"
|
||||
help
|
||||
Enables allocating and saving a kernel copy of the bd_info in
|
||||
space between "bootm_low" and "bootm_low" + BOOTMAPSZ.
|
||||
|
||||
config SYS_MALLOC_F
|
||||
bool "Enable malloc() pool before relocation"
|
||||
default y if DM
|
||||
@@ -366,15 +402,13 @@ config SYS_EXTRA_OPTIONS
|
||||
new boards should not use this option.
|
||||
|
||||
config SYS_TEXT_BASE
|
||||
depends on ARC || X86 || ARCH_UNIPHIER || ARCH_ZYNQMP || \
|
||||
(M68K && !TARGET_ASTRO_MCF5373L) || MICROBLAZE || MIPS || \
|
||||
ARCH_ZYNQ || ARCH_KEYSTONE || ARCH_OMAP2PLUS
|
||||
depends on !NIOS2 && !XTENSA
|
||||
depends on !EFI_APP
|
||||
default 0x80800000 if ARCH_OMAP2PLUS
|
||||
hex "Text Base"
|
||||
help
|
||||
TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture
|
||||
The address in memory that U-Boot will be running from, initially.
|
||||
|
||||
default 0x80800000 if ARCH_OMAP2PLUS
|
||||
|
||||
|
||||
config SYS_CLK_FREQ
|
||||
|
||||
118
MAINTAINERS
118
MAINTAINERS
@@ -59,12 +59,6 @@ S: Maintained
|
||||
T: git git://git.denx.de/u-boot-arc.git
|
||||
F: arch/arc/
|
||||
|
||||
ARC HSDK CREG GPIO
|
||||
M: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
|
||||
S: Maintained
|
||||
L: uboot-snps-arc@synopsys.com
|
||||
F: drivers/gpio/hsdk-creg-gpio.c
|
||||
|
||||
ARC HSDK CGU CLOCK
|
||||
M: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
|
||||
S: Maintained
|
||||
@@ -73,6 +67,12 @@ F: drivers/clk/clk-hsdk-cgu.c
|
||||
F: include/dt-bindings/clock/snps,hsdk-cgu.h
|
||||
F: doc/device-tree-bindings/clock/snps,hsdk-cgu.txt
|
||||
|
||||
ARC HSDK CREG GPIO
|
||||
M: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
|
||||
S: Maintained
|
||||
L: uboot-snps-arc@synopsys.com
|
||||
F: drivers/gpio/hsdk-creg-gpio.c
|
||||
|
||||
ARM
|
||||
M: Albert Aribaud <albert.u.boot@aribaud.net>
|
||||
S: Maintained
|
||||
@@ -163,6 +163,7 @@ F: drivers/misc/rockchip-efuse.c
|
||||
F: drivers/pinctrl/rockchip/
|
||||
F: drivers/ram/rockchip/
|
||||
F: drivers/sysreset/sysreset_rockchip.c
|
||||
F: drivers/video/rockchip/
|
||||
F: tools/rkcommon.c
|
||||
F: tools/rkcommon.h
|
||||
F: tools/rkimage.c
|
||||
@@ -184,6 +185,12 @@ M: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
|
||||
S: Maintained
|
||||
F: arch/arm/mach-snapdragon/
|
||||
|
||||
ARM STI
|
||||
M: Patrice Chotard <patrice.chotard@st.com>
|
||||
S: Maintained
|
||||
F: arch/arm/mach-sti/
|
||||
F: arch/arm/include/asm/arch-sti*/
|
||||
|
||||
ARM STM SPEAR
|
||||
#M: Vipin Kumar <vipin.kumar@st.com>
|
||||
S: Orphaned (Since 2016-02)
|
||||
@@ -197,15 +204,9 @@ S: Maintained
|
||||
F: arch/arm/cpu/armv7/stv0991/
|
||||
F: arch/arm/include/asm/arch-stv0991/
|
||||
|
||||
ARM STI
|
||||
M: Patrice Chotard <patrice.chotard@st.com>
|
||||
S: Maintained
|
||||
F: arch/arm/mach-sti/
|
||||
F: arch/arm/include/asm/arch-sti*/
|
||||
|
||||
ARM SUNXI
|
||||
M: Jagan Teki <jagan@openedev.com>
|
||||
M: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
M: Maxime Ripard <maxime.ripard@bootlin.com>
|
||||
S: Maintained
|
||||
T: git git://git.denx.de/u-boot-sunxi.git
|
||||
F: arch/arm/cpu/armv7/sunxi/
|
||||
@@ -289,8 +290,11 @@ EFI PAYLOAD
|
||||
M: Alexander Graf <agraf@suse.de>
|
||||
S: Maintained
|
||||
T: git git://github.com/agraf/u-boot.git
|
||||
F: doc/README.efi
|
||||
F: doc/README.iscsi
|
||||
F: include/efi*
|
||||
F: include/pe.h
|
||||
F: include/asm-generic/pe.h
|
||||
F: lib/efi*/
|
||||
F: test/py/tests/test_efi*
|
||||
F: cmd/bootefi.c
|
||||
@@ -350,11 +354,48 @@ S: Maintained
|
||||
T: git git://git.denx.de/u-boot-mmc.git
|
||||
F: drivers/mmc/
|
||||
|
||||
NAND FLASH
|
||||
M: Scott Wood <oss@buserror.net>
|
||||
S: Maintained
|
||||
T: git git://git.denx.de/u-boot-nand-flash.git
|
||||
F: drivers/mtd/nand/
|
||||
|
||||
NDS32
|
||||
M: Macpaul Lin <macpaul@andestech.com>
|
||||
S: Maintained
|
||||
T: git git://git.denx.de/u-boot-nds32.git
|
||||
F: arch/nds32/
|
||||
|
||||
NETWORK
|
||||
M: Joe Hershberger <joe.hershberger@ni.com>
|
||||
S: Maintained
|
||||
T: git git://git.denx.de/u-boot-net.git
|
||||
F: drivers/net/
|
||||
F: net/
|
||||
|
||||
NIOS
|
||||
M: Thomas Chou <thomas@wytron.com.tw>
|
||||
S: Maintained
|
||||
T: git git://git.denx.de/u-boot-nios.git
|
||||
F: arch/nios2/
|
||||
|
||||
ONENAND
|
||||
#M: Lukasz Majewski <l.majewski@majess.pl>
|
||||
S: Orphaned (Since 2017-01)
|
||||
T: git git://git.denx.de/u-boot-onenand.git
|
||||
F: drivers/mtd/onenand/
|
||||
|
||||
PATMAN
|
||||
M: Simon Glass <sjg@chromium.org>
|
||||
S: Maintained
|
||||
F: tools/patman/
|
||||
|
||||
POWER
|
||||
M: Jaehoon Chung <jh80.chung@samsung.com>
|
||||
S: Maintained
|
||||
T: git git://git.denx.de/u-boot-pmic.git
|
||||
F: drivers/power/
|
||||
|
||||
POWERPC
|
||||
M: Wolfgang Denk <wd@denx.de>
|
||||
S: Maintained
|
||||
@@ -391,43 +432,6 @@ S: Maintained
|
||||
T: git git://git.denx.de/u-boot-ppc4xx.git
|
||||
F: arch/powerpc/cpu/ppc4xx/
|
||||
|
||||
POWER
|
||||
M: Jaehoon Chung <jh80.chung@samsung.com>
|
||||
S: Maintained
|
||||
T: git git://git.denx.de/u-boot-pmic.git
|
||||
F: drivers/power/
|
||||
|
||||
NETWORK
|
||||
M: Joe Hershberger <joe.hershberger@ni.com>
|
||||
S: Maintained
|
||||
T: git git://git.denx.de/u-boot-net.git
|
||||
F: drivers/net/
|
||||
F: net/
|
||||
|
||||
NAND FLASH
|
||||
M: Scott Wood <oss@buserror.net>
|
||||
S: Maintained
|
||||
T: git git://git.denx.de/u-boot-nand-flash.git
|
||||
F: drivers/mtd/nand/
|
||||
|
||||
NDS32
|
||||
M: Macpaul Lin <macpaul@andestech.com>
|
||||
S: Maintained
|
||||
T: git git://git.denx.de/u-boot-nds32.git
|
||||
F: arch/nds32/
|
||||
|
||||
NIOS
|
||||
M: Thomas Chou <thomas@wytron.com.tw>
|
||||
S: Maintained
|
||||
T: git git://git.denx.de/u-boot-nios.git
|
||||
F: arch/nios2/
|
||||
|
||||
ONENAND
|
||||
#M: Lukasz Majewski <l.majewski@majess.pl>
|
||||
S: Orphaned (Since 2017-01)
|
||||
T: git git://git.denx.de/u-boot-onenand.git
|
||||
F: drivers/mtd/onenand/
|
||||
|
||||
RISC-V
|
||||
M: Rick Chen <rick@andestech.com>
|
||||
S: Maintained
|
||||
@@ -435,6 +439,13 @@ T: git git://git.denx.de/u-boot-riscv.git
|
||||
F: arch/riscv/
|
||||
F: tools/prelink-riscv.c
|
||||
|
||||
ROCKUSB
|
||||
M: Eddie Cai <eddie.cai.linux@gmail.com>
|
||||
S: Maintained
|
||||
F: drivers/usb/gadget/f_rockusb.c
|
||||
F: cmd/rockusb.c
|
||||
F: doc/README.rockusb
|
||||
|
||||
SANDBOX
|
||||
M: Simon Glass <sjg@chromium.org>
|
||||
S: Maintained
|
||||
@@ -500,13 +511,6 @@ S: Maintained
|
||||
T: git git://git.denx.de/u-boot-usb.git topic-xhci
|
||||
F: drivers/usb/host/xhci*
|
||||
|
||||
ROCKUSB
|
||||
M: Eddie Cai <eddie.cai.linux@gmail.com>
|
||||
S: Maintained
|
||||
F: drivers/usb/gadget/f_rockusb.c
|
||||
F: cmd/rockusb.c
|
||||
F: doc/README.rockusb
|
||||
|
||||
VIDEO
|
||||
M: Anatolij Gustschin <agust@denx.de>
|
||||
S: Maintained
|
||||
|
||||
14
Makefile
14
Makefile
@@ -5,7 +5,7 @@
|
||||
VERSION = 2018
|
||||
PATCHLEVEL = 03
|
||||
SUBLEVEL =
|
||||
EXTRAVERSION = -rc1
|
||||
EXTRAVERSION =
|
||||
NAME =
|
||||
|
||||
# *DOCUMENTATION*
|
||||
@@ -820,7 +820,7 @@ LDFLAGS_u-boot += $(LDFLAGS_FINAL)
|
||||
# Avoid 'Not enough room for program headers' error on binutils 2.28 onwards.
|
||||
LDFLAGS_u-boot += $(call ld-option, --no-dynamic-linker)
|
||||
|
||||
ifneq ($(CONFIG_SYS_TEXT_BASE),)
|
||||
ifeq ($(CONFIG_ARC)$(CONFIG_NIOS2)$(CONFIG_X86)$(CONFIG_XTENSA),)
|
||||
LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE)
|
||||
endif
|
||||
|
||||
@@ -926,6 +926,16 @@ OBJCOPYFLAGS_u-boot.srec := -O srec
|
||||
u-boot.hex u-boot.srec: u-boot FORCE
|
||||
$(call if_changed,objcopy)
|
||||
|
||||
OBJCOPYFLAGS_u-boot-elf.srec := $(OBJCOPYFLAGS_u-boot.srec)
|
||||
|
||||
u-boot-elf.srec: u-boot.elf FORCE
|
||||
$(call if_changed,objcopy)
|
||||
|
||||
OBJCOPYFLAGS_u-boot-spl.srec = $(OBJCOPYFLAGS_u-boot.srec)
|
||||
|
||||
spl/u-boot-spl.srec: spl/u-boot-spl FORCE
|
||||
$(call if_changed,objcopy)
|
||||
|
||||
OBJCOPYFLAGS_u-boot-nodtb.bin := -O binary \
|
||||
$(if $(CONFIG_X86_16BIT_INIT),-R .start16 -R .resetvec)
|
||||
|
||||
|
||||
115
README
115
README
@@ -713,22 +713,6 @@ The following options need to be configured:
|
||||
as a convenience, when switching between booting from
|
||||
RAM and NFS.
|
||||
|
||||
- Bootcount:
|
||||
CONFIG_BOOTCOUNT_LIMIT
|
||||
Implements a mechanism for detecting a repeating reboot
|
||||
cycle, see:
|
||||
http://www.denx.de/wiki/view/DULG/UBootBootCountLimit
|
||||
|
||||
CONFIG_BOOTCOUNT_ENV
|
||||
If no softreset save registers are found on the hardware
|
||||
"bootcount" is stored in the environment. To prevent a
|
||||
saveenv on all reboots, the environment variable
|
||||
"upgrade_available" is used. If "upgrade_available" is
|
||||
0, "bootcount" is always 0, if "upgrade_available" is
|
||||
1 "bootcount" is incremented in the environment.
|
||||
So the Userspace Applikation must set the "upgrade_available"
|
||||
and "bootcount" variable to 0, if a boot was successfully.
|
||||
|
||||
- Pre-Boot Commands:
|
||||
CONFIG_PREBOOT
|
||||
|
||||
@@ -1203,7 +1187,7 @@ The following options need to be configured:
|
||||
key for the Replay Protection Memory Block partition in eMMC.
|
||||
|
||||
- USB Device Firmware Update (DFU) class support:
|
||||
CONFIG_USB_FUNCTION_DFU
|
||||
CONFIG_DFU_OVER_USB
|
||||
This enables the USB portion of the DFU USB class
|
||||
|
||||
CONFIG_DFU_MMC
|
||||
@@ -1543,14 +1527,8 @@ The following options need to be configured:
|
||||
You can fine tune the DHCP functionality by defining
|
||||
CONFIG_BOOTP_* symbols:
|
||||
|
||||
CONFIG_BOOTP_SUBNETMASK
|
||||
CONFIG_BOOTP_GATEWAY
|
||||
CONFIG_BOOTP_HOSTNAME
|
||||
CONFIG_BOOTP_NISDOMAIN
|
||||
CONFIG_BOOTP_BOOTPATH
|
||||
CONFIG_BOOTP_BOOTFILESIZE
|
||||
CONFIG_BOOTP_DNS
|
||||
CONFIG_BOOTP_DNS2
|
||||
CONFIG_BOOTP_SEND_HOSTNAME
|
||||
CONFIG_BOOTP_NTPSERVER
|
||||
CONFIG_BOOTP_TIMEOFFSET
|
||||
@@ -1566,15 +1544,6 @@ The following options need to be configured:
|
||||
to Link-local IP address configuration if the DHCP server
|
||||
is not available.
|
||||
|
||||
CONFIG_BOOTP_DNS2 - If a DHCP client requests the DNS
|
||||
serverip from a DHCP server, it is possible that more
|
||||
than one DNS serverip is offered to the client.
|
||||
If CONFIG_BOOTP_DNS2 is enabled, the secondary DNS
|
||||
serverip will be stored in the additional environment
|
||||
variable "dnsip2". The first DNS serverip is always
|
||||
stored in the variable "dnsip", when CONFIG_BOOTP_DNS
|
||||
is defined.
|
||||
|
||||
CONFIG_BOOTP_SEND_HOSTNAME - Some DHCP servers are capable
|
||||
to do a dynamic update of a DNS server. To do this, they
|
||||
need the hostname of the DHCP requester.
|
||||
@@ -2001,11 +1970,6 @@ The following options need to be configured:
|
||||
SPI EEPROM, also an instance works with Crystal A/D and
|
||||
D/As on the SACSng board)
|
||||
|
||||
CONFIG_SH_SPI
|
||||
|
||||
Enables the driver for SPI controller on SuperH. Currently
|
||||
only SH7757 is supported.
|
||||
|
||||
CONFIG_SOFT_SPI
|
||||
|
||||
Enables a software (bit-bang) SPI driver rather than
|
||||
@@ -2024,11 +1988,6 @@ The following options need to be configured:
|
||||
Currently supported on some MPC8xxx processors. For an
|
||||
example, see include/configs/mpc8349emds.h.
|
||||
|
||||
CONFIG_MXC_SPI
|
||||
|
||||
Enables the driver for the SPI controllers on i.MX and MXC
|
||||
SoCs. Currently i.MX31/35/51 are supported.
|
||||
|
||||
CONFIG_SYS_SPI_MXC_WAIT
|
||||
Timeout for waiting until spi transfer completed.
|
||||
default: (CONFIG_SYS_HZ/100) /* 10 ms */
|
||||
@@ -2197,10 +2156,6 @@ The following options need to be configured:
|
||||
#define CONFIG_NFS_TIMEOUT 10000UL
|
||||
|
||||
- Command Interpreter:
|
||||
CONFIG_AUTO_COMPLETE
|
||||
|
||||
Enable auto completion of commands using TAB.
|
||||
|
||||
CONFIG_SYS_PROMPT_HUSH_PS2
|
||||
|
||||
This defines the secondary prompt string, which is
|
||||
@@ -2229,12 +2184,6 @@ The following options need to be configured:
|
||||
symbols.
|
||||
|
||||
- Command Line Editing and History:
|
||||
CONFIG_CMDLINE_EDITING
|
||||
|
||||
Enable editing and History functions for interactive
|
||||
command line input operations
|
||||
|
||||
- Command Line PS1/PS2 support:
|
||||
CONFIG_CMDLINE_PS_SUPPORT
|
||||
|
||||
Enable support for changing the command prompt string
|
||||
@@ -2268,20 +2217,6 @@ The following options need to be configured:
|
||||
the environment like the "source" command or the
|
||||
boot command first.
|
||||
|
||||
CONFIG_ENV_VARS_UBOOT_CONFIG
|
||||
|
||||
Define this in order to add variables describing the
|
||||
U-Boot build configuration to the default environment.
|
||||
These will be named arch, cpu, board, vendor, and soc.
|
||||
|
||||
Enabling this option will cause the following to be defined:
|
||||
|
||||
- CONFIG_SYS_ARCH
|
||||
- CONFIG_SYS_CPU
|
||||
- CONFIG_SYS_BOARD
|
||||
- CONFIG_SYS_VENDOR
|
||||
- CONFIG_SYS_SOC
|
||||
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
|
||||
|
||||
Define this in order to add variables describing certain
|
||||
@@ -2311,18 +2246,6 @@ The following options need to be configured:
|
||||
CONFIG_SF_DEFAULT_MODE (see include/spi.h)
|
||||
CONFIG_SF_DEFAULT_SPEED in Hz
|
||||
|
||||
CONFIG_SYSTEMACE
|
||||
|
||||
Adding this option adds support for Xilinx SystemACE
|
||||
chips attached via some sort of local bus. The address
|
||||
of the chip must also be defined in the
|
||||
CONFIG_SYS_SYSTEMACE_BASE macro. For example:
|
||||
|
||||
#define CONFIG_SYSTEMACE
|
||||
#define CONFIG_SYS_SYSTEMACE_BASE 0xf0000000
|
||||
|
||||
When SystemACE support is added, the "ace" device type
|
||||
becomes available to the fat commands, i.e. fatls.
|
||||
|
||||
- TFTP Fixed UDP Port:
|
||||
CONFIG_TFTP_PORT
|
||||
@@ -2344,32 +2267,6 @@ The following options need to be configured:
|
||||
A better solution is to properly configure the firewall,
|
||||
but sometimes that is not allowed.
|
||||
|
||||
- bootcount support:
|
||||
CONFIG_BOOTCOUNT_LIMIT
|
||||
|
||||
This enables the bootcounter support, see:
|
||||
http://www.denx.de/wiki/DULG/UBootBootCountLimit
|
||||
|
||||
CONFIG_AT91SAM9XE
|
||||
enable special bootcounter support on at91sam9xe based boards.
|
||||
CONFIG_SOC_DA8XX
|
||||
enable special bootcounter support on da850 based boards.
|
||||
CONFIG_BOOTCOUNT_RAM
|
||||
enable support for the bootcounter in RAM
|
||||
CONFIG_BOOTCOUNT_I2C
|
||||
enable support for the bootcounter on an i2c (like RTC) device.
|
||||
CONFIG_SYS_I2C_RTC_ADDR = i2c chip address
|
||||
CONFIG_SYS_BOOTCOUNT_ADDR = i2c addr which is used for
|
||||
the bootcounter.
|
||||
CONFIG_BOOTCOUNT_ALEN = address len
|
||||
CONFIG_BOOTCOUNT_EXT
|
||||
enable support for the bootcounter in EXT filesystem
|
||||
CONFIG_SYS_BOOTCOUNT_ADDR = RAM address used for read
|
||||
and write.
|
||||
CONFIG_SYS_BOOTCOUNT_EXT_INTERFACE = interface
|
||||
CONFIG_SYS_BOOTCOUNT_EXT_DEVPART = device and part
|
||||
CONFIG_SYS_BOOTCOUNT_EXT_NAME = filename
|
||||
|
||||
- Show boot progress:
|
||||
CONFIG_SHOW_BOOT_PROGRESS
|
||||
|
||||
@@ -2726,11 +2623,6 @@ FIT uImage format:
|
||||
CONFIG_SYS_SPL_MALLOC_SIZE
|
||||
The size of the malloc pool used in SPL.
|
||||
|
||||
CONFIG_SPL_FRAMEWORK
|
||||
Enable the SPL framework under common/. This framework
|
||||
supports MMC, NAND and YMODEM loading of U-Boot and NAND
|
||||
NAND loading of the Linux Kernel.
|
||||
|
||||
CONFIG_SPL_OS_BOOT
|
||||
Enable booting directly to an OS from SPL.
|
||||
See also: doc/README.falcon
|
||||
@@ -3719,6 +3611,11 @@ this behavior and build U-Boot to some external directory:
|
||||
Note that the command line "O=" setting overrides the KBUILD_OUTPUT environment
|
||||
variable.
|
||||
|
||||
User specific CPPFLAGS, AFLAGS and CFLAGS can be passed to the compiler by
|
||||
setting the according environment variables KCPPFLAGS, KAFLAGS and KCFLAGS.
|
||||
For example to treat all compiler warnings as errors:
|
||||
|
||||
make KCFLAGS=-Werror
|
||||
|
||||
Please be aware that the Makefiles assume you are using GNU make, so
|
||||
for instance on NetBSD you might need to use "gmake" instead of
|
||||
|
||||
@@ -26,6 +26,8 @@ config ARM
|
||||
config M68K
|
||||
bool "M68000 architecture"
|
||||
select HAVE_PRIVATE_LIBGCC
|
||||
select SYS_BOOT_GET_CMDLINE
|
||||
select SYS_BOOT_GET_KBD
|
||||
|
||||
config MICROBLAZE
|
||||
bool "MicroBlaze architecture"
|
||||
@@ -53,6 +55,8 @@ config PPC
|
||||
bool "PowerPC architecture"
|
||||
select HAVE_PRIVATE_LIBGCC
|
||||
select SUPPORT_OF_CONTROL
|
||||
select SYS_BOOT_GET_CMDLINE
|
||||
select SYS_BOOT_GET_KBD
|
||||
|
||||
config RISCV
|
||||
bool "riscv architecture"
|
||||
@@ -70,6 +74,7 @@ config SANDBOX
|
||||
select DM_SPI
|
||||
select DM_GPIO
|
||||
select DM_MMC
|
||||
select HAVE_BLOCK_DEVICE
|
||||
select LZO
|
||||
imply CMD_GETTIME
|
||||
imply CMD_HASH
|
||||
|
||||
@@ -50,7 +50,7 @@ ifdef CONFIG_CPU_ARCHS38
|
||||
PLATFORM_CPPFLAGS += -mcpu=archs
|
||||
endif
|
||||
|
||||
PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -gdwarf-2
|
||||
PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -gdwarf-2 -mno-sdata
|
||||
|
||||
# Needed for relocation
|
||||
LDFLAGS_FINAL += -pie
|
||||
|
||||
@@ -37,11 +37,6 @@ void arch_lmb_reserve(struct lmb *lmb)
|
||||
lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp));
|
||||
}
|
||||
|
||||
int arch_fixup_fdt(void *blob)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cleanup_before_linux(void)
|
||||
{
|
||||
disable_interrupts();
|
||||
|
||||
140
arch/arm/Kconfig
140
arch/arm/Kconfig
@@ -287,9 +287,8 @@ config ENABLE_ARM_SOC_BOOT0_HOOK
|
||||
bool "prepare BOOT0 header"
|
||||
help
|
||||
If the SoC's BOOT0 requires a header area filled with (magic)
|
||||
values, then choose this option, and create a define called
|
||||
ARM_SOC_BOOT0_HOOK which contains the required assembler
|
||||
preprocessor code.
|
||||
values, then choose this option, and create a file included as
|
||||
<asm/arch/boot0.h> which contains the required assembler code.
|
||||
|
||||
config ARM_CORTEX_CPU_IS_UP
|
||||
bool
|
||||
@@ -396,63 +395,6 @@ config TARGET_APF27
|
||||
select CPU_ARM926EJS
|
||||
select SUPPORT_SPL
|
||||
|
||||
config TARGET_APX4DEVKIT
|
||||
bool "Support apx4devkit"
|
||||
select CPU_ARM926EJS
|
||||
select SUPPORT_SPL
|
||||
select PL011_SERIAL
|
||||
|
||||
config TARGET_XFI3
|
||||
bool "Support xfi3"
|
||||
select CPU_ARM926EJS
|
||||
select SUPPORT_SPL
|
||||
select PL011_SERIAL
|
||||
|
||||
config TARGET_M28EVK
|
||||
bool "Support m28evk"
|
||||
select CPU_ARM926EJS
|
||||
select SUPPORT_SPL
|
||||
select PL011_SERIAL
|
||||
|
||||
config TARGET_MX23EVK
|
||||
bool "Support mx23evk"
|
||||
select CPU_ARM926EJS
|
||||
select SUPPORT_SPL
|
||||
select BOARD_EARLY_INIT_F
|
||||
select PL011_SERIAL
|
||||
|
||||
config TARGET_MX28EVK
|
||||
bool "Support mx28evk"
|
||||
select CPU_ARM926EJS
|
||||
select SUPPORT_SPL
|
||||
select BOARD_EARLY_INIT_F
|
||||
select PL011_SERIAL
|
||||
|
||||
config TARGET_MX23_OLINUXINO
|
||||
bool "Support mx23_olinuxino"
|
||||
select CPU_ARM926EJS
|
||||
select SUPPORT_SPL
|
||||
select BOARD_EARLY_INIT_F
|
||||
select PL011_SERIAL
|
||||
|
||||
config TARGET_BG0900
|
||||
bool "Support bg0900"
|
||||
select CPU_ARM926EJS
|
||||
select SUPPORT_SPL
|
||||
select PL011_SERIAL
|
||||
|
||||
config TARGET_SANSA_FUZE_PLUS
|
||||
bool "Support sansa_fuze_plus"
|
||||
select CPU_ARM926EJS
|
||||
select SUPPORT_SPL
|
||||
select PL011_SERIAL
|
||||
|
||||
config TARGET_SC_SPS_1
|
||||
bool "Support sc_sps_1"
|
||||
select CPU_ARM926EJS
|
||||
select SUPPORT_SPL
|
||||
select PL011_SERIAL
|
||||
|
||||
config ORION5X
|
||||
bool "Marvell Orion"
|
||||
select CPU_ARM926EJS
|
||||
@@ -660,14 +602,34 @@ config ARCH_MESON
|
||||
targeted at media players and tablet computers. We currently
|
||||
support the S905 (GXBaby) 64-bit SoC.
|
||||
|
||||
config ARCH_MX8M
|
||||
bool "NXP i.MX8M platform"
|
||||
select ARM64
|
||||
select DM
|
||||
select SUPPORT_SPL
|
||||
|
||||
config ARCH_MX23
|
||||
bool "NXP i.MX23 family"
|
||||
select CPU_ARM926EJS
|
||||
select PL011_SERIAL
|
||||
select SUPPORT_SPL
|
||||
|
||||
config ARCH_MX25
|
||||
bool "NXP MX25"
|
||||
select CPU_ARM926EJS
|
||||
imply MXC_GPIO
|
||||
|
||||
config ARCH_MX28
|
||||
bool "NXP i.MX28 family"
|
||||
select CPU_ARM926EJS
|
||||
select PL011_SERIAL
|
||||
select SUPPORT_SPL
|
||||
|
||||
config ARCH_MX7ULP
|
||||
bool "NXP MX7ULP"
|
||||
select CPU_V7
|
||||
select ROM_UNIFIED_SECTIONS
|
||||
imply MXC_GPIO
|
||||
|
||||
config ARCH_MX7
|
||||
bool "Freescale MX7"
|
||||
@@ -677,6 +639,7 @@ config ARCH_MX7
|
||||
select SYS_FSL_SEC_LE
|
||||
select BOARD_EARLY_INIT_F
|
||||
select ARCH_MISC_INIT
|
||||
imply MXC_GPIO
|
||||
|
||||
config ARCH_MX6
|
||||
bool "Freescale MX6"
|
||||
@@ -685,6 +648,7 @@ config ARCH_MX6
|
||||
select SYS_FSL_SEC_COMPAT_4
|
||||
select SYS_FSL_SEC_LE
|
||||
select SYS_THUMB_BUILD if SPL
|
||||
imply MXC_GPIO
|
||||
|
||||
if ARCH_MX6
|
||||
config SPL_LDSCRIPT
|
||||
@@ -695,6 +659,7 @@ config ARCH_MX5
|
||||
bool "Freescale MX5"
|
||||
select CPU_V7
|
||||
select BOARD_EARLY_INIT_F
|
||||
imply MXC_GPIO
|
||||
|
||||
config ARCH_QEMU
|
||||
bool "QEMU Virtual Platform"
|
||||
@@ -733,16 +698,17 @@ config ARCH_SOCFPGA
|
||||
select OF_CONTROL
|
||||
select SPL_OF_CONTROL
|
||||
select DM
|
||||
select DM_SPI_FLASH
|
||||
select DM_SPI
|
||||
select ENABLE_ARM_SOC_BOOT0_HOOK
|
||||
select ARCH_EARLY_INIT_R
|
||||
select ARCH_MISC_INIT
|
||||
select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
|
||||
select SYS_THUMB_BUILD
|
||||
imply CMD_MTDPARTS
|
||||
imply CRC32_VERIFY
|
||||
imply DM_SPI
|
||||
imply DM_SPI_FLASH
|
||||
imply FAT_WRITE
|
||||
imply HW_WATCHDOG
|
||||
imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
|
||||
|
||||
config ARCH_SUNXI
|
||||
bool "Support sunxi (Allwinner) SoCs"
|
||||
@@ -781,12 +747,6 @@ config ARCH_SUNXI
|
||||
imply SPL_SERIAL_SUPPORT
|
||||
imply USB_GADGET
|
||||
|
||||
config TARGET_TS4600
|
||||
bool "Support TS4600"
|
||||
select CPU_ARM926EJS
|
||||
select SUPPORT_SPL
|
||||
select PL011_SERIAL
|
||||
|
||||
config ARCH_VF610
|
||||
bool "Freescale Vybrid"
|
||||
select CPU_V7
|
||||
@@ -803,18 +763,16 @@ config ARCH_ZYNQ
|
||||
select SPL_BOARD_INIT if SPL
|
||||
select SPL_OF_CONTROL if SPL
|
||||
select DM
|
||||
select DM_ETH
|
||||
select DM_GPIO
|
||||
select DM_ETH if NET
|
||||
select SPL_DM if SPL
|
||||
select DM_MMC
|
||||
select DM_MMC if MMC
|
||||
select DM_SPI
|
||||
select DM_SERIAL
|
||||
select DM_SPI_FLASH
|
||||
select SPL_SEPARATE_BSS if SPL
|
||||
select DM_USB if USB
|
||||
select BLK
|
||||
select CLK
|
||||
select SPL_CLK
|
||||
select SPL_CLK if SPL
|
||||
select CLK_ZYNQ
|
||||
imply CMD_CLK
|
||||
imply FAT_WRITE
|
||||
@@ -1232,6 +1190,16 @@ config ARCH_ASPEED
|
||||
|
||||
endchoice
|
||||
|
||||
config TI_SECURE_DEVICE
|
||||
bool "HS Device Type Support"
|
||||
depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS
|
||||
help
|
||||
If a high secure (HS) device type is being used, this config
|
||||
must be set. This option impacts various aspects of the
|
||||
build system (to create signed boot images that can be
|
||||
authenticated) and the code. See the doc/README.ti-secure
|
||||
file for further details.
|
||||
|
||||
source "arch/arm/mach-aspeed/Kconfig"
|
||||
|
||||
source "arch/arm/mach-at91/Kconfig"
|
||||
@@ -1256,13 +1224,17 @@ source "arch/arm/cpu/armv7/ls102xa/Kconfig"
|
||||
|
||||
source "arch/arm/mach-imx/mx2/Kconfig"
|
||||
|
||||
source "arch/arm/mach-imx/mx7ulp/Kconfig"
|
||||
|
||||
source "arch/arm/mach-imx/mx7/Kconfig"
|
||||
source "arch/arm/mach-imx/mx5/Kconfig"
|
||||
|
||||
source "arch/arm/mach-imx/mx6/Kconfig"
|
||||
|
||||
source "arch/arm/mach-imx/mx5/Kconfig"
|
||||
source "arch/arm/mach-imx/mx7/Kconfig"
|
||||
|
||||
source "arch/arm/mach-imx/mx7ulp/Kconfig"
|
||||
|
||||
source "arch/arm/mach-imx/mx8m/Kconfig"
|
||||
|
||||
source "arch/arm/mach-imx/mxs/Kconfig"
|
||||
|
||||
source "arch/arm/mach-omap2/Kconfig"
|
||||
|
||||
@@ -1306,7 +1278,6 @@ source "arch/arm/cpu/armv8/Kconfig"
|
||||
|
||||
source "arch/arm/mach-imx/Kconfig"
|
||||
|
||||
source "board/aries/m28evk/Kconfig"
|
||||
source "board/bosch/shc/Kconfig"
|
||||
source "board/CarMediaLab/flea3/Kconfig"
|
||||
source "board/Marvell/aspenite/Kconfig"
|
||||
@@ -1314,7 +1285,6 @@ source "board/Marvell/gplugd/Kconfig"
|
||||
source "board/armadeus/apf27/Kconfig"
|
||||
source "board/armltd/vexpress/Kconfig"
|
||||
source "board/armltd/vexpress64/Kconfig"
|
||||
source "board/bluegiga/apx4devkit/Kconfig"
|
||||
source "board/broadcom/bcm23550_w1d/Kconfig"
|
||||
source "board/broadcom/bcm28155_ap/Kconfig"
|
||||
source "board/broadcom/bcmcygnus/Kconfig"
|
||||
@@ -1322,7 +1292,6 @@ source "board/broadcom/bcmnsp/Kconfig"
|
||||
source "board/broadcom/bcmns2/Kconfig"
|
||||
source "board/cavium/thunderx/Kconfig"
|
||||
source "board/cirrus/edb93xx/Kconfig"
|
||||
source "board/creative/xfi3/Kconfig"
|
||||
source "board/eets/pdu001/Kconfig"
|
||||
source "board/freescale/ls2080a/Kconfig"
|
||||
source "board/freescale/ls2080aqds/Kconfig"
|
||||
@@ -1338,8 +1307,6 @@ source "board/freescale/ls1046ardb/Kconfig"
|
||||
source "board/freescale/ls1012aqds/Kconfig"
|
||||
source "board/freescale/ls1012ardb/Kconfig"
|
||||
source "board/freescale/ls1012afrdm/Kconfig"
|
||||
source "board/freescale/mx23evk/Kconfig"
|
||||
source "board/freescale/mx28evk/Kconfig"
|
||||
source "board/freescale/mx31ads/Kconfig"
|
||||
source "board/freescale/mx31pdk/Kconfig"
|
||||
source "board/freescale/mx35pdk/Kconfig"
|
||||
@@ -1352,11 +1319,7 @@ source "board/hisilicon/hikey/Kconfig"
|
||||
source "board/hisilicon/poplar/Kconfig"
|
||||
source "board/imx31_phycore/Kconfig"
|
||||
source "board/isee/igep003x/Kconfig"
|
||||
source "board/olimex/mx23_olinuxino/Kconfig"
|
||||
source "board/phytec/pcm051/Kconfig"
|
||||
source "board/ppcag/bg0900/Kconfig"
|
||||
source "board/sandisk/sansa_fuze_plus/Kconfig"
|
||||
source "board/schulercontrol/sc_sps_1/Kconfig"
|
||||
source "board/silica/pengwyn/Kconfig"
|
||||
source "board/spear/spear300/Kconfig"
|
||||
source "board/spear/spear310/Kconfig"
|
||||
@@ -1368,7 +1331,6 @@ source "board/tcl/sl50/Kconfig"
|
||||
source "board/birdland/bav335x/Kconfig"
|
||||
source "board/timll/devkit3250/Kconfig"
|
||||
source "board/toradex/colibri_pxa270/Kconfig"
|
||||
source "board/technologic/ts4600/Kconfig"
|
||||
source "board/vscom/baltos/Kconfig"
|
||||
source "board/woodburn/Kconfig"
|
||||
source "board/work-microwave/work_92105/Kconfig"
|
||||
@@ -1379,7 +1341,7 @@ source "arch/arm/Kconfig.debug"
|
||||
endmenu
|
||||
|
||||
config SPL_LDSCRIPT
|
||||
default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if TARGET_APX4DEVKIT || TARGET_BG0900 || TARGET_M28EVK || TARGET_MX23_OLINUXINO || TARGET_MX23EVK || TARGET_MX28EVK || TARGET_SANSA_FUZE_PLUS || TARGET_SC_SPS_1 || TARGET_TS4600 || TARGET_XFI3
|
||||
default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if ARCH_MX23 || ARCH_MX28
|
||||
default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
|
||||
default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
|
||||
|
||||
|
||||
@@ -95,11 +95,11 @@ libs-y += arch/arm/cpu/
|
||||
libs-y += arch/arm/lib/
|
||||
|
||||
ifeq ($(CONFIG_SPL_BUILD),y)
|
||||
ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx5 mx6 mx7 mx35))
|
||||
ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx5 mx6 mx7 mx35 mx8m))
|
||||
libs-y += arch/arm/mach-imx/
|
||||
endif
|
||||
else
|
||||
ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx7ulp mx31 mx35 mxs vf610))
|
||||
ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx7ulp mx31 mx35 mxs mx8m vf610))
|
||||
libs-y += arch/arm/mach-imx/
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -524,24 +524,3 @@ u32 spl_boot_device(void)
|
||||
|
||||
return BOOT_DEVICE_NONE;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
switch (spl_boot_device()) {
|
||||
case BOOT_DEVICE_MMC1:
|
||||
#ifdef CONFIG_SPL_FAT_SUPPORT
|
||||
return MMCSD_MODE_FS;
|
||||
#else
|
||||
return MMCSD_MODE_RAW;
|
||||
#endif
|
||||
break;
|
||||
case BOOT_DEVICE_NAND:
|
||||
return 0;
|
||||
break;
|
||||
default:
|
||||
puts("spl: ERROR: unsupported device\n");
|
||||
hang();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <libfdt.h>
|
||||
#include <linux/libfdt.h>
|
||||
#include <fdt_support.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/processor.h>
|
||||
|
||||
@@ -14,20 +14,3 @@ u32 spl_boot_device(void)
|
||||
#endif
|
||||
return BOOT_DEVICE_NAND;
|
||||
}
|
||||
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
switch (spl_boot_device()) {
|
||||
case BOOT_DEVICE_MMC1:
|
||||
#ifdef CONFIG_SPL_FAT_SUPPORT
|
||||
return MMCSD_MODE_FS;
|
||||
#else
|
||||
return MMCSD_MODE_RAW;
|
||||
#endif
|
||||
case BOOT_DEVICE_NAND:
|
||||
return 0;
|
||||
default:
|
||||
puts("spl: error: unsupported device\n");
|
||||
hang();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/types.h>
|
||||
#include <asm/global_data.h>
|
||||
#include <libfdt.h>
|
||||
#include <linux/libfdt.h>
|
||||
#include <fdt_support.h>
|
||||
#include <asm/armv7.h>
|
||||
#include <asm/psci.h>
|
||||
|
||||
@@ -3,6 +3,8 @@ config ARCH_LS1012A
|
||||
select ARMV8_SET_SMPEN
|
||||
select ARM_ERRATA_855873
|
||||
select FSL_LSCH2
|
||||
select SYS_FSL_SRDS_1
|
||||
select SYS_HAS_SERDES
|
||||
select SYS_FSL_DDR_BE
|
||||
select SYS_FSL_MMDC
|
||||
select SYS_FSL_ERRATUM_A010315
|
||||
@@ -19,6 +21,8 @@ config ARCH_LS1043A
|
||||
select ARMV8_SET_SMPEN
|
||||
select ARM_ERRATA_855873
|
||||
select FSL_LSCH2
|
||||
select SYS_FSL_SRDS_1
|
||||
select SYS_HAS_SERDES
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDR_BE
|
||||
select SYS_FSL_DDR_VER_50
|
||||
@@ -45,6 +49,8 @@ config ARCH_LS1046A
|
||||
bool
|
||||
select ARMV8_SET_SMPEN
|
||||
select FSL_LSCH2
|
||||
select SYS_FSL_SRDS_1
|
||||
select SYS_HAS_SERDES
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDR_BE
|
||||
select SYS_FSL_DDR_VER_50
|
||||
@@ -72,6 +78,8 @@ config ARCH_LS1088A
|
||||
select ARMV8_SET_SMPEN
|
||||
select ARM_ERRATA_855873
|
||||
select FSL_LSCH3
|
||||
select SYS_FSL_SRDS_1
|
||||
select SYS_HAS_SERDES
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDR_LE
|
||||
select SYS_FSL_DDR_VER_50
|
||||
@@ -105,6 +113,8 @@ config ARCH_LS2080A
|
||||
select ARM_ERRATA_829520
|
||||
select ARM_ERRATA_833471
|
||||
select FSL_LSCH3
|
||||
select SYS_FSL_SRDS_1
|
||||
select SYS_HAS_SERDES
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDR_LE
|
||||
select SYS_FSL_DDR_VER_50
|
||||
@@ -142,13 +152,9 @@ config FSL_LSCH2
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_COMPAT_5
|
||||
select SYS_FSL_SEC_BE
|
||||
select SYS_FSL_SRDS_1
|
||||
select SYS_HAS_SERDES
|
||||
|
||||
config FSL_LSCH3
|
||||
bool
|
||||
select SYS_FSL_SRDS_1
|
||||
select SYS_HAS_SERDES
|
||||
|
||||
config FSL_MC_ENET
|
||||
bool "Management Complex network"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#include <common.h>
|
||||
#include <efi_loader.h>
|
||||
#include <libfdt.h>
|
||||
#include <linux/libfdt.h>
|
||||
#include <fdt_support.h>
|
||||
#include <phy.h>
|
||||
#ifdef CONFIG_FSL_LSCH3
|
||||
|
||||
@@ -26,23 +26,6 @@ u32 spl_boot_device(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
switch (spl_boot_device()) {
|
||||
case BOOT_DEVICE_MMC1:
|
||||
#ifdef CONFIG_SPL_FAT_SUPPORT
|
||||
return MMCSD_MODE_FS;
|
||||
#else
|
||||
return MMCSD_MODE_RAW;
|
||||
#endif
|
||||
case BOOT_DEVICE_NAND:
|
||||
return 0;
|
||||
default:
|
||||
puts("spl: error: unsupported device\n");
|
||||
hang();
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
|
||||
void spl_board_init(void)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <libfdt.h>
|
||||
#include <linux/libfdt.h>
|
||||
#include <asm/spin_table.h>
|
||||
|
||||
int spin_table_update_dt(void *fdt)
|
||||
|
||||
@@ -68,6 +68,12 @@ config PMUFW_INIT_FILE
|
||||
config ZYNQMP_USB
|
||||
bool "Configure ZynqMP USB"
|
||||
|
||||
config ZYNQMP_NO_DDR
|
||||
bool "Disable DDR MMU mapping"
|
||||
help
|
||||
This option configures MMU with no DDR to avoid speculative
|
||||
access to DDR memory where DDR is not present.
|
||||
|
||||
config SYS_MALLOC_F_LEN
|
||||
default 0x600
|
||||
|
||||
@@ -90,6 +96,9 @@ config SPL_ZYNQMP_ALT_BOOTMODE_ENABLED
|
||||
Overwrite bootmode selected via boot mode pins to tell SPL what should
|
||||
be the next boot device.
|
||||
|
||||
config ZYNQ_SDHCI_MAX_FREQ
|
||||
default 200000000
|
||||
|
||||
config SPL_ZYNQMP_ALT_BOOTMODE
|
||||
hex
|
||||
default 0x0 if JTAG_MODE
|
||||
@@ -107,7 +116,7 @@ config SPL_ZYNQMP_ALT_BOOTMODE
|
||||
choice
|
||||
prompt "Boot mode"
|
||||
depends on SPL_ZYNQMP_ALT_BOOTMODE_ENABLED
|
||||
default JTAG
|
||||
default JTAG_MODE
|
||||
|
||||
config JTAG_MODE
|
||||
bool "JTAG_MODE"
|
||||
|
||||
@@ -9,3 +9,4 @@ obj-y += clk.o
|
||||
obj-y += cpu.o
|
||||
obj-$(CONFIG_MP) += mp.o
|
||||
obj-$(CONFIG_SPL_BUILD) += spl.o handoff.o
|
||||
obj-$(CONFIG_ZYNQMP_PSU_INIT_ENABLED) += psu_spl_init.o
|
||||
|
||||
@@ -17,20 +17,24 @@
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
static struct mm_region zynqmp_mem_map[] = {
|
||||
#if !defined(CONFIG_ZYNQMP_NO_DDR)
|
||||
{
|
||||
.virt = 0x0UL,
|
||||
.phys = 0x0UL,
|
||||
.size = 0x80000000UL,
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
|
||||
PTE_BLOCK_INNER_SHARE
|
||||
}, {
|
||||
},
|
||||
#endif
|
||||
{
|
||||
.virt = 0x80000000UL,
|
||||
.phys = 0x80000000UL,
|
||||
.size = 0x70000000UL,
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
PTE_BLOCK_NON_SHARE |
|
||||
PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
||||
}, {
|
||||
},
|
||||
{
|
||||
.virt = 0xf8000000UL,
|
||||
.phys = 0xf8000000UL,
|
||||
.size = 0x07e00000UL,
|
||||
@@ -48,20 +52,24 @@ static struct mm_region zynqmp_mem_map[] = {
|
||||
#endif
|
||||
.virt = 0x400000000UL,
|
||||
.phys = 0x400000000UL,
|
||||
.size = 0x200000000UL,
|
||||
.size = 0x400000000UL,
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
PTE_BLOCK_NON_SHARE |
|
||||
PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
||||
}, {
|
||||
.virt = 0x600000000UL,
|
||||
.phys = 0x600000000UL,
|
||||
},
|
||||
#if !defined(CONFIG_ZYNQMP_NO_DDR)
|
||||
{
|
||||
.virt = 0x800000000UL,
|
||||
.phys = 0x800000000UL,
|
||||
.size = 0x800000000UL,
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
|
||||
PTE_BLOCK_INNER_SHARE
|
||||
}, {
|
||||
.virt = 0xe00000000UL,
|
||||
.phys = 0xe00000000UL,
|
||||
.size = 0xf200000000UL,
|
||||
},
|
||||
#endif
|
||||
{
|
||||
.virt = 0x1000000000UL,
|
||||
.phys = 0x1000000000UL,
|
||||
.size = 0xf000000000UL,
|
||||
.attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
PTE_BLOCK_NON_SHARE |
|
||||
PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
||||
|
||||
80
arch/arm/cpu/armv8/zynqmp/psu_spl_init.c
Normal file
80
arch/arm/cpu/armv8/zynqmp/psu_spl_init.c
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright 2018 Xilinx, Inc.
|
||||
*
|
||||
* Michal Simek <michal.simek@xilinx.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/psu_init_gpl.h>
|
||||
|
||||
#define PSU_MASK_POLL_TIME 1100000
|
||||
|
||||
int __maybe_unused mask_pollonvalue(unsigned long add, u32 mask, u32 value)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
while ((__raw_readl(add) & mask) != value) {
|
||||
if (i == PSU_MASK_POLL_TIME)
|
||||
return 0;
|
||||
i++;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
__weak int mask_poll(u32 add, u32 mask)
|
||||
{
|
||||
int i = 0;
|
||||
unsigned long addr = add;
|
||||
|
||||
while (!(__raw_readl(addr) & mask)) {
|
||||
if (i == PSU_MASK_POLL_TIME)
|
||||
return 0;
|
||||
i++;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
__weak u32 mask_read(u32 add, u32 mask)
|
||||
{
|
||||
unsigned long addr = add;
|
||||
|
||||
return __raw_readl(addr) & mask;
|
||||
}
|
||||
|
||||
__weak void mask_delay(u32 delay)
|
||||
{
|
||||
udelay(delay);
|
||||
}
|
||||
|
||||
__weak void psu_mask_write(unsigned long offset, unsigned long mask,
|
||||
unsigned long val)
|
||||
{
|
||||
unsigned long regval = 0;
|
||||
|
||||
regval = readl(offset);
|
||||
regval &= ~(mask);
|
||||
regval |= (val & mask);
|
||||
writel(regval, offset);
|
||||
}
|
||||
|
||||
__weak void prog_reg(unsigned long addr, unsigned long mask,
|
||||
unsigned long shift, unsigned long value)
|
||||
{
|
||||
int rdata = 0;
|
||||
|
||||
rdata = readl(addr);
|
||||
rdata = rdata & (~mask);
|
||||
rdata = rdata | (value << shift);
|
||||
writel(rdata, addr);
|
||||
}
|
||||
|
||||
__weak int psu_init(void)
|
||||
{
|
||||
/*
|
||||
* This function is overridden by the one in
|
||||
* board/xilinx/zynqmp/(platform)/psu_init_gpl.c, if it exists.
|
||||
*/
|
||||
return -1;
|
||||
}
|
||||
@@ -115,28 +115,6 @@ u32 spl_boot_device(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
switch (boot_device) {
|
||||
case BOOT_DEVICE_RAM:
|
||||
return 0;
|
||||
case BOOT_DEVICE_MMC1:
|
||||
case BOOT_DEVICE_MMC2:
|
||||
return MMCSD_MODE_FS;
|
||||
default:
|
||||
puts("spl: error: unsupported device\n");
|
||||
hang();
|
||||
}
|
||||
}
|
||||
|
||||
__weak void psu_init(void)
|
||||
{
|
||||
/*
|
||||
* This function is overridden by the one in
|
||||
* board/xilinx/zynqmp/(platform)/psu_init_gpl.c, if it exists.
|
||||
*/
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SPL_OS_BOOT
|
||||
int spl_start_uboot(void)
|
||||
{
|
||||
|
||||
@@ -147,6 +147,8 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
|
||||
zynq-zybo.dtb
|
||||
dtb-$(CONFIG_ARCH_ZYNQMP) += \
|
||||
zynqmp-ep108.dtb \
|
||||
zynqmp-mini-emmc.dtb \
|
||||
zynqmp-mini-nand.dtb \
|
||||
zynqmp-zcu102-revA.dtb \
|
||||
zynqmp-zcu102-revB.dtb \
|
||||
zynqmp-zcu102-rev1.0.dtb \
|
||||
@@ -175,6 +177,7 @@ dtb-$(CONFIG_ARCH_SOCFPGA) += \
|
||||
socfpga_cyclone5_is1.dtb \
|
||||
socfpga_cyclone5_mcvevk.dtb \
|
||||
socfpga_cyclone5_socdk.dtb \
|
||||
socfpga_cyclone5_dbm_soc1.dtb \
|
||||
socfpga_cyclone5_de0_nano_soc.dtb \
|
||||
socfpga_cyclone5_de1_soc.dtb \
|
||||
socfpga_cyclone5_de10_nano.dtb \
|
||||
@@ -383,16 +386,17 @@ dtb-$(CONFIG_MX6) += imx6ull-14x14-evk.dtb \
|
||||
imx6sl-evk.dtb \
|
||||
imx6sll-evk.dtb \
|
||||
imx6dl-icore.dtb \
|
||||
imx6dl-icore-mipi.dtb \
|
||||
imx6dl-icore-rqs.dtb \
|
||||
imx6q-cm-fx6.dtb \
|
||||
imx6q-icore.dtb \
|
||||
imx6q-icore-mipi.dtb \
|
||||
imx6q-icore-rqs.dtb \
|
||||
imx6q-logicpd.dtb \
|
||||
imx6sx-sabreauto.dtb \
|
||||
imx6sx-sdb.dtb \
|
||||
imx6ul-geam-kit.dtb \
|
||||
imx6ul-isiot-emmc.dtb \
|
||||
imx6ul-isiot-mmc.dtb \
|
||||
imx6ul-isiot-nand.dtb \
|
||||
imx6ul-opos6uldev.dtb
|
||||
|
||||
@@ -406,6 +410,7 @@ dtb-$(CONFIG_RCAR_GEN3) += \
|
||||
r8a7795-salvator-x.dtb \
|
||||
r8a7796-m3ulcb.dtb \
|
||||
r8a7796-salvator-x.dtb \
|
||||
r8a77965-salvator-x.dtb \
|
||||
r8a77970-eagle.dtb \
|
||||
r8a77995-draak.dtb
|
||||
|
||||
|
||||
@@ -25,6 +25,11 @@
|
||||
pinctrl-1 = <&mmc1_pins_hs>;
|
||||
|
||||
vmmc-supply = <&ldo1_reg>;
|
||||
/delete-property/ sd-uhs-sdr104;
|
||||
/delete-property/ sd-uhs-sdr50;
|
||||
/delete-property/ sd-uhs-ddr50;
|
||||
/delete-property/ sd-uhs-sdr25;
|
||||
/delete-property/ sd-uhs-sdr12;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
@@ -32,6 +37,7 @@
|
||||
pinctrl-0 = <&mmc2_pins_default>;
|
||||
pinctrl-1 = <&mmc2_pins_hs>;
|
||||
pinctrl-2 = <&mmc2_pins_ddr_3_3v_rev11 &mmc2_iodelay_ddr_3_3v_rev11_conf>;
|
||||
/delete-property/ mmc-hs200-1_8v;
|
||||
};
|
||||
|
||||
/* errata i880 "Ethernet RGMII2 Limited to 10/100 Mbps" */
|
||||
|
||||
@@ -413,6 +413,8 @@
|
||||
bus-width = <8>;
|
||||
ti,non-removable;
|
||||
max-frequency = <96000000>;
|
||||
no-1-8-v;
|
||||
/delete-property/ mmc-hs200-1_8v;
|
||||
};
|
||||
|
||||
&dcan1 {
|
||||
|
||||
@@ -1056,7 +1056,7 @@
|
||||
};
|
||||
|
||||
mmc1: mmc@4809c000 {
|
||||
compatible = "ti,omap4-hsmmc";
|
||||
compatible = "ti,dra7-hsmmc", "ti,omap4-hsmmc";
|
||||
reg = <0x4809c000 0x400>;
|
||||
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmc1";
|
||||
@@ -1067,10 +1067,15 @@
|
||||
status = "disabled";
|
||||
pbias-supply = <&pbias_mmc_reg>;
|
||||
max-frequency = <192000000>;
|
||||
sd-uhs-sdr104;
|
||||
sd-uhs-sdr50;
|
||||
sd-uhs-ddr50;
|
||||
sd-uhs-sdr25;
|
||||
sd-uhs-sdr12;
|
||||
};
|
||||
|
||||
mmc2: mmc@480b4000 {
|
||||
compatible = "ti,omap4-hsmmc";
|
||||
compatible = "ti,dra7-hsmmc", "ti,omap4-hsmmc";
|
||||
reg = <0x480b4000 0x400>;
|
||||
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmc2";
|
||||
@@ -1079,10 +1084,14 @@
|
||||
dma-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
max-frequency = <192000000>;
|
||||
sd-uhs-sdr25;
|
||||
sd-uhs-sdr12;
|
||||
mmc-hs200-1_8v;
|
||||
mmc-ddr-1_8v;
|
||||
};
|
||||
|
||||
mmc3: mmc@480ad000 {
|
||||
compatible = "ti,omap4-hsmmc";
|
||||
compatible = "ti,dra7-hsmmc", "ti,omap4-hsmmc";
|
||||
reg = <0x480ad000 0x400>;
|
||||
interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmc3";
|
||||
@@ -1092,10 +1101,13 @@
|
||||
status = "disabled";
|
||||
/* Errata i887 limits max-frequency of MMC3 to 64 MHz */
|
||||
max-frequency = <64000000>;
|
||||
sd-uhs-sdr12;
|
||||
sd-uhs-sdr25;
|
||||
sd-uhs-sdr50;
|
||||
};
|
||||
|
||||
mmc4: mmc@480d1000 {
|
||||
compatible = "ti,omap4-hsmmc";
|
||||
compatible = "ti,dra7-hsmmc", "ti,omap4-hsmmc";
|
||||
reg = <0x480d1000 0x400>;
|
||||
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmc4";
|
||||
@@ -1104,6 +1116,8 @@
|
||||
dma-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
max-frequency = <192000000>;
|
||||
sd-uhs-sdr12;
|
||||
sd-uhs-sdr25;
|
||||
};
|
||||
|
||||
mmu0_dsp1: mmu@40d01000 {
|
||||
|
||||
92
arch/arm/dts/fsl-imx8-ca53.dtsi
Normal file
92
arch/arm/dts/fsl-imx8-ca53.dtsi
Normal file
@@ -0,0 +1,92 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/{
|
||||
cpus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
idle-states {
|
||||
entry-method = "psci";
|
||||
|
||||
CPU_SLEEP: cpu-sleep {
|
||||
compatible = "arm,idle-state";
|
||||
local-timer-stop;
|
||||
arm,psci-suspend-param = <0x0000000>;
|
||||
entry-latency-us = <700>;
|
||||
exit-latency-us = <250>;
|
||||
min-residency-us = <1000>;
|
||||
};
|
||||
|
||||
CLUSTER_SLEEP: cluster-sleep {
|
||||
compatible = "arm,idle-state";
|
||||
local-timer-stop;
|
||||
arm,psci-suspend-param = <0x1000000>;
|
||||
entry-latency-us = <1000>;
|
||||
exit-latency-us = <700>;
|
||||
min-residency-us = <2700>;
|
||||
wakeup-latency-us = <1500>;
|
||||
};
|
||||
};
|
||||
|
||||
/* We have 1 clusters having 4 Cortex-A53 cores */
|
||||
A53_0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x0 0x0>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&A53_L2>;
|
||||
cpu-idle-states = <&CPU_SLEEP>;
|
||||
};
|
||||
|
||||
A53_1: cpu@1 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x0 0x1>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&A53_L2>;
|
||||
cpu-idle-states = <&CPU_SLEEP>;
|
||||
};
|
||||
|
||||
A53_2: cpu@2 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x0 0x2>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&A53_L2>;
|
||||
cpu-idle-states = <&CPU_SLEEP>;
|
||||
};
|
||||
|
||||
A53_3: cpu@3 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x0 0x3>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&A53_L2>;
|
||||
cpu-idle-states = <&CPU_SLEEP>;
|
||||
};
|
||||
|
||||
A53_L2: l2-cache0 {
|
||||
compatible = "cache";
|
||||
};
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
cpu_suspend = <0xc4000001>;
|
||||
cpu_off = <0xc4000002>;
|
||||
cpu_on = <0xc4000003>;
|
||||
};
|
||||
};
|
||||
429
arch/arm/dts/fsl-imx8mq.dtsi
Normal file
429
arch/arm/dts/fsl-imx8mq.dtsi
Normal file
@@ -0,0 +1,429 @@
|
||||
/*
|
||||
* Copyright (C) 2016 Freescale Semiconductor, Inc.
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include "fsl-imx8-ca53.dtsi"
|
||||
#include <dt-bindings/clock/imx8mq-clock.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/pinctrl/pins-imx8mq.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
/ {
|
||||
compatible = "fsl,imx8mq";
|
||||
interrupt-parent = <&gpc>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
aliases {
|
||||
ethernet0 = &fec1;
|
||||
mmc0 = &usdhc1;
|
||||
mmc1 = &usdhc2;
|
||||
gpio0 = &gpio1;
|
||||
gpio1 = &gpio2;
|
||||
gpio2 = &gpio3;
|
||||
gpio3 = &gpio4;
|
||||
gpio4 = &gpio5;
|
||||
i2c0 = &i2c1;
|
||||
i2c1 = &i2c2;
|
||||
i2c2 = &i2c3;
|
||||
i2c3 = &i2c4;
|
||||
};
|
||||
|
||||
memory@40000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x40000000 0 0xc0000000>;
|
||||
};
|
||||
|
||||
gic: interrupt-controller@38800000 {
|
||||
compatible = "arm,gic-v3";
|
||||
reg = <0x0 0x38800000 0 0x10000>, /* GIC Dist */
|
||||
<0x0 0x38880000 0 0xC0000>; /* GICR (RD_base + SGI_base) */
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-parent = <&gic>;
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) |
|
||||
IRQ_TYPE_LEVEL_LOW)>, /* Physical Secure */
|
||||
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) |
|
||||
IRQ_TYPE_LEVEL_LOW)>, /* Physical Non-Secure */
|
||||
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) |
|
||||
IRQ_TYPE_LEVEL_LOW)>, /* Virtual */
|
||||
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) |
|
||||
IRQ_TYPE_LEVEL_LOW)>; /* Hypervisor */
|
||||
clock-frequency = <8333333>;
|
||||
interrupt-parent = <&gic>;
|
||||
};
|
||||
|
||||
power: power-controller {
|
||||
compatible = "fsl,imx8mq-pm-domain";
|
||||
num-domains = <11>;
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
pwm2: pwm@30670000 {
|
||||
compatible = "fsl,imx8mq-pwm", "fsl,imx27-pwm";
|
||||
reg = <0x0 0x30670000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MQ_CLK_PWM2_ROOT>,
|
||||
<&clk IMX8MQ_CLK_PWM2_ROOT>;
|
||||
clock-names = "ipg", "per";
|
||||
#pwm-cells = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio1: gpio@30200000 {
|
||||
compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x0 0x30200000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio2: gpio@30210000 {
|
||||
compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x0 0x30210000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio3: gpio@30220000 {
|
||||
compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x0 0x30220000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio4: gpio@30230000 {
|
||||
compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x0 0x30230000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
gpio5: gpio@30240000 {
|
||||
compatible = "fsl,imx8mq-gpio", "fsl,imx35-gpio";
|
||||
reg = <0x0 0x30240000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
tmu: tmu@30260000 {
|
||||
compatible = "fsl,imx8mq-tmu";
|
||||
reg = <0x0 0x30260000 0x0 0x10000>;
|
||||
interrupt = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
|
||||
little-endian;
|
||||
u-boot,dm-pre-reloc;
|
||||
fsl,tmu-range = <0xa0000 0x90026 0x8004a 0x1006a>;
|
||||
fsl,tmu-calibration = <0x00000000 0x00000020
|
||||
0x00000001 0x00000028
|
||||
0x00000002 0x00000030
|
||||
0x00000003 0x00000038
|
||||
0x00000004 0x00000040
|
||||
0x00000005 0x00000048
|
||||
0x00000006 0x00000050
|
||||
0x00000007 0x00000058
|
||||
0x00000008 0x00000060
|
||||
0x00000009 0x00000068
|
||||
0x0000000a 0x00000070
|
||||
0x0000000b 0x00000077
|
||||
|
||||
0x00010000 0x00000057
|
||||
0x00010001 0x0000005b
|
||||
0x00010002 0x0000005f
|
||||
0x00010003 0x00000063
|
||||
0x00010004 0x00000067
|
||||
0x00010005 0x0000006b
|
||||
0x00010006 0x0000006f
|
||||
0x00010007 0x00000073
|
||||
0x00010008 0x00000077
|
||||
0x00010009 0x0000007b
|
||||
0x0001000a 0x0000007f
|
||||
|
||||
0x00020000 0x00000002
|
||||
0x00020001 0x0000000e
|
||||
0x00020002 0x0000001a
|
||||
0x00020003 0x00000026
|
||||
0x00020004 0x00000032
|
||||
0x00020005 0x0000003e
|
||||
0x00020006 0x0000004a
|
||||
0x00020007 0x00000056
|
||||
0x00020008 0x00000062
|
||||
|
||||
0x00030000 0x00000000
|
||||
0x00030001 0x00000008
|
||||
0x00030002 0x00000010
|
||||
0x00030003 0x00000018
|
||||
0x00030004 0x00000020
|
||||
0x00030005 0x00000028
|
||||
0x00030006 0x00000030
|
||||
0x00030007 0x00000038>;
|
||||
#thermal-sensor-cells = <0>;
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
/* cpu thermal */
|
||||
cpu-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <2000>;
|
||||
thermal-sensors = <&tmu>;
|
||||
trips {
|
||||
cpu_alert0: trip0 {
|
||||
temperature = <85000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
cpu_crit0: trip1 {
|
||||
temperature = <125000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu_alert0>;
|
||||
cooling-device =
|
||||
<&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
lcdif: lcdif@30320000 {
|
||||
compatible = "fsl,imx8mq-lcdif", "fsl,imx28-lcdif";
|
||||
reg = <0x0 0x30320000 0x0 0x10000>;
|
||||
clocks = <&clk IMX8MQ_CLK_LCDIF_PIXEL_DIV>,
|
||||
<&clk IMX8MQ_CLK_DUMMY>,
|
||||
<&clk IMX8MQ_CLK_DUMMY>;
|
||||
clock-names = "pix", "axi", "disp_axi";
|
||||
assigned-clocks = <&clk IMX8MQ_CLK_LCDIF_PIXEL_SRC>;
|
||||
assigned-clock-parents = <&clk IMX8MQ_VIDEO_PLL1_OUT>;
|
||||
assigned-clock-rate = <594000000>;
|
||||
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
iomuxc: iomuxc@30330000 {
|
||||
compatible = "fsl,imx8mq-iomuxc";
|
||||
reg = <0x0 0x30330000 0x0 0x10000>;
|
||||
};
|
||||
|
||||
gpr: iomuxc-gpr@30340000 {
|
||||
compatible = "fsl,imx8mq-iomuxc-gpr", "fsl,imx7d-iomuxc-gpr", "syscon";
|
||||
reg = <0x0 0x30340000 0x0 0x10000>;
|
||||
};
|
||||
|
||||
ocotp: ocotp-ctrl@30350000 {
|
||||
compatible = "fsl,imx8mq-ocotp", "fsl,imx7d-ocotp", "syscon";
|
||||
reg = <0x0 0x30350000 0x0 0x10000>;
|
||||
};
|
||||
|
||||
anatop: anatop@30360000 {
|
||||
compatible = "fsl,imx8mq-anatop", "fsl,imx6q-anatop",
|
||||
"syscon", "simple-bus";
|
||||
reg = <0x0 0x30360000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
clk: ccm@30380000 {
|
||||
compatible = "fsl,imx8mq-ccm";
|
||||
reg = <0x0 0x30380000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
gpc: gpc@303a0000 {
|
||||
compatible = "fsl,imx8mq-gpc", "fsl,imx7d-gpc", "syscon";
|
||||
reg = <0x0 0x303a0000 0x0 0x10000>;
|
||||
interrupt-controller;
|
||||
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-parent = <&gic>;
|
||||
};
|
||||
|
||||
usdhc1: usdhc@30b40000 {
|
||||
compatible = "fsl,imx8mq-usdhc", "fsl,imx7d-usdhc";
|
||||
reg = <0x0 0x30b40000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MQ_CLK_DUMMY>,
|
||||
<&clk IMX8MQ_CLK_NAND_USDHC_BUS_DIV>,
|
||||
<&clk IMX8MQ_CLK_USDHC1_ROOT>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
assigned-clocks = <&clk IMX8MQ_CLK_USDHC1_DIV>;
|
||||
assigned-clock-rates = <400000000>;
|
||||
fsl,tuning-start-tap = <20>;
|
||||
fsl,tuning-step= <2>;
|
||||
bus-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usdhc2: usdhc@30b50000 {
|
||||
compatible = "fsl,imx8mq-usdhc", "fsl,imx7d-usdhc";
|
||||
reg = <0x0 0x30b50000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MQ_CLK_DUMMY>,
|
||||
<&clk IMX8MQ_CLK_NAND_USDHC_BUS_DIV>,
|
||||
<&clk IMX8MQ_CLK_USDHC2_ROOT>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
fsl,tuning-start-tap = <20>;
|
||||
fsl,tuning-step= <2>;
|
||||
bus-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
fec1: ethernet@30be0000 {
|
||||
compatible = "fsl,imx8mq-fec", "fsl,imx6sx-fec";
|
||||
reg = <0x0 0x30be0000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MQ_CLK_ENET1_ROOT>,
|
||||
<&clk IMX8MQ_CLK_ENET1_ROOT>,
|
||||
<&clk IMX8MQ_CLK_ENET_TIMER_DIV>,
|
||||
<&clk IMX8MQ_CLK_ENET_REF_DIV>,
|
||||
<&clk IMX8MQ_CLK_ENET_PHY_REF_DIV>;
|
||||
clock-names = "ipg", "ahb", "ptp",
|
||||
"enet_clk_ref", "enet_out";
|
||||
assigned-clocks = <&clk IMX8MQ_CLK_ENET_AXI_SRC>,
|
||||
<&clk IMX8MQ_CLK_ENET_TIMER_SRC>,
|
||||
<&clk IMX8MQ_CLK_ENET_REF_SRC>,
|
||||
<&clk IMX8MQ_CLK_ENET_TIMER_DIV>;
|
||||
assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_266M>,
|
||||
<&clk IMX8MQ_SYS2_PLL_100M>,
|
||||
<&clk IMX8MQ_SYS2_PLL_125M>;
|
||||
assigned-clock-rates = <0>, <0>, <125000000>, <100000000>;
|
||||
stop-mode = <&gpr 0x10 3>;
|
||||
fsl,num-tx-queues=<3>;
|
||||
fsl,num-rx-queues=<3>;
|
||||
fsl,wakeup_irq = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
imx_ion {
|
||||
compatible = "fsl,mxc-ion";
|
||||
fsl,heap-id = <0>;
|
||||
};
|
||||
|
||||
i2c1: i2c@30a20000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx21-i2c";
|
||||
reg = <0x0 0x30a20000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MQ_CLK_I2C1_ROOT>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c2: i2c@30a30000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx21-i2c";
|
||||
reg = <0x0 0x30a30000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MQ_CLK_I2C2_ROOT>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c3: i2c@30a40000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx21-i2c";
|
||||
reg = <0x0 0x30a40000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MQ_CLK_I2C3_ROOT>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c4: i2c@30a50000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx21-i2c";
|
||||
reg = <0x0 0x30a50000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MQ_CLK_I2C4_ROOT>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
wdog1: wdog@30280000 {
|
||||
compatible = "fsl,imx21-wdt";
|
||||
reg = <0 0x30280000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MQ_CLK_WDOG1_ROOT>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
wdog2: wdog@30290000 {
|
||||
compatible = "fsl,imx21-wdt";
|
||||
reg = <0 0x30290000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MQ_CLK_WDOG2_ROOT>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
wdog3: wdog@302a0000 {
|
||||
compatible = "fsl,imx21-wdt";
|
||||
reg = <0 0x302a0000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MQ_CLK_WDOG3_ROOT>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dma_cap: dma_cap {
|
||||
compatible = "dma-capability";
|
||||
only-dma-mask32 = <1>;
|
||||
};
|
||||
|
||||
qspi: qspi@30bb0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx7d-qspi";
|
||||
reg = <0 0x30bb0000 0 0x10000>, <0 0x08000000 0 0x10000000>;
|
||||
reg-names = "QuadSPI", "QuadSPI-memory";
|
||||
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MQ_CLK_QSPI_ROOT>,
|
||||
<&clk IMX8MQ_CLK_QSPI_ROOT>;
|
||||
clock-names = "qspi_en", "qspi";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
&A53_0 {
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
21
arch/arm/dts/imx6dl-icore-mipi.dts
Normal file
21
arch/arm/dts/imx6dl-icore-mipi.dts
Normal file
@@ -0,0 +1,21 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (C) 2017 Engicam S.r.l.
|
||||
* Copyright (C) 2017 Amarula Solutions B.V.
|
||||
* Author: Jagan Teki <jagan@amarulasolutions.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx6dl.dtsi"
|
||||
#include "imx6qdl-icore.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Engicam i.CoreM6 DualLite/Solo MIPI Starter Kit";
|
||||
compatible = "engicam,imx6-icore", "fsl,imx6dl";
|
||||
};
|
||||
|
||||
&usdhc3 {
|
||||
u-boot,dm-spl;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx6q.dtsi"
|
||||
#include "imx6dl.dtsi"
|
||||
#include "imx6qdl-icore-rqs.dtsi"
|
||||
|
||||
/ {
|
||||
|
||||
21
arch/arm/dts/imx6q-icore-mipi.dts
Normal file
21
arch/arm/dts/imx6q-icore-mipi.dts
Normal file
@@ -0,0 +1,21 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (C) 2017 Engicam S.r.l.
|
||||
* Copyright (C) 2017 Amarula Solutions B.V.
|
||||
* Author: Jagan Teki <jagan@amarulasolutions.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx6q.dtsi"
|
||||
#include "imx6qdl-icore.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Engicam i.CoreM6 Quad/Dual MIPI Starter Kit";
|
||||
compatible = "engicam,imx6-icore", "fsl,imx6q";
|
||||
};
|
||||
|
||||
&usdhc3 {
|
||||
u-boot,dm-spl;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -114,9 +114,14 @@
|
||||
};
|
||||
|
||||
&usdhc4 {
|
||||
pinctrl-names = "default";
|
||||
u-boot,dm-spl;
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc4>;
|
||||
pinctrl-1 = <&pinctrl_usdhc4_100mhz>;
|
||||
pinctrl-2 = <&pinctrl_usdhc4_200mhz>;
|
||||
bus-witdh = <8>;
|
||||
no-1-8-v;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -183,6 +188,7 @@
|
||||
};
|
||||
|
||||
pinctrl_usdhc4: usdhc4grp {
|
||||
u-boot,dm-spl;
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17070
|
||||
MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10070
|
||||
@@ -196,4 +202,35 @@
|
||||
MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17070
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc4_100mhz: usdhc4grp_100mhz {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_SD4_CMD__SD4_CMD 0x170B1
|
||||
MX6QDL_PAD_SD4_CLK__SD4_CLK 0x100B1
|
||||
MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x170B1
|
||||
MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x170B1
|
||||
MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x170B1
|
||||
MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x170B1
|
||||
MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x170B1
|
||||
MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x170B1
|
||||
MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x170B1
|
||||
MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x170B1
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc4_200mhz: usdhc4grp_200mhz {
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_SD4_CMD__SD4_CMD 0x170F9
|
||||
MX6QDL_PAD_SD4_CLK__SD4_CLK 0x100F9
|
||||
MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x170F9
|
||||
MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x170F9
|
||||
MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x170F9
|
||||
MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x170F9
|
||||
MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x170F9
|
||||
MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x170F9
|
||||
MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x170F9
|
||||
MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x170F9
|
||||
>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@@ -44,6 +44,10 @@
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
mmc1 = &usdhc3;
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0x10000000 0x80000000>;
|
||||
};
|
||||
@@ -126,6 +130,14 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc3>;
|
||||
no-1-8-v;
|
||||
non-removable;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl_enet: enetgrp {
|
||||
fsl,pins = <
|
||||
@@ -219,4 +231,20 @@
|
||||
MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17070
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3: usdhc3grp {
|
||||
u-boot,dm-spl;
|
||||
fsl,pins = <
|
||||
MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
|
||||
MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
|
||||
MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
|
||||
MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
|
||||
MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
|
||||
MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
|
||||
MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059
|
||||
MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059
|
||||
MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059
|
||||
MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2016 Amarula Solutions B.V.
|
||||
* Copyright (C) 2016 Engicam S.r.l.
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This file 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.
|
||||
*
|
||||
* This file 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.
|
||||
*
|
||||
* Or, alternatively
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx6ul-isiot.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Engicam Is.IoT MX6UL MMC Starterkit";
|
||||
compatible = "engicam,imx6ul-isiot", "fsl,imx6ul";
|
||||
};
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include "imx6ull.dtsi"
|
||||
|
||||
/ {
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#include <dt-bindings/clock/imx6ul-clock.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include "imx6ull-pinfunc.h"
|
||||
#include "imx6ull-pinfunc-snvs.h"
|
||||
|
||||
@@ -134,6 +134,28 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1_100mhz: usdhc1grp_100mhz {
|
||||
fsl,pins = <
|
||||
MX7D_PAD_SD1_CMD__SD1_CMD 0x5a
|
||||
MX7D_PAD_SD1_CLK__SD1_CLK 0x1a
|
||||
MX7D_PAD_SD1_DATA0__SD1_DATA0 0x5a
|
||||
MX7D_PAD_SD1_DATA1__SD1_DATA1 0x5a
|
||||
MX7D_PAD_SD1_DATA2__SD1_DATA2 0x5a
|
||||
MX7D_PAD_SD1_DATA3__SD1_DATA3 0x5a
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1_200mhz: usdhc1grp_200mhz {
|
||||
fsl,pins = <
|
||||
MX7D_PAD_SD1_CMD__SD1_CMD 0x5b
|
||||
MX7D_PAD_SD1_CLK__SD1_CLK 0x1b
|
||||
MX7D_PAD_SD1_DATA0__SD1_DATA0 0x5b
|
||||
MX7D_PAD_SD1_DATA1__SD1_DATA1 0x5b
|
||||
MX7D_PAD_SD1_DATA2__SD1_DATA2 0x5b
|
||||
MX7D_PAD_SD1_DATA3__SD1_DATA3 0x5b
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2: usdhc2grp {
|
||||
fsl,pins = <
|
||||
MX7D_PAD_SD2_CMD__SD2_CMD 0x59
|
||||
@@ -147,6 +169,28 @@
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_100mhz: usdhc2grp_100mhz {
|
||||
fsl,pins = <
|
||||
MX7D_PAD_SD2_CMD__SD2_CMD 0x5a
|
||||
MX7D_PAD_SD2_CLK__SD2_CLK 0x1a
|
||||
MX7D_PAD_SD2_DATA0__SD2_DATA0 0x5a
|
||||
MX7D_PAD_SD2_DATA1__SD2_DATA1 0x5a
|
||||
MX7D_PAD_SD2_DATA2__SD2_DATA2 0x5a
|
||||
MX7D_PAD_SD2_DATA3__SD2_DATA3 0x5a
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_200mhz: usdhc2grp_200mhz {
|
||||
fsl,pins = <
|
||||
MX7D_PAD_SD2_CMD__SD2_CMD 0x5b
|
||||
MX7D_PAD_SD2_CLK__SD2_CLK 0x1b
|
||||
MX7D_PAD_SD2_DATA0__SD2_DATA0 0x5b
|
||||
MX7D_PAD_SD2_DATA1__SD2_DATA1 0x5b
|
||||
MX7D_PAD_SD2_DATA2__SD2_DATA2 0x5b
|
||||
MX7D_PAD_SD2_DATA3__SD2_DATA3 0x5b
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3: usdhc3grp {
|
||||
fsl,pins = <
|
||||
MX7D_PAD_SD3_CMD__SD3_CMD 0x59
|
||||
@@ -162,6 +206,38 @@
|
||||
MX7D_PAD_SD3_STROBE__SD3_STROBE 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
|
||||
fsl,pins = <
|
||||
MX7D_PAD_SD3_CMD__SD3_CMD 0x5a
|
||||
MX7D_PAD_SD3_CLK__SD3_CLK 0x1a
|
||||
MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5a
|
||||
MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5a
|
||||
MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5a
|
||||
MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5a
|
||||
MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5a
|
||||
MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5a
|
||||
MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5a
|
||||
MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5a
|
||||
MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1a
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
|
||||
fsl,pins = <
|
||||
MX7D_PAD_SD3_CMD__SD3_CMD 0x5b
|
||||
MX7D_PAD_SD3_CLK__SD3_CLK 0x1b
|
||||
MX7D_PAD_SD3_DATA0__SD3_DATA0 0x5b
|
||||
MX7D_PAD_SD3_DATA1__SD3_DATA1 0x5b
|
||||
MX7D_PAD_SD3_DATA2__SD3_DATA2 0x5b
|
||||
MX7D_PAD_SD3_DATA3__SD3_DATA3 0x5b
|
||||
MX7D_PAD_SD3_DATA4__SD3_DATA4 0x5b
|
||||
MX7D_PAD_SD3_DATA5__SD3_DATA5 0x5b
|
||||
MX7D_PAD_SD3_DATA6__SD3_DATA6 0x5b
|
||||
MX7D_PAD_SD3_DATA7__SD3_DATA7 0x5b
|
||||
MX7D_PAD_SD3_STROBE__SD3_STROBE 0x1b
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -287,23 +363,35 @@
|
||||
&usdhc1 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_usdhc1_gpio>;
|
||||
pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_usdhc1_gpio>;
|
||||
pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_usdhc1_gpio>;
|
||||
cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
|
||||
wp-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
|
||||
vmmc-supply = <®_sd1_vmmc>;
|
||||
fsl,tuning-start-tap = <20>;
|
||||
fsl,tuning-step= <2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc2 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc2>;
|
||||
pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
|
||||
pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
|
||||
non-removable;
|
||||
fsl,tuning-start-tap = <20>;
|
||||
fsl,tuning-step= <2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc3 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc3>;
|
||||
pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
|
||||
pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
fsl,tuning-start-tap = <20>;
|
||||
fsl,tuning-step= <2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -34,3 +34,51 @@
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qspi {
|
||||
status = "okay";
|
||||
|
||||
flash0: m25p80@0 {
|
||||
compatible = "s25fl256s1", "spi-flash";
|
||||
reg = <0>;
|
||||
spi-tx-bus-width = <1>;
|
||||
spi-rx-bus-width = <4>;
|
||||
spi-max-frequency = <96000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
cdns,read-delay = <5>;
|
||||
cdns,tshsl-ns = <500>;
|
||||
cdns,tsd2d-ns = <500>;
|
||||
cdns,tchsh-ns = <119>;
|
||||
cdns,tslch-ns = <119>;
|
||||
|
||||
partition@0 {
|
||||
label = "QSPI.u-boot";
|
||||
reg = <0x00000000 0x00100000>;
|
||||
};
|
||||
partition@1 {
|
||||
label = "QSPI.u-boot-env";
|
||||
reg = <0x00100000 0x00040000>;
|
||||
};
|
||||
partition@2 {
|
||||
label = "QSPI.skern";
|
||||
reg = <0x00140000 0x0040000>;
|
||||
};
|
||||
partition@3 {
|
||||
label = "QSPI.pmmc-firmware";
|
||||
reg = <0x00180000 0x0040000>;
|
||||
};
|
||||
partition@4 {
|
||||
label = "QSPI.kernel";
|
||||
reg = <0x001c0000 0x0800000>;
|
||||
};
|
||||
partition@5 {
|
||||
label = "QSPI.u-boot-spl-os";
|
||||
reg = <0x009c0000 0x0040000>;
|
||||
};
|
||||
partition@6 {
|
||||
label = "QSPI.file-system";
|
||||
reg = <0x00a00000 0x1600000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -33,11 +33,12 @@
|
||||
hsusb2_phy: hsusb2_phy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; /* gpio_4 */
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&gpmc {
|
||||
ranges = <0 0 0x00000000 0x1000000>; /* CS0: 16MB for NAND */
|
||||
ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */
|
||||
|
||||
nand@0,0 {
|
||||
compatible = "ti,omap2-nand";
|
||||
@@ -66,38 +67,11 @@
|
||||
gpmc,device-width = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
/* u-boot uses mtdparts=omap2-nand.0:512k(x-loader),1920k(u-boot),128k(u-boot-env),4m(kernel),-(fs) */
|
||||
|
||||
x-loader@0 {
|
||||
label = "x-loader";
|
||||
reg = <0 0x80000>;
|
||||
};
|
||||
|
||||
bootloaders@80000 {
|
||||
label = "u-boot";
|
||||
reg = <0x80000 0x1e0000>;
|
||||
};
|
||||
|
||||
bootloaders_env@260000 {
|
||||
label = "u-boot-env";
|
||||
reg = <0x260000 0x20000>;
|
||||
};
|
||||
|
||||
kernel@280000 {
|
||||
label = "kernel";
|
||||
reg = <0x280000 0x400000>;
|
||||
};
|
||||
|
||||
filesystem@680000 {
|
||||
label = "fs";
|
||||
reg = <0x680000 0>; /* 0 = MTDPART_SIZ_FULL */
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <400000>;
|
||||
clock-frequency = <2600000>;
|
||||
|
||||
twl: twl@48 {
|
||||
reg = <0x48>;
|
||||
@@ -121,7 +95,7 @@
|
||||
|
||||
&mmc3 {
|
||||
interrupts-extended = <&intc 94 &omap3_pmx_core2 0x46>;
|
||||
pinctrl-0 = <&mmc3_pins>;
|
||||
pinctrl-0 = <&mmc3_pins &wl127x_gpio>;
|
||||
pinctrl-names = "default";
|
||||
vmmc-supply = <&wl12xx_vmmc>;
|
||||
non-removable;
|
||||
@@ -132,8 +106,8 @@
|
||||
wlcore: wlcore@2 {
|
||||
compatible = "ti,wl1273";
|
||||
reg = <2>;
|
||||
interrupt-parent = <&gpio5>;
|
||||
interrupts = <24 IRQ_TYPE_LEVEL_HIGH>; /* gpio 152 */
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>; /* gpio 2 */
|
||||
ref-clock-frequency = <26000000>;
|
||||
};
|
||||
};
|
||||
@@ -157,8 +131,6 @@
|
||||
OMAP3_CORE1_IOPAD(0x2166, PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc2_dat5.sdmmc3_dat1 */
|
||||
OMAP3_CORE1_IOPAD(0x2168, PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc2_dat6.sdmmc3_dat2 */
|
||||
OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE3) /* sdmmc2_dat6.sdmmc3_dat3 */
|
||||
OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT_PULLUP | MUX_MODE4) /* mcbsp4_clkx.gpio_152 */
|
||||
OMAP3_CORE1_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE4) /* sys_boot1.gpio_3 */
|
||||
OMAP3_CORE1_IOPAD(0x21d0, PIN_INPUT_PULLUP | MUX_MODE3) /* mcspi1_cs1.sdmmc3_cmd */
|
||||
OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT_PULLUP | MUX_MODE3) /* mcspi1_cs2.sdmmc_clk */
|
||||
>;
|
||||
@@ -228,6 +200,12 @@
|
||||
OMAP3_WKUP_IOPAD(0x2a0e, PIN_OUTPUT | MUX_MODE4) /* sys_boot2.gpio_4 */
|
||||
>;
|
||||
};
|
||||
wl127x_gpio: pinmux_wl127x_gpio_pin {
|
||||
pinctrl-single,pins = <
|
||||
OMAP3_WKUP_IOPAD(0x2a0c, PIN_INPUT | MUX_MODE4) /* sys_boot0.gpio_2 */
|
||||
OMAP3_WKUP_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE4) /* sys_boot1.gpio_3 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&omap3_pmx_core2 {
|
||||
|
||||
@@ -8,19 +8,112 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include "r8a7790.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
model = "Stout";
|
||||
compatible = "renesas,stout", "renesas,r8a7790";
|
||||
|
||||
aliases {
|
||||
serial0 = &scif0;
|
||||
serial0 = &scifa0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
memory@40000000 {
|
||||
device_type = "memory";
|
||||
reg = <0 0x40000000 0 0x40000000>;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
led1 {
|
||||
gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
led2 {
|
||||
gpios = <&gpio4 23 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
led3 {
|
||||
gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
led5 {
|
||||
gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
fixedregulator3v3: regulator-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vcc_sdhi0: regulator-vcc-sdhi0 {
|
||||
compatible = "regulator-fixed";
|
||||
|
||||
regulator-name = "SDHI0 Vcc";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
|
||||
gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
hdmi-out {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_out: endpoint {
|
||||
remote-endpoint = <&adv7511_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
osc1_clk: osc1-clock {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <148500000>;
|
||||
};
|
||||
|
||||
osc4_clk: osc4-clock {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&du {
|
||||
pinctrl-0 = <&du_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 722>,
|
||||
<&cpg CPG_MOD 726>, <&cpg CPG_MOD 725>,
|
||||
<&osc1_clk>;
|
||||
clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1", "dclkin.0";
|
||||
|
||||
ports {
|
||||
port@0 {
|
||||
endpoint {
|
||||
remote-endpoint = <&adv7511_in>;
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
lvds_connector0: endpoint {
|
||||
};
|
||||
};
|
||||
port@2 {
|
||||
lvds_connector1: endpoint {
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&extal_clk {
|
||||
@@ -28,22 +121,128 @@
|
||||
};
|
||||
|
||||
&pfc {
|
||||
|
||||
pinctrl-0 = <&scif_clk_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
scif0_pins: scif0 {
|
||||
groups = "scif0_data";
|
||||
function = "scif0";
|
||||
du_pins: du {
|
||||
groups = "du_rgb888", "du_sync_1", "du_clk_out_0";
|
||||
function = "du";
|
||||
};
|
||||
|
||||
scifa0_pins: scifa0 {
|
||||
groups = "scifa0_data_b";
|
||||
function = "scifa0";
|
||||
};
|
||||
|
||||
scif_clk_pins: scif_clk {
|
||||
groups = "scif_clk";
|
||||
function = "scif_clk";
|
||||
};
|
||||
|
||||
ether_pins: ether {
|
||||
groups = "eth_link", "eth_mdio", "eth_rmii";
|
||||
function = "eth";
|
||||
};
|
||||
|
||||
phy1_pins: phy1 {
|
||||
groups = "intc_irq1";
|
||||
function = "intc";
|
||||
};
|
||||
|
||||
sdhi0_pins: sd0 {
|
||||
groups = "sdhi0_data4", "sdhi0_ctrl";
|
||||
function = "sdhi0";
|
||||
power-source = <3300>;
|
||||
};
|
||||
|
||||
qspi_pins: qspi {
|
||||
groups = "qspi_ctrl", "qspi_data4";
|
||||
function = "qspi";
|
||||
};
|
||||
|
||||
iic2_pins: iic2 {
|
||||
groups = "iic2_b";
|
||||
function = "iic2";
|
||||
};
|
||||
|
||||
iic3_pins: iic3 {
|
||||
groups = "iic3";
|
||||
function = "iic3";
|
||||
};
|
||||
|
||||
usb0_pins: usb0 {
|
||||
groups = "usb0";
|
||||
function = "usb0";
|
||||
};
|
||||
};
|
||||
|
||||
&scif0 {
|
||||
pinctrl-0 = <&scif0_pins>;
|
||||
ðer {
|
||||
pinctrl-0 = <ðer_pins &phy1_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
phy-handle = <&phy1>;
|
||||
renesas,ether-link-active-low;
|
||||
status = "okay";
|
||||
|
||||
phy1: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
interrupt-parent = <&irqc0>;
|
||||
interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
|
||||
micrel,led-mode = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&cmt0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qspi {
|
||||
pinctrl-0 = <&qspi_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
|
||||
flash: flash@0 {
|
||||
compatible = "spansion,s25fl512s", "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <30000000>;
|
||||
spi-tx-bus-width = <4>;
|
||||
spi-rx-bus-width = <4>;
|
||||
spi-cpha;
|
||||
spi-cpol;
|
||||
m25p,fast-read;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "loader";
|
||||
reg = <0x00000000 0x00080000>;
|
||||
read-only;
|
||||
};
|
||||
partition@80000 {
|
||||
label = "uboot";
|
||||
reg = <0x00080000 0x00040000>;
|
||||
read-only;
|
||||
};
|
||||
partition@c0000 {
|
||||
label = "uboot-env";
|
||||
reg = <0x000c0000 0x00040000>;
|
||||
read-only;
|
||||
};
|
||||
partition@100000 {
|
||||
label = "flash";
|
||||
reg = <0x00100000 0x03f00000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&scifa0 {
|
||||
pinctrl-0 = <&scifa0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
@@ -52,3 +251,114 @@
|
||||
&scif_clk {
|
||||
clock-frequency = <14745600>;
|
||||
};
|
||||
|
||||
&sdhi0 {
|
||||
pinctrl-0 = <&sdhi0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
vmmc-supply = <&vcc_sdhi0>;
|
||||
cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu0-supply = <&vdd_dvfs>;
|
||||
};
|
||||
|
||||
&iic2 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&iic2_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
clock-frequency = <100000>;
|
||||
|
||||
hdmi@39 {
|
||||
compatible = "adi,adv7511w";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&osc4_clk>;
|
||||
clock-names = "cec";
|
||||
|
||||
adi,input-depth = <8>;
|
||||
adi,input-colorspace = "rgb";
|
||||
adi,input-clock = "1x";
|
||||
adi,input-style = <1>;
|
||||
adi,input-justification = "evenly";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7511_in: endpoint {
|
||||
remote-endpoint = <&du_out_rgb>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7511_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&iic3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&iic3_pins>;
|
||||
status = "okay";
|
||||
|
||||
pmic@58 {
|
||||
compatible = "dlg,da9063";
|
||||
reg = <0x58>;
|
||||
interrupt-parent = <&irqc0>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
|
||||
rtc {
|
||||
compatible = "dlg,da9063-rtc";
|
||||
};
|
||||
|
||||
wdt {
|
||||
compatible = "dlg,da9063-watchdog";
|
||||
};
|
||||
};
|
||||
|
||||
vdd_dvfs: regulator@68 {
|
||||
compatible = "dlg,da9210";
|
||||
reg = <0x68>;
|
||||
interrupt-parent = <&irqc0>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdd: regulator@70 {
|
||||
compatible = "dlg,da9210";
|
||||
reg = <0x70>;
|
||||
interrupt-parent = <&irqc0>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
&pci0 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&usb0_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -11,3 +11,11 @@
|
||||
&usb_extal_clk {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&pfc {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&rst {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
@@ -8,3 +8,7 @@
|
||||
|
||||
#include "r8a7791-porter.dts"
|
||||
#include "r8a7791-u-boot.dtsi"
|
||||
|
||||
&scif0 {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
@@ -351,6 +351,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
&i2c6 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&sata0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -11,3 +11,11 @@
|
||||
&usb_extal_clk {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&pfc {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&rst {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
@@ -7,3 +7,11 @@
|
||||
*/
|
||||
|
||||
#include "r8a779x-u-boot.dtsi"
|
||||
|
||||
&pfc {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&rst {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
@@ -11,3 +11,11 @@
|
||||
&usb_extal_clk {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&pfc {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&rst {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
@@ -11,3 +11,11 @@
|
||||
&usb_extal_clk {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&pfc {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&rst {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
10
arch/arm/dts/r8a77965-salvator-x-u-boot.dts
Normal file
10
arch/arm/dts/r8a77965-salvator-x-u-boot.dts
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* Device Tree Source extras for U-Boot for the M3N Salvator-XS board
|
||||
*
|
||||
* Copyright (C) 2018 Marek Vasut <marek.vasut@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0
|
||||
*/
|
||||
|
||||
#include "r8a77965-salvator-x.dts"
|
||||
#include "r8a77965-u-boot.dtsi"
|
||||
21
arch/arm/dts/r8a77965-salvator-x.dts
Normal file
21
arch/arm/dts/r8a77965-salvator-x.dts
Normal file
@@ -0,0 +1,21 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree Source for the Salvator-X board with R-Car M3-N
|
||||
*
|
||||
* Copyright (C) 2018 Jacopo Mondi <jacopo+renesas@jmondi.org>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "r8a77965.dtsi"
|
||||
#include "salvator-x.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Renesas Salvator-X board based on r8a77965";
|
||||
compatible = "renesas,salvator-x", "renesas,r8a77965";
|
||||
|
||||
memory@48000000 {
|
||||
device_type = "memory";
|
||||
/* first 128MB is reserved for secure area. */
|
||||
reg = <0x0 0x48000000 0x0 0x78000000>;
|
||||
};
|
||||
};
|
||||
13
arch/arm/dts/r8a77965-u-boot.dtsi
Normal file
13
arch/arm/dts/r8a77965-u-boot.dtsi
Normal file
@@ -0,0 +1,13 @@
|
||||
/*
|
||||
* Device Tree Source extras for U-Boot on RCar R8A77965 SoC
|
||||
*
|
||||
* Copyright (C) 2018 Marek Vasut <marek.vasut@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0
|
||||
*/
|
||||
|
||||
#include "r8a779x-u-boot.dtsi"
|
||||
|
||||
&extalr_clk {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
818
arch/arm/dts/r8a77965.dtsi
Normal file
818
arch/arm/dts/r8a77965.dtsi
Normal file
@@ -0,0 +1,818 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device Tree Source for the r8a77965 SoC
|
||||
*
|
||||
* Copyright (C) 2018 Jacopo Mondi <jacopo+renesas@jmondi.org>
|
||||
*
|
||||
* Based on r8a7796.dtsi
|
||||
* Copyright (C) 2016 Renesas Electronics Corp.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/renesas-cpg-mssr.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
#define CPG_AUDIO_CLK_I 10
|
||||
|
||||
/ {
|
||||
compatible = "renesas,r8a77965";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0", "arm,psci-0.2";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
a57_0: cpu@0 {
|
||||
compatible = "arm,cortex-a57", "arm,armv8";
|
||||
reg = <0x0>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc 0>;
|
||||
next-level-cache = <&L2_CA57>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
a57_1: cpu@1 {
|
||||
compatible = "arm,cortex-a57","arm,armv8";
|
||||
reg = <0x1>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc 1>;
|
||||
next-level-cache = <&L2_CA57>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
L2_CA57: cache-controller-0 {
|
||||
compatible = "cache";
|
||||
reg = <0>;
|
||||
power-domains = <&sysc 12>;
|
||||
cache-unified;
|
||||
cache-level = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
extal_clk: extal {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
extalr_clk: extalr {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The external audio clocks are configured as 0 Hz fixed frequency
|
||||
* clocks by default.
|
||||
* Boards that provide audio clocks should override them.
|
||||
*/
|
||||
audio_clk_a: audio_clk_a {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
audio_clk_b: audio_clk_b {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
audio_clk_c: audio_clk_c {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External CAN clock - to be overridden by boards that provide it */
|
||||
can_clk: can {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External SCIF clock - to be overridden by boards that provide it */
|
||||
scif_clk: scif {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External PCIe clock - can be overridden by the board */
|
||||
pcie_bus_clk: pcie_bus {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External USB clocks - can be overridden by the board */
|
||||
usb3s0_clk: usb3s0 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
usb_extal_clk: usb_extal {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
pmu_a57 {
|
||||
compatible = "arm,cortex-a57-pmu";
|
||||
interrupts-extended = <&gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&a57_0>,
|
||||
<&a57_1>;
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&gic>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
gic: interrupt-controller@f1010000 {
|
||||
compatible = "arm,gic-400";
|
||||
#interrupt-cells = <3>;
|
||||
#address-cells = <0>;
|
||||
interrupt-controller;
|
||||
reg = <0x0 0xf1010000 0 0x1000>,
|
||||
<0x0 0xf1020000 0 0x20000>,
|
||||
<0x0 0xf1040000 0 0x20000>,
|
||||
<0x0 0xf1060000 0 0x20000>;
|
||||
interrupts = <GIC_PPI 9
|
||||
(GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
clocks = <&cpg CPG_MOD 408>;
|
||||
clock-names = "clk";
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 408>;
|
||||
};
|
||||
|
||||
pfc: pin-controller@e6060000 {
|
||||
compatible = "renesas,pfc-r8a77965";
|
||||
reg = <0 0xe6060000 0 0x50c>;
|
||||
};
|
||||
|
||||
cpg: clock-controller@e6150000 {
|
||||
compatible = "renesas,r8a77965-cpg-mssr";
|
||||
reg = <0 0xe6150000 0 0x1000>;
|
||||
clocks = <&extal_clk>, <&extalr_clk>;
|
||||
clock-names = "extal", "extalr";
|
||||
#clock-cells = <2>;
|
||||
#power-domain-cells = <0>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
rst: reset-controller@e6160000 {
|
||||
compatible = "renesas,r8a77965-rst";
|
||||
reg = <0 0xe6160000 0 0x0200>;
|
||||
};
|
||||
|
||||
prr: chipid@fff00044 {
|
||||
compatible = "renesas,prr";
|
||||
reg = <0 0xfff00044 0 4>;
|
||||
};
|
||||
|
||||
sysc: system-controller@e6180000 {
|
||||
compatible = "renesas,r8a77965-sysc";
|
||||
reg = <0 0xe6180000 0 0x0400>;
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
gpio0: gpio@e6050000 {
|
||||
compatible = "renesas,gpio-r8a77965",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6050000 0 0x50>;
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 0 16>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 912>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 912>;
|
||||
};
|
||||
|
||||
gpio1: gpio@e6051000 {
|
||||
compatible = "renesas,gpio-r8a77965",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6051000 0 0x50>;
|
||||
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 32 29>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 911>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 911>;
|
||||
};
|
||||
|
||||
gpio2: gpio@e6052000 {
|
||||
compatible = "renesas,gpio-r8a77965",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6052000 0 0x50>;
|
||||
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 64 15>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 910>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 910>;
|
||||
};
|
||||
|
||||
gpio3: gpio@e6053000 {
|
||||
compatible = "renesas,gpio-r8a77965",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6053000 0 0x50>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 96 16>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 909>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 909>;
|
||||
};
|
||||
|
||||
gpio4: gpio@e6054000 {
|
||||
compatible = "renesas,gpio-r8a77965",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6054000 0 0x50>;
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 128 18>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 908>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 908>;
|
||||
};
|
||||
|
||||
gpio5: gpio@e6055000 {
|
||||
compatible = "renesas,gpio-r8a77965",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6055000 0 0x50>;
|
||||
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 160 26>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 907>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 907>;
|
||||
};
|
||||
|
||||
gpio6: gpio@e6055400 {
|
||||
compatible = "renesas,gpio-r8a77965",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6055400 0 0x50>;
|
||||
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 192 32>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 906>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 906>;
|
||||
};
|
||||
|
||||
gpio7: gpio@e6055800 {
|
||||
compatible = "renesas,gpio-r8a77965",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6055800 0 0x50>;
|
||||
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 224 4>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 905>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 905>;
|
||||
};
|
||||
|
||||
intc_ex: interrupt-controller@e61c0000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
dmac0: dma-controller@e6700000 {
|
||||
compatible = "renesas,dmac-r8a77965",
|
||||
"renesas,rcar-dmac";
|
||||
reg = <0 0xe6700000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "error",
|
||||
"ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7",
|
||||
"ch8", "ch9", "ch10", "ch11",
|
||||
"ch12", "ch13", "ch14", "ch15";
|
||||
clocks = <&cpg CPG_MOD 219>;
|
||||
clock-names = "fck";
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 219>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
};
|
||||
|
||||
dmac1: dma-controller@e7300000 {
|
||||
compatible = "renesas,dmac-r8a77965",
|
||||
"renesas,rcar-dmac";
|
||||
reg = <0 0xe7300000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "error",
|
||||
"ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7",
|
||||
"ch8", "ch9", "ch10", "ch11",
|
||||
"ch12", "ch13", "ch14", "ch15";
|
||||
clocks = <&cpg CPG_MOD 218>;
|
||||
clock-names = "fck";
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 218>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
};
|
||||
|
||||
dmac2: dma-controller@e7310000 {
|
||||
compatible = "renesas,dmac-r8a77965",
|
||||
"renesas,rcar-dmac";
|
||||
reg = <0 0xe7310000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "error",
|
||||
"ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7",
|
||||
"ch8", "ch9", "ch10", "ch11",
|
||||
"ch12", "ch13", "ch14", "ch15";
|
||||
clocks = <&cpg CPG_MOD 217>;
|
||||
clock-names = "fck";
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 217>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
};
|
||||
|
||||
scif0: serial@e6e60000 {
|
||||
compatible = "renesas,scif-r8a77965",
|
||||
"renesas,rcar-gen3-scif", "renesas,scif";
|
||||
reg = <0 0xe6e60000 0 64>;
|
||||
interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 207>,
|
||||
<&cpg CPG_CORE 20>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x51>, <&dmac1 0x50>,
|
||||
<&dmac2 0x51>, <&dmac2 0x50>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 207>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
scif1: serial@e6e68000 {
|
||||
compatible = "renesas,scif-r8a77965",
|
||||
"renesas,rcar-gen3-scif", "renesas,scif";
|
||||
reg = <0 0xe6e68000 0 64>;
|
||||
interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 206>,
|
||||
<&cpg CPG_CORE 20>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x53>, <&dmac1 0x52>,
|
||||
<&dmac2 0x53>, <&dmac2 0x52>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 206>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
scif2: serial@e6e88000 {
|
||||
compatible = "renesas,scif-r8a77965",
|
||||
"renesas,rcar-gen3-scif", "renesas,scif";
|
||||
reg = <0 0xe6e88000 0 64>;
|
||||
interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 310>,
|
||||
<&cpg CPG_CORE 20>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 310>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
scif3: serial@e6c50000 {
|
||||
compatible = "renesas,scif-r8a77965",
|
||||
"renesas,rcar-gen3-scif", "renesas,scif";
|
||||
reg = <0 0xe6c50000 0 64>;
|
||||
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 204>,
|
||||
<&cpg CPG_CORE 20>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac0 0x57>, <&dmac0 0x56>;
|
||||
dma-names = "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 204>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
scif4: serial@e6c40000 {
|
||||
compatible = "renesas,scif-r8a77965",
|
||||
"renesas,rcar-gen3-scif", "renesas,scif";
|
||||
reg = <0 0xe6c40000 0 64>;
|
||||
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 203>,
|
||||
<&cpg CPG_CORE 20>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac0 0x59>, <&dmac0 0x58>;
|
||||
dma-names = "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 203>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
scif5: serial@e6f30000 {
|
||||
compatible = "renesas,scif-r8a77965",
|
||||
"renesas,rcar-gen3-scif", "renesas,scif";
|
||||
reg = <0 0xe6f30000 0 64>;
|
||||
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 202>,
|
||||
<&cpg CPG_CORE 20>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x5b>, <&dmac1 0x5a>,
|
||||
<&dmac2 0x5b>, <&dmac2 0x5a>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 202>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
avb: ethernet@e6800000 {
|
||||
compatible = "renesas,etheravb-r8a77965",
|
||||
"renesas,etheravb-rcar-gen3";
|
||||
reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
|
||||
clocks = <&cpg CPG_MOD 812>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 812>;
|
||||
phy-mode = "rgmii-txid";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
csi20: csi2@fea80000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
csi40: csi2@feaa0000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin0: video@e6ef0000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin1: video@e6ef1000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin2: video@e6ef2000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin3: video@e6ef3000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin4: video@e6ef4000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin5: video@e6ef5000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin6: video@e6ef6000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin7: video@e6ef7000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
ohci0: usb@ee080000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
ehci0: usb@ee080100 {
|
||||
compatible = "generic-ehci";
|
||||
reg = <0 0xee080100 0 0x100>;
|
||||
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 703>;
|
||||
phys = <&usb2_phy0>;
|
||||
phy-names = "usb";
|
||||
companion= <&ohci0>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 703>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb2_phy0: usb-phy@ee080200 {
|
||||
compatible = "renesas,usb2-phy-r8a77965",
|
||||
"renesas,rcar-gen3-usb2-phy";
|
||||
reg = <0 0xee080200 0 0x700>;
|
||||
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 703>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 703>;
|
||||
#phy-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ohci1: usb@ee0a0000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
ehci1: usb@ee0a0100 {
|
||||
compatible = "generic-ehci";
|
||||
reg = <0 0xee0a0100 0 0x100>;
|
||||
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 702>;
|
||||
phys = <&usb2_phy1>;
|
||||
phy-names = "usb";
|
||||
companion= <&ohci1>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 702>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c0: i2c@e6500000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c1: i2c@e6508000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c2: i2c@e6510000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c3: i2c@e66d0000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c4: i2c@e66d8000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c5: i2c@e66e0000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c6: i2c@e66e8000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c_dvfs: i2c@e60b0000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm0: pwm@e6e30000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm1: pwm@e6e31000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm2: pwm@e6e32000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm3: pwm@e6e33000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm4: pwm@e6e34000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm5: pwm@e6e35000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm6: pwm@e6e36000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
du: display@feb00000 {
|
||||
/* placeholder */
|
||||
|
||||
ports {
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
du_out_rgb: endpoint {
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
du_out_hdmi0: endpoint {
|
||||
};
|
||||
};
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
du_out_lvds0: endpoint {
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hsusb: usb@e6590000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pciec0: pcie@fe000000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pciec1: pcie@ee800000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/* placeholder */
|
||||
|
||||
rcar_sound,dvc {
|
||||
dvc0: dvc-0 {
|
||||
};
|
||||
dvc1: dvc-1 {
|
||||
};
|
||||
};
|
||||
|
||||
rcar_sound,src {
|
||||
src0: src-0 {
|
||||
};
|
||||
src1: src-1 {
|
||||
};
|
||||
};
|
||||
|
||||
rcar_sound,ssi {
|
||||
ssi0: ssi-0 {
|
||||
};
|
||||
ssi1: ssi-1 {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb2_phy1: usb-phy@ee0a0200 {
|
||||
compatible = "renesas,usb2-phy-r8a77965",
|
||||
"renesas,rcar-gen3-usb2-phy";
|
||||
reg = <0 0xee0a0200 0 0x700>;
|
||||
clocks = <&cpg CPG_MOD 702>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 702>;
|
||||
#phy-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhi0: sd@ee100000 {
|
||||
compatible = "renesas,sdhi-r8a77965";
|
||||
reg = <0 0xee100000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 314>;
|
||||
max-frequency = <200000000>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 314>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhi1: sd@ee120000 {
|
||||
compatible = "renesas,sdhi-r8a77965";
|
||||
reg = <0 0xee120000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 313>;
|
||||
max-frequency = <200000000>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 313>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhi2: sd@ee140000 {
|
||||
compatible = "renesas,sdhi-r8a77965";
|
||||
reg = <0 0xee140000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 312>;
|
||||
max-frequency = <200000000>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 312>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhi3: sd@ee160000 {
|
||||
compatible = "renesas,sdhi-r8a77965";
|
||||
reg = <0 0xee160000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 311>;
|
||||
max-frequency = <200000000>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 311>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb3_phy0: usb-phy@e65ee000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
usb3_peri0: usb@ee020000 {
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
xhci0: usb@ee000000 {
|
||||
compatible = "renesas,xhci-r8a77965",
|
||||
"renesas,rcar-gen3-xhci";
|
||||
reg = <0 0xee000000 0 0xc00>;
|
||||
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 328>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 328>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
wdt0: watchdog@e6020000 {
|
||||
/* placeholder */
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -257,6 +257,7 @@
|
||||
pinctrl-names = "default";
|
||||
renesas,no-ether-link;
|
||||
phy-handle = <&phy0>;
|
||||
reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
u-boot,dm-pre-reloc;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "n25q00";
|
||||
compatible = "n25q00", "spi-flash";
|
||||
reg = <0>; /* chip select */
|
||||
spi-max-frequency = <50000000>;
|
||||
m25p,fast-read;
|
||||
|
||||
59
arch/arm/dts/socfpga_cyclone5_dbm_soc1.dts
Normal file
59
arch/arm/dts/socfpga_cyclone5_dbm_soc1.dts
Normal file
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* Copyright (C) 2018 Marek Vasut <marex@denx.de>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include "socfpga_cyclone5.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Devboards.de DBM-SoC1";
|
||||
compatible = "altr,socfpga-cyclone5", "altr,socfpga";
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200";
|
||||
};
|
||||
|
||||
aliases {
|
||||
ethernet0 = &gmac1;
|
||||
udc0 = &usb1;
|
||||
};
|
||||
|
||||
memory {
|
||||
name = "memory";
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x40000000>; /* 1GB */
|
||||
};
|
||||
|
||||
soc {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
status = "okay";
|
||||
phy-mode = "rgmii";
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
disable-over-current;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -87,7 +87,7 @@
|
||||
u-boot,dm-pre-reloc;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "n25q00";
|
||||
compatible = "n25q00", "spi-flash";
|
||||
reg = <0>; /* chip select */
|
||||
spi-max-frequency = <100000000>;
|
||||
m25p,fast-read;
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
u-boot,dm-pre-reloc;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "n25q00";
|
||||
compatible = "n25q00", "spi-flash";
|
||||
reg = <0>; /* chip select */
|
||||
spi-max-frequency = <100000000>;
|
||||
m25p,fast-read;
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
flash0: n25q00@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "n25q00";
|
||||
compatible = "n25q00", "spi-flash";
|
||||
reg = <0>; /* chip select */
|
||||
spi-max-frequency = <50000000>;
|
||||
m25p,fast-read;
|
||||
|
||||
@@ -156,6 +156,7 @@
|
||||
pinctrl-names = "default";
|
||||
renesas,no-ether-link;
|
||||
phy-handle = <&phy0>;
|
||||
reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
|
||||
@@ -50,7 +50,8 @@
|
||||
compatible = "arm,cortex-a9-pmu";
|
||||
interrupts = <0 5 4>, <0 6 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
reg = < 0xf8891000 0x1000 0xf8893000 0x1000 >;
|
||||
reg = <0xf8891000 0x1000>,
|
||||
<0xf8893000 0x1000>;
|
||||
};
|
||||
|
||||
regulator_vccpint: fixedregulator {
|
||||
|
||||
@@ -100,6 +100,7 @@
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
u-boot,dm-pre-reloc;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
compatible = "topic,miami", "xlnx,zynq-7000";
|
||||
|
||||
aliases {
|
||||
ethernet0 = &gem0;
|
||||
serial0 = &uart0;
|
||||
spi0 = &qspi;
|
||||
i2c0 = &i2c0;
|
||||
|
||||
1
arch/arm/dts/zynq-zc770-xm011-x16.dts
Symbolic link
1
arch/arm/dts/zynq-zc770-xm011-x16.dts
Symbolic link
@@ -0,0 +1 @@
|
||||
zynq-zc770-xm011.dts
|
||||
76
arch/arm/dts/zynqmp-mini-emmc.dts
Normal file
76
arch/arm/dts/zynqmp-mini-emmc.dts
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
* dts file for Xilinx ZynqMP Mini Configuration
|
||||
*
|
||||
* (C) Copyright 2018, Xilinx, Inc.
|
||||
*
|
||||
* Siva Durga Prasad <siva.durga.paladugu@xilinx.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
model = "ZynqMP MINI EMMC";
|
||||
compatible = "xlnx,zynqmp";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
aliases {
|
||||
serial0 = &dcc;
|
||||
mmc0 = &sdhci0;
|
||||
mmc1 = &sdhci1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x0 0x20000000>;
|
||||
};
|
||||
|
||||
dcc: dcc {
|
||||
compatible = "arm,dcc";
|
||||
status = "disabled";
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
amba: amba {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
sdhci0: sdhci@ff160000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
|
||||
status = "disabled";
|
||||
reg = <0x0 0xff160000 0x0 0x1000>;
|
||||
clock-names = "clk_xin", "clk_ahb";
|
||||
xlnx,device_id = <0>;
|
||||
};
|
||||
|
||||
sdhci1: sdhci@ff170000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
|
||||
status = "disabled";
|
||||
reg = <0x0 0xff170000 0x0 0x1000>;
|
||||
clock-names = "clk_xin", "clk_ahb";
|
||||
xlnx,device_id = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dcc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhci1 {
|
||||
status = "okay";
|
||||
};
|
||||
109
arch/arm/dts/zynqmp-mini-nand.dts
Normal file
109
arch/arm/dts/zynqmp-mini-nand.dts
Normal file
@@ -0,0 +1,109 @@
|
||||
/*
|
||||
* dts file for Xilinx ZynqMP Mini Configuration
|
||||
*
|
||||
* (C) Copyright 2018, Xilinx, Inc.
|
||||
*
|
||||
* Siva Durga Prasad <siva.durga.paladugu@xilinx.com>
|
||||
* Michal Simek <michal.simek@xilinx.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
model = "ZynqMP MINI NAND";
|
||||
compatible = "xlnx,zynqmp";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
|
||||
aliases {
|
||||
serial0 = &dcc;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x40000000>;
|
||||
};
|
||||
|
||||
dcc: dcc {
|
||||
compatible = "arm,dcc";
|
||||
status = "disabled";
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
amba: amba {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
nand0: nand@ff100000 {
|
||||
compatible = "arasan,nfc-v3p10";
|
||||
status = "okay";
|
||||
reg = <0x0 0xff100000 0x1000>;
|
||||
clock-names = "clk_sys", "clk_flash";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
arasan,has-mdma;
|
||||
num-cs = <2>;
|
||||
|
||||
partition@0 { /* for testing purpose */
|
||||
label = "nand-fsbl-uboot";
|
||||
reg = <0x0 0x0 0x400000>;
|
||||
};
|
||||
partition@1 { /* for testing purpose */
|
||||
label = "nand-linux";
|
||||
reg = <0x0 0x400000 0x1400000>;
|
||||
};
|
||||
partition@2 { /* for testing purpose */
|
||||
label = "nand-device-tree";
|
||||
reg = <0x0 0x1800000 0x400000>;
|
||||
};
|
||||
partition@3 { /* for testing purpose */
|
||||
label = "nand-rootfs";
|
||||
reg = <0x0 0x1C00000 0x1400000>;
|
||||
};
|
||||
partition@4 { /* for testing purpose */
|
||||
label = "nand-bitstream";
|
||||
reg = <0x0 0x3000000 0x400000>;
|
||||
};
|
||||
partition@5 { /* for testing purpose */
|
||||
label = "nand-misc";
|
||||
reg = <0x0 0x3400000 0xFCC00000>;
|
||||
};
|
||||
partition@6 { /* for testing purpose */
|
||||
label = "nand1-fsbl-uboot";
|
||||
reg = <0x1 0x0 0x400000>;
|
||||
};
|
||||
partition@7 { /* for testing purpose */
|
||||
label = "nand1-linux";
|
||||
reg = <0x1 0x400000 0x1400000>;
|
||||
};
|
||||
partition@8 { /* for testing purpose */
|
||||
label = "nand1-device-tree";
|
||||
reg = <0x1 0x1800000 0x400000>;
|
||||
};
|
||||
partition@9 { /* for testing purpose */
|
||||
label = "nand1-rootfs";
|
||||
reg = <0x1 0x1C00000 0x1400000>;
|
||||
};
|
||||
partition@10 { /* for testing purpose */
|
||||
label = "nand1-bitstream";
|
||||
reg = <0x1 0x3000000 0x400000>;
|
||||
};
|
||||
partition@11 { /* for testing purpose */
|
||||
label = "nand1-misc";
|
||||
reg = <0x1 0x3400000 0xFCC00000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dcc {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -25,12 +25,14 @@
|
||||
#define MXC_CPU_MX6QP 0x69
|
||||
#define MXC_CPU_MX7S 0x71 /* dummy ID */
|
||||
#define MXC_CPU_MX7D 0x72
|
||||
#define MXC_CPU_MX7ULP 0x81 /* Temporally hard code */
|
||||
#define MXC_CPU_MX8MQ 0x82
|
||||
#define MXC_CPU_MX7ULP 0xE1 /* Temporally hard code */
|
||||
#define MXC_CPU_VF610 0xF6 /* dummy ID */
|
||||
|
||||
#define MXC_SOC_MX6 0x60
|
||||
#define MXC_SOC_MX7 0x70
|
||||
#define MXC_SOC_MX7ULP 0x80 /* dummy */
|
||||
#define MXC_SOC_MX8M 0x80
|
||||
#define MXC_SOC_MX7ULP 0xE0 /* dummy */
|
||||
|
||||
#define CHIP_REV_1_0 0x10
|
||||
#define CHIP_REV_1_1 0x11
|
||||
|
||||
@@ -36,59 +36,59 @@ enum {
|
||||
MX25_PAD_A13__A13 = IOMUX_PAD(0x22C, 0x00c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A13__GPIO_4_1 = IOMUX_PAD(0x22C, 0x00c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_A14__A14 = IOMUX_PAD(0x230, 0x010, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A14__GPIO_2_0 = IOMUX_PAD(0x230, 0x010, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A14__A14 = IOMUX_PAD(0x230, 0x010, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A14__GPIO_2_0 = IOMUX_PAD(0x230, 0x010, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_A15__A15 = IOMUX_PAD(0x234, 0x014, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A15__GPIO_2_1 = IOMUX_PAD(0x234, 0x014, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A15__A15 = IOMUX_PAD(0x234, 0x014, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A15__GPIO_2_1 = IOMUX_PAD(0x234, 0x014, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_A16__A16 = IOMUX_PAD(0x000, 0x018, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A16__GPIO_2_2 = IOMUX_PAD(0x000, 0x018, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A16__A16 = IOMUX_PAD(0x000, 0x018, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A16__GPIO_2_2 = IOMUX_PAD(0x000, 0x018, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_A17__A17 = IOMUX_PAD(0x238, 0x01c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A17__GPIO_2_3 = IOMUX_PAD(0x238, 0x01c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A17__A17 = IOMUX_PAD(0x238, 0x01c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A17__GPIO_2_3 = IOMUX_PAD(0x238, 0x01c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_A18__A18 = IOMUX_PAD(0x23c, 0x020, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A18__GPIO_2_4 = IOMUX_PAD(0x23c, 0x020, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A18__FEC_COL = IOMUX_PAD(0x23c, 0x020, 0x17, 0x504, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A18__A18 = IOMUX_PAD(0x23c, 0x020, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A18__GPIO_2_4 = IOMUX_PAD(0x23c, 0x020, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A18__FEC_COL = IOMUX_PAD(0x23c, 0x020, 0x07, 0x504, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_A19__A19 = IOMUX_PAD(0x240, 0x024, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A19__FEC_RX_ER = IOMUX_PAD(0x240, 0x024, 0x17, 0x518, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A19__GPIO_2_5 = IOMUX_PAD(0x240, 0x024, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A19__A19 = IOMUX_PAD(0x240, 0x024, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A19__FEC_RX_ER = IOMUX_PAD(0x240, 0x024, 0x07, 0x518, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A19__GPIO_2_5 = IOMUX_PAD(0x240, 0x024, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_A20__A20 = IOMUX_PAD(0x244, 0x028, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A20__GPIO_2_6 = IOMUX_PAD(0x244, 0x028, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A20__FEC_RDATA2 = IOMUX_PAD(0x244, 0x028, 0x17, 0x50c, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A20__A20 = IOMUX_PAD(0x244, 0x028, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A20__GPIO_2_6 = IOMUX_PAD(0x244, 0x028, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A20__FEC_RDATA2 = IOMUX_PAD(0x244, 0x028, 0x07, 0x50c, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_A21__A21 = IOMUX_PAD(0x248, 0x02c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A21__GPIO_2_7 = IOMUX_PAD(0x248, 0x02c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A21__FEC_RDATA3 = IOMUX_PAD(0x248, 0x02c, 0x17, 0x510, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A21__A21 = IOMUX_PAD(0x248, 0x02c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A21__GPIO_2_7 = IOMUX_PAD(0x248, 0x02c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A21__FEC_RDATA3 = IOMUX_PAD(0x248, 0x02c, 0x07, 0x510, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_A22__A22 = IOMUX_PAD(0x000, 0x030, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A22__GPIO_2_8 = IOMUX_PAD(0x000, 0x030, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A22__A22 = IOMUX_PAD(0x000, 0x030, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A22__GPIO_2_8 = IOMUX_PAD(0x000, 0x030, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_A23__A23 = IOMUX_PAD(0x24c, 0x034, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A23__GPIO_2_9 = IOMUX_PAD(0x24c, 0x034, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A23__A23 = IOMUX_PAD(0x24c, 0x034, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A23__GPIO_2_9 = IOMUX_PAD(0x24c, 0x034, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_A24__A24 = IOMUX_PAD(0x250, 0x038, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A24__GPIO_2_10 = IOMUX_PAD(0x250, 0x038, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A24__FEC_RX_CLK = IOMUX_PAD(0x250, 0x038, 0x17, 0x514, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A24__A24 = IOMUX_PAD(0x250, 0x038, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A24__GPIO_2_10 = IOMUX_PAD(0x250, 0x038, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A24__FEC_RX_CLK = IOMUX_PAD(0x250, 0x038, 0x07, 0x514, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_A25__A25 = IOMUX_PAD(0x254, 0x03c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A25__GPIO_2_11 = IOMUX_PAD(0x254, 0x03c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A25__FEC_CRS = IOMUX_PAD(0x254, 0x03c, 0x17, 0x508, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A25__A25 = IOMUX_PAD(0x254, 0x03c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A25__GPIO_2_11 = IOMUX_PAD(0x254, 0x03c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_A25__FEC_CRS = IOMUX_PAD(0x254, 0x03c, 0x07, 0x508, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_EB0__EB0 = IOMUX_PAD(0x258, 0x040, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EB0__AUD4_TXD = IOMUX_PAD(0x258, 0x040, 0x14, 0x464, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EB0__GPIO_2_12 = IOMUX_PAD(0x258, 0x040, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EB0__EB0 = IOMUX_PAD(0x258, 0x040, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EB0__AUD4_TXD = IOMUX_PAD(0x258, 0x040, 0x04, 0x464, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EB0__GPIO_2_12 = IOMUX_PAD(0x258, 0x040, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_EB1__EB1 = IOMUX_PAD(0x25c, 0x044, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EB1__AUD4_RXD = IOMUX_PAD(0x25c, 0x044, 0x14, 0x460, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EB1__GPIO_2_13 = IOMUX_PAD(0x25c, 0x044, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EB1__EB1 = IOMUX_PAD(0x25c, 0x044, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EB1__AUD4_RXD = IOMUX_PAD(0x25c, 0x044, 0x04, 0x460, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EB1__GPIO_2_13 = IOMUX_PAD(0x25c, 0x044, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_OE__OE = IOMUX_PAD(0x260, 0x048, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_OE__AUD4_TXC = IOMUX_PAD(0x260, 0x048, 0x14, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_OE__GPIO_2_14 = IOMUX_PAD(0x260, 0x048, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_OE__OE = IOMUX_PAD(0x260, 0x048, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_OE__AUD4_TXC = IOMUX_PAD(0x260, 0x048, 0x04, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_OE__GPIO_2_14 = IOMUX_PAD(0x260, 0x048, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CS0__CS0 = IOMUX_PAD(0x000, 0x04c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS0__GPIO_4_2 = IOMUX_PAD(0x000, 0x04c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
@@ -97,51 +97,51 @@ enum {
|
||||
MX25_PAD_CS1__NF_CE3 = IOMUX_PAD(0x000, 0x050, 0x01, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS1__GPIO_4_3 = IOMUX_PAD(0x000, 0x050, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CS4__CS4 = IOMUX_PAD(0x264, 0x054, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS4__CS4 = IOMUX_PAD(0x264, 0x054, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS4__NF_CE1 = IOMUX_PAD(0x264, 0x054, 0x01, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS4__UART5_CTS = IOMUX_PAD(0x264, 0x054, 0x13, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS4__GPIO_3_20 = IOMUX_PAD(0x264, 0x054, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS4__UART5_CTS = IOMUX_PAD(0x264, 0x054, 0x03, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS4__GPIO_3_20 = IOMUX_PAD(0x264, 0x054, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CS5__CS5 = IOMUX_PAD(0x268, 0x058, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS5__CS5 = IOMUX_PAD(0x268, 0x058, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS5__NF_CE2 = IOMUX_PAD(0x268, 0x058, 0x01, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS5__UART5_RTS = IOMUX_PAD(0x268, 0x058, 0x13, 0x574, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS5__GPIO_3_21 = IOMUX_PAD(0x268, 0x058, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS5__UART5_RTS = IOMUX_PAD(0x268, 0x058, 0x03, 0x574, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CS5__GPIO_3_21 = IOMUX_PAD(0x268, 0x058, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_NF_CE0__NF_CE0 = IOMUX_PAD(0x26c, 0x05c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NF_CE0__GPIO_3_22 = IOMUX_PAD(0x26c, 0x05c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NF_CE0__NF_CE0 = IOMUX_PAD(0x26c, 0x05c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NF_CE0__GPIO_3_22 = IOMUX_PAD(0x26c, 0x05c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_ECB__ECB = IOMUX_PAD(0x270, 0x060, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_ECB__UART5_TXD_MUX = IOMUX_PAD(0x270, 0x060, 0x13, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_ECB__GPIO_3_23 = IOMUX_PAD(0x270, 0x060, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_ECB__ECB = IOMUX_PAD(0x270, 0x060, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_ECB__UART5_TXD_MUX = IOMUX_PAD(0x270, 0x060, 0x03, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_ECB__GPIO_3_23 = IOMUX_PAD(0x270, 0x060, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LBA__LBA = IOMUX_PAD(0x274, 0x064, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LBA__UART5_RXD_MUX = IOMUX_PAD(0x274, 0x064, 0x13, 0x578, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LBA__GPIO_3_24 = IOMUX_PAD(0x274, 0x064, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LBA__LBA = IOMUX_PAD(0x274, 0x064, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LBA__UART5_RXD_MUX = IOMUX_PAD(0x274, 0x064, 0x03, 0x578, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LBA__GPIO_3_24 = IOMUX_PAD(0x274, 0x064, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_BCLK__BCLK = IOMUX_PAD(0x000, 0x068, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_BCLK__GPIO_4_4 = IOMUX_PAD(0x000, 0x068, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_RW__RW = IOMUX_PAD(0x278, 0x06c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_RW__AUD4_TXFS = IOMUX_PAD(0x278, 0x06c, 0x14, 0x474, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_RW__GPIO_3_25 = IOMUX_PAD(0x278, 0x06c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_RW__RW = IOMUX_PAD(0x278, 0x06c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_RW__AUD4_TXFS = IOMUX_PAD(0x278, 0x06c, 0x04, 0x474, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_RW__GPIO_3_25 = IOMUX_PAD(0x278, 0x06c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_NFWE_B__NFWE_B = IOMUX_PAD(0x000, 0x070, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFWE_B__GPIO_3_26 = IOMUX_PAD(0x000, 0x070, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFWE_B__NFWE_B = IOMUX_PAD(0x000, 0x070, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFWE_B__GPIO_3_26 = IOMUX_PAD(0x000, 0x070, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_NFRE_B__NFRE_B = IOMUX_PAD(0x000, 0x074, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFRE_B__GPIO_3_27 = IOMUX_PAD(0x000, 0x074, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFRE_B__NFRE_B = IOMUX_PAD(0x000, 0x074, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFRE_B__GPIO_3_27 = IOMUX_PAD(0x000, 0x074, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_NFALE__NFALE = IOMUX_PAD(0x000, 0x078, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFALE__GPIO_3_28 = IOMUX_PAD(0x000, 0x078, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFALE__NFALE = IOMUX_PAD(0x000, 0x078, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFALE__GPIO_3_28 = IOMUX_PAD(0x000, 0x078, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_NFCLE__NFCLE = IOMUX_PAD(0x000, 0x07c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFCLE__GPIO_3_29 = IOMUX_PAD(0x000, 0x07c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFCLE__NFCLE = IOMUX_PAD(0x000, 0x07c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFCLE__GPIO_3_29 = IOMUX_PAD(0x000, 0x07c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_NFWP_B__NFWP_B = IOMUX_PAD(0x000, 0x080, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFWP_B__GPIO_3_30 = IOMUX_PAD(0x000, 0x080, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFWP_B__NFWP_B = IOMUX_PAD(0x000, 0x080, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFWP_B__GPIO_3_30 = IOMUX_PAD(0x000, 0x080, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_NFRB__NFRB = IOMUX_PAD(0x27c, 0x084, 0x10, 0, 0, PAD_CTL_PKE),
|
||||
MX25_PAD_NFRB__GPIO_3_31 = IOMUX_PAD(0x27c, 0x084, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_NFRB__NFRB = IOMUX_PAD(0x27c, 0x084, 0x00, 0, 0, PAD_CTL_PKE),
|
||||
MX25_PAD_NFRB__GPIO_3_31 = IOMUX_PAD(0x27c, 0x084, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_D15__D15 = IOMUX_PAD(0x280, 0x088, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_D15__LD16 = IOMUX_PAD(0x280, 0x088, 0x01, 0, 0, PAD_CTL_SRE_FAST),
|
||||
@@ -197,309 +197,318 @@ enum {
|
||||
MX25_PAD_D0__D0 = IOMUX_PAD(0x2bc, 0x0c4, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_D0__GPIO_4_20 = IOMUX_PAD(0x2bc, 0x0c4, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD0__LD0 = IOMUX_PAD(0x2c0, 0x0c8, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD0__CSI_D0 = IOMUX_PAD(0x2c0, 0x0c8, 0x12, 0x488, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD0__GPIO_2_15 = IOMUX_PAD(0x2c0, 0x0c8, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD0__LD0 = IOMUX_PAD(0x2c0, 0x0c8, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD0__CSI_D0 = IOMUX_PAD(0x2c0, 0x0c8, 0x02, 0x488, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD0__GPIO_2_15 = IOMUX_PAD(0x2c0, 0x0c8, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD1__LD1 = IOMUX_PAD(0x2c4, 0x0cc, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD1__CSI_D1 = IOMUX_PAD(0x2c4, 0x0cc, 0x12, 0x48c, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD1__GPIO_2_16 = IOMUX_PAD(0x2c4, 0x0cc, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD1__LD1 = IOMUX_PAD(0x2c4, 0x0cc, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD1__CSI_D1 = IOMUX_PAD(0x2c4, 0x0cc, 0x02, 0x48c, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD1__GPIO_2_16 = IOMUX_PAD(0x2c4, 0x0cc, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD2__LD2 = IOMUX_PAD(0x2c8, 0x0d0, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD2__GPIO_2_17 = IOMUX_PAD(0x2c8, 0x0d0, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD2__LD2 = IOMUX_PAD(0x2c8, 0x0d0, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD2__GPIO_2_17 = IOMUX_PAD(0x2c8, 0x0d0, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD3__LD3 = IOMUX_PAD(0x2cc, 0x0d4, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD3__GPIO_2_18 = IOMUX_PAD(0x2cc, 0x0d4, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD3__LD3 = IOMUX_PAD(0x2cc, 0x0d4, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD3__GPIO_2_18 = IOMUX_PAD(0x2cc, 0x0d4, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD4__LD4 = IOMUX_PAD(0x2d0, 0x0d8, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD4__GPIO_2_19 = IOMUX_PAD(0x2d0, 0x0d8, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD4__LD4 = IOMUX_PAD(0x2d0, 0x0d8, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD4__GPIO_2_19 = IOMUX_PAD(0x2d0, 0x0d8, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD5__LD5 = IOMUX_PAD(0x2d4, 0x0dc, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD5__GPIO_1_19 = IOMUX_PAD(0x2d4, 0x0dc, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD5__LD5 = IOMUX_PAD(0x2d4, 0x0dc, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD5__GPIO_1_19 = IOMUX_PAD(0x2d4, 0x0dc, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD6__LD6 = IOMUX_PAD(0x2d8, 0x0e0, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD6__GPIO_1_20 = IOMUX_PAD(0x2d8, 0x0e0, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD6__LD6 = IOMUX_PAD(0x2d8, 0x0e0, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD6__GPIO_1_20 = IOMUX_PAD(0x2d8, 0x0e0, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD7__LD7 = IOMUX_PAD(0x2dc, 0x0e4, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD7__GPIO_1_21 = IOMUX_PAD(0x2dc, 0x0e4, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD7__LD7 = IOMUX_PAD(0x2dc, 0x0e4, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD7__GPIO_1_21 = IOMUX_PAD(0x2dc, 0x0e4, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD8__LD8 = IOMUX_PAD(0x2e0, 0x0e8, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD8__FEC_TX_ERR = IOMUX_PAD(0x2e0, 0x0e8, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD8__LD8 = IOMUX_PAD(0x2e0, 0x0e8, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD8__FEC_TX_ERR = IOMUX_PAD(0x2e0, 0x0e8, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD9__LD9 = IOMUX_PAD(0x2e4, 0x0ec, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD9__FEC_COL = IOMUX_PAD(0x2e4, 0x0ec, 0x15, 0x504, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_LD9__LD9 = IOMUX_PAD(0x2e4, 0x0ec, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD9__FEC_COL = IOMUX_PAD(0x2e4, 0x0ec, 0x05, 0x504, 1, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD10__LD10 = IOMUX_PAD(0x2e8, 0x0f0, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD10__FEC_RX_ER = IOMUX_PAD(0x2e8, 0x0f0, 0x15, 0x518, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_LD10__LD10 = IOMUX_PAD(0x2e8, 0x0f0, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD10__FEC_RX_ER = IOMUX_PAD(0x2e8, 0x0f0, 0x05, 0x518, 1, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD11__LD11 = IOMUX_PAD(0x2ec, 0x0f4, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD11__FEC_RDATA2 = IOMUX_PAD(0x2ec, 0x0f4, 0x15, 0x50c, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_LD11__LD11 = IOMUX_PAD(0x2ec, 0x0f4, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD11__FEC_RDATA2 = IOMUX_PAD(0x2ec, 0x0f4, 0x05, 0x50c, 1, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD12__LD12 = IOMUX_PAD(0x2f0, 0x0f8, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD12__FEC_RDATA3 = IOMUX_PAD(0x2f0, 0x0f8, 0x15, 0x510, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_LD12__LD12 = IOMUX_PAD(0x2f0, 0x0f8, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD12__FEC_RDATA3 = IOMUX_PAD(0x2f0, 0x0f8, 0x05, 0x510, 1, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD13__LD13 = IOMUX_PAD(0x2f4, 0x0fc, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD13__FEC_TDATA2 = IOMUX_PAD(0x2f4, 0x0fc, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD13__LD13 = IOMUX_PAD(0x2f4, 0x0fc, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD13__FEC_TDATA2 = IOMUX_PAD(0x2f4, 0x0fc, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD14__LD14 = IOMUX_PAD(0x2f8, 0x100, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD14__FEC_TDATA3 = IOMUX_PAD(0x2f8, 0x100, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LD14__LD14 = IOMUX_PAD(0x2f8, 0x100, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD14__FEC_TDATA3 = IOMUX_PAD(0x2f8, 0x100, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LD15__LD15 = IOMUX_PAD(0x2fc, 0x104, 0x10, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD15__FEC_RX_CLK = IOMUX_PAD(0x2fc, 0x104, 0x15, 0x514, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_LD15__LD15 = IOMUX_PAD(0x2fc, 0x104, 0x00, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_LD15__FEC_RX_CLK = IOMUX_PAD(0x2fc, 0x104, 0x05, 0x514, 1, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_HSYNC__HSYNC = IOMUX_PAD(0x300, 0x108, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_HSYNC__GPIO_1_22 = IOMUX_PAD(0x300, 0x108, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_HSYNC__HSYNC = IOMUX_PAD(0x300, 0x108, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_HSYNC__GPIO_1_22 = IOMUX_PAD(0x300, 0x108, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_VSYNC__VSYNC = IOMUX_PAD(0x304, 0x10c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_VSYNC__GPIO_1_23 = IOMUX_PAD(0x304, 0x10c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_VSYNC__VSYNC = IOMUX_PAD(0x304, 0x10c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_VSYNC__GPIO_1_23 = IOMUX_PAD(0x304, 0x10c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_LSCLK__LSCLK = IOMUX_PAD(0x308, 0x110, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LSCLK__GPIO_1_24 = IOMUX_PAD(0x308, 0x110, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LSCLK__LSCLK = IOMUX_PAD(0x308, 0x110, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_LSCLK__GPIO_1_24 = IOMUX_PAD(0x308, 0x110, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_OE_ACD__OE_ACD = IOMUX_PAD(0x30c, 0x114, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_OE_ACD__GPIO_1_25 = IOMUX_PAD(0x30c, 0x114, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_OE_ACD__OE_ACD = IOMUX_PAD(0x30c, 0x114, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_OE_ACD__GPIO_1_25 = IOMUX_PAD(0x30c, 0x114, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CONTRAST__CONTRAST = IOMUX_PAD(0x310, 0x118, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CONTRAST__PWM4_PWMO = IOMUX_PAD(0x310, 0x118, 0x14, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CONTRAST__FEC_CRS = IOMUX_PAD(0x310, 0x118, 0x15, 0x508, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_CONTRAST__CONTRAST = IOMUX_PAD(0x310, 0x118, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CONTRAST__PWM4_PWMO = IOMUX_PAD(0x310, 0x118, 0x04, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CONTRAST__FEC_CRS = IOMUX_PAD(0x310, 0x118, 0x05, 0x508, 1, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_PWM__PWM = IOMUX_PAD(0x314, 0x11c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_PWM__GPIO_1_26 = IOMUX_PAD(0x314, 0x11c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_PWM__USBH2_OC = IOMUX_PAD(0x314, 0x11c, 0x16, 0x580, 1, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_PWM__PWM = IOMUX_PAD(0x314, 0x11c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_PWM__GPIO_1_26 = IOMUX_PAD(0x314, 0x11c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_PWM__USBH2_OC = IOMUX_PAD(0x314, 0x11c, 0x06, 0x580, 1, PAD_CTL_PUS_100K_UP),
|
||||
|
||||
MX25_PAD_CSI_D2__CSI_D2 = IOMUX_PAD(0x318, 0x120, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D2__UART5_RXD_MUX = IOMUX_PAD(0x318, 0x120, 0x11, 0x578, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D2__GPIO_1_27 = IOMUX_PAD(0x318, 0x120, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D2__CSPI3_MOSI = IOMUX_PAD(0x318, 0x120, 0x17, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D2__CSI_D2 = IOMUX_PAD(0x318, 0x120, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D2__UART5_RXD_MUX = IOMUX_PAD(0x318, 0x120, 0x01, 0x578, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D2__GPIO_1_27 = IOMUX_PAD(0x318, 0x120, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D2__CSPI3_MOSI = IOMUX_PAD(0x318, 0x120, 0x07, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSI_D3__CSI_D3 = IOMUX_PAD(0x31c, 0x124, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D3__GPIO_1_28 = IOMUX_PAD(0x31c, 0x124, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D3__CSPI3_MISO = IOMUX_PAD(0x31c, 0x124, 0x17, 0x4b4, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D3__CSI_D3 = IOMUX_PAD(0x31c, 0x124, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D3__GPIO_1_28 = IOMUX_PAD(0x31c, 0x124, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D3__CSPI3_MISO = IOMUX_PAD(0x31c, 0x124, 0x07, 0x4b4, 1, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSI_D4__CSI_D4 = IOMUX_PAD(0x320, 0x128, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D4__UART5_RTS = IOMUX_PAD(0x320, 0x128, 0x11, 0x574, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D4__GPIO_1_29 = IOMUX_PAD(0x320, 0x128, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D4__CSPI3_SCLK = IOMUX_PAD(0x320, 0x128, 0x17, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D4__CSI_D4 = IOMUX_PAD(0x320, 0x128, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D4__UART5_RTS = IOMUX_PAD(0x320, 0x128, 0x01, 0x574, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D4__GPIO_1_29 = IOMUX_PAD(0x320, 0x128, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D4__CSPI3_SCLK = IOMUX_PAD(0x320, 0x128, 0x07, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSI_D5__CSI_D5 = IOMUX_PAD(0x324, 0x12c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D5__GPIO_1_30 = IOMUX_PAD(0x324, 0x12c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D5__CSPI3_RDY = IOMUX_PAD(0x324, 0x12c, 0x17, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D5__CSI_D5 = IOMUX_PAD(0x324, 0x12c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D5__GPIO_1_30 = IOMUX_PAD(0x324, 0x12c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D5__CSPI3_RDY = IOMUX_PAD(0x324, 0x12c, 0x07, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSI_D6__CSI_D6 = IOMUX_PAD(0x328, 0x130, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D6__GPIO_1_31 = IOMUX_PAD(0x328, 0x130, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D6__CSI_D6 = IOMUX_PAD(0x328, 0x130, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D6__GPIO_1_31 = IOMUX_PAD(0x328, 0x130, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSI_D7__CSI_D7 = IOMUX_PAD(0x32c, 0x134, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D7__GPIO_1_6 = IOMUX_PAD(0x32c, 0x134, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D7__CSI_D7 = IOMUX_PAD(0x32c, 0x134, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D7__GPIO_1_6 = IOMUX_PAD(0x32c, 0x134, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSI_D8__CSI_D8 = IOMUX_PAD(0x330, 0x138, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D8__GPIO_1_7 = IOMUX_PAD(0x330, 0x138, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D8__CSI_D8 = IOMUX_PAD(0x330, 0x138, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D8__GPIO_1_7 = IOMUX_PAD(0x330, 0x138, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSI_D9__CSI_D9 = IOMUX_PAD(0x334, 0x13c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D9__GPIO_4_21 = IOMUX_PAD(0x334, 0x13c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D9__CSI_D9 = IOMUX_PAD(0x334, 0x13c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_D9__GPIO_4_21 = IOMUX_PAD(0x334, 0x13c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSI_MCLK__CSI_MCLK = IOMUX_PAD(0x338, 0x140, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_MCLK__GPIO_1_8 = IOMUX_PAD(0x338, 0x140, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_MCLK__CSI_MCLK = IOMUX_PAD(0x338, 0x140, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_MCLK__GPIO_1_8 = IOMUX_PAD(0x338, 0x140, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSI_VSYNC__CSI_VSYNC = IOMUX_PAD(0x33c, 0x144, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_VSYNC__GPIO_1_9 = IOMUX_PAD(0x33c, 0x144, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_VSYNC__CSI_VSYNC = IOMUX_PAD(0x33c, 0x144, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_VSYNC__GPIO_1_9 = IOMUX_PAD(0x33c, 0x144, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSI_HSYNC__CSI_HSYNC = IOMUX_PAD(0x340, 0x148, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_HSYNC__GPIO_1_10 = IOMUX_PAD(0x340, 0x148, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_HSYNC__CSI_HSYNC = IOMUX_PAD(0x340, 0x148, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_HSYNC__GPIO_1_10 = IOMUX_PAD(0x340, 0x148, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSI_PIXCLK__CSI_PIXCLK = IOMUX_PAD(0x344, 0x14c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_PIXCLK__GPIO_1_11 = IOMUX_PAD(0x344, 0x14c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_PIXCLK__CSI_PIXCLK = IOMUX_PAD(0x344, 0x14c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSI_PIXCLK__GPIO_1_11 = IOMUX_PAD(0x344, 0x14c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_I2C1_CLK__I2C1_CLK = IOMUX_PAD(0x348, 0x150, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_I2C1_CLK__GPIO_1_12 = IOMUX_PAD(0x348, 0x150, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_I2C1_CLK__I2C1_CLK = IOMUX_PAD(0x348, 0x150, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_I2C1_CLK__GPIO_1_12 = IOMUX_PAD(0x348, 0x150, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_I2C1_DAT__I2C1_DAT = IOMUX_PAD(0x34c, 0x154, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_I2C1_DAT__GPIO_1_13 = IOMUX_PAD(0x34c, 0x154, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_I2C1_DAT__I2C1_DAT = IOMUX_PAD(0x34c, 0x154, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_I2C1_DAT__GPIO_1_13 = IOMUX_PAD(0x34c, 0x154, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSPI1_MOSI__CSPI1_MOSI = IOMUX_PAD(0x350, 0x158, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_MOSI__GPIO_1_14 = IOMUX_PAD(0x350, 0x158, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_MOSI__CSPI1_MOSI = IOMUX_PAD(0x350, 0x158, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_MOSI__GPIO_1_14 = IOMUX_PAD(0x350, 0x158, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSPI1_MISO__CSPI1_MISO = IOMUX_PAD(0x354, 0x15c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_MISO__GPIO_1_15 = IOMUX_PAD(0x354, 0x15c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_MISO__CSPI1_MISO = IOMUX_PAD(0x354, 0x15c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_MISO__GPIO_1_15 = IOMUX_PAD(0x354, 0x15c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSPI1_SS0__CSPI1_SS0 = IOMUX_PAD(0x358, 0x160, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_SS0__GPIO_1_16 = IOMUX_PAD(0x358, 0x160, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_SS0__CSPI1_SS0 = IOMUX_PAD(0x358, 0x160, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_SS0__GPIO_1_16 = IOMUX_PAD(0x358, 0x160, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSPI1_SS1__CSPI1_SS1 = IOMUX_PAD(0x35c, 0x164, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_SS1__I2C3_DAT = IOMUX_PAD(0x35c, 0x164, 0x11, 0x528, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_SS1__GPIO_1_17 = IOMUX_PAD(0x35c, 0x164, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_SS1__CSPI1_SS1 = IOMUX_PAD(0x35c, 0x164, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_SS1__I2C3_DAT = IOMUX_PAD(0x35c, 0x164, 0x01, 0x528, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_SS1__GPIO_1_17 = IOMUX_PAD(0x35c, 0x164, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSPI1_SCLK__CSPI1_SCLK = IOMUX_PAD(0x360, 0x168, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_SCLK__GPIO_1_18 = IOMUX_PAD(0x360, 0x168, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_SCLK__CSPI1_SCLK = IOMUX_PAD(0x360, 0x168, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_SCLK__GPIO_1_18 = IOMUX_PAD(0x360, 0x168, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CSPI1_RDY__CSPI1_RDY = IOMUX_PAD(0x364, 0x16c, 0x10, 0, 0, PAD_CTL_PKE),
|
||||
MX25_PAD_CSPI1_RDY__GPIO_2_22 = IOMUX_PAD(0x364, 0x16c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CSPI1_RDY__CSPI1_RDY = IOMUX_PAD(0x364, 0x16c, 0x00, 0, 0, PAD_CTL_PKE),
|
||||
MX25_PAD_CSPI1_RDY__GPIO_2_22 = IOMUX_PAD(0x364, 0x16c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_UART1_RXD__UART1_RXD = IOMUX_PAD(0x368, 0x170, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN),
|
||||
MX25_PAD_UART1_RXD__GPIO_4_22 = IOMUX_PAD(0x368, 0x170, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART1_RXD__UART1_RXD = IOMUX_PAD(0x368, 0x170, 0x00, 0, 0, PAD_CTL_PUS_100K_DOWN),
|
||||
MX25_PAD_UART1_RXD__GPIO_4_22 = IOMUX_PAD(0x368, 0x170, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_UART1_TXD__UART1_TXD = IOMUX_PAD(0x36c, 0x174, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART1_TXD__GPIO_4_23 = IOMUX_PAD(0x36c, 0x174, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART1_TXD__UART1_TXD = IOMUX_PAD(0x36c, 0x174, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART1_TXD__GPIO_4_23 = IOMUX_PAD(0x36c, 0x174, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_UART1_RTS__UART1_RTS = IOMUX_PAD(0x370, 0x178, 0x10, 0, 0, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_UART1_RTS__CSI_D0 = IOMUX_PAD(0x370, 0x178, 0x11, 0x488, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_UART1_RTS__GPIO_4_24 = IOMUX_PAD(0x370, 0x178, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART1_RTS__UART1_RTS = IOMUX_PAD(0x370, 0x178, 0x00, 0, 0, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_UART1_RTS__CSI_D0 = IOMUX_PAD(0x370, 0x178, 0x01, 0x488, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_UART1_RTS__GPIO_4_24 = IOMUX_PAD(0x370, 0x178, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_UART1_CTS__UART1_CTS = IOMUX_PAD(0x374, 0x17c, 0x10, 0, 0, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_UART1_CTS__CSI_D1 = IOMUX_PAD(0x374, 0x17c, 0x11, 0x48c, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_UART1_CTS__GPIO_4_25 = IOMUX_PAD(0x374, 0x17c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART1_CTS__UART1_CTS = IOMUX_PAD(0x374, 0x17c, 0x00, 0, 0, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_UART1_CTS__CSI_D1 = IOMUX_PAD(0x374, 0x17c, 0x01, 0x48c, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_UART1_CTS__GPIO_4_25 = IOMUX_PAD(0x374, 0x17c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_UART2_RXD__UART2_RXD = IOMUX_PAD(0x378, 0x180, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_RXD__GPIO_4_26 = IOMUX_PAD(0x378, 0x180, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_RXD__UART2_RXD = IOMUX_PAD(0x378, 0x180, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_RXD__GPIO_4_26 = IOMUX_PAD(0x378, 0x180, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_UART2_TXD__UART2_TXD = IOMUX_PAD(0x37c, 0x184, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_TXD__GPIO_4_27 = IOMUX_PAD(0x37c, 0x184, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_TXD__UART2_TXD = IOMUX_PAD(0x37c, 0x184, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_TXD__GPIO_4_27 = IOMUX_PAD(0x37c, 0x184, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_UART2_RTS__UART2_RTS = IOMUX_PAD(0x380, 0x188, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_RTS__FEC_COL = IOMUX_PAD(0x380, 0x188, 0x12, 0x504, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_RTS__GPIO_4_28 = IOMUX_PAD(0x380, 0x188, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_RTS__UART2_RTS = IOMUX_PAD(0x380, 0x188, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_RTS__FEC_COL = IOMUX_PAD(0x380, 0x188, 0x02, 0x504, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_RTS__GPIO_4_28 = IOMUX_PAD(0x380, 0x188, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_UART2_CTS__FEC_RX_ER = IOMUX_PAD(0x384, 0x18c, 0x12, 0x518, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_CTS__UART2_CTS = IOMUX_PAD(0x384, 0x18c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_CTS__GPIO_4_29 = IOMUX_PAD(0x384, 0x18c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_CTS__FEC_RX_ER = IOMUX_PAD(0x384, 0x18c, 0x02, 0x518, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_CTS__UART2_CTS = IOMUX_PAD(0x384, 0x18c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UART2_CTS__GPIO_4_29 = IOMUX_PAD(0x384, 0x18c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
/*
|
||||
* Removing the SION bit from MX25_PAD_SD1_CMD__SD1_CMD breaks detecting an SD
|
||||
* card. According to the i.MX25 reference manual (e.g. Figure 23-2 in IMX25RM
|
||||
* Rev. 2 from 01/2011) this pin is bidirectional. So it seems to be a silicon
|
||||
* bug that configuring the SD1_CMD function doesn't enable the input path for
|
||||
* this pin.
|
||||
* This might have side effects for other hardware units that are connected to
|
||||
* that pin and use the respective function as input.
|
||||
*/
|
||||
MX25_PAD_SD1_CMD__SD1_CMD = IOMUX_PAD(0x388, 0x190, 0x10, 0, 0, PAD_CTL_PUS_47K_UP),
|
||||
MX25_PAD_SD1_CMD__FEC_RDATA2 = IOMUX_PAD(0x388, 0x190, 0x12, 0x50c, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_CMD__GPIO_2_23 = IOMUX_PAD(0x388, 0x190, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_CMD__FEC_RDATA2 = IOMUX_PAD(0x388, 0x190, 0x02, 0x50c, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_CMD__GPIO_2_23 = IOMUX_PAD(0x388, 0x190, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_SD1_CLK__SD1_CLK = IOMUX_PAD(0x38c, 0x194, 0x10, 0, 0, PAD_CTL_PUS_47K_UP),
|
||||
MX25_PAD_SD1_CLK__FEC_RDATA3 = IOMUX_PAD(0x38c, 0x194, 0x12, 0x510, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_CLK__GPIO_2_24 = IOMUX_PAD(0x38c, 0x194, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_CLK__SD1_CLK = IOMUX_PAD(0x38c, 0x194, 0x00, 0, 0, PAD_CTL_PUS_47K_UP),
|
||||
MX25_PAD_SD1_CLK__FEC_RDATA3 = IOMUX_PAD(0x38c, 0x194, 0x02, 0x510, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_CLK__GPIO_2_24 = IOMUX_PAD(0x38c, 0x194, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_SD1_DATA0__SD1_DATA0 = IOMUX_PAD(0x390, 0x198, 0x10, 0, 0, PAD_CTL_PUS_47K_UP),
|
||||
MX25_PAD_SD1_DATA0__GPIO_2_25 = IOMUX_PAD(0x390, 0x198, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_DATA0__SD1_DATA0 = IOMUX_PAD(0x390, 0x198, 0x00, 0, 0, PAD_CTL_PUS_47K_UP),
|
||||
MX25_PAD_SD1_DATA0__GPIO_2_25 = IOMUX_PAD(0x390, 0x198, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_SD1_DATA1__SD1_DATA1 = IOMUX_PAD(0x394, 0x19c, 0x10, 0, 0, PAD_CTL_PUS_47K_UP),
|
||||
MX25_PAD_SD1_DATA1__AUD7_RXD = IOMUX_PAD(0x394, 0x19c, 0x13, 0x478, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_DATA1__GPIO_2_26 = IOMUX_PAD(0x394, 0x19c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_DATA1__SD1_DATA1 = IOMUX_PAD(0x394, 0x19c, 0x00, 0, 0, PAD_CTL_PUS_47K_UP),
|
||||
MX25_PAD_SD1_DATA1__AUD7_RXD = IOMUX_PAD(0x394, 0x19c, 0x03, 0x478, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_DATA1__GPIO_2_26 = IOMUX_PAD(0x394, 0x19c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_SD1_DATA2__SD1_DATA2 = IOMUX_PAD(0x398, 0x1a0, 0x10, 0, 0, PAD_CTL_PUS_47K_UP),
|
||||
MX25_PAD_SD1_DATA2__FEC_RX_CLK = IOMUX_PAD(0x398, 0x1a0, 0x15, 0x514, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_DATA2__GPIO_2_27 = IOMUX_PAD(0x398, 0x1a0, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_DATA2__SD1_DATA2 = IOMUX_PAD(0x398, 0x1a0, 0x00, 0, 0, PAD_CTL_PUS_47K_UP),
|
||||
MX25_PAD_SD1_DATA2__FEC_RX_CLK = IOMUX_PAD(0x398, 0x1a0, 0x05, 0x514, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_DATA2__GPIO_2_27 = IOMUX_PAD(0x398, 0x1a0, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_SD1_DATA3__SD1_DATA3 = IOMUX_PAD(0x39c, 0x1a4, 0x10, 0, 0, PAD_CTL_PUS_47K_UP),
|
||||
MX25_PAD_SD1_DATA3__FEC_CRS = IOMUX_PAD(0x39c, 0x1a4, 0x10, 0x508, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_DATA3__GPIO_2_28 = IOMUX_PAD(0x39c, 0x1a4, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_DATA3__SD1_DATA3 = IOMUX_PAD(0x39c, 0x1a4, 0x00, 0, 0, PAD_CTL_PUS_47K_UP),
|
||||
MX25_PAD_SD1_DATA3__FEC_CRS = IOMUX_PAD(0x39c, 0x1a4, 0x00, 0x508, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_SD1_DATA3__GPIO_2_28 = IOMUX_PAD(0x39c, 0x1a4, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_KPP_ROW0__KPP_ROW0 = IOMUX_PAD(0x3a0, 0x1a8, 0x10, 0, 0, MX25_KPP_ROW_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW0__GPIO_2_29 = IOMUX_PAD(0x3a0, 0x1a8, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW0__KPP_ROW0 = IOMUX_PAD(0x3a0, 0x1a8, 0x00, 0, 0, MX25_KPP_ROW_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW0__GPIO_2_29 = IOMUX_PAD(0x3a0, 0x1a8, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_KPP_ROW1__KPP_ROW1 = IOMUX_PAD(0x3a4, 0x1ac, 0x10, 0, 0, MX25_KPP_ROW_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW1__GPIO_2_30 = IOMUX_PAD(0x3a4, 0x1ac, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW1__KPP_ROW1 = IOMUX_PAD(0x3a4, 0x1ac, 0x00, 0, 0, MX25_KPP_ROW_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW1__GPIO_2_30 = IOMUX_PAD(0x3a4, 0x1ac, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_KPP_ROW2__KPP_ROW2 = IOMUX_PAD(0x3a8, 0x1b0, 0x10, 0, 0, MX25_KPP_ROW_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW2__CSI_D0 = IOMUX_PAD(0x3a8, 0x1b0, 0x13, 0x488, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW2__GPIO_2_31 = IOMUX_PAD(0x3a8, 0x1b0, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW2__KPP_ROW2 = IOMUX_PAD(0x3a8, 0x1b0, 0x00, 0, 0, MX25_KPP_ROW_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW2__CSI_D0 = IOMUX_PAD(0x3a8, 0x1b0, 0x03, 0x488, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW2__GPIO_2_31 = IOMUX_PAD(0x3a8, 0x1b0, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_KPP_ROW3__KPP_ROW3 = IOMUX_PAD(0x3ac, 0x1b4, 0x10, 0, 0, MX25_KPP_ROW_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW3__CSI_LD1 = IOMUX_PAD(0x3ac, 0x1b4, 0x13, 0x48c, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW3__GPIO_3_0 = IOMUX_PAD(0x3ac, 0x1b4, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW3__KPP_ROW3 = IOMUX_PAD(0x3ac, 0x1b4, 0x00, 0, 0, MX25_KPP_ROW_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW3__CSI_LD1 = IOMUX_PAD(0x3ac, 0x1b4, 0x03, 0x48c, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_ROW3__GPIO_3_0 = IOMUX_PAD(0x3ac, 0x1b4, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_KPP_COL0__KPP_COL0 = IOMUX_PAD(0x3b0, 0x1b8, 0x10, 0, 0, MX25_KPP_COL_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL0__UART4_RXD_MUX = IOMUX_PAD(0x3b0, 0x1b8, 0x11, 0x570, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL0__AUD5_TXD = IOMUX_PAD(0x3b0, 0x1b8, 0x12, 0, 0, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_KPP_COL0__GPIO_3_1 = IOMUX_PAD(0x3b0, 0x1b8, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL0__KPP_COL0 = IOMUX_PAD(0x3b0, 0x1b8, 0x00, 0, 0, MX25_KPP_COL_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL0__UART4_RXD_MUX = IOMUX_PAD(0x3b0, 0x1b8, 0x01, 0x570, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL0__AUD5_TXD = IOMUX_PAD(0x3b0, 0x1b8, 0x02, 0, 0, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_KPP_COL0__GPIO_3_1 = IOMUX_PAD(0x3b0, 0x1b8, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_KPP_COL1__KPP_COL1 = IOMUX_PAD(0x3b4, 0x1bc, 0x10, 0, 0, MX25_KPP_COL_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL1__UART4_TXD_MUX = IOMUX_PAD(0x3b4, 0x1bc, 0x11, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL1__AUD5_RXD = IOMUX_PAD(0x3b4, 0x1bc, 0x12, 0, 0, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_KPP_COL1__GPIO_3_2 = IOMUX_PAD(0x3b4, 0x1bc, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL1__KPP_COL1 = IOMUX_PAD(0x3b4, 0x1bc, 0x00, 0, 0, MX25_KPP_COL_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL1__UART4_TXD_MUX = IOMUX_PAD(0x3b4, 0x1bc, 0x01, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL1__AUD5_RXD = IOMUX_PAD(0x3b4, 0x1bc, 0x02, 0, 0, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_KPP_COL1__GPIO_3_2 = IOMUX_PAD(0x3b4, 0x1bc, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_KPP_COL2__KPP_COL2 = IOMUX_PAD(0x3b8, 0x1c0, 0x10, 0, 0, MX25_KPP_COL_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL2__UART4_RTS = IOMUX_PAD(0x3b8, 0x1c0, 0x11, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL2__AUD5_TXC = IOMUX_PAD(0x3b8, 0x1c0, 0x12, 0, 0, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_KPP_COL2__GPIO_3_3 = IOMUX_PAD(0x3b8, 0x1c0, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL2__KPP_COL2 = IOMUX_PAD(0x3b8, 0x1c0, 0x00, 0, 0, MX25_KPP_COL_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL2__UART4_RTS = IOMUX_PAD(0x3b8, 0x1c0, 0x01, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL2__AUD5_TXC = IOMUX_PAD(0x3b8, 0x1c0, 0x02, 0, 0, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_KPP_COL2__GPIO_3_3 = IOMUX_PAD(0x3b8, 0x1c0, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_KPP_COL3__KPP_COL3 = IOMUX_PAD(0x3bc, 0x1c4, 0x10, 0, 0, MX25_KPP_COL_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL3__UART4_CTS = IOMUX_PAD(0x3bc, 0x1c4, 0x11, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL3__AUD5_TXFS = IOMUX_PAD(0x3bc, 0x1c4, 0x12, 0, 0, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_KPP_COL3__GPIO_3_4 = IOMUX_PAD(0x3bc, 0x1c4, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL3__KPP_COL3 = IOMUX_PAD(0x3bc, 0x1c4, 0x00, 0, 0, MX25_KPP_COL_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL3__UART4_CTS = IOMUX_PAD(0x3bc, 0x1c4, 0x01, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_KPP_COL3__AUD5_TXFS = IOMUX_PAD(0x3bc, 0x1c4, 0x02, 0, 0, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_KPP_COL3__GPIO_3_4 = IOMUX_PAD(0x3bc, 0x1c4, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_FEC_MDC__FEC_MDC = IOMUX_PAD(0x3c0, 0x1c8, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_MDC__AUD4_TXD = IOMUX_PAD(0x3c0, 0x1c8, 0x12, 0x464, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_MDC__GPIO_3_5 = IOMUX_PAD(0x3c0, 0x1c8, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_MDC__FEC_MDC = IOMUX_PAD(0x3c0, 0x1c8, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_MDC__AUD4_TXD = IOMUX_PAD(0x3c0, 0x1c8, 0x02, 0x464, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_MDC__GPIO_3_5 = IOMUX_PAD(0x3c0, 0x1c8, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_FEC_MDIO__FEC_MDIO = IOMUX_PAD(0x3c4, 0x1cc, 0x10, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_22K_UP),
|
||||
MX25_PAD_FEC_MDIO__AUD4_RXD = IOMUX_PAD(0x3c4, 0x1cc, 0x12, 0x460, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_MDIO__GPIO_3_6 = IOMUX_PAD(0x3c4, 0x1cc, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_MDIO__FEC_MDIO = IOMUX_PAD(0x3c4, 0x1cc, 0x00, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_22K_UP),
|
||||
MX25_PAD_FEC_MDIO__AUD4_RXD = IOMUX_PAD(0x3c4, 0x1cc, 0x02, 0x460, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_MDIO__GPIO_3_6 = IOMUX_PAD(0x3c4, 0x1cc, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_FEC_TDATA0__FEC_TDATA0 = IOMUX_PAD(0x3c8, 0x1d0, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_TDATA0__GPIO_3_7 = IOMUX_PAD(0x3c8, 0x1d0, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_TDATA0__FEC_TDATA0 = IOMUX_PAD(0x3c8, 0x1d0, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_TDATA0__GPIO_3_7 = IOMUX_PAD(0x3c8, 0x1d0, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_FEC_TDATA1__FEC_TDATA1 = IOMUX_PAD(0x3cc, 0x1d4, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_TDATA1__AUD4_TXFS = IOMUX_PAD(0x3cc, 0x1d4, 0x12, 0x474, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_TDATA1__GPIO_3_8 = IOMUX_PAD(0x3cc, 0x1d4, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_TDATA1__FEC_TDATA1 = IOMUX_PAD(0x3cc, 0x1d4, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_TDATA1__AUD4_TXFS = IOMUX_PAD(0x3cc, 0x1d4, 0x02, 0x474, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_TDATA1__GPIO_3_8 = IOMUX_PAD(0x3cc, 0x1d4, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_FEC_TX_EN__FEC_TX_EN = IOMUX_PAD(0x3d0, 0x1d8, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_TX_EN__GPIO_3_9 = IOMUX_PAD(0x3d0, 0x1d8, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_TX_EN__FEC_TX_EN = IOMUX_PAD(0x3d0, 0x1d8, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_TX_EN__GPIO_3_9 = IOMUX_PAD(0x3d0, 0x1d8, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_FEC_RDATA0__FEC_RDATA0 = IOMUX_PAD(0x3d4, 0x1dc, 0x10, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_100K_DOWN),
|
||||
MX25_PAD_FEC_RDATA0__GPIO_3_10 = IOMUX_PAD(0x3d4, 0x1dc, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_RDATA0__FEC_RDATA0 = IOMUX_PAD(0x3d4, 0x1dc, 0x00, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_100K_DOWN),
|
||||
MX25_PAD_FEC_RDATA0__GPIO_3_10 = IOMUX_PAD(0x3d4, 0x1dc, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_FEC_RDATA1__FEC_RDATA1 = IOMUX_PAD(0x3d8, 0x1e0, 0x10, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_100K_DOWN),
|
||||
MX25_PAD_FEC_RDATA1__GPIO_3_11 = IOMUX_PAD(0x3d8, 0x1e0, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_RDATA1__FEC_RDATA1 = IOMUX_PAD(0x3d8, 0x1e0, 0x00, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_100K_DOWN),
|
||||
MX25_PAD_FEC_RDATA1__GPIO_3_11 = IOMUX_PAD(0x3d8, 0x1e0, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_FEC_RX_DV__FEC_RX_DV = IOMUX_PAD(0x3dc, 0x1e4, 0x10, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_100K_DOWN),
|
||||
MX25_PAD_FEC_RX_DV__CAN2_RX = IOMUX_PAD(0x3dc, 0x1e4, 0x14, 0x484, 0, PAD_CTL_PUS_22K_UP),
|
||||
MX25_PAD_FEC_RX_DV__GPIO_3_12 = IOMUX_PAD(0x3dc, 0x1e4, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_RX_DV__FEC_RX_DV = IOMUX_PAD(0x3dc, 0x1e4, 0x00, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_100K_DOWN),
|
||||
MX25_PAD_FEC_RX_DV__CAN2_RX = IOMUX_PAD(0x3dc, 0x1e4, 0x04, 0x484, 0, PAD_CTL_PUS_22K_UP),
|
||||
MX25_PAD_FEC_RX_DV__GPIO_3_12 = IOMUX_PAD(0x3dc, 0x1e4, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_FEC_TX_CLK__FEC_TX_CLK = IOMUX_PAD(0x3e0, 0x1e8, 0x10, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_100K_DOWN),
|
||||
MX25_PAD_FEC_TX_CLK__GPIO_3_13 = IOMUX_PAD(0x3e0, 0x1e8, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_FEC_TX_CLK__FEC_TX_CLK = IOMUX_PAD(0x3e0, 0x1e8, 0x00, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_100K_DOWN),
|
||||
MX25_PAD_FEC_TX_CLK__GPIO_3_13 = IOMUX_PAD(0x3e0, 0x1e8, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_RTCK__RTCK = IOMUX_PAD(0x3e4, 0x1ec, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_RTCK__OWIRE = IOMUX_PAD(0x3e4, 0x1ec, 0x11, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_RTCK__GPIO_3_14 = IOMUX_PAD(0x3e4, 0x1ec, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_RTCK__RTCK = IOMUX_PAD(0x3e4, 0x1ec, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_RTCK__OWIRE = IOMUX_PAD(0x3e4, 0x1ec, 0x01, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_RTCK__GPIO_3_14 = IOMUX_PAD(0x3e4, 0x1ec, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_DE_B__DE_B = IOMUX_PAD(0x3ec, 0x1f0, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_DE_B__GPIO_2_20 = IOMUX_PAD(0x3ec, 0x1f0, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_DE_B__DE_B = IOMUX_PAD(0x3ec, 0x1f0, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_DE_B__GPIO_2_20 = IOMUX_PAD(0x3ec, 0x1f0, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_TDO__TDO = IOMUX_PAD(0x3e8, 0x000, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_GPIO_A__GPIO_A = IOMUX_PAD(0x3f0, 0x1f4, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_A__CAN1_TX = IOMUX_PAD(0x3f0, 0x1f4, 0x16, 0, 0, PAD_CTL_PUS_22K_UP),
|
||||
MX25_PAD_GPIO_A__USBOTG_PWR = IOMUX_PAD(0x3f0, 0x1f4, 0x12, 0, 0, PAD_CTL_PKE),
|
||||
MX25_PAD_GPIO_A__GPIO_A = IOMUX_PAD(0x3f0, 0x1f4, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_A__CAN1_TX = IOMUX_PAD(0x3f0, 0x1f4, 0x06, 0, 0, PAD_CTL_PUS_22K_UP),
|
||||
MX25_PAD_GPIO_A__USBOTG_PWR = IOMUX_PAD(0x3f0, 0x1f4, 0x02, 0, 0, PAD_CTL_PKE),
|
||||
|
||||
MX25_PAD_GPIO_B__GPIO_B = IOMUX_PAD(0x3f4, 0x1f8, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_B__CAN1_RX = IOMUX_PAD(0x3f4, 0x1f8, 0x16, 0x480, 1, PAD_CTL_PUS_22K_UP),
|
||||
MX25_PAD_GPIO_B__USBOTG_OC = IOMUX_PAD(0x3f4, 0x1f8, 0x12, 0x57c, 1, PAD_CTL_PUS_100K_UP),
|
||||
MX25_PAD_GPIO_B__GPIO_B = IOMUX_PAD(0x3f4, 0x1f8, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_B__CAN1_RX = IOMUX_PAD(0x3f4, 0x1f8, 0x06, 0x480, 1, PAD_CTL_PUS_22K_UP),
|
||||
MX25_PAD_GPIO_B__USBOTG_OC = IOMUX_PAD(0x3f4, 0x1f8, 0x02, 0x57c, 1, PAD_CTL_PUS_100K_UP),
|
||||
|
||||
MX25_PAD_GPIO_C__GPIO_C = IOMUX_PAD(0x3f8, 0x1fc, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_C__CAN2_TX = IOMUX_PAD(0x3f8, 0x1fc, 0x16, 0, 0, PAD_CTL_PUS_22K_UP),
|
||||
MX25_PAD_GPIO_C__GPIO_C = IOMUX_PAD(0x3f8, 0x1fc, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_C__CAN2_TX = IOMUX_PAD(0x3f8, 0x1fc, 0x06, 0, 0, PAD_CTL_PUS_22K_UP),
|
||||
|
||||
MX25_PAD_GPIO_D__GPIO_D = IOMUX_PAD(0x3fc, 0x200, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_D__GPIO_D = IOMUX_PAD(0x3fc, 0x200, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_E__LD16 = IOMUX_PAD(0x400, 0x204, 0x02, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_GPIO_D__CAN2_RX = IOMUX_PAD(0x3fc, 0x200, 0x16, 0x484, 1, PAD_CTL_PUS_22K_UP),
|
||||
MX25_PAD_GPIO_D__CAN2_RX = IOMUX_PAD(0x3fc, 0x200, 0x06, 0x484, 1, PAD_CTL_PUS_22K_UP),
|
||||
|
||||
MX25_PAD_GPIO_E__GPIO_E = IOMUX_PAD(0x400, 0x204, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_E__GPIO_E = IOMUX_PAD(0x400, 0x204, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_F__LD17 = IOMUX_PAD(0x404, 0x208, 0x02, 0, 0, PAD_CTL_SRE_FAST),
|
||||
MX25_PAD_GPIO_E__I2C3_CLK = IOMUX_PAD(0x400, 0x204, 0x11, 0x524, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_E__AUD7_TXD = IOMUX_PAD(0x400, 0x204, 0x14, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_E__I2C3_CLK = IOMUX_PAD(0x400, 0x204, 0x01, 0x524, 2, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_E__AUD7_TXD = IOMUX_PAD(0x400, 0x204, 0x04, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_GPIO_F__GPIO_F = IOMUX_PAD(0x404, 0x208, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_F__AUD7_TXC = IOMUX_PAD(0x404, 0x208, 0x14, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_F__GPIO_F = IOMUX_PAD(0x404, 0x208, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_GPIO_F__AUD7_TXC = IOMUX_PAD(0x404, 0x208, 0x04, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_EXT_ARMCLK__EXT_ARMCLK = IOMUX_PAD(0x000, 0x20c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EXT_ARMCLK__GPIO_3_15 = IOMUX_PAD(0x000, 0x20c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EXT_ARMCLK__EXT_ARMCLK = IOMUX_PAD(0x000, 0x20c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_EXT_ARMCLK__GPIO_3_15 = IOMUX_PAD(0x000, 0x20c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_UPLL_BYPCLK__UPLL_BYPCLK = IOMUX_PAD(0x000, 0x210, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UPLL_BYPCLK__GPIO_3_16 = IOMUX_PAD(0x000, 0x210, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UPLL_BYPCLK__UPLL_BYPCLK = IOMUX_PAD(0x000, 0x210, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_UPLL_BYPCLK__GPIO_3_16 = IOMUX_PAD(0x000, 0x210, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_VSTBY_REQ__VSTBY_REQ = IOMUX_PAD(0x408, 0x214, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_VSTBY_REQ__AUD7_TXFS = IOMUX_PAD(0x408, 0x214, 0x14, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_VSTBY_REQ__GPIO_3_17 = IOMUX_PAD(0x408, 0x214, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_VSTBY_ACK__VSTBY_ACK = IOMUX_PAD(0x40c, 0x218, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_VSTBY_ACK__GPIO_3_18 = IOMUX_PAD(0x40c, 0x218, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_VSTBY_REQ__VSTBY_REQ = IOMUX_PAD(0x408, 0x214, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_VSTBY_REQ__AUD7_TXFS = IOMUX_PAD(0x408, 0x214, 0x04, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_VSTBY_REQ__GPIO_3_17 = IOMUX_PAD(0x408, 0x214, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_VSTBY_ACK__VSTBY_ACK = IOMUX_PAD(0x40c, 0x218, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_VSTBY_ACK__GPIO_3_18 = IOMUX_PAD(0x40c, 0x218, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_POWER_FAIL__POWER_FAIL = IOMUX_PAD(0x410, 0x21c, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_POWER_FAIL__AUD7_RXD = IOMUX_PAD(0x410, 0x21c, 0x14, 0x478, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_POWER_FAIL__GPIO_3_19 = IOMUX_PAD(0x410, 0x21c, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_POWER_FAIL__POWER_FAIL = IOMUX_PAD(0x410, 0x21c, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_POWER_FAIL__AUD7_RXD = IOMUX_PAD(0x410, 0x21c, 0x04, 0x478, 1, NO_PAD_CTRL),
|
||||
MX25_PAD_POWER_FAIL__GPIO_3_19 = IOMUX_PAD(0x410, 0x21c, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_CLKO__CLKO = IOMUX_PAD(0x414, 0x220, 0x10, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CLKO__GPIO_2_21 = IOMUX_PAD(0x414, 0x220, 0x15, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CLKO__CLKO = IOMUX_PAD(0x414, 0x220, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_CLKO__GPIO_2_21 = IOMUX_PAD(0x414, 0x220, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
MX25_PAD_BOOT_MODE0__BOOT_MODE0 = IOMUX_PAD(0x000, 0x224, 0x00, 0, 0, NO_PAD_CTRL),
|
||||
MX25_PAD_BOOT_MODE0__GPIO_4_30 = IOMUX_PAD(0x000, 0x224, 0x05, 0, 0, NO_PAD_CTRL),
|
||||
|
||||
@@ -482,10 +482,11 @@ struct src {
|
||||
|
||||
#define src_base ((struct src *)SRC_BASE_ADDR)
|
||||
|
||||
#define SRC_SCR_M4_ENABLE_OFFSET 22
|
||||
#define SRC_SCR_M4_ENABLE_MASK (1 << 22)
|
||||
#define SRC_SCR_M4C_NON_SCLR_RST_OFFSET 4
|
||||
#define SRC_SCR_M4C_NON_SCLR_RST_MASK (1 << 4)
|
||||
#define SRC_M4_REG_OFFSET 0
|
||||
#define SRC_M4_ENABLE_OFFSET 22
|
||||
#define SRC_M4_ENABLE_MASK BIT(22)
|
||||
#define SRC_M4C_NON_SCLR_RST_OFFSET 4
|
||||
#define SRC_M4C_NON_SCLR_RST_MASK BIT(4)
|
||||
|
||||
/* GPR1 bitfields */
|
||||
#define IOMUXC_GPR1_APP_CLK_REQ_N BIT(30)
|
||||
|
||||
@@ -264,10 +264,12 @@ struct src {
|
||||
u32 ddrc_rcr;
|
||||
};
|
||||
|
||||
#define SRC_M4RCR_M4C_NON_SCLR_RST_OFFSET 0
|
||||
#define SRC_M4RCR_M4C_NON_SCLR_RST_MASK (1 << 0)
|
||||
#define SRC_M4RCR_ENABLE_M4_OFFSET 3
|
||||
#define SRC_M4RCR_ENABLE_M4_MASK (1 << 3)
|
||||
#define SRC_M4_REG_OFFSET 0xC
|
||||
#define SRC_M4C_NON_SCLR_RST_OFFSET 0
|
||||
#define SRC_M4C_NON_SCLR_RST_MASK BIT(0)
|
||||
#define SRC_M4_ENABLE_OFFSET 3
|
||||
#define SRC_M4_ENABLE_MASK BIT(3)
|
||||
|
||||
#define SRC_DDRC_RCR_DDRC_CORE_RST_OFFSET 1
|
||||
#define SRC_DDRC_RCR_DDRC_CORE_RST_MASK (1 << 1)
|
||||
|
||||
@@ -1208,14 +1210,6 @@ extern void pcie_power_off(void);
|
||||
readl(USBOTG2_IPS_BASE_ADDR + 0x158))
|
||||
#define disconnect_from_pc(void) writel(0x0, USBOTG1_IPS_BASE_ADDR + 0x140)
|
||||
|
||||
/* Boot device type */
|
||||
#define BOOT_TYPE_SD 0x1
|
||||
#define BOOT_TYPE_MMC 0x2
|
||||
#define BOOT_TYPE_NAND 0x3
|
||||
#define BOOT_TYPE_QSPI 0x4
|
||||
#define BOOT_TYPE_WEIM 0x5
|
||||
#define BOOT_TYPE_SPINOR 0x6
|
||||
|
||||
struct bootrom_sw_info {
|
||||
u8 reserved_1;
|
||||
u8 boot_dev_instance;
|
||||
|
||||
657
arch/arm/include/asm/arch-mx8m/clock.h
Normal file
657
arch/arm/include/asm/arch-mx8m/clock.h
Normal file
@@ -0,0 +1,657 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* Peng Fan <peng.fan@nxp.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef _ASM_ARCH_IMX8M_CLOCK_H
|
||||
#define _ASM_ARCH_IMX8M_CLOCK_H
|
||||
|
||||
#include <linux/bitops.h>
|
||||
|
||||
enum pll_clocks {
|
||||
ANATOP_ARM_PLL,
|
||||
ANATOP_GPU_PLL,
|
||||
ANATOP_SYSTEM_PLL1,
|
||||
ANATOP_SYSTEM_PLL2,
|
||||
ANATOP_SYSTEM_PLL3,
|
||||
ANATOP_AUDIO_PLL1,
|
||||
ANATOP_AUDIO_PLL2,
|
||||
ANATOP_VIDEO_PLL1,
|
||||
ANATOP_VIDEO_PLL2,
|
||||
ANATOP_DRAM_PLL,
|
||||
};
|
||||
|
||||
enum clk_slice_type {
|
||||
CORE_CLOCK_SLICE,
|
||||
BUS_CLOCK_SLICE,
|
||||
IP_CLOCK_SLICE,
|
||||
AHB_CLOCK_SLICE,
|
||||
IPG_CLOCK_SLICE,
|
||||
CORE_SEL_CLOCK_SLICE,
|
||||
DRAM_SEL_CLOCK_SLICE,
|
||||
};
|
||||
|
||||
enum clk_root_index {
|
||||
MXC_ARM_CLK = 0,
|
||||
ARM_A53_CLK_ROOT = 0,
|
||||
ARM_M4_CLK_ROOT = 1,
|
||||
VPU_A53_CLK_ROOT = 2,
|
||||
GPU_CORE_CLK_ROOT = 3,
|
||||
GPU_SHADER_CLK_ROOT = 4,
|
||||
MAIN_AXI_CLK_ROOT = 16,
|
||||
ENET_AXI_CLK_ROOT = 17,
|
||||
NAND_USDHC_BUS_CLK_ROOT = 18,
|
||||
VPU_BUS_CLK_ROOT = 19,
|
||||
DISPLAY_AXI_CLK_ROOT = 20,
|
||||
DISPLAY_APB_CLK_ROOT = 21,
|
||||
DISPLAY_RTRM_CLK_ROOT = 22,
|
||||
USB_BUS_CLK_ROOT = 23,
|
||||
GPU_AXI_CLK_ROOT = 24,
|
||||
GPU_AHB_CLK_ROOT = 25,
|
||||
NOC_CLK_ROOT = 26,
|
||||
NOC_APB_CLK_ROOT = 27,
|
||||
AHB_CLK_ROOT = 32,
|
||||
IPG_CLK_ROOT = 33,
|
||||
MXC_IPG_CLK = 33,
|
||||
AUDIO_AHB_CLK_ROOT = 34,
|
||||
MIPI_DSI_ESC_RX_CLK_ROOT = 36,
|
||||
DRAM_SEL_CFG = 48,
|
||||
CORE_SEL_CFG = 49,
|
||||
DRAM_ALT_CLK_ROOT = 64,
|
||||
DRAM_APB_CLK_ROOT = 65,
|
||||
VPU_G1_CLK_ROOT = 66,
|
||||
VPU_G2_CLK_ROOT = 67,
|
||||
DISPLAY_DTRC_CLK_ROOT = 68,
|
||||
DISPLAY_DC8000_CLK_ROOT = 69,
|
||||
PCIE1_CTRL_CLK_ROOT = 70,
|
||||
PCIE1_PHY_CLK_ROOT = 71,
|
||||
PCIE1_AUX_CLK_ROOT = 72,
|
||||
DC_PIXEL_CLK_ROOT = 73,
|
||||
LCDIF_PIXEL_CLK_ROOT = 74,
|
||||
SAI1_CLK_ROOT = 75,
|
||||
SAI2_CLK_ROOT = 76,
|
||||
SAI3_CLK_ROOT = 77,
|
||||
SAI4_CLK_ROOT = 78,
|
||||
SAI5_CLK_ROOT = 79,
|
||||
SAI6_CLK_ROOT = 80,
|
||||
SPDIF1_CLK_ROOT = 81,
|
||||
SPDIF2_CLK_ROOT = 82,
|
||||
ENET_REF_CLK_ROOT = 83,
|
||||
ENET_TIMER_CLK_ROOT = 84,
|
||||
ENET_PHY_REF_CLK_ROOT = 85,
|
||||
NAND_CLK_ROOT = 86,
|
||||
QSPI_CLK_ROOT = 87,
|
||||
MXC_ESDHC_CLK = 88,
|
||||
USDHC1_CLK_ROOT = 88,
|
||||
MXC_ESDHC2_CLK = 89,
|
||||
USDHC2_CLK_ROOT = 89,
|
||||
I2C1_CLK_ROOT = 90,
|
||||
MXC_I2C_CLK = 90,
|
||||
I2C2_CLK_ROOT = 91,
|
||||
I2C3_CLK_ROOT = 92,
|
||||
I2C4_CLK_ROOT = 93,
|
||||
UART1_CLK_ROOT = 94,
|
||||
UART2_CLK_ROOT = 95,
|
||||
UART3_CLK_ROOT = 96,
|
||||
UART4_CLK_ROOT = 97,
|
||||
USB_CORE_REF_CLK_ROOT = 98,
|
||||
USB_PHY_REF_CLK_ROOT = 99,
|
||||
GIC_CLK_ROOT = 100,
|
||||
ECSPI1_CLK_ROOT = 101,
|
||||
ECSPI2_CLK_ROOT = 102,
|
||||
PWM1_CLK_ROOT = 103,
|
||||
PWM2_CLK_ROOT = 104,
|
||||
PWM3_CLK_ROOT = 105,
|
||||
PWM4_CLK_ROOT = 106,
|
||||
GPT1_CLK_ROOT = 107,
|
||||
GPT2_CLK_ROOT = 108,
|
||||
GPT3_CLK_ROOT = 109,
|
||||
GPT4_CLK_ROOT = 110,
|
||||
GPT5_CLK_ROOT = 111,
|
||||
GPT6_CLK_ROOT = 112,
|
||||
TRACE_CLK_ROOT = 113,
|
||||
WDOG_CLK_ROOT = 114,
|
||||
WRCLK_CLK_ROOT = 115,
|
||||
IPP_DO_CLKO1 = 116,
|
||||
IPP_DO_CLKO2 = 117,
|
||||
MIPI_DSI_CORE_CLK_ROOT = 118,
|
||||
MIPI_DSI_PHY_REF_CLK_ROOT = 119,
|
||||
MIPI_DSI_DBI_CLK_ROOT = 120,
|
||||
OLD_MIPI_DSI_ESC_CLK_ROOT = 121,
|
||||
MIPI_CSI1_CORE_CLK_ROOT = 122,
|
||||
MIPI_CSI1_PHY_REF_CLK_ROOT = 123,
|
||||
MIPI_CSI1_ESC_CLK_ROOT = 124,
|
||||
MIPI_CSI2_CORE_CLK_ROOT = 125,
|
||||
MIPI_CSI2_PHY_REF_CLK_ROOT = 126,
|
||||
MIPI_CSI2_ESC_CLK_ROOT = 127,
|
||||
PCIE2_CTRL_CLK_ROOT = 128,
|
||||
PCIE2_PHY_CLK_ROOT = 129,
|
||||
PCIE2_AUX_CLK_ROOT = 130,
|
||||
ECSPI3_CLK_ROOT = 131,
|
||||
OLD_MIPI_DSI_ESC_RX_ROOT = 132,
|
||||
DISPLAY_HDMI_CLK_ROOT = 133,
|
||||
CLK_ROOT_MAX,
|
||||
};
|
||||
|
||||
enum clk_root_src {
|
||||
OSC_25M_CLK,
|
||||
ARM_PLL_CLK,
|
||||
DRAM_PLL1_CLK,
|
||||
VIDEO_PLL2_CLK,
|
||||
VPU_PLL_CLK,
|
||||
GPU_PLL_CLK,
|
||||
SYSTEM_PLL1_800M_CLK,
|
||||
SYSTEM_PLL1_400M_CLK,
|
||||
SYSTEM_PLL1_266M_CLK,
|
||||
SYSTEM_PLL1_200M_CLK,
|
||||
SYSTEM_PLL1_160M_CLK,
|
||||
SYSTEM_PLL1_133M_CLK,
|
||||
SYSTEM_PLL1_100M_CLK,
|
||||
SYSTEM_PLL1_80M_CLK,
|
||||
SYSTEM_PLL1_40M_CLK,
|
||||
SYSTEM_PLL2_1000M_CLK,
|
||||
SYSTEM_PLL2_500M_CLK,
|
||||
SYSTEM_PLL2_333M_CLK,
|
||||
SYSTEM_PLL2_250M_CLK,
|
||||
SYSTEM_PLL2_200M_CLK,
|
||||
SYSTEM_PLL2_166M_CLK,
|
||||
SYSTEM_PLL2_125M_CLK,
|
||||
SYSTEM_PLL2_100M_CLK,
|
||||
SYSTEM_PLL2_50M_CLK,
|
||||
SYSTEM_PLL3_CLK,
|
||||
AUDIO_PLL1_CLK,
|
||||
AUDIO_PLL2_CLK,
|
||||
VIDEO_PLL_CLK,
|
||||
OSC_32K_CLK,
|
||||
EXT_CLK_1,
|
||||
EXT_CLK_2,
|
||||
EXT_CLK_3,
|
||||
EXT_CLK_4,
|
||||
OSC_27M_CLK,
|
||||
};
|
||||
|
||||
/* CCGR index */
|
||||
enum clk_ccgr_index {
|
||||
CCGR_DVFS = 0,
|
||||
CCGR_ANAMIX = 1,
|
||||
CCGR_CPU = 2,
|
||||
CCGR_CSU = 4,
|
||||
CCGR_DRAM1 = 5,
|
||||
CCGR_DRAM2_OBSOLETE = 6,
|
||||
CCGR_ECSPI1 = 7,
|
||||
CCGR_ECSPI2 = 8,
|
||||
CCGR_ECSPI3 = 9,
|
||||
CCGR_ENET1 = 10,
|
||||
CCGR_GPIO1 = 11,
|
||||
CCGR_GPIO2 = 12,
|
||||
CCGR_GPIO3 = 13,
|
||||
CCGR_GPIO4 = 14,
|
||||
CCGR_GPIO5 = 15,
|
||||
CCGR_GPT1 = 16,
|
||||
CCGR_GPT2 = 17,
|
||||
CCGR_GPT3 = 18,
|
||||
CCGR_GPT4 = 19,
|
||||
CCGR_GPT5 = 20,
|
||||
CCGR_GPT6 = 21,
|
||||
CCGR_HS = 22,
|
||||
CCGR_I2C1 = 23,
|
||||
CCGR_I2C2 = 24,
|
||||
CCGR_I2C3 = 25,
|
||||
CCGR_I2C4 = 26,
|
||||
CCGR_IOMUX = 27,
|
||||
CCGR_IOMUX1 = 28,
|
||||
CCGR_IOMUX2 = 29,
|
||||
CCGR_IOMUX3 = 30,
|
||||
CCGR_IOMUX4 = 31,
|
||||
CCGR_M4 = 32,
|
||||
CCGR_MU = 33,
|
||||
CCGR_OCOTP = 34,
|
||||
CCGR_OCRAM = 35,
|
||||
CCGR_OCRAM_S = 36,
|
||||
CCGR_PCIE = 37,
|
||||
CCGR_PERFMON1 = 38,
|
||||
CCGR_PERFMON2 = 39,
|
||||
CCGR_PWM1 = 40,
|
||||
CCGR_PWM2 = 41,
|
||||
CCGR_PWM3 = 42,
|
||||
CCGR_PWM4 = 43,
|
||||
CCGR_QOS = 44,
|
||||
CCGR_DISMIX = 45,
|
||||
CCGR_MEGAMIX = 46,
|
||||
CCGR_QSPI = 47,
|
||||
CCGR_RAWNAND = 48,
|
||||
CCGR_RDC = 49,
|
||||
CCGR_ROM = 50,
|
||||
CCGR_SAI1 = 51,
|
||||
CCGR_SAI2 = 52,
|
||||
CCGR_SAI3 = 53,
|
||||
CCGR_SAI4 = 54,
|
||||
CCGR_SAI5 = 55,
|
||||
CCGR_SAI6 = 56,
|
||||
CCGR_SCTR = 57,
|
||||
CCGR_SDMA1 = 58,
|
||||
CCGR_SDMA2 = 59,
|
||||
CCGR_SEC_DEBUG = 60,
|
||||
CCGR_SEMA1 = 61,
|
||||
CCGR_SEMA2 = 62,
|
||||
CCGR_SIM_DISPLAY = 63,
|
||||
CCGR_SIM_ENET = 64,
|
||||
CCGR_SIM_M = 65,
|
||||
CCGR_SIM_MAIN = 66,
|
||||
CCGR_SIM_S = 67,
|
||||
CCGR_SIM_WAKEUP = 68,
|
||||
CCGR_SIM_USB = 69,
|
||||
CCGR_SIM_VPU = 70,
|
||||
CCGR_SNVS = 71,
|
||||
CCGR_TRACE = 72,
|
||||
CCGR_UART1 = 73,
|
||||
CCGR_UART2 = 74,
|
||||
CCGR_UART3 = 75,
|
||||
CCGR_UART4 = 76,
|
||||
CCGR_USB_CTRL1 = 77,
|
||||
CCGR_USB_CTRL2 = 78,
|
||||
CCGR_USB_PHY1 = 79,
|
||||
CCGR_USB_PHY2 = 80,
|
||||
CCGR_USDHC1 = 81,
|
||||
CCGR_USDHC2 = 82,
|
||||
CCGR_WDOG1 = 83,
|
||||
CCGR_WDOG2 = 84,
|
||||
CCGR_WDOG3 = 85,
|
||||
CCGR_VA53 = 86,
|
||||
CCGR_GPU = 87,
|
||||
CCGR_HEVC = 88,
|
||||
CCGR_AVC = 89,
|
||||
CCGR_VP9 = 90,
|
||||
CCGR_HEVC_INTER = 91,
|
||||
CCGR_GIC = 92,
|
||||
CCGR_DISPLAY = 93,
|
||||
CCGR_HDMI = 94,
|
||||
CCGR_HDMI_PHY = 95,
|
||||
CCGR_XTAL = 96,
|
||||
CCGR_PLL = 97,
|
||||
CCGR_TSENSOR = 98,
|
||||
CCGR_VPU_DEC = 99,
|
||||
CCGR_PCIE2 = 100,
|
||||
CCGR_MIPI_CSI1 = 101,
|
||||
CCGR_MIPI_CSI2 = 102,
|
||||
CCGR_MAX,
|
||||
};
|
||||
|
||||
/* src index */
|
||||
enum clk_src_index {
|
||||
CLK_SRC_CKIL_SYNC_REQ = 0,
|
||||
CLK_SRC_ARM_PLL_EN = 1,
|
||||
CLK_SRC_GPU_PLL_EN = 2,
|
||||
CLK_SRC_VPU_PLL_EN = 3,
|
||||
CLK_SRC_DRAM_PLL_EN = 4,
|
||||
CLK_SRC_SYSTEM_PLL1_EN = 5,
|
||||
CLK_SRC_SYSTEM_PLL2_EN = 6,
|
||||
CLK_SRC_SYSTEM_PLL3_EN = 7,
|
||||
CLK_SRC_AUDIO_PLL1_EN = 8,
|
||||
CLK_SRC_AUDIO_PLL2_EN = 9,
|
||||
CLK_SRC_VIDEO_PLL1_EN = 10,
|
||||
CLK_SRC_VIDEO_PLL2_EN = 11,
|
||||
CLK_SRC_ARM_PLL = 12,
|
||||
CLK_SRC_GPU_PLL = 13,
|
||||
CLK_SRC_VPU_PLL = 14,
|
||||
CLK_SRC_DRAM_PLL = 15,
|
||||
CLK_SRC_SYSTEM_PLL1_800M = 16,
|
||||
CLK_SRC_SYSTEM_PLL1_400M = 17,
|
||||
CLK_SRC_SYSTEM_PLL1_266M = 18,
|
||||
CLK_SRC_SYSTEM_PLL1_200M = 19,
|
||||
CLK_SRC_SYSTEM_PLL1_160M = 20,
|
||||
CLK_SRC_SYSTEM_PLL1_133M = 21,
|
||||
CLK_SRC_SYSTEM_PLL1_100M = 22,
|
||||
CLK_SRC_SYSTEM_PLL1_80M = 23,
|
||||
CLK_SRC_SYSTEM_PLL1_40M = 24,
|
||||
CLK_SRC_SYSTEM_PLL2_1000M = 25,
|
||||
CLK_SRC_SYSTEM_PLL2_500M = 26,
|
||||
CLK_SRC_SYSTEM_PLL2_333M = 27,
|
||||
CLK_SRC_SYSTEM_PLL2_250M = 28,
|
||||
CLK_SRC_SYSTEM_PLL2_200M = 29,
|
||||
CLK_SRC_SYSTEM_PLL2_166M = 30,
|
||||
CLK_SRC_SYSTEM_PLL2_125M = 31,
|
||||
CLK_SRC_SYSTEM_PLL2_100M = 32,
|
||||
CLK_SRC_SYSTEM_PLL2_50M = 33,
|
||||
CLK_SRC_SYSTEM_PLL3 = 34,
|
||||
CLK_SRC_AUDIO_PLL1 = 35,
|
||||
CLK_SRC_AUDIO_PLL2 = 36,
|
||||
CLK_SRC_VIDEO_PLL1 = 37,
|
||||
CLK_SRC_VIDEO_PLL2 = 38,
|
||||
CLK_SRC_OSC_25M = 39,
|
||||
CLK_SRC_OSC_27M = 40,
|
||||
};
|
||||
|
||||
enum root_pre_div {
|
||||
CLK_ROOT_PRE_DIV1 = 0,
|
||||
CLK_ROOT_PRE_DIV2,
|
||||
CLK_ROOT_PRE_DIV3,
|
||||
CLK_ROOT_PRE_DIV4,
|
||||
CLK_ROOT_PRE_DIV5,
|
||||
CLK_ROOT_PRE_DIV6,
|
||||
CLK_ROOT_PRE_DIV7,
|
||||
CLK_ROOT_PRE_DIV8,
|
||||
};
|
||||
|
||||
enum root_post_div {
|
||||
CLK_ROOT_POST_DIV1 = 0,
|
||||
CLK_ROOT_POST_DIV2,
|
||||
CLK_ROOT_POST_DIV3,
|
||||
CLK_ROOT_POST_DIV4,
|
||||
CLK_ROOT_POST_DIV5,
|
||||
CLK_ROOT_POST_DIV6,
|
||||
CLK_ROOT_POST_DIV7,
|
||||
CLK_ROOT_POST_DIV8,
|
||||
CLK_ROOT_POST_DIV9,
|
||||
CLK_ROOT_POST_DIV10,
|
||||
CLK_ROOT_POST_DIV11,
|
||||
CLK_ROOT_POST_DIV12,
|
||||
CLK_ROOT_POST_DIV13,
|
||||
CLK_ROOT_POST_DIV14,
|
||||
CLK_ROOT_POST_DIV15,
|
||||
CLK_ROOT_POST_DIV16,
|
||||
CLK_ROOT_POST_DIV17,
|
||||
CLK_ROOT_POST_DIV18,
|
||||
CLK_ROOT_POST_DIV19,
|
||||
CLK_ROOT_POST_DIV20,
|
||||
CLK_ROOT_POST_DIV21,
|
||||
CLK_ROOT_POST_DIV22,
|
||||
CLK_ROOT_POST_DIV23,
|
||||
CLK_ROOT_POST_DIV24,
|
||||
CLK_ROOT_POST_DIV25,
|
||||
CLK_ROOT_POST_DIV26,
|
||||
CLK_ROOT_POST_DIV27,
|
||||
CLK_ROOT_POST_DIV28,
|
||||
CLK_ROOT_POST_DIV29,
|
||||
CLK_ROOT_POST_DIV30,
|
||||
CLK_ROOT_POST_DIV31,
|
||||
CLK_ROOT_POST_DIV32,
|
||||
CLK_ROOT_POST_DIV33,
|
||||
CLK_ROOT_POST_DIV34,
|
||||
CLK_ROOT_POST_DIV35,
|
||||
CLK_ROOT_POST_DIV36,
|
||||
CLK_ROOT_POST_DIV37,
|
||||
CLK_ROOT_POST_DIV38,
|
||||
CLK_ROOT_POST_DIV39,
|
||||
CLK_ROOT_POST_DIV40,
|
||||
CLK_ROOT_POST_DIV41,
|
||||
CLK_ROOT_POST_DIV42,
|
||||
CLK_ROOT_POST_DIV43,
|
||||
CLK_ROOT_POST_DIV44,
|
||||
CLK_ROOT_POST_DIV45,
|
||||
CLK_ROOT_POST_DIV46,
|
||||
CLK_ROOT_POST_DIV47,
|
||||
CLK_ROOT_POST_DIV48,
|
||||
CLK_ROOT_POST_DIV49,
|
||||
CLK_ROOT_POST_DIV50,
|
||||
CLK_ROOT_POST_DIV51,
|
||||
CLK_ROOT_POST_DIV52,
|
||||
CLK_ROOT_POST_DIV53,
|
||||
CLK_ROOT_POST_DIV54,
|
||||
CLK_ROOT_POST_DIV55,
|
||||
CLK_ROOT_POST_DIV56,
|
||||
CLK_ROOT_POST_DIV57,
|
||||
CLK_ROOT_POST_DIV58,
|
||||
CLK_ROOT_POST_DIV59,
|
||||
CLK_ROOT_POST_DIV60,
|
||||
CLK_ROOT_POST_DIV61,
|
||||
CLK_ROOT_POST_DIV62,
|
||||
CLK_ROOT_POST_DIV63,
|
||||
CLK_ROOT_POST_DIV64,
|
||||
};
|
||||
|
||||
struct clk_root_map {
|
||||
enum clk_root_index entry;
|
||||
enum clk_slice_type slice_type;
|
||||
u32 slice_index;
|
||||
u8 src_mux[8];
|
||||
};
|
||||
|
||||
struct ccm_ccgr {
|
||||
u32 ccgr;
|
||||
u32 ccgr_set;
|
||||
u32 ccgr_clr;
|
||||
u32 ccgr_tog;
|
||||
};
|
||||
|
||||
struct ccm_root {
|
||||
u32 target_root;
|
||||
u32 target_root_set;
|
||||
u32 target_root_clr;
|
||||
u32 target_root_tog;
|
||||
u32 misc;
|
||||
u32 misc_set;
|
||||
u32 misc_clr;
|
||||
u32 misc_tog;
|
||||
u32 nm_post;
|
||||
u32 nm_post_root_set;
|
||||
u32 nm_post_root_clr;
|
||||
u32 nm_post_root_tog;
|
||||
u32 nm_pre;
|
||||
u32 nm_pre_root_set;
|
||||
u32 nm_pre_root_clr;
|
||||
u32 nm_pre_root_tog;
|
||||
u32 db_post;
|
||||
u32 db_post_root_set;
|
||||
u32 db_post_root_clr;
|
||||
u32 db_post_root_tog;
|
||||
u32 db_pre;
|
||||
u32 db_pre_root_set;
|
||||
u32 db_pre_root_clr;
|
||||
u32 db_pre_root_tog;
|
||||
u32 reserved[4];
|
||||
u32 access_ctrl;
|
||||
u32 access_ctrl_root_set;
|
||||
u32 access_ctrl_root_clr;
|
||||
u32 access_ctrl_root_tog;
|
||||
};
|
||||
|
||||
struct ccm_reg {
|
||||
u32 reserved_0[4096];
|
||||
struct ccm_ccgr ccgr_array[192];
|
||||
u32 reserved_1[3328];
|
||||
struct ccm_root core_root[5];
|
||||
u32 reserved_2[352];
|
||||
struct ccm_root bus_root[12];
|
||||
u32 reserved_3[128];
|
||||
struct ccm_root ahb_ipg_root[4];
|
||||
u32 reserved_4[384];
|
||||
struct ccm_root dram_sel;
|
||||
struct ccm_root core_sel;
|
||||
u32 reserved_5[448];
|
||||
struct ccm_root ip_root[78];
|
||||
};
|
||||
|
||||
#define CCGR_CLK_ON_MASK 0x03
|
||||
#define CLK_SRC_ON_MASK 0x03
|
||||
|
||||
#define CLK_ROOT_ON BIT(28)
|
||||
#define CLK_ROOT_OFF (0 << 28)
|
||||
#define CLK_ROOT_ENABLE_MASK BIT(28)
|
||||
#define CLK_ROOT_ENABLE_SHIFT 28
|
||||
#define CLK_ROOT_SOURCE_SEL(n) (((n) & 0x7) << 24)
|
||||
|
||||
/* For SEL, only use 1 bit */
|
||||
#define CLK_ROOT_SRC_MUX_MASK 0x07000000
|
||||
#define CLK_ROOT_SRC_MUX_SHIFT 24
|
||||
#define CLK_ROOT_SRC_0 0x00000000
|
||||
#define CLK_ROOT_SRC_1 0x01000000
|
||||
#define CLK_ROOT_SRC_2 0x02000000
|
||||
#define CLK_ROOT_SRC_3 0x03000000
|
||||
#define CLK_ROOT_SRC_4 0x04000000
|
||||
#define CLK_ROOT_SRC_5 0x05000000
|
||||
#define CLK_ROOT_SRC_6 0x06000000
|
||||
#define CLK_ROOT_SRC_7 0x07000000
|
||||
|
||||
#define CLK_ROOT_PRE_DIV_MASK (0x00070000)
|
||||
#define CLK_ROOT_PRE_DIV_SHIFT 16
|
||||
#define CLK_ROOT_PRE_DIV(n) (((n) << 16) & 0x00070000)
|
||||
|
||||
#define CLK_ROOT_AUDO_SLOW_EN 0x1000
|
||||
|
||||
#define CLK_ROOT_AUDO_DIV_MASK 0x700
|
||||
#define CLK_ROOT_AUDO_DIV_SHIFT 0x8
|
||||
#define CLK_ROOT_AUDO_DIV(n) (((n) << 8) & 0x700)
|
||||
|
||||
/* For CORE: mask is 0x7; For IPG: mask is 0x3 */
|
||||
#define CLK_ROOT_POST_DIV_MASK 0x3f
|
||||
#define CLK_ROOT_CORE_POST_DIV_MASK 0x7
|
||||
#define CLK_ROOT_IPG_POST_DIV_MASK 0x3
|
||||
#define CLK_ROOT_POST_DIV_SHIFT 0
|
||||
#define CLK_ROOT_POST_DIV(n) ((n) & 0x3f)
|
||||
|
||||
/* AUDIO PLL1/2 VIDEO PLL1 GPU PLL VPU PLL ARM PLL*/
|
||||
#define FRAC_PLL_LOCK_MASK BIT(31)
|
||||
#define FRAC_PLL_CLKE_MASK BIT(21)
|
||||
#define FRAC_PLL_PD_MASK BIT(19)
|
||||
#define FRAC_PLL_REFCLK_SEL_MASK BIT(16)
|
||||
#define FRAC_PLL_LOCK_SEL_MASK BIT(15)
|
||||
#define FRAC_PLL_BYPASS_MASK BIT(14)
|
||||
#define FRAC_PLL_COUNTCLK_SEL_MASK BIT(13)
|
||||
#define FRAC_PLL_NEWDIV_VAL_MASK BIT(12)
|
||||
#define FRAC_PLL_NEWDIV_ACK_MASK BIT(11)
|
||||
#define FRAC_PLL_REFCLK_DIV_VAL(n) (((n) << 5) & (0x3f << 5))
|
||||
#define FRAC_PLL_REFCLK_DIV_VAL_MASK (0x3f << 5)
|
||||
#define FRAC_PLL_REFCLK_DIV_VAL_SHIFT 5
|
||||
#define FRAC_PLL_OUTPUT_DIV_VAL_MASK 0x1f
|
||||
#define FRAC_PLL_OUTPUT_DIV_VAL(n) ((n) & 0x1f)
|
||||
|
||||
#define FRAC_PLL_REFCLK_SEL_OSC_25M (0 << 16)
|
||||
#define FRAC_PLL_REFCLK_SEL_OSC_27M BIT(16)
|
||||
#define FRAC_PLL_REFCLK_SEL_HDMI_PHY_27M (2 << 16)
|
||||
#define FRAC_PLL_REFCLK_SEL_CLK_PN (3 << 16)
|
||||
|
||||
#define FRAC_PLL_FRAC_DIV_CTL_MASK (0x1ffffff << 7)
|
||||
#define FRAC_PLL_FRAC_DIV_CTL_SHIFT 7
|
||||
#define FRAC_PLL_INT_DIV_CTL_MASK 0x7f
|
||||
#define FRAC_PLL_INT_DIV_CTL_VAL(n) ((n) & 0x7f)
|
||||
|
||||
/* SYS PLL1/2/3 VIDEO PLL2 DRAM PLL */
|
||||
#define SSCG_PLL_LOCK_MASK BIT(31)
|
||||
#define SSCG_PLL_CLKE_MASK BIT(25)
|
||||
#define SSCG_PLL_DIV2_CLKE_MASK BIT(23)
|
||||
#define SSCG_PLL_DIV3_CLKE_MASK BIT(21)
|
||||
#define SSCG_PLL_DIV4_CLKE_MASK BIT(19)
|
||||
#define SSCG_PLL_DIV5_CLKE_MASK BIT(17)
|
||||
#define SSCG_PLL_DIV6_CLKE_MASK BIT(15)
|
||||
#define SSCG_PLL_DIV8_CLKE_MASK BIT(13)
|
||||
#define SSCG_PLL_DIV10_CLKE_MASK BIT(11)
|
||||
#define SSCG_PLL_DIV20_CLKE_MASK BIT(9)
|
||||
#define SSCG_PLL_VIDEO_PLL2_CLKE_MASK BIT(9)
|
||||
#define SSCG_PLL_DRAM_PLL_CLKE_MASK BIT(9)
|
||||
#define SSCG_PLL_PLL3_CLKE_MASK BIT(9)
|
||||
#define SSCG_PLL_PD_MASK BIT(7)
|
||||
#define SSCG_PLL_BYPASS1_MASK BIT(5)
|
||||
#define SSCG_PLL_BYPASS2_MASK BIT(4)
|
||||
#define SSCG_PLL_LOCK_SEL_MASK BIT(3)
|
||||
#define SSCG_PLL_COUNTCLK_SEL_MASK BIT(2)
|
||||
#define SSCG_PLL_REFCLK_SEL_MASK 0x3
|
||||
#define SSCG_PLL_REFCLK_SEL_OSC_25M (0 << 16)
|
||||
#define SSCG_PLL_REFCLK_SEL_OSC_27M BIT(16)
|
||||
#define SSCG_PLL_REFCLK_SEL_HDMI_PHY_27M (2 << 16)
|
||||
#define SSCG_PLL_REFCLK_SEL_CLK_PN (3 << 16)
|
||||
|
||||
#define SSCG_PLL_SSDS_MASK BIT(8)
|
||||
#define SSCG_PLL_SSMD_MASK (0x7 << 5)
|
||||
#define SSCG_PLL_SSMF_MASK (0xf << 1)
|
||||
#define SSCG_PLL_SSE_MASK 0x1
|
||||
|
||||
#define SSCG_PLL_REF_DIVR1_MASK (0x7 << 25)
|
||||
#define SSCG_PLL_REF_DIVR1_SHIFT 25
|
||||
#define SSCG_PLL_REF_DIVR1_VAL(n) (((n) << 25) & SSCG_PLL_REF_DIVR1_MASK)
|
||||
#define SSCG_PLL_REF_DIVR2_MASK (0x3f << 19)
|
||||
#define SSCG_PLL_REF_DIVR2_SHIFT 19
|
||||
#define SSCG_PLL_REF_DIVR2_VAL(n) (((n) << 19) & SSCG_PLL_REF_DIVR2_MASK)
|
||||
#define SSCG_PLL_FEEDBACK_DIV_F1_MASK (0x3f << 13)
|
||||
#define SSCG_PLL_FEEDBACK_DIV_F1_SHIFT 13
|
||||
#define SSCG_PLL_FEEDBACK_DIV_F1_VAL(n) (((n) << 13) & \
|
||||
SSCG_PLL_FEEDBACK_DIV_F1_MASK)
|
||||
#define SSCG_PLL_FEEDBACK_DIV_F2_MASK (0x3f << 7)
|
||||
#define SSCG_PLL_FEEDBACK_DIV_F2_SHIFT 7
|
||||
#define SSCG_PLL_FEEDBACK_DIV_F2_VAL(n) (((n) << 7) & \
|
||||
SSCG_PLL_FEEDBACK_DIV_F2_MASK)
|
||||
#define SSCG_PLL_OUTPUT_DIV_VAL_MASK (0x3f << 1)
|
||||
#define SSCG_PLL_OUTPUT_DIV_VAL_SHIFT 1
|
||||
#define SSCG_PLL_OUTPUT_DIV_VAL(n) (((n) << 1) & \
|
||||
SSCG_PLL_OUTPUT_DIV_VAL_MASK)
|
||||
#define SSCG_PLL_FILTER_RANGE_MASK 0x1
|
||||
|
||||
#define HW_DIGPROG_MAJOR_UPPER_MASK (0xff << 16)
|
||||
#define HW_DIGPROG_MAJOR_LOWER_MASK (0xff << 8)
|
||||
#define HW_DIGPROG_MINOR_MASK 0xff
|
||||
|
||||
#define HW_OSC_27M_CLKE_MASK BIT(4)
|
||||
#define HW_OSC_25M_CLKE_MASK BIT(2)
|
||||
#define HW_OSC_32K_SEL_MASK 0x1
|
||||
#define HW_OSC_32K_SEL_RTC 0x1
|
||||
#define HW_OSC_32K_SEL_25M_DIV800 0x0
|
||||
|
||||
#define HW_FRAC_ARM_PLL_DIV_MASK (0x7 << 20)
|
||||
#define HW_FRAC_ARM_PLL_DIV_SHIFT 20
|
||||
#define HW_FRAC_VPU_PLL_DIV_MASK (0x7 << 16)
|
||||
#define HW_FRAC_VPU_PLL_DIV_SHIFT 16
|
||||
#define HW_FRAC_GPU_PLL_DIV_MASK (0x7 << 12)
|
||||
#define HW_FRAC_GPU_PLL_DIV_SHIFT 12
|
||||
#define HW_FRAC_VIDEO_PLL1_DIV_MASK (0x7 << 10)
|
||||
#define HW_FRAC_VIDEO_PLL1_DIV_SHIFT 10
|
||||
#define HW_FRAC_AUDIO_PLL2_DIV_MASK (0x7 << 4)
|
||||
#define HW_FRAC_AUDIO_PLL2_DIV_SHIFT 4
|
||||
#define HW_FRAC_AUDIO_PLL1_DIV_MASK 0x7
|
||||
#define HW_FRAC_AUDIO_PLL1_DIV_SHIFT 0
|
||||
|
||||
#define HW_SSCG_VIDEO_PLL2_DIV_MASK (0x7 << 16)
|
||||
#define HW_SSCG_VIDEO_PLL2_DIV_SHIFT 16
|
||||
#define HW_SSCG_DRAM_PLL_DIV_MASK (0x7 << 14)
|
||||
#define HW_SSCG_DRAM_PLL_DIV_SHIFT 14
|
||||
#define HW_SSCG_SYSTEM_PLL3_DIV_MASK (0x7 << 8)
|
||||
#define HW_SSCG_SYSTEM_PLL3_DIV_SHIFT 8
|
||||
#define HW_SSCG_SYSTEM_PLL2_DIV_MASK (0x7 << 4)
|
||||
#define HW_SSCG_SYSTEM_PLL2_DIV_SHIFT 4
|
||||
#define HW_SSCG_SYSTEM_PLL1_DIV_MASK 0x7
|
||||
#define HW_SSCG_SYSTEM_PLL1_DIV_SHIFT 0
|
||||
|
||||
#define ENET1_REF_CLK_ROOT_FROM_PLL_ENET_MAIN_125M_CLK 0x01000000
|
||||
#define ENET1_REF_CLK_ROOT_FROM_PLL_ENET_MAIN_50M_CLK 0x02000000
|
||||
#define ENET1_REF_CLK_ROOT_FROM_PLL_ENET_MAIN_25M_CLK 0x03000000
|
||||
#define ENET_AXI_CLK_ROOT_FROM_PLL_SYS_PFD4_CLK 0x07000000
|
||||
#define ENET_AXI_CLK_ROOT_FROM_SYS1_PLL_266M 0x01000000
|
||||
#define ENET1_TIME_CLK_ROOT_FROM_PLL_ENET_MAIN_100M_CLK 0x01000000
|
||||
#define ENET_PHY_REF_CLK_ROOT_FROM_PLL_ENET_MAIN_25M_CLK 0x01000000
|
||||
|
||||
enum enet_freq {
|
||||
ENET_25MHZ = 0,
|
||||
ENET_50MHZ,
|
||||
ENET_125MHZ,
|
||||
};
|
||||
|
||||
enum frac_pll_out_val {
|
||||
FRAC_PLL_OUT_1000M,
|
||||
FRAC_PLL_OUT_1600M,
|
||||
};
|
||||
|
||||
u32 imx_get_fecclk(void);
|
||||
u32 imx_get_uartclk(void);
|
||||
int clock_init(void);
|
||||
void init_clk_usdhc(u32 index);
|
||||
void init_uart_clk(u32 index);
|
||||
void init_wdog_clk(void);
|
||||
unsigned int mxc_get_clock(enum clk_root_index clk);
|
||||
int clock_enable(enum clk_ccgr_index index, bool enable);
|
||||
int clock_root_enabled(enum clk_root_index clock_id);
|
||||
int clock_root_cfg(enum clk_root_index clock_id, enum root_pre_div pre_div,
|
||||
enum root_post_div post_div, enum clk_root_src clock_src);
|
||||
int clock_set_target_val(enum clk_root_index clock_id, u32 val);
|
||||
int clock_get_target_val(enum clk_root_index clock_id, u32 *val);
|
||||
int clock_get_prediv(enum clk_root_index clock_id, enum root_pre_div *pre_div);
|
||||
int clock_get_postdiv(enum clk_root_index clock_id,
|
||||
enum root_post_div *post_div);
|
||||
int clock_get_src(enum clk_root_index clock_id, enum clk_root_src *p_clock_src);
|
||||
void mxs_set_lcdclk(u32 base_addr, u32 freq);
|
||||
int set_clk_qspi(void);
|
||||
void enable_ocotp_clk(unsigned char enable);
|
||||
int enable_i2c_clk(unsigned char enable, unsigned int i2c_num);
|
||||
int set_clk_enet(enum enet_freq type);
|
||||
#endif
|
||||
10
arch/arm/include/asm/arch-mx8m/crm_regs.h
Normal file
10
arch/arm/include/asm/arch-mx8m/crm_regs.h
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef _ASM_ARCH_MX8M_CRM_REGS_H
|
||||
#define _ASM_ARCH_MX8M_CRM_REGS_H
|
||||
/* Dummy header, some imx-common code needs this file */
|
||||
#endif
|
||||
356
arch/arm/include/asm/arch-mx8m/ddr.h
Normal file
356
arch/arm/include/asm/arch-mx8m/ddr.h
Normal file
@@ -0,0 +1,356 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MX8M_DDR_H
|
||||
#define __ASM_ARCH_MX8M_DDR_H
|
||||
|
||||
#define DDRC_DDR_SS_GPR0 0x3d000000
|
||||
#define DDRC_IPS_BASE_ADDR_0 0x3f400000
|
||||
#define IP2APB_DDRPHY_IPS_BASE_ADDR(X) (0x3c000000 + (X * 0x2000000))
|
||||
#define DDRPHY_MEM(X) (0x3c000000 + (X * 0x2000000) + 0x50000)
|
||||
|
||||
struct ddrc_freq {
|
||||
u32 res0[8];
|
||||
u32 derateen;
|
||||
u32 derateint;
|
||||
u32 res1[10];
|
||||
u32 rfshctl0;
|
||||
u32 res2[4];
|
||||
u32 rfshtmg;
|
||||
u32 rfshtmg1;
|
||||
u32 res3[28];
|
||||
u32 init3;
|
||||
u32 init4;
|
||||
u32 res;
|
||||
u32 init6;
|
||||
u32 init7;
|
||||
u32 res4[4];
|
||||
u32 dramtmg0;
|
||||
u32 dramtmg1;
|
||||
u32 dramtmg2;
|
||||
u32 dramtmg3;
|
||||
u32 dramtmg4;
|
||||
u32 dramtmg5;
|
||||
u32 dramtmg6;
|
||||
u32 dramtmg7;
|
||||
u32 dramtmg8;
|
||||
u32 dramtmg9;
|
||||
u32 dramtmg10;
|
||||
u32 dramtmg11;
|
||||
u32 dramtmg12;
|
||||
u32 dramtmg13;
|
||||
u32 dramtmg14;
|
||||
u32 dramtmg15;
|
||||
u32 dramtmg16;
|
||||
u32 dramtmg17;
|
||||
u32 res5[10];
|
||||
u32 mramtmg0;
|
||||
u32 mramtmg1;
|
||||
u32 mramtmg4;
|
||||
u32 mramtmg9;
|
||||
u32 zqctl0;
|
||||
u32 res6[3];
|
||||
u32 dfitmg0;
|
||||
u32 dfitmg1;
|
||||
u32 res7[7];
|
||||
u32 dfitmg2;
|
||||
u32 dfitmg3;
|
||||
u32 res8[33];
|
||||
u32 odtcfg;
|
||||
};
|
||||
|
||||
struct imx8m_ddrc_regs {
|
||||
u32 mstr;
|
||||
u32 stat;
|
||||
u32 mstr1;
|
||||
u32 res1;
|
||||
u32 mrctrl0;
|
||||
u32 mrctrl1;
|
||||
u32 mrstat;
|
||||
u32 mrctrl2;
|
||||
u32 derateen;
|
||||
u32 derateint;
|
||||
u32 mstr2;
|
||||
u32 res2;
|
||||
u32 pwrctl;
|
||||
u32 pwrtmg;
|
||||
u32 hwlpctl;
|
||||
u32 hwffcctl;
|
||||
u32 hwffcstat;
|
||||
u32 res3[3];
|
||||
u32 rfshctl0;
|
||||
u32 rfshctl1;
|
||||
u32 rfshctl2;
|
||||
u32 rfshctl4;
|
||||
u32 rfshctl3;
|
||||
u32 rfshtmg;
|
||||
u32 rfshtmg1;
|
||||
u32 res4;
|
||||
u32 ecccfg0;
|
||||
u32 ecccfg1;
|
||||
u32 eccstat;
|
||||
u32 eccclr;
|
||||
u32 eccerrcnt;
|
||||
u32 ecccaddr0;
|
||||
u32 ecccaddr1;
|
||||
u32 ecccsyn0;
|
||||
u32 ecccsyn1;
|
||||
u32 ecccsyn2;
|
||||
u32 eccbitmask0;
|
||||
u32 eccbitmask1;
|
||||
u32 eccbitmask2;
|
||||
u32 eccuaddr0;
|
||||
u32 eccuaddr1;
|
||||
u32 eccusyn0;
|
||||
u32 eccusyn1;
|
||||
u32 eccusyn2;
|
||||
u32 eccpoisonaddr0;
|
||||
u32 eccpoisonaddr1;
|
||||
u32 crcparctl0;
|
||||
u32 crcparctl1;
|
||||
u32 crcparctl2;
|
||||
u32 crcparstat;
|
||||
u32 init0;
|
||||
u32 init1;
|
||||
u32 init2;
|
||||
u32 init3;
|
||||
u32 init4;
|
||||
u32 init5;
|
||||
u32 init6;
|
||||
u32 init7;
|
||||
u32 dimmctl;
|
||||
u32 rankctl;
|
||||
u32 res5;
|
||||
u32 chctl;
|
||||
u32 dramtmg0;
|
||||
u32 dramtmg1;
|
||||
u32 dramtmg2;
|
||||
u32 dramtmg3;
|
||||
u32 dramtmg4;
|
||||
u32 dramtmg5;
|
||||
u32 dramtmg6;
|
||||
u32 dramtmg7;
|
||||
u32 dramtmg8;
|
||||
u32 dramtmg9;
|
||||
u32 dramtmg10;
|
||||
u32 dramtmg11;
|
||||
u32 dramtmg12;
|
||||
u32 dramtmg13;
|
||||
u32 dramtmg14;
|
||||
u32 dramtmg15;
|
||||
u32 dramtmg16;
|
||||
u32 dramtmg17;
|
||||
u32 res6[10];
|
||||
u32 mramtmg0;
|
||||
u32 mramtmg1;
|
||||
u32 mramtmg4;
|
||||
u32 mramtmg9;
|
||||
u32 zqctl0;
|
||||
u32 zqctl1;
|
||||
u32 zqctl2;
|
||||
u32 zqstat;
|
||||
u32 dfitmg0;
|
||||
u32 dfitmg1;
|
||||
u32 dfilpcfg0;
|
||||
u32 dfilpcfg1;
|
||||
u32 dfiupd0;
|
||||
u32 dfiupd1;
|
||||
u32 dfiupd2;
|
||||
u32 res7;
|
||||
u32 dfimisc;
|
||||
u32 dfitmg2;
|
||||
u32 dfitmg3;
|
||||
u32 dfistat;
|
||||
u32 dbictl;
|
||||
u32 dfiphymstr;
|
||||
u32 res8[14];
|
||||
u32 addrmap0;
|
||||
u32 addrmap1;
|
||||
u32 addrmap2;
|
||||
u32 addrmap3;
|
||||
u32 addrmap4;
|
||||
u32 addrmap5;
|
||||
u32 addrmap6;
|
||||
u32 addrmap7;
|
||||
u32 addrmap8;
|
||||
u32 addrmap9;
|
||||
u32 addrmap10;
|
||||
u32 addrmap11;
|
||||
u32 res9[4];
|
||||
u32 odtcfg;
|
||||
u32 odtmap;
|
||||
u32 res10[2];
|
||||
u32 sched;
|
||||
u32 sched1;
|
||||
u32 sched2;
|
||||
u32 perfhpr1;
|
||||
u32 res11;
|
||||
u32 perflpr1;
|
||||
u32 res12;
|
||||
u32 perfwr1;
|
||||
u32 res13[4];
|
||||
u32 dqmap0;
|
||||
u32 dqmap1;
|
||||
u32 dqmap2;
|
||||
u32 dqmap3;
|
||||
u32 dqmap4;
|
||||
u32 dqmap5;
|
||||
u32 res14[26];
|
||||
u32 dbg0;
|
||||
u32 dbg1;
|
||||
u32 dbgcam;
|
||||
u32 dbgcmd;
|
||||
u32 dbgstat;
|
||||
u32 res15[3];
|
||||
u32 swctl;
|
||||
u32 swstat;
|
||||
u32 res16[2];
|
||||
u32 ocparcfg0;
|
||||
u32 ocparcfg1;
|
||||
u32 ocparcfg2;
|
||||
u32 ocparcfg3;
|
||||
u32 ocparstat0;
|
||||
u32 ocparstat1;
|
||||
u32 ocparwlog0;
|
||||
u32 ocparwlog1;
|
||||
u32 ocparwlog2;
|
||||
u32 ocparawlog0;
|
||||
u32 ocparawlog1;
|
||||
u32 ocparrlog0;
|
||||
u32 ocparrlog1;
|
||||
u32 ocpararlog0;
|
||||
u32 ocpararlog1;
|
||||
u32 poisoncfg;
|
||||
u32 poisonstat;
|
||||
u32 adveccindex;
|
||||
union {
|
||||
u32 adveccstat;
|
||||
u32 eccapstat;
|
||||
};
|
||||
u32 eccpoisonpat0;
|
||||
u32 eccpoisonpat1;
|
||||
u32 eccpoisonpat2;
|
||||
u32 res17[6];
|
||||
u32 caparpoisonctl;
|
||||
u32 caparpoisonstat;
|
||||
u32 res18[2];
|
||||
u32 dynbsmstat;
|
||||
u32 res19[18];
|
||||
u32 pstat;
|
||||
u32 pccfg;
|
||||
struct {
|
||||
u32 pcfgr;
|
||||
u32 pcfgw;
|
||||
u32 pcfgc;
|
||||
struct {
|
||||
u32 pcfgidmaskch0;
|
||||
u32 pcfidvaluech0;
|
||||
} pcfgid[16];
|
||||
u32 pctrl;
|
||||
u32 pcfgqos0;
|
||||
u32 pcfgqos1;
|
||||
u32 pcfgwqos0;
|
||||
u32 pcfgwqos1;
|
||||
u32 res[4];
|
||||
} pcfg[16];
|
||||
struct {
|
||||
u32 sarbase;
|
||||
u32 sarsize;
|
||||
} sar[4];
|
||||
u32 sbrctl;
|
||||
u32 sbrstat;
|
||||
u32 sbrwdata0;
|
||||
u32 sbrwdata1;
|
||||
u32 pdch;
|
||||
u32 res20[755];
|
||||
/* umctl2_regs_dch1 */
|
||||
u32 ch1_stat;
|
||||
u32 res21[2];
|
||||
u32 ch1_mrctrl0;
|
||||
u32 ch1_mrctrl1;
|
||||
u32 ch1_mrstat;
|
||||
u32 ch1_mrctrl2;
|
||||
u32 res22[4];
|
||||
u32 ch1_pwrctl;
|
||||
u32 ch1_pwrtmg;
|
||||
u32 ch1_hwlpctl;
|
||||
u32 res23[15];
|
||||
u32 ch1_eccstat;
|
||||
u32 ch1_eccclr;
|
||||
u32 ch1_eccerrcnt;
|
||||
u32 ch1_ecccaddr0;
|
||||
u32 ch1_ecccaddr1;
|
||||
u32 ch1_ecccsyn0;
|
||||
u32 ch1_ecccsyn1;
|
||||
u32 ch1_ecccsyn2;
|
||||
u32 ch1_eccbitmask0;
|
||||
u32 ch1_eccbitmask1;
|
||||
u32 ch1_eccbitmask2;
|
||||
u32 ch1_eccuaddr0;
|
||||
u32 ch1_eccuaddr1;
|
||||
u32 ch1_eccusyn0;
|
||||
u32 ch1_eccusyn1;
|
||||
u32 ch1_eccusyn2;
|
||||
u32 res24[2];
|
||||
u32 ch1_crcparctl0;
|
||||
u32 res25[2];
|
||||
u32 ch1_crcparstat;
|
||||
u32 res26[46];
|
||||
u32 ch1_zqctl2;
|
||||
u32 ch1_zqstat;
|
||||
u32 res27[11];
|
||||
u32 ch1_dfistat;
|
||||
u32 res28[33];
|
||||
u32 ch1_odtmap;
|
||||
u32 res29[47];
|
||||
u32 ch1_dbg1;
|
||||
u32 ch1_dbgcam;
|
||||
u32 ch1_dbgcmd;
|
||||
u32 ch1_dbgstat;
|
||||
u32 res30[123];
|
||||
/* umctl2_regs_freq1 */
|
||||
struct ddrc_freq freq1;
|
||||
u32 res31[109];
|
||||
/* umctl2_regs_addrmap_alt */
|
||||
u32 addrmap0_alt;
|
||||
u32 addrmap1_alt;
|
||||
u32 addrmap2_alt;
|
||||
u32 addrmap3_alt;
|
||||
u32 addrmap4_alt;
|
||||
u32 addrmap5_alt;
|
||||
u32 addrmap6_alt;
|
||||
u32 addrmap7_alt;
|
||||
u32 addrmap8_alt;
|
||||
u32 addrmap9_alt;
|
||||
u32 addrmap10_alt;
|
||||
u32 addrmap11_alt;
|
||||
u32 res32[758];
|
||||
/* umctl2_regs_freq2 */
|
||||
struct ddrc_freq freq2;
|
||||
u32 res33[879];
|
||||
/* umctl2_regs_freq3 */
|
||||
struct ddrc_freq freq3;
|
||||
};
|
||||
|
||||
struct imx8m_ddrphy_regs {
|
||||
u32 reg[0xf0000];
|
||||
};
|
||||
|
||||
/* PHY State */
|
||||
enum pstate {
|
||||
PS0,
|
||||
PS1,
|
||||
PS2,
|
||||
PS3,
|
||||
};
|
||||
|
||||
enum msg_response {
|
||||
TRAIN_SUCCESS = 0x7,
|
||||
TRAIN_STREAM_START = 0x8,
|
||||
TRAIN_FAIL = 0xff,
|
||||
};
|
||||
|
||||
#endif
|
||||
12
arch/arm/include/asm/arch-mx8m/gpio.h
Normal file
12
arch/arm/include/asm/arch-mx8m/gpio.h
Normal file
@@ -0,0 +1,12 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MX8M_GPIO_H
|
||||
#define __ASM_ARCH_MX8M_GPIO_H
|
||||
|
||||
#include <asm/mach-imx/gpio.h>
|
||||
|
||||
#endif
|
||||
468
arch/arm/include/asm/arch-mx8m/imx-regs.h
Normal file
468
arch/arm/include/asm/arch-mx8m/imx-regs.h
Normal file
@@ -0,0 +1,468 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MX8M_REGS_H__
|
||||
#define __ASM_ARCH_MX8M_REGS_H__
|
||||
|
||||
#include <asm/mach-imx/regs-lcdif.h>
|
||||
|
||||
#define ROM_VERSION_A0 0x800
|
||||
#define ROM_VERSION_B0 0x83C
|
||||
|
||||
#define M4_BOOTROM_BASE_ADDR 0x007E0000
|
||||
|
||||
#define SAI1_BASE_ADDR 0x30010000
|
||||
#define SAI6_BASE_ADDR 0x30030000
|
||||
#define SAI5_BASE_ADDR 0x30040000
|
||||
#define SAI4_BASE_ADDR 0x30050000
|
||||
#define SPBA2_BASE_ADDR 0x300F0000
|
||||
#define AIPS1_BASE_ADDR 0x301F0000
|
||||
#define GPIO1_BASE_ADDR 0X30200000
|
||||
#define GPIO2_BASE_ADDR 0x30210000
|
||||
#define GPIO3_BASE_ADDR 0x30220000
|
||||
#define GPIO4_BASE_ADDR 0x30230000
|
||||
#define GPIO5_BASE_ADDR 0x30240000
|
||||
#define ANA_TSENSOR_BASE_ADDR 0x30260000
|
||||
#define ANA_OSC_BASE_ADDR 0x30270000
|
||||
#define WDOG1_BASE_ADDR 0x30280000
|
||||
#define WDOG2_BASE_ADDR 0x30290000
|
||||
#define WDOG3_BASE_ADDR 0x302A0000
|
||||
#define SDMA2_BASE_ADDR 0x302C0000
|
||||
#define GPT1_BASE_ADDR 0x302D0000
|
||||
#define GPT2_BASE_ADDR 0x302E0000
|
||||
#define GPT3_BASE_ADDR 0x302F0000
|
||||
#define ROMCP_BASE_ADDR 0x30310000
|
||||
#define LCDIF_BASE_ADDR 0x30320000
|
||||
#define IOMUXC_BASE_ADDR 0x30330000
|
||||
#define IOMUXC_GPR_BASE_ADDR 0x30340000
|
||||
#define OCOTP_BASE_ADDR 0x30350000
|
||||
#define ANATOP_BASE_ADDR 0x30360000
|
||||
#define SNVS_HP_BASE_ADDR 0x30370000
|
||||
#define CCM_BASE_ADDR 0x30380000
|
||||
#define SRC_BASE_ADDR 0x30390000
|
||||
#define GPC_BASE_ADDR 0x303A0000
|
||||
#define SEMAPHORE1_BASE_ADDR 0x303B0000
|
||||
#define SEMAPHORE2_BASE_ADDR 0x303C0000
|
||||
#define RDC_BASE_ADDR 0x303D0000
|
||||
#define CSU_BASE_ADDR 0x303E0000
|
||||
|
||||
#define AIPS2_BASE_ADDR 0x305F0000
|
||||
#define PWM1_BASE_ADDR 0x30660000
|
||||
#define PWM2_BASE_ADDR 0x30670000
|
||||
#define PWM3_BASE_ADDR 0x30680000
|
||||
#define PWM4_BASE_ADDR 0x30690000
|
||||
#define SYSCNT_RD_BASE_ADDR 0x306A0000
|
||||
#define SYSCNT_CMP_BASE_ADDR 0x306B0000
|
||||
#define SYSCNT_CTRL_BASE_ADDR 0x306C0000
|
||||
#define GPT6_BASE_ADDR 0x306E0000
|
||||
#define GPT5_BASE_ADDR 0x306F0000
|
||||
#define GPT4_BASE_ADDR 0x30700000
|
||||
#define PERFMON1_BASE_ADDR 0x307C0000
|
||||
#define PERFMON2_BASE_ADDR 0x307D0000
|
||||
#define QOSC_BASE_ADDR 0x307F0000
|
||||
|
||||
#define SPDIF1_BASE_ADDR 0x30810000
|
||||
#define ECSPI1_BASE_ADDR 0x30820000
|
||||
#define ECSPI2_BASE_ADDR 0x30830000
|
||||
#define ECSPI3_BASE_ADDR 0x30840000
|
||||
#define UART1_BASE_ADDR 0x30860000
|
||||
#define UART3_BASE_ADDR 0x30880000
|
||||
#define UART2_BASE_ADDR 0x30890000
|
||||
#define SPDIF2_BASE_ADDR 0x308A0000
|
||||
#define SAI2_BASE_ADDR 0x308B0000
|
||||
#define SAI3_BASE_ADDR 0x308C0000
|
||||
#define SPBA1_BASE_ADDR 0x308F0000
|
||||
#define CAAM_BASE_ADDR 0x30900000
|
||||
#define AIPS3_BASE_ADDR 0x309F0000
|
||||
#define MIPI_PHY_BASE_ADDR 0x30A00000
|
||||
#define MIPI_DSI_BASE_ADDR 0x30A10000
|
||||
#define I2C1_BASE_ADDR 0x30A20000
|
||||
#define I2C2_BASE_ADDR 0x30A30000
|
||||
#define I2C3_BASE_ADDR 0x30A40000
|
||||
#define I2C4_BASE_ADDR 0x30A50000
|
||||
#define UART4_BASE_ADDR 0x30A60000
|
||||
#define MIPI_CSI_BASE_ADDR 0x30A70000
|
||||
#define MIPI_CSI_PHY1_BASE_ADDR 0x30A80000
|
||||
#define CSI1_BASE_ADDR 0x30A90000
|
||||
#define MU_A_BASE_ADDR 0x30AA0000
|
||||
#define MU_B_BASE_ADDR 0x30AB0000
|
||||
#define SEMAPHOR_HS_BASE_ADDR 0x30AC0000
|
||||
#define USDHC1_BASE_ADDR 0x30B40000
|
||||
#define USDHC2_BASE_ADDR 0x30B50000
|
||||
#define MIPI_CS2_BASE_ADDR 0x30B60000
|
||||
#define MIPI_CSI_PHY2_BASE_ADDR 0x30B70000
|
||||
#define CSI2_BASE_ADDR 0x30B80000
|
||||
#define QSPI0_BASE_ADDR 0x30BB0000
|
||||
#define QSPI0_AMBA_BASE 0x08000000
|
||||
#define SDMA1_BASE_ADDR 0x30BD0000
|
||||
#define ENET1_BASE_ADDR 0x30BE0000
|
||||
|
||||
#define HDMI_CTRL_BASE_ADDR 0x32C00000
|
||||
#define AIPS4_BASE_ADDR 0x32DF0000
|
||||
#define DC1_BASE_ADDR 0x32E00000
|
||||
#define DC2_BASE_ADDR 0x32E10000
|
||||
#define DC3_BASE_ADDR 0x32E20000
|
||||
#define HDMI_SEC_BASE_ADDR 0x32E40000
|
||||
#define TZASC_BASE_ADDR 0x32F80000
|
||||
#define MTR_BASE_ADDR 0x32FB0000
|
||||
#define PLATFORM_CTRL_BASE_ADDR 0x32FE0000
|
||||
|
||||
#define MXS_APBH_BASE 0x33000000
|
||||
#define MXS_GPMI_BASE 0x33002000
|
||||
#define MXS_BCH_BASE 0x33004000
|
||||
|
||||
#define USB1_BASE_ADDR 0x38100000
|
||||
#define USB2_BASE_ADDR 0x38200000
|
||||
#define USB1_PHY_BASE_ADDR 0x381F0000
|
||||
#define USB2_PHY_BASE_ADDR 0x382F0000
|
||||
|
||||
#define MXS_LCDIF_BASE LCDIF_BASE_ADDR
|
||||
|
||||
#define SRC_IPS_BASE_ADDR 0x30390000
|
||||
#define SRC_DDRC_RCR_ADDR 0x30391000
|
||||
#define SRC_DDRC2_RCR_ADDR 0x30391004
|
||||
|
||||
#define DDRC_DDR_SS_GPR0 0x3d000000
|
||||
#define DDRC_IPS_BASE_ADDR(X) (0x3d400000 + ((X) * 0x2000000))
|
||||
#define DDR_CSD1_BASE_ADDR 0x40000000
|
||||
|
||||
#if !defined(__ASSEMBLY__)
|
||||
#include <asm/types.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#define GPR_TZASC_EN BIT(0)
|
||||
#define GPR_TZASC_EN_LOCK BIT(16)
|
||||
|
||||
#define SRC_SCR_M4_ENABLE_OFFSET 3
|
||||
#define SRC_SCR_M4_ENABLE_MASK BIT(3)
|
||||
#define SRC_SCR_M4C_NON_SCLR_RST_OFFSET 0
|
||||
#define SRC_SCR_M4C_NON_SCLR_RST_MASK BIT(0)
|
||||
#define SRC_DDR1_ENABLE_MASK 0x8F000000UL
|
||||
#define SRC_DDR2_ENABLE_MASK 0x8F000000UL
|
||||
#define SRC_DDR1_RCR_PHY_PWROKIN_N_MASK BIT(3)
|
||||
#define SRC_DDR1_RCR_PHY_RESET_MASK BIT(2)
|
||||
#define SRC_DDR1_RCR_CORE_RESET_N_MASK BIT(1)
|
||||
#define SRC_DDR1_RCR_PRESET_N_MASK BIT(0)
|
||||
|
||||
struct iomuxc_gpr_base_regs {
|
||||
u32 gpr[47];
|
||||
};
|
||||
|
||||
struct ocotp_regs {
|
||||
u32 ctrl;
|
||||
u32 ctrl_set;
|
||||
u32 ctrl_clr;
|
||||
u32 ctrl_tog;
|
||||
u32 timing;
|
||||
u32 rsvd0[3];
|
||||
u32 data;
|
||||
u32 rsvd1[3];
|
||||
u32 read_ctrl;
|
||||
u32 rsvd2[3];
|
||||
u32 read_fuse_data;
|
||||
u32 rsvd3[3];
|
||||
u32 sw_sticky;
|
||||
u32 rsvd4[3];
|
||||
u32 scs;
|
||||
u32 scs_set;
|
||||
u32 scs_clr;
|
||||
u32 scs_tog;
|
||||
u32 crc_addr;
|
||||
u32 rsvd5[3];
|
||||
u32 crc_value;
|
||||
u32 rsvd6[3];
|
||||
u32 version;
|
||||
u32 rsvd7[0xdb];
|
||||
|
||||
/* fuse banks */
|
||||
struct fuse_bank {
|
||||
u32 fuse_regs[0x10];
|
||||
} bank[0];
|
||||
};
|
||||
|
||||
struct fuse_bank0_regs {
|
||||
u32 lock;
|
||||
u32 rsvd0[3];
|
||||
u32 uid_low;
|
||||
u32 rsvd1[3];
|
||||
u32 uid_high;
|
||||
u32 rsvd2[7];
|
||||
};
|
||||
|
||||
struct fuse_bank1_regs {
|
||||
u32 tester3;
|
||||
u32 rsvd0[3];
|
||||
u32 tester4;
|
||||
u32 rsvd1[3];
|
||||
u32 tester5;
|
||||
u32 rsvd2[3];
|
||||
u32 cfg0;
|
||||
u32 rsvd3[3];
|
||||
};
|
||||
|
||||
struct anamix_pll {
|
||||
u32 audio_pll1_cfg0;
|
||||
u32 audio_pll1_cfg1;
|
||||
u32 audio_pll2_cfg0;
|
||||
u32 audio_pll2_cfg1;
|
||||
u32 video_pll_cfg0;
|
||||
u32 video_pll_cfg1;
|
||||
u32 gpu_pll_cfg0;
|
||||
u32 gpu_pll_cfg1;
|
||||
u32 vpu_pll_cfg0;
|
||||
u32 vpu_pll_cfg1;
|
||||
u32 arm_pll_cfg0;
|
||||
u32 arm_pll_cfg1;
|
||||
u32 sys_pll1_cfg0;
|
||||
u32 sys_pll1_cfg1;
|
||||
u32 sys_pll1_cfg2;
|
||||
u32 sys_pll2_cfg0;
|
||||
u32 sys_pll2_cfg1;
|
||||
u32 sys_pll2_cfg2;
|
||||
u32 sys_pll3_cfg0;
|
||||
u32 sys_pll3_cfg1;
|
||||
u32 sys_pll3_cfg2;
|
||||
u32 video_pll2_cfg0;
|
||||
u32 video_pll2_cfg1;
|
||||
u32 video_pll2_cfg2;
|
||||
u32 dram_pll_cfg0;
|
||||
u32 dram_pll_cfg1;
|
||||
u32 dram_pll_cfg2;
|
||||
u32 digprog;
|
||||
u32 osc_misc_cfg;
|
||||
u32 pllout_monitor_cfg;
|
||||
u32 frac_pllout_div_cfg;
|
||||
u32 sscg_pllout_div_cfg;
|
||||
};
|
||||
|
||||
struct fuse_bank9_regs {
|
||||
u32 mac_addr0;
|
||||
u32 rsvd0[3];
|
||||
u32 mac_addr1;
|
||||
u32 rsvd1[11];
|
||||
};
|
||||
|
||||
/* System Reset Controller (SRC) */
|
||||
struct src {
|
||||
u32 scr;
|
||||
u32 a53rcr;
|
||||
u32 a53rcr1;
|
||||
u32 m4rcr;
|
||||
u32 reserved1[4];
|
||||
u32 usbophy1_rcr;
|
||||
u32 usbophy2_rcr;
|
||||
u32 mipiphy_rcr;
|
||||
u32 pciephy_rcr;
|
||||
u32 hdmi_rcr;
|
||||
u32 disp_rcr;
|
||||
u32 reserved2[2];
|
||||
u32 gpu_rcr;
|
||||
u32 vpu_rcr;
|
||||
u32 pcie2_rcr;
|
||||
u32 mipiphy1_rcr;
|
||||
u32 mipiphy2_rcr;
|
||||
u32 reserved3;
|
||||
u32 sbmr1;
|
||||
u32 srsr;
|
||||
u32 reserved4[2];
|
||||
u32 sisr;
|
||||
u32 simr;
|
||||
u32 sbmr2;
|
||||
u32 gpr1;
|
||||
u32 gpr2;
|
||||
u32 gpr3;
|
||||
u32 gpr4;
|
||||
u32 gpr5;
|
||||
u32 gpr6;
|
||||
u32 gpr7;
|
||||
u32 gpr8;
|
||||
u32 gpr9;
|
||||
u32 gpr10;
|
||||
u32 reserved5[985];
|
||||
u32 ddr1_rcr;
|
||||
u32 ddr2_rcr;
|
||||
};
|
||||
|
||||
struct gpc_reg {
|
||||
u32 lpcr_bsc;
|
||||
u32 lpcr_ad;
|
||||
u32 lpcr_cpu1;
|
||||
u32 lpcr_cpu2;
|
||||
u32 lpcr_cpu3;
|
||||
u32 slpcr;
|
||||
u32 mst_cpu_mapping;
|
||||
u32 mmdc_cpu_mapping;
|
||||
u32 mlpcr;
|
||||
u32 pgc_ack_sel;
|
||||
u32 pgc_ack_sel_m4;
|
||||
u32 gpc_misc;
|
||||
u32 imr1_core0;
|
||||
u32 imr2_core0;
|
||||
u32 imr3_core0;
|
||||
u32 imr4_core0;
|
||||
u32 imr1_core1;
|
||||
u32 imr2_core1;
|
||||
u32 imr3_core1;
|
||||
u32 imr4_core1;
|
||||
u32 imr1_cpu1;
|
||||
u32 imr2_cpu1;
|
||||
u32 imr3_cpu1;
|
||||
u32 imr4_cpu1;
|
||||
u32 imr1_cpu3;
|
||||
u32 imr2_cpu3;
|
||||
u32 imr3_cpu3;
|
||||
u32 imr4_cpu3;
|
||||
u32 isr1_cpu0;
|
||||
u32 isr2_cpu0;
|
||||
u32 isr3_cpu0;
|
||||
u32 isr4_cpu0;
|
||||
u32 isr1_cpu1;
|
||||
u32 isr2_cpu1;
|
||||
u32 isr3_cpu1;
|
||||
u32 isr4_cpu1;
|
||||
u32 isr1_cpu2;
|
||||
u32 isr2_cpu2;
|
||||
u32 isr3_cpu2;
|
||||
u32 isr4_cpu2;
|
||||
u32 isr1_cpu3;
|
||||
u32 isr2_cpu3;
|
||||
u32 isr3_cpu3;
|
||||
u32 isr4_cpu3;
|
||||
u32 slt0_cfg;
|
||||
u32 slt1_cfg;
|
||||
u32 slt2_cfg;
|
||||
u32 slt3_cfg;
|
||||
u32 slt4_cfg;
|
||||
u32 slt5_cfg;
|
||||
u32 slt6_cfg;
|
||||
u32 slt7_cfg;
|
||||
u32 slt8_cfg;
|
||||
u32 slt9_cfg;
|
||||
u32 slt10_cfg;
|
||||
u32 slt11_cfg;
|
||||
u32 slt12_cfg;
|
||||
u32 slt13_cfg;
|
||||
u32 slt14_cfg;
|
||||
u32 pgc_cpu_0_1_mapping;
|
||||
u32 cpu_pgc_up_trg;
|
||||
u32 mix_pgc_up_trg;
|
||||
u32 pu_pgc_up_trg;
|
||||
u32 cpu_pgc_dn_trg;
|
||||
u32 mix_pgc_dn_trg;
|
||||
u32 pu_pgc_dn_trg;
|
||||
u32 lpcr_bsc2;
|
||||
u32 pgc_cpu_2_3_mapping;
|
||||
u32 lps_cpu0;
|
||||
u32 lps_cpu1;
|
||||
u32 lps_cpu2;
|
||||
u32 lps_cpu3;
|
||||
u32 gpc_gpr;
|
||||
u32 gtor;
|
||||
u32 debug_addr1;
|
||||
u32 debug_addr2;
|
||||
u32 cpu_pgc_up_status1;
|
||||
u32 mix_pgc_up_status0;
|
||||
u32 mix_pgc_up_status1;
|
||||
u32 mix_pgc_up_status2;
|
||||
u32 m4_mix_pgc_up_status0;
|
||||
u32 m4_mix_pgc_up_status1;
|
||||
u32 m4_mix_pgc_up_status2;
|
||||
u32 pu_pgc_up_status0;
|
||||
u32 pu_pgc_up_status1;
|
||||
u32 pu_pgc_up_status2;
|
||||
u32 m4_pu_pgc_up_status0;
|
||||
u32 m4_pu_pgc_up_status1;
|
||||
u32 m4_pu_pgc_up_status2;
|
||||
u32 a53_lp_io_0;
|
||||
u32 a53_lp_io_1;
|
||||
u32 a53_lp_io_2;
|
||||
u32 cpu_pgc_dn_status1;
|
||||
u32 mix_pgc_dn_status0;
|
||||
u32 mix_pgc_dn_status1;
|
||||
u32 mix_pgc_dn_status2;
|
||||
u32 m4_mix_pgc_dn_status0;
|
||||
u32 m4_mix_pgc_dn_status1;
|
||||
u32 m4_mix_pgc_dn_status2;
|
||||
u32 pu_pgc_dn_status0;
|
||||
u32 pu_pgc_dn_status1;
|
||||
u32 pu_pgc_dn_status2;
|
||||
u32 m4_pu_pgc_dn_status0;
|
||||
u32 m4_pu_pgc_dn_status1;
|
||||
u32 m4_pu_pgc_dn_status2;
|
||||
u32 res[3];
|
||||
u32 mix_pdn_flg;
|
||||
u32 pu_pdn_flg;
|
||||
u32 m4_mix_pdn_flg;
|
||||
u32 m4_pu_pdn_flg;
|
||||
u32 imr1_core2;
|
||||
u32 imr2_core2;
|
||||
u32 imr3_core2;
|
||||
u32 imr4_core2;
|
||||
u32 imr1_core3;
|
||||
u32 imr2_core3;
|
||||
u32 imr3_core3;
|
||||
u32 imr4_core3;
|
||||
u32 pgc_ack_sel_pu;
|
||||
u32 pgc_ack_sel_m4_pu;
|
||||
u32 slt15_cfg;
|
||||
u32 slt16_cfg;
|
||||
u32 slt17_cfg;
|
||||
u32 slt18_cfg;
|
||||
u32 slt19_cfg;
|
||||
u32 gpc_pu_pwrhsk;
|
||||
u32 slt0_cfg_pu;
|
||||
u32 slt1_cfg_pu;
|
||||
u32 slt2_cfg_pu;
|
||||
u32 slt3_cfg_pu;
|
||||
u32 slt4_cfg_pu;
|
||||
u32 slt5_cfg_pu;
|
||||
u32 slt6_cfg_pu;
|
||||
u32 slt7_cfg_pu;
|
||||
u32 slt8_cfg_pu;
|
||||
u32 slt9_cfg_pu;
|
||||
u32 slt10_cfg_pu;
|
||||
u32 slt11_cfg_pu;
|
||||
u32 slt12_cfg_pu;
|
||||
u32 slt13_cfg_pu;
|
||||
u32 slt14_cfg_pu;
|
||||
u32 slt15_cfg_pu;
|
||||
u32 slt16_cfg_pu;
|
||||
u32 slt17_cfg_pu;
|
||||
u32 slt18_cfg_pu;
|
||||
u32 slt19_cfg_pu;
|
||||
};
|
||||
|
||||
#define WDOG_WDT_MASK BIT(3)
|
||||
#define WDOG_WDZST_MASK BIT(0)
|
||||
struct wdog_regs {
|
||||
u16 wcr; /* Control */
|
||||
u16 wsr; /* Service */
|
||||
u16 wrsr; /* Reset Status */
|
||||
u16 wicr; /* Interrupt Control */
|
||||
u16 wmcr; /* Miscellaneous Control */
|
||||
};
|
||||
|
||||
struct bootrom_sw_info {
|
||||
u8 reserved_1;
|
||||
u8 boot_dev_instance;
|
||||
u8 boot_dev_type;
|
||||
u8 reserved_2;
|
||||
u32 core_freq;
|
||||
u32 axi_freq;
|
||||
u32 ddr_freq;
|
||||
u32 tick_freq;
|
||||
u32 reserved_3[3];
|
||||
};
|
||||
|
||||
#define ROM_SW_INFO_ADDR_B0 0x00000968
|
||||
#define ROM_SW_INFO_ADDR_A0 0x000009e8
|
||||
|
||||
#define ROM_SW_INFO_ADDR is_soc_rev(CHIP_REV_1_0) ? \
|
||||
(struct bootrom_sw_info **)ROM_SW_INFO_ADDR_A0 : \
|
||||
(struct bootrom_sw_info **)ROM_SW_INFO_ADDR_B0
|
||||
#endif
|
||||
#endif
|
||||
623
arch/arm/include/asm/arch-mx8m/mx8mq_pins.h
Normal file
623
arch/arm/include/asm/arch-mx8m/mx8mq_pins.h
Normal file
@@ -0,0 +1,623 @@
|
||||
/*
|
||||
* Copyright (C) 2017 NXP
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MX8MQ_PINS_H__
|
||||
#define __ASM_ARCH_MX8MQ_PINS_H__
|
||||
|
||||
#include <asm/mach-imx/iomux-v3.h>
|
||||
|
||||
enum {
|
||||
IMX8MQ_PAD_GPIO1_IO00__GPIO1_IO0 = IOMUX_PAD(0x0290, 0x0028, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO00__CCM_ENET_PHY_REF_CLK_ROOT = IOMUX_PAD(0x0290, 0x0028, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO00__XTALOSC_REF_CLK_32K = IOMUX_PAD(0x0290, 0x0028, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO00__CCM_EXT_CLK1 = IOMUX_PAD(0x0290, 0x0028, 6, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO00__JTAG_FAIL = IOMUX_PAD(0x0290, 0x0028, 7, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO01__GPIO1_IO1 = IOMUX_PAD(0x0294, 0x002C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO01__PWM1_OUT = IOMUX_PAD(0x0294, 0x002C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO01__XTALOSC_REF_CLK_24M = IOMUX_PAD(0x0294, 0x002C, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO01__CCM_EXT_CLK2 = IOMUX_PAD(0x0294, 0x002C, 6, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO01__JTAG_ACTIVE = IOMUX_PAD(0x0294, 0x002C, 7, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO02__GPIO1_IO2 = IOMUX_PAD(0x0298, 0x0030, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO02__WDOG1_WDOG_B = IOMUX_PAD(0x0298, 0x0030, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO02__WDOG1_WDOG_ANY = IOMUX_PAD(0x0298, 0x0030, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO02__JTAG_DE_B = IOMUX_PAD(0x0298, 0x0030, 7, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO03__GPIO1_IO3 = IOMUX_PAD(0x029C, 0x0034, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO03__USDHC1_VSELECT = IOMUX_PAD(0x029C, 0x0034, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO03__SDMA1_EXT_EVENT0 = IOMUX_PAD(0x029C, 0x0034, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO03__XTALOSC_XTAL_OK = IOMUX_PAD(0x029C, 0x0034, 6, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO03__JTAG_DONE = IOMUX_PAD(0x029C, 0x0034, 7, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO04__GPIO1_IO4 = IOMUX_PAD(0x02A0, 0x0038, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO04__USDHC2_VSELECT = IOMUX_PAD(0x02A0, 0x0038, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO04__SDMA1_EXT_EVENT1 = IOMUX_PAD(0x02A0, 0x0038, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO04__XTALOSC_XTAL_OK_1V = IOMUX_PAD(0x02A0, 0x0038, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO05__GPIO1_IO5 = IOMUX_PAD(0x02A4, 0x003C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO05__ARM_PLATFORM_CM4_NMI = IOMUX_PAD(0x02A4, 0x003C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO05__CCM_PMIC_READY = IOMUX_PAD(0x02A4, 0x003C, 5, 0x04BC, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO05__SRC_INT_BOOT = IOMUX_PAD(0x02A4, 0x003C, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO06__GPIO1_IO6 = IOMUX_PAD(0x02A8, 0x0040, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO06__ENET_MDC = IOMUX_PAD(0x02A8, 0x0040, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO06__USDHC1_CD_B = IOMUX_PAD(0x02A8, 0x0040, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO06__CCM_EXT_CLK3 = IOMUX_PAD(0x02A8, 0x0040, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO07__GPIO1_IO7 = IOMUX_PAD(0x02AC, 0x0044, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO07__ENET_MDIO = IOMUX_PAD(0x02AC, 0x0044, 1, 0x04C0, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO07__USDHC1_WP = IOMUX_PAD(0x02AC, 0x0044, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO07__CCM_EXT_CLK4 = IOMUX_PAD(0x02AC, 0x0044, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO08__GPIO1_IO8 = IOMUX_PAD(0x02B0, 0x0048, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO08__ENET_1588_EVENT0_IN = IOMUX_PAD(0x02B0, 0x0048, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO08__USDHC2_RESET_B = IOMUX_PAD(0x02B0, 0x0048, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO08__CCM_WAIT = IOMUX_PAD(0x02B0, 0x0048, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO09__GPIO1_IO9 = IOMUX_PAD(0x02B4, 0x004C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO09__ENET_1588_EVENT0_OUT = IOMUX_PAD(0x02B4, 0x004C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO09__SDMA2_EXT_EVENT0 = IOMUX_PAD(0x02B4, 0x004C, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO09__CCM_STOP = IOMUX_PAD(0x02B4, 0x004C, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO10__GPIO1_IO10 = IOMUX_PAD(0x02B8, 0x0050, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO10__USB1_OTG_ID = IOMUX_PAD(0x02B8, 0x0050, 1, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO11__GPIO1_IO11 = IOMUX_PAD(0x02BC, 0x0054, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO11__USB2_OTG_ID = IOMUX_PAD(0x02BC, 0x0054, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO11__CCM_PMIC_READY = IOMUX_PAD(0x02BC, 0x0054, 5, 0x04BC, 1, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO12__GPIO1_IO12 = IOMUX_PAD(0x02C0, 0x0058, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO12__USB1_OTG_PWR = IOMUX_PAD(0x02C0, 0x0058, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO12__SDMA2_EXT_EVENT1 = IOMUX_PAD(0x02C0, 0x0058, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO12__CSU_CSU_ALARM_AUT0 = IOMUX_PAD(0x02C0, 0x0058, 7, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO13__GPIO1_IO13 = IOMUX_PAD(0x02C4, 0x005C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO13__USB1_OTG_OC = IOMUX_PAD(0x02C4, 0x005C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO13__PWM2_OUT = IOMUX_PAD(0x02C4, 0x005C, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO13__CSU_CSU_ALARM_AUT1 = IOMUX_PAD(0x02C4, 0x005C, 7, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO14__GPIO1_IO14 = IOMUX_PAD(0x02C8, 0x0060, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO14__USB2_OTG_PWR = IOMUX_PAD(0x02C8, 0x0060, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO14__PWM3_OUT = IOMUX_PAD(0x02C8, 0x0060, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO14__CCM_CLKO1 = IOMUX_PAD(0x02C8, 0x0060, 6, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO14__CSU_CSU_ALARM_AUT2 = IOMUX_PAD(0x02C8, 0x0060, 7, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_GPIO1_IO15__GPIO1_IO15 = IOMUX_PAD(0x02CC, 0x0064, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO15__USB2_OTG_OC = IOMUX_PAD(0x02CC, 0x0064, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO15__PWM4_OUT = IOMUX_PAD(0x02CC, 0x0064, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO15__CCM_CLKO2 = IOMUX_PAD(0x02CC, 0x0064, 6, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_GPIO1_IO15__CSU_CSU_INT_DEB = IOMUX_PAD(0x02CC, 0x0064, 7, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_MDC__ENET_MDC = IOMUX_PAD(0x02D0, 0x0068, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_MDC__GPIO1_IO16 = IOMUX_PAD(0x02D0, 0x0068, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_MDIO__ENET_MDIO = IOMUX_PAD(0x02D4, 0x006C, 0, 0x04C0, 1, 0),
|
||||
IMX8MQ_PAD_ENET_MDIO__GPIO1_IO17 = IOMUX_PAD(0x02D4, 0x006C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_TD3__ENET_RGMII_TD3 = IOMUX_PAD(0x02D8, 0x0070, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_TD3__GPIO1_IO18 = IOMUX_PAD(0x02D8, 0x0070, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_TD2__ENET_RGMII_TD2 = IOMUX_PAD(0x02DC, 0x0074, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_TD2__ENET_TX_CLK = IOMUX_PAD(0x02DC, 0x0074, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_TD2__GPIO1_IO19 = IOMUX_PAD(0x02DC, 0x0074, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_TD1__ENET_RGMII_TD1 = IOMUX_PAD(0x02E0, 0x0078, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_TD1__GPIO1_IO20 = IOMUX_PAD(0x02E0, 0x0078, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_TD0__ENET_RGMII_TD0 = IOMUX_PAD(0x02E4, 0x007C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_TD0__GPIO1_IO21 = IOMUX_PAD(0x02E4, 0x007C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_TX_CTL__ENET_RGMII_TX_CTL = IOMUX_PAD(0x02E8, 0x0080, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_TX_CTL__GPIO1_IO22 = IOMUX_PAD(0x02E8, 0x0080, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_TXC__ENET_RGMII_TXC = IOMUX_PAD(0x02EC, 0x0084, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_TXC__ENET_TX_ER = IOMUX_PAD(0x02EC, 0x0084, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_TXC__GPIO1_IO23 = IOMUX_PAD(0x02EC, 0x0084, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_RX_CTL__ENET_RGMII_RX_CTL = IOMUX_PAD(0x02F0, 0x0088, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_RX_CTL__GPIO1_IO24 = IOMUX_PAD(0x02F0, 0x0088, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_RXC__ENET_RGMII_RXC = IOMUX_PAD(0x02F4, 0x008C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_RXC__ENET_RX_ER = IOMUX_PAD(0x02F4, 0x008C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_RXC__GPIO1_IO25 = IOMUX_PAD(0x02F4, 0x008C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_RD0__ENET_RGMII_RD0 = IOMUX_PAD(0x02F8, 0x0090, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_RD0__GPIO1_IO26 = IOMUX_PAD(0x02F8, 0x0090, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_RD1__ENET_RGMII_RD1 = IOMUX_PAD(0x02FC, 0x0094, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_RD1__GPIO1_IO27 = IOMUX_PAD(0x02FC, 0x0094, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_RD2__ENET_RGMII_RD2 = IOMUX_PAD(0x0300, 0x0098, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_RD2__GPIO1_IO28 = IOMUX_PAD(0x0300, 0x0098, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ENET_RD3__ENET_RGMII_RD3 = IOMUX_PAD(0x0304, 0x009C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ENET_RD3__GPIO1_IO29 = IOMUX_PAD(0x0304, 0x009C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD1_CLK__USDHC1_CLK = IOMUX_PAD(0x0308, 0x00A0, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD1_CLK__GPIO2_IO0 = IOMUX_PAD(0x0308, 0x00A0, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD1_CMD__USDHC1_CMD = IOMUX_PAD(0x030C, 0x00A4, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD1_CMD__GPIO2_IO1 = IOMUX_PAD(0x030C, 0x00A4, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD1_DATA0__USDHC1_DATA0 = IOMUX_PAD(0x0310, 0x00A8, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD1_DATA0__GPIO2_IO2 = IOMUX_PAD(0x0310, 0x00A8, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD1_DATA1__USDHC1_DATA1 = IOMUX_PAD(0x0314, 0x00AC, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD1_DATA1__GPIO2_IO3 = IOMUX_PAD(0x0314, 0x00AC, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD1_DATA2__USDHC1_DATA2 = IOMUX_PAD(0x0318, 0x00B0, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD1_DATA2__GPIO2_IO4 = IOMUX_PAD(0x0318, 0x00B0, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD1_DATA3__USDHC1_DATA3 = IOMUX_PAD(0x031C, 0x00B4, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD1_DATA3__GPIO2_IO5 = IOMUX_PAD(0x031C, 0x00B4, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD1_DATA4__USDHC1_DATA4 = IOMUX_PAD(0x0320, 0x00B8, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD1_DATA4__GPIO2_IO6 = IOMUX_PAD(0x0320, 0x00B8, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD1_DATA5__USDHC1_DATA5 = IOMUX_PAD(0x0324, 0x00BC, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD1_DATA5__GPIO2_IO7 = IOMUX_PAD(0x0324, 0x00BC, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD1_DATA6__USDHC1_DATA6 = IOMUX_PAD(0x0328, 0x00C0, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD1_DATA6__GPIO2_IO8 = IOMUX_PAD(0x0328, 0x00C0, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD1_DATA7__USDHC1_DATA7 = IOMUX_PAD(0x032C, 0x00C4, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD1_DATA7__GPIO2_IO9 = IOMUX_PAD(0x032C, 0x00C4, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD1_RESET_B__USDHC1_RESET_B = IOMUX_PAD(0x0330, 0x00C8, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD1_RESET_B__GPIO2_IO10 = IOMUX_PAD(0x0330, 0x00C8, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD1_STROBE__USDHC1_STROBE = IOMUX_PAD(0x0334, 0x00CC, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD1_STROBE__GPIO2_IO11 = IOMUX_PAD(0x0334, 0x00CC, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD2_CD_B__USDHC2_CD_B = IOMUX_PAD(0x0338, 0x00D0, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_CD_B__GPIO2_IO12 = IOMUX_PAD(0x0338, 0x00D0, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD2_CLK__USDHC2_CLK = IOMUX_PAD(0x033C, 0x00D4, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_CLK__GPIO2_IO13 = IOMUX_PAD(0x033C, 0x00D4, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD2_CMD__USDHC2_CMD = IOMUX_PAD(0x0340, 0x00D8, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_CMD__GPIO2_IO14 = IOMUX_PAD(0x0340, 0x00D8, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD2_DATA0__USDHC2_DATA0 = IOMUX_PAD(0x0344, 0x00DC, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_DATA0__GPIO2_IO15 = IOMUX_PAD(0x0344, 0x00DC, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD2_DATA1__USDHC2_DATA1 = IOMUX_PAD(0x0348, 0x00E0, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_DATA1__GPIO2_IO16 = IOMUX_PAD(0x0348, 0x00E0, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_DATA1__CCM_WAIT = IOMUX_PAD(0x0348, 0x00E0, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD2_DATA2__USDHC2_DATA2 = IOMUX_PAD(0x034C, 0x00E4, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_DATA2__GPIO2_IO17 = IOMUX_PAD(0x034C, 0x00E4, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_DATA2__CCM_STOP = IOMUX_PAD(0x034C, 0x00E4, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD2_DATA3__USDHC2_DATA3 = IOMUX_PAD(0x0350, 0x00E8, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_DATA3__GPIO2_IO18 = IOMUX_PAD(0x0350, 0x00E8, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_DATA3__SRC_EARLY_RESET = IOMUX_PAD(0x0350, 0x00E8, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD2_RESET_B__USDHC2_RESET_B = IOMUX_PAD(0x0354, 0x00EC, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_RESET_B__GPIO2_IO19 = IOMUX_PAD(0x0354, 0x00EC, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_RESET_B__SRC_SYSTEM_RESET = IOMUX_PAD(0x0354, 0x00EC, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SD2_WP__USDHC2_WP = IOMUX_PAD(0x0358, 0x00F0, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SD2_WP__GPIO2_IO20 = IOMUX_PAD(0x0358, 0x00F0, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_ALE__RAWNAND_ALE = IOMUX_PAD(0x035C, 0x00F4, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_ALE__QSPI_A_SCLK = IOMUX_PAD(0x035C, 0x00F4, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_ALE__GPIO3_IO0 = IOMUX_PAD(0x035C, 0x00F4, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_CE0_B__RAWNAND_CE0_B = IOMUX_PAD(0x0360, 0x00F8, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_CE0_B__QSPI_A_SS0_B = IOMUX_PAD(0x0360, 0x00F8, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_CE0_B__GPIO3_IO1 = IOMUX_PAD(0x0360, 0x00F8, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_CE1_B__RAWNAND_CE1_B = IOMUX_PAD(0x0364, 0x00FC, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_CE1_B__QSPI_A_SS1_B = IOMUX_PAD(0x0364, 0x00FC, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_CE1_B__GPIO3_IO2 = IOMUX_PAD(0x0364, 0x00FC, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_CE2_B__RAWNAND_CE2_B = IOMUX_PAD(0x0368, 0x0100, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_CE2_B__QSPI_B_SS0_B = IOMUX_PAD(0x0368, 0x0100, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_CE2_B__GPIO3_IO3 = IOMUX_PAD(0x0368, 0x0100, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_CE3_B__RAWNAND_CE3_B = IOMUX_PAD(0x036C, 0x0104, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_CE3_B__QSPI_B_SS1_B = IOMUX_PAD(0x036C, 0x0104, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_CE3_B__GPIO3_IO4 = IOMUX_PAD(0x036C, 0x0104, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_CLE__RAWNAND_CLE = IOMUX_PAD(0x0370, 0x0108, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_CLE__QSPI_B_SCLK = IOMUX_PAD(0x0370, 0x0108, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_CLE__GPIO3_IO5 = IOMUX_PAD(0x0370, 0x0108, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_DATA00__RAWNAND_DATA00 = IOMUX_PAD(0x0374, 0x010C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA00__QSPI_A_DATA0 = IOMUX_PAD(0x0374, 0x010C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA00__GPIO3_IO6 = IOMUX_PAD(0x0374, 0x010C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_DATA01__RAWNAND_DATA01 = IOMUX_PAD(0x0378, 0x0110, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA01__QSPI_A_DATA1 = IOMUX_PAD(0x0378, 0x0110, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA01__GPIO3_IO7 = IOMUX_PAD(0x0378, 0x0110, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_DATA02__RAWNAND_DATA02 = IOMUX_PAD(0x037C, 0x0114, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA02__QSPI_A_DATA2 = IOMUX_PAD(0x037C, 0x0114, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA02__GPIO3_IO8 = IOMUX_PAD(0x037C, 0x0114, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_DATA03__RAWNAND_DATA03 = IOMUX_PAD(0x0380, 0x0118, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA03__QSPI_A_DATA3 = IOMUX_PAD(0x0380, 0x0118, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA03__GPIO3_IO9 = IOMUX_PAD(0x0380, 0x0118, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_DATA04__RAWNAND_DATA04 = IOMUX_PAD(0x0384, 0x011C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA04__QSPI_B_DATA0 = IOMUX_PAD(0x0384, 0x011C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA04__GPIO3_IO10 = IOMUX_PAD(0x0384, 0x011C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_DATA05__RAWNAND_DATA05 = IOMUX_PAD(0x0388, 0x0120, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA05__QSPI_B_DATA1 = IOMUX_PAD(0x0388, 0x0120, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA05__GPIO3_IO11 = IOMUX_PAD(0x0388, 0x0120, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_DATA06__RAWNAND_DATA06 = IOMUX_PAD(0x038C, 0x0124, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA06__QSPI_B_DATA2 = IOMUX_PAD(0x038C, 0x0124, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA06__GPIO3_IO12 = IOMUX_PAD(0x038C, 0x0124, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_DATA07__RAWNAND_DATA07 = IOMUX_PAD(0x0390, 0x0128, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA07__QSPI_B_DATA3 = IOMUX_PAD(0x0390, 0x0128, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DATA07__GPIO3_IO13 = IOMUX_PAD(0x0390, 0x0128, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_DQS__RAWNAND_DQS = IOMUX_PAD(0x0394, 0x012C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DQS__QSPI_A_DQS = IOMUX_PAD(0x0394, 0x012C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_DQS__GPIO3_IO14 = IOMUX_PAD(0x0394, 0x012C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_RE_B__RAWNAND_RE_B = IOMUX_PAD(0x0398, 0x0130, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_RE_B__QSPI_B_DQS = IOMUX_PAD(0x0398, 0x0130, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_RE_B__GPIO3_IO15 = IOMUX_PAD(0x0398, 0x0130, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_READY_B__RAWNAND_READY_B = IOMUX_PAD(0x039C, 0x0134, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_READY_B__GPIO3_IO16 = IOMUX_PAD(0x039C, 0x0134, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_WE_B__RAWNAND_WE_B = IOMUX_PAD(0x03A0, 0x0138, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_WE_B__GPIO3_IO17 = IOMUX_PAD(0x03A0, 0x0138, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_NAND_WP_B__RAWNAND_WP_B = IOMUX_PAD(0x03A4, 0x013C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_NAND_WP_B__GPIO3_IO18 = IOMUX_PAD(0x03A4, 0x013C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI5_RXFS__SAI5_RX_SYNC = IOMUX_PAD(0x03A8, 0x0140, 0, 0x04E4, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXFS__SAI1_TX_DATA0 = IOMUX_PAD(0x03A8, 0x0140, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXFS__GPIO3_IO19 = IOMUX_PAD(0x03A8, 0x0140, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI5_RXC__SAI5_RX_BCLK = IOMUX_PAD(0x03AC, 0x0144, 0, 0x04D0, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXC__SAI1_TX_DATA1 = IOMUX_PAD(0x03AC, 0x0144, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXC__GPIO3_IO20 = IOMUX_PAD(0x03AC, 0x0144, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI5_RXD0__SAI5_RX_DATA0 = IOMUX_PAD(0x03B0, 0x0148, 0, 0x04D4, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD0__SAI1_TX_DATA2 = IOMUX_PAD(0x03B0, 0x0148, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD0__GPIO3_IO21 = IOMUX_PAD(0x03B0, 0x0148, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI5_RXD1__SAI5_RX_DATA1 = IOMUX_PAD(0x03B4, 0x014C, 0, 0x04D8, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD1__SAI1_TX_DATA3 = IOMUX_PAD(0x03B4, 0x014C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD1__SAI1_TX_SYNC = IOMUX_PAD(0x03B4, 0x014C, 2, 0x04CC, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD1__SAI5_TX_SYNC = IOMUX_PAD(0x03B4, 0x014C, 3, 0x04EC, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD1__GPIO3_IO22 = IOMUX_PAD(0x03B4, 0x014C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI5_RXD2__SAI5_RX_DATA2 = IOMUX_PAD(0x03B8, 0x0150, 0, 0x04DC, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD2__SAI1_TX_DATA4 = IOMUX_PAD(0x03B8, 0x0150, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD2__SAI1_TX_SYNC = IOMUX_PAD(0x03B8, 0x0150, 2, 0x04CC, 1, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD2__SAI5_TX_BCLK = IOMUX_PAD(0x03B8, 0x0150, 3, 0x04E8, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD2__GPIO3_IO23 = IOMUX_PAD(0x03B8, 0x0150, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI5_RXD3__SAI5_RX_DATA3 = IOMUX_PAD(0x03BC, 0x0154, 0, 0x04E0, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD3__SAI1_TX_DATA5 = IOMUX_PAD(0x03BC, 0x0154, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD3__SAI1_TX_SYNC = IOMUX_PAD(0x03BC, 0x0154, 2, 0x04CC, 2, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD3__SAI5_TX_DATA0 = IOMUX_PAD(0x03BC, 0x0154, 3, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_RXD3__GPIO3_IO24 = IOMUX_PAD(0x03BC, 0x0154, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI5_MCLK__SAI5_MCLK = IOMUX_PAD(0x03C0, 0x0158, 0, 0x052C, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_MCLK__SAI1_TX_BCLK = IOMUX_PAD(0x03C0, 0x0158, 1, 0x04C8, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_MCLK__SAI4_MCLK = IOMUX_PAD(0x03C0, 0x0158, 2, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_MCLK__GPIO3_IO25 = IOMUX_PAD(0x03C0, 0x0158, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI5_MCLK__SRC_TESTER_ACK = IOMUX_PAD(0x03C0, 0x0158, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_RXFS__SAI1_RX_SYNC = IOMUX_PAD(0x03C4, 0x015C, 0, 0x04C4, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXFS__SAI5_RX_SYNC = IOMUX_PAD(0x03C4, 0x015C, 1, 0x04E4, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_RXFS__ARM_PLATFORM_TRACE_CLK = IOMUX_PAD(0x03C4, 0x015C, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXFS__GPIO4_IO0 = IOMUX_PAD(0x03C4, 0x015C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_RXC__SAI1_RX_BCLK = IOMUX_PAD(0x03C8, 0x0160, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXC__SAI5_RX_BCLK = IOMUX_PAD(0x03C8, 0x0160, 1, 0x04D0, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_RXC__ARM_PLATFORM_TRACE_CTL = IOMUX_PAD(0x03C8, 0x0160, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXC__GPIO4_IO1 = IOMUX_PAD(0x03C8, 0x0160, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_RXD0__SAI1_RX_DATA0 = IOMUX_PAD(0x03CC, 0x0164, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD0__SAI5_RX_DATA0 = IOMUX_PAD(0x03CC, 0x0164, 1, 0x04D4, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD0__ARM_PLATFORM_TRACE0 = IOMUX_PAD(0x03CC, 0x0164, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD0__GPIO4_IO2 = IOMUX_PAD(0x03CC, 0x0164, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD0__SRC_BOOT_CFG0 = IOMUX_PAD(0x03CC, 0x0164, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_RXD1__SAI1_RX_DATA1 = IOMUX_PAD(0x03D0, 0x0168, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD1__SAI5_RX_DATA1 = IOMUX_PAD(0x03D0, 0x0168, 1, 0x04D8, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD1__ARM_PLATFORM_TRACE1 = IOMUX_PAD(0x03D0, 0x0168, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD1__GPIO4_IO3 = IOMUX_PAD(0x03D0, 0x0168, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD1__SRC_BOOT_CFG1 = IOMUX_PAD(0x03D0, 0x0168, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_RXD2__SAI1_RX_DATA2 = IOMUX_PAD(0x03D4, 0x016C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD2__SAI5_RX_DATA2 = IOMUX_PAD(0x03D4, 0x016C, 1, 0x04DC, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD2__ARM_PLATFORM_TRACE2 = IOMUX_PAD(0x03D4, 0x016C, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD2__GPIO4_IO4 = IOMUX_PAD(0x03D4, 0x016C, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD2__SRC_BOOT_CFG2 = IOMUX_PAD(0x03D4, 0x016C, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_RXD3__SAI1_RX_DATA3 = IOMUX_PAD(0x03D8, 0x0170, 0, 0x04E0, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD3__SAI5_RX_DATA3 = IOMUX_PAD(0x03D8, 0x0170, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD3__ARM_PLATFORM_TRACE3 = IOMUX_PAD(0x03D8, 0x0170, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD3__GPIO4_IO5 = IOMUX_PAD(0x03D8, 0x0170, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD3__SRC_BOOT_CFG3 = IOMUX_PAD(0x03D8, 0x0170, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_RXD4__SAI1_RX_DATA4 = IOMUX_PAD(0x03DC, 0x0174, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD4__SAI6_TX_BCLK = IOMUX_PAD(0x03DC, 0x0174, 1, 0x051C, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD4__SAI6_RX_BCLK = IOMUX_PAD(0x03DC, 0x0174, 2, 0x0510, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD4__ARM_PLATFORM_TRACE4 = IOMUX_PAD(0x03DC, 0x0174, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD4__GPIO4_IO6 = IOMUX_PAD(0x03DC, 0x0174, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD4__SRC_BOOT_CFG4 = IOMUX_PAD(0x03DC, 0x0174, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_RXD5__SAI1_RX_DATA5 = IOMUX_PAD(0x03E0, 0x0178, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD5__SAI6_TX_DATA0 = IOMUX_PAD(0x03E0, 0x0178, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD5__SAI6_RX_DATA0 = IOMUX_PAD(0x03E0, 0x0178, 2, 0x0514, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD5__SAI1_RX_SYNC = IOMUX_PAD(0x03E0, 0x0178, 3, 0x04C4, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD5__ARM_PLATFORM_TRACE5 = IOMUX_PAD(0x03E0, 0x0178, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD5__GPIO4_IO7 = IOMUX_PAD(0x03E0, 0x0178, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD5__SRC_BOOT_CFG5 = IOMUX_PAD(0x03E0, 0x0178, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_RXD6__SAI1_RX_DATA6 = IOMUX_PAD(0x03E4, 0x017C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD6__SAI6_TX_SYNC = IOMUX_PAD(0x03E4, 0x017C, 1, 0x0520, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD6__SAI6_RX_SYNC = IOMUX_PAD(0x03E4, 0x017C, 2, 0x0518, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD6__ARM_PLATFORM_TRACE6 = IOMUX_PAD(0x03E4, 0x017C, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD6__GPIO4_IO8 = IOMUX_PAD(0x03E4, 0x017C, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD6__SRC_BOOT_CFG6 = IOMUX_PAD(0x03E4, 0x017C, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_RXD7__SAI1_RX_DATA7 = IOMUX_PAD(0x03E8, 0x0180, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD7__SAI6_MCLK = IOMUX_PAD(0x03E8, 0x0180, 1, 0x0530, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD7__SAI1_TX_SYNC = IOMUX_PAD(0x03E8, 0x0180, 2, 0x04CC, 4, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD7__SAI1_TX_DATA4 = IOMUX_PAD(0x03E8, 0x0180, 3, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD7__ARM_PLATFORM_TRACE7 = IOMUX_PAD(0x03E8, 0x0180, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD7__GPIO4_IO9 = IOMUX_PAD(0x03E8, 0x0180, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_RXD7__SRC_BOOT_CFG7 = IOMUX_PAD(0x03E8, 0x0180, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_TXFS__SAI1_TX_SYNC = IOMUX_PAD(0x03EC, 0x0184, 0, 0x04CC, 3, 0),
|
||||
IMX8MQ_PAD_SAI1_TXFS__SAI5_TX_SYNC = IOMUX_PAD(0x03EC, 0x0184, 1, 0x04EC, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_TXFS__ARM_PLATFORM_EVENTO = IOMUX_PAD(0x03EC, 0x0184, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXFS__GPIO4_IO10 = IOMUX_PAD(0x03EC, 0x0184, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_TXC__SAI1_TX_BCLK = IOMUX_PAD(0x03F0, 0x0188, 0, 0x04C8, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_TXC__SAI5_TX_BCLK = IOMUX_PAD(0x03F0, 0x0188, 1, 0x04E8, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_TXC__ARM_PLATFORM_EVENTI = IOMUX_PAD(0x03F0, 0x0188, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXC__GPIO4_IO11 = IOMUX_PAD(0x03F0, 0x0188, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_TXD0__SAI1_TX_DATA0 = IOMUX_PAD(0x03F4, 0x018C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD0__SAI5_TX_DATA0 = IOMUX_PAD(0x03F4, 0x018C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD0__ARM_PLATFORM_TRACE8 = IOMUX_PAD(0x03F4, 0x018C, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD0__GPIO4_IO12 = IOMUX_PAD(0x03F4, 0x018C, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD0__SRC_BOOT_CFG8 = IOMUX_PAD(0x03F4, 0x018C, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_TXD1__SAI1_TX_DATA1 = IOMUX_PAD(0x03F8, 0x0190, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD1__SAI5_TX_DATA1 = IOMUX_PAD(0x03F8, 0x0190, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD1__ARM_PLATFORM_TRACE9 = IOMUX_PAD(0x03F8, 0x0190, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD1__GPIO4_IO13 = IOMUX_PAD(0x03F8, 0x0190, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD1__SRC_BOOT_CFG9 = IOMUX_PAD(0x03F8, 0x0190, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_TXD2__SAI1_TX_DATA2 = IOMUX_PAD(0x03FC, 0x0194, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD2__SAI5_TX_DATA2 = IOMUX_PAD(0x03FC, 0x0194, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD2__ARM_PLATFORM_TRACE10 = IOMUX_PAD(0x03FC, 0x0194, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD2__GPIO4_IO14 = IOMUX_PAD(0x03FC, 0x0194, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD2__SRC_BOOT_CFG10 = IOMUX_PAD(0x03FC, 0x0194, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_TXD3__SAI1_TX_DATA3 = IOMUX_PAD(0x0400, 0x0198, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD3__SAI5_TX_DATA3 = IOMUX_PAD(0x0400, 0x0198, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD3__ARM_PLATFORM_TRACE11 = IOMUX_PAD(0x0400, 0x0198, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD3__GPIO4_IO15 = IOMUX_PAD(0x0400, 0x0198, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD3__SRC_BOOT_CFG11 = IOMUX_PAD(0x0400, 0x0198, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_TXD4__SAI1_TX_DATA4 = IOMUX_PAD(0x0404, 0x019C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD4__SAI6_RX_BCLK = IOMUX_PAD(0x0404, 0x019C, 1, 0x0510, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD4__SAI6_TX_BCLK = IOMUX_PAD(0x0404, 0x019C, 2, 0x051C, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD4__ARM_PLATFORM_TRACE12 = IOMUX_PAD(0x0404, 0x019C, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD4__GPIO4_IO16 = IOMUX_PAD(0x0404, 0x019C, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD4__SRC_BOOT_CFG12 = IOMUX_PAD(0x0404, 0x019C, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_TXD5__SAI1_TX_DATA5 = IOMUX_PAD(0x0408, 0x01A0, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD5__SAI6_RX_DATA0 = IOMUX_PAD(0x0408, 0x01A0, 1, 0x0514, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD5__SAI6_TX_DATA0 = IOMUX_PAD(0x0408, 0x01A0, 2, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD5__ARM_PLATFORM_TRACE13 = IOMUX_PAD(0x0408, 0x01A0, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD5__GPIO4_IO17 = IOMUX_PAD(0x0408, 0x01A0, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD5__SRC_BOOT_CFG13 = IOMUX_PAD(0x0408, 0x01A0, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_TXD6__SAI1_TX_DATA6 = IOMUX_PAD(0x040C, 0x01A4, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD6__SAI6_RX_SYNC = IOMUX_PAD(0x040C, 0x01A4, 1, 0x0518, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD6__SAI6_TX_SYNC = IOMUX_PAD(0x040C, 0x01A4, 2, 0x0520, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD6__ARM_PLATFORM_TRACE14 = IOMUX_PAD(0x040C, 0x01A4, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD6__GPIO4_IO18 = IOMUX_PAD(0x040C, 0x01A4, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD6__SRC_BOOT_CFG14 = IOMUX_PAD(0x040C, 0x01A4, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_TXD7__SAI1_TX_DATA7 = IOMUX_PAD(0x0410, 0x01A8, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD7__SAI6_MCLK = IOMUX_PAD(0x0410, 0x01A8, 1, 0x0530, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD7__ARM_PLATFORM_TRACE15 = IOMUX_PAD(0x0410, 0x01A8, 4, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD7__GPIO4_IO19 = IOMUX_PAD(0x0410, 0x01A8, 5, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_TXD7__SRC_BOOT_CFG15 = IOMUX_PAD(0x0410, 0x01A8, 6, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI1_MCLK__SAI1_MCLK = IOMUX_PAD(0x0414, 0x01AC, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI1_MCLK__SAI5_MCLK = IOMUX_PAD(0x0414, 0x01AC, 1, 0x052C, 1, 0),
|
||||
IMX8MQ_PAD_SAI1_MCLK__SAI1_TX_BCLK = IOMUX_PAD(0x0414, 0x01AC, 2, 0x04C8, 2, 0),
|
||||
IMX8MQ_PAD_SAI1_MCLK__GPIO4_IO20 = IOMUX_PAD(0x0414, 0x01AC, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI2_RXFS__SAI2_RX_SYNC = IOMUX_PAD(0x0418, 0x01B0, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI2_RXFS__SAI5_TX_SYNC = IOMUX_PAD(0x0418, 0x01B0, 1, 0x04EC, 2, 0),
|
||||
IMX8MQ_PAD_SAI2_RXFS__GPIO4_IO21 = IOMUX_PAD(0x0418, 0x01B0, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI2_RXC__SAI2_RX_BCLK = IOMUX_PAD(0x041C, 0x01B4, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI2_RXC__SAI5_TX_BCLK = IOMUX_PAD(0x041C, 0x01B4, 1, 0x04E8, 2, 0),
|
||||
IMX8MQ_PAD_SAI2_RXC__GPIO4_IO22 = IOMUX_PAD(0x041C, 0x01B4, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI2_RXD0__SAI2_RX_DATA0 = IOMUX_PAD(0x0420, 0x01B8, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI2_RXD0__SAI5_TX_DATA0 = IOMUX_PAD(0x0420, 0x01B8, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI2_RXD0__GPIO4_IO23 = IOMUX_PAD(0x0420, 0x01B8, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI2_TXFS__SAI2_TX_SYNC = IOMUX_PAD(0x0424, 0x01BC, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI2_TXFS__SAI5_TX_DATA1 = IOMUX_PAD(0x0424, 0x01BC, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI2_TXFS__GPIO4_IO24 = IOMUX_PAD(0x0424, 0x01BC, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI2_TXC__SAI2_TX_BCLK = IOMUX_PAD(0x0428, 0x01C0, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI2_TXC__SAI5_TX_DATA2 = IOMUX_PAD(0x0428, 0x01C0, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI2_TXC__GPIO4_IO25 = IOMUX_PAD(0x0428, 0x01C0, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI2_TXD0__SAI2_TX_DATA0 = IOMUX_PAD(0x042C, 0x01C4, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI2_TXD0__SAI5_TX_DATA3 = IOMUX_PAD(0x042C, 0x01C4, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI2_TXD0__GPIO4_IO26 = IOMUX_PAD(0x042C, 0x01C4, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI2_MCLK__SAI2_MCLK = IOMUX_PAD(0x0430, 0x01C8, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI2_MCLK__SAI5_MCLK = IOMUX_PAD(0x0430, 0x01C8, 1, 0x052C, 2, 0),
|
||||
IMX8MQ_PAD_SAI2_MCLK__GPIO4_IO27 = IOMUX_PAD(0x0430, 0x01C8, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI3_RXFS__SAI3_RX_SYNC = IOMUX_PAD(0x0434, 0x01CC, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_RXFS__GPT1_CAPTURE1 = IOMUX_PAD(0x0434, 0x01CC, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_RXFS__SAI5_RX_SYNC = IOMUX_PAD(0x0434, 0x01CC, 2, 0x04E4, 2, 0),
|
||||
IMX8MQ_PAD_SAI3_RXFS__GPIO4_IO28 = IOMUX_PAD(0x0434, 0x01CC, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI3_RXC__SAI3_RX_BCLK = IOMUX_PAD(0x0438, 0x01D0, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_RXC__GPT1_CAPTURE2 = IOMUX_PAD(0x0438, 0x01D0, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_RXC__SAI5_RX_BCLK = IOMUX_PAD(0x0438, 0x01D0, 2, 0x04D0, 2, 0),
|
||||
IMX8MQ_PAD_SAI3_RXC__GPIO4_IO29 = IOMUX_PAD(0x0438, 0x01D0, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI3_RXD__SAI3_RX_DATA0 = IOMUX_PAD(0x043C, 0x01D4, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_RXD__GPT1_COMPARE1 = IOMUX_PAD(0x043C, 0x01D4, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_RXD__SAI5_RX_DATA0 = IOMUX_PAD(0x043C, 0x01D4, 2, 0x04D4, 2, 0),
|
||||
IMX8MQ_PAD_SAI3_RXD__GPIO4_IO30 = IOMUX_PAD(0x043C, 0x01D4, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI3_TXFS__SAI3_TX_SYNC = IOMUX_PAD(0x0440, 0x01D8, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_TXFS__GPT1_CLK = IOMUX_PAD(0x0440, 0x01D8, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_TXFS__SAI5_RX_DATA1 = IOMUX_PAD(0x0440, 0x01D8, 2, 0x04D8, 2, 0),
|
||||
IMX8MQ_PAD_SAI3_TXFS__GPIO4_IO31 = IOMUX_PAD(0x0440, 0x01D8, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI3_TXC__SAI3_TX_BCLK = IOMUX_PAD(0x0444, 0x01DC, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_TXC__GPT1_COMPARE2 = IOMUX_PAD(0x0444, 0x01DC, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_TXC__SAI5_RX_DATA2 = IOMUX_PAD(0x0444, 0x01DC, 2, 0x04DC, 2, 0),
|
||||
IMX8MQ_PAD_SAI3_TXC__GPIO5_IO0 = IOMUX_PAD(0x0444, 0x01DC, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI3_TXD__SAI3_TX_DATA0 = IOMUX_PAD(0x0448, 0x01E0, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_TXD__GPT1_COMPARE3 = IOMUX_PAD(0x0448, 0x01E0, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_TXD__SAI5_RX_DATA3 = IOMUX_PAD(0x0448, 0x01E0, 2, 0x04E0, 2, 0),
|
||||
IMX8MQ_PAD_SAI3_TXD__GPIO5_IO1 = IOMUX_PAD(0x0448, 0x01E0, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SAI3_MCLK__SAI3_MCLK = IOMUX_PAD(0x044C, 0x01E4, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_MCLK__PWM4_OUT = IOMUX_PAD(0x044C, 0x01E4, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SAI3_MCLK__SAI5_MCLK = IOMUX_PAD(0x044C, 0x01E4, 2, 0x052C, 3, 0),
|
||||
IMX8MQ_PAD_SAI3_MCLK__GPIO5_IO2 = IOMUX_PAD(0x044C, 0x01E4, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SPDIF_TX__SPDIF1_OUT = IOMUX_PAD(0x0450, 0x01E8, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SPDIF_TX__PWM3_OUT = IOMUX_PAD(0x0450, 0x01E8, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SPDIF_TX__GPIO5_IO3 = IOMUX_PAD(0x0450, 0x01E8, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SPDIF_RX__SPDIF1_IN = IOMUX_PAD(0x0454, 0x01EC, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SPDIF_RX__PWM2_OUT = IOMUX_PAD(0x0454, 0x01EC, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SPDIF_RX__GPIO5_IO4 = IOMUX_PAD(0x0454, 0x01EC, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_SPDIF_EXT_CLK__SPDIF1_EXT_CLK = IOMUX_PAD(0x0458, 0x01F0, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SPDIF_EXT_CLK__PWM1_OUT = IOMUX_PAD(0x0458, 0x01F0, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_SPDIF_EXT_CLK__GPIO5_IO5 = IOMUX_PAD(0x0458, 0x01F0, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ECSPI1_SCLK__ECSPI1_SCLK = IOMUX_PAD(0x045C, 0x01F4, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ECSPI1_SCLK__UART3_RX = IOMUX_PAD(0x045C, 0x01F4, 1, 0x0504, 0, 0),
|
||||
IMX8MQ_PAD_ECSPI1_SCLK__GPIO5_IO6 = IOMUX_PAD(0x045C, 0x01F4, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ECSPI1_MOSI__ECSPI1_MOSI = IOMUX_PAD(0x0460, 0x01F8, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ECSPI1_MOSI__UART3_TX = IOMUX_PAD(0x0460, 0x01F8, 1, 0x0504, 1, 0),
|
||||
IMX8MQ_PAD_ECSPI1_MOSI__GPIO5_IO7 = IOMUX_PAD(0x0460, 0x01F8, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ECSPI1_MISO__ECSPI1_MISO = IOMUX_PAD(0x0464, 0x01FC, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ECSPI1_MISO__UART3_CTS_B = IOMUX_PAD(0x0464, 0x01FC, 1, 0x0500, 0, 0),
|
||||
IMX8MQ_PAD_ECSPI1_MISO__GPIO5_IO8 = IOMUX_PAD(0x0464, 0x01FC, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ECSPI1_SS0__ECSPI1_SS0 = IOMUX_PAD(0x0468, 0x0200, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ECSPI1_SS0__UART3_RTS_B = IOMUX_PAD(0x0468, 0x0200, 1, 0x0500, 1, 0),
|
||||
IMX8MQ_PAD_ECSPI1_SS0__GPIO5_IO9 = IOMUX_PAD(0x0468, 0x0200, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ECSPI2_SCLK__ECSPI2_SCLK = IOMUX_PAD(0x046C, 0x0204, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ECSPI2_SCLK__UART4_RX = IOMUX_PAD(0x046C, 0x0204, 1, 0x050C, 0, 0),
|
||||
IMX8MQ_PAD_ECSPI2_SCLK__GPIO5_IO10 = IOMUX_PAD(0x046C, 0x0204, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ECSPI2_MOSI__ECSPI2_MOSI = IOMUX_PAD(0x0470, 0x0208, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ECSPI2_MOSI__UART4_TX = IOMUX_PAD(0x0470, 0x0208, 1, 0x050C, 1, 0),
|
||||
IMX8MQ_PAD_ECSPI2_MOSI__GPIO5_IO11 = IOMUX_PAD(0x0470, 0x0208, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ECSPI2_MISO__ECSPI2_MISO = IOMUX_PAD(0x0474, 0x020C, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ECSPI2_MISO__UART4_CTS_B = IOMUX_PAD(0x0474, 0x020C, 1, 0x0508, 0, 0),
|
||||
IMX8MQ_PAD_ECSPI2_MISO__GPIO5_IO12 = IOMUX_PAD(0x0474, 0x020C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_ECSPI2_SS0__ECSPI2_SS0 = IOMUX_PAD(0x0478, 0x0210, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_ECSPI2_SS0__UART4_RTS_B = IOMUX_PAD(0x0478, 0x0210, 1, 0x0508, 1, 0),
|
||||
IMX8MQ_PAD_ECSPI2_SS0__GPIO5_IO13 = IOMUX_PAD(0x0478, 0x0210, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_I2C1_SCL__I2C1_SCL = IOMUX_PAD(0x047C, 0x0214, 0x10 | 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C1_SCL__ENET_MDC = IOMUX_PAD(0x047C, 0x0214, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C1_SCL__GPIO5_IO14 = IOMUX_PAD(0x047C, 0x0214, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_I2C1_SDA__I2C1_SDA = IOMUX_PAD(0x0480, 0x0218, 0x10 | 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C1_SDA__ENET_MDIO = IOMUX_PAD(0x0480, 0x0218, 1, 0x04C0, 2, 0),
|
||||
IMX8MQ_PAD_I2C1_SDA__GPIO5_IO15 = IOMUX_PAD(0x0480, 0x0218, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_I2C2_SCL__I2C2_SCL = IOMUX_PAD(0x0484, 0x021C, 0x10 | 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C2_SCL__ENET_1588_EVENT1_IN = IOMUX_PAD(0x0484, 0x021C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C2_SCL__GPIO5_IO16 = IOMUX_PAD(0x0484, 0x021C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_I2C2_SDA__I2C2_SDA = IOMUX_PAD(0x0488, 0x0220, 0x10 | 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C2_SDA__ENET_1588_EVENT1_OUT = IOMUX_PAD(0x0488, 0x0220, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C2_SDA__GPIO5_IO17 = IOMUX_PAD(0x0488, 0x0220, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_I2C3_SCL__I2C3_SCL = IOMUX_PAD(0x048C, 0x0224, 0x10 | 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C3_SCL__PWM4_OUT = IOMUX_PAD(0x048C, 0x0224, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C3_SCL__GPT2_CLK = IOMUX_PAD(0x048C, 0x0224, 2, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C3_SCL__GPIO5_IO18 = IOMUX_PAD(0x048C, 0x0224, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_I2C3_SDA__I2C3_SDA = IOMUX_PAD(0x0490, 0x0228, 0x10 | 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C3_SDA__PWM3_OUT = IOMUX_PAD(0x0490, 0x0228, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C3_SDA__GPT3_CLK = IOMUX_PAD(0x0490, 0x0228, 2, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C3_SDA__GPIO5_IO19 = IOMUX_PAD(0x0490, 0x0228, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_I2C4_SCL__I2C4_SCL = IOMUX_PAD(0x0494, 0x022C, 0x10 | 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C4_SCL__PWM2_OUT = IOMUX_PAD(0x0494, 0x022C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C4_SCL__PCIE1_CLKREQ_B = IOMUX_PAD(0x0494, 0x022C, 2, 0x0524, 0, 0),
|
||||
IMX8MQ_PAD_I2C4_SCL__GPIO5_IO20 = IOMUX_PAD(0x0494, 0x022C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_I2C4_SDA__I2C4_SDA = IOMUX_PAD(0x0498, 0x0230, 0x10 | 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C4_SDA__PWM1_OUT = IOMUX_PAD(0x0498, 0x0230, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_I2C4_SDA__PCIE2_CLKREQ_B = IOMUX_PAD(0x0498, 0x0230, 2, 0x0528, 0, 0),
|
||||
IMX8MQ_PAD_I2C4_SDA__GPIO5_IO21 = IOMUX_PAD(0x0498, 0x0230, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_UART1_RXD__UART1_RX = IOMUX_PAD(0x049C, 0x0234, 0, 0x04F4, 0, 0),
|
||||
IMX8MQ_PAD_UART1_RXD__ECSPI3_SCLK = IOMUX_PAD(0x049C, 0x0234, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_UART1_RXD__GPIO5_IO22 = IOMUX_PAD(0x049C, 0x0234, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_UART1_TXD__UART1_TX = IOMUX_PAD(0x04A0, 0x0238, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_UART1_TXD__ECSPI3_MOSI = IOMUX_PAD(0x04A0, 0x0238, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_UART1_TXD__GPIO5_IO23 = IOMUX_PAD(0x04A0, 0x0238, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_UART2_RXD__UART2_RX = IOMUX_PAD(0x04A4, 0x023C, 0, 0x04FC, 0, 0),
|
||||
IMX8MQ_PAD_UART2_RXD__ECSPI3_MISO = IOMUX_PAD(0x04A4, 0x023C, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_UART2_RXD__GPIO5_IO24 = IOMUX_PAD(0x04A4, 0x023C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_UART2_TXD__UART2_TX = IOMUX_PAD(0x04A8, 0x0240, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_UART2_TXD__ECSPI3_SS0 = IOMUX_PAD(0x04A8, 0x0240, 1, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_UART2_TXD__GPIO5_IO25 = IOMUX_PAD(0x04A8, 0x0240, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_UART3_RXD__UART3_RX = IOMUX_PAD(0x04AC, 0x0244, 0, 0x0504, 2, 0),
|
||||
IMX8MQ_PAD_UART3_RXD__UART1_CTS_B = IOMUX_PAD(0x04AC, 0x0244, 1, 0x04F0, 0, 0),
|
||||
IMX8MQ_PAD_UART3_RXD__GPIO5_IO26 = IOMUX_PAD(0x04AC, 0x0244, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_UART3_TXD__UART3_TX = IOMUX_PAD(0x04B0, 0x0248, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_UART3_TXD__UART1_RTS_B = IOMUX_PAD(0x04B0, 0x0248, 1, 0x04F0, 1, 0),
|
||||
IMX8MQ_PAD_UART3_TXD__GPIO5_IO27 = IOMUX_PAD(0x04B0, 0x0248, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_UART4_RXD__UART4_RX = IOMUX_PAD(0x04B4, 0x024C, 0, 0x050C, 2, 0),
|
||||
IMX8MQ_PAD_UART4_RXD__UART2_CTS_B = IOMUX_PAD(0x04B4, 0x024C, 1, 0x04F8, 0, 0),
|
||||
IMX8MQ_PAD_UART4_RXD__PCIE1_CLKREQ_B = IOMUX_PAD(0x04B4, 0x024C, 2, 0x0524, 1, 0),
|
||||
IMX8MQ_PAD_UART4_RXD__GPIO5_IO28 = IOMUX_PAD(0x04B4, 0x024C, 5, 0x0000, 0, 0),
|
||||
|
||||
IMX8MQ_PAD_UART4_TXD__UART4_TX = IOMUX_PAD(0x04B8, 0x0250, 0, 0x0000, 0, 0),
|
||||
IMX8MQ_PAD_UART4_TXD__UART2_RTS_B = IOMUX_PAD(0x04B8, 0x0250, 1, 0x04F8, 1, 0),
|
||||
IMX8MQ_PAD_UART4_TXD__PCIE2_CLKREQ_B = IOMUX_PAD(0x04B8, 0x0250, 2, 0x0528, 1, 0),
|
||||
IMX8MQ_PAD_UART4_TXD__GPIO5_IO29 = IOMUX_PAD(0x04B8, 0x0250, 5, 0x0000, 0, 0),
|
||||
};
|
||||
#endif
|
||||
18
arch/arm/include/asm/arch-mx8m/sys_proto.h
Normal file
18
arch/arm/include/asm/arch-mx8m/sys_proto.h
Normal file
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
* Copyright (C) 2017 NXP
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef __ARCH_MX8M_SYS_PROTO_H
|
||||
#define __ARCH_MX8M_SYS_PROTO_H
|
||||
|
||||
#include <asm/mach-imx/sys_proto.h>
|
||||
|
||||
void set_wdog_reset(struct wdog_regs *wdog);
|
||||
void enable_tzc380(void);
|
||||
void restore_boot_params(void);
|
||||
extern unsigned long rom_pointer[];
|
||||
enum boot_device get_boot_device(void);
|
||||
bool is_usb_boot(void);
|
||||
#endif
|
||||
@@ -135,7 +135,7 @@
|
||||
|
||||
/* CM_L3INIT_HSMMCn_CLKCTRL */
|
||||
#define HSMMC_CLKCTRL_CLKSEL_MASK (1 << 24)
|
||||
#define HSMMC_CLKCTRL_CLKSEL_DIV_MASK (1 << 25)
|
||||
#define HSMMC_CLKCTRL_CLKSEL_DIV_MASK (3 << 25)
|
||||
|
||||
/* CM_L3INIT_SATA_CLKCTRL */
|
||||
#define SATA_CLKCTRL_OPTFCLKEN_MASK (1 << 8)
|
||||
|
||||
@@ -83,6 +83,9 @@
|
||||
void __recalibrate_iodelay(struct pad_conf_entry const *pad, int npads,
|
||||
struct iodelay_cfg_entry const *iodelay,
|
||||
int niodelays);
|
||||
void late_recalibrate_iodelay(struct pad_conf_entry const *pad, int npads,
|
||||
struct iodelay_cfg_entry const *iodelay,
|
||||
int niodelays);
|
||||
int __recalibrate_iodelay_start(void);
|
||||
void __recalibrate_iodelay_end(int ret);
|
||||
|
||||
|
||||
@@ -35,6 +35,12 @@ struct pad_conf_entry {
|
||||
u32 val;
|
||||
};
|
||||
|
||||
struct mmc_platform_fixups {
|
||||
const char *hw_rev;
|
||||
u32 unsupported_caps;
|
||||
u32 max_freq;
|
||||
};
|
||||
|
||||
struct omap_sysinfo {
|
||||
char *board_string;
|
||||
};
|
||||
@@ -71,6 +77,7 @@ void force_emif_self_refresh(void);
|
||||
void get_ioregs(const struct ctrl_ioregs **regs);
|
||||
void srcomp_enable(void);
|
||||
void setup_warmreset_time(void);
|
||||
const struct mmc_platform_fixups *platform_fixups_mmc(uint32_t addr);
|
||||
|
||||
static inline u32 div_round_up(u32 num, u32 den)
|
||||
{
|
||||
|
||||
27
arch/arm/include/asm/arch-zynqmp/psu_init_gpl.h
Normal file
27
arch/arm/include/asm/arch-zynqmp/psu_init_gpl.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef _PSU_INIT_GPL_H_ /* prevent circular inclusions */
|
||||
#define _PSU_INIT_GPL_H_
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <common.h>
|
||||
|
||||
int mask_pollonvalue(unsigned long add, u32 mask, u32 value);
|
||||
|
||||
int mask_poll(u32 add, u32 mask);
|
||||
|
||||
u32 mask_read(u32 add, u32 mask);
|
||||
|
||||
void mask_delay(u32 delay);
|
||||
|
||||
void psu_mask_write(unsigned long offset, unsigned long mask,
|
||||
unsigned long val);
|
||||
|
||||
void prog_reg(unsigned long addr, unsigned long mask,
|
||||
unsigned long shift, unsigned long value);
|
||||
|
||||
int psu_init(void);
|
||||
|
||||
#endif /* _PSU_INIT_GPL_H_ */
|
||||
@@ -33,8 +33,6 @@ enum {
|
||||
int zynq_board_read_rom_ethaddr(unsigned char *ethaddr);
|
||||
unsigned int zynqmp_get_silicon_version(void);
|
||||
|
||||
void psu_init(void);
|
||||
|
||||
void handoff_setup(void);
|
||||
|
||||
void zynqmp_pmufw_version(void);
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
#define CONFIG_SYS_ARM_CACHE_WRITETHROUGH
|
||||
|
||||
/* Memory Info */
|
||||
#define CONFIG_SYS_TEXT_BASE 0x61000000
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x61000000
|
||||
|
||||
#endif /* __IPROC_COMMON_CONFIGS_H */
|
||||
|
||||
@@ -26,10 +26,20 @@ enum boot_device {
|
||||
MMC4_BOOT,
|
||||
NAND_BOOT,
|
||||
QSPI_BOOT,
|
||||
USB_BOOT,
|
||||
UNKNOWN_BOOT,
|
||||
BOOT_DEV_NUM = UNKNOWN_BOOT,
|
||||
};
|
||||
|
||||
/* Boot device type */
|
||||
#define BOOT_TYPE_SD 0x1
|
||||
#define BOOT_TYPE_MMC 0x2
|
||||
#define BOOT_TYPE_NAND 0x3
|
||||
#define BOOT_TYPE_QSPI 0x4
|
||||
#define BOOT_TYPE_WEIM 0x5
|
||||
#define BOOT_TYPE_SPINOR 0x6
|
||||
#define BOOT_TYPE_USB 0xF
|
||||
|
||||
struct boot_mode {
|
||||
const char *name;
|
||||
unsigned cfg_val;
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#define __SECURE_MX6Q_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/compiler.h>
|
||||
|
||||
/*
|
||||
* IVT header definitions
|
||||
@@ -21,11 +22,11 @@
|
||||
#define IVT_HEADER_V1 0x40
|
||||
#define IVT_HEADER_V2 0x41
|
||||
|
||||
struct ivt_header {
|
||||
struct __packed ivt_header {
|
||||
uint8_t magic;
|
||||
uint16_t length;
|
||||
uint8_t version;
|
||||
} __attribute__((packed));
|
||||
};
|
||||
|
||||
struct ivt {
|
||||
struct ivt_header hdr; /* IVT header above */
|
||||
@@ -38,6 +39,12 @@ struct ivt {
|
||||
uint32_t reserved2; /* Reserved should be zero */
|
||||
};
|
||||
|
||||
struct __packed hab_hdr {
|
||||
u8 tag; /* Tag field */
|
||||
u8 len[2]; /* Length field in bytes (big-endian) */
|
||||
u8 par; /* Parameters field */
|
||||
};
|
||||
|
||||
/* -------- start of HAB API updates ------------*/
|
||||
/* The following are taken from HAB4 SIS */
|
||||
|
||||
@@ -162,7 +169,14 @@ typedef void hapi_clock_init_t(void);
|
||||
#ifdef CONFIG_ROM_UNIFIED_SECTIONS
|
||||
#define HAB_RVT_BASE 0x00000100
|
||||
#else
|
||||
#define HAB_RVT_BASE 0x00000094
|
||||
#define HAB_RVT_BASE_NEW 0x00000098
|
||||
#define HAB_RVT_BASE_OLD 0x00000094
|
||||
#define HAB_RVT_BASE ((is_mx6dqp()) ? \
|
||||
HAB_RVT_BASE_NEW : \
|
||||
(is_mx6dq() && (soc_rev() >= CHIP_REV_1_5)) ? \
|
||||
HAB_RVT_BASE_NEW : \
|
||||
(is_mx6sdl() && (soc_rev() >= CHIP_REV_1_2)) ? \
|
||||
HAB_RVT_BASE_NEW : HAB_RVT_BASE_OLD)
|
||||
#endif
|
||||
|
||||
#define HAB_RVT_ENTRY (*(uint32_t *)(HAB_RVT_BASE + 0x04))
|
||||
@@ -173,15 +187,15 @@ typedef void hapi_clock_init_t(void);
|
||||
#define HAB_RVT_REPORT_STATUS (*(uint32_t *)(HAB_RVT_BASE + 0x24))
|
||||
#define HAB_RVT_FAILSAFE (*(uint32_t *)(HAB_RVT_BASE + 0x28))
|
||||
|
||||
#define HAB_RVT_REPORT_EVENT_NEW (*(uint32_t *)0x000000B8)
|
||||
#define HAB_RVT_REPORT_STATUS_NEW (*(uint32_t *)0x000000BC)
|
||||
#define HAB_RVT_AUTHENTICATE_IMAGE_NEW (*(uint32_t *)0x000000A8)
|
||||
#define HAB_RVT_ENTRY_NEW (*(uint32_t *)0x0000009C)
|
||||
#define HAB_RVT_EXIT_NEW (*(uint32_t *)0x000000A0)
|
||||
|
||||
#define HAB_CID_ROM 0 /**< ROM Caller ID */
|
||||
#define HAB_CID_UBOOT 1 /**< UBOOT Caller ID*/
|
||||
|
||||
#define HAB_CMD_HDR 0xD4 /* CSF Header */
|
||||
#define HAB_CMD_WRT_DAT 0xCC /* Write Data command tag */
|
||||
#define HAB_CMD_CHK_DAT 0xCF /* Check Data command tag */
|
||||
#define HAB_CMD_SET 0xB1 /* Set command tag */
|
||||
#define HAB_PAR_MID 0x01 /* MID parameter value */
|
||||
|
||||
#define IVT_SIZE 0x20
|
||||
#define CSF_PAD_SIZE 0x2000
|
||||
|
||||
|
||||
@@ -87,7 +87,27 @@ typedef u64 iomux_v3_cfg_t;
|
||||
#define IOMUX_CONFIG_LPSR 0x20
|
||||
#define MUX_MODE_LPSR ((iomux_v3_cfg_t)IOMUX_CONFIG_LPSR << \
|
||||
MUX_MODE_SHIFT)
|
||||
#ifdef CONFIG_MX7
|
||||
#ifdef CONFIG_MX8M
|
||||
#define PAD_CTL_DSE0 (0x0 << 0)
|
||||
#define PAD_CTL_DSE1 (0x1 << 0)
|
||||
#define PAD_CTL_DSE2 (0x2 << 0)
|
||||
#define PAD_CTL_DSE3 (0x3 << 0)
|
||||
#define PAD_CTL_DSE4 (0x4 << 0)
|
||||
#define PAD_CTL_DSE5 (0x5 << 0)
|
||||
#define PAD_CTL_DSE6 (0x6 << 0)
|
||||
#define PAD_CTL_DSE7 (0x7 << 0)
|
||||
|
||||
#define PAD_CTL_FSEL0 (0x0 << 3)
|
||||
#define PAD_CTL_FSEL1 (0x1 << 3)
|
||||
#define PAD_CTL_FSEL2 (0x2 << 3)
|
||||
#define PAD_CTL_FSEL3 (0x3 << 3)
|
||||
|
||||
#define PAD_CTL_ODE (0x1 << 5)
|
||||
#define PAD_CTL_PUE (0x1 << 6)
|
||||
#define PAD_CTL_HYS (0x1 << 7)
|
||||
#define PAD_CTL_LVTTL (0x1 << 8)
|
||||
|
||||
#elif defined CONFIG_MX7
|
||||
|
||||
#define IOMUX_LPSR_SEL_INPUT_OFS 0x70000
|
||||
|
||||
@@ -240,7 +260,7 @@ void imx_iomux_gpio_get_function(unsigned int gpio,
|
||||
#if defined(CONFIG_MX6QDL)
|
||||
#define IOMUX_PADS(x) (MX6Q_##x), (MX6DL_##x)
|
||||
#define SETUP_IOMUX_PAD(def) \
|
||||
if (is_cpu_type(MXC_CPU_MX6Q) || is_cpu_type(MXC_CPU_MX6D)) { \
|
||||
if (is_mx6dq() || is_mx6dqp()) { \
|
||||
imx_iomux_v3_setup_pad(MX6Q_##def); \
|
||||
} else { \
|
||||
imx_iomux_v3_setup_pad(MX6DL_##def); \
|
||||
|
||||
@@ -88,8 +88,7 @@ struct mxc_i2c_bus {
|
||||
|
||||
|
||||
#define I2C_PADS_INFO(name) \
|
||||
(is_cpu_type(MXC_CPU_MX6Q) || is_cpu_type(MXC_CPU_MX6D)) ? \
|
||||
&mx6q_##name : &mx6s_##name
|
||||
(is_mx6dq() || is_mx6dqp()) ? &mx6q_##name : &mx6s_##name
|
||||
#endif
|
||||
|
||||
int setup_i2c(unsigned i2c_index, int speed, int slave_addr,
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
struct mxs_lcdif_regs {
|
||||
mxs_reg_32(hw_lcdif_ctrl) /* 0x00 */
|
||||
mxs_reg_32(hw_lcdif_ctrl1) /* 0x10 */
|
||||
|
||||
#if defined(CONFIG_MX28) || defined(CONFIG_MX6SX) || \
|
||||
defined(CONFIG_MX6SL) || defined(CONFIG_MX6SLL) || \
|
||||
defined(CONFIG_MX6UL) || defined(CONFIG_MX6ULL) || \
|
||||
defined(CONFIG_MX7)
|
||||
defined(CONFIG_MX7) || defined(CONFIG_MX7ULP) || \
|
||||
defined(CONFIG_MX8M)
|
||||
mxs_reg_32(hw_lcdif_ctrl2) /* 0x20 */
|
||||
#endif
|
||||
mxs_reg_32(hw_lcdif_transfer_count) /* 0x20/0x30 */
|
||||
@@ -61,7 +61,8 @@ struct mxs_lcdif_regs {
|
||||
#if defined(CONFIG_MX28) || defined(CONFIG_MX6SX) || \
|
||||
defined(CONFIG_MX6SL) || defined(CONFIG_MX6SLL) || \
|
||||
defined(CONFIG_MX6UL) || defined(CONFIG_MX6ULL) || \
|
||||
defined(CONFIG_MX7)
|
||||
defined(CONFIG_MX7) || defined(CONFIG_MX7ULP) || \
|
||||
defined(CONFIG_MX8M)
|
||||
mxs_reg_32(hw_lcdif_crc_stat) /* 0x1a0 */
|
||||
#endif
|
||||
mxs_reg_32(hw_lcdif_lcdif_stat) /* 0x1d0/0x1b0 */
|
||||
@@ -72,7 +73,8 @@ struct mxs_lcdif_regs {
|
||||
#if defined(CONFIG_MX6SX) || \
|
||||
defined(CONFIG_MX6SL) || defined(CONFIG_MX6SLL) || \
|
||||
defined(CONFIG_MX6UL) || defined(CONFIG_MX6ULL) || \
|
||||
defined(CONFIG_MX7)
|
||||
defined(CONFIG_MX7) || defined(CONFIG_MX7ULP) || \
|
||||
defined(CONFIG_MX8M)
|
||||
mxs_reg_32(hw_lcdif_thres)
|
||||
mxs_reg_32(hw_lcdif_as_ctrl)
|
||||
mxs_reg_32(hw_lcdif_as_buf)
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
#define is_mx6() (is_soc_type(MXC_SOC_MX6))
|
||||
#define is_mx7() (is_soc_type(MXC_SOC_MX7))
|
||||
#define is_mx8m() (is_soc_type(MXC_SOC_MX8M))
|
||||
|
||||
#define is_mx6dqp() (is_cpu_type(MXC_CPU_MX6QP) || is_cpu_type(MXC_CPU_MX6DP))
|
||||
#define is_mx6dq() (is_cpu_type(MXC_CPU_MX6Q) || is_cpu_type(MXC_CPU_MX6D))
|
||||
@@ -126,4 +127,7 @@ void lcdif_power_down(void);
|
||||
int mxs_reset_block(struct mxs_register_32 *reg);
|
||||
int mxs_wait_mask_set(struct mxs_register_32 *reg, u32 mask, u32 timeout);
|
||||
int mxs_wait_mask_clr(struct mxs_register_32 *reg, u32 mask, u32 timeout);
|
||||
|
||||
unsigned long call_imx_sip(unsigned long id, unsigned long reg0,
|
||||
unsigned long reg1, unsigned long reg2);
|
||||
#endif
|
||||
|
||||
@@ -39,7 +39,9 @@ struct hsmmc {
|
||||
unsigned int sysstatus; /* 0x14 */
|
||||
unsigned char res2[0x14];
|
||||
unsigned int con; /* 0x2C */
|
||||
unsigned char res3[0xD4];
|
||||
unsigned int pwcnt; /* 0x30 */
|
||||
unsigned int dll; /* 0x34 */
|
||||
unsigned char res3[0xcc];
|
||||
unsigned int blk; /* 0x104 */
|
||||
unsigned int arg; /* 0x108 */
|
||||
unsigned int cmd; /* 0x10C */
|
||||
@@ -53,9 +55,11 @@ struct hsmmc {
|
||||
unsigned int sysctl; /* 0x12C */
|
||||
unsigned int stat; /* 0x130 */
|
||||
unsigned int ie; /* 0x134 */
|
||||
unsigned char res4[0x8];
|
||||
unsigned char res4[0x4];
|
||||
unsigned int ac12; /* 0x13C */
|
||||
unsigned int capa; /* 0x140 */
|
||||
unsigned char res5[0x10];
|
||||
unsigned int capa2; /* 0x144 */
|
||||
unsigned char res5[0xc];
|
||||
unsigned int admaes; /* 0x154 */
|
||||
unsigned int admasal; /* 0x158 */
|
||||
};
|
||||
@@ -63,8 +67,10 @@ struct hsmmc {
|
||||
struct omap_hsmmc_plat {
|
||||
struct mmc_config cfg;
|
||||
struct hsmmc *base_addr;
|
||||
struct mmc mmc;
|
||||
struct mmc *mmc;
|
||||
bool cd_inverted;
|
||||
u32 controller_flags;
|
||||
const char *hw_rev;
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -87,6 +93,7 @@ struct omap_hsmmc_plat {
|
||||
#define WPP_ACTIVEHIGH (0x0 << 8)
|
||||
#define RESERVED_MASK (0x3 << 9)
|
||||
#define CTPL_MMC_SD (0x0 << 11)
|
||||
#define DDR (0x1 << 19)
|
||||
#define DMA_MASTER (0x1 << 20)
|
||||
#define BLEN_512BYTESLEN (0x200 << 0)
|
||||
#define NBLK_STPCNT (0x0 << 16)
|
||||
@@ -124,8 +131,10 @@ struct omap_hsmmc_plat {
|
||||
#define DTW_8_BITMODE (0x1 << 5) /* CON[DW8]*/
|
||||
#define SDBP_PWROFF (0x0 << 8)
|
||||
#define SDBP_PWRON (0x1 << 8)
|
||||
#define SDVS_MASK (0x7 << 9)
|
||||
#define SDVS_1V8 (0x5 << 9)
|
||||
#define SDVS_3V0 (0x6 << 9)
|
||||
#define SDVS_3V3 (0x7 << 9)
|
||||
#define DMA_SELECT (0x2 << 3)
|
||||
#define ICE_MASK (0x1 << 0)
|
||||
#define ICE_STOP (0x0 << 0)
|
||||
@@ -159,8 +168,20 @@ struct omap_hsmmc_plat {
|
||||
#define IE_CERR (0x01 << 28)
|
||||
#define IE_BADA (0x01 << 29)
|
||||
|
||||
#define VS30_3V0SUP (1 << 25)
|
||||
#define VS18_1V8SUP (1 << 26)
|
||||
#define VS33_3V3SUP BIT(24)
|
||||
#define VS30_3V0SUP BIT(25)
|
||||
#define VS18_1V8SUP BIT(26)
|
||||
|
||||
#define AC12_ET BIT(22)
|
||||
#define AC12_V1V8_SIGEN BIT(19)
|
||||
#define AC12_SCLK_SEL BIT(23)
|
||||
#define AC12_UHSMC_MASK (7 << 16)
|
||||
#define AC12_UHSMC_DDR50 (4 << 16)
|
||||
#define AC12_UHSMC_SDR104 (3 << 16)
|
||||
#define AC12_UHSMC_SDR50 (2 << 16)
|
||||
#define AC12_UHSMC_SDR25 (1 << 16)
|
||||
#define AC12_UHSMC_SDR12 (0 << 16)
|
||||
#define AC12_UHSMC_RES (0x7 << 16)
|
||||
|
||||
/* Driver definitions */
|
||||
#define MMCSD_SECTOR_SIZE 512
|
||||
@@ -172,15 +193,43 @@ struct omap_hsmmc_plat {
|
||||
#define CLK_400KHZ 1
|
||||
#define CLK_MISC 2
|
||||
|
||||
#define CLKD_MAX 0x3FF /* max clock divisor: 1023 */
|
||||
|
||||
#define RSP_TYPE_NONE (RSP_TYPE_NORSP | CCCE_NOCHECK | CICE_NOCHECK)
|
||||
#define MMC_CMD0 (INDEX(0) | RSP_TYPE_NONE | DP_NO_DATA | DDIR_WRITE)
|
||||
|
||||
/* Clock Configurations and Macros */
|
||||
#ifdef CONFIG_OMAP54XX
|
||||
#define MMC_CLOCK_REFERENCE 192 /* MHz */
|
||||
#else
|
||||
#define MMC_CLOCK_REFERENCE 96 /* MHz */
|
||||
#endif
|
||||
|
||||
/* DLL */
|
||||
#define DLL_SWT BIT(20)
|
||||
#define DLL_FORCE_SR_C_SHIFT 13
|
||||
#define DLL_FORCE_SR_C_MASK 0x7f
|
||||
#define DLL_FORCE_VALUE BIT(12)
|
||||
#define DLL_CALIB BIT(1)
|
||||
|
||||
#define MAX_PHASE_DELAY 0x7c
|
||||
|
||||
/* CAPA2 */
|
||||
#define CAPA2_TSDR50 BIT(13)
|
||||
|
||||
#define mmc_reg_out(addr, mask, val)\
|
||||
writel((readl(addr) & (~(mask))) | ((val) & (mask)), (addr))
|
||||
|
||||
#define INT_EN_MASK (IE_BADA | IE_CERR | IE_DEB | IE_DCRC |\
|
||||
IE_DTO | IE_CIE | IE_CEB | IE_CCRC | IE_ADMAE | IE_CTO |\
|
||||
IE_BRR | IE_BWR | IE_TC | IE_CC)
|
||||
|
||||
#define CON_CLKEXTFREE BIT(16)
|
||||
#define CON_PADEN BIT(15)
|
||||
#define PSTATE_CLEV BIT(24)
|
||||
#define PSTATE_DLEV (0xF << 20)
|
||||
#define PSTATE_DLEV_DAT0 (0x1 << 20)
|
||||
|
||||
int omap_mmc_init(int dev_index, uint host_caps_mask, uint f_max, int cd_gpio,
|
||||
int wp_gpio);
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ endif
|
||||
|
||||
obj-$(CONFIG_CPU_V7M) += cmd_boot.o
|
||||
obj-$(CONFIG_OF_LIBFDT) += bootm-fdt.o
|
||||
obj-$(CONFIG_CMD_BOOTI) += bootm.o
|
||||
obj-$(CONFIG_CMD_BOOTI) += bootm.o image.o
|
||||
obj-$(CONFIG_CMD_BOOTM) += bootm.o
|
||||
obj-$(CONFIG_CMD_BOOTZ) += bootm.o zimage.o
|
||||
obj-$(CONFIG_SYS_L2_PL310) += cache-pl310.o
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <image.h>
|
||||
#include <u-boot/zlib.h>
|
||||
#include <asm/byteorder.h>
|
||||
#include <libfdt.h>
|
||||
#include <linux/libfdt.h>
|
||||
#include <mapmem.h>
|
||||
#include <fdt_support.h>
|
||||
#include <asm/bootm.h>
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
* This file is taken and modified from the gnu-efi project.
|
||||
*/
|
||||
|
||||
#include <asm-generic/pe.h>
|
||||
|
||||
.section .text.head
|
||||
|
||||
/*
|
||||
@@ -62,7 +64,7 @@ extra_header_fields:
|
||||
*/
|
||||
.long _start - ImageBase /* SizeOfHeaders */
|
||||
.long 0 /* CheckSum */
|
||||
.short EFI_SUBSYSTEM /* Subsystem */
|
||||
.short IMAGE_SUBSYSTEM_EFI_APPLICATION /* Subsystem */
|
||||
.short 0 /* DllCharacteristics */
|
||||
.quad 0 /* SizeOfStackReserve */
|
||||
.quad 0 /* SizeOfStackCommit */
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
* This file is taken and modified from the gnu-efi project.
|
||||
*/
|
||||
|
||||
#include <asm-generic/pe.h>
|
||||
|
||||
.section .text.head
|
||||
|
||||
/*
|
||||
@@ -64,7 +66,7 @@ extra_header_fields:
|
||||
*/
|
||||
.long _start - image_base /* SizeOfHeaders */
|
||||
.long 0 /* CheckSum */
|
||||
.short EFI_SUBSYSTEM /* Subsystem */
|
||||
.short IMAGE_SUBSYSTEM_EFI_APPLICATION /* Subsystem */
|
||||
.short 0 /* DllCharacteristics */
|
||||
.long 0 /* SizeOfStackReserve */
|
||||
.long 0 /* SizeOfStackCommit */
|
||||
|
||||
77
arch/arm/lib/image.c
Normal file
77
arch/arm/lib/image.c
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
* (C) Copyright 2000-2009
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <mapmem.h>
|
||||
#include <linux/sizes.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#define LINUX_ARM64_IMAGE_MAGIC 0x644d5241
|
||||
|
||||
/* See Documentation/arm64/booting.txt in the Linux kernel */
|
||||
struct Image_header {
|
||||
uint32_t code0; /* Executable code */
|
||||
uint32_t code1; /* Executable code */
|
||||
uint64_t text_offset; /* Image load offset, LE */
|
||||
uint64_t image_size; /* Effective Image size, LE */
|
||||
uint64_t flags; /* Kernel flags, LE */
|
||||
uint64_t res2; /* reserved */
|
||||
uint64_t res3; /* reserved */
|
||||
uint64_t res4; /* reserved */
|
||||
uint32_t magic; /* Magic number */
|
||||
uint32_t res5;
|
||||
};
|
||||
|
||||
int booti_setup(ulong image, ulong *relocated_addr, ulong *size)
|
||||
{
|
||||
struct Image_header *ih;
|
||||
uint64_t dst;
|
||||
uint64_t image_size, text_offset;
|
||||
|
||||
*relocated_addr = image;
|
||||
|
||||
ih = (struct Image_header *)map_sysmem(image, 0);
|
||||
|
||||
if (ih->magic != le32_to_cpu(LINUX_ARM64_IMAGE_MAGIC)) {
|
||||
puts("Bad Linux ARM64 Image magic!\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Prior to Linux commit a2c1d73b94ed, the text_offset field
|
||||
* is of unknown endianness. In these cases, the image_size
|
||||
* field is zero, and we can assume a fixed value of 0x80000.
|
||||
*/
|
||||
if (ih->image_size == 0) {
|
||||
puts("Image lacks image_size field, assuming 16MiB\n");
|
||||
image_size = 16 << 20;
|
||||
text_offset = 0x80000;
|
||||
} else {
|
||||
image_size = le64_to_cpu(ih->image_size);
|
||||
text_offset = le64_to_cpu(ih->text_offset);
|
||||
}
|
||||
|
||||
*size = image_size;
|
||||
|
||||
/*
|
||||
* If bit 3 of the flags field is set, the 2MB aligned base of the
|
||||
* kernel image can be anywhere in physical memory, so respect
|
||||
* images->ep. Otherwise, relocate the image to the base of RAM
|
||||
* since memory below it is not accessible via the linear mapping.
|
||||
*/
|
||||
if (le64_to_cpu(ih->flags) & BIT(3))
|
||||
dst = image - text_offset;
|
||||
else
|
||||
dst = gd->bd->bi_dram[0].start;
|
||||
|
||||
*relocated_addr = ALIGN(dst, SZ_2M) + text_offset;
|
||||
|
||||
unmap_sysmem(ih);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -30,13 +30,12 @@ void show_regs(struct pt_regs *regs)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (gd->flags & GD_FLG_RELOC) {
|
||||
printf("ELR: %lx\n", regs->elr - gd->reloc_off);
|
||||
printf("LR: %lx\n", regs->regs[30] - gd->reloc_off);
|
||||
} else {
|
||||
printf("ELR: %lx\n", regs->elr);
|
||||
printf("LR: %lx\n", regs->regs[30]);
|
||||
}
|
||||
if (gd->flags & GD_FLG_RELOC)
|
||||
printf("elr: %016lx lr : %016lx (reloc)\n",
|
||||
regs->elr - gd->reloc_off,
|
||||
regs->regs[30] - gd->reloc_off);
|
||||
printf("elr: %016lx lr : %016lx\n", regs->elr, regs->regs[30]);
|
||||
|
||||
for (i = 0; i < 29; i += 2)
|
||||
printf("x%-2d: %016lx x%-2d: %016lx\n",
|
||||
i, regs->regs[i], i+1, regs->regs[i+1]);
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <libfdt.h>
|
||||
#include <linux/libfdt.h>
|
||||
#include <fdt_support.h>
|
||||
#include <linux/sizes.h>
|
||||
#include <linux/kernel.h>
|
||||
@@ -69,22 +69,25 @@ init_psci_node:
|
||||
#elif defined(CONFIG_ARMV7_PSCI_1_0) || defined(CONFIG_ARMV8_PSCI)
|
||||
psci_ver = ARM_PSCI_VER_1_0;
|
||||
#endif
|
||||
switch (psci_ver) {
|
||||
case ARM_PSCI_VER_1_0:
|
||||
if (psci_ver >= ARM_PSCI_VER_1_0) {
|
||||
tmp = fdt_setprop_string(fdt, nodeoff,
|
||||
"compatible", "arm,psci-1.0");
|
||||
if (tmp)
|
||||
return tmp;
|
||||
case ARM_PSCI_VER_0_2:
|
||||
}
|
||||
|
||||
if (psci_ver >= ARM_PSCI_VER_0_2) {
|
||||
tmp = fdt_appendprop_string(fdt, nodeoff,
|
||||
"compatible", "arm,psci-0.2");
|
||||
if (tmp)
|
||||
return tmp;
|
||||
default:
|
||||
}
|
||||
|
||||
#ifndef CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT
|
||||
/*
|
||||
* The Secure firmware framework isn't able to support PSCI version 0.1.
|
||||
*/
|
||||
#ifndef CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT
|
||||
if (psci_ver < ARM_PSCI_VER_0_2) {
|
||||
tmp = fdt_appendprop_string(fdt, nodeoff,
|
||||
"compatible", "arm,psci");
|
||||
if (tmp)
|
||||
@@ -105,9 +108,8 @@ init_psci_node:
|
||||
ARM_PSCI_FN_MIGRATE);
|
||||
if (tmp)
|
||||
return tmp;
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
tmp = fdt_setprop_string(fdt, nodeoff, "method", "smc");
|
||||
if (tmp)
|
||||
|
||||
@@ -87,18 +87,3 @@ u32 spl_boot_device(void)
|
||||
return BOOT_DEVICE_NONE;
|
||||
}
|
||||
#endif
|
||||
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
switch (boot_device) {
|
||||
#if defined(CONFIG_SYS_USE_MMC) || defined(CONFIG_SD_BOOT)
|
||||
case BOOT_DEVICE_MMC1:
|
||||
case BOOT_DEVICE_MMC2:
|
||||
return MMCSD_MODE_FS;
|
||||
break;
|
||||
#endif
|
||||
case BOOT_DEVICE_NONE:
|
||||
default:
|
||||
hang();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,6 @@ config SYS_DA850_DDR_INIT
|
||||
config SOC_DA850
|
||||
bool
|
||||
select SOC_DA8XX
|
||||
select SYS_DA850_DDR_INIT if SUPPORT_SPL || DA850_LOWLEVEL
|
||||
|
||||
config SOC_DA8XX
|
||||
bool
|
||||
@@ -63,6 +62,89 @@ config SOC_DA8XX
|
||||
config MACH_DAVINCI_DA850_EVM
|
||||
bool
|
||||
|
||||
if SYS_DA850_PLL_INIT
|
||||
comment "DA850 PLL Initialization Parameters"
|
||||
|
||||
config SYS_DV_CLKMODE
|
||||
int "PLLCTL Clock Mode"
|
||||
default 0
|
||||
help
|
||||
Set PLLCTL Clock Mode bit as External Clock or On Chip oscillator
|
||||
|
||||
config SYS_DA850_PLL0_POSTDIV
|
||||
int "PLLC0 PLL Post-Divider"
|
||||
default 1
|
||||
help
|
||||
Value written to PLLC0 PLL Post-Divider Control Register
|
||||
|
||||
config SYS_DA850_PLL0_PLLDIV1
|
||||
hex "PLLC0 Divider 1"
|
||||
default 0x8000
|
||||
help
|
||||
Value written to PLLC0 Divider 1 register
|
||||
|
||||
config SYS_DA850_PLL0_PLLDIV2
|
||||
hex "PLLC0 Divider 2"
|
||||
default 0x8001
|
||||
help
|
||||
Value written to PLLC0 Divider 2 register
|
||||
|
||||
config SYS_DA850_PLL0_PLLDIV3
|
||||
hex "PLLC0 Divider 3"
|
||||
default 0x8002
|
||||
help
|
||||
Value written to PLLC0 Divider 3 register
|
||||
|
||||
config SYS_DA850_PLL0_PLLDIV4
|
||||
hex "PLLC0 Divider 4"
|
||||
default 0x8003
|
||||
help
|
||||
Value written to PLLC0 Divider 4 register
|
||||
|
||||
config SYS_DA850_PLL0_PLLDIV5
|
||||
hex "PLLC0 Divider 5"
|
||||
default 0x8002
|
||||
help
|
||||
Value written to PLLC0 Divider 5 register
|
||||
|
||||
config SYS_DA850_PLL0_PLLDIV6
|
||||
hex "PLLC0 Divider 6"
|
||||
default 0x8000
|
||||
help
|
||||
Value written to PLLC0 Divider 6 register
|
||||
|
||||
config SYS_DA850_PLL0_PLLDIV7
|
||||
hex "PLLC0 Divider 7"
|
||||
default 0x8005
|
||||
help
|
||||
Value written to PLLC0 Divider 7 register
|
||||
|
||||
config SYS_DA850_PLL1_POSTDIV
|
||||
hex "PLLC1 PLL Post-Divider"
|
||||
default 1
|
||||
help
|
||||
Value written to PLLC1 PLL Post-Divider Control Register
|
||||
|
||||
config SYS_DA850_PLL1_PLLDIV1
|
||||
hex "PLLC1 Divider 2"
|
||||
default 0x8000
|
||||
help
|
||||
Value written to PLLC1 Divider 1 register
|
||||
|
||||
config SYS_DA850_PLL1_PLLDIV2
|
||||
hex "PLLC1 Divider 2"
|
||||
default 0x8001
|
||||
help
|
||||
Value written to PLLC1 Divider 2 register
|
||||
|
||||
config SYS_DA850_PLL1_PLLDIV3
|
||||
hex "PLLC1 Divider 3"
|
||||
default 0x8002
|
||||
help
|
||||
Value written to PLLC1 Divider 3 register
|
||||
|
||||
endif
|
||||
|
||||
source "board/Barix/ipam390/Kconfig"
|
||||
source "board/davinci/da8xxevm/Kconfig"
|
||||
source "board/davinci/ea20/Kconfig"
|
||||
|
||||
@@ -45,11 +45,6 @@ void spl_board_init(void)
|
||||
preloader_console_init();
|
||||
}
|
||||
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
return MMCSD_MODE_RAW;
|
||||
}
|
||||
|
||||
u32 spl_boot_device(void)
|
||||
{
|
||||
switch (davinci_syscfg_regs->bootcfg) {
|
||||
|
||||
@@ -7,30 +7,41 @@
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
ifeq ($(SOC),$(filter $(SOC),mx25 mx35 mx5 mx6 mx7 vf610))
|
||||
ifeq ($(SOC),$(filter $(SOC),mx25 mx35 mx5 mx6 mx7 mx8m vf610))
|
||||
obj-y = iomux-v3.o
|
||||
endif
|
||||
|
||||
ifeq ($(SOC),$(filter $(SOC),mx8m))
|
||||
obj-$(CONFIG_IMX_BOOTAUX) += imx_bootaux.o
|
||||
obj-$(CONFIG_ENV_IS_IN_MMC) += mmc_env.o
|
||||
obj-$(CONFIG_FEC_MXC) += mac.o
|
||||
obj-$(CONFIG_SYS_I2C_MXC) += i2c-mxv7.o
|
||||
obj-y += cpu.o
|
||||
endif
|
||||
|
||||
ifeq ($(SOC),$(filter $(SOC),mx5 mx6))
|
||||
obj-y += cpu.o speed.o
|
||||
obj-$(CONFIG_GPT_TIMER) += timer.o
|
||||
obj-$(CONFIG_SYS_I2C_MXC) += i2c-mxv7.o
|
||||
endif
|
||||
ifeq ($(SOC),$(filter $(SOC),mx7 mx6 mxs))
|
||||
ifeq ($(SOC),$(filter $(SOC),mx7 mx6 mxs mx8m))
|
||||
obj-y += misc.o
|
||||
obj-$(CONFIG_SPL_BUILD) += spl.o
|
||||
endif
|
||||
ifeq ($(SOC),$(filter $(SOC),mx7))
|
||||
obj-y += cpu.o
|
||||
obj-$(CONFIG_SYS_I2C_MXC) += i2c-mxv7.o
|
||||
obj-$(CONFIG_ENV_IS_IN_MMC) += mmc_env.o
|
||||
endif
|
||||
ifeq ($(SOC),$(filter $(SOC),mx6 mx7))
|
||||
obj-y += cache.o init.o
|
||||
obj-$(CONFIG_SATA) += sata.o
|
||||
obj-$(CONFIG_FEC_MXC) += mac.o
|
||||
obj-$(CONFIG_IMX_VIDEO_SKIP) += video.o
|
||||
obj-$(CONFIG_IMX_RDC) += rdc-sema.o
|
||||
ifneq ($(CONFIG_SPL_BUILD),y)
|
||||
obj-$(CONFIG_IMX_BOOTAUX) += imx_bootaux.o
|
||||
endif
|
||||
obj-$(CONFIG_SATA) += sata.o
|
||||
obj-$(CONFIG_SECURE_BOOT) += hab.o
|
||||
obj-$(CONFIG_SYSCOUNTER_TIMER) += syscounter.o
|
||||
endif
|
||||
@@ -124,8 +135,10 @@ spl/u-boot-nand-spl.imx: SPL FORCE
|
||||
|
||||
targets += $(addprefix ../../../,$(IMX_CONFIG) SPL u-boot.uim spl/u-boot-nand-spl.imx)
|
||||
|
||||
obj-$(CONFIG_ARM64) += sip.o
|
||||
|
||||
obj-$(CONFIG_MX5) += mx5/
|
||||
obj-$(CONFIG_MX6) += mx6/
|
||||
obj-$(CONFIG_MX7) += mx7/
|
||||
obj-$(CONFIG_ARCH_MX7ULP) += mx7ulp/
|
||||
|
||||
obj-$(CONFIG_MX8M) += mx8m/
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user