Siflower IOMUX Table

2020/09/03 LINUX 共 6202 字,约 18 分钟

Siflower IOMUX Table

目录

1. 介绍

Siflower的芯片提供一些PAD脚,这些PAD脚可以配置为不同的功能,本文提供了Siflower sf19a2890 fullmaks芯片的IOMUX Table

1.1. 适用人员

  • 有查看Siflower IOMUX Table的需求的人员

1.2. 开发环境

  • 可以正常编译通过的Siflower SDK环境 该环境的搭建请参考快速入门

2. SF19A2890 fullmask IOMUX Table

下面的表格就是Siflower的SF19A2890 fullmask的IOMUX表格, 在该表格中会说明Siflowr的每一个可以配置的PAD的支持配置成那些模式.

IndexPin NameDefault ModeGPIO_MODEFUNC_MODE0FUNC_MODE1FUNC_MODE2FUNC_MODE3
0JTAG_TDOFUNC_MODE0GPIO0JTAG_TDOUART1_TXDETH_LED0CATIP_SCLK
1JTAG_TDIFUNC_MODE0GPIO1JTAG_TDIUART1_RXDETH_LED1CATIP_SS
2JTAG_TMSFUNC_MODE0GPIO2JTAG_TMSUART1_CTSETH_LED2CATIP_MOSI
3JTAG_TCKFUNC_MODE0GPIO3JTAG_TCKUART1_RTSETH_LED3PWM0
4JTAG_RSTFUNC_MODE0GPIO4JTAG_RSTNCPWM5CATIP_MISO
5SPI_TXDFUNC_MODE0GPIO5SPI2_TXDNCNCNC
6SPI_RXDFUNC_MODE0GPIO6SPI2_RXDNCNCNC
7SPI_CLKFUNC_MODE0GPIO7SPI2_CLKNCNCNC
8SPI_CSNFUNC_MODE0GPIO8SPI2_CSNNCNCNC
9UART_TXFUNC_MODE0GPIO9UART0_TXDNCNCNC
10UART_RXFUNC_MODE0GPIO10UART0_RXDNCNCNC
11I2C_DATFUNC_MODE0GPIO11UART0_CTSUART2_RXDI2C0_DATNC
12I2C_CLKFUNC_MODE0GPIO12UART0_RTSUART2_TXDI2C0_CLKNC
13RGMII_GTX_CLKGPIO_MODEGPIO13RGMII0_GTX_CLK / RMII_REF_CLKNCNC 
14RGMII_TXCLKGPIO_MODEGPIO14RGMII0_TXCLKNCNCNC
15RGMII_TXD0GPIO_MODEGPIO15RGMII0_TXD0 / RMII_TXD0NCNCNC
16RGMII_TXD1GPIO_MODEGPIO16RGMII0_TXD1 / RMII_TXD1NCNCNC
17RGMII_TXD2GPIO_MODEGPIO17RGMII0_TXD2NCNCNC
18RGMII_TXD3GPIO_MODEGPIO18RGMII0_TXD3NCNCNC
19RGMII_TXCTLGPIO_MODEGPIO19RGMII0_TXCTL / RMII_TX_ENNCNCNC
20RGMII_RXCLKGPIO_MODEGPIO20RGMII0_RXCLKNCNCNC
21RGMII_RXD0GPIO_MODEGPIO21RGMII0_RXD0 / RMII_RXD0NCNCNC
22RGMII_RXD1GPIO_MODEGPIO22RGMII0_RXD1 / RMII_RXD1NCNCNC
23RGMII_RXD2GPIO_MODEGPIO23RGMII0_RXD2NCNCNC
24RGMII_RXD3GPIO_MODEGPIO24RGMII0_RXD3NCNCNC
25RGMII_RXCTLGPIO_MODEGPIO25RGMII0_RXCTL / RMII_CRS_DVNCNCNC
26RGMII_COLGPIO_MODEGPIO26RGMII0_COLNCNCNC
27RGMII_CRSGPIO_MODEGPIO27RGMII0_CRSNCNCNC
28RGMII_MDCGPIO_MODEGPIO28RGMII0_MDC / RMII_MDCNCNCNC
29RGMII_MDIOGPIO_MODEGPIO29RGMII0_MDIO / RMII_MDIONCNCNC
30HB0_PA_ENGPIO_MODEGPIO30HB0_PA_ENNCNCCATIP_DEBUG_IO0
31HB0_LNA_ENGPIO_MODEGPIO31HB0_LNA_ENNCNCCATIP_DEBUG_IO1
32HB0_SW_CTRL0GPIO_MODEGPIO32HB0_SW_CTRL0NCNCCATIP_DEBUG_IO2
33HB0_SW_CTRL1GPIO_MODEGPIO33HB0_SW_CTRL1NCNCCATIP_DEBUG_IO3
34HB1_PA_ENGPIO_MODEGPIO34HB1_PA_ENNCNCCATIP_DEBUG_IO4
35HB1_LNA_ENGPIO_MODEGPIO35HB1_LNA_ENNCNCCATIP_DEBUG_IO5
36HB1_SW_CTRL0GPIO_MODEGPIO36HB1_SW_CTRL0NCNCCATIP_DEBUG_IO6
37HB1_SW_CTRL1GPIO_MODEGPIO37HB1_SW_CTRL1NCNCCATIP_DEBUG_IO7
38LB0_PA_ENGPIO_MODEGPIO38LB0_PA_ENNCNCCATIP_DEBUG_IO8
39LB0_LNA_ENGPIO_MODEGPIO39LB0_LNA_ENNCNCCATIP_DEBUG_IO9
40LB0_SW_CTRL0GPIO_MODEGPIO40LB0_SW_CTRL0NCNCCATIP_DEBUG_IO10
41LB0_SW_CTRL1GPIO_MODEGPIO41LB0_SW_CTRL1NCNCCATIP_DEBUG_IO11
42LB1_PA_ENGPIO_MODEGPIO42LB1_PA_ENNCNCCATIP_DEBUG_IO12
43LB1_LNA_ENGPIO_MODEGPIO43LB1_LNA_ENNCNCCATIP_DEBUG_IO13
44LB1_SW_CTRL0GPIO_MODEGPIO44LB1_SW_CTRL0NCNCCATIP_DEBUG_IO14
45LB1_SW_CTRL1GPIO_MODEGPIO45LB1_SW_CTRL1NCNCCATIP_DEBUG_IO15
46CLK_OUTGPIO_MODEGPIO46CLK_OUTNCNCNC
47EXT_CLK_INFUNC_MODE0GPIO47EXT_CLK_INNCNCNC
48DRVVBUS0GPIO_MODEGPIO48DRVVBUS0NCNCNC

