menuconfig ELBC_BR4_OR4 bool "ELBC BR4/OR4" if ELBC_BR4_OR4 config BR4_OR4_NAME string "Identifier" config BR4_OR4_BASE hex "Port base" choice prompt "Port size" config BR4_PORTSIZE_8BIT bool "8-bit" config BR4_PORTSIZE_16BIT depends on !BR4_MACHINE_FCM bool "16-bit" config BR4_PORTSIZE_32BIT depends on !BR4_MACHINE_FCM depends on ARCH_MPC8349 || ARCH_MPC8360 || ARCH_MPC8379 bool "32-bit" endchoice if BR4_MACHINE_FCM choice prompt "Data Error Checking" config BR4_ERRORCHECKING_DISABLED bool "Disabled" config BR4_ERRORCHECKING_ECC_CHECKING bool "ECC checking / No ECC generation" config BR4_ERRORCHECKING_BOTH bool "ECC checking and generation" endchoice endif config BR4_WRITE_PROTECT bool "Write-protect" config BR4_MACHINE_UPM bool choice prompt "Machine select" config BR4_MACHINE_GPCM bool "GPCM" config BR4_MACHINE_FCM depends on !ARCH_MPC832X && !ARCH_MPC8349 && !ARCH_MPC8360 bool "FCM" config BR4_MACHINE_SDRAM depends on ARCH_MPC8349 || ARCH_MPC8360 bool "SDRAM" config BR4_MACHINE_UPMA select BR4_MACHINE_UPM bool "UPM (A)" config BR4_MACHINE_UPMB select BR4_MACHINE_UPM bool "UPM (B)" config BR4_MACHINE_UPMC select BR4_MACHINE_UPM bool "UPM (C)" endchoice if ARCH_MPC8313 || ARCH_MPC8323 || ARCH_MPC8360 choice prompt "Atomic operations" config BR4_ATOMIC_NONE bool "No atomic operations" config BR4_ATOMIC_RAWA bool "Read-after-write-atomic" config BR4_ATOMIC_WARA bool "Write-after-read-atomic" endchoice endif if BR4_MACHINE_GPCM || BR4_MACHINE_FCM || BR4_MACHINE_UPM || BR4_MACHINE_SDRAM choice prompt "Address mask" config OR4_AM_32_KBYTES depends on !BR4_MACHINE_SDRAM bool "32 kb" config OR4_AM_64_KBYTES bool "64 kb" config OR4_AM_128_KBYTES bool "128 kb" config OR4_AM_256_KBYTES bool "256 kb" config OR4_AM_512_KBYTES bool "512 kb" config OR4_AM_1_MBYTES bool "1 mb" config OR4_AM_2_MBYTES bool "2 mb" config OR4_AM_4_MBYTES bool "4 mb" config OR4_AM_8_MBYTES bool "8 mb" config OR4_AM_16_MBYTES bool "16 mb" config OR4_AM_32_MBYTES bool "32 mb" config OR4_AM_64_MBYTES bool "64 mb" # XXX: Some boards define 128MB AM with GPCM, even though it should not be # possible according to the manuals config OR4_AM_128_MBYTES bool "128 mb" # XXX: Some boards define 256MB AM with GPCM, even though it should not be # possible according to the manuals config OR4_AM_256_MBYTES bool "256 mb" config OR4_AM_512_MBYTES depends on BR4_MACHINE_FCM bool "512 mb" # XXX: Some boards define 1GB AM with GPCM, even though it should not be # possible according to the manuals config OR4_AM_1_GBYTES bool "1 gb" config OR4_AM_2_GBYTES depends on BR4_MACHINE_FCM bool "2 gb" config OR4_AM_4_GBYTES depends on BR4_MACHINE_FCM bool "4 gb" endchoice config OR4_XAM_SET bool "Set unused bytes after address mask" choice prompt "Buffer control disable" config OR4_BCTLD_ASSERTED bool "Asserted" config OR4_BCTLD_NOT_ASSERTED bool "Not asserted" endchoice endif if BR4_MACHINE_GPCM || BR4_MACHINE_FCM choice prompt "Cycle length in bus clocks" config OR4_SCY_0 bool "No wait states" config OR4_SCY_1 bool "1 wait state" config OR4_SCY_2 bool "2 wait states" config OR4_SCY_3 bool "3 wait states" config OR4_SCY_4 bool "4 wait states" config OR4_SCY_5 bool "5 wait states" config OR4_SCY_6 bool "6 wait states" config OR4_SCY_7 bool "7 wait states" config OR4_SCY_8 depends on BR4_MACHINE_GPCM bool "8 wait states" config OR4_SCY_9 depends on BR4_MACHINE_GPCM bool "9 wait states" config OR4_SCY_10 depends on BR4_MACHINE_GPCM bool "10 wait states" config OR4_SCY_11 depends on BR4_MACHINE_GPCM bool "11 wait states" config OR4_SCY_12 depends on BR4_MACHINE_GPCM bool "12 wait states" config OR4_SCY_13 depends on BR4_MACHINE_GPCM bool "13 wait states" config OR4_SCY_14 depends on BR4_MACHINE_GPCM bool "14 wait states" config OR4_SCY_15 depends on BR4_MACHINE_GPCM bool "15 wait states" endchoice endif # BR4_MACHINE_GPCM || BR4_MACHINE_FCM if BR4_MACHINE_GPCM choice prompt "Chip select negotiation time" config OR4_CSNT_NORMAL bool "Normal" config OR4_CSNT_EARLIER bool "Earlier" endchoice choice prompt "Address to chip-select setup" config OR4_ACS_SAME_TIME bool "At the same time" config OR4_ACS_HALF_CYCLE_EARLIER bool "Half of a bus clock cycle earlier" config OR4_ACS_QUARTER_CYCLE_EARLIER bool "Half/Quarter of a bus clock cycle earlier" endchoice choice prompt "Extra address to check-select setup" config OR4_XACS_NORMAL bool "Normal" config OR4_XACS_EXTENDED bool "Extended" endchoice choice prompt "External address termination" config OR4_SETA_INTERNAL bool "Access is terminated internally" config OR4_SETA_EXTERNAL bool "Access is terminated externally" endchoice endif # BR4_MACHINE_GPCM if BR4_MACHINE_FCM choice prompt "NAND Flash EEPROM page size" config OR4_PGS_SMALL bool "Small page device" config OR4_PGS_LARGE bool "Large page device" endchoice choice prompt "Chip select to command time" config OR4_CSCT_1_CYCLE depends on OR4_TRLX_NORMAL bool "1 cycle" config OR4_CSCT_2_CYCLE depends on OR4_TRLX_RELAXED bool "2 cycles" config OR4_CSCT_4_CYCLE depends on OR4_TRLX_NORMAL bool "4 cycles" config OR4_CSCT_8_CYCLE depends on OR4_TRLX_RELAXED bool "8 cycles" endchoice choice prompt "Command setup time" config OR4_CST_COINCIDENT depends on OR4_TRLX_NORMAL bool "Coincident with any command" config OR4_CST_QUARTER_CLOCK depends on OR4_TRLX_NORMAL bool "0.25 clocks after" config OR4_CST_HALF_CLOCK depends on OR4_TRLX_RELAXED bool "0.5 clocks after" config OR4_CST_ONE_CLOCK depends on OR4_TRLX_RELAXED bool "1 clock after" endchoice choice prompt "Command hold time" config OR4_CHT_HALF_CLOCK depends on OR4_TRLX_NORMAL bool "0.5 clocks before" config OR4_CHT_ONE_CLOCK depends on OR4_TRLX_NORMAL bool "1 clock before" config OR4_CHT_ONE_HALF_CLOCK depends on OR4_TRLX_RELAXED bool "1.5 clocks before" config OR4_CHT_TWO_CLOCK depends on OR4_TRLX_RELAXED bool "2 clocks before" endchoice choice prompt "Reset setup time" config OR4_RST_THREE_QUARTER_CLOCK depends on OR4_TRLX_NORMAL bool "0.75 clocks prior" config OR4_RST_ONE_HALF_CLOCK depends on OR4_TRLX_RELAXED bool "0.5 clocks prior" config OR4_RST_ONE_CLOCK bool "1 clock prior" endchoice endif # BR4_MACHINE_FCM if BR4_MACHINE_UPM choice prompt "Burst inhibit" config OR4_BI_BURSTSUPPORT bool "Support burst access" config OR4_BI_BURSTINHIBIT bool "Inhibit burst access" endchoice endif # BR4_MACHINE_UPM if BR4_MACHINE_SDRAM choice prompt "Number of column address lines" config OR4_COLS_7 bool "7" config OR4_COLS_8 bool "8" config OR4_COLS_9 bool "9" config OR4_COLS_10 bool "10" config OR4_COLS_11 bool "11" config OR4_COLS_12 bool "12" config OR4_COLS_13 bool "13" config OR4_COLS_14 bool "14" endchoice choice prompt "Number of rows address lines" config OR4_ROWS_9 bool "9" config OR4_ROWS_10 bool "10" config OR4_ROWS_11 bool "11" config OR4_ROWS_12 bool "12" config OR4_ROWS_13 bool "13" config OR4_ROWS_14 bool "14" config OR4_ROWS_15 bool "15" endchoice choice prompt "Page mode select" config OR4_PMSEL_BTB bool "Back-to-back" config OR4_PMSEL_KEPT_OPEN bool "Page kept open until page miss or refresh" endchoice endif # BR4_MACHINE_SDRAM choice prompt "Relaxed timing" config OR4_TRLX_NORMAL bool "Normal" config OR4_TRLX_RELAXED bool "Relaxed" endchoice choice prompt "Extended hold time" config OR4_EHTR_NORMAL depends on OR4_TRLX_NORMAL bool "Normal" config OR4_EHTR_1_CYCLE depends on OR4_TRLX_NORMAL bool "1 idle clock cycle inserted" config OR4_EHTR_4_CYCLE depends on OR4_TRLX_RELAXED bool "4 idle clock cycles inserted" config OR4_EHTR_8_CYCLE depends on OR4_TRLX_RELAXED bool "8 idle clock cycles inserted" endchoice if !ARCH_MPC8308 choice prompt "External address latch delay" config OR4_EAD_NONE bool "None" config OR4_EAD_EXTRA bool "Extra" endchoice endif # !ARCH_MPC8308 endif # ELBC_BR4_OR4 config BR4_PORTSIZE hex default 0x800 if BR4_PORTSIZE_8BIT default 0x1000 if BR4_PORTSIZE_16BIT default 0x1800 if BR4_PORTSIZE_32BIT config BR4_ERRORCHECKING hex default 0x0 if !BR4_MACHINE_FCM default 0x0 if BR4_ERRORCHECKING_DISABLED default 0x200 if BR4_ERRORCHECKING_ECC_CHECKING default 0x400 if BR4_ERRORCHECKING_BOTH config BR4_WRITE_PROTECT_BIT hex default 0x0 if !BR4_WRITE_PROTECT default 0x100 if BR4_WRITE_PROTECT config BR4_MACHINE hex default 0x0 if BR4_MACHINE_GPCM default 0x20 if BR4_MACHINE_FCM default 0x60 if BR4_MACHINE_SDRAM default 0x80 if BR4_MACHINE_UPMA default 0xa0 if BR4_MACHINE_UPMB default 0xc0 if BR4_MACHINE_UPMC config BR4_ATOMIC hex default 0x0 if !ARCH_MPC8313 && !ARCH_MPC8323 && !ARCH_MPC8360 default 0x0 if BR4_ATOMIC_NONE default 0x4 if BR4_ATOMIC_RAWA default 0x8 if BR4_ATOMIC_WARA config BR4_VALID_BIT hex default 0x0 if !ELBC_BR4_OR4 default 0x1 if ELBC_BR4_OR4 config OR4_AM hex default 0xffff8000 if OR4_AM_32_KBYTES && !BR4_MACHINE_SDRAM default 0xffff0000 if OR4_AM_64_KBYTES default 0xfffe0000 if OR4_AM_128_KBYTES default 0xfffc0000 if OR4_AM_256_KBYTES default 0xfff80000 if OR4_AM_512_KBYTES default 0xfff00000 if OR4_AM_1_MBYTES default 0xffe00000 if OR4_AM_2_MBYTES default 0xffc00000 if OR4_AM_4_MBYTES default 0xff800000 if OR4_AM_8_MBYTES default 0xff000000 if OR4_AM_16_MBYTES default 0xfe000000 if OR4_AM_32_MBYTES default 0xfc000000 if OR4_AM_64_MBYTES default 0xf8000000 if OR4_AM_128_MBYTES default 0xf0000000 if OR4_AM_256_MBYTES default 0xe0000000 if OR4_AM_512_MBYTES default 0xc0000000 if OR4_AM_1_GBYTES default 0x80000000 if OR4_AM_2_GBYTES default 0x00000000 if OR4_AM_4_GBYTES config OR4_XAM hex default 0x0 if !OR4_XAM_SET default 0x6000 if OR4_XAM_SET config OR4_BCTLD hex default 0x0 if OR4_BCTLD_ASSERTED default 0x1000 if OR4_BCTLD_NOT_ASSERTED config OR4_BI hex default 0x0 if !BR4_MACHINE_UPM default 0x0 if OR4_BI_BURSTSUPPORT default 0x100 if OR4_BI_BURSTINHIBIT config OR4_COLS hex default 0x0 if !BR4_MACHINE_SDRAM default 0x0 if OR4_COLS_7 default 0x400 if OR4_COLS_8 default 0x800 if OR4_COLS_9 default 0xc00 if OR4_COLS_10 default 0x1000 if OR4_COLS_11 default 0x1400 if OR4_COLS_12 default 0x1800 if OR4_COLS_13 default 0x1c00 if OR4_COLS_14 config OR4_ROWS hex default 0x0 if !BR4_MACHINE_SDRAM default 0x0 if OR4_ROWS_9 default 0x40 if OR4_ROWS_10 default 0x80 if OR4_ROWS_11 default 0xc0 if OR4_ROWS_12 default 0x100 if OR4_ROWS_13 default 0x140 if OR4_ROWS_14 default 0x180 if OR4_ROWS_15 config OR4_PMSEL hex default 0x0 if !BR4_MACHINE_SDRAM default 0x0 if OR4_PMSEL_BTB default 0x20 if OR4_PMSEL_KEPT_OPEN config OR4_SCY hex default 0x0 if !BR4_MACHINE_GPCM && !BR4_MACHINE_FCM default 0x0 if OR4_SCY_0 default 0x10 if OR4_SCY_1 default 0x20 if OR4_SCY_2 default 0x30 if OR4_SCY_3 default 0x40 if OR4_SCY_4 default 0x50 if OR4_SCY_5 default 0x60 if OR4_SCY_6 default 0x70 if OR4_SCY_7 default 0x80 if OR4_SCY_8 default 0x90 if OR4_SCY_9 default 0xa0 if OR4_SCY_10 default 0xb0 if OR4_SCY_11 default 0xc0 if OR4_SCY_12 default 0xd0 if OR4_SCY_13 default 0xe0 if OR4_SCY_14 default 0xf0 if OR4_SCY_15 config OR4_PGS hex default 0x0 if !BR4_MACHINE_FCM default 0x0 if OR4_PGS_SMALL default 0x400 if OR4_PGS_LARGE config OR4_CSCT hex default 0x0 if !BR4_MACHINE_FCM default 0x0 if OR4_CSCT_1_CYCLE default 0x0 if OR4_CSCT_2_CYCLE default 0x200 if OR4_CSCT_4_CYCLE default 0x200 if OR4_CSCT_8_CYCLE config OR4_CST hex default 0x0 if !BR4_MACHINE_FCM default 0x0 if OR4_CST_COINCIDENT default 0x100 if OR4_CST_QUARTER_CLOCK default 0x0 if OR4_CST_HALF_CLOCK default 0x100 if OR4_CST_ONE_CLOCK config OR4_CHT hex default 0x0 if !BR4_MACHINE_FCM default 0x0 if OR4_CHT_HALF_CLOCK default 0x80 if OR4_CHT_ONE_CLOCK default 0x0 if OR4_CHT_ONE_HALF_CLOCK default 0x80 if OR4_CHT_TWO_CLOCK config OR4_RST hex default 0x0 if !BR4_MACHINE_FCM default 0x0 if OR4_RST_THREE_QUARTER_CLOCK default 0x8 if OR4_RST_ONE_CLOCK default 0x0 if OR4_RST_ONE_HALF_CLOCK config OR4_CSNT hex default 0x0 if !BR4_MACHINE_GPCM default 0x0 if OR4_CSNT_NORMAL default 0x800 if OR4_CSNT_EARLIER config OR4_ACS hex default 0x0 if !BR4_MACHINE_GPCM default 0x0 if OR4_ACS_SAME_TIME default 0x400 if OR4_ACS_QUARTER_CYCLE_EARLIER default 0x600 if OR4_ACS_HALF_CYCLE_EARLIER config OR4_XACS hex default 0x0 if !BR4_MACHINE_GPCM default 0x0 if OR4_XACS_NORMAL default 0x100 if OR4_XACS_EXTENDED config OR4_SETA hex default 0x0 if !BR4_MACHINE_GPCM default 0x0 if OR4_SETA_INTERNAL default 0x8 if OR4_SETA_EXTERNAL config OR4_TRLX hex default 0x0 if OR4_TRLX_NORMAL default 0x4 if OR4_TRLX_RELAXED config OR4_EHTR hex default 0x0 if OR4_EHTR_NORMAL default 0x2 if OR4_EHTR_1_CYCLE default 0x0 if OR4_EHTR_4_CYCLE default 0x2 if OR4_EHTR_8_CYCLE config OR4_EAD hex default 0x0 if ARCH_MPC8308 default 0x0 if OR4_EAD_NONE default 0x1 if OR4_EAD_EXTRA