summaryrefslogtreecommitdiff
path: root/arch/arm/mach-shmobile
Commit message (Collapse)AuthorAgeFilesLines
* ARM: mach-shmobile: INTC interrupt priority level demux fixMagnus Damm2010-12-171-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix interrupt priority level handling on SH-Mobile ARM. SH-Mobile ARM platforms using multiple interrupt priority levels need this patch to fix a potential dead lock that may occur if multiple interrupts with different levels are pending simultaneously. The default INTC configuration is to use the same priority level for all interrupts, so this issue does not trigger by default. It is however common for board code to override the interrupt priority for certain interrupt sources depending on the application. Without this fix such boards may lock up. In detail, this patch updates the INTC code in entry-macro.S to make sure that the INTLVLA register gets set as expected. To trigger this bug modify the board specific code to adjust the interrupt priority level for the ethernet chip. After changing the priority level simply use flood ping to drown the board with interrupts. This patch applies to INTCA-based processors such as sh7372, sh7377 and sh7372. GIC-based processors are not affected. Suitable for v2.6.37-rc and stable from v2.6.34 to v2.6.36. Cc: stable@kernel.org Signed-off-by: Magnus Damm <damm@opensource.se> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* ARM: mach-shmobile: fix compile warning in mm/init.cMagnus Damm2010-12-171-1/+1
| | | | | | | | | | | | | | | | | | Turn down the warning noise from the compiler, basically a SH-Mobile specific version of the patch located in the RMK patch tracker: 6484/1: "fix compile warning in mm/init.c", Without this patch the following warning triggers: CC arch/arm/kernel/sys_arm.o arch/arm/mm/init.c: In function 'mem_init': arch/arm/mm/init.c:606: warning: format '%08lx' expects type 'long unsigned int', but argument 12 has type 'unsigned int' CC arch/arm/kernel/traps.o Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'rmobile-fixes-for-linus' of ↵Linus Torvalds2010-11-272-61/+119
|\ | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'rmobile-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: ARM: mach-shmobile: clock-sh7372: remove bogus pllc2 clock toggling. ARM: mach-shmobile: clock-sh7372: remove unnecessary fsi clocks ARM: mach-shmobile: clock-sh7372: modify error code ARM: mach-shmobile: ap4evb: FSI clock use proper process for ak4642 ARM: mach-shmobile: ap4evb: FSI clock use proper process for HDMI ARM: mach-shmobile: clock-sh7372: remove fsidiv bogus disable ARM: mach-shmobile: sh7372 USB0/IIC1 MSTP fix
| * Merge branch 'rmobile/fsi-despair' into rmobile-fixes-for-linusPaul Mundt2010-11-242-59/+117
| |\
| | * ARM: mach-shmobile: clock-sh7372: remove bogus pllc2 clock toggling.Kuninori Morimoto2010-11-242-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PLLC2 clock was utilizing the same sort of enable/disable without regard to usecount approach that the FSIDIV clock was when being used as a PLL pass-through. This forces the enable/disable through the clock framework, which now prevents the clock from being ripped out or modified underneath users that have an existing handle on it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: clock-sh7372: remove unnecessary fsi clocksKuninori Morimoto2010-11-241-2/+0
| | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: clock-sh7372: modify error codeKuninori Morimoto2010-11-241-2/+2
| | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: ap4evb: FSI clock use proper process for ak4642Kuninori Morimoto2010-11-241-29/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current AP4 FSI didn't use set_rate for ak4642, and used dummy rate when init. And FSI driver was modified to always call set_rate. The user which are using FSI set_rate is only AP4 now. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: ap4evb: FSI clock use proper process for HDMIKuninori Morimoto2010-11-242-14/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current AP4 FSI set_rate function used bogus clock process which didn't care enable/disable and clk->usecound. To solve this issue, this patch also modify FSI driver to call set_rate with enough options. This patch modify it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: clock-sh7372: remove fsidiv bogus disableKuninori Morimoto2010-11-241-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | Current FSIDIV clock framework had bogus disable. This patch remove it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | ARM: mach-shmobile: sh7372 USB0/IIC1 MSTP fixMagnus Damm2010-11-181-2/+2
| |/ | | | | | | | | | | | | | | | | Fix a MSTP assignment problem in the sh7372 clock framework code. The USB drivers should attach to MSTP322 not MSTP33 where IIC1 is located. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | Merge branch 'common/clkfwk' into sh-fixes-for-linusPaul Mundt2010-11-161-4/+2
|\ \ | |/ |/|
| * sh: clkfwk: Kill off now unused algo_id in set_rate op.Paul Mundt2010-11-151-4/+2
| | | | | | | | | | | | | | | | Now that clk_set_rate_ex() is gone, there is also no way to get at rate setting algo id, which is now also completely unused. Kill it off before new clock ops start using it. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | ARM: mach-shmobile: ap4evb: add fsib 44100Hz rateKuninori Morimoto2010-11-151-0/+4
| | | | | | | | | | | | | | Tested-by: Tony SIM <chinyeow.sim.xt@renesas.com> Tested-by: TAKEI Mitsuharu <takei.andr@gmail.com> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | ARM: mach-shmobile: ap4evb: Mark NOR boot loader partitions read-only.Yusuke Goda2010-11-081-0/+2
| | | | | | | | | | | | | | | | | | This makes the loader and bootenv partitions read-only under MTD for the on-board NOR flash. Signed-off-by: Yusuke Goda <yusuke.goda.sx@renesas.com> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | ARM: mach-shmobile: intc-sh7372: fix interrupt numberTony SIM2010-11-081-1/+1
|/ | | | | | Signed-off-by: Tony SIM <chinyeow.sim.xt@renesas.com> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* ARM: mach-shmobile: Allow GPIO chips to register IRQ mappings.Paul Mundt2010-11-041-2/+2
| | | | | | | As non-PFC chips are added that may support IRQs, pass through to the generic helper. This follows the the SH change. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* ARM: mach-shmobile: fix sh7372 after a recent clock framework reworkGuennadi Liakhovetski2010-11-021-0/+1
| | | | | | | | The updated sh clock framework has introduced a .nr_freqs element of struct clk, which has to be initialised with the number of possible frequencies. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* ARM: mach-shmobile: include drivers/sh/KconfigPaul Mundt2010-11-011-0/+2
| | | | | | | | | Many of the config bit are presently duplicated between the platforms, which will gradually cleaned up through centralization. For the moment we expose some new INTC features through drivers/sh/Kconfig that the ARM platforms presently don't enable, so make it generally available. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* ARM: mach-shmobile: ap4evb: Add HDMI sound supportKuninori Morimoto2010-10-311-1/+45
| | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* ARM: mach-shmobile: clock-sh7372: Add FSIDIV clock supportKuninori Morimoto2010-10-312-0/+103
| | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2010-10-3010-158/+392
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (215 commits) ARM: memblock: setup lowmem mappings using memblock ARM: memblock: move meminfo into find_limits directly ARM: memblock: convert free_highpages() to use memblock ARM: move freeing of highmem pages out of mem_init() ARM: memblock: convert memory detail printing to use memblock ARM: memblock: use memblock to free memory into arm_bootmem_init() ARM: memblock: use memblock when initializing memory allocators ARM: ensure membank array is always sorted ARM: 6466/1: implement flush_icache_all for the rest of the CPUs ARM: 6464/2: fix spinlock recursion in adjust_pte() ARM: fix memblock breakage ARM: 6465/1: Fix data abort accessing proc_info from __lookup_processor_type ARM: 6460/1: ixp2000: fix type of ixp2000_timer_interrupt ARM: 6449/1: Fix for compiler warning of uninitialized variable. ARM: 6445/1: fixup TCM memory types ARM: imx: Add wake functionality to GPIO ARM: mx5: Add gpio-keys to mx51 babbage board ARM: imx: Add gpio-keys to plat-mxc mx31_3ds: Fix spi registration mx31_3ds: Fix the logic for detecting the debug board ...
| * Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/genesis-2.6 into ↵Russell King2010-10-2810-158/+392
| |\ | | | | | | | | | | | | | | | | | | devel-stable Conflicts: drivers/video/sh_mobile_hdmi.c
| | * ARM: arch-shmobile: Add IMX074 camera sensor data to the AP4EVB platformGuennadi Liakhovetski2010-10-251-0/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add platform data, necessary to use Sony IMX074 camera sensor with AP4EVB. Note: this does not work reliably without an API to reserve contiguous and coherent memory for V4L DMA buffers. Such memory reservation has to be added as soon as a suitable API becomes available. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: ap4evb: modify LCDC1 irq numberTAKEI Mitsuharu2010-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: TAKEI Mitsuharu <takei.andr@gmail.com> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: add TMU platform data for sh7372Magnus Damm2010-10-152-1/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the two first channels of the TMU0 timer block on sh7372. One channel is used for clock event, the other for clock source. Signed-off-by: Magnus Damm <damm@opensource.se> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: remove videomodes from ap4evb platform dataGuennadi Liakhovetski2010-10-151-56/+0
| | | | | | | | | | | | | | | | | | | | | | | | Now that HDMI videomodes have become optional, they can be safely removed from ap4evb platform data, since anyway 720p seems to be the best supported mode. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: clock-sh7372: FSI parent select supportKuninori Morimoto2010-10-153-37/+80
| | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: clock-sh7372: add sh7372_ prefix to global clocksKuninori Morimoto2010-10-153-22/+24
| | | | | | | | | | | | | | | | | | | | | This patch also registered global extal clocks to sh7372.h Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: shmobile: use device name for timer clocksMagnus Damm2010-10-136-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move SH-Mobile ARM systems over from the legacy "clk" member of struct sh_timer_config to using the device name and clkdev for clock matching. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: shmobile: make AP4EVB MMCIF resource string consistentMagnus Damm2010-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | | Just use MMCIF as name to match the sh7372 data sheet. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: shmobile: break out sh7372 platform devicesMagnus Damm2010-10-131-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces sh7372_late_devices which should include all regular processor specific platform devices. Early platform devices for console and timers should be put on the sh7372_early_devices list, all other devices should be on sh7372_late_devices. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * arm/shmobile: remove duplicated includeNicolas Kaiser2010-10-061-1/+0
| | | | | | | | | | | | | | | | | | | | | Remove duplicated include. Signed-off-by: Nicolas Kaiser <nikai@nikai.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: modify wrong array size of div6_reparent_clksKuninori Morimoto2010-09-161-1/+1
| | | | | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: ap4evb: modify touchpanel judgment conditionKuninori Morimoto2010-09-141-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current touchpanel had below 2 issues - LCDD2 pin which is needed for WVGA was changed to IRQ28_123 pin on ts_get_pendown_state - GPIO pull up on ts_init was disabled by gpio_request on ts_get_pendown_state. This mean the return value from gpio_get_value is untrusted. This patch solve these issues Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: add two more video modes for HDMIGuennadi Liakhovetski2010-09-141-6/+35
| | | | | | | | | | | | | | | | | | | | | Add video modes for 480p and SXGA (1280x1024). Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * fbdev: sh_mobile_lcdcfb: Support multiple video modes in platform dataGuennadi Liakhovetski2010-09-141-41/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a preparation for HDMI hotplug support. This patch just moves all platform defined video modes for the sh_mobile_lcdcfb driver to separate arrays and switches all users to use element 0 of that array, so, this patch doesn't introduce any functional changes and as such should not cause any regressions. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: sh7372: modify INTCS tableKuninori Morimoto2010-09-141-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | Add ignored device name by comment-out in INTCS. And MSIOF which has been forgotten is added Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: pfc-sh7372: modify wrong commentKuninori Morimoto2010-09-141-4/+4
| | | | | | | | | | | | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: Use evt2irq() for sh7372 DMACMagnus Damm2010-09-141-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use evt2irq() for DMAC resources on sh7372. This makes the code easier to read and also allows adjusting the INTC base offset without breaking platform data. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: Extend AP4EVB LCD commentsMagnus Damm2010-09-141-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | Extend dip switch comments for QHD and WVGA LCD panels on AP4EVB. Similar to the Ecovec comments. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * ARM: mach-shmobile: ap4evb: modify tsc2007 platform settingsKuninori Morimoto2010-09-141-48/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch modify x_plate_ohms to correct value for tsc2007, and removed un-necessary ts_get_pendown_state(). gpio_pull_up() was removed also. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | ARM: mach-shmobile: ap4evb: Fix hotplug for SDHI1Arnd Hannemann2010-10-291-0/+19
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | On AP4EVB the card detect pin of the top SD/MMC slot is not directly connected to the tmio/mmcif controller but to a GPIO pin, so polling needs to be done for SDHI1 and MMCIF in order to support hotplug for that slot. SHDI1 and MMCIF share that slot, and the used controller is selected by a DIP switch. This patch adds a helper function to check if a card is present in that particular slot, registers this function with SDHI1 and MMCIF and enables polling for SDHI1. Signed-off-by: Arnd Hannemann <arnd@arndnet.de> Tested-by: Yusuke Goda <yusuke.goda.sx@renesas.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
* | arm: remove machine_desc.io_pg_offst and .phys_ioNicolas Pitre2010-10-203-6/+0
|/ | | | | | | | | | | | | | | Since we're now using addruart to establish the debug mapping, we can remove the io_pg_offst and phys_io members of struct machine_desc. The various declarations were removed using the following script: grep -rl MACHINE_START arch/arm | xargs \ sed -i '/MACHINE_START/,/MACHINE_END/ { /\.\(phys_io\|io_pg_offst\)/d }' [ Initial patch was from Jeremy Kerr, example script from Russell King ] Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> Acked-by: Eric Miao <eric.miao at canonical.com>
* ARM: mach-shmobile: ap4evb: fix write protect for SDHI1Arnd Hannemann2010-08-201-0/+2
| | | | | | | | | | SDHI1 on AP4EVB has no pin to detect write protection of a card. This had the result that a card inserted in this slot was always detected as read only. This patch adds the corresponding flag to disable write protection detection for SDHI1. Signed-off-by: Arnd Hannemann <arnd@arndnet.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* ARM: mach-shmobile: ap4evb: modify FSI2 IDKuninori Morimoto2010-08-181-1/+1
| | | | | Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* ARM: mach-shmobile: do not enable the PLLC2 clock on initGuennadi Liakhovetski2010-08-181-1/+0
| | | | | | | | | | | AP4EVB has to reparent PLLC2 to provide a precise HDMI clock, this is only possible, if PLLC2 hasn't been enabled yet. Since no other driver currently uses PLLC2 we can safely remove the CLK_ENABLE_ON_INIT flag. This fixes the "Cannot set PLLC2 parent: -16, 1 users" error message, when trying to use HDMI on AP4EVB. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* ARM: mach-shmobile: Clock framework comment fixMagnus Damm2010-08-181-1/+3
| | | | | | | Update clock framework header comment for SH-Mobile ARM. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* ARM: mach-shmobile: Fix up gpio-leds pdata definition.Paul Mundt2010-08-161-1/+1
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* ARM: mach-shmobile: AP4EVB: use gpio-leds for leds.Arnd Hannemann2010-08-161-14/+38
| | | | | | | | | This allows control of the leds on the AP4EVB board by kernel events (triggers) like mmc0/mmc1. In userland, the leds won't be available anymore over /sys/class/gpio but via /sys/class/leds. Signed-off-by: Arnd Hannemann <arnd@arndnet.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>