( GPIObase_addr)
( Get base address of GPIO)

( Info on register addresses: ***********)
( Note: Rev 1 Pi uses BSC0 on pins 3 & 5; Rev 2 uses BSC1)
(       Rev 1: &2020_0000; Rev 2: 2080_0000 for base address of registers
          Pi2: &3F200000  for GPIO base address)
( board nos: 12 for Rev2; 17 for B+)

( NB variable qPi2 defined in !Startup)
: setbasereg  qPi2 @ 2 = IF   [ HEX 3F200000 ] LITERAL    ( for Pi2)
                         ELSE [ HEX 20200000 ] LITERAL    ( for B,B+)
                         ENDIF ;

HEX
setbasereg DUP CR . CR KEY DROP
200 SWAP DECIMAL 13 SPI_reg
 CR ." GPIForth: GPIO base address: " HEX DUP U. CR
CONSTANT GPIOsel_fn
HEX
