Commit Graph
100 Commits
Author SHA1 Message Date
Magnus Damm fb09bf59f0 ARM: dts: r8a7740, emev2, sh73a0: Include SoC name in DTSI
Update the R-Mobile A1 (r8a7740), Emma Mobile EV2 (emev2) and
SH-Mobile AG5 (sh72a0) DTSI to include product name.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
[simon: squashed similar patches]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-11-28 13:55:24 +01:00
Magnus Damm 430212752c arm64: dts: renesas: r8a77990: Connect R-Car E3 AVB to IPMMU
Hook up the R-Car E3 AVB device to IPMMU-DS0 16 as described in
the data sheet.

Signed-off-by: Magnus Damm <damm@opensource.se>
Tested-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-11-05 16:06:40 +01:00
Magnus Damm 7ffbcb232c arm64: dts: renesas: r8a77980: Connect R-Car V3H AVB to IPMMU
Hook up the R-Car V3H AVB device to IPMMU-DS1 33 as described in
the data sheet.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-11-05 16:06:39 +01:00
Magnus Damm ea57402f36 arm64: dts: renesas: r8a77965: Connect R-Car M3-N AVB to IPMMU
Hook up the R-Car M3-N AVB device to IPMMU-DS0 16 as described in
the data sheet.

Signed-off-by: Magnus Damm <damm@opensource.se>
Tested-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-11-05 16:06:39 +01:00
Magnus Damm a070e3dc61 ARM: dts: R-Car Gen1 board comment update
Include R-Car Gen1 product names for Bock-W and Marzen.

The product names are taken from:
Documentation/devicetree/bindings/arm/shmobile.txt

Signed-off-by: Magnus Damm <damm@opensource.se>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-09-28 10:32:36 +02:00
Magnus Damm 89b43b0812 ARM: dts: Include R-Car Gen2 product name in DTSI files
Improve the user friendliness of the DTS code base by including the
R-Car product name in each R-Car Gen2 DTSI file.

The product names are taken from:
Documentation/devicetree/bindings/arm/shmobile.txt

Signed-off-by: Magnus Damm <damm@opensource.se>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-09-28 10:32:31 +02:00
Magnus Damm d59b0784f1 arm64: dts: renesas: r8a77980: Attach the SYS-DMAC to the IPMMU
For R-Car V3H hook up SYS-DMAC1 and SYS-DMAC2 to IPMMU-DS1 to match
information in the R-Car Gen3 Rev.1.00 (April 2018) datasheet.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-09-19 10:16:29 +02:00
Magnus Damm f0f9f7a6ba arm64: dts: renesas: r8a77990: Attach the SYS-DMAC to the IPMMU
For R-Car E3 hook up SYS-DMAC0, SYS-DMAC1 and SYS-DMAC2 to
IPMMU-DS0 and IPMMU-DS1 in same way as for R-Car H3.
This follows the R-Car Gen3 Rev.1.00 (April 2018) datasheet.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-09-19 10:15:05 +02:00
Magnus Damm d5dda0381f ARM: shmobile: koelsch: correct renesas,gpios to renesas,groups in sd[012] pfc
Fix typo of renesas,groups in the koeslch dt. The kernel has no
renesas,gpios but this should match renesas,groups.

