Commit Graph

90155 Commits

Author SHA1 Message Date
Laurent Pinchart
b58c8e7b43 ARM: shmobile: mackerel: Fix USBHS pinconf entry
Fix a typo in the USBHS1 pinconf entry that prevented the pull-down from
being enabled.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 19:08:27 +09:00
Laurent Pinchart
1d2bdbc3a8 ARM: shmobile: Let Koelsch multiplatform boot with Koelsch DTB
Let the multiplatform Koelsch support boot with the legacy DTS for
Koelsch as well as the Koelsch reference DTS.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 19:08:27 +09:00
Laurent Pinchart
1fb68146d5 ARM: shmobile: Let Lager multiplatform boot with Lager DTB
Let the multiplatform Lager support boot with the legacy DTS for Lager
as well as the Lager reference DTS.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 19:08:26 +09:00
Laurent Pinchart
469cd76b53 ARM: shmobile: Remove non-multiplatform Koelsch reference support
Now that r8a7791 has CCF support remove the legacy Koelsch reference
Kconfig bits CONFIG_MACH_KOELSCH_REFERENCE for the non-multiplatform
case.

Starting from this commit Koelsch board support is always enabled via
CONFIG_MACH_KOELSCH, and CONFIG_ARCH_MULTIPLATFORM is used to select
between board-koelsch.c and board-koelsch-reference.c

The file board-koelsch-reference.c can no longer be used together with
the legacy sh-clk clock framework, instead CCF is used.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
[horms+renesas@verge.net.au: Dropped arch/arm/boot/dts/Makefile portion]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 19:08:26 +09:00
Laurent Pinchart
a8325d627f ARM: shmobile: Remove non-multiplatform Lager reference support
Now that r8a7790 has CCF support remove the legacy Lager reference
Kconfig bits CONFIG_MACH_LAGER_REFERENCE for the non-multiplatform
case.

Starting from this commit Lager board support is always enabled via
CONFIG_MACH_LAGER, and CONFIG_ARCH_MULTIPLATFORM is used to select
between board-lager.c and board-lager-reference.c

The file board-lager-reference.c can no longer be used together with
the legacy sh-clk clock framework, instead CCF is used.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 19:08:26 +09:00
Laurent Pinchart
f31239ef59 ARM: shmobile: koelsch-reference: Instantiate clkdevs for SCIF and CMT
Now that the common clock framework is supported, the clock lookup
entries in clock-r8a7791.c are not registered anymore. Devices must
instead reference their clocks in the device tree. However, SCIF and CMT
devices are still instantiated through platform code, and thus need a
clock lookup entry.

Retrieve the SCIF and CMT clock entries by name and register clkdevs for
the corresponding devices. This will be removed when the SCIF and CMT
devices will be instantiated from the device tree.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 19:08:25 +09:00
Laurent Pinchart
4a606af20d ARM: shmobile: lager-reference: Instantiate clkdevs for SCIF and CMT
Now that the common clock framework is supported, the clock lookup
entries in clock-r8a7790.c are not registered anymore. Devices must
instead reference their clocks in the device tree. However, SCIF and CMT
devices are still instantiated through platform code, and thus need a
clock lookup entry.

