mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
The reset value for NAND timings is the slowest possible for Flash interface. Implement optionally setting it to a different value inside the NAND device. Set it to appropriate values for Artec Group DBE61 and DBE62. This results in a roughly two times quicker read time as measured by hdparm for these boards. Because we can not cast to southbridge_amd_cs5536_nand_config if the board dts does not have an entry for the NAND device, this change proposes a method for reasonably clean way to only optionally compile in support for certain devices: If a board wants to support an optional device, its Kconfig entry can select that configuration. If it's optional even across the same board, it can expose a subconfig option of the board, that describes it and if chosen selects the device config. The source code for that device is conditionally compiled only if the Kconfig option gets enabled by the configuration for the board. A requirement is that if the board configuration can enable a device, it is contained in the boards dts file as well. A perhaps better long-term alternative for this could be making dtc generate preprocessor definitions for each device_configuration struct that it creates. Then the source code file is always enabled, but that file can be wrapped around a simple #ifdef check in its entirety. Conversion to the alternative approach from the short-term Kconfig approach proposed here should be relatively easy, as to not block inclusion of the Kconfig approach in the short term. Signed-off-by: Mart Raudsepp <mart.raudsepp@artecdesign.ee> Acked-by: Marc Jones <marcj303@gmail.com> git-svn-id: svn://coreboot.org/repository/coreboot-v3@1138 f3766cd6-281f-0410-b1cd-43a5c92072e9
74 lines
1.9 KiB
Text
74 lines
1.9 KiB
Text
##
|
|
## This file is part of the coreboot project.
|
|
##
|
|
## Copyright (C) 2007 coresystems GmbH
|
|
## (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
|
|
##
|
|
## This program is free software; you can redistribute it and/or modify
|
|
## it under the terms of the GNU General Public License as published by
|
|
## the Free Software Foundation; either version 2 of the License, or
|
|
## (at your option) any later version.
|
|
##
|
|
## This program is distributed in the hope that it will be useful,
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
## GNU General Public License for more details.
|
|
##
|
|
## You should have received a copy of the GNU General Public License
|
|
## along with this program; if not, write to the Free Software
|
|
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
##
|
|
|
|
choice
|
|
prompt "Mainboard model"
|
|
depends on VENDOR_ARTECGROUP
|
|
|
|
config BOARD_ARTECGROUP_DBE61
|
|
bool "DBE61"
|
|
select ARCH_X86
|
|
select CPU_AMD_GEODELX
|
|
select NORTHBRIDGE_AMD_GEODELX
|
|
select SOUTHBRIDGE_AMD_CS5536
|
|
select DEVICE_AMD_CS5536_NAND
|
|
select PIRQ_TABLE
|
|
help
|
|
Artec Group DBE61 ThinCan, also known as Linutop 1.
|
|
|
|
config BOARD_ARTECGROUP_DBE62
|
|
bool "DBE62"
|
|
select ARCH_X86
|
|
select CPU_AMD_GEODELX
|
|
select NORTHBRIDGE_AMD_GEODELX
|
|
select SOUTHBRIDGE_AMD_CS5536
|
|
select DEVICE_AMD_CS5536_NAND
|
|
select PIRQ_TABLE
|
|
help
|
|
Artec Group DBE62 ThinCan.
|
|
|
|
config BOARD_ARTECGROUP_DBE63
|
|
bool "DBE63"
|
|
select ARCH_X86
|
|
select CPU_AMD_GEODELX
|
|
select NORTHBRIDGE_AMD_GEODELX
|
|
select SOUTHBRIDGE_AMD_CS5536
|
|
select PIRQ_TABLE
|
|
depends EXPERIMENTAL
|
|
help
|
|
Artec Group DBE63 ThinCan.
|
|
|
|
endchoice
|
|
|
|
config MAINBOARD_DIR
|
|
string
|
|
default artecgroup/dbe61
|
|
depends BOARD_ARTECGROUP_DBE61
|
|
|
|
config MAINBOARD_DIR
|
|
string
|
|
default artecgroup/dbe62
|
|
depends BOARD_ARTECGROUP_DBE62
|
|
|
|
config MAINBOARD_DIR
|
|
string
|
|
default artecgroup/dbe63
|
|
depends BOARD_ARTECGROUP_DBE63
|