Noticed thanks to similar fix for Lager by Rob Taylor and Ben Dooks.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-15 07:39:11 +09:00
Magnus Damm 6225b99aa6 ARM: shmobile: r8a7791: Add EHCI MSTP clock
Add support for EHCI clock gating via the MSTP703 bit on r8a7791.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:16 +09:00
Magnus Damm 7f168b1e92 ARM: shmobile: Add DTS gpio-keys support for SW2 on Koelsch
Add DTS gpio-keys support for SW2 on the Koelsch board.
This makes the DT code match the legacy board code. Also
update the existing gpio-keys nodes to make use of KEY_n.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:14 +09:00
Magnus Damm f7dcd382a8 ARM: shmobile: Add DTS gpio-keys support for SW2 on Lager
Add DTS gpio-keys support for SW2 on the Lager board.
This makes the DT code match the legacy board code.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:14 +09:00
Magnus Damm 896b79df8d ARM: shmobile: Update r8a7791 CPU freq to 1500MHz in DTS
The correct maximum CPU frequency for r8a7791 is 1500 MHz
so update the r8a7791 SoC DTS to reflect this.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:12 +09:00
Magnus Damm f278ea78be ARM: shmobile: Add Koelsch clock workarounds for SDHI
Add SDHI0, SDHI1 and SDHI2 to the clock workaround list for
Koelsch multiplatform. Without these additional lines wakeup
from Suspend-to-RAM never happens.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:30:40 +09:00
Magnus Damm f98b55d730 ARM: shmobile: Add Lager clock workarounds for SDHI and MMCIF
Add MMCIF1, SDHI0 and SDHI2 to the clock workaround list for
Lager multiplatform. Without these additional lines wakeup
from Suspend-to-RAM never happens.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:30:40 +09:00
Magnus Damm 89aff406db ARM: shmobile: Use shmobile_clk_workaround() on Koelsch
Convert the Koelsch DT reference code to use the newly introduced
function shmobile_clk_workaround().

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:30:39 +09:00
Magnus Damm e6597e0e19 ARM: shmobile: Use shmobile_clk_workaround() on Lager
Convert the Lager DT reference code to use the newly introduced
function shmobile_clk_workaround().

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:30:39 +09:00
Magnus Damm 25f5550f5a ARM: shmobile: Introduce shmobile_clk_workaround()
Introduce a new clock workaround function used by DT reference
code on the mach-shmobile subarchitecture. The new function
shmobile_clk_workaround() is used to configure clkdev to
allow DT and platform devices to coexist. It is possible for
the DT reference board code to also request enabling of the clock
in case the driver does not implement clock control.

Signed-off-by: Magnus Damm <damm@opensource.se>
[horms+renesas@verge.net.au: Removed trailing blank line]
Reviewed-by: Wolfram Sang <wsa@sang-engineering.com>
Tested-by: Wolfram Sang <wsa@sang-engineering.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:30:11 +09:00
Magnus Damm 277efd30cf ARM: shmobile: Check r8a7791 MD21 at SMP boot
On r8a7791 the hardware boot mode bit MD21 indicates if hardware
debug mode is enabled or not. In case hardware debug mode is enabled
print a warning and refrain from booting secondary CPU cores.

Without this patch Koelsch with SW8-4 set to OFF will hang at SMP boot.

Signed-off-by: Magnus Damm <damm@opensource.se>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:28:43 +09:00
Magnus Damm f05b4b5284 ARM: shmobile: Make use of r8a7790_add_standard_devices()
Move non-PFC and non-GPIO devices off from r8a7790_pinmux_init()
and into r8a7790_add_standard_devices() which is the normal place
to keep regular devices in the legacy case.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:28:42 +09:00
Magnus Damm 505891ec25 ARM: shmobile: Remove EMEV2 header file
There is no C board code left for the EMEV2 SoC, so
get rid of the emev2.h include file to save some lines.
While at it make functions static.

