summaryrefslogtreecommitdiff
path: root/arch/arm/mach-shmobile
AgeCommit message (Collapse)AuthorFilesLines
2013-07-24ARM: shmobile: Remove sh73a0 use of <mach/hardware.h>Magnus Damm1-1/+0
Remove unused <mach/hardware.h> on sh73a0. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-24ARCH: ARM: shmobile: Remove ag5evm board supportSimon Horman4-648/+0
Remove support for the sh73a0 based ag5evm board. The sh73a0 SoC is continued to be supported using the kzm9g board. Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-24ARCH: ARM: shmobile: Remove kota2 board supportSimon Horman4-558/+0
Remove support for the sh73a0 based kota2 board. The sh73a0 SoC is continued to be supported using the kzm9g board. Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-24Merge branches 'tpu-pwm', 'backlight' and 'soc' into cleanup2-baseSimon Horman29-566/+564
2013-07-23ARM: shmobile: armadillo800eva-reference: fix compiler warningGuennadi Liakhovetski1-2/+2
Fix the compiler warning: arch/arm/mach-shmobile/board-armadillo800eva-reference.c:196:2: warning: initialization from incompatible pointer type [enabled by default] arch/arm/mach-shmobile/board-armadillo800eva-reference.c:196:2: warning: (near initialization for '__mach_desc_ARMADILLO800EVA_DT.restart') [enabled by default] While at it also remove superfluous parenthesis. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-23ARM: shmobile: Allow ARCH_SHMOBILE_MULTI timer configurationMagnus Damm1-5/+11
Move the timer configuration bits to allow use in case of ARCH_SHMOBILE or ARCH_SHMOBILE_MULTI. The timers all make use of the regular driver model so they are safe to enable for ARCH_MULTIPLATFORM. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-23ARM: shmobile: Add EMEV2 and KZM9D to ARCH_SHMOBILE_MULTIMagnus Damm3-2/+19
Enable build of EMEV2 and KZM9D DT Reference in case of ARCH_MULTIPLATFORM and ARCH_SHMOBILE_MULTI. IS_ENABLED() is leaves the clock-emev2.c file out in case of COMMON_CLK=y. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-23ARM: shmobile: Introduce ARCH_SHMOBILE_MULTIMagnus Damm2-0/+23
Add ARCH_SHMOBILE_MULTI to mach-shmobile that can be used to enable ARCH_MULTIPLATFORM on selected SoCs and boards. The headers stay under arch/arm/mach-shmobile/include/mach/ for now, they can and will be migrated independently over time. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-23ARM: shmobile: Only build clocks when COMMON_CLK=nMagnus Damm1-9/+22
Move shared clock.c file and per-SoC clock-xxx.c files to only build when CONFIG_COMMON_CLK != y. The regular ARCH_SHMOBILE case with legacy SH clock framework will build just as before with this patch applied, however the case when COMMON_CLK=y will exclude all the clock files. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-22ARM: shmobile: kzm9g-reference: Move SDHI regulators to DTLaurent Pinchart1-6/+0
Create two GPIO-controlled fixed-voltage regulators in the kzm9g-reference DT and remove manual configuration of the corresponding GPIOs from board code. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-22ARM: shmobile: kzm9g-reference: Move pinctrl mappings to device treeLaurent Pinchart1-40/+0
Replace the pinctrl mappings in board code by device tree mappings. For devices that are still instantiated from board code reference the mappings as the default pin controller state to apply them at boot time. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-22ARM: shmobile: marzen-reference: Move pinctrl mappings to device treeLaurent Pinchart1-27/+0
Replace the pinctrl mappings in board code by device tree mappings. For devices that are still instantiated from board code reference the mappings as the default pin controller state to apply them at boot time. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-22ARM: shmobile: armadillo-reference: Move st1232 reset GPIO to DTLaurent Pinchart1-7/+0
Reference the st1232 reset GPIO from the device tree and remove it from board code. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-22ARM: shmobile: armadillo-reference: Move pinctrl mappings to device treeLaurent Pinchart1-9/+0
Replace the pinctrl mappings in board code by device tree mappings. For devices that are still instantiated from board code reference the mappings as the default pin controller state to apply them at boot time. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-22ARM: shmobile: sh73a0: Add pin control device to device treeLaurent Pinchart1-14/+13
Add a pfc node to the sh73a0 device tree and remove manual pinmux initialization from the corresponding board files. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-22ARM: shmobile: r8a7779: Add pin control device to device treeLaurent Pinchart1-9/+8
Add a pfc node to the r8a7779 device tree and remove manual pinmux initialization from the corresponding board files. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-22ARM: shmobile: r8a7740: Add pin control device to device treeLaurent Pinchart1-8/+8
Add a pfc node to the r8a7740 device tree and remove manual pinmux initialization from the corresponding board files. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-19ARM: shmobile: sh73a0: Remove all GPIOsLaurent Pinchart1-372/+1
Function GPIOs are not used anymore, and all code use the GPIO numbers directly. Remove the GPIOs enumeration. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-19ARM: shmobile: kota2: Use leds-pwm + pwm-rmobLaurent Pinchart2-91/+90
Instead of using the LED-specific TPU PWM driver, switch to the generic TPU PWM driver with leds-pwm. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-19ARM: shmobile: armadillo800eva: Add backlight supportLaurent Pinchart1-2/+52
The flat panel backlight on the Armadillo 800 EVA board is driven by the TPU PWM output. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Tested-by: Simon Horman <horms@verge.net.au> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-19ARM: shmobile: r8a7740: Fix TPU clock nameLaurent Pinchart1-1/+1
The TPU device is called renesas-tpu-pwm, not renesas_tpu_pwm. Fix the clock name accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-18ARM: shmobile: Insert align directives before 4 bytes dataTetsuyuki Kobayashi3-0/+4
In thumb2 mode instructions are not align to 4 byte. This patch insert align directives before putting 4 byte data. Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-18ARM: shmobile: Force ARM mode to compile reset vector for secondary CPUsTetsuyuki Kobayashi1-1/+4
Instructions start from boot vector must be ARM mode. This patch specify ARM mode explicitly and use 'bx' instruction to be able to change to Thumb mode. Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-18ARM: shmobile: fix compile error when CONFIG_THUMB2_KERNEL=yTetsuyuki Kobayashi1-1/+2
On KZM-A9-GT board (SMP), when CONFIG_THUMB2_KERNEL=y it fails to compile AS arch/arm/mach-shmobile/headsmp-scu.o /proj/koba/kernel/arm-soc/arch/arm/mach-shmobile/headsmp-scu.S: Assembler messages: /proj/koba/kernel/arm-soc/arch/arm/mach-shmobile/headsmp-scu.S:41: Error: shift must be constant -- `bic r2,r2,r3,lsl r1' make[2]: *** [arch/arm/mach-shmobile/headsmp-scu.o] Error 1 make[1]: *** [arch/arm/mach-shmobile] Error 2 make: *** [sub-make] Error 2 Instruction `bic r2,r2,r3,lsl r1' is not supported in thumb mode. This patch split it into 2 instructions. Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: select the fixed regulator driver on BockWKuninori Morimoto1-0/+1
34767f8dccc326026f97cd63f759dd36bd83502d (ARM: mach-shmobile: select the fixed regulator driver on several boards) decided to select fixed regulator driver on Kconfig. BockW follows same style. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> [horms+renesas@verge.net.au: Change mach-shmobile to shmobile in changelog] Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: lager: add MMCIF supportGuennadi Liakhovetski1-0/+31
Add support for the MMCIF1 interface on Lager. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: armadillo800eva: add DMA support to MMCIFGuennadi Liakhovetski1-0/+2
Add DMA slave IDs to MMCIF Tx and Rx channels. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: Minor update for the Lager DT reference codeMagnus Damm1-2/+1
Update the Lager DT reference code to get rid of the redundant irqchip header and also make lager_add_standard_devices() static. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: lager: Add DT referenceSimon Horman6-2/+67
This is sufficient to allow boot of the Lager board with a console without boards-lager.c compiled into the kernel. This is an example of a minimal but still useful initialisation of the board using DT as much as possible. As such it is the same as the boot of Lager that can be achieved without a board file. The intention of adding this file is to facilitate further work to allow board specific devices to be initialised via DT. Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: ape6evm-reference: add CPUFreq supportGuennadi Liakhovetski1-0/+2
Add CPUFreq support to ape6evm-reference, using a max8973 regulator, that is supplying V_DVFS for the 4 CA15 cores on r8a73a4. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: ape6evm: add DT referenceGuennadi Liakhovetski6-2/+92
This patch adds a sample DT-based APE6EVM "reference" implementation. The use of platform-specific C-code should be avoided with this configuration as much as possible. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: Setup r8a7790 arch timer based on MD pinsMagnus Damm1-6/+45
Update the r8a7790 arch timer setup code to configure the frequency dynamically at boot time. This means that the arch timer driver will be able to detect a timer frequency that has been calculated based on the MD pins instead of a fixed and potentially incorrect 13 MHz. With this patch applied the Linux kernel will correctly support the r8a7790 Lager board that uses a 20 Mhz EXTAL. The arch timer will operate on 10 MHz and the Linux arch timer driver will be correctly configured to use 10 MHz. Without this patch the 20 MHz EXTAL will be used to drive the arch timer at 10 MHz, but the Linux arch timer driver will believe it is counting at 13 Mhz. Reported-by: Ulrich Hecht <ulrich.hecht@gmail.com> Signed-off-by: Magnus Damm <damm@opensource.se> Tested-by: Ulrich Hecht <ulrich.hecht@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: Introduce r8a7790_read_mode_pins()Magnus Damm3-9/+19
Break out the r8a7790 boot mode code into a separate function so it can be shared by multiple users. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: r8a7740: add MMCIF DMA definitionsGuennadi Liakhovetski2-0/+12
Add DMA channel slave IDs and configuration entries for the r8a7740 MMCIF controller. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: Disconnect EMEV2 SMP code from clocksMagnus Damm3-21/+9
Update the EMEV2 SMP code to access the SMU directly instead of relying on help from the legacy clock code. This change moves us one step closer to common clocks. Signed-off-by: Magnus Damm <damm@opensource.se> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: Make r8a73a4 Arch timer optionalMagnus Damm4-1/+10
Update the r8a73a4 code to allow using other timers than Arch timer for clock event Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: Add r8a73a4 CMT10 clock eventMagnus Damm2-1/+24
Add clock event support for CMT1 timer channel 0 to the r8a73a4 SoC code. The CMT is used together with a 32KHz clock in this case. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: Make r8a7790 Arch timer optionalMagnus Damm4-1/+10
Update the r8a7790 code to allow using other timers than Arch timer for clock events. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: Add r8a7790 CMT00 clock eventMagnus Damm2-1/+26
Add clock event support for CMT0 timer channel 0 to the r8a7790 SoC code. On most ARM mach-shmobile the CMT is hooked up to a 32KHz clock but on r8a7790 a 31.7KHz clock is instead used. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: Sort r8a7790 MSTP entriesMagnus Damm1-3/+3
The r8a7790 MSTP bits should be kept sorted in the same way as on other mach-shmobile SoCs. Move the HSCIF and thermal bits to clean up the current state. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: r8a73a4: add clocks for I2C controllersGuennadi Liakhovetski1-2/+23
r8a73a4 SoCs have numerous I2C controllers, of which 9 are compatible with the i2c-sh_mobile.c driver. This patch adds clock definitions for them. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: r8a73a4: add Z2 clock supportGuennadi Liakhovetski1-0/+17
The Z2 clock on r8a73a4 is used to clock the 4 Cortex A7 cores on the SoC. Add a definition for this clock to later use it from the arm_big_little CPUFreq driver. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: r8a73a4: safeguard against wrong clk_set_rate() usesGuennadi Liakhovetski1-1/+13
clk_set_rate() should only be called with exact rates, returned by clk_round_rate(). However, it is still good to verify, that the value, passed to clock's .set_rate() method is at least valid. This patch adds such a check for the Z-clock on r8a73a4. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: r8a73a4: implement CPU clock scaling for CPUFreqGuennadi Liakhovetski3-1/+125
This patch adds support for the Z-clock on r8a73a4 SoCs, which is driving the Cortex A15 core, and a "cpufreq-cpu0" platform device. Adding an "operating-points" property to the CPU0 DT node and a regulator, this patch allows platforms to use the generic cpufreq-cpu0 driver to use SoC's DVFS capabilities. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: r8a73a4: wait for completion when kicking the clockGuennadi Liakhovetski1-6/+16
To reconfigure clocks, controlled by FRQCRA and FRQCRB, a kick bit has to be set and to make sure the setting has taken effect, it has to be read back repeatedly until it is cleared by the hardware. This patch adds the waiting part, that was missing until now. Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: r8a7790: add thermal driver supportSimon Horman1-0/+12
The current temperature may be read using: cat /sys/class/thermal/thermal_zone0/temp Based on similar work for the r8a73a4 by Kuninori Morimoto. Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: r8a7790: add clocks for thermalSimon Horman1-0/+4
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: KZM9D DT reference implementationMagnus Damm4-0/+60
Add a DT reference implementation for the KZM9D board. Only DT devices are used in this case. UART, STI, GPIO and SMP / GIC are all provided by emev2.dtsi. There is still a board specific C file used for enabling legacy SH clocks. This file will be removed after we have moved over to common clocks. Signed-off-by: Magnus Damm <damm@opensource.se> [horms+renesas@verge.net.au: Do not include trailing blank line in board-kzm9d-reference.c ] Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: EMEV2 map_io updateMagnus Damm1-7/+1
Update the EMEV2 struct map_desc to exclude the SMU and also include the ->map_io() callback in the DT version of EMEV2 board support. The EMEV2 SMP code can these days perform ioremap() early on without the SMU information in the io_desc[]. To correctly support SMP in case of DT-only board support then the ->map_io() callback is needed. Signed-off-by: Magnus Damm <damm@opensource.se> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-07-17ARM: shmobile: Use DT for SMP on EMEV2 and KZM9DMagnus Damm1-14/+3
Rework the EMEV2 SMP code to rely on DT for CPU information instead of reading out number of CPU cores from the SCU. Signed-off-by: Magnus Damm <damm@opensource.se> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>