diff -urNP --exclude='*.cvsignore' ../linux/arch/cris/arch-v10/defconfig linux-2.6/arch/cris/arch-v10/defconfig --- ../linux/arch/cris/arch-v10/defconfig 2007-02-04 19:44:54.000000000 +0100 +++ linux-2.6/arch/cris/arch-v10/defconfig 2006-01-03 15:48:23.000000000 +0100 @@ -106,7 +106,6 @@ CONFIG_ETRAX_I2C_USES_PB_NOT_PB_I2C=y # CONFIG_ETRAX_I2C_EEPROM is not set CONFIG_ETRAX_GPIO=y -CONFIG_ETRAX_PA_BUTTON_BITMASK=02 CONFIG_ETRAX_PA_CHANGEABLE_DIR=00 CONFIG_ETRAX_PA_CHANGEABLE_BITS=FF CONFIG_ETRAX_PB_CHANGEABLE_DIR=00 diff -urNP --exclude='*.cvsignore' ../linux/arch/cris/arch-v10/drivers/axisflashmap.c linux-2.6/arch/cris/arch-v10/drivers/axisflashmap.c diff -urNP --exclude='*.cvsignore' ../linux/arch/cris/arch-v10/drivers/Kconfig linux-2.6/arch/cris/arch-v10/drivers/Kconfig --- ../linux/arch/cris/arch-v10/drivers/Kconfig 2007-02-04 19:44:54.000000000 +0100 +++ linux-2.6/arch/cris/arch-v10/drivers/Kconfig 2007-03-08 12:33:13.000000000 +0100 @@ -6,6 +6,12 @@ This option enables the ETRAX 100LX built-in 10/100Mbit Ethernet controller. +config ETRAX_NO_PHY + bool "PHY not present" + depends on ETRAX_ETHERNET + help + Enable if PHY is not present. + choice prompt "Network LED behavior" depends on ETRAX_ETHERNET @@ -90,7 +96,7 @@ config ETRAX_SERIAL_PORT0_DMA6_OUT bool "DMA 6" - + depends on !ETRAX_DEBUG_PORT0 endchoice choice @@ -103,7 +109,7 @@ config ETRAX_SERIAL_PORT0_DMA7_IN bool "DMA 7" - + depends on !ETRAX_DEBUG_PORT0 endchoice choice @@ -204,7 +210,7 @@ config ETRAX_SERIAL_PORT1_DMA8_OUT bool "DMA 8" - + depends on !ETRAX_DEBUG_PORT1 endchoice choice @@ -217,7 +223,7 @@ config ETRAX_SERIAL_PORT1_DMA9_IN bool "DMA 9" - + depends on !ETRAX_DEBUG_PORT1 endchoice choice @@ -321,7 +327,7 @@ config ETRAX_SERIAL_PORT2_DMA2_OUT bool "DMA 2" - + depends on !ETRAX_DEBUG_PORT2 endchoice choice @@ -334,7 +340,7 @@ config ETRAX_SERIAL_PORT2_DMA3_IN bool "DMA 3" - + depends on !ETRAX_DEBUG_PORT2 endchoice choice @@ -435,7 +441,7 @@ config ETRAX_SERIAL_PORT3_DMA4_OUT bool "DMA 4" - + depends on !ETRAX_DEBUG_PORT3 endchoice choice @@ -448,7 +454,7 @@ config ETRAX_SERIAL_PORT3_DMA5_IN bool "DMA 5" - + depends on !ETRAX_DEBUG_PORT3 endchoice choice @@ -514,8 +520,7 @@ bool "RS-485 support" depends on ETRAX_SERIAL help - Enables support for RS-485 serial communication. For a primer on - RS-485, see . + Enables support for RS-485 serial communication. config ETRAX_RS485_ON_PA bool "RS-485 mode on PA" @@ -541,6 +546,27 @@ loopback. Not all products are able to do this in software only. Axis 2400/2401 must disable receiver. +config ETRAX_SYNCHRONOUS_SERIAL + bool "Synchronous serial port driver" + help + Select this to enable the synchronous serial port driver. + +config ETRAX_SYNCHRONOUS_SERIAL_PORT0 + bool "Synchronous serial port 0 enabled (sser1)" + depends on ETRAX_SYNCHRONOUS_SERIAL + +config ETRAX_SYNCHRONOUS_SERIAL0_DMA + bool "Use DMA for synchronous serial port 0" + depends on ETRAX_SYNCHRONOUS_SERIAL_PORT0 + +config ETRAX_SYNCHRONOUS_SERIAL_PORT1 + bool "Synchronous serial port 1 enabled (sser3)" + depends on ETRAX_SYNCHRONOUS_SERIAL + +config ETRAX_SYNCHRONOUS_SERIAL1_DMA + bool "Use DMA for synchronous serial port 1" + depends on ETRAX_SYNCHRONOUS_SERIAL_PORT1 + config ETRAX_IDE bool "ATA/IDE support" select IDE @@ -604,8 +630,7 @@ select MTD select MTD_CFI select MTD_CFI_AMDSTD - select MTD_OBSOLETE_CHIPS - select MTD_AMDSTD + select MTD_JEDECPROBE select MTD_CHAR select MTD_BLOCK select MTD_PARTITIONS @@ -615,6 +640,15 @@ This option enables MTD mapping of flash devices. Needed to use flash memories. If unsure, say Y. +config ETRAX_AXISFLASHMAP_MTD0WHOLE + bool "MTD0 is whole boot flash device" + depends on ETRAX_AXISFLASHMAP + default N + help + When this option is not set, mtd0 refers to the first partition + on the boot flash device. When set, mtd0 refers to the whole + device, with mtd1 referring to the first partition etc. + config ETRAX_PTABLE_SECTOR int "Byte-offset of partition table sector" depends on ETRAX_AXISFLASHMAP @@ -715,19 +749,6 @@ Remember that you need to setup the port directions appropriately in the General configuration. -config ETRAX_PA_BUTTON_BITMASK - hex "PA-buttons bitmask" - depends on ETRAX_GPIO - default "02" - help - This is a bitmask with information about what bits on PA that - are used for buttons. - Most products has a so called TEST button on PA1, if that's true - use 02 here. - Use 00 if there are no buttons on PA. - If the bitmask is <> 00 a button driver will be included in the gpio - driver. ETRAX general I/O support must be enabled. - config ETRAX_PA_CHANGEABLE_DIR hex "PA user changeable dir mask" depends on ETRAX_GPIO @@ -768,7 +789,41 @@ Bit set = changeable. You probably want 00 here. +config ETRAX_DEF_R_PORT_G_DIR + bool "Port G Output" + help + CONFIG_ETRAX_DEF_R_PORT_G_DIR: + Set the direction of specified pins to output. + +config ETRAX_DEF_R_PORT_G0_DIR_OUT + bool "G0" + depends on ETRAX_DEF_R_PORT_G_DIR + help + CONFIG_ETRAX_DEF_R_PORT_G0_DIR_OUT: + Set G0 to output. + +config ETRAX_DEF_R_PORT_G8_15_DIR_OUT + bool "G8-G15" + depends on ETRAX_DEF_R_PORT_G_DIR + help + CONFIG_ETRAX_DEF_R_PORT_G8_15_DIR_OUT: + Set G8-G15 to output. + +config ETRAX_DEF_R_PORT_G16_23_DIR_OUT + bool "G16-G23" + depends on ETRAX_DEF_R_PORT_G_DIR + help + CONFIG_ETRAX_DEF_R_PORT_G16_23_DIR_OUT: + Set G16-G23 to output. + +config ETRAX_DEF_R_PORT_G24_DIR_OUT + bool "G24" + depends on ETRAX_DEF_R_PORT_G_DIR + help + CONFIG_ETRAX_DEF_R_PORT_G24_DIR_OUT: + Set G24 to output. + config ETRAX_RTC bool "Real Time Clock support" depends on ETRAX_ARCH_V10 --- ../linux/arch/cris/arch-v32/drivers/Kconfig 2007-02-04 19:44:54.000000000 +0100 +++ linux-2.6/arch/cris/arch-v32/drivers/Kconfig 2007-04-19 12:33:13.000000000 +0200 @@ -6,23 +6,61 @@ This option enables the ETRAX FS built-in 10/100Mbit Ethernet controller. -config ETRAX_ETHERNET_HW_CSUM - bool "Hardware accelerated ethernet checksum and scatter/gather" - depends on ETRAX_ETHERNET - depends on ETRAX_STREAMCOPROC - default y - help - Hardware acceleration of checksumming and scatter/gather - config ETRAX_ETHERNET_IFACE0 depends on ETRAX_ETHERNET bool "Enable network interface 0" config ETRAX_ETHERNET_IFACE1 - depends on ETRAX_ETHERNET + depends on (ETRAX_ETHERNET && ETRAXFS) bool "Enable network interface 1 (uses DMA6 and DMA7)" choice + prompt "Eth0 led group" + depends on ETRAX_ETHERNET_IFACE0 + default ETRAX_ETH0_USE_LEDGRP0 + +config ETRAX_ETH0_USE_LEDGRP0 + bool "Use LED grp 0" + depends on ETRAX_NBR_LED_GRP_ONE || ETRAX_NBR_LED_GRP_TWO + help + Use LED grp 0 for eth0 + +config ETRAX_ETH0_USE_LEDGRP1 + bool "Use LED grp 1" + depends on ETRAX_NBR_LED_GRP_TWO + help + Use LED grp 1 for eth0 + +config ETRAX_ETH0_USE_LEDGRPNULL + bool "Use no LEDs for eth0" + help + Use no LEDs for eth0 +endchoice + +choice + prompt "Eth1 led group" + depends on ETRAX_ETHERNET_IFACE1 + default ETRAX_ETH1_USE_LEDGRP1 + +config ETRAX_ETH1_USE_LEDGRP0 + bool "Use LED grp 0" + depends on ETRAX_NBR_LED_GRP_ONE || ETRAX_NBR_LED_GRP_TWO + help + Use LED grp 0 for eth1 + +config ETRAX_ETH1_USE_LEDGRP1 + bool "Use LED grp 1" + depends on ETRAX_NBR_LED_GRP_TWO + help + Use LED grp 1 for eth1 + +config ETRAX_ETH1_USE_LEDGRPNULL + bool "Use no LEDs for eth1" + help + Use no LEDs for eth1 +endchoice + +choice prompt "Network LED behavior" depends on ETRAX_ETHERNET default ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY @@ -56,10 +94,25 @@ config ETRAXFS_SERIAL bool "Serial-port support" depends on ETRAX_ARCH_V32 + select SERIAL_CORE + select SERIAL_CORE_CONSOLE help Enables the ETRAX FS serial driver for ser0 (ttyS0) You probably want this enabled. +config ETRAX_RS485 + bool "RS-485 support" + depends on ETRAXFS_SERIAL + help + Enables support for RS-485 serial communication. + +config ETRAX_RS485_DISABLE_RECEIVER + bool "Disable serial receiver" + depends on ETRAX_RS485 + help + It is necessary to disable the serial receiver to avoid serial + loopback. Not all products are able to do this in software only. + config ETRAX_SERIAL_PORT0 bool "Serial port 0 enabled" depends on ETRAXFS_SERIAL @@ -70,6 +123,31 @@ ser0 can use dma4 or dma6 for output and dma5 or dma7 for input. choice + prompt "Ser0 default port type " + depends on ETRAX_SERIAL_PORT0 + default ETRAX_SERIAL_PORT0_TYPE_232 + help + Type of serial port. + +config ETRAX_SERIAL_PORT0_TYPE_232 + bool "Ser0 is a RS-232 port" + help + Configure serial port 0 to be a RS-232 port. + +config ETRAX_SERIAL_PORT0_TYPE_485HD + bool "Ser0 is a half duplex RS-485 port" + depends on ETRAX_RS485 + help + Configure serial port 0 to be a half duplex (two wires) RS-485 port. + +config ETRAX_SERIAL_PORT0_TYPE_485FD + bool "Ser0 is a full duplex RS-485 port" + depends on ETRAX_RS485 + help + Configure serial port 0 to be a full duplex (four wires) RS-485 port. +endchoice + +choice prompt "Ser0 DMA in channel " depends on ETRAX_SERIAL_PORT0 default ETRAX_SERIAL_PORT0_NO_DMA_IN @@ -84,7 +162,7 @@ config ETRAX_SERIAL_PORT0_DMA7_IN bool "Ser0 uses DMA7 for input" - depends on ETRAX_SERIAL_PORT0 + depends on ETRAX_SERIAL_PORT0 && ETRAXFS help Enables the DMA7 input channel for ser0 (ttyS0). If you do not enable DMA, an interrupt for each character will be @@ -92,6 +170,16 @@ Normally you want to use DMA, unless you use the DMA channel for something else. +config ETRAX_SERIAL_PORT0_DMA1_IN + bool "Ser0 uses DMA1 for input" + depends on ETRAX_SERIAL_PORT0 && CRIS_MACH_ARTPEC3 + help + Enables the DMA1 input channel for ser0 (ttyS0). + If you do not enable DMA, an interrupt for each character will be + used when receiveing data. + Normally you want to use DMA, unless you use the DMA channel for + something else. + endchoice choice @@ -106,7 +194,7 @@ config ETRAX_SERIAL_PORT0_DMA6_OUT bool "Ser0 uses DMA6 for output" - depends on ETRAX_SERIAL_PORT0 + depends on ETRAX_SERIAL_PORT0 && ETRAXFS help Enables the DMA6 output channel for ser0 (ttyS0). If you do not enable DMA, an interrupt for each character will be @@ -114,6 +202,16 @@ Normally you want to use DMA, unless you use the DMA channel for something else. +config ETRAX_SERIAL_PORT0_DMA0_OUT + bool "Ser0 uses DMA0 for output" + depends on ETRAX_SERIAL_PORT0 && CRIS_MACH_ARTPEC3 + help + Enables the DMA0 output channel for ser0 (ttyS0). + If you do not enable DMA, an interrupt for each character will be + used when transmitting data. + Normally you want to use DMA, unless you use the DMA channel for + something else. + endchoice config ETRAX_SER0_DTR_BIT @@ -139,6 +237,31 @@ Enables the ETRAX FS serial driver for ser1 (ttyS1). choice + prompt "Ser1 default port type" + depends on ETRAX_SERIAL_PORT1 + default ETRAX_SERIAL_PORT1_TYPE_232 + help + Type of serial port. + +config ETRAX_SERIAL_PORT1_TYPE_232 + bool "Ser1 is a RS-232 port" + help + Configure serial port 1 to be a RS-232 port. + +config ETRAX_SERIAL_PORT1_TYPE_485HD + bool "Ser1 is a half duplex RS-485 port" + depends on ETRAX_RS485 + help + Configure serial port 1 to be a half duplex (two wires) RS-485 port. + +config ETRAX_SERIAL_PORT1_TYPE_485FD + bool "Ser1 is a full duplex RS-485 port" + depends on ETRAX_RS485 + help + Configure serial port 1 to be a full duplex (four wires) RS-485 port. +endchoice + +choice prompt "Ser1 DMA in channel " depends on ETRAX_SERIAL_PORT1 default ETRAX_SERIAL_PORT1_NO_DMA_IN @@ -210,6 +333,31 @@ Enables the ETRAX FS serial driver for ser2 (ttyS2). choice + prompt "Ser2 default port type" + depends on ETRAX_SERIAL_PORT2 + default ETRAX_SERIAL_PORT2_TYPE_232 + help + What DMA channel to use for ser2 + +config ETRAX_SERIAL_PORT2_TYPE_232 + bool "Ser2 is a RS-232 port" + help + Configure serial port 2 to be a RS-232 port. + +config ETRAX_SERIAL_PORT2_TYPE_485HD + bool "Ser2 is a half duplex RS-485 port" + depends on ETRAX_RS485 + help + Configure serial port 2 to be a half duplex (two wires) RS-485 port. + +config ETRAX_SERIAL_PORT2_TYPE_485FD + bool "Ser2 is a full duplex RS-485 port" + depends on ETRAX_RS485 + help + Configure serial port 2 to be a full duplex (four wires) RS-485 port. +endchoice + +choice prompt "Ser2 DMA in channel " depends on ETRAX_SERIAL_PORT2 default ETRAX_SERIAL_PORT2_NO_DMA_IN @@ -224,7 +372,7 @@ config ETRAX_SERIAL_PORT2_DMA3_IN bool "Ser2 uses DMA3 for input" - depends on ETRAX_SERIAL_PORT2 + depends on ETRAX_SERIAL_PORT2 && ETRAXFS help Enables the DMA3 input channel for ser2 (ttyS2). If you do not enable DMA, an interrupt for each character will be @@ -232,6 +380,16 @@ Normally you want to use DMA, unless you use the DMA channel for something else. +config ETRAX_SERIAL_PORT2_DMA7_IN + bool "Ser2 uses DMA7 for input" + depends on ETRAX_SERIAL_PORT2 && CRIS_MACH_ARTPEC3 + help + Enables the DMA7 input channel for ser2 (ttyS2). + If you do not enable DMA, an interrupt for each character will be + used when receiveing data. + Normally you want to use DMA, unless you use the DMA channel for + something else. + endchoice choice @@ -246,7 +404,7 @@ config ETRAX_SERIAL_PORT2_DMA2_OUT bool "Ser2 uses DMA2 for output" - depends on ETRAX_SERIAL_PORT2 + depends on ETRAX_SERIAL_PORT2 && ETRAXFS help Enables the DMA2 output channel for ser2 (ttyS2). If you do not enable DMA, an interrupt for each character will be @@ -254,6 +412,16 @@ Normally you want to use DMA, unless you use the DMA channel for something else. +config ETRAX_SERIAL_PORT2_DMA6_OUT + bool "Ser2 uses DMA6 for output" + depends on ETRAX_SERIAL_PORT2 && CRIS_MACH_ARTPEC3 + help + Enables the DMA6 output channel for ser2 (ttyS2). + If you do not enable DMA, an interrupt for each character will be + used when transmitting data. + Normally you want to use DMA, unless you use the DMA channel for + something else. + endchoice config ETRAX_SER2_DTR_BIT @@ -279,6 +447,31 @@ Enables the ETRAX FS serial driver for ser3 (ttyS3). choice + prompt "Ser3 default port type" + depends on ETRAX_SERIAL_PORT3 + default ETRAX_SERIAL_PORT3_TYPE_232 + help + What DMA channel to use for ser3. + +config ETRAX_SERIAL_PORT3_TYPE_232 + bool "Ser3 is a RS-232 port" + help + Configure serial port 3 to be a RS-232 port. + +config ETRAX_SERIAL_PORT3_TYPE_485HD + bool "Ser3 is a half duplex RS-485 port" + depends on ETRAX_RS485 + help + Configure serial port 3 to be a half duplex (two wires) RS-485 port. + +config ETRAX_SERIAL_PORT3_TYPE_485FD + bool "Ser3 is a full duplex RS-485 port" + depends on ETRAX_RS485 + help + Configure serial port 3 to be a full duplex (four wires) RS-485 port. +endchoice + +choice prompt "Ser3 DMA in channel " depends on ETRAX_SERIAL_PORT3 default ETRAX_SERIAL_PORT3_NO_DMA_IN @@ -293,7 +486,7 @@ config ETRAX_SERIAL_PORT3_DMA9_IN bool "Ser3 uses DMA9 for input" - depends on ETRAX_SERIAL_PORT3 + depends on ETRAX_SERIAL_PORT3 && ETRAXFS help Enables the DMA9 input channel for ser3 (ttyS3). If you do not enable DMA, an interrupt for each character will be @@ -301,6 +494,16 @@ Normally you want to use DMA, unless you use the DMA channel for something else. +config ETRAX_SERIAL_PORT3_DMA3_IN + bool "Ser3 uses DMA3 for input" + depends on ETRAX_SERIAL_PORT3 && CRIS_MACH_ARTPEC3 + help + Enables the DMA3 input channel for ser3 (ttyS3). + If you do not enable DMA, an interrupt for each character will be + used when receiveing data. + Normally you want to use DMA, unless you use the DMA channel for + something else. + endchoice choice @@ -315,7 +518,7 @@ config ETRAX_SERIAL_PORT3_DMA8_OUT bool "Ser3 uses DMA8 for output" - depends on ETRAX_SERIAL_PORT3 + depends on ETRAX_SERIAL_PORT3 && ETRAXFS help Enables the DMA8 output channel for ser3 (ttyS3). If you do not enable DMA, an interrupt for each character will be @@ -323,6 +526,16 @@ Normally you want to use DMA, unless you use the DMA channel for something else. +config ETRAX_SERIAL_PORT3_DMA2_OUT + bool "Ser3 uses DMA2 for output" + depends on ETRAX_SERIAL_PORT3 && CRIS_MACH_ARTPEC3 + help + Enables the DMA2 output channel for ser3 (ttyS3). + If you do not enable DMA, an interrupt for each character will be + used when transmitting data. + Normally you want to use DMA, unless you use the DMA channel for + something else. + endchoice config ETRAX_SER3_DTR_BIT @@ -341,9 +554,81 @@ string "Ser 3 CD bit (empty = not used)" depends on ETRAX_SERIAL_PORT3 +config ETRAX_SERIAL_PORT4 + bool "Serial port 4 enabled" + depends on CRIS_MACH_ARTPEC3 + help + Enables the ETRAX FS serial driver for ser4 (ttyS4). + +choice + prompt "Ser4 default port type" + depends on ETRAX_SERIAL_PORT4 + default ETRAX_SERIAL_PORT4_TYPE_232 + help + What DMA channel to use for ser4. + +config ETRAX_SERIAL_PORT4_TYPE_232 + bool "Ser4 is a RS-232 port" + help + Configure serial port 4 to be a RS-232 port. + +config ETRAX_SERIAL_PORT4_TYPE_485HD + bool "Ser4 is a half duplex RS-485 port" + depends on ETRAX_RS485 + help + Configure serial port 4 to be a half duplex (two wires) RS-485 port. + +config ETRAX_SERIAL_PORT4_TYPE_485FD + bool "Ser4 is a full duplex RS-485 port" + depends on ETRAX_RS485 + help + Configure serial port 4 to be a full duplex (four wires) RS-485 port. +endchoice + +choice + prompt "Ser4 DMA in channel " + depends on ETRAX_SERIAL_PORT4 + default ETRAX_SERIAL_PORT4_NO_DMA_IN + help + What DMA channel to use for ser4. + + +config ETRAX_SERIAL_PORT4_NO_DMA_IN + bool "Ser4 uses no DMA for input" + help + Do not use DMA for ser4 input. + +config ETRAX_SERIAL_PORT4_DMA9_IN + bool "Ser4 uses DMA9 for input" + depends on ETRAX_SERIAL_PORT4 + help + Enables the DMA9 input channel for ser4 (ttyS4). + If you do not enable DMA, an interrupt for each character will be + used when receiveing data. + Normally you want to use DMA, unless you use the DMA channel for + something else. + +endchoice + +config ETRAX_SER4_DTR_BIT + string "Ser 4 DTR bit (empty = not used)" + depends on ETRAX_SERIAL_PORT4 + +config ETRAX_SER4_RI_BIT + string "Ser 4 RI bit (empty = not used)" + depends on ETRAX_SERIAL_PORT4 + +config ETRAX_SER4_DSR_BIT + string "Ser 4 DSR bit (empty = not used)" + depends on ETRAX_SERIAL_PORT4 + +config ETRAX_SER3_CD_BIT + string "Ser 4 CD bit (empty = not used)" + depends on ETRAX_SERIAL_PORT4 + config ETRAX_RS485 bool "RS-485 support" - depends on ETRAX_SERIAL + depends on ETRAXFS_SERIAL help Enables support for RS-485 serial communication. For a primer on RS-485, see . @@ -354,7 +639,6 @@ help It is necessary to disable the serial receiver to avoid serial loopback. Not all products are able to do this in software only. - Axis 2400/2401 must disable receiver. config ETRAX_AXISFLASHMAP bool "Axis flash-map support" @@ -362,8 +646,7 @@ select MTD select MTD_CFI select MTD_CFI_AMDSTD - select MTD_OBSOLETE_CHIPS - select MTD_AMDSTD + select MTD_JEDECPROBE select MTD_CHAR select MTD_BLOCK select MTD_PARTITIONS @@ -405,6 +688,31 @@ A synchronous serial port can run in manual or DMA mode. Selecting this option will make it run in DMA mode. +config ETRAX_AXISFLASHMAP + bool "Axis flash-map support" + depends on ETRAX_ARCH_V32 + select MTD + select MTD_CFI + select MTD_CFI_AMDSTD + select MTD_JEDECPROBE + select MTD_CHAR + select MTD_BLOCK + select MTD_PARTITIONS + select MTD_CONCAT + select MTD_COMPLEX_MAPPINGS + help + This option enables MTD mapping of flash devices. Needed to use + flash memories. If unsure, say Y. + +config ETRAX_AXISFLASHMAP_MTD0WHOLE + bool "MTD0 is whole boot flash device" + depends on ETRAX_AXISFLASHMAP + default N + help + When this option is not set, mtd0 refers to the first partition + on the boot flash device. When set, mtd0 refers to the whole + device, with mtd1 referring to the first partition etc. + config ETRAX_PTABLE_SECTOR int "Byte-offset of partition table sector" depends on ETRAX_AXISFLASHMAP @@ -425,11 +733,19 @@ This option enables MTD mapping of NAND flash devices. Needed to use NAND flash memories. If unsure, say Y. +config ETRAX_NANDBOOT + bool "Boot from NAND flash" + depends on ETRAX_NANDFLASH + help + This options enables booting from NAND flash devices. + Say Y if your boot code, kernel and root file system is in + NAND flash. Say N if they are in NOR flash. + config ETRAX_I2C bool "I2C driver" depends on ETRAX_ARCH_V32 help - This option enabled the I2C driver used by e.g. the RTC driver. + This option enables the I2C driver used by e.g. the RTC driver. config ETRAX_I2C_DATA_PORT string "I2C data pin" @@ -476,33 +792,36 @@ Remember that you need to setup the port directions appropriately in the General configuration. -config ETRAX_PA_BUTTON_BITMASK - hex "PA-buttons bitmask" +config ETRAX_VIRTUAL_GPIO + bool "Virtual GPIO support" depends on ETRAX_GPIO - default "0x02" help - This is a bitmask (8 bits) with information about what bits on PA - that are used for buttons. - Most products has a so called TEST button on PA1, if that is true - use 0x02 here. - Use 00 if there are no buttons on PA. - If the bitmask is <> 00 a button driver will be included in the gpio - driver. ETRAX general I/O support must be enabled. + Enables the virtual Etrax general port device (major 120, minor 6). + It uses an I/O expander for the I2C-bus. + +config ETRAX_VIRTUAL_GPIO_INTERRUPT_PA_PIN + int "Virtual GPIO interrupt pin on PA pin" + range 0 7 + depends on ETRAX_VIRTUAL_GPIO + help + The pin to use on PA for virtual gpio interrupt. config ETRAX_PA_CHANGEABLE_DIR hex "PA user changeable dir mask" depends on ETRAX_GPIO - default "0x00" + default "0x00" if ETRAXFS + default "0x00000000" if !ETRAXFS help This is a bitmask (8 bits) with information of what bits in PA that a user can change direction on using ioctl's. Bit set = changeable. - You probably want 0x00 here, but it depends on your hardware. + You probably want 0 here, but it depends on your hardware. config ETRAX_PA_CHANGEABLE_BITS hex "PA user changeable bits mask" depends on ETRAX_GPIO - default "0x00" + default "0x00" if ETRAXFS + default "0x00000000" if !ETRAXFS help This is a bitmask (8 bits) with information of what bits in PA that a user can change the value on using ioctl's. @@ -511,17 +830,19 @@ config ETRAX_PB_CHANGEABLE_DIR hex "PB user changeable dir mask" depends on ETRAX_GPIO - default "0x00000" + default "0x00000" if ETRAXFS + default "0x00000000" if !ETRAXFS help This is a bitmask (18 bits) with information of what bits in PB that a user can change direction on using ioctl's. Bit set = changeable. - You probably want 0x00000 here, but it depends on your hardware. + You probably want 0 here, but it depends on your hardware. config ETRAX_PB_CHANGEABLE_BITS hex "PB user changeable bits mask" depends on ETRAX_GPIO - default "0x00000" + default "0x00000" if ETRAXFS + default "0x00000000" if !ETRAXFS help This is a bitmask (18 bits) with information of what bits in PB that a user can change the value on using ioctl's. @@ -530,17 +851,19 @@ config ETRAX_PC_CHANGEABLE_DIR hex "PC user changeable dir mask" depends on ETRAX_GPIO - default "0x00000" + default "0x00000" if ETRAXFS + default "0x00000000" if !ETRAXFS help This is a bitmask (18 bits) with information of what bits in PC that a user can change direction on using ioctl's. Bit set = changeable. - You probably want 0x00000 here, but it depends on your hardware. + You probably want 0 here, but it depends on your hardware. config ETRAX_PC_CHANGEABLE_BITS hex "PC user changeable bits mask" depends on ETRAX_GPIO - default "0x00000" + default "0x00000" if ETRAXFS + default "0x00000000" if ETRAXFS help This is a bitmask (18 bits) with information of what bits in PC that a user can change the value on using ioctl's. @@ -548,7 +871,7 @@ config ETRAX_PD_CHANGEABLE_DIR hex "PD user changeable dir mask" - depends on ETRAX_GPIO + depends on ETRAX_GPIO && ETRAXFS default "0x00000" help This is a bitmask (18 bits) with information of what bits in PD @@ -558,7 +881,7 @@ config ETRAX_PD_CHANGEABLE_BITS hex "PD user changeable bits mask" - depends on ETRAX_GPIO + depends on ETRAX_GPIO && ETRAXFS default "0x00000" help This is a bitmask (18 bits) with information of what bits in PD @@ -567,7 +890,7 @@ config ETRAX_PE_CHANGEABLE_DIR hex "PE user changeable dir mask" - depends on ETRAX_GPIO + depends on ETRAX_GPIO && ETRAXFS default "0x00000" help This is a bitmask (18 bits) with information of what bits in PE @@ -577,13 +900,32 @@ config ETRAX_PE_CHANGEABLE_BITS hex "PE user changeable bits mask" - depends on ETRAX_GPIO + depends on ETRAX_GPIO && ETRAXFS default "0x00000" help This is a bitmask (18 bits) with information of what bits in PE that a user can change the value on using ioctl's. Bit set = changeable. +config ETRAX_PV_CHANGEABLE_DIR + hex "PV user changeable dir mask" + depends on ETRAX_VIRTUAL_GPIO + default "0x0000" + help + This is a bitmask (16 bits) with information of what bits in PV + that a user can change direction on using ioctl's. + Bit set = changeable. + You probably want 0x0000 here, but it depends on your hardware. + +config ETRAX_PV_CHANGEABLE_BITS + hex "PV user changeable bits mask" + depends on ETRAX_VIRTUAL_GPIO + default "0x0000" + help + This is a bitmask (16 bits) with information of what bits in PV + that a user can change the value on using ioctl's. + Bit set = changeable. + config ETRAX_IDE bool "ATA/IDE support" depends on ETRAX_ARCH_V32 @@ -603,11 +945,11 @@ select HOTPLUG select PCCARD_NONSTATIC help - Enabled the ETRAX Carbus driver. + Enabled the ETRAX Carbus driver. config PCI bool - depends on ETRAX_CARDBUS + depends on ETRAX_CARDBUS default y config ETRAX_IOP_FW_LOAD @@ -623,3 +965,183 @@ help This option enables a driver for the stream co-processor for cryptographic operations. + +source drivers/mmc/Kconfig + +config ETRAX_MMC_IOP + tristate "MMC/SD host driver using IO-processor" + depends on ETRAX_ARCH_V32 && MMC + help + This option enables the SD/MMC host controller interface. + The host controller is implemented using the built in + IO-Processor. Only the SPU is used in this implementation. + +config ETRAX_SPI_MMC +# Make this one of several "choices" (possible simultaneously but +# suggested uniquely) when an IOP driver emerges for "real" MMC/SD +# protocol support. + tristate + depends on MMC + default MMC + select SPI + select MMC_SPI + select ETRAX_SPI_MMC_BOARD + +# For the parts that can't be a module (due to restrictions in +# framework elsewhere). +config ETRAX_SPI_MMC_BOARD + boolean + default n + +# While the board info is MMC_SPI only, the drivers are written to be +# independent of MMC_SPI, so we'll keep SPI non-dependent on the +# MMC_SPI config choices (well, except for a single depends-on-line +# for the board-info file until a separate non-MMC SPI board file +# emerges). +# FIXME: When that happens, we'll need to be able to ask for and +# configure non-MMC SPI ports together with MMC_SPI ports (if multiple +# SPI ports are enabled). + +config ETRAX_SPI_SSER0 + tristate "SPI using synchronous serial port 0 (sser0)" + depends on ETRAX_SPI_MMC + default m if MMC_SPI=m + default y if MMC_SPI=y + default y if MMC_SPI=n + select SPI_ETRAX_SSER + help + Say Y for an MMC/SD socket connected to synchronous serial port 0, + or for devices using the SPI protocol on that port. Say m if you + want to build it as a module, which will be named spi_crisv32_sser. + (You need to select MMC separately.) + +config ETRAX_SPI_SSER0_DMA + bool "DMA for SPI on sser0 enabled" + depends on ETRAX_SPI_SSER0 + depends on !ETRAX_SERIAL_PORT1_DMA4_OUT && !ETRAX_SERIAL_PORT1_DMA5_IN + default y + help + Say Y if using DMA (dma4/dma5) for SPI on synchronous serial port 0. + +config ETRAX_SPI_MMC_CD_SSER0_PIN + string "MMC/SD card detect pin for SPI on sser0" + depends on ETRAX_SPI_SSER0 && MMC_SPI + default "pd11" + help + The pin to use for SD/MMC card detect. This pin should be pulled up + and grounded when a card is present. If defined as " " (space), no + pin is selected. A card must then always be inserted for proper + action. + +config ETRAX_SPI_MMC_WP_SSER0_PIN + string "MMC/SD card write-protect pin for SPI on sser0" + depends on ETRAX_SPI_SSER0 && MMC_SPI + default "pd10" + help + The pin to use for the SD/MMC write-protect signal for a memory + card. If defined as " " (space), the card is considered writable. + +config ETRAX_SPI_SSER1 + tristate "SPI using synchronous serial port 1 (sser1)" + depends on ETRAX_SPI_MMC + default m if MMC_SPI=m && ETRAX_SPI_SSER0=n + default y if MMC_SPI=y && ETRAX_SPI_SSER0=n + default y if MMC_SPI=n && ETRAX_SPI_SSER0=n + select SPI_ETRAX_SSER + help + Say Y for an MMC/SD socket connected to synchronous serial port 1, + or for devices using the SPI protocol on that port. Say m if you + want to build it as a module, which will be named spi_crisv32_sser. + (You need to select MMC separately.) + +config ETRAX_SPI_SSER1_DMA + bool "DMA for SPI on sser1 enabled" + depends on ETRAX_SPI_SSER1 && !ETRAX_ETHERNET_IFACE1 + depends on !ETRAX_SERIAL_PORT0_DMA6_OUT && !ETRAX_SERIAL_PORT0_DMA7_IN + default y + help + Say Y if using DMA (dma6/dma7) for SPI on synchronous serial port 1. + +config ETRAX_SPI_MMC_CD_SSER1_PIN + string "MMC/SD card detect pin for SPI on sser1" + depends on ETRAX_SPI_SSER1 && MMC_SPI + default "pd12" + help + The pin to use for SD/MMC card detect. This pin should be pulled up + and grounded when a card is present. If defined as " " (space), no + pin is selected. A card must then always be inserted for proper + action. + +config ETRAX_SPI_MMC_WP_SSER1_PIN + string "MMC/SD card write-protect pin for SPI on sser1" + depends on ETRAX_SPI_SSER1 && MMC_SPI + default "pd9" + help + The pin to use for the SD/MMC write-protect signal for a memory + card. If defined as " " (space), the card is considered writable. + +config ETRAX_SPI_GPIO + tristate "Bitbanged SPI using gpio pins" + depends on ETRAX_SPI_MMC + select SPI_ETRAX_GPIO + default m if MMC_SPI=m && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n + default y if MMC_SPI=y && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n + default y if MMC_SPI=n && ETRAX_SPI_SSER0=n && ETRAX_SPI_SSER1=n + help + Say Y for an MMC/SD socket connected to general I/O pins (but not + a complete synchronous serial ports), or for devices using the SPI + protocol on general I/O pins. Slow and slows down the system. + Say m to build it as a module, which will be called spi_crisv32_gpio. + (You need to select MMC separately.) + +# The default match that of sser0, only because that's how it was tested. +config ETRAX_SPI_CS_PIN + string "SPI chip select pin" + depends on ETRAX_SPI_GPIO + default "pc3" + help + The pin to use for SPI chip select. + +config ETRAX_SPI_CLK_PIN + string "SPI clock pin" + depends on ETRAX_SPI_GPIO + default "pc1" + help + The pin to use for the SPI clock. + +config ETRAX_SPI_DATAIN_PIN + string "SPI MISO (data in) pin" + depends on ETRAX_SPI_GPIO + default "pc16" + help + The pin to use for SPI data in from the device. + +config ETRAX_SPI_DATAOUT_PIN + string "SPI MOSI (data out) pin" + depends on ETRAX_SPI_GPIO + default "pc0" + help + The pin to use for SPI data out to the device. + +config ETRAX_SPI_MMC_CD_GPIO_PIN + string "MMC/SD card detect pin for SPI using gpio (space for none)" + depends on ETRAX_SPI_GPIO && MMC_SPI + default "pd11" + help + The pin to use for SD/MMC card detect. This pin should be pulled up + and grounded when a card is present. If defined as " " (space), no + pin is selected. A card must then always be inserted for proper + action. + +config ETRAX_SPI_MMC_WP_GPIO_PIN + string "MMC/SD card write-protect pin for SPI using gpio (space for none)" + depends on ETRAX_SPI_GPIO && MMC_SPI + default "pd10" + help + The pin to use for the SD/MMC write-protect signal for a memory + card. If defined as " " (space), the card is considered writable. + +# Avoid choices causing non-working configs by conditionalizing the inclusion. +if ETRAX_SPI_MMC +source drivers/spi/Kconfig +endif