ad48ce74f7
Update AT91SAM9/CAP9 PIT driver to use generic time and clockevent infrastructure: - Clocksource gives sub-microsecond timestamp precision, assuming memory is clocked at over 16 MHz. It's less than a 32 bit counter, unless it's is also generating IRQs. - Clockevent device supports periodic mode only; no oneshot support from this hardware. No IRQs generated unless it's the active clocksource. Later, another timer (probably from a TC module) can provide a oneshot clockevent device to get NO_HZ and High-Res-Timer behavior. This also updates the timekeeping to use the actual master clock rate on the system, instead of compile-time <asm/arch/timex.h> constants matching what Atmel's EK boards use. (Product boards may well differ!) Plus cleanup: rename "*_timer*" symbols to "*_pit*" (there are other timers, but only one PIT); shorter lines; remove needless CPP stuff; make several symbols static; etc. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Victor <linux@maxim.org.za> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
319 lines
7.7 KiB
Text
319 lines
7.7 KiB
Text
if ARCH_AT91
|
|
|
|
menu "Atmel AT91 System-on-Chip"
|
|
|
|
choice
|
|
prompt "Atmel AT91 Processor"
|
|
|
|
config ARCH_AT91RM9200
|
|
bool "AT91RM9200"
|
|
select GENERIC_TIME
|
|
select GENERIC_CLOCKEVENTS
|
|
|
|
config ARCH_AT91SAM9260
|
|
bool "AT91SAM9260 or AT91SAM9XE"
|
|
select GENERIC_TIME
|
|
select GENERIC_CLOCKEVENTS
|
|
|
|
config ARCH_AT91SAM9261
|
|
bool "AT91SAM9261"
|
|
select GENERIC_TIME
|
|
select GENERIC_CLOCKEVENTS
|
|
|
|
config ARCH_AT91SAM9263
|
|
bool "AT91SAM9263"
|
|
select GENERIC_TIME
|
|
select GENERIC_CLOCKEVENTS
|
|
|
|
config ARCH_AT91SAM9RL
|
|
bool "AT91SAM9RL"
|
|
select GENERIC_TIME
|
|
select GENERIC_CLOCKEVENTS
|
|
|
|
config ARCH_AT91CAP9
|
|
bool "AT91CAP9"
|
|
select GENERIC_TIME
|
|
select GENERIC_CLOCKEVENTS
|
|
|
|
config ARCH_AT91X40
|
|
bool "AT91x40"
|
|
|
|
endchoice
|
|
|
|
config AT91_PMC_UNIT
|
|
bool
|
|
default !ARCH_AT91X40
|
|
|
|
# ----------------------------------------------------------
|
|
|
|
if ARCH_AT91RM9200
|
|
|
|
comment "AT91RM9200 Board Type"
|
|
|
|
config MACH_ONEARM
|
|
bool "Ajeco 1ARM Single Board Computer"
|
|
depends on ARCH_AT91RM9200
|
|
help
|
|
Select this if you are using Ajeco's 1ARM Single Board Computer.
|
|
<http://www.ajeco.fi/products.htm>
|
|
|
|
config ARCH_AT91RM9200DK
|
|
bool "Atmel AT91RM9200-DK Development board"
|
|
depends on ARCH_AT91RM9200
|
|
help
|
|
Select this if you are using Atmel's AT91RM9200-DK Development board.
|
|
(Discontinued)
|
|
|
|
config MACH_AT91RM9200EK
|
|
bool "Atmel AT91RM9200-EK Evaluation Kit"
|
|
depends on ARCH_AT91RM9200
|
|
help
|
|
Select this if you are using Atmel's AT91RM9200-EK Evaluation Kit.
|
|
<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3507>
|
|
|
|
config MACH_CSB337
|
|
bool "Cogent CSB337"
|
|
depends on ARCH_AT91RM9200
|
|
help
|
|
Select this if you are using Cogent's CSB337 board.
|
|
<http://www.cogcomp.com/csb_csb337.htm>
|
|
|
|
config MACH_CSB637
|
|
bool "Cogent CSB637"
|
|
depends on ARCH_AT91RM9200
|
|
help
|
|
Select this if you are using Cogent's CSB637 board.
|
|
<http://www.cogcomp.com/csb_csb637.htm>
|
|
|
|
config MACH_CARMEVA
|
|
bool "Conitec ARM&EVA"
|
|
depends on ARCH_AT91RM9200
|
|
help
|
|
Select this if you are using Conitec's AT91RM9200-MCU-Module.
|
|
<http://www.conitec.net/english/linuxboard.htm>
|
|
|
|
config MACH_ATEB9200
|
|
bool "Embest ATEB9200"
|
|
depends on ARCH_AT91RM9200
|
|
help
|
|
Select this if you are using Embest's ATEB9200 board.
|
|
<http://www.embedinfo.com/english/product/ATEB9200.asp>
|
|
|
|
config MACH_KB9200
|
|
bool "KwikByte KB920x"
|
|
depends on ARCH_AT91RM9200
|
|
help
|
|
Select this if you are using KwikByte's KB920x board.
|
|
<http://kwikbyte.com/KB9202_description_new.htm>
|
|
|
|
config MACH_PICOTUX2XX
|
|
bool "picotux 200"
|
|
depends on ARCH_AT91RM9200
|
|
help
|
|
Select this if you are using a picotux 200.
|
|
<http://www.picotux.com/>
|
|
|
|
config MACH_KAFA
|
|
bool "Sperry-Sun KAFA board"
|
|
depends on ARCH_AT91RM9200
|
|
help
|
|
Select this if you are using Sperry-Sun's KAFA board.
|
|
|
|
config MACH_ECBAT91
|
|
bool "emQbit ECB_AT91 SBC"
|
|
depends on ARCH_AT91RM9200
|
|
help
|
|
Select this if you are using emQbit's ECB_AT91 board.
|
|
<http://wiki.emqbit.com/free-ecb-at91>
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------
|
|
|
|
if ARCH_AT91SAM9260
|
|
|
|
comment "AT91SAM9260 Variants"
|
|
|
|
config ARCH_AT91SAM9260_SAM9XE
|
|
bool "AT91SAM9XE"
|
|
depends on ARCH_AT91SAM9260
|
|
help
|
|
Select this if you are using Atmel's AT91SAM9XE System-on-Chip.
|
|
They are basically AT91SAM9260s with various sizes of embedded Flash.
|
|
|
|
comment "AT91SAM9260 / AT91SAM9XE Board Type"
|
|
|
|
config MACH_AT91SAM9260EK
|
|
bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit"
|
|
depends on ARCH_AT91SAM9260
|
|
help
|
|
Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
|
|
<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
|
|
|
|
config MACH_CAM60
|
|
bool "KwikByte KB9260 (CAM60) board"
|
|
depends on ARCH_AT91SAM9260
|
|
help
|
|
Select this if you are using KwikByte's KB9260 (CAM60) board based on the Atmel AT91SAM9260.
|
|
<http://www.kwikbyte.com/KB9260.html>
|
|
|
|
config MACH_SAM9_L9260
|
|
bool "Olimex SAM9-L9260 board"
|
|
depends on ARCH_AT91SAM9260
|
|
help
|
|
Select this if you are using Olimex's SAM9-L9260 board based on the Atmel AT91SAM9260.
|
|
<http://www.olimex.com/dev/sam9-L9260.html>
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------
|
|
|
|
if ARCH_AT91SAM9261
|
|
|
|
comment "AT91SAM9261 Board Type"
|
|
|
|
config MACH_AT91SAM9261EK
|
|
bool "Atmel AT91SAM9261-EK Evaluation Kit"
|
|
depends on ARCH_AT91SAM9261
|
|
help
|
|
Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
|
|
<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------
|
|
|
|
if ARCH_AT91SAM9263
|
|
|
|
comment "AT91SAM9263 Board Type"
|
|
|
|
config MACH_AT91SAM9263EK
|
|
bool "Atmel AT91SAM9263-EK Evaluation Kit"
|
|
depends on ARCH_AT91SAM9263
|
|
help
|
|
Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
|
|
<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------
|
|
|
|
if ARCH_AT91SAM9RL
|
|
|
|
comment "AT91SAM9RL Board Type"
|
|
|
|
config MACH_AT91SAM9RLEK
|
|
bool "Atmel AT91SAM9RL-EK Evaluation Kit"
|
|
depends on ARCH_AT91SAM9RL
|
|
help
|
|
Select this if you are using Atmel's AT91SAM9RL-EK Evaluation Kit.
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------
|
|
|
|
if ARCH_AT91CAP9
|
|
|
|
comment "AT91CAP9 Board Type"
|
|
|
|
config MACH_AT91CAP9ADK
|
|
bool "Atmel AT91CAP9A-DK Evaluation Kit"
|
|
depends on ARCH_AT91CAP9
|
|
help
|
|
Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit.
|
|
<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4138>
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------
|
|
|
|
if ARCH_AT91X40
|
|
|
|
comment "AT91X40 Board Type"
|
|
|
|
config MACH_AT91EB01
|
|
bool "Atmel AT91EB01 Evaluation Kit"
|
|
help
|
|
Select this if you are using Atmel's AT91EB01 Evaluation Kit.
|
|
It is also a popular target for simulators such as GDB's
|
|
ARM simulator (commonly known as the ARMulator) and the
|
|
Skyeye simulator.
|
|
|
|
endif
|
|
|
|
# ----------------------------------------------------------
|
|
|
|
comment "AT91 Board Options"
|
|
|
|
config MTD_AT91_DATAFLASH_CARD
|
|
bool "Enable DataFlash Card support"
|
|
depends on (ARCH_AT91RM9200DK || MACH_AT91RM9200EK || MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK || MACH_AT91CAP9ADK || MACH_SAM9_L9260 || MACH_ECBAT91)
|
|
help
|
|
Enable support for the DataFlash card.
|
|
|
|
config MTD_NAND_AT91_BUSWIDTH_16
|
|
bool "Enable 16-bit data bus interface to NAND flash"
|
|
depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK || MACH_AT91CAP9ADK)
|
|
help
|
|
On AT91SAM926x boards both types of NAND flash can be present
|
|
(8 and 16 bit data bus width).
|
|
|
|
# ----------------------------------------------------------
|
|
|
|
comment "AT91 Feature Selections"
|
|
|
|
config AT91_PROGRAMMABLE_CLOCKS
|
|
bool "Programmable Clocks"
|
|
help
|
|
Select this if you need to program one or more of the PCK0..PCK3
|
|
programmable clock outputs.
|
|
|
|
config AT91_TIMER_HZ
|
|
int "Kernel HZ (jiffies per second)"
|
|
range 32 1024
|
|
depends on ARCH_AT91
|
|
default "128" if ARCH_AT91RM9200
|
|
default "100"
|
|
help
|
|
On AT91rm9200 chips where you're using a system clock derived
|
|
from the 32768 Hz hardware clock, this tick rate should divide
|
|
it exactly: use a power-of-two value, such as 128 or 256, to
|
|
reduce timing errors caused by rounding.
|
|
|
|
On AT91sam926x chips, or otherwise when using a higher precision
|
|
system clock (of at least several MHz), rounding is less of a
|
|
problem so it can be safer to use a decimal values like 100.
|
|
|
|
choice
|
|
prompt "Select a UART for early kernel messages"
|
|
|
|
config AT91_EARLY_DBGU
|
|
bool "DBGU"
|
|
|
|
config AT91_EARLY_USART0
|
|
bool "USART0"
|
|
|
|
config AT91_EARLY_USART1
|
|
bool "USART1"
|
|
|
|
config AT91_EARLY_USART2
|
|
bool "USART2"
|
|
depends on ! ARCH_AT91X40
|
|
|
|
config AT91_EARLY_USART3
|
|
bool "USART3"
|
|
depends on (ARCH_AT91RM9200 || ARCH_AT91SAM9RL || ARCH_AT91SAM9260)
|
|
|
|
config AT91_EARLY_USART4
|
|
bool "USART4"
|
|
depends on ARCH_AT91SAM9260
|
|
|
|
config AT91_EARLY_USART5
|
|
bool "USART5"
|
|
depends on ARCH_AT91SAM9260
|
|
|
|
endchoice
|
|
|
|
endmenu
|
|
|
|
endif
|