Age | Commit message (Collapse) | Author | Files | Lines |
|
Master ports from interconnect are generating some annoying circular
references that become tricky to handle if we have to dynamically
remove some IP on some variant platforms.
Since they are not used for the moment, and since we can still build
that relation using the reverse relation (slave port from the IP
toward master port of the interconnect), let remove them for the
moment like it is done on OMAP4.
Signed-off-by: Benoit Cousson <[email protected]>
Cc: Paul Walmsley <[email protected]>
Cc: Sanjeev Premi <[email protected]>
|
|
Signed-off-by: Shawn Guo <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
|
|
Most likely, the LCD panel on mx28 platform will require a pixel
clock higher than ref_xtal_clk (24 MHz), so the patch initializes
the parent of lcdif clock as ref_pix_clk.
Signed-off-by: Shawn Guo <[email protected]>
Signed-off-by: Sascha Hauer <[email protected]>
|
|
Use the correct I/O address definitions for Footbridge
peripherals when the kernel is compiled without MMU
support.
Signed-off-by: Stepan Moskovchenko <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Commit d34427267186827dfd62bd8cf726601fffb22534 ("OMAP3: PM: Adding
smartreflex hwmod data") added data that claims that the L4 CORE has
two slave interfaces that originate from the SmartReflex modules,
omap3_l4_core__sr1 and omap3_l4_core__sr2. But as those two data
structure records show, it's L4 CORE that has a master port towards
SR1 and SR2.
Move the incorrect data from slaves list to master list.
Based on a path by Paul Walmsley <[email protected]>
https://patchwork.kernel.org/patch/623171/
That is based on a patch by Benoît Cousson <[email protected]>:
https://patchwork.kernel.org/patch/590561/
Signed-off-by: Paul Walmsley <[email protected]>
Signed-off-by: Benoît Cousson <[email protected]>
Cc: Sanjeev Premi <[email protected]>
Cc: Thara Gopinath <[email protected]>
|
|
These warnings are missing newlines and spaces causing confusing
looking output when they trigger.
Acked-by: Will Deacon <[email protected]>
Signed-off-by: Stephen Boyd <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
if building kernels without OMAP2 support, we
will see a warning such as:
arch/arm/mach-omap2/io.c: In function 'omap2_init_common_infrastructure':
arch/arm/mach-omap2/io.c:389:3: warning: statement with no effect
arch/arm/mach-omap2/io.c:391:3: warning: statement with no effect
Signed-off-by: Felipe Balbi <[email protected]>
Signed-off-by: Paul Walmsley <[email protected]>
|
|
omap_sr_probe() creates the smartreflex debug directory and its
underlying nvalue debug directory. These directories are removed in
omap_sr_remove().
Basic smartreflex functionality tested on OMAP3630 Zoom3 & OMAP4430 SDP
Signed-off-by: Anand S Sawant <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
* Build unconditionally as ARM for correct interoperation with
OMAP firmware.
* Fix an out-of-range ADR when building for ARM.
* Remove deprecated PC-relative stores.
* Add the required ENDPROC() directive for each ENTRY().
* .align before data words.
* Handle non-interworking return from v7_flush_dcache_all.
Signed-off-by: Dave Martin <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
* Build unconditionally as ARM for correct interoperation with
OMAP firmware.
* Remove deprecated PC-relative stores
* Add the required ENDPROC() directive for each ENTRY().
* .align before data words
Signed-off-by: Dave Martin <[email protected]>
Tested-by: Jean Pihet <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
For various reasons, Linux now only officially supports being built
with tools which are new enough to understand the SMC instruction.
Replacing the hand-encoded instructions when the mnemonic also
allows for correct assembly in Thumb-2 (otherwise, the result is
random data in the middle of the code).
The Makefile already ensures that this file is built with a high
enough gcc -march= flag (armv7-a).
Signed-off-by: Dave Martin <[email protected]>
Tested-by: Santosh Shilimkar <[email protected]>
Tested-by: Jean Pihet <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
CONFIG_THUMB2_KERNEL
Code marked with ENTRY() also needs a matching ENDPROC() directive,
in order to ensure that the type and instruction set of the
symbol are correctly annotated.
ENDPROC() tags the affected symbol as a function symbol, which will
ensure that link-time fixups don't accidentally switch to the
wrong instruction set.
Signed-off-by: Dave Martin <[email protected]>
Tested-by: Santosh Shilimkar <[email protected]>
Acked-by: Santosh Shilimkar <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
For CONFIG_THUMB2_KERNEL, the existing definition of do_wfi() will
insert invalid code into the instruction stream.
Any assembler which can assemble Thumb-2 is guaranteed to accept
the "wfi" mnemonic, so for the Thumb-2 case, just use the mnemonic.
The ARM case is left as-is.
Signed-off-by: Dave Martin <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
IVA device is not present in many OMAP3 variants.
This patch ensures that initialization is tied to
the presence of IVA on the device.
Signed-off-by: Sanjeev Premi <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
Voltage control on TWL can be done using VMODE/I2C1/I2C_SR.
Since almost all platforms use I2C_SR on omap3, omap3_twl_init by
default expects that OMAP's I2C_SR is plugged in to TWL's I2C
and calls omap3_twl_set_sr_bit. On platforms where I2C_SR is not connected,
the board files are expected to call omap3_twl_set_sr_bit(false) to
ensure that I2C_SR path is not set for voltage control and prevent
the default behavior of omap3_twl_init.
Signed-off-by: Nishanth Menon <[email protected]>
Signed-off-by: Thara Gopinath <[email protected]>
Signed-off-by: Shweta Gulati <[email protected]>
Cc: [email protected]
Signed-off-by: Kevin Hilman <[email protected]>
|
|
Add a description field to each idle C-state. This helps to give
better data with PowerTop and one don't have to refer to the code
to link what Cx means from system point of view while analysing
PowerTop data.
No functional change.
Signed-off-by: Santosh Shilimkar <[email protected]>
Cc: Kevin Hilman <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
Remove the custom restore_control_register() and use the exported
set_cr() instead to set the system control register(SCTRL) value.
No functional change.
Signed-off-by: Santosh Shilimkar <[email protected]>
Cc: Kevin Hilman <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
The OMAP2 and OMAP3 PM code clears clockdomain wakeup and sleep
dependencies. This is unnecessary after commit
6f7f63cc9adf3192e6fcac4e8bed5cc10fd924aa ("OMAP clockdomain:
initialize clockdomain registers when the clockdomain layer starts")
which clears these dependencies during clockdomain init.
Signed-off-by: Paul Walmsley <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
Now that omap_hwmod + omap_device is used for OMAP UART device and
driver code, we no longer need the UART physical addresses in
omap_globals.
Note that the #defines for the base addresses are still left in
<plat/serial.h> since they are used by DEBUG_LL and uncompress code.
Build tested for OMAP1 (omap1_defconfig) and OMAP2+ (omap2plus_defconfig)
Signed-off-by: Kevin Hilman <[email protected]>
|
|
kzalloc() may fail, if so return -ENOMEM. Also Walter Harms suggested
to use kasprintf() instead of kzalloc+strcpy+strcat.
Signed-off-by: Vasiliy Kulikov <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
OMP3630 silicon can enable higher frequencies only depending on the board
characteristics meeting the recommended standards, and has to be selectively
toggled.
Beagle XM uses 3730 variant and the board design allows enabling 800MHz and
1GHz OPPs. However, We need Smart reflex class 1.5 and ABB to enable 1GHz
safely. For the moment, we tweak the default table to allow for 800Mhz OPP
usage.
Reported-by: Koen Kooi <[email protected]>
Tested-by: Koen Kooi <[email protected]>
Signed-off-by: Nishanth Menon <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
omap3 and omap4 opp_init should be made non-static to allow
for platform specific opp table tweaking. making these static
conflicts with the definition in pm.h(global) as well.
we include pm.h as well to ensure that there are no such prototype
conflicts with actual implementation in the future.
Signed-off-by: Nishanth Menon <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
In case in user has a OMAP3630 < ES1.2 the kernel should warn the user
about the ERRATUM, but using pr_warn instead of WARN_ON is already
enough, as there is nothing else the user can do besides changing the
board.
Signed-off-by: Ricardo Salveti de Araujo <[email protected]>
Signed-off-by: Kevin Hilman <[email protected]>
|
|
On revisions of the Cortex-A9 prior to r2p0, the Store Buffer does not
have any automatic draining mechanism and therefore a livelock may occur
if an external agent continuously polls a memory location waiting to
observe an update.
This workaround defines cpu_relax() as smp_mb(), preventing correctly
written polling loops from denying visibility of updates to memory.
Acked-by: Catalin Marinas <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
On the r2p* and r3p* versions of the Cortex-A9, a speculative memory
access may cause a page table walk which starts prior to an ASID switch
but completes afterwards. This can populate the micro-TLB with a stale
entry which may be hit with the new ASID.
This workaround places two dsb instructions in the mm switching code so
that no page table walks can cross the ASID switch.
Acked-by: Catalin Marinas <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
This applies errata fix 753970 for all ux500 platforms. All
current ASICs suffer from this. If the problem is resolved in
later ASICs, the errata selection can be pushed down to other
Kconfig options.
Signed-off-by: Linus Walleij <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4-base into omap-for-linus
|
|
According to the hwmod interface data, the DSS submodule "VENC" uses a
clock, "dss_54m_fck"/"dss_tv_fck", which the PRCM cannot autoidle. By
default, the hwmod code assumes that interface clocks can be autoidled
by the PRCM. When the interface clock can't be autoidled by the PRCM,
those interfaces must be marked with the OCPIF_SWSUP_IDLE flag.
Otherwise, the "interface clock" will always have a non-zero use
count, and the device won't enter idle. This problem was observed on
N8x0.
Fix the immediate problem by marking the VENC interface with the
OCPIF_SWSUP_IDLE flag. But it's not clear that
"dss_54m_fck"/"dss_tv_fck" is really the correct interface clock for
VENC. It may be that the VENC interface should use a
hardware-autoidling interface clock. This is the situation on OMAP4,
which uses "l3_div_ck" as the VENC interface clock, which can be
autoidled by the PRCM. Clarification from TI is needed.
Problem found and patch tested on N8x0 by Tony Lindgren
<[email protected]>.
Signed-off-by: Paul Walmsley <[email protected]>
Cc: Tony Lindgren <[email protected]>
Cc: Senthilvadivu Guruswamy <[email protected]>
Cc: Sumit Semwal <[email protected]>
Cc: Kevin Hilman <[email protected]>
Cc: Benoît Cousson <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
|
|
The driver provides the information regarding the ocp errors
that gets logged in the interconnect. The error information
gives the detail regarding the target that was attempted
to be accessed and its corresponding address.
Signed-off-by: sricharan <[email protected]>
Signed-off-by: Santosh Shilimkar <[email protected]>
Acked-by: Benoit Cousson <[email protected]>
|
|
The l3 interconnect device is build with all the data required
to handle the error logging. The data is extracted from the
hwmod data base.
Signed-off-by: Santosh Shilimkar <[email protected]>
Signed-off-by: sricharan <[email protected]>
Acked-by: Benoit Cousson <[email protected]>
|
|
Add the address spaces, irqs of the l3 interconnect to the
hwmod data. The hwmod change is aligned with Benoit Cousson.
Signed-off-by: Santosh Shilimkar <[email protected]>
Signed-off-by: sricharan <[email protected]>
Acked-by: Benoit Cousson <[email protected]>
|
|
The driver provides the information regarding the ocp errors
that gets logged in the interconnect.The error info provides
the details regarding the master or the target that
generated the error, type of error and the corresponding address.
The stack dump is also provided.
Signed-off-by: sricharan <[email protected]>
[[email protected]: Enhacements, major cleanup and made it functional]
Signed-off-by: Santosh Shilimkar <[email protected]>
[[email protected]: Driver design changes as per OMAP4 version]
Signed-off-by: Felipe Balbi <[email protected]>
[[email protected]: Initial version of the driver]
Acked-by: Benoit Cousson <[email protected]>
|
|
The l3 interconnect device is build with all the data required
to handle the error logging. The data is extracted from the
hwmod database.
Signed-off-by: sricharan <[email protected]>
Signed-off-by: Santosh Shilimkar <[email protected]>
Acked-by: Benoit Cousson <[email protected]>
|
|
Add the address spaces, irqs of the l3 interconnect to the
hwmod data. The hwmod changes are aligned with Benoit Cousson.
Signed-off-by: sricharan <[email protected]>
Signed-off-by: Santosh Shilimkar <[email protected]>
Acked-by: Benoit Cousson <[email protected]>
|
|
Reviewed-by: Stanley Miao <[email protected]>
Signed-off-by: Shiraz Hashim <[email protected]>
Signed-off-by: Rajeev Kumar <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Now we used standard SZ_* macros instead of self defined *_SIZE macros. This
patch removes all such unused *_SIZE macros for spear3xx & 6xx.
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Resource size required mostly is 4K for all devices, whereas currently
reserved space is much beyond that. This patch replaces SIZE macro's used at
multiple places with SZ_4K.
Reviewed-by: Stanley Miao <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Shiraz Hashim <[email protected]>
Signed-off-by: Rajeev Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Order of declarations should be: pmx_devs, shirq support, amba_devices,
plat_devices, routines. This patch moves gpio_device below shirq support.
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Reviewed-by: Stanley Miao <[email protected]>
Signed-off-by: Deepak Sikri <[email protected]>
Signed-off-by: shiraz hashim <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Device name of SD/MMC/SDIO controller in linux is sdhci. To maintain
consistency across all spear code, rename sdio to sdhci.
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
This patch makes inclusion of hardware.h and spear.h consistent over all spear
variants. Now we will include hardware.h, wherever we need to use hardware
macros. spear.h will be automatically included by hardware.h
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Order of inclusion of .h files must be: <linux/...>, <asm/...>, <plat/...>,
<mach/...>. This patch corrects this ordering whereever it is not followed.
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Reviewed-by: Stanley Miao <[email protected]>
Signed-off-by: Shiraz Hashim <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
- Add support for divisor per parent clock
- Add ENABLED_ON_INIT feature in clk
- Add clk_set_rate(), round_rate_index & clk_round_rate()
- Simplify clk_recalc functions
- Add/update clock definitions
Reviewed-by: Stanley Miao <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: shiraz hashim <[email protected]>
Signed-off-by: Rajeev Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
- Add a dummy clk_set_rate() function. This is required for compilation
of a few drivers.
- Make functions in plat-spear/clock.c more generic over all SPEAr
platforms.
- Add div_factor in struct clk for clks with .recalc = follow_parent
- Change type of register pointers to void __iomem *
Reviewed-by: Stanley Miao <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Rajeev Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Move platform specific timer initialization code is moved into platform
specific files.
Reviewed-by: Jamie Iles <[email protected]>
Reviewed-by: Stanley Miao <[email protected]>
Signed-off-by: Shiraz Hashim <[email protected]>
Signed-off-by: Rajeev Kumar <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
- compile padmux only for spear3xx
- padmux initialization code rearranged in evaluation board and machine
files.
Reviewed-by: Stanley Miao <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Add IOMEM(x) definition, and use it with MISC_BASE for SPEAr platform.
With this there is no need to typecast misc macros to (unsigned int *).
Reviewed-by: Stanley Miao <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Use straight 64-bit values as 64-bit operations are fairly efficient on ARM.
Comparing the asm output with and without KTIME_SCALAR, using 64-bit math
generates clearly better code.
Comparing kernel/hrtimer.c .text size, it goes from 0x1414 to 0x119c with
this change.
Signed-off-by: Rob Herring <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
expanded variable
The simply expanded variable may be evaluated before the target file for
the stat command is up to date or even exists. Switching to a recursively
expanded variable move the execution of the stat command to the location
where LDFLAGS_vmlinux is actually used, fixing the dependency issue
introduced by patch #6746/1.
Signed-off-by: Nicolas Pitre <[email protected]>
Signed-off-by: Russell King <[email protected]>
|