寄存器描述

表1 GPIO寄存器配置说明

GROUP

IOMUX_BASE

GPIO_BASE

DIRECTION_OFFSET

SET_VALUE_OFFSET

GET_VALUE_OFFSET

0

0xC4000000

0xC4040000

0x4

0x0

0x50

1

0xC4000000

0xC4050000

0x4

0x0

0x50

2

0x82320000

0x820F0000

0x4

0x0

0x50

3

0x82320000

0x82100000

0x4

0x0

0x50

4

0xA0140000

0xA0160000

0x4

0x0

0x50

5

0x3001D0000

0x300160000

0x4

0x0

0x50

7

0x400140000

0x400150000

0x4

0x0

0x50

  • GROUP:为GPIO组号,Atlas 200I A2 加速模块当前不支持查询和设置第6组的GPIO管脚;第8组管脚为休眠唤醒与安全关机特性使用管脚,不支持寄存器配置。
  • IOMUX_BASE:GPIO复用关系配置基地址,每个管脚对应的复用关系配置偏移地址不同,详细复用关系请参考表2
  • GPIO_BASE:GPIO寄存器基地址,基地址+偏移地址存储的值为一个32位的数值,该数值的每一位对应一个管脚的配置。
  • DIRECTION_OFFSET:GPIO管脚方向配置偏移地址,配置GPIO_BASE+ DIRECTION_OFFSET即可配置GPIO方向。
  • SET_VALUE_OFFSET:GPIO管脚值设置偏移地址,配置GPIO_BASE+ SET_VALUE_OFFSET即可配置GPIO管脚值。
  • GET_VALUE_OFFSET:GPIO管脚值查询偏移地址,查询GPIO_BASE+ GET_VALUE_OFFSET即可查询GPIO管脚值。
表2 管脚复用关系说明

GROUP

PIN

IOMUX_BASE

RESET_OFFSET

RESET_GPIO

0

0

0xC4000000

0x010

0x3

0

1

0xC4000000

0X014

0x3

0

2

0xC4000000

0x018

0x3

0

3

0xC4000000

0x01C

0x3

0

4

0xC4000000

0x020

0x0

0

5

0xC4000000

0x024

0x0

0

6

0xC4000000

0x028

0x0

0

7

0xC4000000

0x02c

0x0

0

8

0xC4000000

0x030

0x0

0

9

0xC4000000

0x034

0x0

0

10

0xC4000000

0x038

0x0

0

11

0xC4000000

0x03C

0x0

0

12

0xC4000000

0x0AC

0x3

0

13

0xC4000000

0x0B0

0x3

0

14

0xC4000000

0x0B4

0x3

0

15

0xC4000000

0x0B8

0x3

0

16

0xC4000000

0x0BC

0x3

0

17

0xC4000000

0x0C0

0x3

0

18

0xC4000000

0x0C4

0x3

0

19

0xC4000000

0x0C8

0x3

0

20

0xC4000000

0x0D4

0x3

0

21

0xC4000000

0x0D8

0x3

0

22

0xC4000000

0x0DC

0x3

0

23

0xC4000000

0x0E0

0x3

0

24

0xC4000000

0x0FC

0x3

0

25

0xC4000000

0x100

0x3

0

26

0xC4000000

0x114

0x0

0

27

0xC4000000

0x118

0x0

1

0

0xC4000000

0x0CC

0x3

1

1

0xC4000000

0x0D0

0x3

1

2

0xC4000000

0x0E4

0x3

1

3

0xC4000000

0x0E8

0x3

1

4

0xC4000000

0x0EC

0x3

1

5

0xC4000000

0x0F0

0x3

1

6

0xC4000000

0x0F4

0x3

1

7

0xC4000000

0x0F8

0x3

1

8

0xC4000000

0x11C

0x0

1

9

0xC4000000

0x120

0x0

1

10

0xC4000000

0x124

0x3

1

11

0xC4000000

0x128

0x3

2

9

0x82320000

0x000

0x3

2

10

0x82320000

0x004

0x3

2

11

0x82320000

0x028

0x3

2

12

0x82320000

0x02C

0x3

2

13

0x82320000

0x030

0x3

2

14

0x82320000

0x034

0x3

2

15

0x82320000

0x038

0x3

2

16

0x82320000

0x03C

0x3

2

17

0x82320000

0x040

0x3

2

18

0x82320000

0x044

0x3

2

19

0x82320000

0x048

0x3

2

20

0x82320000

0x04C

0x3

2

21

0x82320000

0x050