Signed-off-by: Magnus Damm <damm@opensource.se>
[horms+renesas@verge.net.au: Resolved conflict]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:28:23 +09:00
Magnus Damm 094c62c331 ARM: shmobile: Remove legacy EMEV2 SoC support
Get rid of legacy EMEV2 SoC code including the legacy clock
framework implementation. The multiplatform implementation
together with DT board support shall be used instead.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:26:01 +09:00
Magnus Damm c39dae380b ARM: shmobile: Add shared shmobile_init_delay()
Introduce shmobile_init_delay() that gets CPU specific
parameters from DT and sets up the early delay from
there. This allows us to both remove frequency information
from the C code and consolidate existing code.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:25:33 +09:00
Magnus Damm ce4b6a04c4 ARM: shmobile: Update r8a7791 CPU freq to 1500MHz in C
The correct maximum CPU frequency for r8a7791 is 1500 MHz
so update the r8a7791 SoC C code to reflect this.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:25:33 +09:00
Magnus Damm e4224fe8bf ARM: shmobile: Enable VSP1 in shmobile_defconfig
Both r8a7790 and r8a7791 have multiple on-chip VSP1 devices, so
enable the VSP1 driver by default in the shmobile_defconfig.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:23:55 +09:00
Magnus Damm 667d0f7b0e ARM: shmobile: Enable HIGHMEM in shmobile_defconfig
Many mach-shmobile hardware platforms include support for more
than 1GiB of RAM. Enable HIGHMEM by default to allow use of
larger amounts of memory.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:23:55 +09:00
Magnus Damm f5e1367f8f ARM: shmobile: Include at24.c in shmobile_defconfig
The Koelsch board includes an at24-compatible EEPROM hooked up via I2C.
To increase hardware support enable the driver in the shmobile_defconfig
multiplatform configuration.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:23:54 +09:00
Magnus Damm c2e90c4b7c ARM: shmobile: Include i2c-shmobile.c in shmobile_defconfig
Many SoCs include I2C controller instances compatible with
the i2c-shmobile.c driver. To increase hardware support enable
the driver in the shmobile_defconfig multiplatform configuration.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:23:54 +09:00
Magnus Damm fd3f1270d2 clocksource: Add Kconfig entries for CMT, MTU2, TMU and STI
Add Kconfig entries for CMT, MTU2, TMU and STI to
drivers/clocksource/Kconfig. This will allow us to
get rid of duplicated entires in architecture code
such as arch/sh and arch/arm/mach-shmobile.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Wolfram Sang <wsa@sang-engineering.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2014-03-11 23:05:15 +01:00
Magnus Damm fbfa893458 sh: Remove Kconfig entries for TMU, CMT and MTU2
Now when drivers/clocksource/Kconfig has been
updated with entires for CMT, TMU and MTU2
it is safe to remove these from SH.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Wolfram Sang <wsa@sang-engineering.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2014-03-11 23:05:13 +01:00
Magnus Damm aeb8fb7910 ARM: shmobile: Remove CMT, TMU and STI Kconfig entries
Now when drivers/clocksource/Kconfig has been
updated with entires for CMT, TMU, MTU2, and STI
it is safe to remove these from mach-shmobile.

Also select timers per SoC via SYS_SUPPORTS_xxx.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Wolfram Sang <wsa@sang-engineering.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2014-03-11 23:05:09 +01:00
Magnus Damm b5973fcd76 pinctrl: sh-pfc: r8a7791: SD1_CLK fix
Fix the SD1_CLK handling for r8a7791. Without this patch
it is impossible to request all pins needed for SDHI1 on
the Koelsch board.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2014-03-05 09:57:47 +08:00
Magnus Damm ef4741e90c PCI: rcar: Make the Kconfig dependencies more generic
Update the R-Car Generation 2 PCI driver Kconfig dependencies to follow
same style as other drivers - no SoC dependencies.

Also, update the COMPILE_TEST bits to depend on ARM. This since the DMA
bounce buffer and dma_ops handling code is ARM specific.

[bhelgaas: adjust context after dropping DMABOUNCE patches]
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-26 13:54:18 -07:00
Magnus Damm 2c60a7df72 ARM: shmobile: Add SDHI devices for Koelsch DTS
Add DT support for SDHI0, SDHI1 and SDHI2 on Koelsch.

