Enable spi3 and uart2 for Fubarino and SDXL boards.

This commit is contained in:
Serge Vakulenko
2015-09-21 13:09:19 -07:00
parent 3a4cc2d440
commit 661929317c
7 changed files with 204 additions and 61 deletions

View File

@@ -142,24 +142,26 @@ signal "SRAMC_WR" pin RF0
# picga - SPI block device
controller spi1 # RAM disk: picga
device picga0 at spi1
device picga0 at spi1 pin RA4 # chip select signal
options "PICGA_BUS=SPI1CON" # TODO: delete this option
signal "PICGA_CS" pin RA4
signal "PICGA_CS" pin RA4 # TODO: delete
# mrams - SPI block device
controller spi1 # RAM disk: mrams
device mrams0 at spi1
options "MRAMS_PORT=SPI1CON" # TODO: delete this option
pins RA4, RA2, RB14, RB12, # chip select signals
RB10, RB11
options "MRAMS_CHIPS=6" # number of chips
options "MRAMS_CHIPSIZE=512" # chip size in kbytes
options "MRAMS_MHZ=10" # speed 10 MHz
signal "MRAMS_CS0" pin RA4
signal "MRAMS_CS1" pin RA2
signal "MRAMS_CS2" pin RB14
signal "MRAMS_CS3" pin RB12
signal "MRAMS_CS4" pin RB10
signal "MRAMS_CS5" pin RB11
signal "MRAMS_LED0" pin RF0
options "MRAMS_PORT=SPI1CON" # TODO: delete this option
signal "MRAMS_CS0" pin RA4 # TODO: delete
signal "MRAMS_CS1" pin RA2 # TODO: delete
signal "MRAMS_CS2" pin RB14 # TODO: delete
signal "MRAMS_CS3" pin RB12 # TODO: delete
signal "MRAMS_CS4" pin RB10 # TODO: delete
signal "MRAMS_CS5" pin RB11 # TODO: delete
signal "MRAMS_LED0" pin RF0 # optional LED indicators
signal "MRAMS_LED1" pin RF1
signal "MRAMS_LED2" pin RF2
signal "MRAMS_LED3" pin RF3
@@ -168,28 +170,32 @@ signal "MRAMS_LED5" pin RF5
# spirams - SPI block device
controller spi1 # RAM disk: spirams
device spirams0 at spi1
options "SPIRAMS_PORT=SPI1CON" # TODO: delete this option
device spirams0 at spi1 # chip select signals:
pins RF0, RF1, RF2, RF3, # chip select signals
RF4, RF5, RF6, RF7,
RF8, RF9, RF10, RF11,
RF12, RF13, RF14, RF15
options "SPIRAMS_CHIPSIZE=128" # chip size in kbytes
options "SPIRAMS_CHIPS=16" # number of chips
options "SPIRAMS_MHZ=10" # speed 10 MHz
signal "SPIRAMS_CS0" pin RF0
signal "SPIRAMS_CS1" pin RF1
signal "SPIRAMS_CS2" pin RF2
signal "SPIRAMS_CS3" pin RF3
signal "SPIRAMS_CS4" pin RF4
signal "SPIRAMS_CS5" pin RF5
signal "SPIRAMS_CS6" pin RF6
signal "SPIRAMS_CS7" pin RF7
signal "SPIRAMS_CS8" pin RF8
signal "SPIRAMS_CS9" pin RF9
signal "SPIRAMS_CS10" pin RF10
signal "SPIRAMS_CS11" pin RF11
signal "SPIRAMS_CS12" pin RF12
signal "SPIRAMS_CS13" pin RF13
signal "SPIRAMS_CS14" pin RF14
signal "SPIRAMS_CS15" pin RF15
signal "SPIRAMS_LED0" pin RG0
options "SPIRAMS_PORT=SPI1CON" # TODO: delete this option
signal "SPIRAMS_CS0" pin RF0 # TODO: delete
signal "SPIRAMS_CS1" pin RF1 # TODO: delete
signal "SPIRAMS_CS2" pin RF2 # TODO: delete
signal "SPIRAMS_CS3" pin RF3 # TODO: delete
signal "SPIRAMS_CS4" pin RF4 # TODO: delete
signal "SPIRAMS_CS5" pin RF5 # TODO: delete
signal "SPIRAMS_CS6" pin RF6 # TODO: delete
signal "SPIRAMS_CS7" pin RF7 # TODO: delete
signal "SPIRAMS_CS8" pin RF8 # TODO: delete
signal "SPIRAMS_CS9" pin RF9 # TODO: delete
signal "SPIRAMS_CS10" pin RF10 # TODO: delete
signal "SPIRAMS_CS11" pin RF11 # TODO: delete
signal "SPIRAMS_CS12" pin RF12 # TODO: delete
signal "SPIRAMS_CS13" pin RF13 # TODO: delete
signal "SPIRAMS_CS14" pin RF14 # TODO: delete
signal "SPIRAMS_CS15" pin RF15 # TODO: delete
signal "SPIRAMS_LED0" pin RG0 # optional LED indicators
signal "SPIRAMS_LED1" pin RG1
signal "SPIRAMS_LED2" pin RG2
signal "SPIRAMS_LED3" pin RG3

