menu "BATS setup"

menuconfig BAT0
	bool "BAT0"

if BAT0

config BAT0_NAME
	string "Identifier"

config BAT0_BASE
	hex "Base"

choice
	prompt "Block length"

config BAT0_LENGTH_128_KBYTES
	bool "128 kb"

config BAT0_LENGTH_256_KBYTES
	bool "256 kb"

config BAT0_LENGTH_512_KBYTES
	bool "512 kb"

config BAT0_LENGTH_1_MBYTES
	bool "1 mb"

config BAT0_LENGTH_2_MBYTES
	bool "2 mb"

config BAT0_LENGTH_4_MBYTES
	bool "4 mb"

config BAT0_LENGTH_8_MBYTES
	bool "8 mb"

config BAT0_LENGTH_16_MBYTES
	bool "16 mb"

config BAT0_LENGTH_32_MBYTES
	bool "32 mb"

config BAT0_LENGTH_64_MBYTES
	bool "64 mb"

config BAT0_LENGTH_128_MBYTES
	bool "128 mb"

config BAT0_LENGTH_256_MBYTES
	bool "256 mb"
endchoice

choice
	prompt "Protection mode"

config BAT0_ACCESS_NONE
	bool "No access"

config BAT0_ACCESS_RO
	bool "Read-only"

config BAT0_ACCESS_RW
	bool "Read-write"

endchoice

config BAT0_ICACHE_WRITETHROUGH
	bool "I-cache Write-through"

config BAT0_ICACHE_INHIBITED
	bool "I-cache Inhibited"

config BAT0_ICACHE_MEMORYCOHERENCE
	bool "I-cache Memory coherence"

config BAT0_ICACHE_GUARDED
	bool "I-cache Guarded"

config BAT0_DCACHE_WRITETHROUGH
	bool "D-cache Write-through"

config BAT0_DCACHE_INHIBITED
	bool "D-cache Inhibited"

config BAT0_DCACHE_MEMORYCOHERENCE
	bool "D-cache Memory coherence"

config BAT0_DCACHE_GUARDED
	bool "D-cache Guarded"

config BAT0_USER_MODE_VALID
	bool "User mode valid"

config BAT0_SUPERVISOR_MODE_VALID
	bool "Supervisor mode valid"

endif

config BAT0_LENGTH
	hex
	default 0x00000000 if BAT0_LENGTH_128_KBYTES
	default 0x00000004 if BAT0_LENGTH_256_KBYTES
	default 0x0000000c if BAT0_LENGTH_512_KBYTES
	default 0x0000001c if BAT0_LENGTH_1_MBYTES
	default 0x0000003c if BAT0_LENGTH_2_MBYTES
	default 0x0000007c if BAT0_LENGTH_4_MBYTES
	default 0x000000fc if BAT0_LENGTH_8_MBYTES
	default 0x000001fc if BAT0_LENGTH_16_MBYTES
	default 0x000003fc if BAT0_LENGTH_32_MBYTES
	default 0x000007fc if BAT0_LENGTH_64_MBYTES
	default 0x00000ffc if BAT0_LENGTH_128_MBYTES
	default 0x00001ffc if BAT0_LENGTH_256_MBYTES

config BAT0_PAGE_PROTECTION
	hex
	default 0x0 if BAT0_ACCESS_NONE
	default 0x1 if BAT0_ACCESS_RO
	default 0x2 if BAT0_ACCESS_RW

config BAT0_WIMG_ICACHE
	hex
	default 0x0 if !BAT0_ICACHE_WRITETHROUGH && !BAT0_ICACHE_INHIBITED && !BAT0_ICACHE_MEMORYCOHERENCE && !BAT0_ICACHE_GUARDED
	default 0x8 if !BAT0_ICACHE_WRITETHROUGH && !BAT0_ICACHE_INHIBITED && !BAT0_ICACHE_MEMORYCOHERENCE && BAT0_ICACHE_GUARDED
	default 0x10 if !BAT0_ICACHE_WRITETHROUGH && !BAT0_ICACHE_INHIBITED && BAT0_ICACHE_MEMORYCOHERENCE && !BAT0_ICACHE_GUARDED
	default 0x18 if !BAT0_ICACHE_WRITETHROUGH && !BAT0_ICACHE_INHIBITED && BAT0_ICACHE_MEMORYCOHERENCE && BAT0_ICACHE_GUARDED
	default 0x20 if !BAT0_ICACHE_WRITETHROUGH && BAT0_ICACHE_INHIBITED && !BAT0_ICACHE_MEMORYCOHERENCE && !BAT0_ICACHE_GUARDED
	default 0x28 if !BAT0_ICACHE_WRITETHROUGH && BAT0_ICACHE_INHIBITED && !BAT0_ICACHE_MEMORYCOHERENCE && BAT0_ICACHE_GUARDED
	default 0x30 if !BAT0_ICACHE_WRITETHROUGH && BAT0_ICACHE_INHIBITED && BAT0_ICACHE_MEMORYCOHERENCE && !BAT0_ICACHE_GUARDED
	default 0x38 if !BAT0_ICACHE_WRITETHROUGH && BAT0_ICACHE_INHIBITED && BAT0_ICACHE_MEMORYCOHERENCE && BAT0_ICACHE_GUARDED
	default 0x40 if BAT0_ICACHE_WRITETHROUGH && !BAT0_ICACHE_INHIBITED && !BAT0_ICACHE_MEMORYCOHERENCE && !BAT0_ICACHE_GUARDED
	default 0x48 if BAT0_ICACHE_WRITETHROUGH && !BAT0_ICACHE_INHIBITED && !BAT0_ICACHE_MEMORYCOHERENCE && BAT0_ICACHE_GUARDED
	default 0x50 if BAT0_ICACHE_WRITETHROUGH && !BAT0_ICACHE_INHIBITED && BAT0_ICACHE_MEMORYCOHERENCE && !BAT0_ICACHE_GUARDED
	default 0x58 if BAT0_ICACHE_WRITETHROUGH && !BAT0_ICACHE_INHIBITED && BAT0_ICACHE_MEMORYCOHERENCE && BAT0_ICACHE_GUARDED
	default 0x60 if BAT0_ICACHE_WRITETHROUGH && BAT0_ICACHE_INHIBITED && !BAT0_ICACHE_MEMORYCOHERENCE && !BAT0_ICACHE_GUARDED
	default 0x68 if BAT0_ICACHE_WRITETHROUGH && BAT0_ICACHE_INHIBITED && !BAT0_ICACHE_MEMORYCOHERENCE && BAT0_ICACHE_GUARDED
	default 0x70 if BAT0_ICACHE_WRITETHROUGH && BAT0_ICACHE_INHIBITED && BAT0_ICACHE_MEMORYCOHERENCE && !BAT0_ICACHE_GUARDED
	default 0x78 if BAT0_ICACHE_WRITETHROUGH && BAT0_ICACHE_INHIBITED && BAT0_ICACHE_MEMORYCOHERENCE && BAT0_ICACHE_GUARDED

config BAT0_WIMG_DCACHE
	hex
	default 0x0 if !BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
	default 0x8 if !BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
	default 0x10 if !BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
	default 0x18 if !BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
	default 0x20 if !BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
	default 0x28 if !BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
	default 0x30 if !BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
	default 0x38 if !BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
	default 0x40 if BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
	default 0x48 if BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
	default 0x50 if BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
	default 0x58 if BAT0_DCACHE_WRITETHROUGH && !BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
	default 0x60 if BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
	default 0x68 if BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && !BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED
	default 0x70 if BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && !BAT0_DCACHE_GUARDED
	default 0x78 if BAT0_DCACHE_WRITETHROUGH && BAT0_DCACHE_INHIBITED && BAT0_DCACHE_MEMORYCOHERENCE && BAT0_DCACHE_GUARDED

config BAT0_VALID_BITS
	hex
	default 0x0 if !BAT0_SUPERVISOR_MODE_VALID && !BAT0_USER_MODE_VALID
	default 0x1 if !BAT0_SUPERVISOR_MODE_VALID && BAT0_USER_MODE_VALID
	default 0x2 if BAT0_SUPERVISOR_MODE_VALID && !BAT0_USER_MODE_VALID
	default 0x3 if BAT0_SUPERVISOR_MODE_VALID && BAT0_USER_MODE_VALID

