mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-01-12 09:30:21 +00:00
Compare commits
173 Commits
split
...
ti2013.04.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9826121536 | ||
|
|
428c9db65f | ||
|
|
4f776c4560 | ||
|
|
569af06fd2 | ||
|
|
c49e7d4275 | ||
|
|
e47e400d07 | ||
|
|
3e1ab248af | ||
|
|
9772c16b8b | ||
|
|
2091fb4ea2 | ||
|
|
03397a66d8 | ||
|
|
f2afcfee58 | ||
|
|
03fbb49000 | ||
|
|
418403ee99 | ||
|
|
22b2c79dd0 | ||
|
|
8f5baa2153 | ||
|
|
3b2d0910db | ||
|
|
8a6d2d49dd | ||
|
|
bb6646fd96 | ||
|
|
088a1dbea3 | ||
|
|
0bd05df9cf | ||
|
|
f817807842 | ||
|
|
2ad1fd65b8 | ||
|
|
7dc90eb9e2 | ||
|
|
4b0d898ffd | ||
|
|
8f7d03e4a1 | ||
|
|
aefef7fe95 | ||
|
|
891eddf7a2 | ||
|
|
8cf7df4efc | ||
|
|
abeba37a5f | ||
|
|
7c3ef24776 | ||
|
|
372e20c544 | ||
|
|
380d514d98 | ||
|
|
9fedd1c4d2 | ||
|
|
f6fa9fe735 | ||
|
|
9f4cd9900f | ||
|
|
913f722e9e | ||
|
|
1735c59bb7 | ||
|
|
233da46564 | ||
|
|
ca64840bab | ||
|
|
2d10089a70 | ||
|
|
0e11ce3049 | ||
|
|
881fcc9599 | ||
|
|
6a02716519 | ||
|
|
855ff4c8b0 | ||
|
|
6c4be0a29a | ||
|
|
45b73845d5 | ||
|
|
8173631f17 | ||
|
|
c670286002 | ||
|
|
6b8e4763e7 | ||
|
|
e268e5ab46 | ||
|
|
7a62fcc7db | ||
|
|
11573bda76 | ||
|
|
ae33b7ee8a | ||
|
|
34063f07ec | ||
|
|
a8a4e2b8b1 | ||
|
|
814aefd0c1 | ||
|
|
8a3f708383 | ||
|
|
ceb0f4897c | ||
|
|
597e23588a | ||
|
|
61dee71e3a | ||
|
|
f244c38393 | ||
|
|
900893454c | ||
|
|
2843ce6357 | ||
|
|
164d09c5a6 | ||
|
|
a81353cabb | ||
|
|
b585087534 | ||
|
|
adab80bfe5 | ||
|
|
8e7a3d837e | ||
|
|
f5530f4905 | ||
|
|
7321c84e48 | ||
|
|
dbc9679e93 | ||
|
|
aa8bdcbeff | ||
|
|
24111d70d6 | ||
|
|
918faa12ec | ||
|
|
67493ea858 | ||
|
|
14a20a715c | ||
|
|
5d0be86675 | ||
|
|
4c74132530 | ||
|
|
7251d2309b | ||
|
|
0c5a45b423 | ||
|
|
21ffcc7614 | ||
|
|
a7288a2712 | ||
|
|
7d68b3bd60 | ||
|
|
814a292394 | ||
|
|
159989762d | ||
|
|
36fde3ec41 | ||
|
|
2e71db8625 | ||
|
|
e7c7da790f | ||
|
|
3a000bd536 | ||
|
|
db2b57fd14 | ||
|
|
724db5b366 | ||
|
|
e851afed41 | ||
|
|
233882aa2b | ||
|
|
9ff3bd4b3d | ||
|
|
41159b9b78 | ||
|
|
1ac81a48bc | ||
|
|
81819baccb | ||
|
|
ae3d571f28 | ||
|
|
bbf54c833d | ||
|
|
44c42244aa | ||
|
|
800056c5d5 | ||
|
|
15420045f6 | ||
|
|
f3057de84d | ||
|
|
b8cbfa1437 | ||
|
|
746e85779b | ||
|
|
4689b0e62c | ||
|
|
e7c3920f9e | ||
|
|
353bd874f2 | ||
|
|
a587b90f98 | ||
|
|
a1934f3d95 | ||
|
|
e5875d9052 | ||
|
|
7cdc415098 | ||
|
|
61ecacbdf3 | ||
|
|
bf6acb5e04 | ||
|
|
2cc3f0ace5 | ||
|
|
47bc5e11ec | ||
|
|
6f1ea750be | ||
|
|
1e898d9b61 | ||
|
|
0a764d7336 | ||
|
|
ff74447a23 | ||
|
|
c2f1b57a6c | ||
|
|
b9276bfe02 | ||
|
|
fe6972418a | ||
|
|
e63ef28072 | ||
|
|
3c3a59dcc7 | ||
|
|
37e525ba2c | ||
|
|
c23f472783 | ||
|
|
53dcf7977a | ||
|
|
12f4fb47ab | ||
|
|
afe91bea43 | ||
|
|
b4d1463c1f | ||
|
|
44a31f698c | ||
|
|
95e12712dd | ||
|
|
410dc026f2 | ||
|
|
cce5a7aea9 | ||
|
|
4f3522a9dc | ||
|
|
c911405cbc | ||
|
|
2a3c7305fb | ||
|
|
80ebdb06c3 | ||
|
|
80cc70e501 | ||
|
|
7b288d7d05 | ||
|
|
cca4383363 | ||
|
|
48cab231fc | ||
|
|
bef66dc21a | ||
|
|
9ef35da0c8 | ||
|
|
77c90bb7c2 | ||
|
|
b6a95c1a24 | ||
|
|
fcf369f332 | ||
|
|
acc985b09c | ||
|
|
df83a59b6b | ||
|
|
f55bb66b46 | ||
|
|
6203cbca5c | ||
|
|
e4ea426bb5 | ||
|
|
306bec90c4 | ||
|
|
7b54887b95 | ||
|
|
fc003234aa | ||
|
|
131d02fe36 | ||
|
|
297f5217bf | ||
|
|
864173a96a | ||
|
|
9bc77dff5f | ||
|
|
751040122d | ||
|
|
cb872e3786 | ||
|
|
e1b4ab72cf | ||
|
|
d6e45b129c | ||
|
|
7955b1d946 | ||
|
|
51ce8e5738 | ||
|
|
24ba2ae085 | ||
|
|
189ce92b4c | ||
|
|
2257c7b47a | ||
|
|
bbc293f9e1 | ||
|
|
d3ff5630a7 | ||
|
|
30fb40ebc1 | ||
|
|
b36393d42d |
@@ -6,4 +6,4 @@ BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
|
||||
|
||||
BBFILE_COLLECTIONS += "meta-ti"
|
||||
BBFILE_PATTERN_meta-ti := "^${LAYERDIR}/"
|
||||
BBFILE_PRIORITY_meta-ti = "10"
|
||||
BBFILE_PRIORITY_meta-ti = "6"
|
||||
|
||||
@@ -9,9 +9,10 @@ UBOOT_MACHINE = "da850evm_config"
|
||||
UBOOT_ENTRYPOINT = "0xc0008000"
|
||||
UBOOT_LOADADDRESS = "0xc0008000"
|
||||
|
||||
MACHINE_FEATURES = "kernel26 serial ethernet"
|
||||
IMAGE_FSTYPES += "tar.gz ubi"
|
||||
|
||||
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
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.bz2"
|
||||
# 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.bz2"
|
||||
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 += "jffs2 tar.bz2"
|
||||
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"
|
||||
|
||||
|
||||
@@ -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.bz2 ubi"
|
||||
EXTRA_IMAGECMD_jffs2 = "-lnp "
|
||||
IMAGE_FSTYPES += "tar.gz ubi"
|
||||
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"
|
||||
|
||||
39
conf/machine/dra7xx-evm.conf
Normal file
39
conf/machine/dra7xx-evm.conf
Normal file
@@ -0,0 +1,39 @@
|
||||
#@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"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-dra7xx"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-dra7xx"
|
||||
|
||||
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,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"
|
||||
23
conf/machine/include/keystone.inc
Normal file
23
conf/machine/include/keystone.inc
Normal file
@@ -0,0 +1,23 @@
|
||||
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 = "r6"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
UBOOT_MACHINE = "tci6638_evm_config"
|
||||
|
||||
UBOOT_ENTRYPOINT = "0x80008000"
|
||||
UBOOT_LOADADDRESS = "0x80008000"
|
||||
|
||||
EXTRA_IMAGEDEPENDS += "u-boot"
|
||||
EXTRA_IMAGEDEPENDS += "boot-monitor"
|
||||
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat"
|
||||
26
conf/machine/include/omap-a15.inc
Normal file
26
conf/machine/include/omap-a15.inc
Normal file
@@ -0,0 +1,26 @@
|
||||
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 = "r1"
|
||||
|
||||
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 = "uImage"
|
||||
|
||||
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"
|
||||
@@ -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 = "r121"
|
||||
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"
|
||||
|
||||
@@ -11,14 +11,17 @@ XSERVER = "xserver-xorg \
|
||||
xserver-xorg-extension-dri \
|
||||
xserver-xorg-extension-dri2 \
|
||||
xserver-xorg-extension-glx \
|
||||
xserver-xorg-module-exa \
|
||||
xf86-input-evdev \
|
||||
xf86-video-fbdev"
|
||||
xf86-video-omap"
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r1"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
UBOOT_MACHINE = "omap4_panda_config"
|
||||
|
||||
UBOOT_ENTRYPOINT = "0x80008000"
|
||||
UBOOT_LOADADDRESS = "0x80008000"
|
||||
|
||||
|
||||
@@ -2,13 +2,36 @@ SOC_FAMILY = "ti33x"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
require conf/machine/include/tune-cortexa8.inc
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-ti33x-psp"
|
||||
|
||||
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 = "r12"
|
||||
MACHINE_KERNEL_PR = "r19"
|
||||
|
||||
# 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 = "uImage"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
UBOOT_MACHINE = "am335x_evm_config"
|
||||
|
||||
UBOOT_ENTRYPOINT = "0x80008000"
|
||||
UBOOT_LOADADDRESS = "0x80008000"
|
||||
|
||||
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"
|
||||
|
||||
36
conf/machine/include/tune-cortexa15.inc
Normal file
36
conf/machine/include/tune-cortexa15.inc
Normal file
@@ -0,0 +1,36 @@
|
||||
DEFAULTTUNE ?= "armv7a-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 cortexa15t-neon"
|
||||
ARMPKGARCH_tune-cortexa15 = "cortexa15"
|
||||
ARMPKGARCH_tune-cortexa15t = "cortexa15"
|
||||
ARMPKGARCH_tune-cortexa15-neon = "cortexa15"
|
||||
ARMPKGARCH_tune-cortexa15t-neon = "cortexa15"
|
||||
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"
|
||||
TUNE_FEATURES_tune-cortexa15t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa15"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa15-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa15-vfp cortexa15t2-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa15-vfp cortexa15-vfp-neon"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa15-vfp cortexa15-vfp-neon cortexa15t2-vfp cortexa15t2-vfp-neon"
|
||||
|
||||
# VFP Tunes
|
||||
AVAILTUNES += "cortexa15hf cortexa15thf cortexa15hf-neon cortexa15thf-neon"
|
||||
ARMPKGARCH_tune-cortexa15hf = "cortexa15"
|
||||
ARMPKGARCH_tune-cortexa15thf = "cortexa15"
|
||||
ARMPKGARCH_tune-cortexa15hf-neon = "cortexa15"
|
||||
ARMPKGARCH_tune-cortexa15thf-neon = "cortexa15"
|
||||
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"
|
||||
TUNE_FEATURES_tune-cortexa15thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa15"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa15hf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa15hf-vfp cortexa15t2hf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa15hf-vfp cortexa15hf-vfp-neon"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa15thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa15hf-vfp cortexa15hf-vfp-neon cortexa15t2hf-vfp cortexa15t2hf-vfp-neon"
|
||||
36
conf/machine/include/tune-cortexa7.inc
Normal file
36
conf/machine/include/tune-cortexa7.inc
Normal file
@@ -0,0 +1,36 @@
|
||||
DEFAULTTUNE ?= "armv7a-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 cortexa7t-neon"
|
||||
ARMPKGARCH_tune-cortexa7 = "cortexa7"
|
||||
ARMPKGARCH_tune-cortexa7t = "cortexa7"
|
||||
ARMPKGARCH_tune-cortexa7-neon = "cortexa7"
|
||||
ARMPKGARCH_tune-cortexa7t-neon = "cortexa7"
|
||||
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"
|
||||
TUNE_FEATURES_tune-cortexa7t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa7"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa7-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa7-vfp cortexa7t2-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa7-vfp cortexa7-vfp-neon"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa7-vfp cortexa7-vfp-neon cortexa7t2-vfp cortexa7t2-vfp-neon"
|
||||
|
||||
# VFP Tunes
|
||||
AVAILTUNES += "cortexa7hf cortexa7thf cortexa7hf-neon cortexa7thf-neon"
|
||||
ARMPKGARCH_tune-cortexa7hf = "cortexa7"
|
||||
ARMPKGARCH_tune-cortexa7thf = "cortexa7"
|
||||
ARMPKGARCH_tune-cortexa7hf-neon = "cortexa7"
|
||||
ARMPKGARCH_tune-cortexa7thf-neon = "cortexa7"
|
||||
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"
|
||||
TUNE_FEATURES_tune-cortexa7thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa7"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa7hf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa7hf-vfp cortexa7t2hf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa7hf-vfp cortexa7hf-vfp-neon"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa7hf-vfp cortexa7hf-vfp-neon cortexa7t2hf-vfp cortexa7t2hf-vfp-neon"
|
||||
36
conf/machine/include/tune-cortexa8.inc
Normal file
36
conf/machine/include/tune-cortexa8.inc
Normal file
@@ -0,0 +1,36 @@
|
||||
DEFAULTTUNE ?= "armv7a-neon"
|
||||
|
||||
require conf/machine/include/arm/arch-armv7a.inc
|
||||
|
||||
TUNEVALID[cortexa8] = "Enable Cortex-A8 specific processor optimizations"
|
||||
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa8", "-mtune=cortex-a8", "", d)}"
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon cortexa8t-neon"
|
||||
ARMPKGARCH_tune-cortexa8 = "cortexa8"
|
||||
ARMPKGARCH_tune-cortexa8t = "cortexa8"
|
||||
ARMPKGARCH_tune-cortexa8-neon = "cortexa8"
|
||||
ARMPKGARCH_tune-cortexa8t-neon = "cortexa8"
|
||||
TUNE_FEATURES_tune-cortexa8 = "${TUNE_FEATURES_tune-armv7a} cortexa8"
|
||||
TUNE_FEATURES_tune-cortexa8t = "${TUNE_FEATURES_tune-armv7at} cortexa8"
|
||||
TUNE_FEATURES_tune-cortexa8-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa8"
|
||||
TUNE_FEATURES_tune-cortexa8t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa8"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa8-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa8-vfp cortexa8t2-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa8-vfp cortexa8-vfp-neon"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa8t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa8-vfp cortexa8-vfp-neon cortexa8t2-vfp cortexa8t2-vfp-neon"
|
||||
|
||||
# VFP Tunes
|
||||
AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon cortexa8thf-neon"
|
||||
ARMPKGARCH_tune-cortexa8hf = "cortexa8"
|
||||
ARMPKGARCH_tune-cortexa8thf = "cortexa8"
|
||||
ARMPKGARCH_tune-cortexa8hf-neon = "cortexa8"
|
||||
ARMPKGARCH_tune-cortexa8thf-neon = "cortexa8"
|
||||
TUNE_FEATURES_tune-cortexa8hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa8"
|
||||
TUNE_FEATURES_tune-cortexa8thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa8"
|
||||
TUNE_FEATURES_tune-cortexa8hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa8"
|
||||
TUNE_FEATURES_tune-cortexa8thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa8"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa8hf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-vfp-neon"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa8thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa8hf-vfp cortexa8hf-vfp-neon cortexa8t2hf-vfp cortexa8t2hf-vfp-neon"
|
||||
36
conf/machine/include/tune-cortexa9.inc
Normal file
36
conf/machine/include/tune-cortexa9.inc
Normal file
@@ -0,0 +1,36 @@
|
||||
DEFAULTTUNE ?= "armv7a-neon"
|
||||
|
||||
require conf/machine/include/arm/arch-armv7a.inc
|
||||
|
||||
TUNEVALID[cortexa9] = "Enable Cortex-A9 specific processor optimizations"
|
||||
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "cortexa9", "-mtune=cortex-a9", "", d)}"
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon cortexa9t-neon"
|
||||
ARMPKGARCH_tune-cortexa9 = "cortexa9"
|
||||
ARMPKGARCH_tune-cortexa9t = "cortexa9"
|
||||
ARMPKGARCH_tune-cortexa9-neon = "cortexa9"
|
||||
ARMPKGARCH_tune-cortexa9t-neon = "cortexa9"
|
||||
TUNE_FEATURES_tune-cortexa9 = "${TUNE_FEATURES_tune-armv7a} cortexa9"
|
||||
TUNE_FEATURES_tune-cortexa9t = "${TUNE_FEATURES_tune-armv7at} cortexa9"
|
||||
TUNE_FEATURES_tune-cortexa9-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa9"
|
||||
TUNE_FEATURES_tune-cortexa9t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa9"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa9-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa9-vfp cortexa9t2-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa9-vfp cortexa9-vfp-neon"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa9t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa9-vfp cortexa9-vfp-neon cortexa9t2-vfp cortexa9t2-vfp-neon"
|
||||
|
||||
# VFP Tunes
|
||||
AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon cortexa9thf-neon"
|
||||
ARMPKGARCH_tune-cortexa9hf = "cortexa9"
|
||||
ARMPKGARCH_tune-cortexa9thf = "cortexa9"
|
||||
ARMPKGARCH_tune-cortexa9hf-neon = "cortexa9"
|
||||
ARMPKGARCH_tune-cortexa9thf-neon = "cortexa9"
|
||||
TUNE_FEATURES_tune-cortexa9hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa9"
|
||||
TUNE_FEATURES_tune-cortexa9thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa9"
|
||||
TUNE_FEATURES_tune-cortexa9hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa9"
|
||||
TUNE_FEATURES_tune-cortexa9thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa9"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa9hf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-vfp-neon"
|
||||
PACKAGE_EXTRA_ARCHS_tune-cortexa9thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa9hf-vfp cortexa9hf-vfp-neon cortexa9t2hf-vfp cortexa9t2hf-vfp-neon"
|
||||
27
conf/machine/keystone-evm.conf
Normal file
27
conf/machine/keystone-evm.conf
Normal file
@@ -0,0 +1,27 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Keystone 2 machine
|
||||
#@DESCRIPTION: Machine configuration for the TI Keystone 2
|
||||
|
||||
require conf/machine/include/keystone.inc
|
||||
|
||||
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 857 LEBs
|
||||
# MKUBIFS_ARGS = "-m 2048 -e 129024 -c 857"
|
||||
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 857"
|
||||
|
||||
# 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"
|
||||
@@ -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"
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -1,17 +0,0 @@
|
||||
An "extras" (AKA best-effort) layer for meta-ti
|
||||
|
||||
This layer depends on:
|
||||
|
||||
URI: git://git.openembedded.org/openembedded-core
|
||||
layers: meta
|
||||
branch: master
|
||||
|
||||
URI: git://git.yoctoproject.org/meta-ti
|
||||
layers: meta
|
||||
branch: master
|
||||
|
||||
|
||||
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,9 +0,0 @@
|
||||
# We have a conf and classes directory, append to BBPATH
|
||||
BBPATH .= ":${LAYERDIR}"
|
||||
|
||||
# We have a recipes directory, add to BBFILES
|
||||
BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
|
||||
|
||||
BBFILE_COLLECTIONS += "meta-ti-extras"
|
||||
BBFILE_PATTERN_meta-ti := "^${LAYERDIR}/"
|
||||
BBFILE_PRIORITY_meta-ti = "10"
|
||||
@@ -1,5 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: AM389x evm
|
||||
#@DESCRIPTION: Machine configuration for the AM389x evm
|
||||
|
||||
require conf/machine/include/ti814x.inc
|
||||
@@ -1,5 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: am389x evm
|
||||
#@DESCRIPTION: Machine configuration for the am389x evm
|
||||
|
||||
require conf/machine/include/ti816x.inc
|
||||
@@ -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
|
||||
@@ -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,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,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,45 +0,0 @@
|
||||
From 1d43359e415cada4607d0d21b7de07c740616386 Mon Sep 17 00:00:00 2001
|
||||
From: Amarinder Bindra <a-bindra@ti.com>
|
||||
Date: Wed, 7 Dec 2011 20:54:56 +0530
|
||||
Subject: [PATCH] ti814x: added code for disabling the least significant bit of TI814x_HDMI_MUX_ADDR before vps init
|
||||
|
||||
|
||||
Signed-off-by: Amarinder Bindra <a-bindra@ti.com>
|
||||
---
|
||||
drivers/video/ti81xx/vpss/core.c | 13 ++++++++++++-
|
||||
1 files changed, 12 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/drivers/video/ti81xx/vpss/core.c b/drivers/video/ti81xx/vpss/core.c
|
||||
index eb9c074..80008b9 100644
|
||||
--- a/drivers/video/ti81xx/vpss/core.c
|
||||
+++ b/drivers/video/ti81xx/vpss/core.c
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
#define VPS_DRIVER_NAME "vpss"
|
||||
|
||||
-
|
||||
+#define TI814x_HDMI_MUX_ADDR (0x481C52C8)
|
||||
|
||||
#ifdef DEBUG
|
||||
unsigned int vpss_debug;
|
||||
@@ -148,6 +148,17 @@ static int __init vps_init(void)
|
||||
{
|
||||
VPSSDBG("core init\n");
|
||||
|
||||
+ /* This mux is for configuring the pixel clock to Venc through HDMI or PLL*/
|
||||
+ u32 reg_value;
|
||||
+ u32 reg_base;
|
||||
+
|
||||
+ reg_base = (u32)ioremap(TI814x_HDMI_MUX_ADDR, 0x10);
|
||||
+ reg_value = __raw_readl(reg_base);
|
||||
+ reg_value &= 0xFFFFFFFE;
|
||||
+
|
||||
+ __raw_writel(reg_value, reg_base);
|
||||
+ iounmap((u32 *)TI814x_HDMI_MUX_ADDR);
|
||||
+
|
||||
if (platform_driver_probe(&vps_driver, vps_probe)) {
|
||||
VPSSERR("failed to register ti81xx-vpss driver\n");
|
||||
return -ENODEV;
|
||||
--
|
||||
1.7.1
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
dm814x-evm
|
||||
@@ -1 +0,0 @@
|
||||
dm816x-evm
|
||||
@@ -1 +0,0 @@
|
||||
dm814x-evm
|
||||
@@ -1 +0,0 @@
|
||||
dm816x-evm
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,28 +0,0 @@
|
||||
require multi-kernel.inc
|
||||
|
||||
DESCRIPTION = "Linux kernel for TI81xx processors"
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
COMPATIBLE_MACHINE = "am387x-evm|am389x-evm|c6a814x-evm|c6a816x-evm|dm814x-evm"
|
||||
|
||||
# This is on the ti81xx-master branch
|
||||
SRCREV = "745a06cb913ad7a9ab44855aa36d8c012cd5793b"
|
||||
|
||||
# The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
|
||||
MACHINE_KERNEL_PR_append = "a+gitr${SRCREV}"
|
||||
|
||||
SRC_URI += "git://arago-project.org/git/projects/linux-omap3.git;protocol=git;branch=ti81xx-master \
|
||||
file://0001-ti814x-added-code-for-disabling-the-least-significan.patch \
|
||||
file://defconfig"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
# Perf in 2.6.37-psp doesn't build, so disable it
|
||||
do_compile_perf() {
|
||||
:
|
||||
}
|
||||
|
||||
do_install_perf() {
|
||||
:
|
||||
}
|
||||
|
||||
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"
|
||||
BOOT_MONITOR_MAKE_TARGET ?= "all"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=25fe219a6febf6e5bb45beda1b2eb315"
|
||||
|
||||
COMPATIBLE_MACHINE = "keystone-evm"
|
||||
|
||||
SRC_URI = "git://arago-project.org/git/projects/boot-monitor.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
PV = "1.0"
|
||||
PR = "r1+gitr${SRCPV}"
|
||||
|
||||
BRANCH = "master"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRCREV = "DEV.MCSDK-03.00.00.07"
|
||||
|
||||
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}
|
||||
}
|
||||
@@ -11,17 +11,17 @@ BINFILE := "Graphics_SDK_setuplinux_${SGXPV}.bin"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
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/Graphics_SDK_setuplinux_${SGXPV}.bin \
|
||||
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"
|
||||
|
||||
S = "${WORKDIR}/Graphics_SDK_${SGXPV}/GFX_Linux_KM"
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
56
recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.01.bb
Normal file
56
recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.01.bb
Normal file
@@ -0,0 +1,56 @@
|
||||
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}"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
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
|
||||
}
|
||||
56
recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.02.bb
Normal file
56
recipes-bsp/powervr-drivers/omap3-sgx-modules_4.08.00.02.bb
Normal file
@@ -0,0 +1,56 @@
|
||||
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}"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
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
|
||||
}
|
||||
56
recipes-bsp/powervr-drivers/omap3-sgx-modules_4.09.00.01.bb
Normal file
56
recipes-bsp/powervr-drivers/omap3-sgx-modules_4.09.00.01.bb
Normal file
@@ -0,0 +1,56 @@
|
||||
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"
|
||||
BINFILE = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] = "bd35e9d8843aff3a2aca9d41e7db1c7d"
|
||||
SRC_URI[sha256sum] = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
|
||||
|
||||
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
|
||||
}
|
||||
32
recipes-bsp/pru/ti-pru-sw-edma-driver_1.00.00.bb
Normal file
32
recipes-bsp/pru/ti-pru-sw-edma-driver_1.00.00.bb
Normal file
@@ -0,0 +1,32 @@
|
||||
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 = "a+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/
|
||||
}
|
||||
|
||||
FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/pru/edmautils.ko"
|
||||
36
recipes-bsp/ti-ocf-crypto-module/ti-ocf-crypto-module_1.0.bb
Normal file
36
recipes-bsp/ti-ocf-crypto-module/ti-ocf-crypto-module_1.0.bb
Normal file
@@ -0,0 +1,36 @@
|
||||
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 = "a+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/
|
||||
}
|
||||
|
||||
FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/crypto/ocf/ocf_omap3_cryptok.ko"
|
||||
@@ -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;proto=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
|
||||
@@ -3,10 +3,25 @@ DESCRIPTION = "Cortex-M3 binary blob for suspend-resume"
|
||||
LICENSE = "TI-BSD"
|
||||
LIC_FILES_CHKSUM = "file://License.txt;md5=858099c817e47ea63559fc6b67ae8d91"
|
||||
|
||||
PV = "04.06.00.07"
|
||||
SRCREV = "cf07b841d6e8c5e026eecb259d143f3dff412c8e"
|
||||
PV = "04.06.00.10"
|
||||
PR = "r3"
|
||||
|
||||
SRC_URI = "git://arago-project.org/git/projects/am33x-cm3.git"
|
||||
# SRCREV corresponds to tag "AM335xPSP_04.06.00.10-rc1"
|
||||
SRCREV = "27ca4643e422245a95723de1df0247a00eada45b"
|
||||
BRANCH ?= "master"
|
||||
|
||||
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 \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
@@ -17,7 +32,14 @@ do_compile() {
|
||||
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}/init-am33x-cm3 ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
|
||||
}
|
||||
|
||||
FILES_${PN} = "${base_libdir}/firmware"
|
||||
PACKAGES =+ "${PN}-initscript"
|
||||
|
||||
FILES_${PN} += "${base_libdir}/firmware"
|
||||
|
||||
FILES_${PN}-initscript = "${sysconfdir}/*"
|
||||
|
||||
@@ -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"
|
||||
27
recipes-bsp/u-boot/u-boot-am33x_2011.10rc.bb
Normal file
27
recipes-bsp/u-boot/u-boot-am33x_2011.10rc.bb
Normal file
@@ -0,0 +1,27 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
# No patches for other machines yet
|
||||
COMPATIBLE_MACHINE = "(ti33x)"
|
||||
|
||||
DEFAULT_PREFERENCE_ti33x = "99"
|
||||
|
||||
PV = "2011.09+git"
|
||||
PR = "r30"
|
||||
|
||||
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 \
|
||||
file://2011.09git/0002-am335x_evm-set-bootdelay-to-1.patch \
|
||||
file://2011.09git/0003-am335x-evm-make-MMC-rootfs-RO-on-boot-so-fsck-works.patch \
|
||||
file://2011.09git/0004-am335x_evm-switch-to-ext4.patch \
|
||||
file://2011.09git/0005-am335x-evm-enable-i2c2-pinmux-for-beaglebone.patch \
|
||||
file://2011.09git/0006-ext2load-increase-read-speed.patch \
|
||||
file://2011.09git/0007-am335x-evm-fix-ext2load-and-specify-partition-for-bo.patch \
|
||||
file://2011.09git/0008-am335x-evm-load-uImage-from-boot-instead-of-VFAT.patch \
|
||||
file://2011.09git/0009-ext4fs-ls-load-support.patch \
|
||||
file://2011.09git/0010-am335x-switch-to-ext4-mode.patch \
|
||||
file://0001-config-Always-use-GNU-ld.patch \
|
||||
"
|
||||
|
||||
SRCREV = "dc52533ccff00a12761f793d66b39e4f6a4a3bba"
|
||||
20
recipes-bsp/u-boot/u-boot-am33x_2013.01.01.bb
Normal file
20
recipes-bsp/u-boot/u-boot-am33x_2013.01.01.bb
Normal file
@@ -0,0 +1,20 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for ARM MPU devices"
|
||||
|
||||
COMPATIBLE_MACHINE = "ti33x"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
PR = "r5+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-05.07.00.00"
|
||||
|
||||
# Commit corresponds to tag "v2013.01.01_amsdk-05.07.00.00"
|
||||
SRCREV = "8eb15a787c558fee98b0fa2a66ff0849c732edcc"
|
||||
|
||||
# Set the name of the SPL that will built so that it is also packaged with u-boot.
|
||||
SPL_BINARY = "MLO"
|
||||
19
recipes-bsp/u-boot/u-boot-am3517_2011.09.bb
Normal file
19
recipes-bsp/u-boot/u-boot-am3517_2011.09.bb
Normal file
@@ -0,0 +1,19 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for ARM MPU devices"
|
||||
|
||||
COMPATIBLE_MACHINE = "omap3"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
PR = "r0+gitr${SRCPV}"
|
||||
|
||||
SRC_URI = "git://arago-project.org/git/projects/u-boot-am33x.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
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
|
||||
|
||||
38
recipes-bsp/u-boot/u-boot-am37x_2012.04.01.bb
Normal file
38
recipes-bsp/u-boot/u-boot-am37x_2012.04.01.bb
Normal file
@@ -0,0 +1,38 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for ARM MPU devices"
|
||||
|
||||
COMPATIBLE_MACHINE = "am37x-evm|beagleboard"
|
||||
|
||||
BRANCH ?= "master"
|
||||
|
||||
# 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 \
|
||||
"
|
||||
|
||||
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-dra7xx_2013.04.bb
Normal file
16
recipes-bsp/u-boot/u-boot-dra7xx_2013.04.bb
Normal file
@@ -0,0 +1,16 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for TI devices"
|
||||
|
||||
COMPATIBLE_MACHINE = "dra7xx-evm"
|
||||
|
||||
PR = "r1+gitr${SRCPV}"
|
||||
|
||||
SRC_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
BRANCH ?= "ti-u-boot-2013.04+"
|
||||
|
||||
# This commit corresponds to ti2013.04.02 release tag
|
||||
SRCREV = "ca435c914e069f5b74f05f667e2064784943a0ac"
|
||||
|
||||
SPL_BINARY = "MLO"
|
||||
16
recipes-bsp/u-boot/u-boot-keystone_2013.01.bb
Normal file
16
recipes-bsp/u-boot/u-boot-keystone_2013.01.bb
Normal file
@@ -0,0 +1,16 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for Multi-Core BU devices"
|
||||
|
||||
COMPATIBLE_MACHINE = "keystone"
|
||||
|
||||
PR = "r2+gitr${SRCPV}"
|
||||
|
||||
SRC_URI = "git://arago-project.org/git/projects/u-boot-keystone.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
BRANCH = "master"
|
||||
|
||||
# DEV.MCSDK-03.00.00.07
|
||||
SRCREV = "82f40e857d853165310d0753e79235aefb65d7ba"
|
||||
|
||||
UBOOT_SUFFIX = "bin"
|
||||
14
recipes-bsp/u-boot/u-boot-ti-staging_2013.01.01.bb
Normal file
14
recipes-bsp/u-boot/u-boot-ti-staging_2013.01.01.bb
Normal file
@@ -0,0 +1,14 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for TI devices"
|
||||
|
||||
PR = "r4+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"
|
||||
17
recipes-bsp/u-boot/u-boot-ti.inc
Normal file
17
recipes-bsp/u-boot/u-boot-ti.inc
Normal file
@@ -0,0 +1,17 @@
|
||||
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"
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -1,349 +0,0 @@
|
||||
From e6e189b6062f7af6b993420b9de9656e36739e66 Mon Sep 17 00:00:00 2001
|
||||
From: Syed Mohammed Khasim <khasim@ti.com>
|
||||
Date: Tue, 12 Jan 2010 23:57:28 +0530
|
||||
Subject: [PATCH 19/30] OMAP3: Add DSS driver for OMAP3
|
||||
|
||||
Supports dynamic panel configuration
|
||||
Supports dynamic tv standard selection
|
||||
Adds support for DSS register access through generic APIs
|
||||
|
||||
Incorporated DSS register access using structures.
|
||||
|
||||
Previous discussions are here
|
||||
http://www.mail-archive.com/u-boot@lists.denx.de/msg27150.html
|
||||
---
|
||||
v2 updates:
|
||||
* Enable panel output for BeagleBoard
|
||||
* BeagleBoard: Update DVI-D orange screen frequencies for xM
|
||||
|
||||
v3 updates:
|
||||
* Remove non-platform (OMAP3) updates
|
||||
|
||||
Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
|
||||
Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/include/asm/arch-omap3/dss.h | 173 +++++++++++++++++++++++++++++++++
|
||||
drivers/video/omap3_dss.c | 130 +++++++++++++++++++++++++
|
||||
2 files changed, 303 insertions(+), 0 deletions(-)
|
||||
create mode 100644 arch/arm/include/asm/arch-omap3/dss.h
|
||||
create mode 100644 drivers/video/omap3_dss.c
|
||||
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/dss.h b/arch/arm/include/asm/arch-omap3/dss.h
|
||||
new file mode 100644
|
||||
index 0000000..e5e3b0d
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/include/asm/arch-omap3/dss.h
|
||||
@@ -0,0 +1,173 @@
|
||||
+/*
|
||||
+ * (C) Copyright 2010
|
||||
+ * Texas Instruments, <www.ti.com>
|
||||
+ * Syed Mohammed Khasim <khasim@ti.com>
|
||||
+ *
|
||||
+ * Referred to Linux DSS driver files for OMAP3
|
||||
+ *
|
||||
+ * 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's version 2 of
|
||||
+ * the License.
|
||||
+ *
|
||||
+ * 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
|
||||
+ */
|
||||
+
|
||||
+#ifndef DSS_H
|
||||
+#define DSS_H
|
||||
+
|
||||
+/*
|
||||
+ * DSS Base Registers
|
||||
+ */
|
||||
+#define OMAP3_DSS_BASE 0x48050040
|
||||
+#define OMAP3_DISPC_BASE 0x48050440
|
||||
+#define OMAP3_VENC_BASE 0x48050C00
|
||||
+
|
||||
+/* DSS Registers */
|
||||
+struct dss_regs {
|
||||
+ u32 control; /* 0x40 */
|
||||
+ u32 sdi_control; /* 0x44 */
|
||||
+ u32 pll_control; /* 0x48 */
|
||||
+};
|
||||
+
|
||||
+/* DISPC Registers */
|
||||
+struct dispc_regs {
|
||||
+ u32 control; /* 0x40 */
|
||||
+ u32 config; /* 0x44 */
|
||||
+ u32 reserve_2; /* 0x48 */
|
||||
+ u32 default_color0; /* 0x4C */
|
||||
+ u32 default_color1; /* 0x50 */
|
||||
+ u32 trans_color0; /* 0x54 */
|
||||
+ u32 trans_color1; /* 0x58 */
|
||||
+ u32 line_status; /* 0x5C */
|
||||
+ u32 line_number; /* 0x60 */
|
||||
+ u32 timing_h; /* 0x64 */
|
||||
+ u32 timing_v; /* 0x68 */
|
||||
+ u32 pol_freq; /* 0x6C */
|
||||
+ u32 divisor; /* 0x70 */
|
||||
+ u32 global_alpha; /* 0x74 */
|
||||
+ u32 size_dig; /* 0x78 */
|
||||
+ u32 size_lcd; /* 0x7C */
|
||||
+};
|
||||
+
|
||||
+/* VENC Registers */
|
||||
+struct venc_regs {
|
||||
+ u32 rev_id; /* 0x00 */
|
||||
+ u32 status; /* 0x04 */
|
||||
+ u32 f_control; /* 0x08 */
|
||||
+ u32 reserve_1; /* 0x0C */
|
||||
+ u32 vidout_ctrl; /* 0x10 */
|
||||
+ u32 sync_ctrl; /* 0x14 */
|
||||
+ u32 reserve_2; /* 0x18 */
|
||||
+ u32 llen; /* 0x1C */
|
||||
+ u32 flens; /* 0x20 */
|
||||
+ u32 hfltr_ctrl; /* 0x24 */
|
||||
+ u32 cc_carr_wss_carr; /* 0x28 */
|
||||
+ u32 c_phase; /* 0x2C */
|
||||
+ u32 gain_u; /* 0x30 */
|
||||
+ u32 gain_v; /* 0x34 */
|
||||
+ u32 gain_y; /* 0x38 */
|
||||
+ u32 black_level; /* 0x3C */
|
||||
+ u32 blank_level; /* 0x40 */
|
||||
+ u32 x_color; /* 0x44 */
|
||||
+ u32 m_control; /* 0x48 */
|
||||
+ u32 bstamp_wss_data; /* 0x4C */
|
||||
+ u32 s_carr; /* 0x50 */
|
||||
+ u32 line21; /* 0x54 */
|
||||
+ u32 ln_sel; /* 0x58 */
|
||||
+ u32 l21__wc_ctl; /* 0x5C */
|
||||
+ u32 htrigger_vtrigger; /* 0x60 */
|
||||
+ u32 savid__eavid; /* 0x64 */
|
||||
+ u32 flen__fal; /* 0x68 */
|
||||
+ u32 lal__phase_reset; /* 0x6C */
|
||||
+ u32 hs_int_start_stop_x; /* 0x70 */
|
||||
+ u32 hs_ext_start_stop_x; /* 0x74 */
|
||||
+ u32 vs_int_start_x; /* 0x78 */
|
||||
+ u32 vs_int_stop_x__vs_int_start_y; /* 0x7C */
|
||||
+ u32 vs_int_stop_y__vs_ext_start_x; /* 0x80 */
|
||||
+ u32 vs_ext_stop_x__vs_ext_start_y; /* 0x84 */
|
||||
+ u32 vs_ext_stop_y; /* 0x88 */
|
||||
+ u32 reserve_3; /* 0x8C */
|
||||
+ u32 avid_start_stop_x; /* 0x90 */
|
||||
+ u32 avid_start_stop_y; /* 0x94 */
|
||||
+ u32 reserve_4; /* 0x98 */
|
||||
+ u32 reserve_5; /* 0x9C */
|
||||
+ u32 fid_int_start_x__fid_int_start_y; /* 0xA0 */
|
||||
+ u32 fid_int_offset_y__fid_ext_start_x; /* 0xA4 */
|
||||
+ u32 fid_ext_start_y__fid_ext_offset_y; /* 0xA8 */
|
||||
+ u32 reserve_6; /* 0xAC */
|
||||
+ u32 tvdetgp_int_start_stop_x; /* 0xB0 */
|
||||
+ u32 tvdetgp_int_start_stop_y; /* 0xB4 */
|
||||
+ u32 gen_ctrl; /* 0xB8 */
|
||||
+ u32 reserve_7; /* 0xBC */
|
||||
+ u32 reserve_8; /* 0xC0 */
|
||||
+ u32 output_control; /* 0xC4 */
|
||||
+ u32 dac_b__dac_c; /* 0xC8 */
|
||||
+ u32 height_width; /* 0xCC */
|
||||
+};
|
||||
+
|
||||
+/* Few Register Offsets */
|
||||
+#define FRAME_MODE_SHIFT 1
|
||||
+#define TFTSTN_SHIFT 3
|
||||
+#define DATALINES_SHIFT 8
|
||||
+
|
||||
+/* Enabling Display controller */
|
||||
+#define LCD_ENABLE 1
|
||||
+#define DIG_ENABLE (1 << 1)
|
||||
+#define GO_LCD (1 << 5)
|
||||
+#define GO_DIG (1 << 6)
|
||||
+#define GP_OUT0 (1 << 15)
|
||||
+#define GP_OUT1 (1 << 16)
|
||||
+
|
||||
+#define DISPC_ENABLE (LCD_ENABLE | \
|
||||
+ DIG_ENABLE | \
|
||||
+ GO_LCD | \
|
||||
+ GO_DIG | \
|
||||
+ GP_OUT0| \
|
||||
+ GP_OUT1)
|
||||
+
|
||||
+/* Configure VENC DSS Params */
|
||||
+#define VENC_CLK_ENABLE (1 << 3)
|
||||
+#define DAC_DEMEN (1 << 4)
|
||||
+#define DAC_POWERDN (1 << 5)
|
||||
+#define VENC_OUT_SEL (1 << 6)
|
||||
+#define DIG_LPP_SHIFT 16
|
||||
+#define VENC_DSS_CONFIG (VENC_CLK_ENABLE | \
|
||||
+ DAC_DEMEN | \
|
||||
+ DAC_POWERDN | \
|
||||
+ VENC_OUT_SEL)
|
||||
+/*
|
||||
+ * Panel Configuration
|
||||
+ */
|
||||
+struct panel_config {
|
||||
+ u32 timing_h;
|
||||
+ u32 timing_v;
|
||||
+ u32 pol_freq;
|
||||
+ u32 divisor;
|
||||
+ u32 lcd_size;
|
||||
+ u32 panel_type;
|
||||
+ u32 data_lines;
|
||||
+ u32 load_mode;
|
||||
+ u32 panel_color;
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+ * Generic DSS Functions
|
||||
+ */
|
||||
+void omap3_dss_venc_config(const struct venc_regs *venc_cfg,
|
||||
+ u32 height, u32 width);
|
||||
+void omap3_dss_panel_config(const struct panel_config *panel_cfg);
|
||||
+void omap3_dss_enable(void);
|
||||
+
|
||||
+#endif /* DSS_H */
|
||||
diff --git a/drivers/video/omap3_dss.c b/drivers/video/omap3_dss.c
|
||||
new file mode 100644
|
||||
index 0000000..69c705a
|
||||
--- /dev/null
|
||||
+++ b/drivers/video/omap3_dss.c
|
||||
@@ -0,0 +1,130 @@
|
||||
+/*
|
||||
+ * (C) Copyright 2010
|
||||
+ * Texas Instruments, <www.ti.com>
|
||||
+ * Syed Mohammed Khasim <khasim@ti.com>
|
||||
+ *
|
||||
+ * Referred to Linux DSS driver files for OMAP3
|
||||
+ *
|
||||
+ * 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's version 2 of
|
||||
+ * the License.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
+ * MA 02111-1307 USA
|
||||
+ */
|
||||
+
|
||||
+#include <common.h>
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/arch/dss.h>
|
||||
+
|
||||
+/*
|
||||
+ * Configure VENC for a given Mode (NTSC / PAL)
|
||||
+ */
|
||||
+void omap3_dss_venc_config(const struct venc_regs *venc_cfg,
|
||||
+ u32 height, u32 width)
|
||||
+{
|
||||
+ struct venc_regs *venc = (struct venc_regs *) OMAP3_VENC_BASE;
|
||||
+ struct dss_regs *dss = (struct dss_regs *) OMAP3_DSS_BASE;
|
||||
+ struct dispc_regs *dispc = (struct dispc_regs *) OMAP3_DISPC_BASE;
|
||||
+
|
||||
+ writel(venc_cfg->status, &venc->status);
|
||||
+ writel(venc_cfg->f_control, &venc->f_control);
|
||||
+ writel(venc_cfg->vidout_ctrl, &venc->vidout_ctrl);
|
||||
+ writel(venc_cfg->sync_ctrl, &venc->sync_ctrl);
|
||||
+ writel(venc_cfg->llen, &venc->llen);
|
||||
+ writel(venc_cfg->flens, &venc->flens);
|
||||
+ writel(venc_cfg->hfltr_ctrl, &venc->hfltr_ctrl);
|
||||
+ writel(venc_cfg->cc_carr_wss_carr, &venc->cc_carr_wss_carr);
|
||||
+ writel(venc_cfg->c_phase, &venc->c_phase);
|
||||
+ writel(venc_cfg->gain_u, &venc->gain_u);
|
||||
+ writel(venc_cfg->gain_v, &venc->gain_v);
|
||||
+ writel(venc_cfg->gain_y, &venc->gain_y);
|
||||
+ writel(venc_cfg->black_level, &venc->black_level);
|
||||
+ writel(venc_cfg->blank_level, &venc->blank_level);
|
||||
+ writel(venc_cfg->x_color, &venc->x_color);
|
||||
+ writel(venc_cfg->m_control, &venc->m_control);
|
||||
+ writel(venc_cfg->bstamp_wss_data, &venc->bstamp_wss_data);
|
||||
+ writel(venc_cfg->s_carr, &venc->s_carr);
|
||||
+ writel(venc_cfg->line21, &venc->line21);
|
||||
+ writel(venc_cfg->ln_sel, &venc->ln_sel);
|
||||
+ writel(venc_cfg->l21__wc_ctl, &venc->l21__wc_ctl);
|
||||
+ writel(venc_cfg->htrigger_vtrigger, &venc->htrigger_vtrigger);
|
||||
+ writel(venc_cfg->savid__eavid, &venc->savid__eavid);
|
||||
+ writel(venc_cfg->flen__fal, &venc->flen__fal);
|
||||
+ writel(venc_cfg->lal__phase_reset, &venc->lal__phase_reset);
|
||||
+ writel(venc_cfg->hs_int_start_stop_x,
|
||||
+ &venc->hs_int_start_stop_x);
|
||||
+ writel(venc_cfg->hs_ext_start_stop_x,
|
||||
+ &venc->hs_ext_start_stop_x);
|
||||
+ writel(venc_cfg->vs_int_start_x, &venc->vs_int_start_x);
|
||||
+ writel(venc_cfg->vs_int_stop_x__vs_int_start_y,
|
||||
+ &venc->vs_int_stop_x__vs_int_start_y);
|
||||
+ writel(venc_cfg->vs_int_stop_y__vs_ext_start_x,
|
||||
+ &venc->vs_int_stop_y__vs_ext_start_x);
|
||||
+ writel(venc_cfg->vs_ext_stop_x__vs_ext_start_y,
|
||||
+ &venc->vs_ext_stop_x__vs_ext_start_y);
|
||||
+ writel(venc_cfg->vs_ext_stop_y, &venc->vs_ext_stop_y);
|
||||
+ writel(venc_cfg->avid_start_stop_x, &venc->avid_start_stop_x);
|
||||
+ writel(venc_cfg->avid_start_stop_y, &venc->avid_start_stop_y);
|
||||
+ writel(venc_cfg->fid_int_start_x__fid_int_start_y,
|
||||
+ &venc->fid_int_start_x__fid_int_start_y);
|
||||
+ writel(venc_cfg->fid_int_offset_y__fid_ext_start_x,
|
||||
+ &venc->fid_int_offset_y__fid_ext_start_x);
|
||||
+ writel(venc_cfg->fid_ext_start_y__fid_ext_offset_y,
|
||||
+ &venc->fid_ext_start_y__fid_ext_offset_y);
|
||||
+ writel(venc_cfg->tvdetgp_int_start_stop_x,
|
||||
+ &venc->tvdetgp_int_start_stop_x);
|
||||
+ writel(venc_cfg->tvdetgp_int_start_stop_y,
|
||||
+ &venc->tvdetgp_int_start_stop_y);
|
||||
+ writel(venc_cfg->gen_ctrl, &venc->gen_ctrl);
|
||||
+ writel(venc_cfg->output_control, &venc->output_control);
|
||||
+ writel(venc_cfg->dac_b__dac_c, &venc->dac_b__dac_c);
|
||||
+
|
||||
+ /* Configure DSS for VENC Settings */
|
||||
+ writel(VENC_DSS_CONFIG, &dss->control);
|
||||
+
|
||||
+ /* Configure height and width for Digital out */
|
||||
+ writel(((height << DIG_LPP_SHIFT) | width), &dispc->size_dig);
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Configure Panel Specific Parameters
|
||||
+ */
|
||||
+void omap3_dss_panel_config(const struct panel_config *panel_cfg)
|
||||
+{
|
||||
+ struct dispc_regs *dispc = (struct dispc_regs *) OMAP3_DISPC_BASE;
|
||||
+
|
||||
+ writel(panel_cfg->timing_h, &dispc->timing_h);
|
||||
+ writel(panel_cfg->timing_v, &dispc->timing_v);
|
||||
+ writel(panel_cfg->pol_freq, &dispc->pol_freq);
|
||||
+ writel(panel_cfg->divisor, &dispc->divisor);
|
||||
+ writel(panel_cfg->lcd_size, &dispc->size_lcd);
|
||||
+ writel((panel_cfg->load_mode << FRAME_MODE_SHIFT), &dispc->config);
|
||||
+ writel(((panel_cfg->panel_type << TFTSTN_SHIFT) |
|
||||
+ (panel_cfg->data_lines << DATALINES_SHIFT)), &dispc->control);
|
||||
+ writel(panel_cfg->panel_color, &dispc->default_color0);
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Enable LCD and DIGITAL OUT in DSS
|
||||
+ */
|
||||
+void omap3_dss_enable(void)
|
||||
+{
|
||||
+ struct dispc_regs *dispc = (struct dispc_regs *) OMAP3_DISPC_BASE;
|
||||
+ u32 l = 0;
|
||||
+
|
||||
+ l = readl(&dispc->control);
|
||||
+ l |= DISPC_ENABLE;
|
||||
+ writel(l, &dispc->control);
|
||||
+}
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
From ce6813c7f4006331dd661cd25178bb258d1e9469 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jkridner@beagleboard.org>
|
||||
Date: Tue, 19 Apr 2011 14:00:34 -0500
|
||||
Subject: [PATCH 20/30] video: DSS makefile update
|
||||
|
||||
Adding the OMAP3 DSS video driver to the Makefile. The patch applied to
|
||||
u-boot-ti didn't include this for some reason.
|
||||
|
||||
Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
drivers/video/Makefile | 2 ++
|
||||
1 files changed, 2 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
|
||||
index 086dc05..226684a 100644
|
||||
--- a/drivers/video/Makefile
|
||||
+++ b/drivers/video/Makefile
|
||||
@@ -41,6 +41,8 @@ COBJS-$(CONFIG_SED156X) += sed156x.o
|
||||
COBJS-$(CONFIG_VIDEO_SM501) += sm501.o
|
||||
COBJS-$(CONFIG_VIDEO_SMI_LYNXEM) += smiLynxEM.o videomodes.o
|
||||
COBJS-$(CONFIG_VIDEO_VCXK) += bus_vcxk.o
|
||||
+COBJS-$(CONFIG_VIDEO_OMAP3) += omap3_dss.o
|
||||
+COBJS-y += videomodes.o
|
||||
|
||||
COBJS := $(COBJS-y)
|
||||
SRCS := $(COBJS:.o=.c)
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,170 +0,0 @@
|
||||
From ebabfd9f1e6f712aafc2bba5ddfae530be4119ee Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jkridner@beagleboard.org>
|
||||
Date: Tue, 19 Apr 2011 14:01:13 -0500
|
||||
Subject: [PATCH 21/30] BeagleBoard: Configure DVI/S-video
|
||||
|
||||
Based on patches from Syed Mohammed Khasim (khasim@ti.com).
|
||||
|
||||
Configures the output of the BeagleBoard DVI to be orange.
|
||||
Configures the output of the BeagleBoard S-Video to be a colorbar.
|
||||
---
|
||||
Updates for this version
|
||||
* Rebased on u-boot-ti.
|
||||
|
||||
v3
|
||||
* Rebased again.
|
||||
|
||||
Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
board/ti/beagle/beagle.c | 24 +++++++++++++
|
||||
board/ti/beagle/beagle.h | 86 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 110 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index a290f89..39d9038 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -164,6 +164,28 @@ unsigned int get_expansion_id(void)
|
||||
}
|
||||
|
||||
/*
|
||||
+ * Configure DSS to display background color on DVID
|
||||
+ * Configure VENC to display color bar on S-Video
|
||||
+ */
|
||||
+void display_init(void)
|
||||
+{
|
||||
+ omap3_dss_venc_config(&venc_config_std_tv, VENC_HEIGHT, VENC_WIDTH);
|
||||
+ switch (get_board_revision()) {
|
||||
+ case REVISION_AXBX:
|
||||
+ case REVISION_CX:
|
||||
+ case REVISION_C4:
|
||||
+ omap3_dss_panel_config(&dvid_cfg);
|
||||
+ break;
|
||||
+ case REVISION_XM_A:
|
||||
+ case REVISION_XM_B:
|
||||
+ case REVISION_XM_C:
|
||||
+ default:
|
||||
+ omap3_dss_panel_config(&dvid_cfg_xm);
|
||||
+ break;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
* Routine: misc_init_r
|
||||
* Description: Configure board specific parts
|
||||
*/
|
||||
@@ -330,6 +352,8 @@ int misc_init_r(void)
|
||||
GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
|
||||
|
||||
dieid_num_r();
|
||||
+ display_init();
|
||||
+ omap3_dss_enable();
|
||||
|
||||
return 0;
|
||||
}
|
||||
diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
|
||||
index 04247cd..18bfaa8 100644
|
||||
--- a/board/ti/beagle/beagle.h
|
||||
+++ b/board/ti/beagle/beagle.h
|
||||
@@ -23,6 +23,8 @@
|
||||
#ifndef _BEAGLE_H_
|
||||
#define _BEAGLE_H_
|
||||
|
||||
+#include <asm/arch/dss.h>
|
||||
+
|
||||
const omap3_sysinfo sysinfo = {
|
||||
DDR_STACKED,
|
||||
"OMAP3 Beagle board",
|
||||
@@ -472,4 +474,88 @@ const omap3_sysinfo sysinfo = {
|
||||
MUX_VAL(CP(MMC2_DAT6), (IDIS | PTU | EN | M4)) /*GPIO_138 BT_EN*/\
|
||||
MUX_VAL(CP(MMC2_DAT7), (IDIS | PTU | EN | M4)) /*GPIO_139 WLAN_EN*/
|
||||
|
||||
+/*
|
||||
+ * Display Configuration
|
||||
+ */
|
||||
+
|
||||
+#define DVI_BEAGLE_ORANGE_COL 0x00FF8000
|
||||
+#define VENC_HEIGHT 0x00ef
|
||||
+#define VENC_WIDTH 0x027f
|
||||
+
|
||||
+/*
|
||||
+ * Configure VENC in DSS for Beagle to generate Color Bar
|
||||
+ *
|
||||
+ * Kindly refer to OMAP TRM for definition of these values.
|
||||
+ */
|
||||
+static const struct venc_regs venc_config_std_tv = {
|
||||
+ .status = 0x0000001B,
|
||||
+ .f_control = 0x00000040,
|
||||
+ .vidout_ctrl = 0x00000000,
|
||||
+ .sync_ctrl = 0x00008000,
|
||||
+ .llen = 0x00008359,
|
||||
+ .flens = 0x0000020C,
|
||||
+ .hfltr_ctrl = 0x00000000,
|
||||
+ .cc_carr_wss_carr = 0x043F2631,
|
||||
+ .c_phase = 0x00000024,
|
||||
+ .gain_u = 0x00000130,
|
||||
+ .gain_v = 0x00000198,
|
||||
+ .gain_y = 0x000001C0,
|
||||
+ .black_level = 0x0000006A,
|
||||
+ .blank_level = 0x0000005C,
|
||||
+ .x_color = 0x00000000,
|
||||
+ .m_control = 0x00000001,
|
||||
+ .bstamp_wss_data = 0x0000003F,
|
||||
+ .s_carr = 0x21F07C1F,
|
||||
+ .line21 = 0x00000000,
|
||||
+ .ln_sel = 0x00000015,
|
||||
+ .l21__wc_ctl = 0x00001400,
|
||||
+ .htrigger_vtrigger = 0x00000000,
|
||||
+ .savid__eavid = 0x069300F4,
|
||||
+ .flen__fal = 0x0016020C,
|
||||
+ .lal__phase_reset = 0x00060107,
|
||||
+ .hs_int_start_stop_x = 0x008D034E,
|
||||
+ .hs_ext_start_stop_x = 0x000F0359,
|
||||
+ .vs_int_start_x = 0x01A00000,
|
||||
+ .vs_int_stop_x__vs_int_start_y = 0x020501A0,
|
||||
+ .vs_int_stop_y__vs_ext_start_x = 0x01AC0024,
|
||||
+ .vs_ext_stop_x__vs_ext_start_y = 0x020D01AC,
|
||||
+ .vs_ext_stop_y = 0x00000006,
|
||||
+ .avid_start_stop_x = 0x03480079,
|
||||
+ .avid_start_stop_y = 0x02040024,
|
||||
+ .fid_int_start_x__fid_int_start_y = 0x0001008A,
|
||||
+ .fid_int_offset_y__fid_ext_start_x = 0x01AC0106,
|
||||
+ .fid_ext_start_y__fid_ext_offset_y = 0x01060006,
|
||||
+ .tvdetgp_int_start_stop_x = 0x00140001,
|
||||
+ .tvdetgp_int_start_stop_y = 0x00010001,
|
||||
+ .gen_ctrl = 0x00FF0000,
|
||||
+ .output_control = 0x0000000D,
|
||||
+ .dac_b__dac_c = 0x00000000
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+ * Configure Timings for DVI D
|
||||
+ */
|
||||
+static const struct panel_config dvid_cfg = {
|
||||
+ .timing_h = 0x0ff03f31, /* Horizantal timing */
|
||||
+ .timing_v = 0x01400504, /* Vertical timing */
|
||||
+ .pol_freq = 0x00007028, /* Pol Freq */
|
||||
+ .divisor = 0x00010006, /* 72Mhz Pixel Clock */
|
||||
+ .lcd_size = 0x02ff03ff, /* 1024x768 */
|
||||
+ .panel_type = 0x01, /* TFT */
|
||||
+ .data_lines = 0x03, /* 24 Bit RGB */
|
||||
+ .load_mode = 0x02, /* Frame Mode */
|
||||
+ .panel_color = DVI_BEAGLE_ORANGE_COL /* ORANGE */
|
||||
+};
|
||||
+
|
||||
+static const struct panel_config dvid_cfg_xm = {
|
||||
+ .timing_h = 0x1a4024c9, /* Horizantal timing */
|
||||
+ .timing_v = 0x02c00509, /* Vertical timing */
|
||||
+ .pol_freq = 0x00007028, /* Pol Freq */
|
||||
+ .divisor = 0x00010001, /* 96MHz Pixel Clock */
|
||||
+ .lcd_size = 0x02ff03ff, /* 1024x768 */
|
||||
+ .panel_type = 0x01, /* TFT */
|
||||
+ .data_lines = 0x03, /* 24 Bit RGB */
|
||||
+ .load_mode = 0x02, /* Frame Mode */
|
||||
+ .panel_color = DVI_BEAGLE_ORANGE_COL /* ORANGE */
|
||||
+};
|
||||
#endif
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
From 79b347db36d583b0fde360baa780877b3a7ae754 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Tue, 21 Jun 2011 22:18:01 +0200
|
||||
Subject: [PATCH 22/30] BeagleBoard: config: enable DSS
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
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 5c32265..6c842ad 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -172,6 +172,7 @@
|
||||
#define CONFIG_SYS_I2C_BUS_SELECT 1
|
||||
#define CONFIG_I2C_MULTI_BUS 1
|
||||
#define CONFIG_DRIVER_OMAP34XX_I2C 1
|
||||
+#define CONFIG_VIDEO_OMAP3 /* DSS Support */
|
||||
|
||||
/*
|
||||
* TWL4030
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
From b6082310a74ef48b8c2c4c67092896563141a4ad Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jkridner@beagleboard.org>
|
||||
Date: Wed, 21 Jul 2010 07:41:25 -0500
|
||||
Subject: [PATCH 23/30] BeagleBoard: Added userbutton command
|
||||
|
||||
Based on commit f1099c7c43caf5bac3bf6a65aa266fade4747072
|
||||
Author: Greg Turner <gregturner@ti.com>
|
||||
Date: Tue May 25 09:19:06 2010 -0500
|
||||
|
||||
New u-boot command for status of USER button on BeagleBoard-xM
|
||||
|
||||
Modified bootcmd to check the staus at boot time and set
|
||||
filename of the boot script.
|
||||
|
||||
* Moved to a BeagleBoard specific file.
|
||||
* Removed changes to default boot command from adding userbutton
|
||||
command.
|
||||
* Made to handle pre-xM boards.
|
||||
* Flipped polarity of the return value to avoid confusion. Success (0)
|
||||
is when the button is pressed. Failure (1) is when the button is NOT
|
||||
pressed.
|
||||
* Used latest revision getting function.
|
||||
* Used latest macros for board revision.
|
||||
--
|
||||
v2 update:
|
||||
* Added xM-C revision definition (optional, since it was default)
|
||||
|
||||
Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
board/ti/beagle/beagle.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 files changed, 56 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 39d9038..4798194 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -50,6 +50,7 @@ extern struct ehci_hccr *hccr;
|
||||
extern volatile struct ehci_hcor *hcor;
|
||||
#endif
|
||||
#include "beagle.h"
|
||||
+#include <command.h>
|
||||
|
||||
#define pr_debug(fmt, args...) debug(fmt, ##args)
|
||||
|
||||
@@ -477,3 +478,58 @@ int ehci_hcd_init(void)
|
||||
}
|
||||
|
||||
#endif /* CONFIG_USB_EHCI */
|
||||
+
|
||||
+/*
|
||||
+ * This command returns the status of the user button on beagle xM
|
||||
+ * Input - none
|
||||
+ * Returns - 1 if button is held down
|
||||
+ * 0 if button is not held down
|
||||
+ */
|
||||
+int do_userbutton (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||
+{
|
||||
+ int button = 0;
|
||||
+ int gpio;
|
||||
+
|
||||
+ /*
|
||||
+ * pass address parameter as argv[0] (aka command name),
|
||||
+ * and all remaining args
|
||||
+ */
|
||||
+ switch (get_board_revision()) {
|
||||
+ case REVISION_AXBX:
|
||||
+ case REVISION_CX:
|
||||
+ case REVISION_C4:
|
||||
+ gpio = 7;
|
||||
+ break;
|
||||
+ case REVISION_XM_A:
|
||||
+ case REVISION_XM_B:
|
||||
+ case REVISION_XM_C:
|
||||
+ default:
|
||||
+ gpio = 4;
|
||||
+ break;
|
||||
+ }
|
||||
+ omap_request_gpio(gpio);
|
||||
+ omap_set_gpio_direction(gpio, 1);
|
||||
+ printf("The user button is currently ");
|
||||
+ if(omap_get_gpio_datain(gpio))
|
||||
+ {
|
||||
+ button = 1;
|
||||
+ printf("PRESSED.\n");
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ button = 0;
|
||||
+ printf("NOT pressed.\n");
|
||||
+ }
|
||||
+
|
||||
+ omap_free_gpio(gpio);
|
||||
+
|
||||
+ return !button;
|
||||
+}
|
||||
+
|
||||
+/* -------------------------------------------------------------------- */
|
||||
+
|
||||
+U_BOOT_CMD(
|
||||
+ userbutton, CONFIG_SYS_MAXARGS, 1, do_userbutton,
|
||||
+ "Return the status of the BeagleBoard USER button",
|
||||
+ ""
|
||||
+);
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
From 657f4308df123f3d2bd82c87bf667dd529d0f7c6 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jkridner@beagleboard.org>
|
||||
Date: Tue, 8 Mar 2011 20:42:01 -0600
|
||||
Subject: [PATCH 24/30] Corrected LED name match finding avoiding extraneous Usage printouts
|
||||
|
||||
Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
common/cmd_led.c | 5 +++--
|
||||
1 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/common/cmd_led.c b/common/cmd_led.c
|
||||
index c53195f..8b46848 100644
|
||||
--- a/common/cmd_led.c
|
||||
+++ b/common/cmd_led.c
|
||||
@@ -83,7 +83,7 @@ int str_onoff (char *var)
|
||||
|
||||
int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
{
|
||||
- int state, i;
|
||||
+ int state, i, match = 0;
|
||||
|
||||
/* Validate arguments */
|
||||
if ((argc != 3)) {
|
||||
@@ -98,6 +98,7 @@ int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
for (i = 0; led_commands[i].string; i++) {
|
||||
if ((strcmp("all", argv[1]) == 0) ||
|
||||
(strcmp(led_commands[i].string, argv[1]) == 0)) {
|
||||
+ match = 1;
|
||||
if (led_commands[i].on) {
|
||||
if (state) {
|
||||
led_commands[i].on();
|
||||
@@ -112,7 +113,7 @@ int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
}
|
||||
|
||||
/* If we ran out of matches, print Usage */
|
||||
- if (!led_commands[i].string && !(strcmp("all", argv[1]) == 0)) {
|
||||
+ if (!match) {
|
||||
return cmd_usage(cmdtp);
|
||||
}
|
||||
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
From c510bdc2684b5a755c4526071f1f3ca726ac1d1d Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jkridner@beagleboard.org>
|
||||
Date: Tue, 19 Apr 2011 10:55:26 -0500
|
||||
Subject: [PATCH 25/30] BeagleBoard: fix LED 0/1 in driver
|
||||
|
||||
Fixed USR0/USR1 to be LED 0/1 respectively
|
||||
|
||||
Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
board/ti/beagle/led.c | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/led.c b/board/ti/beagle/led.c
|
||||
index 08f95a0..d3de51f 100644
|
||||
--- a/board/ti/beagle/led.c
|
||||
+++ b/board/ti/beagle/led.c
|
||||
@@ -27,8 +27,8 @@
|
||||
static unsigned int saved_state[2] = {STATUS_LED_OFF, STATUS_LED_OFF};
|
||||
|
||||
/* GPIO pins for the LEDs */
|
||||
-#define BEAGLE_LED_USR0 149
|
||||
-#define BEAGLE_LED_USR1 150
|
||||
+#define BEAGLE_LED_USR0 150
|
||||
+#define BEAGLE_LED_USR1 149
|
||||
|
||||
#ifdef STATUS_LED_GREEN
|
||||
void green_LED_off (void)
|
||||
--
|
||||
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