0x3

2

22

0x82320000

0x054

0x3

2

23

0x82320000

0x058

0x3

2

24

0x82320000

0x05C

0x3

2

25

0x82320000

0x060

0x3

2

26

0x82320000

0x064

0x3

2

27

0x82320000

0x068

0x3

2

28

0x82320000

0x06C

0x3

2

29

0x82320000

0x070

0x3

2

30

0x82320000

0x074

0x3

2

31

0x82320000

0x078

0x3

3

0

0x82320000

0x07C

0x3

3

1

0x82320000

0x080

0x3

3

2

0x82320000

0x084

0x3

3

3

0x82320000

0x088

0x3

3

4

0x82320000

0x08C

0x3

3

5

0x82320000

0x090

0x3

3

6

0x82320000

0x094

0x3

3

7

0x82320000

0x098

0x3

4

0

0xA0140000

0x0BC

0x0

4

1

0xA0140000

0x0C0

0x0

4

2

0xA0140000

0x068

0x3

4

3

0xA0140000

0x06C

0x3

4

4

0xA0140000

0x070

0x3

4

5

0xA0140000

0x074

0x3

4

6

0xA0140000

0x078

0x3

4

7

0xA0140000

0x07C

0x3

4

8

0xA0140000

0x080

0x3

4

9

0xA0140000

0x084

0x3

4

10

0xA0140000

0x088

0x3

4

11

0xA0140000

0x08C

0x3

4

12

0xA0140000

0x090

0x3

4

13

0xA0140000

0x094

0x3

4

14

0xA0140000

0x098

0x3

4

15

0xA0140000

0x09C

0x3

4

16

0xA0140000

0x0A0

0x3

4

17

0xA0140000

0x0A4

0x3

4

18

0xA0140000

0x0A8

0x3

4

19

0xA0140000

0x0AC

0x3

4

21

0xA0140000

0x0B4

0x3

4

22

0xA0140000

0x0B8

0x3

4

23

0xA0140000

0x0C4

0x3

4

24

0xA0140000

0x0C8

0x3

5

0

0x3001D0000

0x000

0x3

5

1

0x3001D0000

0x004

0x3

5

2

0x3001D0000

0x008

0x3

5

3

0x3001D0000

0x00C

0x3

5

4

0x3001D0000

0x010

0x3

5

5

0x3001D0000

0x014

0x3

5

6

0x3001D0000

0x018

0x3

5

7

0x3001D0000

0x01C

0x3

5

8

0x3001D0000

0x020

0x3

5

9

0x3001D0000

0x024

0x3

5

10

0x3001D0000

0x028

0x3

5

11

0x3001D0000

0x02C

0x3

5

12

0x3001D0000

0x030

0x3

5

13

0x3001D0000

0x034

0x3

5

14

0x3001D0000

0x038

0x3

5

15

0x3001D0000

0x03C

0x3

5

16

0x3001D0000

0x040

0x3

5

17

0x3001D0000

0x044

0x3

5

18

0x3001D0000

0x048

0x3

5

19

0x3001D0000

0x04C

0x3

7

1

0x400140000

0x000

0x3

7

2

0x400140000

0x030

0x3

7

3

0x400140000

0x034

0x3

7

4

0x400140000

0x038

0x3

7

5

0x400140000

0x03C

0x3

7

6

0x400140000

0x040

0x3

7

7

0x400140000

0x044

0x3

7

8

0x400140000

0x048

0x3

7

9

0x400140000

0x04C

0x3

7

10

0x400140000

0x050

0x3

7

11

0x400140000

0x054

0x3

7

12

0x400140000

0x058

0x3

7

13

0x400140000

0x05C

0x3

  • 查询IOMUX_BASE+RESET_OFFSET的值。
    • 若查询值与RESET_GPIO相等,则说明当前管脚已经被复用为GPIO。
    • 若查询值与RESET_GPIO不相等,将IOMUX_BASE+RESET_OFFSET的值设为RESET_GPIO。
  • 表中未体现的管脚表明无复用关系,可直接作为GPIO管脚使用。详细使用方法请参考GPIO工具介绍
表3 GPIO管脚编号映射表

GROUP

PIN_RANGE

START_ID

END_ID

0

0~31

0

31

1

0~31

32

63

2

0~31

64

95

3

0~31

476

507

4

0~31

128

159

5

0~31

160

191

7

0~31

224

255

此表说明GPIO管脚与其编号的对应关系。比如第N组第M个管脚的编号GPIO_ID为第N组的START_ID+M。