menuconfig ELBC_BR2_OR2 bool "ELBC BR2/OR2" if ELBC_BR2_OR2 config BR2_OR2_NAME string "Identifier" config BR2_OR2_BASE hex "Port base" choice prompt "Port size" config BR2_PORTSIZE_8BIT bool "8-bit" config BR2_PORTSIZE_16BIT depends on !BR2_MACHINE_FCM bool "16-bit" config BR2_PORTSIZE_32BIT depends on !BR2_MACHINE_FCM depends on ARCH_MPC8349 || ARCH_MPC8360 || ARCH_MPC8379 bool "32-bit" endchoice if BR2_MACHINE_FCM choice prompt "Data Error Checking" config BR2_ERRORCHECKING_DISABLED bool "Disabled" config BR2_ERRORCHECKING_ECC_CHECKING bool "ECC checking / No ECC generation" config BR2_ERRORCHECKING_BOTH bool "ECC checking and generation" endchoice endif config BR2_WRITE_PROTECT bool "Write-protect" config BR2_MACHINE_UPM bool choice prompt "Machine select" config BR2_MACHINE_GPCM bool "GPCM" config BR2_MACHINE_FCM depends on !ARCH_MPC832X && !ARCH_MPC8349 && !ARCH_MPC8360 bool "FCM" config BR2_MACHINE_SDRAM depends on ARCH_MPC8349 || ARCH_MPC8360 bool "SDRAM" config BR2_MACHINE_UPMA select BR2_MACHINE_UPM bool "UPM (A)" config BR2_MACHINE_UPMB select BR2_MACHINE_UPM bool "UPM (B)" config BR2_MACHINE_UPMC select BR2_MACHINE_UPM bool "UPM (C)" endchoice if ARCH_MPC8313 || ARCH_MPC8323 || ARCH_MPC8360 choice prompt "Atomic operations" config BR2_ATOMIC_NONE bool "No atomic operations" config BR2_ATOMIC_RAWA bool "Read-after-write-atomic" config BR2_ATOMIC_WARA bool "Write-after-read-atomic" endchoice endif if BR2_MACHINE_GPCM || BR2_MACHINE_FCM || BR2_MACHINE_UPM || BR2_MACHINE_SDRAM choice prompt "Address mask" config OR2_AM_32_KBYTES depends on !BR2_MACHINE_SDRAM bool "32 kb" config OR2_AM_64_KBYTES bool "64 kb" config OR2_AM_128_KBYTES bool "128 kb" config OR2_AM_256_KBYTES bool "256 kb" config OR2_AM_512_KBYTES bool "512 kb" config OR2_AM_1_MBYTES bool "1 mb" config OR2_AM_2_MBYTES bool "2 mb" config OR2_AM_4_MBYTES bool "4 mb" config OR2_AM_8_MBYTES bool "8 mb" config OR2_AM_16_MBYTES bool "16 mb" config OR2_AM_32_MBYTES bool "32 mb" config OR2_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 OR2_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 OR2_AM_256_MBYTES bool "256 mb" config OR2_AM_512_MBYTES depends on BR2_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 OR2_AM_1_GBYTES bool "1 gb" config OR2_AM_2_GBYTES depends on BR2_MACHINE_FCM bool "2 gb" config OR2_AM_4_GBYTES depends on BR2_MACHINE_FCM bool "4 gb" endchoice config OR2_XAM_SET bool "Set unused bytes after address mask" choice prompt "Buffer control disable" config OR2_BCTLD_ASSERTED bool "Asserted" config OR2_BCTLD_NOT_ASSERTED bool "Not asserted" endchoice endif if BR2_MACHINE_GPCM || BR2_MACHINE_FCM choice prompt "Cycle length in bus clocks" config OR2_SCY_0 bool "No wait states" config OR2_SCY_1 bool "1 wait state" config OR2_SCY_2 bool "2 wait states" config OR2_SCY_3 bool "3 wait states" config OR2_SCY_4 bool "4 wait states" config OR2_SCY_5 bool "5 wait states" config OR2_SCY_6 bool "6 wait states" config OR2_SCY_7 bool "7 wait states" config OR2_SCY_8 depends on BR2_MACHINE_GPCM bool "8 wait states" config OR2_SCY_9 depends on BR2_MACHINE_GPCM bool "9 wait states" config OR2_SCY_10 depends on BR2_MACHINE_GPCM bool "10 wait states" config OR2_SCY_11 depends on BR2_MACHINE_GPCM bool "11 wait states" config OR2_SCY_12 depends on BR2_MACHINE_GPCM bool "12 wait states" config OR2_SCY_13 depends on BR2_MACHINE_GPCM bool "13 wait states" config OR2_SCY_14 depends on BR2_MACHINE_GPCM bool "14 wait states" config OR2_SCY_15 depends on BR2_MACHINE_GPCM bool "15 wait states" endchoice endif # BR2_MACHINE_GPCM || BR2_MACHINE_FCM if BR2_MACHINE_GPCM choice prompt "Chip select negotiation time" config OR2_CSNT_NORMAL bool "Normal" config OR2_CSNT_EARLIER bool "Earlier" endchoice choice prompt "Address to chip-select setup" config OR2_ACS_SAME_TIME bool "At the same time" config OR2_ACS_HALF_CYCLE_EARLIER bool "Half of a bus clock cycle earlier" config OR2_ACS_QUARTER_CYCLE_EARLIER bool "Half/Quarter of a bus clock cycle earlier" endchoice choice prompt "Extra address to check-select setup" config OR2_XACS_NORMAL bool "Normal" config OR2_XACS_EXTENDED bool "Extended" endchoice choice prompt "External address termination" config OR2_SETA_INTERNAL bool "Access is terminated internally" config OR2_SETA_EXTERNAL bool "Access is terminated externally" endchoice endif # BR2_MACHINE_GPCM if BR2_MACHINE_FCM choice prompt "NAND Flash EEPROM page size" config OR2_PGS_SMALL bool "Small page device" config OR2_PGS_LARGE bool "Large page device" endchoice choice prompt "Chip select to command time" config OR2_CSCT_1_CYCLE depends on OR2_TRLX_NORMAL bool "1 cycle" config OR2_CSCT_2_CYCLE depends on OR2_TRLX_RELAXED bool "2 cycles" config OR2_CSCT_4_CYCLE depends on OR2_TRLX_NORMAL bool "4 cycles" config OR2_CSCT_8_CYCLE depends on OR2_TRLX_RELAXED bool "8 cycles" endchoice choice prompt "Command setup time" config OR2_CST_COINCIDENT depends on OR2_TRLX_NORMAL bool "Coincident with any command" config OR2_CST_QUARTER_CLOCK depends on OR2_TRLX_NORMAL bool "0.25 clocks after" config OR2_CST_HALF_CLOCK depends on OR2_TRLX_RELAXED bool "0.5 clocks after" config OR2_CST_ONE_CLOCK depends on OR2_TRLX_RELAXED bool "1 clock after" endchoice choice prompt "Command hold time" config OR2_CHT_HALF_CLOCK depends on OR2_TRLX_NORMAL bool "0.5 clocks before" config OR2_CHT_ONE_CLOCK depends on OR2_TRLX_NORMAL bool "1 clock before" config OR2_CHT_ONE_HALF_CLOCK depends on OR2_TRLX_RELAXED bool "1.5 clocks before" config OR2_CHT_TWO_CLOCK depends on OR2_TRLX_RELAXED bool "2 clocks before" endchoice choice prompt "Reset setup time" config OR2_RST_THREE_QUARTER_CLOCK depends on OR2_TRLX_NORMAL bool "0.75 clocks prior" config OR2_RST_ONE_HALF_CLOCK depends on OR2_TRLX_RELAXED bool "0.5 clocks prior" config OR2_RST_ONE_CLOCK bool "1 clock prior" endchoice endif # BR2_MACHINE_FCM if BR2_MACHINE_UPM choice prompt "Burst inhibit" config OR2_BI_BURSTSUPPORT bool "Support burst access" config OR2_BI_BURSTINHIBIT bool "Inhibit burst access" endchoice endif # BR2_MACHINE_UPM if BR2_MACHINE_SDRAM choice prompt "Number of column address lines" config OR2_COLS_7 bool "7" config OR2_COLS_8 bool "8" config OR2_COLS_9 bool "9" config OR2_COLS_10 bool "10" config OR2_COLS_11 bool "11" config OR2_COLS_12 bool "12" config OR2_COLS_13 bool "13" config OR2_COLS_14 bool "14" endchoice choice prompt "Number of rows address lines" config OR2_ROWS_9 bool "9" config OR2_ROWS_10 bool "10" config OR2_ROWS_11 bool "11" config OR2_ROWS_12 bool "12" config OR2_ROWS_13 bool "13" config OR2_ROWS_14 bool "14" config OR2_ROWS_15 bool "15" endchoice choice prompt "Page mode select" config OR2_PMSEL_BTB bool "Back-to-back" config OR2_PMSEL_KEPT_OPEN bool "Page kept open until page miss or refresh" endchoice endif # BR2_MACHINE_SDRAM choice prompt "Relaxed timing" config OR2_TRLX_NORMAL bool "Normal" config OR2_TRLX_RELAXED bool "Relaxed" endchoice choice prompt "Extended hold time" config OR2_EHTR_NORMAL depends on OR2_TRLX_NORMAL bool "Normal" config OR2_EHTR_1_CYCLE depends on OR2_TRLX_NORMAL bool "1 idle clock cycle inserted" config OR2_EHTR_4_CYCLE depends on OR2_TRLX_RELAXED bool "4 idle clock cycles inserted" config OR2_EHTR_8_CYCLE depends on OR2_TRLX_RELAXED bool "8 idle clock cycles inserted" endchoice if !ARCH_MPC8308 choice prompt "External address latch delay" config OR2_EAD_NONE bool "None" config OR2_EAD_EXTRA bool "Extra" endchoice endif # !ARCH_MPC8308 endif # ELBC_BR2_OR2 config BR2_PORTSIZE hex default 0x800 if BR2_PORTSIZE_8BIT default 0x1000 if BR2_PORTSIZE_16BIT default 0x1800 if BR2_PORTSIZE_32BIT config BR2_ERRORCHECKING hex default 0x0 if !BR2_MACHINE_FCM default 0x0 if BR2_ERRORCHECKING_DISABLED default 0x200 if BR2_ERRORCHECKING_ECC_CHECKING default 0x400 if BR2_ERRORCHECKING_BOTH config BR2_WRITE_PROTECT_BIT hex default 0x0 if !BR2_WRITE_PROTECT default 0x100 if BR2_WRITE_PROTECT config BR2_MACHINE hex default 0x0 if BR2_MACHINE_GPCM default 0x20 if BR2_MACHINE_FCM default 0x60 if BR2_MACHINE_SDRAM default 0x80 if BR2_MACHINE_UPMA default 0xa0 if BR2_MACHINE_UPMB default 0xc0 if BR2_MACHINE_UPMC config BR2_ATOMIC hex default 0x0 if !ARCH_MPC8313 && !ARCH_MPC8323 && !ARCH_MPC8360 default 0x0 if BR2_ATOMIC_NONE default 0x4 if BR2_ATOMIC_RAWA default 0x8 if BR2_ATOMIC_WARA config BR2_VALID_BIT hex default 0x0 if !ELBC_BR2_OR2 default 0x1 if ELBC_BR2_OR2 config OR2_AM hex default 0xffff8000 if OR2_AM_32_KBYTES && !BR2_MACHINE_SDRAM default 0xffff0000 if OR2_AM_64_KBYTES default 0xfffe0000 if OR2_AM_128_KBYTES default 0xfffc0000 if OR2_AM_256_KBYTES default 0xfff80000 if OR2_AM_512_KBYTES default 0xfff00000 if OR2_AM_1_MBYTES default 0xffe00000 if OR2_AM_2_MBYTES default 0xffc00000 if OR2_AM_4_MBYTES default 0xff800000 if OR2_AM_8_MBYTES default 0xff000000 if OR2_AM_16_MBYTES default 0xfe000000 if OR2_AM_32_MBYTES default 0xfc000000 if OR2_AM_64_MBYTES default 0xf8000000 if OR2_AM_128_MBYTES default 0xf0000000 if OR2_AM_256_MBYTES default 0xe0000000 if OR2_AM_512_MBYTES default 0xc0000000 if OR2_AM_1_GBYTES default 0x80000000 if OR2_AM_2_GBYTES default 0x00000000 if OR2_AM_4_GBYTES config OR2_XAM hex default 0x0 if !OR2_XAM_SET default 0x6000 if OR2_XAM_SET config OR2_BCTLD hex default 0x0 if OR2_BCTLD_ASSERTED default 0x1000 if OR2_BCTLD_NOT_ASSERTED config OR2_BI hex default 0x0 if !BR2_MACHINE_UPM default 0x0 if OR2_BI_BURSTSUPPORT default 0x100 if OR2_BI_BURSTINHIBIT config OR2_COLS hex default 0x0 if !BR2_MACHINE_SDRAM default 0x0 if OR2_COLS_7 default 0x400 if OR2_COLS_8 default 0x800 if OR2_COLS_9 default 0xc00 if OR2_COLS_10 default 0x1000 if OR2_COLS_11 default 0x1400 if OR2_COLS_12 default 0x1800 if OR2_COLS_13 default 0x1c00 if OR2_COLS_14 config OR2_ROWS hex default 0x0 if !BR2_MACHINE_SDRAM default 0x0 if OR2_ROWS_9 default 0x40 if OR2_ROWS_10 default 0x80 if OR2_ROWS_11 default 0xc0 if OR2_ROWS_12 default 0x100 if OR2_ROWS_13 default 0x140 if OR2_ROWS_14 default 0x180 if OR2_ROWS_15 config OR2_PMSEL hex default 0x0 if !BR2_MACHINE_SDRAM default 0x0 if OR2_PMSEL_BTB default 0x20 if OR2_PMSEL_KEPT_OPEN config OR2_SCY hex default 0x0 if !BR2_MACHINE_GPCM && !BR2_MACHINE_FCM default 0x0 if OR2_SCY_0 default 0x10 if OR2_SCY_1 default 0x20 if OR2_SCY_2 default 0x30 if OR2_SCY_3 default 0x40 if OR2_SCY_4 default 0x50 if OR2_SCY_5 default 0x60 if OR2_SCY_6 default 0x70 if OR2_SCY_7 default 0x80 if OR2_SCY_8 default 0x90 if OR2_SCY_9 default 0xa0 if OR2_SCY_10 default 0xb0 if OR2_SCY_11 default 0xc0 if OR2_SCY_12 default 0xd0 if OR2_SCY_13 default 0xe0 if OR2_SCY_14 default 0xf0 if OR2_SCY_15 config OR2_PGS hex default 0x0 if !BR2_MACHINE_FCM default 0x0 if OR2_PGS_SMALL default 0x400 if OR2_PGS_LARGE config OR2_CSCT hex default 0x0 if !BR2_MACHINE_FCM default 0x0 if OR2_CSCT_1_CYCLE default 0x0 if OR2_CSCT_2_CYCLE default 0x200 if OR2_CSCT_4_CYCLE default 0x200 if OR2_CSCT_8_CYCLE config OR2_CST hex default 0x0 if !BR2_MACHINE_FCM default 0x0 if OR2_CST_COINCIDENT default 0x100 if OR2_CST_QUARTER_CLOCK default 0x0 if OR2_CST_HALF_CLOCK default 0x100 if OR2_CST_ONE_CLOCK config OR2_CHT hex default 0x0 if !BR2_MACHINE_FCM default 0x0 if OR2_CHT_HALF_CLOCK default 0x80 if OR2_CHT_ONE_CLOCK default 0x0 if OR2_CHT_ONE_HALF_CLOCK default 0x80 if OR2_CHT_TWO_CLOCK config OR2_RST hex default 0x0 if !BR2_MACHINE_FCM default 0x0 if OR2_RST_THREE_QUARTER_CLOCK default 0x8 if OR2_RST_ONE_CLOCK default 0x0 if OR2_RST_ONE_HALF_CLOCK config OR2_CSNT hex default 0x0 if !BR2_MACHINE_GPCM default 0x0 if OR2_CSNT_NORMAL default 0x800 if OR2_CSNT_EARLIER config OR2_ACS hex default 0x0 if !BR2_MACHINE_GPCM default 0x0 if OR2_ACS_SAME_TIME default 0x400 if OR2_ACS_QUARTER_CYCLE_EARLIER default 0x600 if OR2_ACS_HALF_CYCLE_EARLIER config OR2_XACS hex default 0x0 if !BR2_MACHINE_GPCM default 0x0 if OR2_XACS_NORMAL default 0x100 if OR2_XACS_EXTENDED config OR2_SETA hex default 0x0 if !BR2_MACHINE_GPCM default 0x0 if OR2_SETA_INTERNAL default 0x8 if OR2_SETA_EXTERNAL config OR2_TRLX hex default 0x0 if OR2_TRLX_NORMAL default 0x4 if OR2_TRLX_RELAXED config OR2_EHTR hex default 0x0 if OR2_EHTR_NORMAL default 0x2 if OR2_EHTR_1_CYCLE default 0x0 if OR2_EHTR_4_CYCLE default 0x2 if OR2_EHTR_8_CYCLE config OR2_EAD hex default 0x0 if ARCH_MPC8308 default 0x0 if OR2_EAD_NONE default 0x1 if OR2_EAD_EXTRA