menuconfig BAT1
	bool "BAT1"

if BAT1

config BAT1_NAME
	string "Identifier"

config BAT1_BASE
	hex "Base"

choice
	prompt "Block length"

config BAT1_LENGTH_128_KBYTES
	bool "128 kb"

config BAT1_LENGTH_256_KBYTES
	bool "256 kb"

config BAT1_LENGTH_512_KBYTES
	bool "512 kb"

config BAT1_LENGTH_1_MBYTES
	bool "1 mb"

config BAT1_LENGTH_2_MBYTES
	bool "2 mb"

config BAT1_LENGTH_4_MBYTES
	bool "4 mb"

config BAT1_LENGTH_8_MBYTES
	bool "8 mb"

config BAT1_LENGTH_16_MBYTES
	bool "16 mb"

config BAT1_LENGTH_32_MBYTES
	bool "32 mb"

config BAT1_LENGTH_64_MBYTES
	bool "64 mb"

config BAT1_LENGTH_128_MBYTES
	bool "128 mb"

config BAT1_LENGTH_256_MBYTES
	bool "256 mb"
endchoice

choice
	prompt "Protection mode"

config BAT1_ACCESS_NONE
	bool "No access"

config BAT1_ACCESS_RO
	bool "Read-only"

config BAT1_ACCESS_RW
	bool "Read-write"

endchoice

config BAT1_ICACHE_WRITETHROUGH
	bool "I-cache Write-through"

config BAT1_ICACHE_INHIBITED
	bool "I-cache Inhibited"

config BAT1_ICACHE_MEMORYCOHERENCE
	bool "I-cache Memory coherence"

config BAT1_ICACHE_GUARDED
	bool "I-cache Guarded"

config BAT1_DCACHE_WRITETHROUGH
	bool "D-cache Write-through"

config BAT1_DCACHE_INHIBITED
	bool "D-cache Inhibited"

config BAT1_DCACHE_MEMORYCOHERENCE
	bool "D-cache Memory coherence"

config BAT1_DCACHE_GUARDED
	bool "D-cache Guarded"

config BAT1_USER_MODE_VALID
	bool "User mode valid"

config BAT1_SUPERVISOR_MODE_VALID
	bool "Supervisor mode valid"

endif

config BAT1_LENGTH
	hex
	default 0x00000000 if BAT1_LENGTH_128_KBYTES
	default 0x00000004 if BAT1_LENGTH_256_KBYTES
	default 0x0000000c if BAT1_LENGTH_512_KBYTES
	default 0x0000001c if BAT1_LENGTH_1_MBYTES
	default 0x0000003c if BAT1_LENGTH_2_MBYTES
	default 0x0000007c if BAT1_LENGTH_4_MBYTES
	default 0x000000fc if BAT1_LENGTH_8_MBYTES
	default 0x000001fc if BAT1_LENGTH_16_MBYTES
	default 0x000003fc if BAT1_LENGTH_32_MBYTES
	default 0x000007fc if BAT1_LENGTH_64_MBYTES
	default 0x00000ffc if BAT1_LENGTH_128_MBYTES
	default 0x00001ffc if BAT1_LENGTH_256_MBYTES

config BAT1_PAGE_PROTECTION
	hex
	default 0x0 if BAT1_ACCESS_NONE
	default 0x1 if BAT1_ACCESS_RO
	default 0x2 if BAT1_ACCESS_RW

config BAT1_WIMG_ICACHE
	hex
	default 0x0 if !BAT1_ICACHE_WRITETHROUGH && !BAT1_ICACHE_INHIBITED && !BAT1_ICACHE_MEMORYCOHERENCE && !BAT1_ICACHE_GUARDED
	default 0x8 if !BAT1_ICACHE_WRITETHROUGH && !BAT1_ICACHE_INHIBITED && !BAT1_ICACHE_MEMORYCOHERENCE && BAT1_ICACHE_GUARDED
	default 0x10 if !BAT1_ICACHE_WRITETHROUGH && !BAT1_ICACHE_INHIBITED && BAT1_ICACHE_MEMORYCOHERENCE && !BAT1_ICACHE_GUARDED
	default 0x18 if !BAT1_ICACHE_WRITETHROUGH && !BAT1_ICACHE_INHIBITED && BAT1_ICACHE_MEMORYCOHERENCE && BAT1_ICACHE_GUARDED
	default 0x20 if !BAT1_ICACHE_WRITETHROUGH && BAT1_ICACHE_INHIBITED && !BAT1_ICACHE_MEMORYCOHERENCE && !BAT1_ICACHE_GUARDED
	default 0x28 if !BAT1_ICACHE_WRITETHROUGH && BAT1_ICACHE_INHIBITED && !BAT1_ICACHE_MEMORYCOHERENCE && BAT1_ICACHE_GUARDED
	default 0x30 if !BAT1_ICACHE_WRITETHROUGH && BAT1_ICACHE_INHIBITED && BAT1_ICACHE_MEMORYCOHERENCE && !BAT1_ICACHE_GUARDED
	default 0x38 if !BAT1_ICACHE_WRITETHROUGH && BAT1_ICACHE_INHIBITED && BAT1_ICACHE_MEMORYCOHERENCE && BAT1_ICACHE_GUARDED
	default 0x40 if BAT1_ICACHE_WRITETHROUGH && !BAT1_ICACHE_INHIBITED && !BAT1_ICACHE_MEMORYCOHERENCE && !BAT1_ICACHE_GUARDED
	default 0x48 if BAT1_ICACHE_WRITETHROUGH && !BAT1_ICACHE_INHIBITED && !BAT1_ICACHE_MEMORYCOHERENCE && BAT1_ICACHE_GUARDED
	default 0x50 if BAT1_ICACHE_WRITETHROUGH && !BAT1_ICACHE_INHIBITED && BAT1_ICACHE_MEMORYCOHERENCE && !BAT1_ICACHE_GUARDED
	default 0x58 if BAT1_ICACHE_WRITETHROUGH && !BAT1_ICACHE_INHIBITED && BAT1_ICACHE_MEMORYCOHERENCE && BAT1_ICACHE_GUARDED
	default 0x60 if BAT1_ICACHE_WRITETHROUGH && BAT1_ICACHE_INHIBITED && !BAT1_ICACHE_MEMORYCOHERENCE && !BAT1_ICACHE_GUARDED
	default 0x68 if BAT1_ICACHE_WRITETHROUGH && BAT1_ICACHE_INHIBITED && !BAT1_ICACHE_MEMORYCOHERENCE && BAT1_ICACHE_GUARDED
	default 0x70 if BAT1_ICACHE_WRITETHROUGH && BAT1_ICACHE_INHIBITED && BAT1_ICACHE_MEMORYCOHERENCE && !BAT1_ICACHE_GUARDED
	default 0x78 if BAT1_ICACHE_WRITETHROUGH && BAT1_ICACHE_INHIBITED && BAT1_ICACHE_MEMORYCOHERENCE && BAT1_ICACHE_GUARDED

config BAT1_WIMG_DCACHE
	hex
	default 0x0 if !BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
	default 0x8 if !BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
	default 0x10 if !BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
	default 0x18 if !BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
	default 0x20 if !BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
	default 0x28 if !BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
	default 0x30 if !BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
	default 0x38 if !BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
	default 0x40 if BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
	default 0x48 if BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
	default 0x50 if BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
	default 0x58 if BAT1_DCACHE_WRITETHROUGH && !BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
	default 0x60 if BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
	default 0x68 if BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && !BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED
	default 0x70 if BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && !BAT1_DCACHE_GUARDED
	default 0x78 if BAT1_DCACHE_WRITETHROUGH && BAT1_DCACHE_INHIBITED && BAT1_DCACHE_MEMORYCOHERENCE && BAT1_DCACHE_GUARDED

config BAT1_VALID_BITS
	hex
	default 0x0 if !BAT1_SUPERVISOR_MODE_VALID && !BAT1_USER_MODE_VALID
	default 0x1 if !BAT1_SUPERVISOR_MODE_VALID && BAT1_USER_MODE_VALID
	default 0x2 if BAT1_SUPERVISOR_MODE_VALID && !BAT1_USER_MODE_VALID
	default 0x3 if BAT1_SUPERVISOR_MODE_VALID && BAT1_USER_MODE_VALID

