IPC@CHIP® RTOS-PPC – API Documentation

Header image

Main page


GPIO Pins


Detailed Description

Mapping of PIO Numbers to GPIO Pins

PIO No.

GPIO Pin

GPIO Type

Group

Usable as DMA request pin

0

PSC1_0

Simple

PSC1 (group 0)

yes

1

PSC1_1

Simple

yes

2

PSC1_2

Simple

yes

3

PSC1_3

Simple

yes

4

PSC1_4

Interrupt/Wakeup

no

5

PSC2_0

Simple

PSC2 (group 1)

yes

6

PSC2_1

Simple

yes

7

PSC2_2

Simple

yes

8

PSC2_3

Simple

yes

9

PSC2_4

Interrupt/Wakeup

no

10

PSC3_0

Simple

PSC3 (group 2)

yes

11

PSC3_1

Simple

yes

12

PSC3_2

Simple

yes

13

PSC3_3

Simple

yes

14

PSC3_4

Interrupt

yes

15

PSC3_5

Interrupt

yes

16

PSC3_6

Simple

yes

17

PSC3_7

Simple

yes

18

PSC3_8

Interrupt

yes

19

PSC3_9

Interrupt/Wakeup

no

20

PSC6_0

Interrupt/Wakeup

PSC6 (group 3)

no

21

PSC6_1

Interrupt/Wakeup

no

22

PSC6_2

Simple

yes

23

PSC6_3

Simple

yes

24

USB1_0

Simple

USB1 (group 4)

yes

25

USB1_6

Simple

yes

26

USB1_7

Simple

yes

27

USB1_8

Simple

yes

28

USB1_9

Interrupt

yes

29

I2C_0

Output Only

I2C (no group)

no

30

I2C_1

Output Only

no

31

GPIO_7

Interrupt/Wakeup

GPIO (group 5)

no

32

TIMER_0

Simple

Timer (no group)

no

33

TIMER_1

Simple

no

34

TIMER_2

Simple

Timer (group 6)

no

35

TIMER_3

Simple

no

36

TIMER_4

Simple

no

37

TIMER_5

Simple

no

38

TIMER_6

Simple

Timer (no group)

no

39

TIMER_7

Simple

no

GPIO Groups

The availability of a GPIO pin depends on the current group setup. The pio command shows the availability in the Av field.
If e.g. fossil_initmode (0, TRUE, FALSE, FALSE); is called, the PSC1 group is setup to UART1 with DCD mode.
The function call gpioEnableGroup (0) can be used to setup the PSC1 group to GPIO mode.

The following setups are currently possible:

PSC1
(group 0)

GPIO

UART1

UART1 with DCD

CODEC1

PSC1_0

PIO0 (Simple GPIO)

UART1_TXD

UART1_TXD

CODEC1_TXD

PSC1_1

PIO1 (Simple GPIO)

UART1_RXD

UART1_RXD

CODEC1_RXD

PSC1_2

PIO2 (Simple GPIO)

UART1_RTS

UART1_RTS

PIO2

PSC1_3

PIO3 (Simple GPIO)

UART1_CTS

UART1_CTS

CODEC1_CLK

PSC1_4

PIO4 (Interrupt/Wakeup GPIO)

PIO4

UART1_DCD

CODEC1_FRAME


PSC2
(group 1)

GPIO

UART2

UART2 with DCD

CODEC2

CAN1 and CAN2

PSC2_0

PIO5 (Simple GPIO)

UART2_TXD

UART2_TXD

CODEC2_TXD

CAN1_TX

PSC2_1

PIO6 (Simple GPIO)

UART2_RXD

UART2_RXD

CODEC2_RXD

CAN1_RX

PSC2_2

PIO7 (Simple GPIO)

UART2_RTS

UART2_RTS

PIO7

CAN2_TX

PSC2_3

PIO8 (Simple GPIO)

UART2_CTS

UART2_CTS

CODEC2_CLK

CAN2_RX

PSC2_4

PIO9 (Interrupt/Wakeup GPIO)

PIO9

UART2_DCD

CODEC2_FRAME

PIO9


PSC3
(group 2)

GPIO

UART3

UART3 with DCD

USB2

SPI

UART3 and SPI

UART3 with DCD and SPI

CODEC3

CODEC3 and SPI

PSC3_0

PIO10 (Simple GPIO)

UART3_TXD

UART3_TXD

USB2_OE

PIO10

UART3_TXD

UART3_TXD

CODEC3_TXD

CODEC3_TXD

PSC3_1

PIO11 (Simple GPIO)

UART3_RXD

UART3_RXD

USB2_TXN

PIO11

UART3_RXD

UART3_RXD

CODEC3_RXD

CODEC3_RXD

