Commit Graph

39134 Commits

Author SHA1 Message Date
Geert Uytterhoeven
c9b60e922c ARM: shmobile: armadillo-reference dts: Use KEY_* macros for gpio-keys
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:15 +09:00
Laurent Pinchart
19f647cbd4 ARM: shmobile: koelsch: Set ethernet PHY LED mode
The Koelsch board uses the ethernet PHY LED0 as a link signal connected
to the ethernet controller. Specify the corresponding LED mode for the
PHY.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:15 +09:00
Laurent Pinchart
f17dd09d51 ARM: shmobile: lager: Set ethernet PHY LED mode
The Lager board uses the ethernet PHY LED0 as a link signal connected to
the ethernet controller. Specify the corresponding LED mode for the PHY.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:14 +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
Geert Uytterhoeven
6d879a097a ARM: shmobile: bockw reference dts: Add SPI FLASH
Add Spansion s25fl008k SPI FLASH and MTD partition, based on bockw legacy
board code.

Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:14 +09:00
Geert Uytterhoeven
7709c33b39 ARM: shmobile: r8a7779 dtsi: Improve and correct HSPI nodes
- Add "renesas,hspi-r8a7779" compatible value,
  - Correct reference to parent interrupt controller
    (use "interrupt-parent" instead of "interrupt-controller"),
  - Add missing "#address-cells" and "#size-cells" properties, which are
    needed when populating the SPI buses.

Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:13 +09:00
Geert Uytterhoeven
a34c50d53d ARM: shmobile: r8a7778 dtsi: Improve and correct HSPI nodes
- Add "renesas,hspi-r8a7778" compatible value,
  - Correct reference to parent interrupt controller
    (use "interrupt-parent" instead of "interrupt-controller"),
  - Add missing "#address-cells" and "#size-cells" properties, which are
    needed when populating the SPI buses.

Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:13 +09:00
Geert Uytterhoeven
b16f05ab75 ARM: shmobile: koelsch dts: Add MSIOF nodes
Add pinctrl and SPI device for MSIOF on Koelsch.
On this board, only MSIOF0 is in use. Its bus contains a single device
(a Renesas R2A11302FT PMIC), for which no bindings are defined yet.

Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:13 +09:00
Geert Uytterhoeven
b0403b91e1 ARM: shmobile: lager dts: Add MSIOF nodes
Add pinctrl and SPI device for MSIOF on Lager.
On this board, only MSIOF1 is in use. Its bus contains a single device
(a Renesas R2A11302FT PMIC), for which no bindings are defined yet.

Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:13 +09:00
Geert Uytterhoeven
7713d3abe2 ARM: shmobile: r8a7791 dtsi: Add MSIOF nodes and aliases
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:13 +09:00
Geert Uytterhoeven
ae8a6146af ARM: shmobile: r8a7790 dtsi: Add MSIOF nodes and aliases
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:12 +09:00
Geert Uytterhoeven
6f3e4ee340 ARM: shmobile: r8a7791/koelsch dts: Rename label spi to qspi, add spi0 alias
Prepare for the advent of MSIOF SPI, which will be spi1 to spi3.

Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:31:12 +09:00
Geert Uytterhoeven
fad6d45cdf ARM: shmobile: r8a7790/lager dts: Rename label spi to qspi, add spi0 alias
Prepare for the advent of MSIOF SPI, which will be spi1 to spi4.

Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-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
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
Simon Horman
aa5de826af ARM: shmobile: lager-reference: Work around core clock issues
Due to issues with runtime PM clock management, clocks not explicitly
managed by their drivers may not be enabled at all, or be inadvertently
disabled by the clk_disable_unused() late initcall.

Until this is fixed, add a temporary workaround, calling
shmobile_clk_workaround() with enable == true.

For now this enables the clocks for: ether, msiof1, qspi_mod, and
thermal. More clocks can be added if needed.

Based on work for the koelsch board by Geert Uytterhoeven.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
2014-04-14 11:30:40 +09:00
Simon Horman
9e7b83c221 ARM: shmobile: koelsch-reference: Annotate clk_enables as __initconst
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
2014-04-14 11:30:40 +09:00
Geert Uytterhoeven
53cf0cf7ba ARM: shmobile: koelsch-reference: Work around core clock issues
Due to issues with runtime PM clock management, clocks not explicitly
managed by their drivers may not be enabled at all, or be inadvertently
disabled by the clk_disable_unused() late initcall.

Until this is fixed, add a temporary workaround, calling
shmobile_clk_workaround() with enable == true.

For now this enables the clocks for: ether, i2c2, msiof0, qspi_mod, and
thermal. More clocks can be added if needed.

Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:30:39 +09:00
Simon Horman
f71c77286b ARM: shmobile: lager: Annotate clk_names with __initconst
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
2014-04-14 11:30:39 +09:00
Simon Horman
f6f98b3e44 ARM: shmobile: koelsch: Annotate clk_names with __initconst
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
2014-04-14 11:30:39 +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
Laurent Pinchart
58ea1d53ba ARM: shmobile: r8a7791: Rename VSP1_SY clocks to VSP1_S
The r8a7791 has three VSP1 instances, one of them being named VSPS (which
stands for "VSP Standard"). The clock section in the SoC datasheet
misunderstood the abbreviation as meaning VSP System, and named the
corresponding clock VSP1(SY). This mistake has been carried over to the
kernel code.