Retrieve the SCIF and CMT clock entries by name and register clkdevs for
the corresponding devices. This will be removed when the SCIF and CMT
devices will be instantiated from the device tree.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 19:08:25 +09:00
Laurent Pinchart
e006502126 ARM: shmobile: koelsch-reference: Remove duplicate CCF initialization
The common clock framework is initialized in the rcar_gen2_init_timer()
function, remove the of_clk_init() call.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 19:08:25 +09:00
Laurent Pinchart
0ef3cde4d9 ARM: shmobile: lager-reference: Enable multiplaform kernel support
Enable multiplaform ARM architecture support for the Lager reference
board. Common clock framework initialization will be handled by the
rcar_gen2_init_timer() call, we just need to remove the legacy clock
code initialization.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 19:08:25 +09:00
Laurent Pinchart
9a3beb04ec ARM: shmobile: armadillo: Set backlight enable GPIO
The Armadillo 800 EVA panel module has a backlight enable signal
connected to GPIO 61. Instead of requesting the GPIO in board code and
setting it to a high level unconditionally, pass the GPIO number to the
PWM backlight driver as the backlight enable GPIO.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 19:08:25 +09:00
Sergei Shtylyov
974faba705 ARM: shmobile: Koelsch: add Ether support
Register Ether platform device and pin data on  the  Koelsch board.
Register platform fixup for Micrel KSZ8041 PHY, just like on the Lager board.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 19:08:24 +09:00
Laurent Pinchart
784c33a0c9 ARM: shmobile: koelsch: Add DU device
Only the LVDS output is currently supported.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 19:08:24 +09:00
Simon Horman
70d4f2e557 Merge branch 'heads/soc2' into boards2-base 2013-12-19 19:08:11 +09:00
Wolfram Sang
250d829f68 arm: shmobile: clks: remove duplicated clock from r7s72100
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 18:21:57 +09:00
Simon Horman
8967136000 ARM: shmobile: koelsch: Conditionally select MICREL_PHY
The koelsch board uses has an SH ethernet controller which uses a Micrel
phy. Select MICREL_PHY for koelsch if SH_ETH is enabled to make use of the
Micrel-specific phy driver rather than relying on the generic phy driver.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 18:03:53 +09:00
Laurent Pinchart
4b5c211f9f ARM: shmobile: rcar-gen2: Initialize CCF before clock sources
When CONFIG_COMMON_CLOCK is enabled, call rcar_gen2_clocks_init() in the
timer init function to initialize the common clock framework before
initializing the clock sources. This will take care of clock
initialization when the r8a779[01] boards will be switched to
multiplatform kernels.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19 16:34:05 +09:00
Ben Dooks
7e429989b6 ARM: shmobile: Add select MIGHT_HAVE_PCI for PCI-AHB bridge code
The PCI sub-system is not enabled by default on ARM and on certain
Renesas devices the build does not select it. This means that there
are configurations that do not allow the AHB-PCI bridge used for the
USB sub-systems to be built.

For the R8A7790, R8A7791 and EMEV-2 select MIGHT_HAVE_PCI to allow the
PCI drivers to be built. Also select MIGHT_HAVE_PCI for the multi-config
where there may be many Reneasas devices selected.

Reviewed-by: Ian Molton <ian.molton@codethink.co.uk>
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-14 10:46:25 +09:00
Kuninori Morimoto
aa9938644c ARM: shmobile: r8a7778: add USB Func DMAEngine support
HPB-DMAC has 2 channel for USB Func (= D0/D1)
D0 is used as Tx, D1 is used as Rx on this patch

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12 22:02:14 +09:00
Ben Dooks
0fe35077a9 ARM: rcar-gen2: Do not setup timer in non-secure mode
If the system has been started in non-secure mode, then the ARM generic
timer is not configurable during the kernel initialisation. Currently
the only thing we can check for is if the timer has been correctly
configured during the boot process.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Reviewed-by: Ian Molton <ian.molton@codethink.co.uk>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12 21:58:58 +09:00
Sergei Shtylyov
893c3f0bc5 ARM: shmobile: r8a7791: add Ether clock
Add support for R8A7791 Ether clock.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12 21:44:05 +09:00
Kuninori Morimoto
02d39132e7 ARM: shmobile: r8a7778: camera-rcar header cleanup
<linux/platform_data/camera-rcar.h> is needed on BockW,
not setup-r8a7778.c

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12 21:17:44 +09:00
Kuninori Morimoto
e1c98c5db9 ARM: shmobile: sh73a0: add FSI clock support for DT
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12 21:04:17 +09:00
Kuninori Morimoto
b448c904f5 ARM: shmobile: r8a7790: add I2C support
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12 20:48:42 +09:00
Kuninori Morimoto
a91be22c92 ARM: shmobile: r8a7778: add SSIx DMAEngine support
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-11 10:38:19 +09:00
Kuninori Morimoto
be0647d556 ARM: shmobile: lager: add gpio/fixed regulator for SDHI
Fixed regulator is used for SDHI0/2 Vcc.
We should use da9063 driver for Vccq,
but, it doesn't have regulator support at this point.
This patch uses gpio-regulator for it as quick-hack.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:50 +09:00
Kuninori Morimoto
c653033bae ARM: shmobile: bockw: remove unused RSND_SSI_CLK_FROM_ADG
92eba04e4b
(ASoC: rcar: remove RSND_SSI_CLK_FROM_ADG) removed
RSND_SSI_CLK_FROM_ADG, it is no longer needed

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:50 +09:00
Kuninori Morimoto
4a4783a30c ARM: shmobile: armadillo: fixup FSI address size
FSI address size is 0x400, not 0x8400

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:49 +09:00
Laurent Pinchart
0d9fd6165a ARM: Kconfig: Mention Renesas ARM SoCs instead of SH-Mobile
Only the SH-Mobile product name is mentioned in the Kconfig descriptions
and help texts. This makes it difficult for external engineers working
on other Renesas platforms to find upstream platform support as the
combination of the SH-Mobile name and using the product number proved an
effective method of concealment.