menuconfig BAT2
	bool "BAT2"

if BAT2

config BAT2_NAME
	string "Identifier"

config BAT2_BASE
	hex "Base"

choice
	prompt "Block length"

config BAT2_LENGTH_128_KBYTES
	bool "128 kb"

config BAT2_LENGTH_256_KBYTES
	bool "256 kb"

config BAT2_LENGTH_512_KBYTES
	bool "512 kb"

config BAT2_LENGTH_1_MBYTES
	bool "1 mb"

config BAT2_LENGTH_2_MBYTES
	bool "2 mb"

config BAT2_LENGTH_4_MBYTES
	bool "4 mb"

config BAT2_LENGTH_8_MBYTES
	bool "8 mb"

config BAT2_LENGTH_16_MBYTES
	bool "16 mb"

config BAT2_LENGTH_32_MBYTES
	bool "32 mb"

config BAT2_LENGTH_64_MBYTES
	bool "64 mb"

config BAT2_LENGTH_128_MBYTES
	bool "128 mb"

config BAT2_LENGTH_256_MBYTES
	bool "256 mb"
endchoice

choice
	prompt "Protection mode"

config BAT2_ACCESS_NONE
	bool "No access"

config BAT2_ACCESS_RO
	bool "Read-only"

config BAT2_ACCESS_RW
	bool "Read-write"

endchoice

config BAT2_ICACHE_WRITETHROUGH
	bool "I-cache Write-through"

config BAT2_ICACHE_INHIBITED
	bool "I-cache Inhibited"

config BAT2_ICACHE_MEMORYCOHERENCE
	bool "I-cache Memory coherence"

config BAT2_ICACHE_GUARDED
	bool "I-cache Guarded"

config BAT2_DCACHE_WRITETHROUGH
	bool "D-cache Write-through"

config BAT2_DCACHE_INHIBITED
	bool "D-cache Inhibited"

config BAT2_DCACHE_MEMORYCOHERENCE
	bool "D-cache Memory coherence"

config BAT2_DCACHE_GUARDED
	bool "D-cache Guarded"

config BAT2_USER_MODE_VALID
	bool "User mode valid"

config BAT2_SUPERVISOR_MODE_VALID
	bool "Supervisor mode valid"

endif

config BAT2_LENGTH
	hex
	default 0x00000000 if BAT2_LENGTH_128_KBYTES
	default 0x00000004 if BAT2_LENGTH_256_KBYTES
	default 0x0000000c if BAT2_LENGTH_512_KBYTES
	default 0x0000001c if BAT2_LENGTH_1_MBYTES
	default 0x0000003c if BAT2_LENGTH_2_MBYTES
	default 0x0000007c if BAT2_LENGTH_4_MBYTES
	default 0x000000fc if BAT2_LENGTH_8_MBYTES
	default 0x000001fc if BAT2_LENGTH_16_MBYTES
	default 0x000003fc if BAT2_LENGTH_32_MBYTES
	default 0x000007fc if BAT2_LENGTH_64_MBYTES
	default 0x00000ffc if BAT2_LENGTH_128_MBYTES
	default 0x00001ffc if BAT2_LENGTH_256_MBYTES

config BAT2_PAGE_PROTECTION
	hex
	default 0x0 if BAT2_ACCESS_NONE
	default 0x1 if BAT2_ACCESS_RO
	default 0x2 if BAT2_ACCESS_RW

config BAT2_WIMG_ICACHE
	hex
	default 0x0 if !BAT2_ICACHE_WRITETHROUGH && !BAT2_ICACHE_INHIBITED && !BAT2_ICACHE_MEMORYCOHERENCE && !BAT2_ICACHE_GUARDED
	default 0x8 if !BAT2_ICACHE_WRITETHROUGH && !BAT2_ICACHE_INHIBITED && !BAT2_ICACHE_MEMORYCOHERENCE && BAT2_ICACHE_GUARDED
	default 0x10 if !BAT2_ICACHE_WRITETHROUGH && !BAT2_ICACHE_INHIBITED && BAT2_ICACHE_MEMORYCOHERENCE && !BAT2_ICACHE_GUARDED
	default 0x18 if !BAT2_ICACHE_WRITETHROUGH && !BAT2_ICACHE_INHIBITED && BAT2_ICACHE_MEMORYCOHERENCE && BAT2_ICACHE_GUARDED
	default 0x20 if !BAT2_ICACHE_WRITETHROUGH && BAT2_ICACHE_INHIBITED && !BAT2_ICACHE_MEMORYCOHERENCE && !BAT2_ICACHE_GUARDED
	default 0x28 if !BAT2_ICACHE_WRITETHROUGH && BAT2_ICACHE_INHIBITED && !BAT2_ICACHE_MEMORYCOHERENCE && BAT2_ICACHE_GUARDED
	default 0x30 if !BAT2_ICACHE_WRITETHROUGH && BAT2_ICACHE_INHIBITED && BAT2_ICACHE_MEMORYCOHERENCE && !BAT2_ICACHE_GUARDED
	default 0x38 if !BAT2_ICACHE_WRITETHROUGH && BAT2_ICACHE_INHIBITED && BAT2_ICACHE_MEMORYCOHERENCE && BAT2_ICACHE_GUARDED
	default 0x40 if BAT2_ICACHE_WRITETHROUGH && !BAT2_ICACHE_INHIBITED && !BAT2_ICACHE_MEMORYCOHERENCE && !BAT2_ICACHE_GUARDED
	default 0x48 if BAT2_ICACHE_WRITETHROUGH && !BAT2_ICACHE_INHIBITED && !BAT2_ICACHE_MEMORYCOHERENCE && BAT2_ICACHE_GUARDED
	default 0x50 if BAT2_ICACHE_WRITETHROUGH && !BAT2_ICACHE_INHIBITED && BAT2_ICACHE_MEMORYCOHERENCE && !BAT2_ICACHE_GUARDED
	default 0x58 if BAT2_ICACHE_WRITETHROUGH && !BAT2_ICACHE_INHIBITED && BAT2_ICACHE_MEMORYCOHERENCE && BAT2_ICACHE_GUARDED
	default 0x60 if BAT2_ICACHE_WRITETHROUGH && BAT2_ICACHE_INHIBITED && !BAT2_ICACHE_MEMORYCOHERENCE && !BAT2_ICACHE_GUARDED
	default 0x68 if BAT2_ICACHE_WRITETHROUGH && BAT2_ICACHE_INHIBITED && !BAT2_ICACHE_MEMORYCOHERENCE && BAT2_ICACHE_GUARDED
	default 0x70 if BAT2_ICACHE_WRITETHROUGH && BAT2_ICACHE_INHIBITED && BAT2_ICACHE_MEMORYCOHERENCE && !BAT2_ICACHE_GUARDED
	default 0x78 if BAT2_ICACHE_WRITETHROUGH && BAT2_ICACHE_INHIBITED && BAT2_ICACHE_MEMORYCOHERENCE && BAT2_ICACHE_GUARDED

config BAT2_WIMG_DCACHE
	hex
	default 0x0 if !BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
	default 0x8 if !BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
	default 0x10 if !BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
	default 0x18 if !BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
	default 0x20 if !BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
	default 0x28 if !BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
	default 0x30 if !BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
	default 0x38 if !BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
	default 0x40 if BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
	default 0x48 if BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
	default 0x50 if BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
	default 0x58 if BAT2_DCACHE_WRITETHROUGH && !BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
	default 0x60 if BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
	default 0x68 if BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && !BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED
	default 0x70 if BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && !BAT2_DCACHE_GUARDED
	default 0x78 if BAT2_DCACHE_WRITETHROUGH && BAT2_DCACHE_INHIBITED && BAT2_DCACHE_MEMORYCOHERENCE && BAT2_DCACHE_GUARDED

config BAT2_VALID_BITS
	hex
	default 0x0 if !BAT2_SUPERVISOR_MODE_VALID && !BAT2_USER_MODE_VALID
	default 0x1 if !BAT2_SUPERVISOR_MODE_VALID && BAT2_USER_MODE_VALID
	default 0x2 if BAT2_SUPERVISOR_MODE_VALID && !BAT2_USER_MODE_VALID
	default 0x3 if BAT2_SUPERVISOR_MODE_VALID && BAT2_USER_MODE_VALID