PSC3_2

PIO12 (Simple GPIO)

UART3_RTS

UART3_RTS

USB2_TXP

PIO12

UART3_RTS

UART3_RTS

CODEC3_CLK

CODEC3_CLK

PSC3_3

PIO13 (Simple GPIO)

UART3_CTS

UART3_CTS

USB2_RXD

PIO13

UART3_CTS

UART3_CTS

CODEC3_FRAME

CODEC3_FRAME

PSC3_4

PIO14 (Interrupt GPIO) / LP_CS_6

PIO14 / LP_CS_6

UART3_DCD

USB2_RXP

PIO14 / LP_CS_6

PIO14 / LP_CS_6

UART3_DCD

PIO14 / LP_CS_6

PIO14 / LP_CS_6

PSC3_5

PIO15 (Interrupt GPIO) / LP_CS_7

PIO15 / LP_CS_7

PIO15 / LP_CS_7

USB2_RXN

PIO15 / LP_CS_7

PIO15 / LP_CS_7

PIO15 / LP_CS_7

PIO15 / LP_CS_7

PIO15 / LP_CS_7

PSC3_6

PIO16 (Simple GPIO)

PIO16

PIO16

USB2_PRTPWR

SPI_MOSI

SPI_MOSI

SPI_MOSI

PIO16

SPI_MOSI

PSC3_7

PIO17 (Simple GPIO)

PIO17

PIO17

USB2_SPEED

SPI_MISO

SPI_MISO

SPI_MISO

PIO17

SPI_MISO

PSC3_8

PIO18 (Interrupt GPIO)

PIO18

PIO18

USB2_SUSPEND

SPI_SS

SPI_SS

SPI_SS

PIO18

SPI_SS

PSC3_9

PIO19 (Interrupt/Wakeup GPIO)

PIO19

PIO19

USB2_OVRCNT

SPI_CLK

SPI_CLK

SPI_CLK

PIO19

SPI_CLK


PSC6
(group 3)

GPIO

UART6

CODEC6

PSC6_0

PIO20 (Interrupt/Wakeup GPIO)

UART6_RXD

CODEC6_RXD

PSC6_1

PIO21 (Interrupt/Wakeup GPIO)

UART6_CTS

CODEC6_FRAME

PSC6_2

PIO22 (Simple GPIO)

UART6_TXD

CODEC6_TXD

PSC6_3

PIO23 (Simple GPIO)

UART6_RTS

CODEC6_CLK


USB1
(group 4)

GPIO

UART4 and UART5

USB1

USB1_0

PIO24 (Simple GPIO)

PIO24

USB1_OE

USB1_6

PIO25 (Simple GPIO)

UART5_TXD

USB1_PORTPWR

USB1_7

PIO26 (Simple GPIO)

UART5_RTS

USB1_SPEED

USB1_8

PIO27 (Simple GPIO)

UART5_CTS

USB1_SUSPEND

USB1_9

PIO28 (Interrupt GPIO)

PIO28

USB1_OVERCNT


I2C

GPIO / I2C1

I2C_0

PIO29 (Output Only GPIO) / I2C1_CLK

I2C_1

PIO30 (Output Only GPIO) / I2C1_IO


GPIO
(group 5)

GPIO

TSIZ1

GPIO_7

PIO31 (Interrupt/Wakeup GPIO)

TSIZ1


Timer
(group 6)

GPIO / Timer

SPI

Timer0

PIO32 (Simple GPIO)

PIO32

Timer1

PIO33 (Simple GPIO) / Timer1

PIO33 / Timer1

Timer2

PIO34 (Simple GPIO) / Timer2

SPI_MOSI

Timer3

PIO35 (Simple GPIO) / Timer3

SPI_MISO

Timer4

PIO36 (Simple GPIO) / Timer4

SPI_SS

Timer5

PIO37 (Simple GPIO) / Timer5

SPI_CLK

Timer6

PIO38 (Simple GPIO) / Timer6

PIO38 / Timer6

Timer7

PIO39 (Simple GPIO) / Timer7

PIO39 / Timer7


Note: The SPI module can only be activated on the PCS3 group OR on the Timer group. It's an alternate setting. It cannot be activated on both groups simultaneously.

GPIO Types

Enumerations

enum  GPIO_MODES {
  PIO_I = 1,
  PIO_IPU = 2,
  PIO_IPD = 3,
  PIO_O1 = 4,
  PIO_O0 = 5,
  PIO_OC1 = 6,
  PIO_OC0 = 7
}
 

GPIO modes.

More...





Top of page | Main page

Copyright © 2017 Beck IPC GmbH
Generated on Thu Jan 26 16:21:36 2017 by Doxygen 1.6.1