The board specific handling of CD and WP pins are
using GPIOs. SDHI0 and SDHI1 are hooked up to regular
SD connectors while SDHI2 is using micro-SD which
is lacking WP signal.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-26 15:11:41 +09:00
Magnus Damm b7ed8a0dd4 ARM: shmobile: Add SDHI devices to r8a7791 DTSI
Add SDHI0, SDHI1 and SDHI2 to the r8a7791 DTSI.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-26 15:10:55 +09:00
Magnus Damm c4ca5d80e0 ARM: shmobile: Move SYSC base variable to inside ifdefs
Move the rcar_sysc_base variable to inside #ifdefs to avoid
triggering build warnings in case PM or SMP is not selected.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-26 14:53:35 +09:00
Magnus Damm e7509f6eca ARM: shmobile: Remove __init from rcar_gen2_read_mode_pins()
Remove __init from rcar_gen2_read_mode_pins() to allow
it to be used after boot. For instance the R-Car Gen2
MD21 check is needed even in the case of CPU Hotplug.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-24 08:55:48 +09:00
Magnus Damm a6557eb795 ARM: shmobile: Break out R-Car SYSC PM code
Break out the R-Car SYSC power management code from
the r8a7779 SoC code. With this new shared R-Car SYSC
code base it is possible to hook in Generation 2 SoCs
as well.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-24 08:55:46 +09:00
Magnus Damm 4a51856b42 ARM: shmobile: Use 64-bit dma_addr_t on r8a7790/r8a7791
Some on-chip devices on r8a7790 and r8a7791 can do
bus mastering and access more than 32-bits of address
space. Select ARCH_DMA_ADDR_T_64BIT when LPAE is set
in case of multiplatform and legacy SoC support.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-24 08:55:45 +09:00
Magnus Damm df55f6685a ARM: shmobile: Remove legacy r8a7790 DT clocks
The DT device case is handled by CCF these days, so get
rid of DT devices from the legacy clocks for r8a7790.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-24 08:54:44 +09:00
Magnus Damm 4bfb358b1d ARM: shmobile: Add r8a7791 legacy SDHI clocks
Add legacy r8a7791 SDHI clocks. This to allow the SDHI devices
to be used by legacy Koelsch board support.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-24 08:54:44 +09:00
Magnus Damm 33966fd9b5 PCI: rcar: Break out window size handling
Break out the hard coded window size code to allow dynamic setup. The
window size is still left at 1GiB but with this patch changing window size
is easy for testing.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-18 13:20:21 -07:00
Magnus Damm 546cadda35 PCI: rcar: Register each instance independently
Convert the code to allow per-device probe() like other device drivers.
This also delays driver registration due to change from subsys_initcall()
to regular module_platform_driver().

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-18 13:20:11 -07:00
Magnus Damm 6197c08ab8 ARM: shmobile: Remove Lager DT reference legacy clock bits
Lager DT reference is these days built for multiplatform
only which means that CCF comes with the package. Remove
unused legacy code ifdefs to clean up the code.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-18 09:15:49 +09:00
Magnus Damm 34b6a241de ARM: shmobile: Remove Koelsch DT reference legacy clock bits
Koelsch DT reference is these days built for multiplatform
only which means that CCF comes with the package. Remove
unused legacy code ifdefs to clean up the code.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-18 09:11:29 +09:00
Magnus Damm 1ee101d9c4 ARM: shmobile: Remove KZM9D board code
Get rid of KZM9D board code written in C. This version of the
C board code was used in the case of multiplatform, but these
days DT can be used instead, so because of that simply get rid
of the C code to simplify and save space.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-18 09:06:28 +09:00
Magnus Damm 30023bb4fa ARM: shmobile: Get rid of legacy KZM9D defconfig
Get rid of the kzm9d_defconfig. The KZM9D is now supported
as DT only in case of EMEV2 is selected in the kernel
configuration.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-17 12:23:27 +09:00
Magnus Damm d12e699f44 ARM: shmobile: Add SDHI devices for legacy Koelsch
Add SDHI0, SDHI1 and SDHI2 as platform devices to the
legacy Koelsch board code. Also include regulators that
are needed to control VCCQ and VDD.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-13 14:08:43 +09:00
Magnus Damm 97e00faaf1 pinctrl: sh-pfc: r8a7790: Break out USB0 OVC/VBUS
Create a new group for the USB0 OVC/VBUS pin by itself. This
allows us to monitor PWEN as GPIO on the Lager board.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2014-02-11 09:35:19 +01:00
Magnus Damm 36be7686ca ARM: shmobile: Lager USB0 cable detection workaround
Add Lager board code to check the PWEN GPIO signal and refuse to
allow probe of the USBHS driver in case of DIP misconfiguration.