menuconfig BAT3
	bool "BAT3"

if BAT3

config BAT3_NAME
	string "Identifier"

config BAT3_BASE
	hex "Base"

choice
	prompt "Block length"

config BAT3_LENGTH_128_KBYTES
	bool "128 kb"

config BAT3_LENGTH_256_KBYTES
	bool "256 kb"

config BAT3_LENGTH_512_KBYTES
	bool "512 kb"

config BAT3_LENGTH_1_MBYTES
	bool "1 mb"

config BAT3_LENGTH_2_MBYTES
	bool "2 mb"

config BAT3_LENGTH_4_MBYTES
	bool "4 mb"

config BAT3_LENGTH_8_MBYTES
	bool "8 mb"

config BAT3_LENGTH_16_MBYTES
	bool "16 mb"

config BAT3_LENGTH_32_MBYTES
	bool "32 mb"

config BAT3_LENGTH_64_MBYTES
	bool "64 mb"

config BAT3_LENGTH_128_MBYTES
	bool "128 mb"

config BAT3_LENGTH_256_MBYTES
	bool "256 mb"
endchoice

choice
	prompt "Protection mode"

config BAT3_ACCESS_NONE
	bool "No access"

config BAT3_ACCESS_RO
	bool "Read-only"

config BAT3_ACCESS_RW
	bool "Read-write"

endchoice

config BAT3_ICACHE_WRITETHROUGH
	bool "I-cache Write-through"

config BAT3_ICACHE_INHIBITED
	bool "I-cache Inhibited"

config BAT3_ICACHE_MEMORYCOHERENCE
	bool "I-cache Memory coherence"

config BAT3_ICACHE_GUARDED
	bool "I-cache Guarded"

config BAT3_DCACHE_WRITETHROUGH
	bool "D-cache Write-through"

config BAT3_DCACHE_INHIBITED
	bool "D-cache Inhibited"

config BAT3_DCACHE_MEMORYCOHERENCE
	bool "D-cache Memory coherence"

config BAT3_DCACHE_GUARDED
	bool "D-cache Guarded"

config BAT3_USER_MODE_VALID
	bool "User mode valid"

config BAT3_SUPERVISOR_MODE_VALID
	bool "Supervisor mode valid"

endif

config BAT3_LENGTH
	hex
	default 0x00000000 if BAT3_LENGTH_128_KBYTES
	default 0x00000004 if BAT3_LENGTH_256_KBYTES
	default 0x0000000c if BAT3_LENGTH_512_KBYTES
	default 0x0000001c if BAT3_LENGTH_1_MBYTES
	default 0x0000003c if BAT3_LENGTH_2_MBYTES
	default 0x0000007c if BAT3_LENGTH_4_MBYTES
	default 0x000000fc if BAT3_LENGTH_8_MBYTES
	default 0x000001fc if BAT3_LENGTH_16_MBYTES
	default 0x000003fc if BAT3_LENGTH_32_MBYTES
	default 0x000007fc if BAT3_LENGTH_64_MBYTES
	default 0x00000ffc if BAT3_LENGTH_128_MBYTES
	default 0x00001ffc if BAT3_LENGTH_256_MBYTES

config BAT3_PAGE_PROTECTION
	hex
	default 0x0 if BAT3_ACCESS_NONE
	default 0x1 if BAT3_ACCESS_RO
	default 0x2 if BAT3_ACCESS_RW

config BAT3_WIMG_ICACHE
	hex
	default 0x0 if !BAT3_ICACHE_WRITETHROUGH && !BAT3_ICACHE_INHIBITED && !BAT3_ICACHE_MEMORYCOHERENCE && !BAT3_ICACHE_GUARDED
	default 0x8 if !BAT3_ICACHE_WRITETHROUGH && !BAT3_ICACHE_INHIBITED && !BAT3_ICACHE_MEMORYCOHERENCE && BAT3_ICACHE_GUARDED
	default 0x10 if !BAT3_ICACHE_WRITETHROUGH && !BAT3_ICACHE_INHIBITED && BAT3_ICACHE_MEMORYCOHERENCE && !BAT3_ICACHE_GUARDED
	default 0x18 if !BAT3_ICACHE_WRITETHROUGH && !BAT3_ICACHE_INHIBITED && BAT3_ICACHE_MEMORYCOHERENCE && BAT3_ICACHE_GUARDED
	default 0x20 if !BAT3_ICACHE_WRITETHROUGH && BAT3_ICACHE_INHIBITED && !BAT3_ICACHE_MEMORYCOHERENCE && !BAT3_ICACHE_GUARDED
	default 0x28 if !BAT3_ICACHE_WRITETHROUGH && BAT3_ICACHE_INHIBITED && !BAT3_ICACHE_MEMORYCOHERENCE && BAT3_ICACHE_GUARDED
	default 0x30 if !BAT3_ICACHE_WRITETHROUGH && BAT3_ICACHE_INHIBITED && BAT3_ICACHE_MEMORYCOHERENCE && !BAT3_ICACHE_GUARDED
	default 0x38 if !BAT3_ICACHE_WRITETHROUGH && BAT3_ICACHE_INHIBITED && BAT3_ICACHE_MEMORYCOHERENCE && BAT3_ICACHE_GUARDED
	default 0x40 if BAT3_ICACHE_WRITETHROUGH && !BAT3_ICACHE_INHIBITED && !BAT3_ICACHE_MEMORYCOHERENCE && !BAT3_ICACHE_GUARDED
	default 0x48 if BAT3_ICACHE_WRITETHROUGH && !BAT3_ICACHE_INHIBITED && !BAT3_ICACHE_MEMORYCOHERENCE && BAT3_ICACHE_GUARDED
	default 0x50 if BAT3_ICACHE_WRITETHROUGH && !BAT3_ICACHE_INHIBITED && BAT3_ICACHE_MEMORYCOHERENCE && !BAT3_ICACHE_GUARDED
	default 0x58 if BAT3_ICACHE_WRITETHROUGH && !BAT3_ICACHE_INHIBITED && BAT3_ICACHE_MEMORYCOHERENCE && BAT3_ICACHE_GUARDED
	default 0x60 if BAT3_ICACHE_WRITETHROUGH && BAT3_ICACHE_INHIBITED && !BAT3_ICACHE_MEMORYCOHERENCE && !BAT3_ICACHE_GUARDED
	default 0x68 if BAT3_ICACHE_WRITETHROUGH && BAT3_ICACHE_INHIBITED && !BAT3_ICACHE_MEMORYCOHERENCE && BAT3_ICACHE_GUARDED
	default 0x70 if BAT3_ICACHE_WRITETHROUGH && BAT3_ICACHE_INHIBITED && BAT3_ICACHE_MEMORYCOHERENCE && !BAT3_ICACHE_GUARDED
	default 0x78 if BAT3_ICACHE_WRITETHROUGH && BAT3_ICACHE_INHIBITED && BAT3_ICACHE_MEMORYCOHERENCE && BAT3_ICACHE_GUARDED

config BAT3_WIMG_DCACHE
	hex
	default 0x0 if !BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
	default 0x8 if !BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
	default 0x10 if !BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
	default 0x18 if !BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
	default 0x20 if !BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
	default 0x28 if !BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
	default 0x30 if !BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
	default 0x38 if !BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
	default 0x40 if BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
	default 0x48 if BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
	default 0x50 if BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
	default 0x58 if BAT3_DCACHE_WRITETHROUGH && !BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
	default 0x60 if BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
	default 0x68 if BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && !BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED
	default 0x70 if BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && !BAT3_DCACHE_GUARDED
	default 0x78 if BAT3_DCACHE_WRITETHROUGH && BAT3_DCACHE_INHIBITED && BAT3_DCACHE_MEMORYCOHERENCE && BAT3_DCACHE_GUARDED

config BAT3_VALID_BITS
	hex
	default 0x0 if !BAT3_SUPERVISOR_MODE_VALID && !BAT3_USER_MODE_VALID
	default 0x1 if !BAT3_SUPERVISOR_MODE_VALID && BAT3_USER_MODE_VALID
	default 0x2 if BAT3_SUPERVISOR_MODE_VALID && !BAT3_USER_MODE_VALID
	default 0x3 if BAT3_SUPERVISOR_MODE_VALID && BAT3_USER_MODE_VALID

