#pragma once

#include <avrstuff/avlr.h>

#define PIN_XTAL1          PINDEF(PORTA, 0)
#define PIN_XTAL2          PINDEF(PORTA, 1)
#define PIN_PA2            PINDEF(PORTA, 2)
#define PIN_PA3            PINDEF(PORTA, 3)
#define PIN_MIXER_nCS      PINDEF(PORTA, 4)
#define PIN_LFO_nCS        PINDEF(PORTA, 5)
#define PIN_PA6            PINDEF(PORTA, 6)
#define PIN_PA7            PINDEF(PORTA, 7)
#define PORT_ADDR          PORTB /* Entire port */
#define PIN_SD_COPI        PINDEF(PORTC, 0)
#define PIN_SD_CIPO        PINDEF(PORTC, 1)
#define PIN_SD_SCK         PINDEF(PORTC, 2)
#define PIN_SD_nCS         PINDEF(PORTC, 3)
#define PIN_DEBUG0         PINDEF(PORTC, 4)
#define PIN_DEBUG1         PINDEF(PORTC, 5)
#define PIN_DEBUG2         PINDEF(PORTC, 6)
#define PIN_DEBUG3         PINDEF(PORTC, 7)
#define PIN_PD0            PINDEF(PORTD, 0)
#define PIN_AIN_TEMP       PINDEF(PORTD, 1)
#define PIN_GATE_OUT       PINDEF(PORTD, 2)
#define PIN_GATE_IN        PINDEF(PORTD, 3)
#define PIN_AIN_MODCV_IN   PINDEF(PORTD, 4)
#define PIN_AIN_CV_IN      PINDEF(PORTD, 5)
#define PIN_CV_OUT         PINDEF(PORTD, 6)
#define PIN_VREFA          PINDEF(PORTD, 7)
#define PIN_AIN_NOISE      PINDEF(PORTE, 0)
#define PIN_AIN_CAL        PINDEF(PORTE, 1)
#define PIN_AIN_CAL_OP     PINDEF(PORTE, 2)
#define PIN_AIN_CAL_OPn    PINDEF(PORTE, 3)
#define PIN_INTMIDI_TX     PINDEF(PORTE, 4)
#define PIN_INTMIDI_RX     PINDEF(PORTE, 5)
#define PIN_PE6            PINDEF(PORTE, 6)
#define PIN_AIN_CAL_OP_2   PINDEF(PORTE, 7)
#define PIN_PF0            PINDEF(PORTF, 0)
#define PIN_PF1            PINDEF(PORTF, 1)
#define PIN_PF2            PINDEF(PORTF, 2)
#define PIN_PF3            PINDEF(PORTF, 3)
#define PIN_USBMIDI_TX     PINDEF(PORTF, 4)
#define PIN_USBMIDI_RX     PINDEF(PORTF, 5)
#define PIN_PF6            PINDEF(PORTF, 6)
#define PIN_MIDI_TX        PINDEF(PORTG, 0)
#define PIN_MIDI_RX        PINDEF(PORTG, 1)
#define PIN_ENVAUX1        PINDEF(PORTG, 2)
#define PIN_ENVAUX2        PINDEF(PORTG, 3)
#define PIN_COPI           PINDEF(PORTG, 4)
#define PIN_CIPO           PINDEF(PORTG, 5)
#define PIN_SCK            PINDEF(PORTG, 6)
#define PIN_nVS            PINDEF(PORTG, 7)

#define SPI_VOICES         0
#define SPI_SDCARD         1
