summaryrefslogtreecommitdiff
path: root/arch/arm/mach-shmobile
AgeCommit message (Collapse)Author
2011-06-30ARM: mach-shmobile: make a struct in board-ap4evb.c staticGuennadi Liakhovetski
struct soc_camera_link imx074_link in board-ap4evb.c doesn't have to be global. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-06-21ARM: mach-shmobile: ag5evm: consistently name sdhi info structuresSimon Horman
Name the SDHI1 instance sh_sdhi1_info to be consistent with sh_sdhi0_info. Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-06-21ARM: mach-shmobile: mackerel: change usbhs devices orderKuninori Morimoto
USB1 can use IRQ interrupt and notify function for usbhs driver, but USB0 is using polling for it. The priority of usbhs devices order USB1 > USB0 is good idea Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Reviewed-by: Simon Horman <horms@verge.net.au> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-06-15ARM: mach-shmobile: mackerel: tidyup usbhs driver settingsKuninori Morimoto
- usb0 pipe is same as default. own pipe config is not needed - usb1 lost get_id function Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-06-14ARM: mach-shmobile: Correct SCIF port types for SH7367.Paul Mundt
While SH7377 and others were updated to properly use SCIFA/B port types, SH7367 was left behind. Fix it up accordingly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-06-14ARM: mach-shmobile: sh73a0 gic_arch_extn.irq_set_wake() fixMagnus Damm
Initialize ->irq_set_wake() in gic_arch_extn to unbreak wake up from the KEYSC device on AG5EVM in case of Suspend-to-RAM. Without this patch "echo mem > /sys/power/state" and a key press results in the following message on resume: WARNING: at kernel/irq/manage.c:507 irq_set_irq_wake+0x7c/0xd8() Unbalanced IRQ 103 wake disable Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-06-14ARM: mach-shmobile: Mackerel USB platform data updateMagnus Damm
This patch updates the board specific USB support code for the sh7372 Mackerel board. With this patch applied port CN22 is driven by the recently added renesas_usbhs driver using the first USB controller included in sh7372 aka USBHS0. Hotplugging of USBHS0 unfortunately has to be handled by software polling. The sh7372 SoC itself obviously supports hotplug notification by IRQ but on the Mackerel board this IRQ happens to be used for the touch screen. Also fix the pinmux configuration to avoid setting up unused pins and fix minor spelling errors. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-06-14ARM: mach-shmobile: AG5EVM SDHI1 platform data updateMagnus Damm
Add a flag for SDHI1 to enable SDIO IRQ, and remove DMA Engine slave id:s to disable DMA as a workaround. Tested on sh73a0/AG5EVM with a BCM4318-based SDIO card. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-06-02ARM: mach-shmobile: add DMAC clock definitions on SH7372Guennadi Liakhovetski
These definitions are needed to let the runtime PM subsystem turn off DMAC clocks, when it is suspended by the driver. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-26ARM: arch-shmobile: support SDHI card detection on mackerel, using a GPIOGuennadi Liakhovetski
On sh7372 the card-detection pin of SDHI0 can also produce interrupts, when configured as GPIO. Use this feature to power down SDHI0, when no card is plugged in. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-26Merge branch 'rmobile/fbdev' into rmobile-latestPaul Mundt
2011-05-25ARM: mach-shmobile: mackerel: add renesas_usbhs support for USB1Kuninori Morimoto
renesas_usbhs driver can use external interrupt mode (which come from USB-PHY) or autonomy mode (it use own interrupt) for detecting connection/disconnection when Function. And it will be power OFF while it has been disconnecting if external interrupt mode is selected. mackerel board has 2 USB ports. But we can not use external interrupt mode on CN22 USB0 port which is only for USB Function. IRQ7-PORT40 is already used by Touchscreen, and USB-PHY needs IRQ7-PORT167. It is impossible to use IRQ7 demux on mackerel. We can use external interrupt mode USB-Function on "USB1". USB1 can become Host by r8a66597, and become Function by renesas_usbhs. But don't select both drivers in same time. These 2 drivers are not supporting IRQ SHARD. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25ARM: mach-shmobile: Correct the G4EVM SDHI0 I/O range.Paul Mundt
This obviously should have been 0xe6d500ff, fix it up accordingly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25ARM: arch-shmobile: sh7372: add renesas_usbhs irq supportKuninori Morimoto
renesas_usbhs is remake version of r8a66597 Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25sh_mobile_meram: MERAM platform data for LCDCDamian
Based on the patch by Takanari Hayama <taki@igel.co.jp> Add the necessary platform data to add MERAM functionality to LCDC Includes platform data for both the AP4EVB and mackerel Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25ARM: mach-shmobile: sh73a0: mark DMA slave ID 0 as invalidMagnus Damm
This makes it possible to leave DMA slave IDs in the platform data at default 0 value without hitting DMA channel allocation error paths. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25ARM: mach-shmobile: mark DMA slave ID 0 as invalidGuennadi Liakhovetski
This makes it possible to leave DMA slave IDs in the platform data at default 0 value without hitting DMA channel allocation error paths. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25ARM: mach-shmobile: Enable DMAEngine for SDHI on AG5EVMMagnus Damm
Add SDHI0 and SDHI1 slave ids for RX and TX to enable DMA Engine support for SDHI on the AG5EVM board. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25ARM: mach-shmobile: Enable DMAEngine for MMCIF on AG5EVMMagnus Damm
Simply add MMCIF slave ids for RX and TX to enable DMA Engine support for the AG5EVM board. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25ARM: mach-shmobile: sh73a0 DMA Engine support for SY-DMACMagnus Damm
Add SY-DMAC support via shdma.c to the sh73a0 SoC including slave ids, platform data and clock bindings. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25ARM: mach-shmobile: Tidy up after SH7372 pm changes.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25ARM: mach-shmobile: sh7372 Core Standby CPUIdleMagnus Damm
This patch ties in the previously added sh7372 sleep mode known as Core Standby together with the shared SH-Mobile ARM CPUIdle implementation. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25ARM: mach-shmobile: CPUIdle supportMagnus Damm
This patch adds a shared SH-Mobile ARM specific CPUIdle implementation supporting WFI only at this point. It serves as a common point for late registration of the arch-specific CPUIdle code, and supports adding extra sleep modes using the callback shmobile_cpuidle_setup() together with shmobile_cpuidle_modes[]. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25ARM: mach-shmobile: sh7372 Core Standby Suspend-to-RAMMagnus Damm
Add sh7372 Core Standby sleep mode support and tie it in with the shared SH-Mobile ARM suspend code. The Core Standby mode is the lightest sh7372-specific sleep mode, cutting power to the ARM core excluding the L2 cache. Any interrupt source can be used for wakeups. The low level portion of this code is based on the TI OMAP sleep code in sleep34xx.S, thanks to them. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-25ARM: mach-shmobile: Suspend-to-RAM supportMagnus Damm
This patch adds a simple Suspend-to-RAM implementation for SH-Mobile ARM. The struct shmobile_suspend_ops are kept global to allow cpu-specific code to override the callbacks if needed. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: switch mackerel to dynamically manage the platform cameraGuennadi Liakhovetski
Use soc_camera_platform helper functions to dynamically manage the camera device. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: Add SDHI support for AG5EVM and sh73a0Magnus Damm
Add SDHI0 and SDHI1 support to the AG5EVM board including platform data, pinmux configuration and clock bindings. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: arch-shmobile: Use multiple irq vectors for SDHISimon Horman
This patch reverts "ARM: mach-shmobile: sh7372 SDHI vector merge" and supplies 3 IRQ resources for each SDHI block. Some blocks have a 4th IRQ, but this is used for DRM feathres that I do not have access tot he documentation for and are almost certainly tainted by licensing issues. So the 4th IRQ is not hooked-up even if it exists. Cc: Chris Ball <cjb@laptop.org> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Magnus Damm <magnus.damm@gmail.com> Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: AG5EVM DSI resource string updateMagnus Damm
Update the struct resources for DSI0 to include the hardware block name. Purely cosmetic, makes /proc/iomem look slightly better. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: sh73a0 twd_base fixMagnus Damm
Fix the case of too late twd_base initialization for SMP on sh73a0 which bas been broken because sh73a0 specific smp_prepare_cpu() and percpu_timer_setup() changed order in the commits: 05c74a6cbcfb416286a947668ba32f63d99fe74a c413521eb4e2d7ffd5ce432a144708d479054bd3 Without this fix the sh73a0 SMP kernel panics on boot. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: headsmp.S build fixMagnus Damm
Git commit f4117ac9e237b74afdf5e001d5ea26a4d15e9847 introduced PLAT_PHYS_OFFSET, but headsmp.S was left unchanged which results in a compile error: AS arch/arm/mach-shmobile/headsmp.o arch/arm/mach-shmobile/headsmp.S: Assembler messages: arch/arm/mach-shmobile/headsmp.S:27: Error: undefined symbol `secondary_startup' in operation arch/arm/mach-shmobile/headsmp.S:27: Error: undefined symbol `PHYS_OFFSET' in operation make[1]: *** [arch/arm/mach-shmobile/headsmp.o] Error 1 make[1]: *** Waiting for unfinished jobs.... Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: Disable sh7372 RT side MSTP bitsMagnus Damm
Update the sh7372 clock code to set the RT side set of MSTP bits to a fixed disabled state. The sh7372 SoC contains two sets of MSTP bits, one for the ARM (SYS) side, and one for the SH4AL-DSP (RT) side. The actual clock associated with the MSTP bit will only be stopped when both sides have set the MSTP bit to disabled mode. Some MSTP bits are enabled by default after hardware reset, so this patch adjusts the code to disable all MSTP bits associated with the RT side to allow the SYS side to have full control. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: PLL does not have to run constantly for HDMIGuennadi Liakhovetski
The PLLC2 clock on AP4 systems does not need to run constantly to be able to use HDMI. The HDMI hotplug interrupt works without the PLL too, after which all the necessary clocks will be turned on by the runtime PM. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: add DMA for MMCIF on mackerelGuennadi Liakhovetski
Add DMA mode support for the MMCIF controller on mackerel. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Reviewed-by: Simon Horman <horms@verge.net.au> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: MMCIF on mackerel can also be a moduleGuennadi Liakhovetski
Remember to also check for the CONFIG_MMC_SH_MMCIF_MODULE option for the case of a modular MMCIF driver. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Reviewed-by: Simon Horman <horms@verge.net.au> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: sh7377 UIO platform data V3Magnus Damm
Export the following sh7377 multimedia hardware blocks using UIO: VPU, VEU[0-3], JPU and SPU2[0-1] Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: sh7372 UIO platform data V3Magnus Damm
Export the following sh7372 multimedia hardware blocks using UIO: VPU, VEU[0-3], JPU and SPU2[0-1] Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: sh7367 UIO platform data V3Magnus Damm
Export the following sh7367 multimedia hardware blocks using UIO: VPU, VEU[0-3], VEU2H, JPU and SPU1 Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: Use SCIFA and SCIFB port types on sh7377Magnus Damm
Update the sh7377 serial port types to make use of PORT_SCIFA and PORT_SCIFB. This makes the software match the sh7377 data sheet. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24ARM: mach-shmobile: ap4evb, mackerel: fixup scif initialisation for zbootSimon Horman
* Set receive enable and transmit enable bits of SCASCR0 (E6C400089). Values previously written to this register was bogus. Curiously earlyprintk works with the previous code. * Remove duplicate initialisation of GPIO port 152, SCIFA0_TXD (0xE6053098). This should have no effect other than to very slightly reduce the amount of code. Reported-by: Magnus Damm <magnus.damm@gmail.com> Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-05-24Merge branch 'master' of ↵Paul Mundt
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into rmobile-latest
2011-05-23Merge branches 'consolidate-clksrc', 'consolidate-flash', ↵Russell King
'consolidate-generic', 'consolidate-smp', 'consolidate-stmp' and 'consolidate-zones' into consolidate
2011-05-23ARM: consolidate SMP cross call implementationRussell King
Rather than having each platform class provide a mach/smp.h header for smp_cross_call(), arrange for them to register the function with the core ARM SMP code instead. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-05-23sh_mobile: Add MSTP clock for MERAMDamian
Signed-off-by: Damian Hobson-Garcia <dhobsong@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-04-30PM / Runtime: Generic clock manipulation rountines for runtime PM (v6)Rafael J. Wysocki
Many different platforms and subsystems may want to disable device clocks during suspend and enable them during resume which is going to be done in a very similar way in all those cases. For this reason, provide generic routines for the manipulation of device clocks during suspend and resume. Convert the ARM shmobile platform to using the new routines. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2011-04-29PM / Runtime: Add subsystem data field to struct dev_pm_infoRafael J. Wysocki
Some subsystems need to attach PM-related data to struct device and they need to use devres for this purpose. For their convenience and to make code more straightforward, add a new field called subsys_data to struct dev_pm_info and let subsystems use it for attaching PM-related information to devices. Convert the ARM shmobile platform to using the new field. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2011-04-29shmobile: Use power domains for platform runtime PMRafael J. Wysocki
shmobile platforms replace the runtime PM callbacks of the platform bus type with their own routines, but this means that the callbacks are replaced system-wide. This may not be the right approach if the platform devices on the system are not of the same type (e.g. some of them belong to an SoC and the others are located in separate chips), because in those cases they may require different handling. Thus it is better to use power domains to override the platform bus type's PM handling, as it generally is possible to use different power domains for devices with different PM requirements. Define a default power domain for shmobile in both the SH and ARM falvors and use it to override the platform bus type's PM callbacks. Since the suspend and hibernate callbacks of the new "default" power domains need to be the same and the platform bus type's suspend and hibernate callbacks for the time being, export those callbacks so that can be used outside of the platform bus type code. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2011-04-18ARM: mach-shmobile: clock-sh7372: remove status check from fsidiv_recalcKuninori Morimoto
clock status check is not needed in recalc function. clk->rate will be 0 in clk_set_rate without this patch. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-04-06ARM: arch-shmobile: only run FSI init on respective boardsKuninori Morimoto
If several boards are enabled in the kernel configuration, fsi_init_pm_clock() functions from board-ap4evb.c will run on any of them. Prevent this by calling these functions from the .init_machine() callback instead of using device_initcall(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Cc: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2011-04-06ARM: arch-shmobile: only run HDMI init on respective boardsGuennadi Liakhovetski
If several boards are enabled in the kernel configuration, hdmi_init_pm_clock() functions from board-ap4evb.c and board-mackerel.c will run on any of them. Prevent this by calling these functions from the .init_machine() callback instead of using device_initcall(). Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Cc: Magnus Damm <damm@opensource.se> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>