mirror of
https://github.com/torvalds/linux.git
synced 2024-11-06 03:51:48 +00:00
eaad2db03c
This patch adds support for a low(er)-power suspend-to-RAM. In addition to the SDRAM being put into self-refresh mode, the Master Clock is set to the Slow-clock rate (32Khz) and PLLA & PLLB are disabled. Certain peripherals are therefore also disabled, and thus cannot be used as wakeup sources. This patch has been included in the AT91 patches in various forms since 2.6.19 and a number of people have worked or commented on it, most notably: Savin Zlobec (for the original AT91RM9200 support) Anti Sullin (for the SAM9260 version) David Brownell, etc. Signed-off-by: Andrew Victor <linux@maxim.org.za> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
388 lines
9.7 KiB
Plaintext
388 lines
9.7 KiB
Plaintext
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_AT91SAM9G20
|
|
bool "AT91SAM9G20"
|
|
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>
|
|
|
|
config MACH_YL9200
|
|
bool "ucDragon YL-9200"
|
|
depends on ARCH_AT91RM9200
|
|
help
|
|
Select this if you are using the ucDragon YL-9200 board.
|
|
|
|
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>
|
|
|
|
config MACH_AFEB9260
|
|
bool "Custom afeb9260 board v1"
|
|
depends on ARCH_AT91SAM9260
|
|
help
|
|
Select this if you are using custom afeb9260 board based on
|
|
open hardware design. Select this for revision 1 of the board.
|
|
<svn://194.85.238.22/home/users/george/svn/arm9eb>
|
|
<http://groups.google.com/group/arm9fpga-evolution-board>
|
|
|
|
config MACH_USB_A9260
|
|
bool "CALAO USB-A9260"
|
|
depends on ARCH_AT91SAM9260
|
|
help
|
|
Select this if you are using a Calao Systems USB-A9260.
|
|
<http://www.calao-systems.com>
|
|
|
|
config MACH_QIL_A9260
|
|
bool "CALAO QIL-A9260 board"
|
|
depends on ARCH_AT91SAM9260
|
|
help
|
|
Select this if you are using a Calao Systems QIL-A9260 Board.
|
|
<http://www.calao-systems.com>
|
|
|
|
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>
|
|
|
|
config MACH_USB_A9263
|
|
bool "CALAO USB-A9263"
|
|
depends on ARCH_AT91SAM9263
|
|
help
|
|
Select this if you are using a Calao Systems USB-A9263.
|
|
<http://www.calao-systems.com>
|
|
|
|
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_AT91SAM9G20
|
|
|
|
comment "AT91SAM9G20 Board Type"
|
|
|
|
config MACH_AT91SAM9G20EK
|
|
bool "Atmel AT91SAM9G20-EK Evaluation Kit"
|
|
depends on ARCH_AT91SAM9G20
|
|
help
|
|
Select this if you are using Atmel's AT91SAM9G20-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_AT91SAM9G20EK || MACH_ECBAT91 || MACH_SAM9_L9260 || MACH_AT91CAP9ADK)
|
|
help
|
|
Enable support for the DataFlash card.
|
|
|
|
config MTD_NAND_ATMEL_BUSWIDTH_16
|
|
bool "Enable 16-bit data bus interface to NAND flash"
|
|
depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || 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_SLOW_CLOCK
|
|
bool "Suspend-to-RAM disables main oscillator"
|
|
depends on SUSPEND
|
|
help
|
|
Select this if you want Suspend-to-RAM to save the most power
|
|
possible (without powering off the CPU) by disabling the PLLs
|
|
and main oscillator so that only the 32 KiHz clock is available.
|
|
|
|
When only that slow-clock is available, some peripherals lose
|
|
functionality. Many can't issue wakeup events unless faster
|
|
clocks are available. Some lose their operating state and
|
|
need to be completely re-initialized.
|
|
|
|
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 || ARCH_AT91SAM9G20)
|
|
|
|
config AT91_EARLY_USART4
|
|
bool "USART4"
|
|
depends on ARCH_AT91SAM9260 || ARCH_AT91SAM9G20
|
|
|
|
config AT91_EARLY_USART5
|
|
bool "USART5"
|
|
depends on ARCH_AT91SAM9260 || ARCH_AT91SAM9G20
|
|
|
|
endchoice
|
|
|
|
endmenu
|
|
|
|
endif
|