if HIGH_BATS

menuconfig BAT4
	bool "BAT4"

if BAT4

config BAT4_NAME
	string "Identifier"

config BAT4_BASE
	hex "Base"

choice
	prompt "Block length"

config BAT4_LENGTH_128_KBYTES
	bool "128 kb"

config BAT4_LENGTH_256_KBYTES
	bool "256 kb"

config BAT4_LENGTH_512_KBYTES
	bool "512 kb"

config BAT4_LENGTH_1_MBYTES
	bool "1 mb"

config BAT4_LENGTH_2_MBYTES
	bool "2 mb"

config BAT4_LENGTH_4_MBYTES
	bool "4 mb"

config BAT4_LENGTH_8_MBYTES
	bool "8 mb"

config BAT4_LENGTH_16_MBYTES
	bool "16 mb"

config BAT4_LENGTH_32_MBYTES
	bool "32 mb"

config BAT4_LENGTH_64_MBYTES
	bool "64 mb"

config BAT4_LENGTH_128_MBYTES
	bool "128 mb"

config BAT4_LENGTH_256_MBYTES
	bool "256 mb"
endchoice

choice
	prompt "Protection mode"

config BAT4_ACCESS_NONE
	bool "No access"

config BAT4_ACCESS_RO
	bool "Read-only"

config BAT4_ACCESS_RW
	bool "Read-write"

endchoice

config BAT4_ICACHE_WRITETHROUGH
	bool "I-cache Write-through"

config BAT4_ICACHE_INHIBITED
	bool "I-cache Inhibited"

config BAT4_ICACHE_MEMORYCOHERENCE
	bool "I-cache Memory coherence"

config BAT4_ICACHE_GUARDED
	bool "I-cache Guarded"

config BAT4_DCACHE_WRITETHROUGH
	bool "D-cache Write-through"

config BAT4_DCACHE_INHIBITED
	bool "D-cache Inhibited"

config BAT4_DCACHE_MEMORYCOHERENCE
	bool "D-cache Memory coherence"

config BAT4_DCACHE_GUARDED
	bool "D-cache Guarded"

config BAT4_USER_MODE_VALID
	bool "User mode valid"

config BAT4_SUPERVISOR_MODE_VALID
	bool "Supervisor mode valid"

endif

config BAT4_LENGTH
	hex
	default 0x00000000 if BAT4_LENGTH_128_KBYTES
	default 0x00000004 if BAT4_LENGTH_256_KBYTES
	default 0x0000000c if BAT4_LENGTH_512_KBYTES
	default 0x0000001c if BAT4_LENGTH_1_MBYTES
	default 0x0000003c if BAT4_LENGTH_2_MBYTES
	default 0x0000007c if BAT4_LENGTH_4_MBYTES
	default 0x000000fc if BAT4_LENGTH_8_MBYTES
	default 0x000001fc if BAT4_LENGTH_16_MBYTES
	default 0x000003fc if BAT4_LENGTH_32_MBYTES
	default 0x000007fc if BAT4_LENGTH_64_MBYTES
	default 0x00000ffc if BAT4_LENGTH_128_MBYTES
	default 0x00001ffc if BAT4_LENGTH_256_MBYTES

config BAT4_PAGE_PROTECTION
	hex
	default 0x0 if BAT4_ACCESS_NONE
	default 0x1 if BAT4_ACCESS_RO
	default 0x2 if BAT4_ACCESS_RW

config BAT4_WIMG_ICACHE
	hex
	default 0x0 if !BAT4_ICACHE_WRITETHROUGH && !BAT4_ICACHE_INHIBITED && !BAT4_ICACHE_MEMORYCOHERENCE && !BAT4_ICACHE_GUARDED
	default 0x8 if !BAT4_ICACHE_WRITETHROUGH && !BAT4_ICACHE_INHIBITED && !BAT4_ICACHE_MEMORYCOHERENCE && BAT4_ICACHE_GUARDED
	default 0x10 if !BAT4_ICACHE_WRITETHROUGH && !BAT4_ICACHE_INHIBITED && BAT4_ICACHE_MEMORYCOHERENCE && !BAT4_ICACHE_GUARDED
	default 0x18 if !BAT4_ICACHE_WRITETHROUGH && !BAT4_ICACHE_INHIBITED && BAT4_ICACHE_MEMORYCOHERENCE && BAT4_ICACHE_GUARDED
	default 0x20 if !BAT4_ICACHE_WRITETHROUGH && BAT4_ICACHE_INHIBITED && !BAT4_ICACHE_MEMORYCOHERENCE && !BAT4_ICACHE_GUARDED
	default 0x28 if !BAT4_ICACHE_WRITETHROUGH && BAT4_ICACHE_INHIBITED && !BAT4_ICACHE_MEMORYCOHERENCE && BAT4_ICACHE_GUARDED
	default 0x30 if !BAT4_ICACHE_WRITETHROUGH && BAT4_ICACHE_INHIBITED && BAT4_ICACHE_MEMORYCOHERENCE && !BAT4_ICACHE_GUARDED
	default 0x38 if !BAT4_ICACHE_WRITETHROUGH && BAT4_ICACHE_INHIBITED && BAT4_ICACHE_MEMORYCOHERENCE && BAT4_ICACHE_GUARDED
	default 0x40 if BAT4_ICACHE_WRITETHROUGH && !BAT4_ICACHE_INHIBITED && !BAT4_ICACHE_MEMORYCOHERENCE && !BAT4_ICACHE_GUARDED
	default 0x48 if BAT4_ICACHE_WRITETHROUGH && !BAT4_ICACHE_INHIBITED && !BAT4_ICACHE_MEMORYCOHERENCE && BAT4_ICACHE_GUARDED
	default 0x50 if BAT4_ICACHE_WRITETHROUGH && !BAT4_ICACHE_INHIBITED && BAT4_ICACHE_MEMORYCOHERENCE && !BAT4_ICACHE_GUARDED
	default 0x58 if BAT4_ICACHE_WRITETHROUGH && !BAT4_ICACHE_INHIBITED && BAT4_ICACHE_MEMORYCOHERENCE && BAT4_ICACHE_GUARDED
	default 0x60 if BAT4_ICACHE_WRITETHROUGH && BAT4_ICACHE_INHIBITED && !BAT4_ICACHE_MEMORYCOHERENCE && !BAT4_ICACHE_GUARDED
	default 0x68 if BAT4_ICACHE_WRITETHROUGH && BAT4_ICACHE_INHIBITED && !BAT4_ICACHE_MEMORYCOHERENCE && BAT4_ICACHE_GUARDED
	default 0x70 if BAT4_ICACHE_WRITETHROUGH && BAT4_ICACHE_INHIBITED && BAT4_ICACHE_MEMORYCOHERENCE && !BAT4_ICACHE_GUARDED
	default 0x78 if BAT4_ICACHE_WRITETHROUGH && BAT4_ICACHE_INHIBITED && BAT4_ICACHE_MEMORYCOHERENCE && BAT4_ICACHE_GUARDED

config BAT4_WIMG_DCACHE
	hex
	default 0x0 if !BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
	default 0x8 if !BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
	default 0x10 if !BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
	default 0x18 if !BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
	default 0x20 if !BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
	default 0x28 if !BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
	default 0x30 if !BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
	default 0x38 if !BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
	default 0x40 if BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
	default 0x48 if BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
	default 0x50 if BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
	default 0x58 if BAT4_DCACHE_WRITETHROUGH && !BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
	default 0x60 if BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
	default 0x68 if BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && !BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED
	default 0x70 if BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && !BAT4_DCACHE_GUARDED
	default 0x78 if BAT4_DCACHE_WRITETHROUGH && BAT4_DCACHE_INHIBITED && BAT4_DCACHE_MEMORYCOHERENCE && BAT4_DCACHE_GUARDED

config BAT4_VALID_BITS
	hex
	default 0x0 if !BAT4_SUPERVISOR_MODE_VALID && !BAT4_USER_MODE_VALID
	default 0x1 if !BAT4_SUPERVISOR_MODE_VALID && BAT4_USER_MODE_VALID
	default 0x2 if BAT4_SUPERVISOR_MODE_VALID && !BAT4_USER_MODE_VALID
	default 0x3 if BAT4_SUPERVISOR_MODE_VALID && BAT4_USER_MODE_VALID

