本章では、Armadillo-IoT ゲートウェイ G4で利用できる各種機能の仕様について説明します。
Armadillo-IoT ゲートウェイ G4のSDホストは、i.MX 8M PlusのuSDHC(Ultra Secured Digital Host Controller)を利用しています。
Armadillo-IoT ゲートウェイ G4では、SDインターフェース(CON1)がuSDHC2を利用しています。
-
機能
-
カードタイプ: microSD/microSDHC/microSDXC/microSDIO
-
バス幅: 1bit or 4bit
-
スピードモード: Default Speed(26MHz), High Speed(52MHz), UHS-I(208MHz)
-
カードディテクトサポート
-
デバイスファイル
-
関連するソースコード
-
drivers/mmc/host/sdhci-esdhc-imx.c
-
drivers/mmc/host/sdhci-of-esdhc.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml
-
Documentation/devicetree/bindings/mmc/mmc-controller.yaml
-
カーネルコンフィギュレーション
Device Drivers --->
<*> MMC/SD/SDIO card support ---> <MMC>
<*> MMC block device driver <MMC_BLOCK>
(32) Number of minors per block device <MMC_BLOCK_MINORS>
*** MMC/SD/SDIO Host Controller Drivers ***
<*> Secure Digital Host Controller Interface support
<MMC_SDHCI>
<*> SDHCI platform and OF driver helper <MMC_SDHCI_PLTFM>
<*> SDHCI OF support for the Freescale eSDHC controller
<MMC_SDHCI_OF_ESDHC>
<*> SDHCI support for the Freescale eSDHC/uSDHC i.MX controller support
<MMC_SDHCI_ESDHC_IMX>
Armadillo-IoT ゲートウェイ G4のEthernet(LAN)は、i.MX 8M PlusのENET(Ethernet MAC)およびENET_QOS(Ethernet Quality Of Service)を利用しています。
Armadillo-IoT ゲートウェイ G4では、LANインターフェース1(CON3)がENETを、LANインターフェース2(CON2)がENET_QOS利用しています。
| |
---|
LANインターフェース2(CON2)は10Mbps(10BASE-T)に非対応です。10Mbpsで通信を行う場合は、LANインターフェース1(CON3)をご利用ください。 |
-
機能
-
通信速度: 1000Mbps(1000BASE-T), 100Mbps(100BASE-TX), 10Mbps(10BASE-T)
-
通信モード: Full-Duplex(全二重), Half-Duplex(半二重) []
-
Auto Negotiationサポート
-
キャリア検知サポート
-
リンク検出サポート
-
関連するソースコード
-
drivers/net/ethernet/freescale/fec_main.c
-
drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c
-
drivers/net/phy/micrel.c
-
drivers/net/mdio/of_mdio.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/net/fsl-fec.txt
-
Documentation/devicetree/bindings/net/imx-dwmac.txt
-
Documentation/devicetree/bindings/net/micrel-ksz90x1.txt
-
Documentation/devicetree/bindings/net/net/ethernet-phy.yaml
-
ネットワークデバイス
-
eth0
(LANインターフェース1)
-
eth1
(LANインターフェース2)
-
カーネルコンフィギュレーション
Device Drivers --->
[*] Network device support ---> <NETDEVICES>
[*] Ethernet driver support ---> <ETHERNET>
[*] Freescale devices <NET_VENDOR_FREESCALE>
<*> FEC ethernet controller (of ColdFire and some i.MX CPUs)
<FEC>
[*] STMicroelectronics devices <NET_VENDOR_STMICRO>
<*> STMicroelectronics Multi-Gigabit Ethernet driver
<STMMAC_ETH>
<*> STMMAC Platform bus support <STMMAC_PLATFORM>
<*> Generic driver for DWMAC <DWMAC_GENERIC>
<*> NXP IMX8 DWMAC support <DWMAC_IMX8>
-*- PHY Device support and infrastructure ---> <PHYLIB>
[*] Support LED triggers for tracking link state
<LED_TRIGGER_PHY>
<*> Micrel PHYs <MICREL_PHY>
Armadillo-IoT ゲートウェイ G4のUSBホストは、i.MX 8M PlusのUSB(Universal Serial Bus Controller)およびUSB_PHY(Universal Serial Bus PHY)を利用しています。
Armadillo-IoT ゲートウェイ G4では、USBインターフェース(CON4)がUSB1を利用しています。USB2には「USBハブ」に示すUSB2422が接続されています。
-
機能
-
USB specification rev 3.0準拠
-
xHCI(eXtensible Host Controller Interface)互換
-
転送レート: Super-speed(5 Gbps), high-speed(480 Mbps), full-speed(12 Mbps), low-speed(1.5 Mbps)
-
デバイスファイル
-
メモリデバイスの場合は、デバイスを認識した順番で/dev/sdN (Nは’a'からの連番)となります。
-
I/Oデバイスの場合は、ファンクションに応じたデバイスファイルとなります。
-
関連するソースコード
-
drivers/usb/dwc3/dwc3-imx8mp.c
-
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/usb/dwc3-imx8mp.txt
-
Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.txt
-
カーネルコンフィギュレーション
Device Drivers --->
[*] USB support ---> <USB_SUPPORT>
<*> Support for Host-side USB <USB>
*** USB Host Controller Drivers ***
<*> xHCI HCD (USB 3.0) support <USB_XHCI_HCD>
-*- Generic xHCI driver for a platform device
<USB_XHCI_PLATFORM>
<*> DesignWare USB3 DRD Core Support <USB_DWC3>
DWC3 Mode Selection (Dual Role mode) --->
<USB_DWC3_DUAL_ROLE>
<*> NXP iMX8MP Platform <USB_DWC3_IMX8MP>
PHY Subsystem --->
-*- PHY Core <GENERIC_PHY>
<*> Freescale i.MX8M USB3 PHY <PHY_FSL_IMX8MQ_USB>
Armadillo-IoT ゲートウェイ G4には、Microchip製USB2422が搭載されています。USB2422は、「CON11、CON12 (拡張インターフェース)」に接続されています。
-
機能
-
USB specification rev 2.0準拠
-
転送レート: high-speed(480 Mbps), full-speed(12 Mbps), low-speed(1.5 Mbps)
-
関連するソースコード
-
drivers/usb/misc/usb251xb.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/usb/usb251xb.txt
-
カーネルコンフィギュレーション
Device Drivers --->
[*] USB support ---> <USB_SUPPORT>
*** USB Miscellaneous drivers ***
<*> USB251XB Hub Controller Configuration Driver
<USB_HUB_USB251XB>
Armadillo-IoT ゲートウェイ G4のUARTは、i.MX 8M PlusのUART(Universal Asynchronous Receiver/Transmitter)を利用しています。
Armadillo-IoT ゲートウェイ G4では、USBシリアル変換IC(CP2102N/Silicon Labs)経由でUART2に接続されています。
-
フォーマット
-
データビット長: 7 or 8ビット
-
ストップビット長: 1 or 2ビット
-
パリティ: 偶数 or 奇数 or なし
-
フロー制御: CTS/RTS or XON/XOFF or なし
-
最大ボーレート:4Mbps
| |
---|
USBコンソールインターフェース(CON6)は4Mbpsで利用することができません。USBシリアル変換IC(CP2102N/Silicon Labs)の最大ボーレートが3Mbpsである為です。 |
-
関連するソースコード
-
drivers/tty/serial/imx.c
-
drivers/tty/serial/imx_earlycon.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/serial/fsl-imx-uart.yaml
-
デバイスファイル
-
カーネルコンフィギュレーション
Device Drivers --->
Character devices --->
[*] Enable TTY <TTY>
Serial drivers --->
<*> IMX serial port support <SERIAL_IMX>
<*> Console on IMX serial port <SERIAL_IMX_CONSOLE>
[*] Earlycon on IMX serial port <SERIAL_IMX_EARLYCON>
Armadillo-IoT ゲートウェイ G4のHDMIは、i.MX 8M PlusのHDMI TX Controller、HDMI TX PHY、HDMI TX BLK_CTRL、HTX_PVI(HDMI TX Parallel Video Interface)およびLCDIF(LCD Interface)を利用しています。LCDIFは、LCDIF3を利用します。
Armadillo-IoT ゲートウェイ G4は、HDMI対応ディスプレイへの画像出力及び、音声出力をサポートしています。 Linuxでは、それぞれDRM(Direct Rendering Manager)デバイス []、ALSA(Advanced Linux Sound Architecture)デバイスとして利用することができます。
-
機能(画像出力)
-
最大解像度: 4096x2160ピクセル
-
最大ドットクロック: 297MHz
-
カラーフォーマット: RGB888(24bit)
-
走査方式: プログレッシブ
| |
---|
上記を満していても、画像出力できない場合があります。次のVIC [] は非対応である為、画像出力できません。 -
DAR(Display Aspect Ratio)が64
: 27または256 : 135のVIC
|
-
機能(音声出力)
-
サンプリング周波数: 32kHz, 44.1kHz, 48kHz, 88.2kHz, 96kHz, 176.4kHz, 192kHz
-
チャンネル数: 2
-
フォーマット: Signed 24/32 bit, Little-endian
-
デバイスファイル
-
/dev/dri/card1
(DRM)
-
/dev/fb0
(フレームバッファ)
-
hw:0
(ALSA)
-
sysfs DRMクラスディレクトリ
-
/sys/class/drm/card1-HDMI-A-1
-
関連するソースコード
-
drivers/gpu/drm/imx/dw_hdmi-imx.c
-
drivers/phy/freescale/phy-fsl-samsung-hdmi.c
-
drivers/clk/imx/clk-blk-ctrl.c
-
drivers/gpu/drm/imx/imx8mp-hdmi-pavi.c
-
drivers/gpu/imx/lcdifv3/lcdifv3-common.c
-
sound/soc/fsl/imx-cdnhdmi.c
-
sound/soc/fsl/fsl_aud2htx.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/phy/fsl,samsung-hdmi-phy.yaml
-
Documentation/devicetree/bindings/sound/imx-audio-cdnhdmi.txt
-
Documentation/devicetree/bindings/sound/fsl,aud2htx.txt
-
カーネルコンフィギュレーション
Device Drivers --->
Graphics support --->
<*> i.MX LCDIFV3 core support <IMX_LCDIFV3_CORE>
-*- NXP i.MX8MP HDMI Audio Video (PVI/PAI) <IMX8MP_HDMI_PAVI>
<*> Freescale i.MX DRM HDMI <DRM_IMX_HDMI>
-*- Common Clock Framework ---> <COMMON_CLK>
<*> IMX8MP CCM Clock Driver <CLK_IMX8MP>
<*> Sound card support ---> <SOUND>
<*> Advanced Linux Sound Architecture ---> <SND>
<*> ALSA for SoC audio support ---> <SND_SOC>
SoC Audio for Freescale CPUs --->
<*> SoC Audio support for i.MX boards with CDN HDMI port
<SND_SOC_IMX_CDNHDMI>
PHY Subsystem --->
-*- AUDIO TO HDMI TX module support <SND_SOC_FSL_AUD2HTX>
<*> Samsung HDMI PHY support <PHY_SAMSUNG_HDMI_PHY>
| |
---|
以下のコマンドを実行することで映像出力の信号を停止することができます。 [armadillo ~]# echo 1 > /sys/class/graphics/fb0/blank 映像出力を行いたい場合は以下のコマンドを実行します。 [armadillo ~]# echo 0 > /sys/class/graphics/fb0/blank |
Armadillo-IoT ゲートウェイ G4のLVDSは、i.MX 8M PlusのLDB(LVDS Display Bridge)およびLCDIF(LCD Interface)を利用しています。LCDIFは、LCDIF2を利用します。
Armadillo-IoT ゲートウェイ G4では、LVDSインターフェース(CON9)がLVDS0を利用しています。
Linuxでは、画像出力をDRM(Direct Rendering Manager)デバイス []として利用することができます。
-
機能
-
最大解像度: 1366x768p60
-
最大ピクセルクロック: 80MHz
-
レーン数: 4(データ), 1(クロック)
-
カラーフォーマット: RGB666(18bit), RGB888(24bit)
-
カラーマッピング: JEIDA, VESA
-
デバイスファイル
-
/dev/dri/card1
(DRM)
-
/dev/fb0
(フレームバッファ)
-
sysfs DRMクラスディレクトリ
-
/sys/class/drm/card1-LVDS-1
-
関連するソースコード
-
drivers/gpu/drm/imx/imx8mp-ldb.c
-
drivers/phy/freescale/phy-fsl-imx8mp-lvds.c
-
drivers/gpu/imx/lcdifv3/lcdifv3-common.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/display/imx/ldb.txt
-
Documentation/devicetree/bindings/phy/fsl,imx8mp-lvds-phy.yaml
-
Documentation/devicetree/bindings/display/panel/lvds.yaml
-
カーネルコンフィギュレーション
Device Drivers --->
Graphics support --->
<*> i.MX LCDIFV3 core support <IMX_LCDIFV3_CORE>
<*> DRM Support for Freescale i.MX <DRM_IMX>
<*> Support for i.MX8mp LVDS displays <DRM_IMX8MP_LDB>
PHY Subsystem --->
<*> Freescale i.MX8MP LVDS PHY <PHY_FSL_IMX8MP_LVDS>
Armadillo-IoT ゲートウェイ G4のMIPI CSI-2は、i.MX 8M PlusのMIPI_CSI(MIPI CSI Host Controller)を利用しています。
Armadillo-IoT ゲートウェイ G4では、MIPI-CSI インターフェース(CON10)がMIPI_CSI1を利用しています。
Linuxでは、カメラ [] からの画像入力をV4L2(Video4Linux2)デバイスとして利用することができます。
-
機能
-
MIPI D-PHY specification V1.2準拠
-
MIPI CSI2 Specification V1.3準拠(C-PHY featureを除く)
-
レーン数: 2(データ), 1(クロック)
-
最大ピクセルクロック: 400MHz
-
データレート: 80Mbps - 1.5Gbps(1レーンあたり)
-
カラーフォーマット(YUV): YUV420 8/10bit, YUV420 8bit Legacy, YUV420 8/10bit CSPS, YUV422 8/10bit
-
カラーフォーマット(RGB): RGB565, RGB666, RGB888
-
カラーフォーマット(RAW): RAW6, RAW7, RAW8, RAW10, RAW12, RAW14
-
デバイスファイル
-
関連するソースコード
-
drivers/staging/media/imx/imx8-mipi-csi2-sam.c
-
drivers/staging/media/imx/imx8-media-dev.c
-
drivers/staging/media/imx/imx8-isi-core.c
-
drivers/staging/media/imx/imx8-isi-cap.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/media/imx8-media-dev.txt
-
カーネルコンフィギュレーション
Device Drivers --->
[*] Staging drivers ---> <STAGING>
[*] Media staging drivers ---> <STAGING_MEDIA>
<*> i.MX V4L2 media core driver <VIDEO_IMX_CAPTURE>
i.MX8QXP/QM Camera ISI/MIPI Features support --->
<*> IMX8 MIPI CSI2 SAMSUNG Controller <IMX8_MIPI_CSI2_SAM>
<*> IMX8 Image Sensor Interface Core Driver <IMX8_ISI_CORE>
<*> IMX8 Image Sensor Interface Capture Device Driver
<IMX8_ISI_CAPTURE>
<*> IMX8 Media Device Driver <IMX8_MEDIA_DEVICE>
Armadillo-IoT ゲートウェイ G4 のM.2インターフェース(CON5)に、AzureWave Technologies 製 AW-XM458 を接続可能です。AW-XM458 のWLAN機能は、「PCI Express」に接続されます。
-
機能
-
IEEE 802.11 a/b/g/n/ac/ax 準拠
-
最大通信速度(2.4GHz): 458 Mbps(論理値)
-
最大通信速度(5GHz): 1.2 Gbps(論理値)
-
動作モード: インフラストラクチャモード(STA/AP), アドホックモード
-
チャンネル(2.4GHz): 1-13
-
チャンネル(5GHz): 36-48(W52), 52-64(W53), 100-144(W56)
-
関連するソースコード
-
drivers/net/wireless/nxp/
-
ネットワークデバイス
-
カーネルコンフィギュレーション
Device Drivers --->
[*] Network device support ---> <NETDEVICES>
[*] Wireless LAN ---> <WLAN>
[*] NXP devices <WLAN_VENDOR_NXP>
<M> NXP mwifiex fork <MLAN>
| |
---|
AW-XM458 のファームウェアは、Armadillo-IoT ゲートウェイ G4にインストールされているlinux-firmware-nxpwifi-9098パッケージに含まれています。 linux-firmware-nxpwifi-9098の著作権およびライセンス情報については、Armadillo-IoT ゲートウェイ G4上で/usr/share/licenses/linux-firmware-nxpwifi-9098/LICENSEを参照してください。 |
Armadillo-IoT ゲートウェイ G4 のM.2インターフェース(CON5)に、AzureWave Technologies 製 AW-XM458 を接続可能です。AW-XM458 のBT機能は、「UART」に示すUART1に接続されます。
AW-XM458 は、Bluetooth® version 5.3 に対応しており、BLE(Bluetooth Low Energy)、 EDR(Enhanced Data Rate)が利用できます。
| |
---|
Bluetooth® version 5.0以降で追加されたCoded PHY(Long Range)などの機能は工場出荷状態のソフトウェアで利用することができません。これは、BlueZが非対応の為です。 |
-
デバイス
-
カーネルコンフィギュレーション
[*] Networking support ---> <NET>
<*> Bluetooth subsystem support ---> <BT>
Bluetooth device drivers --->
<*> HCI UART driver <BT_HCIUART>
-*- UART (H4) protocol support <BT_HCIUART_H4>
| |
---|
BT機能を利用するには、Devicetree Overlayの設定が必要です。 [armadillo~]# vi /boot/overlays.txt
fdt_overlays=armadillo_iotg_g4-aw-xm458.dtbo
[armadillo~]# persist_file /boot/overlays.txt
[armadillo~]# reboot |
Armadillo-IoT ゲートウェイ G4のPCI Expressは、i.MX 8M PlusのPCIe(PCI Express)およびPCIe_PHY(PCI Express PHY)を利用しています。
-
機能
-
PCI Express Base Specification, Revision 4.0, Version 0.7 準拠
-
PCI Local Bus Specification, Revision 3.0 準拠
-
PCI Bus Power Management Specification, Revision 1.2 3.0 準拠
-
PCI Express Card Electromechanical Specification, Revision 1.1 準拠
-
リンク幅: x1
-
転送レート: 8.0GT/s
-
割り込み通知方式: MSI
-
関連するソースコード
-
drivers/pci/controller/dwc/pci-imx6.c
-
drivers/phy/freescale/phy-fsl-imx8-pcie.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
-
Documentation/devicetree/bindings/phy/fsl,imx-pcie-phy.txt
-
カーネルコンフィギュレーション
Device Drivers --->
[*] PCI support ---> <PCI>
PCI controller drivers --->
DesignWare PCI Core Support --->
-*- Freescale i.MX6/7/8 PCIe driver <PCI_IMX6>
PHY Subsystem --->
<*> Freescale i.MX PCIE PHY <PHY_FSL_IMX_PCIE>
Armadillo-IoT ゲートウェイ G4のリアルタイムクロックは、Armadillo-IoT ゲートウェイ G4に搭載されたMicro Crystal製RV-8803-C7および、i.MX 8M PlusのSNVS_HP Real Time Counterを利用しています。
-
機能
-
デバイスファイル
-
/dev/rtc
( /dev/rtc0
へのシンボリックリンク)
-
/dev/rtc0
(RV-8803-C7)
-
/dev/rtc1
(SNVS_HP Real Time Counter)
| |
---|
RV-8803-C7が /dev/rtc0 、SNVS_HP Real Time Counterが /dev/rtc1 となるよう、Device Treeでエイリアスを設定しています。 |
-
関連するソースコード
-
drivers/rtc/rtc-rv8803.c
-
drivers/rtc/rtc-snvs.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/rtc/epson,rx8900.txt
-
Documentation/devicetree/bindings/crypto/fsl-sec4.txt
-
カーネルコンフィギュレーション
Device Drivers --->
[*] Real Time Clock ---> <RTC_CLASS>
(rtc0) RTC used to synchronize NTP adjustment
<RTC_SYSTOHC_DEVICE>
<*> Micro Crystal RV8803, Epson RX8900 <RTC_DRV_RV8803>
<*> Freescale SNVS RTC support <RTC_DRV_SNVS>
| |
---|
Linux カーネルのバージョン v5.10.86-r0 以降では、NTPサーバーとRTCを時刻同期した場合、rtc0 (RV-8803-C7)にのみ時刻が保存されます。 Linux カーネルのバージョン v5.10.52-r1 では、NTPサーバーとRTCを時刻同期した場合、rtc0 (RV-8803-C7)とrtc1 (SVNS) の両方に時刻が保存されていました。 |
アラーム割り込みは、デバイスファイル経由で利用することができます。
詳細な情報については、Linux カーネルのソースコードに含まれているドキュメント(Documentation/admin-guide/rtc.rst)やサンプルプログラム(tools/testing/selftests/rtc/rtctest.c)を参照してください。
Armadillo-IoT ゲートウェイ G4に搭載されているユーザースイッチには、GPIOが接続されています。
Linuxでは、ユーザー空間でイベント(Press/Release)を検出することができます。Linuxでは、GPIO接続用キーボードドライバ(gpio-keys)で制御することができます。
ユーザースイッチと信号には、次に示すキーコードが割り当てられています。
表11.1 キーコード
ユーザースイッチ | キーコード | イベントコード | X11 キーコード |
---|
SW1 | KEY_PROG1
| 148 | XF86Launch1
|
EC25-J RI | KEY_PROG2
| 149 | XF86Launch2
|
予約 | KEY_PROG3
| 202 | XF86Launch3
|
予約 | KEY_PROG4
| 203 | XF86Launch4
|
PWR_OFF | KEY_POWER
| 116 | XF86PowerOff
|
REBOOT | KEY_RESET
| 408 | なし |
-
デバイスファイル
-
/dev/input/by-path/platform-gpio-keys-event
[]
-
関連するソースコード
-
drivers/input/keyboard/gpio_keys.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/input/gpio-keys.yaml
-
カーネルコンフィギュレーション
Device Drivers --->
Input device support --->
-*- Generic input layer (needed for keyboard, mouse, ...)
<INPUT>
[*] Keyboards ---> <INPUT_KEYBOARD>
<*> GPIO Buttons <KEYBOARD_GPIO>
Armadillo-IoT ゲートウェイ G4に搭載されているユーザーLEDには、GPIOが接続されています。
Linuxでは、GPIO接続用LEDドライバ(leds-gpio)で制御することができます。
-
sysfs LEDクラスディレクトリ
-
関連するソースコード
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/leds/leds-gpio.yaml
-
カーネルコンフィギュレーション
Device Drivers --->
[*] LED Support ---> <NEW_LEDS>
<*> LED Support for GPIO connected LEDs <LEDS_GPIO>
Armadillo-IoT ゲートウェイ G4のI2C インターフェースは、i.MX 8M PlusのI2C(I2C Controller)を利用しています。また、i2c-gpioを利用することで、I2C バスを追加することができます。
Armadillo-IoT ゲートウェイ G4で利用しているI2Cバスと、接続されるI2Cデバイスを次に示します。
表11.2 I2C デバイス
I2C バス | I2C デバイス |
アドレス | デバイス名 |
0(I2C1) | 0x25 | PCA9450(PMIC) |
1(I2C2) | 0x2c | USB2422(USBハブ) |
0x32 | RV-8803-C7(RTC) |
2(I2C3) | 0x43 | FXL6408(GPIOエキスパンダー) |
0x48 | SE050(セキュアエレメント) |
3(I2C4) | 接続デバイス無し |
Armadillo-IoT ゲートウェイ G4の標準状態では、CONFIG_I2C_CHARDEVが有効となっているためユーザードライバでI2Cデバイスを制御することができます。ユーザードライバを利用する場合は、Linux カーネルでI2Cデバイスに対応するデバイスドライバを無効にする必要があります。
-
機能
-
デバイスファイル
-
/dev/i2c-0
(I2C1)
-
/dev/i2c-1
(I2C2)
-
/dev/i2c-2
(I2C3)
-
/dev/i2c-3
(I2C4)
| |
---|
/dev/i2c-6 は、HDMI DDCです。
|
-
関連するソースコード
-
drivers/i2c/busses/i2c-imx.c
-
Device Tree ドキュメント
-
Documentation/devicetree/bindings/i2c/i2c-imx.yaml
-
カーネルコンフィギュレーション
Device Drivers --->
I2C support --->
-*- I2C support <I2C>
<*> I2C device interface <I2C_CHARDEV>
I2C Hardware Bus support --->
<*> IMX I2C interface <I2C_IMX>
Armadillo-IoT ゲートウェイ G4のGPIOは、i.MX 8M PlusのGPIO(General Purpose Input/Output)および、ON Semiconductor製FXL6408(GPIOエキスパンダー)を利用しています。
-
関連するソースコード
-
drivers/gpio/gpio-mxc.c
-
drivers/gpio/gpio-fxl6408.c
-
Device Tree ドキュメント
-
Documentation/devicetree/bindings/gpio/fsl-imx-gpio.yaml
-
Documentation/devicetree/bindings/gpio/gpio-fxl6408.txt
-
デバイスファイル
-
sysfs GPIOクラスディレクトリ
| |
---|
sysfs GPIOクラスは旧バージョンのLinuxカーネルとの互換性維持の為に残っています。新しくアプリケーションを開発する際の利用はおすすめしません。 新しくアプリケーションを開発する場合は、libgpiodパッケージに含まれるアプリケーションまたはLinux カーネルのソースコードに含まれているサンプル(tools/gpio/)を参考にしてください。 |
-
カーネルコンフィギュレーション
Device Drivers --->
[*] GPIO Support ---> <GPIOLIB>
(512) Maximum number of GPIOs for fast path
<GPIOLIB_FASTPATH_LIMIT>
I2C GPIO expanders --->
<*> FXL6408 I2C GPIO expander <GPIO_FXL6408>
Memory mapped GPIO drivers --->
-*- i.MX GPIO support <GPIO_MXC>
Armadillo-IoT ゲートウェイ G4の温度センサーは、i.MX 8M PlusのTMU(Thermal Monitoring Unit)を利用しています。CPU(Arm Cortex-A53)周辺温度と、SoC(ANAMIX内部)温度を測定することができます。
起動直後の設定では、ARMまたはSoCの測定温度が 105°C以上になった場合、Linuxカーネルはシステムを停止します。
-
機能
-
sysfs thermalクラスディレクトリ
-
/sys/class/thermal/thermal_zone0
(CPU)
-
/sys/class/thermal/thermal_zone1
(SoC)
-
関連するソースコード
-
drivers/thermal/imx8mm_thermal.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/thermal/imx8mm-thermal.yaml
-
カーネルコンフィギュレーション
Device Drivers --->
-*- Thermal drivers ---> <THERMAL>
<*> Temperature sensor driver for Freescale i.MX8MM SoC
<IMX8MM_THERMAL>
Armadillo-IoT ゲートウェイ G4のウォッチドッグタイマーは、i.MX 8M PlusのWDOG(Watchdog Timer)を利用しています。
ウォッチドッグタイマーは、U-Boot によって有効化されます。標準状態でタイムアウト時間は10秒に設定されます。Linux カーネルは、ウォッチドッグタイマードライバの初期化時にタイムアウト時間を60 秒に再設定します。
何らかの要因でウォッチドッグタイマーのキックができなくなりタイムアウトすると、システムリセットが発生します。
-
関連するソースコード
-
drivers/watchdog/imx2_wdt.c
-
Device Treeドキュメント
-
Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
-
カーネルコンフィギュレーション
Device Drivers --->
[*] Watchdog Timer Support ---> <WATCHDOG>
<*> IMX2+ Watchdog <IMX2_WDT>
ウォッチドッグタイマーの設定変更は、ioctlシステムコール経由で行うことができます。詳細な情報については、Linux カーネルのソースコードに含まれているドキュメント(Documentation/watchdog/watchdog-api.rst)を参照してください。
| |
---|
ウォッチドッグタイマーを停止することはできません。 |
Armadillo-IoT ゲートウェイ G4のパワーマネジメント機能は、LinuxのSPM(System Power Management)およびDPM(Device Power Management)を利用しています。パワーマネジメント状態を省電力モードに遷移させることにより、Armadillo-IoT ゲートウェイ G4の消費電力を抑えることができます。
パワーマネジメント状態を省電力モードに遷移させると、アプリケーションの実行は一時停止し、Linuxカーネルはサスペンド状態となります。起床要因が発生すると、Linuxカーネルのリジューム処理が行われた後、アプリケーションの実行を再開します。
-
sysfsファイル
-
関連するソースコード
-
カーネルコンフィギュレーション
Power management options --->
[*] Suspend to RAM and standby <SUSPEND>
-*- Device power management core functionality <PM>
Armadillo-IoT ゲートウェイ G4が対応するパワーマネジメント状態と、/sys/power/stateに書き込む文字列の対応を次に示します。
表11.3 対応するパワーマネジメント状態
パワーマネジメント状態 | 文字列 | 説明 |
---|
Suspend-to-RAM
| mem
| Suspend-to-Idleよりも消費電力を抑えることができる |
Suspend-to-Idle
| freeze
| suspend-to-ramよりも短時間で復帰することができる |
起床要因として利用可能なデバイスは次の通りです。
-
USBコンソールインターフェース(CON6)
-
起床要因
-
データ受信
-
有効化
[armadillo ~]# echo enabled > /sys/class/tty/ttymxc1/power/wakeup
-
USBインターフェース(CON4)
-
起床要因
-
USBデバイスの挿抜
-
有効化
[armadillo ~]# echo enabled > /sys/devices/platform/soc@0/32f10100.usb/power/wakeup
[armadillo ~]# echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
-
RTC(SNVS_HP Real Time Counter)
-
起床要因
-
アラーム割り込み
-
有効化
デフォルトで有効化されています
-
RTC(RV-8803-C7)
-
起床要因
-
アラーム割り込み
-
有効化
デフォルトで有効化されています
-
EC25-J RI (Ring Indicator)
-
起床要因
-
SMS 受信(LTE モデルのみ)
-
有効化
デフォルトで有効化されています
Armadillo-IoT ゲートウェイ G4 には、3G/LTE モデム Quectel 製 EC25-J が搭載されています。
-
機能
-
3G/LTE 通信
-
リセットドライバによる EC25-J の電源制御
-
デバイスファイル
-
/dev/ttyUSB0
-
/dev/ttyUSB1
/dev/ttyUSB2
-
ModemManager が
/dev/ttyCommModem
のシンボリックリンクを作成し AT コマンド用ポートとして使用します。
-
/dev/ttyUSB3
-
/dev/ttymxc3
| |
---|
ttyUSB[0-3] は、他の USB デバイスを接続している場合、番号が変わる可能性があります。 |
-
関連するソースコード
-
drivers/reset/reset-ec25.c
-
ネットワークデバイス
-
カーネルコンフィギュレーション
Device Drivers --->
-*- Reset Controller Support ---> <RESET_CONTROLLER>
[*] GPIO-based Reset Driver for Quectel EC25 <RESET_EC25>
| |
---|
3G/LTE モデム Quectel 製 EC25-J に対して、以下の制御が可能です。 EC25-J は、Armadillo 起動時に自動的に電源が投入され、 Armadillo が終了する際には自動的に電源が切られます。 また、「3G/LTE再接続サービス」 でも、通信状態に応じて EC25-J のリセットなどを実施しますので処理が重複しないように、下記制御を実施する際には、図7.31「3G/LTE 再接続サービスを停止する」の手順を参考に再接続サービスを停止してから実施してください。
|
動作中は running が表示されます。
| |
停止中は off が表示されます。
|
|