if ARCH_MXS

config ARCH_TEXT_BASE
	hex
	default 0x41000000 if MACH_MX23EVK
	default 0x42000000 if MACH_CHUMBY
	default 0x42000000 if MACH_IMX233_OLINUXINO
	default 0x47000000 if MACH_TX28
	default 0x47000000 if MACH_MX28EVK
	default 0x47000000 if MACH_CFA10036

comment "Freescale i.MX System-on-Chip"

choice
	prompt "Freescale i.MX Processor"

config ARCH_IMX23
	bool "i.MX23"
	select STMP_DEVICE
	select CPU_ARM926T

config ARCH_IMX28
	bool "i.MX28"
	select CPU_ARM926T
	select STMP_DEVICE
	select ARCH_HAS_FEC_IMX

endchoice

if ARCH_IMX23

choice
	prompt "i.MX23 Board Type"

config MACH_MX23EVK
	bool "mx23-evk"
	help
	  Say Y here if you are using the Freescale i.MX23-EVK board

config MACH_CHUMBY
	bool "Chumby Falconwing"
	help
	  Say Y here if you are using the "chumby one" aka falconwing from
	  Chumby Industries

config MACH_IMX233_OLINUXINO
	bool "Olimex.ltd imx223-olinuxino"
	select HAVE_DEFAULT_ENVIRONMENT_NEW
	select HAVE_PBL_MULTI_IMAGES
	help
	  Say Y here if you are using the imx233-olinuxino

endchoice

endif

if ARCH_IMX28

choice
	prompt "i.MX28 Board Type"

config MACH_TX28
	bool "KARO tx28"
	select HAVE_DEFAULT_ENVIRONMENT_NEW
	select HAVE_PBL_MULTI_IMAGES
	help
	  Say Y here if you are using the KARO TX28 CPU module.

config MACH_MX28EVK
	bool "mx28-evk"
	select HAVE_DEFAULT_ENVIRONMENT_NEW
	select MXS_OCOTP
	select HAVE_PBL_MULTI_IMAGES
	help
	  Say Y here if you are using the Freescale i.MX28-EVK board

config MACH_DUCKBILL
	bool "Duckbill"
	select HAVE_DEFAULT_ENVIRONMENT_NEW
	select MXS_OCOTP
	select HAVE_PBL_MULTI_IMAGES
	help
	  Say Y here if you are using the I2SE Duckbill board

config MACH_CFA10036
	bool "cfa-10036"
	select HAVE_DEFAULT_ENVIRONMENT_NEW
	select MXS_OCOTP
	select I2C_GPIO
	select EEPROM_AT24
	help
	  Say Y here if you are using the Crystalfontz CFA-10036 module

endchoice

endif

menu "i.MX specific settings"

config MXS_OCOTP
	tristate "OCOTP device"
	help
	  Device driver for the On-Chip One Time Programmable (OCOTP). Use the
	  regular md/mw commands to read and write (if write is supported).

	  Note that the OCOTP words are grouped consecutively (allocation
	  internal view). Don't use register offsets here, the SET, CLR and
	  TGL registers are not mapped!

config MXS_OCOTP_WRITABLE
	bool "OCOTP write support"
	depends on MXS_OCOTP
	help
	  Enable this option to add writing to OCOTP.
	  Warning: blown bits can not be unblown. Use with care.

	  Before being actually able to blow the bits, you need to explicitely
	  enable writing:
	    ocotp0.permanent_write_enable=1

config MXS_CMD_BCB
	depends on NAND_MXS
	tristate "Nand bcb command"
	help
	  To be able to boot from NAND the i.MX23/28 need a Boot Control Block
	  in flash. This option enabled the 'bcb' command which can be used to
	  generate this block during runtime.

endmenu

menu "Board specific settings"

if MACH_TX28

choice
	prompt "TX28 Base Board Type"

config MACH_TX28STK5
	bool "TX28-stk5"
	select MXS_OCOTP
	help
	  Select this entry if you are running the TX28 CPU module on the
	  KARO TX28 Starterkit5.

endchoice

endif

endmenu

config ARCH_MXS_USBLOADER
	bool "compile mxs-usb-loader"
	help
	  mxs-usb-loader is a tool to upload and start mxs bootstream images to an
	  i.MX SoC in ROM boot mode. It requires libusb, so make sure you have the libusb
	  devel package installed on your machine.

endif