menuconfig BAT5
	bool "BAT5"

if BAT5

config BAT5_NAME
	string "Identifier"

config BAT5_BASE
	hex "Base"

choice
	prompt "Block length"

config BAT5_LENGTH_128_KBYTES
	bool "128 kb"

config BAT5_LENGTH_256_KBYTES
	bool "256 kb"

config BAT5_LENGTH_512_KBYTES
	bool "512 kb"

config BAT5_LENGTH_1_MBYTES
	bool "1 mb"

config BAT5_LENGTH_2_MBYTES
	bool "2 mb"

config BAT5_LENGTH_4_MBYTES
	bool "4 mb"

config BAT5_LENGTH_8_MBYTES
	bool "8 mb"

config BAT5_LENGTH_16_MBYTES
	bool "16 mb"

config BAT5_LENGTH_32_MBYTES
	bool "32 mb"

config BAT5_LENGTH_64_MBYTES
	bool "64 mb"

config BAT5_LENGTH_128_MBYTES
	bool "128 mb"

config BAT5_LENGTH_256_MBYTES
	bool "256 mb"
endchoice

choice
	prompt "Protection mode"

config BAT5_ACCESS_NONE
	bool "No access"

config BAT5_ACCESS_RO
	bool "Read-only"

config BAT5_ACCESS_RW
	bool "Read-write"

endchoice

config BAT5_ICACHE_WRITETHROUGH
	bool "I-cache Write-through"

config BAT5_ICACHE_INHIBITED
	bool "I-cache Inhibited"

config BAT5_ICACHE_MEMORYCOHERENCE
	bool "I-cache Memory coherence"

config BAT5_ICACHE_GUARDED
	bool "I-cache Guarded"

config BAT5_DCACHE_WRITETHROUGH
	bool "D-cache Write-through"

config BAT5_DCACHE_INHIBITED
	bool "D-cache Inhibited"

config BAT5_DCACHE_MEMORYCOHERENCE
	bool "D-cache Memory coherence"

config BAT5_DCACHE_GUARDED
	bool "D-cache Guarded"

config BAT5_USER_MODE_VALID
	bool "User mode valid"

config BAT5_SUPERVISOR_MODE_VALID
	bool "Supervisor mode valid"

endif

config BAT5_LENGTH
	hex
	default 0x00000000 if BAT5_LENGTH_128_KBYTES
	default 0x00000004 if BAT5_LENGTH_256_KBYTES
	default 0x0000000c if BAT5_LENGTH_512_KBYTES
	default 0x0000001c if BAT5_LENGTH_1_MBYTES
	default 0x0000003c if BAT5_LENGTH_2_MBYTES
	default 0x0000007c if BAT5_LENGTH_4_MBYTES
	default 0x000000fc if BAT5_LENGTH_8_MBYTES
	default 0x000001fc if BAT5_LENGTH_16_MBYTES
	default 0x000003fc if BAT5_LENGTH_32_MBYTES
	default 0x000007fc if BAT5_LENGTH_64_MBYTES
	default 0x00000ffc if BAT5_LENGTH_128_MBYTES
	default 0x00001ffc if BAT5_LENGTH_256_MBYTES

config BAT5_PAGE_PROTECTION
	hex
	default 0x0 if BAT5_ACCESS_NONE
	default 0x1 if BAT5_ACCESS_RO
	default 0x2 if BAT5_ACCESS_RW

config BAT5_WIMG_ICACHE
	hex
	default 0x0 if !BAT5_ICACHE_WRITETHROUGH && !BAT5_ICACHE_INHIBITED && !BAT5_ICACHE_MEMORYCOHERENCE && !BAT5_ICACHE_GUARDED
	default 0x8 if !BAT5_ICACHE_WRITETHROUGH && !BAT5_ICACHE_INHIBITED && !BAT5_ICACHE_MEMORYCOHERENCE && BAT5_ICACHE_GUARDED
	default 0x10 if !BAT5_ICACHE_WRITETHROUGH && !BAT5_ICACHE_INHIBITED && BAT5_ICACHE_MEMORYCOHERENCE && !BAT5_ICACHE_GUARDED
	default 0x18 if !BAT5_ICACHE_WRITETHROUGH && !BAT5_ICACHE_INHIBITED && BAT5_ICACHE_MEMORYCOHERENCE && BAT5_ICACHE_GUARDED
	default 0x20 if !BAT5_ICACHE_WRITETHROUGH && BAT5_ICACHE_INHIBITED && !BAT5_ICACHE_MEMORYCOHERENCE && !BAT5_ICACHE_GUARDED
	default 0x28 if !BAT5_ICACHE_WRITETHROUGH && BAT5_ICACHE_INHIBITED && !BAT5_ICACHE_MEMORYCOHERENCE && BAT5_ICACHE_GUARDED
	default 0x30 if !BAT5_ICACHE_WRITETHROUGH && BAT5_ICACHE_INHIBITED && BAT5_ICACHE_MEMORYCOHERENCE && !BAT5_ICACHE_GUARDED
	default 0x38 if !BAT5_ICACHE_WRITETHROUGH && BAT5_ICACHE_INHIBITED && BAT5_ICACHE_MEMORYCOHERENCE && BAT5_ICACHE_GUARDED
	default 0x40 if BAT5_ICACHE_WRITETHROUGH && !BAT5_ICACHE_INHIBITED && !BAT5_ICACHE_MEMORYCOHERENCE && !BAT5_ICACHE_GUARDED
	default 0x48 if BAT5_ICACHE_WRITETHROUGH && !BAT5_ICACHE_INHIBITED && !BAT5_ICACHE_MEMORYCOHERENCE && BAT5_ICACHE_GUARDED
	default 0x50 if BAT5_ICACHE_WRITETHROUGH && !BAT5_ICACHE_INHIBITED && BAT5_ICACHE_MEMORYCOHERENCE && !BAT5_ICACHE_GUARDED
	default 0x58 if BAT5_ICACHE_WRITETHROUGH && !BAT5_ICACHE_INHIBITED && BAT5_ICACHE_MEMORYCOHERENCE && BAT5_ICACHE_GUARDED
	default 0x60 if BAT5_ICACHE_WRITETHROUGH && BAT5_ICACHE_INHIBITED && !BAT5_ICACHE_MEMORYCOHERENCE && !BAT5_ICACHE_GUARDED
	default 0x68 if BAT5_ICACHE_WRITETHROUGH && BAT5_ICACHE_INHIBITED && !BAT5_ICACHE_MEMORYCOHERENCE && BAT5_ICACHE_GUARDED
	default 0x70 if BAT5_ICACHE_WRITETHROUGH && BAT5_ICACHE_INHIBITED && BAT5_ICACHE_MEMORYCOHERENCE && !BAT5_ICACHE_GUARDED
	default 0x78 if BAT5_ICACHE_WRITETHROUGH && BAT5_ICACHE_INHIBITED && BAT5_ICACHE_MEMORYCOHERENCE && BAT5_ICACHE_GUARDED

config BAT5_WIMG_DCACHE
	hex
	default 0x0 if !BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
	default 0x8 if !BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
	default 0x10 if !BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
	default 0x18 if !BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
	default 0x20 if !BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
	default 0x28 if !BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
	default 0x30 if !BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
	default 0x38 if !BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
	default 0x40 if BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
	default 0x48 if BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
	default 0x50 if BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
	default 0x58 if BAT5_DCACHE_WRITETHROUGH && !BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
	default 0x60 if BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
	default 0x68 if BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && !BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED
	default 0x70 if BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && !BAT5_DCACHE_GUARDED
	default 0x78 if BAT5_DCACHE_WRITETHROUGH && BAT5_DCACHE_INHIBITED && BAT5_DCACHE_MEMORYCOHERENCE && BAT5_DCACHE_GUARDED

config BAT5_VALID_BITS
	hex
	default 0x0 if !BAT5_SUPERVISOR_MODE_VALID && !BAT5_USER_MODE_VALID
	default 0x1 if !BAT5_SUPERVISOR_MODE_VALID && BAT5_USER_MODE_VALID
	default 0x2 if BAT5_SUPERVISOR_MODE_VALID && !BAT5_USER_MODE_VALID
	default 0x3 if BAT5_SUPERVISOR_MODE_VALID && BAT5_USER_MODE_VALID

