config ARCH_SHMOBILE
	bool

config ARCH_SHMOBILE_MULTI
	bool "Renesas ARM SoCs" if ARCH_MULTI_V7
	depends on MMU
	select ARCH_SHMOBILE
	select CPU_V7
	select GENERIC_CLOCKEVENTS
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if LOCAL_TIMERS
	select HAVE_SMP
	select ARM_GIC
	select MIGHT_HAVE_CACHE_L2X0
	select MIGHT_HAVE_PCI
	select NO_IOPORT
	select PINCTRL
	select ARCH_REQUIRE_GPIOLIB
	select CLKDEV_LOOKUP

if ARCH_SHMOBILE_MULTI

comment "Renesas ARM SoCs System Type"

config ARCH_EMEV2
	bool "Emma Mobile EV2"

config ARCH_R7S72100
	bool "RZ/A1H (R7S72100)"

config ARCH_R8A7790
	bool "R-Car H2 (R8A77900)"
	select RENESAS_IRQC

config ARCH_R8A7791
	bool "R-Car M2 (R8A77910)"
	select RENESAS_IRQC

comment "Renesas ARM SoCs Board Type"

config MACH_GENMAI
	bool "Genmai board"
	depends on ARCH_R7S72100

config MACH_KOELSCH
	bool "Koelsch board"
	depends on ARCH_R8A7791

config MACH_KZM9D
	bool "KZM9D board"
	depends on ARCH_EMEV2
	select REGULATOR_FIXED_VOLTAGE if REGULATOR

config MACH_LAGER
	bool "Lager board"
	depends on ARCH_R8A7790

comment "Renesas ARM SoCs System Configuration"
endif

if ARCH_SHMOBILE_LEGACY

comment "Renesas ARM SoCs System Type"

config ARCH_SH7372
	bool "SH-Mobile AP4 (SH7372)"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARM_CPU_SUSPEND if PM || CPU_IDLE
	select CPU_V7
	select SH_CLK_CPG

config ARCH_SH73A0
	bool "SH-Mobile AG5 (R8A73A00)"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARM_GIC
	select CPU_V7
	select I2C
	select SH_CLK_CPG
	select RENESAS_INTC_IRQPIN

config ARCH_R8A73A4
	bool "R-Mobile APE6 (R8A73A40)"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARM_GIC
	select CPU_V7
	select SH_CLK_CPG
	select RENESAS_IRQC
	select ARCH_HAS_CPUFREQ
	select ARCH_HAS_OPP

config ARCH_R8A7740
	bool "R-Mobile A1 (R8A77400)"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARM_GIC
	select CPU_V7
	select SH_CLK_CPG
	select RENESAS_INTC_IRQPIN

config ARCH_R8A7778
	bool "R-Car M1A (R8A77781)"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select CPU_V7
	select SH_CLK_CPG
	select ARM_GIC
	select USB_ARCH_HAS_EHCI
	select USB_ARCH_HAS_OHCI

config ARCH_R8A7779
	bool "R-Car H1 (R8A77790)"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARM_GIC
	select CPU_V7
	select SH_CLK_CPG
	select USB_ARCH_HAS_EHCI
	select USB_ARCH_HAS_OHCI
	select RENESAS_INTC_IRQPIN

config ARCH_R8A7790
	bool "R-Car H2 (R8A77900)"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARM_GIC
	select CPU_V7
	select MIGHT_HAVE_PCI
	select SH_CLK_CPG
	select RENESAS_IRQC

config ARCH_R8A7791
	bool "R-Car M2 (R8A77910)"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARM_GIC
	select CPU_V7
	select MIGHT_HAVE_PCI
	select SH_CLK_CPG
	select RENESAS_IRQC

config ARCH_EMEV2
	bool "Emma Mobile EV2"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARM_GIC
	select CPU_V7
	select MIGHT_HAVE_PCI
	select USE_OF
	select AUTO_ZRELADDR

config ARCH_R7S72100
	bool "RZ/A1H (R7S72100)"
	select ARCH_WANT_OPTIONAL_GPIOLIB
	select ARM_GIC
	select CPU_V7
	select SH_CLK_CPG

comment "Renesas ARM SoCs Board Type"

config MACH_APE6EVM
	bool "APE6EVM board"
	depends on ARCH_R8A73A4
	select USE_OF

config MACH_APE6EVM_REFERENCE
	bool "APE6EVM board - Reference Device Tree Implementation"
	depends on ARCH_R8A73A4
	select USE_OF
	---help---
	   Use reference implementation of APE6EVM board support
	   which makes a greater use of device tree at the expense
	   of not supporting a number of devices.

	   This is intended to aid developers

config MACH_MACKEREL
	bool "mackerel board"
	depends on ARCH_SH7372
	select ARCH_REQUIRE_GPIOLIB
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select SND_SOC_AK4642 if SND_SIMPLE_CARD
	select USE_OF

