Compare commits
520 Commits
v2017.09
...
v2017.11-r
| Author | SHA1 | Date | |
|---|---|---|---|
| 43dd6dacb2 | |||
| de163ecedb | |||
| 4d1c166fee | |||
| 16d4ff76c5 | |||
| dc04b35ef2 | |||
| 72ac8f3fc2 | |||
| fae35857e1 | |||
| ab2b727dc0 | |||
| fa483b2c75 | |||
| f51966bf7a | |||
| 061895fbe5 | |||
| b90203526f | |||
| b5aa857b95 | |||
| 932bb668bb | |||
| c008faa773 | |||
| 1897d60130 | |||
| 2f0eb2ac4b | |||
| 8a0e6d8307 | |||
| f4d4f7d41c | |||
| ad56e4b684 | |||
| ad0a9378bf | |||
| d4efefe32e | |||
| d7771f0c5c | |||
| 848436a48d | |||
| 84aa8536f0 | |||
| 813f74ea47 | |||
| 8d36c68741 | |||
| 98b639fc50 | |||
| 958046fc78 | |||
| e19fa89c9d | |||
| 2ee3021ae1 | |||
| 7c158634ca | |||
| 9086eab8fe | |||
| 482cf22333 | |||
| 0b5e7aab0e | |||
| 775bd78a11 | |||
| c55addd360 | |||
| 80e9f88e67 | |||
| dbad01cab5 | |||
| 3b4f87735d | |||
| fb7406469c | |||
| 861ff27757 | |||
| 4a18729726 | |||
| f9674f5eec | |||
| dd834e26b2 | |||
| be93fc2476 | |||
| fd0a1ba52e | |||
| 6696fe5a2f | |||
| 5d94ebedcd | |||
| 532cb7f5ad | |||
| a982d5156d | |||
| d9a7dcf5b8 | |||
| f3f6591ca3 | |||
| 5d62aba4e3 | |||
| 04e97e48d0 | |||
| 21c7acc7cb | |||
| cbe18f10e6 | |||
| 8d35f3694f | |||
| a27290a6f8 | |||
| ffd1cd67da | |||
| 0176399b79 | |||
| f0768491db | |||
| c9eb7bca4b | |||
| 5b67d7010b | |||
| b5934cf67c | |||
| 8e8bcccc18 | |||
| 3b4cab15ac | |||
| 6333a3bad9 | |||
| 0ac1ae65ea | |||
| f957dec682 | |||
| 0eaf58bfaa | |||
| 679276bde6 | |||
| fdc1eccbd1 | |||
| 364fc7315a | |||
| 615514c16d | |||
| b375d84135 | |||
| ef4cf5ae39 | |||
| 2e4ce50d1a | |||
| ae3ed042ed | |||
| 6ca43a58db | |||
| 2717c08485 | |||
| a0b0ff0ae6 | |||
| f6d245b8c5 | |||
| 8adb6ec885 | |||
| 0cc40dfc66 | |||
| df518f804f | |||
| ba7f58b12f | |||
| f8e714ebfa | |||
| 373358f27a | |||
| 0830d72bb9 | |||
| c2dca3374a | |||
| b85781c2a8 | |||
| a56fd949a5 | |||
| 4e1102f6de | |||
| 2719ae3346 | |||
| 117eeb7f84 | |||
| 2d26bf6c26 | |||
| d5170448ae | |||
| af3fae0b1b | |||
| ff6c3125e7 | |||
| c774207f48 | |||
| f4fad71612 | |||
| a4670f8ebb | |||
| ab0ac27242 | |||
| 4c70755986 | |||
| ec4e99a4a2 | |||
| 3d3108d459 | |||
| b016b58542 | |||
| 9f13021f81 | |||
| d6c40031d5 | |||
| 9969306971 | |||
| b312c590bc | |||
| 9c7ffc94dc | |||
| 6e9b109aa9 | |||
| a939af0c74 | |||
| 2e5026a2f0 | |||
| 6e652e3a7d | |||
| a9d3037a8e | |||
| 32c8eee37f | |||
| ea7fad9101 | |||
| 6158d0b424 | |||
| a23aa66baa | |||
| 022ceacaf8 | |||
| 3e59f59015 | |||
| 7489d22a3c | |||
| 9241265f29 | |||
| f66bc0e0be | |||
| 0cc8c3064d | |||
| 72443c7f7d | |||
| 1ec0a37e1c | |||
| 0d106f1e73 | |||
| f3a88e2ca1 | |||
| c3ab274444 | |||
| 0a91e1cce4 | |||
| 631407c5c0 | |||
| 0f8031a333 | |||
| a30d3e7777 | |||
| 7654f62f4e | |||
| 3efd018954 | |||
| 78cb000b84 | |||
| 1050998728 | |||
| db10809c17 | |||
| 545a438222 | |||
| 811b6be166 | |||
| 1c631da459 | |||
| 994266bdff | |||
| 1f6049e250 | |||
| 36dd5f1b8a | |||
| 2d4c225993 | |||
| d6fc90ced4 | |||
| c0e032e009 | |||
| 0929863aff | |||
| 6ef71c61f6 | |||
| a7d5b6c668 | |||
| 5e8c39d4f4 | |||
| 2aca29557d | |||
| 09c6778d9f | |||
| e2c43a4242 | |||
| 3c7d647e11 | |||
| b5dfd47581 | |||
| 8472d8765b | |||
| 0d7f1ae0fe | |||
| e45ff0ce63 | |||
| 4b97a82442 | |||
| 77dc01bdc1 | |||
| 32999fa5d6 | |||
| bdbcb52256 | |||
| 88486d0423 | |||
| 8ff7763d62 | |||
| b5a144a501 | |||
| b24633df31 | |||
| 4b26d5e3ae | |||
| 484d9db4f9 | |||
| 1c99f68e93 | |||
| 3d7b1d1bc4 | |||
| 91ebf30093 | |||
| 64b8d7a677 | |||
| 2fa73e784d | |||
| 933f67aa56 | |||
| 7cc238f2ee | |||
| 246771b184 | |||
| a1e384b4d9 | |||
| 5fbb2b25ae | |||
| d983a0f008 | |||
| 4e280b91a1 | |||
| 23a0641685 | |||
| 4c3aebd56a | |||
| 776b2ddbfa | |||
| 092e72cbb3 | |||
| a8c5112a26 | |||
| 4e6eeeac12 | |||
| bfd7ef110a | |||
| 01d142850e | |||
| 40d1a31e63 | |||
| 8b35f4346f | |||
| e9d1257203 | |||
| b7ca56dcda | |||
| dca3166f55 | |||
| 9ea2fc88dd | |||
| 819c626bb0 | |||
| 44913a185f | |||
| 93b1431f1a | |||
| be0105bc1e | |||
| bee278de81 | |||
| adfc3e4804 | |||
| 2460098cff | |||
| 2dc5b553b9 | |||
| 7dd5d44753 | |||
| 7155cd2e6e | |||
| 7b1a50b7b6 | |||
| 6d3cb0fdcd | |||
| 1341494c7d | |||
| e336b73d8a | |||
| ce4e2370f7 | |||
| 19fc21fb4a | |||
| d573b36402 | |||
| 7aca68ca06 | |||
| e884656c2c | |||
| 031426a7af | |||
| 511db3bf5a | |||
| be2808c3b0 | |||
| b1e8512e9d | |||
| 3a45bc7faa | |||
| a18c5a8382 | |||
| 71cc25c35c | |||
| 778e6af8a6 | |||
| 4657a3f1ac | |||
| 61b7e22479 | |||
| 9975fe96b6 | |||
| ad644e7c18 | |||
| 946160f334 | |||
| 838ee4b479 | |||
| 2a92080d8c | |||
| 95c5553ea2 | |||
| e15fc33548 | |||
| 884bcf6f65 | |||
| adae4313cd | |||
| 9309a1b76c | |||
| b66c60dde9 | |||
| c80214ce1f | |||
| a8606ef075 | |||
| ff98cb9051 | |||
| 0d6ab32e37 | |||
| 0923876d29 | |||
| 152a263c86 | |||
| 1835f6ea71 | |||
| 32f4b2f8c4 | |||
| bd126692da | |||
| 2eca84523f | |||
| ca62a4f53e | |||
| 38b1b79021 | |||
| 623b3a5797 | |||
| ea630ce9ea | |||
| 29f1a3670e | |||
| 591cf2e161 | |||
| eefa0a647d | |||
| c96967e6d7 | |||
| b0763108ea | |||
| 5e44489bc1 | |||
| d6507e6fd9 | |||
| a148920e12 | |||
| ae0bd3a983 | |||
| da94073b42 | |||
| a80a232e96 | |||
| 51c533fdce | |||
| 975f97b431 | |||
| 60d7c50945 | |||
| 6e5bd8d6f3 | |||
| 5184daddaa | |||
| 75ff057851 | |||
| 1d70f0ac88 | |||
| 8158a848fa | |||
| 7b87e3bfaf | |||
| f6230a0057 | |||
| 75c7859803 | |||
| 46c89c8efa | |||
| 2f01a2b214 | |||
| 8ac884974a | |||
| ffaefb885e | |||
| d55af074e5 | |||
| ba1657338b | |||
| c254b29fef | |||
| f041176c46 | |||
| c23ce9ab85 | |||
| a1d3480bc6 | |||
| cc91bdf8d4 | |||
| a904a16bc1 | |||
| 327b2b35c5 | |||
| d27c273908 | |||
| d2edb968c4 | |||
| 9a342f48a6 | |||
| 6675c952f2 | |||
| cc7ce94e02 | |||
| be5f04e850 | |||
| b343837e90 | |||
| 15050f1cb0 | |||
| c131c8bca8 | |||
| af82315164 | |||
| b61e8b0c9e | |||
| 148a139d65 | |||
| c914034090 | |||
| cc8fb2f793 | |||
| 4c94aacd62 | |||
| c964a0dcae | |||
| 578ab33eab | |||
| 809ec9454f | |||
| cbeedafdc8 | |||
| 30df9f770b | |||
| 0bfd4f81ae | |||
| 8590786acf | |||
| e203dcf23e | |||
| 45d19acb2f | |||
| 7d289d6239 | |||
| a184fb8e96 | |||
| 2bf7c86ebb | |||
| 81b9bb5fcb | |||
| 6c71b6f454 | |||
| c07f38208a | |||
| 8a1c44271c | |||
| 2b2e9f6b9e | |||
| d69bb0ecbf | |||
| 066b25b6c4 | |||
| 2ff50f5fa4 | |||
| 5ee94b4f40 | |||
| eb45787b39 | |||
| 507f1024b8 | |||
| fffad9264a | |||
| e61a2687b3 | |||
| de9ac9a1b9 | |||
| b3fd2126dc | |||
| 5df91f1c82 | |||
| 6c22379eaf | |||
| 59ea8c250b | |||
| ae3ca1251d | |||
| 4ff333b7dd | |||
| bb737ced7f | |||
| 3df39ef107 | |||
| 08cebeeaad | |||
| 110ba62519 | |||
| 079c92b0a7 | |||
| 8ce5fac9a0 | |||
| a1e4bc65e1 | |||
| 725ffdb5cb | |||
| 265edc03d5 | |||
| 21a24c3bf3 | |||
| 89191d6267 | |||
| 41fa83d1a6 | |||
| 1f40366b31 | |||
| 4bbcc965f9 | |||
| 8eafae209c | |||
| c6e3baa565 | |||
| 45449980f8 | |||
| 1c7b5d0309 | |||
| c977226840 | |||
| cd3e8a72a6 | |||
| 5c761ce586 | |||
| e2888a7fa7 | |||
| 723b43daec | |||
| ea28e488f7 | |||
| 706708d3b2 | |||
| 1e9c4393fd | |||
| da0b3a946f | |||
| 56fc7032e1 | |||
| d80162cfc5 | |||
| 6b54e50b5a | |||
| 169043d826 | |||
| 7c3dc776b9 | |||
| ad026adbcf | |||
| f00c36a01e | |||
| 81ecc5d92b | |||
| fc7c31891c | |||
| 18c991ca2b | |||
| d503114c66 | |||
| b145b45b0c | |||
| 634eba4be0 | |||
| bc79617fdf | |||
| 35d503700f | |||
| 0d15463c05 | |||
| 8fed2eb20c | |||
| 2925c26bb2 | |||
| 72ab7c5e38 | |||
| 09264e0433 | |||
| 5ec741fd84 | |||
| c20ee0ed07 | |||
| 21d54ac353 | |||
| fbdfd228fb | |||
| 979ab02473 | |||
| 93c94b889b | |||
| ae1c0a38c8 | |||
| 6305db9604 | |||
| 2e79461483 | |||
| c5772188ed | |||
| a2f422555f | |||
| bf6d76b84a | |||
| 2f9455c849 | |||
| 101d2171e1 | |||
| 5541543f68 | |||
| a35c34025e | |||
| e61ed48ff5 | |||
| 2269337614 | |||
| 6553581a81 | |||
| ce4054bf82 | |||
| 245cbc583d | |||
| b5c13daca4 | |||
| dfd6d3a9d4 | |||
| 23a19e0358 | |||
| 2b21cf55cc | |||
| 3ceb5118c6 | |||
| 82e0646af7 | |||
| d330e04d9d | |||
| 56246d1e87 | |||
| e7c831543a | |||
| 0712b672d2 | |||
| b861c61698 | |||
| ad8931400b | |||
| e333083bf3 | |||
| 34330a362f | |||
| f0333b4c2e | |||
| 919ccb9fe5 | |||
| 7672d9d582 | |||
| bf1ddfc026 | |||
| 74cd48e132 | |||
| 3e9f8f2f51 | |||
| cac73f20ac | |||
| 2d2531be86 | |||
| 36bdeb75a4 | |||
| ba39608147 | |||
| f926837504 | |||
| 6c06f8dc4a | |||
| b27af39935 | |||
| 29487ef4d5 | |||
| 261ec8f6a6 | |||
| 347e30e172 | |||
| 4f84cb980f | |||
| bac9170fb2 | |||
| de6567522e | |||
| 7264066707 | |||
| 82f1205601 | |||
| 58fac52d2f | |||
| 6442c9643e | |||
| 7e3e205607 | |||
| 22ada0c8e6 | |||
| 274325c509 | |||
| 78178bb0c9 | |||
| 4a85663ec7 | |||
| 8a33cb8b6b | |||
| fa6365b7c7 | |||
| de2ad2c40d | |||
| 8ef0535250 | |||
| 971d7e6424 | |||
| 72719d2f8a | |||
| 5b6a6a91c8 | |||
| 08a43cfbc2 | |||
| 985fa93e61 | |||
| ee87a097b0 | |||
| e81c98649b | |||
| e11aa602ab | |||
| c79d18c4b4 | |||
| 3991f42ed2 | |||
| 8639f69a61 | |||
| ee3e520dad | |||
| a0f9acb08b | |||
| 226b50bbd8 | |||
| 98cff66027 | |||
| 5fe7702ecc | |||
| d81a1de96e | |||
| fafa440342 | |||
| 34e2819d31 | |||
| d9b23e26f0 | |||
| 08318317af | |||
| 8b2551a4db | |||
| 209742fa88 | |||
| fede942980 | |||
| b63b995b16 | |||
| 4ddaa6ce28 | |||
| 911d76c417 | |||
| cd43b51600 | |||
| 9120ef079c | |||
| c9a7c17a96 | |||
| c247605510 | |||
| c8c04eca30 | |||
| 0f9e6aee9d | |||
| 0537e097c9 | |||
| db4fce8fcd | |||
| 91d3e90668 | |||
| bce2629887 | |||
| 42f43aa258 | |||
| 4950eb4a48 | |||
| 4c5c87da7b | |||
| c4787f4b23 | |||
| e9303a4146 | |||
| 0e8a4264ec | |||
| e10d114279 | |||
| c1853f6f73 | |||
| 83fa71189a | |||
| 15d59b5316 | |||
| 9d1cd910f7 | |||
| 2a8a353958 | |||
| 2ab1553f08 | |||
| 9a609a8800 | |||
| 9f244b3587 | |||
| 17d066fc5d | |||
| 7769776a60 | |||
| e84a324ba7 | |||
| 6d9b82d085 | |||
| 22c51855bf | |||
| 5436c6a347 | |||
| 033c538e56 | |||
| c055cee195 | |||
| c8bc3c0c9f | |||
| 5fd13d9736 | |||
| 7264f2928b | |||
| d1f2ee7021 | |||
| 05e35d26db | |||
| 73fbcdf163 | |||
| 15e7c681e1 | |||
| 06fb06f66c | |||
| a7a81756b8 | |||
| 63b2316c5c | |||
| c7430d7d5e |
@ -29,9 +29,6 @@ addons:
|
||||
- device-tree-compiler
|
||||
|
||||
install:
|
||||
# install latest device tree compiler
|
||||
#- git clone --depth=1 git://git.kernel.org/pub/scm/utils/dtc/dtc.git /tmp/dtc
|
||||
#- make -j4 -C /tmp/dtc
|
||||
# Clone uboot-test-hooks
|
||||
- git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks
|
||||
- ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`
|
||||
@ -52,7 +49,7 @@ install:
|
||||
|
||||
env:
|
||||
global:
|
||||
- PATH=/tmp/dtc:/tmp/qemu-install/bin:/tmp/uboot-test-hooks/bin:$PATH
|
||||
- PATH=/tmp/qemu-install/bin:/tmp/uboot-test-hooks/bin:/usr/bin:/bin
|
||||
- PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci
|
||||
- BUILD_DIR=build
|
||||
- HOSTCC="cc"
|
||||
|
||||
@ -259,8 +259,9 @@ EFI PAYLOAD
|
||||
M: Alexander Graf <agraf@suse.de>
|
||||
S: Maintained
|
||||
T: git git://github.com/agraf/u-boot.git
|
||||
F: include/efi_loader.h
|
||||
F: lib/efi_loader/
|
||||
F: include/efi*
|
||||
F: lib/efi*
|
||||
F: test/py/tests/test_efi*
|
||||
F: cmd/bootefi.c
|
||||
|
||||
FLATTENED DEVICE TREE
|
||||
@ -419,6 +420,7 @@ F: arch/arm/mach-omap2/omap5/sec-fxns.c
|
||||
F: arch/arm/mach-omap2/sec-common.c
|
||||
F: arch/arm/mach-omap2/config_secure.mk
|
||||
F: configs/am335x_hs_evm_defconfig
|
||||
F: configs/am335x_hs_evm_uart_defconfig
|
||||
F: configs/am43xx_hs_evm_defconfig
|
||||
F: configs/am57xx_hs_evm_defconfig
|
||||
F: configs/dra7xx_hs_evm_defconfig
|
||||
|
||||
15
Makefile
15
Makefile
@ -3,9 +3,9 @@
|
||||
#
|
||||
|
||||
VERSION = 2017
|
||||
PATCHLEVEL = 09
|
||||
PATCHLEVEL = 11
|
||||
SUBLEVEL =
|
||||
EXTRAVERSION =
|
||||
EXTRAVERSION = -rc1
|
||||
NAME =
|
||||
|
||||
# *DOCUMENTATION*
|
||||
@ -349,7 +349,7 @@ OBJDUMP = $(CROSS_COMPILE)objdump
|
||||
AWK = awk
|
||||
PERL = perl
|
||||
PYTHON ?= python
|
||||
DTC ?= dtc
|
||||
DTC ?= $(objtree)/scripts/dtc/dtc
|
||||
CHECK = sparse
|
||||
|
||||
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
|
||||
@ -360,6 +360,7 @@ KBUILD_CPPFLAGS := -D__KERNEL__ -D__UBOOT__
|
||||
KBUILD_CFLAGS := -Wall -Wstrict-prototypes \
|
||||
-Wno-format-security \
|
||||
-fno-builtin -ffreestanding
|
||||
KBUILD_CFLAGS += -fshort-wchar
|
||||
KBUILD_AFLAGS := -D__ASSEMBLY__
|
||||
|
||||
# Read UBOOTRELEASE from include/config/uboot.release (if it exists)
|
||||
@ -871,7 +872,7 @@ endif
|
||||
PHONY += dtbs
|
||||
dtbs: dts/dt.dtb
|
||||
@:
|
||||
dts/dt.dtb: checkdtc u-boot
|
||||
dts/dt.dtb: u-boot
|
||||
$(Q)$(MAKE) $(build)=dts dtbs
|
||||
|
||||
quiet_cmd_copy = COPY $@
|
||||
@ -1446,12 +1447,6 @@ SYSTEM_MAP = \
|
||||
System.map: u-boot
|
||||
@$(call SYSTEM_MAP,$<) > $@
|
||||
|
||||
checkdtc:
|
||||
@if test $(call dtc-version) -lt 0104; then \
|
||||
echo '*** Your dtc is too old, please upgrade to dtc 1.4 or newer'; \
|
||||
false; \
|
||||
fi
|
||||
|
||||
#########################################################################
|
||||
|
||||
# ARM relocations should all be R_ARM_RELATIVE (32-bit) or
|
||||
|
||||
13
README
13
README
@ -312,6 +312,19 @@ Many of the options are named exactly as the corresponding Linux
|
||||
kernel configuration options. The intention is to make it easier to
|
||||
build a config tool - later.
|
||||
|
||||
- ARM Platform Bus Type(CCI):
|
||||
CoreLink Cache Coherent Interconnect (CCI) is ARM BUS which
|
||||
provides full cache coherency between two clusters of multi-core
|
||||
CPUs and I/O coherency for devices and I/O masters
|
||||
|
||||
CONFIG_SYS_FSL_HAS_CCI400
|
||||
|
||||
Defined For SoC that has cache coherent interconnect
|
||||
CCN-400
|
||||
|
||||
CONFIG_SYS_FSL_HAS_CCN504
|
||||
|
||||
Defined for SoC that has cache coherent interconnect CCN-504
|
||||
|
||||
The following options need to be configured:
|
||||
|
||||
|
||||
@ -588,6 +588,7 @@ config ARCH_OMAP2PLUS
|
||||
bool "TI OMAP2+"
|
||||
select CPU_V7
|
||||
select SPL_BOARD_INIT if SPL
|
||||
select SPL_STACK_R if SPL
|
||||
select SUPPORT_SPL
|
||||
imply FIT
|
||||
|
||||
@ -808,6 +809,19 @@ config TARGET_LS2080A_SIMU
|
||||
development platform that supports the QorIQ LS2080A
|
||||
Layerscape Architecture processor.
|
||||
|
||||
config TARGET_LS1088AQDS
|
||||
bool "Support ls1088aqds"
|
||||
select ARCH_LS1088A
|
||||
select ARM64
|
||||
select ARMV8_MULTIENTRY
|
||||
select ARCH_MISC_INIT
|
||||
select BOARD_LATE_INIT
|
||||
help
|
||||
Support for NXP LS1088AQDS platform
|
||||
The LS1088A Development System (QDS) is a high-performance
|
||||
development platform that supports the QorIQ LS1088A
|
||||
Layerscape Architecture processor.
|
||||
|
||||
config TARGET_LS2080AQDS
|
||||
bool "Support ls2080aqds"
|
||||
select ARCH_LS2080A
|
||||
@ -909,6 +923,19 @@ config TARGET_LS1012AFRDM
|
||||
development platform that supports the QorIQ LS1012A
|
||||
Layerscape Architecture processor.
|
||||
|
||||
config TARGET_LS1088ARDB
|
||||
bool "Support ls1088ardb"
|
||||
select ARCH_LS1088A
|
||||
select ARM64
|
||||
select ARMV8_MULTIENTRY
|
||||
select ARCH_MISC_INIT
|
||||
select BOARD_LATE_INIT
|
||||
help
|
||||
Support for NXP LS1088ARDB platform.
|
||||
The LS1088A Reference design board (RDB) is a high-performance
|
||||
development platform that supports the QorIQ LS1088A
|
||||
Layerscape Architecture processor.
|
||||
|
||||
config TARGET_LS1021AQDS
|
||||
bool "Support ls1021aqds"
|
||||
select BOARD_LATE_INIT
|
||||
@ -1088,6 +1115,9 @@ config ARCH_ROCKCHIP
|
||||
imply FAT_WRITE
|
||||
imply USB_FUNCTION_FASTBOOT
|
||||
imply SPL_SYSRESET
|
||||
imply TPL_SYSRESET
|
||||
imply ADC
|
||||
imply SARADC_ROCKCHIP
|
||||
|
||||
config TARGET_THUNDERX_88XX
|
||||
bool "Support ThunderX 88xx"
|
||||
@ -1192,6 +1222,7 @@ source "board/creative/xfi3/Kconfig"
|
||||
source "board/freescale/ls2080a/Kconfig"
|
||||
source "board/freescale/ls2080aqds/Kconfig"
|
||||
source "board/freescale/ls2080ardb/Kconfig"
|
||||
source "board/freescale/ls1088a/Kconfig"
|
||||
source "board/freescale/ls1021aqds/Kconfig"
|
||||
source "board/freescale/ls1043aqds/Kconfig"
|
||||
source "board/freescale/ls1021atwr/Kconfig"
|
||||
|
||||
@ -2,9 +2,14 @@ config ARCH_LS1021A
|
||||
bool
|
||||
select SYS_FSL_ERRATUM_A008378
|
||||
select SYS_FSL_ERRATUM_A008407
|
||||
select SYS_FSL_ERRATUM_A008997
|
||||
select SYS_FSL_ERRATUM_A009007
|
||||
select SYS_FSL_ERRATUM_A009008
|
||||
select SYS_FSL_ERRATUM_A009663
|
||||
select SYS_FSL_ERRATUM_A009798
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_A010315
|
||||
select SYS_FSL_HAS_CCI400
|
||||
select SYS_FSL_SRDS_1
|
||||
select SYS_HAS_SERDES
|
||||
select SYS_FSL_DDR_BE if SYS_FSL_DDR
|
||||
@ -49,9 +54,40 @@ config SECURE_BOOT
|
||||
Enable Freescale Secure Boot feature. Normally selected
|
||||
by defconfig. If unsure, do not change.
|
||||
|
||||
config SYS_CCI400_OFFSET
|
||||
hex "Offset for CCI400 base"
|
||||
depends on SYS_FSL_HAS_CCI400
|
||||
default 0x180000
|
||||
help
|
||||
Offset for CCI400 base.
|
||||
CCI400 base addr = CCSRBAR + CCI400_OFFSET
|
||||
|
||||
config SYS_FSL_ERRATUM_A008997
|
||||
bool
|
||||
help
|
||||
Workaround for USB PHY erratum A008997
|
||||
|
||||
config SYS_FSL_ERRATUM_A009007
|
||||
bool
|
||||
help
|
||||
Workaround for USB PHY erratum A009007
|
||||
|
||||
config SYS_FSL_ERRATUM_A009008
|
||||
bool
|
||||
help
|
||||
Workaround for USB PHY erratum A009008
|
||||
|
||||
config SYS_FSL_ERRATUM_A009798
|
||||
bool
|
||||
help
|
||||
Workaround for USB PHY erratum A009798
|
||||
|
||||
config SYS_FSL_ERRATUM_A010315
|
||||
bool "Workaround for PCIe erratum A010315"
|
||||
|
||||
config SYS_FSL_HAS_CCI400
|
||||
bool
|
||||
|
||||
config SYS_FSL_SRDS_1
|
||||
bool
|
||||
|
||||
|
||||
@ -60,6 +60,50 @@ unsigned int get_soc_major_rev(void)
|
||||
return major;
|
||||
}
|
||||
|
||||
static void erratum_a009008(void)
|
||||
{
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A009008
|
||||
u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE;
|
||||
|
||||
clrsetbits_be32(scfg + SCFG_USB3PRM1CR / 4,
|
||||
0xF << 6,
|
||||
SCFG_USB_TXVREFTUNE << 6);
|
||||
#endif /* CONFIG_SYS_FSL_ERRATUM_A009008 */
|
||||
}
|
||||
|
||||
static void erratum_a009798(void)
|
||||
{
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A009798
|
||||
u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE;
|
||||
|
||||
clrbits_be32(scfg + SCFG_USB3PRM1CR / 4,
|
||||
SCFG_USB_SQRXTUNE_MASK << 23);
|
||||
#endif /* CONFIG_SYS_FSL_ERRATUM_A009798 */
|
||||
}
|
||||
|
||||
static void erratum_a008997(void)
|
||||
{
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A008997
|
||||
u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE;
|
||||
|
||||
clrsetbits_be32(scfg + SCFG_USB3PRM2CR / 4,
|
||||
SCFG_USB_PCSTXSWINGFULL_MASK,
|
||||
SCFG_USB_PCSTXSWINGFULL_VAL);
|
||||
#endif /* CONFIG_SYS_FSL_ERRATUM_A008997 */
|
||||
}
|
||||
|
||||
static void erratum_a009007(void)
|
||||
{
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A009007
|
||||
void __iomem *usb_phy = (void __iomem *)USB_PHY_BASE;
|
||||
|
||||
out_le16(usb_phy + USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_1);
|
||||
out_le16(usb_phy + USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_2);
|
||||
out_le16(usb_phy + USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_3);
|
||||
out_le16(usb_phy + USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_4);
|
||||
#endif /* CONFIG_SYS_FSL_ERRATUM_A009007 */
|
||||
}
|
||||
|
||||
void s_init(void)
|
||||
{
|
||||
}
|
||||
@ -80,7 +124,8 @@ void erratum_a010315(void)
|
||||
int arch_soc_init(void)
|
||||
{
|
||||
struct ccsr_scfg *scfg = (struct ccsr_scfg *)CONFIG_SYS_FSL_SCFG_ADDR;
|
||||
struct ccsr_cci400 *cci = (struct ccsr_cci400 *)CONFIG_SYS_CCI400_ADDR;
|
||||
struct ccsr_cci400 *cci = (struct ccsr_cci400 *)(CONFIG_SYS_IMMR +
|
||||
CONFIG_SYS_CCI400_OFFSET);
|
||||
unsigned int major;
|
||||
|
||||
#ifdef CONFIG_LAYERSCAPE_NS_ACCESS
|
||||
@ -146,6 +191,12 @@ int arch_soc_init(void)
|
||||
*/
|
||||
out_be32(&scfg->eddrtqcfg, 0x63b20042);
|
||||
|
||||
/* Erratum */
|
||||
erratum_a009008();
|
||||
erratum_a009798();
|
||||
erratum_a008997();
|
||||
erratum_a009007();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -88,6 +88,7 @@ config PSCI_RESET
|
||||
depends on !ARCH_EXYNOS7 && !ARCH_BCM283X && !TARGET_LS2080A_EMU && \
|
||||
!TARGET_LS2080A_SIMU && !TARGET_LS2080AQDS && \
|
||||
!TARGET_LS2080ARDB && !TARGET_LS1012AQDS && \
|
||||
!TARGET_LS1088ARDB && !TARGET_LS1088AQDS && \
|
||||
!TARGET_LS1012ARDB && !TARGET_LS1012AFRDM && \
|
||||
!TARGET_LS1043ARDB && !TARGET_LS1043AQDS && \
|
||||
!TARGET_LS1046ARDB && !TARGET_LS1046AQDS && \
|
||||
|
||||
@ -16,8 +16,12 @@ config ARCH_LS1043A
|
||||
select SYS_FSL_DDR_BE
|
||||
select SYS_FSL_DDR_VER_50
|
||||
select SYS_FSL_ERRATUM_A008850
|
||||
select SYS_FSL_ERRATUM_A008997
|
||||
select SYS_FSL_ERRATUM_A009007
|
||||
select SYS_FSL_ERRATUM_A009008
|
||||
select SYS_FSL_ERRATUM_A009660
|
||||
select SYS_FSL_ERRATUM_A009663
|
||||
select SYS_FSL_ERRATUM_A009798
|
||||
select SYS_FSL_ERRATUM_A009929
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_A010315
|
||||
@ -39,6 +43,10 @@ config ARCH_LS1046A
|
||||
select SYS_FSL_ERRATUM_A008336
|
||||
select SYS_FSL_ERRATUM_A008511
|
||||
select SYS_FSL_ERRATUM_A008850
|
||||
select SYS_FSL_ERRATUM_A008997
|
||||
select SYS_FSL_ERRATUM_A009007
|
||||
select SYS_FSL_ERRATUM_A009008
|
||||
select SYS_FSL_ERRATUM_A009798
|
||||
select SYS_FSL_ERRATUM_A009801
|
||||
select SYS_FSL_ERRATUM_A009803
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
@ -50,6 +58,32 @@ config ARCH_LS1046A
|
||||
select BOARD_EARLY_INIT_F
|
||||
imply SCSI
|
||||
|
||||
config ARCH_LS1088A
|
||||
bool
|
||||
select ARMV8_SET_SMPEN
|
||||
select FSL_LSCH3
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDR_LE
|
||||
select SYS_FSL_DDR_VER_50
|
||||
select SYS_FSL_EC1
|
||||
select SYS_FSL_EC2
|
||||
select SYS_FSL_ERRATUM_A009803
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
select SYS_FSL_ERRATUM_A010165
|
||||
select SYS_FSL_ERRATUM_A008511
|
||||
select SYS_FSL_ERRATUM_A008850
|
||||
select SYS_FSL_HAS_CCI400
|
||||
select SYS_FSL_HAS_DDR4
|
||||
select SYS_FSL_HAS_RGMII
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_COMPAT_5
|
||||
select SYS_FSL_SEC_LE
|
||||
select SYS_FSL_SRDS_1
|
||||
select SYS_FSL_SRDS_2
|
||||
select FSL_TZASC_1
|
||||
select ARCH_EARLY_INIT_R
|
||||
select BOARD_EARLY_INIT_F
|
||||
|
||||
config ARCH_LS2080A
|
||||
bool
|
||||
select ARMV8_SET_SMPEN
|
||||
@ -61,6 +95,7 @@ config ARCH_LS2080A
|
||||
select SYS_FSL_DDR
|
||||
select SYS_FSL_DDR_LE
|
||||
select SYS_FSL_DDR_VER_50
|
||||
select SYS_FSL_HAS_CCN504
|
||||
select SYS_FSL_HAS_DP_DDR
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_HAS_DDR4
|
||||
@ -73,8 +108,12 @@ config ARCH_LS2080A
|
||||
select SYS_FSL_ERRATUM_A008511
|
||||
select SYS_FSL_ERRATUM_A008514
|
||||
select SYS_FSL_ERRATUM_A008585
|
||||
select SYS_FSL_ERRATUM_A008997
|
||||
select SYS_FSL_ERRATUM_A009007
|
||||
select SYS_FSL_ERRATUM_A009008
|
||||
select SYS_FSL_ERRATUM_A009635
|
||||
select SYS_FSL_ERRATUM_A009663
|
||||
select SYS_FSL_ERRATUM_A009798
|
||||
select SYS_FSL_ERRATUM_A009801
|
||||
select SYS_FSL_ERRATUM_A009803
|
||||
select SYS_FSL_ERRATUM_A009942
|
||||
@ -85,6 +124,7 @@ config ARCH_LS2080A
|
||||
|
||||
config FSL_LSCH2
|
||||
bool
|
||||
select SYS_FSL_HAS_CCI400
|
||||
select SYS_FSL_HAS_SEC
|
||||
select SYS_FSL_SEC_COMPAT_5
|
||||
select SYS_FSL_SEC_BE
|
||||
@ -98,7 +138,7 @@ config FSL_LSCH3
|
||||
|
||||
config FSL_MC_ENET
|
||||
bool "Management Complex network"
|
||||
depends on ARCH_LS2080A
|
||||
depends on ARCH_LS2080A || ARCH_LS1088A
|
||||
default y
|
||||
select RESV_RAM
|
||||
help
|
||||
@ -114,6 +154,7 @@ config FSL_PCIE_COMPAT
|
||||
default "fsl,ls1043a-pcie" if ARCH_LS1043A
|
||||
default "fsl,ls1046a-pcie" if ARCH_LS1046A
|
||||
default "fsl,ls2080a-pcie" if ARCH_LS2080A
|
||||
default "fsl,ls1088a-pcie" if ARCH_LS1088A
|
||||
help
|
||||
This compatible is used to find pci controller node in Kernel DT
|
||||
to complete fixup.
|
||||
@ -182,6 +223,7 @@ config SYS_LS_PPA_FW_ADDR
|
||||
default 0x20400000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT && ARCH_LS2080A
|
||||
default 0x40400000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT
|
||||
default 0x580400000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS2080A
|
||||
default 0x20400000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1088A
|
||||
default 0x60400000 if SYS_LS_PPA_FW_IN_XIP
|
||||
default 0x400000 if SYS_LS_PPA_FW_IN_MMC
|
||||
default 0x400000 if SYS_LS_PPA_FW_IN_NAND
|
||||
@ -195,12 +237,13 @@ config SYS_LS_PPA_FW_ADDR
|
||||
config SYS_LS_PPA_ESBC_ADDR
|
||||
hex "hdr address of PPA firmware loading from"
|
||||
depends on FSL_LS_PPA && CHAIN_OF_TRUST
|
||||
default 0x600c0000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1043A
|
||||
default 0x40740000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1046A
|
||||
default 0x40480000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1012A
|
||||
default 0x580c40000 if SYS_LS_PPA_FW_IN_XIP && FSL_LSCH3
|
||||
default 0x700000 if SYS_LS_PPA_FW_IN_MMC
|
||||
default 0x700000 if SYS_LS_PPA_FW_IN_NAND
|
||||
default 0x60680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1043A
|
||||
default 0x40680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1046A
|
||||
default 0x40680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1012A
|
||||
default 0x20680000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT && ARCH_LS2080A
|
||||
default 0x580680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS2080A
|
||||
default 0x680000 if SYS_LS_PPA_FW_IN_MMC
|
||||
default 0x680000 if SYS_LS_PPA_FW_IN_NAND
|
||||
help
|
||||
If the PPA header firmware locate at XIP flash, such as NOR or
|
||||
QSPI flash, this address is a directly memory-mapped.
|
||||
@ -217,6 +260,20 @@ config LS_PPA_ESBC_HDR_SIZE
|
||||
|
||||
endmenu
|
||||
|
||||
config SYS_FSL_ERRATUM_A008997
|
||||
bool "Workaround for USB PHY erratum A008997"
|
||||
|
||||
config SYS_FSL_ERRATUM_A009007
|
||||
bool
|
||||
help
|
||||
Workaround for USB PHY erratum A009007
|
||||
|
||||
config SYS_FSL_ERRATUM_A009008
|
||||
bool "Workaround for USB PHY erratum A009008"
|
||||
|
||||
config SYS_FSL_ERRATUM_A009798
|
||||
bool "Workaround for USB PHY erratum A009798"
|
||||
|
||||
config SYS_FSL_ERRATUM_A010315
|
||||
bool "Workaround for PCIe erratum A010315"
|
||||
|
||||
@ -228,6 +285,7 @@ config MAX_CPUS
|
||||
default 4 if ARCH_LS1043A
|
||||
default 4 if ARCH_LS1046A
|
||||
default 16 if ARCH_LS2080A
|
||||
default 8 if ARCH_LS1088A
|
||||
default 1
|
||||
help
|
||||
Set this number to the maximum number of possible CPUs in the SoC.
|
||||
@ -248,12 +306,27 @@ config QSPI_AHB_INIT
|
||||
But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
|
||||
bus for those flashes to support the full QSPI flash size.
|
||||
|
||||
config SYS_CCI400_OFFSET
|
||||
hex "Offset for CCI400 base"
|
||||
depends on SYS_FSL_HAS_CCI400
|
||||
default 0x3090000 if ARCH_LS1088A
|
||||
default 0x180000 if FSL_LSCH2
|
||||
help
|
||||
Offset for CCI400 base
|
||||
CCI400 base addr = CCSRBAR + CCI400_OFFSET
|
||||
|
||||
config SYS_FSL_IFC_BANK_COUNT
|
||||
int "Maximum banks of Integrated flash controller"
|
||||
depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
|
||||
depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A || ARCH_LS1088A
|
||||
default 4 if ARCH_LS1043A
|
||||
default 4 if ARCH_LS1046A
|
||||
default 8 if ARCH_LS2080A
|
||||
default 8 if ARCH_LS2080A || ARCH_LS1088A
|
||||
|
||||
config SYS_FSL_HAS_CCI400
|
||||
bool
|
||||
|
||||
config SYS_FSL_HAS_CCN504
|
||||
bool
|
||||
|
||||
config SYS_FSL_HAS_DP_DDR
|
||||
bool
|
||||
@ -296,6 +369,7 @@ config SYS_FSL_PCLK_DIV
|
||||
int "Platform clock divider"
|
||||
default 1 if ARCH_LS1043A
|
||||
default 1 if ARCH_LS1046A
|
||||
default 1 if ARCH_LS1088A
|
||||
default 2
|
||||
help
|
||||
This is the divider that is used to derive Platform clock from
|
||||
@ -362,6 +436,18 @@ config RESV_RAM
|
||||
be at the high end of physical memory. The reserve RAM may be
|
||||
excluded from memory bank(s) passed to OS, or marked as reserved.
|
||||
|
||||
config SYS_FSL_EC1
|
||||
bool
|
||||
help
|
||||
Ethernet controller 1, this is connected to MAC3.
|
||||
Provides DPAA2 capabilities
|
||||
|
||||
config SYS_FSL_EC2
|
||||
bool
|
||||
help
|
||||
Ethernet controller 2, this is connected to MAC4.
|
||||
Provides DPAA2 capabilities
|
||||
|
||||
config SYS_FSL_ERRATUM_A008336
|
||||
bool
|
||||
|
||||
@ -386,10 +472,17 @@ config SYS_FSL_ERRATUM_A009660
|
||||
config SYS_FSL_ERRATUM_A009929
|
||||
bool
|
||||
|
||||
|
||||
config SYS_FSL_HAS_RGMII
|
||||
bool
|
||||
depends on SYS_FSL_EC1 || SYS_FSL_EC2
|
||||
|
||||
|
||||
config SYS_MC_RSV_MEM_ALIGN
|
||||
hex "Management Complex reserved memory alignment"
|
||||
depends on RESV_RAM
|
||||
default 0x20000000
|
||||
default 0x20000000 if ARCH_LS2080A
|
||||
default 0x70000000 if ARCH_LS1088A
|
||||
help
|
||||
Reserved memory needs to be aligned for MC to use. Default value
|
||||
is 512MB.
|
||||
|
||||
@ -38,3 +38,7 @@ endif
|
||||
ifneq ($(CONFIG_ARCH_LS1046A),)
|
||||
obj-$(CONFIG_SYS_HAS_SERDES) += ls1046a_serdes.o
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_ARCH_LS1088A),)
|
||||
obj-$(CONFIG_SYS_HAS_SERDES) += ls1088a_serdes.o
|
||||
endif
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
#include <asm/arch/soc.h>
|
||||
#include <asm/arch/cpu.h>
|
||||
#include <asm/arch/speed.h>
|
||||
#include <fsl_immap.h>
|
||||
#include <asm/arch/mp.h>
|
||||
#include <efi_loader.h>
|
||||
#include <fm_eth.h>
|
||||
@ -516,6 +517,10 @@ int arch_early_init_r(void)
|
||||
printf("Did not wake secondary cores\n");
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SYS_FSL_HAS_RGMII
|
||||
fsl_rgmii_init();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYS_HAS_SERDES
|
||||
fsl_serdes_init();
|
||||
#endif
|
||||
@ -614,13 +619,22 @@ void efi_reset_system_init(void)
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Calculate reserved memory with given memory bank
|
||||
* Return aligned memory size on success
|
||||
* Return (ram_size + needed size) for failure
|
||||
*/
|
||||
phys_size_t board_reserve_ram_top(phys_size_t ram_size)
|
||||
{
|
||||
phys_size_t ram_top = ram_size;
|
||||
|
||||
#if defined(CONFIG_FSL_MC_ENET) && !defined(CONFIG_SPL_BUILD)
|
||||
ram_top = mc_get_dram_block_size();
|
||||
if (ram_top > ram_size)
|
||||
return ram_size + ram_top;
|
||||
|
||||
ram_top = ram_size - ram_top;
|
||||
/* The start address of MC reserved memory needs to be aligned. */
|
||||
ram_top -= mc_get_dram_block_size();
|
||||
ram_top &= ~(CONFIG_SYS_MC_RSV_MEM_ALIGN - 1);
|
||||
#endif
|
||||
|
||||
@ -664,8 +678,8 @@ phys_size_t get_effective_memsize(void)
|
||||
/* Check if we have enough memory for MC */
|
||||
if (rem < board_reserve_ram_top(rem)) {
|
||||
/* Not enough memory in high region to reserve */
|
||||
if (ea_size > board_reserve_ram_top(rem))
|
||||
ea_size -= board_reserve_ram_top(rem);
|
||||
if (ea_size > board_reserve_ram_top(ea_size))
|
||||
ea_size -= board_reserve_ram_top(ea_size);
|
||||
else
|
||||
printf("Error: No enough space for reserved memory.\n");
|
||||
}
|
||||
|
||||
@ -1,11 +1,12 @@
|
||||
SoC overview
|
||||
|
||||
1. LS1043A
|
||||
2. LS2080A
|
||||
3. LS1012A
|
||||
4. LS1046A
|
||||
5. LS2088A
|
||||
6. LS2081A
|
||||
2. LS1088A
|
||||
3. LS2080A
|
||||
4. LS1012A
|
||||
5. LS1046A
|
||||
6. LS2088A
|
||||
7. LS2081A
|
||||
|
||||
LS1043A
|
||||
---------
|
||||
@ -45,6 +46,38 @@ The LS1043A SoC includes the following function and features:
|
||||
- Integrated flash controller supporting NAND and NOR flash
|
||||
- QorIQ platform's trust architecture 2.1
|
||||
|
||||
LS1088A
|
||||
--------
|
||||
The QorIQ LS1088A processor is built on the Layerscape
|
||||
architecture combining eight ARM A53 processor cores
|
||||
with advanced, high-performance datapath acceleration
|
||||
and networks, peripheral interfaces required for
|
||||
networking, wireless infrastructure, and general-purpose
|
||||
embedded applications.
|
||||
|
||||
LS1088A is compliant with the Layerscape Chassis Generation 3.
|
||||
|
||||
Features summary:
|
||||
- 8 32-bit / 64-bit ARM v8 Cortex-A53 CPUs
|
||||
- Cores are in 2 cluster of 4-cores each
|
||||
- 1MB L2 - Cache per cluster
|
||||
- Cache coherent interconnect (CCI-400)
|
||||
- 1 64-bit DDR4 SDRAM memory controller with ECC
|
||||
- Data path acceleration architecture 2.0 (DPAA2)
|
||||
- 4-Lane 10GHz SerDes comprising of WRIOP
|
||||
- 4-Lane 10GHz SerDes comprising of PCI, SATA, uQE(TDM/HLDC/UART)
|
||||
- Ethernet interfaces: SGMIIs, RGMIIs, QSGMIIs, XFIs
|
||||
- QSPI, SPI, IFC2.0 supporting NAND, NOR flash
|
||||
- 3 PCIe3.0 , 1 SATA3.0, 2 USB3.0, 1 SDXC, 2 DUARTs etc
|
||||
- 2 DUARTs
|
||||
- 4 I2C, GPIO
|
||||
- Thermal monitor unit(TMU)
|
||||
- 4 Flextimers and 1 generic timer
|
||||
- Support for hardware virtualization and partitioning enforcement
|
||||
- QorIQ platform's trust architecture 3.0
|
||||
- Service processor (SP) provides pre-boot initialization and secure-boot
|
||||
capabilities
|
||||
|
||||
LS2080A
|
||||
--------
|
||||
The LS2080A integrated multicore processor combines eight ARM Cortex-A57
|
||||
|
||||
@ -418,7 +418,7 @@ void ft_cpu_setup(void *blob, bd_t *bd)
|
||||
#ifdef CONFIG_SYS_DPAA_FMAN
|
||||
fdt_fixup_fman_firmware(blob);
|
||||
#endif
|
||||
#ifndef CONFIG_LS1012A
|
||||
#ifndef CONFIG_ARCH_LS1012A
|
||||
fsl_fdt_disable_usb(blob);
|
||||
#endif
|
||||
#ifdef CONFIG_HAS_FEATURE_GIC64K_ALIGN
|
||||
|
||||
@ -28,6 +28,20 @@ __weak void wriop_init_dpmac_qsgmii(int sd, int lane_prtcl)
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
*The return value of this func is the serdes protocol used.
|
||||
*Typically this function is called number of times depending
|
||||
*upon the number of serdes blocks in the Silicon.
|
||||
*Zero is used to denote that no serdes was enabled,
|
||||
*this is the case when golden RCW was used where DPAA2 bring was
|
||||
*intentionally removed to achieve boot to prompt
|
||||
*/
|
||||
|
||||
__weak int serdes_get_number(int serdes, int cfg)
|
||||
{
|
||||
return cfg;
|
||||
}
|
||||
|
||||
int is_serdes_configured(enum srds_prtcl device)
|
||||
{
|
||||
int ret = 0;
|
||||
@ -73,6 +87,9 @@ int serdes_get_first_lane(u32 sd, enum srds_prtcl device)
|
||||
printf("invalid SerDes%d\n", sd);
|
||||
break;
|
||||
}
|
||||
|
||||
cfg = serdes_get_number(sd, cfg);
|
||||
|
||||
/* Is serdes enabled at all? */
|
||||
if (cfg == 0)
|
||||
return -ENODEV;
|
||||
@ -99,6 +116,8 @@ void serdes_init(u32 sd, u32 sd_addr, u32 rcwsr, u32 sd_prctl_mask,
|
||||
|
||||
cfg = gur_in32(&gur->rcwsr[rcwsr - 1]) & sd_prctl_mask;
|
||||
cfg >>= sd_prctl_shift;
|
||||
|
||||
cfg = serdes_get_number(sd, cfg);
|
||||
printf("Using SERDES%d Protocol: %d (0x%x)\n", sd + 1, cfg, cfg);
|
||||
|
||||
if (!is_serdes_prtcl_valid(sd, cfg))
|
||||
|
||||
@ -76,7 +76,7 @@ ENTRY(lowlevel_init)
|
||||
switch_el x1, 1f, 100f, 100f /* skip if not in EL3 */
|
||||
1:
|
||||
|
||||
#ifdef CONFIG_FSL_LSCH3
|
||||
#if defined (CONFIG_SYS_FSL_HAS_CCN504)
|
||||
|
||||
/* Set Wuo bit for RN-I 20 */
|
||||
#ifdef CONFIG_ARCH_LS2080A
|
||||
@ -171,7 +171,7 @@ ENTRY(lowlevel_init)
|
||||
ldr x0, =CCI_S2_QOS_CONTROL_BASE(20)
|
||||
ldr x1, =0x00FF000C
|
||||
bl ccn504_set_qos
|
||||
#endif
|
||||
#endif /* CONFIG_SYS_FSL_HAS_CCN504 */
|
||||
|
||||
#ifdef SMMU_BASE
|
||||
/* Set the SMMU page size in the sACR register */
|
||||
@ -338,7 +338,9 @@ get_svr:
|
||||
ldr x1, =FSL_LSCH3_SVR
|
||||
ldr w0, [x1]
|
||||
ret
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYS_FSL_HAS_CCN504
|
||||
hnf_pstate_poll:
|
||||
/* x0 has the desired status, return 0 for success, 1 for timeout
|
||||
* clobber x1, x2, x3, x4, x6, x7
|
||||
@ -394,9 +396,6 @@ ENTRY(__asm_flush_l3_dcache)
|
||||
mov x29, lr
|
||||
mov x8, #0
|
||||
|
||||
switch_el x0, 1f, 100f, 100f /* skip if not in EL3 */
|
||||
|
||||
1:
|
||||
dsb sy
|
||||
mov x0, #0x1 /* HNFPSTAT_SFONLY */
|
||||
bl hnf_set_pstate
|
||||
@ -414,13 +413,12 @@ ENTRY(__asm_flush_l3_dcache)
|
||||
bl hnf_pstate_poll
|
||||
cbz x0, 1f
|
||||
add x8, x8, #0x2
|
||||
100:
|
||||
1:
|
||||
mov x0, x8
|
||||
mov lr, x29
|
||||
ret
|
||||
ENDPROC(__asm_flush_l3_dcache)
|
||||
#endif
|
||||
#endif /* CONFIG_SYS_FSL_HAS_CCN504 */
|
||||
|
||||
#ifdef CONFIG_MP
|
||||
/* Keep literals not used by the secondary boot code outside it */
|
||||
|
||||
126
arch/arm/cpu/armv8/fsl-layerscape/ls1088a_serdes.c
Normal file
126
arch/arm/cpu/armv8/fsl-layerscape/ls1088a_serdes.c
Normal file
@ -0,0 +1,126 @@
|
||||
/*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/arch/fsl_serdes.h>
|
||||
|
||||
struct serdes_config {
|
||||
u8 ip_protocol;
|
||||
u8 lanes[SRDS_MAX_LANES];
|
||||
u8 rcw_lanes[SRDS_MAX_LANES];
|
||||
};
|
||||
|
||||
static struct serdes_config serdes1_cfg_tbl[] = {
|
||||
/* SerDes 1 */
|
||||
{0x12, {SGMII3, SGMII7, SGMII1, SGMII2 }, {3, 3, 3, 3 } },
|
||||
{0x15, {SGMII3, SGMII7, XFI1, XFI2 }, {3, 3, 1, 1 } },
|
||||
{0x16, {SGMII3, SGMII7, SGMII1, XFI2 }, {3, 3, 3, 1 } },
|
||||
{0x17, {SGMII3, SGMII7, SGMII1, SGMII2 }, {3, 3, 3, 2 } },
|
||||
{0x18, {SGMII3, SGMII7, SGMII1, SGMII2 }, {3, 3, 2, 2 } },
|
||||
{0x19, {SGMII3, QSGMII_B, XFI1, XFI2}, {3, 4, 1, 1 } },
|
||||
{0x1A, {SGMII3, QSGMII_B, SGMII1, XFI2 }, {3, 4, 3, 1 } },
|
||||
{0x1B, {SGMII3, QSGMII_B, SGMII1, SGMII2 }, {3, 4, 3, 2 } },
|
||||
{0x1C, {SGMII3, QSGMII_B, SGMII1, SGMII2 }, {3, 4, 2, 2 } },
|
||||
{0x1D, {QSGMII_A, QSGMII_B, XFI1, XFI2 }, {4, 4, 1, 1 } },
|
||||
{0x1E, {QSGMII_A, QSGMII_B, SGMII1, XFI2 }, {4, 4, 3, 1 } },
|
||||
{0x1F, {QSGMII_A, QSGMII_B, SGMII1, SGMII2 }, {4, 4, 3, 2 } },
|
||||
{0x20, {QSGMII_A, QSGMII_B, SGMII1, SGMII2 }, {4, 4, 2, 2 } },
|
||||
{0x35, {SGMII3, QSGMII_B, SGMII1, SGMII2 }, {3, 4, 3, 3 } },
|
||||
{0x36, {QSGMII_A, QSGMII_B, SGMII1, SGMII2 }, {4, 4, 3, 3 } },
|
||||
{0x3A, {SGMII3, PCIE1, SGMII1, SGMII2 }, {3, 5, 3, 3 } },
|
||||
{}
|
||||
};
|
||||
static struct serdes_config serdes2_cfg_tbl[] = {
|
||||
/* SerDes 2 */
|
||||
{0x0C, {PCIE1, PCIE1, PCIE1, PCIE1 }, {8, 8, 8, 8 } },
|
||||
{0x0D, {PCIE1, PCIE2, PCIE3, SATA1 }, {5, 5, 5, 9 } },
|
||||
{0x0E, {PCIE1, PCIE1, PCIE2, SATA1 }, {7, 7, 6, 9 } },
|
||||
{0x13, {PCIE1, PCIE1, PCIE3, PCIE3 }, {7, 7, 7, 7 } },
|
||||
{0x14, {PCIE1, PCIE2, PCIE3, PCIE3 }, {5, 5, 7, 7 } },
|
||||
{0x3C, {NONE, PCIE2, NONE, PCIE3 }, {0, 5, 0, 6 } },
|
||||
{}
|
||||
};
|
||||
|
||||
static struct serdes_config *serdes_cfg_tbl[] = {
|
||||
serdes1_cfg_tbl,
|
||||
serdes2_cfg_tbl,
|
||||
};
|
||||
|
||||
int serdes_get_number(int serdes, int cfg)
|
||||
{
|
||||
struct serdes_config *ptr;
|
||||
int i, j, index, lnk;
|
||||
int is_found, max_lane = SRDS_MAX_LANES;
|
||||
|
||||
if (serdes >= ARRAY_SIZE(serdes_cfg_tbl))
|
||||
return 0;
|
||||
|
||||
ptr = serdes_cfg_tbl[serdes];
|
||||
|
||||
while (ptr->ip_protocol) {
|
||||
is_found = 1;
|
||||
for (i = 0, j = max_lane - 1; i < max_lane; i++, j--) {
|
||||
lnk = cfg & (0xf << 4 * i);
|
||||
lnk = lnk >> (4 * i);
|
||||
|
||||
index = (serdes == FSL_SRDS_1) ? j : i;
|
||||
|
||||
if (ptr->rcw_lanes[index] == lnk && is_found)
|
||||
is_found = 1;
|
||||
else
|
||||
is_found = 0;
|
||||
}
|
||||
|
||||
if (is_found)
|
||||
return ptr->ip_protocol;
|
||||
ptr++;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
enum srds_prtcl serdes_get_prtcl(int serdes, int cfg, int lane)
|
||||
{
|
||||
struct serdes_config *ptr;
|
||||
|
||||
if (serdes >= ARRAY_SIZE(serdes_cfg_tbl))
|
||||
return 0;
|
||||
|
||||
ptr = serdes_cfg_tbl[serdes];
|
||||
while (ptr->ip_protocol) {
|
||||
if (ptr->ip_protocol == cfg)
|
||||
return ptr->lanes[lane];
|
||||
ptr++;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int is_serdes_prtcl_valid(int serdes, u32 prtcl)
|
||||
{
|
||||
int i;
|
||||
struct serdes_config *ptr;
|
||||
|
||||
if (serdes >= ARRAY_SIZE(serdes_cfg_tbl))
|
||||
return 0;
|
||||
|
||||
ptr = serdes_cfg_tbl[serdes];
|
||||
while (ptr->ip_protocol) {
|
||||
if (ptr->ip_protocol == prtcl)
|
||||
break;
|
||||
ptr++;
|
||||
}
|
||||
|
||||
if (!ptr->ip_protocol)
|
||||
return 0;
|
||||
|
||||
for (i = 0; i < SRDS_MAX_LANES; i++) {
|
||||
if (ptr->lanes[i] != NONE)
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -107,9 +107,6 @@ int ppa_init(void)
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
/* flush cache after read */
|
||||
flush_cache((ulong)fitp, cnt * 512);
|
||||
|
||||
ret = fdt_check_header(fitp);
|
||||
if (ret) {
|
||||
free(fitp);
|
||||
@ -134,9 +131,6 @@ int ppa_init(void)
|
||||
}
|
||||
debug("Read PPA header to 0x%p\n", ppa_hdr_ddr);
|
||||
|
||||
/* flush cache after read */
|
||||
flush_cache((ulong)ppa_hdr_ddr, cnt * 512);
|
||||
|
||||
ppa_esbc_hdr = (uintptr_t)ppa_hdr_ddr;
|
||||
#endif
|
||||
|
||||
@ -164,9 +158,6 @@ int ppa_init(void)
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
/* flush cache after read */
|
||||
flush_cache((ulong)ppa_fit_addr, cnt * 512);
|
||||
|
||||
#elif defined(CONFIG_SYS_LS_PPA_FW_IN_NAND)
|
||||
struct fdt_header fit;
|
||||
|
||||
@ -208,9 +199,6 @@ int ppa_init(void)
|
||||
}
|
||||
debug("Read PPA header to 0x%p\n", ppa_hdr_ddr);
|
||||
|
||||
/* flush cache after read */
|
||||
flush_cache((ulong)ppa_hdr_ddr, fw_length);
|
||||
|
||||
ppa_esbc_hdr = (uintptr_t)ppa_hdr_ddr;
|
||||
#endif
|
||||
|
||||
@ -232,9 +220,6 @@ int ppa_init(void)
|
||||
CONFIG_SYS_LS_PPA_FW_ADDR);
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
/* flush cache after read */
|
||||
flush_cache((ulong)ppa_fit_addr, fw_length);
|
||||
#else
|
||||
#error "No CONFIG_SYS_LS_PPA_FW_IN_xxx defined"
|
||||
#endif
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <fsl_immap.h>
|
||||
#include <fsl_ifc.h>
|
||||
#include <ahci.h>
|
||||
#include <scsi.h>
|
||||
@ -23,6 +24,7 @@
|
||||
#ifdef CONFIG_CHAIN_OF_TRUST
|
||||
#include <fsl_validate.h>
|
||||
#endif
|
||||
#include <fsl_immap.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
@ -52,6 +54,109 @@ bool soc_has_aiop(void)
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline void set_usb_txvreftune(u32 __iomem *scfg, u32 offset)
|
||||
{
|
||||
scfg_clrsetbits32(scfg + offset / 4,
|
||||
0xF << 6,
|
||||
SCFG_USB_TXVREFTUNE << 6);
|
||||
}
|
||||
|
||||
static void erratum_a009008(void)
|
||||
{
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A009008
|
||||
u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE;
|
||||
|
||||
#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A)
|
||||
set_usb_txvreftune(scfg, SCFG_USB3PRM1CR_USB1);
|
||||
set_usb_txvreftune(scfg, SCFG_USB3PRM1CR_USB2);
|
||||
set_usb_txvreftune(scfg, SCFG_USB3PRM1CR_USB3);
|
||||
#elif defined(CONFIG_ARCH_LS2080A)
|
||||
set_usb_txvreftune(scfg, SCFG_USB3PRM1CR);
|
||||
#endif
|
||||
#endif /* CONFIG_SYS_FSL_ERRATUM_A009008 */
|
||||
}
|
||||
|
||||
static inline void set_usb_sqrxtune(u32 __iomem *scfg, u32 offset)
|
||||
{
|
||||
scfg_clrbits32(scfg + offset / 4,
|
||||
SCFG_USB_SQRXTUNE_MASK << 23);
|
||||
}
|
||||
|
||||
static void erratum_a009798(void)
|
||||
{
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A009798
|
||||
u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE;
|
||||
|
||||
#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A)
|
||||
set_usb_sqrxtune(scfg, SCFG_USB3PRM1CR_USB1);
|
||||
set_usb_sqrxtune(scfg, SCFG_USB3PRM1CR_USB2);
|
||||
set_usb_sqrxtune(scfg, SCFG_USB3PRM1CR_USB3);
|
||||
#elif defined(CONFIG_ARCH_LS2080A)
|
||||
set_usb_sqrxtune(scfg, SCFG_USB3PRM1CR);
|
||||
#endif
|
||||
#endif /* CONFIG_SYS_FSL_ERRATUM_A009798 */
|
||||
}
|
||||
|
||||
#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A)
|
||||
static inline void set_usb_pcstxswingfull(u32 __iomem *scfg, u32 offset)
|
||||
{
|
||||
scfg_clrsetbits32(scfg + offset / 4,
|
||||
0x7F << 9,
|
||||
SCFG_USB_PCSTXSWINGFULL << 9);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void erratum_a008997(void)
|
||||
{
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A008997
|
||||
#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A)
|
||||
u32 __iomem *scfg = (u32 __iomem *)SCFG_BASE;
|
||||
|
||||
set_usb_pcstxswingfull(scfg, SCFG_USB3PRM2CR_USB1);
|
||||
set_usb_pcstxswingfull(scfg, SCFG_USB3PRM2CR_USB2);
|
||||
set_usb_pcstxswingfull(scfg, SCFG_USB3PRM2CR_USB3);
|
||||
#endif
|
||||
#endif /* CONFIG_SYS_FSL_ERRATUM_A008997 */
|
||||
}
|
||||
|
||||
#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A)
|
||||
|
||||
#define PROGRAM_USB_PHY_RX_OVRD_IN_HI(phy) \
|
||||
out_be16((phy) + SCFG_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_1); \
|
||||
out_be16((phy) + SCFG_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_2); \
|
||||
out_be16((phy) + SCFG_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_3); \
|
||||
out_be16((phy) + SCFG_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_4)
|
||||
|
||||
#elif defined(CONFIG_ARCH_LS2080A)
|
||||
|
||||
#define PROGRAM_USB_PHY_RX_OVRD_IN_HI(phy) \
|
||||
out_le16((phy) + DCSR_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_1); \
|
||||
out_le16((phy) + DCSR_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_2); \
|
||||
out_le16((phy) + DCSR_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_3); \
|
||||
out_le16((phy) + DCSR_USB_PHY_RX_OVRD_IN_HI, USB_PHY_RX_EQ_VAL_4)
|
||||
|
||||
#endif
|
||||
|
||||
static void erratum_a009007(void)
|
||||
{
|
||||
#if defined(CONFIG_ARCH_LS1043A) || defined(CONFIG_ARCH_LS1046A)
|
||||
void __iomem *usb_phy = (void __iomem *)SCFG_USB_PHY1;
|
||||
|
||||
PROGRAM_USB_PHY_RX_OVRD_IN_HI(usb_phy);
|
||||
|
||||
usb_phy = (void __iomem *)SCFG_USB_PHY2;
|
||||
PROGRAM_USB_PHY_RX_OVRD_IN_HI(usb_phy);
|
||||
|
||||
usb_phy = (void __iomem *)SCFG_USB_PHY3;
|
||||
PROGRAM_USB_PHY_RX_OVRD_IN_HI(usb_phy);
|
||||
#elif defined(CONFIG_ARCH_LS2080A)
|
||||
void __iomem *dcsr = (void __iomem *)DCSR_BASE;
|
||||
|
||||
PROGRAM_USB_PHY_RX_OVRD_IN_HI(dcsr + DCSR_USB_PHY1);
|
||||
PROGRAM_USB_PHY_RX_OVRD_IN_HI(dcsr + DCSR_USB_PHY2);
|
||||
#endif /* CONFIG_SYS_FSL_ERRATUM_A009007 */
|
||||
}
|
||||
|
||||
#if defined(CONFIG_FSL_LSCH3)
|
||||
/*
|
||||
* This erratum requires setting a value to eddrtqcr1 to
|
||||
@ -155,8 +260,8 @@ static void erratum_rcw_src(void)
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A009203
|
||||
static void erratum_a009203(void)
|
||||
{
|
||||
u8 __iomem *ptr;
|
||||
#ifdef CONFIG_SYS_I2C
|
||||
u8 __iomem *ptr;
|
||||
#ifdef I2C1_BASE_ADDR
|
||||
ptr = (u8 __iomem *)(I2C1_BASE_ADDR + I2C_DEBUG_REG);
|
||||
|
||||
@ -192,12 +297,18 @@ void bypass_smmu(void)
|
||||
void fsl_lsch3_early_init_f(void)
|
||||
{
|
||||
erratum_rcw_src();
|
||||
#ifdef CONFIG_FSL_IFC
|
||||
init_early_memctl_regs(); /* tighten IFC timing */
|
||||
#endif
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A009203
|
||||
erratum_a009203();
|
||||
#endif
|
||||
erratum_a008514();
|
||||
erratum_a008336();
|
||||
erratum_a009008();
|
||||
erratum_a009798();
|
||||
erratum_a008997();
|
||||
erratum_a009007();
|
||||
#ifdef CONFIG_CHAIN_OF_TRUST
|
||||
/* In case of Secure Boot, the IBR configures the SMMU
|
||||
* to allow only Secure transactions.
|
||||
@ -214,11 +325,14 @@ int sata_init(void)
|
||||
{
|
||||
struct ccsr_ahci __iomem *ccsr_ahci;
|
||||
|
||||
#ifdef CONFIG_SYS_SATA2
|
||||
ccsr_ahci = (void *)CONFIG_SYS_SATA2;
|
||||
out_le32(&ccsr_ahci->ppcfg, AHCI_PORT_PHY_1_CFG);
|
||||
out_le32(&ccsr_ahci->ptc, AHCI_PORT_TRANS_CFG);
|
||||
out_le32(&ccsr_ahci->axicc, AHCI_PORT_AXICC_CFG);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SYS_SATA1
|
||||
ccsr_ahci = (void *)CONFIG_SYS_SATA1;
|
||||
out_le32(&ccsr_ahci->ppcfg, AHCI_PORT_PHY_1_CFG);
|
||||
out_le32(&ccsr_ahci->ptc, AHCI_PORT_TRANS_CFG);
|
||||
@ -226,6 +340,7 @@ int sata_init(void)
|
||||
|
||||
ahci_init((void __iomem *)CONFIG_SYS_SATA1);
|
||||
scsi_scan(false);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -285,7 +400,8 @@ static void erratum_a008850_early(void)
|
||||
{
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A008850
|
||||
/* part 1 of 2 */
|
||||
struct ccsr_cci400 __iomem *cci = (void *)CONFIG_SYS_CCI400_ADDR;
|
||||
struct ccsr_cci400 __iomem *cci = (void *)(CONFIG_SYS_IMMR +
|
||||
CONFIG_SYS_CCI400_OFFSET);
|
||||
struct ccsr_ddr __iomem *ddr = (void *)CONFIG_SYS_FSL_DDR_ADDR;
|
||||
|
||||
/* Skip if running at lower exception level */
|
||||
@ -304,7 +420,8 @@ void erratum_a008850_post(void)
|
||||
{
|
||||
#ifdef CONFIG_SYS_FSL_ERRATUM_A008850
|
||||
/* part 2 of 2 */
|
||||
struct ccsr_cci400 __iomem *cci = (void *)CONFIG_SYS_CCI400_ADDR;
|
||||
struct ccsr_cci400 __iomem *cci = (void *)(CONFIG_SYS_IMMR +
|
||||
CONFIG_SYS_CCI400_OFFSET);
|
||||
struct ccsr_ddr __iomem *ddr = (void *)CONFIG_SYS_FSL_DDR_ADDR;
|
||||
u32 tmp;
|
||||
|
||||
@ -439,7 +556,8 @@ int setup_chip_volt(void)
|
||||
|
||||
void fsl_lsch2_early_init_f(void)
|
||||
{
|
||||
struct ccsr_cci400 *cci = (struct ccsr_cci400 *)CONFIG_SYS_CCI400_ADDR;
|
||||
struct ccsr_cci400 *cci = (struct ccsr_cci400 *)(CONFIG_SYS_IMMR +
|
||||
CONFIG_SYS_CCI400_OFFSET);
|
||||
struct ccsr_scfg *scfg = (struct ccsr_scfg *)CONFIG_SYS_FSL_SCFG_ADDR;
|
||||
|
||||
#ifdef CONFIG_LAYERSCAPE_NS_ACCESS
|
||||
@ -473,6 +591,10 @@ void fsl_lsch2_early_init_f(void)
|
||||
erratum_a009929();
|
||||
erratum_a009660();
|
||||
erratum_a010539();
|
||||
erratum_a009008();
|
||||
erratum_a009798();
|
||||
erratum_a008997();
|
||||
erratum_a009007();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@ -41,6 +41,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \
|
||||
rk3288-veyron-jerry.dtb \
|
||||
rk3288-veyron-mickey.dtb \
|
||||
rk3288-veyron-minnie.dtb \
|
||||
rk3288-vyasa.dtb \
|
||||
rk3328-evb.dtb \
|
||||
rk3368-lion.dtb \
|
||||
rk3368-sheep.dtb \
|
||||
@ -173,9 +174,10 @@ dtb-$(CONFIG_ARCH_SOCFPGA) += \
|
||||
socfpga_cyclone5_vining_fpga.dtb
|
||||
|
||||
dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb \
|
||||
dra72-evm-revc.dtb dra71-evm.dtb
|
||||
dra72-evm-revc.dtb dra71-evm.dtb dra76-evm.dtb
|
||||
dtb-$(CONFIG_TARGET_AM57XX_EVM) += am57xx-beagle-x15.dtb \
|
||||
am57xx-beagle-x15-revb1.dtb \
|
||||
am57xx-beagle-x15-revc.dtb \
|
||||
am572x-idk.dtb \
|
||||
am571x-idk.dtb
|
||||
dtb-$(CONFIG_TARGET_STV0991) += stv0991.dtb
|
||||
@ -187,7 +189,9 @@ dtb-$(CONFIG_ARCH_LS1021A) += ls1021a-qds-duart.dtb \
|
||||
dtb-$(CONFIG_FSL_LSCH3) += fsl-ls2080a-qds.dtb \
|
||||
fsl-ls2080a-rdb.dtb \
|
||||
fsl-ls2081a-rdb.dtb \
|
||||
fsl-ls2088a-rdb-qspi.dtb
|
||||
fsl-ls2088a-rdb-qspi.dtb \
|
||||
fsl-ls1088a-rdb.dtb \
|
||||
fsl-ls1088a-qds.dtb
|
||||
dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \
|
||||
fsl-ls1043a-qds-lpuart.dtb \
|
||||
fsl-ls1043a-rdb.dtb \
|
||||
@ -202,6 +206,8 @@ dtb-$(CONFIG_ARCH_SNAPDRAGON) += dragonboard410c.dtb
|
||||
|
||||
dtb-$(CONFIG_STM32F7) += stm32f746-disco.dtb \
|
||||
stm32f769-disco.dtb
|
||||
dtb-$(CONFIG_STM32H7) += stm32h743i-disco.dtb \
|
||||
stm32h743i-eval.dtb
|
||||
|
||||
dtb-$(CONFIG_MACH_SUN4I) += \
|
||||
sun4i-a10-a1000.dtb \
|
||||
@ -417,6 +423,9 @@ dtb-$(CONFIG_TARGET_OMAP3_LOGIC) += \
|
||||
dtb-$(CONFIG_TARGET_SAMA5D2_XPLAINED) += \
|
||||
at91-sama5d2_xplained.dtb
|
||||
|
||||
dtb-$(CONFIG_TARGET_SAMA5D27_SOM1_EK) += \
|
||||
at91-sama5d27_som1_ek.dtb
|
||||
|
||||
dtb-$(CONFIG_TARGET_SAMA5D3XEK) += \
|
||||
sama5d31ek.dtb \
|
||||
sama5d33ek.dtb \
|
||||
|
||||
12
arch/arm/dts/am3517-evm-u-boot.dtsi
Normal file
12
arch/arm/dts/am3517-evm-u-boot.dtsi
Normal file
@ -0,0 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2017
|
||||
* Logic PD - http://www.logicpd.com
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
stdout-path = &uart3;
|
||||
};
|
||||
};
|
||||
61
arch/arm/dts/am3517-evm.dts
Normal file
61
arch/arm/dts/am3517-evm.dts
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "am3517.dtsi"
|
||||
|
||||
/ {
|
||||
model = "TI AM3517 EVM (AM3517/05 TMDSEVM3517)";
|
||||
compatible = "ti,am3517-evm", "ti,am3517", "ti,omap3";
|
||||
|
||||
memory@80000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x80000000 0x10000000>; /* 256 MB */
|
||||
};
|
||||
|
||||
vmmc_fixed: vmmc {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vmmc_fixed";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
&davinci_emac {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&davinci_mdio {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
vmmc-supply = <&vmmc_fixed>;
|
||||
bus-width = <4>;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&mmc3 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
10
arch/arm/dts/am3517-u-boot.dtsi
Normal file
10
arch/arm/dts/am3517-u-boot.dtsi
Normal file
@ -0,0 +1,10 @@
|
||||
/*
|
||||
* Copyright (C) 2017
|
||||
* Logic PD - http://www.logicpd.com
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
&uart4 {
|
||||
reg-shift = <2>;
|
||||
};
|
||||
107
arch/arm/dts/am3517.dtsi
Normal file
107
arch/arm/dts/am3517.dtsi
Normal file
@ -0,0 +1,107 @@
|
||||
/*
|
||||
* Device Tree Source for am3517 SoC
|
||||
*
|
||||
* Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public License
|
||||
* version 2. This program is licensed "as is" without any warranty of any
|
||||
* kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#include "omap3.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
serial3 = &uart4;
|
||||
can = &hecc;
|
||||
};
|
||||
|
||||
ocp@68000000 {
|
||||
am35x_otg_hs: am35x_otg_hs@5c040000 {
|
||||
compatible = "ti,omap3-musb";
|
||||
ti,hwmods = "am35x_otg_hs";
|
||||
status = "disabled";
|
||||
reg = <0x5c040000 0x1000>;
|
||||
interrupts = <71>;
|
||||
interrupt-names = "mc";
|
||||
};
|
||||
|
||||
davinci_emac: ethernet@0x5c000000 {
|
||||
compatible = "ti,am3517-emac";
|
||||
ti,hwmods = "davinci_emac";
|
||||
status = "disabled";
|
||||
reg = <0x5c000000 0x30000>;
|
||||
interrupts = <67 68 69 70>;
|
||||
syscon = <&scm_conf>;
|
||||
ti,davinci-ctrl-reg-offset = <0x10000>;
|
||||
ti,davinci-ctrl-mod-reg-offset = <0>;
|
||||
ti,davinci-ctrl-ram-offset = <0x20000>;
|
||||
ti,davinci-ctrl-ram-size = <0x2000>;
|
||||
ti,davinci-rmii-en = /bits/ 8 <1>;
|
||||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
};
|
||||
|
||||
davinci_mdio: ethernet@0x5c030000 {
|
||||
compatible = "ti,davinci_mdio";
|
||||
ti,hwmods = "davinci_mdio";
|
||||
status = "disabled";
|
||||
reg = <0x5c030000 0x1000>;
|
||||
bus_freq = <1000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
uart4: serial@4809e000 {
|
||||
compatible = "ti,omap3-uart";
|
||||
ti,hwmods = "uart4";
|
||||
status = "disabled";
|
||||
reg = <0x4809e000 0x400>;
|
||||
interrupts = <84>;
|
||||
dmas = <&sdma 55 &sdma 54>;
|
||||
dma-names = "tx", "rx";
|
||||
clock-frequency = <48000000>;
|
||||
};
|
||||
|
||||
omap3_pmx_core2: pinmux@480025d8 {
|
||||
compatible = "ti,omap3-padconf", "pinctrl-single";
|
||||
reg = <0x480025d8 0x24>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#pinctrl-cells = <1>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-controller;
|
||||
pinctrl-single,register-width = <16>;
|
||||
pinctrl-single,function-mask = <0xff1f>;
|
||||
};
|
||||
|
||||
hecc: can@5c050000 {
|
||||
compatible = "ti,am3517-hecc";
|
||||
status = "disabled";
|
||||
reg = <0x5c050000 0x80>,
|
||||
<0x5c053000 0x180>,
|
||||
<0x5c052000 0x200>;
|
||||
reg-names = "hecc", "hecc-ram", "mbx";
|
||||
interrupts = <24>;
|
||||
clocks = <&hecc_ck>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&iva {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&mailbox {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&mmu_isp {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&smartreflex_mpu_iva {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/include/ "am35xx-clocks.dtsi"
|
||||
/include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"
|
||||
128
arch/arm/dts/am35xx-clocks.dtsi
Normal file
128
arch/arm/dts/am35xx-clocks.dtsi
Normal file
@ -0,0 +1,128 @@
|
||||
/*
|
||||
* Device Tree Source for OMAP3 clock data
|
||||
*
|
||||
* Copyright (C) 2013 Texas Instruments, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
&scm_clocks {
|
||||
emac_ick: emac_ick@32c {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,am35xx-gate-clock";
|
||||
clocks = <&ipss_ick>;
|
||||
reg = <0x032c>;
|
||||
ti,bit-shift = <1>;
|
||||
};
|
||||
|
||||
emac_fck: emac_fck@32c {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&rmii_ck>;
|
||||
reg = <0x032c>;
|
||||
ti,bit-shift = <9>;
|
||||
};
|
||||
|
||||
vpfe_ick: vpfe_ick@32c {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,am35xx-gate-clock";
|
||||
clocks = <&ipss_ick>;
|
||||
reg = <0x032c>;
|
||||
ti,bit-shift = <2>;
|
||||
};
|
||||
|
||||
vpfe_fck: vpfe_fck@32c {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&pclk_ck>;
|
||||
reg = <0x032c>;
|
||||
ti,bit-shift = <10>;
|
||||
};
|
||||
|
||||
hsotgusb_ick_am35xx: hsotgusb_ick_am35xx@32c {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,am35xx-gate-clock";
|
||||
clocks = <&ipss_ick>;
|
||||
reg = <0x032c>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
|
||||
hsotgusb_fck_am35xx: hsotgusb_fck_am35xx@32c {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&sys_ck>;
|
||||
reg = <0x032c>;
|
||||
ti,bit-shift = <8>;
|
||||
};
|
||||
|
||||
hecc_ck: hecc_ck@32c {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,am35xx-gate-clock";
|
||||
clocks = <&sys_ck>;
|
||||
reg = <0x032c>;
|
||||
ti,bit-shift = <3>;
|
||||
};
|
||||
};
|
||||
&cm_clocks {
|
||||
ipss_ick: ipss_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,am35xx-interface-clock";
|
||||
clocks = <&core_l3_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <4>;
|
||||
};
|
||||
|
||||
rmii_ck: rmii_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <50000000>;
|
||||
};
|
||||
|
||||
pclk_ck: pclk_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <27000000>;
|
||||
};
|
||||
|
||||
uart4_ick_am35xx: uart4_ick_am35xx@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <23>;
|
||||
};
|
||||
|
||||
uart4_fck_am35xx: uart4_fck_am35xx@a00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&core_48m_fck>;
|
||||
reg = <0x0a00>;
|
||||
ti,bit-shift = <23>;
|
||||
};
|
||||
};
|
||||
|
||||
&cm_clockdomains {
|
||||
core_l3_clkdm: core_l3_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&sdrc_ick>, <&ipss_ick>, <&emac_ick>, <&vpfe_ick>,
|
||||
<&hsotgusb_ick_am35xx>, <&hsotgusb_fck_am35xx>,
|
||||
<&hecc_ck>;
|
||||
};
|
||||
|
||||
core_l4_clkdm: core_l4_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&cpefuse_fck>, <&ts_fck>, <&usbtll_fck>,
|
||||
<&usbtll_ick>, <&mmchs3_ick>, <&mmchs3_fck>,
|
||||
<&mmchs2_fck>, <&mmchs1_fck>, <&i2c3_fck>, <&i2c2_fck>,
|
||||
<&i2c1_fck>, <&mcspi4_fck>, <&mcspi3_fck>,
|
||||
<&mcspi2_fck>, <&mcspi1_fck>, <&uart2_fck>,
|
||||
<&uart1_fck>, <&hdq_fck>, <&mmchs2_ick>, <&mmchs1_ick>,
|
||||
<&hdq_ick>, <&mcspi4_ick>, <&mcspi3_ick>,
|
||||
<&mcspi2_ick>, <&mcspi1_ick>, <&i2c3_ick>, <&i2c2_ick>,
|
||||
<&i2c1_ick>, <&uart2_ick>, <&uart1_ick>, <&gpt11_ick>,
|
||||
<&gpt10_ick>, <&mcbsp5_ick>, <&mcbsp1_ick>,
|
||||
<&omapctrl_ick>, <&aes2_ick>, <&sha12_ick>,
|
||||
<&uart4_ick_am35xx>, <&uart4_fck_am35xx>;
|
||||
};
|
||||
};
|
||||
@ -11,6 +11,7 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include "am57xx-idk-common.dtsi"
|
||||
#include "dra72x-mmc-iodelay.dtsi"
|
||||
|
||||
/ {
|
||||
model = "TI AM5718 IDK";
|
||||
@ -62,20 +63,57 @@
|
||||
linux,default-trigger = "mmc0";
|
||||
};
|
||||
};
|
||||
|
||||
extcon_usb2: extcon_usb2 {
|
||||
compatible = "linux,extcon-usb-gpio";
|
||||
id-gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
status = "okay";
|
||||
vmmc-supply = <&ldo1_reg>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
|
||||
};
|
||||
|
||||
&omap_dwc3_2 {
|
||||
extcon = <&extcon_usb2>;
|
||||
};
|
||||
|
||||
&extcon_usb2 {
|
||||
id-gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
|
||||
vbus-gpio = <&gpio7 22 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&mailbox5 {
|
||||
status = "okay";
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
status = "okay";
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&pcie1_rc {
|
||||
status = "okay";
|
||||
gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&pcie1_ep {
|
||||
gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
pinctrl-1 = <&mmc1_pins_hs>;
|
||||
pinctrl-2 = <&mmc1_pins_sdr12>;
|
||||
pinctrl-3 = <&mmc1_pins_sdr25>;
|
||||
pinctrl-4 = <&mmc1_pins_sdr50>;
|
||||
pinctrl-5 = <&mmc1_pins_ddr50_rev20 &mmc1_iodelay_ddr50_conf>;
|
||||
pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default", "hs", "ddr_1_8v";
|
||||
pinctrl-0 = <&mmc2_pins_default>;
|
||||
pinctrl-1 = <&mmc2_pins_hs>;
|
||||
pinctrl-2 = <&mmc2_pins_ddr_rev20 &mmc2_iodelay_ddr_conf>;
|
||||
};
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include "am57xx-idk-common.dtsi"
|
||||
#include "dra74x-mmc-iodelay.dtsi"
|
||||
|
||||
/ {
|
||||
model = "TI AM5728 IDK";
|
||||
@ -23,11 +24,6 @@
|
||||
reg = <0x0 0x80000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
extcon_usb2: extcon_usb2 {
|
||||
compatible = "linux,extcon-usb-gpio";
|
||||
id-gpio = <&gpio3 16 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
status-leds {
|
||||
compatible = "gpio-leds";
|
||||
cpu0-led {
|
||||
@ -72,14 +68,62 @@
|
||||
};
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
pinctrl-1 = <&mmc1_pins_hs>;
|
||||
pinctrl-2 = <&mmc1_pins_sdr12>;
|
||||
pinctrl-3 = <&mmc1_pins_sdr25>;
|
||||
pinctrl-4 = <&mmc1_pins_sdr50>;
|
||||
pinctrl-5 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev20_conf>;
|
||||
pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default", "hs", "ddr_1_8v";
|
||||
pinctrl-0 = <&mmc2_pins_default>;
|
||||
pinctrl-1 = <&mmc2_pins_hs>;
|
||||
pinctrl-2 = <&mmc2_pins_ddr_rev20>;
|
||||
};
|
||||
|
||||
&omap_dwc3_2 {
|
||||
extcon = <&extcon_usb2>;
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
status = "okay";
|
||||
vmmc-supply = <&v3_3d>;
|
||||
vmmc_aux-supply = <&ldo1_reg>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
|
||||
&extcon_usb2 {
|
||||
id-gpio = <&gpio3 16 GPIO_ACTIVE_HIGH>;
|
||||
vbus-gpio = <&gpio3 26 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&sn65hvs882 {
|
||||
load-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&pcie1_rc {
|
||||
status = "okay";
|
||||
gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&pcie1_ep {
|
||||
gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&mailbox5 {
|
||||
status = "okay";
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
status = "okay";
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
@ -9,16 +9,13 @@
|
||||
|
||||
#include "dra74x.dtsi"
|
||||
#include "am57xx-commercial-grade.dtsi"
|
||||
#include "dra74x-mmc-iodelay.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
/ {
|
||||
compatible = "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart3;
|
||||
};
|
||||
|
||||
aliases {
|
||||
rtc0 = &mcp_rtc;
|
||||
rtc1 = &tps659038_rtc;
|
||||
@ -26,6 +23,10 @@
|
||||
display0 = &hdmi0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart3;
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x80000000 0x0 0x80000000>;
|
||||
@ -166,34 +167,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
&dra7_pmx_core {
|
||||
mmc1_pins_default: mmc1_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_default: mmc2_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
@ -208,6 +181,7 @@
|
||||
interrupt-controller;
|
||||
|
||||
ti,system-power-controller;
|
||||
ti,palmas-override-powerhold;
|
||||
|
||||
tps659038_pmic {
|
||||
compatible = "ti,tps659038-pmic";
|
||||
@ -387,7 +361,7 @@
|
||||
};
|
||||
|
||||
eeprom: eeprom@50 {
|
||||
compatible = "at,24c32";
|
||||
compatible = "atmel,24c32";
|
||||
reg = <0x50>;
|
||||
};
|
||||
};
|
||||
@ -424,19 +398,29 @@
|
||||
<&dra7_pmx_core 0x3f8>;
|
||||
};
|
||||
|
||||
&davinci_mdio {
|
||||
phy0: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
phy1: ethernet-phy@2 {
|
||||
reg = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&mac {
|
||||
status = "okay";
|
||||
dual_emac;
|
||||
};
|
||||
|
||||
&cpsw_emac0 {
|
||||
phy_id = <&davinci_mdio>, <1>;
|
||||
phy-handle = <&phy0>;
|
||||
phy-mode = "rgmii";
|
||||
dual_emac_res_vlan = <1>;
|
||||
};
|
||||
|
||||
&cpsw_emac1 {
|
||||
phy_id = <&davinci_mdio>, <2>;
|
||||
phy-handle = <&phy1>;
|
||||
phy-mode = "rgmii";
|
||||
dual_emac_res_vlan = <2>;
|
||||
};
|
||||
@ -559,7 +543,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
&pcie1 {
|
||||
&pcie1_rc {
|
||||
status = "ok";
|
||||
gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&pcie1_ep {
|
||||
gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
|
||||
@ -19,6 +19,26 @@
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
pinctrl-1 = <&mmc1_pins_hs>;
|
||||
pinctrl-2 = <&mmc1_pins_sdr12>;
|
||||
pinctrl-3 = <&mmc1_pins_sdr25>;
|
||||
pinctrl-4 = <&mmc1_pins_sdr50>;
|
||||
pinctrl-5 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev11_conf>;
|
||||
pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev11_conf>;
|
||||
vmmc-supply = <&vdd_3v3>;
|
||||
vmmc-aux-supply = <&ldo1_reg>;
|
||||
vqmmc-supply = <&ldo1_reg>;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default", "hs", "ddr_1_8v";
|
||||
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>;
|
||||
};
|
||||
|
||||
/* errata i880 "Ethernet RGMII2 Limited to 10/100 Mbps" */
|
||||
&phy1 {
|
||||
max-speed = <100>;
|
||||
};
|
||||
|
||||
39
arch/arm/dts/am57xx-beagle-x15-revc.dts
Normal file
39
arch/arm/dts/am57xx-beagle-x15-revc.dts
Normal file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Copyright (C) 2014-2017 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include "am57xx-beagle-x15-common.dtsi"
|
||||
|
||||
/ {
|
||||
model = "TI AM5728 BeagleBoard-X15 rev C";
|
||||
};
|
||||
|
||||
&tpd12s015 {
|
||||
gpios = <&gpio7 10 GPIO_ACTIVE_HIGH>, /* gpio7_10, CT CP HPD */
|
||||
<&gpio2 30 GPIO_ACTIVE_HIGH>, /* gpio2_30, LS OE */
|
||||
<&gpio7 12 GPIO_ACTIVE_HIGH>; /* gpio7_12/sp1_cs2, HPD */
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
pinctrl-1 = <&mmc1_pins_hs>;
|
||||
pinctrl-2 = <&mmc1_pins_sdr12>;
|
||||
pinctrl-3 = <&mmc1_pins_sdr25>;
|
||||
pinctrl-4 = <&mmc1_pins_sdr50>;
|
||||
pinctrl-5 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev20_conf>;
|
||||
pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
|
||||
vmmc-supply = <&vdd_3v3>;
|
||||
vqmmc-supply = <&ldo1_reg>;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default", "hs", "ddr_1_8v";
|
||||
pinctrl-0 = <&mmc2_pins_default>;
|
||||
pinctrl-1 = <&mmc2_pins_hs>;
|
||||
pinctrl-2 = <&mmc2_pins_ddr_rev20>;
|
||||
};
|
||||
@ -20,5 +20,21 @@
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default", "hs";
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
pinctrl-1 = <&mmc1_pins_hs>;
|
||||
|
||||
vmmc-supply = <&ldo1_reg>;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default", "hs", "ddr_1_8v";
|
||||
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>;
|
||||
};
|
||||
|
||||
/* errata i880 "Ethernet RGMII2 Limited to 10/100 Mbps" */
|
||||
&phy1 {
|
||||
max-speed = <100>;
|
||||
};
|
||||
|
||||
617
arch/arm/dts/am57xx-cl-som-am57x.dts
Normal file
617
arch/arm/dts/am57xx-cl-som-am57x.dts
Normal file
@ -0,0 +1,617 @@
|
||||
/*
|
||||
* Support for CompuLab CL-SOM-AM57x System-on-Module
|
||||
*
|
||||
* Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
|
||||
* Author: Dmitry Lifshitz <lifshitz@compulab.co.il>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 as published by
|
||||
* the Free Software Foundation.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include "dra74x.dtsi"
|
||||
|
||||
/ {
|
||||
model = "CompuLab CL-SOM-AM57x";
|
||||
compatible = "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x80000000 0x0 0x20000000>; /* 512 MB - minimal configuration */
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&leds_pins_default>;
|
||||
|
||||
led0 {
|
||||
label = "cl-som-am57x:green";
|
||||
gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "heartbeat";
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
vdd_3v3: fixedregulator-vdd_3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vdd_3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ads7846reg: fixedregulator-ads7846-reg {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "ads7846-reg";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
sound0: sound0 {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "CL-SOM-AM57x-Sound-Card";
|
||||
simple-audio-card,format = "i2s";
|
||||
simple-audio-card,bitclock-master = <&dailink0_master>;
|
||||
simple-audio-card,frame-master = <&dailink0_master>;
|
||||
simple-audio-card,widgets =
|
||||
"Headphone", "Headphone Jack",
|
||||
"Microphone", "Microphone Jack",
|
||||
"Line", "Line Jack";
|
||||
simple-audio-card,routing =
|
||||
"Headphone Jack", "RHPOUT",
|
||||
"Headphone Jack", "LHPOUT",
|
||||
"LLINEIN", "Line Jack",
|
||||
"MICIN", "Mic Bias",
|
||||
"Mic Bias", "Microphone Jack";
|
||||
|
||||
dailink0_master: simple-audio-card,cpu {
|
||||
sound-dai = <&mcasp3>;
|
||||
};
|
||||
|
||||
simple-audio-card,codec {
|
||||
sound-dai = <&wm8731>;
|
||||
system-clock-frequency = <12000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dra7_pmx_core {
|
||||
leds_pins_default: leds_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x347c, PIN_OUTPUT | MUX_MODE14) /* gpmc_a15.gpio2_5 */
|
||||
>;
|
||||
};
|
||||
|
||||
i2c1_pins_default: i2c1_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda.sda */
|
||||
DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl.scl */
|
||||
>;
|
||||
};
|
||||
|
||||
i2c3_pins_default: i2c3_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x36a4, PIN_INPUT| MUX_MODE10) /* mcasp1_aclkx.i2c3_sda */
|
||||
DRA7XX_CORE_IOPAD(0x36a8, PIN_INPUT| MUX_MODE10) /* mcasp1_fsx.i2c3_scl */
|
||||
>;
|
||||
};
|
||||
|
||||
i2c4_pins_default: i2c4_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x36ac, PIN_INPUT| MUX_MODE10) /* mcasp1_acl.i2c4_sda */
|
||||
DRA7XX_CORE_IOPAD(0x36b0, PIN_INPUT| MUX_MODE10) /* mcasp1_fsr.i2c4_scl */
|
||||
>;
|
||||
};
|
||||
|
||||
tps659038_pins_default: tps659038_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3818, PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_default: mmc2_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
|
||||
qspi1_pins: pinmux_qspi1_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3474, PIN_INPUT | MUX_MODE1) /* gpmc_a13.qspi1_rtclk */
|
||||
DRA7XX_CORE_IOPAD(0x3480, PIN_INPUT | MUX_MODE1) /* gpmc_a16.qspi1_d0 */
|
||||
DRA7XX_CORE_IOPAD(0x3484, PIN_INPUT | MUX_MODE1) /* gpmc_a17.qspi1_d1 */
|
||||
DRA7XX_CORE_IOPAD(0x3488, PIN_INPUT | MUX_MODE1) /* qpmc_a18.qspi1_sclk */
|
||||
DRA7XX_CORE_IOPAD(0x34b8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs2.qspi1_cs0 */
|
||||
DRA7XX_CORE_IOPAD(0x34bc, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs3.qspi1_cs1 */
|
||||
>;
|
||||
};
|
||||
|
||||
cpsw_pins_default: cpsw_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
/* Slave at addr 0x0 */
|
||||
DRA7XX_CORE_IOPAD(0x3650, PIN_OUTPUT | MUX_MODE0) /* rgmii0_tclk */
|
||||
DRA7XX_CORE_IOPAD(0x3654, PIN_OUTPUT | MUX_MODE0) /* rgmii0_tctl */
|
||||
DRA7XX_CORE_IOPAD(0x3658, PIN_OUTPUT | MUX_MODE0) /* rgmii0_td3 */
|
||||
DRA7XX_CORE_IOPAD(0x365c, PIN_OUTPUT | MUX_MODE0) /* rgmii0_td2 */
|
||||
DRA7XX_CORE_IOPAD(0x3660, PIN_OUTPUT | MUX_MODE0) /* rgmii0_td1 */
|
||||
DRA7XX_CORE_IOPAD(0x3664, PIN_OUTPUT | MUX_MODE0) /* rgmii0_td0 */
|
||||
DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rgmii0_rclk */
|
||||
DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rgmii0_rctl */
|
||||
DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rgmii0_rd3 */
|
||||
DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rgmii0_rd2 */
|
||||
DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rgmii0_rd1 */
|
||||
DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rgmii0_rd0 */
|
||||
|
||||
/* Slave at addr 0x1 */
|
||||
DRA7XX_CORE_IOPAD(0x3598, PIN_OUTPUT | MUX_MODE3) /* vin2a_d12.rgmii1_tclk */
|
||||
DRA7XX_CORE_IOPAD(0x359c, PIN_OUTPUT | MUX_MODE3) /* vin2a_d13.rgmii1_tctl */
|
||||
DRA7XX_CORE_IOPAD(0x35a0, PIN_OUTPUT | MUX_MODE3) /* vin2a_d14.rgmii1_td3 */
|
||||
DRA7XX_CORE_IOPAD(0x35a4, PIN_OUTPUT | MUX_MODE3) /* vin2a_d15.rgmii1_td2 */
|
||||
DRA7XX_CORE_IOPAD(0x35a8, PIN_OUTPUT | MUX_MODE3) /* vin2a_d16.rgmii1_td1 */
|
||||
DRA7XX_CORE_IOPAD(0x35ac, PIN_OUTPUT | MUX_MODE3) /* vin2a_d17.rgmii1_td0 */
|
||||
DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT_PULLDOWN | MUX_MODE3) /* vin2a_d18.rgmii1_rclk */
|
||||
DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* vin2a_d19.rgmii1_rctl */
|
||||
DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* vin2a_d20.rgmii1_rd3 */
|
||||
DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT_PULLDOWN | MUX_MODE3) /* vin2a_d21.rgmii1_rd2 */
|
||||
DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT_PULLDOWN | MUX_MODE3) /* vin2a_d22.rgmii1_rd1 */
|
||||
DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* vin2a_d23.rgmii1_rd0 */
|
||||
>;
|
||||
};
|
||||
|
||||
cpsw_pins_sleep: cpsw_pins_sleep {
|
||||
pinctrl-single,pins = <
|
||||
/* Slave 1 */
|
||||
DRA7XX_CORE_IOPAD(0x3650, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3654, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3658, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x365c, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3660, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3664, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE15)
|
||||
|
||||
/* Slave 2 */
|
||||
DRA7XX_CORE_IOPAD(0x3598, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x359c, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35a0, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35a4, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35a8, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35ac, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE15)
|
||||
>;
|
||||
};
|
||||
|
||||
davinci_mdio_pins_default: davinci_mdio_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
/* MDIO */
|
||||
DRA7XX_CORE_IOPAD(0x3590, PIN_OUTPUT_PULLUP | MUX_MODE3)/* vin2a_d10.mdio_mclk */
|
||||
DRA7XX_CORE_IOPAD(0x3594, PIN_INPUT_PULLUP | MUX_MODE3) /* vin2a_d11.mdio_d */
|
||||
>;
|
||||
};
|
||||
|
||||
davinci_mdio_pins_sleep: davinci_mdio_pins_sleep {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3590, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3594, PIN_INPUT | MUX_MODE15)
|
||||
>;
|
||||
};
|
||||
|
||||
ads7846_pins: pinmux_ads7846_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3464, PIN_INPUT_PULLDOWN | MUX_MODE14) /* gpmc_a9.gpio1_31 */
|
||||
>;
|
||||
};
|
||||
|
||||
mcasp3_pins_default: mcasp3_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3724, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_aclkx.mcasp3_aclkx */
|
||||
DRA7XX_CORE_IOPAD(0x3728, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_fsx.mcasp3_fsx */
|
||||
DRA7XX_CORE_IOPAD(0x372c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr0.mcasp3_axr0 */
|
||||
DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr1.mcasp3_axr1 */
|
||||
>;
|
||||
};
|
||||
|
||||
mcasp3_pins_sleep: mcasp3_pins_sleep {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3724, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3728, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x372c, PIN_INPUT | MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT | MUX_MODE15)
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins_default>;
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c3_pins_default>;
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c4_pins_default>;
|
||||
clock-frequency = <400000>;
|
||||
|
||||
tps659038: tps659038@58 {
|
||||
compatible = "ti,tps659038";
|
||||
reg = <0x58>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&tps659038_pins_default>;
|
||||
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
|
||||
ti,system-power-controller;
|
||||
|
||||
tps659038_pmic {
|
||||
compatible = "ti,tps659038-pmic";
|
||||
|
||||
regulators {
|
||||
smps12_reg: smps12 {
|
||||
/* VDD_MPU */
|
||||
regulator-name = "smps12";
|
||||
regulator-min-microvolt = < 850000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
smps3_reg: smps3 {
|
||||
/* VDD_DDR */
|
||||
regulator-name = "smps3";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
smps45_reg: smps45 {
|
||||
/* VDD_DSPEVE */
|
||||
regulator-name = "smps45";
|
||||
regulator-min-microvolt = < 850000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
smps6_reg: smps6 {
|
||||
/* VDD_GPU */
|
||||
regulator-name = "smps6";
|
||||
regulator-min-microvolt = < 850000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
smps7_reg: smps7 {
|
||||
/* VDD_CORE */
|
||||
regulator-name = "smps7";
|
||||
regulator-min-microvolt = < 850000>;
|
||||
regulator-max-microvolt = <1160000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
smps8_reg: smps8 {
|
||||
/* VDD_IVA */
|
||||
regulator-name = "smps8";
|
||||
regulator-min-microvolt = < 850000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
smps9_reg: smps9 {
|
||||
/* PMIC_3V3 */
|
||||
regulator-name = "smps9";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
|
||||
ldo1_reg: ldo1 {
|
||||
/* VDD_SD / VDDSHV8 */
|
||||
regulator-name = "ldo1";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo2_reg: ldo2 {
|
||||
/* VDD_1V8 */
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo3_reg: ldo3 {
|
||||
/* VDDA_1V8_PHYA - supplies VDDA_SATA, VDDA_USB1/2/3 */
|
||||
regulator-name = "ldo3";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo4_reg: ldo4 {
|
||||
/* VDDA_1V8_PHYB - supplies VDDA_HDMI, VDDA_PCIE/0/1 */
|
||||
regulator-name = "ldo4";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo9_reg: ldo9 {
|
||||
/* VDD_RTC */
|
||||
regulator-name = "ldo9";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldoln_reg: ldoln {
|
||||
/* VDDA_1V8_PLL */
|
||||
regulator-name = "ldoln";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldousb_reg: ldousb {
|
||||
/* VDDA_3V_USB: VDDA_USBHS33 */
|
||||
regulator-name = "ldousb";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
/* regen1 not used */
|
||||
};
|
||||
};
|
||||
|
||||
tps659038_pwr_button: tps659038_pwr_button {
|
||||
compatible = "ti,palmas-pwrbutton";
|
||||
interrupt-parent = <&tps659038>;
|
||||
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
|
||||
wakeup-source;
|
||||
ti,palmas-long-press-seconds = <12>;
|
||||
};
|
||||
|
||||
tps659038_gpio: tps659038_gpio {
|
||||
compatible = "ti,palmas-gpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
rtc0: rtc@56 {
|
||||
compatible = "emmicro,em3027";
|
||||
reg = <0x56>;
|
||||
};
|
||||
|
||||
eeprom_module: atmel@50 {
|
||||
compatible = "atmel,24c08";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
|
||||
wm8731: wm8731@1a {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "wlf,wm8731";
|
||||
reg = <0x1a>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu0-supply = <&smps12_reg>;
|
||||
voltage-tolerance = <1>;
|
||||
};
|
||||
|
||||
&sata {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mailbox5 {
|
||||
status = "okay";
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
status = "okay";
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins_default>;
|
||||
|
||||
vmmc-supply = <&vdd_3v3>;
|
||||
bus-width = <8>;
|
||||
ti,non-removable;
|
||||
cap-mmc-dual-data-rate;
|
||||
};
|
||||
|
||||
&qspi {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&qspi1_pins>;
|
||||
|
||||
spi-max-frequency = <48000000>;
|
||||
|
||||
spi_flash: spi_flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spansion,m25p80", "jedec,spi-nor";
|
||||
reg = <0>; /* CS0 */
|
||||
spi-max-frequency = <48000000>;
|
||||
|
||||
partition@0 {
|
||||
label = "uboot";
|
||||
reg = <0x0 0xc0000>;
|
||||
};
|
||||
|
||||
partition@c0000 {
|
||||
label = "uboot environment";
|
||||
reg = <0xc0000 0x40000>;
|
||||
};
|
||||
|
||||
partition@100000 {
|
||||
label = "reserved";
|
||||
reg = <0x100000 0x0>;
|
||||
};
|
||||
};
|
||||
|
||||
/* touch controller */
|
||||
ads7846@0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&ads7846_pins>;
|
||||
|
||||
compatible = "ti,ads7846";
|
||||
vcc-supply = <&ads7846reg>;
|
||||
|
||||
reg = <1>; /* CS1 */
|
||||
spi-max-frequency = <1500000>;
|
||||
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <31 0>;
|
||||
pendown-gpio = <&gpio1 31 0>;
|
||||
|
||||
|
||||
ti,x-min = /bits/ 16 <0x0>;
|
||||
ti,x-max = /bits/ 16 <0x0fff>;
|
||||
ti,y-min = /bits/ 16 <0x0>;
|
||||
ti,y-max = /bits/ 16 <0x0fff>;
|
||||
|
||||
ti,x-plate-ohms = /bits/ 16 <180>;
|
||||
ti,pressure-max = /bits/ 16 <255>;
|
||||
|
||||
ti,debounce-max = /bits/ 16 <30>;
|
||||
ti,debounce-tol = /bits/ 16 <10>;
|
||||
ti,debounce-rep = /bits/ 16 <1>;
|
||||
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
&mac {
|
||||
status = "okay";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&cpsw_pins_default>;
|
||||
pinctrl-1 = <&cpsw_pins_sleep>;
|
||||
dual_emac;
|
||||
};
|
||||
|
||||
&cpsw_emac0 {
|
||||
phy_id = <&davinci_mdio>, <0>;
|
||||
phy-mode = "rgmii-txid";
|
||||
dual_emac_res_vlan = <0>;
|
||||
};
|
||||
|
||||
&cpsw_emac1 {
|
||||
phy_id = <&davinci_mdio>, <1>;
|
||||
phy-mode = "rgmii-txid";
|
||||
dual_emac_res_vlan = <1>;
|
||||
};
|
||||
|
||||
&davinci_mdio {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&davinci_mdio_pins_default>;
|
||||
pinctrl-1 = <&davinci_mdio_pins_sleep>;
|
||||
};
|
||||
|
||||
&usb2_phy1 {
|
||||
phy-supply = <&ldousb_reg>;
|
||||
};
|
||||
|
||||
&usb2_phy2 {
|
||||
phy-supply = <&ldousb_reg>;
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
dr_mode = "host";
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
dr_mode = "host";
|
||||
};
|
||||
|
||||
&mcasp3 {
|
||||
#sound-dai-cells = <0>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&mcasp3_pins_default>;
|
||||
pinctrl-1 = <&mcasp3_pins_sleep>;
|
||||
status = "okay";
|
||||
|
||||
op-mode = <0>; /* MCASP_IIS_MODE */
|
||||
tdm-slots = <2>;
|
||||
/* 4 serializers */
|
||||
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
|
||||
1 2 0 0
|
||||
>;
|
||||
};
|
||||
|
||||
&gpio3 {
|
||||
status = "okay";
|
||||
ti,no-reset-on-init;
|
||||
};
|
||||
|
||||
&gpio2 {
|
||||
status = "okay";
|
||||
ti,no-reset-on-init;
|
||||
};
|
||||
@ -47,6 +47,74 @@
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
leds-iio {
|
||||
status = "disabled";
|
||||
compatible = "gpio-leds";
|
||||
led-out0 {
|
||||
label = "out0";
|
||||
gpios = <&tpic2810 0 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-out1 {
|
||||
label = "out1";
|
||||
gpios = <&tpic2810 1 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-out2 {
|
||||
label = "out2";
|
||||
gpios = <&tpic2810 2 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-out3 {
|
||||
label = "out3";
|
||||
gpios = <&tpic2810 3 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-out4 {
|
||||
label = "out4";
|
||||
gpios = <&tpic2810 4 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-out5 {
|
||||
label = "out5";
|
||||
gpios = <&tpic2810 5 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-out6 {
|
||||
label = "out6";
|
||||
gpios = <&tpic2810 6 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-out7 {
|
||||
label = "out7";
|
||||
gpios = <&tpic2810 7 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dra7_pmx_core {
|
||||
dcan1_pins_default: dcan1_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
|
||||
DRA7XX_CORE_IOPAD(0x37d4, PIN_INPUT_PULLUP | MUX_MODE0) /* dcan1_rx */
|
||||
>;
|
||||
};
|
||||
|
||||
dcan1_pins_sleep: dcan1_pins_sleep {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP) /* dcan1_tx.off */
|
||||
DRA7XX_CORE_IOPAD(0x37d4, MUX_MODE15 | PULL_UP) /* dcan1_rx.off */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
@ -61,6 +129,7 @@
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
ti,system-power-controller;
|
||||
ti,palmas-override-powerhold;
|
||||
|
||||
tps659038_pmic {
|
||||
compatible = "ti,tps659038-pmic";
|
||||
@ -254,6 +323,35 @@
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
extcon_usb2: tps659038_usb {
|
||||
compatible = "ti,palmas-usb-vid";
|
||||
ti,enable-vbus-detection;
|
||||
ti,enable-id-detection;
|
||||
/* ID & VBUS GPIOs provided in board dts */
|
||||
};
|
||||
};
|
||||
|
||||
tpic2810: tpic2810@60 {
|
||||
compatible = "ti,tpic2810";
|
||||
reg = <0x60>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&mcspi3 {
|
||||
status = "okay";
|
||||
ti,pindir-d0-out-d1-in;
|
||||
|
||||
sn65hvs882: sn65hvs882@0 {
|
||||
compatible = "pisosr-gpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
reg = <0>;
|
||||
spi-max-frequency = <1000000>;
|
||||
spi-cpol;
|
||||
};
|
||||
};
|
||||
|
||||
@ -298,7 +396,15 @@
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
dr_mode = "otg";
|
||||
dr_mode = "peripheral";
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
status = "okay";
|
||||
vmmc-supply = <&v3_3d>;
|
||||
vqmmc-supply = <&ldo1_reg>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
@ -309,12 +415,20 @@
|
||||
max-frequency = <96000000>;
|
||||
};
|
||||
|
||||
&dcan1 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default", "sleep", "active";
|
||||
pinctrl-0 = <&dcan1_pins_sleep>;
|
||||
pinctrl-1 = <&dcan1_pins_sleep>;
|
||||
pinctrl-2 = <&dcan1_pins_default>;
|
||||
};
|
||||
|
||||
&qspi {
|
||||
status = "okay";
|
||||
|
||||
spi-max-frequency = <76800000>;
|
||||
m25p80@0 {
|
||||
compatible = "s25fl256s1", "spi-flash", "jedec,spi-nor";
|
||||
compatible = "s25fl256s1", "jedec,spi-nor";
|
||||
spi-max-frequency = <76800000>;
|
||||
reg = <0>;
|
||||
spi-tx-bus-width = <1>;
|
||||
|
||||
179
arch/arm/dts/am57xx-sbc-am57x.dts
Normal file
179
arch/arm/dts/am57xx-sbc-am57x.dts
Normal file
@ -0,0 +1,179 @@
|
||||
/*
|
||||
* Support for CompuLab SBC-AM57x single board computer
|
||||
*
|
||||
* Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
|
||||
* Author: Dmitry Lifshitz <lifshitz@compulab.co.il>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 as published by
|
||||
* the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include "am57xx-cl-som-am57x.dts"
|
||||
#include "compulab-sb-som.dtsi"
|
||||
|
||||
/ {
|
||||
model = "CompuLab CL-SOM-AM57x on SB-SOM-AM57x";
|
||||
compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
|
||||
|
||||
aliases {
|
||||
display0 = &lcd0;
|
||||
display1 = &hdmi;
|
||||
};
|
||||
};
|
||||
|
||||
&dra7_pmx_core {
|
||||
uart3_pins_default: uart3_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd */
|
||||
DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_default: mmc1_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1_sdcd.gpio6_27 */
|
||||
DRA7XX_CORE_IOPAD(0x377c, PIN_INPUT | MUX_MODE14) /* mmc1_sdwp.gpio6_28 */
|
||||
>;
|
||||
};
|
||||
|
||||
usb1_pins: pinmux_usb1_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
|
||||
>;
|
||||
};
|
||||
|
||||
i2c5_pins_default: i2c5_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x36b4, PIN_INPUT| MUX_MODE10) /* mcasp1_axr0.i2c5_sda */
|
||||
DRA7XX_CORE_IOPAD(0x36b8, PIN_INPUT| MUX_MODE10) /* mcasp1_axr1.i2c5_scl */
|
||||
>;
|
||||
};
|
||||
|
||||
lcd_pins_default: lcd_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3564, PIN_OUTPUT | MUX_MODE14) /* vin2a_vsync0.gpio4_0 */
|
||||
>;
|
||||
};
|
||||
|
||||
hdmi_pins: pinmux_hdmi_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE1) /* i2c2_sda.hdmi1_ddc_scl */
|
||||
DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE1) /* i2c2_scl.hdmi1_ddc_sda */
|
||||
>;
|
||||
};
|
||||
|
||||
hdmi_conn_pins: pinmux_hdmi_conn_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT | MUX_MODE14) /* spi1_cs2.gpio7_12 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
status = "okay";
|
||||
interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&dra7_pmx_core 0x3f8>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart3_pins_default>;
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
|
||||
vmmc-supply = <&ldo1_reg>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
|
||||
wp-gpios = <&gpio6 28 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb1_pins>;
|
||||
};
|
||||
|
||||
&i2c5 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c5_pins_default>;
|
||||
clock-frequency = <400000>;
|
||||
|
||||
eeprom_base: atmel@54 {
|
||||
compatible = "atmel,24c08";
|
||||
reg = <0x54>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
|
||||
pca9555: pca9555@20 {
|
||||
compatible = "nxp,pca9555";
|
||||
reg = <0x20>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&dss {
|
||||
status = "ok";
|
||||
|
||||
vdda_video-supply = <&ldoln_reg>;
|
||||
|
||||
port {
|
||||
dpi_lcd_out: endpoint {
|
||||
remote-endpoint = <&lcd_in>;
|
||||
data-lines = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&lcd0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&lcd_pins_default>;
|
||||
|
||||
enable-gpios = <&pca9555 14 GPIO_ACTIVE_HIGH
|
||||
&gpio4 0 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
port {
|
||||
lcd_in: endpoint {
|
||||
remote-endpoint = <&dpi_lcd_out>;
|
||||
data-lines = <24>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi {
|
||||
status = "ok";
|
||||
vdda-supply = <&ldo4_reg>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hdmi_pins>;
|
||||
|
||||
port {
|
||||
hdmi_out: endpoint {
|
||||
remote-endpoint = <&hdmi_connector_in>;
|
||||
lanes = <1 0 3 2 5 4 7 6>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi_conn {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hdmi_conn_pins>;
|
||||
|
||||
hpd-gpios = <&gpio7 12 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
port {
|
||||
hdmi_connector_in: endpoint {
|
||||
remote-endpoint = <&hdmi_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
215
arch/arm/dts/at91-sama5d27_som1_ek.dts
Normal file
215
arch/arm/dts/at91-sama5d27_som1_ek.dts
Normal file
@ -0,0 +1,215 @@
|
||||
/*
|
||||
* at91-sama5d27_som1_ek.dts - Device Tree file for SAMA5D27 SOM1 EK board
|
||||
*
|
||||
* Copyright (C) 2017 Microchip Corporation
|
||||
* Wenyou Yang <wenyou.yang@microchip.com>
|
||||
*
|
||||
* 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 as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* 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 "AS IS", 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 "sama5d27_som1.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Atmel SAMA5D27 SOM1 EK";
|
||||
compatible = "atmel,sama5d27-som1-ek", "atmel,sama5d2", "atmel,sama5";
|
||||
|
||||
chosen {
|
||||
u-boot,dm-pre-reloc;
|
||||
stdout-path = &uart1;
|
||||
};
|
||||
|
||||
ahb {
|
||||
usb1: ohci@00400000 {
|
||||
num-ports = <3>;
|
||||
atmel,vbus-gpio = <&pioA 42 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb_default>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb2: ehci@00500000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
sdmmc0: sdio-host@a0000000 {
|
||||
bus-width = <8>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sdmmc0_cmd_dat_default &pinctrl_sdmmc0_ck_cd_default>;
|
||||
status = "okay";
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
sdmmc1: sdio-host@b0000000 {
|
||||
bus-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sdmmc1_cmd_dat_default &pinctrl_sdmmc1_ck_cd_default>;
|
||||
status = "okay"; /* conflict with qspi0 */
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
apb {
|
||||
hlcdc: hlcdc@f0000000 {
|
||||
atmel,vl-bpix = <4>;
|
||||
atmel,guard-time = <1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_pwm &pinctrl_lcd_rgb666>;
|
||||
status = "okay";
|
||||
u-boot,dm-pre-reloc;
|
||||
|
||||
display-timings {
|
||||
u-boot,dm-pre-reloc;
|
||||
480x272 {
|
||||
clock-frequency = <9000000>;
|
||||
hactive = <480>;
|
||||
vactive = <272>;
|
||||
hsync-len = <41>;
|
||||
hfront-porch = <2>;
|
||||
hback-porch = <2>;
|
||||
vfront-porch = <2>;
|
||||
vback-porch = <2>;
|
||||
vsync-len = <11>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
uart1: serial@f8020000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1_default>;
|
||||
status = "okay";
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
pioA: gpio@fc038000 {
|
||||
pinctrl {
|
||||
pinctrl_lcd_base: pinctrl_lcd_base {
|
||||
pinmux = <PIN_PC5__LCDVSYNC>,
|
||||
<PIN_PC6__LCDHSYNC>,
|
||||
<PIN_PC8__LCDDEN>,
|
||||
<PIN_PC7__LCDPCK>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_lcd_pwm: pinctrl_lcd_pwm {
|
||||
pinmux = <PIN_PC3__LCDPWM>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_lcd_rgb666: pinctrl_lcd_rgb666 {
|
||||
pinmux = <PIN_PB13__LCDDAT2>,
|
||||
<PIN_PB14__LCDDAT3>,
|
||||
<PIN_PB15__LCDDAT4>,
|
||||
<PIN_PB16__LCDDAT5>,
|
||||
<PIN_PB17__LCDDAT6>,
|
||||
<PIN_PB18__LCDDAT7>,
|
||||
<PIN_PB21__LCDDAT10>,
|
||||
<PIN_PB22__LCDDAT11>,
|
||||
<PIN_PB23__LCDDAT12>,
|
||||
<PIN_PB24__LCDDAT13>,
|
||||
<PIN_PB25__LCDDAT14>,
|
||||
<PIN_PB26__LCDDAT15>,
|
||||
<PIN_PB29__LCDDAT18>,
|
||||
<PIN_PB30__LCDDAT19>,
|
||||
<PIN_PB31__LCDDAT20>,
|
||||
<PIN_PC0__LCDDAT21>,
|
||||
<PIN_PC1__LCDDAT22>,
|
||||
<PIN_PC2__LCDDAT23>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_sdmmc0_cmd_dat_default: sdmmc0_cmd_dat_default {
|
||||
pinmux = <PIN_PA1__SDMMC0_CMD>,
|
||||
<PIN_PA2__SDMMC0_DAT0>,
|
||||
<PIN_PA3__SDMMC0_DAT1>,
|
||||
<PIN_PA4__SDMMC0_DAT2>,
|
||||
<PIN_PA5__SDMMC0_DAT3>,
|
||||
<PIN_PA6__SDMMC0_DAT4>,
|
||||
<PIN_PA7__SDMMC0_DAT5>,
|
||||
<PIN_PA8__SDMMC0_DAT6>,
|
||||
<PIN_PA9__SDMMC0_DAT7>;
|
||||
bias-pull-up;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
pinctrl_sdmmc0_ck_cd_default: sdmmc0_ck_cd_default {
|
||||
pinmux = <PIN_PA0__SDMMC0_CK>,
|
||||
<PIN_PA10__SDMMC0_RSTN>,
|
||||
<PIN_PA13__SDMMC0_CD>;
|
||||
bias-disable;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
pinctrl_sdmmc1_cmd_dat_default: sdmmc1_cmd_dat_default {
|
||||
pinmux = <PIN_PA28__SDMMC1_CMD>,
|
||||
<PIN_PA18__SDMMC1_DAT0>,
|
||||
<PIN_PA19__SDMMC1_DAT1>,
|
||||
<PIN_PA20__SDMMC1_DAT2>,
|
||||
<PIN_PA21__SDMMC1_DAT3>;
|
||||
bias-pull-up;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
pinctrl_sdmmc1_ck_cd_default: sdmmc1_ck_cd_default {
|
||||
pinmux = <PIN_PA22__SDMMC1_CK>,
|
||||
<PIN_PA30__SDMMC1_CD>;
|
||||
bias-disable;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
pinctrl_uart1_default: uart1_default {
|
||||
pinmux = <PIN_PD2__URXD1>,
|
||||
<PIN_PD3__UTXD1>;
|
||||
bias-disable;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
pinctrl_usb_default: usb_default {
|
||||
pinmux = <PIN_PB10__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_usba_vbus: usba_vbus {
|
||||
pinmux = <PIN_PA31__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -102,6 +102,11 @@
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1_default>;
|
||||
status = "okay";
|
||||
|
||||
i2c_eeprom: i2c_eeprom@5c {
|
||||
compatible = "atmel,24mac402";
|
||||
reg = <0x5c>;
|
||||
};
|
||||
};
|
||||
|
||||
pioA: gpio@fc038000 {
|
||||
|
||||
@ -88,6 +88,11 @@
|
||||
|
||||
i2c0: i2c@f8014000 {
|
||||
status = "okay";
|
||||
|
||||
i2c_eeprom: i2c_eeprom@5c {
|
||||
compatible = "atmel,24mac402";
|
||||
reg = <0x5c>;
|
||||
};
|
||||
};
|
||||
|
||||
macb0: ethernet@f8020000 {
|
||||
|
||||
23
arch/arm/dts/da850-evm-u-boot.dtsi
Normal file
23
arch/arm/dts/da850-evm-u-boot.dtsi
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* da850-evm U-Boot Additions
|
||||
*
|
||||
* Copyright (C) 2017 Logic PD, Inc.
|
||||
* Copyright (C) Adam Ford
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
stdout-path = &serial2;
|
||||
};
|
||||
|
||||
aliases {
|
||||
i2c0 = &i2c0;
|
||||
spi0 = &spi1;
|
||||
};
|
||||
};
|
||||
|
||||
&flash {
|
||||
compatible = "m25p64", "spi-flash";
|
||||
};
|
||||
304
arch/arm/dts/da850-evm.dts
Normal file
304
arch/arm/dts/da850-evm.dts
Normal file
@ -0,0 +1,304 @@
|
||||
/*
|
||||
* Device Tree for DA850 EVM board
|
||||
*
|
||||
* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation, version 2.
|
||||
*/
|
||||
/dts-v1/;
|
||||
#include "da850.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
compatible = "ti,da850-evm", "ti,da850";
|
||||
model = "DA850/AM1808/OMAP-L138 EVM";
|
||||
|
||||
soc@1c00000 {
|
||||
pmx_core: pinmux@14120 {
|
||||
status = "okay";
|
||||
|
||||
mcasp0_pins: pinmux_mcasp0_pins {
|
||||
pinctrl-single,bits = <
|
||||
/*
|
||||
* AHCLKX, ACLKX, AFSX, AHCLKR, ACLKR,
|
||||
* AFSR, AMUTE
|
||||
*/
|
||||
0x00 0x11111111 0xffffffff
|
||||
/* AXR11, AXR12 */
|
||||
0x04 0x00011000 0x000ff000
|
||||
>;
|
||||
};
|
||||
nand_pins: nand_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* EMA_WAIT[0], EMA_OE, EMA_WE, EMA_CS[4], EMA_CS[3] */
|
||||
0x1c 0x10110110 0xf0ff0ff0
|
||||
/*
|
||||
* EMA_D[0], EMA_D[1], EMA_D[2],
|
||||
* EMA_D[3], EMA_D[4], EMA_D[5],
|
||||
* EMA_D[6], EMA_D[7]
|
||||
*/
|
||||
0x24 0x11111111 0xffffffff
|
||||
/* EMA_A[1], EMA_A[2] */
|
||||
0x30 0x01100000 0x0ff00000
|
||||
>;
|
||||
};
|
||||
};
|
||||
serial0: serial@42000 {
|
||||
status = "okay";
|
||||
};
|
||||
serial1: serial@10c000 {
|
||||
status = "okay";
|
||||
};
|
||||
serial2: serial@10d000 {
|
||||
status = "okay";
|
||||
};
|
||||
rtc0: rtc@23000 {
|
||||
status = "okay";
|
||||
};
|
||||
i2c0: i2c@22000 {
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
|
||||
tps: tps@48 {
|
||||
reg = <0x48>;
|
||||
};
|
||||
tlv320aic3106: tlv320aic3106@18 {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "ti,tlv320aic3106";
|
||||
reg = <0x18>;
|
||||
status = "okay";
|
||||
|
||||
/* Regulators */
|
||||
IOVDD-supply = <&vdcdc2_reg>;
|
||||
/* Derived from VBAT: Baseboard 3.3V / 1.8V */
|
||||
AVDD-supply = <&vbat>;
|
||||
DRVDD-supply = <&vbat>;
|
||||
DVDD-supply = <&vbat>;
|
||||
};
|
||||
tca6416: gpio@20 {
|
||||
compatible = "ti,tca6416";
|
||||
reg = <0x20>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
wdt: wdt@21000 {
|
||||
status = "okay";
|
||||
};
|
||||
mmc0: mmc@40000 {
|
||||
max-frequency = <50000000>;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
};
|
||||
spi1: spi@30e000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi1_pins &spi1_cs0_pin>;
|
||||
flash: m25p80@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "m25p64";
|
||||
spi-max-frequency = <30000000>;
|
||||
m25p,fast-read;
|
||||
reg = <0>;
|
||||
partition@0 {
|
||||
label = "U-Boot-SPL";
|
||||
reg = <0x00000000 0x00010000>;
|
||||
read-only;
|
||||
};
|
||||
partition@1 {
|
||||
label = "U-Boot";
|
||||
reg = <0x00010000 0x00080000>;
|
||||
read-only;
|
||||
};
|
||||
partition@2 {
|
||||
label = "U-Boot-Env";
|
||||
reg = <0x00090000 0x00010000>;
|
||||
read-only;
|
||||
};
|
||||
partition@3 {
|
||||
label = "Kernel";
|
||||
reg = <0x000a0000 0x00280000>;
|
||||
};
|
||||
partition@4 {
|
||||
label = "Filesystem";
|
||||
reg = <0x00320000 0x00400000>;
|
||||
};
|
||||
partition@5 {
|
||||
label = "MAC-Address";
|
||||
reg = <0x007f0000 0x00010000>;
|
||||
read-only;
|
||||
};
|
||||
};
|
||||
};
|
||||
mdio: mdio@224000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
bus_freq = <2200000>;
|
||||
};
|
||||
eth0: ethernet@220000 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mii_pins>;
|
||||
};
|
||||
gpio: gpio@226000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
vbat: fixedregulator0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vbat";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
sound {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "DA850/OMAP-L138 EVM";
|
||||
simple-audio-card,widgets =
|
||||
"Line", "Line In",
|
||||
"Line", "Line Out";
|
||||
simple-audio-card,routing =
|
||||
"LINE1L", "Line In",
|
||||
"LINE1R", "Line In",
|
||||
"Line Out", "LLOUT",
|
||||
"Line Out", "RLOUT";
|
||||
simple-audio-card,format = "dsp_b";
|
||||
simple-audio-card,bitclock-master = <&link0_codec>;
|
||||
simple-audio-card,frame-master = <&link0_codec>;
|
||||
simple-audio-card,bitclock-inversion;
|
||||
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&mcasp0>;
|
||||
system-clock-frequency = <24576000>;
|
||||
};
|
||||
|
||||
link0_codec: simple-audio-card,codec {
|
||||
sound-dai = <&tlv320aic3106>;
|
||||
system-clock-frequency = <24576000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "tps6507x.dtsi"
|
||||
|
||||
&tps {
|
||||
vdcdc1_2-supply = <&vbat>;
|
||||
vdcdc3-supply = <&vbat>;
|
||||
vldo1_2-supply = <&vbat>;
|
||||
|
||||
regulators {
|
||||
vdcdc1_reg: regulator@0 {
|
||||
regulator-name = "VDCDC1_3.3V";
|
||||
regulator-min-microvolt = <3150000>;
|
||||
regulator-max-microvolt = <3450000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vdcdc2_reg: regulator@1 {
|
||||
regulator-name = "VDCDC2_3.3V";
|
||||
regulator-min-microvolt = <1710000>;
|
||||
regulator-max-microvolt = <3450000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,defdcdc_default = <1>;
|
||||
};
|
||||
|
||||
vdcdc3_reg: regulator@2 {
|
||||
regulator-name = "VDCDC3_1.2V";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,defdcdc_default = <1>;
|
||||
};
|
||||
|
||||
ldo1_reg: regulator@3 {
|
||||
regulator-name = "LDO1_1.8V";
|
||||
regulator-min-microvolt = <1710000>;
|
||||
regulator-max-microvolt = <1890000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo2_reg: regulator@4 {
|
||||
regulator-name = "LDO2_1.2V";
|
||||
regulator-min-microvolt = <1140000>;
|
||||
regulator-max-microvolt = <1320000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mcasp0 {
|
||||
#sound-dai-cells = <0>;
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mcasp0_pins>;
|
||||
|
||||
op-mode = <0>; /* MCASP_IIS_MODE */
|
||||
tdm-slots = <2>;
|
||||
/* 4 serializer */
|
||||
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
|
||||
0 0 0 0
|
||||
0 0 0 0
|
||||
0 0 0 1
|
||||
2 0 0 0
|
||||
>;
|
||||
tx-num-evt = <32>;
|
||||
rx-num-evt = <32>;
|
||||
};
|
||||
|
||||
&edma0 {
|
||||
ti,edma-reserved-slot-ranges = <32 50>;
|
||||
};
|
||||
|
||||
&edma1 {
|
||||
ti,edma-reserved-slot-ranges = <32 90>;
|
||||
};
|
||||
|
||||
&aemif {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&nand_pins>;
|
||||
status = "ok";
|
||||
cs3 {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
clock-ranges;
|
||||
ranges;
|
||||
|
||||
ti,cs-chipselect = <3>;
|
||||
|
||||
nand@2000000,0 {
|
||||
compatible = "ti,davinci-nand";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0 0x02000000 0x02000000
|
||||
1 0x00000000 0x00008000>;
|
||||
|
||||
ti,davinci-chipselect = <1>;
|
||||
ti,davinci-mask-ale = <0>;
|
||||
ti,davinci-mask-cle = <0>;
|
||||
ti,davinci-mask-chipsel = <0>;
|
||||
ti,davinci-ecc-mode = "hw";
|
||||
ti,davinci-ecc-bits = <4>;
|
||||
ti,davinci-nand-use-bbt;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&vpif {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vpif_capture_pins>, <&vpif_display_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
581
arch/arm/dts/da850.dtsi
Normal file
581
arch/arm/dts/da850.dtsi
Normal file
@ -0,0 +1,581 @@
|
||||
/*
|
||||
* Copyright 2012 DENX Software Engineering GmbH
|
||||
* Heiko Schocher <hs@denx.de>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License as published by the
|
||||
* Free Software Foundation; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*/
|
||||
#include "skeleton.dtsi"
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
/ {
|
||||
arm {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
intc: interrupt-controller@fffee000 {
|
||||
compatible = "ti,cp-intc";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
ti,intc-size = <101>;
|
||||
reg = <0xfffee000 0x2000>;
|
||||
};
|
||||
};
|
||||
|
||||
aliases {
|
||||
spi0 = &spi0;
|
||||
};
|
||||
|
||||
soc@1c00000 {
|
||||
compatible = "simple-bus";
|
||||
model = "da850";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x01c00000 0x400000>;
|
||||
interrupt-parent = <&intc>;
|
||||
|
||||
pmx_core: pinmux@14120 {
|
||||
compatible = "pinctrl-single";
|
||||
reg = <0x14120 0x50>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#pinctrl-cells = <2>;
|
||||
pinctrl-single,bit-per-mux;
|
||||
pinctrl-single,register-width = <32>;
|
||||
pinctrl-single,function-mask = <0xf>;
|
||||
status = "disabled";
|
||||
|
||||
serial0_rtscts_pins: pinmux_serial0_rtscts_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* UART0_RTS UART0_CTS */
|
||||
0x0c 0x22000000 0xff000000
|
||||
>;
|
||||
};
|
||||
serial0_rxtx_pins: pinmux_serial0_rxtx_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* UART0_TXD UART0_RXD */
|
||||
0x0c 0x00220000 0x00ff0000
|
||||
>;
|
||||
};
|
||||
serial1_rtscts_pins: pinmux_serial1_rtscts_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* UART1_CTS UART1_RTS */
|
||||
0x00 0x00440000 0x00ff0000
|
||||
>;
|
||||
};
|
||||
serial1_rxtx_pins: pinmux_serial1_rxtx_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* UART1_TXD UART1_RXD */
|
||||
0x10 0x22000000 0xff000000
|
||||
>;
|
||||
};
|
||||
serial2_rtscts_pins: pinmux_serial2_rtscts_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* UART2_CTS UART2_RTS */
|
||||
0x00 0x44000000 0xff000000
|
||||
>;
|
||||
};
|
||||
serial2_rxtx_pins: pinmux_serial2_rxtx_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* UART2_TXD UART2_RXD */
|
||||
0x10 0x00220000 0x00ff0000
|
||||
>;
|
||||
};
|
||||
i2c0_pins: pinmux_i2c0_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* I2C0_SDA,I2C0_SCL */
|
||||
0x10 0x00002200 0x0000ff00
|
||||
>;
|
||||
};
|
||||
i2c1_pins: pinmux_i2c1_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* I2C1_SDA, I2C1_SCL */
|
||||
0x10 0x00440000 0x00ff0000
|
||||
>;
|
||||
};
|
||||
mmc0_pins: pinmux_mmc_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* MMCSD0_DAT[3] MMCSD0_DAT[2]
|
||||
* MMCSD0_DAT[1] MMCSD0_DAT[0]
|
||||
* MMCSD0_CMD MMCSD0_CLK
|
||||
*/
|
||||
0x28 0x00222222 0x00ffffff
|
||||
>;
|
||||
};
|
||||
ehrpwm0a_pins: pinmux_ehrpwm0a_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* EPWM0A */
|
||||
0xc 0x00000002 0x0000000f
|
||||
>;
|
||||
};
|
||||
ehrpwm0b_pins: pinmux_ehrpwm0b_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* EPWM0B */
|
||||
0xc 0x00000020 0x000000f0
|
||||
>;
|
||||
};
|
||||
ehrpwm1a_pins: pinmux_ehrpwm1a_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* EPWM1A */
|
||||
0x14 0x00000002 0x0000000f
|
||||
>;
|
||||
};
|
||||
ehrpwm1b_pins: pinmux_ehrpwm1b_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* EPWM1B */
|
||||
0x14 0x00000020 0x000000f0
|
||||
>;
|
||||
};
|
||||
ecap0_pins: pinmux_ecap0_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* ECAP0_APWM0 */
|
||||
0x8 0x20000000 0xf0000000
|
||||
>;
|
||||
};
|
||||
ecap1_pins: pinmux_ecap1_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* ECAP1_APWM1 */
|
||||
0x4 0x40000000 0xf0000000
|
||||
>;
|
||||
};
|
||||
ecap2_pins: pinmux_ecap2_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* ECAP2_APWM2 */
|
||||
0x4 0x00000004 0x0000000f
|
||||
>;
|
||||
};
|
||||
spi0_pins: pinmux_spi0_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* SIMO, SOMI, CLK */
|
||||
0xc 0x00001101 0x0000ff0f
|
||||
>;
|
||||
};
|
||||
spi0_cs0_pin: pinmux_spi0_cs0 {
|
||||
pinctrl-single,bits = <
|
||||
/* CS0 */
|
||||
0x10 0x00000010 0x000000f0
|
||||
>;
|
||||
};
|
||||
spi0_cs3_pin: pinmux_spi0_cs3_pin {
|
||||
pinctrl-single,bits = <
|
||||
/* CS3 */
|
||||
0xc 0x01000000 0x0f000000
|
||||
>;
|
||||
};
|
||||
spi1_pins: pinmux_spi1_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* SIMO, SOMI, CLK */
|
||||
0x14 0x00110100 0x00ff0f00
|
||||
>;
|
||||
};
|
||||
spi1_cs0_pin: pinmux_spi1_cs0 {
|
||||
pinctrl-single,bits = <
|
||||
/* CS0 */
|
||||
0x14 0x00000010 0x000000f0
|
||||
>;
|
||||
};
|
||||
mdio_pins: pinmux_mdio_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* MDIO_CLK, MDIO_D */
|
||||
0x10 0x00000088 0x000000ff
|
||||
>;
|
||||
};
|
||||
mii_pins: pinmux_mii_pins {
|
||||
pinctrl-single,bits = <
|
||||
/*
|
||||
* MII_TXEN, MII_TXCLK, MII_COL
|
||||
* MII_TXD_3, MII_TXD_2, MII_TXD_1
|
||||
* MII_TXD_0
|
||||
*/
|
||||
0x8 0x88888880 0xfffffff0
|
||||
/*
|
||||
* MII_RXER, MII_CRS, MII_RXCLK
|
||||
* MII_RXDV, MII_RXD_3, MII_RXD_2
|
||||
* MII_RXD_1, MII_RXD_0
|
||||
*/
|
||||
0xc 0x88888888 0xffffffff
|
||||
>;
|
||||
};
|
||||
lcd_pins: pinmux_lcd_pins {
|
||||
pinctrl-single,bits = <
|
||||
/*
|
||||
* LCD_D[2], LCD_D[3], LCD_D[4], LCD_D[5],
|
||||
* LCD_D[6], LCD_D[7]
|
||||
*/
|
||||
0x40 0x22222200 0xffffff00
|
||||
/*
|
||||
* LCD_D[10], LCD_D[11], LCD_D[12], LCD_D[13],
|
||||
* LCD_D[14], LCD_D[15], LCD_D[0], LCD_D[1]
|
||||
*/
|
||||
0x44 0x22222222 0xffffffff
|
||||
/* LCD_D[8], LCD_D[9] */
|
||||
0x48 0x00000022 0x000000ff
|
||||
|
||||
/* LCD_PCLK */
|
||||
0x48 0x02000000 0x0f000000
|
||||
/* LCD_AC_ENB_CS, LCD_VSYNC, LCD_HSYNC */
|
||||
0x4c 0x02000022 0x0f0000ff
|
||||
>;
|
||||
};
|
||||
vpif_capture_pins: vpif_capture_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* VP_DIN[2..7], VP_CLKIN1, VP_CLKIN0 */
|
||||
0x38 0x11111111 0xffffffff
|
||||
/* VP_DIN[10..15,0..1] */
|
||||
0x3c 0x11111111 0xffffffff
|
||||
/* VP_DIN[8..9] */
|
||||
0x40 0x00000011 0x000000ff
|
||||
>;
|
||||
};
|
||||
vpif_display_pins: vpif_display_pins {
|
||||
pinctrl-single,bits = <
|
||||
/* VP_DOUT[2..7] */
|
||||
0x40 0x11111100 0xffffff00
|
||||
/* VP_DOUT[10..15,0..1] */
|
||||
0x44 0x11111111 0xffffffff
|
||||
/* VP_DOUT[8..9] */
|
||||
0x48 0x00000011 0x000000ff
|
||||
/*
|
||||
* VP_CLKOUT3, VP_CLKIN3,
|
||||
* VP_CLKOUT2, VP_CLKIN2
|
||||
*/
|
||||
0x4c 0x00111100 0x00ffff00
|
||||
>;
|
||||
};
|
||||
};
|
||||
prictrl: priority-controller@14110 {
|
||||
compatible = "ti,da850-mstpri";
|
||||
reg = <0x14110 0x0c>;
|
||||
status = "disabled";
|
||||
};
|
||||
cfgchip: chip-controller@1417c {
|
||||
compatible = "ti,da830-cfgchip", "syscon", "simple-mfd";
|
||||
reg = <0x1417c 0x14>;
|
||||
|
||||
usb_phy: usb-phy {
|
||||
compatible = "ti,da830-usb-phy";
|
||||
#phy-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
edma0: edma@0 {
|
||||
compatible = "ti,edma3-tpcc";
|
||||
/* eDMA3 CC0: 0x01c0 0000 - 0x01c0 7fff */
|
||||
reg = <0x0 0x8000>;
|
||||
reg-names = "edma3_cc";
|
||||
interrupts = <11 12>;
|
||||
interrupt-names = "edma3_ccint", "edma3_ccerrint";
|
||||
#dma-cells = <2>;
|
||||
|
||||
ti,tptcs = <&edma0_tptc0 7>, <&edma0_tptc1 0>;
|
||||
};
|
||||
edma0_tptc0: tptc@8000 {
|
||||
compatible = "ti,edma3-tptc";
|
||||
reg = <0x8000 0x400>;
|
||||
interrupts = <13>;
|
||||
interrupt-names = "edm3_tcerrint";
|
||||
};
|
||||
edma0_tptc1: tptc@8400 {
|
||||
compatible = "ti,edma3-tptc";
|
||||
reg = <0x8400 0x400>;
|
||||
interrupts = <32>;
|
||||
interrupt-names = "edm3_tcerrint";
|
||||
};
|
||||
edma1: edma@230000 {
|
||||
compatible = "ti,edma3-tpcc";
|
||||
/* eDMA3 CC1: 0x01e3 0000 - 0x01e3 7fff */
|
||||
reg = <0x230000 0x8000>;
|
||||
reg-names = "edma3_cc";
|
||||
interrupts = <93 94>;
|
||||
interrupt-names = "edma3_ccint", "edma3_ccerrint";
|
||||
#dma-cells = <2>;
|
||||
|
||||
ti,tptcs = <&edma1_tptc0 7>;
|
||||
};
|
||||
edma1_tptc0: tptc@238000 {
|
||||
compatible = "ti,edma3-tptc";
|
||||
reg = <0x238000 0x400>;
|
||||
interrupts = <95>;
|
||||
interrupt-names = "edm3_tcerrint";
|
||||
};
|
||||
serial0: serial@42000 {
|
||||
compatible = "ti,da830-uart", "ns16550a";
|
||||
reg = <0x42000 0x100>;
|
||||
reg-io-width = <4>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <25>;
|
||||
status = "disabled";
|
||||
};
|
||||
serial1: serial@10c000 {
|
||||
compatible = "ti,da830-uart", "ns16550a";
|
||||
reg = <0x10c000 0x100>;
|
||||
reg-io-width = <4>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <53>;
|
||||
status = "disabled";
|
||||
};
|
||||
serial2: serial@10d000 {
|
||||
compatible = "ti,da830-uart", "ns16550a";
|
||||
reg = <0x10d000 0x100>;
|
||||
reg-io-width = <4>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <61>;
|
||||
status = "disabled";
|
||||
};
|
||||
rtc0: rtc@23000 {
|
||||
compatible = "ti,da830-rtc";
|
||||
reg = <0x23000 0x1000>;
|
||||
interrupts = <19
|
||||
19>;
|
||||
status = "disabled";
|
||||
};
|
||||
i2c0: i2c@22000 {
|
||||
compatible = "ti,davinci-i2c";
|
||||
reg = <0x22000 0x1000>;
|
||||
interrupts = <15>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
i2c1: i2c@228000 {
|
||||
compatible = "ti,davinci-i2c";
|
||||
reg = <0x228000 0x1000>;
|
||||
interrupts = <51>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
wdt: wdt@21000 {
|
||||
compatible = "ti,davinci-wdt";
|
||||
reg = <0x21000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
mmc0: mmc@40000 {
|
||||
compatible = "ti,da830-mmc";
|
||||
reg = <0x40000 0x1000>;
|
||||
cap-sd-highspeed;
|
||||
cap-mmc-highspeed;
|
||||
interrupts = <16>;
|
||||
dmas = <&edma0 16 0>, <&edma0 17 0>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
vpif: video@217000 {
|
||||
compatible = "ti,da850-vpif";
|
||||
reg = <0x217000 0x1000>;
|
||||
interrupts = <92>;
|
||||
status = "disabled";
|
||||
|
||||
/* VPIF capture port */
|
||||
port@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
/* VPIF display port */
|
||||
port@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
mmc1: mmc@21b000 {
|
||||
compatible = "ti,da830-mmc";
|
||||
reg = <0x21b000 0x1000>;
|
||||
cap-sd-highspeed;
|
||||
cap-mmc-highspeed;
|
||||
interrupts = <72>;
|
||||
dmas = <&edma1 28 0>, <&edma1 29 0>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
ehrpwm0: pwm@300000 {
|
||||
compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm",
|
||||
"ti,am33xx-ehrpwm";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x300000 0x2000>;
|
||||
status = "disabled";
|
||||
};
|
||||
ehrpwm1: pwm@302000 {
|
||||
compatible = "ti,da850-ehrpwm", "ti,am3352-ehrpwm",
|
||||
"ti,am33xx-ehrpwm";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x302000 0x2000>;
|
||||
status = "disabled";
|
||||
};
|
||||
ecap0: ecap@306000 {
|
||||
compatible = "ti,da850-ecap", "ti,am3352-ecap",
|
||||
"ti,am33xx-ecap";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x306000 0x80>;
|
||||
status = "disabled";
|
||||
};
|
||||
ecap1: ecap@307000 {
|
||||
compatible = "ti,da850-ecap", "ti,am3352-ecap",
|
||||
"ti,am33xx-ecap";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x307000 0x80>;
|
||||
status = "disabled";
|
||||
};
|
||||
ecap2: ecap@308000 {
|
||||
compatible = "ti,da850-ecap", "ti,am3352-ecap",
|
||||
"ti,am33xx-ecap";
|
||||
#pwm-cells = <3>;
|
||||
reg = <0x308000 0x80>;
|
||||
status = "disabled";
|
||||
};
|
||||
spi0: spi@41000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "ti,da830-spi";
|
||||
reg = <0x41000 0x1000>;
|
||||
num-cs = <6>;
|
||||
ti,davinci-spi-intr-line = <1>;
|
||||
interrupts = <20>;
|
||||
dmas = <&edma0 14 0>, <&edma0 15 0>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
spi1: spi@30e000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "ti,da830-spi";
|
||||
reg = <0x30e000 0x1000>;
|
||||
num-cs = <4>;
|
||||
ti,davinci-spi-intr-line = <1>;
|
||||
interrupts = <56>;
|
||||
dmas = <&edma0 18 0>, <&edma0 19 0>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
usb0: usb@200000 {
|
||||
compatible = "ti,da830-musb";
|
||||
reg = <0x200000 0x1000>;
|
||||
ranges;
|
||||
interrupts = <58>;
|
||||
interrupt-names = "mc";
|
||||
dr_mode = "otg";
|
||||
phys = <&usb_phy 0>;
|
||||
phy-names = "usb-phy";
|
||||
status = "disabled";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
dmas = <&cppi41dma 0 0 &cppi41dma 1 0
|
||||
&cppi41dma 2 0 &cppi41dma 3 0
|
||||
&cppi41dma 0 1 &cppi41dma 1 1
|
||||
&cppi41dma 2 1 &cppi41dma 3 1>;
|
||||
dma-names =
|
||||
"rx1", "rx2", "rx3", "rx4",
|
||||
"tx1", "tx2", "tx3", "tx4";
|
||||
|
||||
cppi41dma: dma-controller@201000 {
|
||||
compatible = "ti,da830-cppi41";
|
||||
reg = <0x201000 0x1000
|
||||
0x202000 0x1000
|
||||
0x204000 0x4000>;
|
||||
reg-names = "controller",
|
||||
"scheduler", "queuemgr";
|
||||
interrupts = <58>;
|
||||
#dma-cells = <2>;
|
||||
#dma-channels = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
sata: sata@218000 {
|
||||
compatible = "ti,da850-ahci";
|
||||
reg = <0x218000 0x2000>, <0x22c018 0x4>;
|
||||
interrupts = <67>;
|
||||
status = "disabled";
|
||||
};
|
||||
mdio: mdio@224000 {
|
||||
compatible = "ti,davinci_mdio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x224000 0x1000>;
|
||||
status = "disabled";
|
||||
};
|
||||
eth0: ethernet@220000 {
|
||||
compatible = "ti,davinci-dm6467-emac";
|
||||
reg = <0x220000 0x4000>;
|
||||
ti,davinci-ctrl-reg-offset = <0x3000>;
|
||||
ti,davinci-ctrl-mod-reg-offset = <0x2000>;
|
||||
ti,davinci-ctrl-ram-offset = <0>;
|
||||
ti,davinci-ctrl-ram-size = <0x2000>;
|
||||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <33
|
||||
34
|
||||
35
|
||||
36
|
||||
>;
|
||||
status = "disabled";
|
||||
};
|
||||
usb1: usb@225000 {
|
||||
compatible = "ti,da830-ohci";
|
||||
reg = <0x225000 0x1000>;
|
||||
interrupts = <59>;
|
||||
phys = <&usb_phy 1>;
|
||||
phy-names = "usb-phy";
|
||||
status = "disabled";
|
||||
};
|
||||
gpio: gpio@226000 {
|
||||
compatible = "ti,dm6441-gpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
reg = <0x226000 0x1000>;
|
||||
interrupts = <42 IRQ_TYPE_EDGE_BOTH
|
||||
43 IRQ_TYPE_EDGE_BOTH 44 IRQ_TYPE_EDGE_BOTH
|
||||
45 IRQ_TYPE_EDGE_BOTH 46 IRQ_TYPE_EDGE_BOTH
|
||||
47 IRQ_TYPE_EDGE_BOTH 48 IRQ_TYPE_EDGE_BOTH
|
||||
49 IRQ_TYPE_EDGE_BOTH 50 IRQ_TYPE_EDGE_BOTH>;
|
||||
ti,ngpio = <144>;
|
||||
ti,davinci-gpio-unbanked = <0>;
|
||||
status = "disabled";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
pinconf: pin-controller@22c00c {
|
||||
compatible = "ti,da850-pupd";
|
||||
reg = <0x22c00c 0x8>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mcasp0: mcasp@100000 {
|
||||
compatible = "ti,da830-mcasp-audio";
|
||||
reg = <0x100000 0x2000>,
|
||||
<0x102000 0x400000>;
|
||||
reg-names = "mpu", "dat";
|
||||
interrupts = <54>;
|
||||
interrupt-names = "common";
|
||||
status = "disabled";
|
||||
dmas = <&edma0 1 1>,
|
||||
<&edma0 0 1>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
lcdc: display@213000 {
|
||||
compatible = "ti,da850-tilcdc";
|
||||
reg = <0x213000 0x1000>;
|
||||
interrupts = <52>;
|
||||
max-pixelclock = <37500>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
aemif: aemif@68000000 {
|
||||
compatible = "ti,da850-aemif";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
|
||||
reg = <0x68000000 0x00008000>;
|
||||
ranges = <0 0 0x60000000 0x08000000
|
||||
1 0 0x68000000 0x00008000>;
|
||||
status = "disabled";
|
||||
};
|
||||
memctrl: memory-controller@b0000000 {
|
||||
compatible = "ti,da850-ddr-controller";
|
||||
reg = <0xb0000000 0xe8>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
258
arch/arm/dts/dra7-evm-common.dtsi
Normal file
258
arch/arm/dts/dra7-evm-common.dtsi
Normal file
@ -0,0 +1,258 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/clk/ti-dra7-atl.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
stdout-path = &uart1;
|
||||
};
|
||||
|
||||
extcon_usb1: extcon_usb1 {
|
||||
compatible = "linux,extcon-usb-gpio";
|
||||
id-gpio = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
sound0: sound0 {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "DRA7xx-EVM";
|
||||
simple-audio-card,widgets =
|
||||
"Headphone", "Headphone Jack",
|
||||
"Line", "Line Out",
|
||||
"Microphone", "Mic Jack",
|
||||
"Line", "Line In";
|
||||
simple-audio-card,routing =
|
||||
"Headphone Jack", "HPLOUT",
|
||||
"Headphone Jack", "HPROUT",
|
||||
"Line Out", "LLOUT",
|
||||
"Line Out", "RLOUT",
|
||||
"MIC3L", "Mic Jack",
|
||||
"MIC3R", "Mic Jack",
|
||||
"Mic Jack", "Mic Bias",
|
||||
"LINE1L", "Line In",
|
||||
"LINE1R", "Line In";
|
||||
simple-audio-card,format = "dsp_b";
|
||||
simple-audio-card,bitclock-master = <&sound0_master>;
|
||||
simple-audio-card,frame-master = <&sound0_master>;
|
||||
simple-audio-card,bitclock-inversion;
|
||||
|
||||
sound0_master: simple-audio-card,cpu {
|
||||
sound-dai = <&mcasp3>;
|
||||
system-clock-frequency = <5644800>;
|
||||
};
|
||||
|
||||
simple-audio-card,codec {
|
||||
sound-dai = <&tlv320aic3106>;
|
||||
clocks = <&atl_clkin2_ck>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
led0 {
|
||||
label = "dra7:usr1";
|
||||
gpios = <&pcf_lcd 4 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led1 {
|
||||
label = "dra7:usr2";
|
||||
gpios = <&pcf_lcd 5 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led2 {
|
||||
label = "dra7:usr3";
|
||||
gpios = <&pcf_lcd 6 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led3 {
|
||||
label = "dra7:usr4";
|
||||
gpios = <&pcf_lcd 7 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
autorepeat;
|
||||
|
||||
USER1 {
|
||||
label = "btnUser1";
|
||||
linux,code = <BTN_0>;
|
||||
gpios = <&pcf_lcd 2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
USER2 {
|
||||
label = "btnUser2";
|
||||
linux,code = <BTN_1>;
|
||||
gpios = <&pcf_lcd 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&mcspi1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mcspi2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
status = "okay";
|
||||
interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&dra7_pmx_core 0x3e0>;
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&qspi {
|
||||
status = "okay";
|
||||
|
||||
spi-max-frequency = <76800000>;
|
||||
m25p80@0 {
|
||||
compatible = "s25fl256s1";
|
||||
spi-max-frequency = <76800000>;
|
||||
reg = <0>;
|
||||
spi-tx-bus-width = <1>;
|
||||
spi-rx-bus-width = <4>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
/* MTD partition table.
|
||||
* The ROM checks the first four physical blocks
|
||||
* for a valid file to boot and the flash here is
|
||||
* 64KiB block size.
|
||||
*/
|
||||
partition@0 {
|
||||
label = "QSPI.SPL";
|
||||
reg = <0x00000000 0x000010000>;
|
||||
};
|
||||
partition@1 {
|
||||
label = "QSPI.SPL.backup1";
|
||||
reg = <0x00010000 0x00010000>;
|
||||
};
|
||||
partition@2 {
|
||||
label = "QSPI.SPL.backup2";
|
||||
reg = <0x00020000 0x00010000>;
|
||||
};
|
||||
partition@3 {
|
||||
label = "QSPI.SPL.backup3";
|
||||
reg = <0x00030000 0x00010000>;
|
||||
};
|
||||
partition@4 {
|
||||
label = "QSPI.u-boot";
|
||||
reg = <0x00040000 0x00100000>;
|
||||
};
|
||||
partition@5 {
|
||||
label = "QSPI.u-boot-spl-os";
|
||||
reg = <0x00140000 0x00080000>;
|
||||
};
|
||||
partition@6 {
|
||||
label = "QSPI.u-boot-env";
|
||||
reg = <0x001c0000 0x00010000>;
|
||||
};
|
||||
partition@7 {
|
||||
label = "QSPI.u-boot-env.backup1";
|
||||
reg = <0x001d0000 0x0010000>;
|
||||
};
|
||||
partition@8 {
|
||||
label = "QSPI.kernel";
|
||||
reg = <0x001e0000 0x0800000>;
|
||||
};
|
||||
partition@9 {
|
||||
label = "QSPI.file-system";
|
||||
reg = <0x009e0000 0x01620000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&omap_dwc3_1 {
|
||||
extcon = <&extcon_usb1>;
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
dr_mode = "otg";
|
||||
extcon = <&extcon_usb1>;
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
dr_mode = "host";
|
||||
};
|
||||
|
||||
&atl {
|
||||
assigned-clocks = <&abe_dpll_sys_clk_mux>,
|
||||
<&atl_gfclk_mux>,
|
||||
<&dpll_abe_ck>,
|
||||
<&dpll_abe_m2x2_ck>,
|
||||
<&atl_clkin2_ck>;
|
||||
assigned-clock-parents = <&sys_clkin2>, <&dpll_abe_m2_ck>;
|
||||
assigned-clock-rates = <0>, <0>, <180633600>, <361267200>, <5644800>;
|
||||
|
||||
status = "okay";
|
||||
|
||||
atl2 {
|
||||
bws = <DRA7_ATL_WS_MCASP2_FSX>;
|
||||
aws = <DRA7_ATL_WS_MCASP3_FSX>;
|
||||
};
|
||||
};
|
||||
|
||||
&mcasp3 {
|
||||
#sound-dai-cells = <0>;
|
||||
|
||||
assigned-clocks = <&mcasp3_ahclkx_mux>;
|
||||
assigned-clock-parents = <&atl_clkin2_ck>;
|
||||
|
||||
status = "okay";
|
||||
|
||||
op-mode = <0>; /* MCASP_IIS_MODE */
|
||||
tdm-slots = <2>;
|
||||
/* 4 serializer */
|
||||
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
|
||||
1 2 0 0
|
||||
>;
|
||||
tx-num-evt = <32>;
|
||||
rx-num-evt = <32>;
|
||||
};
|
||||
|
||||
&mailbox5 {
|
||||
status = "okay";
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
status = "okay";
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
15
arch/arm/dts/dra7-evm-u-boot.dtsi
Normal file
15
arch/arm/dts/dra7-evm-u-boot.dtsi
Normal file
@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include "omap5-u-boot.dtsi"
|
||||
|
||||
&pcf_gpio_21{
|
||||
u-boot,i2c-offset-len = <0>;
|
||||
};
|
||||
|
||||
&pcf_hdmi{
|
||||
u-boot,i2c-offset-len = <0>;
|
||||
};
|
||||
@ -8,24 +8,26 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "dra74x.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/clk/ti-dra7-atl.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include "dra7-evm-common.dtsi"
|
||||
#include "dra74x-mmc-iodelay.dtsi"
|
||||
|
||||
/ {
|
||||
model = "TI DRA742";
|
||||
compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7";
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart1;
|
||||
tick-timer = &timer2;
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x80000000 0x0 0x60000000>; /* 1536 MB */
|
||||
};
|
||||
|
||||
evm_1v8_sw: fixedregulator-evm_1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "evm_1v8";
|
||||
vin-supply = <&smps9_reg>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
evm_3v3_sd: fixedregulator-sd {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "evm_3v3_sd";
|
||||
@ -52,11 +54,6 @@
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
extcon_usb1: extcon_usb1 {
|
||||
compatible = "linux,extcon-usb-gpio";
|
||||
id-gpio = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
extcon_usb2: extcon_usb2 {
|
||||
compatible = "linux,extcon-usb-gpio";
|
||||
id-gpio = <&pcf_gpio_21 2 GPIO_ACTIVE_HIGH>;
|
||||
@ -74,286 +71,9 @@
|
||||
gpio = <&gpio7 11 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
sound0: sound0 {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "DRA7xx-EVM";
|
||||
simple-audio-card,widgets =
|
||||
"Headphone", "Headphone Jack",
|
||||
"Line", "Line Out",
|
||||
"Microphone", "Mic Jack",
|
||||
"Line", "Line In";
|
||||
simple-audio-card,routing =
|
||||
"Headphone Jack", "HPLOUT",
|
||||
"Headphone Jack", "HPROUT",
|
||||
"Line Out", "LLOUT",
|
||||
"Line Out", "RLOUT",
|
||||
"MIC3L", "Mic Jack",
|
||||
"MIC3R", "Mic Jack",
|
||||
"Mic Jack", "Mic Bias",
|
||||
"LINE1L", "Line In",
|
||||
"LINE1R", "Line In";
|
||||
simple-audio-card,format = "dsp_b";
|
||||
simple-audio-card,bitclock-master = <&sound0_master>;
|
||||
simple-audio-card,frame-master = <&sound0_master>;
|
||||
simple-audio-card,bitclock-inversion;
|
||||
|
||||
sound0_master: simple-audio-card,cpu {
|
||||
sound-dai = <&mcasp3>;
|
||||
system-clock-frequency = <5644800>;
|
||||
};
|
||||
|
||||
simple-audio-card,codec {
|
||||
sound-dai = <&tlv320aic3106>;
|
||||
clocks = <&atl_clkin2_ck>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
led0 {
|
||||
label = "dra7:usr1";
|
||||
gpios = <&pcf_lcd 4 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led1 {
|
||||
label = "dra7:usr2";
|
||||
gpios = <&pcf_lcd 5 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led2 {
|
||||
label = "dra7:usr3";
|
||||
gpios = <&pcf_lcd 6 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led3 {
|
||||
label = "dra7:usr4";
|
||||
gpios = <&pcf_lcd 7 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
autorepeat;
|
||||
|
||||
USER1 {
|
||||
label = "btnUser1";
|
||||
linux,code = <BTN_0>;
|
||||
gpios = <&pcf_lcd 2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
USER2 {
|
||||
label = "btnUser2";
|
||||
linux,code = <BTN_1>;
|
||||
gpios = <&pcf_lcd 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dra7_pmx_core {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vtt_pin>;
|
||||
|
||||
vtt_pin: pinmux_vtt_pin {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37b4, PIN_OUTPUT | MUX_MODE14) /* spi1_cs1.gpio7_11 */
|
||||
>;
|
||||
};
|
||||
|
||||
i2c1_pins: pinmux_i2c1_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT | MUX_MODE0) /* i2c1_sda */
|
||||
DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT | MUX_MODE0) /* i2c1_scl */
|
||||
>;
|
||||
};
|
||||
|
||||
i2c2_pins: pinmux_i2c2_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE0) /* i2c2_sda */
|
||||
DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE0) /* i2c2_scl */
|
||||
>;
|
||||
};
|
||||
|
||||
i2c3_pins: pinmux_i2c3_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3688, PIN_INPUT | MUX_MODE9) /* gpio6_14.i2c3_sda */
|
||||
DRA7XX_CORE_IOPAD(0x368c, PIN_INPUT | MUX_MODE9) /* gpio6_15.i2c3_scl */
|
||||
>;
|
||||
};
|
||||
|
||||
mcspi1_pins: pinmux_mcspi1_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37a4, PIN_INPUT | MUX_MODE0) /* spi1_sclk */
|
||||
DRA7XX_CORE_IOPAD(0x37a8, PIN_INPUT | MUX_MODE0) /* spi1_d1 */
|
||||
DRA7XX_CORE_IOPAD(0x37ac, PIN_INPUT | MUX_MODE0) /* spi1_d0 */
|
||||
DRA7XX_CORE_IOPAD(0x37b0, PIN_INPUT_SLEW | MUX_MODE0) /* spi1_cs0 */
|
||||
DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs2.hdmi1_hpd */
|
||||
DRA7XX_CORE_IOPAD(0x37bc, PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs3.hdmi1_cec */
|
||||
>;
|
||||
};
|
||||
|
||||
mcspi2_pins: pinmux_mcspi2_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37c0, PIN_INPUT | MUX_MODE0) /* spi2_sclk */
|
||||
DRA7XX_CORE_IOPAD(0x37c4, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
|
||||
DRA7XX_CORE_IOPAD(0x37c8, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
|
||||
DRA7XX_CORE_IOPAD(0x37cc, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_cs0 */
|
||||
>;
|
||||
};
|
||||
|
||||
uart1_pins: pinmux_uart1_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37e0, PIN_INPUT_SLEW | MUX_MODE0) /* uart1_rxd */
|
||||
DRA7XX_CORE_IOPAD(0x37e4, PIN_INPUT_SLEW | MUX_MODE0) /* uart1_txd */
|
||||
DRA7XX_CORE_IOPAD(0x37e8, PIN_INPUT | MUX_MODE3) /* uart1_ctsn */
|
||||
DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT | MUX_MODE3) /* uart1_rtsn */
|
||||
>;
|
||||
};
|
||||
|
||||
uart2_pins: pinmux_uart2_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37f0, PIN_INPUT | MUX_MODE0) /* uart2_rxd */
|
||||
DRA7XX_CORE_IOPAD(0x37f4, PIN_INPUT | MUX_MODE0) /* uart2_txd */
|
||||
DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT | MUX_MODE0) /* uart2_ctsn */
|
||||
DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT | MUX_MODE0) /* uart2_rtsn */
|
||||
>;
|
||||
};
|
||||
|
||||
uart3_pins: pinmux_uart3_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd */
|
||||
DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd */
|
||||
>;
|
||||
};
|
||||
|
||||
usb1_pins: pinmux_usb1_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
|
||||
>;
|
||||
};
|
||||
|
||||
usb2_pins: pinmux_usb2_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3684, PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */
|
||||
>;
|
||||
};
|
||||
|
||||
nand_flash_x16: nand_flash_x16 {
|
||||
/* On DRA7 EVM, GPMC_WPN and NAND_BOOTn comes from DIP switch
|
||||
* So NAND flash requires following switch settings:
|
||||
* SW5.1 (NAND_BOOTn) = ON (LOW)
|
||||
* SW5.9 (GPMC_WPN) = OFF (HIGH)
|
||||
*/
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3400, PIN_INPUT | MUX_MODE0) /* gpmc_ad0 */
|
||||
DRA7XX_CORE_IOPAD(0x3404, PIN_INPUT | MUX_MODE0) /* gpmc_ad1 */
|
||||
DRA7XX_CORE_IOPAD(0x3408, PIN_INPUT | MUX_MODE0) /* gpmc_ad2 */
|
||||
DRA7XX_CORE_IOPAD(0x340c, PIN_INPUT | MUX_MODE0) /* gpmc_ad3 */
|
||||
DRA7XX_CORE_IOPAD(0x3410, PIN_INPUT | MUX_MODE0) /* gpmc_ad4 */
|
||||
DRA7XX_CORE_IOPAD(0x3414, PIN_INPUT | MUX_MODE0) /* gpmc_ad5 */
|
||||
DRA7XX_CORE_IOPAD(0x3418, PIN_INPUT | MUX_MODE0) /* gpmc_ad6 */
|
||||
DRA7XX_CORE_IOPAD(0x341c, PIN_INPUT | MUX_MODE0) /* gpmc_ad7 */
|
||||
DRA7XX_CORE_IOPAD(0x3420, PIN_INPUT | MUX_MODE0) /* gpmc_ad8 */
|
||||
DRA7XX_CORE_IOPAD(0x3424, PIN_INPUT | MUX_MODE0) /* gpmc_ad9 */
|
||||
DRA7XX_CORE_IOPAD(0x3428, PIN_INPUT | MUX_MODE0) /* gpmc_ad10 */
|
||||
DRA7XX_CORE_IOPAD(0x342c, PIN_INPUT | MUX_MODE0) /* gpmc_ad11 */
|
||||
DRA7XX_CORE_IOPAD(0x3430, PIN_INPUT | MUX_MODE0) /* gpmc_ad12 */
|
||||
DRA7XX_CORE_IOPAD(0x3434, PIN_INPUT | MUX_MODE0) /* gpmc_ad13 */
|
||||
DRA7XX_CORE_IOPAD(0x3438, PIN_INPUT | MUX_MODE0) /* gpmc_ad14 */
|
||||
DRA7XX_CORE_IOPAD(0x343c, PIN_INPUT | MUX_MODE0) /* gpmc_ad15 */
|
||||
DRA7XX_CORE_IOPAD(0x34d8, PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0 */
|
||||
DRA7XX_CORE_IOPAD(0x34cc, PIN_OUTPUT | MUX_MODE0) /* gpmc_wen */
|
||||
DRA7XX_CORE_IOPAD(0x34b4, PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_csn0 */
|
||||
DRA7XX_CORE_IOPAD(0x34c4, PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale */
|
||||
DRA7XX_CORE_IOPAD(0x34c8, PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren */
|
||||
DRA7XX_CORE_IOPAD(0x34d0, PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle */
|
||||
>;
|
||||
};
|
||||
|
||||
cpsw_default: cpsw_default {
|
||||
pinctrl-single,pins = <
|
||||
/* Slave 1 */
|
||||
DRA7XX_CORE_IOPAD(0x3650, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txc.rgmii0_txc */
|
||||
DRA7XX_CORE_IOPAD(0x3654, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txctl.rgmii0_txctl */
|
||||
DRA7XX_CORE_IOPAD(0x3658, PIN_OUTPUT | MUX_MODE0) /* rgmii0_td3.rgmii0_txd3 */
|
||||
DRA7XX_CORE_IOPAD(0x365c, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd2.rgmii0_txd2 */
|
||||
DRA7XX_CORE_IOPAD(0x3660, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd1.rgmii0_txd1 */
|
||||
DRA7XX_CORE_IOPAD(0x3664, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd0.rgmii0_txd0 */
|
||||
DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE0) /* rgmii0_rxc.rgmii0_rxc */
|
||||
DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE0) /* rgmii0_rxctl.rgmii0_rxctl */
|
||||
DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd3.rgmii0_rxd3 */
|
||||
DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd2.rgmii0_rxd2 */
|
||||
DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd1.rgmii0_rxd1 */
|
||||
DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd0.rgmii0_rxd0 */
|
||||
|
||||
/* Slave 2 */
|
||||
DRA7XX_CORE_IOPAD(0x3598, PIN_OUTPUT | MUX_MODE3) /* vin2a_d12.rgmii1_txc */
|
||||
DRA7XX_CORE_IOPAD(0x359c, PIN_OUTPUT | MUX_MODE3) /* vin2a_d13.rgmii1_tctl */
|
||||
DRA7XX_CORE_IOPAD(0x35a0, PIN_OUTPUT | MUX_MODE3) /* vin2a_d14.rgmii1_td3 */
|
||||
DRA7XX_CORE_IOPAD(0x35a4, PIN_OUTPUT | MUX_MODE3) /* vin2a_d15.rgmii1_td2 */
|
||||
DRA7XX_CORE_IOPAD(0x35a8, PIN_OUTPUT | MUX_MODE3) /* vin2a_d16.rgmii1_td1 */
|
||||
DRA7XX_CORE_IOPAD(0x35ac, PIN_OUTPUT | MUX_MODE3) /* vin2a_d17.rgmii1_td0 */
|
||||
DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE3) /* vin2a_d18.rgmii1_rclk */
|
||||
DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE3) /* vin2a_d19.rgmii1_rctl */
|
||||
DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE3) /* vin2a_d20.rgmii1_rd3 */
|
||||
DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE3) /* vin2a_d21.rgmii1_rd2 */
|
||||
DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE3) /* vin2a_d22.rgmii1_rd1 */
|
||||
DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE3) /* vin2a_d23.rgmii1_rd0 */
|
||||
>;
|
||||
|
||||
};
|
||||
|
||||
cpsw_sleep: cpsw_sleep {
|
||||
pinctrl-single,pins = <
|
||||
/* Slave 1 */
|
||||
DRA7XX_CORE_IOPAD(0x3650, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3654, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3658, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x365c, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3660, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3664, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3668, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x366c, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3670, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3674, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3678, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x367c, MUX_MODE15)
|
||||
|
||||
/* Slave 2 */
|
||||
DRA7XX_CORE_IOPAD(0x3598, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x359c, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35a0, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35a4, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35a8, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35ac, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35b0, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35b4, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35b8, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35bc, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35c0, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x35c4, MUX_MODE15)
|
||||
>;
|
||||
};
|
||||
|
||||
davinci_mdio_default: davinci_mdio_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x363c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_d.mdio_d */
|
||||
DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
|
||||
>;
|
||||
};
|
||||
|
||||
davinci_mdio_sleep: davinci_mdio_sleep {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x363c, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3640, MUX_MODE15)
|
||||
>;
|
||||
};
|
||||
|
||||
dcan1_pins_default: dcan1_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
|
||||
@ -368,41 +88,43 @@
|
||||
>;
|
||||
};
|
||||
|
||||
atl_pins: pinmux_atl_pins {
|
||||
mmc1_pins_default: mmc1_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3698, PIN_OUTPUT | MUX_MODE5) /* xref_clk1.atl_clk1 */
|
||||
DRA7XX_CORE_IOPAD(0x369c, PIN_OUTPUT | MUX_MODE5) /* xref_clk2.atl_clk2 */
|
||||
DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mcasp3_pins: pinmux_mcasp3_pins {
|
||||
mmc2_pins_default: mmc2_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3724, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_aclkx */
|
||||
DRA7XX_CORE_IOPAD(0x3728, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_fsx */
|
||||
DRA7XX_CORE_IOPAD(0x372c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr0 */
|
||||
DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr1 */
|
||||
>;
|
||||
};
|
||||
|
||||
mcasp3_sleep_pins: pinmux_mcasp3_sleep_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3724, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3728, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x372c, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x3730, MUX_MODE15)
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_pins>;
|
||||
clock-frequency = <400000>;
|
||||
|
||||
tps659038: tps659038@58 {
|
||||
compatible = "ti,tps659038";
|
||||
reg = <0x58>;
|
||||
ti,palmas-override-powerhold;
|
||||
ti,system-power-controller;
|
||||
|
||||
tps659038_pmic {
|
||||
compatible = "ti,tps659038-pmic";
|
||||
@ -566,7 +288,6 @@
|
||||
interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
u-boot,i2c-offset-len = <0>;
|
||||
};
|
||||
|
||||
tlv320aic3106: tlv320aic3106@19 {
|
||||
@ -587,8 +308,6 @@
|
||||
|
||||
&i2c2 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins>;
|
||||
clock-frequency = <400000>;
|
||||
|
||||
pcf_hdmi: gpio@26 {
|
||||
@ -606,156 +325,60 @@
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c3_pins>;
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&mcspi1 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mcspi1_pins>;
|
||||
};
|
||||
|
||||
&mcspi2 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mcspi2_pins>;
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins>;
|
||||
interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&dra7_pmx_core 0x3e0>;
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart2_pins>;
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart3_pins>;
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
status = "okay";
|
||||
vmmc-supply = <&evm_3v3_sd>;
|
||||
vmmc_aux-supply = <&ldo1_reg>;
|
||||
vqmmc-supply = <&ldo1_reg>;
|
||||
bus-width = <4>;
|
||||
/*
|
||||
* SDCD signal is not being used here - using the fact that GPIO mode
|
||||
* is always hardwired.
|
||||
*/
|
||||
cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50-rev11", "sdr104-rev11", "ddr50", "sdr104";
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
pinctrl-1 = <&mmc1_pins_hs>;
|
||||
pinctrl-2 = <&mmc1_pins_sdr12>;
|
||||
pinctrl-3 = <&mmc1_pins_sdr25>;
|
||||
pinctrl-4 = <&mmc1_pins_sdr50>;
|
||||
pinctrl-5 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev11_conf>;
|
||||
pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev11_conf>;
|
||||
pinctrl-7 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev20_conf>;
|
||||
pinctrl-8 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
status = "okay";
|
||||
vmmc-supply = <&evm_3v3_sw>;
|
||||
vmmc-supply = <&evm_1v8_sw>;
|
||||
bus-width = <8>;
|
||||
pinctrl-names = "default", "hs", "ddr_1_8v-rev11", "ddr_1_8v", "hs200_1_8v-rev11", "hs200_1_8v";
|
||||
pinctrl-0 = <&mmc2_pins_default>;
|
||||
pinctrl-1 = <&mmc2_pins_hs>;
|
||||
pinctrl-2 = <&mmc2_pins_ddr_1_8v_rev11 &mmc2_iodelay_ddr_1_8v_rev11_conf>;
|
||||
pinctrl-3 = <&mmc2_pins_ddr_rev20>;
|
||||
pinctrl-4 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev11_conf>;
|
||||
pinctrl-5 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev20_conf>;
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu0-supply = <&smps123_reg>;
|
||||
};
|
||||
|
||||
&qspi {
|
||||
status = "okay";
|
||||
|
||||
spi-max-frequency = <76800000>;
|
||||
m25p80@0 {
|
||||
compatible = "s25fl256s1", "spi-flash";
|
||||
spi-max-frequency = <76800000>;
|
||||
reg = <0>;
|
||||
spi-tx-bus-width = <1>;
|
||||
spi-rx-bus-width = <4>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
/* MTD partition table.
|
||||
* The ROM checks the first four physical blocks
|
||||
* for a valid file to boot and the flash here is
|
||||
* 64KiB block size.
|
||||
*/
|
||||
partition@0 {
|
||||
label = "QSPI.SPL";
|
||||
reg = <0x00000000 0x000010000>;
|
||||
};
|
||||
partition@1 {
|
||||
label = "QSPI.SPL.backup1";
|
||||
reg = <0x00010000 0x00010000>;
|
||||
};
|
||||
partition@2 {
|
||||
label = "QSPI.SPL.backup2";
|
||||
reg = <0x00020000 0x00010000>;
|
||||
};
|
||||
partition@3 {
|
||||
label = "QSPI.SPL.backup3";
|
||||
reg = <0x00030000 0x00010000>;
|
||||
};
|
||||
partition@4 {
|
||||
label = "QSPI.u-boot";
|
||||
reg = <0x00040000 0x00100000>;
|
||||
};
|
||||
partition@5 {
|
||||
label = "QSPI.u-boot-spl-os";
|
||||
reg = <0x00140000 0x00080000>;
|
||||
};
|
||||
partition@6 {
|
||||
label = "QSPI.u-boot-env";
|
||||
reg = <0x001c0000 0x00010000>;
|
||||
};
|
||||
partition@7 {
|
||||
label = "QSPI.u-boot-env.backup1";
|
||||
reg = <0x001d0000 0x0010000>;
|
||||
};
|
||||
partition@8 {
|
||||
label = "QSPI.kernel";
|
||||
reg = <0x001e0000 0x0800000>;
|
||||
};
|
||||
partition@9 {
|
||||
label = "QSPI.file-system";
|
||||
reg = <0x009e0000 0x01620000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&omap_dwc3_1 {
|
||||
extcon = <&extcon_usb1>;
|
||||
};
|
||||
|
||||
&omap_dwc3_2 {
|
||||
extcon = <&extcon_usb2>;
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
dr_mode = "peripheral";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb1_pins>;
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
dr_mode = "host";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb2_pins>;
|
||||
};
|
||||
|
||||
&elm {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpmc {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&nand_flash_x16>;
|
||||
/*
|
||||
* For the existing IOdelay configuration via U-Boot we don't
|
||||
* support NAND on dra7-evm. Keep it disabled. Enabling it
|
||||
* requires a different configuration by U-Boot.
|
||||
*/
|
||||
status = "disabled";
|
||||
ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */
|
||||
nand@0,0 {
|
||||
compatible = "ti,omap2-nand";
|
||||
@ -764,6 +387,7 @@
|
||||
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
|
||||
<1 IRQ_TYPE_NONE>; /* termcount */
|
||||
rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
|
||||
ti,nand-xfer-type = "prefetch-dma";
|
||||
ti,nand-ecc-opt = "bch8";
|
||||
ti,elm-id = <&elm>;
|
||||
nand-bus-width = <16>;
|
||||
@ -851,9 +475,6 @@
|
||||
|
||||
&mac {
|
||||
status = "okay";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&cpsw_default>;
|
||||
pinctrl-1 = <&cpsw_sleep>;
|
||||
dual_emac;
|
||||
};
|
||||
|
||||
@ -869,12 +490,6 @@
|
||||
dual_emac_res_vlan = <2>;
|
||||
};
|
||||
|
||||
&davinci_mdio {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&davinci_mdio_default>;
|
||||
pinctrl-1 = <&davinci_mdio_sleep>;
|
||||
};
|
||||
|
||||
&dcan1 {
|
||||
status = "ok";
|
||||
pinctrl-names = "default", "sleep", "active";
|
||||
@ -883,63 +498,6 @@
|
||||
pinctrl-2 = <&dcan1_pins_default>;
|
||||
};
|
||||
|
||||
&atl {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&atl_pins>;
|
||||
|
||||
assigned-clocks = <&abe_dpll_sys_clk_mux>,
|
||||
<&atl_gfclk_mux>,
|
||||
<&dpll_abe_ck>,
|
||||
<&dpll_abe_m2x2_ck>,
|
||||
<&atl_clkin2_ck>;
|
||||
assigned-clock-parents = <&sys_clkin2>, <&dpll_abe_m2_ck>;
|
||||
assigned-clock-rates = <0>, <0>, <180633600>, <361267200>, <5644800>;
|
||||
|
||||
&pcie1_rc {
|
||||
status = "okay";
|
||||
|
||||
atl2 {
|
||||
bws = <DRA7_ATL_WS_MCASP2_FSX>;
|
||||
aws = <DRA7_ATL_WS_MCASP3_FSX>;
|
||||
};
|
||||
};
|
||||
|
||||
&mcasp3 {
|
||||
#sound-dai-cells = <0>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&mcasp3_pins>;
|
||||
pinctrl-1 = <&mcasp3_sleep_pins>;
|
||||
|
||||
assigned-clocks = <&mcasp3_ahclkx_mux>;
|
||||
assigned-clock-parents = <&atl_clkin2_ck>;
|
||||
|
||||
status = "okay";
|
||||
|
||||
op-mode = <0>; /* MCASP_IIS_MODE */
|
||||
tdm-slots = <2>;
|
||||
/* 4 serializer */
|
||||
serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
|
||||
1 2 0 0
|
||||
>;
|
||||
tx-num-evt = <32>;
|
||||
rx-num-evt = <32>;
|
||||
};
|
||||
|
||||
&mailbox5 {
|
||||
status = "okay";
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
status = "okay";
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
|
||||
compatible = "ti,dra7xx";
|
||||
interrupt-parent = <&crossbar_mpu>;
|
||||
chosen { };
|
||||
|
||||
aliases {
|
||||
i2c0 = &i2c1;
|
||||
@ -56,7 +57,7 @@
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
reg = <0x0 0x48211000 0x0 0x1000>,
|
||||
<0x0 0x48212000 0x0 0x1000>,
|
||||
<0x0 0x48212000 0x0 0x2000>,
|
||||
<0x0 0x48214000 0x0 0x2000>,
|
||||
<0x0 0x48216000 0x0 0x2000>;
|
||||
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
@ -80,11 +81,7 @@
|
||||
compatible = "arm,cortex-a15";
|
||||
reg = <0>;
|
||||
|
||||
operating-points = <
|
||||
/* kHz uV */
|
||||
1000000 1060000
|
||||
1176000 1160000
|
||||
>;
|
||||
operating-points-v2 = <&cpu0_opp_table>;
|
||||
|
||||
clocks = <&dpll_mpu_ck>;
|
||||
clock-names = "cpu";
|
||||
@ -98,6 +95,24 @@
|
||||
};
|
||||
};
|
||||
|
||||
cpu0_opp_table: opp-table {
|
||||
compatible = "operating-points-v2-ti-cpu";
|
||||
syscon = <&scm_wkup>;
|
||||
|
||||
opp_nom-1000000000 {
|
||||
opp-hz = /bits/ 64 <1000000000>;
|
||||
opp-microvolt = <1060000 850000 1150000>;
|
||||
opp-supported-hw = <0xFF 0x01>;
|
||||
opp-suspend;
|
||||
};
|
||||
|
||||
opp_od-1176000000 {
|
||||
opp-hz = /bits/ 64 <1176000000>;
|
||||
opp-microvolt = <1160000 885000 1160000>;
|
||||
opp-supported-hw = <0xFF 0x02>;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* The soc node represents the soc top level view. It is used for IPs
|
||||
* that are not memory mapped in the MPU view or for the MPU itself.
|
||||
@ -171,6 +186,7 @@
|
||||
reg = <0x1400 0x0468>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#pinctrl-cells = <1>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-controller;
|
||||
pinctrl-single,register-width = <32>;
|
||||
@ -180,6 +196,7 @@
|
||||
scm_conf1: scm_conf@1c04 {
|
||||
compatible = "syscon";
|
||||
reg = <0x1c04 0x0020>;
|
||||
#syscon-cells = <2>;
|
||||
};
|
||||
|
||||
scm_conf_pcie: scm_conf@1c24 {
|
||||
@ -271,7 +288,11 @@
|
||||
#address-cells = <1>;
|
||||
ranges = <0x51000000 0x51000000 0x3000
|
||||
0x0 0x20000000 0x10000000>;
|
||||
pcie1: pcie@51000000 {
|
||||
/**
|
||||
* To enable PCI endpoint mode, disable the pcie1_rc
|
||||
* node and enable pcie1_ep mode.
|
||||
*/
|
||||
pcie1_rc: pcie@51000000 {
|
||||
compatible = "ti,dra7-pcie";
|
||||
reg = <0x51000000 0x2000>, <0x51002000 0x14c>, <0x1000 0x2000>;
|
||||
reg-names = "rc_dbics", "ti_conf", "config";
|
||||
@ -281,6 +302,7 @@
|
||||
device_type = "pci";
|
||||
ranges = <0x81000000 0 0 0x03000 0 0x00010000
|
||||
0x82000000 0 0x20013000 0x13000 0 0xffed000>;
|
||||
bus-range = <0x00 0xff>;
|
||||
#interrupt-cells = <1>;
|
||||
num-lanes = <1>;
|
||||
linux,pci-domain = <0>;
|
||||
@ -292,12 +314,28 @@
|
||||
<0 0 0 2 &pcie1_intc 2>,
|
||||
<0 0 0 3 &pcie1_intc 3>,
|
||||
<0 0 0 4 &pcie1_intc 4>;
|
||||
status = "disabled";
|
||||
pcie1_intc: interrupt-controller {
|
||||
interrupt-controller;
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
pcie1_ep: pcie_ep@51000000 {
|
||||
compatible = "ti,dra7-pcie-ep";
|
||||
reg = <0x51000000 0x28>, <0x51002000 0x14c>, <0x51001000 0x28>, <0x1000 0x10000000>;
|
||||
reg-names = "ep_dbics", "ti_conf", "ep_dbics2", "addr_space";
|
||||
interrupts = <0 232 0x4>;
|
||||
num-lanes = <1>;
|
||||
num-ib-windows = <4>;
|
||||
num-ob-windows = <16>;
|
||||
ti,hwmods = "pcie1";
|
||||
phys = <&pcie1_phy>;
|
||||
phy-names = "pcie-phy0";
|
||||
ti,syscon-unaligned-access = <&scm_conf1 0x14 2>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
axi@1 {
|
||||
@ -317,6 +355,7 @@
|
||||
device_type = "pci";
|
||||
ranges = <0x81000000 0 0 0x03000 0 0x00010000
|
||||
0x82000000 0 0x30013000 0x13000 0 0xffed000>;
|
||||
bus-range = <0x00 0xff>;
|
||||
#interrupt-cells = <1>;
|
||||
num-lanes = <1>;
|
||||
linux,pci-domain = <1>;
|
||||
@ -400,6 +439,14 @@
|
||||
reg = <0x40d00000 0x100>;
|
||||
};
|
||||
|
||||
dra7_iodelay_core: padconf@4844a000 {
|
||||
compatible = "ti,dra7-iodelay";
|
||||
reg = <0x4844a000 0x0d1c>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#pinctrl-cells = <2>;
|
||||
};
|
||||
|
||||
sdma: dma-controller@4a056000 {
|
||||
compatible = "ti,omap4430-sdma";
|
||||
reg = <0x4a056000 0x1000>;
|
||||
@ -542,7 +589,6 @@
|
||||
uart1: serial@4806a000 {
|
||||
compatible = "ti,dra742-uart", "ti,omap4-uart";
|
||||
reg = <0x4806a000 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "uart1";
|
||||
clock-frequency = <48000000>;
|
||||
@ -554,7 +600,6 @@
|
||||
uart2: serial@4806c000 {
|
||||
compatible = "ti,dra742-uart", "ti,omap4-uart";
|
||||
reg = <0x4806c000 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "uart2";
|
||||
clock-frequency = <48000000>;
|
||||
@ -566,7 +611,6 @@
|
||||
uart3: serial@48020000 {
|
||||
compatible = "ti,dra742-uart", "ti,omap4-uart";
|
||||
reg = <0x48020000 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "uart3";
|
||||
clock-frequency = <48000000>;
|
||||
@ -578,7 +622,6 @@
|
||||
uart4: serial@4806e000 {
|
||||
compatible = "ti,dra742-uart", "ti,omap4-uart";
|
||||
reg = <0x4806e000 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "uart4";
|
||||
clock-frequency = <48000000>;
|
||||
@ -590,7 +633,6 @@
|
||||
uart5: serial@48066000 {
|
||||
compatible = "ti,dra742-uart", "ti,omap4-uart";
|
||||
reg = <0x48066000 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "uart5";
|
||||
clock-frequency = <48000000>;
|
||||
@ -602,7 +644,6 @@
|
||||
uart6: serial@48068000 {
|
||||
compatible = "ti,dra742-uart", "ti,omap4-uart";
|
||||
reg = <0x48068000 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "uart6";
|
||||
clock-frequency = <48000000>;
|
||||
@ -614,7 +655,6 @@
|
||||
uart7: serial@48420000 {
|
||||
compatible = "ti,dra742-uart", "ti,omap4-uart";
|
||||
reg = <0x48420000 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "uart7";
|
||||
clock-frequency = <48000000>;
|
||||
@ -624,7 +664,6 @@
|
||||
uart8: serial@48422000 {
|
||||
compatible = "ti,dra742-uart", "ti,omap4-uart";
|
||||
reg = <0x48422000 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "uart8";
|
||||
clock-frequency = <48000000>;
|
||||
@ -634,7 +673,6 @@
|
||||
uart9: serial@48424000 {
|
||||
compatible = "ti,dra742-uart", "ti,omap4-uart";
|
||||
reg = <0x48424000 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "uart9";
|
||||
clock-frequency = <48000000>;
|
||||
@ -644,7 +682,6 @@
|
||||
uart10: serial@4ae2b000 {
|
||||
compatible = "ti,dra742-uart", "ti,omap4-uart";
|
||||
reg = <0x4ae2b000 0x100>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "uart10";
|
||||
clock-frequency = <48000000>;
|
||||
@ -1029,6 +1066,7 @@
|
||||
dma-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
pbias-supply = <&pbias_mmc_reg>;
|
||||
max-frequency = <192000000>;
|
||||
};
|
||||
|
||||
mmc2: mmc@480b4000 {
|
||||
@ -1040,6 +1078,7 @@
|
||||
dmas = <&sdma_xbar 47>, <&sdma_xbar 48>;
|
||||
dma-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
max-frequency = <192000000>;
|
||||
};
|
||||
|
||||
mmc3: mmc@480ad000 {
|
||||
@ -1051,6 +1090,8 @@
|
||||
dmas = <&sdma_xbar 77>, <&sdma_xbar 78>;
|
||||
dma-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
/* Errata i887 limits max-frequency of MMC3 to 64 MHz */
|
||||
max-frequency = <64000000>;
|
||||
};
|
||||
|
||||
mmc4: mmc@480d1000 {
|
||||
@ -1062,6 +1103,7 @@
|
||||
dmas = <&sdma_xbar 57>, <&sdma_xbar 58>;
|
||||
dma-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
max-frequency = <192000000>;
|
||||
};
|
||||
|
||||
mmu0_dsp1: mmu@40d01000 {
|
||||
@ -1386,6 +1428,7 @@
|
||||
phy-names = "sata-phy";
|
||||
clocks = <&sata_ref_clk>;
|
||||
ti,hwmods = "sata";
|
||||
ports-implemented = <0x1>;
|
||||
};
|
||||
|
||||
rtc: rtc@48838000 {
|
||||
@ -1716,13 +1759,11 @@
|
||||
cpdma_channels = <8>;
|
||||
ale_entries = <1024>;
|
||||
bd_ram_size = <0x2000>;
|
||||
no_bd_ram = <0>;
|
||||
mac_control = <0x20>;
|
||||
slaves = <2>;
|
||||
active_slave = <0>;
|
||||
cpts_clock_mult = <0x784CFE14>;
|
||||
cpts_clock_shift = <29>;
|
||||
syscon = <&scm_conf>;
|
||||
reg = <0x48484000 0x1000
|
||||
0x48485200 0x2E00>;
|
||||
#address-cells = <1>;
|
||||
@ -1748,6 +1789,7 @@
|
||||
<GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ranges;
|
||||
syscon = <&scm_conf>;
|
||||
status = "disabled";
|
||||
|
||||
davinci_mdio: mdio@48485000 {
|
||||
@ -1990,6 +2032,27 @@
|
||||
|
||||
&cpu_thermal {
|
||||
polling-delay = <500>; /* milliseconds */
|
||||
coefficients = <0 2000>;
|
||||
};
|
||||
|
||||
&gpu_thermal {
|
||||
coefficients = <0 2000>;
|
||||
};
|
||||
|
||||
&core_thermal {
|
||||
coefficients = <0 2000>;
|
||||
};
|
||||
|
||||
&dspeve_thermal {
|
||||
coefficients = <0 2000>;
|
||||
};
|
||||
|
||||
&iva_thermal {
|
||||
coefficients = <0 2000>;
|
||||
};
|
||||
|
||||
&cpu_crit {
|
||||
temperature = <120000>; /* milli Celsius */
|
||||
};
|
||||
|
||||
/include/ "dra7xx-clocks.dtsi"
|
||||
|
||||
23
arch/arm/dts/dra71-evm-u-boot.dtsi
Normal file
23
arch/arm/dts/dra71-evm-u-boot.dtsi
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include "omap5-u-boot.dtsi"
|
||||
|
||||
&pcf_gpio_21{
|
||||
u-boot,i2c-offset-len = <0>;
|
||||
};
|
||||
|
||||
&pcf_hdmi{
|
||||
u-boot,i2c-offset-len = <0>;
|
||||
};
|
||||
|
||||
&cpsw_emac0 {
|
||||
phy-handle = <&dp83867_0>;
|
||||
};
|
||||
|
||||
&cpsw_emac1 {
|
||||
phy-handle = <&dp83867_1>;
|
||||
};
|
||||
@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
#include "dra72-evm-common.dtsi"
|
||||
#include "dra72x-mmc-iodelay.dtsi"
|
||||
#include <dt-bindings/net/ti-dp83867.h>
|
||||
|
||||
/ {
|
||||
@ -32,6 +33,16 @@
|
||||
3000000 0x1>;
|
||||
};
|
||||
|
||||
evm_1v8_sw: fixedregulator-evm_1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "evm_1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <&lp8732_buck0_reg>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
poweroff: gpio-poweroff {
|
||||
compatible = "gpio-poweroff";
|
||||
gpios = <&gpio7 30 GPIO_ACTIVE_HIGH>;
|
||||
@ -138,6 +149,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
&pcf_lcd {
|
||||
interrupt-parent = <&gpio7>;
|
||||
interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
|
||||
};
|
||||
|
||||
&pcf_gpio_21 {
|
||||
interrupt-parent = <&gpio7>;
|
||||
interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
|
||||
@ -157,7 +173,24 @@
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
vmmc_aux-supply = <&vpo_sd_1v8_3v3>;
|
||||
pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
pinctrl-1 = <&mmc1_pins_hs>;
|
||||
pinctrl-2 = <&mmc1_pins_sdr12>;
|
||||
pinctrl-3 = <&mmc1_pins_sdr25>;
|
||||
pinctrl-4 = <&mmc1_pins_sdr50>;
|
||||
pinctrl-5 = <&mmc1_pins_ddr50_rev20 &mmc1_iodelay_ddr50_conf>;
|
||||
pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
|
||||
vqmmc-supply = <&vpo_sd_1v8_3v3>;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
|
||||
pinctrl-0 = <&mmc2_pins_default>;
|
||||
pinctrl-1 = <&mmc2_pins_hs>;
|
||||
pinctrl-2 = <&mmc2_pins_ddr_rev20 &mmc2_iodelay_ddr_conf>;
|
||||
pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev20_conf>;
|
||||
vmmc-supply = <&evm_1v8_sw>;
|
||||
};
|
||||
|
||||
&mac {
|
||||
@ -168,13 +201,13 @@
|
||||
};
|
||||
|
||||
&cpsw_emac0 {
|
||||
phy-handle = <&dp83867_0>;
|
||||
phy_id = <&davinci_mdio>, <2>;
|
||||
phy-mode = "rgmii-id";
|
||||
dual_emac_res_vlan = <1>;
|
||||
};
|
||||
|
||||
&cpsw_emac1 {
|
||||
phy-handle = <&dp83867_1>;
|
||||
phy_id = <&davinci_mdio>, <3>;
|
||||
phy-mode = "rgmii-id";
|
||||
dual_emac_res_vlan = <2>;
|
||||
};
|
||||
@ -185,7 +218,8 @@
|
||||
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||||
ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
|
||||
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
|
||||
ti,impedance-control = <0x1f>;
|
||||
ti,min-output-impedance;
|
||||
ti,dp83867-rxctrl-strap-quirk;
|
||||
};
|
||||
|
||||
dp83867_1: ethernet-phy@3 {
|
||||
@ -193,7 +227,8 @@
|
||||
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||||
ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
|
||||
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
|
||||
ti,impedance-control = <0x1f>;
|
||||
ti,min-output-impedance;
|
||||
ti,dp83867-rxctrl-strap-quirk;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -20,7 +20,6 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart1;
|
||||
tick-timer = &timer2;
|
||||
};
|
||||
|
||||
evm_12v0: fixedregulator-evm12v0 {
|
||||
@ -221,9 +220,17 @@
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
pcf_lcd: gpio@20 {
|
||||
compatible = "nxp,pcf8575";
|
||||
reg = <0x20>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
pcf_gpio_21: gpio@21 {
|
||||
compatible = "ti,pcf8575", "nxp,pcf8575";
|
||||
u-boot,i2c-offset-len = <0>;
|
||||
reg = <0x21>;
|
||||
lines-initial-states = <0x1408>;
|
||||
gpio-controller;
|
||||
@ -254,7 +261,6 @@
|
||||
|
||||
pcf_hdmi: pcf8575@26 {
|
||||
compatible = "ti,pcf8575", "nxp,pcf8575";
|
||||
u-boot,i2c-offset-len = <0>;
|
||||
reg = <0x26>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
@ -287,7 +293,12 @@
|
||||
};
|
||||
|
||||
&gpmc {
|
||||
status = "okay";
|
||||
/*
|
||||
* For the existing IOdelay configuration via U-Boot we don't
|
||||
* support NAND on dra72-evm. Keep it disabled. Enabling it
|
||||
* requires a different configuration by U-Boot.
|
||||
*/
|
||||
status = "disabled";
|
||||
ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */
|
||||
nand@0,0 {
|
||||
/* To use NAND, DIP switch SW5 must be set like so:
|
||||
@ -300,6 +311,7 @@
|
||||
interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
|
||||
<1 IRQ_TYPE_NONE>; /* termcount */
|
||||
rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
|
||||
ti,nand-xfer-type = "prefetch-dma";
|
||||
ti,nand-ecc-opt = "bch8";
|
||||
ti,elm-id = <&elm>;
|
||||
nand-bus-width = <16>;
|
||||
@ -381,7 +393,8 @@
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
dr_mode = "peripheral";
|
||||
dr_mode = "otg";
|
||||
extcon = <&extcon_usb1>;
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
@ -407,8 +420,6 @@
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins_default>;
|
||||
|
||||
vmmc-supply = <&evm_3v3_sw>;
|
||||
bus-width = <8>;
|
||||
ti,non-removable;
|
||||
max-frequency = <192000000>;
|
||||
@ -431,7 +442,7 @@
|
||||
|
||||
spi-max-frequency = <76800000>;
|
||||
m25p80@0 {
|
||||
compatible = "s25fl256s1", "spi-flash";
|
||||
compatible = "s25fl256s1";
|
||||
spi-max-frequency = <76800000>;
|
||||
reg = <0>;
|
||||
spi-tx-bus-width = <1>;
|
||||
@ -552,3 +563,7 @@
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&pcie1_rc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
23
arch/arm/dts/dra72-evm-revc-u-boot.dtsi
Normal file
23
arch/arm/dts/dra72-evm-revc-u-boot.dtsi
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include "omap5-u-boot.dtsi"
|
||||
|
||||
&pcf_gpio_21{
|
||||
u-boot,i2c-offset-len = <0>;
|
||||
};
|
||||
|
||||
&pcf_hdmi{
|
||||
u-boot,i2c-offset-len = <0>;
|
||||
};
|
||||
|
||||
&cpsw_emac0 {
|
||||
phy-handle = <&dp83867_0>;
|
||||
};
|
||||
|
||||
&cpsw_emac1 {
|
||||
phy-handle = <&dp83867_1>;
|
||||
};
|
||||
@ -6,6 +6,7 @@
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#include "dra72-evm-common.dtsi"
|
||||
#include "dra72x-mmc-iodelay.dtsi"
|
||||
#include <dt-bindings/net/ti-dp83867.h>
|
||||
|
||||
/ {
|
||||
@ -15,6 +16,16 @@
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x80000000 0x0 0x80000000>; /* 2GB */
|
||||
};
|
||||
|
||||
evm_1v8_sw: fixedregulator-evm_1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "evm_1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <&smps4_reg>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
@ -50,13 +61,13 @@
|
||||
};
|
||||
|
||||
&cpsw_emac0 {
|
||||
phy-handle = <&dp83867_0>;
|
||||
phy_id = <&davinci_mdio>, <2>;
|
||||
phy-mode = "rgmii-id";
|
||||
dual_emac_res_vlan = <1>;
|
||||
};
|
||||
|
||||
&cpsw_emac1 {
|
||||
phy-handle = <&dp83867_1>;
|
||||
phy_id = <&davinci_mdio>, <3>;
|
||||
phy-mode = "rgmii-id";
|
||||
dual_emac_res_vlan = <2>;
|
||||
};
|
||||
@ -68,6 +79,9 @@
|
||||
ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
|
||||
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
|
||||
ti,min-output-impedance;
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
|
||||
ti,dp83867-rxctrl-strap-quirk;
|
||||
};
|
||||
|
||||
dp83867_1: ethernet-phy@3 {
|
||||
@ -76,5 +90,29 @@
|
||||
ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
|
||||
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
|
||||
ti,min-output-impedance;
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
|
||||
ti,dp83867-rxctrl-strap-quirk;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
pinctrl-1 = <&mmc1_pins_hs>;
|
||||
pinctrl-2 = <&mmc1_pins_sdr12>;
|
||||
pinctrl-3 = <&mmc1_pins_sdr25>;
|
||||
pinctrl-4 = <&mmc1_pins_sdr50>;
|
||||
pinctrl-5 = <&mmc1_pins_ddr50_rev20 &mmc1_iodelay_ddr50_conf>;
|
||||
pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
|
||||
vqmmc-supply = <&ldo1_reg>;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
|
||||
pinctrl-0 = <&mmc2_pins_default>;
|
||||
pinctrl-1 = <&mmc2_pins_hs>;
|
||||
pinctrl-2 = <&mmc2_pins_ddr_rev20 &mmc2_iodelay_ddr_conf>;
|
||||
pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev20_conf>;
|
||||
vmmc-supply = <&evm_1v8_sw>;
|
||||
};
|
||||
|
||||
@ -132,3 +132,19 @@
|
||||
ti,palmas-long-press-seconds = <6>;
|
||||
};
|
||||
};
|
||||
|
||||
&usb2_phy1 {
|
||||
phy-supply = <&ldo4_reg>;
|
||||
};
|
||||
|
||||
&usb2_phy2 {
|
||||
phy-supply = <&ldo4_reg>;
|
||||
};
|
||||
|
||||
&dss {
|
||||
vdda_video-supply = <&ldo5_reg>;
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
vqmmc-supply = <&ldo1_reg>;
|
||||
};
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#include "dra72-evm-common.dtsi"
|
||||
#include "dra72x-mmc-iodelay.dtsi"
|
||||
/ {
|
||||
model = "TI DRA722";
|
||||
|
||||
@ -13,6 +14,16 @@
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x80000000 0x0 0x40000000>; /* 1024 MB */
|
||||
};
|
||||
|
||||
evm_1v8_sw: fixedregulator-evm_1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "evm_1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <&smps4_reg>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
@ -43,3 +54,24 @@
|
||||
phy_id = <&davinci_mdio>, <3>;
|
||||
phy-mode = "rgmii";
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
pinctrl-1 = <&mmc1_pins_hs>;
|
||||
pinctrl-2 = <&mmc1_pins_sdr12>;
|
||||
pinctrl-3 = <&mmc1_pins_sdr25>;
|
||||
pinctrl-4 = <&mmc1_pins_sdr50>;
|
||||
pinctrl-5 = <&mmc1_pins_ddr50_rev10>;
|
||||
pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev10_conf>;
|
||||
vqmmc-supply = <&ldo1_reg>;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
|
||||
pinctrl-0 = <&mmc2_pins_default>;
|
||||
pinctrl-1 = <&mmc2_pins_hs>;
|
||||
pinctrl-2 = <&mmc2_pins_ddr_rev10>;
|
||||
pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev10_conf>;
|
||||
vmmc-supply = <&evm_1v8_sw>;
|
||||
};
|
||||
|
||||
350
arch/arm/dts/dra72x-mmc-iodelay.dtsi
Normal file
350
arch/arm/dts/dra72x-mmc-iodelay.dtsi
Normal file
@ -0,0 +1,350 @@
|
||||
/*
|
||||
* MMC IOdelay values for TI's DRA72x, DRA71x and AM571x SoCs.
|
||||
*
|
||||
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation version 2.
|
||||
*
|
||||
* This program is distributed "as is" WITHOUT ANY WARRANTY of any
|
||||
* kind, whether express or implied; without even the implied warranty
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Rules for modifying this file:
|
||||
* a) Update of this file should typically correspond to a datamanual revision.
|
||||
* Datamanual revision that was used should be updated in comment below.
|
||||
* If there is no update to datamanual, do not update the values. If you
|
||||
* need to use values different from that recommended by the datamanual
|
||||
* for your design, then you should consider adding values to the device-
|
||||
* -tree file for your board directly.
|
||||
* b) We keep the mode names as close to the datamanual as possible. So
|
||||
* if the manual calls a mode, DDR50, or DDR or DDR 1.8v or DDR 3.3v,
|
||||
* we follow that in code too.
|
||||
* c) If the values change between multiple revisions of silicon, we add
|
||||
* a revision tag to both the new and old entry. Use 'rev10' for PG 1.0,
|
||||
* 'rev20' for PG 2.0 and so on.
|
||||
* d) The node name and node label should be the exact same string. This is
|
||||
* to curb naming creativity and achieve consistency.
|
||||
* e) If in future, DRA71x and DRA72x values differ, then add 'dra71_' and
|
||||
* 'dra72_' tag to entries. Both the new and old entries should gain a tag.
|
||||
*
|
||||
* Datamanual Revisions:
|
||||
*
|
||||
* AM571x Silicon Revision 2.0: SPRS957D, Revised January 2017
|
||||
* AM571x Silicon Revision 1.0: SPRS919M, Revised November 2017
|
||||
* DRA71x : SPRS960B, Revised February 2017
|
||||
*/
|
||||
|
||||
&dra7_pmx_core {
|
||||
mmc1_pins_default: mmc1_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_sdr12: mmc1_pins_sdr12 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_hs: mmc1_pins_hs {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_sdr25: mmc1_pins_sdr25 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_sdr50: mmc1_pins_sdr50 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE15 | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE15 | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE15 | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE15 | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE15 | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE15 | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_ddr50_rev10: mmc1_pins_ddr50_rev10 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE14 | MUX_MODE0) /* mmc1_clk.mmc1_clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE14 | MUX_MODE0) /* mmc1_cmd.mmc1_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375C, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE14 | MUX_MODE0) /* mmc1_dat0.mmc1_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE14 | MUX_MODE0) /* mmc1_dat1.mmc1_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE14 | MUX_MODE0) /* mmc1_dat2.mmc1_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE14 | MUX_MODE0) /* mmc1_dat3.mmc1_dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_ddr50_rev20: mmc1_pins_ddr50_rev20 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_sdr104: mmc1_pins_sdr104 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_default: mmc2_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_hs: mmc2_pins_hs {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_ddr_rev10: mmc2_pins_ddr_rev10 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_ddr_rev20: mmc2_pins_ddr_rev20 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_hs200: mmc2_pins_hs200 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&dra7_iodelay_core {
|
||||
|
||||
/* Corresponds to MMC1_MANUAL1 in datamanual */
|
||||
mmc1_iodelay_ddr50_conf: mmc1_iodelay_ddr50_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x618 A_DELAY_PS(588) G_DELAY_PS(0) /* CFG_MMC1_CLK_IN */
|
||||
0x624 A_DELAY_PS(1000) G_DELAY_PS(0) /* CFG_MMC1_CMD_IN */
|
||||
0x630 A_DELAY_PS(1375) G_DELAY_PS(0) /* CFG_MMC1_DAT0_IN */
|
||||
0x63C A_DELAY_PS(1000) G_DELAY_PS(0) /* CFG_MMC1_DAT1_IN */
|
||||
0x648 A_DELAY_PS(1000) G_DELAY_PS(0) /* CFG_MMC1_DAT2_IN */
|
||||
0x654 A_DELAY_PS(1000) G_DELAY_PS(0) /* CFG_MMC1_DAT3_IN */
|
||||
0x620 A_DELAY_PS(1230) G_DELAY_PS(0) /* CFG_MMC1_CLK_OUT */
|
||||
0x62C A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OUT */
|
||||
0x638 A_DELAY_PS(56) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OUT */
|
||||
0x644 A_DELAY_PS(76) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OUT */
|
||||
0x650 A_DELAY_PS(91) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OUT */
|
||||
0x65C A_DELAY_PS(99) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OUT */
|
||||
0x628 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OEN */
|
||||
0x634 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OEN */
|
||||
0x640 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OEN */
|
||||
0x64C A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OEN */
|
||||
0x658 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OEN */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC1_MANUAL2 in datamanual */
|
||||
mmc1_iodelay_sdr104_rev10_conf: mmc1_iodelay_sdr104_rev10_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x620 A_DELAY_PS(560) G_DELAY_PS(365) /* CFG_MMC1_CLK_OUT */
|
||||
0x62c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OUT */
|
||||
0x638 A_DELAY_PS(29) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OUT */
|
||||
0x644 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OUT */
|
||||
0x650 A_DELAY_PS(47) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OUT */
|
||||
0x65c A_DELAY_PS(30) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OUT */
|
||||
0x628 A_DELAY_PS(125) G_DELAY_PS(0) /* CFG_MMC1_CMD_OEN */
|
||||
0x634 A_DELAY_PS(43) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OEN */
|
||||
0x640 A_DELAY_PS(433) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OEN */
|
||||
0x64c A_DELAY_PS(287) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OEN */
|
||||
0x658 A_DELAY_PS(351) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OEN */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC1_MANUAL2 in datamanual */
|
||||
mmc1_iodelay_sdr104_rev20_conf: mmc1_iodelay_sdr104_rev20_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x620 A_DELAY_PS(520) G_DELAY_PS(320) /* CFG_MMC1_CLK_OUT */
|
||||
0x62c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OUT */
|
||||
0x638 A_DELAY_PS(40) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OUT */
|
||||
0x644 A_DELAY_PS(83) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OUT */
|
||||
0x650 A_DELAY_PS(98) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OUT */
|
||||
0x65c A_DELAY_PS(106) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OUT */
|
||||
0x628 A_DELAY_PS(51) G_DELAY_PS(0) /* CFG_MMC1_CMD_OEN */
|
||||
0x634 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OEN */
|
||||
0x640 A_DELAY_PS(363) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OEN */
|
||||
0x64c A_DELAY_PS(199) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OEN */
|
||||
0x658 A_DELAY_PS(273) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OEN */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC2_MANUAL1 in datamanual */
|
||||
mmc2_iodelay_ddr_conf: mmc2_iodelay_ddr_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x18c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A19_IN */
|
||||
0x1a4 A_DELAY_PS(119) G_DELAY_PS(0) /* CFG_GPMC_A20_IN */
|
||||
0x1b0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A21_IN */
|
||||
0x1bc A_DELAY_PS(18) G_DELAY_PS(0) /* CFG_GPMC_A22_IN */
|
||||
0x1c8 A_DELAY_PS(894) G_DELAY_PS(0) /* CFG_GPMC_A23_IN */
|
||||
0x1d4 A_DELAY_PS(30) G_DELAY_PS(0) /* CFG_GPMC_A24_IN */
|
||||
0x1e0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A25_IN */
|
||||
0x1ec A_DELAY_PS(23) G_DELAY_PS(0) /* CFG_GPMC_A26_IN */
|
||||
0x1f8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A27_IN */
|
||||
0x360 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_CS1_IN */
|
||||
0x194 A_DELAY_PS(152) G_DELAY_PS(0) /* CFG_GPMC_A19_OUT */
|
||||
0x1ac A_DELAY_PS(206) G_DELAY_PS(0) /* CFG_GPMC_A20_OUT */
|
||||
0x1b8 A_DELAY_PS(78) G_DELAY_PS(0) /* CFG_GPMC_A21_OUT */
|
||||
0x1c4 A_DELAY_PS(2) G_DELAY_PS(0) /* CFG_GPMC_A22_OUT */
|
||||
0x1d0 A_DELAY_PS(266) G_DELAY_PS(0) /* CFG_GPMC_A23_OUT */
|
||||
0x1dc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A24_OUT */
|
||||
0x1e8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A25_OUT */
|
||||
0x1f4 A_DELAY_PS(43) G_DELAY_PS(0) /* CFG_GPMC_A26_OUT */
|
||||
0x200 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A27_OUT */
|
||||
0x368 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_CS1_OUT */
|
||||
0x190 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A19_OEN */
|
||||
0x1a8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A20_OEN */
|
||||
0x1b4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A21_OEN */
|
||||
0x1c0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A22_OEN */
|
||||
0x1d8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A24_OEN */
|
||||
0x1e4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A25_OEN */
|
||||
0x1f0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A26_OEN */
|
||||
0x1fc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A27_OEN */
|
||||
0x364 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_CS1_OEN */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC2_MANUAL3 in datamanual */
|
||||
mmc2_iodelay_hs200_rev10_conf: mmc2_iodelay_hs200_rev10_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x194 A_DELAY_PS(150) G_DELAY_PS(95) /* CFG_GPMC_A19_OUT */
|
||||
0x1ac A_DELAY_PS(250) G_DELAY_PS(0) /* CFG_GPMC_A20_OUT */
|
||||
0x1b8 A_DELAY_PS(125) G_DELAY_PS(0) /* CFG_GPMC_A21_OUT */
|
||||
0x1c4 A_DELAY_PS(100) G_DELAY_PS(0) /* CFG_GPMC_A22_OUT */
|
||||
0x1d0 A_DELAY_PS(870) G_DELAY_PS(415) /* CFG_GPMC_A23_OUT */
|
||||
0x1dc A_DELAY_PS(30) G_DELAY_PS(0) /* CFG_GPMC_A24_OUT */
|
||||
0x1e8 A_DELAY_PS(200) G_DELAY_PS(0) /* CFG_GPMC_A25_OUT */
|
||||
0x1f4 A_DELAY_PS(200) G_DELAY_PS(0) /* CFG_GPMC_A26_OUT */
|
||||
0x200 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A27_OUT */
|
||||
0x368 A_DELAY_PS(240) G_DELAY_PS(0) /* CFG_GPMC_CS1_OUT */
|
||||
0x190 A_DELAY_PS(695) G_DELAY_PS(0) /* CFG_GPMC_A19_OEN */
|
||||
0x1a8 A_DELAY_PS(924) G_DELAY_PS(0) /* CFG_GPMC_A20_OEN */
|
||||
0x1b4 A_DELAY_PS(719) G_DELAY_PS(0) /* CFG_GPMC_A21_OEN */
|
||||
0x1c0 A_DELAY_PS(824) G_DELAY_PS(0) /* CFG_GPMC_A22_OEN */
|
||||
0x1d8 A_DELAY_PS(877) G_DELAY_PS(0) /* CFG_GPMC_A24_OEN */
|
||||
0x1e4 A_DELAY_PS(446) G_DELAY_PS(0) /* CFG_GPMC_A25_OEN */
|
||||
0x1f0 A_DELAY_PS(847) G_DELAY_PS(0) /* CFG_GPMC_A26_OEN */
|
||||
0x1fc A_DELAY_PS(586) G_DELAY_PS(0) /* CFG_GPMC_A27_OEN */
|
||||
0x364 A_DELAY_PS(1039) G_DELAY_PS(0) /* CFG_GPMC_CS1_OEN */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC2_MANUAL3 in datamanual */
|
||||
mmc2_iodelay_hs200_rev20_conf: mmc2_iodelay_hs200_rev20_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x194 A_DELAY_PS(285) G_DELAY_PS(0) /* CFG_GPMC_A19_OUT */
|
||||
0x1ac A_DELAY_PS(189) G_DELAY_PS(0) /* CFG_GPMC_A20_OUT */
|
||||
0x1b8 A_DELAY_PS(0) G_DELAY_PS(120) /* CFG_GPMC_A21_OUT */
|
||||
0x1c4 A_DELAY_PS(0) G_DELAY_PS(70) /* CFG_GPMC_A22_OUT */
|
||||
0x1d0 A_DELAY_PS(730) G_DELAY_PS(360) /* CFG_GPMC_A23_OUT */
|
||||
0x1dc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A24_OUT */
|
||||
0x1e8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A25_OUT */
|
||||
0x1f4 A_DELAY_PS(70) G_DELAY_PS(0) /* CFG_GPMC_A26_OUT */
|
||||
0x200 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A27_OUT */
|
||||
0x368 A_DELAY_PS(0) G_DELAY_PS(120) /* CFG_GPMC_CS1_OUT */
|
||||
0x190 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A19_OEN */
|
||||
0x1a8 A_DELAY_PS(231) G_DELAY_PS(0) /* CFG_GPMC_A20_OEN */
|
||||
0x1b4 A_DELAY_PS(39) G_DELAY_PS(0) /* CFG_GPMC_A21_OEN */
|
||||
0x1c0 A_DELAY_PS(91) G_DELAY_PS(0) /* CFG_GPMC_A22_OEN */
|
||||
0x1d8 A_DELAY_PS(176) G_DELAY_PS(0) /* CFG_GPMC_A24_OEN */
|
||||
0x1e4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A25_OEN */
|
||||
0x1f0 A_DELAY_PS(101) G_DELAY_PS(0) /* CFG_GPMC_A26_OEN */
|
||||
0x1fc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A27_OEN */
|
||||
0x364 A_DELAY_PS(360) G_DELAY_PS(0) /* CFG_GPMC_CS1_OEN */
|
||||
>;
|
||||
};
|
||||
};
|
||||
@ -12,22 +12,6 @@
|
||||
/ {
|
||||
compatible = "ti,dra722", "ti,dra72", "ti,dra7";
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a15";
|
||||
reg = <0>;
|
||||
|
||||
/* cooling options */
|
||||
cooling-min-level = <0>;
|
||||
cooling-max-level = <2>;
|
||||
#cooling-cells = <2>; /* min followed by max */
|
||||
};
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a15-pmu";
|
||||
interrupt-parent = <&wakeupgen>;
|
||||
@ -45,3 +29,24 @@
|
||||
<&dss_video1_clk>;
|
||||
clock-names = "fck", "video1_clk";
|
||||
};
|
||||
|
||||
&mailbox5 {
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
ti,mbox-tx = <6 2 2>;
|
||||
ti,mbox-rx = <4 2 2>;
|
||||
status = "disabled";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
ti,mbox-tx = <5 2 2>;
|
||||
ti,mbox-rx = <1 2 2>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
ti,mbox-tx = <6 2 2>;
|
||||
ti,mbox-rx = <4 2 2>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
647
arch/arm/dts/dra74x-mmc-iodelay.dtsi
Normal file
647
arch/arm/dts/dra74x-mmc-iodelay.dtsi
Normal file
@ -0,0 +1,647 @@
|
||||
/*
|
||||
* MMC IOdelay values for TI's DRA74x, DRA75x and AM572x SoCs.
|
||||
*
|
||||
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation version 2.
|
||||
*
|
||||
* This program is distributed "as is" WITHOUT ANY WARRANTY of any
|
||||
* kind, whether express or implied; without even the implied warranty
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Rules for modifying this file:
|
||||
* a) Update of this file should typically correspond to a datamanual revision.
|
||||
* Datamanual revision that was used should be updated in comment below.
|
||||
* If there is no update to datamanual, do not update the values. If you
|
||||
* need to use values different from that recommended by the datamanual
|
||||
* for your design, then you should consider adding values to the device-
|
||||
* -tree file for your board directly.
|
||||
* b) We keep the mode names as close to the datamanual as possible. So
|
||||
* if the manual calls a mode, DDR50, or DDR or DDR 1.8v or DDR 3.3v,
|
||||
* we follow that in code too.
|
||||
* c) If the values change between multiple revisions of silicon, we add
|
||||
* a revision tag to both the new and old entry. Use 'rev11' for PG 1.1,
|
||||
* 'rev20' for PG 2.0 and so on.
|
||||
* d) The node name and node label should be the exact same string. This is
|
||||
* to curb naming creativity and achieve consistency.
|
||||
*
|
||||
* Datamanual Revisions:
|
||||
*
|
||||
* AM572x Silicon Revision 2.0: SPRS953B, Revised November 2016
|
||||
* AM572x Silicon Revision 1.1: SPRS915R, Revised November 2016
|
||||
*
|
||||
*/
|
||||
|
||||
&dra7_pmx_core {
|
||||
mmc1_pins_default: mmc1_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_sdr12: mmc1_pins_sdr12 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_hs: mmc1_pins_hs {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_sdr25: mmc1_pins_sdr25 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_sdr50: mmc1_pins_sdr50 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_ddr50: mmc1_pins_ddr50 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_sdr104: mmc1_pins_sdr104 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_default: mmc2_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_hs: mmc2_pins_hs {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_ddr_3_3v_rev11: mmc2_pins_ddr_3_3v_rev11 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_ddr_1_8v_rev11: mmc2_pins_ddr_1_8v_rev11 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_ddr_rev20: mmc2_pins_ddr_rev20 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_hs200: mmc2_pins_hs200 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc4_pins_default: mmc4_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37e8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart1_ctsn.mmc4_clk */
|
||||
DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart1_rtsn.mmc4_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x37f0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_rxd.mmc4_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x37f4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_txd.mmc4_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_ctsn.mmc4_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_rtsn.mmc4_dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc4_pins_hs: mmc4_pins_hs {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37e8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart1_ctsn.mmc4_clk */
|
||||
DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart1_rtsn.mmc4_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x37f0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_rxd.mmc4_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x37f4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_txd.mmc4_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_ctsn.mmc4_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_rtsn.mmc4_dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc3_pins_default: mmc3_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x377c, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_clk.mmc3_clk */
|
||||
DRA7XX_CORE_IOPAD(0x3780, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_cmd.mmc3_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x3784, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat0.mmc3_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3788, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat1.mmc3_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x378c, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat2.mmc3_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3790, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat3.mmc3_dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc3_pins_hs: mmc3_pins_hs {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x377c, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_clk.mmc3_clk */
|
||||
DRA7XX_CORE_IOPAD(0x3780, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_cmd.mmc3_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x3784, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat0.mmc3_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3788, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat1.mmc3_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x378c, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat2.mmc3_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3790, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat3.mmc3_dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc3_pins_sdr12: mmc3_pins_sdr12 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x377c, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_clk.mmc3_clk */
|
||||
DRA7XX_CORE_IOPAD(0x3780, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_cmd.mmc3_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x3784, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat0.mmc3_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3788, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat1.mmc3_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x378c, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat2.mmc3_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3790, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat3.mmc3_dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc3_pins_sdr25: mmc3_pins_sdr25 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x377c, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_clk.mmc3_clk */
|
||||
DRA7XX_CORE_IOPAD(0x3780, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_cmd.mmc3_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x3784, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat0.mmc3_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3788, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat1.mmc3_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x378c, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat2.mmc3_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3790, (PIN_INPUT_PULLUP | MUX_MODE0)) /* mmc3_dat3.mmc3_dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc3_pins_sdr50: mmc3_pins_sdr50 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x377c, (PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)) /* mmc3_clk.mmc3_clk */
|
||||
DRA7XX_CORE_IOPAD(0x3780, (PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)) /* mmc3_cmd.mmc3_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x3784, (PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)) /* mmc3_dat0.mmc3_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3788, (PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)) /* mmc3_dat1.mmc3_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x378c, (PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)) /* mmc3_dat2.mmc3_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3790, (PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)) /* mmc3_dat3.mmc3_dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc4_pins_sdr12: mmc4_pins_sdr12 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37e8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart1_ctsn.mmc4_clk */
|
||||
DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart1_rtsn.mmc4_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x37f0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_rxd.mmc4_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x37f4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_txd.mmc4_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_ctsn.mmc4_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_rtsn.mmc4_dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc4_pins_sdr25: mmc4_pins_sdr25 {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x37e8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart1_ctsn.mmc4_clk */
|
||||
DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart1_rtsn.mmc4_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x37f0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_rxd.mmc4_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x37f4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_txd.mmc4_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_ctsn.mmc4_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_rtsn.mmc4_dat3 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&dra7_iodelay_core {
|
||||
|
||||
/* Corresponds to MMC1_DDR_MANUAL1 in datamanual */
|
||||
mmc1_iodelay_ddr_rev11_conf: mmc1_iodelay_ddr_rev11_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x618 A_DELAY_PS(572) G_DELAY_PS(540) /* CFG_MMC1_CLK_IN */
|
||||
0x620 A_DELAY_PS(1525) G_DELAY_PS(0) /* CFG_MMC1_CLK_OUT */
|
||||
0x624 A_DELAY_PS(0) G_DELAY_PS(600) /* CFG_MMC1_CMD_IN */
|
||||
0x628 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OEN */
|
||||
0x62c A_DELAY_PS(55) G_DELAY_PS(0) /* CFG_MMC1_CMD_OUT */
|
||||
0x630 A_DELAY_PS(403) G_DELAY_PS(120) /* CFG_MMC1_DAT0_IN */
|
||||
0x634 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OEN */
|
||||
0x638 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OUT */
|
||||
0x63c A_DELAY_PS(23) G_DELAY_PS(60) /* CFG_MMC1_DAT1_IN */
|
||||
0x640 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OEN */
|
||||
0x644 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OUT */
|
||||
0x648 A_DELAY_PS(25) G_DELAY_PS(60) /* CFG_MMC1_DAT2_IN */
|
||||
0x64c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OEN */
|
||||
0x650 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OUT */
|
||||
0x654 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_IN */
|
||||
0x658 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OEN */
|
||||
0x65c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC1_DDR_MANUAL1 in datamanual */
|
||||
mmc1_iodelay_ddr_rev20_conf: mmc1_iodelay_ddr50_rev20_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x618 A_DELAY_PS(1076) G_DELAY_PS(330) /* CFG_MMC1_CLK_IN */
|
||||
0x620 A_DELAY_PS(1271) G_DELAY_PS(0) /* CFG_MMC1_CLK_OUT */
|
||||
0x624 A_DELAY_PS(722) G_DELAY_PS(0) /* CFG_MMC1_CMD_IN */
|
||||
0x628 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OEN */
|
||||
0x62C A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OUT */
|
||||
0x630 A_DELAY_PS(751) G_DELAY_PS(0) /* CFG_MMC1_DAT0_IN */
|
||||
0x634 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OEN */
|
||||
0x638 A_DELAY_PS(20) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OUT */
|
||||
0x63C A_DELAY_PS(256) G_DELAY_PS(0) /* CFG_MMC1_DAT1_IN */
|
||||
0x640 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OEN */
|
||||
0x644 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OUT */
|
||||
0x648 A_DELAY_PS(263) G_DELAY_PS(0) /* CFG_MMC1_DAT2_IN */
|
||||
0x64C A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OEN */
|
||||
0x650 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OUT */
|
||||
0x654 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_IN */
|
||||
0x658 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OEN */
|
||||
0x65C A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC1_SDR104_MANUAL1 in datamanual */
|
||||
mmc1_iodelay_sdr104_rev11_conf: mmc1_iodelay_sdr104_rev11_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x620 A_DELAY_PS(1063) G_DELAY_PS(17) /* CFG_MMC1_CLK_OUT */
|
||||
0x628 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OEN */
|
||||
0x62c A_DELAY_PS(23) G_DELAY_PS(0) /* CFG_MMC1_CMD_OUT */
|
||||
0x634 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OEN */
|
||||
0x638 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OUT */
|
||||
0x640 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OEN */
|
||||
0x644 A_DELAY_PS(2) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OUT */
|
||||
0x64c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OEN */
|
||||
0x650 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OUT */
|
||||
0x658 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OEN */
|
||||
0x65c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC1_SDR104_MANUAL1 in datamanual */
|
||||
mmc1_iodelay_sdr104_rev20_conf: mmc1_iodelay_sdr104_rev20_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x620 A_DELAY_PS(600) G_DELAY_PS(400) /* CFG_MMC1_CLK_OUT */
|
||||
0x628 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OEN */
|
||||
0x62c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OUT */
|
||||
0x634 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OEN */
|
||||
0x638 A_DELAY_PS(30) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OUT */
|
||||
0x640 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OEN */
|
||||
0x644 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OUT */
|
||||
0x64c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OEN */
|
||||
0x650 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OUT */
|
||||
0x658 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OEN */
|
||||
0x65c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC2_HS200_MANUAL1 in datamanual */
|
||||
mmc2_iodelay_hs200_rev11_conf: mmc2_iodelay_hs200_rev11_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x190 A_DELAY_PS(621) G_DELAY_PS(600) /* CFG_GPMC_A19_OEN */
|
||||
0x194 A_DELAY_PS(300) G_DELAY_PS(0) /* CFG_GPMC_A19_OUT */
|
||||
0x1a8 A_DELAY_PS(739) G_DELAY_PS(600) /* CFG_GPMC_A20_OEN */
|
||||
0x1ac A_DELAY_PS(240) G_DELAY_PS(0) /* CFG_GPMC_A20_OUT */
|
||||
0x1b4 A_DELAY_PS(812) G_DELAY_PS(600) /* CFG_GPMC_A21_OEN */
|
||||
0x1b8 A_DELAY_PS(240) G_DELAY_PS(0) /* CFG_GPMC_A21_OUT */
|
||||
0x1c0 A_DELAY_PS(954) G_DELAY_PS(600) /* CFG_GPMC_A22_OEN */
|
||||
0x1c4 A_DELAY_PS(60) G_DELAY_PS(0) /* CFG_GPMC_A22_OUT */
|
||||
0x1d0 A_DELAY_PS(1340) G_DELAY_PS(420) /* CFG_GPMC_A23_OUT */
|
||||
0x1d8 A_DELAY_PS(935) G_DELAY_PS(600) /* CFG_GPMC_A24_OEN */
|
||||
0x1dc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A24_OUT */
|
||||
0x1e4 A_DELAY_PS(525) G_DELAY_PS(600) /* CFG_GPMC_A25_OEN */
|
||||
0x1e8 A_DELAY_PS(120) G_DELAY_PS(0) /* CFG_GPMC_A25_OUT */
|
||||
0x1f0 A_DELAY_PS(767) G_DELAY_PS(600) /* CFG_GPMC_A26_OEN */
|
||||
0x1f4 A_DELAY_PS(225) G_DELAY_PS(0) /* CFG_GPMC_A26_OUT */
|
||||
0x1fc A_DELAY_PS(565) G_DELAY_PS(600) /* CFG_GPMC_A27_OEN */
|
||||
0x200 A_DELAY_PS(60) G_DELAY_PS(0) /* CFG_GPMC_A27_OUT */
|
||||
0x364 A_DELAY_PS(969) G_DELAY_PS(600) /* CFG_GPMC_CS1_OEN */
|
||||
0x368 A_DELAY_PS(180) G_DELAY_PS(0) /* CFG_GPMC_CS1_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC2_HS200_MANUAL1 in datamanual */
|
||||
mmc2_iodelay_hs200_rev20_conf: mmc2_iodelay_hs200_rev20_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x190 A_DELAY_PS(274) G_DELAY_PS(0) /* CFG_GPMC_A19_OEN */
|
||||
0x194 A_DELAY_PS(162) G_DELAY_PS(0) /* CFG_GPMC_A19_OUT */
|
||||
0x1a8 A_DELAY_PS(401) G_DELAY_PS(0) /* CFG_GPMC_A20_OEN */
|
||||
0x1ac A_DELAY_PS(73) G_DELAY_PS(0) /* CFG_GPMC_A20_OUT */
|
||||
0x1b4 A_DELAY_PS(465) G_DELAY_PS(0) /* CFG_GPMC_A21_OEN */
|
||||
0x1b8 A_DELAY_PS(115) G_DELAY_PS(0) /* CFG_GPMC_A21_OUT */
|
||||
0x1c0 A_DELAY_PS(633) G_DELAY_PS(0) /* CFG_GPMC_A22_OEN */
|
||||
0x1c4 A_DELAY_PS(47) G_DELAY_PS(0) /* CFG_GPMC_A22_OUT */
|
||||
0x1d0 A_DELAY_PS(935) G_DELAY_PS(280) /* CFG_GPMC_A23_OUT */
|
||||
0x1d8 A_DELAY_PS(621) G_DELAY_PS(0) /* CFG_GPMC_A24_OEN */
|
||||
0x1dc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A24_OUT */
|
||||
0x1e4 A_DELAY_PS(183) G_DELAY_PS(0) /* CFG_GPMC_A25_OEN */
|
||||
0x1e8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A25_OUT */
|
||||
0x1f0 A_DELAY_PS(467) G_DELAY_PS(0) /* CFG_GPMC_A26_OEN */
|
||||
0x1f4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A26_OUT */
|
||||
0x1fc A_DELAY_PS(262) G_DELAY_PS(0) /* CFG_GPMC_A27_OEN */
|
||||
0x200 A_DELAY_PS(46) G_DELAY_PS(0) /* CFG_GPMC_A27_OUT */
|
||||
0x364 A_DELAY_PS(684) G_DELAY_PS(0) /* CFG_GPMC_CS1_OEN */
|
||||
0x368 A_DELAY_PS(76) G_DELAY_PS(0) /* CFG_GPMC_CS1_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Correspnds to MMC2_DDR_3V3_MANUAL1 in datamanual */
|
||||
mmc2_iodelay_ddr_3_3v_rev11_conf: mmc2_iodelay_ddr_3_3v_rev11_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x18c A_DELAY_PS(0) G_DELAY_PS(120) /* CFG_GPMC_A19_IN */
|
||||
0x190 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A19_OEN */
|
||||
0x194 A_DELAY_PS(174) G_DELAY_PS(0) /* CFG_GPMC_A19_OUT */
|
||||
0x1a4 A_DELAY_PS(265) G_DELAY_PS(360) /* CFG_GPMC_A20_IN */
|
||||
0x1a8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A20_OEN */
|
||||
0x1ac A_DELAY_PS(168) G_DELAY_PS(0) /* CFG_GPMC_A20_OUT */
|
||||
0x1b0 A_DELAY_PS(0) G_DELAY_PS(120) /* CFG_GPMC_A21_IN */
|
||||
0x1b4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A21_OEN */
|
||||
0x1b8 A_DELAY_PS(136) G_DELAY_PS(0) /* CFG_GPMC_A21_OUT */
|
||||
0x1bc A_DELAY_PS(0) G_DELAY_PS(120) /* CFG_GPMC_A22_IN */
|
||||
0x1c0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A22_OEN */
|
||||
0x1c4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A22_OUT */
|
||||
0x1c8 A_DELAY_PS(287) G_DELAY_PS(420) /* CFG_GPMC_A23_IN */
|
||||
0x1d0 A_DELAY_PS(879) G_DELAY_PS(0) /* CFG_GPMC_A23_OUT */
|
||||
0x1d4 A_DELAY_PS(144) G_DELAY_PS(240) /* CFG_GPMC_A24_IN */
|
||||
0x1d8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A24_OEN */
|
||||
0x1dc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A24_OUT */
|
||||
0x1e0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A25_IN */
|
||||
0x1e4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A25_OEN */
|
||||
0x1e8 A_DELAY_PS(34) G_DELAY_PS(0) /* CFG_GPMC_A25_OUT */
|
||||
0x1ec A_DELAY_PS(0) G_DELAY_PS(120) /* CFG_GPMC_A26_IN */
|
||||
0x1f0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A26_OEN */
|
||||
0x1f4 A_DELAY_PS(120) G_DELAY_PS(0) /* CFG_GPMC_A26_OUT */
|
||||
0x1f8 A_DELAY_PS(120) G_DELAY_PS(180) /* CFG_GPMC_A27_IN */
|
||||
0x1fc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A27_OEN */
|
||||
0x200 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A27_OUT */
|
||||
0x360 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_CS1_IN */
|
||||
0x364 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_CS1_OEN */
|
||||
0x368 A_DELAY_PS(11) G_DELAY_PS(0) /* CFG_GPMC_CS1_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC2_DDR_1V8_MANUAL1 in datamanual */
|
||||
mmc2_iodelay_ddr_1_8v_rev11_conf: mmc2_iodelay_ddr_1_8v_rev11_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x18c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A19_IN */
|
||||
0x190 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A19_OEN */
|
||||
0x194 A_DELAY_PS(174) G_DELAY_PS(0) /* CFG_GPMC_A19_OUT */
|
||||
0x1a4 A_DELAY_PS(274) G_DELAY_PS(240) /* CFG_GPMC_A20_IN */
|
||||
0x1a8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A20_OEN */
|
||||
0x1ac A_DELAY_PS(168) G_DELAY_PS(0) /* CFG_GPMC_A20_OUT */
|
||||
0x1b0 A_DELAY_PS(0) G_DELAY_PS(60) /* CFG_GPMC_A21_IN */
|
||||
0x1b4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A21_OEN */
|
||||
0x1b8 A_DELAY_PS(136) G_DELAY_PS(0) /* CFG_GPMC_A21_OUT */
|
||||
0x1bc A_DELAY_PS(0) G_DELAY_PS(60) /* CFG_GPMC_A22_IN */
|
||||
0x1c0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A22_OEN */
|
||||
0x1c4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A22_OUT */
|
||||
0x1c8 A_DELAY_PS(514) G_DELAY_PS(360) /* CFG_GPMC_A23_IN */
|
||||
0x1d0 A_DELAY_PS(879) G_DELAY_PS(0) /* CFG_GPMC_A23_OUT */
|
||||
0x1d4 A_DELAY_PS(187) G_DELAY_PS(120) /* CFG_GPMC_A24_IN */
|
||||
0x1d8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A24_OEN */
|
||||
0x1dc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A24_OUT */
|
||||
0x1e0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A25_IN */
|
||||
0x1e4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A25_OEN */
|
||||
0x1e8 A_DELAY_PS(34) G_DELAY_PS(0) /* CFG_GPMC_A25_OUT */
|
||||
0x1ec A_DELAY_PS(0) G_DELAY_PS(60) /* CFG_GPMC_A26_IN */
|
||||
0x1f0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A26_OEN */
|
||||
0x1f4 A_DELAY_PS(120) G_DELAY_PS(0) /* CFG_GPMC_A26_OUT */
|
||||
0x1f8 A_DELAY_PS(121) G_DELAY_PS(60) /* CFG_GPMC_A27_IN */
|
||||
0x1fc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A27_OEN */
|
||||
0x200 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A27_OUT */
|
||||
0x360 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_CS1_IN */
|
||||
0x364 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_CS1_OEN */
|
||||
0x368 A_DELAY_PS(11) G_DELAY_PS(0) /* CFG_GPMC_CS1_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC3_MANUAL1 in datamanual */
|
||||
mmc3_iodelay_manual1_rev20_conf: mmc3_iodelay_manual1_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x678 A_DELAY_PS(0) G_DELAY_PS(386) /* CFG_MMC3_CLK_IN */
|
||||
0x680 A_DELAY_PS(605) G_DELAY_PS(0) /* CFG_MMC3_CLK_OUT */
|
||||
0x684 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_CMD_IN */
|
||||
0x688 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_CMD_OEN */
|
||||
0x68c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_CMD_OUT */
|
||||
0x690 A_DELAY_PS(171) G_DELAY_PS(0) /* CFG_MMC3_DAT0_IN */
|
||||
0x694 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT0_OEN */
|
||||
0x698 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT0_OUT */
|
||||
0x69c A_DELAY_PS(221) G_DELAY_PS(0) /* CFG_MMC3_DAT1_IN */
|
||||
0x6a0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT1_OEN */
|
||||
0x6a4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT1_OUT */
|
||||
0x6a8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT2_IN */
|
||||
0x6ac A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT2_OEN */
|
||||
0x6b0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT2_OUT */
|
||||
0x6b4 A_DELAY_PS(474) G_DELAY_PS(0) /* CFG_MMC3_DAT3_IN */
|
||||
0x6b8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT3_OEN */
|
||||
0x6bc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT3_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC3_MANUAL1 in datamanual */
|
||||
mmc3_iodelay_manual1_rev11_conf: mmc3_iodelay_manual1_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x678 A_DELAY_PS(406) G_DELAY_PS(0) /* CFG_MMC3_CLK_IN */
|
||||
0x680 A_DELAY_PS(659) G_DELAY_PS(0) /* CFG_MMC3_CLK_OUT */
|
||||
0x684 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_CMD_IN */
|
||||
0x688 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_CMD_OEN */
|
||||
0x68c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_CMD_OUT */
|
||||
0x690 A_DELAY_PS(130) G_DELAY_PS(0) /* CFG_MMC3_DAT0_IN */
|
||||
0x694 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT0_OEN */
|
||||
0x698 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT0_OUT */
|
||||
0x69c A_DELAY_PS(169) G_DELAY_PS(0) /* CFG_MMC3_DAT1_IN */
|
||||
0x6a0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT1_OEN */
|
||||
0x6a4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT1_OUT */
|
||||
0x6a8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT2_IN */
|
||||
0x6ac A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT2_OEN */
|
||||
0x6b0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT2_OUT */
|
||||
0x6b4 A_DELAY_PS(457) G_DELAY_PS(0) /* CFG_MMC3_DAT3_IN */
|
||||
0x6b8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT3_OEN */
|
||||
0x6bc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT3_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC4_DS_MANUAL1 in datamanual */
|
||||
mmc4_iodelay_ds_rev11_conf: mmc4_iodelay_ds_rev11_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x840 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_CTSN_IN */
|
||||
0x848 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_CTSN_OUT */
|
||||
0x84c A_DELAY_PS(96) G_DELAY_PS(0) /* CFG_UART1_RTSN_IN */
|
||||
0x850 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_RTSN_OEN */
|
||||
0x854 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_RTSN_OUT */
|
||||
0x870 A_DELAY_PS(582) G_DELAY_PS(0) /* CFG_UART2_CTSN_IN */
|
||||
0x874 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_CTSN_OEN */
|
||||
0x878 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_CTSN_OUT */
|
||||
0x87c A_DELAY_PS(391) G_DELAY_PS(0) /* CFG_UART2_RTSN_IN */
|
||||
0x880 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RTSN_OEN */
|
||||
0x884 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RTSN_OUT */
|
||||
0x888 A_DELAY_PS(561) G_DELAY_PS(0) /* CFG_UART2_RXD_IN */
|
||||
0x88c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RXD_OEN */
|
||||
0x890 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RXD_OUT */
|
||||
0x894 A_DELAY_PS(588) G_DELAY_PS(0) /* CFG_UART2_TXD_IN */
|
||||
0x898 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_TXD_OEN */
|
||||
0x89c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_TXD_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC4_DS_MANUAL1 in datamanual */
|
||||
mmc4_iodelay_ds_rev20_conf: mmc4_iodelay_ds_rev20_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x840 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_CTSN_IN */
|
||||
0x848 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_CTSN_OUT */
|
||||
0x84c A_DELAY_PS(307) G_DELAY_PS(0) /* CFG_UART1_RTSN_IN */
|
||||
0x850 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_RTSN_OEN */
|
||||
0x854 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_RTSN_OUT */
|
||||
0x870 A_DELAY_PS(785) G_DELAY_PS(0) /* CFG_UART2_CTSN_IN */
|
||||
0x874 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_CTSN_OEN */
|
||||
0x878 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_CTSN_OUT */
|
||||
0x87c A_DELAY_PS(613) G_DELAY_PS(0) /* CFG_UART2_RTSN_IN */
|
||||
0x880 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RTSN_OEN */
|
||||
0x884 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RTSN_OUT */
|
||||
0x888 A_DELAY_PS(683) G_DELAY_PS(0) /* CFG_UART2_RXD_IN */
|
||||
0x88c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RXD_OEN */
|
||||
0x890 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RXD_OUT */
|
||||
0x894 A_DELAY_PS(835) G_DELAY_PS(0) /* CFG_UART2_TXD_IN */
|
||||
0x898 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_TXD_OEN */
|
||||
0x89c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_TXD_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC4_MANUAL1 in datamanual */
|
||||
mmc4_iodelay_sdr12_hs_sdr25_rev11_conf: mmc4_iodelay_sdr12_hs_sdr25_rev11_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x840 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_CTSN_IN */
|
||||
0x848 A_DELAY_PS(2651) G_DELAY_PS(0) /* CFG_UART1_CTSN_OUT */
|
||||
0x84c A_DELAY_PS(1572) G_DELAY_PS(0) /* CFG_UART1_RTSN_IN */
|
||||
0x850 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_RTSN_OEN */
|
||||
0x854 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_RTSN_OUT */
|
||||
0x870 A_DELAY_PS(1913) G_DELAY_PS(0) /* CFG_UART2_CTSN_IN */
|
||||
0x874 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_CTSN_OEN */
|
||||
0x878 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_CTSN_OUT */
|
||||
0x87c A_DELAY_PS(1721) G_DELAY_PS(0) /* CFG_UART2_RTSN_IN */
|
||||
0x880 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RTSN_OEN */
|
||||
0x884 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RTSN_OUT */
|
||||
0x888 A_DELAY_PS(1891) G_DELAY_PS(0) /* CFG_UART2_RXD_IN */
|
||||
0x88c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RXD_OEN */
|
||||
0x890 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RXD_OUT */
|
||||
0x894 A_DELAY_PS(1919) G_DELAY_PS(0) /* CFG_UART2_TXD_IN */
|
||||
0x898 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_TXD_OEN */
|
||||
0x89c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_TXD_OUT */
|
||||
>;
|
||||
};
|
||||
|
||||
/* Corresponds to MMC4_MANUAL1 in datamanual */
|
||||
mmc4_iodelay_sdr12_hs_sdr25_rev20_conf: mmc4_iodelay_sdr12_hs_sdr25_rev20_conf {
|
||||
pinctrl-pin-array = <
|
||||
0x840 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_CTSN_IN */
|
||||
0x848 A_DELAY_PS(1147) G_DELAY_PS(0) /* CFG_UART1_CTSN_OUT */
|
||||
0x84c A_DELAY_PS(1834) G_DELAY_PS(0) /* CFG_UART1_RTSN_IN */
|
||||
0x850 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_RTSN_OEN */
|
||||
0x854 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_RTSN_OUT */
|
||||
0x870 A_DELAY_PS(2165) G_DELAY_PS(0) /* CFG_UART2_CTSN_IN */
|
||||
0x874 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_CTSN_OEN */
|
||||
0x878 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_CTSN_OUT */
|
||||
0x87c A_DELAY_PS(1929) G_DELAY_PS(64) /* CFG_UART2_RTSN_IN */
|
||||
0x880 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RTSN_OEN */
|
||||
0x884 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RTSN_OUT */
|
||||
0x888 A_DELAY_PS(1935) G_DELAY_PS(128) /* CFG_UART2_RXD_IN */
|
||||
0x88c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RXD_OEN */
|
||||
0x890 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RXD_OUT */
|
||||
0x894 A_DELAY_PS(2172) G_DELAY_PS(44) /* CFG_UART2_TXD_IN */
|
||||
0x898 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_TXD_OEN */
|
||||
0x89c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_TXD_OUT */
|
||||
>;
|
||||
};
|
||||
};
|
||||
@ -13,34 +13,11 @@
|
||||
compatible = "ti,dra742", "ti,dra74", "ti,dra7";
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a15";
|
||||
reg = <0>;
|
||||
|
||||
operating-points = <
|
||||
/* kHz uV */
|
||||
1000000 1060000
|
||||
1176000 1160000
|
||||
>;
|
||||
|
||||
clocks = <&dpll_mpu_ck>;
|
||||
clock-names = "cpu";
|
||||
|
||||
clock-latency = <300000>; /* From omap-cpufreq driver */
|
||||
|
||||
/* cooling options */
|
||||
cooling-min-level = <0>;
|
||||
cooling-max-level = <2>;
|
||||
#cooling-cells = <2>; /* min followed by max */
|
||||
};
|
||||
cpu@1 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a15";
|
||||
reg = <1>;
|
||||
operating-points-v2 = <&cpu0_opp_table>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -52,6 +29,11 @@
|
||||
};
|
||||
|
||||
ocp {
|
||||
dsp2_system: dsp_system@41500000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x41500000 0x100>;
|
||||
};
|
||||
|
||||
omap_dwc3_4: omap_dwc3_4@48940000 {
|
||||
compatible = "ti,dwc3";
|
||||
ti,hwmods = "usb_otg_ss4";
|
||||
@ -65,21 +47,49 @@
|
||||
usb4: usb@48950000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x48950000 0x17000>;
|
||||
interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
|
||||
tx-fifo-resize;
|
||||
interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "peripheral",
|
||||
"host",
|
||||
"otg";
|
||||
maximum-speed = "high-speed";
|
||||
dr_mode = "otg";
|
||||
};
|
||||
};
|
||||
|
||||
mmu0_dsp2: mmu@41501000 {
|
||||
compatible = "ti,dra7-dsp-iommu";
|
||||
reg = <0x41501000 0x100>;
|
||||
interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmu0_dsp2";
|
||||
#iommu-cells = <0>;
|
||||
ti,syscon-mmuconfig = <&dsp2_system 0x0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mmu1_dsp2: mmu@41502000 {
|
||||
compatible = "ti,dra7-dsp-iommu";
|
||||
reg = <0x41502000 0x100>;
|
||||
interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,hwmods = "mmu1_dsp2";
|
||||
#iommu-cells = <0>;
|
||||
ti,syscon-mmuconfig = <&dsp2_system 0x1>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0_opp_table {
|
||||
opp-shared;
|
||||
};
|
||||
|
||||
&dss {
|
||||
reg = <0x58000000 0x80>,
|
||||
<0x58004054 0x4>,
|
||||
<0x58004300 0x20>,
|
||||
<0x58005054 0x4>,
|
||||
<0x58005300 0x20>;
|
||||
<0x58009054 0x4>,
|
||||
<0x58009300 0x20>;
|
||||
reg-names = "dss", "pll1_clkctrl", "pll1",
|
||||
"pll2_clkctrl", "pll2";
|
||||
|
||||
@ -88,3 +98,29 @@
|
||||
<&dss_video2_clk>;
|
||||
clock-names = "fck", "video1_clk", "video2_clk";
|
||||
};
|
||||
|
||||
&mailbox5 {
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
ti,mbox-tx = <6 2 2>;
|
||||
ti,mbox-rx = <4 2 2>;
|
||||
status = "disabled";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
ti,mbox-tx = <5 2 2>;
|
||||
ti,mbox-rx = <1 2 2>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
ti,mbox-tx = <6 2 2>;
|
||||
ti,mbox-rx = <4 2 2>;
|
||||
status = "disabled";
|
||||
};
|
||||
mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
|
||||
ti,mbox-tx = <5 2 2>;
|
||||
ti,mbox-rx = <1 2 2>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
15
arch/arm/dts/dra76-evm-u-boot.dtsi
Normal file
15
arch/arm/dts/dra76-evm-u-boot.dtsi
Normal file
@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include "omap5-u-boot.dtsi"
|
||||
|
||||
&cpsw_emac0 {
|
||||
phy-handle = <&dp83867_0>;
|
||||
};
|
||||
|
||||
&cpsw_emac1 {
|
||||
phy-handle = <&dp83867_1>;
|
||||
};
|
||||
423
arch/arm/dts/dra76-evm.dts
Normal file
423
arch/arm/dts/dra76-evm.dts
Normal file
@ -0,0 +1,423 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "dra76x.dtsi"
|
||||
#include "dra7-evm-common.dtsi"
|
||||
#include <dt-bindings/net/ti-dp83867.h>
|
||||
|
||||
/ {
|
||||
model = "TI DRA762 EVM";
|
||||
compatible = "ti,dra76-evm", "ti,dra762", "ti,dra7";
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x80000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
vsys_12v0: fixedregulator-vsys12v0 {
|
||||
/* main supply */
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vsys_12v0";
|
||||
regulator-min-microvolt = <12000000>;
|
||||
regulator-max-microvolt = <12000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vsys_5v0: fixedregulator-vsys5v0 {
|
||||
/* Output of Cntlr B of TPS43351-Q1 on dra76-evm */
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vsys_5v0";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <&vsys_12v0>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vsys_3v3: fixedregulator-vsys3v3 {
|
||||
/* Output of Cntlr A of TPS43351-Q1 on dra76-evm */
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vsys_3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&vsys_12v0>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vio_3v3: fixedregulator-vio_3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vio_3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&vsys_3v3>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vio_3v3_sd: fixedregulator-sd {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vio_3v3_sd";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&vio_3v3>;
|
||||
enable-active-high;
|
||||
gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
vio_1v8: fixedregulator-vio_1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vio_1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <&smps5_reg>;
|
||||
};
|
||||
|
||||
vtt_fixed: fixedregulator-vtt {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vtt_fixed";
|
||||
regulator-min-microvolt = <1350000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
vin-supply = <&vsys_3v3>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
aic_dvdd: fixedregulator-aic_dvdd {
|
||||
/* TPS77018DBVT */
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "aic_dvdd";
|
||||
vin-supply = <&vio_3v3>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
&dra7_pmx_core {
|
||||
mmc1_pins_default: mmc1_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc1_pins_sdr12: pinmux_mmc1_sdr12_pins {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
|
||||
DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
|
||||
DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
mmc2_pins_default: mmc2_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
|
||||
DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
|
||||
DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
|
||||
DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
|
||||
DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
|
||||
DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
|
||||
DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
|
||||
DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
|
||||
DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
|
||||
DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
tps65917: tps65917@58 {
|
||||
compatible = "ti,tps65917";
|
||||
reg = <0x58>;
|
||||
ti,system-power-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
tps65917_pmic {
|
||||
compatible = "ti,tps65917-pmic";
|
||||
|
||||
smps12-in-supply = <&vsys_3v3>;
|
||||
smps3-in-supply = <&vsys_3v3>;
|
||||
smps4-in-supply = <&vsys_3v3>;
|
||||
smps5-in-supply = <&vsys_3v3>;
|
||||
ldo1-in-supply = <&vsys_3v3>;
|
||||
ldo2-in-supply = <&vsys_3v3>;
|
||||
ldo3-in-supply = <&vsys_5v0>;
|
||||
ldo4-in-supply = <&vsys_5v0>;
|
||||
ldo5-in-supply = <&vsys_3v3>;
|
||||
|
||||
tps65917_regulators: regulators {
|
||||
smps12_reg: smps12 {
|
||||
/* VDD_DSPEVE */
|
||||
regulator-name = "smps12";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
smps3_reg: smps3 {
|
||||
/* VDD_CORE */
|
||||
regulator-name = "smps3";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
smps4_reg: smps4 {
|
||||
/* VDD_IVA */
|
||||
regulator-name = "smps4";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
smps5_reg: smps5 {
|
||||
/* VDDS1V8 */
|
||||
regulator-name = "smps5";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo1_reg: ldo1 {
|
||||
/* LDO1_OUT --> VDA_PHY1_1V8 */
|
||||
regulator-name = "ldo1";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-allow-bypass;
|
||||
};
|
||||
|
||||
ldo2_reg: ldo2 {
|
||||
/* LDO2_OUT --> VDA_PHY2_1V8 */
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-allow-bypass;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo3_reg: ldo3 {
|
||||
/* VDA_USB_3V3 */
|
||||
regulator-name = "ldo3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo5_reg: ldo5 {
|
||||
/* VDDA_1V8_PLL */
|
||||
regulator-name = "ldo5";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo4_reg: ldo4 {
|
||||
/* VDD_SDIO_DV */
|
||||
regulator-name = "ldo4";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
tps65917_power_button {
|
||||
compatible = "ti,palmas-pwrbutton";
|
||||
interrupt-parent = <&tps65917>;
|
||||
interrupts = <1 IRQ_TYPE_NONE>;
|
||||
wakeup-source;
|
||||
ti,palmas-long-press-seconds = <6>;
|
||||
};
|
||||
};
|
||||
|
||||
lp87565: lp87565@60 {
|
||||
compatible = "ti,lp87565-q1";
|
||||
reg = <0x60>;
|
||||
|
||||
buck10-in-supply =<&vsys_3v3>;
|
||||
buck23-in-supply =<&vsys_3v3>;
|
||||
|
||||
regulators: regulators {
|
||||
buck10_reg: buck10 {
|
||||
/*VDD_MPU*/
|
||||
regulator-name = "buck10";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
buck23_reg: buck23 {
|
||||
/* VDD_GPU*/
|
||||
regulator-name = "buck23";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pcf_lcd: pcf8757@20 {
|
||||
compatible = "ti,pcf8575", "nxp,pcf8575";
|
||||
reg = <0x20>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
|
||||
};
|
||||
|
||||
pcf_gpio_21: pcf8757@21 {
|
||||
compatible = "ti,pcf8575", "nxp,pcf8575";
|
||||
reg = <0x21>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
pcf_hdmi: pcf8575@26 {
|
||||
compatible = "ti,pcf8575", "nxp,pcf8575";
|
||||
reg = <0x26>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
p1 {
|
||||
/* vin6_sel_s0: high: VIN6, low: audio */
|
||||
gpio-hog;
|
||||
gpios = <1 GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
line-name = "vin6_sel_s0";
|
||||
};
|
||||
};
|
||||
|
||||
tlv320aic3106: tlv320aic3106@19 {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "ti,tlv320aic3106";
|
||||
reg = <0x19>;
|
||||
adc-settle-ms = <40>;
|
||||
ai3x-micbias-vg = <1>; /* 2.0V */
|
||||
status = "okay";
|
||||
|
||||
/* Regulators */
|
||||
AVDD-supply = <&vio_3v3>;
|
||||
IOVDD-supply = <&vio_3v3>;
|
||||
DRVDD-supply = <&vio_3v3>;
|
||||
DVDD-supply = <&aic_dvdd>;
|
||||
};
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
vdd-supply = <&buck10_reg>;
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
status = "okay";
|
||||
vmmc-supply = <&vio_3v3_sd>;
|
||||
vmmc_aux-supply = <&ldo4_reg>;
|
||||
bus-width = <4>;
|
||||
/*
|
||||
* SDCD signal is not being used here - using the fact that GPIO mode
|
||||
* is always hardwired.
|
||||
*/
|
||||
cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins_default>;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
status = "okay";
|
||||
vmmc-supply = <&vio_1v8>;
|
||||
bus-width = <8>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins_default>;
|
||||
};
|
||||
|
||||
/* No RTC on this device */
|
||||
&rtc {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&mac {
|
||||
status = "okay";
|
||||
|
||||
dual_emac;
|
||||
};
|
||||
|
||||
&cpsw_emac0 {
|
||||
phy_id = <&davinci_mdio>, <2>;
|
||||
phy-mode = "rgmii-id";
|
||||
dual_emac_res_vlan = <1>;
|
||||
};
|
||||
|
||||
&cpsw_emac1 {
|
||||
phy_id = <&davinci_mdio>, <3>;
|
||||
phy-mode = "rgmii-id";
|
||||
dual_emac_res_vlan = <2>;
|
||||
};
|
||||
|
||||
&davinci_mdio {
|
||||
dp83867_0: ethernet-phy@2 {
|
||||
reg = <2>;
|
||||
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||||
ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
|
||||
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
|
||||
ti,min-output-impedance;
|
||||
ti,dp83867-rxctrl-strap-quirk;
|
||||
};
|
||||
|
||||
dp83867_1: ethernet-phy@3 {
|
||||
reg = <3>;
|
||||
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||||
ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
|
||||
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
|
||||
ti,min-output-impedance;
|
||||
ti,dp83867-rxctrl-strap-quirk;
|
||||
};
|
||||
};
|
||||
|
||||
&usb2_phy1 {
|
||||
phy-supply = <&ldo3_reg>;
|
||||
};
|
||||
|
||||
&usb2_phy2 {
|
||||
phy-supply = <&ldo3_reg>;
|
||||
};
|
||||
|
||||
&qspi {
|
||||
spi-max-frequency = <96000000>;
|
||||
m25p80@0 {
|
||||
spi-max-frequency = <96000000>;
|
||||
};
|
||||
};
|
||||
19
arch/arm/dts/dra76x.dtsi
Normal file
19
arch/arm/dts/dra76x.dtsi
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include "dra74x.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "ti,dra762", "ti,dra7";
|
||||
|
||||
};
|
||||
|
||||
/* MCAN interrupts are hard-wired to irqs 67, 68 */
|
||||
&crossbar_mpu {
|
||||
ti,irqs-skip = <10 67 68 133 139 140>;
|
||||
};
|
||||
@ -338,6 +338,8 @@
|
||||
compatible = "ti,omap4-dpll-clock";
|
||||
clocks = <&sys_clkin1>, <&dpll_dsp_byp_mux>;
|
||||
reg = <0x0234>, <0x0238>, <0x0240>, <0x023c>;
|
||||
assigned-clocks = <&dpll_dsp_ck>;
|
||||
assigned-clock-rates = <600000000>;
|
||||
};
|
||||
|
||||
dpll_dsp_m2_ck: dpll_dsp_m2_ck@244 {
|
||||
@ -349,6 +351,8 @@
|
||||
reg = <0x0244>;
|
||||
ti,index-starts-at-one;
|
||||
ti,invert-autoidle-bit;
|
||||
assigned-clocks = <&dpll_dsp_m2_ck>;
|
||||
assigned-clock-rates = <600000000>;
|
||||
};
|
||||
|
||||
iva_dpll_hs_clk_div: iva_dpll_hs_clk_div {
|
||||
@ -372,6 +376,8 @@
|
||||
compatible = "ti,omap4-dpll-clock";
|
||||
clocks = <&sys_clkin1>, <&dpll_iva_byp_mux>;
|
||||
reg = <0x01a0>, <0x01a4>, <0x01ac>, <0x01a8>;
|
||||
assigned-clocks = <&dpll_iva_ck>;
|
||||
assigned-clock-rates = <1165000000>;
|
||||
};
|
||||
|
||||
dpll_iva_m2_ck: dpll_iva_m2_ck@1b0 {
|
||||
@ -383,6 +389,8 @@
|
||||
reg = <0x01b0>;
|
||||
ti,index-starts-at-one;
|
||||
ti,invert-autoidle-bit;
|
||||
assigned-clocks = <&dpll_iva_m2_ck>;
|
||||
assigned-clock-rates = <388333334>;
|
||||
};
|
||||
|
||||
iva_dclk: iva_dclk {
|
||||
@ -406,6 +414,8 @@
|
||||
compatible = "ti,omap4-dpll-clock";
|
||||
clocks = <&sys_clkin1>, <&dpll_gpu_byp_mux>;
|
||||
reg = <0x02d8>, <0x02dc>, <0x02e4>, <0x02e0>;
|
||||
assigned-clocks = <&dpll_gpu_ck>;
|
||||
assigned-clock-rates = <1277000000>;
|
||||
};
|
||||
|
||||
dpll_gpu_m2_ck: dpll_gpu_m2_ck@2e8 {
|
||||
@ -417,6 +427,8 @@
|
||||
reg = <0x02e8>;
|
||||
ti,index-starts-at-one;
|
||||
ti,invert-autoidle-bit;
|
||||
assigned-clocks = <&dpll_gpu_m2_ck>;
|
||||
assigned-clock-rates = <425666667>;
|
||||
};
|
||||
|
||||
dpll_core_m2_ck: dpll_core_m2_ck@130 {
|
||||
@ -659,6 +671,8 @@
|
||||
reg = <0x0248>;
|
||||
ti,index-starts-at-one;
|
||||
ti,invert-autoidle-bit;
|
||||
assigned-clocks = <&dpll_dsp_m3x2_ck>;
|
||||
assigned-clock-rates = <400000000>;
|
||||
};
|
||||
|
||||
dpll_gmac_x2_ck: dpll_gmac_x2_ck {
|
||||
@ -791,6 +805,8 @@
|
||||
clocks = <&dpll_abe_m2x2_ck>, <&dpll_core_h22x2_ck>;
|
||||
ti,bit-shift = <24>;
|
||||
reg = <0x0520>;
|
||||
assigned-clocks = <&ipu1_gfclk_mux>;
|
||||
assigned-clock-parents = <&dpll_core_h22x2_ck>;
|
||||
};
|
||||
|
||||
mcasp1_ahclkr_mux: mcasp1_ahclkr_mux@550 {
|
||||
@ -1748,6 +1764,8 @@
|
||||
clocks = <&dpll_core_h14x2_ck>, <&dpll_per_h14x2_ck>, <&dpll_gpu_m2_ck>;
|
||||
ti,bit-shift = <24>;
|
||||
reg = <0x1220>;
|
||||
assigned-clocks = <&gpu_core_gclk_mux>;
|
||||
assigned-clock-parents = <&dpll_gpu_m2_ck>;
|
||||
};
|
||||
|
||||
gpu_hyd_gclk_mux: gpu_hyd_gclk_mux@1220 {
|
||||
@ -1756,6 +1774,8 @@
|
||||
clocks = <&dpll_core_h14x2_ck>, <&dpll_per_h14x2_ck>, <&dpll_gpu_m2_ck>;
|
||||
ti,bit-shift = <26>;
|
||||
reg = <0x1220>;
|
||||
assigned-clocks = <&gpu_hyd_gclk_mux>;
|
||||
assigned-clock-parents = <&dpll_gpu_m2_ck>;
|
||||
};
|
||||
|
||||
l3instr_ts_gclk_div: l3instr_ts_gclk_div@e50 {
|
||||
|
||||
@ -84,6 +84,8 @@
|
||||
};
|
||||
|
||||
i2c-gpio-0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
pcf8563@50 {
|
||||
|
||||
70
arch/arm/dts/fsl-ls1088a-qds.dts
Normal file
70
arch/arm/dts/fsl-ls1088a-qds.dts
Normal file
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* NXP ls1088a QDS board device tree source
|
||||
*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "fsl-ls1088a.dtsi"
|
||||
|
||||
/ {
|
||||
model = "NXP Layerscape 1088a QDS Board";
|
||||
compatible = "fsl,ls1088a-qds", "fsl,ls1088a";
|
||||
aliases {
|
||||
spi0 = &qspi;
|
||||
spi1 = &dspi;
|
||||
};
|
||||
};
|
||||
|
||||
&dspi {
|
||||
bus-num = <0>;
|
||||
status = "okay";
|
||||
|
||||
dflash0: n25q128a {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <1000000>; /* input clock */
|
||||
};
|
||||
|
||||
dflash1: sst25wf040b {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <3500000>;
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
dflash2: en25s64 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <3500000>;
|
||||
reg = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&qspi {
|
||||
bus-num = <0>;
|
||||
status = "okay";
|
||||
|
||||
qflash0: s25fs512s@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <50000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qflash1: s25fs512s@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <50000000>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
40
arch/arm/dts/fsl-ls1088a-rdb.dts
Normal file
40
arch/arm/dts/fsl-ls1088a-rdb.dts
Normal file
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* NXP ls1088a RDB board device tree source
|
||||
*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "fsl-ls1088a.dtsi"
|
||||
|
||||
/ {
|
||||
model = "NXP Layerscape 1088a RDB Board";
|
||||
compatible = "fsl,ls1088a-rdb", "fsl,ls1088a";
|
||||
aliases {
|
||||
spi0 = &qspi;
|
||||
};
|
||||
};
|
||||
|
||||
&qspi {
|
||||
bus-num = <0>;
|
||||
status = "okay";
|
||||
|
||||
qflash0: s25fs512s@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <50000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qflash1: s25fs512s@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <50000000>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
126
arch/arm/dts/fsl-ls1088a.dtsi
Normal file
126
arch/arm/dts/fsl-ls1088a.dtsi
Normal file
@ -0,0 +1,126 @@
|
||||
/*
|
||||
* NXP ls1088a SOC common device tree source
|
||||
*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
/ {
|
||||
compatible = "fsl,ls1088a";
|
||||
interrupt-parent = <&gic>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
memory@80000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x80000000 0 0x80000000>;
|
||||
/* DRAM space - 1, size : 2 GB DRAM */
|
||||
};
|
||||
|
||||
gic: interrupt-controller@6000000 {
|
||||
compatible = "arm,gic-v3";
|
||||
reg = <0x0 0x06000000 0 0x10000>, /* GIC Dist */
|
||||
<0x0 0x06100000 0 0x100000>; /* GICR (RD_base + SGI_base) */
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
interrupts = <1 9 0x4>;
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <1 13 0x8>, /* Physical Secure PPI, active-low */
|
||||
<1 14 0x8>, /* Physical Non-Secure PPI, active-low */
|
||||
<1 11 0x8>, /* Virtual PPI, active-low */
|
||||
<1 10 0x8>; /* Hypervisor PPI, active-low */
|
||||
};
|
||||
|
||||
serial0: serial@21c0500 {
|
||||
device_type = "serial";
|
||||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x0 0x21c0500 0x0 0x100>;
|
||||
clock-frequency = <0>; /* Updated by bootloader */
|
||||
interrupts = <0 32 0x1>; /* edge triggered */
|
||||
};
|
||||
|
||||
serial1: serial@21c0600 {
|
||||
device_type = "serial";
|
||||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x0 0x21c0600 0x0 0x100>;
|
||||
clock-frequency = <0>; /* Updated by bootloader */
|
||||
interrupts = <0 32 0x1>; /* edge triggered */
|
||||
};
|
||||
|
||||
fsl_mc: fsl-mc@80c000000 {
|
||||
compatible = "fsl,qoriq-mc";
|
||||
reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
|
||||
<0x00000000 0x08340000 0 0x40000>; /* MC control reg */
|
||||
};
|
||||
|
||||
dspi: dspi@2100000 {
|
||||
compatible = "fsl,vf610-dspi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0x2100000 0x0 0x10000>;
|
||||
interrupts = <0 26 0x4>; /* Level high type */
|
||||
num-cs = <6>;
|
||||
};
|
||||
|
||||
qspi: quadspi@1550000 {
|
||||
compatible = "fsl,vf610-qspi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0x20c0000 0x0 0x10000>,
|
||||
<0x0 0x20000000 0x0 0x10000000>;
|
||||
reg-names = "QuadSPI", "QuadSPI-memory";
|
||||
num-cs = <4>;
|
||||
};
|
||||
|
||||
pcie@3400000 {
|
||||
compatible = "fsl,ls-pcie", "snps,dw-pcie";
|
||||
reg = <0x00 0x03400000 0x0 0x80000 /* dbi registers */
|
||||
0x00 0x03480000 0x0 0x80000 /* lut registers */
|
||||
0x00 0x034c0000 0x0 0x40000 /* pf controls registers */
|
||||
0x20 0x00000000 0x0 0x20000>; /* configuration space */
|
||||
reg-names = "dbi", "lut", "ctrl", "config";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
num-lanes = <4>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x20 0x00020000 0x0 0x00010000 /* downstream I/O */
|
||||
0x82000000 0x0 0x40000000 0x20 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
|
||||
};
|
||||
|
||||
pcie@3500000 {
|
||||
compatible = "fsl,ls-pcie", "snps,dw-pcie";
|
||||
reg = <0x00 0x03500000 0x0 0x80000 /* dbi registers */
|
||||
0x00 0x03580000 0x0 0x80000 /* lut registers */
|
||||
0x00 0x035c0000 0x0 0x40000 /* pf controls registers */
|
||||
0x28 0x00000000 0x0 0x20000>; /* configuration space */
|
||||
reg-names = "dbi", "lut", "ctrl", "config";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
num-lanes = <4>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x28 0x00020000 0x0 0x00010000 /* downstream I/O */
|
||||
0x82000000 0x0 0x40000000 0x28 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
|
||||
};
|
||||
|
||||
pcie@3600000 {
|
||||
compatible = "fsl,ls-pcie", "snps,dw-pcie";
|
||||
reg = <0x00 0x03600000 0x0 0x80000 /* dbi registers */
|
||||
0x00 0x03680000 0x0 0x80000 /* lut registers */
|
||||
0x00 0x036c0000 0x0 0x40000 /* pf controls registers */
|
||||
0x30 0x00000000 0x0 0x20000>; /* configuration space */
|
||||
reg-names = "dbi", "lut", "ctrl", "config";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
num-lanes = <8>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x30 0x00020000 0x0 0x00010000 /* downstream I/O */
|
||||
0x82000000 0x0 0x40000000 0x30 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
|
||||
};
|
||||
};
|
||||
@ -41,7 +41,7 @@
|
||||
bus-num = <0>;
|
||||
status = "okay";
|
||||
|
||||
qflash0: n25q512a@0 {
|
||||
qflash0: s25fs512s@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
@ -49,7 +49,7 @@
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
qflash1: n25q512a@1 {
|
||||
qflash1: s25fs512s@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
|
||||
45
arch/arm/dts/logicpd-torpedo-37xx-devkit-u-boot.dtsi
Normal file
45
arch/arm/dts/logicpd-torpedo-37xx-devkit-u-boot.dtsi
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (C) 2017
|
||||
* Logic PD - http://www.logicpd.com
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
stdout-path = &uart1;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
cd-inverted;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&mmc3 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
reg-shift = <2>;
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
reg-shift = <2>;
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
reg-shift = <2>;
|
||||
};
|
||||
|
||||
@ -14,10 +14,6 @@
|
||||
model = "LogicPD Zoom DM3730 Torpedo + Wireless Development Kit";
|
||||
compatible = "logicpd,dm3730-torpedo-devkit", "ti,omap3630", "ti,omap3";
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart1;
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-names = "default";
|
||||
@ -196,15 +192,12 @@
|
||||
interrupts-extended = <&intc 83 &omap3_pmx_core 0x11a>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins &mmc1_cd>;
|
||||
cd-gpios = <&gpio4 31 IRQ_TYPE_LEVEL_LOW>; /* gpio127 */
|
||||
vmmc-supply = <&vmmc1>;
|
||||
bus-width = <4>;
|
||||
cap-power-off-card;
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&omap3_pmx_core {
|
||||
gpio_key_pins: pinmux_gpio_key_pins {
|
||||
pinctrl-single,pins = <
|
||||
@ -256,9 +249,9 @@
|
||||
OMAP3_CORE1_IOPAD(0x2110, PIN_INPUT | MUX_MODE0) /* cam_xclka.cam_xclka */
|
||||
OMAP3_CORE1_IOPAD(0x2112, PIN_INPUT | MUX_MODE0) /* cam_pclk.cam_pclk */
|
||||
|
||||
OMAP3_CORE1_IOPAD(0x2114, PIN_INPUT | MUX_MODE0) /* cam_d0.cam_d0 */
|
||||
OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE0) /* cam_d1.cam_d1 */
|
||||
OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE0) /* cam_d2.cam_d2 */
|
||||
OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE0) /* cam_d0.cam_d0 */
|
||||
OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE0) /* cam_d1.cam_d1 */
|
||||
OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE0) /* cam_d2.cam_d2 */
|
||||
OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE0) /* cam_d3.cam_d3 */
|
||||
OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE0) /* cam_d4.cam_d4 */
|
||||
OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE0) /* cam_d5.cam_d5 */
|
||||
|
||||
20
arch/arm/dts/omap3-cpu-thermal.dtsi
Normal file
20
arch/arm/dts/omap3-cpu-thermal.dtsi
Normal file
@ -0,0 +1,20 @@
|
||||
/*
|
||||
* Device Tree Source for OMAP3 SoC CPU thermal
|
||||
*
|
||||
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public License
|
||||
* version 2. This program is licensed "as is" without any warranty of any
|
||||
* kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
cpu_thermal: cpu_thermal {
|
||||
polling-delay-passive = <250>; /* milliseconds */
|
||||
polling-delay = <1000>; /* milliseconds */
|
||||
coefficients = <0 20000>;
|
||||
|
||||
/* sensor ID */
|
||||
thermal-sensors = <&bandgap 0>;
|
||||
};
|
||||
19
arch/arm/dts/omap3-u-boot.dtsi
Normal file
19
arch/arm/dts/omap3-u-boot.dtsi
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Copyright (C) 2017
|
||||
* Logic PD - http://www.logicpd.com
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
&uart1 {
|
||||
reg-shift = <2>;
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
reg-shift = <2>;
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
reg-shift = <2>;
|
||||
};
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -8,261 +8,261 @@
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
&cm_clocks {
|
||||
security_l4_ick2: security_l4_ick2 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&l4_ick>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <1>;
|
||||
};
|
||||
security_l4_ick2: security_l4_ick2 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&l4_ick>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <1>;
|
||||
};
|
||||
|
||||
aes1_ick: aes1_ick@a14 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&security_l4_ick2>;
|
||||
ti,bit-shift = <3>;
|
||||
reg = <0x0a14>;
|
||||
};
|
||||
aes1_ick: aes1_ick@a14 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&security_l4_ick2>;
|
||||
ti,bit-shift = <3>;
|
||||
reg = <0x0a14>;
|
||||
};
|
||||
|
||||
rng_ick: rng_ick@a14 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&security_l4_ick2>;
|
||||
reg = <0x0a14>;
|
||||
ti,bit-shift = <2>;
|
||||
};
|
||||
rng_ick: rng_ick@a14 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&security_l4_ick2>;
|
||||
reg = <0x0a14>;
|
||||
ti,bit-shift = <2>;
|
||||
};
|
||||
|
||||
sha11_ick: sha11_ick@a14 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&security_l4_ick2>;
|
||||
reg = <0x0a14>;
|
||||
ti,bit-shift = <1>;
|
||||
};
|
||||
sha11_ick: sha11_ick@a14 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&security_l4_ick2>;
|
||||
reg = <0x0a14>;
|
||||
ti,bit-shift = <1>;
|
||||
};
|
||||
|
||||
des1_ick: des1_ick@a14 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&security_l4_ick2>;
|
||||
reg = <0x0a14>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
des1_ick: des1_ick@a14 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&security_l4_ick2>;
|
||||
reg = <0x0a14>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
|
||||
cam_mclk: cam_mclk@f00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&dpll4_m5x2_ck>;
|
||||
ti,bit-shift = <0>;
|
||||
reg = <0x0f00>;
|
||||
ti,set-rate-parent;
|
||||
};
|
||||
cam_mclk: cam_mclk@f00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&dpll4_m5x2_ck>;
|
||||
ti,bit-shift = <0>;
|
||||
reg = <0x0f00>;
|
||||
ti,set-rate-parent;
|
||||
};
|
||||
|
||||
cam_ick: cam_ick@f10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-no-wait-interface-clock";
|
||||
clocks = <&l4_ick>;
|
||||
reg = <0x0f10>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
cam_ick: cam_ick@f10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-no-wait-interface-clock";
|
||||
clocks = <&l4_ick>;
|
||||
reg = <0x0f10>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
|
||||
csi2_96m_fck: csi2_96m_fck@f00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&core_96m_fck>;
|
||||
reg = <0x0f00>;
|
||||
ti,bit-shift = <1>;
|
||||
};
|
||||
csi2_96m_fck: csi2_96m_fck@f00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&core_96m_fck>;
|
||||
reg = <0x0f00>;
|
||||
ti,bit-shift = <1>;
|
||||
};
|
||||
|
||||
security_l3_ick: security_l3_ick {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&l3_ick>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <1>;
|
||||
};
|
||||
security_l3_ick: security_l3_ick {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&l3_ick>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <1>;
|
||||
};
|
||||
|
||||
pka_ick: pka_ick@a14 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&security_l3_ick>;
|
||||
reg = <0x0a14>;
|
||||
ti,bit-shift = <4>;
|
||||
};
|
||||
pka_ick: pka_ick@a14 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&security_l3_ick>;
|
||||
reg = <0x0a14>;
|
||||
ti,bit-shift = <4>;
|
||||
};
|
||||
|
||||
icr_ick: icr_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <29>;
|
||||
};
|
||||
icr_ick: icr_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <29>;
|
||||
};
|
||||
|
||||
des2_ick: des2_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <26>;
|
||||
};
|
||||
des2_ick: des2_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <26>;
|
||||
};
|
||||
|
||||
mspro_ick: mspro_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <23>;
|
||||
};
|
||||
mspro_ick: mspro_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <23>;
|
||||
};
|
||||
|
||||
mailboxes_ick: mailboxes_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <7>;
|
||||
};
|
||||
mailboxes_ick: mailboxes_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <7>;
|
||||
};
|
||||
|
||||
ssi_l4_ick: ssi_l4_ick {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&l4_ick>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <1>;
|
||||
};
|
||||
ssi_l4_ick: ssi_l4_ick {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&l4_ick>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <1>;
|
||||
};
|
||||
|
||||
sr1_fck: sr1_fck@c00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&sys_ck>;
|
||||
reg = <0x0c00>;
|
||||
ti,bit-shift = <6>;
|
||||
};
|
||||
sr1_fck: sr1_fck@c00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&sys_ck>;
|
||||
reg = <0x0c00>;
|
||||
ti,bit-shift = <6>;
|
||||
};
|
||||
|
||||
sr2_fck: sr2_fck@c00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&sys_ck>;
|
||||
reg = <0x0c00>;
|
||||
ti,bit-shift = <7>;
|
||||
};
|
||||
sr2_fck: sr2_fck@c00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&sys_ck>;
|
||||
reg = <0x0c00>;
|
||||
ti,bit-shift = <7>;
|
||||
};
|
||||
|
||||
sr_l4_ick: sr_l4_ick {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&l4_ick>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <1>;
|
||||
};
|
||||
sr_l4_ick: sr_l4_ick {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&l4_ick>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <1>;
|
||||
};
|
||||
|
||||
dpll2_fck: dpll2_fck@40 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,divider-clock";
|
||||
clocks = <&core_ck>;
|
||||
ti,bit-shift = <19>;
|
||||
ti,max-div = <7>;
|
||||
reg = <0x0040>;
|
||||
ti,index-starts-at-one;
|
||||
};
|
||||
dpll2_fck: dpll2_fck@40 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,divider-clock";
|
||||
clocks = <&core_ck>;
|
||||
ti,bit-shift = <19>;
|
||||
ti,max-div = <7>;
|
||||
reg = <0x0040>;
|
||||
ti,index-starts-at-one;
|
||||
};
|
||||
|
||||
dpll2_ck: dpll2_ck@4 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-dpll-clock";
|
||||
clocks = <&sys_ck>, <&dpll2_fck>;
|
||||
reg = <0x0004>, <0x0024>, <0x0040>, <0x0034>;
|
||||
ti,low-power-stop;
|
||||
ti,lock;
|
||||
ti,low-power-bypass;
|
||||
};
|
||||
dpll2_ck: dpll2_ck@4 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-dpll-clock";
|
||||
clocks = <&sys_ck>, <&dpll2_fck>;
|
||||
reg = <0x0004>, <0x0024>, <0x0040>, <0x0034>;
|
||||
ti,low-power-stop;
|
||||
ti,lock;
|
||||
ti,low-power-bypass;
|
||||
};
|
||||
|
||||
dpll2_m2_ck: dpll2_m2_ck@44 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,divider-clock";
|
||||
clocks = <&dpll2_ck>;
|
||||
ti,max-div = <31>;
|
||||
reg = <0x0044>;
|
||||
ti,index-starts-at-one;
|
||||
};
|
||||
dpll2_m2_ck: dpll2_m2_ck@44 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,divider-clock";
|
||||
clocks = <&dpll2_ck>;
|
||||
ti,max-div = <31>;
|
||||
reg = <0x0044>;
|
||||
ti,index-starts-at-one;
|
||||
};
|
||||
|
||||
iva2_ck: iva2_ck@0 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&dpll2_m2_ck>;
|
||||
reg = <0x0000>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
iva2_ck: iva2_ck@0 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&dpll2_m2_ck>;
|
||||
reg = <0x0000>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
|
||||
modem_fck: modem_fck@a00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&sys_ck>;
|
||||
reg = <0x0a00>;
|
||||
ti,bit-shift = <31>;
|
||||
};
|
||||
modem_fck: modem_fck@a00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&sys_ck>;
|
||||
reg = <0x0a00>;
|
||||
ti,bit-shift = <31>;
|
||||
};
|
||||
|
||||
sad2d_ick: sad2d_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&l3_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <3>;
|
||||
};
|
||||
sad2d_ick: sad2d_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&l3_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <3>;
|
||||
};
|
||||
|
||||
mad2d_ick: mad2d_ick@a18 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&l3_ick>;
|
||||
reg = <0x0a18>;
|
||||
ti,bit-shift = <3>;
|
||||
};
|
||||
mad2d_ick: mad2d_ick@a18 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&l3_ick>;
|
||||
reg = <0x0a18>;
|
||||
ti,bit-shift = <3>;
|
||||
};
|
||||
|
||||
mspro_fck: mspro_fck@a00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&core_96m_fck>;
|
||||
reg = <0x0a00>;
|
||||
ti,bit-shift = <23>;
|
||||
};
|
||||
mspro_fck: mspro_fck@a00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&core_96m_fck>;
|
||||
reg = <0x0a00>;
|
||||
ti,bit-shift = <23>;
|
||||
};
|
||||
};
|
||||
|
||||
&cm_clockdomains {
|
||||
cam_clkdm: cam_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&cam_ick>, <&csi2_96m_fck>;
|
||||
};
|
||||
cam_clkdm: cam_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&cam_ick>, <&csi2_96m_fck>;
|
||||
};
|
||||
|
||||
iva2_clkdm: iva2_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&iva2_ck>;
|
||||
};
|
||||
iva2_clkdm: iva2_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&iva2_ck>;
|
||||
};
|
||||
|
||||
dpll2_clkdm: dpll2_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&dpll2_ck>;
|
||||
};
|
||||
dpll2_clkdm: dpll2_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&dpll2_ck>;
|
||||
};
|
||||
|
||||
wkup_clkdm: wkup_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&gpio1_dbck>, <&wdt2_fck>, <&wdt2_ick>, <&wdt1_ick>,
|
||||
<&gpio1_ick>, <&omap_32ksync_ick>, <&gpt12_ick>,
|
||||
<&gpt1_ick>, <&sr1_fck>, <&sr2_fck>;
|
||||
};
|
||||
wkup_clkdm: wkup_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&gpio1_dbck>, <&wdt2_fck>, <&wdt2_ick>, <&wdt1_ick>,
|
||||
<&gpio1_ick>, <&omap_32ksync_ick>, <&gpt12_ick>,
|
||||
<&gpt1_ick>, <&sr1_fck>, <&sr2_fck>;
|
||||
};
|
||||
|
||||
d2d_clkdm: d2d_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&modem_fck>, <&sad2d_ick>, <&mad2d_ick>;
|
||||
};
|
||||
d2d_clkdm: d2d_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&modem_fck>, <&sad2d_ick>, <&mad2d_ick>;
|
||||
};
|
||||
|
||||
core_l4_clkdm: core_l4_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&mmchs2_fck>, <&mmchs1_fck>, <&i2c3_fck>, <&i2c2_fck>,
|
||||
<&i2c1_fck>, <&mcspi4_fck>, <&mcspi3_fck>,
|
||||
<&mcspi2_fck>, <&mcspi1_fck>, <&uart2_fck>,
|
||||
<&uart1_fck>, <&hdq_fck>, <&mmchs2_ick>, <&mmchs1_ick>,
|
||||
<&hdq_ick>, <&mcspi4_ick>, <&mcspi3_ick>,
|
||||
<&mcspi2_ick>, <&mcspi1_ick>, <&i2c3_ick>, <&i2c2_ick>,
|
||||
<&i2c1_ick>, <&uart2_ick>, <&uart1_ick>, <&gpt11_ick>,
|
||||
<&gpt10_ick>, <&mcbsp5_ick>, <&mcbsp1_ick>,
|
||||
<&omapctrl_ick>, <&aes2_ick>, <&sha12_ick>, <&icr_ick>,
|
||||
<&des2_ick>, <&mspro_ick>, <&mailboxes_ick>,
|
||||
<&mspro_fck>;
|
||||
};
|
||||
core_l4_clkdm: core_l4_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&mmchs2_fck>, <&mmchs1_fck>, <&i2c3_fck>, <&i2c2_fck>,
|
||||
<&i2c1_fck>, <&mcspi4_fck>, <&mcspi3_fck>,
|
||||
<&mcspi2_fck>, <&mcspi1_fck>, <&uart2_fck>,
|
||||
<&uart1_fck>, <&hdq_fck>, <&mmchs2_ick>, <&mmchs1_ick>,
|
||||
<&hdq_ick>, <&mcspi4_ick>, <&mcspi3_ick>,
|
||||
<&mcspi2_ick>, <&mcspi1_ick>, <&i2c3_ick>, <&i2c2_ick>,
|
||||
<&i2c1_ick>, <&uart2_ick>, <&uart1_ick>, <&gpt11_ick>,
|
||||
<&gpt10_ick>, <&mcbsp5_ick>, <&mcbsp1_ick>,
|
||||
<&omapctrl_ick>, <&aes2_ick>, <&sha12_ick>, <&icr_ick>,
|
||||
<&des2_ick>, <&mspro_ick>, <&mailboxes_ick>,
|
||||
<&mspro_fck>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -8,235 +8,235 @@
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
&prm_clocks {
|
||||
corex2_d3_fck: corex2_d3_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&corex2_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <3>;
|
||||
};
|
||||
corex2_d3_fck: corex2_d3_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&corex2_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <3>;
|
||||
};
|
||||
|
||||
corex2_d5_fck: corex2_d5_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&corex2_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <5>;
|
||||
};
|
||||
corex2_d5_fck: corex2_d5_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&corex2_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <5>;
|
||||
};
|
||||
};
|
||||
&cm_clocks {
|
||||
dpll5_ck: dpll5_ck@d04 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-dpll-clock";
|
||||
clocks = <&sys_ck>, <&sys_ck>;
|
||||
reg = <0x0d04>, <0x0d24>, <0x0d4c>, <0x0d34>;
|
||||
ti,low-power-stop;
|
||||
ti,lock;
|
||||
};
|
||||
dpll5_ck: dpll5_ck@d04 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-dpll-clock";
|
||||
clocks = <&sys_ck>, <&sys_ck>;
|
||||
reg = <0x0d04>, <0x0d24>, <0x0d4c>, <0x0d34>;
|
||||
ti,low-power-stop;
|
||||
ti,lock;
|
||||
};
|
||||
|
||||
dpll5_m2_ck: dpll5_m2_ck@d50 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,divider-clock";
|
||||
clocks = <&dpll5_ck>;
|
||||
ti,max-div = <31>;
|
||||
reg = <0x0d50>;
|
||||
ti,index-starts-at-one;
|
||||
};
|
||||
dpll5_m2_ck: dpll5_m2_ck@d50 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,divider-clock";
|
||||
clocks = <&dpll5_ck>;
|
||||
ti,max-div = <31>;
|
||||
reg = <0x0d50>;
|
||||
ti,index-starts-at-one;
|
||||
};
|
||||
|
||||
sgx_gate_fck: sgx_gate_fck@b00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-gate-clock";
|
||||
clocks = <&core_ck>;
|
||||
ti,bit-shift = <1>;
|
||||
reg = <0x0b00>;
|
||||
};
|
||||
sgx_gate_fck: sgx_gate_fck@b00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-gate-clock";
|
||||
clocks = <&core_ck>;
|
||||
ti,bit-shift = <1>;
|
||||
reg = <0x0b00>;
|
||||
};
|
||||
|
||||
core_d3_ck: core_d3_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&core_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <3>;
|
||||
};
|
||||
core_d3_ck: core_d3_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&core_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <3>;
|
||||
};
|
||||
|
||||
core_d4_ck: core_d4_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&core_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <4>;
|
||||
};
|
||||
core_d4_ck: core_d4_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&core_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <4>;
|
||||
};
|
||||
|
||||
core_d6_ck: core_d6_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&core_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <6>;
|
||||
};
|
||||
core_d6_ck: core_d6_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&core_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <6>;
|
||||
};
|
||||
|
||||
omap_192m_alwon_fck: omap_192m_alwon_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&dpll4_m2x2_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <1>;
|
||||
};
|
||||
omap_192m_alwon_fck: omap_192m_alwon_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&dpll4_m2x2_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <1>;
|
||||
};
|
||||
|
||||
core_d2_ck: core_d2_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&core_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <2>;
|
||||
};
|
||||
core_d2_ck: core_d2_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&core_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <2>;
|
||||
};
|
||||
|
||||
sgx_mux_fck: sgx_mux_fck@b40 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-mux-clock";
|
||||
clocks = <&core_d3_ck>, <&core_d4_ck>, <&core_d6_ck>, <&cm_96m_fck>, <&omap_192m_alwon_fck>, <&core_d2_ck>, <&corex2_d3_fck>, <&corex2_d5_fck>;
|
||||
reg = <0x0b40>;
|
||||
};
|
||||
sgx_mux_fck: sgx_mux_fck@b40 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-mux-clock";
|
||||
clocks = <&core_d3_ck>, <&core_d4_ck>, <&core_d6_ck>, <&cm_96m_fck>, <&omap_192m_alwon_fck>, <&core_d2_ck>, <&corex2_d3_fck>, <&corex2_d5_fck>;
|
||||
reg = <0x0b40>;
|
||||
};
|
||||
|
||||
sgx_fck: sgx_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-clock";
|
||||
clocks = <&sgx_gate_fck>, <&sgx_mux_fck>;
|
||||
};
|
||||
sgx_fck: sgx_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-clock";
|
||||
clocks = <&sgx_gate_fck>, <&sgx_mux_fck>;
|
||||
};
|
||||
|
||||
sgx_ick: sgx_ick@b10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&l3_ick>;
|
||||
reg = <0x0b10>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
sgx_ick: sgx_ick@b10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&l3_ick>;
|
||||
reg = <0x0b10>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
|
||||
cpefuse_fck: cpefuse_fck@a08 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&sys_ck>;
|
||||
reg = <0x0a08>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
cpefuse_fck: cpefuse_fck@a08 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&sys_ck>;
|
||||
reg = <0x0a08>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
|
||||
ts_fck: ts_fck@a08 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&omap_32k_fck>;
|
||||
reg = <0x0a08>;
|
||||
ti,bit-shift = <1>;
|
||||
};
|
||||
ts_fck: ts_fck@a08 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&omap_32k_fck>;
|
||||
reg = <0x0a08>;
|
||||
ti,bit-shift = <1>;
|
||||
};
|
||||
|
||||
usbtll_fck: usbtll_fck@a08 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&dpll5_m2_ck>;
|
||||
reg = <0x0a08>;
|
||||
ti,bit-shift = <2>;
|
||||
};
|
||||
usbtll_fck: usbtll_fck@a08 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&dpll5_m2_ck>;
|
||||
reg = <0x0a08>;
|
||||
ti,bit-shift = <2>;
|
||||
};
|
||||
|
||||
usbtll_ick: usbtll_ick@a18 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a18>;
|
||||
ti,bit-shift = <2>;
|
||||
};
|
||||
usbtll_ick: usbtll_ick@a18 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a18>;
|
||||
ti,bit-shift = <2>;
|
||||
};
|
||||
|
||||
mmchs3_ick: mmchs3_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <30>;
|
||||
};
|
||||
mmchs3_ick: mmchs3_ick@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&core_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <30>;
|
||||
};
|
||||
|
||||
mmchs3_fck: mmchs3_fck@a00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&core_96m_fck>;
|
||||
reg = <0x0a00>;
|
||||
ti,bit-shift = <30>;
|
||||
};
|
||||
mmchs3_fck: mmchs3_fck@a00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&core_96m_fck>;
|
||||
reg = <0x0a00>;
|
||||
ti,bit-shift = <30>;
|
||||
};
|
||||
|
||||
dss1_alwon_fck: dss1_alwon_fck_3430es2@e00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,dss-gate-clock";
|
||||
clocks = <&dpll4_m4x2_ck>;
|
||||
ti,bit-shift = <0>;
|
||||
reg = <0x0e00>;
|
||||
ti,set-rate-parent;
|
||||
};
|
||||
dss1_alwon_fck: dss1_alwon_fck_3430es2@e00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,dss-gate-clock";
|
||||
clocks = <&dpll4_m4x2_ck>;
|
||||
ti,bit-shift = <0>;
|
||||
reg = <0x0e00>;
|
||||
ti,set-rate-parent;
|
||||
};
|
||||
|
||||
dss_ick: dss_ick_3430es2@e10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-dss-interface-clock";
|
||||
clocks = <&l4_ick>;
|
||||
reg = <0x0e10>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
dss_ick: dss_ick_3430es2@e10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-dss-interface-clock";
|
||||
clocks = <&l4_ick>;
|
||||
reg = <0x0e10>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
|
||||
usbhost_120m_fck: usbhost_120m_fck@1400 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&dpll5_m2_ck>;
|
||||
reg = <0x1400>;
|
||||
ti,bit-shift = <1>;
|
||||
};
|
||||
usbhost_120m_fck: usbhost_120m_fck@1400 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,gate-clock";
|
||||
clocks = <&dpll5_m2_ck>;
|
||||
reg = <0x1400>;
|
||||
ti,bit-shift = <1>;
|
||||
};
|
||||
|
||||
usbhost_48m_fck: usbhost_48m_fck@1400 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,dss-gate-clock";
|
||||
clocks = <&omap_48m_fck>;
|
||||
reg = <0x1400>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
usbhost_48m_fck: usbhost_48m_fck@1400 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,dss-gate-clock";
|
||||
clocks = <&omap_48m_fck>;
|
||||
reg = <0x1400>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
|
||||
usbhost_ick: usbhost_ick@1410 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-dss-interface-clock";
|
||||
clocks = <&l4_ick>;
|
||||
reg = <0x1410>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
usbhost_ick: usbhost_ick@1410 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-dss-interface-clock";
|
||||
clocks = <&l4_ick>;
|
||||
reg = <0x1410>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&cm_clockdomains {
|
||||
dpll5_clkdm: dpll5_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&dpll5_ck>;
|
||||
};
|
||||
dpll5_clkdm: dpll5_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&dpll5_ck>;
|
||||
};
|
||||
|
||||
sgx_clkdm: sgx_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&sgx_ick>;
|
||||
};
|
||||
sgx_clkdm: sgx_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&sgx_ick>;
|
||||
};
|
||||
|
||||
dss_clkdm: dss_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&dss_tv_fck>, <&dss_96m_fck>, <&dss2_alwon_fck>,
|
||||
<&dss1_alwon_fck>, <&dss_ick>;
|
||||
};
|
||||
dss_clkdm: dss_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&dss_tv_fck>, <&dss_96m_fck>, <&dss2_alwon_fck>,
|
||||
<&dss1_alwon_fck>, <&dss_ick>;
|
||||
};
|
||||
|
||||
core_l4_clkdm: core_l4_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&mmchs2_fck>, <&mmchs1_fck>, <&i2c3_fck>, <&i2c2_fck>,
|
||||
<&i2c1_fck>, <&mcspi4_fck>, <&mcspi3_fck>,
|
||||
<&mcspi2_fck>, <&mcspi1_fck>, <&uart2_fck>,
|
||||
<&uart1_fck>, <&hdq_fck>, <&mmchs2_ick>, <&mmchs1_ick>,
|
||||
<&hdq_ick>, <&mcspi4_ick>, <&mcspi3_ick>,
|
||||
<&mcspi2_ick>, <&mcspi1_ick>, <&i2c3_ick>, <&i2c2_ick>,
|
||||
<&i2c1_ick>, <&uart2_ick>, <&uart1_ick>, <&gpt11_ick>,
|
||||
<&gpt10_ick>, <&mcbsp5_ick>, <&mcbsp1_ick>,
|
||||
<&omapctrl_ick>, <&aes2_ick>, <&sha12_ick>,
|
||||
<&cpefuse_fck>, <&ts_fck>, <&usbtll_fck>,
|
||||
<&usbtll_ick>, <&mmchs3_ick>, <&mmchs3_fck>;
|
||||
};
|
||||
core_l4_clkdm: core_l4_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&mmchs2_fck>, <&mmchs1_fck>, <&i2c3_fck>, <&i2c2_fck>,
|
||||
<&i2c1_fck>, <&mcspi4_fck>, <&mcspi3_fck>,
|
||||
<&mcspi2_fck>, <&mcspi1_fck>, <&uart2_fck>,
|
||||
<&uart1_fck>, <&hdq_fck>, <&mmchs2_ick>, <&mmchs1_ick>,
|
||||
<&hdq_ick>, <&mcspi4_ick>, <&mcspi3_ick>,
|
||||
<&mcspi2_ick>, <&mcspi1_ick>, <&i2c3_ick>, <&i2c2_ick>,
|
||||
<&i2c1_ick>, <&uart2_ick>, <&uart1_ick>, <&gpt11_ick>,
|
||||
<&gpt10_ick>, <&mcbsp5_ick>, <&mcbsp1_ick>,
|
||||
<&omapctrl_ick>, <&aes2_ick>, <&sha12_ick>,
|
||||
<&cpefuse_fck>, <&ts_fck>, <&usbtll_fck>,
|
||||
<&usbtll_ick>, <&mmchs3_ick>, <&mmchs3_fck>;
|
||||
};
|
||||
|
||||
usbhost_clkdm: usbhost_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&usbhost_120m_fck>, <&usbhost_48m_fck>,
|
||||
<&usbhost_ick>;
|
||||
};
|
||||
usbhost_clkdm: usbhost_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&usbhost_120m_fck>, <&usbhost_48m_fck>,
|
||||
<&usbhost_ick>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -8,103 +8,103 @@
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
&cm_clocks {
|
||||
dpll4_ck: dpll4_ck@d00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-dpll-per-j-type-clock";
|
||||
clocks = <&sys_ck>, <&sys_ck>;
|
||||
reg = <0x0d00>, <0x0d20>, <0x0d44>, <0x0d30>;
|
||||
};
|
||||
dpll4_ck: dpll4_ck@d00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-dpll-per-j-type-clock";
|
||||
clocks = <&sys_ck>, <&sys_ck>;
|
||||
reg = <0x0d00>, <0x0d20>, <0x0d44>, <0x0d30>;
|
||||
};
|
||||
|
||||
dpll4_m5x2_ck: dpll4_m5x2_ck@d00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,hsdiv-gate-clock";
|
||||
clocks = <&dpll4_m5x2_mul_ck>;
|
||||
ti,bit-shift = <0x1e>;
|
||||
reg = <0x0d00>;
|
||||
ti,set-rate-parent;
|
||||
ti,set-bit-to-disable;
|
||||
};
|
||||
dpll4_m5x2_ck: dpll4_m5x2_ck@d00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,hsdiv-gate-clock";
|
||||
clocks = <&dpll4_m5x2_mul_ck>;
|
||||
ti,bit-shift = <0x1e>;
|
||||
reg = <0x0d00>;
|
||||
ti,set-rate-parent;
|
||||
ti,set-bit-to-disable;
|
||||
};
|
||||
|
||||
dpll4_m2x2_ck: dpll4_m2x2_ck@d00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,hsdiv-gate-clock";
|
||||
clocks = <&dpll4_m2x2_mul_ck>;
|
||||
ti,bit-shift = <0x1b>;
|
||||
reg = <0x0d00>;
|
||||
ti,set-bit-to-disable;
|
||||
};
|
||||
dpll4_m2x2_ck: dpll4_m2x2_ck@d00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,hsdiv-gate-clock";
|
||||
clocks = <&dpll4_m2x2_mul_ck>;
|
||||
ti,bit-shift = <0x1b>;
|
||||
reg = <0x0d00>;
|
||||
ti,set-bit-to-disable;
|
||||
};
|
||||
|
||||
dpll3_m3x2_ck: dpll3_m3x2_ck@d00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,hsdiv-gate-clock";
|
||||
clocks = <&dpll3_m3x2_mul_ck>;
|
||||
ti,bit-shift = <0xc>;
|
||||
reg = <0x0d00>;
|
||||
ti,set-bit-to-disable;
|
||||
};
|
||||
dpll3_m3x2_ck: dpll3_m3x2_ck@d00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,hsdiv-gate-clock";
|
||||
clocks = <&dpll3_m3x2_mul_ck>;
|
||||
ti,bit-shift = <0xc>;
|
||||
reg = <0x0d00>;
|
||||
ti,set-bit-to-disable;
|
||||
};
|
||||
|
||||
dpll4_m3x2_ck: dpll4_m3x2_ck@d00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,hsdiv-gate-clock";
|
||||
clocks = <&dpll4_m3x2_mul_ck>;
|
||||
ti,bit-shift = <0x1c>;
|
||||
reg = <0x0d00>;
|
||||
ti,set-bit-to-disable;
|
||||
};
|
||||
dpll4_m3x2_ck: dpll4_m3x2_ck@d00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,hsdiv-gate-clock";
|
||||
clocks = <&dpll4_m3x2_mul_ck>;
|
||||
ti,bit-shift = <0x1c>;
|
||||
reg = <0x0d00>;
|
||||
ti,set-bit-to-disable;
|
||||
};
|
||||
|
||||
dpll4_m6x2_ck: dpll4_m6x2_ck@d00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,hsdiv-gate-clock";
|
||||
clocks = <&dpll4_m6x2_mul_ck>;
|
||||
ti,bit-shift = <0x1f>;
|
||||
reg = <0x0d00>;
|
||||
ti,set-bit-to-disable;
|
||||
};
|
||||
dpll4_m6x2_ck: dpll4_m6x2_ck@d00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,hsdiv-gate-clock";
|
||||
clocks = <&dpll4_m6x2_mul_ck>;
|
||||
ti,bit-shift = <0x1f>;
|
||||
reg = <0x0d00>;
|
||||
ti,set-bit-to-disable;
|
||||
};
|
||||
|
||||
uart4_fck: uart4_fck@1000 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&per_48m_fck>;
|
||||
reg = <0x1000>;
|
||||
ti,bit-shift = <18>;
|
||||
};
|
||||
uart4_fck: uart4_fck@1000 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,wait-gate-clock";
|
||||
clocks = <&per_48m_fck>;
|
||||
reg = <0x1000>;
|
||||
ti,bit-shift = <18>;
|
||||
};
|
||||
};
|
||||
|
||||
&dpll4_m2x2_mul_ck {
|
||||
clock-mult = <1>;
|
||||
clock-mult = <1>;
|
||||
};
|
||||
|
||||
&dpll4_m3x2_mul_ck {
|
||||
clock-mult = <1>;
|
||||
clock-mult = <1>;
|
||||
};
|
||||
|
||||
&dpll4_m4x2_mul_ck {
|
||||
ti,clock-mult = <1>;
|
||||
ti,clock-mult = <1>;
|
||||
};
|
||||
|
||||
&dpll4_m5x2_mul_ck {
|
||||
ti,clock-mult = <1>;
|
||||
ti,clock-mult = <1>;
|
||||
};
|
||||
|
||||
&dpll4_m6x2_mul_ck {
|
||||
clock-mult = <1>;
|
||||
clock-mult = <1>;
|
||||
};
|
||||
|
||||
&cm_clockdomains {
|
||||
dpll4_clkdm: dpll4_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&dpll4_ck>;
|
||||
};
|
||||
dpll4_clkdm: dpll4_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&dpll4_ck>;
|
||||
};
|
||||
|
||||
per_clkdm: per_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&uart3_fck>, <&gpio6_dbck>, <&gpio5_dbck>,
|
||||
<&gpio4_dbck>, <&gpio3_dbck>, <&gpio2_dbck>,
|
||||
<&wdt3_fck>, <&gpio6_ick>, <&gpio5_ick>, <&gpio4_ick>,
|
||||
<&gpio3_ick>, <&gpio2_ick>, <&wdt3_ick>, <&uart3_ick>,
|
||||
<&uart4_ick>, <&gpt9_ick>, <&gpt8_ick>, <&gpt7_ick>,
|
||||
<&gpt6_ick>, <&gpt5_ick>, <&gpt4_ick>, <&gpt3_ick>,
|
||||
<&gpt2_ick>, <&mcbsp2_ick>, <&mcbsp3_ick>,
|
||||
<&mcbsp4_ick>, <&uart4_fck>;
|
||||
};
|
||||
per_clkdm: per_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&uart3_fck>, <&gpio6_dbck>, <&gpio5_dbck>,
|
||||
<&gpio4_dbck>, <&gpio3_dbck>, <&gpio2_dbck>,
|
||||
<&wdt3_fck>, <&gpio6_ick>, <&gpio5_ick>, <&gpio4_ick>,
|
||||
<&gpio3_ick>, <&gpio2_ick>, <&wdt3_ick>, <&uart3_ick>,
|
||||
<&uart4_ick>, <&gpt9_ick>, <&gpt8_ick>, <&gpt7_ick>,
|
||||
<&gpt6_ick>, <&gpt5_ick>, <&gpt4_ick>, <&gpt3_ick>,
|
||||
<&gpt2_ick>, <&mcbsp2_ick>, <&mcbsp3_ick>,
|
||||
<&mcbsp4_ick>, <&uart4_fck>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -8,191 +8,191 @@
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
&cm_clocks {
|
||||
ssi_ssr_gate_fck_3430es2: ssi_ssr_gate_fck_3430es2@a00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-no-wait-gate-clock";
|
||||
clocks = <&corex2_fck>;
|
||||
ti,bit-shift = <0>;
|
||||
reg = <0x0a00>;
|
||||
};
|
||||
ssi_ssr_gate_fck_3430es2: ssi_ssr_gate_fck_3430es2@a00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-no-wait-gate-clock";
|
||||
clocks = <&corex2_fck>;
|
||||
ti,bit-shift = <0>;
|
||||
reg = <0x0a00>;
|
||||
};
|
||||
|
||||
ssi_ssr_div_fck_3430es2: ssi_ssr_div_fck_3430es2@a40 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-divider-clock";
|
||||
clocks = <&corex2_fck>;
|
||||
ti,bit-shift = <8>;
|
||||
reg = <0x0a40>;
|
||||
ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>;
|
||||
};
|
||||
ssi_ssr_div_fck_3430es2: ssi_ssr_div_fck_3430es2@a40 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-divider-clock";
|
||||
clocks = <&corex2_fck>;
|
||||
ti,bit-shift = <8>;
|
||||
reg = <0x0a40>;
|
||||
ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>;
|
||||
};
|
||||
|
||||
ssi_ssr_fck: ssi_ssr_fck_3430es2 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-clock";
|
||||
clocks = <&ssi_ssr_gate_fck_3430es2>, <&ssi_ssr_div_fck_3430es2>;
|
||||
};
|
||||
ssi_ssr_fck: ssi_ssr_fck_3430es2 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-clock";
|
||||
clocks = <&ssi_ssr_gate_fck_3430es2>, <&ssi_ssr_div_fck_3430es2>;
|
||||
};
|
||||
|
||||
ssi_sst_fck: ssi_sst_fck_3430es2 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&ssi_ssr_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <2>;
|
||||
};
|
||||
ssi_sst_fck: ssi_sst_fck_3430es2 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&ssi_ssr_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <2>;
|
||||
};
|
||||
|
||||
hsotgusb_ick_3430es2: hsotgusb_ick_3430es2@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-hsotgusb-interface-clock";
|
||||
clocks = <&core_l3_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <4>;
|
||||
};
|
||||
hsotgusb_ick_3430es2: hsotgusb_ick_3430es2@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-hsotgusb-interface-clock";
|
||||
clocks = <&core_l3_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <4>;
|
||||
};
|
||||
|
||||
ssi_l4_ick: ssi_l4_ick {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&l4_ick>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <1>;
|
||||
};
|
||||
ssi_l4_ick: ssi_l4_ick {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&l4_ick>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <1>;
|
||||
};
|
||||
|
||||
ssi_ick: ssi_ick_3430es2@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-ssi-interface-clock";
|
||||
clocks = <&ssi_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
ssi_ick: ssi_ick_3430es2@a10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-ssi-interface-clock";
|
||||
clocks = <&ssi_l4_ick>;
|
||||
reg = <0x0a10>;
|
||||
ti,bit-shift = <0>;
|
||||
};
|
||||
|
||||
usim_gate_fck: usim_gate_fck@c00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-gate-clock";
|
||||
clocks = <&omap_96m_fck>;
|
||||
ti,bit-shift = <9>;
|
||||
reg = <0x0c00>;
|
||||
};
|
||||
usim_gate_fck: usim_gate_fck@c00 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-gate-clock";
|
||||
clocks = <&omap_96m_fck>;
|
||||
ti,bit-shift = <9>;
|
||||
reg = <0x0c00>;
|
||||
};
|
||||
|
||||
sys_d2_ck: sys_d2_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&sys_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <2>;
|
||||
};
|
||||
sys_d2_ck: sys_d2_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&sys_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <2>;
|
||||
};
|
||||
|
||||
omap_96m_d2_fck: omap_96m_d2_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&omap_96m_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <2>;
|
||||
};
|
||||
omap_96m_d2_fck: omap_96m_d2_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&omap_96m_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <2>;
|
||||
};
|
||||
|
||||
omap_96m_d4_fck: omap_96m_d4_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&omap_96m_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <4>;
|
||||
};
|
||||
omap_96m_d4_fck: omap_96m_d4_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&omap_96m_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <4>;
|
||||
};
|
||||
|
||||
omap_96m_d8_fck: omap_96m_d8_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&omap_96m_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <8>;
|
||||
};
|
||||
omap_96m_d8_fck: omap_96m_d8_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&omap_96m_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <8>;
|
||||
};
|
||||
|
||||
omap_96m_d10_fck: omap_96m_d10_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&omap_96m_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <10>;
|
||||
};
|
||||
omap_96m_d10_fck: omap_96m_d10_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&omap_96m_fck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <10>;
|
||||
};
|
||||
|
||||
dpll5_m2_d4_ck: dpll5_m2_d4_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&dpll5_m2_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <4>;
|
||||
};
|
||||
dpll5_m2_d4_ck: dpll5_m2_d4_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&dpll5_m2_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <4>;
|
||||
};
|
||||
|
||||
dpll5_m2_d8_ck: dpll5_m2_d8_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&dpll5_m2_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <8>;
|
||||
};
|
||||
dpll5_m2_d8_ck: dpll5_m2_d8_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&dpll5_m2_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <8>;
|
||||
};
|
||||
|
||||
dpll5_m2_d16_ck: dpll5_m2_d16_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&dpll5_m2_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <16>;
|
||||
};
|
||||
dpll5_m2_d16_ck: dpll5_m2_d16_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&dpll5_m2_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <16>;
|
||||
};
|
||||
|
||||
dpll5_m2_d20_ck: dpll5_m2_d20_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&dpll5_m2_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <20>;
|
||||
};
|
||||
dpll5_m2_d20_ck: dpll5_m2_d20_ck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-factor-clock";
|
||||
clocks = <&dpll5_m2_ck>;
|
||||
clock-mult = <1>;
|
||||
clock-div = <20>;
|
||||
};
|
||||
|
||||
usim_mux_fck: usim_mux_fck@c40 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-mux-clock";
|
||||
clocks = <&sys_ck>, <&sys_d2_ck>, <&omap_96m_d2_fck>, <&omap_96m_d4_fck>, <&omap_96m_d8_fck>, <&omap_96m_d10_fck>, <&dpll5_m2_d4_ck>, <&dpll5_m2_d8_ck>, <&dpll5_m2_d16_ck>, <&dpll5_m2_d20_ck>;
|
||||
ti,bit-shift = <3>;
|
||||
reg = <0x0c40>;
|
||||
ti,index-starts-at-one;
|
||||
};
|
||||
usim_mux_fck: usim_mux_fck@c40 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-mux-clock";
|
||||
clocks = <&sys_ck>, <&sys_d2_ck>, <&omap_96m_d2_fck>, <&omap_96m_d4_fck>, <&omap_96m_d8_fck>, <&omap_96m_d10_fck>, <&dpll5_m2_d4_ck>, <&dpll5_m2_d8_ck>, <&dpll5_m2_d16_ck>, <&dpll5_m2_d20_ck>;
|
||||
ti,bit-shift = <3>;
|
||||
reg = <0x0c40>;
|
||||
ti,index-starts-at-one;
|
||||
};
|
||||
|
||||
usim_fck: usim_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-clock";
|
||||
clocks = <&usim_gate_fck>, <&usim_mux_fck>;
|
||||
};
|
||||
usim_fck: usim_fck {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,composite-clock";
|
||||
clocks = <&usim_gate_fck>, <&usim_mux_fck>;
|
||||
};
|
||||
|
||||
usim_ick: usim_ick@c10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&wkup_l4_ick>;
|
||||
reg = <0x0c10>;
|
||||
ti,bit-shift = <9>;
|
||||
};
|
||||
usim_ick: usim_ick@c10 {
|
||||
#clock-cells = <0>;
|
||||
compatible = "ti,omap3-interface-clock";
|
||||
clocks = <&wkup_l4_ick>;
|
||||
reg = <0x0c10>;
|
||||
ti,bit-shift = <9>;
|
||||
};
|
||||
};
|
||||
|
||||
&cm_clockdomains {
|
||||
core_l3_clkdm: core_l3_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&sdrc_ick>, <&hsotgusb_ick_3430es2>;
|
||||
};
|
||||
core_l3_clkdm: core_l3_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&sdrc_ick>, <&hsotgusb_ick_3430es2>;
|
||||
};
|
||||
|
||||
wkup_clkdm: wkup_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&gpio1_dbck>, <&wdt2_fck>, <&wdt2_ick>, <&wdt1_ick>,
|
||||
<&gpio1_ick>, <&omap_32ksync_ick>, <&gpt12_ick>,
|
||||
<&gpt1_ick>, <&usim_ick>;
|
||||
};
|
||||
wkup_clkdm: wkup_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&gpio1_dbck>, <&wdt2_fck>, <&wdt2_ick>, <&wdt1_ick>,
|
||||
<&gpio1_ick>, <&omap_32ksync_ick>, <&gpt12_ick>,
|
||||
<&gpt1_ick>, <&usim_ick>;
|
||||
};
|
||||
|
||||
core_l4_clkdm: core_l4_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&cpefuse_fck>, <&ts_fck>, <&usbtll_fck>,
|
||||
<&usbtll_ick>, <&mmchs3_ick>, <&mmchs3_fck>,
|
||||
<&mmchs2_fck>, <&mmchs1_fck>, <&i2c3_fck>, <&i2c2_fck>,
|
||||
<&i2c1_fck>, <&mcspi4_fck>, <&mcspi3_fck>,
|
||||
<&mcspi2_fck>, <&mcspi1_fck>, <&uart2_fck>,
|
||||
<&uart1_fck>, <&hdq_fck>, <&mmchs2_ick>, <&mmchs1_ick>,
|
||||
<&hdq_ick>, <&mcspi4_ick>, <&mcspi3_ick>,
|
||||
<&mcspi2_ick>, <&mcspi1_ick>, <&i2c3_ick>, <&i2c2_ick>,
|
||||
<&i2c1_ick>, <&uart2_ick>, <&uart1_ick>, <&gpt11_ick>,
|
||||
<&gpt10_ick>, <&mcbsp5_ick>, <&mcbsp1_ick>,
|
||||
<&omapctrl_ick>, <&aes2_ick>, <&sha12_ick>,
|
||||
<&ssi_ick>;
|
||||
};
|
||||
core_l4_clkdm: core_l4_clkdm {
|
||||
compatible = "ti,clockdomain";
|
||||
clocks = <&cpefuse_fck>, <&ts_fck>, <&usbtll_fck>,
|
||||
<&usbtll_ick>, <&mmchs3_ick>, <&mmchs3_fck>,
|
||||
<&mmchs2_fck>, <&mmchs1_fck>, <&i2c3_fck>, <&i2c2_fck>,
|
||||
<&i2c1_fck>, <&mcspi4_fck>, <&mcspi3_fck>,
|
||||
<&mcspi2_fck>, <&mcspi1_fck>, <&uart2_fck>,
|
||||
<&uart1_fck>, <&hdq_fck>, <&mmchs2_ick>, <&mmchs1_ick>,
|
||||
<&hdq_ick>, <&mcspi4_ick>, <&mcspi3_ick>,
|
||||
<&mcspi2_ick>, <&mcspi1_ick>, <&i2c3_ick>, <&i2c2_ick>,
|
||||
<&i2c1_ick>, <&uart2_ick>, <&uart1_ick>, <&gpt11_ick>,
|
||||
<&gpt10_ick>, <&mcbsp5_ick>, <&mcbsp1_ick>,
|
||||
<&omapctrl_ick>, <&aes2_ick>, <&sha12_ick>,
|
||||
<&ssi_ick>;
|
||||
};
|
||||
};
|
||||
|
||||
10
arch/arm/dts/omap36xx-u-boot.dtsi
Normal file
10
arch/arm/dts/omap36xx-u-boot.dtsi
Normal file
@ -0,0 +1,10 @@
|
||||
/*
|
||||
* Copyright (C) 2017
|
||||
* Logic PD - http://www.logicpd.com
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
&uart4 {
|
||||
reg-shift = <2>;
|
||||
};
|
||||
@ -13,103 +13,109 @@
|
||||
#include "omap3.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
serial3 = &uart4;
|
||||
};
|
||||
aliases {
|
||||
serial3 = &uart4;
|
||||
};
|
||||
|
||||
cpus {
|
||||
/* OMAP3630/OMAP37xx 'standard device' variants OPP50 to OPP130 */
|
||||
cpu@0 {
|
||||
operating-points = <
|
||||
/* kHz uV */
|
||||
300000 1012500
|
||||
600000 1200000
|
||||
800000 1325000
|
||||
>;
|
||||
clock-latency = <300000>; /* From legacy driver */
|
||||
};
|
||||
};
|
||||
cpus {
|
||||
/* OMAP3630/OMAP37xx 'standard device' variants OPP50 to OPP130 */
|
||||
cpu: cpu@0 {
|
||||
operating-points = <
|
||||
/* kHz uV */
|
||||
300000 1012500
|
||||
600000 1200000
|
||||
800000 1325000
|
||||
>;
|
||||
clock-latency = <300000>; /* From legacy driver */
|
||||
};
|
||||
};
|
||||
|
||||
ocp@68000000 {
|
||||
uart4: serial@49042000 {
|
||||
compatible = "ti,omap3-uart";
|
||||
reg = <0x49042000 0x400>;
|
||||
interrupts = <80>;
|
||||
dmas = <&sdma 81 &sdma 82>;
|
||||
dma-names = "tx", "rx";
|
||||
ti,hwmods = "uart4";
|
||||
clock-frequency = <48000000>;
|
||||
};
|
||||
ocp@68000000 {
|
||||
uart4: serial@49042000 {
|
||||
compatible = "ti,omap3-uart";
|
||||
reg = <0x49042000 0x400>;
|
||||
reg-shift = <2>;
|
||||
interrupts = <80>;
|
||||
dmas = <&sdma 81 &sdma 82>;
|
||||
dma-names = "tx", "rx";
|
||||
ti,hwmods = "uart4";
|
||||
clock-frequency = <48000000>;
|
||||
};
|
||||
|
||||
abb_mpu_iva: regulator-abb-mpu {
|
||||
compatible = "ti,abb-v1";
|
||||
regulator-name = "abb_mpu_iva";
|
||||
#address-cells = <0>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x483072f0 0x8>, <0x48306818 0x4>;
|
||||
reg-names = "base-address", "int-address";
|
||||
ti,tranxdone-status-mask = <0x4000000>;
|
||||
clocks = <&sys_ck>;
|
||||
ti,settling-time = <30>;
|
||||
ti,clock-cycles = <8>;
|
||||
ti,abb_info = <
|
||||
/*uV ABB efuse rbb_m fbb_m vset_m*/
|
||||
1012500 0 0 0 0 0
|
||||
1200000 0 0 0 0 0
|
||||
1325000 0 0 0 0 0
|
||||
1375000 1 0 0 0 0
|
||||
>;
|
||||
};
|
||||
abb_mpu_iva: regulator-abb-mpu {
|
||||
compatible = "ti,abb-v1";
|
||||
regulator-name = "abb_mpu_iva";
|
||||
#address-cells = <0>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x483072f0 0x8>, <0x48306818 0x4>;
|
||||
reg-names = "base-address", "int-address";
|
||||
ti,tranxdone-status-mask = <0x4000000>;
|
||||
clocks = <&sys_ck>;
|
||||
ti,settling-time = <30>;
|
||||
ti,clock-cycles = <8>;
|
||||
ti,abb_info = <
|
||||
/*uV ABB efuse rbb_m fbb_m vset_m*/
|
||||
1012500 0 0 0 0 0
|
||||
1200000 0 0 0 0 0
|
||||
1325000 0 0 0 0 0
|
||||
1375000 1 0 0 0 0
|
||||
>;
|
||||
};
|
||||
|
||||
omap3_pmx_core2: pinmux@480025a0 {
|
||||
compatible = "ti,omap3-padconf", "pinctrl-single";
|
||||
reg = <0x480025a0 0x5c>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-controller;
|
||||
pinctrl-single,register-width = <16>;
|
||||
pinctrl-single,function-mask = <0xff1f>;
|
||||
};
|
||||
omap3_pmx_core2: pinmux@480025a0 {
|
||||
compatible = "ti,omap3-padconf", "pinctrl-single";
|
||||
reg = <0x480025a0 0x5c>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#pinctrl-cells = <1>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-controller;
|
||||
pinctrl-single,register-width = <16>;
|
||||
pinctrl-single,function-mask = <0xff1f>;
|
||||
};
|
||||
|
||||
isp: isp@480bc000 {
|
||||
compatible = "ti,omap3-isp";
|
||||
reg = <0x480bc000 0x12fc
|
||||
0x480bd800 0x0600>;
|
||||
interrupts = <24>;
|
||||
iommus = <&mmu_isp>;
|
||||
syscon = <&scm_conf 0x2f0>;
|
||||
ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>;
|
||||
#clock-cells = <1>;
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
isp: isp@480bc000 {
|
||||
compatible = "ti,omap3-isp";
|
||||
reg = <0x480bc000 0x12fc
|
||||
0x480bd800 0x0600>;
|
||||
interrupts = <24>;
|
||||
iommus = <&mmu_isp>;
|
||||
syscon = <&scm_conf 0x2f0>;
|
||||
ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>;
|
||||
#clock-cells = <1>;
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
bandgap@48002524 {
|
||||
reg = <0x48002524 0x4>;
|
||||
compatible = "ti,omap36xx-bandgap";
|
||||
#thermal-sensor-cells = <0>;
|
||||
};
|
||||
};
|
||||
bandgap: bandgap@48002524 {
|
||||
reg = <0x48002524 0x4>;
|
||||
compatible = "ti,omap36xx-bandgap";
|
||||
#thermal-sensor-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
thermal_zones: thermal-zones {
|
||||
#include "omap3-cpu-thermal.dtsi"
|
||||
};
|
||||
};
|
||||
|
||||
/* OMAP3630 needs dss_96m_fck for VENC */
|
||||
&venc {
|
||||
clocks = <&dss_tv_fck>, <&dss_96m_fck>;
|
||||
clock-names = "fck", "tv_dac_clk";
|
||||
clocks = <&dss_tv_fck>, <&dss_96m_fck>;
|
||||
clock-names = "fck", "tv_dac_clk";
|
||||
};
|
||||
|
||||
&ssi {
|
||||
status = "ok";
|
||||
status = "ok";
|
||||
|
||||
clocks = <&ssi_ssr_fck>,
|
||||
<&ssi_sst_fck>,
|
||||
<&ssi_ick>;
|
||||
clock-names = "ssi_ssr_fck",
|
||||
"ssi_sst_fck",
|
||||
"ssi_ick";
|
||||
clocks = <&ssi_ssr_fck>,
|
||||
<&ssi_sst_fck>,
|
||||
<&ssi_ick>;
|
||||
clock-names = "ssi_ssr_fck",
|
||||
"ssi_sst_fck",
|
||||
"ssi_ick";
|
||||
};
|
||||
|
||||
/include/ "omap34xx-omap36xx-clocks.dtsi"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -8,6 +8,10 @@
|
||||
*/
|
||||
|
||||
/{
|
||||
chosen {
|
||||
tick-timer = &timer2;
|
||||
};
|
||||
|
||||
ocp {
|
||||
u-boot,dm-spl;
|
||||
|
||||
@ -19,10 +23,12 @@
|
||||
|
||||
&uart1 {
|
||||
u-boot,dm-spl;
|
||||
reg-shift = <2>;
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
u-boot,dm-spl;
|
||||
reg-shift = <2>;
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
@ -49,14 +55,35 @@
|
||||
u-boot,dm-spl;
|
||||
|
||||
m25p80@0 {
|
||||
compatible = "spi-flash";
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
&gpio2 {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
&gpio3 {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
&gpio4 {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
&gpio5 {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
&gpio6 {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
&gpio7 {
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
@ -40,7 +40,6 @@
|
||||
};
|
||||
|
||||
&dmc {
|
||||
rockchip,sdram-channel = /bits/ 8 <1 10 3 2 1 0 15 15>;
|
||||
rockchip,pctl-timing = <0x96 0xC8 0x1F3 0xF 0x8000004D 0x4 0x4E 0x6 0x3
|
||||
0x0 0x6 0x5 0xC 0x10 0x6 0x4 0x4
|
||||
0x5 0x4 0x200 0x3 0xA 0x40 0x0 0x1
|
||||
|
||||
@ -491,6 +491,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
&saradc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tsadc {
|
||||
rockchip,hw-tshut-mode = <0>;
|
||||
rockchip,hw-tshut-polarity = <0>;
|
||||
|
||||
327
arch/arm/dts/rk3288-vyasa.dts
Normal file
327
arch/arm/dts/rk3288-vyasa.dts
Normal file
@ -0,0 +1,327 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Jagan Teki <jagan@amarulasolutions.com>
|
||||
*
|
||||
* 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 as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* 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 "AS IS", 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 "rk3288.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Amarula Vyasa-RK3288";
|
||||
compatible = "amarula,vyasa-rk3288", "rockchip,rk3288";
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart2;
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0 0x80000000>;
|
||||
};
|
||||
|
||||
vcc_sd: sdmmc-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc_pwr>;
|
||||
regulator-name = "vcc_sd";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
startup-delay-us = <100000>;
|
||||
vin-supply = <&vcc_io>;
|
||||
};
|
||||
|
||||
vcc_sys: vsys-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_sys";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
&dmc {
|
||||
rockchip,pctl-timing = <0x29a 0xc8 0x1f8 0x42 0x4e 0x4 0xea 0xa
|
||||
0x5 0x0 0xa 0x7 0x19 0x24 0xa 0x7
|
||||
0x5 0xa 0x5 0x200 0x5 0x10 0x40 0x0
|
||||
0x1 0x7 0x7 0x4 0xc 0x43 0x100 0x0
|
||||
0x5 0x0>;
|
||||
rockchip,phy-timing = <0x48f9aab4 0xea0910 0x1002c200
|
||||
0xa60 0x40 0x10 0x0>;
|
||||
/* Add a dummy value to cause of-platdata think this is bytes */
|
||||
rockchip,sdram-params = <0x30B25564 0x627 3 666000000 3 9 1>;
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu0-supply = <&vdd_cpu>;
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
clock-frequency = <400000>;
|
||||
status = "okay";
|
||||
|
||||
rk808: pmic@1b {
|
||||
compatible = "rockchip,rk808";
|
||||
reg = <0x1b>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_int &global_pwroff>;
|
||||
wakeup-source;
|
||||
rockchip,system-power-controller;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "xin32k", "rk808-clkout2";
|
||||
|
||||
vcc1-supply = <&vcc_sys>;
|
||||
vcc2-supply = <&vcc_sys>;
|
||||
vcc3-supply = <&vcc_sys>;
|
||||
vcc4-supply = <&vcc_sys>;
|
||||
vcc6-supply = <&vcc_sys>;
|
||||
vcc7-supply = <&vcc_sys>;
|
||||
vcc8-supply = <&vcc_io>;
|
||||
vcc9-supply = <&vcc_sys>;
|
||||
vcc10-supply = <&vcc_sys>;
|
||||
vcc11-supply = <&vcc_sys>;
|
||||
vcc12-supply = <&vcc_io>;
|
||||
|
||||
regulators {
|
||||
vdd_cpu: vdd_log: DCDC_REG1 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-name = "vdd_log";
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_gpu: DCDC_REG2 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-name = "vdd_gpu";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_ddr: DCDC_REG3 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-name = "vcc_ddr";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_io: DCDC_REG4 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc_io";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcca_tp: LDO_REG1 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc_tp";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_codec: LDO_REG2 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc_codec";
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_10: LDO_REG3 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-name = "vdd_10";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_gps: LDO_REG4 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcc_gps";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vccio_sd: LDO_REG5 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vccio_sd";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc10_lcd: LDO_REG6 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-name = "vcc10_lcd";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_18: LDO_REG7 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcc_18";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc18_lcd: LDO_REG8 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcc18_lcd";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc33_sd: SWITCH_REG1 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc33_sd";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_lan: SWITCH_REG2 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc_lan";
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&sdmmc {
|
||||
u-boot,dm-pre-reloc;
|
||||
status = "okay";
|
||||
|
||||
bus-width = <4>;
|
||||
cap-mmc-highspeed;
|
||||
cap-sd-highspeed;
|
||||
card-detect-delay = <200>;
|
||||
disable-wp;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
|
||||
vmmc-supply = <&vcc_sd>;
|
||||
vqmmc-supply = <&vccio_sd>;
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
u-boot,dm-pre-reloc;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wdt {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
u-boot,dm-pre-reloc;
|
||||
pmic {
|
||||
pmic_int: pmic-int {
|
||||
rockchip,pins = <RK_GPIO0 4 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
sdmmc {
|
||||
sdmmc_pwr: sdmmc-pwr {
|
||||
rockchip,pins = <7 11 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -42,6 +42,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
&saradc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -87,3 +91,121 @@
|
||||
vbus-supply = <&vcc5v0_host_xhci>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <400000>;
|
||||
i2c-scl-rising-time-ns = <168>;
|
||||
i2c-scl-falling-time-ns = <4>;
|
||||
status = "okay";
|
||||
|
||||
rk805: pmic@18 {
|
||||
compatible = "rockchip,rk805";
|
||||
status = "okay";
|
||||
reg = <0x18>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_int_l>;
|
||||
rockchip,system-power-controller;
|
||||
wakeup-source;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
#clock-cells = <1>;
|
||||
clock-output-names = "xin32k", "rk805-clkout2";
|
||||
|
||||
regulators {
|
||||
vdd_logic: DCDC_REG1 {
|
||||
regulator-name = "vdd_logic";
|
||||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-ramp-delay = <6001>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_arm: DCDC_REG2 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1450000>;
|
||||
regulator-ramp-delay = <6001>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_ddr: DCDC_REG3 {
|
||||
regulator-name = "vcc_ddr";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_io: DCDC_REG4 {
|
||||
regulator-name = "vcc_io";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_18: LDO_REG1 {
|
||||
regulator-name = "vdd_18";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_18emmc: LDO_REG2 {
|
||||
regulator-name = "vcc_18emmc";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_10: LDO_REG3 {
|
||||
regulator-name = "vdd_10";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <1000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
pmic {
|
||||
pmic_int_l: pmic-int-l {
|
||||
rockchip,pins =
|
||||
<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; /* gpio2_a6 */
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
u-boot,spl-boot-order = &emmc, &sdmmc;
|
||||
tick-timer = "/timer@ff810000";
|
||||
};
|
||||
|
||||
};
|
||||
@ -70,24 +71,25 @@
|
||||
};
|
||||
|
||||
&emmc {
|
||||
u-boot,dm-pre-reloc;
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
&sdmmc {
|
||||
u-boot,dm-pre-reloc;
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
u-boot,dm-pre-reloc;
|
||||
u-boot,dm-spl;
|
||||
|
||||
spiflash: w25q32dw@0 {
|
||||
u-boot,dm-pre-reloc;
|
||||
u-boot,dm-spl;
|
||||
};
|
||||
};
|
||||
|
||||
&timer0 {
|
||||
u-boot,dm-pre-reloc;
|
||||
clock-frequency = <24000000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -296,6 +296,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
&saradc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tsadc {
|
||||
status = "okay";
|
||||
rockchip,hw-tshut-mode = <0>; /* CRU */
|
||||
|
||||
@ -260,6 +260,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
&saradc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tsadc {
|
||||
status = "okay";
|
||||
rockchip,hw-tshut-mode = <0>; /* CRU */
|
||||
|
||||
@ -149,6 +149,10 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdmmc {
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
|
||||
@ -20,7 +20,8 @@
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
u-boot,spl-boot-order = &spiflash, &sdhci, &sdmmc;
|
||||
u-boot,spl-boot-order = \
|
||||
"same-as-spl", &spiflash, &sdhci, &sdmmc;
|
||||
};
|
||||
|
||||
aliases {
|
||||
@ -89,6 +90,35 @@
|
||||
};
|
||||
};
|
||||
|
||||
usbhub_enable: usbhub_enable {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usbhub_enable";
|
||||
enable-active-low;
|
||||
gpio = <&gpio4 3 GPIO_ACTIVE_HIGH>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The Qseven BIOS_DISABLE signal on the RK3399-Q7 keeps the on-module
|
||||
* eMMC and SPI flash powered-down initially (in fact it keeps the
|
||||
* reset signal asserted). Even though it is an enable signal, we
|
||||
* model this as a regulator.
|
||||
*/
|
||||
bios_enable: bios_enable {
|
||||
compatible = "regulator-fixed";
|
||||
u-boot,dm-pre-reloc;
|
||||
regulator-name = "bios_enable";
|
||||
enable-active-low;
|
||||
gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
vccadc_ref: vccadc-ref {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc1v8_sys";
|
||||
@ -447,7 +477,7 @@
|
||||
};
|
||||
|
||||
&pcie_phy {
|
||||
status = "okay";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pmu_io_domains {
|
||||
@ -474,7 +504,7 @@
|
||||
};
|
||||
|
||||
&sdmmc {
|
||||
u-boot,dm-pre-reloc;
|
||||
u-boot,dm-pre-reloc;
|
||||
clock-frequency = <150000000>;
|
||||
clock-freq-min-max = <100000 150000000>;
|
||||
supports-sd;
|
||||
@ -514,7 +544,6 @@
|
||||
};
|
||||
|
||||
&dwc3_typec1 {
|
||||
rockchip,vbus-gpio = <&gpio4 3 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -522,10 +551,15 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpio3 {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
/* Pins that are not explicitely used by any devices */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&puma_pin_hog>;
|
||||
|
||||
hog {
|
||||
puma_pin_hog: puma_pin_hog {
|
||||
rockchip,pins =
|
||||
@ -565,7 +599,7 @@
|
||||
i2c8 {
|
||||
i2c8_xfer_a: i2c8-xfer {
|
||||
rockchip,pins = <1 21 RK_FUNC_1 &pcfg_pull_up>,
|
||||
<1 20 RK_FUNC_1 &pcfg_pull_up>;
|
||||
<1 20 RK_FUNC_1 &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -641,4 +675,3 @@
|
||||
&spi5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
@ -20,6 +20,15 @@
|
||||
chosen {
|
||||
stdout-path = "serial2:1500000n8";
|
||||
};
|
||||
|
||||
vcc5v0_otg: vcc5v0-otg-drv {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
regulator-name = "vcc5v0_otg";
|
||||
gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&gmac {
|
||||
@ -30,6 +39,10 @@
|
||||
snps,reset-gpio = <&gpio1 RK_PC1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&saradc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sfc {
|
||||
status = "okay";
|
||||
flash@0 {
|
||||
@ -52,3 +65,16 @@
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb20_otg {
|
||||
vbus-supply = <&vcc5v0_otg>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -126,6 +126,17 @@
|
||||
reg = <0x10300000 0x1000>;
|
||||
};
|
||||
|
||||
saradc: saradc@1038c000 {
|
||||
compatible = "rockchip,rv1108-saradc", "rockchip,rk3399-saradc";
|
||||
reg = <0x1038c000 0x100>;
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#io-channel-cells = <1>;
|
||||
clock-frequency = <1000000>;
|
||||
clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
|
||||
clock-names = "saradc", "apb_pclk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pmugrf: syscon@20060000 {
|
||||
compatible = "rockchip,rv1108-pmugrf", "syscon";
|
||||
reg = <0x20060000 0x1000>;
|
||||
@ -175,6 +186,30 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb_host_ehci: usb@30140000 {
|
||||
compatible = "generic-ehci";
|
||||
reg = <0x30140000 0x20000>;
|
||||
interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb_host_ohci: usb@30160000 {
|
||||
compatible = "generic-ohci";
|
||||
reg = <0x30160000 0x20000>;
|
||||
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb20_otg: usb@30180000 {
|
||||
compatible = "rockchip,rv1108-usb", "rockchip,rk3288-usb",
|
||||
"snps,dwc2";
|
||||
reg = <0x30180000 0x40000>;
|
||||
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
|
||||
hnp-srp-disable;
|
||||
dr_mode = "otg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sfc: sfc@301c0000 {
|
||||
compatible = "rockchip,sfc";
|
||||
reg = <0x301c0000 0x200>;
|
||||
|
||||
@ -122,6 +122,7 @@
|
||||
compatible = "atmel,at91sam9x5-clk-utmi";
|
||||
#clock-cells = <0>;
|
||||
clocks = <&main>;
|
||||
regmap-sfr = <&sfr>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
@ -504,11 +505,13 @@
|
||||
qspi0_clk: qspi0_clk@52 {
|
||||
#clock-cells = <0>;
|
||||
reg = <52>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
qspi1_clk: qspi1_clk@53 {
|
||||
#clock-cells = <0>;
|
||||
reg = <53>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
|
||||
@ -595,6 +598,16 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
qspi1: spi@f0024000 {
|
||||
compatible = "atmel,sama5d2-qspi";
|
||||
reg = <0xf0024000 0x100>, <0xd8000000 0x08000000>;
|
||||
reg-names = "qspi_base", "qspi_mmap";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&qspi1_clk>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spi0: spi@f8000000 {
|
||||
compatible = "atmel,at91rm9200-spi";
|
||||
reg = <0xf8000000 0x100>;
|
||||
@ -660,6 +673,11 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sfr: sfr@f8030000 {
|
||||
compatible = "atmel,sama5d2-sfr", "syscon";
|
||||
reg = <0xf8030000 0x98>;
|
||||
};
|
||||
|
||||
sckc@f8048050 {
|
||||
compatible = "atmel,at91sam9x5-sckc";
|
||||
reg = <0xf8048050 0x4>;
|
||||
@ -694,6 +712,14 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart3: serial@fc008000 {
|
||||
compatible = "atmel,at91sam9260-usart";
|
||||
reg = <0xfc008000 0x100>;
|
||||
clocks = <&uart3_clk>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c1: i2c@fc028000 {
|
||||
compatible = "atmel,sama5d2-i2c";
|
||||
reg = <0xfc028000 0x100>;
|
||||
|
||||
159
arch/arm/dts/sama5d27_som1.dtsi
Normal file
159
arch/arm/dts/sama5d27_som1.dtsi
Normal file
@ -0,0 +1,159 @@
|
||||
/*
|
||||
* sama5d27_som1.dtsi - Device Tree file for SAMA5D27 SOM1
|
||||
*
|
||||
* Copyright (C) 2017 Microchip Corporation
|
||||
* Wenyou Yang <wenyou.yang@microchip.com>
|
||||
*
|
||||
* 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 as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* 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 "AS IS", 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.
|
||||
*/
|
||||
|
||||
#include "sama5d2.dtsi"
|
||||
#include "sama5d2-pinfunc.h"
|
||||
/ {
|
||||
model = "Atmel SAMA5D27 SOM1 EK";
|
||||
compatible = "atmel,sama5d27-som1-ek", "atmel,sama5d2", "atmel,sama5";
|
||||
|
||||
memory {
|
||||
reg = <0x20000000 0x8000000>;
|
||||
};
|
||||
|
||||
aliases {
|
||||
spi0 = &qspi1;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
ahb {
|
||||
apb {
|
||||
qspi1: spi@f0024000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_qspi1_sck_cs_default &pinctrl_qspi1_dat_default>;
|
||||
status = "okay";
|
||||
u-boot,dm-pre-reloc;
|
||||
|
||||
spi_flash@0 {
|
||||
compatible = "spi-flash";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
spi-rx-bus-width = <4>;
|
||||
spi-tx-bus-width = <4>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
|
||||
macb0: ethernet@f8008000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
|
||||
phy-mode = "rmii";
|
||||
status = "okay";
|
||||
|
||||
ethernet-phy@1 {
|
||||
reg = <0x1>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0: i2c@f8028000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c0_default>;
|
||||
status = "okay";
|
||||
|
||||
i2c_eeprom: i2c_eeprom@50 {
|
||||
compatible = "microchip,24aa02e48";
|
||||
reg = <0x50>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c1: i2c@fc028000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1_default>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pioA: gpio@fc038000 {
|
||||
pinctrl {
|
||||
pinctrl_i2c0_default: i2c0_default {
|
||||
pinmux = <PIN_PD21__TWD0>,
|
||||
<PIN_PD22__TWCK0>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_i2c1_default: i2c1_default {
|
||||
pinmux = <PIN_PD4__TWD1>,
|
||||
<PIN_PD5__TWCK1>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_macb0_phy_irq: macb0_phy_irq {
|
||||
pinmux = <PIN_PD31__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_macb0_rmii: macb0_rmii {
|
||||
pinmux = <PIN_PD9__GTXCK>,
|
||||
<PIN_PD10__GTXEN>,
|
||||
<PIN_PD11__GRXDV>,
|
||||
<PIN_PD12__GRXER>,
|
||||
<PIN_PD13__GRX0>,
|
||||
<PIN_PD14__GRX1>,
|
||||
<PIN_PD15__GTX0>,
|
||||
<PIN_PD16__GTX1>,
|
||||
<PIN_PD17__GMDC>,
|
||||
<PIN_PD18__GMDIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_qspi1_sck_cs_default: qspi1_sck_cs_default {
|
||||
pinmux = <PIN_PB5__QSPI1_SCK>,
|
||||
<PIN_PB6__QSPI1_CS>;
|
||||
bias-disable;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
pinctrl_qspi1_dat_default: qspi1_dat_default {
|
||||
pinmux = <PIN_PB7__QSPI1_IO0>,
|
||||
<PIN_PB8__QSPI1_IO1>,
|
||||
<PIN_PB9__QSPI1_IO2>,
|
||||
<PIN_PB10__QSPI1_IO3>;
|
||||
bias-pull-up;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -998,6 +998,8 @@
|
||||
interrupt-parent = <&pmc>;
|
||||
interrupts = <AT91_PMC_LOCKU>;
|
||||
clocks = <&main>;
|
||||
regmap-sfr = <&sfr>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
mck: masterck {
|
||||
|
||||
@ -563,6 +563,7 @@
|
||||
clocks = <&clk_s_c0_flexgen CLK_MMC_1>,
|
||||
<&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
|
||||
resets = <&softreset STIH407_MMC1_SOFTRESET>;
|
||||
reset-names = "softreset";
|
||||
bus-width = <4>;
|
||||
};
|
||||
|
||||
@ -654,7 +655,7 @@
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x09900000 0x100000>;
|
||||
interrupts = <GIC_SPI 155 IRQ_TYPE_NONE>;
|
||||
dr_mode = "host";
|
||||
dr_mode = "peripheral";
|
||||
phy-names = "usb2-phy", "usb3-phy";
|
||||
phys = <&usb2_picophy0>,
|
||||
<&phy_port2 PHY_TYPE_USB3>;
|
||||
|
||||
@ -83,7 +83,7 @@
|
||||
};
|
||||
|
||||
ohci0: usb@9a03c00 {
|
||||
compatible = "st,st-ohci-300x";
|
||||
compatible = "generic-ohci";
|
||||
reg = <0x9a03c00 0x100>;
|
||||
interrupts = <GIC_SPI 180 IRQ_TYPE_NONE>;
|
||||
clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
|
||||
@ -91,6 +91,7 @@
|
||||
resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
|
||||
<&softreset STIH407_USB2_PORT0_SOFTRESET>;
|
||||
reset-names = "power", "softreset";
|
||||
|
||||
phys = <&usb2_picophy1>;
|
||||
phy-names = "usb";
|
||||
|
||||
@ -98,7 +99,7 @@
|
||||
};
|
||||
|
||||
ehci0: usb@9a03e00 {
|
||||
compatible = "st,st-ehci-300x";
|
||||
compatible = "generic-ehci";
|
||||
reg = <0x9a03e00 0x100>;
|
||||
interrupts = <GIC_SPI 151 IRQ_TYPE_NONE>;
|
||||
pinctrl-names = "default";
|
||||
@ -115,7 +116,7 @@
|
||||
};
|
||||
|
||||
ohci1: usb@9a83c00 {
|
||||
compatible = "st,st-ohci-300x";
|
||||
compatible = "generic-ohci";
|
||||
reg = <0x9a83c00 0x100>;
|
||||
interrupts = <GIC_SPI 181 IRQ_TYPE_NONE>;
|
||||
clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
|
||||
@ -123,6 +124,7 @@
|
||||
resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
|
||||
<&softreset STIH407_USB2_PORT1_SOFTRESET>;
|
||||
reset-names = "power", "softreset";
|
||||
|
||||
phys = <&usb2_picophy2>;
|
||||
phy-names = "usb";
|
||||
|
||||
@ -130,7 +132,7 @@
|
||||
};
|
||||
|
||||
ehci1: usb@9a83e00 {
|
||||
compatible = "st,st-ehci-300x";
|
||||
compatible = "generic-ehci";
|
||||
reg = <0x9a83e00 0x100>;
|
||||
interrupts = <GIC_SPI 153 IRQ_TYPE_NONE>;
|
||||
pinctrl-names = "default";
|
||||
@ -140,6 +142,7 @@
|
||||
resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
|
||||
<&softreset STIH407_USB2_PORT1_SOFTRESET>;
|
||||
reset-names = "power", "softreset";
|
||||
|
||||
phys = <&usb2_picophy2>;
|
||||
phy-names = "usb";
|
||||
|
||||
|
||||
88
arch/arm/dts/stm32h7-u-boot.dtsi
Normal file
88
arch/arm/dts/stm32h7-u-boot.dtsi
Normal file
@ -0,0 +1,88 @@
|
||||
/{
|
||||
clocks {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
soc {
|
||||
u-boot,dm-pre-reloc;
|
||||
pin-controller {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&clk_hse {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&clk_lse {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&clk_i2s {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&pwrcfg {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&rcc {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&fmc {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&clk_hsi {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&clk_csi {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&gpioa {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&gpiob {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&gpioc {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&gpiod {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&gpioe {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&gpiof {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&gpiog {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&gpioh {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&gpioi {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&gpioj {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
&gpiok {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
249
arch/arm/dts/stm32h743-pinctrl.dtsi
Normal file
249
arch/arm/dts/stm32h743-pinctrl.dtsi
Normal file
@ -0,0 +1,249 @@
|
||||
/*
|
||||
* Copyright 2017 - Alexandre Torgue <alexandre.torgue@st.com>
|
||||
*
|
||||
* 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 as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* 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 "AS IS", 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.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/pinctrl/stm32h7-pinfunc.h>
|
||||
|
||||
/ {
|
||||
soc {
|
||||
pin-controller {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "st,stm32h743-pinctrl";
|
||||
ranges = <0 0x58020000 0x3000>;
|
||||
pins-are-numbered;
|
||||
|
||||
gpioa: gpio@58020000 {
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
compatible = "st,stm32-gpio";
|
||||
reg = <0x0 0x400>;
|
||||
clocks = <&rcc GPIOA_CK>;
|
||||
st,bank-name = "GPIOA";
|
||||
};
|
||||
|
||||
gpiob: gpio@58020400 {
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
compatible = "st,stm32-gpio";
|
||||
reg = <0x400 0x400>;
|
||||
clocks = <&rcc GPIOB_CK>;
|
||||
st,bank-name = "GPIOB";
|
||||
};
|
||||
|
||||
gpioc: gpio@58020800 {
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
compatible = "st,stm32-gpio";
|
||||
reg = <0x800 0x400>;
|
||||
clocks = <&rcc GPIOC_CK>;
|
||||
st,bank-name = "GPIOC";
|
||||
};
|
||||
|
||||
gpiod: gpio@58020c00 {
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
compatible = "st,stm32-gpio";
|
||||
reg = <0xc00 0x400>;
|
||||
clocks = <&rcc GPIOD_CK>;
|
||||
st,bank-name = "GPIOD";
|
||||
};
|
||||
|
||||
gpioe: gpio@58021000 {
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
compatible = "st,stm32-gpio";
|
||||
reg = <0x1000 0x400>;
|
||||
clocks = <&rcc GPIOE_CK>;
|
||||
st,bank-name = "GPIOE";
|
||||
};
|
||||
|
||||
gpiof: gpio@58021400 {
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
compatible = "st,stm32-gpio";
|
||||
reg = <0x1400 0x400>;
|
||||
clocks = <&rcc GPIOF_CK>;
|
||||
st,bank-name = "GPIOF";
|
||||
};
|
||||
|
||||
gpiog: gpio@58021800 {
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
compatible = "st,stm32-gpio";
|
||||
reg = <0x1800 0x400>;
|
||||
clocks = <&rcc GPIOG_CK>;
|
||||
st,bank-name = "GPIOG";
|
||||
};
|
||||
|
||||
gpioh: gpio@58021c00 {
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
compatible = "st,stm32-gpio";
|
||||
reg = <0x1c00 0x400>;
|
||||
clocks = <&rcc GPIOH_CK>;
|
||||
st,bank-name = "GPIOH";
|
||||
};
|
||||
|
||||
gpioi: gpio@58022000 {
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
compatible = "st,stm32-gpio";
|
||||
reg = <0x2000 0x400>;
|
||||
clocks = <&rcc GPIOI_CK>;
|
||||
st,bank-name = "GPIOI";
|
||||
};
|
||||
|
||||
gpioj: gpio@58022400 {
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
compatible = "st,stm32-gpio";
|
||||
reg = <0x2400 0x400>;
|
||||
clocks = <&rcc GPIOJ_CK>;
|
||||
st,bank-name = "GPIOJ";
|
||||
};
|
||||
|
||||
gpiok: gpio@58022800 {
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
compatible = "st,stm32-gpio";
|
||||
reg = <0x2800 0x400>;
|
||||
clocks = <&rcc GPIOK_CK>;
|
||||
st,bank-name = "GPIOK";
|
||||
};
|
||||
|
||||
usart1_pins: usart1@0 {
|
||||
pins1 {
|
||||
pinmux = <STM32H7_PB14_FUNC_USART1_TX>;
|
||||
bias-disable;
|
||||
drive-push-pull;
|
||||
slew-rate = <0>;
|
||||
};
|
||||
pins2 {
|
||||
pinmux = <STM32H7_PB15_FUNC_USART1_RX>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
usart2_pins: usart2@0 {
|
||||
pins1 {
|
||||
pinmux = <STM32H7_PD5_FUNC_USART2_TX>;
|
||||
bias-disable;
|
||||
drive-push-pull;
|
||||
slew-rate = <0>;
|
||||
};
|
||||
pins2 {
|
||||
pinmux = <STM32H7_PD6_FUNC_USART2_RX>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
fmc_pins: fmc@0 {
|
||||
pins {
|
||||
pinmux = <STM32H7_PD0_FUNC_FMC_D2_FMC_DA2>,
|
||||
<STM32H7_PD1_FUNC_FMC_D3_FMC_DA3>,
|
||||
<STM32H7_PD8_FUNC_FMC_D13_FMC_DA13>,
|
||||
<STM32H7_PD9_FUNC_FMC_D14_FMC_DA14>,
|
||||
<STM32H7_PD10_FUNC_FMC_D15_FMC_DA15>,
|
||||
<STM32H7_PD14_FUNC_FMC_D0_FMC_DA0>,
|
||||
<STM32H7_PD15_FUNC_FMC_D1_FMC_DA1>,
|
||||
|
||||
<STM32H7_PE0_FUNC_FMC_NBL0>,
|
||||
<STM32H7_PE1_FUNC_FMC_NBL1>,
|
||||
<STM32H7_PE7_FUNC_FMC_D4_FMC_DA4>,
|
||||
<STM32H7_PE8_FUNC_FMC_D5_FMC_DA5>,
|
||||
<STM32H7_PE9_FUNC_FMC_D6_FMC_DA6>,
|
||||
<STM32H7_PE10_FUNC_FMC_D7_FMC_DA7>,
|
||||
<STM32H7_PE11_FUNC_FMC_D8_FMC_DA8>,
|
||||
<STM32H7_PE12_FUNC_FMC_D9_FMC_DA9>,
|
||||
<STM32H7_PE13_FUNC_FMC_D10_FMC_DA10>,
|
||||
<STM32H7_PE14_FUNC_FMC_D11_FMC_DA11>,
|
||||
<STM32H7_PE15_FUNC_FMC_D12_FMC_DA12>,
|
||||
|
||||
<STM32H7_PF0_FUNC_FMC_A0>,
|
||||
<STM32H7_PF1_FUNC_FMC_A1>,
|
||||
<STM32H7_PF2_FUNC_FMC_A2>,
|
||||
<STM32H7_PF3_FUNC_FMC_A3>,
|
||||
<STM32H7_PF4_FUNC_FMC_A4>,
|
||||
<STM32H7_PF5_FUNC_FMC_A5>,
|
||||
<STM32H7_PF11_FUNC_FMC_SDNRAS>,
|
||||
<STM32H7_PF12_FUNC_FMC_A6>,
|
||||
<STM32H7_PF13_FUNC_FMC_A7>,
|
||||
<STM32H7_PF14_FUNC_FMC_A8>,
|
||||
<STM32H7_PF15_FUNC_FMC_A9>,
|
||||
|
||||
<STM32H7_PG0_FUNC_FMC_A10>,
|
||||
<STM32H7_PG1_FUNC_FMC_A11>,
|
||||
<STM32H7_PG2_FUNC_FMC_A12>,
|
||||
<STM32H7_PG4_FUNC_FMC_A14_FMC_BA0>,
|
||||
<STM32H7_PG5_FUNC_FMC_A15_FMC_BA1>,
|
||||
<STM32H7_PG8_FUNC_FMC_SDCLK>,
|
||||
<STM32H7_PG15_FUNC_FMC_SDNCAS>,
|
||||
|
||||
<STM32H7_PH5_FUNC_FMC_SDNWE>,
|
||||
<STM32H7_PH6_FUNC_FMC_SDNE1>,
|
||||
<STM32H7_PH7_FUNC_FMC_SDCKE1>,
|
||||
<STM32H7_PH8_FUNC_FMC_D16>,
|
||||
<STM32H7_PH9_FUNC_FMC_D17>,
|
||||
<STM32H7_PH10_FUNC_FMC_D18>,
|
||||
<STM32H7_PH11_FUNC_FMC_D19>,
|
||||
<STM32H7_PH12_FUNC_FMC_D20>,
|
||||
<STM32H7_PH13_FUNC_FMC_D21>,
|
||||
<STM32H7_PH14_FUNC_FMC_D22>,
|
||||
<STM32H7_PH15_FUNC_FMC_D23>,
|
||||
|
||||
<STM32H7_PI0_FUNC_FMC_D24>,
|
||||
<STM32H7_PI1_FUNC_FMC_D25>,
|
||||
<STM32H7_PI2_FUNC_FMC_D26>,
|
||||
<STM32H7_PI3_FUNC_FMC_D27>,
|
||||
<STM32H7_PI4_FUNC_FMC_NBL2>,
|
||||
<STM32H7_PI5_FUNC_FMC_NBL3>,
|
||||
<STM32H7_PI6_FUNC_FMC_D28>,
|
||||
<STM32H7_PI7_FUNC_FMC_D29>,
|
||||
<STM32H7_PI9_FUNC_FMC_D30>,
|
||||
<STM32H7_PI10_FUNC_FMC_D31>;
|
||||
|
||||
slew-rate = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
129
arch/arm/dts/stm32h743.dtsi
Normal file
129
arch/arm/dts/stm32h743.dtsi
Normal file
@ -0,0 +1,129 @@
|
||||
/*
|
||||
* Copyright 2017 - Alexandre Torgue <alexandre.torgue@st.com>
|
||||
*
|
||||
* 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 as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* 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 "AS IS", 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.
|
||||
*/
|
||||
|
||||
#include "skeleton.dtsi"
|
||||
#include "armv7-m.dtsi"
|
||||
#include <dt-bindings/clock/stm32h7-clks.h>
|
||||
|
||||
/ {
|
||||
clocks {
|
||||
clk_hse: clk-hse {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <25000000>;
|
||||
};
|
||||
|
||||
clk_lse: clk-lse {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
clk_i2s: i2s_ckin {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
rcc: rcc@58024400 {
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
compatible = "st,stm32h743-rcc", "st,stm32-rcc";
|
||||
reg = <0x58024400 0x400>;
|
||||
clocks = <&clk_hse>, <&clk_lse>, <&clk_i2s>, <&clk_hsi>, <&clk_csi>;
|
||||
st,syscfg = <&pwrcfg>;
|
||||
};
|
||||
|
||||
usart1: serial@40011000 {
|
||||
compatible = "st,stm32h7-usart", "st,stm32h7-uart";
|
||||
reg = <0x40011000 0x400>;
|
||||
interrupts = <37>;
|
||||
status = "disabled";
|
||||
clocks = <&rcc USART1_CK>;
|
||||
};
|
||||
|
||||
usart2: serial@40004400 {
|
||||
compatible = "st,stm32h7-usart", "st,stm32h7-uart";
|
||||
reg = <0x40004400 0x400>;
|
||||
interrupts = <38>;
|
||||
status = "disabled";
|
||||
clocks = <&rcc USART2_CK>;
|
||||
};
|
||||
|
||||
timer5: timer@40000c00 {
|
||||
compatible = "st,stm32-timer";
|
||||
reg = <0x40000c00 0x400>;
|
||||
interrupts = <50>;
|
||||
clocks = <&rcc TIM5_CK>;
|
||||
};
|
||||
|
||||
pwrcfg: power-config@58024800 {
|
||||
compatible = "syscon";
|
||||
reg = <0x58024800 0x400>;
|
||||
};
|
||||
|
||||
fmc: fmc@52004000 {
|
||||
compatible = "st,stm32h7-fmc";
|
||||
reg = <0x52004000 0x1000>;
|
||||
clocks = <&rcc FMC_CK>;
|
||||
};
|
||||
|
||||
clk_hsi: clk-hsi {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <64000000>;
|
||||
};
|
||||
|
||||
clk_csi: clk-csi {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <4000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&systick {
|
||||
clock-frequency = <250000000>;
|
||||
status = "okay";
|
||||
};
|
||||
100
arch/arm/dts/stm32h743i-disco.dts
Normal file
100
arch/arm/dts/stm32h743i-disco.dts
Normal file
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Copyright 2017 - Patrice Chotard <patrice.chotard@st.com>
|
||||
*
|
||||
* 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 as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* 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 "AS IS", 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 "stm32h743.dtsi"
|
||||
#include "stm32h743-pinctrl.dtsi"
|
||||
#include <dt-bindings/memory/stm32-sdram.h>
|
||||
|
||||
/ {
|
||||
model = "STMicroelectronics STM32H743i-Discovery board";
|
||||
compatible = "st,stm32h743i-disco", "st,stm32h743";
|
||||
|
||||
chosen {
|
||||
bootargs = "root=/dev/ram";
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0xd0000000 0x2000000>;
|
||||
};
|
||||
|
||||
aliases {
|
||||
serial0 = &usart2;
|
||||
gpio0 = &gpioa;
|
||||
gpio1 = &gpiob;
|
||||
gpio2 = &gpioc;
|
||||
gpio3 = &gpiod;
|
||||
gpio4 = &gpioe;
|
||||
gpio5 = &gpiof;
|
||||
gpio6 = &gpiog;
|
||||
gpio7 = &gpioh;
|
||||
gpio8 = &gpioi;
|
||||
gpio9 = &gpioj;
|
||||
gpio10 = &gpiok;
|
||||
};
|
||||
};
|
||||
|
||||
&usart2 {
|
||||
pinctrl-0 = <&usart2_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&fmc {
|
||||
pinctrl-0 = <&fmc_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* Memory configuration from sdram datasheet IS42S32800G-6BLI
|
||||
* firsct bank is bank@0
|
||||
* second bank is bank@1
|
||||
*/
|
||||
bank1: bank@1 {
|
||||
st,sdram-control = /bits/ 8 <NO_COL_9 NO_ROW_12 MWIDTH_32 BANKS_4
|
||||
CAS_2 SDCLK_3 RD_BURST_EN RD_PIPE_DL_0>;
|
||||
st,sdram-timing = /bits/ 8 <TMRD_1 TXSR_1 TRAS_1 TRC_6 TRP_2
|
||||
TWR_1 TRCD_1>;
|
||||
st,sdram-refcount = <1539>;
|
||||
};
|
||||
};
|
||||
100
arch/arm/dts/stm32h743i-eval.dts
Normal file
100
arch/arm/dts/stm32h743i-eval.dts
Normal file
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* Copyright 2017 - Alexandre Torgue <alexandre.torgue@st.com>
|
||||
*
|
||||
* 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 as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* 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 "AS IS", 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 "stm32h743.dtsi"
|
||||
#include "stm32h743-pinctrl.dtsi"
|
||||
#include <dt-bindings/memory/stm32-sdram.h>
|
||||
|
||||
/ {
|
||||
model = "STMicroelectronics STM32H743i-EVAL board";
|
||||
compatible = "st,stm32h743i-eval", "st,stm32h743";
|
||||
|
||||
chosen {
|
||||
bootargs = "root=/dev/ram";
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
memory {
|
||||
reg = <0xd0000000 0x2000000>;
|
||||
};
|
||||
|
||||
aliases {
|
||||
serial0 = &usart1;
|
||||
gpio0 = &gpioa;
|
||||
gpio1 = &gpiob;
|
||||
gpio2 = &gpioc;
|
||||
gpio3 = &gpiod;
|
||||
gpio4 = &gpioe;
|
||||
gpio5 = &gpiof;
|
||||
gpio6 = &gpiog;
|
||||
gpio7 = &gpioh;
|
||||
gpio8 = &gpioi;
|
||||
gpio9 = &gpioj;
|
||||
gpio10 = &gpiok;
|
||||
};
|
||||
};
|
||||
|
||||
&usart1 {
|
||||
pinctrl-0 = <&usart1_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&fmc {
|
||||
pinctrl-0 = <&fmc_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* Memory configuration from sdram datasheet IS42S32800G-6BLI
|
||||
* firsct bank is bank@0
|
||||
* second bank is bank@1
|
||||
*/
|
||||
bank2: bank@1 {
|
||||
st,sdram-control = /bits/ 8 <NO_COL_9 NO_ROW_12 MWIDTH_32 BANKS_4
|
||||
CAS_2 SDCLK_3 RD_BURST_EN RD_PIPE_DL_0>;
|
||||
st,sdram-timing = /bits/ 8 <TMRD_1 TXSR_1 TRAS_1 TRC_6 TRP_2
|
||||
TWR_1 TRCD_1>;
|
||||
st,sdram-refcount = <1539>;
|
||||
};
|
||||
};
|
||||
47
arch/arm/dts/tps6507x.dtsi
Normal file
47
arch/arm/dts/tps6507x.dtsi
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Integrated Power Management Chip
|
||||
* http://www.ti.com/lit/ds/symlink/tps65070.pdf
|
||||
*/
|
||||
|
||||
&tps {
|
||||
compatible = "ti,tps6507x";
|
||||
|
||||
regulators {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
vdcdc1_reg: regulator@0 {
|
||||
reg = <0>;
|
||||
regulator-compatible = "VDCDC1";
|
||||
};
|
||||
|
||||
vdcdc2_reg: regulator@1 {
|
||||
reg = <1>;
|
||||
regulator-compatible = "VDCDC2";
|
||||
};
|
||||
|
||||
vdcdc3_reg: regulator@2 {
|
||||
reg = <2>;
|
||||
regulator-compatible = "VDCDC3";
|
||||
};
|
||||
|
||||
ldo1_reg: regulator@3 {
|
||||
reg = <3>;
|
||||
regulator-compatible = "LDO1";
|
||||
};
|
||||
|
||||
ldo2_reg: regulator@4 {
|
||||
reg = <4>;
|
||||
regulator-compatible = "LDO2";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
@ -116,6 +116,67 @@
|
||||
#define CONFIG_SYS_FSL_ERRATUM_A008751
|
||||
|
||||
#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1
|
||||
|
||||
#elif defined(CONFIG_ARCH_LS1088A)
|
||||
#define CONFIG_SYS_FSL_NUM_CC_PLLS 3
|
||||
#define CONFIG_SYS_FSL_CLUSTER_CLOCKS { 1, 1 }
|
||||
#define CONFIG_GICV3
|
||||
#define CONFIG_FSL_TZPC_BP147
|
||||
#define CONFIG_FSL_TZASC_400
|
||||
#define CONFIG_SYS_PAGE_SIZE 0x10000
|
||||
|
||||
#define SRDS_MAX_LANES 4
|
||||
|
||||
/* TZ Protection Controller Definitions */
|
||||
#define TZPC_BASE 0x02200000
|
||||
#define TZPCR0SIZE_BASE (TZPC_BASE)
|
||||
#define TZPCDECPROT_0_STAT_BASE (TZPC_BASE + 0x800)
|
||||
#define TZPCDECPROT_0_SET_BASE (TZPC_BASE + 0x804)
|
||||
#define TZPCDECPROT_0_CLR_BASE (TZPC_BASE + 0x808)
|
||||
#define TZPCDECPROT_1_STAT_BASE (TZPC_BASE + 0x80C)
|
||||
#define TZPCDECPROT_1_SET_BASE (TZPC_BASE + 0x810)
|
||||
#define TZPCDECPROT_1_CLR_BASE (TZPC_BASE + 0x814)
|
||||
#define TZPCDECPROT_2_STAT_BASE (TZPC_BASE + 0x818)
|
||||
#define TZPCDECPROT_2_SET_BASE (TZPC_BASE + 0x81C)
|
||||
#define TZPCDECPROT_2_CLR_BASE (TZPC_BASE + 0x820)
|
||||
|
||||
/* Generic Interrupt Controller Definitions */
|
||||
#define GICD_BASE 0x06000000
|
||||
#define GICR_BASE 0x06100000
|
||||
|
||||
/* SMMU Defintions */
|
||||
#define SMMU_BASE 0x05000000 /* GR0 Base */
|
||||
|
||||
/* DDR */
|
||||
#define CONFIG_SYS_DDR_BLOCK1_SIZE ((phys_size_t)2 << 30)
|
||||
#define CONFIG_MAX_MEM_MAPPED CONFIG_SYS_DDR_BLOCK1_SIZE
|
||||
|
||||
#define CONFIG_SYS_FSL_CCSR_GUR_LE
|
||||
#define CONFIG_SYS_FSL_CCSR_SCFG_LE
|
||||
#define CONFIG_SYS_FSL_ESDHC_LE
|
||||
#define CONFIG_SYS_FSL_IFC_LE
|
||||
#define CONFIG_SYS_FSL_PEX_LUT_LE
|
||||
|
||||
#define CONFIG_SYS_MEMAC_LITTLE_ENDIAN
|
||||
|
||||
/* SFP */
|
||||
#define CONFIG_SYS_FSL_SFP_VER_3_4
|
||||
#define CONFIG_SYS_FSL_SFP_LE
|
||||
#define CONFIG_SYS_FSL_SRK_LE
|
||||
|
||||
/* Security Monitor */
|
||||
#define CONFIG_SYS_FSL_SEC_MON_LE
|
||||
|
||||
/* Secure Boot */
|
||||
#define CONFIG_ESBC_HDR_LS
|
||||
|
||||
/* DCFG - GUR */
|
||||
#define CONFIG_SYS_FSL_CCSR_GUR_LE
|
||||
#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1
|
||||
#define CONFIG_SYS_FSL_OCRAM_BASE 0x18000000 /* initial RAM */
|
||||
#define SYS_FSL_OCRAM_SPACE_SIZE 0x00200000 /* 2M space */
|
||||
#define CONFIG_SYS_FSL_OCRAM_SIZE 0x00020000 /* Real size 128K */
|
||||
|
||||
#elif defined(CONFIG_FSL_LSCH2)
|
||||
#define CONFIG_SYS_FSL_OCRAM_BASE 0x10000000 /* initial RAM */
|
||||
#define SYS_FSL_OCRAM_SPACE_SIZE 0x00200000 /* 2M space */
|
||||
@ -218,7 +279,6 @@
|
||||
#define GICC_BASE 0x01420000
|
||||
|
||||
#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1
|
||||
|
||||
#else
|
||||
#error SoC not defined
|
||||
#endif
|
||||
|
||||
@ -24,6 +24,10 @@ static struct cpu_type cpu_type_list[] = {
|
||||
CPU_TYPE_ENTRY(LS1026A, LS1026A, 2),
|
||||
CPU_TYPE_ENTRY(LS2040A, LS2040A, 4),
|
||||
CPU_TYPE_ENTRY(LS1012A, LS1012A, 1),
|
||||
CPU_TYPE_ENTRY(LS1088A, LS1088A, 8),
|
||||
CPU_TYPE_ENTRY(LS1084A, LS1084A, 8),
|
||||
CPU_TYPE_ENTRY(LS1048A, LS1048A, 4),
|
||||
CPU_TYPE_ENTRY(LS1044A, LS1044A, 4),
|
||||
};
|
||||
|
||||
#ifndef CONFIG_SYS_DCACHE_OFF
|
||||
@ -102,6 +106,7 @@ static struct mm_region early_map[] = {
|
||||
{ CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1,
|
||||
CONFIG_SYS_FSL_QSPI_SIZE1,
|
||||
PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE},
|
||||
#ifdef CONFIG_FSL_IFC
|
||||
/* For IFC Region #1, only the first 4MB is cache-enabled */
|
||||
{ CONFIG_SYS_FSL_IFC_BASE1, CONFIG_SYS_FSL_IFC_BASE1,
|
||||
CONFIG_SYS_FSL_IFC_SIZE1_1,
|
||||
@ -116,6 +121,7 @@ static struct mm_region early_map[] = {
|
||||
CONFIG_SYS_FSL_IFC_SIZE1,
|
||||
PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
|
||||
},
|
||||
#endif
|
||||
{ CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
|
||||
CONFIG_SYS_FSL_DRAM_SIZE1,
|
||||
#if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD)
|
||||
@ -125,11 +131,13 @@ static struct mm_region early_map[] = {
|
||||
#endif
|
||||
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
|
||||
},
|
||||
#ifdef CONFIG_FSL_IFC
|
||||
/* Map IFC region #2 up to CONFIG_SYS_FLASH_BASE for NAND boot */
|
||||
{ CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2,
|
||||
CONFIG_SYS_FLASH_BASE - CONFIG_SYS_FSL_IFC_BASE2,
|
||||
PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
|
||||
},
|
||||
#endif
|
||||
{ CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE,
|
||||
CONFIG_SYS_FSL_DCSR_SIZE,
|
||||
PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
@ -159,10 +167,12 @@ static struct mm_region early_map[] = {
|
||||
CONFIG_SYS_FSL_QSPI_SIZE,
|
||||
PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
|
||||
},
|
||||
#ifdef CONFIG_FSL_IFC
|
||||
{ CONFIG_SYS_FSL_IFC_BASE, CONFIG_SYS_FSL_IFC_BASE,
|
||||
CONFIG_SYS_FSL_IFC_SIZE,
|
||||
PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
|
||||
},
|
||||
#endif
|
||||
{ CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
|
||||
CONFIG_SYS_FSL_DRAM_SIZE1,
|
||||
#if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD)
|
||||
@ -199,17 +209,21 @@ static struct mm_region final_map[] = {
|
||||
},
|
||||
{ CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1,
|
||||
CONFIG_SYS_FSL_QSPI_SIZE1,
|
||||
PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE
|
||||
PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
||||
},
|
||||
{ CONFIG_SYS_FSL_QSPI_BASE2, CONFIG_SYS_FSL_QSPI_BASE2,
|
||||
CONFIG_SYS_FSL_QSPI_SIZE2,
|
||||
PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
||||
},
|
||||
#ifdef CONFIG_FSL_IFC
|
||||
{ CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2,
|
||||
CONFIG_SYS_FSL_IFC_SIZE2,
|
||||
PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
|
||||
PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
||||
},
|
||||
#endif
|
||||
{ CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE,
|
||||
CONFIG_SYS_FSL_DCSR_SIZE,
|
||||
PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
@ -304,10 +318,12 @@ static struct mm_region final_map[] = {
|
||||
PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
|
||||
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
|
||||
},
|
||||
#ifdef CONFIG_FSL_IFC
|
||||
{ CONFIG_SYS_FSL_IFC_BASE, CONFIG_SYS_FSL_IFC_BASE,
|
||||
CONFIG_SYS_FSL_IFC_SIZE,
|
||||
PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
|
||||
},
|
||||
#endif
|
||||
{ CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
|
||||
CONFIG_SYS_FSL_DRAM_SIZE1,
|
||||
PTE_BLOCK_MEMTYPE(MT_NORMAL) |
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user