menuconfig BAT6
	bool "BAT6"

if BAT6

config BAT6_NAME
	string "Identifier"

config BAT6_BASE
	hex "Base"

choice
	prompt "Block length"

config BAT6_LENGTH_128_KBYTES
	bool "128 kb"

config BAT6_LENGTH_256_KBYTES
	bool "256 kb"

config BAT6_LENGTH_512_KBYTES
	bool "512 kb"

config BAT6_LENGTH_1_MBYTES
	bool "1 mb"

config BAT6_LENGTH_2_MBYTES
	bool "2 mb"

config BAT6_LENGTH_4_MBYTES
	bool "4 mb"

config BAT6_LENGTH_8_MBYTES
	bool "8 mb"

config BAT6_LENGTH_16_MBYTES
	bool "16 mb"

config BAT6_LENGTH_32_MBYTES
	bool "32 mb"

config BAT6_LENGTH_64_MBYTES
	bool "64 mb"

config BAT6_LENGTH_128_MBYTES
	bool "128 mb"

config BAT6_LENGTH_256_MBYTES
	bool "256 mb"
endchoice

choice
	prompt "Protection mode"

config BAT6_ACCESS_NONE
	bool "No access"

config BAT6_ACCESS_RO
	bool "Read-only"

config BAT6_ACCESS_RW
	bool "Read-write"

endchoice

config BAT6_ICACHE_WRITETHROUGH
	bool "I-cache Write-through"

config BAT6_ICACHE_INHIBITED
	bool "I-cache Inhibited"

config BAT6_ICACHE_MEMORYCOHERENCE
	bool "I-cache Memory coherence"

config BAT6_ICACHE_GUARDED
	bool "I-cache Guarded"

config BAT6_DCACHE_WRITETHROUGH
	bool "D-cache Write-through"

config BAT6_DCACHE_INHIBITED
	bool "D-cache Inhibited"

config BAT6_DCACHE_MEMORYCOHERENCE
	bool "D-cache Memory coherence"

config BAT6_DCACHE_GUARDED
	bool "D-cache Guarded"

config BAT6_USER_MODE_VALID
	bool "User mode valid"

config BAT6_SUPERVISOR_MODE_VALID
	bool "Supervisor mode valid"

endif

config BAT6_LENGTH
	hex
	default 0x00000000 if BAT6_LENGTH_128_KBYTES
	default 0x00000004 if BAT6_LENGTH_256_KBYTES
	default 0x0000000c if BAT6_LENGTH_512_KBYTES
	default 0x0000001c if BAT6_LENGTH_1_MBYTES
	default 0x0000003c if BAT6_LENGTH_2_MBYTES
	default 0x0000007c if BAT6_LENGTH_4_MBYTES
	default 0x000000fc if BAT6_LENGTH_8_MBYTES
	default 0x000001fc if BAT6_LENGTH_16_MBYTES
	default 0x000003fc if BAT6_LENGTH_32_MBYTES
	default 0x000007fc if BAT6_LENGTH_64_MBYTES
	default 0x00000ffc if BAT6_LENGTH_128_MBYTES
	default 0x00001ffc if BAT6_LENGTH_256_MBYTES

config BAT6_PAGE_PROTECTION
	hex
	default 0x0 if BAT6_ACCESS_NONE
	default 0x1 if BAT6_ACCESS_RO
	default 0x2 if BAT6_ACCESS_RW

config BAT6_WIMG_ICACHE
	hex
	default 0x0 if !BAT6_ICACHE_WRITETHROUGH && !BAT6_ICACHE_INHIBITED && !BAT6_ICACHE_MEMORYCOHERENCE && !BAT6_ICACHE_GUARDED
	default 0x8 if !BAT6_ICACHE_WRITETHROUGH && !BAT6_ICACHE_INHIBITED && !BAT6_ICACHE_MEMORYCOHERENCE && BAT6_ICACHE_GUARDED
	default 0x10 if !BAT6_ICACHE_WRITETHROUGH && !BAT6_ICACHE_INHIBITED && BAT6_ICACHE_MEMORYCOHERENCE && !BAT6_ICACHE_GUARDED
	default 0x18 if !BAT6_ICACHE_WRITETHROUGH && !BAT6_ICACHE_INHIBITED && BAT6_ICACHE_MEMORYCOHERENCE && BAT6_ICACHE_GUARDED
	default 0x20 if !BAT6_ICACHE_WRITETHROUGH && BAT6_ICACHE_INHIBITED && !BAT6_ICACHE_MEMORYCOHERENCE && !BAT6_ICACHE_GUARDED
	default 0x28 if !BAT6_ICACHE_WRITETHROUGH && BAT6_ICACHE_INHIBITED && !BAT6_ICACHE_MEMORYCOHERENCE && BAT6_ICACHE_GUARDED
	default 0x30 if !BAT6_ICACHE_WRITETHROUGH && BAT6_ICACHE_INHIBITED && BAT6_ICACHE_MEMORYCOHERENCE && !BAT6_ICACHE_GUARDED
	default 0x38 if !BAT6_ICACHE_WRITETHROUGH && BAT6_ICACHE_INHIBITED && BAT6_ICACHE_MEMORYCOHERENCE && BAT6_ICACHE_GUARDED
	default 0x40 if BAT6_ICACHE_WRITETHROUGH && !BAT6_ICACHE_INHIBITED && !BAT6_ICACHE_MEMORYCOHERENCE && !BAT6_ICACHE_GUARDED
	default 0x48 if BAT6_ICACHE_WRITETHROUGH && !BAT6_ICACHE_INHIBITED && !BAT6_ICACHE_MEMORYCOHERENCE && BAT6_ICACHE_GUARDED
	default 0x50 if BAT6_ICACHE_WRITETHROUGH && !BAT6_ICACHE_INHIBITED && BAT6_ICACHE_MEMORYCOHERENCE && !BAT6_ICACHE_GUARDED
	default 0x58 if BAT6_ICACHE_WRITETHROUGH && !BAT6_ICACHE_INHIBITED && BAT6_ICACHE_MEMORYCOHERENCE && BAT6_ICACHE_GUARDED
	default 0x60 if BAT6_ICACHE_WRITETHROUGH && BAT6_ICACHE_INHIBITED && !BAT6_ICACHE_MEMORYCOHERENCE && !BAT6_ICACHE_GUARDED
	default 0x68 if BAT6_ICACHE_WRITETHROUGH && BAT6_ICACHE_INHIBITED && !BAT6_ICACHE_MEMORYCOHERENCE && BAT6_ICACHE_GUARDED
	default 0x70 if BAT6_ICACHE_WRITETHROUGH && BAT6_ICACHE_INHIBITED && BAT6_ICACHE_MEMORYCOHERENCE && !BAT6_ICACHE_GUARDED
	default 0x78 if BAT6_ICACHE_WRITETHROUGH && BAT6_ICACHE_INHIBITED && BAT6_ICACHE_MEMORYCOHERENCE && BAT6_ICACHE_GUARDED

config BAT6_WIMG_DCACHE
	hex
	default 0x0 if !BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
	default 0x8 if !BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
	default 0x10 if !BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
	default 0x18 if !BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
	default 0x20 if !BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
	default 0x28 if !BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
	default 0x30 if !BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
	default 0x38 if !BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
	default 0x40 if BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
	default 0x48 if BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
	default 0x50 if BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
	default 0x58 if BAT6_DCACHE_WRITETHROUGH && !BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
	default 0x60 if BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
	default 0x68 if BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && !BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED
	default 0x70 if BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && !BAT6_DCACHE_GUARDED
	default 0x78 if BAT6_DCACHE_WRITETHROUGH && BAT6_DCACHE_INHIBITED && BAT6_DCACHE_MEMORYCOHERENCE && BAT6_DCACHE_GUARDED

config BAT6_VALID_BITS
	hex
	default 0x0 if !BAT6_SUPERVISOR_MODE_VALID && !BAT6_USER_MODE_VALID
	default 0x1 if !BAT6_SUPERVISOR_MODE_VALID && BAT6_USER_MODE_VALID
	default 0x2 if BAT6_SUPERVISOR_MODE_VALID && !BAT6_USER_MODE_VALID
	default 0x3 if BAT6_SUPERVISOR_MODE_VALID && BAT6_USER_MODE_VALID

