Age | Commit message (Collapse) | Author | Files | Lines |
|
Add SCIF serial port support to the r8a7790 SoC by
adding platform devices for SCIFA0 -> SCIFA2 as well
as SCIFB0 -> SCIFB2 and SCIF0 -> SCIF1 together with
clock bindings. DT device description is excluded at
this point since such bindings are still under
development.
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Add initial support for the r8a7790 SoC including:
- Single Cortex-A15 CPU Core
- GIC
- Architecture timer
No static virtual mappings are used, all the components
make use of ioremap(). DT_MACHINE_START is still wrapped
in CONFIG_USE_OF to match other mach-shmobile code.
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
There is no reason each CPU's own function has to exist in common.h.
r8a7779_xxx() go to r8a7779.h
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
There is no reason each CPU's own function has to exist in common.h.
r8a7740_xxx() go to r8a7740.h
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
There is no reason each CPU's own function has to exist in common.h.
sh73a0_xxx() go to sh73a0.h
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
There is no reason each CPU's own function has to exist in common.h.
sh7372_xxx() go to sh7372.h
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
R-Car H1 has many clocks, and it is possible to read/use clock ratio
of these clocks from FRQMRx as DIV4 clocks.
But, these ratio are fixed value and these are decided
by MD pin status.
This means that we can use fixed ratio clock via MD pin status,
instead of DIV4 clocks.
This patch reads MD pin status, and sets PLLA clock (= root clock),
and used fixed ratio clock for other clocks.
It was tesed on marzen board.
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Current clock-r8a7740 is using own implement
for each divX clocks.
This patch switches to use fixed ratio clock,
and was tesed on armadillo board.
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Current clock-r8a7740's DIV4/DIV6/MSTP implemented area and
its comment are mismatching.
This patch tidyup its comment/implementation area.
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Current clock-sh73a0 is using own implement
for each divX clocks.
This patch switches to use fixed ratio clock,
and was tesed on kzm9g board.
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Current clock-sh7372 is using own implement
for each divX clocks.
This patch switches to use fixed ratio clock,
and was tesed on mackerel board.
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Renesas chip has many clocks inside,
and some of them are using fixed ratio via parent clock.
Current shmobile clock code is using own divX_recalc function
and divX_clk_ops.
This patch can reduce these code
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
DIV4_ZT* clocks are for debugging and trace bus clock.
It is not necessary to control it from Linux/Software.
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
DIV4_ZT* clocks are for debugging and trace bus clock.
It is not necessary to control it from Linux/Software.
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Add a TWD clock on sh73a0 for the smp_twd driver to properly update the
clock's frequency upon cpufreq events.
Signed-off-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
With the added capabilty of the intc_irqpin driver to handle shared
external IRQs, all prerequisites are fulfilled and we are ready to
migrate completely to GIC. This includes the following steps:
- Kconfig: select ARM_GIC and RENESAS_INTC_IRQPIN
- intc-r8a7740: Throw out all legacy INTC code and init the GIC. We need
to mask out all shared IRQs as it is needed by the
shared intc_irqpin driver.
- setup-r8a7740: Add 4 irqpin devices to handle external IRQs and update
all IRQ numbers to point to the GIC SPI.
- board-armadillo: Update all IRQ numbers to point to the GIC SPI.
- pfc-r8a7740: Update all IRQ numbers of the GPIOs to point to the GIC
SPI.
Signed-off-by: Bastian Hecht <[email protected]>
Acked-by: Kuninori Morimoto <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
You can get current thermal by
> cat /sys/class/thermal/thermal_zone?/temp
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Modify mach-shmobile to only select PINCTRL in case of
ARCH_WANT_OPTIONAL_GPIOLIB is set.
This fixes a build error triggered when adding a new SoC
lacking GPIO software support (ARCH_WANT_OPTIONAL_GPIOLIB=n):
CC drivers/tty/vt/keyboard.o
In file included from drivers/pinctrl/core.c:30:0:
include/asm-generic/gpio.h: In function 'gpio_get_value_cansleep':
include/asm-generic/gpio.h:270:2: error: implicit declaration of function '__gpio_get_value'
include/asm-generic/gpio.h: In function 'gpio_set_value_cansleep':
include/asm-generic/gpio.h:276:2: error: implicit declaration of function '__gpio_set_value'
drivers/pinctrl/core.c: In function 'pinctrl_ready_for_gpio_range':
drivers/pinctrl/core.c:297:9: error: implicit declaration of function 'gpio_to_chip'
drivers/pinctrl/core.c:297:27: warning: initialization makes pointer from integer without a cast
drivers/pinctrl/core.c:304:45: error: dereferencing pointer to incomplete type
drivers/pinctrl/core.c:305:26: error: dereferencing pointer to incomplete type
drivers/pinctrl/core.c:305:39: error: dereferencing pointer to incomplete type
make[2]: *** [drivers/pinctrl/core.o] Error 1
make[1]: *** [drivers/pinctrl] Error 2
make[1]: *** Waiting for unfinished jobs....
LD drivers/sh/built-in.o
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Add DT nodes for the 4 irqpin interrupt controllers on sh73a0. We add them
to sh73a0.dtsi, which is also used by configurations, doing all their
device instantiation from board the .c code. We rely on the fact, that
such configurations don't instantiate devices from the device-tree.
Signed-off-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Add SCIF serial port support to the r8a7778 SoC by
adding platform devices together with clock bindings.
DT device description is excluded at this point since
such bindings are still under development.
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Add initial support for the R8A7778 R-Car M1A SoC.
No static virtual mappings are used, all the components
make use of ioremap().
DT_MACHINE_START is still wrapped
in CONFIG_USE_OF to match other mach-shmobile code.
It is based on v1.0 datasheet
Signed-off-by: Kuninori Morimoto <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
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.
Signed-off-by: Guennadi Liakhovetski <[email protected]>
Acked-by: Magnus Damm <[email protected]
Signed-off-by: Simon Horman <[email protected]>
|
|
Add a platform device for the r8a73a4 PFC.
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Add IRQC interrupt controller support to r8a73a4 by
hooking up two IRQC instances to handle 58 external
IRQ signals. There IRQC controllers are tied to SPIs
of the GIC. On r8a73a4 exact IRQ pin routing is handled
by the PFC which is excluded from this patch.
Both platform devices and DT devices are added in this
patch. The platform device versions are used to provide
a static interrupt map configuration for board code
written in C.
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
V3 of SCIF serial port support for the r8a73a4 SoC.
This is done by adding platform devices for SCIFA0
-> SCIFA1 as well as SCIFB0 -> SCIFB3 together with
clock bindings. DT device description is excluded at
this point since such bindings are still under
development.
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
V3 of initial support for the r8a73a4 SoC including:
- Single Cortex-A15 CPU Core
- GIC
- Architecture timer
No static virtual mappings are used, all the components
make use of ioremap(). DT_MACHINE_START is still wrapped
in CONFIG_USE_OF to match other mach-shmobile code.
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Update for Renesas INTC External IRQ pin driver for v3.10
This adds support for shared interrupt lines to the
Renesas INTC External IRQ pin driver which has already
been queued up for v3.10 (tag renesas-intc-external-irq-for-v3.10).
The patch "irqchip: intc-irqpin: Add support for shared interrupt lines"
in renesas-intc-external-irq2-for-v3.10 is a dependency for
"ARM: shmobile: r8a7740: Migrate from INTC to GIC". That dependency is
the reason for this merge.
|
|
On some hardware we don't have a 1-1 mapping from the external
interrupts coming from INTC to the GIC SPI pins. We can however
share lines to demux incoming IRQs on these SoCs.
This patch enables the intc_irqpin driver to detect requests for shared
interrupt lines and demuxes them properly by querying the INTC INTREQx0A
registers.
If you need multiple shared intc_irqpin device instances, be sure to mask
out all interrupts on the INTC that share the one line before you start
to register them. Else you run into IRQ floods that would be caused by
interrupts for which no handler has been set up yet when the first
intc_irqpin device is registered.
Signed-off-by: Bastian Hecht <[email protected]>
Acked-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Add DT support to the IRQC External IRQ Pin driver.
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Add initial DT support to the INTC External IRQ Pin
driver. At this point only hardware with 4-bit wide
sense registers is supported via DT.
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
The platform data for the INTC irq pin driver
seems to be global symbols, make it static to
allow multi-soc build.
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
The platform data for the INTC irq pin driver
seems to be global symbols, make it static to
allow multi-soc build.
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
This patch adds a driver for external IRQ pins connected
to the IRQC hardware block on recent SoCs from Renesas.
The IRQC hardware block is used together with more
recent ARM based SoCs using the GIC. As usual the GIC
requires external IRQ trigger setup somewhere else
which in this particular case happens to be IRQC.
This driver implements the glue code needed to configure
IRQ trigger and also handle mask/unmask and demux of
external IRQ pins hooked up from the IRQC to the GIC.
Tested on r8a73a4 but is designed to work with a wide
range of SoCs. The driver requires one GIC SPI per
external IRQ pin to operate. Each driver instance
will handle up to 32 external IRQ pins.
The SoCs using this driver are currently mainly used
together with regular platform devices so this driver
allows configuration via platform data to support things
like static interrupt base address. DT support will
be added incrementally in the not so distant future.
Signed-off-by: Magnus Damm <[email protected]>
Tested-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Add GPL header to platform data include file.
Signed-off-by: Magnus Damm <[email protected]>
Reviewed-by: Thomas Gleixner <[email protected]>
Tested-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Use devm_kzalloc(), devm_ioremap_nocache()
and devm_request_irq() to simplify error
handling.
Signed-off-by: Magnus Damm <[email protected]>
Reviewed-by: Thomas Gleixner <[email protected]>
Tested-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Add comments to describe the special case for
"force" versions of enable and disable functions.
Signed-off-by: Magnus Damm <[email protected]>
Reviewed-by: Thomas Gleixner <[email protected]>
Tested-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Cache IRQ in domain_irq variable instead of
making use of irq_find_mapping(). While at it
rename the irq variable to requested_irq.
Signed-off-by: Magnus Damm <[email protected]>
Reviewed-by: Thomas Gleixner <[email protected]>
Tested-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Remove whitespace damage and add newline
between variables and code.
Signed-off-by: Magnus Damm <[email protected]>
Reviewed-by: Thomas Gleixner <[email protected]>
Tested-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Update the r8a7779 IRQ code to make use of the
INTC External IRQ pin driver for external
interrupt pins IRQ0 -> IRQ3.
The r8a7779 SoC can like older SH SoCs configure
to use the IRQ0 -> IRQ3 signals as individual
interrupts or a combined IRL mode.
Without this patch the r8a7779 SoC code does
not fully support external IRQ pins in individual
IRQ mode. The r8a7779 PFC code does not yet have
gpio_to_irq() support so no need to update such
code.
At this point the DT reference implementations
are not covered. In the future such code shall
tie in the INTC External IRQ pin driver via
DT, so this kind of verbose code is not needed
for the long term DT case.
Signed-off-by: Magnus Damm <[email protected]>
Tested-by: Guennadi Liakhovetski <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Adjust the sh73a0 IRQ code to make use of the
INTC External IRQ pin driver for external
interrupt pins IRQ0 -> IRQ31.
This removes quite a bit of special-case code
in intc-sh73a0.c but the number of lines get
replaced with platform device information in
setup-sh73a0.c. The PFC code is also adjusted
to make gpio_to_irq() return the correct
interrupt number.
At this point the DT reference implementations
are not covered. In the future such code shall
tie in the INTC External IRQ pin driver via
DT, so this kind of verbose code is not needed
for the long term DT case.
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Add the macro irq_pin() to let board-specific code using
platform devices tie in external IRQn pins in a common way.
Signed-off-by: Magnus Damm <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
This patch adds a driver for external IRQ pins connected
to the INTC block on recent SoCs from Renesas.
The INTC hardware block usually contains a rather wide
range of features ranging from external IRQ pin handling
to legacy interrupt controller support. On older SoCs
the INTC is used as a general purpose interrupt controller
both for external IRQ pins and on-chip devices.
On more recent ARM based SoCs with Cortex-A9 the main
interrupt controller is the GIC, but IRQ trigger setup
still need to happen in the INTC hardware block.
This driver implements the glue code needed to configure
IRQ trigger and also handle mask/unmask and demux of
external IRQ pins hooked up from the INTC to the GIC.
Tested on sh73a0 and r8a7779. The hardware varies quite
a bit with SoC model, for instance register width and
bitfield widths vary wildly. The driver requires one GIC
SPI per external IRQ pin to operate. Each driver instance
will handle up to 8 external IRQ pins.
The SoCs using this driver are currently mainly used
together with regular platform devices so this driver
allows configuration via platform data to support things
like static interrupt base address. DT support will
be added incrementally in the not so distant future.
Signed-off-by: Magnus Damm <[email protected]>
Acked-by: Thomas Gleixner <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Signed-off-by: Phil Edworthy <[email protected]>
[Rename device from to rcarfb to rcar-du]
Signed-off-by: Laurent Pinchart <[email protected]>
[Manual conflict resolution]
Signed-off-by: Simon Horman <[email protected]>
|
|
Commit "ARM: shmobile: r8a7779: use gic_iid macro" switched R8A7779 platform
devices to using gic_iid() macro instead of gic_spi() but commit "ARM: mach-
shmobile: r8a7779: add SATA support" added another use of gic_spi(). Convert
the SATA IRQ resource to using gic_iid().
Signed-off-by: Sergei Shtylyov <[email protected]>
Acked-by: Kuninori Morimoto <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Add SATA clock for r8a7779 SoC (for both device tree and usual cases).
Register SATA controller as a "late" platform device on r8a7779 SoC.
Signed-off-by: Vladimir Barinov <[email protected]>
Signed-off-by: Sergei Shtylyov <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
Allow configuration of the r8a7779 SoC SATA controller using a flattened device
tree.
Signed-off-by: Vladimir Barinov <[email protected]>
Signed-off-by: Sergei Shtylyov <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
76cc1887496fe80138c6b07c37d7f81e4cf27cde
(thermal: rcar: add Device Tree support)
supported rcar_thermal DT probing.
rcar thermal driver doesn't support IRQ on r8a7779 chip
since it is using old design IRQ.
R-Car/R-Mobile next generation chips are using new design IRQ,
and rcar thermal driver is supporting these.
This patch adds rcar_thermal DT support for r8a7779 without IRQ.
Signed-off-by: Kuninori Morimoto <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
move r8a7740_meram_workaround() to r8a7740 area
from r8a7779 area
Signed-off-by: Kuninori Morimoto <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|
|
"ARM: shmobile: add gic_iid macro for ICCIAR / interrupt ID"
enabled to use gic_iid macro.
This patch exchange current GIC interrupt setting
from gic_spi() to gic_iid()
Signed-off-by: Kuninori Morimoto <[email protected]>
[ [email protected]: Updated git commit id in changelog ]
Signed-off-by: Simon Horman <[email protected]>
|
|
r8a7779 is not sh73a0
Signed-off-by: Kuninori Morimoto <[email protected]>
Signed-off-by: Simon Horman <[email protected]>
|