mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-01-12 09:30:21 +00:00
Compare commits
285 Commits
ti2013.04.
...
dylan
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8beec1ca66 | ||
|
|
475c45d192 | ||
|
|
48f59a0765 | ||
|
|
0056050410 | ||
|
|
d8ca0d9739 | ||
|
|
4be60cf6cf | ||
|
|
39b137a069 | ||
|
|
61fdfef43e | ||
|
|
b76d4d740b | ||
|
|
14858daa69 | ||
|
|
dbc21e6e6d | ||
|
|
2139986702 | ||
|
|
625b43736f | ||
|
|
e4b90a654c | ||
|
|
8d59a8f6f2 | ||
|
|
082d640cf1 | ||
|
|
726a67e38f | ||
|
|
b5216d7f9c | ||
|
|
2c86c1957c | ||
|
|
3bca395fab | ||
|
|
975ce2d93d | ||
|
|
800105c4c2 | ||
|
|
5b56c0ce90 | ||
|
|
2ac3b4537f | ||
|
|
f3551ab724 | ||
|
|
7df8efba13 | ||
|
|
5b6c24b167 | ||
|
|
e5984623e9 | ||
|
|
bef5c59b8c | ||
|
|
71a8222476 | ||
|
|
89d2711fb4 | ||
|
|
51b183dcde | ||
|
|
db1e0b9f31 | ||
|
|
28a7655f79 | ||
|
|
d8d36acb07 | ||
|
|
87b39200b2 | ||
|
|
2bae56cfdc | ||
|
|
df6816424c | ||
|
|
5d77a6c878 | ||
|
|
f97d0f5b24 | ||
|
|
7f2773454b | ||
|
|
f894102725 | ||
|
|
5e6aed54ec | ||
|
|
c27ca998e2 | ||
|
|
dde9c84e16 | ||
|
|
007d3ff11b | ||
|
|
561b40ddf9 | ||
|
|
21f4d17302 | ||
|
|
6493ace690 | ||
|
|
c0de045840 | ||
|
|
3d32a8e701 | ||
|
|
3e172af061 | ||
|
|
2d22078fa2 | ||
|
|
c7237350bc | ||
|
|
ad434b55d1 | ||
|
|
9743993745 | ||
|
|
b764ba4c14 | ||
|
|
ac5e361a84 | ||
|
|
1738b8b572 | ||
|
|
7d91b3d793 | ||
|
|
802a01fd24 | ||
|
|
67499500f2 | ||
|
|
7923a08761 | ||
|
|
671713a344 | ||
|
|
c7320f2271 | ||
|
|
29ebd45c3d | ||
|
|
8d8b62c137 | ||
|
|
8f881dd965 | ||
|
|
a3932f6c66 | ||
|
|
d6b47b7cd7 | ||
|
|
5ae405999c | ||
|
|
dd58f81f92 | ||
|
|
802c10bc65 | ||
|
|
e0cd3a7e6f | ||
|
|
b4d07f3b7c | ||
|
|
dabd83e96f | ||
|
|
400dc74ceb | ||
|
|
39d7d9de23 | ||
|
|
7e054d1277 | ||
|
|
9f888be5ef | ||
|
|
4aca8bd063 | ||
|
|
b4349f8596 | ||
|
|
f61008a203 | ||
|
|
6d0651e0ac | ||
|
|
084544208a | ||
|
|
d486c82e49 | ||
|
|
fa4872bb1f | ||
|
|
76beabe375 | ||
|
|
07001d9115 | ||
|
|
a46b7207a3 | ||
|
|
db99578a19 | ||
|
|
1e928b703d | ||
|
|
c9a63ed5f4 | ||
|
|
c4b3772061 | ||
|
|
6b9525bd09 | ||
|
|
24edd661d5 | ||
|
|
1723eb0089 | ||
|
|
9e55646453 | ||
|
|
9d38e2e41b | ||
|
|
e8455c323f | ||
|
|
fd9313f1e1 | ||
|
|
edfd76fce4 | ||
|
|
06afc3984d | ||
|
|
9e595df297 | ||
|
|
6c1ab34c88 | ||
|
|
4fb79a828f | ||
|
|
f75224052b | ||
|
|
d2a65d09c8 | ||
|
|
124465369f | ||
|
|
3cd1ddb25e | ||
|
|
a27001ce6d | ||
|
|
c187c2c590 | ||
|
|
ebfbd8ee95 | ||
|
|
e923dfcaf3 | ||
|
|
c517bb7043 | ||
|
|
e2748c6cb2 | ||
|
|
84576bfff1 | ||
|
|
9be75edbe0 | ||
|
|
9bf0bc5611 | ||
|
|
87fe2c4653 | ||
|
|
ae4f09067c | ||
|
|
bbc9ae0c90 | ||
|
|
62b9360fef | ||
|
|
95d34de649 | ||
|
|
e9e944715a | ||
|
|
b90ba5a2db | ||
|
|
2abe4771ea | ||
|
|
c652f49c33 | ||
|
|
89a028b124 | ||
|
|
ee570b6331 | ||
|
|
ec83f7d77a | ||
|
|
acf1d6a980 | ||
|
|
cc1a67b39d | ||
|
|
c8377df0b4 | ||
|
|
f35d7c5849 | ||
|
|
673f6c08c1 | ||
|
|
f815f3aa4c | ||
|
|
988bc01988 | ||
|
|
fc01b1e984 | ||
|
|
23506a1771 | ||
|
|
72a9e98bfc | ||
|
|
1e463c7395 | ||
|
|
c5d939ad13 | ||
|
|
becf98b038 | ||
|
|
f31fba1c2a | ||
|
|
869c1a5de3 | ||
|
|
21f9705c8b | ||
|
|
14671da0be | ||
|
|
a6e3b7466f | ||
|
|
147715e937 | ||
|
|
74019397b8 | ||
|
|
60b90439f7 | ||
|
|
9971090bfc | ||
|
|
e6e536bc27 | ||
|
|
4b299c53e3 | ||
|
|
250f27d11f | ||
|
|
f1192cf401 | ||
|
|
519575bd04 | ||
|
|
5c395d6efb | ||
|
|
6049ce3cc2 | ||
|
|
41a59d395d | ||
|
|
59e12fdc29 | ||
|
|
5b1feb3a2b | ||
|
|
463ad61b83 | ||
|
|
51d77864e0 | ||
|
|
9d102914f9 | ||
|
|
e889ac6dec | ||
|
|
5e6fb2bcf1 | ||
|
|
0eb21a9a09 | ||
|
|
13f54d47c9 | ||
|
|
35be5df266 | ||
|
|
c5229011a5 | ||
|
|
b73a2e363b | ||
|
|
6efc27aedc | ||
|
|
22d4ea302d | ||
|
|
25e974f3be | ||
|
|
bdb5b9384c | ||
|
|
5296478b70 | ||
|
|
14a312f1e9 | ||
|
|
05d5325de7 | ||
|
|
38e3173249 | ||
|
|
59ce44ac51 | ||
|
|
c14c386946 | ||
|
|
815fde974b | ||
|
|
88dd446c6b | ||
|
|
362c3cf9bb | ||
|
|
7650926c69 | ||
|
|
ecb90f34c4 | ||
|
|
e377abc5f7 | ||
|
|
7c7ee62e42 | ||
|
|
ca0f68d71b | ||
|
|
886bea2308 | ||
|
|
70c17ece82 | ||
|
|
971ee4a206 | ||
|
|
c41c5cce4c | ||
|
|
e409a64f4c | ||
|
|
bb07c1eaa0 | ||
|
|
5a0982d9ff | ||
|
|
ff82dd3cc3 | ||
|
|
352bb2f0a8 | ||
|
|
ecc2eb9d86 | ||
|
|
e8da1f6893 | ||
|
|
d50cf9ee40 | ||
|
|
948b5f11d3 | ||
|
|
10c6e29430 | ||
|
|
b87ac0eafb | ||
|
|
a2f7ef8b64 | ||
|
|
48673d8784 | ||
|
|
7c9f57083e | ||
|
|
3b49d182d5 | ||
|
|
10e430c370 | ||
|
|
3b88800423 | ||
|
|
1ab747c80d | ||
|
|
a32b383e97 | ||
|
|
a529d36e8a | ||
|
|
32bb599a61 | ||
|
|
d51042bb73 | ||
|
|
22a2fa4b97 | ||
|
|
90955082ee | ||
|
|
261a5e9842 | ||
|
|
809e2d46f2 | ||
|
|
d3e7ad3171 | ||
|
|
d61bfa88ed | ||
|
|
0a42d9cf21 | ||
|
|
4f21d3b86b | ||
|
|
03974f7c84 | ||
|
|
afa0c62571 | ||
|
|
54d48a8dd2 | ||
|
|
c611337599 | ||
|
|
9646393ed8 | ||
|
|
b294677588 | ||
|
|
c586bd9a66 | ||
|
|
f5b282271c | ||
|
|
24520543b1 | ||
|
|
3cb6c8fb6e | ||
|
|
c2e972c6ea | ||
|
|
2b23831ed1 | ||
|
|
e37816400e | ||
|
|
82a8d7c5f2 | ||
|
|
62f7277a7a | ||
|
|
26b97d3214 | ||
|
|
79d34baabe | ||
|
|
79e90aebdb | ||
|
|
85120ef4cb | ||
|
|
e97da12725 | ||
|
|
a80ec1d7be | ||
|
|
39d1a0caa7 | ||
|
|
a5ebeba1c7 | ||
|
|
263a46fa46 | ||
|
|
4d99e63181 | ||
|
|
3aeebece0e | ||
|
|
153b5ed063 | ||
|
|
988829b7f6 | ||
|
|
ae45412131 | ||
|
|
e71c559171 | ||
|
|
dace27f5c8 | ||
|
|
516eff31f6 | ||
|
|
3c67c9357c | ||
|
|
544a96c935 | ||
|
|
081428db7d | ||
|
|
a0c81bbe4f | ||
|
|
201b231d72 | ||
|
|
98ad55b8ea | ||
|
|
a98c0c3d2a | ||
|
|
757c0e50bf | ||
|
|
567d65c34d | ||
|
|
f054a7c14a | ||
|
|
3eb71003af | ||
|
|
629f5ddd5d | ||
|
|
1920403ef2 | ||
|
|
9daa29790d | ||
|
|
356ae86a9b | ||
|
|
7fe6837f40 | ||
|
|
9273b57d95 | ||
|
|
5a4eff42f2 | ||
|
|
9b7c3af377 | ||
|
|
61cfba29dc | ||
|
|
f9952c5fa4 | ||
|
|
033abf6684 | ||
|
|
e2e92f525f | ||
|
|
536c442f97 | ||
|
|
7bc112911d | ||
|
|
2b37d0ee55 | ||
|
|
8b6f2e0f96 | ||
|
|
4cd8d3c891 |
7
README
7
README
@@ -11,12 +11,6 @@ layers: meta
|
||||
branch: master
|
||||
|
||||
|
||||
When not depending on meta-openembedded and not using systemd, you may need to
|
||||
mask few miscellaneous recipes requiring systemd, by adding this to local.conf:
|
||||
|
||||
BBMASK = "meta-ti/recipes-misc"
|
||||
|
||||
|
||||
The base BSP part of meta-ti should work with different OpenEmbedded/Yocto
|
||||
distributions and layer stacks, such as:
|
||||
distro-less (only with OE-Core), with Yocto/Poky, with Angstrom or Arago.
|
||||
@@ -27,4 +21,3 @@ Please follow the recommended setup procedures of your OE distribution.
|
||||
Send pull requests, patches, comments or questions to meta-ti@yoctoproject.org
|
||||
|
||||
Maintainers: Denys Dmytriyenko <denys@ti.com>
|
||||
Koen Kooi <koen@dominion.thruhere.net>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# We have a conf and classes directory, append to BBPATH
|
||||
BBPATH .= ":${LAYERDIR}"
|
||||
BBPATH =. "${LAYERDIR}:"
|
||||
|
||||
# We have a recipes directory, add to BBFILES
|
||||
BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
|
||||
|
||||
@@ -11,9 +11,8 @@ UBOOT_LOADADDRESS = "0xc0008000"
|
||||
|
||||
IMAGE_FSTYPES += "tar.gz ubi"
|
||||
|
||||
MACHINE_FEATURES = "kernel26 serial ethernet"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyS2"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omapl138-psp"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am180x"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-am180x"
|
||||
|
||||
@@ -1,23 +1,18 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: AM335x EVM
|
||||
#@DESCRIPTION: Machine configuration for the TI AM335x EVM
|
||||
TARGET_ARCH = "arm"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-video-fbdev"
|
||||
|
||||
GUI_MACHINE_CLASS = "smallscreen"
|
||||
|
||||
require conf/machine/include/ti33x.inc
|
||||
|
||||
# Use built-in LCD by default
|
||||
XSERVER += "xf86-input-tslib"
|
||||
GUI_MACHINE_CLASS = "smallscreen"
|
||||
MACHINE_FEATURES += "touchscreen"
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyO0"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-ti33x-psp"
|
||||
|
||||
# UBI information. Note that this is board and kernel specific. Changes
|
||||
# in your kernel port may require changes in these variables. For more
|
||||
# details about this board please see
|
||||
@@ -29,7 +24,7 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-ti33x-psp"
|
||||
# UBI: logical eraseblock size: 126976 bytes
|
||||
# from ubiattach stdout:
|
||||
# UBI device number 0, total 1988 LEBs
|
||||
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 1988"
|
||||
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3836"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
|
||||
# from dmesg:
|
||||
@@ -38,10 +33,3 @@ MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 1988"
|
||||
# UBI: sub-page size: 512
|
||||
# UBI: VID header offset: 2048 (aligned 2048)
|
||||
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512 -O 2048"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
UBOOT_MACHINE = "am335x_evm_config"
|
||||
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen touchscreen"
|
||||
|
||||
@@ -2,38 +2,28 @@
|
||||
#@NAME: AM3517 EVM
|
||||
#@DESCRIPTION: Machine configuration for the TI Sitara AM3517 EVM
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-input-mouse \
|
||||
xf86-input-tslib \
|
||||
xf86-video-omapfb \
|
||||
xf86-input-keyboard"
|
||||
|
||||
GUI_MACHINE_CLASS = "smallscreen"
|
||||
|
||||
require conf/machine/include/omap3.inc
|
||||
|
||||
# Ship all kernel modules
|
||||
# Use built-in LCD by default
|
||||
XSERVER += "xf86-input-tslib"
|
||||
GUI_MACHINE_CLASS = "smallscreen"
|
||||
MACHINE_FEATURES += "touchscreen ethernet"
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz"
|
||||
EXTRA_IMAGECMD_jffs2 = "-lnp -e 0x20000 -s 2048"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyS2"
|
||||
SERIAL_CONSOLE = "115200 ttyO2"
|
||||
USE_VT = "2"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omap-psp"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am3517"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-am3517"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
UBOOT_MACHINE = "am3517_evm_config"
|
||||
XLOAD_MACHINE = "am3517evm_config"
|
||||
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen touchscreen ethernet"
|
||||
|
||||
# NOTE: there are NAND and OneNAND versions of this board...
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
@@ -48,4 +38,3 @@ MKUBIFS_ARGS = "-m 2048 -e 129024 -c 1996"
|
||||
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
|
||||
# UBI: sub-page size: 512
|
||||
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"
|
||||
|
||||
|
||||
@@ -2,37 +2,23 @@
|
||||
#@NAME: AM37x EVM
|
||||
#@DESCRIPTION: Machine configuration for the TI AM37x EVM
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-input-mouse \
|
||||
xf86-input-tslib \
|
||||
xf86-video-omapfb \
|
||||
xf86-input-keyboard"
|
||||
|
||||
GUI_MACHINE_CLASS = "smallscreen"
|
||||
|
||||
require conf/machine/include/omap3.inc
|
||||
|
||||
# Ship all kernel modules
|
||||
# Use built-in LCD by default
|
||||
XSERVER += "xf86-input-tslib"
|
||||
GUI_MACHINE_CLASS = "smallscreen"
|
||||
MACHINE_FEATURES += "touchscreen ethernet"
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz"
|
||||
EXTRA_IMAGECMD_jffs2 = "-lnp -e 0x20000 -s 2048"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyS0"
|
||||
SERIAL_CONSOLE = "115200 ttyO0"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omap-psp"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
UBOOT_MACHINE = "omap3_evm_config"
|
||||
XLOAD_MACHINE = "omap3evm_config"
|
||||
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen touchscreen"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am37x"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-am37x"
|
||||
|
||||
# NOTE: there are NAND and OneNAND versions of this board...
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
@@ -47,4 +33,3 @@ MKUBIFS_ARGS = "-m 2048 -e 129024 -c 1996"
|
||||
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
|
||||
# UBI: sub-page size: 512
|
||||
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"
|
||||
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: AM389x evm
|
||||
#@DESCRIPTION: Machine configuration for the AM389x evm
|
||||
|
||||
require conf/machine/include/ti814x.inc
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz"
|
||||
@@ -1,7 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: am389x evm
|
||||
#@DESCRIPTION: Machine configuration for the am389x evm
|
||||
|
||||
require conf/machine/include/ti816x.inc
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz"
|
||||
35
conf/machine/am437x-evm.conf
Normal file
35
conf/machine/am437x-evm.conf
Normal file
@@ -0,0 +1,35 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: AM437x EVM
|
||||
#@DESCRIPTION: Machine configuration for the TI AM437x EVM
|
||||
|
||||
require conf/machine/include/ti43x.inc
|
||||
|
||||
# Use built-in LCD by default
|
||||
XSERVER += "xf86-input-tslib"
|
||||
GUI_MACHINE_CLASS = "smallscreen"
|
||||
MACHINE_FEATURES += "touchscreen"
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyO0"
|
||||
|
||||
# UBI information. Note that this is board and kernel specific. Changes
|
||||
# in your kernel port may require changes in these variables. For more
|
||||
# details about this board please see
|
||||
# http://processors.wiki.ti.com/index.php/UBIFS_Support
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 11 -O 4096
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 4096
|
||||
# UBI: logical eraseblock size: 253952 bytes
|
||||
# from ubiattach stdout:
|
||||
# UBI device number 0, total 994 LEBs
|
||||
MKUBIFS_ARGS = "-F -m 4096 -e 253952 -c 994"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 11 -O 4096
|
||||
# from dmesg:
|
||||
# UBI: smallest flash I/O unit: 4096
|
||||
# UBI: physical eraseblock size: 262144 bytes (256 KiB)
|
||||
# UBI: sub-page size: 4096
|
||||
# UBI: VID header offset: 4096 (aligned 4096)
|
||||
UBINIZE_ARGS = "-m 4096 -p 256KiB -s 4096 -O 4096"
|
||||
@@ -2,27 +2,18 @@
|
||||
#@NAME: Beagleboard machine
|
||||
#@DESCRIPTION: Machine configuration for the http://beagleboard.org/ board
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-input-mouse \
|
||||
xf86-video-omapfb \
|
||||
xf86-input-keyboard"
|
||||
require conf/machine/include/omap3.inc
|
||||
|
||||
# Only has DVI connector for external screen
|
||||
GUI_MACHINE_CLASS = "bigscreen"
|
||||
|
||||
require conf/machine/include/omap3.inc
|
||||
|
||||
# SPL build
|
||||
EXTRA_IMAGEDEPENDS = "u-boot"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-mainline"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-beagleboard"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-beagleboard"
|
||||
|
||||
IMAGE_FSTYPES += "tar.gz ubi"
|
||||
EXTRA_IMAGECMD_jffs2 = "-lnp "
|
||||
EXTRA_IMAGECMD_jffs2 = "-lnp"
|
||||
|
||||
# Guesswork
|
||||
SERIAL_CONSOLE = "115200 ttyO2"
|
||||
|
||||
UBOOT_MACHINE = "omap3_beagle_config"
|
||||
@@ -44,8 +35,6 @@ MKUBIFS_ARGS = "-m 2048 -e 129024 -c 1996"
|
||||
# UBI: sub-page size: 512
|
||||
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"
|
||||
|
||||
# and sdio
|
||||
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
|
||||
|
||||
# For a modularized kernel we want to drag in networking, sound, rtc etc."
|
||||
MACHINE_EXTRA_RRECOMMENDS = "kernel-module-smsc95xx kernel-module-snd-soc-twl4030 kernel-module-rtc-twl"
|
||||
MACHINE_EXTRA_RRECOMMENDS = "kernel-module-smsc95xx kernel-module-snd-soc-twl4030 kernel-module-rtc-twl \
|
||||
kernel-module-snd-soc-omap kernel-module-snd-soc-omap-mcbsp kernel-module-snd-soc-omap3beagle"
|
||||
|
||||
@@ -2,25 +2,13 @@
|
||||
#@NAME: BeagleBone machine
|
||||
#@DESCRIPTION: Machine configuration for the http://beagleboard.org/bone board
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-video-fbdev"
|
||||
require conf/machine/include/ti33x.inc
|
||||
|
||||
# Only has DVI connector for external screen
|
||||
GUI_MACHINE_CLASS = "bigscreen"
|
||||
|
||||
require conf/machine/include/ti33x.inc
|
||||
EXTRA_IMAGEDEPENDS = "u-boot"
|
||||
IMAGE_FSTYPES += "tar.gz"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-ti33x-psp"
|
||||
|
||||
IMAGE_FSTYPES += "tar.bz2 "
|
||||
|
||||
# Guesswork
|
||||
SERIAL_CONSOLE = "115200 ttyO0"
|
||||
|
||||
UBOOT_MACHINE = "am335x_evm_config"
|
||||
|
||||
# and sdio
|
||||
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: c6a814x evm
|
||||
#@DESCRIPTION: Machine configuration for the c6a814x evm
|
||||
|
||||
require conf/machine/include/ti814x.inc
|
||||
@@ -1,5 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: c6a816x evm
|
||||
#@DESCRIPTION: Machine configuration for the c6a816x evm
|
||||
|
||||
require conf/machine/include/ti816x.inc
|
||||
@@ -1,5 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: DM814x evm
|
||||
#@DESCRIPTION: Machine configuration for the DM814x evm
|
||||
|
||||
require conf/machine/include/ti814x.inc
|
||||
36
conf/machine/dra7xx-evm.conf
Normal file
36
conf/machine/dra7xx-evm.conf
Normal file
@@ -0,0 +1,36 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: DRA7xx EVM
|
||||
#@DESCRIPTION: Machine configuration for the TI DRA7xx EVM
|
||||
|
||||
require conf/machine/include/omap-a15.inc
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyO0"
|
||||
|
||||
UBOOT_MACHINE = "dra7xx_evm_config"
|
||||
|
||||
# UBI information. Note that this is board and kernel specific. Changes
|
||||
# in your kernel port may require changes in these variables. For more
|
||||
# details about this board please see
|
||||
# http://processors.wiki.ti.com/index.php/UBIFS_Support
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: logical eraseblock size: 126976 bytes
|
||||
# from ubiattach stdout:
|
||||
# UBI device number 0, total 1988 LEBs
|
||||
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3836"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
|
||||
# from dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
|
||||
# UBI: sub-page size: 512
|
||||
# UBI: VID header offset: 2048 (aligned 2048)
|
||||
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512 -O 2048"
|
||||
|
||||
# Currently removing the sgx machine feature because there is no SGX package
|
||||
# available for omap5
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen touchscreen"
|
||||
@@ -1,29 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: OMAP-L138 based board
|
||||
#@DESCRIPTION: Machine configuration for the TI Hawkboard
|
||||
|
||||
require conf/machine/include/davinci.inc
|
||||
require conf/machine/include/omapl138.inc
|
||||
|
||||
UBOOT_MACHINE = "da850_omapl138_evm_config"
|
||||
UBOOT_ENTRYPOINT = "0xc0008000"
|
||||
UBOOT_LOADADDRESS = "0xc0008000"
|
||||
|
||||
MACHINE_FEATURES = "kernel26 serial ethernet ide screen"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: logical eraseblock size: 126976 bytes
|
||||
# from ubiattach stdout:
|
||||
# UBI device number 0, total 971 LEBs (123293696 bytes, 117.6 MiB), available 958 LEBs (121643008 bytes, 116.0 MiB), LEB size 126976 bytes (124.0 KiB)
|
||||
MKUBIFS_ARGS = "-m 2048 -e 126976 -c 948"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# from dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
|
||||
# UBI: sub-page size: 512
|
||||
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyS2"
|
||||
@@ -1,14 +1,13 @@
|
||||
require conf/machine/include/tune-arm926ejs.inc
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r51"
|
||||
|
||||
MACHINE_KERNEL_PR = "r53"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-davinci"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
|
||||
|
||||
UBOOT_MACHINE = "davinci_dvevm_config"
|
||||
|
||||
UBOOT_ENTRYPOINT = "0x80008000"
|
||||
@@ -19,6 +18,4 @@ EXTRA_IMAGEDEPENDS += "u-boot"
|
||||
SERIAL_CONSOLE ?= "115200 ttyS0"
|
||||
EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
|
||||
|
||||
#ROOT_FLASH_SIZE = "29"
|
||||
|
||||
MACHINE_FEATURES = "kernel26 serial ethernet usbhost usbgadget mmc alsa"
|
||||
|
||||
@@ -2,9 +2,13 @@ SOC_FAMILY = "keystone"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
require conf/machine/include/tune-cortexa15.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-keystone"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-keystone"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-keystone"
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r1"
|
||||
MACHINE_KERNEL_PR = "r7"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
@@ -12,3 +16,6 @@ UBOOT_ENTRYPOINT = "0x80008000"
|
||||
UBOOT_LOADADDRESS = "0x80008000"
|
||||
|
||||
EXTRA_IMAGEDEPENDS += "u-boot"
|
||||
EXTRA_IMAGEDEPENDS += "boot-monitor"
|
||||
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat pci"
|
||||
|
||||
30
conf/machine/include/omap-a15.inc
Normal file
30
conf/machine/include/omap-a15.inc
Normal file
@@ -0,0 +1,30 @@
|
||||
SOC_FAMILY = "omap-a15"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
require conf/machine/include/tune-cortexa15.inc
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r3"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging"
|
||||
|
||||
KERNEL_IMAGETYPE = "zImage"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
UBOOT_ENTRYPOINT = "0x80008000"
|
||||
UBOOT_LOADADDRESS = "0x80008000"
|
||||
|
||||
EXTRA_IMAGEDEPENDS += "virtual/bootloader"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-video-fbdev"
|
||||
|
||||
GUI_MACHINE_CLASS = "smallscreen"
|
||||
|
||||
# Use the expected value of the ubifs filesystem's volume name in the kernel
|
||||
# and u-boot.
|
||||
UBI_VOLNAME = "rootfs"
|
||||
@@ -2,14 +2,37 @@ SOC_FAMILY = "omap3"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
require conf/machine/include/tune-cortexa8.inc
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omap"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
|
||||
# For built-in LCD, add xf86-input-tslib
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-input-mouse \
|
||||
xf86-video-omapfb \
|
||||
xf86-input-keyboard"
|
||||
|
||||
# Default to external video, change to smallscreen for built-in LCD
|
||||
GUI_MACHINE_CLASS = "bigscreen"
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r122"
|
||||
MACHINE_KERNEL_PR = "r125"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
# Default providers, may need to override for specific machines
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omap"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
UBOOT_MACHINE = "omap3_evm_config"
|
||||
XLOAD_MACHINE = "omap3evm_config"
|
||||
|
||||
UBOOT_ENTRYPOINT = "0x80008000"
|
||||
UBOOT_LOADADDRESS = "0x80008000"
|
||||
|
||||
EXTRA_IMAGEDEPENDS += "u-boot x-load"
|
||||
# If SPL is not used, may need to add x-load
|
||||
EXTRA_IMAGEDEPENDS += "u-boot"
|
||||
|
||||
# List common SoC features, may need to add touchscreen/ethernet for specific machines
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa sgx"
|
||||
|
||||
@@ -8,9 +8,6 @@ PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
XSERVER = "xserver-xorg \
|
||||
xserver-xorg-extension-dri \
|
||||
xserver-xorg-extension-dri2 \
|
||||
xserver-xorg-extension-glx \
|
||||
xserver-xorg-module-exa \
|
||||
xf86-input-evdev \
|
||||
xf86-video-omap"
|
||||
@@ -20,6 +17,8 @@ MACHINE_KERNEL_PR = "r1"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
UBOOT_MACHINE = "omap4_panda_config"
|
||||
|
||||
UBOOT_ENTRYPOINT = "0x80008000"
|
||||
UBOOT_LOADADDRESS = "0x80008000"
|
||||
|
||||
|
||||
@@ -2,13 +2,40 @@ SOC_FAMILY = "ti33x"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
require conf/machine/include/tune-cortexa8.inc
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-ti33x-psp"
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r16"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
|
||||
# For built-in LCD, add xf86-input-tslib
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-input-mouse \
|
||||
xf86-video-fbdev \
|
||||
xf86-input-keyboard"
|
||||
|
||||
# Default to external video, change to smallscreen for built-in LCD
|
||||
GUI_MACHINE_CLASS = "bigscreen"
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r21"
|
||||
|
||||
# Default providers, may need to override for specific machines
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging"
|
||||
|
||||
KERNEL_IMAGETYPE = "zImage"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
UBOOT_MACHINE = "am335x_evm_config"
|
||||
|
||||
UBOOT_ENTRYPOINT = "0x80008000"
|
||||
UBOOT_LOADADDRESS = "0x80008000"
|
||||
|
||||
# Use the expected value of the ubifs filesystem's volume name in the kernel
|
||||
# and u-boot.
|
||||
UBI_VOLNAME = "rootfs"
|
||||
|
||||
EXTRA_IMAGEDEPENDS += "u-boot"
|
||||
|
||||
# List common SoC features, may need to add touchscreen for specific machines
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet sgx"
|
||||
|
||||
41
conf/machine/include/ti43x.inc
Normal file
41
conf/machine/include/ti43x.inc
Normal file
@@ -0,0 +1,41 @@
|
||||
SOC_FAMILY = "ti43x"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
require conf/machine/include/tune-cortexa9.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
|
||||
# For built-in LCD, add xf86-input-tslib
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-input-mouse \
|
||||
xf86-video-fbdev \
|
||||
xf86-input-keyboard"
|
||||
|
||||
# Default to external video, change to smallscreen for built-in LCD
|
||||
GUI_MACHINE_CLASS = "bigscreen"
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r2"
|
||||
|
||||
# Default providers, may need to override for specific machines
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-ti-staging"
|
||||
|
||||
KERNEL_IMAGETYPE = "zImage"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
UBOOT_MACHINE = "am43xx_evm_config"
|
||||
|
||||
UBOOT_ENTRYPOINT = "0x80008000"
|
||||
UBOOT_LOADADDRESS = "0x80008000"
|
||||
|
||||
# Use the expected value of the ubifs filesystem's volume name in the kernel
|
||||
# and u-boot.
|
||||
UBI_VOLNAME = "rootfs"
|
||||
|
||||
EXTRA_IMAGEDEPENDS += "u-boot"
|
||||
|
||||
# List common SoC features, may need to add touchscreen for specific machines
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet sgx"
|
||||
@@ -1,26 +0,0 @@
|
||||
SOC_FAMILY = "ti814x"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
require conf/machine/include/tune-cortexa8.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-ti81xx-psp"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r2"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
UBOOT_MACHINE = "ti8148_evm_config_nand"
|
||||
UBOOT_ENTRYPOINT = "0x80008000"
|
||||
UBOOT_LOADADDRESS = "0x80008000"
|
||||
|
||||
# Only build u-boot
|
||||
EXTRA_IMAGEDEPENDS += "u-boot"
|
||||
|
||||
# Ship all kernel modules
|
||||
IMAGE_FSTYPES += "jffs2 tar.bz2"
|
||||
EXTRA_IMAGECMD_jffs2 = "-lqn -e 128"
|
||||
SERIAL_CONSOLE = "115200 ttyO0"
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 ethernet"
|
||||
@@ -1,26 +0,0 @@
|
||||
SOC_FAMILY = "ti816x"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
require conf/machine/include/tune-cortexa8.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-ti81xx-psp"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r2"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
UBOOT_MACHINE = "ti8168_evm_config"
|
||||
UBOOT_ENTRYPOINT = "0x80008000"
|
||||
UBOOT_LOADADDRESS = "0x80008000"
|
||||
|
||||
# Only build u-boot
|
||||
EXTRA_IMAGEDEPENDS += "u-boot"
|
||||
|
||||
# Ship all kernel modules
|
||||
IMAGE_FSTYPES += "jffs2 tar.bz2"
|
||||
EXTRA_IMAGECMD_jffs2 = "-lqn -e 128"
|
||||
SERIAL_CONSOLE = "115200 ttyO2"
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 ethernet"
|
||||
@@ -1,24 +0,0 @@
|
||||
DEFAULTTUNE ?= "cortexa15-neon"
|
||||
|
||||
require conf/machine/include/arm/arch-armv7a.inc
|
||||
|
||||
TUNEVALID[cortexa15] = "Enable Cortex-A15 specific processor optimizations"
|
||||
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa15", "-mtune=cortex-a15", "", d)}"
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "cortexa15 cortexa15t cortexa15-neon"
|
||||
TUNE_FEATURES_tune-cortexa15 = "${TUNE_FEATURES_tune-armv7a} cortexa15"
|
||||
TUNE_FEATURES_tune-cortexa15t = "${TUNE_FEATURES_tune-armv7at} cortexa15"
|
||||
TUNE_FEATURES_tune-cortexa15-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa15"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a}"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at}"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon}"
|
||||
|
||||
# VFP Tunes
|
||||
AVAILTUNES += "cortexa15hf cortexa15thf cortexa15hf-neon"
|
||||
TUNE_FEATURES_tune-cortexa15hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa15"
|
||||
TUNE_FEATURES_tune-cortexa15thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa15"
|
||||
TUNE_FEATURES_tune-cortexa15hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa15"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf}"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf}"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon}"
|
||||
@@ -1,24 +0,0 @@
|
||||
DEFAULTTUNE ?= "cortexa7-neon"
|
||||
|
||||
require conf/machine/include/arm/arch-armv7a.inc
|
||||
|
||||
TUNEVALID[cortexa7] = "Enable Cortex-A7 specific processor optimizations"
|
||||
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa7", "-mtune=cortex-a7", "", d)}"
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "cortexa7 cortexa7t cortexa7-neon"
|
||||
TUNE_FEATURES_tune-cortexa7 = "${TUNE_FEATURES_tune-armv7a} cortexa7"
|
||||
TUNE_FEATURES_tune-cortexa7t = "${TUNE_FEATURES_tune-armv7at} cortexa7"
|
||||
TUNE_FEATURES_tune-cortexa7-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa7"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a}"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at}"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon}"
|
||||
|
||||
# VFP Tunes
|
||||
AVAILTUNES += "cortexa7hf cortexa7thf cortexa7hf-neon"
|
||||
TUNE_FEATURES_tune-cortexa7hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa7"
|
||||
TUNE_FEATURES_tune-cortexa7thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa7"
|
||||
TUNE_FEATURES_tune-cortexa7hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa7"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf}"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf}"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon}"
|
||||
30
conf/machine/k2e-evm.conf
Normal file
30
conf/machine/k2e-evm.conf
Normal file
@@ -0,0 +1,30 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Keystone 2 K2E machine
|
||||
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2E EVM
|
||||
|
||||
require conf/machine/include/keystone.inc
|
||||
|
||||
UBOOT_MACHINE = "k2e_evm_config"
|
||||
|
||||
BOOT_MONITOR_MAKE_TARGET = "k2e"
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz cpio"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyS0"
|
||||
|
||||
SYSVINIT_ENABLED_GETTYS = ""
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: logical eraseblock size: 126976 bytes
|
||||
# from ubiattach stdout:
|
||||
# UBI device number 0, total 3856 LEBs
|
||||
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3856"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# from dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
|
||||
# UBI: sub-page size: 2048
|
||||
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 2048 -O 2048"
|
||||
30
conf/machine/k2hk-evm.conf
Normal file
30
conf/machine/k2hk-evm.conf
Normal file
@@ -0,0 +1,30 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Keystone 2 K2HK machine
|
||||
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2HK EVM
|
||||
|
||||
require conf/machine/include/keystone.inc
|
||||
|
||||
UBOOT_MACHINE = "k2hk_evm_config"
|
||||
|
||||
BOOT_MONITOR_MAKE_TARGET = "k2hk"
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz cpio"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyS0"
|
||||
|
||||
SYSVINIT_ENABLED_GETTYS = ""
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: logical eraseblock size: 126976 bytes
|
||||
# from ubiattach stdout:
|
||||
# UBI device number 0, total 3856 LEBs
|
||||
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3856"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# from dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
|
||||
# UBI: sub-page size: 2048
|
||||
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 2048 -O 2048"
|
||||
30
conf/machine/k2l-evm.conf
Normal file
30
conf/machine/k2l-evm.conf
Normal file
@@ -0,0 +1,30 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Keystone 2 K2L machine
|
||||
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2L EVM
|
||||
|
||||
require conf/machine/include/keystone.inc
|
||||
|
||||
UBOOT_MACHINE = "k2l_evm_config"
|
||||
|
||||
BOOT_MONITOR_MAKE_TARGET = "k2l"
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz cpio"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyS0"
|
||||
|
||||
SYSVINIT_ENABLED_GETTYS = ""
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 4096
|
||||
# UBI: logical eraseblock size: 253952 bytes
|
||||
# from ubiattach stdout:
|
||||
# UBI device number 0, total 1926 LEBs
|
||||
MKUBIFS_ARGS = "-F -m 4096 -e 253952 -c 1926"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# from dmesg:
|
||||
# UBI: smallest flash I/O unit: 4096
|
||||
# UBI: physical eraseblock size: 256 KiB
|
||||
# UBI: sub-page size: 4096
|
||||
UBINIZE_ARGS = "-m 4096 -p 256KiB -s 4096 -O 4096"
|
||||
@@ -1,23 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Keystone 2 machine
|
||||
#@DESCRIPTION: Machine configuration for the TI Keystone 2
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-video-fbdev"
|
||||
|
||||
GUI_MACHINE_CLASS = "bigscreen"
|
||||
|
||||
require conf/machine/include/keystone.inc
|
||||
#EXTRA_IMAGEDEPENDS = "u-boot"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-keystone"
|
||||
|
||||
IMAGE_FSTYPES += "tar.bz2"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyO0"
|
||||
|
||||
UBOOT_MACHINE = "tci6638_evm_config"
|
||||
|
||||
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa"
|
||||
@@ -1,49 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Always Innovating touchbook
|
||||
#@DESCRIPTION: Machine configuration for the http://www.alwaysinnovating.com/touchbook/
|
||||
TARGET_ARCH = "arm"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-input-mouse \
|
||||
xf86-input-tslib \
|
||||
xf86-video-fbdev \
|
||||
xf86-video-omapfb \
|
||||
xf86-input-keyboard"
|
||||
|
||||
# Only has DVI connector for external screen
|
||||
GUI_MACHINE_CLASS = "bigscreen"
|
||||
|
||||
require conf/machine/include/omap3.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omap-psp"
|
||||
|
||||
IMAGE_FSTYPES += "tar.bz2"
|
||||
EXTRA_IMAGECMD_jffs2 = "-lnp "
|
||||
|
||||
# Guesswork
|
||||
SERIAL_CONSOLE = "115200 ttyS2"
|
||||
|
||||
UBOOT_MACHINE = "omap3_beagle_config"
|
||||
XLOAD_MACHINE = "beagleboard_config"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: logical eraseblock size: 129024 bytes
|
||||
# from ubiattach stdout:
|
||||
# UBI device number 0, total 1996 LEBs
|
||||
MKUBIFS_ARGS = "-m 2048 -e 129024 -c 1996"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# from dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
|
||||
# UBI: sub-page size: 512
|
||||
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"
|
||||
|
||||
|
||||
|
||||
# and sdio
|
||||
MACHINE_FEATURES = "kernel26 screen apm usbgadget usbhost vfat alsa touchscreen"
|
||||
@@ -1,23 +1,15 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: OMAP3 EVM
|
||||
#@DESCRIPTION: Machine configuration for the TI OMAP3 EVM
|
||||
TARGET_ARCH = "arm"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
XSERVER = "xserver-xorg \
|
||||
xf86-input-evdev \
|
||||
xf86-input-mouse \
|
||||
xf86-input-tslib \
|
||||
xf86-video-omapfb \
|
||||
xf86-input-keyboard"
|
||||
|
||||
GUI_MACHINE_CLASS = "smallscreen"
|
||||
|
||||
require conf/machine/include/omap3.inc
|
||||
|
||||
# Ship all kernel modules
|
||||
# Use built-in LCD by default
|
||||
XSERVER += "xf86-input-tslib"
|
||||
GUI_MACHINE_CLASS = "smallscreen"
|
||||
MACHINE_FEATURES += "touchscreen ethernet"
|
||||
|
||||
IMAGE_FSTYPES += "jffs2 tar.bz2"
|
||||
IMAGE_FSTYPES += "jffs2 tar.gz"
|
||||
EXTRA_IMAGECMD_jffs2 = "-lnp -e 0x20000 -s 2048"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyS0"
|
||||
@@ -25,16 +17,9 @@ USE_VT = "0"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omap-psp"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
UBOOT_MACHINE = "omap3_evm_config"
|
||||
XLOAD_MACHINE = "omap3evm_config"
|
||||
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen touchscreen"
|
||||
EXTRA_IMAGEDEPENDS += "x-load"
|
||||
|
||||
# NOTE: there are NAND and OneNAND versions of this board...
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
@@ -49,4 +34,3 @@ MKUBIFS_ARGS = "-m 2048 -e 129024 -c 1996"
|
||||
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
|
||||
# UBI: sub-page size: 512
|
||||
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"
|
||||
|
||||
|
||||
36
conf/machine/omap5-evm.conf
Normal file
36
conf/machine/omap5-evm.conf
Normal file
@@ -0,0 +1,36 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: OMAP5 EVM
|
||||
#@DESCRIPTION: Machine configuration for the TI OMAP5 uEVM
|
||||
|
||||
require conf/machine/include/omap-a15.inc
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyO2"
|
||||
|
||||
# UBI information. Note that this is board and kernel specific. Changes
|
||||
# in your kernel port may require changes in these variables. For more
|
||||
# details about this board please see
|
||||
# http://processors.wiki.ti.com/index.php/UBIFS_Support
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: logical eraseblock size: 126976 bytes
|
||||
# from ubiattach stdout:
|
||||
# UBI device number 0, total 1988 LEBs
|
||||
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3836"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
|
||||
# from dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
|
||||
# UBI: sub-page size: 512
|
||||
# UBI: VID header offset: 2048 (aligned 2048)
|
||||
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512 -O 2048"
|
||||
|
||||
UBOOT_MACHINE = "omap5_uevm_config"
|
||||
|
||||
# Currently removing the sgx machine feature because there is no SGX package
|
||||
# available for omap5
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen touchscreen"
|
||||
@@ -4,15 +4,11 @@
|
||||
|
||||
require conf/machine/include/omap4.inc
|
||||
|
||||
UBOOT_MACHINE = "omap4_panda_config"
|
||||
|
||||
GUI_MACHINE_CLASS = "bigscreen"
|
||||
|
||||
IMAGE_FSTYPES += "tar.bz2"
|
||||
IMAGE_FSTYPES += "tar.gz"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyO2"
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
|
||||
MACHINE_FEATURES = "kernel26 wifi bluetooth alsa apm ext2 screen touchscreen usbgadget usbhost vfat"
|
||||
|
||||
|
||||
MACHINE_FEATURES = "kernel26 wifi bluetooth alsa apm ext2 screen usbgadget usbhost vfat sgx"
|
||||
|
||||
23
recipes-bsp/abefw/abefw_1.0.14.bb
Normal file
23
recipes-bsp/abefw/abefw_1.0.14.bb
Normal file
@@ -0,0 +1,23 @@
|
||||
SUMMARY = "Firmware for OMAP4 and OMAP5 ABE"
|
||||
HOMEPAGE = "http://git.ti.com"
|
||||
LICENSE = "BSD | GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=923db086ed9463ab3215b24d87e05ec5"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
COMPATIBLE_MACHINE = "pandaboard|omap5-evm"
|
||||
|
||||
SRC_URI = "git://git.ti.com/glsdk/abefw-omap4plus.git;protocol=git"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRCREV = "ceccc0332264e39bdc51e54f80ea7256a3886c58"
|
||||
|
||||
PR = "r0"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/firmware
|
||||
cp ${S}/firmware/omap4_abe_new ${D}/lib/firmware/
|
||||
}
|
||||
|
||||
FILES_${PN} += "/lib/firmware/omap4_abe_new"
|
||||
39
recipes-bsp/boot-monitor/boot-monitor_git.bb
Normal file
39
recipes-bsp/boot-monitor/boot-monitor_git.bb
Normal file
@@ -0,0 +1,39 @@
|
||||
DESCRIPTION = "Boot Monitor - TI ARM Boot monitor code"
|
||||
EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
|
||||
|
||||
LICENSE = "BSD"
|
||||
|
||||
BOOT_MONITOR_BINARY ?= "skern.bin"
|
||||
BOOT_MONITOR_IMAGE ?= "skern-${MACHINE}.bin"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=25fe219a6febf6e5bb45beda1b2eb315"
|
||||
|
||||
COMPATIBLE_MACHINE = "keystone"
|
||||
|
||||
SRC_URI = "git://git.ti.com/keystone-linux/boot-monitor.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
PV = "2.0"
|
||||
PR = "r1+gitr${SRCPV}"
|
||||
|
||||
BRANCH = "master"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
#Tag "K2_BM_14.05"
|
||||
SRCREV = "0e3ffe1ea4a0cee38ae2406901b7cf4d5324b5e9"
|
||||
|
||||
do_compile () {
|
||||
unset LDFLAGS
|
||||
unset CFLAGS
|
||||
unset CPPFLAGS
|
||||
oe_runmake ${BOOT_MONITOR_MAKE_TARGET}
|
||||
}
|
||||
|
||||
inherit deploy
|
||||
|
||||
addtask deploy before do_build after do_compile
|
||||
|
||||
do_deploy () {
|
||||
install -d ${DEPLOYDIR}
|
||||
install ${S}/${BOOT_MONITOR_BINARY} ${DEPLOYDIR}/${BOOT_MONITOR_IMAGE}
|
||||
}
|
||||
12
recipes-bsp/cmem/cmem-mod_git.bb
Normal file
12
recipes-bsp/cmem/cmem-mod_git.bb
Normal file
@@ -0,0 +1,12 @@
|
||||
DESCRIPTION = "Kernel module for contiguous memory allocation from userspace"
|
||||
|
||||
include cmem.inc
|
||||
|
||||
# This package builds a kernel module, use kernel PR as base and append a local
|
||||
MACHINE_KERNEL_PR_append = "a+gitr${SRCPV}"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
inherit module
|
||||
|
||||
EXTRA_OEMAKE += '-f lu.mak KERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" TOOLCHAIN_PREFIX="${TOOLCHAIN_PREFIX}" EXEC_DIR="${D}/lib/modules/${KERNEL_VERSION}/extra"'
|
||||
MAKE_TARGETS = "module"
|
||||
12
recipes-bsp/cmem/cmem.inc
Normal file
12
recipes-bsp/cmem/cmem.inc
Normal file
@@ -0,0 +1,12 @@
|
||||
HOMEPAGE = "http://processors.wiki.ti.com/index.php/Category:CMEM"
|
||||
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://include/ti/cmem.h;beginline=1;endline=30;md5=b86138d4028fb8310b3b983024edc620"
|
||||
|
||||
BRANCH ?= "master"
|
||||
# This corresponds to version 4.00.01.08
|
||||
SRCREV = "0b68dfe9f155a1978cdb2178e052dc0d6f1e705b"
|
||||
|
||||
SRC_URI = "git://git.ti.com/ipc/ludev.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
13
recipes-bsp/cmem/cmem_git.bb
Normal file
13
recipes-bsp/cmem/cmem_git.bb
Normal file
@@ -0,0 +1,13 @@
|
||||
DESCRIPTION = "The cmem component supports contiguous memory allocation from userspace"
|
||||
|
||||
include cmem.inc
|
||||
|
||||
RDEPENDS_${PN} = "cmem-mod"
|
||||
|
||||
PR = "r0+gitr${SRCPV}"
|
||||
|
||||
PACKAGES =+ "${PN}-test"
|
||||
|
||||
FILES_${PN}-test = "${bindir}/*"
|
||||
|
||||
inherit autotools
|
||||
@@ -1,3 +1,2 @@
|
||||
THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"
|
||||
FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:"
|
||||
|
||||
PRINC := "${@int(PRINC) + 1}"
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs (for X11)"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "4_09_00_01"
|
||||
IMGPV = "1.9.2188537"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "d"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
# Select the corresponding hardfp/softfp filename and checksums based on tune flags
|
||||
BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
|
||||
MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
|
||||
SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
|
||||
MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
|
||||
SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
|
||||
|
||||
BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
|
||||
SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
|
||||
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti33x = "dc_ti335x_linux"
|
||||
|
||||
export SUPPORT_XORG ?= "1"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_compile() {
|
||||
export TOOLCHAIN="${TOOLCHAIN_PATH}"
|
||||
export PLAT_CC="${CC}"
|
||||
export PLAT_CPP="${CXX}"
|
||||
export PLAR_AR="${AR}"
|
||||
for kernelver in ${WORKDIR}/../../${PREFERRED_PROVIDER_virtual/kernel}/* ; do
|
||||
cp -f $kernelver/git/drivers/gpu/drm/*.c ${S}/services4/3rdparty/linux_drm/
|
||||
done
|
||||
if [ $(echo -e "${KERNEL_VERSION}\n3.3" | sort --version-sort | head -1) = "3.3" ] ; then
|
||||
cp -f ${S}/services4/3rdparty/linux_drm/Kbuild_3.3 \
|
||||
${S}/services4/3rdparty/linux_drm/Kbuild || true
|
||||
else
|
||||
if [ $(echo -e "${KERNEL_VERSION}\n3.2" | sort --version-sort | head -1) = "3.2" ] ; then
|
||||
cp -f ${S}/services4/3rdparty/linux_drm/Kbuild_3.2 \
|
||||
${S}/services4/3rdparty/linux_drm/Kbuild || true
|
||||
fi
|
||||
fi
|
||||
oe_runmake BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
|
||||
cp ${S}/services4/3rdparty/linux_drm/drm.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
}
|
||||
@@ -1,38 +1,38 @@
|
||||
From: Steve Sakoman
|
||||
Subject: omap3-sgx-modules: Fix build for Linux 3.0
|
||||
|
||||
This patch implements the header change from plat/display.h to video/omapdss.h
|
||||
|
||||
Signed-off-by: Steve Sakoman <steve@sakoman.com>
|
||||
|
||||
--- GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c-orig 2011-08-01 07:21:45.000000000 -0700
|
||||
+++ GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c 2011-08-01 07:29:32.000000000 -0700
|
||||
@@ -47,12 +47,12 @@
|
||||
#if defined (SUPPORT_TI_DSS_FW)
|
||||
#include <asm/io.h>
|
||||
|
||||
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
|
||||
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31))
|
||||
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,39)))
|
||||
+#include <video/omapdss.h>
|
||||
+#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31))
|
||||
#include <plat/display.h>
|
||||
-#else
|
||||
+#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
|
||||
#include <mach/display.h>
|
||||
-#endif
|
||||
#else
|
||||
#include <asm/arch-omap/display.h>
|
||||
#endif
|
||||
@@ -64,7 +64,11 @@ extern int omap_dispc_request_irq(unsign
|
||||
extern void omap_dispc_free_irq(unsigned long, void (*)(void *), void *);
|
||||
extern void omap_dispc_set_plane_base(int plane, IMG_UINT32 phys_addr);
|
||||
#else
|
||||
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,39))
|
||||
+#include <video/omapdss.h>
|
||||
+#else
|
||||
#include <plat/display.h>
|
||||
+#endif
|
||||
#include <linux/console.h>
|
||||
#include <linux/fb.h>
|
||||
static omap_dispc_isr_t *pOMAPLFBVSyncISRHandle = NULL;
|
||||
From: Steve Sakoman
|
||||
Subject: omap3-sgx-modules: Fix build for Linux 3.0
|
||||
|
||||
This patch implements the header change from plat/display.h to video/omapdss.h
|
||||
|
||||
Signed-off-by: Steve Sakoman <steve at sakoman.com>
|
||||
|
||||
--- GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c-orig 2011-08-01 07:21:45.000000000 -0700
|
||||
+++ GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c 2011-08-01 07:29:32.000000000 -0700
|
||||
@@ -47,12 +47,12 @@
|
||||
#if defined (SUPPORT_TI_DSS_FW)
|
||||
#include <asm/io.h>
|
||||
|
||||
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
|
||||
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31))
|
||||
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,39)))
|
||||
+#include <video/omapdss.h>
|
||||
+#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31))
|
||||
#include <plat/display.h>
|
||||
-#else
|
||||
+#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
|
||||
#include <mach/display.h>
|
||||
-#endif
|
||||
#else
|
||||
#include <asm/arch-omap/display.h>
|
||||
#endif
|
||||
@@ -64,7 +64,11 @@ extern int omap_dispc_request_irq(unsign
|
||||
extern void omap_dispc_free_irq(unsigned long, void (*)(void *), void *);
|
||||
extern void omap_dispc_set_plane_base(int plane, IMG_UINT32 phys_addr);
|
||||
#else
|
||||
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,39))
|
||||
+#include <video/omapdss.h>
|
||||
+#else
|
||||
#include <plat/display.h>
|
||||
+#endif
|
||||
#include <linux/console.h>
|
||||
#include <linux/fb.h>
|
||||
static omap_dispc_isr_t *pOMAPLFBVSyncISRHandle = NULL;
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=21228a42e27d1d104b31a83f7c9da935"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "4_03_00_02"
|
||||
IMGPV = "1.6.16.3977"
|
||||
BINFILE := "Graphics_SDK_setuplinux_${SGXPV}.bin"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "b"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
|
||||
file://Compile-fixes-for-38-kernel.patch \
|
||||
file://kernel-30.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "ff8c1f2b8e4cb42f4ced6a613b081ada"
|
||||
SRC_URI[sha256sum] = "cdb0bd3964e107733d632aa8224e0537b05c1ffac34befc036423458c8d75255"
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omap3430_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM}"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
}
|
||||
@@ -13,6 +13,8 @@ inherit module
|
||||
MACHINE_KERNEL_PR_append = "b"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
DEFAULT_PREFERENCE_omap3 = "99"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/Graphics_SDK_setuplinux_${SGXPV}.bin \
|
||||
"
|
||||
SRC_URI[md5sum] = "0e651eaa92bb91760f0b40a17697a7dc"
|
||||
|
||||
54
recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.01.bb
Normal file
54
recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.01.bb
Normal file
@@ -0,0 +1,54 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "4_08_00_01"
|
||||
IMGPV = "1.9.2139099"
|
||||
BINFILE = "Graphics_SDK_setuplinux_${SGXPV}.bin"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] = "dd0d994a48ecc4293f272a1fddddf159"
|
||||
SRC_URI[sha256sum] = "fd721288c95314e0d676dd89462e1dec994e185cb608bcb8ac4a4b5809f9693a"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
|
||||
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti33x = "dc_ti335x_linux"
|
||||
|
||||
export SUPPORT_XORG ?= "${@base_contains('DISTRO_FEATURES', 'x11', '1', '0', d)}"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
|
||||
if [ "${SUPPORT_XORG}" = "1" ]; then
|
||||
cp ${S}/services4/3rdparty/linux_drm/drm.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
fi
|
||||
}
|
||||
54
recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.02.bb
Normal file
54
recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.02.bb
Normal file
@@ -0,0 +1,54 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "4_08_00_02"
|
||||
IMGPV = "1.9.2188537"
|
||||
BINFILE = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] = "0efa3a38266e6f41f8cc4fad0187f0d6"
|
||||
SRC_URI[sha256sum] = "c732044b515a598e1fab661b7463aa9c53d4fa37f4980dfa85cd02b7468d0cd9"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
|
||||
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti33x = "dc_ti335x_linux"
|
||||
|
||||
export SUPPORT_XORG ?= "${@base_contains('DISTRO_FEATURES', 'x11', '1', '0', d)}"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
|
||||
if [ "${SUPPORT_XORG}" = "1" ]; then
|
||||
cp ${S}/services4/3rdparty/linux_drm/drm.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
fi
|
||||
}
|
||||
62
recipes-bsp/powervr-drivers/omap3-sgx-modules_4.09.00.01.bb
Normal file
62
recipes-bsp/powervr-drivers/omap3-sgx-modules_4.09.00.01.bb
Normal file
@@ -0,0 +1,62 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "4_09_00_01"
|
||||
IMGPV = "1.9.2188537"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "c"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
# Select the corresponding hardfp/softfp filename and checksums based on tune flags
|
||||
BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
|
||||
MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
|
||||
SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
|
||||
MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
|
||||
SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
|
||||
|
||||
BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
|
||||
SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
|
||||
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti33x = "dc_ti335x_linux"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=0"
|
||||
|
||||
MAKE_TARGETS_append_ti33x = " PM_RUNTIME=1"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
}
|
||||
67
recipes-bsp/powervr-drivers/omap3-sgx-modules_5.00.00.01.bb
Normal file
67
recipes-bsp/powervr-drivers/omap3-sgx-modules_5.00.00.01.bb
Normal file
@@ -0,0 +1,67 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "5_00_00_01"
|
||||
IMGPV = "1.10.2359475"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_alpha_hardfp_minimal_demos.bin"
|
||||
MD5SUM_HARDFP = "ae6125d7f8a313ea5c02afded893052d"
|
||||
SHA256SUM_HARDFP = "c2782a2f85024741722b936ec9dca66b858ae8561aa71b693f11e12d8c0385e0"
|
||||
|
||||
# For now we only have hardfp version
|
||||
python __anonymous() {
|
||||
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
|
||||
if not tunes:
|
||||
return
|
||||
pkgn = bb.data.getVar("PN", d, 1)
|
||||
pkgv = bb.data.getVar("PV", d, 1)
|
||||
if "callconvention-hard" not in tunes:
|
||||
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
}
|
||||
|
||||
BINFILE := "${BINFILE_HARDFP}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
|
||||
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
TI_PLATFORM_ti43x = "ti43xx"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
|
||||
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti33x = "dc_ti335x_linux"
|
||||
MODULESLOCATION_ti43x = "dc_ti43xx_linux"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
}
|
||||
67
recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.00.01.bb
Normal file
67
recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.00.01.bb
Normal file
@@ -0,0 +1,67 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "5_01_00_01"
|
||||
IMGPV = "1.10.2359475"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
|
||||
MD5SUM_HARDFP = "0ee7d59808330d442a51c0990c2cb30e"
|
||||
SHA256SUM_HARDFP = "769daae439677a7a85bbbced14cee4f85b19823e0b99560078d0a864c525c128"
|
||||
|
||||
# For now we only have hardfp version
|
||||
python __anonymous() {
|
||||
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
|
||||
if not tunes:
|
||||
return
|
||||
pkgn = bb.data.getVar("PN", d, 1)
|
||||
pkgv = bb.data.getVar("PV", d, 1)
|
||||
if "callconvention-hard" not in tunes:
|
||||
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
}
|
||||
|
||||
BINFILE := "${BINFILE_HARDFP}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
|
||||
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
TI_PLATFORM_ti43x = "ti43xx"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
|
||||
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti33x = "dc_ti335x_linux"
|
||||
MODULESLOCATION_ti43x = "dc_ti43xx_linux"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
}
|
||||
67
recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.01.bb
Normal file
67
recipes-bsp/powervr-drivers/omap3-sgx-modules_5.01.01.01.bb
Normal file
@@ -0,0 +1,67 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "5_01_01_01"
|
||||
IMGPV = "1.10.2359475"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
|
||||
MD5SUM_HARDFP = "94acdbd20152c905939c2448d5e80a72"
|
||||
SHA256SUM_HARDFP = "7f647bf45a5ce8ba9aaa28c4afe85fced4275f9a4567a1886d4460b76c9051ae"
|
||||
|
||||
# For now we only have hardfp version
|
||||
python __anonymous() {
|
||||
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
|
||||
if not tunes:
|
||||
return
|
||||
pkgn = bb.data.getVar("PN", d, 1)
|
||||
pkgv = bb.data.getVar("PV", d, 1)
|
||||
if "callconvention-hard" not in tunes:
|
||||
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
}
|
||||
|
||||
BINFILE := "${BINFILE_HARDFP}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
|
||||
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
TI_PLATFORM_ti43x = "ti43xx"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
|
||||
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti33x = "dc_ti335x_linux"
|
||||
MODULESLOCATION_ti43x = "dc_ti43xx_linux"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
}
|
||||
26
recipes-bsp/powervr-drivers/omapdrm-pvr_1.9.2253347.bb
Normal file
26
recipes-bsp/powervr-drivers/omapdrm-pvr_1.9.2253347.bb
Normal file
@@ -0,0 +1,26 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap5 SoCs"
|
||||
HOMEPAGE = "http://git.ti.com"
|
||||
LICENSE = "MIT | GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://README;beginline=13;endline=22;md5=74506d9b8e5edbce66c2747c50fcef12"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
SRC_URI = "git://git.ti.com/graphics/omap5-sgx-ddk-linux.git;protocol=git"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRCREV = "86a4ffae3458c51f0a58e44b17b7a4fd92d2b8c6"
|
||||
|
||||
EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}"'
|
||||
|
||||
do_compile_prepend() {
|
||||
cd ${S}/eurasiacon/build/linux2/omap5430_linux
|
||||
}
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/extra/
|
||||
cp ${S}/eurasiacon/binary2_omap5430_linux_release/target/kbuild/omapdrm_pvr.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/extra/
|
||||
}
|
||||
30
recipes-bsp/pru/ti-pru-sw-edma-driver_1.00.00.bb
Normal file
30
recipes-bsp/pru/ti-pru-sw-edma-driver_1.00.00.bb
Normal file
@@ -0,0 +1,30 @@
|
||||
DESCRIPTION = "Builds eDMA module used by eDMA libraries for PRU sw example applications"
|
||||
HOMEPAGE = "https://gforge.ti.com/gf/project/pru_sw/"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://edmautils.c;beginline=1;endline=23;md5=312e9cb8a37a044c617c98a9e980ad1b"
|
||||
|
||||
COMPATIBLE_MACHINE = "omapl138"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
MACHINE_KERNEL_PR_append = "b+svnr${SRCPV}"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
SRC_URI = "svn://gforge.ti.com/svn/pru_sw/;module=trunk;protocol=https;user=anonymous;pswd=''"
|
||||
|
||||
SRCREV = "33"
|
||||
|
||||
S = "${WORKDIR}/trunk/peripheral_lib/edma_driver/module"
|
||||
|
||||
inherit module
|
||||
|
||||
EXTRA_OEMAKE += "KERNEL_DIR='${STAGING_KERNEL_DIR}'"
|
||||
|
||||
do_compile_prepend () {
|
||||
export CCTOOL_PREFIX="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}"
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/pru
|
||||
install -m 0755 ${S}/edmautils.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/pru/
|
||||
}
|
||||
34
recipes-bsp/ti-ocf-crypto-module/ti-ocf-crypto-module_1.0.bb
Normal file
34
recipes-bsp/ti-ocf-crypto-module/ti-ocf-crypto-module_1.0.bb
Normal file
@@ -0,0 +1,34 @@
|
||||
DESCRIPTION = "Builds Crypto module used by OCF-Linux driver in OpenSSL example applications"
|
||||
HOMEPAGE = "https://gforge.ti.com/gf/project/arm_crypto/"
|
||||
LICENSE = "BSD & GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://Makefile;beginline=1;endline=16;md5=acc0590f80e72fd64ad5c16cad8f4f76 \
|
||||
file://ocf_omap3_crypto.c;beginline=436;endline=438;md5=a52cad5c37c3aa3f27c6391552967304"
|
||||
|
||||
COMPATIBLE_MACHINE = "am37x-evm|am3517-evm"
|
||||
|
||||
DEPENDS += "virtual/kernel"
|
||||
|
||||
SRC_URI = "svn://gforge.ti.com/svn/arm_crypto/;module=trunk;protocol=https;user=anonymous;pswd=''"
|
||||
|
||||
#gforge source revision
|
||||
SRCREV = "17"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
S = "${WORKDIR}/trunk"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "b+svnr${SRCPV}"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
EXTRA_OEMAKE += "KERNEL_DIR=${STAGING_KERNEL_DIR}"
|
||||
|
||||
do_compile_prepend () {
|
||||
sed -i "s/arm-none-linux-gnueabi-/${TARGET_PREFIX}/g" ${S}/Makefile
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}/lib/modules/${KERNEL_VERSION}/crypto/ocf/
|
||||
install -m 0755 ${S}/ocf_omap3_cryptok.ko ${D}/lib/modules/${KERNEL_VERSION}/crypto/ocf/
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
DESCRIPTION = "AM SysInfo"
|
||||
HOMEPAGE = "https://gforge.ti.com/gf/project/am_sysinfo/"
|
||||
LICENSE = "BSD"
|
||||
LIC_FILES_CHKSUM = "file://mem_util/mem_util.c;beginline=1;endline=37;md5=8aa8e714ab729cfe8177298af8a5a25d"
|
||||
|
||||
SECTION = "system"
|
||||
|
||||
SRCREV = "5"
|
||||
PV = "1.0"
|
||||
PR = "r1+svnr${SRCPV}"
|
||||
|
||||
SRC_URI = "svn://gforge.ti.com/svn/am_sysinfo/;module=trunk;protocol=https;user=anonymous;pswd=''"
|
||||
|
||||
S = "${WORKDIR}/trunk"
|
||||
|
||||
do_compile() {
|
||||
${CC} ${CFLAGS} ${LDFLAGS} -o mem_util/mem_util mem_util/mem_util.c
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/${bindir}
|
||||
install -m 0755 ${S}/mem_util/mem_util ${D}/${bindir}
|
||||
}
|
||||
6
recipes-bsp/ti/am33x-cm3/init-am33x-cm3
Normal file
6
recipes-bsp/ti/am33x-cm3/init-am33x-cm3
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Load the PM CM3 firmware
|
||||
echo 1 > /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading
|
||||
cat /lib/firmware/am335x-pm-firmware.bin > /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/data
|
||||
echo 0 > /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading
|
||||
6
recipes-bsp/ti/am33x-cm3/init-am43x-cm3
Normal file
6
recipes-bsp/ti/am33x-cm3/init-am43x-cm3
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Load the PM CM3 firmware
|
||||
echo 1 > /sys/devices/44000000.ocp/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading
|
||||
cat /lib/firmware/am335x-pm-firmware.bin > /sys/devices/44000000.ocp/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/data
|
||||
echo 0 > /sys/devices/44000000.ocp/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading
|
||||
@@ -1,23 +1,55 @@
|
||||
DESCRIPTION = "Cortex-M3 binary blob for suspend-resume"
|
||||
|
||||
LICENSE = "TI-BSD"
|
||||
LIC_FILES_CHKSUM = "file://License.txt;md5=858099c817e47ea63559fc6b67ae8d91"
|
||||
LIC_FILES_CHKSUM = "file://License.txt;md5=7bdc54a749ab7a7dea999d25d99a41b8"
|
||||
|
||||
PV = "04.06.00.07"
|
||||
SRCREV = "cf07b841d6e8c5e026eecb259d143f3dff412c8e"
|
||||
PV = "05.00.00.03"
|
||||
PR = "r0"
|
||||
|
||||
SRC_URI = "git://arago-project.org/git/projects/am33x-cm3.git"
|
||||
# Make package machine specific due to different init scripts
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
# SRCREV corresponds to tag v05.00.00.03
|
||||
SRCREV = "a0ddffb63147e2079a08944c0e399c75538201a9"
|
||||
BRANCH ?= "master"
|
||||
|
||||
# This init script is only used for older kernels that do not support
|
||||
# hotplug of the firmware. Newer kernels do not require the initscript
|
||||
# package.
|
||||
INITSCRIPT_NAME = "am335x-pm-firmware-load"
|
||||
INITSCRIPT_PARAMS = "defaults 96"
|
||||
|
||||
inherit update-rc.d
|
||||
|
||||
UPDATERCPN = "${PN}-initscript"
|
||||
|
||||
RDEPENDS_${PN}-initscript = "am33x-cm3"
|
||||
|
||||
SRC_URI = "git://arago-project.org/git/projects/am33x-cm3.git;protocol=git;branch=${BRANCH} \
|
||||
file://init-am33x-cm3 \
|
||||
file://init-am43x-cm3 \
|
||||
"
|
||||
|
||||
SCRIPT_ti33x = "init-am33x-cm3"
|
||||
SCRIPT_ti43x = "init-am43x-cm3"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_compile() {
|
||||
make CC="${TARGET_CC}" CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
make CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${base_libdir}/firmware
|
||||
install -m 0644 bin/am335x-pm-firmware.bin ${D}${base_libdir}/firmware/
|
||||
|
||||
# Install the init script to load the PM firmware at boot
|
||||
install -d ${D}${sysconfdir}/init.d
|
||||
install -m 0755 ${WORKDIR}/${SCRIPT} ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
|
||||
}
|
||||
|
||||
FILES_${PN} = "${base_libdir}/firmware"
|
||||
PACKAGES =+ "${PN}-initscript"
|
||||
|
||||
FILES_${PN} += "${base_libdir}/firmware"
|
||||
|
||||
FILES_${PN}-initscript = "${sysconfdir}/*"
|
||||
|
||||
29
recipes-bsp/ti/vpe-vpdma_git.bb
Normal file
29
recipes-bsp/ti/vpe-vpdma_git.bb
Normal file
@@ -0,0 +1,29 @@
|
||||
DESCRIPTION = "VPE VPDMA firmware and test program"
|
||||
|
||||
DEPENDS += "virtual/kernel"
|
||||
|
||||
LICENSE = "BSD"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=74d2f71d8898c54e3d1c9d0058c484aa"
|
||||
|
||||
COMPATIBLE_MACHINE = "dra7xx-evm"
|
||||
|
||||
PV = "1b8"
|
||||
PR = "r1"
|
||||
|
||||
SRCREV = "e3d8db1aa935775f9d196ad7428e0cd9864a36ca"
|
||||
BRANCH ?= "master"
|
||||
|
||||
SRC_URI = "git://git.ti.com/vpe_tests/vpe_tests.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
# The test application needs additional include headers from the kernel
|
||||
EXTRA_OEMAKE = 'CROSS_COMPILE="${TARGET_PREFIX}" KDIR="${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include"'
|
||||
|
||||
do_install() {
|
||||
oe_runmake DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
# Separate the firmware into it's own package.
|
||||
PACKAGES =+ "${PN}-fw"
|
||||
FILES_${PN}-fw += "${base_libdir}/firmware"
|
||||
@@ -0,0 +1,34 @@
|
||||
From df5c87c4e1be1670475eba1187301a2f7a7aca30 Mon Sep 17 00:00:00 2001
|
||||
From: Chase Maupin <Chase.Maupin@ti.com>
|
||||
Date: Wed, 22 Jun 2011 12:12:09 -0500
|
||||
Subject: [PATCH] da850evm: change default memory to not limit at 32MB
|
||||
|
||||
* Change the default mem= option passed to the Linux kernel to
|
||||
not limit the memory to 32MB.
|
||||
* This change is used by AM devices that do not need to reserve
|
||||
space for the DSP image. By removing the mem= option we get
|
||||
access to all of the memory on the system.
|
||||
* Limiting the memory to 32MB causes out-of-memory errors
|
||||
when running large applications such as web browsers
|
||||
|
||||
Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
|
||||
---
|
||||
include/configs/da850evm.h | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h
|
||||
index 4a1e0af..55badc9 100755
|
||||
--- a/include/configs/da850evm.h
|
||||
+++ b/include/configs/da850evm.h
|
||||
@@ -184,7 +184,7 @@
|
||||
#define CONFIG_CMDLINE_TAG
|
||||
#define CONFIG_REVISION_TAG
|
||||
#define CONFIG_SETUP_MEMORY_TAGS
|
||||
-#define CONFIG_BOOTARGS "mem=32M console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off"
|
||||
+#define CONFIG_BOOTARGS "console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait ip=off"
|
||||
#define CONFIG_BOOTCOMMAND "if mmc rescan 0; then if fatload mmc 0 0xc0600000 boot.scr; then source 0xc0600000; else fatload mmc 0 0xc0700000 uImage; bootm c0700000; fi; else sf probe 0; sf read 0xc0700000 0x80000 0x220000; bootm 0xc0700000; fi"
|
||||
#define CONFIG_BOOTDELAY 3
|
||||
|
||||
--
|
||||
1.7.0.4
|
||||
|
||||
22
recipes-bsp/u-boot/u-boot-am180x_2010.12.bb
Normal file
22
recipes-bsp/u-boot/u-boot-am180x_2010.12.bb
Normal file
@@ -0,0 +1,22 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for AM180x devices"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=4c6cde5df68eff615d36789dc18edd3b"
|
||||
|
||||
COMPATIBLE_MACHINE = "am180x-evm"
|
||||
|
||||
PR = "r0"
|
||||
|
||||
SRC_URI = "git://arago-project.org/git/projects/u-boot-davinci.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
# For the am180x we want to enable all the memory on the EVM, but for other
|
||||
# devices that use the DSP we do not want this change because that memory
|
||||
# is used for the DSP
|
||||
SRC_URI_append_am180x-evm = " file://0001-da850evm-change-default-memory-to-not-limit-at-32MB.patch"
|
||||
|
||||
BRANCH = "03.21.00.03"
|
||||
|
||||
# v2010.12_DAVINCIPSP_03.21.00.04
|
||||
SRCREV = "1254a0b58d900b7035cfb36bf4e1b05dfbf09997"
|
||||
|
||||
UBOOT_SUFFIX = "bin"
|
||||
@@ -1,4 +1,4 @@
|
||||
require u-boot.inc
|
||||
require u-boot-ti.inc
|
||||
|
||||
# No patches for other machines yet
|
||||
COMPATIBLE_MACHINE = "(ti33x)"
|
||||
@@ -8,10 +8,7 @@ DEFAULT_PREFERENCE_ti33x = "99"
|
||||
PV = "2011.09+git"
|
||||
PR = "r30"
|
||||
|
||||
# SPL build
|
||||
UBOOT_BINARY = "u-boot.img"
|
||||
UBOOT_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.img"
|
||||
UBOOT_SYMLINK = "u-boot-${MACHINE}.img"
|
||||
SPL_BINARY = "MLO"
|
||||
|
||||
SRC_URI = "git://arago-project.org/git/projects/u-boot-am33x.git;protocol=git;branch=master \
|
||||
file://2011.09git/0001-am335x_evm-add-option-to-boot-kernel-from-boot-in-ex.patch \
|
||||
@@ -28,8 +25,3 @@ SRC_URI = "git://arago-project.org/git/projects/u-boot-am33x.git;protocol=git;br
|
||||
"
|
||||
|
||||
SRCREV = "dc52533ccff00a12761f793d66b39e4f6a4a3bba"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
19
recipes-bsp/u-boot/u-boot-am33x_2013.01.01.bb
Normal file
19
recipes-bsp/u-boot/u-boot-am33x_2013.01.01.bb
Normal file
@@ -0,0 +1,19 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for ARM MPU devices"
|
||||
|
||||
COMPATIBLE_MACHINE = "ti33x"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
PR = "r6+gitr${SRCPV}"
|
||||
|
||||
SRC_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
# This version of u-boot is meant for 3.2 kernel which doesn't support device tree.
|
||||
BRANCH = "ti-u-boot-2013.01.01-amsdk-06.00.00.00"
|
||||
|
||||
SRCREV = "540aa6fbb0c9274bda598f7e8819ed28259cad6b"
|
||||
|
||||
# Set the name of the SPL that will built so that it is also packaged with u-boot.
|
||||
SPL_BINARY = "MLO"
|
||||
21
recipes-bsp/u-boot/u-boot-am3517_2011.09.bb
Normal file
21
recipes-bsp/u-boot/u-boot-am3517_2011.09.bb
Normal file
@@ -0,0 +1,21 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for ARM MPU devices"
|
||||
|
||||
COMPATIBLE_MACHINE = "omap3"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
PR = "r1+gitr${SRCPV}"
|
||||
|
||||
SRC_URI = "git://arago-project.org/git/projects/u-boot-am33x.git;protocol=git;branch=${BRANCH} \
|
||||
file://0001-armv7-Unaligned-access-fix.patch \
|
||||
"
|
||||
|
||||
BRANCH = "AM335XPSP_04.06.00.08"
|
||||
|
||||
# Lock to the commit corresponding to tag "v2011.09_AM335xPSP_04.06.00.08"
|
||||
SRCREV = "1e4626f0d5f3bb04ec974e76a5d9029875269d31"
|
||||
|
||||
# Set the name of the SPL that will built so that it is also packaged with u-boot.
|
||||
SPL_BINARY = "MLO"
|
||||
@@ -0,0 +1,172 @@
|
||||
From e0820ccc38315d88192c19e98ea9b59d3ec7d4c8 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Tue, 8 May 2012 07:29:31 +0000
|
||||
Subject: [PATCH] ARM: omap3: Set SPL stack size to 8KB, image to 54KB.
|
||||
|
||||
With older toolchains it is possible to not fit entirely into the 45KB
|
||||
that we had assigned to SPL. Adjust to allow for 8KB of stack (which
|
||||
should be more than required) and 54KB of text/data.
|
||||
|
||||
Cc: Vaibhav Hiremath <hvaibhav@ti.com>
|
||||
Cc: Nagendra T S <nagendra@mistralsolutions.com>
|
||||
Cc: Thomas Weber <weber@corscience.de>
|
||||
Cc: Ilya Yanok <yanok@emcraft.com>
|
||||
Cc: Steve Sakoman <sakoman@gmail.com>
|
||||
Cc: Stefano Babic <sbabic@denx.de>
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Acked-by: Stefano Babic <sbabic@denx.de>
|
||||
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
|
||||
---
|
||||
doc/SPL/README.omap3 | 4 ++--
|
||||
include/configs/am3517_crane.h | 2 +-
|
||||
include/configs/am3517_evm.h | 2 +-
|
||||
include/configs/devkit8000.h | 2 +-
|
||||
include/configs/mcx.h | 2 +-
|
||||
include/configs/omap3_beagle.h | 2 +-
|
||||
include/configs/omap3_evm_common.h | 2 +-
|
||||
include/configs/omap3_overo.h | 2 +-
|
||||
include/configs/tam3517-common.h | 2 +-
|
||||
include/configs/tricorder.h | 2 +-
|
||||
10 files changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/doc/SPL/README.omap3 b/doc/SPL/README.omap3
|
||||
index cc5d5c0..a543e65 100644
|
||||
--- a/doc/SPL/README.omap3
|
||||
+++ b/doc/SPL/README.omap3
|
||||
@@ -34,14 +34,14 @@ DDR1: 0x80000000 - 0xBFFFFFFF
|
||||
|
||||
Option 1 (SPL only):
|
||||
0x40200800 - 0x4020BBFF: Area for SPL text, data and rodata
|
||||
-0x4020BC00 - 0x4020FFFC: Area for the SPL stack.
|
||||
+0x4020E000 - 0x4020FFFC: Area for the SPL stack.
|
||||
0x80000000 - 0x8007FFFF: Area for the SPL BSS.
|
||||
0x80100000: CONFIG_SYS_TEXT_BASE of U-Boot
|
||||
0x80208000 - 0x80307FFF: malloc() pool available to SPL.
|
||||
|
||||
Option 2 (SPL or X-Loader):
|
||||
0x40200800 - 0x4020BBFF: Area for SPL text, data and rodata
|
||||
-0x4020BC00 - 0x4020FFFC: Area for the SPL stack.
|
||||
+0x4020E000 - 0x4020FFFC: Area for the SPL stack.
|
||||
0x80008000: CONFIG_SYS_TEXT_BASE of U-Boot
|
||||
0x87000000 - 0x8707FFFF: Area for the SPL BSS.
|
||||
0x87080000 - 0x870FFFFF: malloc() pool available to SPL.
|
||||
diff --git a/include/configs/am3517_crane.h b/include/configs/am3517_crane.h
|
||||
index 71321f3..1233985 100644
|
||||
--- a/include/configs/am3517_crane.h
|
||||
+++ b/include/configs/am3517_crane.h
|
||||
@@ -325,7 +325,7 @@
|
||||
#define CONFIG_SPL
|
||||
#define CONFIG_SPL_NAND_SIMPLE
|
||||
#define CONFIG_SPL_TEXT_BASE 0x40200800
|
||||
-#define CONFIG_SPL_MAX_SIZE (45 * 1024)
|
||||
+#define CONFIG_SPL_MAX_SIZE (54 * 1024) /* 8 KB for stack */
|
||||
#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
|
||||
#define CONFIG_SPL_BSS_START_ADDR 0x80000000
|
||||
diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h
|
||||
index bbd19de..ff8d1b0 100644
|
||||
--- a/include/configs/am3517_evm.h
|
||||
+++ b/include/configs/am3517_evm.h
|
||||
@@ -324,7 +324,7 @@
|
||||
#define CONFIG_SPL
|
||||
#define CONFIG_SPL_NAND_SIMPLE
|
||||
#define CONFIG_SPL_TEXT_BASE 0x40200800
|
||||
-#define CONFIG_SPL_MAX_SIZE (45 * 1024)
|
||||
+#define CONFIG_SPL_MAX_SIZE (54 * 1024) /* 8 KB for stack */
|
||||
#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
|
||||
#define CONFIG_SPL_BSS_START_ADDR 0x80000000
|
||||
diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
|
||||
index eb7c376..248a5b2 100644
|
||||
--- a/include/configs/devkit8000.h
|
||||
+++ b/include/configs/devkit8000.h
|
||||
@@ -324,7 +324,7 @@
|
||||
#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
|
||||
|
||||
#define CONFIG_SPL_TEXT_BASE 0x40200000 /*CONFIG_SYS_SRAM_START*/
|
||||
-#define CONFIG_SPL_MAX_SIZE 0xB400 /* 45 K */
|
||||
+#define CONFIG_SPL_MAX_SIZE (54 * 1024) /* 8 KB for stack */
|
||||
#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
|
||||
#define CONFIG_SPL_BSS_START_ADDR 0x80000500 /* leave space for bootargs*/
|
||||
diff --git a/include/configs/mcx.h b/include/configs/mcx.h
|
||||
index e190e3e..f6a83a8 100644
|
||||
--- a/include/configs/mcx.h
|
||||
+++ b/include/configs/mcx.h
|
||||
@@ -325,7 +325,7 @@
|
||||
#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
|
||||
|
||||
#define CONFIG_SPL_TEXT_BASE 0x40200000 /*CONFIG_SYS_SRAM_START*/
|
||||
-#define CONFIG_SPL_MAX_SIZE (45 << 10)
|
||||
+#define CONFIG_SPL_MAX_SIZE (54 * 1024) /* 8 KB for stack */
|
||||
#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
|
||||
/* move malloc and bss high to prevent clashing with the main image */
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index ddeb414..6bdc2c3 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -399,7 +399,7 @@
|
||||
#define CONFIG_SPL
|
||||
#define CONFIG_SPL_NAND_SIMPLE
|
||||
#define CONFIG_SPL_TEXT_BASE 0x40200800
|
||||
-#define CONFIG_SPL_MAX_SIZE (45 * 1024)
|
||||
+#define CONFIG_SPL_MAX_SIZE (54 * 1024) /* 8 KB for stack */
|
||||
#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
|
||||
#define CONFIG_SPL_BSS_START_ADDR 0x80000000
|
||||
diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h
|
||||
index 4910dda..47ebbef 100644
|
||||
--- a/include/configs/omap3_evm_common.h
|
||||
+++ b/include/configs/omap3_evm_common.h
|
||||
@@ -282,7 +282,7 @@
|
||||
/* Defines for SPL */
|
||||
#define CONFIG_SPL
|
||||
#define CONFIG_SPL_TEXT_BASE 0x40200800
|
||||
-#define CONFIG_SPL_MAX_SIZE (45 * 1024) /* 45 KB */
|
||||
+#define CONFIG_SPL_MAX_SIZE (54 * 1024) /* 8 KB for stack */
|
||||
#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
|
||||
#define CONFIG_SPL_BSS_START_ADDR 0x80000000
|
||||
diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
|
||||
index 64adc74..b0d144f 100644
|
||||
--- a/include/configs/omap3_overo.h
|
||||
+++ b/include/configs/omap3_overo.h
|
||||
@@ -303,7 +303,7 @@
|
||||
#define CONFIG_SPL
|
||||
#define CONFIG_SPL_NAND_SIMPLE
|
||||
#define CONFIG_SPL_TEXT_BASE 0x40200800
|
||||
-#define CONFIG_SPL_MAX_SIZE (45 * 1024)
|
||||
+#define CONFIG_SPL_MAX_SIZE (54 * 1024) /* 8 KB for stack */
|
||||
#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
|
||||
/* move malloc and bss high to prevent clashing with the main image */
|
||||
diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h
|
||||
index 37eb87b..3fc2c44 100644
|
||||
--- a/include/configs/tam3517-common.h
|
||||
+++ b/include/configs/tam3517-common.h
|
||||
@@ -257,7 +257,7 @@
|
||||
#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
|
||||
|
||||
#define CONFIG_SPL_TEXT_BASE 0x40200000 /*CONFIG_SYS_SRAM_START*/
|
||||
-#define CONFIG_SPL_MAX_SIZE (45 << 10) /* 45 K */
|
||||
+#define CONFIG_SPL_MAX_SIZE (54 * 1024) /* 8 KB for stack */
|
||||
#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
|
||||
#define CONFIG_SYS_SPL_MALLOC_START 0x8f000000
|
||||
diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
|
||||
index 801a24f..ab911aa 100644
|
||||
--- a/include/configs/tricorder.h
|
||||
+++ b/include/configs/tricorder.h
|
||||
@@ -293,7 +293,7 @@
|
||||
#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
|
||||
|
||||
#define CONFIG_SPL_TEXT_BASE 0x40200000 /*CONFIG_SYS_SRAM_START*/
|
||||
-#define CONFIG_SPL_MAX_SIZE 0xB400 /* 45 K */
|
||||
+#define CONFIG_SPL_MAX_SIZE (54 * 1024) /* 8 KB for stack */
|
||||
#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
|
||||
#define CONFIG_SPL_BSS_START_ADDR 0x80000000 /*CONFIG_SYS_SDRAM_BASE*/
|
||||
--
|
||||
1.7.0.4
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From 55161fca67023d6be30bdea495cc0fdbae316a64 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Wed, 9 Nov 2011 11:48:21 -0700
|
||||
Subject: [PATCH 1/4] OMAP3 Beagle: Set BOOTDELAY to 3
|
||||
|
||||
This is TI Sitara SDK specific (unified user experience, 3s delay).
|
||||
|
||||
Upstream-Status: Pending
|
||||
* This will be submitted upstream by Tom Rini
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
---
|
||||
include/configs/omap3_beagle.h | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index 58a29b8..ba73aa6 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -213,7 +213,7 @@
|
||||
/* partition */
|
||||
|
||||
/* Environment information */
|
||||
-#define CONFIG_BOOTDELAY 2
|
||||
+#define CONFIG_BOOTDELAY 3
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"loadaddr=0x80200000\0" \
|
||||
--
|
||||
1.7.0.4
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
From c56786770eb0ccb95204cb72b961c44c65ff343b Mon Sep 17 00:00:00 2001
|
||||
From: Chase Maupin <Chase.Maupin@ti.com>
|
||||
Date: Thu, 17 May 2012 09:51:50 -0500
|
||||
Subject: [PATCH] omap3_beagle: add usbethaddr setting to enable networking
|
||||
|
||||
* In order for the SMSC USB ethernet device to work the
|
||||
usbethaddr setting must be set when the "usb start" command
|
||||
is executed and the network device is discovered.
|
||||
* Currently set this for de:ad:be:ef until we can start
|
||||
generating random or semi-random MAC addresses.
|
||||
* Based on work by Steve Kipisz and Joel Fernandez
|
||||
|
||||
Upstream-Status: Not Upstreamable
|
||||
* We cannot upstream this hard coded MAC address setting.
|
||||
* User's should look at the following web page for information on
|
||||
how to generate a MAC address, but this patch enables the out
|
||||
of box experience for the SDK.
|
||||
http://www.denx.de/wiki/view/DULG/WhereCanIGetAValidMACAddress
|
||||
|
||||
|
||||
Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
|
||||
---
|
||||
include/configs/omap3_beagle.h | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index ddeb414..58a29b8 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -219,6 +219,7 @@
|
||||
"loadaddr=0x80200000\0" \
|
||||
"rdaddr=0x81000000\0" \
|
||||
"usbtty=cdc_acm\0" \
|
||||
+ "usbethaddr=de:ad:be:ef\0" \
|
||||
"bootfile=uImage.beagle\0" \
|
||||
"console=ttyO2,115200n8\0" \
|
||||
"mpurate=auto\0" \
|
||||
--
|
||||
1.7.0.4
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
From eff8924b57d21eadfe749e500617340b1a730c17 Mon Sep 17 00:00:00 2001
|
||||
From: Schuyler Patton <spatton@ti.com>
|
||||
Date: Thu, 30 Jun 2011 13:39:25 -0500
|
||||
Subject: [PATCH 1/3] omap3_evm: Added function calls to set volts, speed on OMAP36xx parts
|
||||
|
||||
* evm.c
|
||||
|
||||
* Added setup calls to set voltage and speed
|
||||
|
||||
* Added calls in misc_init_r to twl4030_power_mpu_init and set_mpu_clock
|
||||
functions. These set VDD1 to 1.35v and mpu clock to 1GHz respectively.
|
||||
There is a check performed to make sure that this is only called on
|
||||
omap36xx class parts.
|
||||
|
||||
* twl4030.c
|
||||
|
||||
* Added twl4030_power_mpu_init function to set VDD1 to 1.35 Volts
|
||||
|
||||
* This is done to allow omap36xx parts to run at 1GHz.
|
||||
|
||||
* clock.c
|
||||
|
||||
* Added set_mpu_clk function to allow u-boot to set the clock
|
||||
rate.
|
||||
|
||||
* sys_proto.h
|
||||
|
||||
* Added the function prototype set_mpu_clock
|
||||
|
||||
* twl4030.h
|
||||
|
||||
* Added twl4030_power_mpu_init function prototype
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Schuyler Patton <spatton@ti.com>
|
||||
---
|
||||
arch/arm/cpu/armv7/omap3/clock.c | 15 +++++++++++++++
|
||||
arch/arm/include/asm/arch-omap3/sys_proto.h | 2 ++
|
||||
board/ti/evm/evm.c | 5 +++++
|
||||
drivers/power/twl4030.c | 12 ++++++++++++
|
||||
include/twl4030.h | 3 +++
|
||||
5 files changed, 37 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/cpu/armv7/omap3/clock.c b/arch/arm/cpu/armv7/omap3/clock.c
|
||||
index 567817e..46a28a3 100644
|
||||
--- a/arch/arm/cpu/armv7/omap3/clock.c
|
||||
+++ b/arch/arm/cpu/armv7/omap3/clock.c
|
||||
@@ -35,6 +35,21 @@
|
||||
#include <command.h>
|
||||
|
||||
/******************************************************************************
|
||||
+ * Setting the Clock speed
|
||||
+ *
|
||||
+ *****************************************************************************/
|
||||
+void set_mpu_clk(int speed)
|
||||
+{
|
||||
+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
|
||||
+
|
||||
+
|
||||
+ /* Set M */
|
||||
+ sr32(&prcm_base->clksel1_pll_mpu, 8, 11, speed);
|
||||
+ /* lock mode */
|
||||
+ sr32(&prcm_base->clken_pll_mpu, 0, 3, PLL_LOCK);
|
||||
+}
|
||||
+
|
||||
+/******************************************************************************
|
||||
* get_sys_clk_speed() - determine reference oscillator speed
|
||||
* based on known 32kHz clock and gptimer.
|
||||
*****************************************************************************/
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/sys_proto.h b/arch/arm/include/asm/arch-omap3/sys_proto.h
|
||||
index 2a89e56..9db13d7 100644
|
||||
--- a/arch/arm/include/asm/arch-omap3/sys_proto.h
|
||||
+++ b/arch/arm/include/asm/arch-omap3/sys_proto.h
|
||||
@@ -36,6 +36,8 @@ void prcm_init(void);
|
||||
void per_clocks_enable(void);
|
||||
void ehci_clocks_enable(void);
|
||||
|
||||
+void set_mpu_clk(int speed);
|
||||
+
|
||||
void memif_init(void);
|
||||
void sdrc_init(void);
|
||||
void do_sdrc_init(u32, u32);
|
||||
diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
|
||||
index 8497aee..91eb93d 100644
|
||||
--- a/board/ti/evm/evm.c
|
||||
+++ b/board/ti/evm/evm.c
|
||||
@@ -39,6 +39,7 @@
|
||||
#include <asm/mach-types.h>
|
||||
#include <linux/mtd/nand.h>
|
||||
#include "evm.h"
|
||||
+#include <twl4030.h>
|
||||
|
||||
#define OMAP3EVM_GPIO_ETH_RST_GEN1 64
|
||||
#define OMAP3EVM_GPIO_ETH_RST_GEN2 7
|
||||
@@ -177,6 +178,10 @@ int misc_init_r(void)
|
||||
#endif
|
||||
dieid_num_r();
|
||||
|
||||
+ if (get_cpu_family() == CPU_OMAP36XX) {
|
||||
+ twl4030_power_mpu_init();
|
||||
+ set_mpu_clk(500);
|
||||
+ }
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/drivers/power/twl4030.c b/drivers/power/twl4030.c
|
||||
index 36b2144..670b4cb 100644
|
||||
--- a/drivers/power/twl4030.c
|
||||
+++ b/drivers/power/twl4030.c
|
||||
@@ -105,6 +105,18 @@ void twl4030_power_init(void)
|
||||
TWL4030_PM_RECEIVER_DEV_GRP_P1);
|
||||
}
|
||||
|
||||
+#define VDD1_VSEL_135 0x3C
|
||||
+
|
||||
+void twl4030_power_mpu_init(void)
|
||||
+{
|
||||
+ unsigned char byte;
|
||||
+
|
||||
+ /* 1.4 Volts */
|
||||
+ byte = VDD1_VSEL_135;
|
||||
+ twl4030_i2c_write_u8(TWL4030_CHIP_PM_RECEIVER, byte,
|
||||
+ TWL4030_PM_RECEIVER_VDD1_VSEL);
|
||||
+}
|
||||
+
|
||||
void twl4030_power_mmc_init(void)
|
||||
{
|
||||
/* Set VMMC1 to 3.15 Volts */
|
||||
diff --git a/include/twl4030.h b/include/twl4030.h
|
||||
index 9cd32ab..91d36b8 100644
|
||||
--- a/include/twl4030.h
|
||||
+++ b/include/twl4030.h
|
||||
@@ -510,6 +510,9 @@ static inline int twl4030_i2c_read_u8(u8 chip_no, u8 *val, u8 reg)
|
||||
* Power
|
||||
*/
|
||||
|
||||
+/*For setting VDD1 */
|
||||
+void twl4030_power_mpu_init(void);
|
||||
+
|
||||
/* For hardware resetting */
|
||||
void twl4030_power_reset_init(void);
|
||||
/* For setting device group and voltage */
|
||||
--
|
||||
1.7.0.4
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
From 883551659d9b15dfb1ed7ad8ae4b34bfd1fa0fd9 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Wed, 16 Nov 2011 14:50:49 -0700
|
||||
Subject: [PATCH 2/4] am335x/am3517evm/beagleboard/am37x: Add CONFIG_CMD_ASKENV
|
||||
|
||||
This is TI Sitara SDK specific (unified user experience, askenv command).
|
||||
|
||||
Upstream-Status: Pending
|
||||
* This will be submitted upstream by Tom Rini
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
---
|
||||
include/configs/am335x_evm.h | 2 ++
|
||||
include/configs/am3517_evm.h | 2 ++
|
||||
include/configs/omap3_beagle.h | 2 ++
|
||||
include/configs/omap3_evm.h | 2 ++
|
||||
4 files changed, 8 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
|
||||
index d0fbc88..5cd7d6d 100644
|
||||
--- a/include/configs/am335x_evm.h
|
||||
+++ b/include/configs/am335x_evm.h
|
||||
@@ -26,6 +26,8 @@
|
||||
#include <asm/arch/cpu.h>
|
||||
#include <asm/arch/hardware.h>
|
||||
|
||||
+#define CONFIG_CMD_ASKENV
|
||||
+
|
||||
#define CONFIG_ENV_SIZE 0x400
|
||||
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (8 * 1024))
|
||||
#define CONFIG_SYS_PROMPT "U-Boot# "
|
||||
diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h
|
||||
index b5f75d1..2b3fce7 100644
|
||||
--- a/include/configs/am3517_evm.h
|
||||
+++ b/include/configs/am3517_evm.h
|
||||
@@ -137,6 +137,8 @@
|
||||
/* commands to include */
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
+#define CONFIG_CMD_ASKENV
|
||||
+
|
||||
#define CONFIG_CMD_EXT2 /* EXT2 Support */
|
||||
#define CONFIG_CMD_FAT /* FAT support */
|
||||
#define CONFIG_CMD_JFFS2 /* JFFS2 Support */
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index ba73aa6..b270598 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -146,6 +146,8 @@
|
||||
/* commands to include */
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
+#define CONFIG_CMD_ASKENV
|
||||
+
|
||||
#define CONFIG_CMD_CACHE
|
||||
#define CONFIG_CMD_EXT2 /* EXT2 Support */
|
||||
#define CONFIG_CMD_FAT /* FAT support */
|
||||
diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
|
||||
index 1fcb7af..215d67d 100644
|
||||
--- a/include/configs/omap3_evm.h
|
||||
+++ b/include/configs/omap3_evm.h
|
||||
@@ -42,6 +42,8 @@
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
+#define CONFIG_CMD_ASKENV
|
||||
+
|
||||
#define CONFIG_CMD_EXT2
|
||||
#define CONFIG_CMD_FAT
|
||||
#define CONFIG_CMD_JFFS2
|
||||
--
|
||||
1.7.0.4
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From a0f4f7b85d004db36a24cc05e9c34f137186270b Mon Sep 17 00:00:00 2001
|
||||
From: Chase Maupin <Chase.Maupin@ti.com>
|
||||
Date: Wed, 23 May 2012 09:25:06 -0500
|
||||
Subject: [PATCH 2/3] omap3evm: Make the board start at 800MHz
|
||||
|
||||
* It is safe to start the the 3630 silicon at 800MHz for all
|
||||
revisions. Go ahead and bump the speed to 800MHz during boot
|
||||
instead of using the default 500MHz speed.
|
||||
* This patch was based on work by Tom Rini <trini@ti.com> at
|
||||
http://arago-project.org/git/projects/?p=u-boot-am33x.git;a=commit;h=ad130035df754931f2939902e453cc3736412f5f
|
||||
|
||||
Upstream-Status: Pending
|
||||
* Will be submitted upstream since it is safe for all silicon
|
||||
revisions to boot at 800MHz according to HW team.
|
||||
|
||||
Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
|
||||
---
|
||||
board/ti/evm/evm.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
|
||||
index 91eb93d..0d0b4a2 100644
|
||||
--- a/board/ti/evm/evm.c
|
||||
+++ b/board/ti/evm/evm.c
|
||||
@@ -180,7 +180,7 @@ int misc_init_r(void)
|
||||
|
||||
if (get_cpu_family() == CPU_OMAP36XX) {
|
||||
twl4030_power_mpu_init();
|
||||
- set_mpu_clk(500);
|
||||
+ set_mpu_clk(800);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
1.7.0.4
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From f2a15cd9e96648e05cb39159ba74cbfbfc8ff999 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Thu, 17 Nov 2011 08:41:42 -0700
|
||||
Subject: [PATCH 3/4] beagleboard: Load uImage from VFAT by default.
|
||||
|
||||
This is TI Sitara SDK specific (unified user experience, load uImage
|
||||
from vfat).
|
||||
|
||||
Upstream-Status: Not Appropriate
|
||||
* This patch is to make the u-boot for beagleboard consistent
|
||||
with other versions used in the AMSDK and doesn't make
|
||||
sense up stream.
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
---
|
||||
include/configs/omap3_beagle.h | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index b270598..ea62580 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -305,7 +305,7 @@
|
||||
"echo Running uenvcmd ...;" \
|
||||
"run uenvcmd;" \
|
||||
"fi;" \
|
||||
- "if run loaduimage; then " \
|
||||
+ "if run loaduimagefat; then " \
|
||||
"run mmcboot;" \
|
||||
"fi;" \
|
||||
"fi;" \
|
||||
--
|
||||
1.7.0.4
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 372d110126f37f9f8b7d4bbedd3f02cf80e587de Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Wed, 30 Nov 2011 16:16:21 -0700
|
||||
Subject: [PATCH 3/3] beagleboard: Make xM rev C go to 800MHz
|
||||
|
||||
* This is the highest frequency supported on xM without BIAS
|
||||
drivers.
|
||||
|
||||
Upstream-Status: Pending
|
||||
* Will be submitted upstream since it is safe for all silicon
|
||||
revisions to boot at 800MHz according to HW team.
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
---
|
||||
board/ti/beagle/beagle.c | 3 +++
|
||||
1 files changed, 3 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index e26b387..69a7b4e 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -346,6 +346,9 @@ int misc_init_r(void)
|
||||
TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
|
||||
TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
|
||||
TWL4030_PM_RECEIVER_DEV_GRP_P1);
|
||||
+ /* 800MHz support */
|
||||
+ twl4030_power_mpu_init();
|
||||
+ set_mpu_clk(800);
|
||||
break;
|
||||
default:
|
||||
printf("Beagle unknown 0x%02x\n", get_board_revision());
|
||||
--
|
||||
1.7.0.4
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
From 715afb049d2675106e26c5225e7e321374c32f85 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Thu, 17 Nov 2011 16:54:01 -0700
|
||||
Subject: [PATCH 4/4] beagleboard: Load uImage to the default kernel linux address
|
||||
|
||||
This is TI Sitara SDK specific (unified user experience, load uImage
|
||||
to an 'XIP' location).
|
||||
|
||||
Upstream-Status: Pending
|
||||
* This functionality is being discussed upstream and there
|
||||
is not a concensus yet.
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
---
|
||||
include/configs/omap3_beagle.h | 13 +++++++------
|
||||
1 files changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index ea62580..00b2abe 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -219,6 +219,7 @@
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"loadaddr=0x80200000\0" \
|
||||
+ "kloadaddr=0x80007fc0\0" \
|
||||
"rdaddr=0x81000000\0" \
|
||||
"usbtty=cdc_acm\0" \
|
||||
"usbethaddr=de:ad:be:ef\0" \
|
||||
@@ -272,18 +273,18 @@
|
||||
"root=${ramroot} " \
|
||||
"rootfstype=${ramrootfstype}\0" \
|
||||
"loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
|
||||
- "loaduimagefat=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
|
||||
- "loaduimage=ext2load mmc ${mmcdev}:2 ${loadaddr} /boot/uImage\0" \
|
||||
+ "loaduimagefat=fatload mmc ${mmcdev} ${kloadaddr} uImage\0" \
|
||||
+ "loaduimage=ext2load mmc ${mmcdev}:2 ${kloadaddr} /boot/uImage\0" \
|
||||
"mmcboot=echo Booting from mmc ...; " \
|
||||
"run mmcargs; " \
|
||||
- "bootm ${loadaddr}\0" \
|
||||
+ "bootm ${kloadaddr}\0" \
|
||||
"nandboot=echo Booting from nand ...; " \
|
||||
"run nandargs; " \
|
||||
- "nand read ${loadaddr} 280000 400000; " \
|
||||
- "bootm ${loadaddr}\0" \
|
||||
+ "nand read ${kloadaddr} 280000 400000; " \
|
||||
+ "bootm ${kloadaddr}\0" \
|
||||
"ramboot=echo Booting from ramdisk ...; " \
|
||||
"run ramargs; " \
|
||||
- "bootm ${loadaddr}\0" \
|
||||
+ "bootm ${kloadaddr}\0" \
|
||||
"userbutton=if gpio input 173; then run userbutton_xm; " \
|
||||
"else run userbutton_nonxm; fi;\0" \
|
||||
"userbutton_xm=gpio input 4;\0" \
|
||||
--
|
||||
1.7.0.4
|
||||
|
||||
41
recipes-bsp/u-boot/u-boot-am37x_2012.04.01.bb
Normal file
41
recipes-bsp/u-boot/u-boot-am37x_2012.04.01.bb
Normal file
@@ -0,0 +1,41 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for ARM MPU devices"
|
||||
|
||||
COMPATIBLE_MACHINE = "am37x-evm|beagleboard"
|
||||
|
||||
BRANCH ?= "master"
|
||||
|
||||
PR = "r1+gitr${SRCPV}"
|
||||
|
||||
# v2012.04.01
|
||||
SRCREV = "415d386877df49eb051b85ef74fa59a16dc17c7d"
|
||||
|
||||
SRC_URI = "git://git.denx.de/u-boot.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
# Add patches for the AMSDK
|
||||
# - 0001-omap3-beagle-add-usbethaddr....Not for Upstream
|
||||
# - 0001-OMAP3-Beagle-Set-BOOTDELAY....Pending Upstream
|
||||
# - 0002-am335x-am3517evm-beagleboard....Pending Upstream
|
||||
# - 0003-beagleboard-Load-uImage-from....Not for Upstream
|
||||
# - 0004-beagleboard-Load-uImage-to....Pending Upstream
|
||||
# - 0001-omap3_evm-Added-function....Pending Upstream
|
||||
# - 0002-omap3evm-Make-the-board....Pending Upstream
|
||||
# - 0003-beagleboard-Make-xM-rev....Pending Upstream
|
||||
# - 0001-ARM-omap3-Set-SPL-stack-size-to-8KB-image-to-54KB.patch....Upstreamed
|
||||
|
||||
# Add a patch to set a default usbethaddr address to enable the out of box
|
||||
# experience.
|
||||
SRC_URI += "file://0001-omap3_beagle-add-usbethaddr-setting-to-enable-networ.patch \
|
||||
file://0001-OMAP3-Beagle-Set-BOOTDELAY-to-3.patch \
|
||||
file://0002-am335x-am3517evm-beagleboard-am37x-Add-CONFIG_CMD_AS.patch \
|
||||
file://0003-beagleboard-Load-uImage-from-VFAT-by-default.patch \
|
||||
file://0004-beagleboard-Load-uImage-to-the-default-kernel-linux-.patch \
|
||||
file://0001-omap3_evm-Added-function-calls-to-set-volts-speed-on.patch \
|
||||
file://0002-omap3evm-Make-the-board-start-at-800MHz.patch \
|
||||
file://0003-beagleboard-Make-xM-rev-C-go-to-800MHz.patch \
|
||||
file://0001-ARM-omap3-Set-SPL-stack-size-to-8KB-image-to-54KB.patch \
|
||||
file://0001-armv7-Unaligned-access-fix.patch \
|
||||
"
|
||||
|
||||
SPL_BINARY = "MLO"
|
||||
@@ -1,16 +1,13 @@
|
||||
require u-boot.inc
|
||||
require u-boot-ti.inc
|
||||
|
||||
PR = "r7"
|
||||
|
||||
# SPL build
|
||||
UBOOT_BINARY = "u-boot.img"
|
||||
UBOOT_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.img"
|
||||
UBOOT_SYMLINK = "u-boot-${MACHINE}.img"
|
||||
SPL_BINARY = "MLO"
|
||||
|
||||
# No patches for other machines yet
|
||||
COMPATIBLE_MACHINE = "(beagleboard)"
|
||||
|
||||
SRC_URI = "git://www.denx.de/git/u-boot.git;protocol=git \
|
||||
SRC_URI = "git://git.denx.de/u-boot.git;protocol=git \
|
||||
file://2011.09/0001-omap3-mem-Comment-enable_gpmc_cs_config-more.patch \
|
||||
file://2011.09/0002-OMAP3-Update-SDRC-dram_init-to-always-call-make_cs1_.patch \
|
||||
file://2011.09/0003-OMAP3-Add-a-helper-function-to-set-timings-in-SDRC.patch \
|
||||
@@ -37,7 +34,3 @@ SRC_URI = "git://www.denx.de/git/u-boot.git;protocol=git \
|
||||
"
|
||||
|
||||
SRCREV = "fdbe8b9a2d1858ba35dd6214315563ad44d4a0e3"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
16
recipes-bsp/u-boot/u-boot-glsdk_2013.01.01.bb
Normal file
16
recipes-bsp/u-boot/u-boot-glsdk_2013.01.01.bb
Normal file
@@ -0,0 +1,16 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for TI devices supported by the GLSDK product"
|
||||
|
||||
PR = "r1+gitr${SRCPV}"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
SRC_URI = "git://git.omapzoom.org/repo/u-boot.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
BRANCH ?= "p-ti-u-boot-2013.04"
|
||||
|
||||
SRCREV = "76447484441a4b8e00840a2bde74e66dbac9e631"
|
||||
|
||||
SPL_BINARY = "MLO"
|
||||
SPL_UART_BINARY = "u-boot-spl.bin"
|
||||
59
recipes-bsp/u-boot/u-boot-keystone_2013.01.bb
Normal file
59
recipes-bsp/u-boot/u-boot-keystone_2013.01.bb
Normal file
@@ -0,0 +1,59 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for Multi-Core BU devices"
|
||||
|
||||
COMPATIBLE_MACHINE = "keystone"
|
||||
|
||||
PR = "r4+gitr${SRCPV}"
|
||||
|
||||
# Tag "K2_UBOOT_2013_01_14.05_16"
|
||||
SRCREV = "fee500417b989fc9906d86e377b4d3d96033d54e"
|
||||
BRANCH = "master"
|
||||
|
||||
SRC_URI = "git://git.ti.com/keystone-linux/u-boot.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
UBOOT_SUFFIX = "bin"
|
||||
UBOOT_MAKE_TARGET = "u-boot-spi.gph"
|
||||
|
||||
# SPI NOR Flash binaries
|
||||
UBOOT_SPI_SPL_BINARY = "u-boot-spl.bin"
|
||||
UBOOT_SPI_BINARY = "u-boot.img"
|
||||
UBOOT_SPI_GPH_BINARY = "u-boot-spi.gph"
|
||||
|
||||
# SPI NOR Flash deployed images
|
||||
UBOOT_SPI_SPL_IMAGE = "u-boot-spl-${MACHINE}-${PV}-${PR}.bin"
|
||||
UBOOT_SPI_SPL_SYMLINK = "u-boot-spl-${MACHINE}.bin"
|
||||
UBOOT_SPI_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.img"
|
||||
UBOOT_SPI_SYMLINK = "u-boot-${MACHINE}.img"
|
||||
UBOOT_SPI_GPH_IMAGE = "u-boot-spi-${MACHINE}-${PV}-${PR}.gph"
|
||||
UBOOT_SPI_GPH_SYMLINK = "u-boot-spi-${MACHINE}.gph"
|
||||
|
||||
do_install_append () {
|
||||
install ${S}/spl/${UBOOT_SPI_SPL_BINARY} ${D}/boot/${UBOOT_SPI_SPL_IMAGE}
|
||||
ln -sf ${UBOOT_SPI_SPL_IMAGE} ${D}/boot/${UBOOT_SPI_SPL_BINARY}
|
||||
|
||||
install ${S}/${UBOOT_SPI_BINARY} ${D}/boot/${UBOOT_SPI_IMAGE}
|
||||
ln -sf ${UBOOT_SPI_IMAGE} ${D}/boot/${UBOOT_SPI_BINARY}
|
||||
|
||||
install ${S}/${UBOOT_SPI_GPH_BINARY} ${D}/boot/${UBOOT_SPI_GPH_IMAGE}
|
||||
ln -sf ${UBOOT_SPI_GPH_IMAGE} ${D}/boot/${UBOOT_SPI_GPH_BINARY}
|
||||
}
|
||||
|
||||
do_deploy_append () {
|
||||
install ${S}/spl/${UBOOT_SPI_SPL_BINARY} ${DEPLOYDIR}/${UBOOT_SPI_SPL_IMAGE}
|
||||
rm -f ${UBOOT_SPI_SPL_BINARY} ${UBOOT_SPI_SPL_SYMLINK}
|
||||
ln -sf ${UBOOT_SPI_SPL_IMAGE} ${UBOOT_SPI_SPL_SYMLINK}
|
||||
ln -sf ${UBOOT_SPI_SPL_IMAGE} ${UBOOT_SPI_SPL_BINARY}
|
||||
|
||||
install ${S}/${UBOOT_SPI_BINARY} ${DEPLOYDIR}/${UBOOT_SPI_IMAGE}
|
||||
rm -f ${UBOOT_SPI_BINARY} ${UBOOT_SPI_SYMLINK}
|
||||
ln -sf ${UBOOT_SPI_IMAGE} ${UBOOT_SPI_SYMLINK}
|
||||
ln -sf ${UBOOT_SPI_IMAGE} ${UBOOT_SPI_BINARY}
|
||||
|
||||
install ${S}/${UBOOT_SPI_GPH_BINARY} ${DEPLOYDIR}/${UBOOT_SPI_GPH_IMAGE}
|
||||
rm -f ${UBOOT_SPI_GPH_BINARY} ${UBOOT_SPI_GPH_SYMLINK}
|
||||
ln -sf ${UBOOT_SPI_GPH_IMAGE} ${UBOOT_SPI_GPH_SYMLINK}
|
||||
ln -sf ${UBOOT_SPI_GPH_IMAGE} ${UBOOT_SPI_GPH_BINARY}
|
||||
}
|
||||
15
recipes-bsp/u-boot/u-boot-ti-staging_2013.01.01.bb
Normal file
15
recipes-bsp/u-boot/u-boot-ti-staging_2013.01.01.bb
Normal file
@@ -0,0 +1,15 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for TI devices"
|
||||
|
||||
PR = "r5+gitr${SRCPV}"
|
||||
|
||||
SRC_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
BRANCH ?= "ti-u-boot-2013.01.01"
|
||||
|
||||
# This commit corresponds to ti2013.04.00 release tag
|
||||
SRCREV = "7552b4c906b0a50fbc5225dc43ed0192618e9d5d"
|
||||
|
||||
SPL_BINARY = "MLO"
|
||||
SPL_UART_BINARY = "u-boot-spl.bin"
|
||||
18
recipes-bsp/u-boot/u-boot-ti-staging_2013.10.bb
Normal file
18
recipes-bsp/u-boot/u-boot-ti-staging_2013.10.bb
Normal file
@@ -0,0 +1,18 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for TI devices"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://Licenses/README;md5=025bf9f768cbcb1a165dbe1a110babfb"
|
||||
|
||||
PV = "2013.10"
|
||||
PR = "r7+gitr${SRCPV}"
|
||||
|
||||
SRC_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
BRANCH ?= "ti-u-boot-2013.10"
|
||||
|
||||
# Corresponds to tag ti2013.12.01
|
||||
SRCREV = "78d8ebd4a0214b72a125f5b98c5ed2f9a3e5e783"
|
||||
|
||||
SPL_BINARY = "MLO"
|
||||
SPL_UART_BINARY = "u-boot-spl.bin"
|
||||
41
recipes-bsp/u-boot/u-boot-ti.inc
Normal file
41
recipes-bsp/u-boot/u-boot-ti.inc
Normal file
@@ -0,0 +1,41 @@
|
||||
require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot.inc
|
||||
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot:"
|
||||
|
||||
LICENSE = "GPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
PROVIDES += "u-boot"
|
||||
PKG_${PN} = "u-boot"
|
||||
PKG_${PN}-dev = "u-boot-dev"
|
||||
PKG_${PN}-dbg = "u-boot-dbg"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
UBOOT_SUFFIX = "img"
|
||||
|
||||
# SPL (Second Program Loader) to be loaded over UART
|
||||
SPL_UART_BINARY ?= ""
|
||||
SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}"
|
||||
SPL_UART_SYMLINK ?= "${SPL_UART_BINARY}-${MACHINE}"
|
||||
|
||||
do_install_append () {
|
||||
if [ "x${SPL_UART_BINARY}" != "x" ]
|
||||
then
|
||||
install ${S}/spl/${SPL_UART_BINARY} ${D}/boot/${SPL_UART_IMAGE}
|
||||
ln -sf ${SPL_UART_IMAGE} ${D}/boot/${SPL_UART_BINARY}
|
||||
fi
|
||||
}
|
||||
|
||||
do_deploy_append () {
|
||||
cd ${DEPLOYDIR}
|
||||
if [ "x${SPL_UART_BINARY}" != "x" ]
|
||||
then
|
||||
install ${S}/spl/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_IMAGE}
|
||||
rm -f ${DEPLOYDIR}/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
|
||||
ln -sf ${SPL_UART_IMAGE} ${DEPLOYDIR}/${SPL_UART_BINARY}
|
||||
ln -sf ${SPL_UART_IMAGE} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
|
||||
fi
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
DESCRIPTION = "U-Boot - the Universal Boot Loader"
|
||||
HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
|
||||
SECTION = "bootloaders"
|
||||
LICENSE = "GPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=4c6cde5df68eff615d36789dc18edd3b"
|
||||
|
||||
PROVIDES = "virtual/bootloader"
|
||||
|
||||
DEPENDS = "mtd-utils"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
PARALLEL_MAKE=""
|
||||
|
||||
EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
|
||||
|
||||
UBOOT_MACHINE ?= "${MACHINE}_config"
|
||||
UBOOT_BINARY ?= "u-boot.bin"
|
||||
UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin"
|
||||
UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin"
|
||||
UBOOT_MAKE_TARGET ?= "all"
|
||||
|
||||
do_configure () {
|
||||
oe_runmake ${UBOOT_MACHINE}
|
||||
}
|
||||
|
||||
do_compile () {
|
||||
unset LDFLAGS
|
||||
unset CFLAGS
|
||||
unset CPPFLAGS
|
||||
oe_runmake ${UBOOT_MAKE_TARGET}
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}/boot
|
||||
install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
|
||||
ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
|
||||
|
||||
if [ -e ${WORKDIR}/fw_env.config ] ; then
|
||||
install -d ${D}${sysconfdir}
|
||||
install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
FILES_${PN} = "/boot ${sysconfdir}"
|
||||
# no gnu_hash in uboot.bin, by design, so skip QA
|
||||
INSANE_SKIP_${PN} = "1"
|
||||
|
||||
inherit deploy
|
||||
|
||||
addtask deploy before do_package after do_compile
|
||||
|
||||
do_deploy () {
|
||||
install -d ${DEPLOY_DIR_IMAGE}
|
||||
install ${S}/${UBOOT_BINARY} ${DEPLOY_DIR_IMAGE}/${UBOOT_IMAGE}
|
||||
|
||||
cd ${DEPLOY_DIR_IMAGE}
|
||||
rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK}
|
||||
ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
|
||||
ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
|
||||
|
||||
if [ -e ${S}/MLO ] ; then
|
||||
install ${S}/MLO ${DEPLOY_DIR_IMAGE}/MLO-${MACHINE}-${PV}
|
||||
rm -f ${DEPLOY_DIR_IMAGE}/MLO-${MACHINE} ${DEPLOY_DIR_IMAGE}/MLO
|
||||
ln -sf MLO-${MACHINE}-${PV} ${DEPLOY_DIR_IMAGE}/MLO-${MACHINE}
|
||||
ln -sf MLO-${MACHINE}-${PV} ${DEPLOY_DIR_IMAGE}/MLO
|
||||
fi
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
From 40f1e7db785f477a2aa145a3b47bd498c48ad52d Mon Sep 17 00:00:00 2001
|
||||
From: Steve Kipisz <s-kipisz2@ti.com>
|
||||
Date: Fri, 14 Jun 2013 05:16:52 -0500
|
||||
Subject: [PATCH] armv7:Unaligned access fix
|
||||
|
||||
This fixes an unaligned access data abort introduced when using gcc 4.7
|
||||
or higher. The Linaro toolchain uses gcc 4.7.3. This is documented in u-boot
|
||||
doc/README.arm-unaligned-accesses.
|
||||
|
||||
Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
|
||||
---
|
||||
arch/arm/cpu/armv7/config.mk | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/cpu/armv7/config.mk b/arch/arm/cpu/armv7/config.mk
|
||||
index 9c3e2f3..9736da8 100644
|
||||
--- a/arch/arm/cpu/armv7/config.mk
|
||||
+++ b/arch/arm/cpu/armv7/config.mk
|
||||
@@ -20,7 +20,7 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
# MA 02111-1307 USA
|
||||
#
|
||||
-PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float
|
||||
+PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float -mno-unaligned-access
|
||||
|
||||
# If armv7-a is not supported by GCC fall-back to armv5, which is
|
||||
# supported by more tool-chains
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
From 8892464287ca16f90397f159370f0d42ff6dc879 Mon Sep 17 00:00:00 2001
|
||||
From: Bob Feretich <bob.feretich@rafresearch.com>
|
||||
Date: Thu, 24 Feb 2011 13:16:44 +0000
|
||||
Subject: [PATCH 01/30] OMAP3 Beagle Pin Mux initialization glitch fix
|
||||
|
||||
The below patch reverses the order of two segments in the board file.
|
||||
Output pins need to have their values initialized, before they are
|
||||
exposed to the logic outside the chip.
|
||||
|
||||
Signed-off-by: Bob Feretich <bob.feretich@rafresearch.com>
|
||||
Cc: Wolfgang Denk <wd@denx.de>
|
||||
---
|
||||
board/ti/beagle/beagle.c | 12 ++++++------
|
||||
1 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index ab50514..15d061a 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -301,17 +301,17 @@ int misc_init_r(void)
|
||||
twl4030_power_init();
|
||||
twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
|
||||
|
||||
- /* Configure GPIOs to output */
|
||||
- writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe);
|
||||
- writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
|
||||
- GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
|
||||
-
|
||||
- /* Set GPIOs */
|
||||
+ /* Set GPIO states before they are made outputs */
|
||||
writel(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1,
|
||||
&gpio6_base->setdataout);
|
||||
writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
|
||||
GPIO15 | GPIO14 | GPIO13 | GPIO12, &gpio5_base->setdataout);
|
||||
|
||||
+ /* Configure GPIOs to output */
|
||||
+ writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe);
|
||||
+ writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
|
||||
+ GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
|
||||
+
|
||||
dieid_num_r();
|
||||
|
||||
return 0;
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
From 88ee784eddb634074895d68572b896aebd10bb5d Mon Sep 17 00:00:00 2001
|
||||
From: Steve Sakoman <steve@sakoman.com>
|
||||
Date: Thu, 30 Dec 2010 07:19:44 +0000
|
||||
Subject: [PATCH 02/30] OMAP: Remove omapfb.debug=y from Beagle and Overo env settings
|
||||
|
||||
The kernel DSS2 code is mature now, and keeping this setting hurts performance
|
||||
|
||||
Signed-off-by: Steve Sakoman <steve@sakoman.com>
|
||||
---
|
||||
include/configs/omap3_beagle.h | 2 --
|
||||
include/configs/omap3_overo.h | 2 --
|
||||
2 files changed, 0 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index 9fd80ed..42575f1 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -214,7 +214,6 @@
|
||||
"mpurate=${mpurate} " \
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
- "omapfb.debug=y " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
"root=${mmcroot} " \
|
||||
"rootfstype=${mmcrootfstype}\0" \
|
||||
@@ -222,7 +221,6 @@
|
||||
"mpurate=${mpurate} " \
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
- "omapfb.debug=y " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
"root=${nandroot} " \
|
||||
"rootfstype=${nandrootfstype}\0" \
|
||||
diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h
|
||||
index 242b317..0f64054 100644
|
||||
--- a/include/configs/omap3_overo.h
|
||||
+++ b/include/configs/omap3_overo.h
|
||||
@@ -170,7 +170,6 @@
|
||||
"mpurate=${mpurate} " \
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
- "omapfb.debug=y " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
"root=${mmcroot} " \
|
||||
"rootfstype=${mmcrootfstype}\0" \
|
||||
@@ -178,7 +177,6 @@
|
||||
"mpurate=${mpurate} " \
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
- "omapfb.debug=y " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
"root=${nandroot} " \
|
||||
"rootfstype=${nandrootfstype}\0" \
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
From 89231bb3ed75ea6801a10d3ea618c8dc83d7e483 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Mon, 22 Nov 2010 11:51:32 +0100
|
||||
Subject: [PATCH 03/30] OMAP3: beagle: pass expansionboard name in bootargs
|
||||
|
||||
---
|
||||
include/configs/omap3_beagle.h | 13 +++++++++++++
|
||||
1 files changed, 13 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index 42575f1..d5f98da 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -202,6 +202,7 @@
|
||||
"usbtty=cdc_acm\0" \
|
||||
"console=ttyS2,115200n8\0" \
|
||||
"mpurate=auto\0" \
|
||||
+ "buddy=none "\
|
||||
"vram=12M\0" \
|
||||
"dvimode=1024x768MR-16@60\0" \
|
||||
"defaultdisplay=dvi\0" \
|
||||
@@ -212,6 +213,7 @@
|
||||
"nandrootfstype=jffs2\0" \
|
||||
"mmcargs=setenv bootargs console=${console} " \
|
||||
"mpurate=${mpurate} " \
|
||||
+ "buddy=${buddy} "\
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
@@ -219,6 +221,7 @@
|
||||
"rootfstype=${mmcrootfstype}\0" \
|
||||
"nandargs=setenv bootargs console=${console} " \
|
||||
"mpurate=${mpurate} " \
|
||||
+ "buddy=${buddy} "\
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
@@ -227,6 +230,16 @@
|
||||
"loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
|
||||
"importbootenv=echo Importing environment from mmc ...; " \
|
||||
"env import -t $loadaddr $filesize\0" \
|
||||
+ "ramargs=setenv bootargs console=${console} " \
|
||||
+ "${optargs} " \
|
||||
+ "mpurate=${mpurate} " \
|
||||
+ "buddy=${buddy} "\
|
||||
+ "vram=${vram} " \
|
||||
+ "omapfb.mode=dvi:${dvimode} " \
|
||||
+ "omapdss.def_disp=${defaultdisplay} " \
|
||||
+ "root=${ramroot} " \
|
||||
+ "rootfstype=${ramrootfstype}\0" \
|
||||
+ "loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
|
||||
"loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
|
||||
"mmcboot=echo Booting from mmc ...; " \
|
||||
"run mmcargs; " \
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
From 9890bd3e5a28645214aff9d8d311d6a5bdec6cf9 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Fri, 17 Jun 2011 09:37:37 +0200
|
||||
Subject: [PATCH 04/30] beagleboard: add support for xM revision C
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
board/ti/beagle/beagle.c | 10 ++++++++++
|
||||
board/ti/beagle/beagle.h | 1 +
|
||||
2 files changed, 11 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 15d061a..7768901 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -216,6 +216,16 @@ int misc_init_r(void)
|
||||
TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
|
||||
TWL4030_PM_RECEIVER_DEV_GRP_P1);
|
||||
break;
|
||||
+ case REVISION_XM_C:
|
||||
+ printf("Beagle xM Rev C\n");
|
||||
+ setenv("beaglerev", "xMC");
|
||||
+ MUX_BEAGLE_XM();
|
||||
+ /* Set VAUX2 to 1.8V for EHCI PHY */
|
||||
+ twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
|
||||
+ TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
|
||||
+ TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
|
||||
+ TWL4030_PM_RECEIVER_DEV_GRP_P1);
|
||||
+ break;
|
||||
default:
|
||||
printf("Beagle unknown 0x%02x\n", get_board_revision());
|
||||
MUX_BEAGLE_XM();
|
||||
diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
|
||||
index a7401b1..04247cd 100644
|
||||
--- a/board/ti/beagle/beagle.h
|
||||
+++ b/board/ti/beagle/beagle.h
|
||||
@@ -39,6 +39,7 @@ const omap3_sysinfo sysinfo = {
|
||||
#define REVISION_C4 0x5
|
||||
#define REVISION_XM_A 0x0
|
||||
#define REVISION_XM_B 0x1
|
||||
+#define REVISION_XM_C 0x2
|
||||
|
||||
/*
|
||||
* IEN - Input Enable
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,989 +0,0 @@
|
||||
From 00b6a679e3c739567f1383030cd61483a15555f8 Mon Sep 17 00:00:00 2001
|
||||
From: Simon Glass <sjg@chromium.org>
|
||||
Date: Mon, 13 Jun 2011 13:13:09 +0000
|
||||
Subject: [PATCH 05/30] Add support for SMSC95XX USB 2.0 10/100MBit Ethernet Adapter
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The SMSC95XX is a USB hub with a built-in Ethernet adapter. This adds support
|
||||
for this, using the USB host network framework.
|
||||
|
||||
Changes for v2:
|
||||
- Coding style cleanup
|
||||
- Changed some comments as suggested
|
||||
|
||||
Changes for v3:
|
||||
- Change turbo_mode to #define
|
||||
|
||||
Changes for v4:
|
||||
- Dropped Tegra2 specific bit
|
||||
- Fixed a few broken bits in SMSC from my testing
|
||||
|
||||
Changes for v5:
|
||||
- Code style clean-ups in SMSC
|
||||
- Cleaned up debugging of errors in SMSC driver
|
||||
|
||||
Changes for v6:
|
||||
- Set NET_IP_ALIGN to 0 always
|
||||
|
||||
Changes for v8:
|
||||
- Add setup of SMSC write_hwaddr function
|
||||
|
||||
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||||
Tested-by: Eric Bénard <eric@eukrea.com>
|
||||
---
|
||||
drivers/usb/eth/Makefile | 1 +
|
||||
drivers/usb/eth/smsc95xx.c | 879 +++++++++++++++++++++++++++++++++++++++++++
|
||||
drivers/usb/eth/usb_ether.c | 7 +
|
||||
include/usb_ether.h | 13 +
|
||||
4 files changed, 900 insertions(+), 0 deletions(-)
|
||||
create mode 100644 drivers/usb/eth/smsc95xx.c
|
||||
|
||||
diff --git a/drivers/usb/eth/Makefile b/drivers/usb/eth/Makefile
|
||||
index 6a5f25a..e28793d 100644
|
||||
--- a/drivers/usb/eth/Makefile
|
||||
+++ b/drivers/usb/eth/Makefile
|
||||
@@ -28,6 +28,7 @@ COBJS-$(CONFIG_USB_HOST_ETHER) += usb_ether.o
|
||||
ifdef CONFIG_USB_ETHER_ASIX
|
||||
COBJS-y += asix.o
|
||||
endif
|
||||
+COBJS-$(CONFIG_USB_ETHER_SMSC95XX) += smsc95xx.o
|
||||
|
||||
COBJS := $(COBJS-y)
|
||||
SRCS := $(COBJS:.o=.c)
|
||||
diff --git a/drivers/usb/eth/smsc95xx.c b/drivers/usb/eth/smsc95xx.c
|
||||
new file mode 100644
|
||||
index 0000000..97f2729
|
||||
--- /dev/null
|
||||
+++ b/drivers/usb/eth/smsc95xx.c
|
||||
@@ -0,0 +1,879 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2011 The Chromium OS Authors.
|
||||
+ * Copyright (C) 2009 NVIDIA, Corporation
|
||||
+ * See file CREDITS for list of people who contributed to this
|
||||
+ * project.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of
|
||||
+ * the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
+ * MA 02111-1307 USA
|
||||
+ */
|
||||
+
|
||||
+#include <common.h>
|
||||
+#include <usb.h>
|
||||
+#include <linux/mii.h>
|
||||
+#include "usb_ether.h"
|
||||
+
|
||||
+/* SMSC LAN95xx based USB 2.0 Ethernet Devices */
|
||||
+
|
||||
+/* Tx command words */
|
||||
+#define TX_CMD_A_FIRST_SEG_ 0x00002000
|
||||
+#define TX_CMD_A_LAST_SEG_ 0x00001000
|
||||
+
|
||||
+/* Rx status word */
|
||||
+#define RX_STS_FL_ 0x3FFF0000 /* Frame Length */
|
||||
+#define RX_STS_ES_ 0x00008000 /* Error Summary */
|
||||
+
|
||||
+/* SCSRs */
|
||||
+#define ID_REV 0x00
|
||||
+
|
||||
+#define INT_STS 0x08
|
||||
+
|
||||
+#define TX_CFG 0x10
|
||||
+#define TX_CFG_ON_ 0x00000004
|
||||
+
|
||||
+#define HW_CFG 0x14
|
||||
+#define HW_CFG_BIR_ 0x00001000
|
||||
+#define HW_CFG_RXDOFF_ 0x00000600
|
||||
+#define HW_CFG_MEF_ 0x00000020
|
||||
+#define HW_CFG_BCE_ 0x00000002
|
||||
+#define HW_CFG_LRST_ 0x00000008
|
||||
+
|
||||
+#define PM_CTRL 0x20
|
||||
+#define PM_CTL_PHY_RST_ 0x00000010
|
||||
+
|
||||
+#define AFC_CFG 0x2C
|
||||
+
|
||||
+/*
|
||||
+ * Hi watermark = 15.5Kb (~10 mtu pkts)
|
||||
+ * low watermark = 3k (~2 mtu pkts)
|
||||
+ * backpressure duration = ~ 350us
|
||||
+ * Apply FC on any frame.
|
||||
+ */
|
||||
+#define AFC_CFG_DEFAULT 0x00F830A1
|
||||
+
|
||||
+#define E2P_CMD 0x30
|
||||
+#define E2P_CMD_BUSY_ 0x80000000
|
||||
+#define E2P_CMD_READ_ 0x00000000
|
||||
+#define E2P_CMD_TIMEOUT_ 0x00000400
|
||||
+#define E2P_CMD_LOADED_ 0x00000200
|
||||
+#define E2P_CMD_ADDR_ 0x000001FF
|
||||
+
|
||||
+#define E2P_DATA 0x34
|
||||
+
|
||||
+#define BURST_CAP 0x38
|
||||
+
|
||||
+#define INT_EP_CTL 0x68
|
||||
+#define INT_EP_CTL_PHY_INT_ 0x00008000
|
||||
+
|
||||
+#define BULK_IN_DLY 0x6C
|
||||
+
|
||||
+/* MAC CSRs */
|
||||
+#define MAC_CR 0x100
|
||||
+#define MAC_CR_MCPAS_ 0x00080000
|
||||
+#define MAC_CR_PRMS_ 0x00040000
|
||||
+#define MAC_CR_HPFILT_ 0x00002000
|
||||
+#define MAC_CR_TXEN_ 0x00000008
|
||||
+#define MAC_CR_RXEN_ 0x00000004
|
||||
+
|
||||
+#define ADDRH 0x104
|
||||
+
|
||||
+#define ADDRL 0x108
|
||||
+
|
||||
+#define MII_ADDR 0x114
|
||||
+#define MII_WRITE_ 0x02
|
||||
+#define MII_BUSY_ 0x01
|
||||
+#define MII_READ_ 0x00 /* ~of MII Write bit */
|
||||
+
|
||||
+#define MII_DATA 0x118
|
||||
+
|
||||
+#define FLOW 0x11C
|
||||
+
|
||||
+#define VLAN1 0x120
|
||||
+
|
||||
+#define COE_CR 0x130
|
||||
+#define Tx_COE_EN_ 0x00010000
|
||||
+#define Rx_COE_EN_ 0x00000001
|
||||
+
|
||||
+/* Vendor-specific PHY Definitions */
|
||||
+#define PHY_INT_SRC 29
|
||||
+
|
||||
+#define PHY_INT_MASK 30
|
||||
+#define PHY_INT_MASK_ANEG_COMP_ ((u16)0x0040)
|
||||
+#define PHY_INT_MASK_LINK_DOWN_ ((u16)0x0010)
|
||||
+#define PHY_INT_MASK_DEFAULT_ (PHY_INT_MASK_ANEG_COMP_ | \
|
||||
+ PHY_INT_MASK_LINK_DOWN_)
|
||||
+
|
||||
+/* USB Vendor Requests */
|
||||
+#define USB_VENDOR_REQUEST_WRITE_REGISTER 0xA0
|
||||
+#define USB_VENDOR_REQUEST_READ_REGISTER 0xA1
|
||||
+
|
||||
+/* Some extra defines */
|
||||
+#define HS_USB_PKT_SIZE 512
|
||||
+#define FS_USB_PKT_SIZE 64
|
||||
+#define DEFAULT_HS_BURST_CAP_SIZE (16 * 1024 + 5 * HS_USB_PKT_SIZE)
|
||||
+#define DEFAULT_FS_BURST_CAP_SIZE (6 * 1024 + 33 * FS_USB_PKT_SIZE)
|
||||
+#define DEFAULT_BULK_IN_DELAY 0x00002000
|
||||
+#define MAX_SINGLE_PACKET_SIZE 2048
|
||||
+#define EEPROM_MAC_OFFSET 0x01
|
||||
+#define SMSC95XX_INTERNAL_PHY_ID 1
|
||||
+#define ETH_P_8021Q 0x8100 /* 802.1Q VLAN Extended Header */
|
||||
+
|
||||
+/* local defines */
|
||||
+#define SMSC95XX_BASE_NAME "sms"
|
||||
+#define USB_CTRL_SET_TIMEOUT 5000
|
||||
+#define USB_CTRL_GET_TIMEOUT 5000
|
||||
+#define USB_BULK_SEND_TIMEOUT 5000
|
||||
+#define USB_BULK_RECV_TIMEOUT 5000
|
||||
+
|
||||
+#define AX_RX_URB_SIZE 2048
|
||||
+#define PHY_CONNECT_TIMEOUT 5000
|
||||
+
|
||||
+#define TURBO_MODE
|
||||
+
|
||||
+/* local vars */
|
||||
+static int curr_eth_dev; /* index for name of next device detected */
|
||||
+
|
||||
+
|
||||
+/*
|
||||
+ * Smsc95xx infrastructure commands
|
||||
+ */
|
||||
+static int smsc95xx_write_reg(struct ueth_data *dev, u32 index, u32 data)
|
||||
+{
|
||||
+ int len;
|
||||
+
|
||||
+ cpu_to_le32s(&data);
|
||||
+
|
||||
+ len = usb_control_msg(dev->pusb_dev, usb_sndctrlpipe(dev->pusb_dev, 0),
|
||||
+ USB_VENDOR_REQUEST_WRITE_REGISTER,
|
||||
+ USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
|
||||
+ 00, index, &data, sizeof(data), USB_CTRL_SET_TIMEOUT);
|
||||
+ if (len != sizeof(data)) {
|
||||
+ debug("smsc95xx_write_reg failed: index=%d, data=%d, len=%d",
|
||||
+ index, data, len);
|
||||
+ return -1;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int smsc95xx_read_reg(struct ueth_data *dev, u32 index, u32 *data)
|
||||
+{
|
||||
+ int len;
|
||||
+
|
||||
+ len = usb_control_msg(dev->pusb_dev, usb_rcvctrlpipe(dev->pusb_dev, 0),
|
||||
+ USB_VENDOR_REQUEST_READ_REGISTER,
|
||||
+ USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
|
||||
+ 00, index, data, sizeof(data), USB_CTRL_GET_TIMEOUT);
|
||||
+ if (len != sizeof(data)) {
|
||||
+ debug("smsc95xx_read_reg failed: index=%d, len=%d",
|
||||
+ index, len);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ le32_to_cpus(data);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+/* Loop until the read is completed with timeout */
|
||||
+static int smsc95xx_phy_wait_not_busy(struct ueth_data *dev)
|
||||
+{
|
||||
+ unsigned long start_time = get_timer(0);
|
||||
+ u32 val;
|
||||
+
|
||||
+ do {
|
||||
+ smsc95xx_read_reg(dev, MII_ADDR, &val);
|
||||
+ if (!(val & MII_BUSY_))
|
||||
+ return 0;
|
||||
+ } while (get_timer(start_time) < 1 * 1000 * 1000);
|
||||
+
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+static int smsc95xx_mdio_read(struct ueth_data *dev, int phy_id, int idx)
|
||||
+{
|
||||
+ u32 val, addr;
|
||||
+
|
||||
+ /* confirm MII not busy */
|
||||
+ if (smsc95xx_phy_wait_not_busy(dev)) {
|
||||
+ debug("MII is busy in smsc95xx_mdio_read\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ /* set the address, index & direction (read from PHY) */
|
||||
+ addr = (phy_id << 11) | (idx << 6) | MII_READ_;
|
||||
+ smsc95xx_write_reg(dev, MII_ADDR, addr);
|
||||
+
|
||||
+ if (smsc95xx_phy_wait_not_busy(dev)) {
|
||||
+ debug("Timed out reading MII reg %02X\n", idx);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ smsc95xx_read_reg(dev, MII_DATA, &val);
|
||||
+
|
||||
+ return (u16)(val & 0xFFFF);
|
||||
+}
|
||||
+
|
||||
+static void smsc95xx_mdio_write(struct ueth_data *dev, int phy_id, int idx,
|
||||
+ int regval)
|
||||
+{
|
||||
+ u32 val, addr;
|
||||
+
|
||||
+ /* confirm MII not busy */
|
||||
+ if (smsc95xx_phy_wait_not_busy(dev)) {
|
||||
+ debug("MII is busy in smsc95xx_mdio_write\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ val = regval;
|
||||
+ smsc95xx_write_reg(dev, MII_DATA, val);
|
||||
+
|
||||
+ /* set the address, index & direction (write to PHY) */
|
||||
+ addr = (phy_id << 11) | (idx << 6) | MII_WRITE_;
|
||||
+ smsc95xx_write_reg(dev, MII_ADDR, addr);
|
||||
+
|
||||
+ if (smsc95xx_phy_wait_not_busy(dev))
|
||||
+ debug("Timed out writing MII reg %02X\n", idx);
|
||||
+}
|
||||
+
|
||||
+static int smsc95xx_eeprom_confirm_not_busy(struct ueth_data *dev)
|
||||
+{
|
||||
+ unsigned long start_time = get_timer(0);
|
||||
+ u32 val;
|
||||
+
|
||||
+ do {
|
||||
+ smsc95xx_read_reg(dev, E2P_CMD, &val);
|
||||
+ if (!(val & E2P_CMD_LOADED_)) {
|
||||
+ debug("No EEPROM present\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+ if (!(val & E2P_CMD_BUSY_))
|
||||
+ return 0;
|
||||
+ udelay(40);
|
||||
+ } while (get_timer(start_time) < 1 * 1000 * 1000);
|
||||
+
|
||||
+ debug("EEPROM is busy\n");
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+static int smsc95xx_wait_eeprom(struct ueth_data *dev)
|
||||
+{
|
||||
+ unsigned long start_time = get_timer(0);
|
||||
+ u32 val;
|
||||
+
|
||||
+ do {
|
||||
+ smsc95xx_read_reg(dev, E2P_CMD, &val);
|
||||
+ if (!(val & E2P_CMD_BUSY_) || (val & E2P_CMD_TIMEOUT_))
|
||||
+ break;
|
||||
+ udelay(40);
|
||||
+ } while (get_timer(start_time) < 1 * 1000 * 1000);
|
||||
+
|
||||
+ if (val & (E2P_CMD_TIMEOUT_ | E2P_CMD_BUSY_)) {
|
||||
+ debug("EEPROM read operation timeout\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int smsc95xx_read_eeprom(struct ueth_data *dev, u32 offset, u32 length,
|
||||
+ u8 *data)
|
||||
+{
|
||||
+ u32 val;
|
||||
+ int i, ret;
|
||||
+
|
||||
+ ret = smsc95xx_eeprom_confirm_not_busy(dev);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ for (i = 0; i < length; i++) {
|
||||
+ val = E2P_CMD_BUSY_ | E2P_CMD_READ_ | (offset & E2P_CMD_ADDR_);
|
||||
+ smsc95xx_write_reg(dev, E2P_CMD, val);
|
||||
+
|
||||
+ ret = smsc95xx_wait_eeprom(dev);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ smsc95xx_read_reg(dev, E2P_DATA, &val);
|
||||
+ data[i] = val & 0xFF;
|
||||
+ offset++;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * mii_nway_restart - restart NWay (autonegotiation) for this interface
|
||||
+ *
|
||||
+ * Returns 0 on success, negative on error.
|
||||
+ */
|
||||
+static int mii_nway_restart(struct ueth_data *dev)
|
||||
+{
|
||||
+ int bmcr;
|
||||
+ int r = -1;
|
||||
+
|
||||
+ /* if autoneg is off, it's an error */
|
||||
+ bmcr = smsc95xx_mdio_read(dev, dev->phy_id, MII_BMCR);
|
||||
+
|
||||
+ if (bmcr & BMCR_ANENABLE) {
|
||||
+ bmcr |= BMCR_ANRESTART;
|
||||
+ smsc95xx_mdio_write(dev, dev->phy_id, MII_BMCR, bmcr);
|
||||
+ r = 0;
|
||||
+ }
|
||||
+ return r;
|
||||
+}
|
||||
+
|
||||
+static int smsc95xx_phy_initialize(struct ueth_data *dev)
|
||||
+{
|
||||
+ smsc95xx_mdio_write(dev, dev->phy_id, MII_BMCR, BMCR_RESET);
|
||||
+ smsc95xx_mdio_write(dev, dev->phy_id, MII_ADVERTISE,
|
||||
+ ADVERTISE_ALL | ADVERTISE_CSMA | ADVERTISE_PAUSE_CAP |
|
||||
+ ADVERTISE_PAUSE_ASYM);
|
||||
+
|
||||
+ /* read to clear */
|
||||
+ smsc95xx_mdio_read(dev, dev->phy_id, PHY_INT_SRC);
|
||||
+
|
||||
+ smsc95xx_mdio_write(dev, dev->phy_id, PHY_INT_MASK,
|
||||
+ PHY_INT_MASK_DEFAULT_);
|
||||
+ mii_nway_restart(dev);
|
||||
+
|
||||
+ debug("phy initialised succesfully\n");
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int smsc95xx_init_mac_address(struct eth_device *eth,
|
||||
+ struct ueth_data *dev)
|
||||
+{
|
||||
+ /* try reading mac address from EEPROM */
|
||||
+ if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
|
||||
+ eth->enetaddr) == 0) {
|
||||
+ if (is_valid_ether_addr(eth->enetaddr)) {
|
||||
+ /* eeprom values are valid so use them */
|
||||
+ debug("MAC address read from EEPROM\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * No eeprom, or eeprom values are invalid. Generating a random MAC
|
||||
+ * address is not safe. Just return an error.
|
||||
+ */
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+static int smsc95xx_write_hwaddr(struct eth_device *eth)
|
||||
+{
|
||||
+ struct ueth_data *dev = (struct ueth_data *)eth->priv;
|
||||
+ u32 addr_lo, addr_hi;
|
||||
+ int ret;
|
||||
+
|
||||
+ /* set hardware address */
|
||||
+ debug("** %s()\n", __func__);
|
||||
+ addr_lo = cpu_to_le32(*((u32 *)eth->enetaddr));
|
||||
+ addr_hi = cpu_to_le16(*((u16 *)(eth->enetaddr + 4)));
|
||||
+ ret = smsc95xx_write_reg(dev, ADDRL, addr_lo);
|
||||
+ if (ret < 0) {
|
||||
+ debug("Failed to write ADDRL: %d\n", ret);
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ ret = smsc95xx_write_reg(dev, ADDRH, addr_hi);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ debug("MAC %02x:%02x:%02x:%02x:%02x:%02x\n",
|
||||
+ eth->enetaddr[0], eth->enetaddr[1],
|
||||
+ eth->enetaddr[2], eth->enetaddr[3],
|
||||
+ eth->enetaddr[4], eth->enetaddr[5]);
|
||||
+ dev->have_hwaddr = 1;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+/* Enable or disable Tx & Rx checksum offload engines */
|
||||
+static int smsc95xx_set_csums(struct ueth_data *dev,
|
||||
+ int use_tx_csum, int use_rx_csum)
|
||||
+{
|
||||
+ u32 read_buf;
|
||||
+ int ret = smsc95xx_read_reg(dev, COE_CR, &read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ if (use_tx_csum)
|
||||
+ read_buf |= Tx_COE_EN_;
|
||||
+ else
|
||||
+ read_buf &= ~Tx_COE_EN_;
|
||||
+
|
||||
+ if (use_rx_csum)
|
||||
+ read_buf |= Rx_COE_EN_;
|
||||
+ else
|
||||
+ read_buf &= ~Rx_COE_EN_;
|
||||
+
|
||||
+ ret = smsc95xx_write_reg(dev, COE_CR, read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ debug("COE_CR = 0x%08x\n", read_buf);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void smsc95xx_set_multicast(struct ueth_data *dev)
|
||||
+{
|
||||
+ /* No multicast in u-boot */
|
||||
+ dev->mac_cr &= ~(MAC_CR_PRMS_ | MAC_CR_MCPAS_ | MAC_CR_HPFILT_);
|
||||
+}
|
||||
+
|
||||
+/* starts the TX path */
|
||||
+static void smsc95xx_start_tx_path(struct ueth_data *dev)
|
||||
+{
|
||||
+ u32 reg_val;
|
||||
+
|
||||
+ /* Enable Tx at MAC */
|
||||
+ dev->mac_cr |= MAC_CR_TXEN_;
|
||||
+
|
||||
+ smsc95xx_write_reg(dev, MAC_CR, dev->mac_cr);
|
||||
+
|
||||
+ /* Enable Tx at SCSRs */
|
||||
+ reg_val = TX_CFG_ON_;
|
||||
+ smsc95xx_write_reg(dev, TX_CFG, reg_val);
|
||||
+}
|
||||
+
|
||||
+/* Starts the Receive path */
|
||||
+static void smsc95xx_start_rx_path(struct ueth_data *dev)
|
||||
+{
|
||||
+ dev->mac_cr |= MAC_CR_RXEN_;
|
||||
+ smsc95xx_write_reg(dev, MAC_CR, dev->mac_cr);
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Smsc95xx callbacks
|
||||
+ */
|
||||
+static int smsc95xx_init(struct eth_device *eth, bd_t *bd)
|
||||
+{
|
||||
+ int ret;
|
||||
+ u32 write_buf;
|
||||
+ u32 read_buf;
|
||||
+ u32 burst_cap;
|
||||
+ int timeout;
|
||||
+ struct ueth_data *dev = (struct ueth_data *)eth->priv;
|
||||
+#define TIMEOUT_RESOLUTION 50 /* ms */
|
||||
+ int link_detected;
|
||||
+
|
||||
+ debug("** %s()\n", __func__);
|
||||
+ dev->phy_id = SMSC95XX_INTERNAL_PHY_ID; /* fixed phy id */
|
||||
+
|
||||
+ write_buf = HW_CFG_LRST_;
|
||||
+ ret = smsc95xx_write_reg(dev, HW_CFG, write_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ timeout = 0;
|
||||
+ do {
|
||||
+ ret = smsc95xx_read_reg(dev, HW_CFG, &read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ udelay(10 * 1000);
|
||||
+ timeout++;
|
||||
+ } while ((read_buf & HW_CFG_LRST_) && (timeout < 100));
|
||||
+
|
||||
+ if (timeout >= 100) {
|
||||
+ debug("timeout waiting for completion of Lite Reset\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ write_buf = PM_CTL_PHY_RST_;
|
||||
+ ret = smsc95xx_write_reg(dev, PM_CTRL, write_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ timeout = 0;
|
||||
+ do {
|
||||
+ ret = smsc95xx_read_reg(dev, PM_CTRL, &read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ udelay(10 * 1000);
|
||||
+ timeout++;
|
||||
+ } while ((read_buf & PM_CTL_PHY_RST_) && (timeout < 100));
|
||||
+ if (timeout >= 100) {
|
||||
+ debug("timeout waiting for PHY Reset\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+ if (!dev->have_hwaddr && smsc95xx_init_mac_address(eth, dev) == 0)
|
||||
+ dev->have_hwaddr = 1;
|
||||
+ if (!dev->have_hwaddr) {
|
||||
+ puts("Error: SMSC95xx: No MAC address set - set usbethaddr\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+ if (smsc95xx_write_hwaddr(eth) < 0)
|
||||
+ return -1;
|
||||
+
|
||||
+ ret = smsc95xx_read_reg(dev, HW_CFG, &read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ debug("Read Value from HW_CFG : 0x%08x\n", read_buf);
|
||||
+
|
||||
+ read_buf |= HW_CFG_BIR_;
|
||||
+ ret = smsc95xx_write_reg(dev, HW_CFG, read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = smsc95xx_read_reg(dev, HW_CFG, &read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ debug("Read Value from HW_CFG after writing "
|
||||
+ "HW_CFG_BIR_: 0x%08x\n", read_buf);
|
||||
+
|
||||
+#ifdef TURBO_MODE
|
||||
+ if (dev->pusb_dev->speed == USB_SPEED_HIGH) {
|
||||
+ burst_cap = DEFAULT_HS_BURST_CAP_SIZE / HS_USB_PKT_SIZE;
|
||||
+ dev->rx_urb_size = DEFAULT_HS_BURST_CAP_SIZE;
|
||||
+ } else {
|
||||
+ burst_cap = DEFAULT_FS_BURST_CAP_SIZE / FS_USB_PKT_SIZE;
|
||||
+ dev->rx_urb_size = DEFAULT_FS_BURST_CAP_SIZE;
|
||||
+ }
|
||||
+#else
|
||||
+ burst_cap = 0;
|
||||
+ dev->rx_urb_size = MAX_SINGLE_PACKET_SIZE;
|
||||
+#endif
|
||||
+ debug("rx_urb_size=%ld\n", (ulong)dev->rx_urb_size);
|
||||
+
|
||||
+ ret = smsc95xx_write_reg(dev, BURST_CAP, burst_cap);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = smsc95xx_read_reg(dev, BURST_CAP, &read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ debug("Read Value from BURST_CAP after writing: 0x%08x\n", read_buf);
|
||||
+
|
||||
+ read_buf = DEFAULT_BULK_IN_DELAY;
|
||||
+ ret = smsc95xx_write_reg(dev, BULK_IN_DLY, read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = smsc95xx_read_reg(dev, BULK_IN_DLY, &read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ debug("Read Value from BULK_IN_DLY after writing: "
|
||||
+ "0x%08x\n", read_buf);
|
||||
+
|
||||
+ ret = smsc95xx_read_reg(dev, HW_CFG, &read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ debug("Read Value from HW_CFG: 0x%08x\n", read_buf);
|
||||
+
|
||||
+#ifdef TURBO_MODE
|
||||
+ read_buf |= (HW_CFG_MEF_ | HW_CFG_BCE_);
|
||||
+#endif
|
||||
+ read_buf &= ~HW_CFG_RXDOFF_;
|
||||
+
|
||||
+#define NET_IP_ALIGN 0
|
||||
+ read_buf |= NET_IP_ALIGN << 9;
|
||||
+
|
||||
+ ret = smsc95xx_write_reg(dev, HW_CFG, read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = smsc95xx_read_reg(dev, HW_CFG, &read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ debug("Read Value from HW_CFG after writing: 0x%08x\n", read_buf);
|
||||
+
|
||||
+ write_buf = 0xFFFFFFFF;
|
||||
+ ret = smsc95xx_write_reg(dev, INT_STS, write_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = smsc95xx_read_reg(dev, ID_REV, &read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+ debug("ID_REV = 0x%08x\n", read_buf);
|
||||
+
|
||||
+ /* Init Tx */
|
||||
+ write_buf = 0;
|
||||
+ ret = smsc95xx_write_reg(dev, FLOW, write_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ read_buf = AFC_CFG_DEFAULT;
|
||||
+ ret = smsc95xx_write_reg(dev, AFC_CFG, read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = smsc95xx_read_reg(dev, MAC_CR, &dev->mac_cr);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ /* Init Rx. Set Vlan */
|
||||
+ write_buf = (u32)ETH_P_8021Q;
|
||||
+ ret = smsc95xx_write_reg(dev, VLAN1, write_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ /* Disable checksum offload engines */
|
||||
+ ret = smsc95xx_set_csums(dev, 0, 0);
|
||||
+ if (ret < 0) {
|
||||
+ debug("Failed to set csum offload: %d\n", ret);
|
||||
+ return ret;
|
||||
+ }
|
||||
+ smsc95xx_set_multicast(dev);
|
||||
+
|
||||
+ if (smsc95xx_phy_initialize(dev) < 0)
|
||||
+ return -1;
|
||||
+ ret = smsc95xx_read_reg(dev, INT_EP_CTL, &read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ /* enable PHY interrupts */
|
||||
+ read_buf |= INT_EP_CTL_PHY_INT_;
|
||||
+
|
||||
+ ret = smsc95xx_write_reg(dev, INT_EP_CTL, read_buf);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
+ smsc95xx_start_tx_path(dev);
|
||||
+ smsc95xx_start_rx_path(dev);
|
||||
+
|
||||
+ timeout = 0;
|
||||
+ do {
|
||||
+ link_detected = smsc95xx_mdio_read(dev, dev->phy_id, MII_BMSR)
|
||||
+ & BMSR_LSTATUS;
|
||||
+ if (!link_detected) {
|
||||
+ if (timeout == 0)
|
||||
+ printf("Waiting for Ethernet connection... ");
|
||||
+ udelay(TIMEOUT_RESOLUTION * 1000);
|
||||
+ timeout += TIMEOUT_RESOLUTION;
|
||||
+ }
|
||||
+ } while (!link_detected && timeout < PHY_CONNECT_TIMEOUT);
|
||||
+ if (link_detected) {
|
||||
+ if (timeout != 0)
|
||||
+ printf("done.\n");
|
||||
+ } else {
|
||||
+ printf("unable to connect.\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int smsc95xx_send(struct eth_device *eth, volatile void* packet,
|
||||
+ int length)
|
||||
+{
|
||||
+ struct ueth_data *dev = (struct ueth_data *)eth->priv;
|
||||
+ int err;
|
||||
+ int actual_len;
|
||||
+ u32 tx_cmd_a;
|
||||
+ u32 tx_cmd_b;
|
||||
+ unsigned char msg[PKTSIZE + sizeof(tx_cmd_a) + sizeof(tx_cmd_b)];
|
||||
+
|
||||
+ debug("** %s(), len %d, buf %#x\n", __func__, length, (int)msg);
|
||||
+ if (length > PKTSIZE)
|
||||
+ return -1;
|
||||
+
|
||||
+ tx_cmd_a = (u32)length | TX_CMD_A_FIRST_SEG_ | TX_CMD_A_LAST_SEG_;
|
||||
+ tx_cmd_b = (u32)length;
|
||||
+ cpu_to_le32s(&tx_cmd_a);
|
||||
+ cpu_to_le32s(&tx_cmd_b);
|
||||
+
|
||||
+ /* prepend cmd_a and cmd_b */
|
||||
+ memcpy(msg, &tx_cmd_a, sizeof(tx_cmd_a));
|
||||
+ memcpy(msg + sizeof(tx_cmd_a), &tx_cmd_b, sizeof(tx_cmd_b));
|
||||
+ memcpy(msg + sizeof(tx_cmd_a) + sizeof(tx_cmd_b), (void *)packet,
|
||||
+ length);
|
||||
+ err = usb_bulk_msg(dev->pusb_dev,
|
||||
+ usb_sndbulkpipe(dev->pusb_dev, dev->ep_out),
|
||||
+ (void *)msg,
|
||||
+ length + sizeof(tx_cmd_a) + sizeof(tx_cmd_b),
|
||||
+ &actual_len,
|
||||
+ USB_BULK_SEND_TIMEOUT);
|
||||
+ debug("Tx: len = %u, actual = %u, err = %d\n",
|
||||
+ length + sizeof(tx_cmd_a) + sizeof(tx_cmd_b),
|
||||
+ actual_len, err);
|
||||
+ return err;
|
||||
+}
|
||||
+
|
||||
+static int smsc95xx_recv(struct eth_device *eth)
|
||||
+{
|
||||
+ struct ueth_data *dev = (struct ueth_data *)eth->priv;
|
||||
+ static unsigned char recv_buf[AX_RX_URB_SIZE];
|
||||
+ unsigned char *buf_ptr;
|
||||
+ int err;
|
||||
+ int actual_len;
|
||||
+ u32 packet_len;
|
||||
+ int cur_buf_align;
|
||||
+
|
||||
+ debug("** %s()\n", __func__);
|
||||
+ err = usb_bulk_msg(dev->pusb_dev,
|
||||
+ usb_rcvbulkpipe(dev->pusb_dev, dev->ep_in),
|
||||
+ (void *)recv_buf,
|
||||
+ AX_RX_URB_SIZE,
|
||||
+ &actual_len,
|
||||
+ USB_BULK_RECV_TIMEOUT);
|
||||
+ debug("Rx: len = %u, actual = %u, err = %d\n", AX_RX_URB_SIZE,
|
||||
+ actual_len, err);
|
||||
+ if (err != 0) {
|
||||
+ debug("Rx: failed to receive\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+ if (actual_len > AX_RX_URB_SIZE) {
|
||||
+ debug("Rx: received too many bytes %d\n", actual_len);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ buf_ptr = recv_buf;
|
||||
+ while (actual_len > 0) {
|
||||
+ /*
|
||||
+ * 1st 4 bytes contain the length of the actual data plus error
|
||||
+ * info. Extract data length.
|
||||
+ */
|
||||
+ if (actual_len < sizeof(packet_len)) {
|
||||
+ debug("Rx: incomplete packet length\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+ memcpy(&packet_len, buf_ptr, sizeof(packet_len));
|
||||
+ le32_to_cpus(&packet_len);
|
||||
+ if (packet_len & RX_STS_ES_) {
|
||||
+ debug("Rx: Error header=%#x", packet_len);
|
||||
+ return -1;
|
||||
+ }
|
||||
+ packet_len = ((packet_len & RX_STS_FL_) >> 16);
|
||||
+
|
||||
+ if (packet_len > actual_len - sizeof(packet_len)) {
|
||||
+ debug("Rx: too large packet: %d\n", packet_len);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ /* Notify net stack */
|
||||
+ NetReceive(buf_ptr + sizeof(packet_len), packet_len - 4);
|
||||
+
|
||||
+ /* Adjust for next iteration */
|
||||
+ actual_len -= sizeof(packet_len) + packet_len;
|
||||
+ buf_ptr += sizeof(packet_len) + packet_len;
|
||||
+ cur_buf_align = (int)buf_ptr - (int)recv_buf;
|
||||
+
|
||||
+ if (cur_buf_align & 0x03) {
|
||||
+ int align = 4 - (cur_buf_align & 0x03);
|
||||
+
|
||||
+ actual_len -= align;
|
||||
+ buf_ptr += align;
|
||||
+ }
|
||||
+ }
|
||||
+ return err;
|
||||
+}
|
||||
+
|
||||
+static void smsc95xx_halt(struct eth_device *eth)
|
||||
+{
|
||||
+ debug("** %s()\n", __func__);
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * SMSC probing functions
|
||||
+ */
|
||||
+void smsc95xx_eth_before_probe(void)
|
||||
+{
|
||||
+ curr_eth_dev = 0;
|
||||
+}
|
||||
+
|
||||
+struct smsc95xx_dongle {
|
||||
+ unsigned short vendor;
|
||||
+ unsigned short product;
|
||||
+};
|
||||
+
|
||||
+static const struct smsc95xx_dongle smsc95xx_dongles[] = {
|
||||
+ { 0x0424, 0xec00 }, /* LAN9512/LAN9514 Ethernet */
|
||||
+ { 0x0424, 0x9500 }, /* LAN9500 Ethernet */
|
||||
+ { 0x0000, 0x0000 } /* END - Do not remove */
|
||||
+};
|
||||
+
|
||||
+/* Probe to see if a new device is actually an SMSC device */
|
||||
+int smsc95xx_eth_probe(struct usb_device *dev, unsigned int ifnum,
|
||||
+ struct ueth_data *ss)
|
||||
+{
|
||||
+ struct usb_interface *iface;
|
||||
+ struct usb_interface_descriptor *iface_desc;
|
||||
+ int i;
|
||||
+
|
||||
+ /* let's examine the device now */
|
||||
+ iface = &dev->config.if_desc[ifnum];
|
||||
+ iface_desc = &dev->config.if_desc[ifnum].desc;
|
||||
+
|
||||
+ for (i = 0; smsc95xx_dongles[i].vendor != 0; i++) {
|
||||
+ if (dev->descriptor.idVendor == smsc95xx_dongles[i].vendor &&
|
||||
+ dev->descriptor.idProduct == smsc95xx_dongles[i].product)
|
||||
+ /* Found a supported dongle */
|
||||
+ break;
|
||||
+ }
|
||||
+ if (smsc95xx_dongles[i].vendor == 0)
|
||||
+ return 0;
|
||||
+
|
||||
+ /* At this point, we know we've got a live one */
|
||||
+ debug("\n\nUSB Ethernet device detected\n");
|
||||
+ memset(ss, '\0', sizeof(struct ueth_data));
|
||||
+
|
||||
+ /* Initialize the ueth_data structure with some useful info */
|
||||
+ ss->ifnum = ifnum;
|
||||
+ ss->pusb_dev = dev;
|
||||
+ ss->subclass = iface_desc->bInterfaceSubClass;
|
||||
+ ss->protocol = iface_desc->bInterfaceProtocol;
|
||||
+
|
||||
+ /*
|
||||
+ * We are expecting a minimum of 3 endpoints - in, out (bulk), and int.
|
||||
+ * We will ignore any others.
|
||||
+ */
|
||||
+ for (i = 0; i < iface_desc->bNumEndpoints; i++) {
|
||||
+ /* is it an BULK endpoint? */
|
||||
+ if ((iface->ep_desc[i].bmAttributes &
|
||||
+ USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_BULK) {
|
||||
+ if (iface->ep_desc[i].bEndpointAddress & USB_DIR_IN)
|
||||
+ ss->ep_in =
|
||||
+ iface->ep_desc[i].bEndpointAddress &
|
||||
+ USB_ENDPOINT_NUMBER_MASK;
|
||||
+ else
|
||||
+ ss->ep_out =
|
||||
+ iface->ep_desc[i].bEndpointAddress &
|
||||
+ USB_ENDPOINT_NUMBER_MASK;
|
||||
+ }
|
||||
+
|
||||
+ /* is it an interrupt endpoint? */
|
||||
+ if ((iface->ep_desc[i].bmAttributes &
|
||||
+ USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT) {
|
||||
+ ss->ep_int = iface->ep_desc[i].bEndpointAddress &
|
||||
+ USB_ENDPOINT_NUMBER_MASK;
|
||||
+ ss->irqinterval = iface->ep_desc[i].bInterval;
|
||||
+ }
|
||||
+ }
|
||||
+ debug("Endpoints In %d Out %d Int %d\n",
|
||||
+ ss->ep_in, ss->ep_out, ss->ep_int);
|
||||
+
|
||||
+ /* Do some basic sanity checks, and bail if we find a problem */
|
||||
+ if (usb_set_interface(dev, iface_desc->bInterfaceNumber, 0) ||
|
||||
+ !ss->ep_in || !ss->ep_out || !ss->ep_int) {
|
||||
+ debug("Problems with device\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+ dev->privptr = (void *)ss;
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+int smsc95xx_eth_get_info(struct usb_device *dev, struct ueth_data *ss,
|
||||
+ struct eth_device *eth)
|
||||
+{
|
||||
+ debug("** %s()\n", __func__);
|
||||
+ if (!eth) {
|
||||
+ debug("%s: missing parameter.\n", __func__);
|
||||
+ return 0;
|
||||
+ }
|
||||
+ sprintf(eth->name, "%s%d", SMSC95XX_BASE_NAME, curr_eth_dev++);
|
||||
+ eth->init = smsc95xx_init;
|
||||
+ eth->send = smsc95xx_send;
|
||||
+ eth->recv = smsc95xx_recv;
|
||||
+ eth->halt = smsc95xx_halt;
|
||||
+ eth->write_hwaddr = smsc95xx_write_hwaddr;
|
||||
+ eth->priv = ss;
|
||||
+ return 1;
|
||||
+}
|
||||
diff --git a/drivers/usb/eth/usb_ether.c b/drivers/usb/eth/usb_ether.c
|
||||
index 68a0883..7b55da3 100644
|
||||
--- a/drivers/usb/eth/usb_ether.c
|
||||
+++ b/drivers/usb/eth/usb_ether.c
|
||||
@@ -45,6 +45,13 @@ static const struct usb_eth_prob_dev prob_dev[] = {
|
||||
.get_info = asix_eth_get_info,
|
||||
},
|
||||
#endif
|
||||
+#ifdef CONFIG_USB_ETHER_SMSC95XX
|
||||
+ {
|
||||
+ .before_probe = smsc95xx_eth_before_probe,
|
||||
+ .probe = smsc95xx_eth_probe,
|
||||
+ .get_info = smsc95xx_eth_get_info,
|
||||
+ },
|
||||
+#endif
|
||||
{ }, /* END */
|
||||
};
|
||||
|
||||
diff --git a/include/usb_ether.h b/include/usb_ether.h
|
||||
index 825c275..a7fb26b 100644
|
||||
--- a/include/usb_ether.h
|
||||
+++ b/include/usb_ether.h
|
||||
@@ -51,6 +51,11 @@ struct ueth_data {
|
||||
unsigned char irqinterval; /* Intervall for IRQ Pipe */
|
||||
|
||||
/* private fields for each driver can go here if needed */
|
||||
+#ifdef CONFIG_USB_ETHER_SMSC95XX
|
||||
+ size_t rx_urb_size; /* maximum USB URB size */
|
||||
+ u32 mac_cr; /* MAC control register value */
|
||||
+ int have_hwaddr; /* 1 if we have a hardware MAC address */
|
||||
+#endif
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -65,4 +70,12 @@ int asix_eth_get_info(struct usb_device *dev, struct ueth_data *ss,
|
||||
struct eth_device *eth);
|
||||
#endif
|
||||
|
||||
+#ifdef CONFIG_USB_ETHER_SMSC95XX
|
||||
+void smsc95xx_eth_before_probe(void);
|
||||
+int smsc95xx_eth_probe(struct usb_device *dev, unsigned int ifnum,
|
||||
+ struct ueth_data *ss);
|
||||
+int smsc95xx_eth_get_info(struct usb_device *dev, struct ueth_data *ss,
|
||||
+ struct eth_device *eth);
|
||||
+#endif
|
||||
+
|
||||
#endif /* __USB_ETHER_H__ */
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,245 +0,0 @@
|
||||
From f8ff7b1760739c33b1b0aa5a88d903e6e8945f1c Mon Sep 17 00:00:00 2001
|
||||
From: Simon Glass <sjg@chromium.org>
|
||||
Date: Mon, 13 Jun 2011 13:13:10 +0000
|
||||
Subject: [PATCH 06/30] Add Ethernet hardware MAC address framework to usbnet
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Built-in Ethernet adapters support setting the mac address by means of a
|
||||
ethaddr environment variable for each interface (ethaddr, eth1addr, eth2addr).
|
||||
|
||||
This adds similar support to the USB network side, using the names
|
||||
usbethaddr, usbeth1addr, etc. They are kept separate since we don't want
|
||||
a USB device taking the MAC address of a built-in device or vice versa.
|
||||
|
||||
Changes for v2:
|
||||
- eth_set_hwaddr -> eth_write_hwaddr
|
||||
- tided up other users of eth_getenv_enetaddr_by_index()
|
||||
|
||||
Changes for v5:
|
||||
- Changed NULL to "eth" in eth_getenv_enetaddr_by_index() API
|
||||
|
||||
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||||
Tested-by: Eric Bénard <eric@eukrea.com>
|
||||
---
|
||||
board/davinci/common/misc.c | 2 +-
|
||||
drivers/net/designware.c | 2 +-
|
||||
drivers/usb/eth/usb_ether.c | 9 +++++-
|
||||
include/net.h | 25 ++++++++++++++++-
|
||||
net/eth.c | 64 ++++++++++++++++++++++++++-----------------
|
||||
5 files changed, 72 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/board/davinci/common/misc.c b/board/davinci/common/misc.c
|
||||
index 2bfdf23..53d6aa1 100644
|
||||
--- a/board/davinci/common/misc.c
|
||||
+++ b/board/davinci/common/misc.c
|
||||
@@ -101,7 +101,7 @@ void davinci_sync_env_enetaddr(uint8_t *rom_enetaddr)
|
||||
{
|
||||
uint8_t env_enetaddr[6];
|
||||
|
||||
- eth_getenv_enetaddr_by_index(0, env_enetaddr);
|
||||
+ eth_getenv_enetaddr_by_index("eth", 0, env_enetaddr);
|
||||
if (!memcmp(env_enetaddr, "\0\0\0\0\0\0", 6)) {
|
||||
/* There is no MAC address in the environment, so we initialize
|
||||
* it from the value in the EEPROM. */
|
||||
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
|
||||
index 3f5eeb7..02ba393 100644
|
||||
--- a/drivers/net/designware.c
|
||||
+++ b/drivers/net/designware.c
|
||||
@@ -500,7 +500,7 @@ int designware_initialize(u32 id, ulong base_addr, u32 phy_addr)
|
||||
dev->iobase = (int)base_addr;
|
||||
dev->priv = priv;
|
||||
|
||||
- eth_getenv_enetaddr_by_index(id, &dev->enetaddr[0]);
|
||||
+ eth_getenv_enetaddr_by_index("eth", id, &dev->enetaddr[0]);
|
||||
|
||||
priv->dev = dev;
|
||||
priv->mac_regs_p = (struct eth_mac_regs *)base_addr;
|
||||
diff --git a/drivers/usb/eth/usb_ether.c b/drivers/usb/eth/usb_ether.c
|
||||
index 7b55da3..6565ea5 100644
|
||||
--- a/drivers/usb/eth/usb_ether.c
|
||||
+++ b/drivers/usb/eth/usb_ether.c
|
||||
@@ -80,6 +80,7 @@ int is_eth_dev_on_usb_host(void)
|
||||
*/
|
||||
static void probe_valid_drivers(struct usb_device *dev)
|
||||
{
|
||||
+ struct eth_device *eth;
|
||||
int j;
|
||||
|
||||
for (j = 0; prob_dev[j].probe && prob_dev[j].get_info; j++) {
|
||||
@@ -88,9 +89,10 @@ static void probe_valid_drivers(struct usb_device *dev)
|
||||
/*
|
||||
* ok, it is a supported eth device. Get info and fill it in
|
||||
*/
|
||||
+ eth = &usb_eth[usb_max_eth_dev].eth_dev;
|
||||
if (prob_dev[j].get_info(dev,
|
||||
&usb_eth[usb_max_eth_dev],
|
||||
- &usb_eth[usb_max_eth_dev].eth_dev)) {
|
||||
+ eth)) {
|
||||
/* found proper driver */
|
||||
/* register with networking stack */
|
||||
usb_max_eth_dev++;
|
||||
@@ -100,7 +102,10 @@ static void probe_valid_drivers(struct usb_device *dev)
|
||||
* call since eth_current_changed (internally called)
|
||||
* relies on it
|
||||
*/
|
||||
- eth_register(&usb_eth[usb_max_eth_dev - 1].eth_dev);
|
||||
+ eth_register(eth);
|
||||
+ if (eth_write_hwaddr(eth, "usbeth",
|
||||
+ usb_max_eth_dev - 1))
|
||||
+ puts("Warning: failed to set MAC address\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
diff --git a/include/net.h b/include/net.h
|
||||
index 018a744..ce54825 100644
|
||||
--- a/include/net.h
|
||||
+++ b/include/net.h
|
||||
@@ -128,7 +128,18 @@ extern int eth_get_dev_index (void); /* get the device index */
|
||||
extern void eth_parse_enetaddr(const char *addr, uchar *enetaddr);
|
||||
extern int eth_getenv_enetaddr(char *name, uchar *enetaddr);
|
||||
extern int eth_setenv_enetaddr(char *name, const uchar *enetaddr);
|
||||
-extern int eth_getenv_enetaddr_by_index(int index, uchar *enetaddr);
|
||||
+
|
||||
+/*
|
||||
+ * Get the hardware address for an ethernet interface .
|
||||
+ * Args:
|
||||
+ * base_name - base name for device (normally "eth")
|
||||
+ * index - device index number (0 for first)
|
||||
+ * enetaddr - returns 6 byte hardware address
|
||||
+ * Returns:
|
||||
+ * Return true if the address is valid.
|
||||
+ */
|
||||
+extern int eth_getenv_enetaddr_by_index(const char *base_name, int index,
|
||||
+ uchar *enetaddr);
|
||||
|
||||
extern int usb_eth_initialize(bd_t *bi);
|
||||
extern int eth_init(bd_t *bis); /* Initialize the device */
|
||||
@@ -141,6 +152,18 @@ extern int eth_rx(void); /* Check for received packets */
|
||||
extern void eth_halt(void); /* stop SCC */
|
||||
extern char *eth_get_name(void); /* get name of current device */
|
||||
|
||||
+/*
|
||||
+ * Set the hardware address for an ethernet interface based on 'eth%daddr'
|
||||
+ * environment variable (or just 'ethaddr' if eth_number is 0).
|
||||
+ * Args:
|
||||
+ * base_name - base name for device (normally "eth")
|
||||
+ * eth_number - value of %d (0 for first device of this type)
|
||||
+ * Returns:
|
||||
+ * 0 is success, non-zero is error status from driver.
|
||||
+ */
|
||||
+int eth_write_hwaddr(struct eth_device *dev, const char *base_name,
|
||||
+ int eth_number);
|
||||
+
|
||||
#ifdef CONFIG_MCAST_TFTP
|
||||
int eth_mcast_join( IPaddr_t mcast_addr, u8 join);
|
||||
u32 ether_crc (size_t len, unsigned char const *p);
|
||||
diff --git a/net/eth.c b/net/eth.c
|
||||
index 6523834..b3ea565 100644
|
||||
--- a/net/eth.c
|
||||
+++ b/net/eth.c
|
||||
@@ -54,10 +54,11 @@ int eth_setenv_enetaddr(char *name, const uchar *enetaddr)
|
||||
return setenv(name, buf);
|
||||
}
|
||||
|
||||
-int eth_getenv_enetaddr_by_index(int index, uchar *enetaddr)
|
||||
+int eth_getenv_enetaddr_by_index(const char *base_name, int index,
|
||||
+ uchar *enetaddr)
|
||||
{
|
||||
char enetvar[32];
|
||||
- sprintf(enetvar, index ? "eth%daddr" : "ethaddr", index);
|
||||
+ sprintf(enetvar, index ? "%s%daddr" : "%saddr", base_name, index);
|
||||
return eth_getenv_enetaddr(enetvar, enetaddr);
|
||||
}
|
||||
|
||||
@@ -188,6 +189,38 @@ static void eth_current_changed(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
+int eth_write_hwaddr(struct eth_device *dev, const char *base_name,
|
||||
+ int eth_number)
|
||||
+{
|
||||
+ unsigned char env_enetaddr[6];
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ if (!eth_getenv_enetaddr_by_index(base_name, eth_number, env_enetaddr))
|
||||
+ return -1;
|
||||
+
|
||||
+ if (memcmp(env_enetaddr, "\0\0\0\0\0\0", 6)) {
|
||||
+ if (memcmp(dev->enetaddr, "\0\0\0\0\0\0", 6) &&
|
||||
+ memcmp(dev->enetaddr, env_enetaddr, 6)) {
|
||||
+ printf("\nWarning: %s MAC addresses don't match:\n",
|
||||
+ dev->name);
|
||||
+ printf("Address in SROM is %pM\n",
|
||||
+ dev->enetaddr);
|
||||
+ printf("Address in environment is %pM\n",
|
||||
+ env_enetaddr);
|
||||
+ }
|
||||
+
|
||||
+ memcpy(dev->enetaddr, env_enetaddr, 6);
|
||||
+ }
|
||||
+
|
||||
+ if (dev->write_hwaddr &&
|
||||
+ !eth_mac_skip(eth_number) &&
|
||||
+ is_valid_ether_addr(dev->enetaddr)) {
|
||||
+ ret = dev->write_hwaddr(dev);
|
||||
+ }
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
int eth_register(struct eth_device *dev)
|
||||
{
|
||||
struct eth_device *d;
|
||||
@@ -208,7 +241,6 @@ int eth_register(struct eth_device *dev)
|
||||
|
||||
int eth_initialize(bd_t *bis)
|
||||
{
|
||||
- unsigned char env_enetaddr[6];
|
||||
int eth_number = 0;
|
||||
|
||||
eth_devices = NULL;
|
||||
@@ -264,27 +296,8 @@ int eth_initialize(bd_t *bis)
|
||||
if (strchr(dev->name, ' '))
|
||||
puts("\nWarning: eth device name has a space!\n");
|
||||
|
||||
- eth_getenv_enetaddr_by_index(eth_number, env_enetaddr);
|
||||
-
|
||||
- if (memcmp(env_enetaddr, "\0\0\0\0\0\0", 6)) {
|
||||
- if (memcmp(dev->enetaddr, "\0\0\0\0\0\0", 6) &&
|
||||
- memcmp(dev->enetaddr, env_enetaddr, 6))
|
||||
- {
|
||||
- printf ("\nWarning: %s MAC addresses don't match:\n",
|
||||
- dev->name);
|
||||
- printf ("Address in SROM is %pM\n",
|
||||
- dev->enetaddr);
|
||||
- printf ("Address in environment is %pM\n",
|
||||
- env_enetaddr);
|
||||
- }
|
||||
-
|
||||
- memcpy(dev->enetaddr, env_enetaddr, 6);
|
||||
- }
|
||||
- if (dev->write_hwaddr &&
|
||||
- !eth_mac_skip(eth_number) &&
|
||||
- is_valid_ether_addr(dev->enetaddr)) {
|
||||
- dev->write_hwaddr(dev);
|
||||
- }
|
||||
+ if (eth_write_hwaddr(dev, NULL, eth_number))
|
||||
+ puts("Warning: failed to set MAC address\n");
|
||||
|
||||
eth_number++;
|
||||
dev = dev->next;
|
||||
@@ -359,7 +372,8 @@ int eth_init(bd_t *bis)
|
||||
do {
|
||||
uchar env_enetaddr[6];
|
||||
|
||||
- if (eth_getenv_enetaddr_by_index(eth_number, env_enetaddr))
|
||||
+ if (eth_getenv_enetaddr_by_index("eth", eth_number,
|
||||
+ env_enetaddr))
|
||||
memcpy(dev->enetaddr, env_enetaddr, 6);
|
||||
|
||||
++eth_number;
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,188 +0,0 @@
|
||||
From 48938b9136e85d7399b8cc831731acd26dfb2e08 Mon Sep 17 00:00:00 2001
|
||||
From: Simon Glass <sjg@chromium.org>
|
||||
Date: Mon, 13 Jun 2011 13:13:11 +0000
|
||||
Subject: [PATCH 07/30] Add documentation for USB Host Networking
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This describes what it is for, devices supported, how to enable for your
|
||||
board in U-Boot, setting up the server, and notes about MAC addresses.
|
||||
|
||||
Changes for v6:
|
||||
- Adjust documentation file according to Wolfgang's comments
|
||||
|
||||
Signed-off-by: Simon Glass <sjg@chromium.org>
|
||||
Tested-by: Eric Bénard <eric@eukrea.com>
|
||||
---
|
||||
doc/README.usb | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
|
||||
1 files changed, 156 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/doc/README.usb b/doc/README.usb
|
||||
index 9aa4f62..a8a4058 100644
|
||||
--- a/doc/README.usb
|
||||
+++ b/doc/README.usb
|
||||
@@ -79,4 +79,159 @@ CONFIG_USB_UHCI defines the lowlevel part.A lowlevel part must be defined
|
||||
if using CONFIG_CMD_USB
|
||||
CONFIG_USB_KEYBOARD enables the USB Keyboard
|
||||
CONFIG_USB_STORAGE enables the USB storage devices
|
||||
-CONFIG_USB_HOST_ETHER enables USB ethernet dongle support
|
||||
+CONFIG_USB_HOST_ETHER enables USB ethernet adapter support
|
||||
+
|
||||
+
|
||||
+USB Host Networking
|
||||
+===================
|
||||
+
|
||||
+If you have a supported USB Ethernet adapter you can use it in U-Boot
|
||||
+to obtain an IP address and load a kernel from a network server.
|
||||
+
|
||||
+Note: USB Host Networking is not the same as making your board act as a USB
|
||||
+client. In that case your board is pretending to be an Ethernet adapter
|
||||
+and will appear as a network interface to an attached computer. In that
|
||||
+case the connection is via a USB cable with the computer acting as the host.
|
||||
+
|
||||
+With USB Host Networking, your board is the USB host. It controls the
|
||||
+Ethernet adapter to which it is directly connected and the connection to
|
||||
+the outside world is your adapter's Ethernet cable. Your board becomes an
|
||||
+independent network device, able to connect and perform network operations
|
||||
+independently of your computer.
|
||||
+
|
||||
+
|
||||
+Device support
|
||||
+--------------
|
||||
+
|
||||
+Currently supported devices are listed in the drivers according to
|
||||
+their vendor and product IDs. You can check your device by connecting it
|
||||
+to a Linux machine and typing 'lsusb'. The drivers are in
|
||||
+drivers/usb/eth.
|
||||
+
|
||||
+For example this lsusb output line shows a device with Vendor ID 0x0x95
|
||||
+and product ID 0x7720:
|
||||
+
|
||||
+Bus 002 Device 010: ID 0b95:7720 ASIX Electronics Corp. AX88772
|
||||
+
|
||||
+If you look at drivers/usb/eth/asix.c you will see this line within the
|
||||
+supported device list, so we know this adapter is supported.
|
||||
+
|
||||
+ { 0x0b95, 0x7720 }, /* Trendnet TU2-ET100 V3.0R */
|
||||
+
|
||||
+If your adapter is not listed there is a still a chance that it will
|
||||
+work. Try looking up the manufacturer of the chip inside your adapter.
|
||||
+or take the adapter apart and look for chip markings. Then add a line
|
||||
+for your vendor/product ID into the table of the appropriate driver,
|
||||
+build U-Boot and see if it works. If not then there might be differences
|
||||
+between the chip in your adapter and the driver. You could try to get a
|
||||
+datasheet for your device and add support for it to U-Boot. This is not
|
||||
+particularly difficult - you only need to provide support for four basic
|
||||
+functions: init, halt, send and recv.
|
||||
+
|
||||
+
|
||||
+Enabling USB Host Networking
|
||||
+----------------------------
|
||||
+
|
||||
+The normal U-Boot commands are used with USB networking, but you must
|
||||
+start USB first. For example:
|
||||
+
|
||||
+usb start
|
||||
+setenv bootfile /tftpboot/uImage
|
||||
+bootp
|
||||
+
|
||||
+
|
||||
+To enable USB Host Ethernet in U-Boot, your platform must of course
|
||||
+support USB with CONFIG_CMD_USB enabled and working. You will need to
|
||||
+add some config settings to your board header file:
|
||||
+
|
||||
+#define CONFIG_USB_HOST_ETHER /* Enable USB Ethernet adapters */
|
||||
+#define CONFIG_USB_ETHER_ASIX /* Asix, or whatever driver(s) you want */
|
||||
+
|
||||
+As with built-in networking, you will also want to enable some network
|
||||
+commands, for example:
|
||||
+
|
||||
+#define CONFIG_CMD_NET
|
||||
+#define CONFIG_NET_MULTI
|
||||
+#define CONFIG_CMD_PING
|
||||
+#define CONFIG_CMD_DHCP
|
||||
+
|
||||
+and some bootp options, which tell your board to obtain its subnet,
|
||||
+gateway IP, host name and boot path from the bootp/dhcp server. These
|
||||
+settings should start you off:
|
||||
+
|
||||
+#define CONFIG_BOOTP_SUBNETMASK
|
||||
+#define CONFIG_BOOTP_GATEWAY
|
||||
+#define CONFIG_BOOTP_HOSTNAME
|
||||
+#define CONFIG_BOOTP_BOOTPATH
|
||||
+
|
||||
+You can also set the default IP address of your board and the server
|
||||
+as well as the default file to load when a 'bootp' command is issued.
|
||||
+All of these can be obtained from the bootp server if not set.
|
||||
+
|
||||
+#define CONFIG_IPADDR 10.0.0.2 (replace with your value)
|
||||
+#define CONFIG_SERVERIP 10.0.0.1 (replace with your value)
|
||||
+#define CONFIG_BOOTFILE uImage
|
||||
+
|
||||
+
|
||||
+The 'usb start' command should identify the adapter something like this:
|
||||
+
|
||||
+CrOS> usb start
|
||||
+(Re)start USB...
|
||||
+USB EHCI 1.00
|
||||
+scanning bus for devices... 3 USB Device(s) found
|
||||
+ scanning bus for storage devices... 0 Storage Device(s) found
|
||||
+ scanning bus for ethernet devices... 1 Ethernet Device(s) found
|
||||
+CrOS> print ethact
|
||||
+ethact=asx0
|
||||
+
|
||||
+You can see that it found an ethernet device and we can print out the
|
||||
+device name (asx0 in this case).
|
||||
+
|
||||
+Then 'bootp' or 'dhcp' should use it to obtain an IP address from DHCP,
|
||||
+perhaps something like this:
|
||||
+
|
||||
+CrOS> bootp
|
||||
+Waiting for Ethernet connection... done.
|
||||
+BOOTP broadcast 1
|
||||
+BOOTP broadcast 2
|
||||
+DHCP client bound to address 172.22.73.81
|
||||
+Using asx0 device
|
||||
+TFTP from server 172.22.72.144; our IP address is 172.22.73.81
|
||||
+Filename '/tftpboot/uImage-sjg-seaboard-261347'.
|
||||
+Load address: 0x40c000
|
||||
+Loading: #################################################################
|
||||
+ #################################################################
|
||||
+ #################################################################
|
||||
+ ################################################
|
||||
+done
|
||||
+Bytes transferred = 3557464 (364858 hex)
|
||||
+CrOS>
|
||||
+
|
||||
+
|
||||
+Another way of doing this is to issue a tftp command, which will cause the
|
||||
+bootp to happen automatically.
|
||||
+
|
||||
+
|
||||
+MAC Addresses
|
||||
+-------------
|
||||
+
|
||||
+Most Ethernet dongles have a built-in MAC address which is unique in the
|
||||
+world. This is important so that devices on the network can be
|
||||
+distinguised from each other. MAC address conflicts are evil and
|
||||
+generally result in strange and eratic behaviour.
|
||||
+
|
||||
+Some boards have USB Ethernet chips on-board, and these sometimes do not
|
||||
+have an assigned MAC address. In this case it is up to you to assign
|
||||
+one which is unique. You should obtain a valid MAC address from a range
|
||||
+assigned to you before you ship the product.
|
||||
+
|
||||
+Built-in Ethernet adapters support setting the MAC address by means of
|
||||
+an ethaddr environment variable for each interface (ethaddr, eth1addr,
|
||||
+eth2addr). There is similar support on the USB network side, using the
|
||||
+names usbethaddr, usbeth1addr, etc. They are kept separate since we
|
||||
+don't want a USB device taking the MAC address of a built-in device or
|
||||
+vice versa.
|
||||
+
|
||||
+So if your USB Ethernet chip doesn't have a MAC address available then
|
||||
+you must set usbethaddr to a suitable MAC address. At the time of
|
||||
+writing this functionality is only supported by the SMSC driver.
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
From a13358a747c33ecda28a976ed9450b9351827c2a Mon Sep 17 00:00:00 2001
|
||||
From: Eric Benard <eric@eukrea.com>
|
||||
Date: Fri, 10 Jun 2011 12:21:52 +0000
|
||||
Subject: [PATCH 08/30] dm3730: enable dpll5
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
which is used to provide 120MHz to USB EHCI
|
||||
This allows EHCI to work on BeagleBoard XM
|
||||
|
||||
Signed-off-by: Eric Bénard <eric@eukrea.com>
|
||||
---
|
||||
arch/arm/cpu/armv7/omap3/clock.c | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/cpu/armv7/omap3/clock.c b/arch/arm/cpu/armv7/omap3/clock.c
|
||||
index 3d38d08..6a9edcf 100644
|
||||
--- a/arch/arm/cpu/armv7/omap3/clock.c
|
||||
+++ b/arch/arm/cpu/armv7/omap3/clock.c
|
||||
@@ -579,6 +579,7 @@ void prcm_init(void)
|
||||
|
||||
dpll3_init_36xx(0, clk_index);
|
||||
dpll4_init_36xx(0, clk_index);
|
||||
+ dpll5_init_34xx(0, clk_index);
|
||||
iva_init_36xx(0, clk_index);
|
||||
mpu_init_36xx(0, clk_index);
|
||||
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
From 48f6f945c028a83725ab962cbff5120ac5280cd0 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Benard <eric@eukrea.com>
|
||||
Date: Fri, 17 Jun 2011 09:24:24 +0200
|
||||
Subject: [PATCH 09/30] beagleboard: enable HUB power on XM boards
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
LEDA needs to be at level 0 to enable HUB_3V3
|
||||
|
||||
Signed-off-by: Eric Bénard <eric@eukrea.com>
|
||||
---
|
||||
board/ti/beagle/beagle.c | 11 +++++++++--
|
||||
1 files changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 7768901..a6ce5a8 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -309,8 +309,15 @@ int misc_init_r(void)
|
||||
setenv(expansion_config.env_var, expansion_config.env_setting);
|
||||
|
||||
twl4030_power_init();
|
||||
- twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
|
||||
-
|
||||
+ switch (get_board_revision()) {
|
||||
+ case REVISION_C4:
|
||||
+ case REVISION_XM_C:
|
||||
+ twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
|
||||
+ break;
|
||||
+ default:
|
||||
+ twl4030_led_init(TWL4030_LED_LEDEN_LEDBON);
|
||||
+ break;
|
||||
+ }
|
||||
/* Set GPIO states before they are made outputs */
|
||||
writel(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1,
|
||||
&gpio6_base->setdataout);
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
From 9ae080a8b4f2a580c2bf3fb790fb141e1e618ef7 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Fri, 17 Jun 2011 09:26:17 +0200
|
||||
Subject: [PATCH 10/30] beagleboard: turn off clocks in ehci_stop
|
||||
|
||||
This fixes display problems in linux
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
board/ti/beagle/beagle.c | 6 ++++++
|
||||
1 files changed, 6 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index a6ce5a8..a290f89 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -363,6 +363,12 @@ int ehci_hcd_stop(void)
|
||||
pr_debug("Resetting OMAP3 EHCI\n");
|
||||
omap_set_gpio_dataout(GPIO_PHY_RESET, 0);
|
||||
writel(OMAP_UHH_SYSCONFIG_SOFTRESET, OMAP3_UHH_BASE + OMAP_UHH_SYSCONFIG);
|
||||
+ /* disable USB clocks */
|
||||
+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
|
||||
+ sr32(&prcm_base->iclken_usbhost, 0, 1, 0);
|
||||
+ sr32(&prcm_base->fclken_usbhost, 0, 2, 0);
|
||||
+ sr32(&prcm_base->iclken3_core, 2, 1, 0);
|
||||
+ sr32(&prcm_base->fclken3_core, 2, 1, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
From c3d4be5f60700c3e30f00818211775a2c8398e2f Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Fri, 17 Jun 2011 09:31:09 +0200
|
||||
Subject: [PATCH 11/30] beagleboard: enable networking
|
||||
|
||||
---
|
||||
include/configs/omap3_beagle.h | 10 ++++++++--
|
||||
1 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index d5f98da..2daf06d 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -129,6 +129,10 @@
|
||||
#define CONFIG_CMD_USB
|
||||
#define CONFIG_USB_EHCI
|
||||
#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3
|
||||
+#define CONFIG_USB_HOST_ETHER
|
||||
+#define CONFIG_USB_ETHER_SMSC95XX
|
||||
+
|
||||
+#define CONFIG_NET_MULTI
|
||||
|
||||
/* commands to include */
|
||||
#include <config_cmd_default.h>
|
||||
@@ -149,13 +153,15 @@
|
||||
#define CONFIG_USB_STORAGE /* USB storage support */
|
||||
#define CONFIG_CMD_NAND /* NAND support */
|
||||
#define CONFIG_CMD_LED /* LED support */
|
||||
+#define CONFIG_CMD_NET /* bootp, tftpboot, rarpboot */
|
||||
+#define CONFIG_CMD_NFS /* NFS support */
|
||||
+#define CONFIG_CMD_PING
|
||||
+
|
||||
|
||||
#undef CONFIG_CMD_FLASH /* flinfo, erase, protect */
|
||||
#undef CONFIG_CMD_FPGA /* FPGA configuration Support */
|
||||
#undef CONFIG_CMD_IMI /* iminfo */
|
||||
#undef CONFIG_CMD_IMLS /* List all found images */
|
||||
-#undef CONFIG_CMD_NET /* bootp, tftpboot, rarpboot */
|
||||
-#undef CONFIG_CMD_NFS /* NFS support */
|
||||
|
||||
#define CONFIG_SYS_NO_FLASH
|
||||
#define CONFIG_HARD_I2C 1
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
From 04a20a72599d016785d751381fb1ea5112fb0de8 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Fri, 17 Jun 2011 09:32:17 +0200
|
||||
Subject: [PATCH 12/30] beagleboard: switch to ttyO2 as console
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
include/configs/omap3_beagle.h | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index 2daf06d..9a161cf 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -206,7 +206,7 @@
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"loadaddr=0x82000000\0" \
|
||||
"usbtty=cdc_acm\0" \
|
||||
- "console=ttyS2,115200n8\0" \
|
||||
+ "console=ttyO2,115200n8\0" \
|
||||
"mpurate=auto\0" \
|
||||
"buddy=none "\
|
||||
"vram=12M\0" \
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
From 91da655eb768b52d085fac42648e6bcf342a1f7f Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Fri, 17 Jun 2011 09:33:03 +0200
|
||||
Subject: [PATCH 13/30] beagleboard: load kernel from MMC ext, not FAT
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
include/configs/omap3_beagle.h | 3 ++-
|
||||
1 files changed, 2 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index 9a161cf..dbb77fb 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -246,7 +246,8 @@
|
||||
"root=${ramroot} " \
|
||||
"rootfstype=${ramrootfstype}\0" \
|
||||
"loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \
|
||||
- "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
|
||||
+ "loaduimagefat=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
|
||||
+ "loaduimage=ext2load mmc ${mmcdev}:2 ${loadaddr} /boot/uImage\0" \
|
||||
"mmcboot=echo Booting from mmc ...; " \
|
||||
"run mmcargs; " \
|
||||
"bootm ${loadaddr}\0" \
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
From b8f56a9f7ab18641dd0f4529333b00918d34c95d Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Fri, 17 Jun 2011 09:47:08 +0200
|
||||
Subject: [PATCH 14/30] beagleboard: enable asix driver and dhcp
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
include/configs/omap3_beagle.h | 3 ++-
|
||||
1 files changed, 2 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index dbb77fb..49e9dd3 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -131,6 +131,7 @@
|
||||
#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3
|
||||
#define CONFIG_USB_HOST_ETHER
|
||||
#define CONFIG_USB_ETHER_SMSC95XX
|
||||
+#define CONFIG_USB_ETHER_ASIX
|
||||
|
||||
#define CONFIG_NET_MULTI
|
||||
|
||||
@@ -156,7 +157,7 @@
|
||||
#define CONFIG_CMD_NET /* bootp, tftpboot, rarpboot */
|
||||
#define CONFIG_CMD_NFS /* NFS support */
|
||||
#define CONFIG_CMD_PING
|
||||
-
|
||||
+#define CONFIG_CMD_DHCP
|
||||
|
||||
#undef CONFIG_CMD_FLASH /* flinfo, erase, protect */
|
||||
#undef CONFIG_CMD_FPGA /* FPGA configuration Support */
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
From 2a713d6b62248a18ee798d08bbc7850accfc2e83 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Fri, 17 Jun 2011 10:02:21 +0200
|
||||
Subject: [PATCH 15/30] beagleboard: hardcode MAC for onboard SMSC and use uImage.beagle fot tftp
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
include/configs/omap3_beagle.h | 2 ++
|
||||
1 files changed, 2 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index 49e9dd3..894a071 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -207,6 +207,8 @@
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"loadaddr=0x82000000\0" \
|
||||
"usbtty=cdc_acm\0" \
|
||||
+ "usbethaddr=de:ad:be:ef\0" \
|
||||
+ "bootfile=uImage.beagle\0" \
|
||||
"console=ttyO2,115200n8\0" \
|
||||
"mpurate=auto\0" \
|
||||
"buddy=none "\
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
From ea8ed1da87f4612bdcbc611e6d4ccb9b7ea4d2ff Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Fri, 17 Jun 2011 10:03:06 +0200
|
||||
Subject: [PATCH 16/30] beagleboard: decrease bootdelay to 2 seconds
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
include/configs/omap3_beagle.h | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index 894a071..5c32265 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -202,7 +202,7 @@
|
||||
/* partition */
|
||||
|
||||
/* Environment information */
|
||||
-#define CONFIG_BOOTDELAY 10
|
||||
+#define CONFIG_BOOTDELAY 2
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"loadaddr=0x82000000\0" \
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
From 4099bd50da694cc35c489547ad0d8a30bd99006a Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jkridner@beagleboard.org>
|
||||
Date: Wed, 20 Apr 2011 08:54:16 -0500
|
||||
Subject: [PATCH 17/30] USB: Remove __attribute__ ((packed)) for struct ehci_hccr and ehci_hcor
|
||||
|
||||
Remove __attribute__ ((packed)) to prevent byte access to soc
|
||||
registers in some gcc versions.
|
||||
|
||||
Having patches to enable ehci for the BeagleBoard lying around for
|
||||
several month, this one was the show-stopper.
|
||||
|
||||
Credits have to go to Laine Walker-Avina <lwalkera@ieee.org> for
|
||||
finding the problem.
|
||||
|
||||
Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
|
||||
Cc: Alexander Holler <holler@ahsoftware.de>
|
||||
Cc: Sandeep Paulraj <s-paulraj@ti.com>
|
||||
---
|
||||
Changes for v2:
|
||||
* Original and v2 were provided by Alexander Holler.
|
||||
* v1 was http://patchwork.ozlabs.org/patch/89358/
|
||||
* v2 was http://patchwork.ozlabs.org/patch/89362/
|
||||
|
||||
Changes for v3:
|
||||
* Switched to align(4), rather than remove the attribute, per suggestion
|
||||
from Alexander.
|
||||
|
||||
Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
drivers/usb/host/ehci.h | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h
|
||||
index 945ab64..3d0ad0c 100644
|
||||
--- a/drivers/usb/host/ehci.h
|
||||
+++ b/drivers/usb/host/ehci.h
|
||||
@@ -55,7 +55,7 @@ struct ehci_hccr {
|
||||
#define HCS_N_PORTS(p) (((p) >> 0) & 0xf)
|
||||
uint32_t cr_hccparams;
|
||||
uint8_t cr_hcsp_portrt[8];
|
||||
-} __attribute__ ((packed));
|
||||
+} __attribute__ ((packed, aligned(4)));
|
||||
|
||||
struct ehci_hcor {
|
||||
uint32_t or_usbcmd;
|
||||
@@ -85,7 +85,7 @@ struct ehci_hcor {
|
||||
#define FLAG_CF (1 << 0) /* true: we'll support "high speed" */
|
||||
uint32_t or_portsc[CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS];
|
||||
uint32_t or_systune;
|
||||
-} __attribute__ ((packed));
|
||||
+} __attribute__ ((packed, aligned(4)));
|
||||
|
||||
#define USBMODE 0x68 /* USB Device mode */
|
||||
#define USBMODE_SDIS (1 << 3) /* Stream disable */
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
From 7378bf55a895a957a5ea31c5fac5b53a844778d2 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Cooper <u-boot@lakedaemon.net>
|
||||
Date: Tue, 14 Jun 2011 05:58:12 +0000
|
||||
Subject: [PATCH 18/30] usb: Some EHCI chipsets are slow to respond.
|
||||
|
||||
This fixes 'EHCI timed out on TD...' on the dreamplug board.
|
||||
|
||||
Signed-off-by: Jason Cooper <u-boot@lakedaemon.net>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
include/usb.h | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/include/usb.h b/include/usb.h
|
||||
index 53603a5..168e2b2 100644
|
||||
--- a/include/usb.h
|
||||
+++ b/include/usb.h
|
||||
@@ -46,7 +46,7 @@
|
||||
* This is the timeout to allow for submitting an urb in ms. We allow more
|
||||
* time for a BULK device to react - some are slow.
|
||||
*/
|
||||
-#define USB_TIMEOUT_MS(pipe) (usb_pipebulk(pipe) ? 5000 : 100)
|
||||
+#define USB_TIMEOUT_MS(pipe) (usb_pipebulk(pipe) ? 5000 : 500)
|
||||
|
||||
/* device request (setup) */
|
||||
struct devrequest {
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user