diff --git a/sys/pic32/Config.generic b/sys/pic32/Config.generic index 76e8ad4..2b300ed 100644 --- a/sys/pic32/Config.generic +++ b/sys/pic32/Config.generic @@ -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 diff --git a/sys/pic32/fubarino/Config b/sys/pic32/fubarino/Config index 6c2bc26..d1f9690 100644 --- a/sys/pic32/fubarino/Config +++ b/sys/pic32/fubarino/Config @@ -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 diff --git a/sys/pic32/fubarino/Config-glcd b/sys/pic32/fubarino/Config-glcd new file mode 100644 index 0000000..6c2bc26 --- /dev/null +++ b/sys/pic32/fubarino/Config-glcd @@ -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 diff --git a/sys/pic32/fubarino/Makefile b/sys/pic32/fubarino/Makefile index e9ff7be..3223aec 100644 --- a/sys/pic32/fubarino/Makefile +++ b/sys/pic32/fubarino/Makefile @@ -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} diff --git a/sys/pic32/sdxl/Config b/sys/pic32/sdxl/Config index bd42beb..c1e8056 100644 --- a/sys/pic32/sdxl/Config +++ b/sys/pic32/sdxl/Config @@ -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 diff --git a/sys/pic32/sdxl/Config-glcd b/sys/pic32/sdxl/Config-glcd new file mode 100644 index 0000000..bd42beb --- /dev/null +++ b/sys/pic32/sdxl/Config-glcd @@ -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 diff --git a/sys/pic32/sdxl/Makefile b/sys/pic32/sdxl/Makefile index c68c77f..b5cb18d 100644 --- a/sys/pic32/sdxl/Makefile +++ b/sys/pic32/sdxl/Makefile @@ -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}