#
# Fubarino SD board with SRAMC swap disk
# ======================================
# Console on UART2.
# Overclocked to 120MHz.
# Clock rate increased to 1000Hz.
#
# To build the kernel, use:
#   cd sys/pic32/fubarino
#   kconfig Config-uart-sramc
#   make clean
#   make
#
# Format of this file is described on page:
# http://retrobsd.org/wiki/doku.php/doc/kconfig
#
architecture    "pic32"
cpu             "PIC32MX7"                  # Processor variant
board           "FUBARINO"                  # Board type
ldscript        "max32/bootloader.ld"       # Linker script

# Standard system options
options         "HZ=1000"                   # Rate of clock interrupt
options         "CPU_KHZ=120000"            # Oscillator frequency of CPU core
options         "BUS_KHZ=120000"            # Frequency of peripheral bus
options         "BUS_DIV=1"                 # Bus clock divisor 1/2/4/8
options         "NBUF=8"
options         "NMOUNT=3"
options         "NPROC=25"

# LED
signal          "LED_KERNEL"    pin RE5     # kernel activity indicator

# Root filesystem at /dev/sd0a, swap at /dev/sd0b
config          unix    root on sd0a
                        swap on rc0b        # Swap on SRAM disk

# Console options
options         "CONS_MAJOR=UART_MAJOR"     # UART device
options         "CONS_MINOR=1"              # /dev/tty1

# Serial UART ports
device          uart1                       # Additional serial port
device          uart2                       # Console

# SPI ports
controller      spi2                        # SD card

# microSD card
device          sd0     at spi2 pin RG9     # select pin
options         "SD0_MHZ=20"                # increase data speed

# General purpose I/O ports
# Flags define a mask of available pins
# The following pins excluded:
#   RD2, RD3           - uart1
#   RF4, RF5           - uart2
#   RG6, RG7, RG8, RG9 - spi2, SD card
device          gpio1   flags 0xffff    # port B
device          gpio2   flags 0xf000    # port C
device          gpio3   flags 0x0ff3    # port D
device          gpio4   flags 0x00ff    # port E
device          gpio5   flags 0x000b    # port F
device          gpio6   flags 0x000c    # port G

# ADC driver
device          adc

# PWM driver
device          pwm

# sramc - SRAM block device
# The volume is divided into two partitions: A and B.
# Size of partition B is specified as option SRAMC_SWAP_KBYTES.
# The rest is partition A.
device          rc0                         # SRAM via 4-wire CPLD interface
options         "SRAMC_SWAP_KBYTES=2048"    # size of partition B
