mirror of
https://github.com/torvalds/linux.git
synced 2024-11-19 02:21:47 +00:00
b8b82b2983
Provide alternate board code for the kzm9g to demonstrate how DT may be used given the current state of driver device tree support. This is intended to act as a reference for mach-shmobile developers. Some notes: * Brings up the GIC interrupt handler using device tree * Brings up the following device using device tree: - MMCIF (MMC) * Does not bring up the INTC interrupt controller at all, thus external devices may not be used. In particular, the SMSC ethernet device may not be used and thus NFS root may not be used. * Uses existing C code and not device tree to initialise the following, which are needed for a working board: - SCIF (Serial) - CMT (Clock) - PFC (GPIO) To use this alternate board code instead of the normal board code, CONFIG_MACH_KZM9G_REFERENCE should be selected in the kernel config. And the sh73a0-kzm9g-reference.dtb flattened device tree blob should be used. Includes fix by Thierry Reding to no longer use gic_handle_irq() Includes fixes by Guennadi Liakhovetski for recent pinmux changes. Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Cc: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
216 lines
5.1 KiB
Plaintext
216 lines
5.1 KiB
Plaintext
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
|
|
|
|
config ARCH_R8A7740
|
|
bool "R-Mobile A1 (R8A77400)"
|
|
select ARCH_WANT_OPTIONAL_GPIOLIB
|
|
select CPU_V7
|
|
select SH_CLK_CPG
|
|
|
|
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
|
|
|
|
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_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_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_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 MACH_KZM9G
|
|
---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
|
|
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 "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
|