View File

@@ -38,8 +38,12 @@ device uartusb
options "USB_MAX_EP_NUMBER=3"
options "USB_NUM_STRING_DESCRIPTORS=3"
# UART ports
device uart2 # Pins RF4, RF5
# SPI ports
controller spi2 # SD card
controller spi3 # Pins RD1, RD2, RD3
# microSD card
device sd0 at spi2 pin RG9 # select pin
@@ -48,11 +52,13 @@ device sd0 at spi2 pin RG9 # select pin
# Flags define a mask of available pins
# The following pins excluded:
# RG6, RG7, RG8, RG9 - spi2, SD card
# RD1, RD2, RD3 - spi3
# RF4, RF5 - uart2
device gpio1 flags 0xffff # port B
device gpio2 flags 0xf000 # port C
device gpio3 flags 0x0fff # port D
device gpio3 flags 0x0ff1 # port D
device gpio4 flags 0x00ff # port E
device gpio5 flags 0x003b # port F
device gpio5 flags 0x000b # port F
device gpio6 flags 0x000c # port G
# ADC driver
@@ -60,6 +66,3 @@ device adc
# PWM driver
device pwm
# GLCD driver
device glcd

View File

@@ -0,0 +1,65 @@
#
# Fubarino SD board
# =================
# Console on USB.
# For details, see https://github.com/RetroBSD/retrobsd/wiki/Board-Fubarino-SD
#
# To build the kernel, use:
# cd sys/pic32/fubarino
# kconfig Config
# 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 "CPU_KHZ=80000" # Oscillator frequency of CPU core
options "BUS_KHZ=80000" # Frequency of peripheral bus
options "BUS_DIV=1" # Bus clock divisor 1/2/4/8
# 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 sd0b
# Console options
options "CONS_MAJOR=UARTUSB_MAJOR" # UARTUSB device
# Virtual UART on USB
device uartusb
options "USB_MAX_EP_NUMBER=3"
options "USB_NUM_STRING_DESCRIPTORS=3"
# SPI ports
controller spi2 # SD card
# microSD card
device sd0 at spi2 pin RG9 # select pin
# General purpose I/O ports
# Flags define a mask of available pins
# The following pins excluded:
# RG6, RG7, RG8, RG9 - spi2, SD card
device gpio1 flags 0xffff # port B
device gpio2 flags 0xf000 # port C
device gpio3 flags 0x0fff # port D
device gpio4 flags 0x00ff # port E
device gpio5 flags 0x003b # port F
device gpio6 flags 0x000c # port G
# ADC driver
device adc
# PWM driver
device pwm
# GLCD driver
device glcd

View File

