summaryrefslogtreecommitdiffstats
path: root/arch/arm
AgeCommit message (Collapse)Author
2009-11-25DaVinci: remove unneeded #include'sSergei Shtylyov
There have accumulated quite a lot of them after the code reorganizations... In several cases I had to replace #include <linux/dma-mapping.h> which wasn't needed directly but happened to #include <linux/err.h> which was needed. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: make it easier to identify SoC init failuresSekhar Nori
This patch makes it easier to identify SoC init failures by panicing when SoC init fails. Without successful SoC init, the kernel eventually fails when attempt is made to access the clocks. Also, an error is printed when JTAG ID match fails to make it easier to identify failures due to SoC rev changes. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: RMII support for DA850/OMAP-L138 EVMChaithrika U S
DA850/OMAP-L138 EVM has a RMII Ethernet PHY on the UI daughter card. The PHY is enabled by proper programming of the IO Expander (TCA6416) ports. Also for RMII PHY to work, the MDIO clock of MII PHY has to be disabled since both the PHYs have the same address. This is done via the GPIO2[6] pin. This patch adds support for RMII PHY. This patch also adds a menuconfig option to select one or no peripheral connected to expander. Currently, sub-options in this menu are RMII and no peripheral.This menuconfig option is similar to the one present for UI card on DA830/OMAP-L137 EVM. Signed-off-by: Chaithrika U S <chaithrika@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA850/OMAP-L138 EVM expander setup and UI card detectionChaithrika U S
DA850/OMAP-L138 EVM can be connected to an UI card which has various peripherals on it.The UI card has TCA6416 expander which can be probed to check whether the UI card is connected or not. If the UI card is connected, setup NOR and NAND devices. This is done via the expander setup callback. Signed-off-by: Chaithrika U S <chaithrika@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA8xx: rename 'psc_ctlr' field into 'gpsc'Sergei Shtylyov
Replace badly chosen 'psc_ctlr' name of the 'struct clk' field (PSC already means "Power and Sleep Controller", so the '_ctlr' postfix makes the name tautological) with technically correct 'gpsc' (Global PSC -- which contains all the module registers). Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA850/OMAP-L138 EVM: add support for TPS65070 PMICSekhar Nori
This patch adds support for using the TPS65070 PMIC found on the DA850/OMAP-L138 EVM. It defines the power rail consumer mapping and registers the the I2C based PMIC as a board device. The power rail constraints are derived from the maxmimum and minimum recommended operating condition values of the respective consumers derived from section 5.2 of the OMAP-L138 datasheet. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA850/OMAP-L138 EVM: register for CPUFreq supportSekhar Nori
Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA850/OMAP-L138: add voltage regulation supportSekhar Nori
This patch adds support for regulating the CVDD voltage for the DA850/OMAP-L138 platform. The CVDD min and max values for each OPP have been obtained from section 5.2 "Recommended Operating Conditions" of SPRS586 Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA850/OMAP-L138: add frequency scaling supportSekhar Nori
Adds basic frequency scaling support for DA850/OMAP-L138. Currently, frequency scaling only on PLL0 is supported. No scaling of PLL1 as yet. Peripherals like MMC/SD which have a clock input synchronous with ARM clock will not work well since the clock will change behind their backs. Support for notification to such devices to adjust themselves to the new frequency will be added in later patches. Current defconfigs keep CPUFreq disabled so it will not affect normal operation. The OPP defintions assume clock input of 24MHz to the SoC. This is inline with hardcoding of input frequency in the <soc>.c files. At some point this will need to move into board dependent code as new boards appear with a different reference clock. Tested on OMAP-L138 EVM with ondemand governer and a shell script to vary processor load. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: add generic CPUFreq driver for DaVinciSekhar Nori
Adds a basic CPUFreq driver for DaVinci devices registering with the kernel CPUFreq infrastructure. Support is added for both frequency and voltage regulation. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: da830 EVM: remove #include <mach/gpio.h>Kevin Hilman
All that is needed is the existing #include <linux/gpio.h> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: da830: add support for new silicon revisionsKevin Hilman
Newer revs of da830 silicon have different 'variant' field of the JTAG id register. Current code only supports rev 1.0 silicon. This patch adds support for rev1.1 and rev2.0 silicon and updates the 'name' strings to add a '-' between 'omap' & 'l137' to have consistent naming with da850/omap-l138. From Mark Grosen <mgrosen@ti.com>: "There are currently three silicon revisions for OMAPL137. The JTAG IDs (DEVIDR register contents) for each silicon revision are shown below: 0x0B7D F02F for silicon revision 1.0 0x8B7D F02F for silicon revision 1.1 0x9B7D F02F for silicon revision 2.0 Corresponding errata documentation will be available in the next few weeks on the ti.com website." Reported-by: Nick Thompson <Nick.Thompson@gefanuc.com> Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: da830 EVM: make machine name string consistent with da850Kevin Hilman
The machine name string shows up in /proc/cpuinfo under 'Hardware' and can be used by userspace apps. Make the format consistent with the DA850/OMAP-l138 EVM by adding the '-' between OMAP and L137. Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA830 EVM: OHCI platform codeSergei Shtylyov
On this board the OHCI port's power control and over-current signals from TPS2065 power switch are connected via GPIO1[15] and GPIO2[1] respectively, so we can implement the DA8xx OHCI glue layer's hooks for overriding the root hub port's power and over-current status bits. We also have to properly set up the clocking mode in the CFGCHIP2 register, so that internal 24 MHz reference clock is fed to the USB 2.0 (MUSB) PHY and its output is used to clock the USB 1.1 (OHCI) PHY... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA8xx: OHCI platform deviceSergei Shtylyov
Add the function to register the OHCI platform device, given the root hub related platform data passed from the board specific code. The platfrom data provide for overriding the OHCI port power and over-current bits at the board level. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA8xx: CFGCHIP2 register definitionsSergei Shtylyov
These are needed by the MUSB and OHCI glue layers... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25DaVinci: EDMA: Updating terminlogy in EDMA driverSandeep Paulraj
The patch itself does not change the functionality of any existing code. PARAM entries in the present GIT kernel are referred to as slots. New API's being added to the EDMA driver were referring to these PARAM entries as "params". This patch updates the terminolgy used in the EDMA driver. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25DaVinci: EDMA: Fix Bug while obtaining contiguous paramsSandeep Paulraj
The reserve_contiguous_params function is used to reserve a set of contiguous PARAMs. If we do not find a complete set of contiguous PARAMs, the functions still has to free every PARAM that it found to be free in the process of finding a complete set and thus marked as "in use". This patch mainly deals with correctly handling the freeing of PARAMs. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DM365: Update NAND driver platform dataSneha Narnakaje
This patch updates the NAND driver platform data to use 4-bit ECC and the ECC_HW/ECC_HW_OOB_FIRST modes. Signed-off-by: Sneha Narnakaje <nsnehaprabha@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DM355: Update NAND driver platform dataSneha Narnakaje
This patch updates the NAND driver platform data to use 4-bit ECC and the ECC_HW/ECC_HW_OOB_FIRST modes. Signed-off-by: Sneha Narnakaje <nsnehaprabha@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25DaVinci: EDMA: Fix Bug in edma_alloc_cont_slots APISandeep Paulraj
The edma_alloc_cont_slots API is used for obtaining a set of contiguous slots. When we use the "_ANY" option with this API, by definition of this option it is suppossed to start looking for a set of contiguous slots starting from slot 64 for DaVinci SOC's and 32 for DA8xx SOC's. This has been explained in the API description in the driver itself. So when we use the "_ANY" option with this API, the slot number passed as an argument should be a "don't care". This patch takes care of this condition mentioned above. When checking to see if the starting slot is a valid number, it checks to make sure that the "_ANY" option is not used. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25DaVinci: EDMA: Fix bug in edma_free_cont_slots APISandeep Paulraj
In the edma_free_cont_slots API, the variable slot was being modified and then used in the for loop. This results in incorrect behaviour when the API is used. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: Correct the GPIO number for LCD panel powerSudhakar Rajashekhara
On the latest DA850/OMAP-L138 EVM (Beta) the GPIO pin number of LCD panel power has changed. This patch takes care of this change. Software will support only Beta versions of DA850/OMAP-L138 EVM. In the process, add the missing entry for data pin 0 and remove the GPIO specific pins from da850_lcdcntl_pins structure. EVM specific muxing for LCD is being done in the board file now. Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: Add RTC support for DA8xx/OMAP-L13x SoC'sMark A. Greer
Add RTC support for the da830/omap-l137 and da850/omap-l138 SoC's by leveraging existing the rtc-omap driver. Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: Add LCD Graphics support for DA830/OMAP-L137 EVMSteve Chen
Add graphics support for the Sharp LCD035Q3DG01 graphical LCD that's on the User Interface (UI) daughter card of the DA830/OMAP-L137 EVM. The LCD shares EMIFA lines with the NAND and NOR devices that are also on the UI card so those lines are shared via a couple of muxes. The muxes are controlled by the 'MUX_MODE' line on the UI card. The 'MUX_MODE' line is controlled by pin P6 of a pcf8574 i2c expander that's at i2c address 0x3f on UI card. The i2c expander is controlled using the gpio infrastructure from the board code using the 'setup()' and 'teardown()' routines. Signed-off-by: Steve Chen <schen@mvista.com> Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: Add support for Sharp LCD035Q3DG01 graphical LCDMark A. Greer
Add support for the Sharp LCD035Q3DG01 graphical LCD. This requires a minor interface change to da8xx_register_lcdc() so that the board code can pass in the platform_data which describes the lcd controller that's to be used. Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: Add MMC/SD support for DA830/OMAP-L137 EVMDavid A. Griego
Add pinmux settings, etc. to enable the MMC/SC hardware. Signed-off-by: David A. Griego <dgriego@mvista.com> Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: dm646x: Add support for 3.x silicon revisionHemant Pedanekar
DM6467 silicon revisions 3.x have variant field in JTAGID register as '1'. This path adds entry for the same in dm646x_ids to be able to boot on boards with 3.x revision chips. Also modifies name for 'variant=0' (revisions 1.0, 1.1). Signed-off-by: Hemant Pedanekar <hemantp@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA850/OMAP-L138: allow async3 source to be changedSekhar Nori
The patch allows Async3 clock source to be selected between PLL1 SYSCLK2 and PLL0 SYSCLK2. Having Async3 source from PLL1 SYSCLK2 allows peripherals on that domain to remain unaffected by frequency scaling on PLL0. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: support re-parenting a clock in the clock frameworkSekhar Nori
The clk_set_parent() API is implemented to enable re-parenting clocks in the clock tree. This is useful in DVFS and helps by shifting clocks to an asynchronous domain where supported by hardware Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: support changing the clock rate in clock frameworkSekhar Nori
clk_round_rate, clk_set_rate have been updated to handle dynamic frequency changes. The motivation behind the changes is to support dynamic CPU frequency change. davinci_set_pllrate() changes the PLL rate of a given PLL. This function has been presented as a generic function though it has been tested only on OMAP-L138 EVM. No other currently available DaVinci device will probably use this function, but any future device specific changes will hopefully be small enough to get taken care using a cpu_is_xxx() macro. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: make clock rate re-calculation easySekhar Nori
Make clock rate recalculation easy by having a re-calculate function for each clock. The existing functions for calculation of output rates of PLL and PLL-derived sysclks have been convered to the new re-calculate API. A new function is introduced to take care of rate (re)calculation for leaf clocks. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: enable easy top down traversal of clock treeSekhar Nori
Achieve easy top down traversal of clock tree by keeping track of each clock's list of children. This is useful in supporting DVFS where clock rates of all children need to be updated in an efficient manner. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA8XX/OMAP-L1XX: JTAG ID register should offset from SYSCFG baseSekhar Nori
This makes it clear that JTAG ID register is part of the SYSCFG module Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA8XX/OMAP-L1XX: Avoid use of IO_ADDRESS for SYSCFG moduleSekhar Nori
Avoid use of IO_ADDRESS() for SYSCFG module by doing an ioremap() instead. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: DA8XX/OMAP-L1XX: It's SYSCFG not BOOT_CFGSekhar Nori
Rename the DA8XX_BOOT_CFG_BASE macro to get it in line with the public documentation for these parts. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: Add DA830/OMAP-L137 EVM specific pinmux setting for McASP1Mark A. Greer
The DA830/OMAP-L137 EVM cannot use the default pinmux setup for McASP1 so put the correct settings in the board file for that platform. Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: Change DA8xx/OMAP-L13x McASP registration routine nameMark A. Greer
For consistency with existing code, change the name of da8xx_init_mcasp() to da8xx_register_mcasp(). Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25davinci: Move DA8xx/OMAP-L13x emac register routineMark A. Greer
Some mcasp code was inserted between the emac resource setup and the related register routine that registers the emac. Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25Davinci: DM365: Add platform device for McBSPMiguel Aguilar
1) Registers the platform device for McBSP on dm365. 2) Add platform data to DM365 EVM board file. 3) Set i2c address for audio codec at DM365 EVM board file. Signed-off-by: Miguel Aguilar <miguel.aguilar@ridgerun.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25DaVinci: DM365: Correct USB parent clockSandeep Paulraj
The parent clock for the USB source clock is actually PLL1 aux clock, not PLL2 sysclk1. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-25DaVinci: DM365: SDIO interrupt resource correctionPhaneendra Kumar
This patch fixes a typo/bug in the DM365 SDIO interrupt assignment Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-11-18Merge branch 'omap-fixes-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 * 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: OMAP: cs should be positive in gpmc_cs_free() omap: fix unlikely(x) < y omap3: clock: Fixed dpll3_m2x2 rate calculation omap3: clock: Fix the DPLL freqsel computations omap: Fix keymap for zoom2 according to matrix keypad framwork
2009-11-18OMAP: cs should be positive in gpmc_cs_free()Roel Kluin
The index `cs' is signed, test whether it is negative before we release gpmc_cs_mem[cs]. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2009-11-18omap: fix unlikely(x) < yRoel Kluin
The closing parenthesis was not in the right location. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2009-11-17omap3: clock: Fixed dpll3_m2x2 rate calculationTero Kristo
Current calculation does not take into account any changes to M2 divisor, and thus when we change VDD2 OPP, dpll3_m2x2 rate does not change. Fixed by re-routing dpll3_m2x2 parent to dpll3_m2. Signed-off-by: Tero Kristo <tero.kristo@nokia.com> Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-11-17omap3: clock: Fix the DPLL freqsel computationsRajendra Nayak
Fix the freqsel value computation. Use n instead of (n+1) The formula in the TRM uses a zero-based N, hence the (n+1); however at this point in the clock34xx.c code, N is one-based. Hayati Bayrakdar <h-bayrakdar@ti.com> and Nishanth Menon <nm@ti.com> helped track down this bug. Signed-off-by: Rajendra Nayak <rnayak@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com> [paul@pwsan.com: modified commit message] Cc: Hayati Bayrakdar <h-bayrakdar@ti.com> Cc: Nishanth Menon <nm@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-11-17Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds
* master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] pxa: ensure mfp is in correct range in mfp_{read,write} [ARM] pxa/hx4700: fix hx4700 touchscreen pressure values ARM: 5787/1: U300 COH 901 331 fixes ARM: Fix warning in sa1100-flash.c [ARM] Kirkwood: disable propagation of mbus error to the CPU local bus [ARM] pxa: fix incorrect mfp_to_gpio() conversion [ARM] pxa/colibri: fix AC97 ifdefs and add missing include [ARM] pxa: fix missing underscores in mfp-pxa910.h [ARM] pxa: fix interrupts number calculation when CONFIG_PXA_HAVE_ISA_IRQS=y
2009-11-16omap: Fix keymap for zoom2 according to matrix keypad framworkVimal Singh
Interpretation of 'row' and 'col' got reversed in matrix keymap framework. Also last element '0', present in keymap array, is no more needed. Correcting zoom2 keyboard keymap accordingly. Signed-off-by: Vimal Singh <vimalsingh@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-11-16Merge branch 'fix' of ↵Russell King
git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6