if ARCH_SHMOBILE

comment "SH-Mobile 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 ARM_ARCH_TIMER
	select SH_CLK_CPG
	select RENESAS_IRQC

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 M1 (R8A77780)"
	select CPU_V7
	select SH_CLK_CPG
	select ARM_GIC

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 ARM_ARCH_TIMER
	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

comment "SH-Mobile Board Type"

config MACH_AP4EVB
	bool "AP4EVB board"
	depends on ARCH_SH7372
	select ARCH_REQUIRE_GPIOLIB
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select SH_LCD_MIPI_DSI
	select SND_SOC_AK4642 if SND_SIMPLE_CARD

choice
	prompt "AP4EVB LCD panel selection"
	default AP4EVB_QHD
	depends on MACH_AP4EVB

config AP4EVB_QHD
	bool "MIPI-DSI QHD (960x540)"

config AP4EVB_WVGA
	bool "Parallel WVGA (800x480)"

endchoice

config MACH_AG5EVM
	bool "AG5EVM board"
	depends on ARCH_SH73A0
	select ARCH_REQUIRE_GPIOLIB
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select SH_LCD_MIPI_DSI

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

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_KOTA2
	bool "KOTA2 board"
	depends on ARCH_SH73A0
	select ARCH_REQUIRE_GPIOLIB
	select REGULATOR_FIXED_VOLTAGE if REGULATOR

config MACH_BONITO
	bool "bonito board"
	depends on ARCH_R8A7740
	select ARCH_REQUIRE_GPIOLIB
	select REGULATOR_FIXED_VOLTAGE if REGULATOR

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_BOCKW
	bool "BOCK-W platform"
	depends on ARCH_R8A7778
	select ARCH_REQUIRE_GPIOLIB
	select RENESAS_INTC_IRQPIN
	select USE_OF

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

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_KZM9D
	bool "KZM9D board"
	depends on ARCH_EMEV2
	select REGULATOR_FIXED_VOLTAGE if REGULATOR
	select USE_OF

config MACH_KZM9G
	bool "KZM-A9-GT board"
	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

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 "SH-Mobile System Configuration"

config CPU_HAS_INTEVT
        bool
	default y

menu "Memory configuration"

config MEMORY_START
	hex "Physical memory start address"
	default "0x40000000" if MACH_AP4EVB || MACH_AG5EVM || \
				MACH_MACKEREL || MACH_BONITO || \
				MACH_ARMADILLO800EVA || MACH_APE6EVM || \
				MACH_LAGER
	default "0x41000000" if MACH_KOTA2
	default "0x00000000"
	---help---
	  Tweak this only when porting to a new machine which does not
	  already have a defconfig. Changing it from the known correct
	  value on any of the known systems will only lead to disaster.

config MEMORY_SIZE
	hex "Physical memory size"
	default "0x80000000" if MACH_LAGER
	default "0x40000000" if MACH_APE6EVM
	default "0x20000000" if MACH_AG5EVM || MACH_BONITO || \
				MACH_ARMADILLO800EVA
	default "0x1e000000" if MACH_KOTA2
	default "0x10000000" if MACH_AP4EVB || MACH_MACKEREL
	default "0x04000000"
	help
	  This sets the default memory size assumed by your kernel. It can
	  be overridden as normal by the 'mem=' argument on the kernel command
	  line.

endmenu

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.
	  SH-Mobile 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

config SH_CLK_CPG
	bool

source "drivers/sh/Kconfig"

endif