Commit Graph

6238 Commits

Author SHA1 Message Date
Sourav Poddar 110ea2c838 configs: am43x-evm: Add mtd parts info for qspi.
Add MTD partition info for qspi on am43x epos evm

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
2014-01-27 09:26:31 -05:00
Dave Gerlach e2176acbb4 ARM: AM43xx: GP-EVM: Correct GPIO used for VTT regulator control
Schematic indicates GPIO5_7 is to be used for VTT regulator control
rather than GPIO0_21 so modify enable_vtt_regulator to reflect this.
Without this some boards will experience DDR3 corruption and fail to
boot.

Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
2014-01-15 14:50:50 -05:00
Lokesh Vutla b2b97e8282 ARM: AM43xx: Enable DDR dynamic IO power down
This patch enables dynamically powering down the
IO receiver when not performing a read.
This optimizes both active and standby power consumption.
This is derived from a patch that is done on AM335x[1]

[1] http://arago-project.org/git/projects/?p=u-boot-am33x.git;a=commit;h=6a9ee4bc72ece53fabf01825605fba3d71d5feb2

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2013-12-20 10:57:09 -05:00
Tom Rini 530106aac1 am335x_evm: Fix NOR booting
All parts of the pinmux information must be in the first 4 KiB.  In
order to avoid some rather ugly linker script changes to ensure a
specific data segment was early enough, go back to asm for these pinmux
changes.

Signed-off-by: Tom Rini <trini@ti.com>
2013-12-10 10:08:28 -05:00
Pekon Gupta 1a59ceb159 dra7xx_evm: add support for parallel NAND
This patch
 - Adds pin-mux for x16 parallel NAND device (MT29F2G16AAD) present on DRA7xx_EVM
 - Populate MTD partition table which needs same as kernel DTS for DRA7xx_EVM.
 - Populate other CONFIG_xx parameters required for NAND Boot on DRA7xx

Important: NAND device on DRA7xx_EVM board (MT29F2G16AAD) is a x16 device.
  To support NAND device with bus-width=16 bits, GPMC driver needs additional
  hack as following

diff --git a/arch/arm/cpu/armv7/omap-common/mem-common.c b/arch/arm/cpu/armv7/omap-common/mem-common.c
index 8e7352b..9b14927 100644
--- a/arch/arm/cpu/armv7/omap-common/mem-common.c
+++ b/arch/arm/cpu/armv7/omap-common/mem-common.c
@@ -91,7 +91,7 @@ void gpmc_init(void)
        u32 base = CONFIG_SYS_FLASH_BASE;
 #elif defined(CONFIG_NAND)
 /* configure GPMC for NAND */
