#define PSEL1_EINT0 (BIN(01) << 0)
#define PSEL1_SCK_SSP (BIN(10) << 2)
#define PSEL1_MISO_SSP (BIN(10) << 4)
#define PSEL1_MOSI_SSP (BIN(10) << 6)
#define PSEL1_AN0 (BIN(01) << 22)
#define PSEL1_AN1 (BIN(01) << 24)
#define PSEL1 \
(PSEL1_EINT0 | \
PSEL1_SCK_SSP | \
PSEL1_MISO_SSP | \
PSEL1_MOSI_SSP | \
PSEL1_AN0 | PSEL1_AN1)
можно было написать
#define PSEL1_EINT0 (1 << 0)
#define PSEL1_SCK_SSP (2 << 2)
#define PSEL1_MISO_SSP (2 << 4)
#define PSEL1_MOSI_SSP (2 << 6)
#define PSEL1_AN0 (1 << 22)
#define PSEL1_AN1 (1 << 24)
но в даташите написано то
00 - одно
01 - другое
10 - следующее
11 - последнее
:)