forked from Minki/linux
e657ce689a
This tag holds the various new drivers introduced to move code that used to be in mach-at91 over to the proper frameworks. These files are the reboot and poweroff code for all AT91 SoCs but the RM9200, and the ram controller driver is not doing much at the time, except for grabing the RAM clock in order to leave it always enabled. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJTx4LlAAoJEBx+YmzsjxAggooP/0xIMF568hWNLWMOBLNyeXLP SJUCBZw1kLqhw8K3nPV5GAmfGxgCCZ3uvUfMdIgJzSN+NtcuvQR2+ui2Bj1nzRRQ y6ZAmoHEJHveNd3SoLpuE5s4KFwTBFblcBXHVSwIZzMcCioBxFWtcPupkIVoqt/z s/gN5w9BsSCvqjtmYSTp8XTza9y7hx9Pmdpc1uzkP/WJbXtxyQX50NlpILQ1r7WW WNOMRXOpv/JH+EHFtS7vMMvn+fQ94RVI209+Z2wez13H87C8MZF4N972vRHkmBuG Uv2ZowFRo8T0YjJZfmyfWyg3C9fMOcQeOURAGO/FIavf0WJ+7/hmdZ9jymTpaA3b WwZ+qgajMMdOk2ojW36vfueOqeuXx7bxGKWocXO/Rk00ZpN8Y2qFqmsJL5WNYVoN SDod+nzYHA4ShyZFDiXoAf3R/+gjb9RvCJ0ZvjkdHUeU8GYHhXjDLPp1Ng7oDBut szDE8FfWGpb5UsjFSdKfSsU2Xp3lqZ6fv89qiGYGwz7OqKRz2E0d8zm/EHoD87RR jx9e4pWvk++Vouk/zCRZVb+HrGtN9FbZKfRq6xx1pAO+V2NCmq8ttcPH2BuN1K3T quFRb6YBTfNfgVKPjbPsQ4QOuCR4juIZSubRhQEi7/Uie5aR/9q6Lz/pYbzitYjJ qHR5nj7sL/WwJlfgFgbi =YBPz -----END PGP SIGNATURE----- Merge tag 'at91-drivers-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux Pull AT91 reset, poweroff and ram drivers from Maxime Ripard: "This tag holds the various new drivers introduced to move code that used to be in mach-at91 over to the proper frameworks. These files are the reboot and poweroff code for all AT91 SoCs but the RM9200, and the ram controller driver is not doing much at the time, except for grabing the RAM clock in order to leave it always enabled." Conflicts: arch/arm/mach-at91/Kconfig
261 lines
5.8 KiB
Plaintext
261 lines
5.8 KiB
Plaintext
if ARCH_AT91
|
|
|
|
config HAVE_AT91_UTMI
|
|
bool
|
|
|
|
config HAVE_AT91_USB_CLK
|
|
bool
|
|
|
|
config HAVE_AT91_DBGU0
|
|
bool
|
|
|
|
config HAVE_AT91_DBGU1
|
|
bool
|
|
|
|
config AT91_USE_OLD_CLK
|
|
bool
|
|
|
|
config AT91_PMC_UNIT
|
|
bool
|
|
default !ARCH_AT91X40
|
|
|
|
config COMMON_CLK_AT91
|
|
bool
|
|
default AT91_PMC_UNIT && USE_OF && !AT91_USE_OLD_CLK
|
|
select COMMON_CLK
|
|
|
|
config OLD_CLK_AT91
|
|
bool
|
|
default AT91_PMC_UNIT && AT91_USE_OLD_CLK
|
|
|
|
config OLD_IRQ_AT91
|
|
bool
|
|
select MULTI_IRQ_HANDLER
|
|
select SPARSE_IRQ
|
|
|
|
config AT91_SAM9_ALT_RESET
|
|
bool
|
|
default !ARCH_AT91X40
|
|
|
|
config AT91_SAM9G45_RESET
|
|
bool
|
|
default !ARCH_AT91X40
|
|
|
|
config AT91_SAM9_TIME
|
|
bool
|
|
|
|
config HAVE_AT91_SMD
|
|
bool
|
|
|
|
config SOC_AT91SAM9
|
|
bool
|
|
select AT91_SAM9_TIME
|
|
select ATMEL_AIC_IRQ if !OLD_IRQ_AT91
|
|
select CPU_ARM926T
|
|
select GENERIC_CLOCKEVENTS
|
|
select MEMORY if USE_OF
|
|
select ATMEL_SDRAMC if USE_OF
|
|
|
|
config SOC_SAMA5
|
|
bool
|
|
select AT91_SAM9_TIME
|
|
select ATMEL_AIC5_IRQ
|
|
select CPU_V7
|
|
select GENERIC_CLOCKEVENTS
|
|
select USE_OF
|
|
select MEMORY
|
|
select ATMEL_SDRAMC
|
|
|
|
menu "Atmel AT91 System-on-Chip"
|
|
|
|
choice
|
|
|
|
prompt "Core type"
|
|
|
|
config ARCH_AT91X40
|
|
bool "ARM7 AT91X40"
|
|
depends on !MMU
|
|
select CPU_ARM7TDMI
|
|
select ARCH_USES_GETTIMEOFFSET
|
|
select OLD_IRQ_AT91
|
|
|
|
help
|
|
Select this if you are using one of Atmel's AT91X40 SoC.
|
|
|
|
config SOC_SAM_V4_V5
|
|
bool "ARM9 AT91SAM9/AT91RM9200"
|
|
help
|
|
Select this if you are using one of Atmel's AT91SAM9 or
|
|
AT91RM9200 SoC.
|
|
|
|
config SOC_SAM_V7
|
|
bool "Cortex A5"
|
|
help
|
|
Select this if you are using one of Atmel's SAMA5D3 SoC.
|
|
|
|
endchoice
|
|
|
|
comment "Atmel AT91 Processor"
|
|
|
|
if SOC_SAM_V7
|
|
config SOC_SAMA5D3
|
|
bool "SAMA5D3 family"
|
|
select SOC_SAMA5
|
|
select HAVE_FB_ATMEL
|
|
select HAVE_AT91_DBGU1
|
|
select HAVE_AT91_UTMI
|
|
select HAVE_AT91_SMD
|
|
select HAVE_AT91_USB_CLK
|
|
help
|
|
Select this if you are using one of Atmel's SAMA5D3 family SoC.
|
|
This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
|
|
endif
|
|
|
|
if SOC_SAM_V4_V5
|
|
config SOC_AT91RM9200
|
|
bool "AT91RM9200"
|
|
select ATMEL_AIC_IRQ if !OLD_IRQ_AT91
|
|
select CPU_ARM920T
|
|
select GENERIC_CLOCKEVENTS
|
|
select HAVE_AT91_DBGU0
|
|
select HAVE_AT91_USB_CLK
|
|
|
|
config SOC_AT91SAM9260
|
|
bool "AT91SAM9260, AT91SAM9XE or AT91SAM9G20"
|
|
select HAVE_AT91_DBGU0
|
|
select SOC_AT91SAM9
|
|
select HAVE_AT91_USB_CLK
|
|
help
|
|
Select this if you are using one of Atmel's AT91SAM9260, AT91SAM9XE
|
|
or AT91SAM9G20 SoC.
|
|
|
|
config SOC_AT91SAM9261
|
|
bool "AT91SAM9261 or AT91SAM9G10"
|
|
select HAVE_AT91_DBGU0
|
|
select HAVE_FB_ATMEL
|
|
select SOC_AT91SAM9
|
|
select HAVE_AT91_USB_CLK
|
|
help
|
|
Select this if you are using one of Atmel's AT91SAM9261 or AT91SAM9G10 SoC.
|
|
|
|
config SOC_AT91SAM9263
|
|
bool "AT91SAM9263"
|
|
select HAVE_AT91_DBGU1
|
|
select HAVE_FB_ATMEL
|
|
select SOC_AT91SAM9
|
|
select HAVE_AT91_USB_CLK
|
|
|
|
config SOC_AT91SAM9RL
|
|
bool "AT91SAM9RL"
|
|
select HAVE_AT91_DBGU0
|
|
select HAVE_FB_ATMEL
|
|
select SOC_AT91SAM9
|
|
select HAVE_AT91_UTMI
|
|
|
|
config SOC_AT91SAM9G45
|
|
bool "AT91SAM9G45 or AT91SAM9M10 families"
|
|
select HAVE_AT91_DBGU1
|
|
select HAVE_FB_ATMEL
|
|
select SOC_AT91SAM9
|
|
select HAVE_AT91_UTMI
|
|
select HAVE_AT91_USB_CLK
|
|
help
|
|
Select this if you are using one of Atmel's AT91SAM9G45 family SoC.
|
|
This support covers AT91SAM9G45, AT91SAM9G46, AT91SAM9M10 and AT91SAM9M11.
|
|
|
|
config SOC_AT91SAM9X5
|
|
bool "AT91SAM9x5 family"
|
|
select HAVE_AT91_DBGU0
|
|
select HAVE_FB_ATMEL
|
|
select SOC_AT91SAM9
|
|
select HAVE_AT91_UTMI
|
|
select HAVE_AT91_SMD
|
|
select HAVE_AT91_USB_CLK
|
|
help
|
|
Select this if you are using one of Atmel's AT91SAM9x5 family SoC.
|
|
This means that your SAM9 name finishes with a '5' (except if it is
|
|
AT91SAM9G45!).
|
|
This support covers AT91SAM9G15, AT91SAM9G25, AT91SAM9X25, AT91SAM9G35
|
|
and AT91SAM9X35.
|
|
|
|
config SOC_AT91SAM9N12
|
|
bool "AT91SAM9N12 family"
|
|
select HAVE_AT91_DBGU0
|
|
select HAVE_FB_ATMEL
|
|
select SOC_AT91SAM9
|
|
select HAVE_AT91_USB_CLK
|
|
help
|
|
Select this if you are using Atmel's AT91SAM9N12 SoC.
|
|
|
|
# ----------------------------------------------------------
|
|
endif # SOC_SAM_V4_V5
|
|
|
|
|
|
if SOC_SAM_V4_V5 || ARCH_AT91X40
|
|
source arch/arm/mach-at91/Kconfig.non_dt
|
|
endif
|
|
|
|
comment "Generic Board Type"
|
|
|
|
config MACH_AT91RM9200_DT
|
|
bool "Atmel AT91RM9200 Evaluation Kits with device-tree support"
|
|
depends on SOC_AT91RM9200
|
|
select USE_OF
|
|
help
|
|
Select this if you want to experiment device-tree with
|
|
an Atmel RM9200 Evaluation Kit.
|
|
|
|
config MACH_AT91SAM9_DT
|
|
bool "Atmel AT91SAM Evaluation Kits with device-tree support"
|
|
depends on SOC_AT91SAM9
|
|
select USE_OF
|
|
help
|
|
Select this if you want to experiment device-tree with
|
|
an Atmel Evaluation Kit.
|
|
|
|
config MACH_SAMA5_DT
|
|
bool "Atmel SAMA5 Evaluation Kits with device-tree support"
|
|
depends on SOC_SAMA5
|
|
select USE_OF
|
|
select PHYLIB if NETDEVICES
|
|
help
|
|
Select this if you want to experiment device-tree with
|
|
an Atmel Evaluation Kit.
|
|
|
|
# ----------------------------------------------------------
|
|
|
|
comment "AT91 Feature Selections"
|
|
|
|
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.
|
|
|
|
endmenu
|
|
|
|
endif
|