menuconfig BAT7
	bool "BAT7"

if BAT7

config BAT7_NAME
	string "Identifier"

config BAT7_BASE
	hex "Base"

choice
	prompt "Block length"

config BAT7_LENGTH_128_KBYTES
	bool "128 kb"

config BAT7_LENGTH_256_KBYTES
	bool "256 kb"

config BAT7_LENGTH_512_KBYTES
	bool "512 kb"

config BAT7_LENGTH_1_MBYTES
	bool "1 mb"

config BAT7_LENGTH_2_MBYTES
	bool "2 mb"

config BAT7_LENGTH_4_MBYTES
	bool "4 mb"

config BAT7_LENGTH_8_MBYTES
	bool "8 mb"

config BAT7_LENGTH_16_MBYTES
	bool "16 mb"

config BAT7_LENGTH_32_MBYTES
	bool "32 mb"

config BAT7_LENGTH_64_MBYTES
	bool "64 mb"

config BAT7_LENGTH_128_MBYTES
	bool "128 mb"

config BAT7_LENGTH_256_MBYTES
	bool "256 mb"
endchoice

choice
	prompt "Protection mode"

config BAT7_ACCESS_NONE
	bool "No access"

config BAT7_ACCESS_RO
	bool "Read-only"

config BAT7_ACCESS_RW
	bool "Read-write"

endchoice

config BAT7_ICACHE_WRITETHROUGH
	bool "I-cache Write-through"

config BAT7_ICACHE_INHIBITED
	bool "I-cache Inhibited"

config BAT7_ICACHE_MEMORYCOHERENCE
	bool "I-cache Memory coherence"

config BAT7_ICACHE_GUARDED
	bool "I-cache Guarded"

config BAT7_DCACHE_WRITETHROUGH
	bool "D-cache Write-through"

config BAT7_DCACHE_INHIBITED
	bool "D-cache Inhibited"

config BAT7_DCACHE_MEMORYCOHERENCE
	bool "D-cache Memory coherence"

config BAT7_DCACHE_GUARDED
	bool "D-cache Guarded"

config BAT7_USER_MODE_VALID
	bool "User mode valid"

config BAT7_SUPERVISOR_MODE_VALID
	bool "Supervisor mode valid"

endif

config BAT7_LENGTH
	hex
	default 0x00000000 if BAT7_LENGTH_128_KBYTES
	default 0x00000004 if BAT7_LENGTH_256_KBYTES
	default 0x0000000c if BAT7_LENGTH_512_KBYTES
	default 0x0000001c if BAT7_LENGTH_1_MBYTES
	default 0x0000003c if BAT7_LENGTH_2_MBYTES
	default 0x0000007c if BAT7_LENGTH_4_MBYTES
	default 0x000000fc if BAT7_LENGTH_8_MBYTES
	default 0x000001fc if BAT7_LENGTH_16_MBYTES
	default 0x000003fc if BAT7_LENGTH_32_MBYTES
	default 0x000007fc if BAT7_LENGTH_64_MBYTES
	default 0x00000ffc if BAT7_LENGTH_128_MBYTES
	default 0x00001ffc if BAT7_LENGTH_256_MBYTES

config BAT7_PAGE_PROTECTION
	hex
	default 0x0 if BAT7_ACCESS_NONE
	default 0x1 if BAT7_ACCESS_RO
	default 0x2 if BAT7_ACCESS_RW

config BAT7_WIMG_ICACHE
	hex
	default 0x0 if !BAT7_ICACHE_WRITETHROUGH && !BAT7_ICACHE_INHIBITED && !BAT7_ICACHE_MEMORYCOHERENCE && !BAT7_ICACHE_GUARDED
	default 0x8 if !BAT7_ICACHE_WRITETHROUGH && !BAT7_ICACHE_INHIBITED && !BAT7_ICACHE_MEMORYCOHERENCE && BAT7_ICACHE_GUARDED
	default 0x10 if !BAT7_ICACHE_WRITETHROUGH && !BAT7_ICACHE_INHIBITED && BAT7_ICACHE_MEMORYCOHERENCE && !BAT7_ICACHE_GUARDED
	default 0x18 if !BAT7_ICACHE_WRITETHROUGH && !BAT7_ICACHE_INHIBITED && BAT7_ICACHE_MEMORYCOHERENCE && BAT7_ICACHE_GUARDED
	default 0x20 if !BAT7_ICACHE_WRITETHROUGH && BAT7_ICACHE_INHIBITED && !BAT7_ICACHE_MEMORYCOHERENCE && !BAT7_ICACHE_GUARDED
	default 0x28 if !BAT7_ICACHE_WRITETHROUGH && BAT7_ICACHE_INHIBITED && !BAT7_ICACHE_MEMORYCOHERENCE && BAT7_ICACHE_GUARDED
	default 0x30 if !BAT7_ICACHE_WRITETHROUGH && BAT7_ICACHE_INHIBITED && BAT7_ICACHE_MEMORYCOHERENCE && !BAT7_ICACHE_GUARDED
	default 0x38 if !BAT7_ICACHE_WRITETHROUGH && BAT7_ICACHE_INHIBITED && BAT7_ICACHE_MEMORYCOHERENCE && BAT7_ICACHE_GUARDED
	default 0x40 if BAT7_ICACHE_WRITETHROUGH && !BAT7_ICACHE_INHIBITED && !BAT7_ICACHE_MEMORYCOHERENCE && !BAT7_ICACHE_GUARDED
	default 0x48 if BAT7_ICACHE_WRITETHROUGH && !BAT7_ICACHE_INHIBITED && !BAT7_ICACHE_MEMORYCOHERENCE && BAT7_ICACHE_GUARDED
	default 0x50 if BAT7_ICACHE_WRITETHROUGH && !BAT7_ICACHE_INHIBITED && BAT7_ICACHE_MEMORYCOHERENCE && !BAT7_ICACHE_GUARDED
	default 0x58 if BAT7_ICACHE_WRITETHROUGH && !BAT7_ICACHE_INHIBITED && BAT7_ICACHE_MEMORYCOHERENCE && BAT7_ICACHE_GUARDED
	default 0x60 if BAT7_ICACHE_WRITETHROUGH && BAT7_ICACHE_INHIBITED && !BAT7_ICACHE_MEMORYCOHERENCE && !BAT7_ICACHE_GUARDED
	default 0x68 if BAT7_ICACHE_WRITETHROUGH && BAT7_ICACHE_INHIBITED && !BAT7_ICACHE_MEMORYCOHERENCE && BAT7_ICACHE_GUARDED
	default 0x70 if BAT7_ICACHE_WRITETHROUGH && BAT7_ICACHE_INHIBITED && BAT7_ICACHE_MEMORYCOHERENCE && !BAT7_ICACHE_GUARDED
	default 0x78 if BAT7_ICACHE_WRITETHROUGH && BAT7_ICACHE_INHIBITED && BAT7_ICACHE_MEMORYCOHERENCE && BAT7_ICACHE_GUARDED

config BAT7_WIMG_DCACHE
	hex
	default 0x0 if !BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
	default 0x8 if !BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
	default 0x10 if !BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
	default 0x18 if !BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
	default 0x20 if !BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
	default 0x28 if !BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
	default 0x30 if !BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
	default 0x38 if !BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
	default 0x40 if BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
	default 0x48 if BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
	default 0x50 if BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
	default 0x58 if BAT7_DCACHE_WRITETHROUGH && !BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
	default 0x60 if BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
	default 0x68 if BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && !BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED
	default 0x70 if BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && !BAT7_DCACHE_GUARDED
	default 0x78 if BAT7_DCACHE_WRITETHROUGH && BAT7_DCACHE_INHIBITED && BAT7_DCACHE_MEMORYCOHERENCE && BAT7_DCACHE_GUARDED

config BAT7_VALID_BITS
	hex
	default 0x0 if !BAT7_SUPERVISOR_MODE_VALID && !BAT7_USER_MODE_VALID
	default 0x1 if !BAT7_SUPERVISOR_MODE_VALID && BAT7_USER_MODE_VALID
	default 0x2 if BAT7_SUPERVISOR_MODE_VALID && !BAT7_USER_MODE_VALID
	default 0x3 if BAT7_SUPERVISOR_MODE_VALID && BAT7_USER_MODE_VALID

endif

endmenu
