ZIA CB - DigitalMediaProfessionals/dv-sdk GitHub Wiki
レジスタ
以下の設定はzia-firmware-c3*
のバージョン7.0.20190215
以降のレジスタ設定です。
ベースアドレスは0xa0001000
です。
汎用LED はご利用いただけません。
状態リードには/dev/mem
をご利用ください。
ビット |
R/W |
機能 |
備考 |
31:20 |
- |
Reserved |
|
19 |
R |
CB S6-4 の状態(0:ON, 1:OFF) |
|
18 |
R |
CB S6-3 の状態(0:ON, 1:OFF) |
|
17 |
R |
CB S6-2 の状態(0:ON, 1:OFF) |
|
16 |
R |
CB S6-1 の状態(0:ON, 1:OFF) |
|
15:4 |
- |
Reserved |
|
3 |
R |
プッシュボタン(S5) 状態リード |
|
2 |
R |
プッシュボタン(S4) 状態リード |
|
1 |
R |
プッシュボタン(S3) 状態リード |
|
0 |
R |
プッシュボタン(S2) 状態リード |
|
以下の設定はzia-firmware-c3*
のバージョン7.0.20190215
までのレジスタ設定です。
オフセット |
レジスタ |
R/W |
機能 |
備考 |
0x0000 |
GPI_00 |
R |
DIP スイッチ(S6) 状態リード |
|
0x0010 |
GPI_P0 |
R |
プッシュボタン(S2) 状態リード |
|
0x0014 |
GPI_P1 |
R |
プッシュボタン(S3) 状態リード |
|
0x0018 |
GPI_P2 |
R |
プッシュボタン(S4) 状態リード |
|
0x001C |
GPI_P3 |
R |
プッシュボタン(S5) 状態リード |
|
0x0020 |
GPO_0 |
RW |
汎用LED出力(LED1-4) |
Read Modify Write 必要 |
0x0030 |
GPIO_00 |
|
PF_IO0(K12)用 GPIO制御 |
現在はご利用いただけません |
0x0034 |
GPIO_01 |
|
PF_IO1(K13)用 GPIO制御 |
現在はご利用いただけません |
0x0038 |
GPIO_02 |
|
PF_IO2(F13)用 GPIO制御 |
現在はご利用いただけません |
GPI_00
ビット |
R/W |
機能 |
備考 |
31:4 |
- |
Reserved |
|
3 |
R |
CB S6-4 の状態(0:ON, 1:OFF) |
|
2 |
R |
CB S6-3 の状態(0:ON, 1:OFF) |
|
1 |
R |
CB S6-2 の状態(0:ON, 1:OFF) |
|
0 |
R |
CB S6-1 の状態(0:ON, 1:OFF) |
|
GPI_P0
ビット |
R/W |
機能 |
備考 |
31:1 |
- |
Reserved |
|
0 |
R |
CB S2 の状態(0:Pushなし, 1:Pushあり) |
Read することにより0 に設定 |
GPI_P1
ビット |
R/W |
機能 |
備考 |
31:1 |
- |
Reserved |
|
0 |
R |
CB S3 の状態(0:Pushなし, 1:Pushあり) |
Read することにより0 に設定 |
GPI_P2
ビット |
R/W |
機能 |
備考 |
31:1 |
- |
Reserved |
|
0 |
R |
CB S4 の状態(0:Pushなし, 1:Pushあり) |
Read することにより0 に設定 |
GPI_P3
ビット |
R/W |
機能 |
備考 |
31:1 |
- |
Reserved |
|
0 |
R |
CB S5 の状態(0:Pushなし, 1:Pushあり) |
Read することにより0 に設定 |
GPO_0
ビット |
R/W |
機能 |
備考 |
31:4 |
- |
Reserved |
|
3 |
RW |
CB LED4制御(0:OFF, 1:ON) |
|
2 |
RW |
CB LED3制御(0:OFF, 1:ON) |
|
1 |
RW |
CB LED2制御(0:OFF, 1:ON) |
|
0 |
RW |
CB LED1制御(0:OFF, 1:ON) |
|
GPIO_00
ビット |
R/W |
機能 |
備考 |
31:2 |
- |
Reserved |
|
1 |
RW |
RF_IO0 DIR(0:Input, 1:Output) |
Hi-z出力はInputで対応 |
0 |
R |
Input時 入力データ |
|
0 |
RW |
Output時 出力データ |
|
GPIO_01
ビット |
R/W |
機能 |
備考 |
31:2 |
- |
Reserved |
|
1 |
RW |
RF_IO1 DIR(0:Input, 1:Output) |
Hi-z出力はInputで対応 |
0 |
R |
Input時 入力データ |
|
0 |
RW |
Output時 出力データ |
|
GPIO_02
ビット |
R/W |
機能 |
備考 |
31:2 |
- |
Reserved |
|
1 |
RW |
RF_IO2 DIR(0:Input, 1:Output) |
Hi-z出力はInputで対応 |
0 |
R |
Input時 入力データ |
|
0 |
RW |
Output時 出力データ |
|
GPIO
GPIO の使い方は次の通りです。
PS_MIOxx のGPIO
PS_MIOxx(xは数字)はLinux に一般のsysfs を通して操作可能です。
公式ドキュメントはこちらになります。
ただし、まず弊社のプログラムにより対象のGPIOを使えるように設定してください。
$ # initialize gpio by DMP program
$ cd /home/ubuntu/dv-sdk/utils/ && make
$ sudo ./reset_mio_c3 xx
$ # /sys/class/gpio/gpioxx/ が作られます。
$ echo $(( $(cat /sys/class/gpio/gpiochip*/base) + xx )) > /sys/class/gpio/export
$ # cat /sys/class/gpio/gpioxx/{direction,value,edge,active_low} などで情報を取得できます。
$ # 各ファイルにつきましては[https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/gpio/sysfs.txt?h=v4.14.96] をご参照ください。
$ # finalize
$ echo $(( $(cat /sys/class/gpio/gpiochip*/base) + xx )) > /sys/class/gpio/unexport
C 言語のプログラムからも同様に操作できます。Xilinx-Wiki をご参照ください。
ただし、PS_MIO42/PS_MIO32/PS_MIO33 は予約済みのためご利用いただけません。
PF_IOx のGPIO
PF_IOx のGPIO は現在ご利用いただけません。