mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-01-12 01:20:20 +00:00
Compare commits
115 Commits
ti2018.04
...
ti2014.10.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
80924d3bba | ||
|
|
a6f4056b62 | ||
|
|
568100f386 | ||
|
|
ae064c55f3 | ||
|
|
cbd2f82aad | ||
|
|
c9f00172ad | ||
|
|
175d1d4715 | ||
|
|
2f6b824501 | ||
|
|
2dce435ff1 | ||
|
|
a085e612c5 | ||
|
|
b9c234ffe3 | ||
|
|
474aa34965 | ||
|
|
77ca7ec962 | ||
|
|
e8df8ef878 | ||
|
|
51621f90c1 | ||
|
|
9d2046b7c2 | ||
|
|
bc68ca3a01 | ||
|
|
b31045066f | ||
|
|
3baa3aeaeb | ||
|
|
08c8277270 | ||
|
|
937b7408f2 | ||
|
|
f1df325eb0 | ||
|
|
df04699e3a | ||
|
|
26511e179e | ||
|
|
7817d03f04 | ||
|
|
630f9e198e | ||
|
|
41dd39e0ed | ||
|
|
0c73d5f105 | ||
|
|
0a0687943d | ||
|
|
b236fc5ea3 | ||
|
|
21a478d55a | ||
|
|
169647d3dc | ||
|
|
2870012425 | ||
|
|
ea17f7e17e | ||
|
|
f4b716c066 | ||
|
|
3cad087222 | ||
|
|
517864123d | ||
|
|
41457c50e2 | ||
|
|
3844eea82c | ||
|
|
7b8ee4026e | ||
|
|
96cf07485b | ||
|
|
a817ad5826 | ||
|
|
9e7c32cb67 | ||
|
|
7eeebc0f79 | ||
|
|
b7b9bfe61c | ||
|
|
f54041ddbd | ||
|
|
2275b0b824 | ||
|
|
aa289a01a1 | ||
|
|
4d94495508 | ||
|
|
e5eaf3bef4 | ||
|
|
a565ad89a4 | ||
|
|
c82bcd1922 | ||
|
|
344c440263 | ||
|
|
fd4246e492 | ||
|
|
89d290eca3 | ||
|
|
6070bc9d97 | ||
|
|
c58a5d88a2 | ||
|
|
13ce1b64d4 | ||
|
|
ab34a9cb30 | ||
|
|
ff0b3236c4 | ||
|
|
5c074704d4 | ||
|
|
4e17ed6921 | ||
|
|
1e7c1fd731 | ||
|
|
0c5e4a5c84 | ||
|
|
5dad1bc02d | ||
|
|
8c41ce2b54 | ||
|
|
6b504496d7 | ||
|
|
7241b9d0c2 | ||
|
|
65a3d9a04d | ||
|
|
4b0995edb1 | ||
|
|
6e83b4130e | ||
|
|
eba101cc81 | ||
|
|
20b214200d | ||
|
|
ec85fc2d3b | ||
|
|
c725d8334f | ||
|
|
e10d7fe4e9 | ||
|
|
66abb4452e | ||
|
|
5f5ce539b9 | ||
|
|
347189b906 | ||
|
|
034971520f | ||
|
|
c77be96781 | ||
|
|
d8c5571b1b | ||
|
|
4fcc5d8c08 | ||
|
|
15d14fa675 | ||
|
|
ca565599c2 | ||
|
|
a518c83ef5 | ||
|
|
00dbaa9e85 | ||
|
|
45db1b50bd | ||
|
|
355e8633e5 | ||
|
|
da24e97624 | ||
|
|
931c8a045f | ||
|
|
d4ddeb2320 | ||
|
|
5becd8dbae | ||
|
|
593c10902a | ||
|
|
33807817cb | ||
|
|
07fe51c233 | ||
|
|
30dc05eb33 | ||
|
|
1ccfc1f256 | ||
|
|
4331132e65 | ||
|
|
dd71096bb3 | ||
|
|
27e836d56d | ||
|
|
afad60025d | ||
|
|
99970bb459 | ||
|
|
f59f3e03c7 | ||
|
|
f8f298be41 | ||
|
|
5770e1f791 | ||
|
|
d91f59771e | ||
|
|
2a86668af1 | ||
|
|
74b7fd994d | ||
|
|
9c5900749c | ||
|
|
d85e6fc975 | ||
|
|
bf320fe6f3 | ||
|
|
f4caeed4c9 | ||
|
|
a0d7187ac2 | ||
|
|
1f9bdeab53 |
@@ -5,14 +5,12 @@
|
||||
require conf/machine/include/davinci.inc
|
||||
require conf/machine/include/omapl138.inc
|
||||
|
||||
UBOOT_MACHINE = "da850evm_config"
|
||||
UBOOT_MACHINE = "da850_am18xxevm_config"
|
||||
UBOOT_SUFFIX = "ais"
|
||||
|
||||
UBOOT_ENTRYPOINT = "0xc0008000"
|
||||
UBOOT_LOADADDRESS = "0xc0008000"
|
||||
|
||||
IMAGE_FSTYPES += "tar.gz ubi"
|
||||
IMAGE_FSTYPES += "tar.gz"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyS2"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omapl138-psp"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am180x"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-am180x"
|
||||
|
||||
@@ -15,11 +15,6 @@ EXTRA_IMAGECMD_jffs2 = "-lnp -e 0x20000 -s 2048"
|
||||
SERIAL_CONSOLE = "115200 ttyO2"
|
||||
USE_VT = "2"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omap-psp"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am3517"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-am3517"
|
||||
|
||||
UBOOT_MACHINE = "am3517_evm_config"
|
||||
XLOAD_MACHINE = "am3517evm_config"
|
||||
|
||||
|
||||
@@ -14,10 +14,6 @@ EXTRA_IMAGECMD_jffs2 = "-lnp -e 0x20000 -s 2048"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyO0"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omap-psp"
|
||||
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:
|
||||
|
||||
34
conf/machine/am57xx-evm.conf
Normal file
34
conf/machine/am57xx-evm.conf
Normal file
@@ -0,0 +1,34 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: DRA7xx EVM
|
||||
#@DESCRIPTION: Machine configuration for the TI DRA7xx EVM
|
||||
|
||||
require conf/machine/include/dra7xx.inc
|
||||
|
||||
MACHINE_FEATURES += "touchscreen"
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyO2"
|
||||
|
||||
UBOOT_MACHINE = "beagle_x15_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"
|
||||
@@ -7,10 +7,6 @@ require conf/machine/include/omap3.inc
|
||||
# Only has DVI connector for external screen
|
||||
GUI_MACHINE_CLASS = "bigscreen"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-mainline"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-beagleboard"
|
||||
PREFERRED_PROVIDER_u-boot = "u-boot-beagleboard"
|
||||
|
||||
IMAGE_FSTYPES += "tar.gz ubi"
|
||||
EXTRA_IMAGECMD_jffs2 = "-lnp"
|
||||
|
||||
|
||||
@@ -11,4 +11,4 @@ IMAGE_FSTYPES += "tar.gz"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyO0"
|
||||
|
||||
UBOOT_MACHINE = "am335x_evm_config"
|
||||
UBOOT_MACHINE = "am335x_boneblack_config"
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
#@NAME: DRA7xx EVM
|
||||
#@DESCRIPTION: Machine configuration for the TI DRA7xx EVM
|
||||
|
||||
require conf/machine/include/omap-a15.inc
|
||||
require conf/machine/include/dra7xx.inc
|
||||
|
||||
MACHINE_FEATURES += "touchscreen"
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz"
|
||||
|
||||
@@ -30,7 +32,3 @@ MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3836"
|
||||
# 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"
|
||||
|
||||
@@ -5,7 +5,7 @@ MACHINE_KERNEL_PR = "r53"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-davinci"
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-mainline"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
|
||||
|
||||
UBOOT_MACHINE = "davinci_dvevm_config"
|
||||
|
||||
4
conf/machine/include/dra7xx.inc
Normal file
4
conf/machine/include/dra7xx.inc
Normal file
@@ -0,0 +1,4 @@
|
||||
require conf/machine/include/omap-a15.inc
|
||||
SOC_FAMILY_append = ":dra7xx"
|
||||
|
||||
MACHINE_FEATURES += "pci"
|
||||
@@ -1,6 +1,7 @@
|
||||
SOC_FAMILY = "keystone"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
DEFAULTTUNE ?= "cortexa15thf-neon"
|
||||
require conf/machine/include/tune-cortexa15.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-keystone"
|
||||
@@ -8,12 +9,10 @@ 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 = "r7"
|
||||
MACHINE_KERNEL_PR = "r8"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
UBOOT_MACHINE = "tci6638_evm_config"
|
||||
|
||||
UBOOT_ENTRYPOINT = "0x80008000"
|
||||
UBOOT_LOADADDRESS = "0x80008000"
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
SOC_FAMILY = "omap-a15"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
DEFAULTTUNE ?= "cortexa15thf-neon"
|
||||
require conf/machine/include/tune-cortexa15.inc
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r3"
|
||||
MACHINE_KERNEL_PR = "r6"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-ti-staging"
|
||||
@@ -28,3 +29,6 @@ GUI_MACHINE_CLASS = "smallscreen"
|
||||
# Use the expected value of the ubifs filesystem's volume name in the kernel
|
||||
# and u-boot.
|
||||
UBI_VOLNAME = "rootfs"
|
||||
|
||||
# List common SoC features, may need to add touchscreen for specific machines
|
||||
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet sgx"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
SOC_FAMILY = "omap3"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
DEFAULTTUNE ?= "cortexa8thf-neon"
|
||||
require conf/machine/include/tune-cortexa8.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
@@ -16,12 +17,12 @@ XSERVER = "xserver-xorg \
|
||||
GUI_MACHINE_CLASS = "bigscreen"
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r125"
|
||||
MACHINE_KERNEL_PR = "r126"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
# Default providers, may need to override for specific machines
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omap"
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-mainline"
|
||||
PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
|
||||
|
||||
UBOOT_ARCH = "arm"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
SOC_FAMILY = "omap4"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
DEFAULTTUNE ?= "cortexa9thf-neon"
|
||||
require conf/machine/include/tune-cortexa9.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omap4"
|
||||
@@ -13,7 +14,7 @@ XSERVER = "xserver-xorg \
|
||||
xf86-video-omap"
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r1"
|
||||
MACHINE_KERNEL_PR = "r2"
|
||||
|
||||
KERNEL_IMAGETYPE = "uImage"
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
SOC_FAMILY = "ti33x"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
DEFAULTTUNE ?= "cortexa8thf-neon"
|
||||
require conf/machine/include/tune-cortexa8.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
@@ -16,7 +17,7 @@ XSERVER = "xserver-xorg \
|
||||
GUI_MACHINE_CLASS = "bigscreen"
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r21"
|
||||
MACHINE_KERNEL_PR = "r22"
|
||||
|
||||
# Default providers, may need to override for specific machines
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
SOC_FAMILY = "ti43x"
|
||||
require conf/machine/include/soc-family.inc
|
||||
|
||||
DEFAULTTUNE ?= "cortexa9thf-neon"
|
||||
require conf/machine/include/tune-cortexa9.inc
|
||||
|
||||
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
|
||||
@@ -16,7 +17,7 @@ XSERVER = "xserver-xorg \
|
||||
GUI_MACHINE_CLASS = "bigscreen"
|
||||
|
||||
# Increase this everytime you change something in the kernel
|
||||
MACHINE_KERNEL_PR = "r2"
|
||||
MACHINE_KERNEL_PR = "r3"
|
||||
|
||||
# Default providers, may need to override for specific machines
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Keystone 2 machine
|
||||
#@DESCRIPTION: Machine configuration for the TI Keystone 2
|
||||
#@NAME: Keystone 2 K2E machine
|
||||
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2E EVM
|
||||
|
||||
require conf/machine/include/keystone.inc
|
||||
|
||||
UBOOT_MACHINE = "k2e_evm_config"
|
||||
|
||||
BOOT_MONITOR_MAKE_TARGET = "k2e"
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz cpio"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyS0"
|
||||
30
conf/machine/k2hk-evm.conf
Normal file
30
conf/machine/k2hk-evm.conf
Normal file
@@ -0,0 +1,30 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Keystone 2 K2HK machine
|
||||
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2HK EVM
|
||||
|
||||
require conf/machine/include/keystone.inc
|
||||
|
||||
UBOOT_MACHINE = "k2hk_evm_config"
|
||||
|
||||
BOOT_MONITOR_MAKE_TARGET = "k2hk"
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz cpio"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyS0"
|
||||
|
||||
SYSVINIT_ENABLED_GETTYS = ""
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: logical eraseblock size: 126976 bytes
|
||||
# from ubiattach stdout:
|
||||
# UBI device number 0, total 3856 LEBs
|
||||
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3856"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# from dmesg:
|
||||
# UBI: smallest flash I/O unit: 2048
|
||||
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
|
||||
# UBI: sub-page size: 2048
|
||||
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 2048 -O 2048"
|
||||
30
conf/machine/k2l-evm.conf
Normal file
30
conf/machine/k2l-evm.conf
Normal file
@@ -0,0 +1,30 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: Keystone 2 K2L machine
|
||||
#@DESCRIPTION: Machine configuration for the TI Keystone 2 K2L EVM
|
||||
|
||||
require conf/machine/include/keystone.inc
|
||||
|
||||
UBOOT_MACHINE = "k2l_evm_config"
|
||||
|
||||
BOOT_MONITOR_MAKE_TARGET = "k2l"
|
||||
|
||||
IMAGE_FSTYPES += "ubi tar.gz cpio"
|
||||
|
||||
SERIAL_CONSOLE = "115200 ttyS0"
|
||||
|
||||
SYSVINIT_ENABLED_GETTYS = ""
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# From dmesg:
|
||||
# UBI: smallest flash I/O unit: 4096
|
||||
# UBI: logical eraseblock size: 253952 bytes
|
||||
# from ubiattach stdout:
|
||||
# UBI device number 0, total 1926 LEBs
|
||||
MKUBIFS_ARGS = "-F -m 4096 -e 253952 -c 1926"
|
||||
|
||||
# do ubiattach /dev/ubi_ctrl -m 4
|
||||
# from dmesg:
|
||||
# UBI: smallest flash I/O unit: 4096
|
||||
# UBI: physical eraseblock size: 256 KiB
|
||||
# UBI: sub-page size: 4096
|
||||
UBINIZE_ARGS = "-m 4096 -p 256KiB -s 4096 -O 4096"
|
||||
@@ -15,8 +15,6 @@ EXTRA_IMAGECMD_jffs2 = "-lnp -e 0x20000 -s 2048"
|
||||
SERIAL_CONSOLE = "115200 ttyS0"
|
||||
USE_VT = "0"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-omap-psp"
|
||||
|
||||
EXTRA_IMAGEDEPENDS += "x-load"
|
||||
|
||||
# NOTE: there are NAND and OneNAND versions of this board...
|
||||
|
||||
@@ -30,7 +30,3 @@ MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3836"
|
||||
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"
|
||||
|
||||
29
recipes-bsp/am33x-cm3/am33x-cm3_git.bb
Normal file
29
recipes-bsp/am33x-cm3/am33x-cm3_git.bb
Normal file
@@ -0,0 +1,29 @@
|
||||
DESCRIPTION = "Cortex-M3 binary blob for suspend-resume"
|
||||
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://License.txt;md5=7bdc54a749ab7a7dea999d25d99a41b8"
|
||||
|
||||
PV = "1.8.9"
|
||||
PR = "r1"
|
||||
PE = "1"
|
||||
|
||||
SRCREV = "4e219d5053ee41b8fa8f85b48b1529ae4c6feb48"
|
||||
BRANCH ?= "next"
|
||||
|
||||
SRC_URI = "git://git.ti.com/ti-cm3-pm-firmware/amx3-cm3.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
FLOATABI = "${@base_contains("TUNE_FEATURES", "vfp", base_contains("TUNE_FEATURES", "callconvention-hard", " -mfloat-abi=hard", " -mfloat-abi=softfp", d), "" ,d)}"
|
||||
|
||||
do_compile() {
|
||||
make CROSS_COMPILE="${TARGET_PREFIX}" CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${FLOATABI}"
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${base_libdir}/firmware
|
||||
install -m 0644 bin/am335x-pm-firmware.elf ${D}${base_libdir}/firmware/
|
||||
install -m 0644 bin/*-scale-data.bin ${D}${base_libdir}/firmware/
|
||||
}
|
||||
|
||||
FILES_${PN} += "${base_libdir}/firmware"
|
||||
@@ -1,27 +1,27 @@
|
||||
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"
|
||||
COMPATIBLE_MACHINE = "keystone"
|
||||
|
||||
SRC_URI = "git://git.ti.com/keystone-linux/boot-monitor.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
PV = "2.0"
|
||||
PR = "r0+gitr${SRCPV}"
|
||||
PR = "r1+gitr${SRCPV}"
|
||||
|
||||
BRANCH = "master"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
#Tag "K2_BM_13.11"
|
||||
SRCREV = "ba597d183423971e63295cdd59d3c90245e9170a"
|
||||
#Tag "K2_BM_14.05"
|
||||
SRCREV = "0e3ffe1ea4a0cee38ae2406901b7cf4d5324b5e9"
|
||||
|
||||
BOOT_MONITOR_BINARY ?= "skern.bin"
|
||||
BOOT_MONITOR_IMAGE ?= "skern-${MACHINE}.bin"
|
||||
|
||||
FLOATABI = "${@base_contains("TUNE_FEATURES", "vfp", base_contains("TUNE_FEATURES", "callconvention-hard", " -mfloat-abi=hard", " -mfloat-abi=softfp", d), "" ,d)}"
|
||||
|
||||
EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${FLOATABI}""
|
||||
|
||||
do_compile () {
|
||||
unset LDFLAGS
|
||||
|
||||
20
recipes-bsp/common-csl-ip/common-csl-ip_git.bb
Normal file
20
recipes-bsp/common-csl-ip/common-csl-ip_git.bb
Normal file
@@ -0,0 +1,20 @@
|
||||
DESCRIPTION = "Chip support library low level interface"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=5857833e20836213677fac33f9aded21"
|
||||
|
||||
COMPATIBLE_MACHINE = "keystone"
|
||||
ALLOW_EMPTY_${PN} = "1"
|
||||
|
||||
PR = "r1"
|
||||
BRANCH="master"
|
||||
SRC_URI = "git://git.ti.com/keystone-rtos/common-csl-ip.git;protocol=git;branch=${BRANCH}"
|
||||
# commit ID corresponds to DEV.CSL_KEYSTONE2.02.01.00.05A
|
||||
SRCREV = "80d18dda4a76ce1a22cf2b5156f111390d75bea4"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${includedir}/ti/csl
|
||||
find . -name "*.h" -type f | xargs -I {} cp --parents {} ${D}${includedir}/ti/csl
|
||||
find ./src/ip/serdes_sb/V0 -name "*.c" -type f | xargs -I {} cp --parents {} ${D}${includedir}/ti/csl
|
||||
}
|
||||
24
recipes-bsp/dspdce-fw/dspdce-fw_1.00.00.02.bb
Normal file
24
recipes-bsp/dspdce-fw/dspdce-fw_1.00.00.02.bb
Normal file
@@ -0,0 +1,24 @@
|
||||
DESCRIPTION = "Firmware for DSP "
|
||||
LICENSE = "TI-TSPA"
|
||||
LIC_FILES_CHKSUM = "file://DSPDCE-${PV}-Manifest.doc;md5=587a7b9fdd99f98fbe99af4a4ba3362a"
|
||||
|
||||
COMPATIBLE_MACHINE = "dra7xx-evm"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
SRC_URI = "http://downloads.ti.com/dsps/dsps_public_sw/glsdk/dspdce/1_00_00_02/exports/dspdce-${MACHINE}-1.00.00.02.tar.gz;protocol=http"
|
||||
|
||||
S = "${WORKDIR}/dspdce-${MACHINE}-${PV}"
|
||||
|
||||
SRC_URI[md5sum] = "df19baf16f828b5d32b4eed50f0364f5"
|
||||
SRC_URI[sha256sum] = "0c0f34674110d1ef0300b61b572a326daffb95a31cc9d45888b2e50a83c6f555"
|
||||
|
||||
TARGET = "dra7-dsp1-fw.xe66"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}${base_libdir}/firmware
|
||||
cp ${S}/firmware/${TARGET} ${D}${base_libdir}/firmware/${TARGET}
|
||||
}
|
||||
|
||||
FILES_${PN} += "${base_libdir}/firmware/${TARGET}"
|
||||
|
||||
INSANE_SKIP_${PN} = "arch"
|
||||
@@ -1,2 +1 @@
|
||||
PRINC := "${@int(PRINC) + 1}"
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
44
recipes-bsp/ipumm-fw/ipumm-fw_3.00.04.02.bb
Normal file
44
recipes-bsp/ipumm-fw/ipumm-fw_3.00.04.02.bb
Normal file
@@ -0,0 +1,44 @@
|
||||
python __anonymous() {
|
||||
features = bb.data.getVar("MACHINE_FEATURES", d, 1)
|
||||
if not features:
|
||||
return
|
||||
if "mmip" not in features:
|
||||
raise bb.parse.SkipPackage('ipumm-fw does not apply to systems without the "mmip" flag in MACHINE_FEATURES')
|
||||
}
|
||||
|
||||
DESCRIPTION = "Firmware for IPU "
|
||||
|
||||
LICENSE = "TI-TSPA"
|
||||
LIC_FILES_CHKSUM_dra7xx = "file://MMIP-${PV}-Manifest.doc;md5=64ca6f9d7e5243b8a4084eb918a543bc"
|
||||
LIC_FILES_CHKSUM_omap5-evm = "file://MMIP-${PV}-Manifest.doc;md5=39a593dd8fc2a9654c74f679ed329c45"
|
||||
|
||||
COMPATIBLE_MACHINE = "omap-a15"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
# Need to set the PLATFORM variable since now multiple MACHINEs are sharing
|
||||
# a common named tarball
|
||||
PLATFORM = "UNKNOWN"
|
||||
PLATFORM_dra7xx = "dra7xx-evm"
|
||||
PLATFORM_omap5-evm = "omap5-evm"
|
||||
|
||||
SRC_URI = "http://downloads.ti.com/dsps/dsps_public_sw/glsdk/ipumm/3_00_04_02/exports/ipumm-${PLATFORM}-3.00.04.02.tar.gz;protocol=http;name=${PLATFORM}"
|
||||
|
||||
# DRA7xx checksums
|
||||
SRC_URI[dra7xx-evm.md5sum] = "da04c03b0fd57901e8283afa80f81379"
|
||||
SRC_URI[dra7xx-evm.sha256sum] = "0b26fd13f9c318b52c18b9bff56862ef1f58a768b19285b87c035e65bc828ddc"
|
||||
|
||||
# OMAP5 checksums
|
||||
SRC_URI[omap5-evm.md5sum] = "1572073ebd4f6d127c4e8cf47d270b6a"
|
||||
SRC_URI[omap5-evm.sha256sum] = "2fdb469f19e3c9984854f5bc82444fca4d7da869f5e645da22ec0d5beaa5cc65"
|
||||
|
||||
S = "${WORKDIR}/ipumm-${MACHINE}-${PV}"
|
||||
|
||||
TARGET_dra7xx = "dra7-ipu2-fw.xem4"
|
||||
TARGET_omap5-evm = "ducati-m3-core0.xem3"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}${base_libdir}/firmware
|
||||
cp ${S}/firmware/${TARGET} ${D}${base_libdir}/firmware/${TARGET}
|
||||
}
|
||||
|
||||
FILES_${PN} += "${base_libdir}/firmware/${TARGET}"
|
||||
@@ -0,0 +1,52 @@
|
||||
From e2db38959a70d1be604a297276a0b0c2ac219bf5 Mon Sep 17 00:00:00 2001
|
||||
From: Darren Etheridge <detheridge@ti.com>
|
||||
Date: Tue, 29 Jul 2014 16:06:17 -0500
|
||||
Subject: [PATCH 1/4] PoC: GFX: SDK: Make 5_01_01_01 work against 3.14 LTS
|
||||
|
||||
An API rename is the main change. Also hacked in some function prototypes
|
||||
for enabling use of the tilcdc DRM driver instead of the fbdev driver on
|
||||
AM335x. However this all really needs a good cleanup as it is hacky at
|
||||
the moment.
|
||||
|
||||
Signed-off-by: Darren Etheridge <detheridge@ti.com>
|
||||
---
|
||||
GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | 5 +++++
|
||||
GFX_Linux_KM/services4/srvkm/env/linux/mutils.h | 6 +++++-
|
||||
2 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
|
||||
index 5c3fc48..3857b95 100644
|
||||
--- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
|
||||
+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
|
||||
@@ -93,6 +93,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#include <linux/mutex.h>
|
||||
|
||||
#include <video/da8xx-fb.h>
|
||||
+/* used by SGX OMAPLFB drvier */
|
||||
+typedef void (*vsync_callback_t)(void *arg);
|
||||
+int register_vsync_cb(vsync_callback_t handler, void *arg, int idx);
|
||||
+int unregister_vsync_cb(vsync_callback_t handler, void *arg, int idx);
|
||||
+
|
||||
#if defined(PVR_OMAPLFB_DRM_FB)
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0))
|
||||
#include <plat/display.h>
|
||||
diff --git a/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h b/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
|
||||
index 31e0dac..90ec41c 100644
|
||||
--- a/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
|
||||
+++ b/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
|
||||
@@ -79,7 +79,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#define IOREMAP(pa, bytes) ioremap_cache(pa, bytes)
|
||||
#else
|
||||
#if defined(__arm__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
|
||||
- #define IOREMAP(pa, bytes) ioremap_cached(pa, bytes)
|
||||
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0))
|
||||
+ #define IOREMAP(pa, bytes) ioremap_cache(pa, bytes)
|
||||
+ #else
|
||||
+ #define IOREMAP(pa, bytes) ioremap_cached(pa, bytes)
|
||||
+ #endif
|
||||
#else
|
||||
#define IOREMAP(pa, bytes) ioremap(pa, bytes)
|
||||
#endif
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,121 @@
|
||||
From 7886ef77e4b48a7edd14acbcbe48f6a898251e78 Mon Sep 17 00:00:00 2001
|
||||
From: Darren Etheridge <detheridge@ti.com>
|
||||
Date: Fri, 25 Jul 2014 16:03:14 -0500
|
||||
Subject: [PATCH 2/5] SGX: linux: use platform data to provide reset info
|
||||
|
||||
In ti-linux-3.14.y we will not have a reset driver unlike ti-linux-3.12.y
|
||||
so this commit removes the dependency on the reset driver and instead
|
||||
uses the platform data that in a dt environment is configured in
|
||||
mach-omap2/pdata-quirks.c
|
||||
|
||||
Signed-off-by: Darren Etheridge <detheridge@ti.com>
|
||||
---
|
||||
GFX_Linux_KM/services4/srvkm/env/linux/module.c | 34 ++++++++++++++++++++-----
|
||||
1 file changed, 28 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/GFX_Linux_KM/services4/srvkm/env/linux/module.c b/GFX_Linux_KM/services4/srvkm/env/linux/module.c
|
||||
index e03dc00..90e16ce 100644
|
||||
--- a/GFX_Linux_KM/services4/srvkm/env/linux/module.c
|
||||
+++ b/GFX_Linux_KM/services4/srvkm/env/linux/module.c
|
||||
@@ -47,6 +47,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+#ifndef CONFIG_RESET_CONTROLLER
|
||||
+#include <linux/platform_data/sgx-omap.h>
|
||||
+#endif
|
||||
+
|
||||
#if defined(SUPPORT_DRI_DRM) && !defined(SUPPORT_DRI_DRM_PLUGIN)
|
||||
#define PVR_MOD_STATIC
|
||||
#else
|
||||
@@ -344,9 +348,11 @@ static LDM_DRV powervr_driver = {
|
||||
LDM_DEV *gpsPVRLDMDev;
|
||||
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
|
||||
+#ifdef CONFIG_RESET_CONTROLLER
|
||||
struct reset_control *rstc;
|
||||
bool already_deasserted = false;
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#if defined(MODULE) && defined(PVR_LDM_PLATFORM_MODULE) && \
|
||||
!defined(PVR_USE_PRE_REGISTERED_PLATFORM_DEV)
|
||||
@@ -388,11 +394,14 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
|
||||
#endif
|
||||
{
|
||||
SYS_DATA *psSysData;
|
||||
- int ret;
|
||||
+ int ret;
|
||||
+ struct device *dev = &pDevice->dev;
|
||||
+ struct gfx_sgx_platform_data *pdata = dev->platform_data;
|
||||
+
|
||||
PVR_TRACE(("PVRSRVDriverProbe(pDevice=%p)", pDevice));
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
|
||||
+#ifdef CONFIG_RESET_CONTROLLER
|
||||
rstc = reset_control_get(&pDevice->dev, NULL);
|
||||
-
|
||||
if (IS_ERR(rstc))
|
||||
{
|
||||
dev_err(&pDevice->dev, "%s: error: reset_control_get\n", __func__);
|
||||
@@ -403,7 +412,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
|
||||
|
||||
if (ret < 0)
|
||||
{
|
||||
- dev_err(&pDevice->dev, "%s: error: reset_control_clear_reset\n", __func__);
|
||||
+ dev_err(dev, "%s: error: reset_control_clear_reset\n", __func__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -413,11 +422,22 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
|
||||
{
|
||||
already_deasserted = true;
|
||||
}
|
||||
- else if (ret < 0)
|
||||
+ else if (ret < 0)
|
||||
{
|
||||
- dev_err(&pDevice->dev, "%s: error: reset_control_deassert\n", __func__);
|
||||
+ dev_err(dev, "%s: error: reset_control_deassert\n", __func__);
|
||||
return ret;
|
||||
}
|
||||
+#else
|
||||
+ if (pdata && pdata->deassert_reset) {
|
||||
+ ret = pdata->deassert_reset(pDevice, pdata->reset_name);
|
||||
+ if (ret) {
|
||||
+ dev_err(dev, "Unable to reset SGX!\n");
|
||||
+ }
|
||||
+ } else {
|
||||
+ dev_err(dev, "SGX Platform data missing deassert_reset!\n");
|
||||
+ return -ENODEV;
|
||||
+ }
|
||||
+#endif /* CONFIG_RESET_CONTROLLER */
|
||||
#endif
|
||||
|
||||
#if 0 /* INTEGRATION_POINT */
|
||||
@@ -432,7 +452,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
-#endif
|
||||
+#endif
|
||||
/* SysInitialise only designed to be called once.
|
||||
*/
|
||||
psSysData = SysAcquireDataNoCheck();
|
||||
@@ -445,6 +465,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
|
||||
}
|
||||
}
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
|
||||
+#ifdef CONFIG_RESET_CONTROLLER
|
||||
if (!already_deasserted)
|
||||
{
|
||||
ret = reset_control_is_reset(rstc);
|
||||
@@ -454,6 +475,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
|
||||
}
|
||||
}
|
||||
reset_control_put(rstc);
|
||||
+#endif /* CONFIG_RESET_CONTROLLER */
|
||||
#endif
|
||||
|
||||
return PVRSRVIONClientCreate();
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,153 @@
|
||||
From cf5156ff82e14fe01a194f9fa9a9adc528ac72f0 Mon Sep 17 00:00:00 2001
|
||||
From: Darren Etheridge <detheridge@ti.com>
|
||||
Date: Tue, 29 Jul 2014 15:39:56 -0500
|
||||
Subject: [PATCH 3/4] SGX: displayclass: am335x, am437x - fix mutex deadlock
|
||||
warning
|
||||
|
||||
Rearrange the locking semantics in the Unblank screen function to
|
||||
remove the kernel warning about a possible deadlock scenario.
|
||||
|
||||
The warning presents itself on the console like this:
|
||||
[ 2976.202979] ======================================================
|
||||
[ 2976.202983] [ INFO: possible circular locking dependency detected ]
|
||||
[ 2976.202994] 3.14.11-00997-gb20d0ac-dirty #53 Tainted: G O
|
||||
[ 2976.202997] -------------------------------------------------------
|
||||
[ 2976.203005] OGLES2Chameleon/1203 is trying to acquire lock:
|
||||
[ 2976.203058] (console_lock){+.+.+.}, at: [<bf07a310>]
|
||||
OMAPLFBUnblankDisplay+0x24/0xbc [omaplfb]
|
||||
[ 2976.203062]
|
||||
[ 2976.203062] but task is already holding lock:
|
||||
[ 2976.203087] (&fb_info->lock){+.+.+.}, at: [<c0312358>]
|
||||
lock_fb_info+0x18/0x3c
|
||||
[ 2976.203090]
|
||||
[ 2976.203090] which lock already depends on the new lock.
|
||||
[ 2976.203090]
|
||||
[ 2976.203093]
|
||||
[ 2976.203093] the existing dependency chain (in reverse order) is:
|
||||
[ 2976.203101]
|
||||
[ 2976.203101] -> #1 (&fb_info->lock){+.+.+.}:
|
||||
[ 2976.203112] [<c0312358>] lock_fb_info+0x18/0x3c
|
||||
[ 2976.203124] [<c0313a7c>] register_framebuffer+0x174/0x26c
|
||||
[ 2976.203146] [<c033c314>] omapfb_create_framebuffers+0x48c/0x7ac
|
||||
[ 2976.203157] [<c033d3c4>] omapfb_probe+0x4d4/0x848
|
||||
[ 2976.203170] [<c0381cc8>] platform_drv_probe+0x18/0x48
|
||||
[ 2976.203189] [<c038096c>] driver_probe_device+0x10c/0x238
|
||||
[ 2976.203199] [<c0380b2c>] __driver_attach+0x94/0x98
|
||||
[ 2976.203208] [<c037f0f0>] bus_for_each_dev+0x54/0x88
|
||||
[ 2976.203216] [<c03800f0>] bus_add_driver+0xd8/0x1d8
|
||||
[ 2976.203223] [<c038115c>] driver_register+0x78/0xf4
|
||||
[ 2976.203234] [<c0008968>] do_one_initcall+0xe4/0x144
|
||||
[ 2976.203250] [<c07d3c18>] kernel_init_freeable+0xfc/0x1cc
|
||||
[ 2976.203261] [<c0563260>] kernel_init+0x8/0xec
|
||||
[ 2976.203275] [<c000e648>] ret_from_fork+0x14/0x2c
|
||||
[ 2976.203284]
|
||||
[ 2976.203284] -> #0 (console_lock){+.+.+.}:
|
||||
[ 2976.203301] [<c008bc00>] console_lock+0x4c/0x60
|
||||
[ 2976.203328] [<bf07a310>] OMAPLFBUnblankDisplay+0x24/0xbc [omaplfb]
|
||||
[ 2976.203340] [<bf0797f4>] OpenDCDevice+0x60/0x78 [omaplfb]
|
||||
[ 2976.203459] [<bf041ac0>] PVRSRVOpenDCDeviceKM+0xec/0x178 [pvrsrvkm]
|
||||
[ 2976.203654] [<bf05645c>] PVRSRVOpenDCDeviceBW+0x6c/0xac [pvrsrvkm]
|
||||
[ 2976.203811] [<bf056d10>] BridgedDispatchKM+0xf4/0x14c [pvrsrvkm]
|
||||
[ 2976.203966] [<bf04f304>] PVRSRV_BridgeDispatchKM+0xf0/0x204
|
||||
[pvrsrvkm]
|
||||
[ 2976.203987] [<c0129500>] do_vfs_ioctl+0x78/0x61c
|
||||
[ 2976.203997] [<c0129b08>] SyS_ioctl+0x64/0x74
|
||||
[ 2976.204013] [<c000e580>] ret_fast_syscall+0x0/0x48
|
||||
[ 2976.204016]
|
||||
[ 2976.204016] other info that might help us debug this:
|
||||
[ 2976.204016]
|
||||
[ 2976.204019] Possible unsafe locking scenario:
|
||||
[ 2976.204019]
|
||||
[ 2976.204022] CPU0 CPU1
|
||||
[ 2976.204024] ---- ----
|
||||
[ 2976.204030] lock(&fb_info->lock);
|
||||
[ 2976.204036] lock(console_lock);
|
||||
[ 2976.204041] lock(&fb_info->lock);
|
||||
[ 2976.204046] lock(console_lock);
|
||||
[ 2976.204048]
|
||||
[ 2976.204048] *** DEADLOCK ***
|
||||
[ 2976.204048]
|
||||
[ 2976.204055] 2 locks held by OGLES2Chameleon/1203:
|
||||
[ 2976.204217] #0: (psPVRSRVMutex#2/1){+.+.+.}, at: [<bf04f238>]
|
||||
PVRSRV_BridgeDispatchKM+0x24/0x204 [pvrsrvkm]
|
||||
[ 2976.204240] #1: (&fb_info->lock){+.+.+.}, at: [<c0312358>]
|
||||
lock_fb_info+0x18/0x3c
|
||||
|
||||
Signed-off-by: Darren Etheridge <detheridge@ti.com>
|
||||
---
|
||||
GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | 8 +++++---
|
||||
GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c | 7 +++++--
|
||||
2 files changed, 10 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
|
||||
index 3857b95..a5cc7d0 100644
|
||||
--- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
|
||||
+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
|
||||
@@ -812,10 +812,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
|
||||
{
|
||||
#ifdef FBDEV_PRESENT
|
||||
int res;
|
||||
+
|
||||
+ OMAPLFB_CONSOLE_LOCK();
|
||||
if (!lock_fb_info(psDevInfo->psLINFBInfo))
|
||||
{
|
||||
printk(KERN_ERR DRIVER_PREFIX
|
||||
": %s: Device %u: Couldn't lock FB info\n", __FUNCTION__, psDevInfo->uiFBDevID);
|
||||
+ OMAPLFB_CONSOLE_UNLOCK();
|
||||
return (OMAPLFB_ERROR_GENERIC);
|
||||
}
|
||||
|
||||
@@ -825,14 +828,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
|
||||
* notification.
|
||||
*/
|
||||
|
||||
-
|
||||
- OMAPLFB_CONSOLE_LOCK();
|
||||
psDevInfo->psLINFBInfo->flags |= FBINFO_MISC_USEREVENT;
|
||||
res = fb_blank(psDevInfo->psLINFBInfo, bBlank ? 1 : 0);
|
||||
psDevInfo->psLINFBInfo->flags &= ~FBINFO_MISC_USEREVENT;
|
||||
|
||||
- OMAPLFB_CONSOLE_UNLOCK();
|
||||
unlock_fb_info(psDevInfo->psLINFBInfo);
|
||||
+ OMAPLFB_CONSOLE_UNLOCK();
|
||||
+
|
||||
if (res != 0 && res != -EINVAL)
|
||||
{
|
||||
printk(KERN_ERR DRIVER_PREFIX
|
||||
diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c
|
||||
index c79dbd0..58b8640 100755
|
||||
--- a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c
|
||||
+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c
|
||||
@@ -948,10 +948,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
|
||||
{
|
||||
#ifdef FBDEV_PRESENT
|
||||
int res;
|
||||
+
|
||||
+ OMAPLFB_CONSOLE_LOCK();
|
||||
if (!lock_fb_info(psDevInfo->psLINFBInfo))
|
||||
{
|
||||
printk(KERN_ERR DRIVER_PREFIX
|
||||
": %s: Device %u: Couldn't lock FB info\n", __FUNCTION__, psDevInfo->uiFBDevID);
|
||||
+ OMAPLFB_CONSOLE_UNLOCK();
|
||||
return (OMAPLFB_ERROR_GENERIC);
|
||||
}
|
||||
|
||||
@@ -961,13 +964,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
|
||||
* notification.
|
||||
*/
|
||||
|
||||
- OMAPLFB_CONSOLE_LOCK();
|
||||
psDevInfo->psLINFBInfo->flags |= FBINFO_MISC_USEREVENT;
|
||||
res = fb_blank(psDevInfo->psLINFBInfo, bBlank ? 1 : 0);
|
||||
psDevInfo->psLINFBInfo->flags &= ~FBINFO_MISC_USEREVENT;
|
||||
|
||||
- OMAPLFB_CONSOLE_UNLOCK();
|
||||
unlock_fb_info(psDevInfo->psLINFBInfo);
|
||||
+ OMAPLFB_CONSOLE_UNLOCK();
|
||||
+
|
||||
if (res != 0 && res != -EINVAL)
|
||||
{
|
||||
printk(KERN_ERR DRIVER_PREFIX
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From c9258e090aec91e70efa814e5a38048b0c45754a Mon Sep 17 00:00:00 2001
|
||||
From: Darren Etheridge <detheridge@ti.com>
|
||||
Date: Tue, 29 Jul 2014 15:54:14 -0500
|
||||
Subject: [PATCH 4/4] SGX: linux: make it building against ti-linux-3.14.y
|
||||
|
||||
The fbdev drivers moved into their own directory under drivers/video.
|
||||
All of the omap2 dss stuff moved there as well so update the Makefile
|
||||
to point to the right place.
|
||||
|
||||
Keep the old directory around to not break builds against older kernel.
|
||||
|
||||
Signed-off-by: Darren Etheridge <detheridge@ti.com>
|
||||
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
|
||||
---
|
||||
GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild | 1 +
|
||||
GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
|
||||
index 1ae2359..9e0c843 100755
|
||||
--- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
|
||||
+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
|
||||
@@ -15,6 +15,7 @@ EXTRA_CFLAGS = -DLINUX \
|
||||
-I$(PVR_BUILD_DIR)/services4/include \
|
||||
-I$(PVR_BUILD_DIR)/services4/system/$(PVR_SYSTEM) \
|
||||
-I$(KERNELDIR)/drivers/video/omap2 \
|
||||
+ -I$(KERNELDIR)/drivers/video/fbdev/omap2 \
|
||||
-I$(PVR_BUILD_DIR)/services4/system/include \
|
||||
$(SYS_CFLAGS.1) \
|
||||
|
||||
diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
|
||||
index 1ae2359..9e0c843 100755
|
||||
--- a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
|
||||
+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
|
||||
@@ -15,6 +15,7 @@ EXTRA_CFLAGS = -DLINUX \
|
||||
-I$(PVR_BUILD_DIR)/services4/include \
|
||||
-I$(PVR_BUILD_DIR)/services4/system/$(PVR_SYSTEM) \
|
||||
-I$(KERNELDIR)/drivers/video/omap2 \
|
||||
+ -I$(KERNELDIR)/drivers/video/fbdev/omap2 \
|
||||
-I$(PVR_BUILD_DIR)/services4/system/include \
|
||||
$(SYS_CFLAGS.1) \
|
||||
|
||||
--
|
||||
2.0.2
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "4_08_00_01"
|
||||
IMGPV = "1.9.2139099"
|
||||
BINFILE = "Graphics_SDK_setuplinux_${SGXPV}.bin"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] = "dd0d994a48ecc4293f272a1fddddf159"
|
||||
SRC_URI[sha256sum] = "fd721288c95314e0d676dd89462e1dec994e185cb608bcb8ac4a4b5809f9693a"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
|
||||
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti33x = "dc_ti335x_linux"
|
||||
|
||||
export SUPPORT_XORG ?= "${@base_contains('DISTRO_FEATURES', 'x11', '1', '0', d)}"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
|
||||
if [ "${SUPPORT_XORG}" = "1" ]; then
|
||||
cp ${S}/services4/3rdparty/linux_drm/drm.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
fi
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "4_08_00_02"
|
||||
IMGPV = "1.9.2188537"
|
||||
BINFILE = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] = "0efa3a38266e6f41f8cc4fad0187f0d6"
|
||||
SRC_URI[sha256sum] = "c732044b515a598e1fab661b7463aa9c53d4fa37f4980dfa85cd02b7468d0cd9"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
|
||||
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti33x = "dc_ti335x_linux"
|
||||
|
||||
export SUPPORT_XORG ?= "${@base_contains('DISTRO_FEATURES', 'x11', '1', '0', d)}"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
|
||||
if [ "${SUPPORT_XORG}" = "1" ]; then
|
||||
cp ${S}/services4/3rdparty/linux_drm/drm.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
fi
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "5_00_00_01"
|
||||
IMGPV = "1.10.2359475"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_alpha_hardfp_minimal_demos.bin"
|
||||
MD5SUM_HARDFP = "ae6125d7f8a313ea5c02afded893052d"
|
||||
SHA256SUM_HARDFP = "c2782a2f85024741722b936ec9dca66b858ae8561aa71b693f11e12d8c0385e0"
|
||||
|
||||
# For now we only have hardfp version
|
||||
python __anonymous() {
|
||||
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
|
||||
if not tunes:
|
||||
return
|
||||
pkgn = bb.data.getVar("PN", d, 1)
|
||||
pkgv = bb.data.getVar("PV", d, 1)
|
||||
if "callconvention-hard" not in tunes:
|
||||
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
}
|
||||
|
||||
BINFILE := "${BINFILE_HARDFP}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
|
||||
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
TI_PLATFORM_ti43x = "ti43xx"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
|
||||
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti33x = "dc_ti335x_linux"
|
||||
MODULESLOCATION_ti43x = "dc_ti43xx_linux"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "5_01_00_01"
|
||||
IMGPV = "1.10.2359475"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
|
||||
MD5SUM_HARDFP = "0ee7d59808330d442a51c0990c2cb30e"
|
||||
SHA256SUM_HARDFP = "769daae439677a7a85bbbced14cee4f85b19823e0b99560078d0a864c525c128"
|
||||
|
||||
# For now we only have hardfp version
|
||||
python __anonymous() {
|
||||
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
|
||||
if not tunes:
|
||||
return
|
||||
pkgn = bb.data.getVar("PN", d, 1)
|
||||
pkgv = bb.data.getVar("PV", d, 1)
|
||||
if "callconvention-hard" not in tunes:
|
||||
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
}
|
||||
|
||||
BINFILE := "${BINFILE_HARDFP}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
|
||||
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
TI_PLATFORM_ti43x = "ti43xx"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
|
||||
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti33x = "dc_ti335x_linux"
|
||||
MODULESLOCATION_ti43x = "dc_ti43xx_linux"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/${MODULESLOCATION}/omaplfb.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
}
|
||||
@@ -10,7 +10,7 @@ IMGPV = "1.10.2359475"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
MACHINE_KERNEL_PR_append = "c"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
|
||||
@@ -33,6 +33,11 @@ BINFILE := "${BINFILE_HARDFP}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI += "file://0001-PoC-GFX-SDK-Make-5_01_01_01-work-against-3.14-LTS.patch;striplevel=2 \
|
||||
file://0002-SGX-linux-use-platform-data-to-provide-reset-info.patch;striplevel=2 \
|
||||
file://0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-wa.patch;striplevel=2 \
|
||||
file://0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch;striplevel=2"
|
||||
|
||||
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
|
||||
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
|
||||
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap5 SoCs"
|
||||
HOMEPAGE = "http://git.ti.com"
|
||||
LICENSE = "MIT | GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://README;beginline=13;endline=22;md5=74506d9b8e5edbce66c2747c50fcef12"
|
||||
LIC_FILES_CHKSUM = "file://eurasia_km/README;beginline=13;endline=22;md5=74506d9b8e5edbce66c2747c50fcef12"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "a"
|
||||
MACHINE_KERNEL_PR_append = "b"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
SRC_URI = "git://git.ti.com/graphics/omap5-sgx-ddk-linux.git;protocol=git"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRCREV = "86a4ffae3458c51f0a58e44b17b7a4fd92d2b8c6"
|
||||
SRCREV = "bf8997b894f216261f914f64d33e6e588770da5a"
|
||||
|
||||
EXTRA_OEMAKE += 'KERNELDIR="${STAGING_KERNEL_DIR}"'
|
||||
|
||||
do_compile_prepend() {
|
||||
cd ${S}/eurasiacon/build/linux2/omap5430_linux
|
||||
cd ${S}/eurasia_km/eurasiacon/build/linux2/omap5430_linux
|
||||
}
|
||||
|
||||
do_install() {
|
||||
|
||||
41
recipes-bsp/rm-lld/rm-lld_git.bb
Normal file
41
recipes-bsp/rm-lld/rm-lld_git.bb
Normal file
@@ -0,0 +1,41 @@
|
||||
DESCRIPTION = "TI Resource Manager Low Level Driver"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://${WORKDIR}/git/ti/drv/rm/COPYING.txt;md5=dc61631b65360e6beb73b6c337800afc"
|
||||
|
||||
BRANCH="master"
|
||||
SRC_URI = "git://git.ti.com/keystone-rtos/rm-lld.git;destsuffix=git/ti/drv/rm;protocol=git;branch=${BRANCH}"
|
||||
# Below commit ID corresponds to DEV.RM_LLD.02.01.00.06
|
||||
SRCREV = "dc0dba4a6b0358efcb861d50b3dae21beb5281a8"
|
||||
PV = "02.01.00.06"
|
||||
PR = "r0"
|
||||
|
||||
COMPATIBLE_MACHINE = "keystone"
|
||||
|
||||
DEPENDS = "ti-ipc libdaemon"
|
||||
|
||||
PACKAGES =+ "${PN}-test"
|
||||
|
||||
FILES_${PN}-test = "${bindir}/rmDspClientTest_*.out \
|
||||
${bindir}/rmLinuxClientTest_*.out \
|
||||
${bindir}/ti/drv/rm/test/dts_files/*.dtb"
|
||||
|
||||
CHOICELIST = "yes no"
|
||||
|
||||
BASEDIR = "${WORKDIR}/git"
|
||||
S = "${BASEDIR}/ti/drv/rm"
|
||||
|
||||
do_compile () {
|
||||
# Now build the lld
|
||||
make -f makefile_armv7 clean lib PDK_INSTALL_PATH=${STAGING_INCDIR} RM_SRC_DIR=${S}
|
||||
for choice in ${CHOICELIST}
|
||||
do
|
||||
make -f makefile_armv7 tests IPC_DEVKIT_INSTALL_PATH=${STAGING_INCDIR} PDK_INSTALL_PATH=${BASEDIR} USEDYNAMIC_LIB="$choice"
|
||||
done
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${includedir}/ti/drv/rm
|
||||
install -d ${D}${libdir}
|
||||
install -d ${D}${bindir}
|
||||
make -f makefile_armv7 install installbin installbin_test INSTALL_INC_BASE_DIR=${D}${includedir} INSTALL_LIB_BASE_DIR=${D}${libdir} INSTALL_BIN_BASE_DIR=${D}${bindir}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Load the PM CM3 firmware
|
||||
echo 1 > /sys/devices/44000000.ocp/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading
|
||||
cat /lib/firmware/am335x-pm-firmware.bin > /sys/devices/44000000.ocp/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/data
|
||||
echo 0 > /sys/devices/44000000.ocp/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading
|
||||
@@ -1,55 +0,0 @@
|
||||
DESCRIPTION = "Cortex-M3 binary blob for suspend-resume"
|
||||
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://License.txt;md5=7bdc54a749ab7a7dea999d25d99a41b8"
|
||||
|
||||
PV = "05.00.00.03"
|
||||
PR = "r1"
|
||||
|
||||
# Make package machine specific due to different init scripts
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
# SRCREV corresponds to tag v05.00.00.03
|
||||
SRCREV = "a0ddffb63147e2079a08944c0e399c75538201a9"
|
||||
BRANCH ?= "master"
|
||||
|
||||
# This init script is only used for older kernels that do not support
|
||||
# hotplug of the firmware. Newer kernels do not require the initscript
|
||||
# package.
|
||||
INITSCRIPT_NAME = "am335x-pm-firmware-load"
|
||||
INITSCRIPT_PARAMS = "defaults 96"
|
||||
|
||||
inherit update-rc.d
|
||||
|
||||
UPDATERCPN = "${PN}-initscript"
|
||||
|
||||
RDEPENDS_${PN}-initscript = "am33x-cm3"
|
||||
|
||||
SRC_URI = "git://arago-project.org/git/projects/am33x-cm3.git;protocol=git;branch=${BRANCH} \
|
||||
file://init-am33x-cm3 \
|
||||
file://init-am43x-cm3 \
|
||||
"
|
||||
|
||||
SCRIPT_ti33x = "init-am33x-cm3"
|
||||
SCRIPT_ti43x = "init-am43x-cm3"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_compile() {
|
||||
make CROSS_COMPILE="${TARGET_PREFIX}"
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${base_libdir}/firmware
|
||||
install -m 0644 bin/am335x-pm-firmware.bin ${D}${base_libdir}/firmware/
|
||||
|
||||
# Install the init script to load the PM firmware at boot
|
||||
install -d ${D}${sysconfdir}/init.d
|
||||
install -m 0755 ${WORKDIR}/${SCRIPT} ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
|
||||
}
|
||||
|
||||
PACKAGES =+ "${PN}-initscript"
|
||||
|
||||
FILES_${PN} += "${base_libdir}/firmware"
|
||||
|
||||
FILES_${PN}-initscript = "${sysconfdir}/*"
|
||||
@@ -1,34 +0,0 @@
|
||||
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
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for AM180x devices"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=4c6cde5df68eff615d36789dc18edd3b"
|
||||
|
||||
COMPATIBLE_MACHINE = "am180x-evm"
|
||||
|
||||
PR = "r0"
|
||||
|
||||
SRC_URI = "git://arago-project.org/git/projects/u-boot-davinci.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
# For the am180x we want to enable all the memory on the EVM, but for other
|
||||
# devices that use the DSP we do not want this change because that memory
|
||||
# is used for the DSP
|
||||
SRC_URI_append_am180x-evm = " file://0001-da850evm-change-default-memory-to-not-limit-at-32MB.patch"
|
||||
|
||||
BRANCH = "03.21.00.03"
|
||||
|
||||
# v2010.12_DAVINCIPSP_03.21.00.04
|
||||
SRCREV = "1254a0b58d900b7035cfb36bf4e1b05dfbf09997"
|
||||
|
||||
UBOOT_SUFFIX = "bin"
|
||||
@@ -1,27 +0,0 @@
|
||||
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"
|
||||
@@ -1,21 +0,0 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for ARM MPU devices"
|
||||
|
||||
COMPATIBLE_MACHINE = "omap3"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
PR = "r1+gitr${SRCPV}"
|
||||
|
||||
SRC_URI = "git://arago-project.org/git/projects/u-boot-am33x.git;protocol=git;branch=${BRANCH} \
|
||||
file://0001-armv7-Unaligned-access-fix.patch \
|
||||
"
|
||||
|
||||
BRANCH = "AM335XPSP_04.06.00.08"
|
||||
|
||||
# Lock to the commit corresponding to tag "v2011.09_AM335xPSP_04.06.00.08"
|
||||
SRCREV = "1e4626f0d5f3bb04ec974e76a5d9029875269d31"
|
||||
|
||||
# Set the name of the SPL that will built so that it is also packaged with u-boot.
|
||||
SPL_BINARY = "MLO"
|
||||
@@ -1,172 +0,0 @@
|
||||
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
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
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
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
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
|
||||
|
||||
@@ -1,146 +0,0 @@
|
||||
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
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
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
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
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
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
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
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
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
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
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
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for ARM MPU devices"
|
||||
|
||||
COMPATIBLE_MACHINE = "am37x-evm|beagleboard"
|
||||
|
||||
BRANCH ?= "master"
|
||||
|
||||
PR = "r1+gitr${SRCPV}"
|
||||
|
||||
# v2012.04.01
|
||||
SRCREV = "415d386877df49eb051b85ef74fa59a16dc17c7d"
|
||||
|
||||
SRC_URI = "git://git.denx.de/u-boot.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
# Add patches for the AMSDK
|
||||
# - 0001-omap3-beagle-add-usbethaddr....Not for Upstream
|
||||
# - 0001-OMAP3-Beagle-Set-BOOTDELAY....Pending Upstream
|
||||
# - 0002-am335x-am3517evm-beagleboard....Pending Upstream
|
||||
# - 0003-beagleboard-Load-uImage-from....Not for Upstream
|
||||
# - 0004-beagleboard-Load-uImage-to....Pending Upstream
|
||||
# - 0001-omap3_evm-Added-function....Pending Upstream
|
||||
# - 0002-omap3evm-Make-the-board....Pending Upstream
|
||||
# - 0003-beagleboard-Make-xM-rev....Pending Upstream
|
||||
# - 0001-ARM-omap3-Set-SPL-stack-size-to-8KB-image-to-54KB.patch....Upstreamed
|
||||
|
||||
# Add a patch to set a default usbethaddr address to enable the out of box
|
||||
# experience.
|
||||
SRC_URI += "file://0001-omap3_beagle-add-usbethaddr-setting-to-enable-networ.patch \
|
||||
file://0001-OMAP3-Beagle-Set-BOOTDELAY-to-3.patch \
|
||||
file://0002-am335x-am3517evm-beagleboard-am37x-Add-CONFIG_CMD_AS.patch \
|
||||
file://0003-beagleboard-Load-uImage-from-VFAT-by-default.patch \
|
||||
file://0004-beagleboard-Load-uImage-to-the-default-kernel-linux-.patch \
|
||||
file://0001-omap3_evm-Added-function-calls-to-set-volts-speed-on.patch \
|
||||
file://0002-omap3evm-Make-the-board-start-at-800MHz.patch \
|
||||
file://0003-beagleboard-Make-xM-rev-C-go-to-800MHz.patch \
|
||||
file://0001-ARM-omap3-Set-SPL-stack-size-to-8KB-image-to-54KB.patch \
|
||||
file://0001-armv7-Unaligned-access-fix.patch \
|
||||
"
|
||||
|
||||
SPL_BINARY = "MLO"
|
||||
@@ -1,36 +0,0 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
PR = "r7"
|
||||
|
||||
SPL_BINARY = "MLO"
|
||||
|
||||
# No patches for other machines yet
|
||||
COMPATIBLE_MACHINE = "(beagleboard)"
|
||||
|
||||
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 \
|
||||
file://2011.09/0004-OMAP3-Change-mem_ok-to-clear-again-after-reading-bac.patch \
|
||||
file://2011.09/0005-OMAP3-Remove-get_mem_type-prototype.patch \
|
||||
file://2011.09/0006-omap3-mem-Add-MCFG-helper-macro.patch \
|
||||
file://2011.09/0007-OMAP3-Add-optimal-SDRC-autorefresh-control-values.patch \
|
||||
file://2011.09/0008-OMAP3-Suffix-all-Micron-memory-timing-parts-with-the.patch \
|
||||
file://2011.09/0009-OMAP3-SPL-Rework-memory-initalization-and-devkit8000.patch \
|
||||
file://2011.09/0010-OMAP3-SPL-Add-identify_nand_chip-function.patch \
|
||||
file://2011.09/0011-OMAP3-Add-SPL-support-to-Beagleboard.patch \
|
||||
file://2011.09/0012-OMAP3-Add-SPL-support-to-omap3_evm.patch \
|
||||
file://2011.09/0013-AM3517-Add-SPL-support.patch \
|
||||
file://2011.09/0014-AM3517-CraneBoard-Add-SPL-support.patch \
|
||||
file://2011.09/0015-HACK-beagleboard-config-disable-cache-for-USB.patch \
|
||||
file://2011.09/0016-beagleboard-config-enable-gpio-command.patch \
|
||||
file://2011.09/0017-Increased-some-timeout-durations-for-MMC-and-EHCI.patch \
|
||||
file://2011.09/0018-beagleboard-mount-rootfs-RO-instead-of-RW-at-boot.patch \
|
||||
file://2011.09/0019-BeagleBoard-config-Really-switch-to-ttyO2.patch \
|
||||
file://2011.09/0020-beagleboard-add-support-for-TCT-Beacon-board.patch \
|
||||
file://2011.09/0021-beagleboard-add-support-for-scanning-loop-through-ex.patch \
|
||||
file://0001-config-Always-use-GNU-ld.patch \
|
||||
file://fw_env.config \
|
||||
"
|
||||
|
||||
SRCREV = "fdbe8b9a2d1858ba35dd6214315563ad44d4a0e3"
|
||||
@@ -4,13 +4,67 @@ 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}"
|
||||
PR = "r5+gitr${SRCPV}"
|
||||
|
||||
# Tag "K2_UBOOT_2013_01_14.05_16"
|
||||
SRCREV = "fee500417b989fc9906d86e377b4d3d96033d54e"
|
||||
BRANCH = "master"
|
||||
|
||||
# DEV.MCSDK-03.00.00.07
|
||||
SRCREV = "82f40e857d853165310d0753e79235aefb65d7ba"
|
||||
SRC_URI = "git://git.ti.com/keystone-linux/u-boot.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
UBOOT_SUFFIX = "bin"
|
||||
UBOOT_MAKE_TARGET = "u-boot-spi.gph u-boot-nand.gph"
|
||||
|
||||
# SPI NOR Flash binaries
|
||||
UBOOT_SPI_SPL_BINARY = "u-boot-spl.bin"
|
||||
UBOOT_SPI_BINARY = "u-boot.img"
|
||||
UBOOT_SPI_GPH_BINARY = "u-boot-spi.gph"
|
||||
UBOOT_NAND_GPH_BINARY = "u-boot-nand.gph"
|
||||
|
||||
# SPI NOR Flash deployed images
|
||||
UBOOT_SPI_SPL_IMAGE = "u-boot-spl-${MACHINE}-${PV}-${PR}.bin"
|
||||
UBOOT_SPI_SPL_SYMLINK = "u-boot-spl-${MACHINE}.bin"
|
||||
UBOOT_SPI_IMAGE = "u-boot-${MACHINE}-${PV}-${PR}.img"
|
||||
UBOOT_SPI_SYMLINK = "u-boot-${MACHINE}.img"
|
||||
UBOOT_SPI_GPH_IMAGE = "u-boot-spi-${MACHINE}-${PV}-${PR}.gph"
|
||||
UBOOT_SPI_GPH_SYMLINK = "u-boot-spi-${MACHINE}.gph"
|
||||
UBOOT_NAND_GPH_IMAGE = "u-boot-nand-${MACHINE}-${PV}-${PR}.gph"
|
||||
UBOOT_NAND_GPH_SYMLINK = "u-boot-nand-${MACHINE}.gph"
|
||||
|
||||
do_install_append () {
|
||||
install ${S}/spl/${UBOOT_SPI_SPL_BINARY} ${D}/boot/${UBOOT_SPI_SPL_IMAGE}
|
||||
ln -sf ${UBOOT_SPI_SPL_IMAGE} ${D}/boot/${UBOOT_SPI_SPL_BINARY}
|
||||
|
||||
install ${S}/${UBOOT_SPI_BINARY} ${D}/boot/${UBOOT_SPI_IMAGE}
|
||||
ln -sf ${UBOOT_SPI_IMAGE} ${D}/boot/${UBOOT_SPI_BINARY}
|
||||
|
||||
install ${S}/${UBOOT_SPI_GPH_BINARY} ${D}/boot/${UBOOT_SPI_GPH_IMAGE}
|
||||
ln -sf ${UBOOT_SPI_GPH_IMAGE} ${D}/boot/${UBOOT_SPI_GPH_BINARY}
|
||||
|
||||
install ${S}/${UBOOT_NAND_GPH_BINARY} ${D}/boot/${UBOOT_NAND_GPH_IMAGE}
|
||||
ln -sf ${UBOOT_NAND_GPH_IMAGE} ${D}/boot/${UBOOT_NAND_GPH_BINARY}
|
||||
}
|
||||
|
||||
do_deploy_append () {
|
||||
install ${S}/spl/${UBOOT_SPI_SPL_BINARY} ${DEPLOYDIR}/${UBOOT_SPI_SPL_IMAGE}
|
||||
rm -f ${UBOOT_SPI_SPL_BINARY} ${UBOOT_SPI_SPL_SYMLINK}
|
||||
ln -sf ${UBOOT_SPI_SPL_IMAGE} ${UBOOT_SPI_SPL_SYMLINK}
|
||||
ln -sf ${UBOOT_SPI_SPL_IMAGE} ${UBOOT_SPI_SPL_BINARY}
|
||||
|
||||
install ${S}/${UBOOT_SPI_BINARY} ${DEPLOYDIR}/${UBOOT_SPI_IMAGE}
|
||||
rm -f ${UBOOT_SPI_BINARY} ${UBOOT_SPI_SYMLINK}
|
||||
ln -sf ${UBOOT_SPI_IMAGE} ${UBOOT_SPI_SYMLINK}
|
||||
ln -sf ${UBOOT_SPI_IMAGE} ${UBOOT_SPI_BINARY}
|
||||
|
||||
install ${S}/${UBOOT_SPI_GPH_BINARY} ${DEPLOYDIR}/${UBOOT_SPI_GPH_IMAGE}
|
||||
rm -f ${UBOOT_SPI_GPH_BINARY} ${UBOOT_SPI_GPH_SYMLINK}
|
||||
ln -sf ${UBOOT_SPI_GPH_IMAGE} ${UBOOT_SPI_GPH_SYMLINK}
|
||||
ln -sf ${UBOOT_SPI_GPH_IMAGE} ${UBOOT_SPI_GPH_BINARY}
|
||||
|
||||
install ${S}/${UBOOT_NAND_GPH_BINARY} ${DEPLOYDIR}/${UBOOT_NAND_GPH_IMAGE}
|
||||
rm -f ${UBOOT_NAND_GPH_BINARY} ${UBOOT_NAND_GPH_SYMLINK}
|
||||
ln -sf ${UBOOT_NAND_GPH_IMAGE} ${UBOOT_NAND_GPH_SYMLINK}
|
||||
ln -sf ${UBOOT_NAND_GPH_IMAGE} ${UBOOT_NAND_GPH_BINARY}
|
||||
}
|
||||
|
||||
@@ -5,14 +5,14 @@ DESCRIPTION = "u-boot bootloader for TI devices"
|
||||
LIC_FILES_CHKSUM = "file://Licenses/README;md5=025bf9f768cbcb1a165dbe1a110babfb"
|
||||
|
||||
PV = "2013.10"
|
||||
PR = "r7+gitr${SRCPV}"
|
||||
PR = "r8+gitr${SRCPV}"
|
||||
|
||||
SRC_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
BRANCH ?= "ti-u-boot-2013.10"
|
||||
|
||||
# Corresponds to tag ti2013.12.01
|
||||
SRCREV = "78d8ebd4a0214b72a125f5b98c5ed2f9a3e5e783"
|
||||
# Corresponds to tag ti2013.12.01_amsdk-07.01
|
||||
SRCREV = "259ff9a577cc66cb40e3cdff3e41628e466f0fef"
|
||||
|
||||
SPL_BINARY = "MLO"
|
||||
SPL_UART_BINARY = "u-boot-spl.bin"
|
||||
|
||||
20
recipes-bsp/u-boot/u-boot-ti-staging_2014.07.bb
Normal file
20
recipes-bsp/u-boot/u-boot-ti-staging_2014.07.bb
Normal file
@@ -0,0 +1,20 @@
|
||||
require u-boot-ti.inc
|
||||
|
||||
# u-boot needs devtree compiler to parse dts files
|
||||
DEPENDS += "dtc-native"
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for TI devices"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://Licenses/README;md5=025bf9f768cbcb1a165dbe1a110babfb"
|
||||
|
||||
PV = "2014.07"
|
||||
PR = "r3+gitr${SRCPV}"
|
||||
|
||||
SRC_URI = "git://git.ti.com/ti-u-boot/ti-u-boot.git;protocol=git;branch=${BRANCH}"
|
||||
|
||||
BRANCH ?= "ti-u-boot-2014.07"
|
||||
|
||||
SRCREV = "8f725ef650595fa23b1cf6fccd20389ec029e2dd"
|
||||
|
||||
SPL_BINARY = "MLO"
|
||||
SPL_UART_BINARY = "u-boot-spl.bin"
|
||||
@@ -1,3 +1,5 @@
|
||||
UBOOT_SUFFIX ?= "img"
|
||||
|
||||
require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot.inc
|
||||
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot:"
|
||||
@@ -14,8 +16,6 @@ PKG_${PN}-dbg = "u-boot-dbg"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
UBOOT_SUFFIX = "img"
|
||||
|
||||
# SPL (Second Program Loader) to be loaded over UART
|
||||
SPL_UART_BINARY ?= ""
|
||||
SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}"
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
From 7b250f8be3b8c496796dcdc954c9e5959cefea2c 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/16] 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 c066d6e..929461c 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -239,17 +239,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,30 +0,0 @@
|
||||
From 40f1e7db785f477a2aa145a3b47bd498c48ad52d Mon Sep 17 00:00:00 2001
|
||||
From: Steve Kipisz <s-kipisz2@ti.com>
|
||||
Date: Fri, 14 Jun 2013 05:16:52 -0500
|
||||
Subject: [PATCH] armv7:Unaligned access fix
|
||||
|
||||
This fixes an unaligned access data abort introduced when using gcc 4.7
|
||||
or higher. The Linaro toolchain uses gcc 4.7.3. This is documented in u-boot
|
||||
doc/README.arm-unaligned-accesses.
|
||||
|
||||
Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
|
||||
---
|
||||
arch/arm/cpu/armv7/config.mk | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/cpu/armv7/config.mk b/arch/arm/cpu/armv7/config.mk
|
||||
index 9c3e2f3..9736da8 100644
|
||||
--- a/arch/arm/cpu/armv7/config.mk
|
||||
+++ b/arch/arm/cpu/armv7/config.mk
|
||||
@@ -20,7 +20,7 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
# MA 02111-1307 USA
|
||||
#
|
||||
-PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float
|
||||
+PLATFORM_RELFLAGS += -fno-common -ffixed-r8 -msoft-float -mno-unaligned-access
|
||||
|
||||
# If armv7-a is not supported by GCC fall-back to armv5, which is
|
||||
# supported by more tool-chains
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
From a8dc33253472328f2af04973575f26e9106db1c3 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 21 Dec 2011 08:53:02 -0800
|
||||
Subject: [PATCH] config: Always use GNU ld
|
||||
|
||||
This patch makes sure that we always use the GNU ld. u-boot uses certain
|
||||
construct e.g. OVERLAY which are not implemented in gold therefore it
|
||||
always needs GNU ld for linking. It works well if default linker in
|
||||
toolchain is GNU ld but in some cases we can have gold to be the
|
||||
default linker and also ship GNU ld but not as default in such cases
|
||||
its called $(PREFIX)ld.bfd, with this patch we make sure that if
|
||||
$(PREFIX)ld.bfd exists than we use that for our ld. This way it
|
||||
does not matter what the default ld is.
|
||||
|
||||
Upstream-status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
config.mk | 4 +++-
|
||||
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/config.mk b/config.mk
|
||||
index ddaa477..139dfa0 100644
|
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -126,11 +126,13 @@ cc-option = $(strip $(if $(findstring $1,$(CC_OPTIONS)),$1,\
|
||||
$(if $(call cc-option-sys,$1),$1,$2)))
|
||||
endif
|
||||
|
||||
+exists_bfd_ld = $(shell if $(CROSS_COMPILE)ld.bfd -v > /dev/null 2>&1; \
|
||||
+ then echo "$(1)"; else echo "$(2)"; fi; )
|
||||
#
|
||||
# Include the make variables (CC, etc...)
|
||||
#
|
||||
AS = $(CROSS_COMPILE)as
|
||||
-LD = $(CROSS_COMPILE)ld
|
||||
+LD = $(call exists_bfd_ld, "$(CROSS_COMPILE)ld.bfd", "$(CROSS_COMPILE)ld")
|
||||
CC = $(CROSS_COMPILE)gcc
|
||||
CPP = $(CC) -E
|
||||
AR = $(CROSS_COMPILE)ar
|
||||
--
|
||||
1.7.9.1
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
From 6b23ecf49d1c2ee5227ff57101919af46ecd7396 Mon Sep 17 00:00:00 2001
|
||||
From: Roger Monk <r-monk@ti.com>
|
||||
Date: Fri, 9 Jul 2010 08:37:04 +0100
|
||||
Subject: [PATCH] omap3evm: Change default 'console' serial port from ttyS2 to ttyS0
|
||||
|
||||
* Update default kernel console env variable ($(console))
|
||||
to use ttyS0 (instead of ttyS2) to match the serial port
|
||||
used by x-loader and u-boot
|
||||
|
||||
Signed-off-by: Roger Monk <r-monk@ti.com>
|
||||
---
|
||||
include/configs/omap3_evm.h | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
|
||||
index 73a5c98..d01d733 100644
|
||||
--- a/include/configs/omap3_evm.h
|
||||
+++ b/include/configs/omap3_evm.h
|
||||
@@ -203,7 +203,7 @@
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"loadaddr=0x82000000\0" \
|
||||
"usbtty=cdc_acm\0" \
|
||||
- "console=ttyS2,115200n8\0" \
|
||||
+ "console=ttyS0,115200n8\0" \
|
||||
"mmcargs=setenv bootargs console=${console} " \
|
||||
"root=/dev/mmcblk0p2 rw " \
|
||||
"rootfstype=ext3 rootwait\0" \
|
||||
--
|
||||
1.6.0.4
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
From 0588da9057fddb5f6a6a04aedd7e0a79eb39e9e5 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/16] 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 5cfa4cb..8b580ef 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -203,7 +203,6 @@
|
||||
"mpurate=${mpurate} " \
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
- "omapfb.debug=y " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
"root=${mmcroot} " \
|
||||
"rootfstype=${mmcrootfstype}\0" \
|
||||
@@ -211,7 +210,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 1b3d439..06a28f6 100644
|
||||
--- a/include/configs/omap3_overo.h
|
||||
+++ b/include/configs/omap3_overo.h
|
||||
@@ -169,7 +169,6 @@
|
||||
"mpurate=${mpurate} " \
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
- "omapfb.debug=y " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
"root=${mmcroot} " \
|
||||
"rootfstype=${mmcrootfstype}\0" \
|
||||
@@ -177,7 +176,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,89 +0,0 @@
|
||||
From 58ca6009d4101e5fd45ef9df22aa360d1662e9e9 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Holler <holler@ahsoftware.de>
|
||||
Date: Mon, 24 Jan 2011 13:08:49 +0000
|
||||
Subject: [PATCH 03/16] omap3_beagle: enable the use of a plain text file named uEnv.txt instead of boot.scr
|
||||
|
||||
Using the new env import command it is possible to use plain text files instead
|
||||
of script-images. Plain text files are much easier to handle.
|
||||
|
||||
E.g. If your boot.scr contains the following:
|
||||
-----------------------------------
|
||||
setenv dvimode 1024x768-16@60
|
||||
run loaduimage
|
||||
run mmcboot
|
||||
-----------------------------------
|
||||
you could create a file named uEnv.txt and use that instead of boot.scr:
|
||||
-----------------------------------
|
||||
dvimode=1024x768-16@60
|
||||
uenvcmd=run loaduimage; run mmcboot
|
||||
-----------------------------------
|
||||
The variable uenvcmd (if existent) will be executed (using run) after uEnv.txt
|
||||
was loaded. If uenvcmd doesn't exist the default boot sequence will be started,
|
||||
therefore you could just use
|
||||
-----------------------------------
|
||||
dvimode=1024x768-16@60
|
||||
-----------------------------------
|
||||
as uEnv.txt because loaduimage and mmcboot is part of the default boot sequence.
|
||||
---
|
||||
Changes for v2:
|
||||
- Eliminated else redundant clause that would be ignored if boot
|
||||
succeeds.
|
||||
|
||||
Changes for v3:
|
||||
- Removed boot.scr
|
||||
|
||||
Changes for v4:
|
||||
- Removed comment about boot.scr being supported.
|
||||
---
|
||||
include/configs/omap3_beagle.h | 28 ++++++++++++++++------------
|
||||
1 files changed, 16 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index 8b580ef..c85537c 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -213,9 +213,9 @@
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
"root=${nandroot} " \
|
||||
"rootfstype=${nandrootfstype}\0" \
|
||||
- "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \
|
||||
- "bootscript=echo Running bootscript from mmc ...; " \
|
||||
- "source ${loadaddr}\0" \
|
||||
+ "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
|
||||
+ "importbootenv=echo Importing environment from mmc ...; " \
|
||||
+ "env import -t $loadaddr $filesize\0" \
|
||||
"loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
|
||||
"mmcboot=echo Booting from mmc ...; " \
|
||||
"run mmcargs; " \
|
||||
@@ -227,15 +227,19 @@
|
||||
|
||||
#define CONFIG_BOOTCOMMAND \
|
||||
"if mmc rescan ${mmcdev}; then " \
|
||||
- "if run loadbootscript; then " \
|
||||
- "run bootscript; " \
|
||||
- "else " \
|
||||
- "if run loaduimage; then " \
|
||||
- "run mmcboot; " \
|
||||
- "else run nandboot; " \
|
||||
- "fi; " \
|
||||
- "fi; " \
|
||||
- "else run nandboot; fi"
|
||||
+ "echo SD/MMC found on device ${mmcdev};" \
|
||||
+ "if run loadbootenv; then " \
|
||||
+ "run importbootenv;" \
|
||||
+ "fi;" \
|
||||
+ "if test -n $uenvcmd; then " \
|
||||
+ "echo Running uenvcmd ...;" \
|
||||
+ "run uenvcmd;" \
|
||||
+ "fi;" \
|
||||
+ "if run loaduimage; then " \
|
||||
+ "run mmcboot;" \
|
||||
+ "fi;" \
|
||||
+ "fi;" \
|
||||
+ "run nandboot;" \
|
||||
|
||||
#define CONFIG_AUTO_COMPLETE 1
|
||||
/*
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
From 6859e4b88c405ed40c898d259227f158da5f867a Mon Sep 17 00:00:00 2001
|
||||
From: Steve Kipisz <s-kipisz2@ti.com>
|
||||
Date: Thu, 5 Aug 2010 10:36:07 -0500
|
||||
Subject: [PATCH 04/16] OMAP3: BeagleBoard: Enable pullups on i2c2.
|
||||
|
||||
This allows the reading of EEPROMS on the expansion bus without adding
|
||||
external pull-ups.
|
||||
---
|
||||
v2 updates
|
||||
* Updated per http://patchwork.ozlabs.org/patch/71997/
|
||||
* Added description
|
||||
* Used OMAP34XX_CTRL_BASE
|
||||
* Used structure and writel to perform write
|
||||
|
||||
v3 updates
|
||||
* Included v3 in the subject line
|
||||
* Fixed structure name typo that got messed up in generating patch
|
||||
* Removed some extraneous blank lines
|
||||
|
||||
v4 updates
|
||||
* Fixed typo in typecast
|
||||
---
|
||||
arch/arm/include/asm/arch-omap3/omap3.h | 14 ++++++++++++++
|
||||
board/ti/beagle/beagle.c | 4 ++++
|
||||
2 files changed, 18 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/omap3.h b/arch/arm/include/asm/arch-omap3/omap3.h
|
||||
index 3957c79..cc2b541 100644
|
||||
--- a/arch/arm/include/asm/arch-omap3/omap3.h
|
||||
+++ b/arch/arm/include/asm/arch-omap3/omap3.h
|
||||
@@ -50,6 +50,20 @@
|
||||
/* CONTROL */
|
||||
#define OMAP34XX_CTRL_BASE (OMAP34XX_L4_IO_BASE + 0x2000)
|
||||
|
||||
+#ifndef __ASSEMBLY__
|
||||
+/* Signal Integrity Parameter Control Registers */
|
||||
+struct control_prog_io {
|
||||
+ unsigned char res[0x408];
|
||||
+ unsigned int io2; /* 0x408 */
|
||||
+ unsigned char res2[0x38];
|
||||
+ unsigned int io0; /* 0x444 */
|
||||
+ unsigned int io1; /* 0x448 */
|
||||
+};
|
||||
+#endif /* __ASSEMBLY__ */
|
||||
+
|
||||
+/* Bit definition for CONTROL_PROG_IO1 */
|
||||
+#define PRG_I2C2_PULLUPRESX 0x00000001
|
||||
+
|
||||
/* UART */
|
||||
#define OMAP34XX_UART1 (OMAP34XX_L4_IO_BASE + 0x6a000)
|
||||
#define OMAP34XX_UART2 (OMAP34XX_L4_IO_BASE + 0x6c000)
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 929461c..9d03b24 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -148,6 +148,10 @@ int misc_init_r(void)
|
||||
{
|
||||
struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
|
||||
struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
|
||||
+ struct control_prog_io *prog_io_base = (struct control_prog_io *)OMAP34XX_CTRL_BASE;
|
||||
+
|
||||
+ /* Enable i2c2 pullup resisters */
|
||||
+ writel(~(PRG_I2C2_PULLUPRESX), &prog_io_base->io1);
|
||||
|
||||
switch (get_board_revision()) {
|
||||
case REVISION_AXBX:
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
From d2d1669e4e2d4eeb996305278c6e4df0b1e04a8d Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Wed, 3 Nov 2010 14:48:31 +0100
|
||||
Subject: [PATCH 05/16] ARMV7: OMAP3: BeagleBoard: add xM rev B to ID table
|
||||
|
||||
Patch was updated by Jason Kridner <jkridner@beagleboard.org>:
|
||||
* Use tabs to match style of other board revisions
|
||||
* Only include board revisions that exist
|
||||
* Default to the same configuration as the latest revision, but
|
||||
without setting 'beaglerev'
|
||||
---
|
||||
v2 Changes
|
||||
* Updated with feedback from http://patchwork.ozlabs.org/patch/71995/
|
||||
* Removed setting of mpurate based on board revision
|
||||
* Set mpurate to auto in default environment variables
|
||||
|
||||
Cc: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
board/ti/beagle/beagle.c | 22 +++++++++++++++++-----
|
||||
board/ti/beagle/beagle.h | 3 ++-
|
||||
include/configs/omap3_beagle.h | 2 +-
|
||||
3 files changed, 20 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 9d03b24..87a952e 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -157,18 +157,15 @@ int misc_init_r(void)
|
||||
case REVISION_AXBX:
|
||||
printf("Beagle Rev Ax/Bx\n");
|
||||
setenv("beaglerev", "AxBx");
|
||||
- setenv("mpurate", "600");
|
||||
break;
|
||||
case REVISION_CX:
|
||||
printf("Beagle Rev C1/C2/C3\n");
|
||||
setenv("beaglerev", "Cx");
|
||||
- setenv("mpurate", "600");
|
||||
MUX_BEAGLE_C();
|
||||
break;
|
||||
case REVISION_C4:
|
||||
printf("Beagle Rev C4\n");
|
||||
setenv("beaglerev", "C4");
|
||||
- setenv("mpurate", "720");
|
||||
MUX_BEAGLE_C();
|
||||
/* Set VAUX2 to 1.8V for EHCI PHY */
|
||||
twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
|
||||
@@ -176,10 +173,19 @@ int misc_init_r(void)
|
||||
TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
|
||||
TWL4030_PM_RECEIVER_DEV_GRP_P1);
|
||||
break;
|
||||
- case REVISION_XM:
|
||||
+ case REVISION_XM_A:
|
||||
printf("Beagle xM Rev A\n");
|
||||
setenv("beaglerev", "xMA");
|
||||
- setenv("mpurate", "1000");
|
||||
+ 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;
|
||||
+ case REVISION_XM_B:
|
||||
+ printf("Beagle xM Rev B\n");
|
||||
+ setenv("beaglerev", "xMB");
|
||||
MUX_BEAGLE_XM();
|
||||
/* Set VAUX2 to 1.8V for EHCI PHY */
|
||||
twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
|
||||
@@ -189,6 +195,12 @@ int misc_init_r(void)
|
||||
break;
|
||||
default:
|
||||
printf("Beagle unknown 0x%02x\n", get_board_revision());
|
||||
+ 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);
|
||||
}
|
||||
|
||||
switch (get_expansion_id()) {
|
||||
diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
|
||||
index b22b653..b0e26e5 100644
|
||||
--- a/board/ti/beagle/beagle.h
|
||||
+++ b/board/ti/beagle/beagle.h
|
||||
@@ -37,7 +37,8 @@ const omap3_sysinfo sysinfo = {
|
||||
#define REVISION_AXBX 0x7
|
||||
#define REVISION_CX 0x6
|
||||
#define REVISION_C4 0x5
|
||||
-#define REVISION_XM 0x0
|
||||
+#define REVISION_XM_A 0x0
|
||||
+#define REVISION_XM_B 0x1
|
||||
|
||||
/*
|
||||
* IEN - Input Enable
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index c85537c..51e14d0 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -190,7 +190,7 @@
|
||||
"loadaddr=0x82000000\0" \
|
||||
"usbtty=cdc_acm\0" \
|
||||
"console=ttyS2,115200n8\0" \
|
||||
- "mpurate=500\0" \
|
||||
+ "mpurate=auto\0" \
|
||||
"vram=12M\0" \
|
||||
"dvimode=1024x768MR-16@60\0" \
|
||||
"defaultdisplay=dvi\0" \
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
From 40cdd86d6040714f79e81bb813596748490aa948 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Wed, 3 Nov 2010 14:39:15 +0100
|
||||
Subject: [PATCH 06/16] OMAP3: BeagleBoard: add more expansionboard IDs
|
||||
|
||||
Information on configurations pulled from
|
||||
http://www.elinux.org/BeagleBoardPinMux#Vendor_and_Device_IDs
|
||||
|
||||
Boards added:
|
||||
* Added BeagleBoardToys WiFi, VGA and LCD boards
|
||||
* Added KBADC Beagle FPGA board
|
||||
* Added Brainmux LCDog and LCDog Touch
|
||||
* Added Liquidware BeagleTouch
|
||||
---
|
||||
v2 updates
|
||||
* Removed unused definitions
|
||||
* Added BeagleBoardToys board configurations
|
||||
* Made definition names consistent as VENDOR_BOARD
|
||||
---
|
||||
board/ti/beagle/beagle.c | 30 +++++++++++++++++++++++++++++-
|
||||
board/ti/beagle/beagle.h | 12 ++++++++++++
|
||||
2 files changed, 41 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 87a952e..97e9e12 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -48,7 +48,12 @@
|
||||
#define TINCANTOOLS_TRAINER 0x04000100
|
||||
#define TINCANTOOLS_SHOWDOG 0x03000100
|
||||
#define KBADC_BEAGLEFPGA 0x01000600
|
||||
-
|
||||
+#define LW_BEAGLETOUCH 0x01000700
|
||||
+#define BRAINMUX_LCDOG 0x01000800
|
||||
+#define BRAINMUX_LCDOGTOUCH 0x02000800
|
||||
+#define BBTOYS_WIFI 0x01000B00
|
||||
+#define BBTOYS_VGA 0x02000B00
|
||||
+#define BBTOYS_LCD 0x03000B00
|
||||
#define BEAGLE_NO_EEPROM 0xffffffff
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
@@ -239,6 +244,29 @@ int misc_init_r(void)
|
||||
MUX_KBADC_BEAGLEFPGA();
|
||||
setenv("buddy", "beaglefpga");
|
||||
break;
|
||||
+ case LW_BEAGLETOUCH:
|
||||
+ printf("Recognized Liquidware BeagleTouch board\n");
|
||||
+ setenv("buddy", "beagletouch");
|
||||
+ break;
|
||||
+ case BRAINMUX_LCDOG:
|
||||
+ printf("Recognized Brainmux LCDog board\n");
|
||||
+ setenv("buddy", "lcdog");
|
||||
+ break;
|
||||
+ case BRAINMUX_LCDOGTOUCH:
|
||||
+ printf("Recognized Brainmux LCDog Touch board\n");
|
||||
+ setenv("buddy", "lcdogtouch");
|
||||
+ break;
|
||||
+ case BBTOYS_WIFI:
|
||||
+ printf("Recognized BeagleBoardToys WiFi board\n");
|
||||
+ MUX_BBTOYS_WIFI()
|
||||
+ setenv("buddy", "bbtoys-wifi");
|
||||
+ break;;
|
||||
+ case BBTOYS_VGA:
|
||||
+ printf("Recognized BeagleBoardToys VGA board\n");
|
||||
+ break;;
|
||||
+ case BBTOYS_LCD:
|
||||
+ printf("Recognized BeagleBoardToys LCD board\n");
|
||||
+ break;;
|
||||
case BEAGLE_NO_EEPROM:
|
||||
printf("No EEPROM on expansion board\n");
|
||||
setenv("buddy", "none");
|
||||
diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
|
||||
index b0e26e5..0f21790 100644
|
||||
--- a/board/ti/beagle/beagle.h
|
||||
+++ b/board/ti/beagle/beagle.h
|
||||
@@ -458,4 +458,16 @@ const omap3_sysinfo sysinfo = {
|
||||
MUX_VAL(CP(MCBSP1_DR), (IEN | PTU | EN | M1)) /*MCSPI4_SOMI*/\
|
||||
MUX_VAL(CP(MCBSP1_FSX), (IDIS | PTU | DIS | M1)) /*MCSPI4_CS0*/
|
||||
|
||||
+#define MUX_BBTOYS_WIFI() \
|
||||
+ MUX_VAL(CP(MMC2_CLK), (IEN | PTU | EN | M0)) /*MMC2_CLK*/\
|
||||
+ MUX_VAL(CP(MMC2_CMD), (IEN | PTU | EN | M0)) /*MMC2_CMD*/\
|
||||
+ MUX_VAL(CP(MMC2_DAT0), (IEN | PTU | EN | M0)) /*MMC2_DAT0*/\
|
||||
+ MUX_VAL(CP(MMC2_DAT1), (IEN | PTU | EN | M0)) /*MMC2_DAT1*/\
|
||||
+ MUX_VAL(CP(MMC2_DAT2), (IEN | PTU | EN | M0)) /*MMC2_DAT2*/\
|
||||
+ MUX_VAL(CP(MMC2_DAT3), (IEN | PTU | EN | M0)) /*MMC2_DAT3*/\
|
||||
+ MUX_VAL(CP(MMC2_DAT4), (IDIS | PTU | EN | M4)) /*GPIO_136 FM_EN/BT_WU*/\
|
||||
+ MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M4)) /*GPIO_137 WLAN_IRQ*/\
|
||||
+ 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*/
|
||||
+
|
||||
#endif
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,435 +0,0 @@
|
||||
From 8a249fc1c57ab01a78996e33e74a71757a9448b1 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 07/16] 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
|
||||
|
||||
Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
|
||||
---
|
||||
arch/arm/include/asm/arch-omap3/dss.h | 173 +++++++++++++++++++++++++++++++++
|
||||
board/ti/beagle/beagle.c | 22 ++++
|
||||
board/ti/beagle/beagle.h | 26 +++++
|
||||
drivers/video/Makefile | 2 +
|
||||
drivers/video/omap3_dss.c | 130 +++++++++++++++++++++++++
|
||||
5 files changed, 353 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/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 97e9e12..56e7afc 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -146,6 +146,27 @@ 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:
|
||||
+ default:
|
||||
+ omap3_dss_panel_config(&dvid_cfg_xm);
|
||||
+ break;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
* Routine: misc_init_r
|
||||
* Description: Configure board specific parts
|
||||
*/
|
||||
@@ -282,6 +303,7 @@ int misc_init_r(void)
|
||||
|
||||
twl4030_power_init();
|
||||
twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
|
||||
+ display_init();
|
||||
|
||||
/* Set GPIO states before they are made outputs */
|
||||
writel(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1,
|
||||
diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
|
||||
index 0f21790..48228dc 100644
|
||||
--- a/board/ti/beagle/beagle.h
|
||||
+++ b/board/ti/beagle/beagle.h
|
||||
@@ -470,4 +470,30 @@ 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*/
|
||||
|
||||
+/*
|
||||
+ * 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
|
||||
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
|
||||
index 2c53a6f..6baa7ca 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)
|
||||
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,100 +0,0 @@
|
||||
From 31110e039b1982590df08c66e53924f454e3e3f1 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jkridner@beagleboard.org>
|
||||
Date: Wed, 21 Jul 2010 07:41:25 -0500
|
||||
Subject: [PATCH 08/16] 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.
|
||||
---
|
||||
board/ti/beagle/beagle.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 files changed, 55 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 56e7afc..04e4259 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <asm/arch/gpio.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include "beagle.h"
|
||||
+#include <command.h>
|
||||
|
||||
#define TWL4030_I2C_BUS 0
|
||||
#define EXPANSION_EEPROM_I2C_BUS 1
|
||||
@@ -339,3 +340,57 @@ int board_mmc_init(bd_t *bis)
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
+
|
||||
+/*
|
||||
+ * 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:
|
||||
+ 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,57 +0,0 @@
|
||||
From ca7179112840cdca717ac0c958a9ab226d1bdf25 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 09/16] 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 51e14d0..9d569a5 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -191,6 +191,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" \
|
||||
@@ -201,6 +202,7 @@
|
||||
"nandrootfstype=jffs2\0" \
|
||||
"mmcargs=setenv bootargs console=${console} " \
|
||||
"mpurate=${mpurate} " \
|
||||
+ "buddy=${buddy} "\
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
@@ -208,6 +210,7 @@
|
||||
"rootfstype=${mmcrootfstype}\0" \
|
||||
"nandargs=setenv bootargs console=${console} " \
|
||||
"mpurate=${mpurate} " \
|
||||
+ "buddy=${buddy} "\
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
@@ -216,6 +219,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,107 +0,0 @@
|
||||
From 2226921518eebb215ddadce09efb35b99a9db8ac Mon Sep 17 00:00:00 2001
|
||||
From: Syed Mohammed Khasim <khasim@ti.com>
|
||||
Date: Sun, 11 Apr 2010 17:44:39 +0200
|
||||
Subject: [PATCH 10/16] Enable DSS driver for Beagle
|
||||
|
||||
Configures DSS to display color bar on Svideo
|
||||
Configures DSS to display background color on DVID
|
||||
|
||||
Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
|
||||
---
|
||||
board/ti/beagle/beagle.c | 1 +
|
||||
board/ti/beagle/beagle.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 61 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 04e4259..7c80a97 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -318,6 +318,7 @@ int misc_init_r(void)
|
||||
GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
|
||||
|
||||
dieid_num_r();
|
||||
+ omap3_dss_enable();
|
||||
|
||||
return 0;
|
||||
}
|
||||
diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
|
||||
index 48228dc..bdf2a6f 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",
|
||||
@@ -471,6 +473,64 @@ const omap3_sysinfo sysinfo = {
|
||||
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 = {
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,213 +0,0 @@
|
||||
From e3e94bd49df4b4588cc5c95392b872eadb531fc4 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jkridner@beagleboard.org>
|
||||
Date: Thu, 20 May 2010 05:41:26 -0500
|
||||
Subject: [PATCH 11/16] Add 'led' command
|
||||
|
||||
This patch allows any board implementing the coloured LED API
|
||||
to control the LEDs from the console.
|
||||
|
||||
led [green | yellow | red | all ] [ on | off ]
|
||||
|
||||
or
|
||||
|
||||
led [ 1 | 2 | 3 | all ] [ on | off ]
|
||||
|
||||
Adds configuration item CONFIG_CMD_LED enabling the command.
|
||||
|
||||
Partially based on patch from Ulf Samuelsson:
|
||||
http://www.mail-archive.com/u-boot@lists.denx.de/msg09593.html.
|
||||
|
||||
Updated based on feedback:
|
||||
http://www.mail-archive.com/u-boot@lists.denx.de/msg41847.html
|
||||
https://groups.google.com/d/topic/beagleboard/8Wf1HiK_QBo/discussion
|
||||
* Fixed a handful of style issues.
|
||||
* Significantly reduced the number of #ifdefs and redundant code
|
||||
* Converted redundant code into loops test against a structure
|
||||
* Made use of cmd_usage()
|
||||
* Introduced a str_onoff() function, but haven't yet put it in common
|
||||
* Eliminated trailing newline
|
||||
|
||||
v2 updates
|
||||
* Test every LED in case "all" is used. Previously, the code broke from
|
||||
the loop after setting the state of only one LED.
|
||||
* Corrected swapped on/off in structure definition
|
||||
* Removed trailing white space
|
||||
---
|
||||
common/Makefile | 1 +
|
||||
common/cmd_led.c | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 153 insertions(+), 0 deletions(-)
|
||||
create mode 100644 common/cmd_led.c
|
||||
|
||||
diff --git a/common/Makefile b/common/Makefile
|
||||
index 048df0c..29a0ead 100644
|
||||
--- a/common/Makefile
|
||||
+++ b/common/Makefile
|
||||
@@ -105,6 +105,7 @@ COBJS-$(CONFIG_CMD_IRQ) += cmd_irq.o
|
||||
COBJS-$(CONFIG_CMD_ITEST) += cmd_itest.o
|
||||
COBJS-$(CONFIG_CMD_JFFS2) += cmd_jffs2.o
|
||||
COBJS-$(CONFIG_CMD_CRAMFS) += cmd_cramfs.o
|
||||
+COBJS-$(CONFIG_CMD_LED) += cmd_led.o
|
||||
COBJS-$(CONFIG_CMD_LICENSE) += cmd_license.o
|
||||
COBJS-y += cmd_load.o
|
||||
COBJS-$(CONFIG_LOGBUFFER) += cmd_log.o
|
||||
diff --git a/common/cmd_led.c b/common/cmd_led.c
|
||||
new file mode 100644
|
||||
index 0000000..7f02fe6
|
||||
--- /dev/null
|
||||
+++ b/common/cmd_led.c
|
||||
@@ -0,0 +1,152 @@
|
||||
+/*
|
||||
+ * (C) Copyright 2010
|
||||
+ * Jason Kridner <jkridner@beagleboard.org>
|
||||
+ *
|
||||
+ * Based on cmd_led.c patch from:
|
||||
+ * http://www.mail-archive.com/u-boot@lists.denx.de/msg06873.html
|
||||
+ * (C) Copyright 2008
|
||||
+ * Ulf Samuelsson <ulf.samuelsson@atmel.com>
|
||||
+ *
|
||||
+ * See file CREDITS for list of people who contributed to this
|
||||
+ * project.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of
|
||||
+ * the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
+ * MA 02111-1307 USA
|
||||
+ */
|
||||
+
|
||||
+#include <common.h>
|
||||
+#include <config.h>
|
||||
+#include <command.h>
|
||||
+#include <status_led.h>
|
||||
+
|
||||
+struct led_tbl_s {
|
||||
+ char *string; /* String for use in the command */
|
||||
+ led_id_t mask; /* Mask used for calling __led_set() */
|
||||
+ void (*off)(void); /* Optional fucntion for turning LED off */
|
||||
+ void (*on)(void); /* Optional fucntion for turning LED on */
|
||||
+};
|
||||
+
|
||||
+typedef struct led_tbl_s led_tbl_t;
|
||||
+
|
||||
+static const led_tbl_t led_commands[] = {
|
||||
+#ifdef CONFIG_BOARD_SPECIFIC_LED
|
||||
+#ifdef STATUS_LED_BIT
|
||||
+ { "0", STATUS_LED_BIT, NULL, NULL },
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_BIT1
|
||||
+ { "1", STATUS_LED_BIT1, NULL, NULL },
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_BIT2
|
||||
+ { "2", STATUS_LED_BIT2, NULL, NULL },
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_BIT3
|
||||
+ { "3", STATUS_LED_BIT3, NULL, NULL },
|
||||
+#endif
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_GREEN
|
||||
+ { "green", STATUS_LED_GREEN, green_LED_off, green_LED_on },
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_YELLOW
|
||||
+ { "yellow", STATUS_LED_YELLOW, yellow_LED_off, yellow_LED_on },
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_RED
|
||||
+ { "red", STATUS_LED_RED, red_LED_off, red_LED_on },
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_BLUE
|
||||
+ { "blue", STATUS_LED_BLUE, blue_LED_off, blue_LED_on },
|
||||
+#endif
|
||||
+ { NULL, 0, NULL, NULL }
|
||||
+};
|
||||
+
|
||||
+int str_onoff (char *var)
|
||||
+{
|
||||
+ if (strcmp(var, "off") == 0) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (strcmp(var, "on") == 0) {
|
||||
+ return 1;
|
||||
+ }
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+int do_led (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
+{
|
||||
+ int state, i;
|
||||
+
|
||||
+ /* Validate arguments */
|
||||
+ if ((argc != 3)) {
|
||||
+ return cmd_usage(cmdtp);
|
||||
+ }
|
||||
+
|
||||
+ state = str_onoff(argv[2]);
|
||||
+ if (state < 0) {
|
||||
+ return cmd_usage(cmdtp);
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; led_commands[i].string; i++) {
|
||||
+ if ((strcmp("all", argv[1]) == 0) ||
|
||||
+ (strcmp(led_commands[i].string, argv[1]) == 0)) {
|
||||
+ if (led_commands[i].on) {
|
||||
+ if (state) {
|
||||
+ led_commands[i].on();
|
||||
+ } else {
|
||||
+ led_commands[i].off();
|
||||
+ }
|
||||
+ } else {
|
||||
+ __led_set(led_commands[i].mask, state);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* If we ran out of matches, print Usage */
|
||||
+ if (!led_commands[i].string && !(strcmp("all", argv[1]) == 0)) {
|
||||
+ return cmd_usage(cmdtp);
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+U_BOOT_CMD(
|
||||
+ led, 3, 1, do_led,
|
||||
+ "led\t- ["
|
||||
+#ifdef CONFIG_BOARD_SPECIFIC_LED
|
||||
+#ifdef STATUS_LED_BIT
|
||||
+ "0|"
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_BIT1
|
||||
+ "1|"
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_BIT2
|
||||
+ "2|"
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_BIT3
|
||||
+ "3|"
|
||||
+#endif
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_GREEN
|
||||
+ "green|"
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_YELLOW
|
||||
+ "yellow|"
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_RED
|
||||
+ "red|"
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_BLUE
|
||||
+ "blue|"
|
||||
+#endif
|
||||
+ "all] [on|off]\n",
|
||||
+ "led [led_name] [on|off] sets or clears led(s)\n"
|
||||
+);
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,160 +0,0 @@
|
||||
From 35271d72072841c16687ffd51f08ec65cdac3b3e Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jkridner@beagleboard.org>
|
||||
Date: Thu, 20 May 2010 06:14:01 -0500
|
||||
Subject: [PATCH 12/16] BeagleBoard: Added LED driver
|
||||
|
||||
Added LED driver using status_led. USR0 is set to monitor the boot
|
||||
status. USR1 is set to be the green LED.
|
||||
|
||||
Included adding configuration and command to the default configuration.
|
||||
|
||||
v2 updates
|
||||
* Fixed USR0/USR1 to be LED 0/1 respectively
|
||||
---
|
||||
board/ti/beagle/Makefile | 4 ++-
|
||||
board/ti/beagle/beagle.c | 7 ++++
|
||||
board/ti/beagle/led.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 101 insertions(+), 1 deletions(-)
|
||||
create mode 100644 board/ti/beagle/led.c
|
||||
|
||||
diff --git a/board/ti/beagle/Makefile b/board/ti/beagle/Makefile
|
||||
index 3b4aaac..d9f445f 100644
|
||||
--- a/board/ti/beagle/Makefile
|
||||
+++ b/board/ti/beagle/Makefile
|
||||
@@ -25,8 +25,10 @@ include $(TOPDIR)/config.mk
|
||||
|
||||
LIB = $(obj)lib$(BOARD).o
|
||||
|
||||
-COBJS := beagle.o
|
||||
+COBJS-y := $(BOARD).o
|
||||
+COBJS-$(CONFIG_STATUS_LED) += led.o
|
||||
|
||||
+COBJS := $(sort $(COBJS-y))
|
||||
SRCS := $(COBJS:.o=.c)
|
||||
OBJS := $(addprefix $(obj),$(COBJS))
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 7c80a97..905b151 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -30,6 +30,9 @@
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
#include <common.h>
|
||||
+#ifdef CONFIG_STATUS_LED
|
||||
+#include <status_led.h>
|
||||
+#endif
|
||||
#include <twl4030.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/mmc_host_def.h>
|
||||
@@ -80,6 +83,10 @@ int board_init(void)
|
||||
/* boot param addr */
|
||||
gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
|
||||
|
||||
+#if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT)
|
||||
+ status_led_set (STATUS_LED_BOOT, STATUS_LED_ON);
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/board/ti/beagle/led.c b/board/ti/beagle/led.c
|
||||
new file mode 100644
|
||||
index 0000000..fe80e19
|
||||
--- /dev/null
|
||||
+++ b/board/ti/beagle/led.c
|
||||
@@ -0,0 +1,91 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2010 Texas Instruments, Inc.
|
||||
+ * Jason Kridner <jkridner@beagleboard.org>
|
||||
+ *
|
||||
+ * 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 <status_led.h>
|
||||
+#include <asm/arch/cpu.h>
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/arch/sys_proto.h>
|
||||
+#include <asm/arch/gpio.h>
|
||||
+
|
||||
+static unsigned int saved_state[2] = {STATUS_LED_OFF, STATUS_LED_OFF};
|
||||
+
|
||||
+/* GPIO pins for the LEDs */
|
||||
+#define BEAGLE_LED_USR0 150
|
||||
+#define BEAGLE_LED_USR1 149
|
||||
+
|
||||
+#ifdef STATUS_LED_GREEN
|
||||
+void green_LED_off (void)
|
||||
+{
|
||||
+ __led_set (STATUS_LED_GREEN, 0);
|
||||
+}
|
||||
+
|
||||
+void green_LED_on (void)
|
||||
+{
|
||||
+ __led_set (STATUS_LED_GREEN, 1);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+void __led_init (led_id_t mask, int state)
|
||||
+{
|
||||
+ __led_set (mask, state);
|
||||
+}
|
||||
+
|
||||
+void __led_toggle (led_id_t mask)
|
||||
+{
|
||||
+#ifdef STATUS_LED_BIT
|
||||
+ if (STATUS_LED_BIT & mask) {
|
||||
+ if (STATUS_LED_ON == saved_state[0])
|
||||
+ __led_set(STATUS_LED_BIT, 0);
|
||||
+ else
|
||||
+ __led_set(STATUS_LED_BIT, 1);
|
||||
+ }
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_BIT1
|
||||
+ if (STATUS_LED_BIT1 & mask) {
|
||||
+ if (STATUS_LED_ON == saved_state[1])
|
||||
+ __led_set(STATUS_LED_BIT1, 0);
|
||||
+ else
|
||||
+ __led_set(STATUS_LED_BIT1, 1);
|
||||
+ }
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void __led_set (led_id_t mask, int state)
|
||||
+{
|
||||
+#ifdef STATUS_LED_BIT
|
||||
+ if (STATUS_LED_BIT & mask) {
|
||||
+ if (!omap_request_gpio(BEAGLE_LED_USR0)) {
|
||||
+ omap_set_gpio_direction(BEAGLE_LED_USR0, 0);
|
||||
+ omap_set_gpio_dataout(BEAGLE_LED_USR0, state);
|
||||
+ }
|
||||
+ saved_state[0] = state;
|
||||
+ }
|
||||
+#endif
|
||||
+#ifdef STATUS_LED_BIT1
|
||||
+ if (STATUS_LED_BIT1 & mask) {
|
||||
+ if (!omap_request_gpio(BEAGLE_LED_USR1)) {
|
||||
+ omap_set_gpio_direction(BEAGLE_LED_USR1, 0);
|
||||
+ omap_set_gpio_dataout(BEAGLE_LED_USR1, state);
|
||||
+ }
|
||||
+ saved_state[1] = state;
|
||||
+ }
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,184 +0,0 @@
|
||||
From da8fa305fd10331958cd18c9c27c9e062b886fc4 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jkridner@beagleboard.org>
|
||||
Date: Wed, 21 Jul 2010 07:41:25 -0500
|
||||
Subject: [PATCH 13/16] OMAP3: BeagleBoard: updated default configuration
|
||||
|
||||
* Decrease bootdelay to 3, use VGA for default resolution
|
||||
* Add CONFIG_SYS_MEMTEST_SCRATCH to point to a scratch memory area.
|
||||
* Add camera to default bootargs
|
||||
* Move ramdisk parameters. This will make it easier to reprogram the ramdisk size.
|
||||
* Improved boot env var setting
|
||||
* Enabled evaluation of expressions with 'setexpr'
|
||||
* Made room for a 64MB ramdisk by moving from 0x81600000 to 0x81000000
|
||||
* Removed expression from 'ramroot' that wouldn't be evaluated
|
||||
* Doubled console I/O buffer size from 256 to 512
|
||||
* Doubled maximum command arguments size from 16 to 32
|
||||
* Enable multibus support for I2C
|
||||
* Added USER button switch from uEnv.txt to user.txt
|
||||
* Enable LEDs
|
||||
Added LED driver using status_led. USR0 is set to monitor
|
||||
the boot status. USR1 is set to be the GREEN LED.
|
||||
---
|
||||
include/configs/omap3_beagle.h | 62 ++++++++++++++++++++++++++++++++-------
|
||||
1 files changed, 51 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index 9d569a5..73d4d4e 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -108,9 +108,27 @@
|
||||
#define CONFIG_OMAP_HSMMC 1
|
||||
#define CONFIG_DOS_PARTITION 1
|
||||
|
||||
+/* Status LED */
|
||||
+#define CONFIG_STATUS_LED 1
|
||||
+#define CONFIG_BOARD_SPECIFIC_LED 1
|
||||
+#define STATUS_LED_BIT 0x01
|
||||
+#define STATUS_LED_STATE STATUS_LED_ON
|
||||
+#define STATUS_LED_PERIOD (CONFIG_SYS_HZ / 2)
|
||||
+#define STATUS_LED_BIT1 0x02
|
||||
+#define STATUS_LED_STATE1 STATUS_LED_ON
|
||||
+#define STATUS_LED_PERIOD1 (CONFIG_SYS_HZ / 2)
|
||||
+#define STATUS_LED_BOOT STATUS_LED_BIT
|
||||
+#define STATUS_LED_GREEN STATUS_LED_BIT1
|
||||
+
|
||||
/* DDR - I use Micron DDR */
|
||||
#define CONFIG_OMAP3_MICRON_DDR 1
|
||||
|
||||
+/* Enable Multi Bus support for I2C */
|
||||
+#define CONFIG_I2C_MULTI_BUS 1
|
||||
+
|
||||
+/* Probe all devices */
|
||||
+#define CONFIG_SYS_I2C_NOPROBES {0x0, 0x0}
|
||||
+
|
||||
/* USB */
|
||||
#define CONFIG_MUSB_UDC 1
|
||||
#define CONFIG_USB_OMAP3 1
|
||||
@@ -138,6 +156,9 @@
|
||||
#define CONFIG_CMD_I2C /* I2C serial bus support */
|
||||
#define CONFIG_CMD_MMC /* MMC support */
|
||||
#define CONFIG_CMD_NAND /* NAND support */
|
||||
+#define CONFIG_CMD_LED /* LED support */
|
||||
+#define CONFIG_VIDEO_OMAP3 /* DSS Support */
|
||||
+#define CONFIG_CMD_SETEXPR /* Evaluate expressions */
|
||||
|
||||
#undef CONFIG_CMD_FLASH /* flinfo, erase, protect */
|
||||
#undef CONFIG_CMD_FPGA /* FPGA configuration Support */
|
||||
@@ -184,45 +205,56 @@
|
||||
/* partition */
|
||||
|
||||
/* Environment information */
|
||||
-#define CONFIG_BOOTDELAY 10
|
||||
+#define CONFIG_BOOTDELAY 3
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
- "loadaddr=0x82000000\0" \
|
||||
+ "loadaddr=0x80200000\0" \
|
||||
+ "rdaddr=0x81000000\0" \
|
||||
"usbtty=cdc_acm\0" \
|
||||
"console=ttyS2,115200n8\0" \
|
||||
"mpurate=auto\0" \
|
||||
"buddy=none "\
|
||||
+ "optargs=\0" \
|
||||
+ "camera=lbcm3m1\0" \
|
||||
"vram=12M\0" \
|
||||
- "dvimode=1024x768MR-16@60\0" \
|
||||
+ "dvimode=640x480MR-16@60\0" \
|
||||
"defaultdisplay=dvi\0" \
|
||||
"mmcdev=0\0" \
|
||||
"mmcroot=/dev/mmcblk0p2 rw\0" \
|
||||
"mmcrootfstype=ext3 rootwait\0" \
|
||||
"nandroot=/dev/mtdblock4 rw\0" \
|
||||
"nandrootfstype=jffs2\0" \
|
||||
+ "ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=0x81000000,64M\0" \
|
||||
+ "ramrootfstype=ext2\0" \
|
||||
"mmcargs=setenv bootargs console=${console} " \
|
||||
+ "${optargs} " \
|
||||
"mpurate=${mpurate} " \
|
||||
"buddy=${buddy} "\
|
||||
+ "camera=${camera} "\
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
"root=${mmcroot} " \
|
||||
"rootfstype=${mmcrootfstype}\0" \
|
||||
"nandargs=setenv bootargs console=${console} " \
|
||||
+ "${optargs} " \
|
||||
"mpurate=${mpurate} " \
|
||||
"buddy=${buddy} "\
|
||||
+ "camera=${camera} "\
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
"root=${nandroot} " \
|
||||
"rootfstype=${nandrootfstype}\0" \
|
||||
- "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
|
||||
+ "bootenv=uEnv.txt\0" \
|
||||
+ "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
|
||||
"importbootenv=echo Importing environment from mmc ...; " \
|
||||
"env import -t $loadaddr $filesize\0" \
|
||||
"ramargs=setenv bootargs console=${console} " \
|
||||
"${optargs} " \
|
||||
"mpurate=${mpurate} " \
|
||||
"buddy=${buddy} "\
|
||||
+ "camera=${camera} "\
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
"omapdss.def_disp=${defaultdisplay} " \
|
||||
@@ -237,11 +269,18 @@
|
||||
"run nandargs; " \
|
||||
"nand read ${loadaddr} 280000 400000; " \
|
||||
"bootm ${loadaddr}\0" \
|
||||
+ "ramboot=echo Booting from ramdisk ...; " \
|
||||
+ "run ramargs; " \
|
||||
+ "bootm ${loadaddr}\0" \
|
||||
|
||||
#define CONFIG_BOOTCOMMAND \
|
||||
"if mmc rescan ${mmcdev}; then " \
|
||||
+ "if userbutton; then " \
|
||||
+ "setenv bootenv user.txt;" \
|
||||
+ "fi;" \
|
||||
"echo SD/MMC found on device ${mmcdev};" \
|
||||
"if run loadbootenv; then " \
|
||||
+ "echo Loaded environment from ${bootenv};" \
|
||||
"run importbootenv;" \
|
||||
"fi;" \
|
||||
"if test -n $uenvcmd; then " \
|
||||
@@ -252,7 +291,7 @@
|
||||
"run mmcboot;" \
|
||||
"fi;" \
|
||||
"fi;" \
|
||||
- "run nandboot;" \
|
||||
+ "run nandboot;"
|
||||
|
||||
#define CONFIG_AUTO_COMPLETE 1
|
||||
/*
|
||||
@@ -262,18 +301,19 @@
|
||||
#define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
|
||||
#define CONFIG_SYS_PROMPT "OMAP3 beagleboard.org # "
|
||||
-#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
+#define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */
|
||||
/* Print Buffer Size */
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
|
||||
sizeof(CONFIG_SYS_PROMPT) + 16)
|
||||
-#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
+#define CONFIG_SYS_MAXARGS 32 /* max number of command args */
|
||||
/* Boot Argument Buffer Size */
|
||||
#define CONFIG_SYS_BARGSIZE (CONFIG_SYS_CBSIZE)
|
||||
|
||||
-#define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0) /* memtest */
|
||||
- /* works on */
|
||||
-#define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \
|
||||
- 0x01F00000) /* 31MB */
|
||||
+#define CONFIG_SYS_ALT_MEMTEST 1
|
||||
+#define CONFIG_SYS_MEMTEST_START (0x82000000) /* memtest */
|
||||
+ /* defaults */
|
||||
+#define CONFIG_SYS_MEMTEST_END (0x87FFFFFF) /* 128MB */
|
||||
+#define CONFIG_SYS_MEMTEST_SCRATCH (0x81000000) /* dummy address */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0) /* default */
|
||||
/* load address */
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
From abc09e8f0b8e02dbfec8bb3c2e024ef9f1bdf4f0 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jkridner@beagleboard.org>
|
||||
Date: Tue, 8 Mar 2011 20:42:01 -0600
|
||||
Subject: [PATCH 14/16] Corrected LED name match finding avoiding extraneous Usage printouts
|
||||
|
||||
---
|
||||
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 7f02fe6..ca2227f 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();
|
||||
@@ -111,7 +112,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,29 +0,0 @@
|
||||
From 1a88890580917571811950eabd877cccdb643cb1 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Holler <holler@ahsoftware.de>
|
||||
Date: Thu, 17 Feb 2011 22:37:57 +0000
|
||||
Subject: [PATCH 15/16] omap3_beagle: Switch default console from ttyS2 to ttyO2
|
||||
|
||||
Linux kernels >= 2.6.36 are using ttyOn instead ttySn for the
|
||||
serials on OMAPs.
|
||||
|
||||
Signed-off-by: Alexander Holler <holler@ahsoftware.de>
|
||||
---
|
||||
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 73d4d4e..de572e8 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -211,7 +211,7 @@
|
||||
"loadaddr=0x80200000\0" \
|
||||
"rdaddr=0x81000000\0" \
|
||||
"usbtty=cdc_acm\0" \
|
||||
- "console=ttyS2,115200n8\0" \
|
||||
+ "console=ttyO2,115200n8\0" \
|
||||
"mpurate=auto\0" \
|
||||
"buddy=none "\
|
||||
"optargs=\0" \
|
||||
--
|
||||
1.6.6.1
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
From 03757f19b4affb531d1606e468e0411acd8d57cb Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jkridner@beagleboard.org>
|
||||
Date: Wed, 9 Mar 2011 18:48:19 -0600
|
||||
Subject: [PATCH 16/16] BeagleBoard: Load kernel via MMC ext2, not fat
|
||||
|
||||
---
|
||||
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 de572e8..3a102e5 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -261,7 +261,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,56 +0,0 @@
|
||||
From 81630b54970a9274140b1c14caa31da6331a62fa Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:47:58 +0000
|
||||
Subject: [PATCH 01/21] omap3: mem: Comment enable_gpmc_cs_config more
|
||||
|
||||
Expand the "enable the config" comment to explain what the bit shifts
|
||||
are and define out two of the magic numbers.
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/cpu/armv7/omap3/mem.c | 12 +++++++++---
|
||||
arch/arm/include/asm/arch-omap3/mem.h | 4 ++++
|
||||
2 files changed, 13 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/cpu/armv7/omap3/mem.c b/arch/arm/cpu/armv7/omap3/mem.c
|
||||
index a01c303..2f1efea 100644
|
||||
--- a/arch/arm/cpu/armv7/omap3/mem.c
|
||||
+++ b/arch/arm/cpu/armv7/omap3/mem.c
|
||||
@@ -105,9 +105,15 @@ void enable_gpmc_cs_config(const u32 *gpmc_config, struct gpmc_cs *cs, u32 base,
|
||||
writel(gpmc_config[3], &cs->config4);
|
||||
writel(gpmc_config[4], &cs->config5);
|
||||
writel(gpmc_config[5], &cs->config6);
|
||||
- /* Enable the config */
|
||||
- writel((((size & 0xF) << 8) | ((base >> 24) & 0x3F) |
|
||||
- (1 << 6)), &cs->config7);
|
||||
+
|
||||
+ /*
|
||||
+ * Enable the config. size is the CS size and goes in
|
||||
+ * bits 11:8. We set bit 6 to enable this CS and the base
|
||||
+ * address goes into bits 5:0.
|
||||
+ */
|
||||
+ writel((size << 8) | (GPMC_CS_ENABLE << 6) |
|
||||
+ ((base >> 24) & GPMC_BASEADDR_MASK),
|
||||
+ &cs->config7);
|
||||
sdelay(2000);
|
||||
}
|
||||
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/mem.h b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
index db6a696..abf4e82 100644
|
||||
--- a/arch/arm/include/asm/arch-omap3/mem.h
|
||||
+++ b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
@@ -259,6 +259,10 @@ enum {
|
||||
#define GPMC_SIZE_32M 0xE
|
||||
#define GPMC_SIZE_16M 0xF
|
||||
|
||||
+#define GPMC_BASEADDR_MASK 0x3F
|
||||
+
|
||||
+#define GPMC_CS_ENABLE 0x1
|
||||
+
|
||||
#define SMNAND_GPMC_CONFIG1 0x00000800
|
||||
#define SMNAND_GPMC_CONFIG2 0x00141400
|
||||
#define SMNAND_GPMC_CONFIG3 0x00141400
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
From 42db3ebdd76628017e7ab83752e9b288ec4f26a0 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:47:59 +0000
|
||||
Subject: [PATCH 02/21] OMAP3: Update SDRC dram_init to always call make_cs1_contiguous()
|
||||
|
||||
We update the comment in make_cs1_contiguous() to be a little bit
|
||||
more clear (it's been copy/pasted from other silicons) and then
|
||||
explain in dram_init() why we need to always try this.
|
||||
|
||||
Note that in the previous behavior we were always calling this on
|
||||
boards that never had cs1 populated anyhow so making sure we do
|
||||
this always is fine and will correct things like omap3evm detecting
|
||||
an invalid amount of memory (384MB).
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/cpu/armv7/omap3/sdrc.c | 23 +++++++++++------------
|
||||
1 files changed, 11 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/cpu/armv7/omap3/sdrc.c b/arch/arm/cpu/armv7/omap3/sdrc.c
|
||||
index 0dd1955..66ce33f 100644
|
||||
--- a/arch/arm/cpu/armv7/omap3/sdrc.c
|
||||
+++ b/arch/arm/cpu/armv7/omap3/sdrc.c
|
||||
@@ -58,10 +58,9 @@ u32 is_mem_sdr(void)
|
||||
|
||||
/*
|
||||
* make_cs1_contiguous -
|
||||
- * - For es2 and above remap cs1 behind cs0 to allow command line
|
||||
- * mem=xyz use all memory with out discontinuous support compiled in.
|
||||
- * Could do it at the ATAG, but there really is two banks...
|
||||
- * - Called as part of 2nd phase DDR init.
|
||||
+ * - When we have CS1 populated we want to have it mapped after cs0 to allow
|
||||
+ * command line mem=xyz use all memory with out discontinuous support
|
||||
+ * compiled in. We could do it in the ATAG, but there really is two banks...
|
||||
*/
|
||||
void make_cs1_contiguous(void)
|
||||
{
|
||||
@@ -207,16 +206,16 @@ int dram_init(void)
|
||||
|
||||
size0 = get_sdr_cs_size(CS0);
|
||||
/*
|
||||
- * If a second bank of DDR is attached to CS1 this is
|
||||
- * where it can be started. Early init code will init
|
||||
- * memory on CS0.
|
||||
+ * We always need to have cs_cfg point at where the second
|
||||
+ * bank would be, if present. Failure to do so can lead to
|
||||
+ * strange situations where memory isn't detected and
|
||||
+ * configured correctly. CS0 will already have been setup
|
||||
+ * at this point.
|
||||
*/
|
||||
- if ((sysinfo.mtype == DDR_COMBO) || (sysinfo.mtype == DDR_STACKED)) {
|
||||
- do_sdrc_init(CS1, NOT_EARLY);
|
||||
- make_cs1_contiguous();
|
||||
+ make_cs1_contiguous();
|
||||
+ do_sdrc_init(CS1, NOT_EARLY);
|
||||
+ size1 = get_sdr_cs_size(CS1);
|
||||
|
||||
- size1 = get_sdr_cs_size(CS1);
|
||||
- }
|
||||
gd->ram_size = size0 + size1;
|
||||
|
||||
return 0;
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,172 +0,0 @@
|
||||
From a186210c5003db4df2a4f97bd6d4cb2dc616a591 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:48:00 +0000
|
||||
Subject: [PATCH 03/21] OMAP3: Add a helper function to set timings in SDRC
|
||||
|
||||
Since we go through the sequence to setup the SDRC timings more than
|
||||
once, break this logic out into its own function and have that function
|
||||
call mem_ok() to make sure the memory is usable.
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/cpu/armv7/omap3/sdrc.c | 116 ++++++++++++++++++++------------------
|
||||
1 files changed, 61 insertions(+), 55 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/cpu/armv7/omap3/sdrc.c b/arch/arm/cpu/armv7/omap3/sdrc.c
|
||||
index 66ce33f..2756024 100644
|
||||
--- a/arch/arm/cpu/armv7/omap3/sdrc.c
|
||||
+++ b/arch/arm/cpu/armv7/omap3/sdrc.c
|
||||
@@ -108,14 +108,45 @@ u32 get_sdr_cs_offset(u32 cs)
|
||||
}
|
||||
|
||||
/*
|
||||
+ * write_sdrc_timings -
|
||||
+ * - Takes CS and associated timings and initalize SDRAM
|
||||
+ * - Test CS to make sure it's OK for use
|
||||
+ */
|
||||
+static void write_sdrc_timings(u32 cs, struct sdrc_actim *sdrc_actim_base,
|
||||
+ u32 mcfg, u32 ctrla, u32 ctrlb, u32 rfr_ctrl, u32 mr)
|
||||
+{
|
||||
+ /* Setup timings we got from the board. */
|
||||
+ writel(mcfg, &sdrc_base->cs[cs].mcfg);
|
||||
+ writel(ctrla, &sdrc_actim_base->ctrla);
|
||||
+ writel(ctrlb, &sdrc_actim_base->ctrlb);
|
||||
+ writel(rfr_ctrl, &sdrc_base->cs[cs].rfr_ctrl);
|
||||
+ writel(CMD_NOP, &sdrc_base->cs[cs].manual);
|
||||
+ writel(CMD_PRECHARGE, &sdrc_base->cs[cs].manual);
|
||||
+ writel(CMD_AUTOREFRESH, &sdrc_base->cs[cs].manual);
|
||||
+ writel(CMD_AUTOREFRESH, &sdrc_base->cs[cs].manual);
|
||||
+ writel(mr, &sdrc_base->cs[cs].mr);
|
||||
+
|
||||
+ /*
|
||||
+ * Test ram in this bank
|
||||
+ * Disable if bad or not present
|
||||
+ */
|
||||
+ if (!mem_ok(cs))
|
||||
+ writel(0, &sdrc_base->cs[cs].mcfg);
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
* do_sdrc_init -
|
||||
- * - Initialize the SDRAM for use.
|
||||
- * - code called once in C-Stack only context for CS0 and a possible 2nd
|
||||
- * time depending on memory configuration from stack+global context
|
||||
+ * - Code called once in C-Stack only context for CS0 and with early being
|
||||
+ * true and a possible 2nd time depending on memory configuration from
|
||||
+ * stack+global context.
|
||||
*/
|
||||
void do_sdrc_init(u32 cs, u32 early)
|
||||
{
|
||||
struct sdrc_actim *sdrc_actim_base0, *sdrc_actim_base1;
|
||||
+ u32 mcfg, ctrla, ctrlb, rfr_ctrl, mr;
|
||||
+
|
||||
+ sdrc_actim_base0 = (struct sdrc_actim *)SDRC_ACTIM_CTRL0_BASE;
|
||||
+ sdrc_actim_base1 = (struct sdrc_actim *)SDRC_ACTIM_CTRL1_BASE;
|
||||
|
||||
if (early) {
|
||||
/* reset sdrc controller */
|
||||
@@ -127,73 +158,48 @@ void do_sdrc_init(u32 cs, u32 early)
|
||||
/* setup sdrc to ball mux */
|
||||
writel(SDRC_SHARING, &sdrc_base->sharing);
|
||||
|
||||
- /* Disable Power Down of CKE cuz of 1 CKE on combo part */
|
||||
+ /* Disable Power Down of CKE because of 1 CKE on combo part */
|
||||
writel(WAKEUPPROC | SRFRONRESET | PAGEPOLICY_HIGH,
|
||||
&sdrc_base->power);
|
||||
|
||||
writel(ENADLL | DLLPHASE_90, &sdrc_base->dlla_ctrl);
|
||||
sdelay(0x20000);
|
||||
- }
|
||||
-
|
||||
/* As long as V_MCFG and V_RFR_CTRL is not defined for all OMAP3 boards we need
|
||||
* to prevent this to be build in non-SPL build */
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
- /* If we use a SPL there is no x-loader nor config header so we have
|
||||
- * to do the job ourselfs
|
||||
- */
|
||||
- if (cs == CS0) {
|
||||
- sdrc_actim_base0 = (struct sdrc_actim *)SDRC_ACTIM_CTRL0_BASE;
|
||||
-
|
||||
- /* General SDRC config */
|
||||
- writel(V_MCFG, &sdrc_base->cs[cs].mcfg);
|
||||
- writel(V_RFR_CTRL, &sdrc_base->cs[cs].rfr_ctrl);
|
||||
-
|
||||
- /* AC timings */
|
||||
- writel(V_ACTIMA_165, &sdrc_actim_base0->ctrla);
|
||||
- writel(V_ACTIMB_165, &sdrc_actim_base0->ctrlb);
|
||||
-
|
||||
- /* Initialize */
|
||||
- writel(CMD_NOP, &sdrc_base->cs[cs].manual);
|
||||
- writel(CMD_PRECHARGE, &sdrc_base->cs[cs].manual);
|
||||
- writel(CMD_AUTOREFRESH, &sdrc_base->cs[cs].manual);
|
||||
- writel(CMD_AUTOREFRESH, &sdrc_base->cs[cs].manual);
|
||||
+ /*
|
||||
+ * If we use a SPL there is no x-loader nor config header so
|
||||
+ * we have to do the job ourselfs
|
||||
+ */
|
||||
+
|
||||
+ mcfg = V_MCFG;
|
||||
+ ctrla = V_ACTIMA_165;
|
||||
+ ctrlb = V_ACTIMB_165;
|
||||
+ rfr_ctrl = V_RFR_CTRL;
|
||||
+ mr = V_MR;
|
||||
+
|
||||
+ write_sdrc_timings(CS0, sdrc_actim_base0, mcfg, ctrla, ctrlb,
|
||||
+ rfr_ctrl, mr);
|
||||
+#endif
|
||||
|
||||
- writel(V_MR, &sdrc_base->cs[cs].mr);
|
||||
}
|
||||
-#endif
|
||||
|
||||
/*
|
||||
- * SDRC timings are set up by x-load or config header
|
||||
- * We don't need to redo them here.
|
||||
- * Older x-loads configure only CS0
|
||||
- * configure CS1 to handle this ommission
|
||||
+ * If we aren't using SPL we have been loaded by some
|
||||
+ * other means which may not have correctly initialized
|
||||
+ * both CS0 and CS1 (such as some older versions of x-loader)
|
||||
+ * so we may be asked now to setup CS1.
|
||||
*/
|
||||
if (cs == CS1) {
|
||||
- sdrc_actim_base0 = (struct sdrc_actim *)SDRC_ACTIM_CTRL0_BASE;
|
||||
- sdrc_actim_base1 = (struct sdrc_actim *)SDRC_ACTIM_CTRL1_BASE;
|
||||
- writel(readl(&sdrc_base->cs[CS0].mcfg),
|
||||
- &sdrc_base->cs[CS1].mcfg);
|
||||
- writel(readl(&sdrc_base->cs[CS0].rfr_ctrl),
|
||||
- &sdrc_base->cs[CS1].rfr_ctrl);
|
||||
- writel(readl(&sdrc_actim_base0->ctrla),
|
||||
- &sdrc_actim_base1->ctrla);
|
||||
- writel(readl(&sdrc_actim_base0->ctrlb),
|
||||
- &sdrc_actim_base1->ctrlb);
|
||||
-
|
||||
- writel(CMD_NOP, &sdrc_base->cs[cs].manual);
|
||||
- writel(CMD_PRECHARGE, &sdrc_base->cs[cs].manual);
|
||||
- writel(CMD_AUTOREFRESH, &sdrc_base->cs[cs].manual);
|
||||
- writel(CMD_AUTOREFRESH, &sdrc_base->cs[cs].manual);
|
||||
- writel(readl(&sdrc_base->cs[CS0].mr),
|
||||
- &sdrc_base->cs[CS1].mr);
|
||||
- }
|
||||
+ mcfg = readl(&sdrc_base->cs[CS0].mcfg),
|
||||
+ rfr_ctrl = readl(&sdrc_base->cs[CS0].rfr_ctrl);
|
||||
+ ctrla = readl(&sdrc_actim_base0->ctrla),
|
||||
+ ctrlb = readl(&sdrc_actim_base0->ctrlb);
|
||||
+ mr = readl(&sdrc_base->cs[CS0].mr);
|
||||
+ write_sdrc_timings(cs, sdrc_actim_base1, mcfg, ctrla, ctrlb,
|
||||
+ rfr_ctrl, mr);
|
||||
|
||||
- /*
|
||||
- * Test ram in this bank
|
||||
- * Disable if bad or not present
|
||||
- */
|
||||
- if (!mem_ok(cs))
|
||||
- writel(0, &sdrc_base->cs[cs].mcfg);
|
||||
+ }
|
||||
}
|
||||
|
||||
/*
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
From 0cf0d611823f6e1f3b63f9233c145a3940a89694 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:48:01 +0000
|
||||
Subject: [PATCH 04/21] OMAP3: Change mem_ok to clear again after reading back
|
||||
|
||||
It's possible to need to call this function on the same banks multiple
|
||||
times so we want to be sure that 'pos A' is cleared out again at the
|
||||
end.
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/cpu/armv7/omap3/mem.c | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/cpu/armv7/omap3/mem.c b/arch/arm/cpu/armv7/omap3/mem.c
|
||||
index 2f1efea..2fe5ac7 100644
|
||||
--- a/arch/arm/cpu/armv7/omap3/mem.c
|
||||
+++ b/arch/arm/cpu/armv7/omap3/mem.c
|
||||
@@ -86,6 +86,7 @@ u32 mem_ok(u32 cs)
|
||||
writel(0x0, addr + 4); /* remove pattern off the bus */
|
||||
val1 = readl(addr + 0x400); /* get pos A value */
|
||||
val2 = readl(addr); /* get val2 */
|
||||
+ writel(0x0, addr + 0x400); /* clear pos A */
|
||||
|
||||
if ((val1 != 0) || (val2 != pattern)) /* see if pos A val changed */
|
||||
return 0;
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
From 45ccdf2ba3aa6e5f258c463691c85ac4529246e6 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:48:02 +0000
|
||||
Subject: [PATCH 05/21] OMAP3: Remove get_mem_type prototype
|
||||
|
||||
This function doesn't exist for omap3
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/include/asm/arch-omap3/sys_proto.h | 1 -
|
||||
1 files changed, 0 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/sys_proto.h b/arch/arm/include/asm/arch-omap3/sys_proto.h
|
||||
index 995e7cb..9e64410 100644
|
||||
--- a/arch/arm/include/asm/arch-omap3/sys_proto.h
|
||||
+++ b/arch/arm/include/asm/arch-omap3/sys_proto.h
|
||||
@@ -49,7 +49,6 @@ void set_muxconf_regs(void);
|
||||
u32 get_cpu_family(void);
|
||||
u32 get_cpu_rev(void);
|
||||
u32 get_sku_id(void);
|
||||
-u32 get_mem_type(void);
|
||||
u32 get_sysboot_value(void);
|
||||
u32 is_gpmc_muxed(void);
|
||||
u32 get_gpmc0_type(void);
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
From bd50b147ff61a5203815296eac726b0a244c3cb2 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:48:03 +0000
|
||||
Subject: [PATCH 06/21] omap3: mem: Add MCFG helper macro
|
||||
|
||||
This adds an MCFG macro to calculate the correct value, similar to
|
||||
the ACTIMA/ACTIMB macros and adds a comment that all of the potential
|
||||
values here are documented in the TRM. Then we convert the Micron
|
||||
value to use this macro.
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/include/asm/arch-omap3/mem.h | 46 +++++++++++++++++++++-----------
|
||||
1 files changed, 30 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/mem.h b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
index abf4e82..12ff3b0 100644
|
||||
--- a/arch/arm/include/asm/arch-omap3/mem.h
|
||||
+++ b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
@@ -39,6 +39,12 @@ enum {
|
||||
|
||||
#define EARLY_INIT 1
|
||||
|
||||
+/*
|
||||
+ * For a full explanation of these registers and values please see
|
||||
+ * the Technical Reference Manual (TRM) for any of the processors in
|
||||
+ * this family.
|
||||
+ */
|
||||
+
|
||||
/* Slower full frequency range default timings for x32 operation*/
|
||||
#define SDRC_SHARING 0x00000100
|
||||
#define SDRC_MR_0_SDR 0x00000031
|
||||
@@ -86,6 +92,27 @@ enum {
|
||||
ACTIM_CTRLB_TXP(b) | \
|
||||
ACTIM_CTRLB_TXSR(d)
|
||||
|
||||
+/*
|
||||
+ * Values used in the MCFG register. Only values we use today
|
||||
+ * are defined and the rest can be found in the TRM. Unless otherwise
|
||||
+ * noted all fields are one bit.
|
||||
+ */
|
||||
+#define V_MCFG_RAMTYPE_DDR (0x1)
|
||||
+#define V_MCFG_DEEPPD_EN (0x1 << 3)
|
||||
+#define V_MCFG_B32NOT16_32 (0x1 << 4)
|
||||
+#define V_MCFG_BANKALLOCATION_RBC (0x2 << 6) /* 6:7 */
|
||||
+#define V_MCFG_RAMSIZE(a) ((((a)/(1024*1024))/2) << 8) /* 8:17 */
|
||||
+#define V_MCFG_ADDRMUXLEGACY_FLEX (0x1 << 19)
|
||||
+#define V_MCFG_CASWIDTH_10B (0x5 << 20) /* 20:22 */
|
||||
+#define V_MCFG_RASWIDTH(a) ((a) << 24) /* 24:26 */
|
||||
+
|
||||
+/* Macro to construct MCFG */
|
||||
+#define MCFG(a, b) \
|
||||
+ V_MCFG_RASWIDTH(b) | V_MCFG_CASWIDTH_10B | \
|
||||
+ V_MCFG_ADDRMUXLEGACY_FLEX | V_MCFG_RAMSIZE(a) | \
|
||||
+ V_MCFG_BANKALLOCATION_RBC | \
|
||||
+ V_MCFG_B32NOT16_32 | V_MCFG_DEEPPD_EN | V_MCFG_RAMTYPE_DDR
|
||||
+
|
||||
/* Infineon part of 3430SDP (165MHz optimized) 6.06ns */
|
||||
#define INFINEON_TDAL_165 6 /* Twr/Tck + Trp/tck */
|
||||
/* 15/6 + 18/6 = 5.5 -> 6 */
|
||||
@@ -138,21 +165,8 @@ enum {
|
||||
ACTIM_CTRLB(MICRON_TWTR_165, MICRON_TCKE_165, \
|
||||
MICRON_TXP_165, MICRON_XSR_165)
|
||||
|
||||
-#define MICRON_RAMTYPE 0x1
|
||||
-#define MICRON_DDRTYPE 0x0
|
||||
-#define MICRON_DEEPPD 0x1
|
||||
-#define MICRON_B32NOT16 0x1
|
||||
-#define MICRON_BANKALLOCATION 0x2
|
||||
-#define MICRON_RAMSIZE ((PHYS_SDRAM_1_SIZE/(1024*1024))/2)
|
||||
-#define MICRON_ADDRMUXLEGACY 0x1
|
||||
-#define MICRON_CASWIDTH 0x5
|
||||
-#define MICRON_RASWIDTH 0x2
|
||||
-#define MICRON_LOCKSTATUS 0x0
|
||||
-#define MICRON_V_MCFG ((MICRON_LOCKSTATUS << 30) | (MICRON_RASWIDTH << 24) | \
|
||||
- (MICRON_CASWIDTH << 20) | (MICRON_ADDRMUXLEGACY << 19) | \
|
||||
- (MICRON_RAMSIZE << 8) | (MICRON_BANKALLOCATION << 6) | \
|
||||
- (MICRON_B32NOT16 << 4) | (MICRON_DEEPPD << 3) | \
|
||||
- (MICRON_DDRTYPE << 2) | (MICRON_RAMTYPE))
|
||||
+#define MICRON_RASWIDTH 0x2
|
||||
+#define MICRON_V_MCFG(size) MCFG((size), MICRON_RASWIDTH)
|
||||
|
||||
#define MICRON_ARCV 2030
|
||||
#define MICRON_ARE 0x1
|
||||
@@ -199,7 +213,7 @@ enum {
|
||||
#ifdef CONFIG_OMAP3_MICRON_DDR
|
||||
#define V_ACTIMA_165 MICRON_V_ACTIMA_165
|
||||
#define V_ACTIMB_165 MICRON_V_ACTIMB_165
|
||||
-#define V_MCFG MICRON_V_MCFG
|
||||
+#define V_MCFG MICRON_V_MCFG(PHYS_SDRAM_1_SIZE)
|
||||
#define V_RFR_CTRL MICRON_V_RFR_CTRL
|
||||
#define V_MR MICRON_V_MR
|
||||
#endif
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
From 67ea79f7a99d7168915a5db8a577814ec501774e Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:48:04 +0000
|
||||
Subject: [PATCH 07/21] OMAP3: Add optimal SDRC autorefresh control values
|
||||
|
||||
This adds the optimal SDRC autorefresh control register values for
|
||||
100Mhz, 133MHz, 165MHz and 200MHz clocks. We switch to using this
|
||||
to provide the default 165MHz value.
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/include/asm/arch-omap3/mem.h | 16 +++++++++++-----
|
||||
1 files changed, 11 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/mem.h b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
index 12ff3b0..912c737 100644
|
||||
--- a/arch/arm/include/asm/arch-omap3/mem.h
|
||||
+++ b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
@@ -49,6 +49,16 @@ enum {
|
||||
#define SDRC_SHARING 0x00000100
|
||||
#define SDRC_MR_0_SDR 0x00000031
|
||||
|
||||
+/*
|
||||
+ * SDRC autorefresh control values. This register consists of autorefresh
|
||||
+ * enable at bits 0:1 and an autorefresh counter value in bits 8:23. The
|
||||
+ * counter is a result of ( tREFI / tCK ) - 50.
|
||||
+ */
|
||||
+#define SDP_3430_SDRC_RFR_CTRL_100MHz 0x0002da01
|
||||
+#define SDP_3430_SDRC_RFR_CTRL_133MHz 0x0003de01 /* 7.8us/7.5ns - 50=0x3de */
|
||||
+#define SDP_3430_SDRC_RFR_CTRL_165MHz 0x0004e201 /* 7.8us/6ns - 50=0x4e2 */
|
||||
+#define SDP_3430_SDRC_RFR_CTRL_200MHz 0x0005e601 /* 7.8us/5ns - 50=0x5e6 */
|
||||
+
|
||||
#define DLL_OFFSET 0
|
||||
#define DLL_WRITEDDRCLKX2DIS 1
|
||||
#define DLL_ENADLL 1
|
||||
@@ -168,10 +178,6 @@ enum {
|
||||
#define MICRON_RASWIDTH 0x2
|
||||
#define MICRON_V_MCFG(size) MCFG((size), MICRON_RASWIDTH)
|
||||
|
||||
-#define MICRON_ARCV 2030
|
||||
-#define MICRON_ARE 0x1
|
||||
-#define MICRON_V_RFR_CTRL ((MICRON_ARCV << 8) | (MICRON_ARE))
|
||||
-
|
||||
#define MICRON_BL 0x2
|
||||
#define MICRON_SIL 0x0
|
||||
#define MICRON_CASL 0x3
|
||||
@@ -214,7 +220,7 @@ enum {
|
||||
#define V_ACTIMA_165 MICRON_V_ACTIMA_165
|
||||
#define V_ACTIMB_165 MICRON_V_ACTIMB_165
|
||||
#define V_MCFG MICRON_V_MCFG(PHYS_SDRAM_1_SIZE)
|
||||
-#define V_RFR_CTRL MICRON_V_RFR_CTRL
|
||||
+#define V_RFR_CTRL SDP_3430_SDRC_RFR_CTRL_165MHz
|
||||
#define V_MR MICRON_V_MR
|
||||
#endif
|
||||
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
From 0e9f4ab3cafdc1de638ab7a603a750acd4688967 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:48:05 +0000
|
||||
Subject: [PATCH 08/21] OMAP3: Suffix all Micron memory timing parts with their speed
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/include/asm/arch-omap3/mem.h | 21 +++++++++++----------
|
||||
1 files changed, 11 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/mem.h b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
index 912c737..4f996d9 100644
|
||||
--- a/arch/arm/include/asm/arch-omap3/mem.h
|
||||
+++ b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
@@ -175,15 +175,16 @@ enum {
|
||||
ACTIM_CTRLB(MICRON_TWTR_165, MICRON_TCKE_165, \
|
||||
MICRON_TXP_165, MICRON_XSR_165)
|
||||
|
||||
-#define MICRON_RASWIDTH 0x2
|
||||
-#define MICRON_V_MCFG(size) MCFG((size), MICRON_RASWIDTH)
|
||||
+#define MICRON_RASWIDTH_165 0x2
|
||||
+#define MICRON_V_MCFG_165(size) MCFG((size), MICRON_RASWIDTH_165)
|
||||
|
||||
-#define MICRON_BL 0x2
|
||||
-#define MICRON_SIL 0x0
|
||||
-#define MICRON_CASL 0x3
|
||||
-#define MICRON_WBST 0x0
|
||||
-#define MICRON_V_MR ((MICRON_WBST << 9) | (MICRON_CASL << 4) | \
|
||||
- (MICRON_SIL << 3) | (MICRON_BL))
|
||||
+#define MICRON_BL_165 0x2
|
||||
+#define MICRON_SIL_165 0x0
|
||||
+#define MICRON_CASL_165 0x3
|
||||
+#define MICRON_WBST_165 0x0
|
||||
+#define MICRON_V_MR_165 ((MICRON_WBST_165 << 9) | \
|
||||
+ (MICRON_CASL_165 << 4) | (MICRON_SIL_165 << 3) | \
|
||||
+ (MICRON_BL_165))
|
||||
|
||||
/* NUMONYX part of IGEP v2 (165MHz optimized) 6.06ns */
|
||||
#define NUMONYX_TDAL_165 6 /* Twr/Tck + Trp/tck */
|
||||
@@ -219,9 +220,9 @@ enum {
|
||||
#ifdef CONFIG_OMAP3_MICRON_DDR
|
||||
#define V_ACTIMA_165 MICRON_V_ACTIMA_165
|
||||
#define V_ACTIMB_165 MICRON_V_ACTIMB_165
|
||||
-#define V_MCFG MICRON_V_MCFG(PHYS_SDRAM_1_SIZE)
|
||||
+#define V_MCFG MICRON_V_MCFG_165(PHYS_SDRAM_1_SIZE)
|
||||
#define V_RFR_CTRL SDP_3430_SDRC_RFR_CTRL_165MHz
|
||||
-#define V_MR MICRON_V_MR
|
||||
+#define V_MR MICRON_V_MR_165
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_OMAP3_NUMONYX_DDR
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,174 +0,0 @@
|
||||
From bf66bbd9347874b6ad13f7747288327e968022d2 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:48:06 +0000
|
||||
Subject: [PATCH 09/21] OMAP3 SPL: Rework memory initalization and devkit8000 support
|
||||
|
||||
This changes to making the board be responsible for providing the
|
||||
memory initialization timings in SPL and converts the devkit8000
|
||||
to this framework. In SPL we try and initialize both CS0 and CS1.
|
||||
|
||||
Cc: Frederik Kriewitz <frederik@kriewitz.eu>
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/cpu/armv7/omap3/sdrc.c | 28 ++++++++++++++------------
|
||||
arch/arm/include/asm/arch-omap3/mem.h | 26 -------------------------
|
||||
arch/arm/include/asm/arch-omap3/sys_proto.h | 2 +
|
||||
board/timll/devkit8000/devkit8000.c | 21 ++++++++++++++++++++
|
||||
include/configs/devkit8000.h | 5 ----
|
||||
5 files changed, 38 insertions(+), 44 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/cpu/armv7/omap3/sdrc.c b/arch/arm/cpu/armv7/omap3/sdrc.c
|
||||
index 2756024..a27b4b1 100644
|
||||
--- a/arch/arm/cpu/armv7/omap3/sdrc.c
|
||||
+++ b/arch/arm/cpu/armv7/omap3/sdrc.c
|
||||
@@ -148,6 +148,18 @@ void do_sdrc_init(u32 cs, u32 early)
|
||||
sdrc_actim_base0 = (struct sdrc_actim *)SDRC_ACTIM_CTRL0_BASE;
|
||||
sdrc_actim_base1 = (struct sdrc_actim *)SDRC_ACTIM_CTRL1_BASE;
|
||||
|
||||
+ /*
|
||||
+ * When called in the early context this may be SPL and we will
|
||||
+ * need to set all of the timings. This ends up being board
|
||||
+ * specific so we call a helper function to take care of this
|
||||
+ * for us. Otherwise, to be safe, we need to copy the settings
|
||||
+ * from the first bank to the second. We will setup CS0,
|
||||
+ * then set cs_cfg to the appropriate value then try and
|
||||
+ * setup CS1.
|
||||
+ */
|
||||
+#ifdef CONFIG_SPL_BUILD
|
||||
+ get_board_mem_timings(&mcfg, &ctrla, &ctrlb, &rfr_ctrl, &mr);
|
||||
+#endif
|
||||
if (early) {
|
||||
/* reset sdrc controller */
|
||||
writel(SOFTRESET, &sdrc_base->sysconfig);
|
||||
@@ -164,22 +176,12 @@ void do_sdrc_init(u32 cs, u32 early)
|
||||
|
||||
writel(ENADLL | DLLPHASE_90, &sdrc_base->dlla_ctrl);
|
||||
sdelay(0x20000);
|
||||
-/* As long as V_MCFG and V_RFR_CTRL is not defined for all OMAP3 boards we need
|
||||
- * to prevent this to be build in non-SPL build */
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
- /*
|
||||
- * If we use a SPL there is no x-loader nor config header so
|
||||
- * we have to do the job ourselfs
|
||||
- */
|
||||
-
|
||||
- mcfg = V_MCFG;
|
||||
- ctrla = V_ACTIMA_165;
|
||||
- ctrlb = V_ACTIMB_165;
|
||||
- rfr_ctrl = V_RFR_CTRL;
|
||||
- mr = V_MR;
|
||||
-
|
||||
write_sdrc_timings(CS0, sdrc_actim_base0, mcfg, ctrla, ctrlb,
|
||||
rfr_ctrl, mr);
|
||||
+ make_cs1_contiguous();
|
||||
+ write_sdrc_timings(CS0, sdrc_actim_base1, mcfg, ctrla, ctrlb,
|
||||
+ rfr_ctrl, mr);
|
||||
#endif
|
||||
|
||||
}
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/mem.h b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
index 4f996d9..09f5872 100644
|
||||
--- a/arch/arm/include/asm/arch-omap3/mem.h
|
||||
+++ b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
@@ -212,32 +212,6 @@ enum {
|
||||
ACTIM_CTRLB(NUMONYX_TWTR_165, NUMONYX_TCKE_165, \
|
||||
NUMONYX_TXP_165, NUMONYX_XSR_165)
|
||||
|
||||
-#ifdef CONFIG_OMAP3_INFINEON_DDR
|
||||
-#define V_ACTIMA_165 INFINEON_V_ACTIMA_165
|
||||
-#define V_ACTIMB_165 INFINEON_V_ACTIMB_165
|
||||
-#endif
|
||||
-
|
||||
-#ifdef CONFIG_OMAP3_MICRON_DDR
|
||||
-#define V_ACTIMA_165 MICRON_V_ACTIMA_165
|
||||
-#define V_ACTIMB_165 MICRON_V_ACTIMB_165
|
||||
-#define V_MCFG MICRON_V_MCFG_165(PHYS_SDRAM_1_SIZE)
|
||||
-#define V_RFR_CTRL SDP_3430_SDRC_RFR_CTRL_165MHz
|
||||
-#define V_MR MICRON_V_MR_165
|
||||
-#endif
|
||||
-
|
||||
-#ifdef CONFIG_OMAP3_NUMONYX_DDR
|
||||
-#define V_ACTIMA_165 NUMONYX_V_ACTIMA_165
|
||||
-#define V_ACTIMB_165 NUMONYX_V_ACTIMB_165
|
||||
-#endif
|
||||
-
|
||||
-#if !defined(V_ACTIMA_165) || !defined(V_ACTIMB_165)
|
||||
-#error "Please choose the right DDR type in config header"
|
||||
-#endif
|
||||
-
|
||||
-#if defined(CONFIG_SPL_BUILD) && (!defined(V_MCFG) || !defined(V_RFR_CTRL))
|
||||
-#error "Please choose the right DDR type in config header"
|
||||
-#endif
|
||||
-
|
||||
/*
|
||||
* GPMC settings -
|
||||
* Definitions is as per the following format
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/sys_proto.h b/arch/arm/include/asm/arch-omap3/sys_proto.h
|
||||
index 9e64410..80e167b 100644
|
||||
--- a/arch/arm/include/asm/arch-omap3/sys_proto.h
|
||||
+++ b/arch/arm/include/asm/arch-omap3/sys_proto.h
|
||||
@@ -38,6 +38,8 @@ void per_clocks_enable(void);
|
||||
void memif_init(void);
|
||||
void sdrc_init(void);
|
||||
void do_sdrc_init(u32, u32);
|
||||
+void get_board_mem_timings(u32 *mcfg, u32 *ctrla, u32 *ctrlb, u32 *rfr_ctrl,
|
||||
+ u32 *mr);
|
||||
void emif4_init(void);
|
||||
void gpmc_init(void);
|
||||
void enable_gpmc_cs_config(const u32 *gpmc_config, struct gpmc_cs *cs, u32 base,
|
||||
diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c
|
||||
index fee0dff..b06aab6 100644
|
||||
--- a/board/timll/devkit8000/devkit8000.c
|
||||
+++ b/board/timll/devkit8000/devkit8000.c
|
||||
@@ -138,3 +138,24 @@ int board_eth_init(bd_t *bis)
|
||||
return dm9000_initialize(bis);
|
||||
}
|
||||
#endif
|
||||
+
|
||||
+/*
|
||||
+ * Routine: get_board_mem_timings
|
||||
+ * Description: If we use SPL then there is no x-loader nor config header
|
||||
+ * so we have to setup the DDR timings ourself on the first bank. This
|
||||
+ * provides the timing values back to the function that configures
|
||||
+ * the memory. We have either one or two banks of 128MB DDR.
|
||||
+ */
|
||||
+void get_board_mem_timings(u32 *mcfg, u32 *ctrla, u32 *ctrlb, u32 *rfr_ctrl,
|
||||
+ u32 *mr)
|
||||
+{
|
||||
+ /* General SDRC config */
|
||||
+ *mcfg = MICRON_V_MCFG_165(128 << 20);
|
||||
+ *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz;
|
||||
+
|
||||
+ /* AC timings */
|
||||
+ *ctrla = MICRON_V_ACTIMA_165;
|
||||
+ *ctrlb = MICRON_V_ACTIMB_165;
|
||||
+
|
||||
+ *mr = MICRON_V_MR_165;
|
||||
+}
|
||||
diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
|
||||
index e1743dc..b3e60cd 100644
|
||||
--- a/include/configs/devkit8000.h
|
||||
+++ b/include/configs/devkit8000.h
|
||||
@@ -68,10 +68,6 @@
|
||||
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (128 << 10))
|
||||
|
||||
/* Hardware drivers */
|
||||
-
|
||||
-/* DDR - I use Micron DDR */
|
||||
-#define CONFIG_OMAP3_MICRON_DDR 1
|
||||
-
|
||||
/* DM9000 */
|
||||
#define CONFIG_NET_RETRY_COUNT 20
|
||||
#define CONFIG_DRIVER_DM9000 1
|
||||
@@ -284,7 +280,6 @@
|
||||
/* Physical Memory Map */
|
||||
#define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */
|
||||
#define PHYS_SDRAM_1 OMAP34XX_SDRC_CS0
|
||||
-#define PHYS_SDRAM_1_SIZE (128 << 20) /* at least 128 MiB */
|
||||
#define PHYS_SDRAM_2 OMAP34XX_SDRC_CS1
|
||||
|
||||
/* SDRAM Bank Allocation method */
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,142 +0,0 @@
|
||||
From 290ebce5d39112ce80c6180206952aa5cc0ea871 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:48:07 +0000
|
||||
Subject: [PATCH 10/21] OMAP3 SPL: Add identify_nand_chip function
|
||||
|
||||
A number of boards are populated with a PoP chip for both DDR and NAND
|
||||
memory. Other boards may simply use this as an easy way to identify
|
||||
board revs. So we provide a function that can be called early to reset
|
||||
the NAND chip and return the result of NAND_CMD_READID. All of this
|
||||
code is put into spl_id_nand.c and controlled via CONFIG_SPL_OMAP3_ID_NAND.
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/cpu/armv7/omap3/Makefile | 3 +
|
||||
arch/arm/cpu/armv7/omap3/spl_id_nand.c | 87 +++++++++++++++++++++++++++
|
||||
arch/arm/include/asm/arch-omap3/sys_proto.h | 1 +
|
||||
3 files changed, 91 insertions(+), 0 deletions(-)
|
||||
create mode 100644 arch/arm/cpu/armv7/omap3/spl_id_nand.c
|
||||
|
||||
diff --git a/arch/arm/cpu/armv7/omap3/Makefile b/arch/arm/cpu/armv7/omap3/Makefile
|
||||
index 8e85891..4b38e45 100644
|
||||
--- a/arch/arm/cpu/armv7/omap3/Makefile
|
||||
+++ b/arch/arm/cpu/armv7/omap3/Makefile
|
||||
@@ -31,6 +31,9 @@ COBJS += board.o
|
||||
COBJS += clock.o
|
||||
COBJS += mem.o
|
||||
COBJS += sys_info.o
|
||||
+ifdef CONFIG_SPL_BUILD
|
||||
+COBJS-$(CONFIG_SPL_OMAP3_ID_NAND) += spl_id_nand.o
|
||||
+endif
|
||||
|
||||
COBJS-$(CONFIG_EMIF4) += emif4.o
|
||||
COBJS-$(CONFIG_SDRC) += sdrc.o
|
||||
diff --git a/arch/arm/cpu/armv7/omap3/spl_id_nand.c b/arch/arm/cpu/armv7/omap3/spl_id_nand.c
|
||||
new file mode 100644
|
||||
index 0000000..0871fc9
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/cpu/armv7/omap3/spl_id_nand.c
|
||||
@@ -0,0 +1,87 @@
|
||||
+/*
|
||||
+ * (C) Copyright 2011
|
||||
+ * Texas Instruments, <www.ti.com>
|
||||
+ *
|
||||
+ * Author :
|
||||
+ * Tom Rini <trini@ti.com>
|
||||
+ *
|
||||
+ * Initial Code from:
|
||||
+ * Richard Woodruff <r-woodruff2@ti.com>
|
||||
+ * Jian Zhang <jzhang@ti.com>
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of
|
||||
+ * the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
+ * MA 02111-1307 USA
|
||||
+ */
|
||||
+
|
||||
+#include <common.h>
|
||||
+#include <linux/mtd/nand.h>
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/arch/sys_proto.h>
|
||||
+#include <asm/arch/mem.h>
|
||||
+
|
||||
+static struct gpmc *gpmc_config = (struct gpmc *)GPMC_BASE;
|
||||
+
|
||||
+/* nand_command: Send a flash command to the flash chip */
|
||||
+static void nand_command(u8 command)
|
||||
+{
|
||||
+ writeb(command, &gpmc_config->cs[0].nand_cmd);
|
||||
+
|
||||
+ if (command == NAND_CMD_RESET) {
|
||||
+ unsigned char ret_val;
|
||||
+ writeb(NAND_CMD_STATUS, &gpmc_config->cs[0].nand_cmd);
|
||||
+ do {
|
||||
+ /* Wait until ready */
|
||||
+ ret_val = readl(&gpmc_config->cs[0].nand_dat);
|
||||
+ } while ((ret_val & NAND_STATUS_READY) != NAND_STATUS_READY);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * Many boards will want to know the results of the NAND_CMD_READID command
|
||||
+ * in order to decide what to do about DDR initialization. This function
|
||||
+ * allows us to do that very early and to pass those results back to the
|
||||
+ * board so it can make whatever decisions need to be made.
|
||||
+ */
|
||||
+void identify_nand_chip(int *mfr, int *id)
|
||||
+{
|
||||
+ /* Make sure that we have setup GPMC for NAND correctly. */
|
||||
+ writel(M_NAND_GPMC_CONFIG1, &gpmc_config->cs[0].config1);
|
||||
+ writel(M_NAND_GPMC_CONFIG2, &gpmc_config->cs[0].config2);
|
||||
+ writel(M_NAND_GPMC_CONFIG3, &gpmc_config->cs[0].config3);
|
||||
+ writel(M_NAND_GPMC_CONFIG4, &gpmc_config->cs[0].config4);
|
||||
+ writel(M_NAND_GPMC_CONFIG5, &gpmc_config->cs[0].config5);
|
||||
+ writel(M_NAND_GPMC_CONFIG6, &gpmc_config->cs[0].config6);
|
||||
+
|
||||
+ /*
|
||||
+ * Enable the config. The CS size goes in bits 11:8. We set
|
||||
+ * bit 6 to enable the CS and the base address goes into bits 5:0.
|
||||
+ */
|
||||
+ writel((GPMC_SIZE_128M << 8) | (GPMC_CS_ENABLE << 6) |
|
||||
+ ((NAND_BASE >> 24) & GPMC_BASEADDR_MASK),
|
||||
+ &gpmc_config->cs[0].config7);
|
||||
+
|
||||
+ sdelay(2000);
|
||||
+
|
||||
+ /* Issue a RESET and then READID */
|
||||
+ nand_command(NAND_CMD_RESET);
|
||||
+ nand_command(NAND_CMD_READID);
|
||||
+
|
||||
+ /* Set the address to read to 0x0 */
|
||||
+ writeb(0x0, &gpmc_config->cs[0].nand_adr);
|
||||
+
|
||||
+ /* Read off the manufacturer and device id. */
|
||||
+ *mfr = readb(&gpmc_config->cs[0].nand_dat);
|
||||
+ *id = readb(&gpmc_config->cs[0].nand_dat);
|
||||
+}
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/sys_proto.h b/arch/arm/include/asm/arch-omap3/sys_proto.h
|
||||
index 80e167b..e5031d5 100644
|
||||
--- a/arch/arm/include/asm/arch-omap3/sys_proto.h
|
||||
+++ b/arch/arm/include/asm/arch-omap3/sys_proto.h
|
||||
@@ -40,6 +40,7 @@ void sdrc_init(void);
|
||||
void do_sdrc_init(u32, u32);
|
||||
void get_board_mem_timings(u32 *mcfg, u32 *ctrla, u32 *ctrlb, u32 *rfr_ctrl,
|
||||
u32 *mr);
|
||||
+void identify_nand_chip(int *mfr, int *id);
|
||||
void emif4_init(void);
|
||||
void gpmc_init(void);
|
||||
void enable_gpmc_cs_config(const u32 *gpmc_config, struct gpmc_cs *cs, u32 base,
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,315 +0,0 @@
|
||||
From 4ce72b52b5eeb172c1118fbd6e23d49eeec30ad2 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:48:08 +0000
|
||||
Subject: [PATCH 11/21] OMAP3: Add SPL support to Beagleboard
|
||||
|
||||
This introduces 200MHz Micron parts timing information based on x-loader
|
||||
to <asm/arch-omap3/mem.h> and Numonyx MCFG calculation. The memory init
|
||||
logic is also based on what x-loader does in these cases. Note that
|
||||
while previously u-boot would be flashed in with SW ECC in this case it
|
||||
now must be flashed with HW ECC. We also change CONFIG_SYS_TEXT_BASE to
|
||||
0x80100000.
|
||||
|
||||
Cc: Dirk Behme <dirk.behme@gmail.com>
|
||||
Beagleboard rev C5, xM rev A:
|
||||
Tested-by: Tom Rini <trini@ti.com>
|
||||
Beagleboard xM rev C:
|
||||
Tested-by: Matt Ranostay <mranostay@gmail.com>
|
||||
Beagleboard rev B7, C2, xM rev B:
|
||||
Tested-by: Matt Porter <mporter@ti.com>
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/include/asm/arch-omap3/mem.h | 29 +++++++++++++
|
||||
board/ti/beagle/beagle.c | 71 ++++++++++++++++++++++++++++++++-
|
||||
board/ti/beagle/config.mk | 33 ---------------
|
||||
include/configs/omap3_beagle.h | 59 +++++++++++++++++++++++++--
|
||||
4 files changed, 153 insertions(+), 39 deletions(-)
|
||||
delete mode 100644 board/ti/beagle/config.mk
|
||||
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/mem.h b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
index 09f5872..4ea5f74 100644
|
||||
--- a/arch/arm/include/asm/arch-omap3/mem.h
|
||||
+++ b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
@@ -186,6 +186,32 @@ enum {
|
||||
(MICRON_CASL_165 << 4) | (MICRON_SIL_165 << 3) | \
|
||||
(MICRON_BL_165))
|
||||
|
||||
+/* Micron part (200MHz optimized) 5 ns */
|
||||
+#define MICRON_TDAL_200 6
|
||||
+#define MICRON_TDPL_200 3
|
||||
+#define MICRON_TRRD_200 2
|
||||
+#define MICRON_TRCD_200 3
|
||||
+#define MICRON_TRP_200 3
|
||||
+#define MICRON_TRAS_200 8
|
||||
+#define MICRON_TRC_200 11
|
||||
+#define MICRON_TRFC_200 15
|
||||
+#define MICRON_V_ACTIMA_200 \
|
||||
+ ACTIM_CTRLA(MICRON_TRFC_200, MICRON_TRC_200, \
|
||||
+ MICRON_TRAS_200, MICRON_TRP_200, \
|
||||
+ MICRON_TRCD_200, MICRON_TRRD_200, \
|
||||
+ MICRON_TDPL_200, MICRON_TDAL_200)
|
||||
+
|
||||
+#define MICRON_TWTR_200 2
|
||||
+#define MICRON_TCKE_200 4
|
||||
+#define MICRON_TXP_200 2
|
||||
+#define MICRON_XSR_200 23
|
||||
+#define MICRON_V_ACTIMB_200 \
|
||||
+ ACTIM_CTRLB(MICRON_TWTR_200, MICRON_TCKE_200, \
|
||||
+ MICRON_TXP_200, MICRON_XSR_200)
|
||||
+
|
||||
+#define MICRON_RASWIDTH_200 0x3
|
||||
+#define MICRON_V_MCFG_200(size) MCFG((size), MICRON_RASWIDTH_200)
|
||||
+
|
||||
/* NUMONYX part of IGEP v2 (165MHz optimized) 6.06ns */
|
||||
#define NUMONYX_TDAL_165 6 /* Twr/Tck + Trp/tck */
|
||||
/* 15/6 + 18/6 = 5.5 -> 6 */
|
||||
@@ -212,6 +238,9 @@ enum {
|
||||
ACTIM_CTRLB(NUMONYX_TWTR_165, NUMONYX_TCKE_165, \
|
||||
NUMONYX_TXP_165, NUMONYX_XSR_165)
|
||||
|
||||
+#define NUMONYX_RASWIDTH_165 0x4
|
||||
+#define NUMONYX_V_MCFG_165(size) MCFG((size), NUMONYX_RASWIDTH_165)
|
||||
+
|
||||
/*
|
||||
* GPMC settings -
|
||||
* Definitions is as per the following format
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 9482c5e..6a457cb 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * (C) Copyright 2004-2008
|
||||
+ * (C) Copyright 2004-2011
|
||||
* Texas Instruments, <www.ti.com>
|
||||
*
|
||||
* Author :
|
||||
@@ -34,9 +34,11 @@
|
||||
#include <status_led.h>
|
||||
#endif
|
||||
#include <twl4030.h>
|
||||
+#include <linux/mtd/nand.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/mmc_host_def.h>
|
||||
#include <asm/arch/mux.h>
|
||||
+#include <asm/arch/mem.h>
|
||||
#include <asm/arch/sys_proto.h>
|
||||
#include <asm/gpio.h>
|
||||
#include <asm/mach-types.h>
|
||||
@@ -135,6 +137,69 @@ int get_board_revision(void)
|
||||
return revision;
|
||||
}
|
||||
|
||||
+#ifdef CONFIG_SPL_BUILD
|
||||
+/*
|
||||
+ * Routine: get_board_mem_timings
|
||||
+ * Description: If we use SPL then there is no x-loader nor config header
|
||||
+ * so we have to setup the DDR timings ourself on both banks.
|
||||
+ */
|
||||
+void get_board_mem_timings(u32 *mcfg, u32 *ctrla, u32 *ctrlb, u32 *rfr_ctrl,
|
||||
+ u32 *mr)
|
||||
+{
|
||||
+ int pop_mfr, pop_id;
|
||||
+
|
||||
+ /*
|
||||
+ * We need to identify what PoP memory is on the board so that
|
||||
+ * we know what timings to use. If we can't identify it then
|
||||
+ * we know it's an xM. To map the ID values please see nand_ids.c
|
||||
+ */
|
||||
+ identify_nand_chip(&pop_mfr, &pop_id);
|
||||
+
|
||||
+ *mr = MICRON_V_MR_165;
|
||||
+ switch (get_board_revision()) {
|
||||
+ case REVISION_C4:
|
||||
+ if (pop_mfr == NAND_MFR_STMICRO && pop_id == 0xba) {
|
||||
+ /* 512MB DDR */
|
||||
+ *mcfg = NUMONYX_V_MCFG_165(512 << 20);
|
||||
+ *ctrla = NUMONYX_V_ACTIMA_165;
|
||||
+ *ctrlb = NUMONYX_V_ACTIMB_165;
|
||||
+ *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz;
|
||||
+ break;
|
||||
+ } else if (pop_mfr == NAND_MFR_MICRON && pop_id == 0xbc) {
|
||||
+ /* Beagleboard Rev C5, 256MB DDR */
|
||||
+ *mcfg = MICRON_V_MCFG_200(256 << 20);
|
||||
+ *ctrla = MICRON_V_ACTIMA_200;
|
||||
+ *ctrlb = MICRON_V_ACTIMB_200;
|
||||
+ *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz;
|
||||
+ break;
|
||||
+ }
|
||||
+ case REVISION_XM_A:
|
||||
+ case REVISION_XM_B:
|
||||
+ case REVISION_XM_C:
|
||||
+ if (pop_mfr == 0) {
|
||||
+ /* 256MB DDR */
|
||||
+ *mcfg = MICRON_V_MCFG_200(256 << 20);
|
||||
+ *ctrla = MICRON_V_ACTIMA_200;
|
||||
+ *ctrlb = MICRON_V_ACTIMB_200;
|
||||
+ *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_200MHz;
|
||||
+ } else {
|
||||
+ /* 512MB DDR */
|
||||
+ *mcfg = NUMONYX_V_MCFG_165(512 << 20);
|
||||
+ *ctrla = NUMONYX_V_ACTIMA_165;
|
||||
+ *ctrlb = NUMONYX_V_ACTIMB_165;
|
||||
+ *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz;
|
||||
+ }
|
||||
+ break;
|
||||
+ default:
|
||||
+ /* Assume 128MB and Micron/165MHz timings to be safe */
|
||||
+ *mcfg = MICRON_V_MCFG_165(128 << 20);
|
||||
+ *ctrla = MICRON_V_ACTIMA_165;
|
||||
+ *ctrlb = MICRON_V_ACTIMB_165;
|
||||
+ *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz;
|
||||
+ }
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Routine: get_expansion_id
|
||||
* Description: This function checks for expansion board by checking I2C
|
||||
@@ -367,7 +432,7 @@ void set_muxconf_regs(void)
|
||||
MUX_BEAGLE();
|
||||
}
|
||||
|
||||
-#ifdef CONFIG_GENERIC_MMC
|
||||
+#if defined(CONFIG_GENERIC_MMC) && !defined(CONFIG_SPL_BUILD)
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
omap_mmc_init(0);
|
||||
@@ -476,6 +541,7 @@ int ehci_hcd_init(void)
|
||||
|
||||
#endif /* CONFIG_USB_EHCI */
|
||||
|
||||
+#ifndef CONFIG_SPL_BUILD
|
||||
/*
|
||||
* This command returns the status of the user button on beagle xM
|
||||
* Input - none
|
||||
@@ -528,3 +594,4 @@ U_BOOT_CMD(
|
||||
"Return the status of the BeagleBoard USER button",
|
||||
""
|
||||
);
|
||||
+#endif
|
||||
diff --git a/board/ti/beagle/config.mk b/board/ti/beagle/config.mk
|
||||
deleted file mode 100644
|
||||
index cf055db..0000000
|
||||
--- a/board/ti/beagle/config.mk
|
||||
+++ /dev/null
|
||||
@@ -1,33 +0,0 @@
|
||||
-#
|
||||
-# (C) Copyright 2006
|
||||
-# Texas Instruments, <www.ti.com>
|
||||
-#
|
||||
-# Beagle Board uses OMAP3 (ARM-CortexA8) cpu
|
||||
-# see http://www.ti.com/ for more information on Texas Instruments
|
||||
-#
|
||||
-# See file CREDITS for list of people who contributed to this
|
||||
-# project.
|
||||
-#
|
||||
-# This program is free software; you can redistribute it and/or
|
||||
-# modify it under the terms of the GNU General Public License as
|
||||
-# published by the Free Software Foundation; either version 2 of
|
||||
-# the License, or (at your option) any later version.
|
||||
-#
|
||||
-# This program is distributed in the hope that it will be useful,
|
||||
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
-# GNU General Public License for more details.
|
||||
-#
|
||||
-# You should have received a copy of the GNU General Public License
|
||||
-# along with this program; if not, write to the Free Software
|
||||
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
-# MA 02111-1307 USA
|
||||
-#
|
||||
-# Physical Address:
|
||||
-# 8000'0000 (bank0)
|
||||
-# A000/0000 (bank1)
|
||||
-# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000
|
||||
-# (mem base + reserved)
|
||||
-
|
||||
-# For use with external or internal boots.
|
||||
-CONFIG_SYS_TEXT_BASE = 0x80008000
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index 15e40c5..941ec38 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -111,9 +111,6 @@
|
||||
#define STATUS_LED_BOOT STATUS_LED_BIT
|
||||
#define STATUS_LED_GREEN STATUS_LED_BIT1
|
||||
|
||||
-/* DDR - I use Micron DDR */
|
||||
-#define CONFIG_OMAP3_MICRON_DDR 1
|
||||
-
|
||||
/* Enable Multi Bus support for I2C */
|
||||
#define CONFIG_I2C_MULTI_BUS 1
|
||||
|
||||
@@ -347,7 +344,6 @@
|
||||
*/
|
||||
#define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */
|
||||
#define PHYS_SDRAM_1 OMAP34XX_SDRC_CS0
|
||||
-#define PHYS_SDRAM_1_SIZE (32 << 20) /* at least 32 MiB */
|
||||
#define PHYS_SDRAM_2 OMAP34XX_SDRC_CS1
|
||||
|
||||
/* SDRAM Bank Allocation method */
|
||||
@@ -390,4 +386,59 @@
|
||||
|
||||
#define CONFIG_OMAP3_SPI
|
||||
|
||||
+/* Defines for SPL */
|
||||
+#define CONFIG_SPL
|
||||
+#define CONFIG_SPL_NAND_SIMPLE
|
||||
+#define CONFIG_SPL_TEXT_BASE 0x40200800
|
||||
+#define CONFIG_SPL_MAX_SIZE (45 * 1024)
|
||||
+#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
+
|
||||
+#define CONFIG_SPL_BSS_START_ADDR 0x80000000
|
||||
+#define CONFIG_SPL_BSS_MAX_SIZE 0x80000 /* 512 KB */
|
||||
+
|
||||
+#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
|
||||
+#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */
|
||||
+#define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1
|
||||
+#define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img"
|
||||
+
|
||||
+#define CONFIG_SPL_LIBCOMMON_SUPPORT
|
||||
+#define CONFIG_SPL_LIBDISK_SUPPORT
|
||||
+#define CONFIG_SPL_I2C_SUPPORT
|
||||
+#define CONFIG_SPL_LIBGENERIC_SUPPORT
|
||||
+#define CONFIG_SPL_MMC_SUPPORT
|
||||
+#define CONFIG_SPL_FAT_SUPPORT
|
||||
+#define CONFIG_SPL_SERIAL_SUPPORT
|
||||
+#define CONFIG_SPL_NAND_SUPPORT
|
||||
+#define CONFIG_SPL_POWER_SUPPORT
|
||||
+#define CONFIG_SPL_OMAP3_ID_NAND
|
||||
+#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
|
||||
+
|
||||
+/* NAND boot config */
|
||||
+#define CONFIG_SYS_NAND_5_ADDR_CYCLE
|
||||
+#define CONFIG_SYS_NAND_PAGE_COUNT 64
|
||||
+#define CONFIG_SYS_NAND_PAGE_SIZE 2048
|
||||
+#define CONFIG_SYS_NAND_OOBSIZE 64
|
||||
+#define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024)
|
||||
+#define CONFIG_SYS_NAND_BAD_BLOCK_POS 0
|
||||
+#define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\
|
||||
+ 10, 11, 12, 13}
|
||||
+#define CONFIG_SYS_NAND_ECCSIZE 512
|
||||
+#define CONFIG_SYS_NAND_ECCBYTES 3
|
||||
+#define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / \
|
||||
+ CONFIG_SYS_NAND_ECCSIZE)
|
||||
+#define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * \
|
||||
+ CONFIG_SYS_NAND_ECCSTEPS)
|
||||
+#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE
|
||||
+#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000
|
||||
+
|
||||
+/*
|
||||
+ * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM
|
||||
+ * 64 bytes before this address should be set aside for u-boot.img's
|
||||
+ * header. That is 0x800FFFC0--0x80100000 should not be used for any
|
||||
+ * other needs.
|
||||
+ */
|
||||
+#define CONFIG_SYS_TEXT_BASE 0x80100000
|
||||
+#define CONFIG_SYS_SPL_MALLOC_START 0x80208000
|
||||
+#define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000
|
||||
+
|
||||
#endif /* __CONFIG_H */
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,319 +0,0 @@
|
||||
From a2985d6ef29ee6eb09ad1b40cf09f955549e66e2 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:48:09 +0000
|
||||
Subject: [PATCH 12/21] OMAP3: Add SPL support to omap3_evm
|
||||
|
||||
Add Hynix 200MHz timing information to <asm/arch-omap3/mem.h>.
|
||||
This also changes CONFIG_SYS_TEXT_BASE to 0x80100000.
|
||||
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
arch/arm/include/asm/arch-omap3/mem.h | 26 ++++++++++++++++++++
|
||||
board/ti/evm/config.mk | 33 -------------------------
|
||||
board/ti/evm/evm.c | 41 ++++++++++++++++++++++++++++++-
|
||||
include/configs/omap3_evm.h | 27 +++++++++++++++++++++
|
||||
include/configs/omap3_evm_common.h | 30 +++++++++++++++++++++-
|
||||
include/configs/omap3_evm_quick_mmc.h | 10 +++++++
|
||||
include/configs/omap3_evm_quick_nand.h | 22 +++++++++++++++++
|
||||
7 files changed, 152 insertions(+), 37 deletions(-)
|
||||
delete mode 100644 board/ti/evm/config.mk
|
||||
|
||||
diff --git a/arch/arm/include/asm/arch-omap3/mem.h b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
index 4ea5f74..5fd02d4 100644
|
||||
--- a/arch/arm/include/asm/arch-omap3/mem.h
|
||||
+++ b/arch/arm/include/asm/arch-omap3/mem.h
|
||||
@@ -123,6 +123,32 @@ enum {
|
||||
V_MCFG_BANKALLOCATION_RBC | \
|
||||
V_MCFG_B32NOT16_32 | V_MCFG_DEEPPD_EN | V_MCFG_RAMTYPE_DDR
|
||||
|
||||
+/* Hynix part of AM/DM37xEVM (200MHz optimized) */
|
||||
+#define HYNIX_TDAL_200 6
|
||||
+#define HYNIX_TDPL_200 3
|
||||
+#define HYNIX_TRRD_200 2
|
||||
+#define HYNIX_TRCD_200 4
|
||||
+#define HYNIX_TRP_200 3
|
||||
+#define HYNIX_TRAS_200 8
|
||||
+#define HYNIX_TRC_200 11
|
||||
+#define HYNIX_TRFC_200 18
|
||||
+#define HYNIX_V_ACTIMA_200 \
|
||||
+ ACTIM_CTRLA(HYNIX_TRFC_200, HYNIX_TRC_200, \
|
||||
+ HYNIX_TRAS_200, HYNIX_TRP_200, \
|
||||
+ HYNIX_TRCD_200, HYNIX_TRRD_200, \
|
||||
+ HYNIX_TDPL_200, HYNIX_TDAL_200)
|
||||
+
|
||||
+#define HYNIX_TWTR_200 2
|
||||
+#define HYNIX_TCKE_200 1
|
||||
+#define HYNIX_TXP_200 1
|
||||
+#define HYNIX_XSR_200 28
|
||||
+#define HYNIX_V_ACTIMB_200 \
|
||||
+ ACTIM_CTRLB(HYNIX_TWTR_200, HYNIX_TCKE_200, \
|
||||
+ HYNIX_TXP_200, HYNIX_XSR_200)
|
||||
+
|
||||
+#define HYNIX_RASWIDTH_200 0x3
|
||||
+#define HYNIX_V_MCFG_200(size) MCFG((size), HYNIX_RASWIDTH_200)
|
||||
+
|
||||
/* Infineon part of 3430SDP (165MHz optimized) 6.06ns */
|
||||
#define INFINEON_TDAL_165 6 /* Twr/Tck + Trp/tck */
|
||||
/* 15/6 + 18/6 = 5.5 -> 6 */
|
||||
diff --git a/board/ti/evm/config.mk b/board/ti/evm/config.mk
|
||||
deleted file mode 100644
|
||||
index d173eef..0000000
|
||||
--- a/board/ti/evm/config.mk
|
||||
+++ /dev/null
|
||||
@@ -1,33 +0,0 @@
|
||||
-#
|
||||
-# (C) Copyright 2006 - 2008
|
||||
-# Texas Instruments, <www.ti.com>
|
||||
-#
|
||||
-# EVM uses OMAP3 (ARM-CortexA8) cpu
|
||||
-# see http://www.ti.com/ for more information on Texas Instruments
|
||||
-#
|
||||
-# See file CREDITS for list of people who contributed to this
|
||||
-# project.
|
||||
-#
|
||||
-# This program is free software; you can redistribute it and/or
|
||||
-# modify it under the terms of the GNU General Public License as
|
||||
-# published by the Free Software Foundation; either version 2 of
|
||||
-# the License, or (at your option) any later version.
|
||||
-#
|
||||
-# This program is distributed in the hope that it will be useful,
|
||||
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
-# GNU General Public License for more details.
|
||||
-#
|
||||
-# You should have received a copy of the GNU General Public License
|
||||
-# along with this program; if not, write to the Free Software
|
||||
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
-# MA 02111-1307 USA
|
||||
-#
|
||||
-# Physical Address:
|
||||
-# 8000'0000 (bank0)
|
||||
-# A000/0000 (bank1)
|
||||
-# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000
|
||||
-# (mem base + reserved)
|
||||
-
|
||||
-# For use with external or internal boots.
|
||||
-CONFIG_SYS_TEXT_BASE = 0x80008000
|
||||
diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
|
||||
index 8c43463..8497aee 100644
|
||||
--- a/board/ti/evm/evm.c
|
||||
+++ b/board/ti/evm/evm.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- * (C) Copyright 2004-2008
|
||||
+ * (C) Copyright 2004-2011
|
||||
* Texas Instruments, <www.ti.com>
|
||||
*
|
||||
* Author :
|
||||
@@ -37,6 +37,7 @@
|
||||
#include <asm/gpio.h>
|
||||
#include <i2c.h>
|
||||
#include <asm/mach-types.h>
|
||||
+#include <linux/mtd/nand.h>
|
||||
#include "evm.h"
|
||||
|
||||
#define OMAP3EVM_GPIO_ETH_RST_GEN1 64
|
||||
@@ -119,6 +120,42 @@ int board_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#ifdef CONFIG_SPL_BUILD
|
||||
+/*
|
||||
+ * Routine: get_board_mem_timings
|
||||
+ * Description: If we use SPL then there is no x-loader nor config header
|
||||
+ * so we have to setup the DDR timings ourself on the first bank. This
|
||||
+ * provides the timing values back to the function that configures
|
||||
+ * the memory.
|
||||
+ */
|
||||
+void get_board_mem_timings(u32 *mcfg, u32 *ctrla, u32 *ctrlb, u32 *rfr_ctrl,
|
||||
+ u32 *mr)
|
||||
+{
|
||||
+ int pop_mfr, pop_id;
|
||||
+
|
||||
+ /*
|
||||
+ * We need to identify what PoP memory is on the board so that
|
||||
+ * we know what timings to use. To map the ID values please see
|
||||
+ * nand_ids.c
|
||||
+ */
|
||||
+ identify_nand_chip(&pop_mfr, &pop_id);
|
||||
+
|
||||
+ if (pop_mfr == NAND_MFR_HYNIX && pop_id == 0xbc) {
|
||||
+ /* 256MB DDR */
|
||||
+ *mcfg = HYNIX_V_MCFG_200(256 << 20);
|
||||
+ *ctrla = HYNIX_V_ACTIMA_200;
|
||||
+ *ctrlb = HYNIX_V_ACTIMB_200;
|
||||
+ } else {
|
||||
+ /* 128MB DDR */
|
||||
+ *mcfg = MICRON_V_MCFG_165(128 << 20);
|
||||
+ *ctrla = MICRON_V_ACTIMA_165;
|
||||
+ *ctrlb = MICRON_V_ACTIMB_165;
|
||||
+ }
|
||||
+ *rfr_ctrl = SDP_3430_SDRC_RFR_CTRL_165MHz;
|
||||
+ *mr = MICRON_V_MR_165;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Routine: misc_init_r
|
||||
* Description: Init ethernet (done here so udelay works)
|
||||
@@ -238,7 +275,7 @@ int board_eth_init(bd_t *bis)
|
||||
}
|
||||
#endif /* CONFIG_CMD_NET */
|
||||
|
||||
-#ifdef CONFIG_GENERIC_MMC
|
||||
+#if defined(CONFIG_GENERIC_MMC) && !defined(CONFIG_SPL_BUILD)
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
omap_mmc_init(0);
|
||||
diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
|
||||
index 47ec39f..dc611ca 100644
|
||||
--- a/include/configs/omap3_evm.h
|
||||
+++ b/include/configs/omap3_evm.h
|
||||
@@ -84,6 +84,13 @@
|
||||
#define CONFIG_GENERIC_MMC
|
||||
#define CONFIG_OMAP_HSMMC
|
||||
#define CONFIG_DOS_PARTITION
|
||||
+/* SPL */
|
||||
+#define CONFIG_SPL_MMC_SUPPORT
|
||||
+#define CONFIG_SPL_FAT_SUPPORT
|
||||
+#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
|
||||
+#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */
|
||||
+#define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1
|
||||
+#define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img"
|
||||
|
||||
/* USB
|
||||
*
|
||||
@@ -94,6 +101,26 @@
|
||||
#define CONFIG_MUSB_HCD
|
||||
/* #define CONFIG_MUSB_UDC */
|
||||
|
||||
+/* NAND SPL */
|
||||
+#define CONFIG_SPL_NAND_SIMPLE
|
||||
+#define CONFIG_SPL_NAND_SUPPORT
|
||||
+#define CONFIG_SYS_NAND_5_ADDR_CYCLE
|
||||
+#define CONFIG_SYS_NAND_PAGE_COUNT 64
|
||||
+#define CONFIG_SYS_NAND_PAGE_SIZE 2048
|
||||
+#define CONFIG_SYS_NAND_OOBSIZE 64
|
||||
+#define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024)
|
||||
+#define CONFIG_SYS_NAND_BAD_BLOCK_POS 0
|
||||
+#define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\
|
||||
+ 10, 11, 12, 13}
|
||||
+#define CONFIG_SYS_NAND_ECCSIZE 512
|
||||
+#define CONFIG_SYS_NAND_ECCBYTES 3
|
||||
+#define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / \
|
||||
+ CONFIG_SYS_NAND_ECCSIZE)
|
||||
+#define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * \
|
||||
+ CONFIG_SYS_NAND_ECCSTEPS)
|
||||
+#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE
|
||||
+#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000
|
||||
+
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Include common board configuration
|
||||
* -----------------------------------------------------------------------------
|
||||
diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h
|
||||
index 54aa7a7..a2aeb76 100644
|
||||
--- a/include/configs/omap3_evm_common.h
|
||||
+++ b/include/configs/omap3_evm_common.h
|
||||
@@ -27,7 +27,6 @@
|
||||
#define CONFIG_SDRC /* The chip has SDRC controller */
|
||||
|
||||
#define CONFIG_OMAP3_EVM /* This is a OMAP3 EVM */
|
||||
-#define CONFIG_OMAP3_MICRON_DDR /* with MICRON DDR part */
|
||||
#define CONFIG_TWL4030_POWER /* with TWL4030 PMIC */
|
||||
|
||||
#undef CONFIG_USE_IRQ /* no support for IRQs */
|
||||
@@ -71,7 +70,6 @@
|
||||
*/
|
||||
#define CONFIG_NR_DRAM_BANKS 2
|
||||
#define PHYS_SDRAM_1 OMAP34XX_SDRC_CS0
|
||||
-#define PHYS_SDRAM_1_SIZE (32 << 20)
|
||||
#define PHYS_SDRAM_2 OMAP34XX_SDRC_CS1
|
||||
|
||||
/* SDRAM Bank Allocation method */
|
||||
@@ -289,4 +287,32 @@
|
||||
/* Uncomment to define the board revision statically */
|
||||
/* #define CONFIG_STATIC_BOARD_REV OMAP3EVM_BOARD_GEN_2 */
|
||||
|
||||
+/* Defines for SPL */
|
||||
+#define CONFIG_SPL
|
||||
+#define CONFIG_SPL_TEXT_BASE 0x40200800
|
||||
+#define CONFIG_SPL_MAX_SIZE (45 * 1024) /* 45 KB */
|
||||
+#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
+
|
||||
+#define CONFIG_SPL_BSS_START_ADDR 0x80000000
|
||||
+#define CONFIG_SPL_BSS_MAX_SIZE 0x80000 /* 512 KB */
|
||||
+
|
||||
+#define CONFIG_SPL_LIBCOMMON_SUPPORT
|
||||
+#define CONFIG_SPL_LIBDISK_SUPPORT
|
||||
+#define CONFIG_SPL_I2C_SUPPORT
|
||||
+#define CONFIG_SPL_LIBGENERIC_SUPPORT
|
||||
+#define CONFIG_SPL_SERIAL_SUPPORT
|
||||
+#define CONFIG_SPL_POWER_SUPPORT
|
||||
+#define CONFIG_SPL_OMAP3_ID_NAND
|
||||
+#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
|
||||
+
|
||||
+/*
|
||||
+ * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM
|
||||
+ * 64 bytes before this address should be set aside for u-boot.img's
|
||||
+ * header. That is 0x800FFFC0--0x80100000 should not be used for any
|
||||
+ * other needs.
|
||||
+ */
|
||||
+#define CONFIG_SYS_TEXT_BASE 0x80100000
|
||||
+#define CONFIG_SYS_SPL_MALLOC_START 0x80208000
|
||||
+#define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000
|
||||
+
|
||||
#endif /* __OMAP3_EVM_COMMON_H */
|
||||
diff --git a/include/configs/omap3_evm_quick_mmc.h b/include/configs/omap3_evm_quick_mmc.h
|
||||
index 691e4c2..912da7d 100644
|
||||
--- a/include/configs/omap3_evm_quick_mmc.h
|
||||
+++ b/include/configs/omap3_evm_quick_mmc.h
|
||||
@@ -88,4 +88,14 @@
|
||||
"root=/dev/mmcblk0p2 rw " \
|
||||
"rootfstype=ext3 rootwait"
|
||||
|
||||
+/*
|
||||
+ * SPL
|
||||
+ */
|
||||
+#define CONFIG_SPL_MMC_SUPPORT
|
||||
+#define CONFIG_SPL_FAT_SUPPORT
|
||||
+#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
|
||||
+#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */
|
||||
+#define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1
|
||||
+#define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img"
|
||||
+
|
||||
#endif /* __OMAP3_EVM_QUICK_MMC_H */
|
||||
diff --git a/include/configs/omap3_evm_quick_nand.h b/include/configs/omap3_evm_quick_nand.h
|
||||
index 2d18314..2f879c0 100644
|
||||
--- a/include/configs/omap3_evm_quick_nand.h
|
||||
+++ b/include/configs/omap3_evm_quick_nand.h
|
||||
@@ -76,4 +76,26 @@
|
||||
"root=/dev/mtdblock4 rw " \
|
||||
"rootfstype=jffs2 "
|
||||
|
||||
+/*
|
||||
+ * SPL
|
||||
+ */
|
||||
+#define CONFIG_SPL_NAND_SIMPLE
|
||||
+#define CONFIG_SPL_NAND_SUPPORT
|
||||
+#define CONFIG_SYS_NAND_5_ADDR_CYCLE
|
||||
+#define CONFIG_SYS_NAND_PAGE_COUNT 64
|
||||
+#define CONFIG_SYS_NAND_PAGE_SIZE 2048
|
||||
+#define CONFIG_SYS_NAND_OOBSIZE 64
|
||||
+#define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024)
|
||||
+#define CONFIG_SYS_NAND_BAD_BLOCK_POS 0
|
||||
+#define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\
|
||||
+ 10, 11, 12, 13}
|
||||
+#define CONFIG_SYS_NAND_ECCSIZE 512
|
||||
+#define CONFIG_SYS_NAND_ECCBYTES 3
|
||||
+#define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / \
|
||||
+ CONFIG_SYS_NAND_ECCSIZE)
|
||||
+#define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * \
|
||||
+ CONFIG_SYS_NAND_ECCSTEPS)
|
||||
+#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE
|
||||
+#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000
|
||||
+
|
||||
#endif /* __OMAP3_EVM_QUICK_NAND_H */
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,150 +0,0 @@
|
||||
From aff5a412e0353407420ed63246ea630988ebf469 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:48:10 +0000
|
||||
Subject: [PATCH 13/21] AM3517: Add SPL support
|
||||
|
||||
The only change of note is that we move from 0x80008000 to 0x80100000
|
||||
for CONFIG_SYS_TEXT_BASE
|
||||
|
||||
Cc: Vaibhav Hiremath <hvaibhav@ti.com>
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
board/logicpd/am3517evm/am3517evm.c | 2 +-
|
||||
board/logicpd/am3517evm/config.mk | 30 ------------------
|
||||
include/configs/am3517_evm.h | 57 +++++++++++++++++++++++++++++++++-
|
||||
3 files changed, 56 insertions(+), 33 deletions(-)
|
||||
delete mode 100644 board/logicpd/am3517evm/config.mk
|
||||
|
||||
diff --git a/board/logicpd/am3517evm/am3517evm.c b/board/logicpd/am3517evm/am3517evm.c
|
||||
index c0a006a..0a105bf 100644
|
||||
--- a/board/logicpd/am3517evm/am3517evm.c
|
||||
+++ b/board/logicpd/am3517evm/am3517evm.c
|
||||
@@ -76,7 +76,7 @@ void set_muxconf_regs(void)
|
||||
MUX_AM3517EVM();
|
||||
}
|
||||
|
||||
-#ifdef CONFIG_GENERIC_MMC
|
||||
+#if defined(CONFIG_GENERIC_MMC) && !defined(CONFIG_SPL_BUILD)
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
omap_mmc_init(0);
|
||||
diff --git a/board/logicpd/am3517evm/config.mk b/board/logicpd/am3517evm/config.mk
|
||||
deleted file mode 100644
|
||||
index 71ec5d0..0000000
|
||||
--- a/board/logicpd/am3517evm/config.mk
|
||||
+++ /dev/null
|
||||
@@ -1,30 +0,0 @@
|
||||
-#
|
||||
-# Author: Vaibhav Hiremath <hvaibhav@ti.com>
|
||||
-#
|
||||
-# Based on ti/evm/config.mk
|
||||
-#
|
||||
-# Copyright (C) 2010
|
||||
-# Texas Instruments Incorporated - http://www.ti.com/
|
||||
-#
|
||||
-# This program is free software; you can redistribute it and/or modify
|
||||
-# it under the terms of the GNU General Public License as published by
|
||||
-# the Free Software Foundation; 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
-#
|
||||
-# Physical Address:
|
||||
-# 8000'0000 (bank0)
|
||||
-# A000/0000 (bank1)
|
||||
-# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000
|
||||
-# (mem base + reserved)
|
||||
-
|
||||
-# For use with external or internal boots.
|
||||
-CONFIG_SYS_TEXT_BASE = 0x80008000
|
||||
diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h
|
||||
index 1c70b9d..4a1c72c 100644
|
||||
--- a/include/configs/am3517_evm.h
|
||||
+++ b/include/configs/am3517_evm.h
|
||||
@@ -63,7 +63,6 @@
|
||||
/*
|
||||
* DDR related
|
||||
*/
|
||||
-#define CONFIG_OMAP3_MICRON_DDR 1 /* Micron DDR */
|
||||
#define CONFIG_SYS_CS0_SIZE (256 * 1024 * 1024)
|
||||
|
||||
/*
|
||||
@@ -273,7 +272,6 @@
|
||||
*/
|
||||
#define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */
|
||||
#define PHYS_SDRAM_1 OMAP34XX_SDRC_CS0
|
||||
-#define PHYS_SDRAM_1_SIZE (32 << 20) /* at least 32 MiB */
|
||||
#define PHYS_SDRAM_2 OMAP34XX_SDRC_CS1
|
||||
|
||||
/* SDRAM Bank Allocation method */
|
||||
@@ -331,4 +329,59 @@
|
||||
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \
|
||||
CONFIG_SYS_INIT_RAM_SIZE - \
|
||||
GENERATED_GBL_DATA_SIZE)
|
||||
+
|
||||
+/* Defines for SPL */
|
||||
+#define CONFIG_SPL
|
||||
+#define CONFIG_SPL_NAND_SIMPLE
|
||||
+#define CONFIG_SPL_TEXT_BASE 0x40200800
|
||||
+#define CONFIG_SPL_MAX_SIZE (45 * 1024)
|
||||
+#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
+
|
||||
+#define CONFIG_SPL_BSS_START_ADDR 0x80000000
|
||||
+#define CONFIG_SPL_BSS_MAX_SIZE 0x80000 /* 512 KB */
|
||||
+
|
||||
+#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
|
||||
+#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */
|
||||
+#define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1
|
||||
+#define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img"
|
||||
+
|
||||
+#define CONFIG_SPL_LIBCOMMON_SUPPORT
|
||||
+#define CONFIG_SPL_LIBDISK_SUPPORT
|
||||
+#define CONFIG_SPL_I2C_SUPPORT
|
||||
+#define CONFIG_SPL_LIBGENERIC_SUPPORT
|
||||
+#define CONFIG_SPL_MMC_SUPPORT
|
||||
+#define CONFIG_SPL_FAT_SUPPORT
|
||||
+#define CONFIG_SPL_SERIAL_SUPPORT
|
||||
+#define CONFIG_SPL_NAND_SUPPORT
|
||||
+#define CONFIG_SPL_POWER_SUPPORT
|
||||
+#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
|
||||
+
|
||||
+/* NAND boot config */
|
||||
+#define CONFIG_SYS_NAND_5_ADDR_CYCLE
|
||||
+#define CONFIG_SYS_NAND_PAGE_COUNT 64
|
||||
+#define CONFIG_SYS_NAND_PAGE_SIZE 2048
|
||||
+#define CONFIG_SYS_NAND_OOBSIZE 64
|
||||
+#define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024)
|
||||
+#define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS
|
||||
+#define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\
|
||||
+ 10, 11, 12, 13}
|
||||
+#define CONFIG_SYS_NAND_ECCSIZE 512
|
||||
+#define CONFIG_SYS_NAND_ECCBYTES 3
|
||||
+#define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / \
|
||||
+ CONFIG_SYS_NAND_ECCSIZE)
|
||||
+#define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * \
|
||||
+ CONFIG_SYS_NAND_ECCSTEPS)
|
||||
+#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE
|
||||
+#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000
|
||||
+
|
||||
+/*
|
||||
+ * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM
|
||||
+ * 64 bytes before this address should be set aside for u-boot.img's
|
||||
+ * header. That is 0x800FFFC0--0x80100000 should not be used for any
|
||||
+ * other needs.
|
||||
+ */
|
||||
+#define CONFIG_SYS_TEXT_BASE 0x80100000
|
||||
+#define CONFIG_SYS_SPL_MALLOC_START 0x80208000
|
||||
+#define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000
|
||||
+
|
||||
#endif /* __CONFIG_H */
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,150 +0,0 @@
|
||||
From 04567bb3a9e3b8aefe2a58c339c592c4b62b79d3 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Rini <trini@ti.com>
|
||||
Date: Fri, 18 Nov 2011 12:48:11 +0000
|
||||
Subject: [PATCH 14/21] AM3517 CraneBoard: Add SPL support
|
||||
|
||||
The only change of note is that we move from 0x80008000 to 0x80100000
|
||||
for CONFIG_SYS_TEXT_BASE
|
||||
|
||||
Cc: Nagendra T S <nagendra@mistralsolutions.com>
|
||||
Tested-by: Koen Kooi <k-kooi@ti.com>
|
||||
Signed-off-by: Tom Rini <trini@ti.com>
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
board/ti/am3517crane/am3517crane.c | 2 +-
|
||||
board/ti/am3517crane/config.mk | 29 ------------------
|
||||
include/configs/am3517_crane.h | 57 ++++++++++++++++++++++++++++++++++-
|
||||
3 files changed, 56 insertions(+), 32 deletions(-)
|
||||
delete mode 100644 board/ti/am3517crane/config.mk
|
||||
|
||||
diff --git a/board/ti/am3517crane/am3517crane.c b/board/ti/am3517crane/am3517crane.c
|
||||
index cd5683d..436645a 100644
|
||||
--- a/board/ti/am3517crane/am3517crane.c
|
||||
+++ b/board/ti/am3517crane/am3517crane.c
|
||||
@@ -75,7 +75,7 @@ void set_muxconf_regs(void)
|
||||
MUX_AM3517CRANE();
|
||||
}
|
||||
|
||||
-#ifdef CONFIG_GENERIC_MMC
|
||||
+#if defined(CONFIG_GENERIC_MMC) && !defined(CONFIG_SPL_BUILD)
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
omap_mmc_init(0);
|
||||
diff --git a/board/ti/am3517crane/config.mk b/board/ti/am3517crane/config.mk
|
||||
deleted file mode 100644
|
||||
index c6a18b5..0000000
|
||||
--- a/board/ti/am3517crane/config.mk
|
||||
+++ /dev/null
|
||||
@@ -1,29 +0,0 @@
|
||||
-#
|
||||
-# Author: Srinath R <srinath@mistralsolutions.com>
|
||||
-#
|
||||
-# Based on logicpd/am3517evm/config.mk
|
||||
-#
|
||||
-# Copyright (C) 2011 Mistral Solutions Pvt Ltd
|
||||
-#
|
||||
-# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
-#
|
||||
-# Physical Address:
|
||||
-# 8000'0000 (bank0)
|
||||
-# A000/0000 (bank1)
|
||||
-# Linux-Kernel is expected to be at 8000'8000, entry 8000'8000
|
||||
-# (mem base + reserved)
|
||||
-
|
||||
-# For use with external or internal boots.
|
||||
-CONFIG_SYS_TEXT_BASE = 0x80008000
|
||||
diff --git a/include/configs/am3517_crane.h b/include/configs/am3517_crane.h
|
||||
index 8842a18..68cbf37 100644
|
||||
--- a/include/configs/am3517_crane.h
|
||||
+++ b/include/configs/am3517_crane.h
|
||||
@@ -64,7 +64,6 @@
|
||||
/*
|
||||
* DDR related
|
||||
*/
|
||||
-#define CONFIG_OMAP3_MICRON_DDR 1 /* Micron DDR */
|
||||
#define CONFIG_SYS_CS0_SIZE (256 * 1024 * 1024)
|
||||
|
||||
/*
|
||||
@@ -274,7 +273,6 @@
|
||||
*/
|
||||
#define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */
|
||||
#define PHYS_SDRAM_1 OMAP34XX_SDRC_CS0
|
||||
-#define PHYS_SDRAM_1_SIZE (32 << 20) /* at least 32 MiB */
|
||||
#define PHYS_SDRAM_2 OMAP34XX_SDRC_CS1
|
||||
|
||||
/* SDRAM Bank Allocation method */
|
||||
@@ -330,4 +328,59 @@
|
||||
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \
|
||||
CONFIG_SYS_INIT_RAM_SIZE - \
|
||||
GENERATED_GBL_DATA_SIZE)
|
||||
+
|
||||
+/* Defines for SPL */
|
||||
+#define CONFIG_SPL
|
||||
+#define CONFIG_SPL_NAND_SIMPLE
|
||||
+#define CONFIG_SPL_TEXT_BASE 0x40200800
|
||||
+#define CONFIG_SPL_MAX_SIZE (45 * 1024)
|
||||
+#define CONFIG_SPL_STACK LOW_LEVEL_SRAM_STACK
|
||||
+
|
||||
+#define CONFIG_SPL_BSS_START_ADDR 0x80000000
|
||||
+#define CONFIG_SPL_BSS_MAX_SIZE 0x80000 /* 512 KB */
|
||||
+
|
||||
+#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
|
||||
+#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x200 /* 256 KB */
|
||||
+#define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION 1
|
||||
+#define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME "u-boot.img"
|
||||
+
|
||||
+#define CONFIG_SPL_LIBCOMMON_SUPPORT
|
||||
+#define CONFIG_SPL_LIBDISK_SUPPORT
|
||||
+#define CONFIG_SPL_I2C_SUPPORT
|
||||
+#define CONFIG_SPL_LIBGENERIC_SUPPORT
|
||||
+#define CONFIG_SPL_MMC_SUPPORT
|
||||
+#define CONFIG_SPL_FAT_SUPPORT
|
||||
+#define CONFIG_SPL_SERIAL_SUPPORT
|
||||
+#define CONFIG_SPL_NAND_SUPPORT
|
||||
+#define CONFIG_SPL_POWER_SUPPORT
|
||||
+#define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
|
||||
+
|
||||
+/* NAND boot config */
|
||||
+#define CONFIG_SYS_NAND_5_ADDR_CYCLE
|
||||
+#define CONFIG_SYS_NAND_PAGE_COUNT 64
|
||||
+#define CONFIG_SYS_NAND_PAGE_SIZE 2048
|
||||
+#define CONFIG_SYS_NAND_OOBSIZE 64
|
||||
+#define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024)
|
||||
+#define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS
|
||||
+#define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9,\
|
||||
+ 10, 11, 12, 13}
|
||||
+#define CONFIG_SYS_NAND_ECCSIZE 512
|
||||
+#define CONFIG_SYS_NAND_ECCBYTES 3
|
||||
+#define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / \
|
||||
+ CONFIG_SYS_NAND_ECCSIZE)
|
||||
+#define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * \
|
||||
+ CONFIG_SYS_NAND_ECCSTEPS)
|
||||
+#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE
|
||||
+#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000
|
||||
+
|
||||
+/*
|
||||
+ * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM
|
||||
+ * 64 bytes before this address should be set aside for u-boot.img's
|
||||
+ * header. That is 0x800FFFC0--0x80100000 should not be used for any
|
||||
+ * other needs.
|
||||
+ */
|
||||
+#define CONFIG_SYS_TEXT_BASE 0x80100000
|
||||
+#define CONFIG_SYS_SPL_MALLOC_START 0x80208000
|
||||
+#define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000
|
||||
+
|
||||
#endif /* __CONFIG_H */
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
From 3fe471d34ef6575bc49c9f85ed74368e3ac25ad6 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jdk@ti.com>
|
||||
Date: Sun, 18 Sep 2011 12:16:31 -0400
|
||||
Subject: [PATCH 15/21] HACK: beagleboard: config: disable cache for USB
|
||||
|
||||
There is currently a bug in the USB code for the BeagleBoard that is
|
||||
worked-around by disabling the cache.
|
||||
|
||||
See http://comments.gmane.org/gmane.comp.boot-loaders.u-boot/108224
|
||||
|
||||
Signed-off-by: Jason Kridner <jdk@ti.com>
|
||||
---
|
||||
include/configs/omap3_beagle.h | 4 ++++
|
||||
1 files changed, 4 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index 941ec38..569d747 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -36,6 +36,10 @@
|
||||
#define CONFIG_OMAP3430 1 /* which is in a 3430 */
|
||||
#define CONFIG_OMAP3_BEAGLE 1 /* working with BEAGLE */
|
||||
|
||||
+/* TODO: WORK-AROUND for bug in BeagleBoard-specific USB */
|
||||
+#define CONFIG_SYS_ICACHE_OFF
|
||||
+#define CONFIG_SYS_DCACHE_OFF
|
||||
+
|
||||
#define CONFIG_SDRC /* The chip has SDRC controller */
|
||||
|
||||
#include <asm/arch/cpu.h> /* get chip and board defs */
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
From e5bf80f2fb4af9a2627541cb8bc8686e8a9e8404 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jdk@ti.com>
|
||||
Date: Tue, 6 Sep 2011 18:56:11 -0400
|
||||
Subject: [PATCH 16/21] beagleboard: config: enable gpio command
|
||||
|
||||
Now that we are using the generic GPIO framework, enable the command.
|
||||
---
|
||||
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 569d747..337ca29 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -164,6 +164,7 @@
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_SETEXPR /* Evaluate expressions */
|
||||
+#define CONFIG_CMD_GPIO
|
||||
|
||||
#undef CONFIG_CMD_FLASH /* flinfo, erase, protect */
|
||||
#undef CONFIG_CMD_FPGA /* FPGA configuration Support */
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
From 7ba57c9e6372c067609797cbac53f8a14691fc2d Mon Sep 17 00:00:00 2001
|
||||
From: Jason Kridner <jdk@ti.com>
|
||||
Date: Wed, 7 Sep 2011 08:56:48 -0400
|
||||
Subject: [PATCH 17/21] Increased some timeout durations for MMC and EHCI
|
||||
|
||||
---
|
||||
drivers/mmc/omap_hsmmc.c | 2 +-
|
||||
include/usb.h | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
|
||||
index c38b9e6..5054a21 100644
|
||||
--- a/drivers/mmc/omap_hsmmc.c
|
||||
+++ b/drivers/mmc/omap_hsmmc.c
|
||||
@@ -34,7 +34,7 @@
|
||||
#include <asm/arch/sys_proto.h>
|
||||
|
||||
/* If we fail after 1 second wait, something is really bad */
|
||||
-#define MAX_RETRY_MS 1000
|
||||
+#define MAX_RETRY_MS 5000
|
||||
|
||||
static int mmc_read_data(struct hsmmc *mmc_base, char *buf, unsigned int size);
|
||||
static int mmc_write_data(struct hsmmc *mmc_base, const char *buf,
|
||||
diff --git a/include/usb.h b/include/usb.h
|
||||
index 06170cd..0d99b92 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 : 1000)
|
||||
+#define USB_TIMEOUT_MS(pipe) (usb_pipebulk(pipe) ? 5000 : 5000)
|
||||
|
||||
/* device request (setup) */
|
||||
struct devrequest {
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
From daa9fa5f66a1b370072f1e91fd51c6a5e3d81fd8 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Sun, 27 Nov 2011 14:43:58 +0100
|
||||
Subject: [PATCH 18/21] beagleboard: mount rootfs RO instead of RW at boot
|
||||
|
||||
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 337ca29..186586f 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -226,7 +226,7 @@
|
||||
"dvimode=640x480MR-16@60\0" \
|
||||
"defaultdisplay=dvi\0" \
|
||||
"mmcdev=0\0" \
|
||||
- "mmcroot=/dev/mmcblk0p2 rw\0" \
|
||||
+ "mmcroot=/dev/mmcblk0p2 ro\0" \
|
||||
"mmcrootfstype=ext3 rootwait\0" \
|
||||
"nandroot=ubi0:rootfs ubi.mtd=4\0" \
|
||||
"nandrootfstype=ubifs\0" \
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
From ceb3c55ff226f068edb369342e3bd2db70ca8827 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Sun, 27 Nov 2011 14:46:04 +0100
|
||||
Subject: [PATCH 19/21] BeagleBoard: config: Really switch to ttyO2
|
||||
|
||||
The previous commit changed it to "zero two" instead of the proper "Oh two". This was completely broken!
|
||||
|
||||
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 186586f..833f86a 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -217,7 +217,7 @@
|
||||
"rdaddr=0x81000000\0" \
|
||||
"usbtty=cdc_acm\0" \
|
||||
"bootfile=uImage.beagle\0" \
|
||||
- "console=tty02,115200n8\0" \
|
||||
+ "console=ttyO2,115200n8\0" \
|
||||
"mpurate=auto\0" \
|
||||
"buddy=none "\
|
||||
"optargs=\0" \
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
From e368b3cc2b281146c7848a2044e8a7d457ea1e38 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Sat, 8 Oct 2011 21:56:35 +0200
|
||||
Subject: [PATCH 20/21] beagleboard: add support for TCT Beacon board
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
board/ti/beagle/beagle.c | 10 ++++++++++
|
||||
board/ti/beagle/beagle.h | 7 +++++++
|
||||
2 files changed, 17 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 6a457cb..9c2e6d0 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -59,11 +59,14 @@ extern volatile struct ehci_hcor *hcor;
|
||||
#define TWL4030_I2C_BUS 0
|
||||
#define EXPANSION_EEPROM_I2C_BUS 1
|
||||
#define EXPANSION_EEPROM_I2C_ADDRESS 0x50
|
||||
+#define DVI_EDID_I2C_BUS 2
|
||||
+#define DVI_EDID_I2C_ADDRESS 0x50
|
||||
|
||||
#define TINCANTOOLS_ZIPPY 0x01000100
|
||||
#define TINCANTOOLS_ZIPPY2 0x02000100
|
||||
#define TINCANTOOLS_TRAINER 0x04000100
|
||||
#define TINCANTOOLS_SHOWDOG 0x03000100
|
||||
+#define TINCANTOOLS_BEACON 0x05000100
|
||||
#define KBADC_BEAGLEFPGA 0x01000600
|
||||
#define LW_BEAGLETOUCH 0x01000700
|
||||
#define BRAINMUX_LCDOG 0x01000800
|
||||
@@ -351,6 +354,13 @@ int misc_init_r(void)
|
||||
setenv("defaultdisplay", "showdoglcd");
|
||||
setenv("buddy", "showdog");
|
||||
break;
|
||||
+ case TINCANTOOLS_BEACON:
|
||||
+ printf("Recognized Tincantools Beacon board (rev %d %s)\n",
|
||||
+ expansion_config.revision,
|
||||
+ expansion_config.fab_revision);
|
||||
+ MUX_TINCANTOOLS_BEACON();
|
||||
+ setenv("buddy", "beacon");
|
||||
+ break;
|
||||
case KBADC_BEAGLEFPGA:
|
||||
printf("Recognized KBADC Beagle FPGA board\n");
|
||||
MUX_KBADC_BEAGLEFPGA();
|
||||
diff --git a/board/ti/beagle/beagle.h b/board/ti/beagle/beagle.h
|
||||
index 18bfaa8..6a9ad73 100644
|
||||
--- a/board/ti/beagle/beagle.h
|
||||
+++ b/board/ti/beagle/beagle.h
|
||||
@@ -456,6 +456,13 @@ const omap3_sysinfo sysinfo = {
|
||||
MUX_VAL(CP(MCBSP3_CLKX), (IEN | PTU | EN | M4)) /*GPIO_141*/\
|
||||
MUX_VAL(CP(MCBSP1_CLKX), (IEN | PTU | EN | M4)) /*GPIO_162*/
|
||||
|
||||
+#define MUX_TINCANTOOLS_BEACON() \
|
||||
+ MUX_VAL(CP(MMC2_DAT3), (IEN | PTU | EN | M4)) /*GPIO_135*/\
|
||||
+ MUX_VAL(CP(MMC2_DAT4), (IEN | PTU | EN | M4)) /*GPIO_136*/\
|
||||
+ MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M4)) /*GPIO_137*/\
|
||||
+ MUX_VAL(CP(MMC2_DAT6), (IEN | PTU | EN | M4)) /*GPIO_138*/\
|
||||
+ MUX_VAL(CP(MMC2_DAT7), (IEN | PTU | EN | M4)) /*GPIO_139*/\
|
||||
+
|
||||
#define MUX_KBADC_BEAGLEFPGA() \
|
||||
MUX_VAL(CP(MCBSP1_CLKR), (IEN | PTU | DIS | M1)) /*MCSPI4_CLK*/\
|
||||
MUX_VAL(CP(MCBSP1_DX), (IDIS | PTU | DIS | M1)) /*MCSPI4_SIMO*/\
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,105 +0,0 @@
|
||||
From 78fd05bd746f623de3150469a9f6f4e9531a17c4 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Sun, 27 Nov 2011 14:53:56 +0100
|
||||
Subject: [PATCH 21/21] beagleboard: add support for scanning loop-through expansionboards like the uLCD-lite
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
board/ti/beagle/beagle.c | 30 ++++++++++++++++++++++++++----
|
||||
include/configs/omap3_beagle.h | 2 ++
|
||||
2 files changed, 28 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
|
||||
index 9c2e6d0..5ea50d1 100644
|
||||
--- a/board/ti/beagle/beagle.c
|
||||
+++ b/board/ti/beagle/beagle.c
|
||||
@@ -74,6 +74,7 @@ extern volatile struct ehci_hcor *hcor;
|
||||
#define BBTOYS_WIFI 0x01000B00
|
||||
#define BBTOYS_VGA 0x02000B00
|
||||
#define BBTOYS_LCD 0x03000B00
|
||||
+#define BBTOYS_ULCD 0x04000B00
|
||||
#define BEAGLE_NO_EEPROM 0xffffffff
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
@@ -209,18 +210,18 @@ void get_board_mem_timings(u32 *mcfg, u32 *ctrla, u32 *ctrlb, u32 *rfr_ctrl,
|
||||
* bus 1 for the availability of an AT24C01B serial EEPROM.
|
||||
* returns the device_vendor field from the EEPROM
|
||||
*/
|
||||
-unsigned int get_expansion_id(void)
|
||||
+unsigned int get_expansion_id(int eeprom_address)
|
||||
{
|
||||
i2c_set_bus_num(EXPANSION_EEPROM_I2C_BUS);
|
||||
|
||||
/* return BEAGLE_NO_EEPROM if eeprom doesn't respond */
|
||||
- if (i2c_probe(EXPANSION_EEPROM_I2C_ADDRESS) == 1) {
|
||||
+ if (i2c_probe(eeprom_address) == 1) {
|
||||
i2c_set_bus_num(TWL4030_I2C_BUS);
|
||||
return BEAGLE_NO_EEPROM;
|
||||
}
|
||||
|
||||
/* read configuration data */
|
||||
- i2c_read(EXPANSION_EEPROM_I2C_ADDRESS, 0, 1, (u8 *)&expansion_config,
|
||||
+ i2c_read(eeprom_address, 0, 1, (u8 *)&expansion_config,
|
||||
sizeof(expansion_config));
|
||||
|
||||
i2c_set_bus_num(TWL4030_I2C_BUS);
|
||||
@@ -323,7 +324,7 @@ int misc_init_r(void)
|
||||
TWL4030_PM_RECEIVER_DEV_GRP_P1);
|
||||
}
|
||||
|
||||
- switch (get_expansion_id()) {
|
||||
+ switch (get_expansion_id(EXPANSION_EEPROM_I2C_ADDRESS)) {
|
||||
case TINCANTOOLS_ZIPPY:
|
||||
printf("Recognized Tincantools Zippy board (rev %d %s)\n",
|
||||
expansion_config.revision,
|
||||
@@ -402,6 +403,27 @@ int misc_init_r(void)
|
||||
if (expansion_config.content == 1)
|
||||
setenv(expansion_config.env_var, expansion_config.env_setting);
|
||||
|
||||
+ /* Scan 0x51 as well for loop-thru boards */
|
||||
+ switch (get_expansion_id(EXPANSION_EEPROM_I2C_ADDRESS + 1)) {
|
||||
+ case BBTOYS_ULCD:
|
||||
+ printf("Recognized BeagleBoardToys uLCD-lite board\n");
|
||||
+ setenv("buddy2", "bbtoys-ulcd");
|
||||
+ setenv("defaultdisplay", "lcd");
|
||||
+ setenv("uenvcmd", "i2c dev 1 ; i2c mw 40 00 00; i2c mw 40 04 80; i2c mw 40 0d 05; i2c mw 40 0d 15");
|
||||
+ break;
|
||||
+ case BEAGLE_NO_EEPROM:
|
||||
+ printf("No EEPROM on expansion board\n");
|
||||
+ setenv("buddy2", "none");
|
||||
+ break;
|
||||
+ default:
|
||||
+ printf("Unrecognized expansion board: %x\n",
|
||||
+ expansion_config.device_vendor);
|
||||
+ setenv("buddy2", "unknown");
|
||||
+ }
|
||||
+
|
||||
+ if (expansion_config.content == 1)
|
||||
+ setenv(expansion_config.env_var, expansion_config.env_setting);
|
||||
+
|
||||
twl4030_power_init();
|
||||
switch (get_board_revision()) {
|
||||
case REVISION_XM_A:
|
||||
diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
|
||||
index 833f86a..1cc46dc 100644
|
||||
--- a/include/configs/omap3_beagle.h
|
||||
+++ b/include/configs/omap3_beagle.h
|
||||
@@ -220,6 +220,7 @@
|
||||
"console=ttyO2,115200n8\0" \
|
||||
"mpurate=auto\0" \
|
||||
"buddy=none "\
|
||||
+ "buddy2=none "\
|
||||
"optargs=\0" \
|
||||
"camera=none\0" \
|
||||
"vram=12M\0" \
|
||||
@@ -236,6 +237,7 @@
|
||||
"${optargs} " \
|
||||
"mpurate=${mpurate} " \
|
||||
"buddy=${buddy} "\
|
||||
+ "buddy2=${buddy2} "\
|
||||
"camera=${camera} "\
|
||||
"vram=${vram} " \
|
||||
"omapfb.mode=dvi:${dvimode} " \
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
From 65ba75f46ec4c9749996ec290fa1c5e4e6264ce3 Mon Sep 17 00:00:00 2001
|
||||
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||
Date: Tue, 1 Nov 2011 12:21:07 +0100
|
||||
Subject: [PATCH 01/10] am335x_evm: add option to boot kernel from /boot in
|
||||
ext2/3 filesystem
|
||||
|
||||
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||
---
|
||||
include/configs/am335x_evm.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
|
||||
index 44a8500..83ccb5a 100755
|
||||
--- a/include/configs/am335x_evm.h
|
||||
+++ b/include/configs/am335x_evm.h
|
||||
@@ -75,6 +75,7 @@
|
||||
"importbootenv=echo Importing environment from mmc ...; " \
|
||||
"env import -t $loadaddr $filesize\0" \
|
||||
"mmc_load_uimage=fatload mmc ${mmc_dev} ${kloadaddr} ${bootfile}\0" \
|
||||
+ "mmc_load_uimage_ext2=ext2load ${mmc_dev} ${kloadaddr} /boot/${bootfile}\0" \
|
||||
"optargs=\0" \
|
||||
"bootargs_defaults=setenv bootargs " \
|
||||
"console=${console} " \
|
||||
--
|
||||
1.7.10
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user