For correct operation Lager DIP switches SW5 and SW6 shall be
configured in 2-3 position to enable USB Function support.

If the DIP switch is configured incorrectly then the user can
simply adjust the hardware and either reboot or use the bind interface
to try to probe again:

# echo renesas_usbhs > /sys/bus/platform/drivers/renesas_usbhs/bind

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-06 16:00:14 +09:00
Magnus Damm 235cda29e4 ARM: shmobile: Remove Lager USBHS UDC ifdefs
Remove ifdefs to make the Lager USBHS device always present.
This makes it more like other devices, no need to be special.

Also, these ifdefs by themselves do not hurt much, but combined
with USB Host device ifdefs that were proposed earlier we could
basically end up with a kernel that drives VBUS incorrectly
depending on the kernel configuration - lets not do that.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-02-04 14:28:33 +09:00
Magnus Damm 43881ec7a8 irqchip: renesas-irqc: Enable mask on suspend
Now when lazy interrupt disable has been enabled in the driver
then extend the code to set IRQCHIP_MASK_ON_SUSPEND which tells
the core that only IRQs marked as wakeups need to stay enabled
during Suspend-to-RAM.

Signed-off-by: Magnus Damm <damm@opensource.se>
Cc: rob.herring@calxeda.com
Cc: grant.likely@secretlab.ca
Cc: horms@verge.net.au
Link: http://lkml.kernel.org/r/20131204120556.29642.27021.sendpatchset@w520
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2014-01-22 21:48:55 +01:00
Magnus Damm 3aba556053 irqchip: renesas-irqc: Use lazy disable
Set the ->irq_enable() and ->irq_disable() methods to NULL
to enable lazy disable of interrupts. This by itself provides
some level of optimization, but is mainly enabled as ground
work for future Suspend-to-RAM wake up support.

Signed-off-by: Magnus Damm <damm@opensource.se>
Cc: rob.herring@calxeda.com
Cc: grant.likely@secretlab.ca
Cc: horms@verge.net.au
Link: http://lkml.kernel.org/r/20131204120546.29642.15772.sendpatchset@w520
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2014-01-22 21:48:55 +01:00
Magnus Damm 6a7e3b3007 irqchip: renesas-irqc: Enable mask on suspend
Now when lazy interrupt disable has been enabled in the driver
then extend the code to set IRQCHIP_MASK_ON_SUSPEND which tells
the core that only IRQs marked as wakeups need to stay enabled
during Suspend-to-RAM.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12 21:02:42 +09:00
Magnus Damm 272012d0f7 irqchip: renesas-irqc: Use lazy disable
Set the ->irq_enable() and ->irq_disable() methods to NULL
to enable lazy disable of interrupts. This by itself provides
some level of optimization, but is mainly enabled as ground
work for future Suspend-to-RAM wake up support.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12 21:01:23 +09:00
Magnus Damm 11ef0340a8 ARM: shmobile: Use r8a7779 suffix for INTC compat string
Add "renesas,intc-irqpin-r8a7779" to the compatible string for the
IRQ pins in case of r8a7779 INTC. This makes the INTC irqpin follow
the same style as the other devices and also makes it more future proof.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:24 +09:00
Magnus Damm d79af224b7 ARM: shmobile: Use r8a7778 suffix for INTC compat string
Add "renesas,intc-irqpin-r8a7778" to the compatible string for the
IRQ pins in case of r8a7778 INTC. This makes the INTC irqpin follow
the same style as the other devices and also makes it more future proof.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:23 +09:00
Magnus Damm 9632799980 ARM: shmobile: Use r8a7740 suffix for INTC compat string
Add "renesas,intc-irqpin-r8a7740" to the compatible string for the
IRQ pins in case of r8a7740 INTC. This makes the INTC irqpin follow
the same style as the other devices and also makes it more future proof.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:23 +09:00
Magnus Damm 8bb44445b0 ARM: shmobile: Use sh73a0 suffix for INTC compat string
Add "renesas,intc-irqpin-sh73a0" to the compatible string for the
IRQ pins in case of sh73a0 INTC. This makes the INTC irqpin follow
the same style as the other devices and also makes it more future proof.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:22 +09:00
Magnus Damm 89fbba1210 ARM: shmobile: Fix r8a7791 GPIO resources in DTS
The r8a7791 GPIO resources are currently incorrect. Fix that
by making them match the English r8a7791 v0.31 data sheet.

