mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-29 07:34:06 +08:00
f807a89cfe
The PIT timer driver until now had a single probe function, disregarding wether it was probed through DT or in the old-style way. This code later on was calling some DT function to retrieve the proper values for its base address, interrupts and clocks. While this was working, it was preventing the usage of CLOCKSOURCE_OF_DECLARE, and the two different probe path were not as clearly separated as they could be. Rework the probe path to take this into account, and switch to CLOCKSOURCE_OF_DECLARE. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Boris BREZILLON <boris.brezillon@free-electrons.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
254 lines
5.7 KiB
Plaintext
254 lines
5.7 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_TIME
|
|
select CLKSRC_OF if OF
|
|
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
|