Replace the "SH-Mobile" name with "Renesas ARM SoCs" in all the related
descriptions, help texts and comments.

Reported-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:49 +09:00
Laurent Pinchart
3a8067f77f ARM: shmobile: mackerel: Use pinconf API to configure pin pull-down
The USB0 and USB1 VBUS pins must be pulled down. Add corresponding
configuration entries in the pinctrl map table instead of manually
poking the pin control registers.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:49 +09:00
Hiep Cao Minh
24cf82f442 ARM: shmobile: Lager:add SPI FLASH support on QSPI
This patch enables Spansion S25FL512SAGMFIG11 chip on QSPI,
Add support for the QSPI interface on Lager.

Signed-off-by: Hiep Cao Minh <cm-hiep@jinso.co.jp>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:29 +09:00
Paul Walmsley
90d423faa0 ARM: shmobile: mackerel: clk_round_rate() can return a zero to indicate an error
Treat both negative and zero return values from clk_round_rate() as
errors.  This is needed since subsequent patches will convert
clk_round_rate()'s return value to be an unsigned type, rather than a
signed type, since some clock sources can generate rates higher than
(2^31)-1 Hz.

Eventually, when calling clk_round_rate(), only a return value of zero
will be considered a error.  All other values will be considered valid
rates.  The comparison against values less than 0 is kept to preserve
the correct behavior in the meantime.

Signed-off-by: Paul Walmsley <pwalmsley@nvidia.com>
Acked-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:28 +09:00
Magnus Damm
85ef14da73 ARM: shmobile: Add pinctrl_register_mappings() for Koelsch
Add code to setup the r8a7791 PFC for the Koelsch board.

At this point serial consoles are added, and in the near
future other platform-device-only devices will be added
here like for instance the r8a7791 DU.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:28 +09:00
Magnus Damm
3fbbcbdf57 ARM: shmobile: Use ->init_late() on Lager
Hook in shmobile_init_late() on Lager V2. This enables some PM
related things like CPUIdle and Suspend-to-RAM.

With this patch applied it is possible to use Suspend-to-RAM:
# echo enabled > /sys/class/tty/ttySC6/power/wakeup
# echo mem > /sys/power/state
(wake by sending a character on the serial console)

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:27 +09:00
Magnus Damm
159a282dc3 ARM: shmobile: Hook up SW30-SW36 on Koelsch
Add support for Koelsch SW30-SW36 using GPIO keys.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:27 +09:00
Magnus Damm
e209456ee8 ARM: shmobile: koelsch: mark GPIO keys as wake-up sources
Enable wakeup for the GPIO keys on the Koelsch board.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:26 +09:00
Magnus Damm
6dc00ab90f ARM: shmobile: Use ->init_late() on Koelsch
Hook in shmobile_init_late() on Koelsch. This enables some PM
related things like CPUIdle and Suspend-to-RAM.

