02 Sep, 2015
4 commits
-
- Re-org env sections so that we can fall back to env is in FAT on SD
card, for broader board compatibility
- Add am335x_evm_nandboot as example of NAND envThis is for the TI integration tree only as the plan for upstream is to
work towards env location being selectable via KconfigSigned-off-by: Tom Rini
Signed-off-by: Lokesh Vutla -
If EMIF is idle for certain amount of DDR cycles, EMIF will put the
DDR in self refresh mode to save power if EMIF_PWR_MGMT_CTRL register
is programmed. And also before entering suspend-resume ddr needs to
be put in self-refresh. Linux kernel does not program this register
before entering suspend and relies on u-boot setting.
So configuring it in u-boot.Signed-off-by: Nishanth Menon
Signed-off-by: Lokesh Vutla -
On DRA7, refresh ctrl shadow should be updated with
the final value.Signed-off-by: Lokesh Vutla
-
Weak versions of board_usb_init and board_usb_cleanup are defined in common USB
host code, but it is also used for USB device gadgets, so we also need a weak
definition of it when there is no USB host enabled.
Both weak definitions do not conflict.Tested-by: Lukasz Majewski
Signed-off-by: Paul Kocialkowski
Signed-off-by: Lokesh Vutla
28 Aug, 2015
2 commits
-
clrsetbits_le32/clrbits_le32 takes mask of the bits as input that
are needed to be set/clear. But emif driver passes the shift of the bits.
Fixing it here.Reported-by: Mark Mckeown
Signed-off-by: Lokesh Vutla -
With commit aee119bd70b8 ('am43xx_evm: add usb host boot support') usb
commands is removed from U-boot second stage and enbaled only on USB
boot config. Fixing this by enable USB commands for both USB boot and
in second stage u-boot.Signed-off-by: Mugunthan V N
27 Aug, 2015
3 commits
-
Linux kernel can enumerate mmc sd as either mmcblk0 or mmcblk1.
But u-boot default environment assumes that sd always populates
as mmcblk0. With this the root fs is not being mounted when
mmc sd is enumerated as mmcblk1.
So use partuuid to update root= option in default environment.Reported-by: Yan Liu
Signed-off-by: Lokesh Vutla -
Define default mmc args in ti_armv7_common.h so that all
TI platforms can reuse.Reported-by: Yan Liu
Signed-off-by: Lokesh Vutla -
All TI SoCs expect filesystem to be ext4, omap4_common is the only one
with ext3. move omap4 to ext4 so that we can start consolidating MMC
arguments.Signed-off-by: Lokesh Vutla
25 Aug, 2015
1 commit
-
Update op_mode_rx flag based on CONFIG_QSPI_QUAD_SUPPORT flag,
instead of platform.Acked-by: Vignesh R
Signed-off-by: Vishal Mahaveer
21 Aug, 2015
3 commits
-
DRA72x processor variants are single core and it does not export ACP[1].
Hence, we have no source for generating an external snoop requests which
appear to be key to the deadlock in DRA72x design.Since we build the same image for DRA74x and DRA72x platforms, lets
runtime detect and disable the workaround (in favor of performance) on
DRA72x platforms.[1] http://infocenter.arm.com/help/topic/com.arm.doc.ddi0438i/BABIAJAG.html
Suggested-by: Richard Woodruff
Suggested-by: Brad Griffis
Reviewed-by: Brad Griffis
Signed-off-by: Nishanth Menon
(cherry picked from commit 095a5ef88e08c3df0f273c20a39cb921900cfae6)
Signed-off-by: Dan Murphy -
Implement logic for ACR(Auxiliary Control Register) configuration using
ROM Code smc service.Suggested-by: Richard Woodruff
Suggested-by: Brad Griffis
Reviewed-by: Brad Griffis
Signed-off-by: Nishanth Menon
(cherry picked from commit 1bbb556a6a5c0f44d2da32700fce4d279c851e9f)
Signed-off-by: Dan Murphy -
Add workaround for Cortex-A15 ARM erratum 801819 which says in summary
that "A livelock can occur in the L2 cache arbitration that might
prevent a snoop from completing. Under certain conditions this can
cause the system to deadlock. "Recommended workaround is as follows:
Do both of the following:1) Do not use the write-back no-allocate memory type.
2) Do not issue write-back cacheable stores at any time when the cache
is disabled (SCTLR.C=0) and the MMU is enabled (SCTLR.M=1). Because it
is implementation defined whether cacheable stores update the cache when
the cache is disabled it is not expected that any portable code will
execute cacheable stores when the cache is disabled.For implementations of Cortex-A15 configured without the “L2 arbitration
register slice” option (typically one or two core systems), you must
also do the following:3) Disable write-streaming in each CPU by setting ACTLR[28:25] = 0b1111
So, we provide an option to disable write streaming on OMAP5 and DRA7.
It is a rare condition to occur and may be enabled selectively based
on platform acceptance of risk.Applies to: A15 revisions r2p0, r2p1, r2p2, r2p3 or r2p4 and REVIDR[3]
is set to 0.Note: certain unicore SoCs *might* not have REVIDR[3] not set, but
might not meet the condition for the erratum to occur when they donot
have ACP (Accelerator Coherency Port) hooked to ACE (AXI Coherency
Extensions). Such SoCs will need the work around handled in the SoC
specific manner, since there is no ARM generic manner to detect such
configurations.Based on ARM errata Document revision 18.0 (22 Nov 2013)
Suggested-by: Richard Woodruff
Suggested-by: Brad Griffis
Reviewed-by: Brad Griffis
Signed-off-by: Nishanth Menon
(cherry picked from commit a615d0be6a73fc48a22e5662608260fe9b9149ff)
Signed-off-by: Dan Murphy
14 Aug, 2015
3 commits
-
CONFIG_KSNET_MDIO_PHY_CONFIG_ENABLE is dropped in the driver as
it is required for all the platforms, so dropping the same from
config file alsoSigned-off-by: Mugunthan V N
-
phy_find_by_mask() is not used by any of the platform which uses
keystone_net driver, so removing the unused code.Signed-off-by: Mugunthan V N
-
Update env to load images from mmc.
Reported-by: Nishanth Menon
Signed-off-by: Lokesh Vutla
13 Aug, 2015
4 commits
-
The default boot command searches for dofastboot varaiable
and does a fastboot if it is set to 1.
But the condition "if test ${dofastboot} -eq 1" always
returns true if dofastboot is not defined and breaking mmc boot.
So make dofastboot as 0 by default and let the runtime
environment set it if fastboot is required.Signed-off-by: Lokesh Vutla
-
DP83865 ethernet phy used on DRA74x-evm is quirky and the datasheet
provided IODELAY values for standard RGMII phys do not work.Silicon Revision(SR) 2.0 provides an alternative bit configuration
that allows us to do a "gross adjustment" to launch the data off a
different internal clock edge. Manual IO Delay overrides are still
necessary to fine tune the clock-to-data delays. This is a necessary
workaround for the quirky ethernet Phy we have on the platform.NOTE: SMA registers are spare "kitchen sink" registers that does
contain bits for other workaround as necessary as well. Hence the
control for the same is introduced in a generic SoC specific, board
generic location.Signed-off-by: Nishanth Menon
-
Silicon revision 2.0 has new signal routing hence has an updated set of
iodelay parameters to be used. Update the configuration for the same.
Padmux remains the same.Based on data from VayuES2_EVM_Base_Config-20150807.
NOTE: With respect to the RGMII values, the Manual IODelay values
are used for the fine adjusments needed to meet the tight RGMII
specification.Signed-off-by: Nishanth Menon
-
For am43xx_rtconly_evm_defconfig, the bootloader indicates support for
RTC-Only modes by writing a magic number into RTC scratch register
which kernel PM code will then clear and then write back again if
RTC-Only mode entry is desired. If no PM code is loaded in the kernel,
this magic number will not get cleared and then be detected again
by the bootloader on a warm reboot, indicating an RTC+DDR resume event
and causing the bootloader to attempt to jump to the resume address in
RTC scratch register 0, which is invalid.Add a check to prevent jumping to address 0 if the scratch register is
not properly programmed, otherwise warm reboot will not work on am437x
if no PM is loaded in the kernel.Signed-off-by: Dave Gerlach
12 Aug, 2015
2 commits
-
ARM supported speeds and init value of core_pll for SDP1200
are programmed wrong as part for the device speed cleanups.
Fixing it here.Signed-off-by: Lokesh Vutla
-
On keystone2 Lamarr and Edison platforms, the PA clocksource
mux in PLL REG1, can be changed only after enabling its clock
domain.
So selecting the output of PASS PLL as input to PA only after
enabling the clockdomain.
This is as per the debug done by "Vitaly Andrianov "
and based on the previous work done by "Hao Zhang "Fixes: d634a0775bcf ("ARM: keystone2: Cleanup PLL init code")
Reported-by: Vitaly Andrianov
Tested-by: Vitaly Andrianov
Signed-off-by: Lokesh Vutla
07 Aug, 2015
18 commits
-
9MB reserved for initrd is not enough for default ramfs used for keystone
devices, which is ~33MB. This patch increases the size up to 80MB.Signed-off-by: Vitaly Andrianov
-
This patch set the correct initrd address to much rdaddr, which used at
get_fs_ramfs commad.Fixes: 3e97f0b63c8e ("configs: ti_armv7_keystone2: switch addresses
to generic addresses")Signed-off-by: Vitaly Andrianov
-
Add a new config to support usb rndis boot for am43xx.
Signed-off-by: Kishon Vijay Abraham I
-
populate _reset_ callback to the USB ethernet gadget since UDC core
expects every gadget driver to have the reset callback. This shouldn't
be needed once the ethernet gadget driver is adapted to use the
composite driver.Signed-off-by: Kishon Vijay Abraham I
-
Add in code to initialize the DWC3 gadget controller so that we can do
RNDIS in SPL on these platforms.Signed-off-by: Tom Rini
Signed-off-by: Kishon Vijay Abraham I -
The usbboot environment variable has 'usb start' command but
doesn't have the corresponding 'usb stop' command. This breaks
usb peripheral mode if tried after 'run usbboot' fails to load
the images in usb host mode.Fix it here by adding 'usb stop' command in usbboot env.
Signed-off-by: Kishon Vijay Abraham I
-
xhci omap driver has board_usb_init in xhci_hcd_init but doesn't have
the corresponding cleanup function in xhci_hcd_stop.Fix it here by invoking board_usb_cleanup() in xhci_hcd_stop().
Signed-off-by: Kishon Vijay Abraham I
-
vbus_id_status is initialized in board_usb_init. So remove it
while creating dwc3_device objects.Signed-off-by: Kishon Vijay Abraham I
-
Now that we have separate function to enable USB clocks, remove
enabling USB clocks from enable_basic_clocks(). Now board_usb_init()
should take care to invoke enable_usb_clocks() for enabling
USB clocks.Signed-off-by: Kishon Vijay Abraham I
-
invoke enable_usb_clocks during board_usb_init and disable_usb_clocks
during board_usb_exit to enable and disable clocks respectively.Signed-off-by: Kishon Vijay Abraham I
-
Added functions to enable and disable USB clocks which can be invoked
during USB init and USB exit respectively.Cc: Roger Quadros
Cc: Tero Kristo
Cc: Nishanth Menon
Signed-off-by: Kishon Vijay Abraham I -
Added functions to enable and disable USB clocks which can be invoked
during USB init and USB exit respectively.Cc: Roger Quadros
Cc: Tero Kristo
Cc: Nishanth Menon
Signed-off-by: Kishon Vijay Abraham I -
Enabled configs for dwc3, dwc3-omap and PHY for dwc3 in
ti_omap5_common. Also enabled support for DFU.Since ti_omap5_common is used by dra7 too, removed these configs
from dra7xx_evm config file.Signed-off-by: Kishon Vijay Abraham I
-
Implemented board_usb_init(), board_usb_cleanup() and
usb_gadget_handle_interrupts() in omap5 board file that
can be invoked by various gadget drivers.Signed-off-by: Kishon Vijay Abraham I
-
Implemented board_usb_init(), board_usb_cleanup() and
usb_gadget_handle_interrupts() in beagle_x15 board file that
can be invoked by various gadget drivers.Signed-off-by: Kishon Vijay Abraham I
-
Added support to power on/power off the second USB PHY present in
DRA7xx and AM57xx.Signed-off-by: Kishon Vijay Abraham I
-
Enabled clocks for the second dwc3 controller and second USB PHY present in
DRA7.Signed-off-by: Kishon Vijay Abraham I
-
Ethernet gadget driver can be used both by both SPL and u-boot. Since
usb_eth_init() is the entry point for ethernet gadget driver, perform
board initialization there. Also perform the cleanup in usb_eth_halt.Signed-off-by: Kishon Vijay Abraham I