Tested with GPIO LED using Koelsch DT reference.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms@verge.net.au>
2013-12-10 17:27:19 +09:00
Magnus Damm fb8d2ee32e ARM: shmobile: Include all 4 GiB of memory on Lager DT Ref
Add 2GiB of DRAM at 0x1_8000_0000 to support the full 4GiB
of Lager system memory in case of DT Reference.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:18 +09:00
Magnus Damm 62bc32a257 ARM: shmobile: Include all 4 GiB of memory on Lager
Add 2GiB of DRAM at 0x1_8000_0000 to support the full 4GiB
of Lager system memory.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:18 +09:00
Magnus Damm 9701f44213 ARM: shmobile: Include all 2 GiB of memory on APE6EVM DT Ref
Add 1GiB of DRAM at 0x2_0000_0000 to support the full 2GiB
of APE6EVM system memory also in case of DT reference.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:17 +09:00
Magnus Damm 614a198d45 ARM: shmobile: Koelsch DT reference GPIO LED support
Add led6, led7 and led8 to the Koelsch DT reference board support.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:15 +09:00
Magnus Damm cef20af093 ARM: shmobile: Enable DSW2 with gpio-keys on KZM9D
Use the gpio-keys driver to support the 4 pins on the
dip switch DSW2 which is mounted on the KZM9D board.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:15 +09:00
Magnus Damm 220fc35216 ARM: shmobile: Use r8a7790 suffix for IRQC compat string
Add "renesas,irqc-r8a7790" to the compatible string for IRQC
in case of r8a7790. This makes the IRQC follow the same style
as the other devices and also makes it more future proof.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:14 +09:00
Magnus Damm 063e85607d ARM: shmobile: Use r8a7790 suffix for MMCIF compat string
Add "renesas,mmcif-r8a7790" to the compatible string for MMCIF
in case of r8a7790. This makes the MMCIF follow the same style
as the other devices and also makes it more future proof.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:13 +09:00
Magnus Damm d103f4d315 ARM: shmobile: Add r8a7791 thermal device node to DTS
Hook up the r8a7791 thermal sensor to the DTS.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:12 +09:00
Magnus Damm 03e2f56b8f ARM: shmobile: Add r8a7790 thermal device node to DTS
Hook up the r8a7790 thermal sensor to the DTS.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:12 +09:00
Magnus Damm b91a89cf8d ARM: shmobile: Configure r8a7791 PFC on Koelsch via DTS
Configure the "D" set of data signals for SCIF0 and SCIF1
on the Koelsch board to setup pinctrl serial console bits.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:11 +09:00
Magnus Damm 26041b0610 ARM: shmobile: Use r8a7791 suffix for IRQC compat string
Add "renesas,irqc-r8a7791" to the compatible string for IRQC
in case of r8a7791. This makes the IRQC follow the same style
as the other devices and also makes it more future proof.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:27:11 +09:00
Magnus Damm 1919a0a4b4 ARM: shmobile: r8a7791 Koelsch DT reference DTS bits
Add DTS for the DT reference version of the Koelsch board support.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:26:51 +09:00
Magnus Damm ab87e3fc0b ARM: shmobile: r8a7791 GPIO device tree node
Add GPIO controllers to the r8a7791 DTSI file.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:26:51 +09:00
Magnus Damm 55146927a7 ARM: shmobile: r8a7791 PFC device tree node
Add a DT node for the r8a7791 PFC device.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 17:26:50 +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
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
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
Magnus Damm 8476cee684 ARM: shmobile: Add r8a7791 clocks for thermal devices
Add the r8a7791 thermal device as legacy clocks.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 16:52:19 +09:00
Magnus Damm 887e840770 ARM: shmobile: Add r8a7791 thermal platform device
Add a thermal platform device for the legacy case
on the r8a7791 SoC. This keeps the r8a7791 in sync
with the r8a7790 sister device.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 16:52:19 +09:00
Magnus Damm 9654fd7322 ARM: shmobile: Add r8a7790 clocks for thermal devices
Add the r8a7790 DT thermal device to the legacy clocks.

Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10 16:52:18 +09:00
Magnus Damm 81fd1b6879 ARM: shmobile: Select USE_OF on EMEV2
Now when the legacy KZM9D board code is gone, make sure
USE_OF is selected in case of the EMEV2 SoC.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04 15:11:17 +09:00
Magnus Damm 59032702ea ARM: shmobile: Remove legacy platform devices from EMEV2 SoC code
Now when KZM9D legacy C board support code is
gone then remove emev2_add_standard_devices()
and all the platform devices from setup-emev2.c.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04 15:11:16 +09:00
Magnus Damm 786deb29e7 ARM: shmobile: Remove legacy KZM9D board code
Remove the C and platform device version of KZM9D.

