Commit 4664f3d3 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'renesas-soc2-for-v3.15' of...

Merge tag 'renesas-soc2-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Second Round of Renesas ARM Based SoC Updates for v3.15" from Simon
Horman:

* R-Car Gen2 SoCs: r8a7791 (R-Car M2) and r8a7790 (R-Car H2)
  - Remove __init from rcar_gen2_read_mode_pins()

* r8a7791 (R-Car M2)
  - Use 64-bit dma_addr_t

* r8a7790 (R-Car H2)
  - Add CA15-SCU, CA7-SCU
  - Add SYSC setup code
  - Use 64-bit dma_addr_t

* tag 'renesas-soc2-for-v3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas

:
  ARM: shmobile: Move SYSC base variable to inside ifdefs
  ARM: shmobile: Remove __init from rcar_gen2_read_mode_pins()
  ARM: shmobile: r8a7790 CA15-SCU enablement
  ARM: shmobile: r8a7790 CA7-SCU enablement
  ARM: shmobile: r8a7790 SYSC setup code
  ARM: shmobile: Break out R-Car SYSC PM code
  ARM: shmobile: Use 64-bit dma_addr_t on r8a7790/r8a7791

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 07cb1ec1 c4ca5d80
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ config ARCH_SHMOBILE_MULTI
	select HAVE_ARM_TWD if SMP
	select ARM_GIC
	select MIGHT_HAVE_PCI
	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
	select NO_IOPORT
	select PINCTRL
	select ARCH_REQUIRE_GPIOLIB
@@ -118,6 +119,7 @@ config ARCH_R8A7790
	select MIGHT_HAVE_PCI
	select SH_CLK_CPG
	select RENESAS_IRQC
	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE

config ARCH_R8A7791
	bool "R-Car M2 (R8A77910)"
@@ -127,6 +129,7 @@ config ARCH_R8A7791
	select MIGHT_HAVE_PCI
	select SH_CLK_CPG
	select RENESAS_IRQC
	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE

config ARCH_EMEV2
	bool "Emma Mobile EV2"
+2 −1
Original line number Diff line number Diff line
@@ -52,7 +52,8 @@ obj-$(CONFIG_CPU_IDLE) += cpuidle.o
obj-$(CONFIG_ARCH_SH7372)	+= pm-sh7372.o sleep-sh7372.o pm-rmobile.o
obj-$(CONFIG_ARCH_SH73A0)	+= pm-sh73a0.o
obj-$(CONFIG_ARCH_R8A7740)	+= pm-r8a7740.o pm-rmobile.o
obj-$(CONFIG_ARCH_R8A7779)	+= pm-r8a7779.o
obj-$(CONFIG_ARCH_R8A7779)	+= pm-r8a7779.o pm-rcar.o
obj-$(CONFIG_ARCH_R8A7790)	+= pm-r8a7790.o pm-rcar.o

# Board objects
ifdef CONFIG_ARCH_SHMOBILE_MULTI
+15 −0
Original line number Diff line number Diff line
#ifndef PM_RCAR_H
#define PM_RCAR_H

struct rcar_sysc_ch {
	unsigned long chan_offs;
	unsigned int chan_bit;
	unsigned int isr_bit;
};

int rcar_sysc_power_down(struct rcar_sysc_ch *sysc_ch);
int rcar_sysc_power_up(struct rcar_sysc_ch *sysc_ch);
bool rcar_sysc_power_is_off(struct rcar_sysc_ch *sysc_ch);
void __iomem *rcar_sysc_init(phys_addr_t base);

#endif /* PM_RCAR_H */
+3 −10
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@

#include <linux/sh_clk.h>
#include <linux/pm_domain.h>
#include <mach/pm-rcar.h>

/* HPB-DMA slave IDs */
enum {
@@ -11,18 +12,12 @@ enum {
	HPBDMA_SLAVE_SDHI0_RX,
};

struct r8a7779_pm_ch {
	unsigned long chan_offs;
	unsigned int chan_bit;
	unsigned int isr_bit;
};

struct r8a7779_pm_domain {
	struct generic_pm_domain genpd;
	struct r8a7779_pm_ch ch;
	struct rcar_sysc_ch ch;
};

static inline struct r8a7779_pm_ch *to_r8a7779_ch(struct generic_pm_domain *d)
static inline struct rcar_sysc_ch *to_r8a7779_ch(struct generic_pm_domain *d)
{
	return &container_of(d, struct r8a7779_pm_domain, genpd)->ch;
}
@@ -41,8 +36,6 @@ extern void r8a7779_clock_init(void);
extern void r8a7779_pinmux_init(void);
extern void r8a7779_pm_init(void);
extern void r8a7779_register_twd(void);
extern int r8a7779_sysc_power_down(struct r8a7779_pm_ch *r8a7779_ch);
extern int r8a7779_sysc_power_up(struct r8a7779_pm_ch *r8a7779_ch);

#ifdef CONFIG_PM
extern void __init r8a7779_init_pm_domains(void);
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ void r8a7790_add_standard_devices(void);
void r8a7790_add_dt_devices(void);
void r8a7790_clock_init(void);
void r8a7790_pinmux_init(void);
void r8a7790_pm_init(void);
void r8a7790_init_early(void);
extern struct smp_operations r8a7790_smp_ops;

Loading