config ARCH_SHMOBILE
	bool

config ARCH_SHMOBILE_MULTI
	bool "Renesas ARM SoCs" if ARCH_MULTI_V7
	depends on MMU
	select ARCH_SHMOBILE
	select HAVE_ARM_SCU if SMP
	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_MAP
	select PINCTRL
	select ARCH_REQUIRE_GPIOLIB

if ARCH_SHMOBILE_MULTI

comment "Renesas ARM SoCs System Type"

config ARCH_EMEV2
	bool "Emma Mobile EV2"
	select SYS_SUPPORTS_EM_STI

config ARCH_R7S72100
	bool "RZ/A1H (R7S72100)"
	select SYS_SUPPORTS_SH_MTU2

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

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

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
	select MICREL_PHY if SH_ETH

config MACH_LAGER
	bool "Lager board"
	depends on ARCH_R8A7790
	select MICREL_PHY if SH_ETH

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
	select SYS_SUPPORTS_SH_CMT
	select SYS_SUPPORTS_SH_TMU

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
	select SYS_SUPPORTS_SH_CMT
	select SYS_SUPPORTS_SH_TMU

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
	select SYS_SUPPORTS_SH_CMT
	select SYS_SUPPORTS_SH_TMU

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
	select SYS_SUPPORTS_SH_CMT
	select SYS_SUPPORTS_SH_TMU

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

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

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
	select SYS_SUPPORTS_SH_CMT
	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE

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
	select SYS_SUPPORTS_SH_CMT
	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE

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
	select SYS_SUPPORTS_EM_STI

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

comment "Renesas ARM SoCs Board Type"

config MACH_APE6EVM
	bool "APE6EVM board"
	depends on ARCH_R8A73A4
	select SMSC_PHY if SMSC911X
	select USE_OF

config MACH_APE6EVM_REFERENCE
	bool "APE6EVM board - Reference Device Tree Implementation"
	depends on ARCH_R8A73A4
	select SMSC_PHY if SMSC911X
	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 SMSC_PHY if SMSC911X
	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 SMSC_PHY if SH_ETH
	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 SMSC_PHY if SH_ETH
	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 REGULATOR_FIXED_VOLTAGE if REGULATOR
	select RENESAS_INTC_IRQPIN
	select SND_SOC_AK4554 if SND_SIMPLE_CARD
	select SND_SOC_AK4642 if SND_SIMPLE_CARD
	select USE_OF

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
	select MICREL_PHY if SH_ETH
	select SND_SOC_AK4642 if SND_SIMPLE_CARD

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.

endmenu

endif