The DT version of KZM9D board support can now instead
directly be used with SoC specific code in setup-emev2.c.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04 15:11:15 +09:00
Magnus Damm 3f348e1c3f ARM: shmobile: Use ->init_late() in shared EMEV2 case
Hook up shmobile_init_late() to enable various
code such as suspend-to-RAM and CPUIdle.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04 15:11:15 +09:00
Magnus Damm a3153e6cba ARM: shmobile: Add shared EMEV2 code for ->init_machine()
Add a SoC specific function that initializes
clocks and starts DT probing in case of EMEV2.

This EMEV2 SoC support code may be built for
either legacy SHMOBILE or SMOBILE_MULTI.

The change allows us to support existing board
specific KZM9D DTB with these SoC specific
DT_MACHINE_START() callbacks.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04 15:11:14 +09:00
Magnus Damm d18e06116d ARM: shmobile: Enable MTU2 on r7s72100
Add MTU2 as r7s72100 system timer.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04 15:11:14 +09:00
Magnus Damm 091b258c32 ARM: shmobile: Select GPIO in case of the r7s72100 SoC
The r7s72100 contains GPIO controllers so make sure the GPIO
subsystem can be built by selecting ARCH_WANT_OPTIONAL_GPIOLIB.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04 15:11:10 +09:00
Magnus Damm 93ff916305 ARM: shmobile: r8a7791 GPIO platform device support
Add GPIO controller platform devices for the r8a7791 SoC.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04 15:11:09 +09:00
Magnus Damm cc3a17d799 ARM: shmobile: Select GPIO in case of the r8a7791 SoC
Make it possible to build GPIO on r8a7791.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04 15:11:09 +09:00
Magnus Damm 35040127be ARM: shmobile: r8a7791 PFC platform device support
Add a platform device for the r8a7791 PFC device.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04 15:11:08 +09:00