-       const u32  gpmc_regs[GPMC_MAX_REG] = {  M_NAND_GPMC_CONFIG1,
+       const u32  gpmc_regs[GPMC_MAX_REG] = {  M_NAND_GPMC_CONFIG1 | 0x1000,
                                                M_NAND_GPMC_CONFIG2,
                                                M_NAND_GPMC_CONFIG3,
                                                M_NAND_GPMC_CONFIG4,

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-12-03 23:01:56 +05:30
Pekon Gupta cab134bad2 dra7xx: updated macro used in pin-mux configuration
This patch introduces simple user-friendly macro for configuring pin-mux
- PIN_INPUT_PULLDOWN, PIN_INPUT_PULLUP, PIN_INPUT_NOPULL
- PIN_OUTPUT_PULLDOWN, PIN_OUTPUT_PULLUP, PIN_OUTPUT_NOPULL
- PIN_MUX_MODE(x): x is mode number

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-12-03 16:38:10 +05:30
Pekon Gupta 7304e05470 am43xx_evm: add support for parallel NAND
This patch
 - Adds pin-mux for x8 parallel NAND device (MT29F4G08AB) present on AM43xx_EVM

 - As above NAND device has blocksize=256k, pagesize=4k, oobsize=224, so by
   design ROM code expects SPL to be flashed using BCH16 ECC scheme. Hence
   CONFIG_NAND_OMAP_ECCSCHEME = OMAP_ECC_BCH16_CODE_HW is enabled.

 - Specifies MTD partition table which needs same as kernel DTS for AM43xx_EVM.

 - Populates other CONFIG_xx parameters required for NAND Boot on AM43xx

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-12-03 16:37:50 +05:30
Mugunthan V N 726c782423 ARM: AM43xx: Add Ethernet boot support to SPL
Add Ethernet Boot support to SPL

Acked-by: Tom Rini <trini@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
2013-12-02 12:02:18 -05:00
Lokesh Vutla 56d8c207de ARM: AM4372: Update EMIF registers for DDR3
Updating EMIF_PHY_CTRL and adding EMIF_READ_WRITE_EXECUTION_THRESHOLD
registers.
In EMIF_PHY_CTRL:
Updating [4:0]READ_LATENCY to 8, because at higher frequencies like 400MHz the
read latency expected will be CL+3 as per tests from HW folks.
Clearing [19]PHY_DIS_CALIB_RST bit as this is used onl for debug
purpose. With out this resume is not working(Still waiting for PHY team to
come back for better explanation).

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2013-12-02 12:02:16 -05:00
pekon gupta e05f81d3eb mtd: nand: omap: move omap_gpmc.h from arch/arm/include/asm to drivers/mtd/nand
omap_gpmc.h is a generic header used by OMAP NAND driver for all TI platfoms.
Hence this file should be present in generic folder instead of architecture
specific include folder.
Build tested using: ./MAKEALL -s am33xx -s omap3 -s omap4 -s omap5

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-11-26 09:09:55 -05:00
pekon gupta 05473da64f board/ti/am335x/README: update for NAND boot
NAND boot mode on AM335x EVM has been verified, and steps
to use it has been documented and update in this README

Signed-off-by: Pekon Gupta <pekon@ti.com>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Acked-by: Tom Rini <trini@ti.com>
2013-11-26 09:09:46 -05:00
pekon gupta 6f2d6d7144 am335x: fix GPMC config for NAND and NOR SPL boot
GPMC controller is common IP to interface with both NAND and NOR flash devices.
Also, it supports max 8 chip-selects, which can be independently connected to
any of the devices.
But ROM code expects the boot-device to be connected to only chip-select[0].
Thus to resolve conflict between NOR and NAND boot. This patch:
- combines NOR and NAND configs spread in board files to common gpmc_init()
- configures GPMC based on boot-mode selected for SPL boot.

Signed-off-by: Pekon Gupta <pekon@ti.com>
2013-11-26 09:09:18 -05:00
Roger Quadros eef40eae2d ARM: dra7_evm: Add SATA support
The evm has a SATA port. Enable SATA configuration and
inititialize the SATA controller.

Signed-off-by: Roger Quadros <rogerq@ti.com>
2013-11-15 09:08:48 -05:00
Roger Quadros 6ff8bcd82a ARM: omap5_uevm: Add SATA support
The uevm has a SATA port. Inititialize the SATA controller.

Signed-off-by: Roger Quadros <rogerq@ti.com>
2013-11-15 09:08:48 -05:00
Tom Rini df561c5e68 am43xx: Re-sync emif4d5 for changes to support HW leveling on OMAP5
Cc: Sricharan R <r.sricharan@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
2013-11-07 14:46:17 -05:00
Tom Rini 6d64d17394 am33xx: Stop modifying certain EMIF4D registers
Based on the definitive guide to EMIF configuration[1] certain registers
that we have been modifying (and are documented registers) should be
left in their reset values rather than modified.  This has been tested
on AM335x GP EVM and Beaglebone White.

[1]: http://processors.wiki.ti.com/index.php/AM335x_EMIF_Configuration_tips
Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Cc: Javier Martinez Canillas <javier@dowhile0.org>
Cc: Heiko Schocher <hs@denx.de>
Cc: Matt Porter <matt.porter@linaro.org>
Cc: Lars Poeschel <poeschel@lemonage.de>
Signed-off-by: Tom Rini <trini@ti.com>
2013-11-07 12:16:41 -05:00
Tom Rini 452aa9a90e Revert "am335x_evm: Add check for non-0 profile on GP EVM, update fdtfile"
On further review, this change isn't helpful as our test environment
will likely blow away this information as part of ensuring an otherwise
known development environment, so just let them load the correct device
tree as needed.

This reverts commit bf9a9b6889.

Signed-off-by: Tom Rini <trini@ti.com>
2013-10-29 17:07:16 -04:00
Mugunthan V N 4cb60128f5 ARM: DRA7xx: add support for reading cpsw 2nd mac from efuse
Adding support for reading cpsw 2nd mac address from efuse and pass it
to kernel via dtb which will be used in dual emac mode of cpsw.
Also correct the bit masking of mac id read from the efuse.

Acked-by: Tom Rini <trini@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
2013-10-28 10:13:11 -04:00
Mugunthan V N cbd62b2105 ARM: AM335x: add support for reading cpsw 2nd mac address from efuse
Adding support for reading cpsw 2nd mac address from efuse and pass it
to kernel via dtb which will be used in dual emac mode of cpsw.
Also adding mii command support to am335x common config.

Acked-by: Tom Rini <trini@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
2013-10-28 10:13:11 -04:00
Tom Rini 000f7056ac TI:am33xx: Adapt the Siemens boards to phy_id -> phy_addr CPSW change
Cc: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
2013-10-28 09:29:56 -04:00
Mugunthan V N 4c977151f6 ARM: AM43xx: Add CPSW support to AM43xx EPOS and GP EVM
Adding support for CPSW to AM43xx EPOS nad GP EVM which is connected
to RMII and RGMII phy respectively and enable cpsw in config.

Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
2013-10-28 09:02:19 -04:00
Mugunthan V N 168cac21de drivers: net: cpsw: add support to have phy address from cpsw platform data
Some platforms like AM437x have different EVMs with different phy addresses,
so this patch adds support for passing phy address via cpsw plaform data.
Also renamed phy_id to phy_addr so better understanding of the code.

Reviewed-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
2013-10-28 09:01:47 -04:00
Sourav Poddar ab8574fa04 am437x_epos_evm: add SPL API, QSPI, and serial flash support
Enables support for SPI SPL, QSPI and Spansion serial flash device
on the EVM. Configures pin muxes for QSPI mode.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
2013-10-25 15:43:15 -04:00
Lokesh Vutla ddd9666cfc ARM: AM43xx: GP_EVM: Add support for DDR3
GP EVM has 1GB DDR3 attached(Part no: MT47H128M16RT-187E:C).
Adding details for the same.
Below is the brief description of DDR3 init sequence(SW leveling):
-> Enable VTT regulator
-> Configure VTP
-> Configure DDR IO settings
-> Disable initialization and refreshes until EMIF registers are programmed.
-> Program Timing registers
-> Program leveling registers
-> Program PHY control and Temp alert and ZQ config registers.
-> Enable initialization and refreshes and configure SDRAM CONFIG register

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2013-10-21 13:10:42 -04:00
Lokesh Vutla 2cde21e0ce ARM: AM43xx: EPOS_EVM: Add support for LPDDR2
AM4372 EPOS EVM has 1GB LPDDR2(Part no: MT42L256M32D2LG-25 WT:A)
Adding LPDDR2 init sequence and register details for the same.
Below is the brief description of LPDDR2 init sequence:
-> Configure VTP
-> Configure DDR IO settings
-> Disable initialization and refreshes until EMIF registers are programmed.
-> Program Timing registers
-> Program PHY control and Temp alert and ZQ config registers.
-> Enable initialization and refreshes and configure SDRAM CONFIG register
-> Wait till initialization is complete and the configure MR registers.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2013-10-21 13:10:42 -04:00
Lokesh Vutla 21107e0067 ARM: AM43xx: clocks: Add DPLL data for GP EVM
Adding DPLLs Multiplier and DIvider values for GP EVM
Following are the DPLL locking frequencies at OPP NOM
MPU locks at 600MHz
Core locks at 1000MHz
Per locks at 960MHz
DDR locks at 400MHz

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2013-10-21 13:10:42 -04:00
Lokesh Vutla 54f05c7eaa ARM: AM43xx: clocks: Update DPLL details for EPOS EVM
Updating the Multiplier and Dividers values for all DPLLs for EPOS EVM.
Following are the DPLL locking frequencies at OPP NOM:
MPU locks at 600MHz
Core locks at 1000MHz
Per locks at 960MHz
DDR locks at 266MHz

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2013-10-21 13:10:42 -04:00
Lokesh Vutla 796a0c3ac1 ARM: AM43xx: mux: Update mux data
Updating the mux data for UART, and adding data for i2c0 and mmc.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2013-10-21 13:10:42 -04:00
Sekhar Nori aa3e3c9812 ARM: AM43XX: Add CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG support
CONFIG_ENV_VARS_UBOOT_CONFIG, CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG and
CONFIG_BOARD_LATE_INIT is already set. Adding support to detect the
board. These variables are used by findfdt.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2013-10-21 13:10:41 -04:00
Sekhar Nori fcc9b1f737 ARM: AM43XX: board: add support for reading onboard EEPROM
Add support for reading onboard EEPROM to enable
board detection.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2013-10-21 13:10:41 -04:00
Tom Rini c1d2794eb3 ARM: AM33xx+: Enable D-CACHE on !CONFIG_SYS_DCACHE_OFF
Test on Beaglebone white over cpsw, usb ether and SD card (read and
write), performance increased, crc32 of data matches.

And also removing enable_caches definition from board/siemens file.

Signed-off-by: Tom Rini <trini@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2013-10-21 13:10:41 -04:00
Lokesh Vutla f53b6ae038 ARM: AM43xx: Adapt to ti_armv7_common.h config file
Use ti_armv7_common.h config file to inclde the common
configs.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2013-10-21 13:10:41 -04:00
Tom Rini bf9a9b6889 am335x_evm: Add check for non-0 profile on GP EVM, update fdtfile
Until we have device tree overlay support or something similar we need to
pass profile-specific device trees to the kernel.  Update the logic to
expose a profile_number variable and update findfdt to use
am335x-evm-profileN.dtb.  This is a TI SDK specific change as the answer
for upstream is to work towards device tree overlays or a similar
concept.

Signed-off-by: Tom Rini <trini@ti.com>
2013-10-18 11:44:00 -04:00
Tom Rini 979fac76b9 Merge branch 'next' of git://git.denx.de/u-boot-usb into ti-u-boot-2013.10 2013-10-16 17:39:00 -04:00
Wolfgang Denk 16641d52fc Coding Style cleanup: drop some excessive empty lines
Signed-off-by: Wolfgang Denk <wd@denx.de>
2013-10-14 16:06:54 -04:00
Wolfgang Denk d4c8aa9cb4 Coding Style cleanup: remove trailing empty lines
Signed-off-by: Wolfgang Denk <wd@denx.de>
2013-10-14 16:06:54 -04:00
Wolfgang Denk 93e1459641 Coding Style cleanup: replace leading SPACEs by TABs
Signed-off-by: Wolfgang Denk <wd@denx.de>
[trini: Drop changes for PEP 4 following python tools]
Signed-off-by: Tom Rini <trini@ti.com>
2013-10-14 16:06:54 -04:00
Wolfgang Denk 3765b3e7bd Coding Style cleanup: remove trailing white space
Signed-off-by: Wolfgang Denk <wd@denx.de>
2013-10-14 16:06:53 -04:00
Dan Murphy e84b8f6ce0 ARM: omap4-panda: Add MAC address creation for panda
Add a MAC address create based on the OMAP die ID registers.
Then poplulate the ethaddr enviroment variable so that the device
tree alias can be updated prior to boot.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
2013-10-14 16:06:53 -04:00
Tom Rini 4fa7613c50 Merge branch 'master' of git://git.denx.de/u-boot-arm 2013-10-14 11:20:32 -04:00
Dan Murphy 3b16f491a0 ARM: omap5-evm: Move MAC creation to misc_init
Move the MAC creation from the USB init to an function
that is called on every boot.  This will then populate the
usbethaddr mac that kernel driver can pick up from the
device tree blob.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
2013-10-12 03:14:36 +02:00
Dan Murphy 2dd9c82fdf usb: dra7xx: Add support for dra7xx xhci USB host
Add the support for the dra7xx xhci usb host.
dra7xx does not contain an EHCI controller so the headers
can be removed from the board file.

The xHCI host on dra7xx is connected to a usb2 phy so need to
add support to enable those clocks.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
2013-10-12 03:14:36 +02:00
Dan Murphy fa0a8071fa usb: omap5: Update the board_usb_init api
Recent patches declares board_usb_init function prototype for a new
usb architecture.

Turning on the OMAP_XHCI defines cause a redefinition compiler failure.
So update the board_usb_init to the latest prototype.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
2013-10-12 03:14:36 +02:00
Lukasz Majewski 79296e9ae6 samsung:common:thor: Define common Samsung code to handle THOR usb descriptor setup
Special, common to Samsung, function for altering usb descriptor's
idVendor and idProduct has been added.
For compatibility reasons (Win vs Linux) the THOR idProduct must be
different than the one for DFU/UMS.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
2013-10-12 03:14:35 +02:00
Lukasz Majewski e9489889e6 usb:g_dnl: Add name parameter to g_dnl_bind_fixup function
New parameter, namely *name has been added to g_dnl_bind_fixup().
It is necessary (for compatibility reasons) to assign new USB idProduct
and idVendor for different usb functions.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
2013-10-12 03:14:35 +02:00
Mateusz Zalega 0ba99a57d6 usb: new board-specific USB init interface
This commit unifies board-specific USB initialization implementations
under one symbol (usb_board_init), declaration of which is available in
usb.h.

New API allows selective initialization of USB controllers whenever needed.

Signed-off-by: Mateusz Zalega <m.zalega@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Lukasz Majewski <l.majewski@samsung.com>
2013-10-12 03:14:34 +02:00
Troy Kisky 3349af9702 nitrogen6x: add otg usb host/device mode support
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
2013-10-12 03:14:34 +02:00
Troy Kisky 08be43300c mx6: iomux: add GPR1 defines for use with nitrogen6x
Select GPIO1 as the USB OTG ID pin for Nitrogen6x

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
2013-10-12 03:14:34 +02:00
Dan Murphy c7e8106d65 OMAP5-uevm: USB: Add xHCI host contoller support
Add the call back into the board file for to enable
the SMPS10 VBUS regulator.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
2013-10-12 03:14:33 +02:00
Julius Werner 0a725a2da0 exynos: dts: Add USB VBUS GPIOs to the device tree
This patch adds a new samsung,vbus-gpio parameter to the device tree, in
preparation of replacing the currently hardcoded VBUS GPIO mechanism in
exynos5-dt.c with a device tree controlled solution, just as it already
exists in the Linux kernel.

Signed-off-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Marek Vasut <marex@denx.de>
2013-10-12 03:14:33 +02:00