Fix this by renaming the VSP1_SY clock to VSP1_S.

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>
2014-04-14 11:30:11 +09:00
Laurent Pinchart
79ea9934b8 ARM: shmobile: r8a7790: Rename VSP1_(SY|RT) clocks to VSP1_(S|R)
The r8a7790 has four VSP1 instances, two of them being named VSPS (which
stands for "VSP Standard") and VSPR (which stands for "VSP for
Resizing"). The clock section in the SoC datasheet misunderstood the
abbreviations as meaning VSP System and VSP Realtime, and named the
corresponding clocks VSP1(SY) and VSP1(RT). This mistake has been
carried over to the kernel code.

Fix this by renaming the VSP1_SY and VSP1_RT clocks to VSP1_S and VSP1_R.

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>
2014-04-14 11:30:11 +09:00
Laurent Pinchart
2b1b6e6865 ARM: shmobile: r8a7791: Fix the I2C clocks parents in legacy code
All I2C clocks derive from the HP clock, not from the P clock. Fix them.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-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
Laurent Pinchart
ab077bfdc4 ARM: shmobile: r8a7790: Fix the I2C clocks parents in legacy code
All I2C clocks derive from the HP clock, not from the P clock. Fix them.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-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
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
Geert Uytterhoeven
edcf139081 ARM: shmobile: r8a7791: Use rcar_gen2_read_mode_pins() helper
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:30:10 +09:00
Geert Uytterhoeven
e35db38d66 ARM: shmobile: r8a7778/bockw: Move "select RENESAS_INTC_IRQPIN" under SoC
Move the "select RENESAS_INTC_IRQPIN" from the two bockw-specific sections
to the one r8a7778-specific section, like is done for the other SoCs.

Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
[horms+renesas@verge.net.au: Resolved conflict]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:28:43 +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
Geert Uytterhoeven
835d737d66 ARM: shmobile: rcar-gen2: Cache Mode Monitor Register Value
The MD pins are sampled at reset time, hence the read value will always be
the same, and we can avoid the overhead of ioremapping the register on
every read.

Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:28:42 +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
Simon Horman
1d59eb190e ARM: shmobile: Enable USB [EO]HCI HCD support in shmobile_defconfig
The USB [EO]HCI HCD drivers provide USB host support for Renesas
R-Car Gen2 platforms. To increase hardware support enable the driver in the
shmobile_defconfig multiplatform configuration.

Acked-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
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
Ulrich Hecht
41551f3d7d ARM: shmobile: Enable USBHS gadget support in shmobile_defconfig
The renesas_usbhs driver provides USB gadget support for most Renesas
platforms. To increase hardware support enable the driver in the
shmobile_defconfig multiplatform configuration.

Signed-off-by: Ulrich Hecht <ulrich.hecht@gmail.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:23:54 +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
Geert Uytterhoeven
d477a4a2fc ARM: shmobile: multiplatform: Enable MSIOF in defconfig
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:23:54 +09:00
Geert Uytterhoeven
1668a7a699 ARM: shmobile: armadillo800eva: Spelling and grammar
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2014-04-14 11:23:08 +09:00
Shawn Guo
4b2b404309 ARM: dts: imx: add required #clock-cells for fixed-clock
Per bindings of fixed-clock, #clock-cells is a required property.  Let's
add it for those fixed rate clocks.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-04-14 10:22:39 +08:00
Lucas Stach
308965f94d ARM: dts: vybrid: drop address and size cells from GIC node
This is likely a copy-and-paste error from the
ARM GIC documentation, that has already been fixed.

address-cells should have been set to 0, as with the size
cells. As having those properties set to 0 is the
same thing as not specifying them, drop them completely.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-04-14 10:22:39 +08:00
Fabio Estevam
2cd36711e2 ARM: dts: imx6sl-evk: Add an entry for MX6SL_PAD_ECSPI1_SS0__GPIO4_IO11
In case the bootloader has incorrectly configured the ALT mode of
MX6SL_PAD_ECSPI1_SS0 pad, we end up with the following probe error:

m25p80 spi0.0: found mr25h256, expected m25p32
m25p80 spi0.0: mr25h256 (32 Kbytes)

In order to avoid this issue, add an entry for MX6SL_PAD_ECSPI1_SS0 pad, so
that kernel configures the ECSPI chip select as GPIO functionality, which
results in correct SPI NOR probe.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-04-14 10:22:38 +08:00
Lothar Waßmann
fa1746ae38 ARM: dts: imx53: fix apparent copy/paste error
The 'remote-endpoint' property should point back to ipu_di1_lvds1
rather than ipu_di0_lvds0.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
2014-04-14 10:22:38 +08:00