@@ -1,7 +1,9 @@
PARAM = -DFUBARINO
PARAM += -DPIC32MX7
PARAM += -DUARTUSB_ENABLED
PARAM += -DUART2_ENABLED
PARAM += -DSPI2_ENABLED
PARAM += -DSPI3_ENABLED
PARAM += -DSD_ENABLED
PARAM += -DGPIO1_ENABLED
PARAM += -DGPIO2_ENABLED
@@ -11,8 +13,6 @@ PARAM += -DGPIO5_ENABLED
PARAM += -DGPIO6_ENABLED
PARAM += -DADC_ENABLED
PARAM += -DPWM_ENABLED
PARAM += -DGLCD_ENABLED
PARAM += -DLED_KERNEL_PORT=TRISE -DLED_KERNEL_PIN=5
PARAM += -DUSB_NUM_STRING_DESCRIPTORS=3
PARAM += -DUSB_MAX_EP_NUMBER=3
PARAM += -DCONS_MAJOR=UARTUSB_MAJOR
@@ -63,8 +63,8 @@ OBJS = exec_aout.o exec_conf.o exec_elf.o exec_script.o exec_subr.o \
ufs_bio.o ufs_bmap.o ufs_dsort.o ufs_fio.o ufs_inode.o \
ufs_mount.o ufs_namei.o ufs_subr.o ufs_syscalls.o \
ufs_syscalls2.o vfs_vnops.o vm_sched.o vm_swap.o vm_swp.o adc.o \
clock.o cons.o devsw.o exception.o glcd.o gpio.o machdep.o mem.o \
pwm.o rd_sd.o signal.o spi.o spi_bus.o swap.o sysctl.o \
clock.o cons.o devsw.o exception.o gpio.o machdep.o mem.o pwm.o \
rd_sd.o signal.o spi.o spi_bus.o swap.o sysctl.o uart.o \
usb_device.o usb_function_cdc.o usb_uart.o
CFILES = $S/kernel/exec_aout.c $S/kernel/exec_conf.c $S/kernel/exec_elf.c \
@@ -89,10 +89,10 @@ CFILES = $S/kernel/exec_aout.c $S/kernel/exec_conf.c $S/kernel/exec_elf.c \
$S/kernel/vfs_vnops.c $S/kernel/vm_sched.c $S/kernel/vm_swap.c \
$S/kernel/vm_swp.c $S/pic32/adc.c $S/pic32/clock.c \
$S/pic32/cons.c $S/pic32/devsw.c $S/pic32/exception.c \
$S/pic32/glcd.c $S/pic32/gpio.c $S/pic32/machdep.c \
$S/pic32/mem.c $S/pic32/pwm.c $S/pic32/rd_sd.c $S/pic32/signal.c \
$S/pic32/spi.c $S/pic32/spi_bus.c $S/pic32/swap.c \
$S/pic32/sysctl.c $S/pic32/usb_device.c \
$S/pic32/gpio.c $S/pic32/machdep.c $S/pic32/mem.c $S/pic32/pwm.c \
$S/pic32/rd_sd.c $S/pic32/signal.c $S/pic32/spi.c \
$S/pic32/spi_bus.c $S/pic32/swap.c $S/pic32/sysctl.c \
$S/pic32/uart.c $S/pic32/usb_device.c \
$S/pic32/usb_function_cdc.c $S/pic32/usb_uart.c swapunix.c
# load lines for config "xxx" will be emitted as:
@@ -316,9 +316,6 @@ devsw.o: $S/pic32/devsw.c
exception.o: $S/pic32/exception.c
${COMPILE_C}
glcd.o: $S/pic32/glcd.c
${COMPILE_C}
gpio.o: $S/pic32/gpio.c
${COMPILE_C}
@@ -349,6 +346,9 @@ swap.o: $S/pic32/swap.c
sysctl.o: $S/pic32/sysctl.c
${COMPILE_C}
uart.o: $S/pic32/uart.c
${COMPILE_C}
usb_device.o: $S/pic32/usb_device.c
${COMPILE_C}

View File

@@ -39,8 +39,12 @@ device uartusb
options "USB_MAX_EP_NUMBER=3"
options "USB_NUM_STRING_DESCRIPTORS=3"
# UART ports
device uart2 # Pins RF4, RF5
# SPI ports
controller spi2 # SD card
controller spi3 # Pins RD1, RD2, RD3
# microSD card
device sd0 at spi2 pin RG9 # select pin
@@ -49,11 +53,13 @@ device sd0 at spi2 pin RG9 # select pin
# Flags define a mask of available pins
# The following pins excluded:
# RG6, RG7, RG8, RG9 - spi2, SD card
# RD1, RD2, RD3 - spi3
# RF4, RF5 - uart2
device gpio1 flags 0xffff # port B
device gpio2 flags 0xf000 # port C
device gpio3 flags 0x0fff # port D
device gpio3 flags 0x0ff1 # port D
device gpio4 flags 0x00ff # port E
device gpio5 flags 0x003b # port F
device gpio5 flags 0x000b # port F
device gpio6 flags 0x000c # port G
# ADC driver
@@ -61,6 +67,3 @@ device adc
# PWM driver
device pwm
# GLCD driver
device glcd

View File

@@ -0,0 +1,66 @@
#
# Majenko SDXL board
# ==================
# Ardiuno-compatible bootloader.
# Console on USB.
# LED at pin E7 (label 23).
#
# To build the kernel, use:
# cd sys/pic32/sdxl
# kconfig Config
# 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 "SDXL" # Board type
ldscript "max32/bootloader.ld" # Linker script
# Standard system options
options "CPU_KHZ=80000" # Oscillator frequency of CPU core
options "BUS_KHZ=80000" # Frequency of peripheral bus
options "BUS_DIV=1" # Bus clock divisor 1/2/4/8
# LED
signal "LED_KERNEL" pin RE7 # kernel activity indicator
# Root filesystem at /dev/sd0a, swap at /dev/sd0b
config unix root on sd0a
swap on sd0b
# Console options
options "CONS_MAJOR=UARTUSB_MAJOR" # UARTUSB device
# Virtual UART on USB
device uartusb
options "USB_MAX_EP_NUMBER=3"
options "USB_NUM_STRING_DESCRIPTORS=3"
# SPI ports
controller spi2 # SD card
# microSD card
device sd0 at spi2 pin RG9 # select pin
# General purpose I/O ports
# Flags define a mask of available pins
# The following pins excluded:
# RG6, RG7, RG8, RG9 - spi2, SD card
device gpio1 flags 0xffff # port B
device gpio2 flags 0xf000 # port C
device gpio3 flags 0x0fff # port D
device gpio4 flags 0x00ff # port E
device gpio5 flags 0x003b # port F
device gpio6 flags 0x000c # port G
# ADC driver
device adc
# PWM driver
device pwm
# GLCD driver
device glcd