config MACH_ARMADILLO800EVA
	bool "Armadillo-800 EVA board"
	depends on ARCH_R8A7740
	select ARCH_REQUIRE_GPIOLIB
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select SND_SOC_WM8978 if SND_SIMPLE_CARD
	select USE_OF

config MACH_ARMADILLO800EVA_REFERENCE
	bool "Armadillo-800 EVA board - Reference Device Tree Implementation"
	depends on ARCH_R8A7740
	select ARCH_REQUIRE_GPIOLIB
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select SND_SOC_WM8978 if SND_SIMPLE_CARD
	select USE_OF
	---help---
	   Use reference implementation of Aramdillo800 EVA board support
	   which makes a greater use of device tree at the expense
	   of not supporting a number of devices.

	   This is intended to aid developers

config MACH_BOCKW
	bool "BOCK-W platform"
	depends on ARCH_R8A7778
	select ARCH_REQUIRE_GPIOLIB
	select RENESAS_INTC_IRQPIN
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select USE_OF
	select SND_SOC_AK4554 if SND_SIMPLE_CARD
	select SND_SOC_AK4642 if SND_SIMPLE_CARD

config MACH_BOCKW_REFERENCE
	bool "BOCK-W  - Reference Device Tree Implementation"
	depends on ARCH_R8A7778
	select ARCH_REQUIRE_GPIOLIB
	select RENESAS_INTC_IRQPIN
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select USE_OF
	---help---
	   Use reference implementation of BockW board support
	   which makes use of device tree at the expense
	   of not supporting a number of devices.

	   This is intended to aid developers

config MACH_GENMAI
	bool "Genmai board"
	depends on ARCH_R7S72100
	select USE_OF

config MACH_GENMAI_REFERENCE
	bool "Genmai board - Reference Device Tree Implementation"
	depends on ARCH_R7S72100
	select USE_OF
	---help---
	   Use reference implementation of Genmai board support
	   which makes use of device tree at the expense
	   of not supporting a number of devices.

	   This is intended to aid developers

config MACH_MARZEN
	bool "MARZEN board"
	depends on ARCH_R8A7779
	select ARCH_REQUIRE_GPIOLIB
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select USE_OF

config MACH_MARZEN_REFERENCE
	bool "MARZEN board - Reference Device Tree Implementation"
	depends on ARCH_R8A7779
	select ARCH_REQUIRE_GPIOLIB
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select USE_OF
	---help---
	   Use reference implementation of Marzen board support
	   which makes use of device tree at the expense
	   of not supporting a number of devices.

	   This is intended to aid developers

config MACH_LAGER
	bool "Lager board"
	depends on ARCH_R8A7790
	select USE_OF

config MACH_KOELSCH
	bool "Koelsch board"
	depends on ARCH_R8A7791
	select USE_OF
	select MICREL_PHY if SH_ETH

config MACH_KZM9G
	bool "KZM-A9-GT board"
	depends on ARCH_SH73A0
	select ARCH_HAS_CPUFREQ
	select ARCH_HAS_OPP
	select ARCH_REQUIRE_GPIOLIB
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select SND_SOC_AK4642 if SND_SIMPLE_CARD
	select USE_OF

config MACH_KZM9G_REFERENCE
	bool "KZM-A9-GT board - Reference Device Tree Implementation"
	depends on ARCH_SH73A0
	select ARCH_REQUIRE_GPIOLIB
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select SND_SOC_AK4642 if SND_SIMPLE_CARD
	select USE_OF
	---help---
	   Use reference implementation of KZM-A9-GT board support
	   which makes as greater use of device tree at the expense
	   of not supporting a number of devices.

	   This is intended to aid developers

comment "Renesas ARM SoCs System Configuration"

config CPU_HAS_INTEVT
        bool
	default y

config SH_CLK_CPG
	bool

source "drivers/sh/Kconfig"

endif

if ARCH_SHMOBILE

menu "Timer and clock configuration"

config SHMOBILE_TIMER_HZ
	int "Kernel HZ (jiffies per second)"
	range 32 1024
	default "128"
	help
	  Allows the configuration of the timer frequency. It is customary
	  to have the timer interrupt run at 1000 Hz or 100 Hz, but in the
	  case of low timer frequencies other values may be more suitable.
	  Renesas ARM SoC systems using a 32768 Hz RCLK for clock events may
	  want to select a HZ value such as 128 that can evenly divide RCLK.
	  A HZ value that does not divide evenly may cause timer drift.

config SH_TIMER_CMT
	bool "CMT timer driver"
	default y
	help
	  This enables build of the CMT timer driver.

config SH_TIMER_TMU
	bool "TMU timer driver"
	default y
	help
	  This enables build of the TMU timer driver.

config EM_TIMER_STI
	bool "STI timer driver"
	default y
	help
	  This enables build of the STI timer driver.

endmenu

endif
