freebsd-skq/usr.sbin/nandsim/sample.conf

175 lines
5.1 KiB
Plaintext
Raw Normal View History

#-
# Copyright (C) 2009-2012 Semihalf
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# $FreeBSD$
#
# Sample NANDsim configuration file.
#
#############################################################################
#
# [sim] General (common) simulator configuration section.
#
[sim]
# log_level=0..255
log_level=11
# log_output=[none, console, ram, file]
#
# When log_output=file is specified, each [ctrl] section must have a
# corresponding 'log_filename' field provided, which specifies log file name
# to be used.
log_output=none
#############################################################################
#
# [ctrl] Controller configuration section.
#
# There can be a number of controllers defined for simulation, each has a
# dedicated [ctrl] section. With a given controller there are associated
# subordinate NAND chips, which are tied to chip select lines.
#
[ctrl]
# The number of this controller.
# ctrl_num=0..3
ctrl_num=0
# The number of chip selects available at this controller.
# num_cs=1..4
num_cs=1
# ECC enable flag.
# ecc=[on|off]
ecc=on
# ECC layout. This is the list of byte offsets within OOB area, which comprise
# the ECC contents set.
#
# ecc_layout=[byte1, byte2-byte3, ..byten]
ecc_layout=[0-53]
# Absolute path to the log file for this controller.
#log_filename=/var/log/nandsim-ctl0.log
#############################################################################
#
# [chip] Chip configuration section.
#
# There can be a number of individual NAND chip devices defined for
# simulation, and each has a dedicated [chip] section.
#
# A particular chip needs to be associated with its parent NAND controller by
# specifying the following fields: controller number (chip_ctrl) and the chip
# select line it is connected to (chip_cs). The chip can be connected to only
# a single (and unique) controller:cs pair.
#
[chip]
# The number of parent controller. This has to fit one of the controller
# instance number (ctrl_num from [ctrl] section).
# chip_ctrl=0..3
chip_ctrl=0
# Chip select line.
# chip_cs=0..3
chip_cs=0
# ONFI device identifier.
# device_id=0x00..0xff
device_id=0xd3
# ONFI manufacturer identifier.
# manufacturer_id=0x00..0xff
manufacturer_id=0xec
# Textual description of the chip.
# model="model_name"
model="k9xxg08uxM:1GiB 3,3V 8-bit"
# Textual name of the chip manufacturer.
# manufacturer="manufacturer name"
manufacturer="SAMSUNG"
# page_size=[must be power of 2 and >= 512] (in bytes)
page_size=2048
# oob_size=[>0]
oob_size=64
# pages_per_block=n*32
pages_per_block=64
# blocks_per_lun=[>0]
blocks_per_lun=4096
# luns=1..N
luns=1
# column_addr_cycle=[1,2]
column_addr_cycle=2
# row_addr_cycle=[1,2,3]
row_addr_cycle=3
# program_time= (in us)
program_time=0
# erase_time= (in us)
erase_time=0
# read_time= (in us)
read_time=0
# ccs_time= (in us)
#ccs_time=200
# Simulate write-protect on the chip.
# write_protect=[yes|no]
#write_protect=no
# Blocks wear-out threshold. Each block has a counter of program-erase cycles;
# when this counter reaches 'wear_out' value a given block is treated as a bad
# block (access will report error).
#
# Setting wear_out to 0 means that blocks will never wear out.
#
# wear_out=0..100000
wear_out=50000
# Errors per million read/write bytes. This simulates an accidental read/write
# block error, which can happen in real devices with certain probability. Note
# this isn't a bad block condition i.e. the block at which the read/write
# operation is simulated to fail here remains usable, only the operation has
# not succeeded (this is where ECC comes into play and is supposed to correct
# such problems).
#
# error_ratio=0..1000000
#error_ratio=50
# Chip data bus width. All chips connected to the same controller must have
# the same bus width.
#
# width=[8|16]
width=8
# Bad block map. NANDsim emulates bad block behavior upon accessing a block
# with number from the specified list.
#
# bad_block_map=[bad_block1, bad_block2-bad_block3, ..bad_blockn]
bad_block_map=[100-200]