View File

@@ -1,7 +1,9 @@
PARAM = -DSDXL
PARAM += -DPIC32MX7
PARAM += -DUARTUSB_ENABLED
PARAM += -DUART2_ENABLED
PARAM += -DSPI2_ENABLED
PARAM += -DSPI3_ENABLED
PARAM += -DSD_ENABLED
PARAM += -DGPIO1_ENABLED
PARAM += -DGPIO2_ENABLED
@@ -11,8 +13,6 @@ PARAM += -DGPIO5_ENABLED
PARAM += -DGPIO6_ENABLED
PARAM += -DADC_ENABLED
PARAM += -DPWM_ENABLED
PARAM += -DGLCD_ENABLED
PARAM += -DLED_KERNEL_PORT=TRISE -DLED_KERNEL_PIN=7
PARAM += -DUSB_NUM_STRING_DESCRIPTORS=3
PARAM += -DUSB_MAX_EP_NUMBER=3
PARAM += -DCONS_MAJOR=UARTUSB_MAJOR
@@ -63,8 +63,8 @@ OBJS = exec_aout.o exec_conf.o exec_elf.o exec_script.o exec_subr.o \
ufs_bio.o ufs_bmap.o ufs_dsort.o ufs_fio.o ufs_inode.o \
ufs_mount.o ufs_namei.o ufs_subr.o ufs_syscalls.o \
ufs_syscalls2.o vfs_vnops.o vm_sched.o vm_swap.o vm_swp.o adc.o \
clock.o cons.o devsw.o exception.o glcd.o gpio.o machdep.o mem.o \
pwm.o rd_sd.o signal.o spi.o spi_bus.o swap.o sysctl.o \
clock.o cons.o devsw.o exception.o gpio.o machdep.o mem.o pwm.o \
rd_sd.o signal.o spi.o spi_bus.o swap.o sysctl.o uart.o \
usb_device.o usb_function_cdc.o usb_uart.o
CFILES = $S/kernel/exec_aout.c $S/kernel/exec_conf.c $S/kernel/exec_elf.c \
@@ -89,10 +89,10 @@ CFILES = $S/kernel/exec_aout.c $S/kernel/exec_conf.c $S/kernel/exec_elf.c \
$S/kernel/vfs_vnops.c $S/kernel/vm_sched.c $S/kernel/vm_swap.c \
$S/kernel/vm_swp.c $S/pic32/adc.c $S/pic32/clock.c \
$S/pic32/cons.c $S/pic32/devsw.c $S/pic32/exception.c \
$S/pic32/glcd.c $S/pic32/gpio.c $S/pic32/machdep.c \
$S/pic32/mem.c $S/pic32/pwm.c $S/pic32/rd_sd.c $S/pic32/signal.c \
$S/pic32/spi.c $S/pic32/spi_bus.c $S/pic32/swap.c \
$S/pic32/sysctl.c $S/pic32/usb_device.c \
$S/pic32/gpio.c $S/pic32/machdep.c $S/pic32/mem.c $S/pic32/pwm.c \
$S/pic32/rd_sd.c $S/pic32/signal.c $S/pic32/spi.c \
$S/pic32/spi_bus.c $S/pic32/swap.c $S/pic32/sysctl.c \
$S/pic32/uart.c $S/pic32/usb_device.c \
$S/pic32/usb_function_cdc.c $S/pic32/usb_uart.c swapunix.c
# load lines for config "xxx" will be emitted as:
@@ -316,9 +316,6 @@ devsw.o: $S/pic32/devsw.c
exception.o: $S/pic32/exception.c
${COMPILE_C}
glcd.o: $S/pic32/glcd.c
${COMPILE_C}
gpio.o: $S/pic32/gpio.c
${COMPILE_C}
@@ -349,6 +346,9 @@ swap.o: $S/pic32/swap.c
sysctl.o: $S/pic32/sysctl.c
${COMPILE_C}
uart.o: $S/pic32/uart.c
${COMPILE_C}
usb_device.o: $S/pic32/usb_device.c
${COMPILE_C}