98da352953
This adds a driver for the U300 pinmux portions of the system controller "SYSCON". It also serves as an example of how to use the pinmux subsystem. This driver also houses the platform data for the only supported platform. This deletes the old U300 driver in arch/arm/mach-u300 and replace it with a driver using the new subsystem. The new driver is considerably fatter than the old one, but it also registers all 467 pins of the system and adds the power and EMIF pin groups and corresponding functions. The idea is to use this driver as a a reference for other implementation so it needs to be as complete and verbose as possible. Reviewed-by: Barry Song <21cnbao@gmail.com> [Fixup for changed function names and semantics in the v10 patch] Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
120 lines
2.8 KiB
Plaintext
120 lines
2.8 KiB
Plaintext
if ARCH_U300
|
|
|
|
menu "ST-Ericsson AB U300/U330/U335/U365 Platform"
|
|
|
|
comment "ST-Ericsson Mobile Platform Products"
|
|
|
|
config MACH_U300
|
|
bool "U300"
|
|
select PINCTRL
|
|
select PINMUX_U300
|
|
|
|
comment "ST-Ericsson U300/U330/U335/U365 Feature Selections"
|
|
|
|
choice
|
|
prompt "U300/U330/U335/U365 system type"
|
|
default MACH_U300_BS2X
|
|
---help---
|
|
You need to select the target system, i.e. the
|
|
U300/U330/U335/U365 board that you want to compile your kernel
|
|
for.
|
|
|
|
config MACH_U300_BS2X
|
|
bool "S26/S26/B25/B26 Test Products"
|
|
depends on MACH_U300
|
|
help
|
|
Select this if you're developing on the
|
|
S26/S25 test products. (Also works on
|
|
B26/B25 big boards.)
|
|
|
|
config MACH_U300_BS330
|
|
bool "S330/B330 Test Products"
|
|
depends on MACH_U300
|
|
help
|
|
Select this if you're developing on the
|
|
S330/B330 test products.
|
|
|
|
config MACH_U300_BS335
|
|
bool "S335/B335 Test Products"
|
|
depends on MACH_U300
|
|
help
|
|
Select this if you're developing on the
|
|
S335/B335 test products.
|
|
|
|
config MACH_U300_BS365
|
|
bool "S365/B365 Test Products"
|
|
depends on MACH_U300
|
|
help
|
|
Select this if you're developing on the
|
|
S365/B365 test products.
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Memory configuration"
|
|
default MACH_U300_SINGLE_RAM
|
|
---help---
|
|
You have to config the kernel according to the physical memory
|
|
configuration.
|
|
|
|
config MACH_U300_SINGLE_RAM
|
|
bool "Single RAM"
|
|
help
|
|
Select this if you want support for Single RAM phones.
|
|
|
|
config MACH_U300_DUAL_RAM
|
|
bool "Dual RAM"
|
|
help
|
|
Select this if you want support for Dual RAM phones.
|
|
This is two RAM memories on different EMIFs.
|
|
endchoice
|
|
|
|
config U300_DEBUG
|
|
bool "Debug support for U300"
|
|
depends on PM
|
|
help
|
|
Debug support for U300 in sysfs, procfs etc.
|
|
|
|
config MACH_U300_SEMI_IS_SHARED
|
|
bool "The SEMI is used by both the access and application side"
|
|
depends on MACH_U300
|
|
help
|
|
This makes it possible to use the SEMI (Shared External
|
|
Memory Interface) from both from access and application
|
|
side.
|
|
|
|
config MACH_U300_SPIDUMMY
|
|
bool "SSP/SPI dummy chip"
|
|
select SPI
|
|
select SPI_MASTER
|
|
select SPI_PL022
|
|
help
|
|
This creates a small kernel module that creates a dummy
|
|
SPI device to be used for loopback tests. Regularly used
|
|
to test reference designs. If you're not testing SPI,
|
|
you don't need it. Selecting this will activate the
|
|
SPI framework and ARM PL022 support.
|
|
|
|
comment "All the settings below must match the bootloader's settings"
|
|
|
|
config MACH_U300_ACCESS_MEM_SIZE
|
|
int "Access CPU memory allocation"
|
|
range 7 25
|
|
depends on MACH_U300_SINGLE_RAM
|
|
default 13
|
|
help
|
|
How much memory in MiB that the Access side CPU has allocated
|
|
|
|
config MACH_U300_2MB_ALIGNMENT_FIX
|
|
bool "2MiB alignment fix"
|
|
depends on MACH_U300_SINGLE_RAM
|
|
default y
|
|
help
|
|
If yes and the Access side CPU has allocated an odd size in
|
|
MiB, this fix gives you one MiB extra that would otherwise be
|
|
lost due to Linux 2 MiB alignment policy.
|
|
|
|
endmenu
|
|
|
|
endif
|