2015年2月4日 星期三

AM335x pinmux

Beaglebone Black 的處理器 AM335x 每個多工接腳都有一個 Pad Control Register 控制,內容如下:

bitfielddescription
2:0MUXMODEpin mux 模式選擇
3PULLUDEN0 = 啟用 pull up/down,1 = 停用
4PULLTYPESEL0 = pull down, 1 = pull up
5RXACTIVE0 = output only, 1 = input or output
6SLEWCTRL選擇 slew rate
  • Pad Control Register 見 TRM 9.2.2 Table 9-1,每個接腳的位址見 TRM 9.3.1 Table 9-7 的 offset 0x800 開始的 conf_<module>_<pin> 暫存器
  • 完整的 pinmux mode 及預設值見 datasheet (Rev. G) 4.2 Table 4-1 Ball Characteristics ,有些會受到開機模式影響
  • pinmux 模式 7 是 GPIO,大部分預設是 GPIO
  • mmc0, mdio, mii1, mii2, I2C0, spi0, uart0, uart1 只有一種選擇
  • USB0 可轉成 UART2,USB1 可轉成 UART3

GPIO
有 4 個 GPIO module,每個 module 有 32 個 GPIO,總共 128 個 GPIO,其中只有部份接到 BBB 的 expansion header P8 及 P9。透過 GPIO 暫存器,可存取資料、設定為中斷等。

待整理
  • cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins 可看到 pinmux 的設定
  • https://github.com/derekmolloy/boneDeviceTree/blob/master/docs/BeagleboneBlackP8HeaderTable.pdf?raw=true
  • https://github.com/derekmolloy/boneDeviceTree/blob/master/docs/BeagleboneBlackP9HeaderTable.pdf?raw=true
  • device tree
  • cat /sys/kernel/debug/pinctrl/pinctrl-handles
  • /sys/kernel/debug/omap_mux
參考來源:
  1. http://derekmolloy.ie/beaglebone/beaglebone-gpio-programming-on-arm-embedded-linux/

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...