From 3db23e5d6a0b89da268b24fd5e4ee281c1a42cf4 Mon Sep 17 00:00:00 2001 From: Serge Vakulenko Date: Mon, 14 Sep 2015 22:07:16 -0700 Subject: [PATCH] Use flags for gpio driver to configure available pins. --- sys/pic32/32mxsdram/Config | 3 --- sys/pic32/32mxsdram/Makefile | 12 ++++-------- sys/pic32/Config.generic | 19 ++++++++++++++++++- sys/pic32/baremetal/Config | 9 --------- sys/pic32/baremetal/Makefile | 25 ++++++------------------- sys/pic32/cons.c | 4 ++-- sys/pic32/duinomite-emega/Config | 11 ++++++++++- sys/pic32/duinomite-emega/Config-uart | 12 +++++++++++- sys/pic32/duinomite-emega/Makefile | 6 ++++++ sys/pic32/duinomite/Config | 10 +++++++++- sys/pic32/duinomite/Config-uart | 11 ++++++++++- sys/pic32/duinomite/Makefile | 7 ++++++- sys/pic32/explorer16/Config | 12 +++++++++++- sys/pic32/explorer16/Makefile | 6 ++++++ sys/pic32/fubarino/Config | 12 ++++++++++-- sys/pic32/fubarino/Config-uart-sramc | 12 +++++++++++- sys/pic32/fubarino/Makefile | 7 ++++++- sys/pic32/gpio.c | 3 +-- sys/pic32/max32/Config | 16 ++++++++++++++-- sys/pic32/max32/Makefile | 7 ++++++- sys/pic32/maximite-color/Config | 10 +++++++++- sys/pic32/maximite-color/Makefile | 6 ++++++ sys/pic32/maximite/Config | 11 ++++++++++- sys/pic32/maximite/Makefile | 6 ++++++ sys/pic32/mmb-mx7/Config | 12 +++++++++++- sys/pic32/mmb-mx7/Makefile | 6 ++++++ sys/pic32/picadillo/Config | 3 --- sys/pic32/picadillo/Config-rambo | 3 --- sys/pic32/picadillo/Makefile | 17 ++++++----------- sys/pic32/pinguino-micro/Config | 10 +++++++++- sys/pic32/pinguino-micro/Makefile | 7 ++++++- sys/pic32/sdxl/Config | 12 ++++++++++-- sys/pic32/sdxl/Makefile | 7 ++++++- sys/pic32/starter-kit/Config | 11 ++++++++++- sys/pic32/starter-kit/Makefile | 6 ++++++ sys/pic32/ubw32/Config | 11 ++++++++++- sys/pic32/ubw32/Config-uart | 12 +++++++++++- sys/pic32/ubw32/Makefile | 6 ++++++ sys/pic32/wf32/Config | 12 +++++++++++- sys/pic32/wf32/Makefile | 6 ++++++ tools/kconfig/config.y | 1 + 41 files changed, 293 insertions(+), 86 deletions(-) diff --git a/sys/pic32/32mxsdram/Config b/sys/pic32/32mxsdram/Config index 2d5c7df..82bbafb 100644 --- a/sys/pic32/32mxsdram/Config +++ b/sys/pic32/32mxsdram/Config @@ -58,9 +58,6 @@ options "SD0_CS_PIN=3" # ...use pin RF3 TODO: delete options "SD0_ENA_PORT=TRISB" # for microSD enable... TODO: delete options "SD0_ENA_PIN=13" # ...use pin RB13 TODO: delete -# General purpose I/O ports -device gpio - # ADC driver device adc diff --git a/sys/pic32/32mxsdram/Makefile b/sys/pic32/32mxsdram/Makefile index ebd44bf..24a20e6 100644 --- a/sys/pic32/32mxsdram/Makefile +++ b/sys/pic32/32mxsdram/Makefile @@ -3,7 +3,6 @@ PARAM += -DPIC32MX7 PARAM += -DUART3_ENABLED PARAM += -DSPI4_ENABLED PARAM += -DSD_ENABLED -PARAM += -DGPIO_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DSDRAMP_ENABLED @@ -73,9 +72,9 @@ 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 gpio.o machdep.o mem.o pwm.o \ - rd_sd.o rd_sdramp.o sdram.o signal.o spi.o spi_bus.o swap.o \ - sysctl.o uart.o + clock.o cons.o devsw.o exception.o machdep.o mem.o pwm.o rd_sd.o \ + rd_sdramp.o sdram.o signal.o spi.o spi_bus.o swap.o sysctl.o \ + uart.o CFILES = $S/kernel/exec_aout.c $S/kernel/exec_conf.c $S/kernel/exec_elf.c \ $S/kernel/exec_script.c $S/kernel/exec_subr.c \ @@ -99,7 +98,7 @@ 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/gpio.c $S/pic32/machdep.c $S/pic32/mem.c $S/pic32/pwm.c \ + $S/pic32/machdep.c $S/pic32/mem.c $S/pic32/pwm.c \ $S/pic32/rd_sd.c $S/pic32/rd_sdramp.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 swapunix.c @@ -325,9 +324,6 @@ devsw.o: $S/pic32/devsw.c exception.o: $S/pic32/exception.c ${COMPILE_C} -gpio.o: $S/pic32/gpio.c - ${COMPILE_C} - machdep.o: $S/pic32/machdep.c ${COMPILE_C} diff --git a/sys/pic32/Config.generic b/sys/pic32/Config.generic index 9b9aef1..8710e25 100644 --- a/sys/pic32/Config.generic +++ b/sys/pic32/Config.generic @@ -96,7 +96,24 @@ options "SD0_ENA_PORT=TRISA" # to enable SD card... TODO: delete options "SD0_ENA_PIN=5" # ...use pin RA5 TODO: delete # General purpose I/O ports -device gpio0 +# Flags define a mask of available pins +# For 64-pin devices: +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 0x03cc # port G + +# For 100-pin devices: +device gpio0 flags 0xc6ff # port A +device gpio1 flags 0xffff # port B +device gpio2 flags 0xf01e # port C +device gpio3 flags 0xffff # port D +device gpio4 flags 0x03ff # port E +device gpio5 flags 0x313f # port F +device gpio6 flags 0xf3cf # port G + options "GPIO_CLEAR_PORT=TRISA" # clear on startup... options "GPIO_CLEAR_PIN=5" # ...pin RA5 diff --git a/sys/pic32/baremetal/Config b/sys/pic32/baremetal/Config index 3f29ea9..3e2fbc2 100644 --- a/sys/pic32/baremetal/Config +++ b/sys/pic32/baremetal/Config @@ -49,12 +49,3 @@ options "SD0_MHZ=16" # speed 16 MHz options "SD0_PORT=2" # at spi2 TODO: delete options "SD0_CS_PORT=TRISD" # for chip select... TODO: delete options "SD0_CS_PIN=1" # ...use pin RD1 TODO: delete - -# General purpose I/O ports -device gpio - -# ADC driver -device adc - -# PWM driver -device pwm diff --git a/sys/pic32/baremetal/Makefile b/sys/pic32/baremetal/Makefile index e47b21b..6b708b6 100644 --- a/sys/pic32/baremetal/Makefile +++ b/sys/pic32/baremetal/Makefile @@ -3,9 +3,6 @@ PARAM += -DPIC32MX7 PARAM += -DUART1_ENABLED PARAM += -DSPI2_ENABLED PARAM += -DSD_ENABLED -PARAM += -DGPIO_ENABLED -PARAM += -DADC_ENABLED -PARAM += -DPWM_ENABLED PARAM += -DSD0_CS_PIN=1 PARAM += -DSD0_CS_PORT=TRISD PARAM += -DSD0_PORT=2 @@ -63,9 +60,9 @@ OBJS = exec_aout.o exec_conf.o exec_elf.o exec_script.o exec_subr.o \ sys_process.o syscalls.o tty.o tty_subr.o tty_tty.o ufs_alloc.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 gpio.o machdep.o mem.o pwm.o \ - rd_sd.o signal.o spi.o spi_bus.o swap.o sysctl.o uart.o + ufs_syscalls2.o vfs_vnops.o vm_sched.o vm_swap.o vm_swp.o \ + clock.o cons.o devsw.o exception.o machdep.o mem.o rd_sd.o \ + signal.o spi.o spi_bus.o swap.o sysctl.o uart.o CFILES = $S/kernel/exec_aout.c $S/kernel/exec_conf.c $S/kernel/exec_elf.c \ $S/kernel/exec_script.c $S/kernel/exec_subr.c \ @@ -87,10 +84,9 @@ CFILES = $S/kernel/exec_aout.c $S/kernel/exec_conf.c $S/kernel/exec_elf.c \ $S/kernel/ufs_namei.c $S/kernel/ufs_subr.c \ $S/kernel/ufs_syscalls.c $S/kernel/ufs_syscalls2.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/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/kernel/vm_swp.c $S/pic32/clock.c $S/pic32/cons.c \ + $S/pic32/devsw.c $S/pic32/exception.c $S/pic32/machdep.c \ + $S/pic32/mem.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 swapunix.c @@ -300,9 +296,6 @@ vm_swap.o: $S/kernel/vm_swap.c vm_swp.o: $S/kernel/vm_swp.c ${COMPILE_C} -adc.o: $S/pic32/adc.c - ${COMPILE_C} - clock.o: $S/pic32/clock.c ${COMPILE_C} @@ -315,18 +308,12 @@ devsw.o: $S/pic32/devsw.c exception.o: $S/pic32/exception.c ${COMPILE_C} -gpio.o: $S/pic32/gpio.c - ${COMPILE_C} - machdep.o: $S/pic32/machdep.c ${COMPILE_C} mem.o: $S/pic32/mem.c ${COMPILE_C} -pwm.o: $S/pic32/pwm.c - ${COMPILE_C} - rd_sd.o: $S/pic32/rd_sd.c ${COMPILE_C} diff --git a/sys/pic32/cons.c b/sys/pic32/cons.c index 7573ac3..bc43674 100644 --- a/sys/pic32/cons.c +++ b/sys/pic32/cons.c @@ -45,8 +45,8 @@ void cninit() void cnidentify() { - printf ("console: %s (%d,%d)\n", cdevname(console_device), - major(console_device), minor(console_device)); + //printf ("console: %s (%d,%d)\n", cdevname(console_device), + // major(console_device), minor(console_device)); } int cnopen(dev_t dev, int flag, int mode) diff --git a/sys/pic32/duinomite-emega/Config b/sys/pic32/duinomite-emega/Config index c575749..05f62d3 100644 --- a/sys/pic32/duinomite-emega/Config +++ b/sys/pic32/duinomite-emega/Config @@ -55,7 +55,16 @@ options "SD0_ENA_PORT=TRISG" # for SD enable... TODO: delete options "SD0_ENA_PIN=13" # ...use pin RG13 TODO: delete # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RD1, RD2, RD3, RG12, RG13 - spi3, SD card +device gpio0 flags 0xc6ff # port A +device gpio1 flags 0xffff # port B +device gpio2 flags 0xf01e # port C +device gpio3 flags 0xfff1 # port D +device gpio4 flags 0x03ff # port E +device gpio5 flags 0x313f # port F +device gpio6 flags 0xc3cf # port G # ADC driver device adc diff --git a/sys/pic32/duinomite-emega/Config-uart b/sys/pic32/duinomite-emega/Config-uart index 56ddaf7..ac733ea 100644 --- a/sys/pic32/duinomite-emega/Config-uart +++ b/sys/pic32/duinomite-emega/Config-uart @@ -55,7 +55,17 @@ options "SD0_ENA_PORT=TRISG" # for SD enable... TODO: delete options "SD0_ENA_PIN=13" # ...use pin RG13 TODO: delete # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RB8, RB13, RB14 - uart5 +# RD1, RD2, RD3, RG12, RG13 - spi3, SD card +device gpio0 flags 0xc6ff # port A +device gpio1 flags 0x9eff # port B +device gpio2 flags 0xf01e # port C +device gpio3 flags 0xfff1 # port D +device gpio4 flags 0x03ff # port E +device gpio5 flags 0x313f # port F +device gpio6 flags 0xc3cf # port G # ADC driver device adc diff --git a/sys/pic32/duinomite-emega/Makefile b/sys/pic32/duinomite-emega/Makefile index eee7168..76ecc7d 100644 --- a/sys/pic32/duinomite-emega/Makefile +++ b/sys/pic32/duinomite-emega/Makefile @@ -4,6 +4,12 @@ PARAM += -DUARTUSB_ENABLED PARAM += -DSPI3_ENABLED PARAM += -DSD_ENABLED PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DSD0_ENA_PIN=13 diff --git a/sys/pic32/duinomite/Config b/sys/pic32/duinomite/Config index 3d35b24..ce72040 100644 --- a/sys/pic32/duinomite/Config +++ b/sys/pic32/duinomite/Config @@ -54,7 +54,15 @@ options "SD0_ENA_PORT=TRISB" # for SD enable... TODO: delete options "SD0_ENA_PIN=13" # ...use pin RB13 TODO: delete # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RD1, RD2, RD3, RD5, RB13 - spi3, SD card +device gpio1 flags 0xdfff # port B +device gpio2 flags 0xf000 # port C +device gpio3 flags 0x0fd1 # port D +device gpio4 flags 0x00ff # port E +device gpio5 flags 0x003b # port F +device gpio6 flags 0x03cc # port G # ADC driver device adc diff --git a/sys/pic32/duinomite/Config-uart b/sys/pic32/duinomite/Config-uart index eae416e..23d7c92 100644 --- a/sys/pic32/duinomite/Config-uart +++ b/sys/pic32/duinomite/Config-uart @@ -54,7 +54,16 @@ options "SD0_ENA_PORT=TRISB" # for SD enable... TODO: delete options "SD0_ENA_PIN=13" # ...use pin RB13 TODO: delete # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RB8, RB14 - uart5 +# RD1, RD2, RD3, RD5, RB13 - spi3, SD card +device gpio1 flags 0x9eff # port B +device gpio2 flags 0xf000 # port C +device gpio3 flags 0x0fd1 # port D +device gpio4 flags 0x00ff # port E +device gpio5 flags 0x003b # port F +device gpio6 flags 0x03cc # port G # ADC driver device adc diff --git a/sys/pic32/duinomite/Makefile b/sys/pic32/duinomite/Makefile index 331bdf7..16fd838 100644 --- a/sys/pic32/duinomite/Makefile +++ b/sys/pic32/duinomite/Makefile @@ -3,7 +3,12 @@ PARAM += -DPIC32MX7 PARAM += -DUARTUSB_ENABLED PARAM += -DSPI3_ENABLED PARAM += -DSD_ENABLED -PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DSD0_ENA_PIN=13 diff --git a/sys/pic32/explorer16/Config b/sys/pic32/explorer16/Config index a17f395..6c747d7 100644 --- a/sys/pic32/explorer16/Config +++ b/sys/pic32/explorer16/Config @@ -53,7 +53,17 @@ options "SD0_CS_PORT=TRISB" # for chip select... TODO: delete options "SD0_CS_PIN=1" # ...use pin RB1 TODO: delete # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RF4, RF5 - uart2 +# RC4, RD0, RD10, RB1 - spi1, SD card +device gpio0 flags 0xc6ff # port A +device gpio1 flags 0xfffd # port B +device gpio2 flags 0xf00e # port C +device gpio3 flags 0xfbfe # port D +device gpio4 flags 0x03ff # port E +device gpio5 flags 0x310f # port F +device gpio6 flags 0xf3cf # port G # ADC driver device adc diff --git a/sys/pic32/explorer16/Makefile b/sys/pic32/explorer16/Makefile index 9e911a8..5add0f2 100644 --- a/sys/pic32/explorer16/Makefile +++ b/sys/pic32/explorer16/Makefile @@ -4,6 +4,12 @@ PARAM += -DUART2_ENABLED PARAM += -DSPI1_ENABLED PARAM += -DSD_ENABLED PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DSD0_CS_PIN=1 diff --git a/sys/pic32/fubarino/Config b/sys/pic32/fubarino/Config index ab3e758..ea7b3ee 100644 --- a/sys/pic32/fubarino/Config +++ b/sys/pic32/fubarino/Config @@ -1,6 +1,6 @@ # # Fubarino SD board -# ================================== +# ================= # Console on USB. # For details, see https://github.com/RetroBSD/retrobsd/wiki/Board-Fubarino-SD # @@ -49,7 +49,15 @@ options "SD0_CS_PORT=TRISG" # for chip select... TODO: delete options "SD0_CS_PIN=9" # ...use pin RA9 TODO: delete # General purpose I/O ports -device gpio +# 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 diff --git a/sys/pic32/fubarino/Config-uart-sramc b/sys/pic32/fubarino/Config-uart-sramc index 844bdc7..4ec24cd 100644 --- a/sys/pic32/fubarino/Config-uart-sramc +++ b/sys/pic32/fubarino/Config-uart-sramc @@ -54,7 +54,17 @@ options "SD0_CS_PIN=9" # ...use pin RA9 TODO: delete options "SD0_MHZ=20" # increase data speed # General purpose I/O ports -device gpio +# 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 diff --git a/sys/pic32/fubarino/Makefile b/sys/pic32/fubarino/Makefile index 693ccaf..7985c40 100644 --- a/sys/pic32/fubarino/Makefile +++ b/sys/pic32/fubarino/Makefile @@ -3,7 +3,12 @@ PARAM += -DPIC32MX7 PARAM += -DUARTUSB_ENABLED PARAM += -DSPI2_ENABLED PARAM += -DSD_ENABLED -PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DGLCD_ENABLED diff --git a/sys/pic32/gpio.c b/sys/pic32/gpio.c index 19874d2..8d30cd9 100644 --- a/sys/pic32/gpio.c +++ b/sys/pic32/gpio.c @@ -624,8 +624,7 @@ gpioprobe(config) gpio_confmask[unit] = flags; gpio_print(unit | MINOR_CONF, buf); - printf("gpio%u: port%c, pins %s", unit, - unit + (unit<8 ? 'A' : 'B'), buf); + printf("gpio%u: port%c, pins %s", unit, unit + 'A', buf); return 1; } diff --git a/sys/pic32/max32/Config b/sys/pic32/max32/Config index e615fa9..c8c1663 100644 --- a/sys/pic32/max32/Config +++ b/sys/pic32/max32/Config @@ -31,9 +31,9 @@ config unix root on sd0a swap on sd0b # Serial UART ports +# Cannot use uart3, as it conflicts with spi2 device uart1 # Serial-to-USB converter device uart2 -device uart3 device uart4 # Console options @@ -50,7 +50,19 @@ options "SD0_CS_PORT=TRISC" # for chip select... TODO: use fl options "SD0_CS_PIN=14" # ...use pin RC14 TODO: use flags # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RF2, RF8 - uart1 +# RF4, RF5 - uart2 +# RD14, RD15 - uart4 +# RG6, RG7, RG8, RC14 - spi2, SD card +device gpio0 flags 0xc6ff # port A +device gpio1 flags 0xffff # port B +device gpio2 flags 0xb01e # port C +device gpio3 flags 0x3fff # port D +device gpio4 flags 0x03ff # port E +device gpio5 flags 0x300b # port F +device gpio6 flags 0xf20f # port G # ADC driver device adc diff --git a/sys/pic32/max32/Makefile b/sys/pic32/max32/Makefile index acdba5c..689cf6c 100644 --- a/sys/pic32/max32/Makefile +++ b/sys/pic32/max32/Makefile @@ -2,11 +2,16 @@ PARAM = -DMAX32 PARAM += -DPIC32MX7 PARAM += -DUART1_ENABLED PARAM += -DUART2_ENABLED -PARAM += -DUART3_ENABLED PARAM += -DUART4_ENABLED PARAM += -DSPI2_ENABLED PARAM += -DSD_ENABLED PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DSD0_CS_PIN=14 diff --git a/sys/pic32/maximite-color/Config b/sys/pic32/maximite-color/Config index 416585e..c8a2a9f 100644 --- a/sys/pic32/maximite-color/Config +++ b/sys/pic32/maximite-color/Config @@ -51,7 +51,15 @@ options "SD0_CS_PORT=TRISA" # for chip select... TODO: delete options "SD0_CS_PIN=1" # ...use pin RA1 TODO: delete # General purpose I/O ports -device gpio +# The following pins excluded: +# RF4, RF5, RD10, RA1 - spi4, SD card +device gpio0 flags 0xc6fd # port A +device gpio1 flags 0xffff # port B +device gpio2 flags 0xf01e # port C +device gpio3 flags 0xfbff # port D +device gpio4 flags 0x03ff # port E +device gpio5 flags 0x310f # port F +device gpio6 flags 0xf3cf # port G # ADC driver device adc diff --git a/sys/pic32/maximite-color/Makefile b/sys/pic32/maximite-color/Makefile index 2133af2..b6d406f 100644 --- a/sys/pic32/maximite-color/Makefile +++ b/sys/pic32/maximite-color/Makefile @@ -4,6 +4,12 @@ PARAM += -DUARTUSB_ENABLED PARAM += -DSPI4_ENABLED PARAM += -DSD_ENABLED PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DSD0_CS_PIN=1 diff --git a/sys/pic32/maximite/Config b/sys/pic32/maximite/Config index dedd3d6..646e1d6 100644 --- a/sys/pic32/maximite/Config +++ b/sys/pic32/maximite/Config @@ -52,7 +52,16 @@ options "SD0_CS_PORT=TRISE" # for chip select... TODO: delete options "SD0_CS_PIN=0" # ...use pin RE0 TODO: delete # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RF4, RF5, RD10, RE0 - spi4, SD card +device gpio0 flags 0xc6ff # port A +device gpio1 flags 0xffff # port B +device gpio2 flags 0xf01e # port C +device gpio3 flags 0xfbff # port D +device gpio4 flags 0x03fe # port E +device gpio5 flags 0x310f # port F +device gpio6 flags 0xf3cf # port G # ADC driver device adc diff --git a/sys/pic32/maximite/Makefile b/sys/pic32/maximite/Makefile index 78ef1b4..7fb752a 100644 --- a/sys/pic32/maximite/Makefile +++ b/sys/pic32/maximite/Makefile @@ -4,6 +4,12 @@ PARAM += -DUARTUSB_ENABLED PARAM += -DSPI4_ENABLED PARAM += -DSD_ENABLED PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DSD0_CS_PIN=0 diff --git a/sys/pic32/mmb-mx7/Config b/sys/pic32/mmb-mx7/Config index a44870e..e08f281 100644 --- a/sys/pic32/mmb-mx7/Config +++ b/sys/pic32/mmb-mx7/Config @@ -59,7 +59,17 @@ options "SD0_CS_PIN=9" # ...use pin RA9 TODO: delete options "SD0_MHZ=8" # speed 8 MHz # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RF2, RF8 - uart1 +# RC4, RD0, RD10, RA9 - spi1, SD card +device gpio0 flags 0xc4ff # port A +device gpio1 flags 0xffff # port B +device gpio2 flags 0xf00e # port C +device gpio3 flags 0xfbfe # port D +device gpio4 flags 0x03ff # port E +device gpio5 flags 0x303b # port F +device gpio6 flags 0xf3cf # port G options "GPIO_CLEAR_PORT=TRISD" # clear on startup... options "GPIO_CLEAR_PIN=2" # ...pin RD2 diff --git a/sys/pic32/mmb-mx7/Makefile b/sys/pic32/mmb-mx7/Makefile index e6516ca..931c9da 100644 --- a/sys/pic32/mmb-mx7/Makefile +++ b/sys/pic32/mmb-mx7/Makefile @@ -5,6 +5,12 @@ PARAM += -DUART1_ENABLED PARAM += -DSPI1_ENABLED PARAM += -DSD_ENABLED PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DGPIO_CLEAR_PIN=2 diff --git a/sys/pic32/picadillo/Config b/sys/pic32/picadillo/Config index 9ddb4d6..48c08e1 100644 --- a/sys/pic32/picadillo/Config +++ b/sys/pic32/picadillo/Config @@ -43,9 +43,6 @@ options "SD0_PORT=2" # at spi2 TODO: delete options "SD0_CS_PORT=TRISG" # for chip select... TODO: delete options "SD0_CS_PIN=9" # ...use pin RG9 TODO: delete -# General purpose I/O ports -device gpio - # ADC driver device adc diff --git a/sys/pic32/picadillo/Config-rambo b/sys/pic32/picadillo/Config-rambo index f262d57..f3abb55 100644 --- a/sys/pic32/picadillo/Config-rambo +++ b/sys/pic32/picadillo/Config-rambo @@ -44,9 +44,6 @@ options "SD0_PORT=2" # at spi2 TODO: delete options "SD0_CS_PORT=TRISG" # for chip select... TODO: delete options "SD0_CS_PIN=9" # ...use pin RG9 TODO: delete -# General purpose I/O ports -device gpio - # ADC driver device adc diff --git a/sys/pic32/picadillo/Makefile b/sys/pic32/picadillo/Makefile index ffd4739..a46fc04 100644 --- a/sys/pic32/picadillo/Makefile +++ b/sys/pic32/picadillo/Makefile @@ -3,7 +3,6 @@ PARAM += -DPIC32MX7 PARAM += -DUART1_ENABLED PARAM += -DSPI2_ENABLED PARAM += -DSD_ENABLED -PARAM += -DGPIO_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DHXTFT_ENABLED @@ -59,9 +58,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 gpio.o hx8357.o machdep.o \ - mem.o pwm.o rd_sd.o signal.o spi.o spi_bus.o swap.o sysctl.o \ - uart.o + clock.o cons.o devsw.o exception.o hx8357.o machdep.o mem.o \ + pwm.o rd_sd.o signal.o spi.o spi_bus.o swap.o sysctl.o uart.o CFILES = $S/kernel/exec_aout.c $S/kernel/exec_conf.c $S/kernel/exec_elf.c \ $S/kernel/exec_script.c $S/kernel/exec_subr.c \ @@ -85,10 +83,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/gpio.c $S/pic32/hx8357.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 swapunix.c + $S/pic32/hx8357.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 swapunix.c # load lines for config "xxx" will be emitted as: # xxx: ${SYSTEM_DEP} swapxxx.o @@ -311,9 +309,6 @@ devsw.o: $S/pic32/devsw.c exception.o: $S/pic32/exception.c ${COMPILE_C} -gpio.o: $S/pic32/gpio.c - ${COMPILE_C} - hx8357.o: $S/pic32/hx8357.c ${COMPILE_C} diff --git a/sys/pic32/pinguino-micro/Config b/sys/pic32/pinguino-micro/Config index c9766c0..f857ee6 100644 --- a/sys/pic32/pinguino-micro/Config +++ b/sys/pic32/pinguino-micro/Config @@ -49,7 +49,15 @@ options "SD0_CS_PORT=TRISB" # for chip select... TODO: delete options "SD0_CS_PIN=13" # ...use pin RB13 TODO: delete # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RG6, RG7, RG8, RB13 - spi2, SD card +device gpio1 flags 0xdfff # 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 0x020c # port G # ADC driver device adc diff --git a/sys/pic32/pinguino-micro/Makefile b/sys/pic32/pinguino-micro/Makefile index 033f503..82f1369 100644 --- a/sys/pic32/pinguino-micro/Makefile +++ b/sys/pic32/pinguino-micro/Makefile @@ -3,7 +3,12 @@ PARAM += -DPIC32MX7 PARAM += -DUARTUSB_ENABLED PARAM += -DSPI2_ENABLED PARAM += -DSD_ENABLED -PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DSD0_CS_PIN=13 diff --git a/sys/pic32/sdxl/Config b/sys/pic32/sdxl/Config index 5e0ddc6..b888358 100644 --- a/sys/pic32/sdxl/Config +++ b/sys/pic32/sdxl/Config @@ -44,13 +44,21 @@ options "USB_NUM_STRING_DESCRIPTORS=3" controller spi2 # SD card # microSD card -device sd0 at spi2 pin RG9 # select pin RG9 +device sd0 at spi2 pin RG9 # select pin options "SD0_PORT=2" # sd0 at spi2 TODO: delete options "SD0_CS_PORT=TRISG" # for chip select... TODO: delete options "SD0_CS_PIN=9" # ...use pin RA9 TODO: delete # General purpose I/O ports -device gpio +# 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 diff --git a/sys/pic32/sdxl/Makefile b/sys/pic32/sdxl/Makefile index a2fbcbf..adb099d 100644 --- a/sys/pic32/sdxl/Makefile +++ b/sys/pic32/sdxl/Makefile @@ -3,7 +3,12 @@ PARAM += -DPIC32MX7 PARAM += -DUARTUSB_ENABLED PARAM += -DSPI2_ENABLED PARAM += -DSD_ENABLED -PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DGLCD_ENABLED diff --git a/sys/pic32/starter-kit/Config b/sys/pic32/starter-kit/Config index 92c7532..10f3b48 100644 --- a/sys/pic32/starter-kit/Config +++ b/sys/pic32/starter-kit/Config @@ -51,7 +51,16 @@ options "SD0_CS_PORT=TRISB" # for chip select... TODO: delete options "SD0_CS_PIN=1" # ...use pin RB1 TODO: delete # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RC4, RD0, RD10, RB1 - spi1, SD card +device gpio0 flags 0xc6ff # port A +device gpio1 flags 0xfffd # port B +device gpio2 flags 0xf00e # port C +device gpio3 flags 0xfbfe # port D +device gpio4 flags 0x03ff # port E +device gpio5 flags 0x313f # port F +device gpio6 flags 0xf3cf # port G # ADC driver device adc diff --git a/sys/pic32/starter-kit/Makefile b/sys/pic32/starter-kit/Makefile index 367952c..dc2d866 100644 --- a/sys/pic32/starter-kit/Makefile +++ b/sys/pic32/starter-kit/Makefile @@ -4,6 +4,12 @@ PARAM += -DUARTUSB_ENABLED PARAM += -DSPI1_ENABLED PARAM += -DSD_ENABLED PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DSD0_CS_PIN=1 diff --git a/sys/pic32/ubw32/Config b/sys/pic32/ubw32/Config index cae3fc9..fb41390 100644 --- a/sys/pic32/ubw32/Config +++ b/sys/pic32/ubw32/Config @@ -64,7 +64,16 @@ options "SD1_CS_PORT=TRISA" # for sd1 chip select...TODO: delete options "SD1_CS_PIN=10" # ...use pin RA9 TODO: delete # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RC4, RD0, RD10, RA9, RA10 - spi1, SD card +device gpio0 flags 0xc0ff # port A +device gpio1 flags 0xffff # port B +device gpio2 flags 0xf00e # port C +device gpio3 flags 0xfbfe # port D +device gpio4 flags 0x03ff # port E +device gpio5 flags 0x313f # port F +device gpio6 flags 0xf3cf # port G # ADC driver device adc diff --git a/sys/pic32/ubw32/Config-uart b/sys/pic32/ubw32/Config-uart index 2352608..714cbc3 100644 --- a/sys/pic32/ubw32/Config-uart +++ b/sys/pic32/ubw32/Config-uart @@ -61,7 +61,17 @@ options "SD1_CS_PORT=TRISA" # for sd1 chip select...TODO: delete options "SD1_CS_PIN=10" # ...use pin RA9 TODO: delete # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RF4, RF5 - uart2 +# RC4, RD0, RD10, RA9, RA10 - spi1, SD card +device gpio0 flags 0xc0ff # port A +device gpio1 flags 0xffff # port B +device gpio2 flags 0xf00e # port C +device gpio3 flags 0xfbfe # port D +device gpio4 flags 0x03ff # port E +device gpio5 flags 0x310f # port F +device gpio6 flags 0xf3cf # port G # ADC driver device adc diff --git a/sys/pic32/ubw32/Makefile b/sys/pic32/ubw32/Makefile index 6b349e7..b66b4f0 100644 --- a/sys/pic32/ubw32/Makefile +++ b/sys/pic32/ubw32/Makefile @@ -5,6 +5,12 @@ PARAM += -DSPI1_ENABLED PARAM += -DSD_ENABLED PARAM += -DSD1_ENABLED PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DSD1_CS_PIN=10 diff --git a/sys/pic32/wf32/Config b/sys/pic32/wf32/Config index e986eb0..d91c389 100644 --- a/sys/pic32/wf32/Config +++ b/sys/pic32/wf32/Config @@ -49,7 +49,17 @@ options "SD0_CS_PORT=TRISD" # for chip select... TODO: delete options "SD0_CS_PIN=4" # ...use pin RD4 TODO: delete # General purpose I/O ports -device gpio +# Flags define a mask of available pins +# The following pins excluded: +# RF2, RF8 - uart1 +# RG6, RG7, RG8, RD4 - spi2, SD card +device gpio0 flags 0xc6ff # port A +device gpio1 flags 0xffff # port B +device gpio2 flags 0xf01e # port C +device gpio3 flags 0xffef # port D +device gpio4 flags 0x03ff # port E +device gpio5 flags 0x303b # port F +device gpio6 flags 0xf20f # port G # ADC driver device adc diff --git a/sys/pic32/wf32/Makefile b/sys/pic32/wf32/Makefile index 10c913a..0db6215 100644 --- a/sys/pic32/wf32/Makefile +++ b/sys/pic32/wf32/Makefile @@ -4,6 +4,12 @@ PARAM += -DUART1_ENABLED PARAM += -DSPI2_ENABLED PARAM += -DSD_ENABLED PARAM += -DGPIO_ENABLED +PARAM += -DGPIO1_ENABLED +PARAM += -DGPIO2_ENABLED +PARAM += -DGPIO3_ENABLED +PARAM += -DGPIO4_ENABLED +PARAM += -DGPIO5_ENABLED +PARAM += -DGPIO6_ENABLED PARAM += -DADC_ENABLED PARAM += -DPWM_ENABLED PARAM += -DSD0_CS_PIN=4 diff --git a/tools/kconfig/config.y b/tools/kconfig/config.y index fb63fc3..0cd1ad8 100644 --- a/tools/kconfig/config.y +++ b/tools/kconfig/config.y @@ -744,6 +744,7 @@ void init_dev(dp) dp->d_maddr = 0; dp->d_msize = 0; dp->d_npins = 0; + dp->d_flags = 0; dp->d_mask = "null"; }