3. 如何在shell命令行获取PAD脚的状态

3.1. kernel选择DEBUG_FS配置

可以通过make kernel_menuconfig选择, 然后编译镜像. 如何编译烧录镜像参考快速入门

DEBUG_FS的位置如下:

Kernel hacking  --->
    Compile-time checks and compiler options  ---> 
        [*]Debug Filesystem 

也可以通过直接修改修改target/linux/siflower/sf19a28-fullmask/config-3.18_$(board)文件,添加如下内容 CONFIG_DEBUG_FS=y

3.2. 命令

烧录选择了CONFIG_DEBUG_FS的镜像,在运行的时候就可以通过命令cat /sys/kernel/debug/pinctrl/pinctrl/pins,在结合IOMUX Table即可知道每一个PAD所处的模式, 该命令的显示结果如下所示:

root@OpenWrt:/# cat /sys/kernel/debug/pinctrl/pinctrl/pins   
registered pins: 51   
pin 0 (gpio-0) function func0 in lo; irq 31 (none)  
pin 1 (gpio-1) function func0 in lo; irq 32 (none)  
pin 2 (gpio-2) function func0 in lo; irq 33 (none)  
pin 3 (gpio-3) function func0 in lo; irq 34 (none)  
pin 4 (gpio-4) function func0 in lo; irq 35 (none)  
pin 5 (gpio-5) function func0 in lo; irq 36 (none)  
pin 6 (gpio-6) function func0 in lo; irq 37 (none)  
pin 7 (gpio-7) function func0 in lo; irq 38 (none)  
pin 8 (gpio-8) function gpio_in in hi; irq 39 (none)  
pin 9 (gpio-9) function func0 in lo; irq 40 (none)  
pin 10 (gpio-10) function func0 in lo; irq 41 (none)  
pin 11 (gpio-11) function gpio_out in hi; irq 42 (edge-both)  
pin 12 (gpio-12) function func0 in lo; irq 43 (none)  
pin 13 (gpio-13) function func0 in lo; irq 44 (none)  
pin 14 (gpio-14) function func0 in lo; irq 45 (none)  
pin 15 (gpio-15) function func0 in lo; irq 46 (none)  
pin 16 (gpio-16) function func0 in lo; irq 47 (none)  
pin 17 (gpio-17) function func0 in lo; irq 48 (none)  
pin 18 (gpio-18) function func0 in lo; irq 49 (none)  
pin 19 (gpio-19) function func0 in lo; irq 50 (none)  
pin 20 (gpio-20) function func0 in lo; irq 51 (none)  
pin 21 (gpio-21) function func0 in lo; irq 52 (none)  
pin 22 (gpio-22) function func0 in lo; irq 53 (none)  
pin 23 (gpio-23) function func0 in lo; irq 54 (none)  
pin 24 (gpio-24) function func0 in lo; irq 55 (none)  
pin 25 (gpio-25) function func0 in lo; irq 56 (none)  
pin 26 (gpio-26) function func0 in lo; irq 57 (none)  
pin 27 (gpio-27) function func0 in lo; irq 58 (none)  
pin 28 (gpio-28) function func0 in lo; irq 59 (none)  
pin 29 (gpio-29) function func0 in lo; irq 60 (none)  
pin 30 (gpio-30) function func0 in lo; irq 61 (none)  
pin 31 (gpio-31) function func0 in lo; irq 62 (none)  
pin 32 (gpio-32) function func0 in lo; irq 63 (none)  
pin 33 (gpio-33) function func0 in lo; irq 64 (none)  
pin 34 (gpio-34) function func0 in lo; irq 65 (none)  
pin 35 (gpio-35) function func0 in lo; irq 66 (none)  
pin 36 (gpio-36) function func0 in lo; irq 67 (none)  
pin 37 (gpio-37) function func0 in lo; irq 68 (none)  
pin 38 (gpio-38) function func0 in lo; irq 69 (none)  
pin 39 (gpio-39) function func0 in lo; irq 70 (none)  
pin 40 (gpio-40) function func0 in lo; irq 71 (none)  
pin 41 (gpio-41) function func0 in lo; irq 72 (none)  
pin 42 (gpio-42) function func0 in lo; irq 73 (none)  
pin 43 (gpio-43) function func0 in lo; irq 74 (none)  
pin 44 (gpio-44) function func0 in lo; irq 75 (none)  
pin 45 (gpio-45) function func0 in lo; irq 76 (none)  
pin 46 (gpio-46) function func0 in lo; irq 77 (none)  
pin 47 (gpio-47) function func0 in lo; irq 78 (none)  
pin 48 (gpio-48) function gpio_out in lo; irq 79 (none)  
pin 49 (gpio-49) function func0 in lo; irq 80 (none)  
pin 50 (gpio-50) function func0 in lo; irq 81 (none)  
root@OpenWrt:/#   

其中pin 0 (gpio-0)代表的就是index为0, 而且是gpio-0; function func0 代表的就是function的模式为func0; in lo代表的就是该pin的状态(是高电平还是低电平);irq 42 (edge-both)代表的是该pin注册的中断号是42, 且为edge-both触发方式(边沿触发).

中断的触发方式有:

Interrupt trigger modeDescription
none触发方式未知
edge-rising上升沿触发
edge-falling下降压触发
edge-both边沿触发
level-high高电平触发
level-low低电平触发

Function有如下

FunctionDescription
func0对应IOMUX Tabel查看
func1对应IOMUX Tabel查看
func2对应IOMUX Tabel查看
func3对应IOMUX Tabel查看
gpio_inGPIO的Input模式
gpio_outGPIO的Output模式

in Pin脚的电平状态有如下

statusDescription
lo低电平
hi高电平

FAQ

本文主要是提供Siflower的IOMUX Table, 关于IOMUX的具体应用请参考Pinctrl 和 GPIO 使用手册

文档信息

Search

    Table of Contents