With this patch applied it is possible to use Suspend-to-RAM:
# echo enabled > /sys/class/tty/ttySC6/power/wakeup
# echo mem > /sys/power/state
(wake by sending a character on the serial console)

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:26 +09:00
Shinya Kuribayashi
e0554d90b0 ARM: shmobile: lager: mark GPIO keys as wake-up sources
Enable wakeup for the GPIO keys on the Lager board.

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:25 +09:00
Magnus Damm
7d91c46912 ARM: shmobile: r7s72100 Genmai Multiplatform
Add r7s72100 Genmai to SHMOBILE_MULTI.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:25 +09:00
Magnus Damm
c4e337fc0c ARM: shmobile: r7s72100 Genmai DT reference C bits
Add C code support for r7s72100 Genmai DT reference.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:24 +09:00
Magnus Damm
495e06d1da ARM: shmobile: r7s72100 Genmai DT reference DTS bits
Add the DT bits for r7s72100 Genmai DT reference support.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:23 +09:00
Magnus Damm
6d75bc6439 ARM: shmobile: Initial r8a7791 and Koelsch multiplatform support
Add Koelsch and r8a7791 to CONFIG_SHMOBILE_MULTI. At this
point CCF is not yet supported so you cannot run this code
yet. For CCF support to happen several different components
are needed, and this is one simple portion that moves us
forward. Other patches need to build on top of this one.

Koelsch board support exists in 3 flavors:
1) SHMOBILE_MULTI, MACH_KOELSCH - board-koelsch-reference.c (CCF + DT)
2) SHMOBILE, MACH_KOELSCH_REFERENCE - board-koelsch-reference.c (DT)
3) SHMOBILE, MACH_KOELSCH - board-koelsch.c (legacy C code)

When CCF is done then 2) will be removed. When 1) includes same features
as 3) then 3) will be removed.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:23 +09:00
Simon Horman
478e2f9ca5 ARM: shmobile: koelsch: set .debounce_interval
In R-Car GPIO hardware block, 'chattering removal' feature can be
enabled on GPIO-n-[3:0] pins, but it's not supported on rest of pins
GPIO-n-[31:4].

Set an appropriate debounce interval, instead.  We could confirm that
spurious/unnecessary GPIO interrupts are prevented by this settings.

Based on work for the lager board by Shinya Kuribayashi.

Cc: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:22 +09:00
Shinya Kuribayashi
c9fd77d48a ARM: shmobile: lager: set .debounce_interval
In R-Car GPIO hardware block, 'chattering removal' feature can be
enabled on GPIO-n-[3:0] pins, but it's not supported on rest of pins
GPIO-n-[31:4].

Set an appropriate debounce interval, instead.  We could confirm that
spurious/unnecessary GPIO interrupts are prevented by this settings.

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:22 +09:00
Kuninori Morimoto
79990c164d ARM: shmobile: bockw: add pin pull-up setting for SDHI
SDHI CD/WP pin needs pull-up

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:21 +09:00
Kuninori Morimoto
b6d3eba338 ARM: shmobile: bockw: fixup FPGA ioremap area
Don't keep FPGA ioremap area.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:21 +09:00
Magnus Damm
a2baf1912f ARM: shmobile: r8a7791 Koelsch DT reference C bits
Add DT reference support for the r8a7791 Koelsch board.

This board support file will be used together with common
clocks and multiplatform in the future.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:20 +09:00
Magnus Damm
721319d1ab ARM: shmobile: Add Koelsch SW2 support
Enable Koelsch GPIO switch for GPIO input and IRQ testing purpose.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:19 +09:00
Magnus Damm
87a2934ecf ARM: shmobile: Add Koelsch LED6, LED7 and LED8 support
Enable Koelsch LEDs for GPIO output testing purpose.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:19 +09:00
Magnus Damm
1a534ecec7 ARM: shmobile: Enable PFC/GPIO on the Koelsch board
Enable r8a7791 PFC and GPIO on the Koelsch board.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:18 +09:00
Kuninori Morimoto
06ac2a61e1 ARM: shmobile: bockw: use regulator for MMCIF
When regulators are used with MMC devices, sh_mmcif_plat_data::ocr
is not needed, they can be removed from platform data.
This patch adds v3.3 regulator settings,
and moved fixed-dummy regulator registration position

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:24:18 +09:00