Linuxカーネル仕様

本章では、工場出荷状態の Armadillo-610 開発セットの Linuxカーネル仕様について説明します。

7.1. デフォルトコンフィギュレーション

工場出荷時の Armadillo-610 開発セットに書き込まれている Linuxカーネルは、デフォルトコンフィギュレーションが適用されています。Armadillo-610 用のデフォルトコンフィギュレーションが記載されているファイルは、Linuxカーネルソースファイル (linux-v4.14-at[VERSION].tar.gz)に含まれる arch/arm/configs/armadillo-640_defconfig です。

[注記]

Linuxカーネルのデフォルトコンフィギュレーションは、Armadillo-640とArmadillo-610で共通です。そのため、ファイル名が armadillo-640_defconfig となっています。

armadillo-640_defconfig で有効になっている主要な設定を表7.1「Linuxカーネル主要設定」に示します。

表7.1 Linuxカーネル主要設定

コンフィグ 説明

VMSPLIT_3G

3G/1G user/kernel split

AEABI

Use the ARM EABI to compile the kernel

COMPACTION

Allow for memory compaction

MIGRATION

Page migration


7.2. デフォルト起動オプション

工場出荷状態のArmadillo-610 開発セットのLinuxカーネルの起動オプションについて説明します。デフォルト状態では、次のように設定されています。

表7.2 Linuxカーネルのデフォルト起動オプション

起動オプション説明

console=ttymxc0

起動ログなどが出力されるイニシャルコンソールに ttymxc0 を指定します。

root=/dev/mmcblk0p2

ルートファイルシステムにeMMCを指定します。

rootwait

root= で指定したデバイスが利用可能になるまでルートファイルシステムのマウントを遅らせます。


7.3. Linuxドライバ一覧

Armadillo-610で利用することができるデバイスドライバについて説明します。各ドライバで利用しているソースコードのうち主要なファイルのパスや、コンフィギュレーションに必要な情報、及びデバイスファイルなどについて記載します。

7.3.1. Armadillo-610

Armadillo-610のハードウェアの構成情報やピンのマルチプレクス情報、i.MX6ULLの初期化手順などが定義されています。

関連するソースコード
  • arch/arm/mach-imx/
  • arch/arm/boot/dts/armadillo-610-extboard-eva-grove.dts
  • arch/arm/boot/dts/armadillo-610-extboard-eva-lcd.dts
  • arch/arm/boot/dts/armadillo-610-extboard-eva-common.dtsi
  • arch/arm/boot/dts/armadillo-610.dtsi
  • arch/arm/boot/dts/imx6ull.dtsi
  • arch/arm/boot/dts/imx6ul.dtsi
カーネルコンフィギュレーション
System Type --->
  [*] Freescale i.MX family  --->                                 <ARCH_MXC>
    [*]   i.MX6 UltraLite support                               <SOC_IMX6UL>

7.3.2. UART

Armadillo-610のシリアルは、i.MX6ULLのUART (Universal Asynchronous Receiver/Transmitter) を利用しています。Armadillo-610 開発セットの標準状態では、シリアルインターフェース(Armadillo-610 拡張ボード: CON3)が UART1 をコンソールとして利用しています。

また、Grove インターフェース(Armadillo-610 拡張ボード: CON7)にはUART5を利用しています。

フォーマット
  • データビット長: 7 or 8ビット
  • ストップビット長: 1 or 2ビット
  • パリティ: 偶数 or 奇数 or なし
  • フロー制御: CTS/RTS or XON/XOFF or なし
  • 最大ボーレート:230.4kbps
関連するソースコード
  • drivers/tty/n_null.c
  • drivers/tty/n_tty.c
  • drivers/tty/pty.c
  • drivers/tty/tty_baudrate.c
  • drivers/tty/tty_buffer.c
  • drivers/tty/tty_io.c
  • drivers/tty/tty_ioctl.c
  • drivers/tty/tty_jobctrl.c
  • drivers/tty/tty_ldisc.c
  • drivers/tty/tty_ldsem.c
  • drivers/tty/tty_mutex.c
  • drivers/tty/tty_port.c
  • drivers/tty/serial/earlycon.c
  • drivers/tty/serial/serial_core.c
  • drivers/tty/serial/serial_mctrl_gpio.c
  • drivers/tty/serial/imx.c
Device Treeドキュメント
  • Documentation/devicetree/bindings/serial/fsl-imx-uart.txt
  • Documentation/devicetree/bindings/serial/serial.txt
デバイスファイル
シリアルインターフェース デバイスファイル

UART1

/dev/ttymxc0

UART5

/dev/ttymxc4

カーネルコンフィギュレーション
Device Drivers  --->
  Character devices  --->
    [*] Enable TTY                                            <TTY>
        Serial drivers  --->
          [*] IMX serial port support                  <SERIAL_IMX>
          [*]   Console on IMX serial port     <SERIAL_IMX_CONSOLE>

7.3.3. Ethernet

Armadillo-610の Ethernet (LAN) は、i.MX6ULLのENET(10/100-Mbps Ethernet MAC)を利用しています。

機能
  • 通信速度: 100Mbps (100BASE-TX), 10Mbps (10BASE-T)
  • 通信モード: Full-Duplex (全二重), Half-Duplex (半二重)
  • Auto Negotiationサポート
  • キャリア検知サポート
  • リンク検出サポート
関連するソースコード
  • drivers/net/Space.c
  • drivers/net/loopback.c
  • drivers/net/ethernet/freescale/fec_main.c
  • drivers/net/ethernet/freescale/fec_ptp.c
  • drivers/net/phy/fixed_phy.c
  • drivers/net/phy/mdio-boardinfo.c
  • drivers/net/phy/mdio_bus.c
  • drivers/net/phy/mdio_device.c
  • drivers/net/phy/phy-core.c
  • drivers/net/phy/phy.c
  • drivers/net/phy/phy_device.c
  • drivers/net/phy/smsc.c
Device Treeドキュメント
  • Documentation/devicetree/bindings/net/fsl-fec.txt
  • Documentation/devicetree/bindings/net/phy.txt
ネットワークデバイス
  • eth0
カーネルコンフィギュレーション
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>
    -*-   PHY Device support and infrastructure  --->      <PHYLIB>
      [*]   SMSC PHYs                                    <SMSC_PHY>

7.3.4. WLAN

アットマークテクノ製 Armadillo-WLANモジュール(AWL13)をWLAN インターフェース(Armadillo-610 拡張ボード: CON18)に接続することができます。AWL13は、「USBハブ」に示す USB ハブに接続されています。

機能
  • チャンネル(2.4GHz): 1-13
  • 通信速度(規格上の理論値)

    • IEEE 802.11b: 最大 11 Mbps
    • IEEE 802.11g: 最大 54 Mbps
    • IEEE 802.11n: 最大 72.2 Mbps
  • チャンネル帯域: 20MHz
  • MIMO(Multi Input Multi Output) 1x1、シングルストリーム
  • セキュリティ機能: WEP(64bit, 128bit), WPA-PSK(TKIP,AES), WPA2-PSK(TKIP,AES)
  • アクセス方式: インフラストラクチャモード(STA [8], AP [9]対応), アドホックモード
ネットワークデバイス
  • awlan0
関連するソースコード
  • drivers/net/wireless/awl13/
カーネルコンフィギュレーション
Device Drivers  --->
  [*] Network device support  --->                        <NETDEVICES>
    -*- Wireless LAN  --->                                      <WLAN>
      [*]   Armadillo-WLAN(AWL13)               <ARMADILLO_WLAN_AWL13>
        Armadillo-WLAN(AWL13) Driver Options  --->
          Selected AWL13 interface (USB)  --->
            (X) USB                         <ARMADILLO_WLAN_AWL13_USB>
            ( ) SDIO (NOT TESTED)          <ARMADILLO_WLAN_AWL13_SDIO>

7.3.5. SDホスト

Armadillo-610 のSDホストは、i.MX6ULL の uSDHC (Ultra Secured Digital Host Controller) を利用しています。

Armadillo-610 開発セットでは、SD インターフェース(Armadillo-610: CON1) と SD インターフェース(Armadillo-610 拡張ボード: CON1)がuSDHC2を共用しています。そのため、どちらか一方しか利用することができません。Armadillo-610 開発セットの標準状態では、SD インターフェース(Armadillo-610: CON1)が有効になっています。

機能
  • カードタイプ: SD/SDHC/SDXC/SDIO
  • バス幅: 1bit or 4bit
  • スピードモード: Default Speed (24.75MHz), High Speed (49.5MHz)
  • カードディテクトサポート
デバイスファイル
  • /dev/mmcblk1
関連するソースコード
  • drivers/mmc/core/
  • drivers/mmc/host/sdhci-esdhc-imx.c
  • drivers/mmc/host/sdhci-pltfm.c
  • drivers/mmc/host/sdhci.c
Device Treeドキュメント
  • Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt
  • Documentation/devicetree/bindings/mmc/mmc.txt
  • Documentation/devicetree/bindings/regulator/fixed-regulator.txt
カーネルコンフィギュレーション
Device Drivers  --->
  [*] MMC/SD/SDIO card support  --->                          <MMC>
    [*]   MMC block device driver                       <MMC_BLOCK>
    (8)     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 support for the Freescale eSDHC/uSDHC i.MX controller support
                                              <MMC_SDHCI_ESDHC_IMX>

7.3.6. USBホスト

Armadillo-610のUSBホストは、i.MX6ULLのUSB-PHY (Universal Serial Bus 2.0 Integrated PHY) および USB (Universal Serial Bus Controller) を利用しています。

Armadillo-610 開発セットでは、「USBハブ」に示す USB ハブが USB_OTG1 を利用しています。USB インターフェース(Armadillo-610 拡張ボード: CON5)にはUSB ハブが接続されています。

機能
  • Universal Serial Bus Specification Revision 2.0 準拠
  • Enhanced Host Controller Interface (EHCI)準拠
  • 転送レート: USB2.0 High-Speed (480Mbps), Full-Speed (12Mbps), Low-Speed (1.5Mbps)
デバイスファイル
  • メモリデバイスの場合は、デバイスを認識した順番で/dev/sdN (Nは’a'からの連番)となります。
  • I/Oデバイスの場合は、ファンクションに応じたデバイスファイルとなります。
関連するソースコード
  • drivers/usb/chipidea/
  • drivers/usb/host/ehci-hcd.c
  • drivers/usb/phy/of.c
  • drivers/usb/phy/phy-generic.c
  • drivers/usb/phy/phy.c
Device Treeドキュメント
  • Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
  • Documentation/devicetree/bindings/usb/usbmisc-imx.txt
  • Documentation/devicetree/bindings/regulator/fixed-regulator.txt
カーネルコンフィギュレーション
Device Drivers  --->
  [*] USB support  --->                               <USB_SUPPORT>
    [*]   Support for Host-side USB                           <USB>
          *** USB Host Controller Drivers ***
    [*]   EHCI HCD (USB 2.0) support                 <USB_EHCI_HCD>
    [*]     Support for Freescale i.MX on-chip EHCI USB controller
                                                     <USB_EHCI_MXC>
    [*]   ChipIdea Highspeed Dual Role Controller    <USB_CHIPIDEA>
    [*]     ChipIdea host controller            <USB_CHIPIDEA_HOST>
          USB Physical Layer drivers  --->
      [*] NOP USB Transceiver Driver                <NOP_USB_XCEIV>

7.3.7. USB OTG

Armadillo-610のUSB OTGは、i.MX6ULLのUSB-PHY (Universal Serial Bus 2.0 Integrated PHY) および USB (Universal Serial Bus Controller) を利用しています。

Armadillo-610 開発セットでは、USB インターフェース(Armadillo-610 拡張ボード: CON6)が USB OTG2 を利用しています。

機能
  • Universal Serial Bus Specification Revision 2.0 準拠
  • Enhanced Host Controller Interface (EHCI)準拠
  • 転送レート: USB2.0 High-Speed (480Mbps), Full-Speed (12Mbps), Low-Speed (1.5Mbps)
関連するソースコード
  • drivers/usb/chipidea/
  • drivers/usb/gadget/
  • drivers/usb/host/ehci-hcd.c
  • drivers/usb/phy/of.c
  • drivers/usb/phy/phy-generic.c
  • drivers/usb/phy/phy.c
Device Treeドキュメント
  • Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
  • Documentation/devicetree/bindings/usb/usbmisc-imx.txt
  • Documentation/devicetree/bindings/regulator/fixed-regulator.txt
カーネルコンフィギュレーション
Device Drivers  --->
  [*] USB support  --->                               <USB_SUPPORT>
    [*]   Support for Host-side USB                           <USB>
          *** USB Host Controller Drivers ***
    [*]   EHCI HCD (USB 2.0) support                 <USB_EHCI_HCD>
    [*]     Support for Freescale i.MX on-chip EHCI USB controller
                                                     <USB_EHCI_MXC>
    [*]   ChipIdea Highspeed Dual Role Controller    <USB_CHIPIDEA>
    [*]     ChipIdea host controller            <USB_CHIPIDEA_HOST>
          USB Physical Layer drivers  --->
      [*] NOP USB Transceiver Driver                <NOP_USB_XCEIV>
    [*]   USB Gadget Support  --->                     <USB_GADGET>
      [*]   USB Gadget precomposed configurations (CDC Composite Device (Ethernet and ACM))
                                                <USB_CDC_COMPOSITE>

7.3.8. USBハブ

Armadillo-610 拡張ボードには、Microchip 製 USB2513B が搭載されています。USB2513Bには、WLAN インターフェース(Armadillo-610 拡張ボード: CON18)およびUSB インターフェース(Armadillo-610 拡張ボード: CON5)が接続されています。

機能
  • Universal Serial Bus Specification Revision 2.0 準拠
関連するソースコード
  • drivers/usb/core/
カーネルコンフィギュレーション
Device Drivers  --->
  [*] USB support  --->                               <USB_SUPPORT>
    [*]   Support for Host-side USB                           <USB>

7.3.9. リアルタイムクロック

Armadillo-610のリアルタイムクロックは、i.MX6ULLのRTC機能を利用しています。

また、Armadillo-610 拡張ボードには、日本電波工業(NDK)製 NR3225SA が搭載されています。NR3225SA は、「I2C」に示す I2C2 (I2C ノード: 2-0032) に接続されています。

[警告]

LCD インターフェース(Armadillo-610 拡張ボード: CON11)および拡張インターフェース(Armadillo-610 拡張ボード: CON20)には、NR3225SAに接続されたI2Cと共通の信号線が接続されています。そのため、同時に利用できない場合があります。

機能
  • アラーム割り込みサポート
デバイスファイル
  • /dev/rtc
  • /dev/rtc0
  • /dev/rtc1
関連するソースコード
  • drivers/rtc/rtc-lib.c
  • drivers/rtc/rtc-core.c
  • drivers/rtc/hctosys.c
  • drivers/rtc/systohc.c
  • drivers/rtc/nvmem.c
  • drivers/rtc/rtc-sysfs.c
  • drivers/rtc/rtc-proc.c
  • drivers/rtc/rtc-dev.c
  • drivers/rtc/rtc-nr3225sa.c
  • drivers/rtc/rtc-snvs.c
カーネルコンフィギュレーション
Device Drivers --->
  [*] Real Time Clock                                              <RTC_CLASS>
    [*]   Set system time from RTC on startup and resume         <RTC_HCTOSYS>
    (rtc0)  RTC used to set the system time               <RTC_HCTOSYS_DEVICE>
    [*]   Set the RTC time based on NTP synchronization          <RTC_SYSTOHC>
    (rtc0)  RTC used to synchronize NTP adjustment        <RTC_SYSTOHC_DEVICE>
    [*]   RTC non volatile storage support                         <RTC_NVMEM>
          *** RTC interfaces ***
    [*]   /sys/class/rtc/rtcN (sysfs)                         <RTC_INTF_SYSFS>
    [*]   /proc/driver/rtc (procfs for rtcN)                   <RTC_INTF_PROC>
    [*]   /dev/rtcN (character devices)                         <RTC_INTF_DEV>
          *** I2C RTC drivers ***
    [*]   NDK NR3225SA                                      <RTC_DRV_NR3225SA>
          *** on-CPU RTC drivers ***
    [*]   Freescale SNVS RTC support                            <RTC_DRV_SNVS>

アラーム割り込みは、デバイスファイル経由で利用することができます。

詳細な情報については、Linux カーネルのソースコードに含まれているドキュメント(Documentation/rtc.txt)やサンプルプログラム(tools/testing/selftests/timers/rtctest.c)を参照してください。

7.3.10. LED

Armadillo-610 および Armadillo-610 拡張ボードに搭載されているソフトウェア制御可能なLEDには、GPIOが接続されています。 Linuxでは、GPIO接続用LEDドライバ (leds-gpio) で制御することができます。

sysfs LEDクラスディレクトリ
  • /sys/class/leds/green
  • /sys/class/leds/yellow
関連するソースコード
  • drivers/leds/led-class.c
  • drivers/leds/led-core.c
  • drivers/leds/led-triggers.c
  • drivers/leds/leds-gpio.c
  • drivers/leds/trigger/
Device Treeドキュメント
  • Documentation/devicetree/bindings/leds/leds-gpio.txt
カーネルコンフィギュレーション
Device Drivers  --->
  [*] LED Support  --->                                  <NEW_LEDS>
    [*]   LED Class Support                            <LEDS_CLASS>
          *** LED drivers ***
    [*]   LED Support for GPIO connected LEDs           <LEDS_GPIO>
          *** LED Triggers ***
    [*]   LED Trigger support  --->                 <LEDS_TRIGGERS>
      [*]   LED Timer Trigger                  <LEDS_TRIGGER_TIMER>
      [*]   LED One-shot Trigger             <LEDS_TRIGGER_ONESHOT>
      [*]   LED Heartbeat Trigger          <LEDS_TRIGGER_HEARTBEAT>
      [*]   LED Default ON Trigger        <LEDS_TRIGGER_DEFAULT_ON>

7.3.11. ユーザースイッチ

Armadillo-610 拡張ボードに搭載されているユーザースイッチには、GPIOが接続されています。 GPIOが接続されユーザー空間でイベント (Press/Release) を検出することができます。Linuxでは、GPIO接続用キーボードドライバ (gpio-keys) で制御することができます。

ユーザースイッチには、次に示すキーコードが割り当てられています。

表7.3 キーコード

ユーザースイッチ キーコード イベントコード

SW1

KEY_ENTER

28


デバイスファイル
  • /dev/input/event1 [10]
関連するソースコード
  • drivers/input/evdev.c
  • drivers/input/input-compat.c
  • drivers/input/input.c
  • drivers/input/keyboard/gpio_keys.c
Device Treeドキュメント
  • Documentation/devicetree/bindings/input/gpio-keys.txt
カーネルコンフィギュレーション
Device Drivers  --->
  Input device support  --->
    -*- Generic input layer (needed for keyboard, mouse, ...)
                                                            <INPUT>
    [*]   Event interface                             <INPUT_EVDEV>
          *** Input Device Drivers ***
    [*]   Keyboards  --->                           <INPUT_KEYBOARD>
      [*]   GPIO Buttons                             <KEYBOARD_GPIO>

7.3.12. I2C

Armadillo-610 の I2C インターフェースは、i.MX6ULL の I2C(I2C Controller) を利用します。また、i2c-gpioを利用することで、I2C バスを追加することができます。

Armadillo-610 開発セットで利用している I2C バスと、接続される I2C デバイスを次に示します。

表7.4 I2C デバイス

I2C バス

I2C デバイス

アドレス

デバイス名

0(I2C1)

0x08

PF3000

1(I2C2)

0x32

NR3225SA


Armadillo-610 開発セットの標準状態では、CONFIG_I2C_CHARDEV が有効となっているためユーザードライバで I2C デバイスを制御することができます。ユーザードライバを利用する場合は、Linux カーネルで I2Cデバイスに対応するデバイスドライバを無効にする必要があります。

機能
  • 最大転送レート: 384kbps
デバイスファイル
  • /dev/i2c-0 (I2C1)
  • /dev/i2c-1 (I2C2)
関連するソースコード
  • drivers/i2c/i2c-core.c
  • drivers/i2c/i2c-boardinfo.c
  • drivers/i2c/i2c-dev.c
  • drivers/i2c/algos/i2c-algo-bit.c
  • drivers/i2c/busses/i2c-gpio.c
  • drivers/i2c/busses/i2c-imx.c
Device Tree ドキュメント
  • Documentation/devicetree/bindings/i2c/i2c-imx.txt
  • Documentation/devicetree/bindings/i2c/i2c-gpio.txt
カーネルコンフィギュレーション
Device Drivers  --->
  I2C support  --->
    [*] I2C support                                            <I2C>
    [*]   Enable compatibility bits for old user-space  <I2C_COMPAT>
    [*]   I2C device interface                         <I2C_CHARDEV>
      I2C Algorithms  --->
        -*- I2C bit-banging interfaces                 <I2C_ALGOBIT>
      I2C Hardware Bus support  --->
        [*] GPIO-based bitbanging I2C                     <I2C_GPIO>
        [*] IMX I2C interface                              <I2C_IMX>

7.3.13. アナログオーディオ

Armadillo-610 のアナログオーディオは、i.MX6ULL の MQS (Medium Quality Sound) を利用しています。

機能
  • サンプリング周波数: 48000
  • チャンネル数: 2
  • フォーマット: Signed 16 bit, Little-endian
  • 再生(Playback)のみサポート
オーディオデバイス
  • hw:0
関連するソースコード
  • sound/soc/fsl/imx-mqs.c
  • sound/soc/fsl/fsl_asrc.c
  • sound/soc/fsl/fsl_asrc_dma.c
  • sound/soc/fsl/fsl_sai.c
  • sound/soc/fsl/imx-pcm-dma-v2.c

7.3.14. ADコンバーター

Armadillo-610 のADコンバーターは、i.MX6ULL の ADC (Analog-to-Digital Converter) を利用しています。

Armadillo-610 開発セットでは、Grove インターフェース(Armadillo-610 拡張ボード: CON9)とGrove インターフェース(Armadillo-610 拡張ボード: CON10)がADC1を利用しています。

[警告]

LCD インターフェース(Armadillo-610 拡張ボード: CON11)および拡張インターフェース(Armadillo-610 拡張ボード: CON20)には、ADコンバーターと共通の信号線が接続されています。そのため、同時に利用できない場合があります。

機能
  • 分解能: 最大12bit
  • サンプリングレート: 最大1MS/s
  • 測定範囲: 0V ~ 3.3V
sysfsファイル
  • デバイスを認識した順番で /sys/bus/iio/devices/iio:deviceN (N は’0'からの連番)となります。
デバイスファイル
  • デバイスを認識した順番で /dev/iio:deviceN (N は’0'からの連番)となります。
関連するソースコード
  • drivers/iio/industrialio-buffer.c
  • drivers/iio/industrialio-core.c
  • drivers/iio/industrialio-event.c
  • drivers/iio/industrialio-trigger.c
  • drivers/iio/inkern.c
  • drivers/iio/adc/vf610_adc.c
Device Treeドキュメント
  • Documentation/devicetree/bindings/iio/adc/vf610-adc.txt
カーネルコンフィギュレーション
Device Drivers  --->
  [*] Industrial I/O support  --->                            <IIO>
          Analog to digital converters  --->
      [*] Freescale vf610 ADC driver                    <VF610_ADC>

7.3.15. パワーマネジメント

Armadillo-610 のパワーマネジメント機能は、LinuxのSPM(System Power Management)およびDPM(Device Power Management)を利用しています。パワーマネジメント状態を省電力モードに遷移させることにより、Armadillo-610 の消費電力を抑えることができます。

パワーマネジメント状態を省電力モードに遷移させると、アプリケーションの実行は一時停止し、Linuxカーネルはサスペンド状態となります。起床要因が発生すると、Linuxカーネルのリジューム処理が行われた後、アプリケーションの実行を再開します。

sysfsファイル
  • /sys/power/state
関連するソースコード
  • kernel/power/
カーネルコンフィギュレーション
Power management options  --->
  [*] Suspend to RAM and standby                          <SUSPEND>
  -*- Device power management core functionality              <PM>

Armadillo-610 が対応するパワーマネジメント状態と、/sys/power/stateに書き込む文字列の対応を次に示します。

表7.5 対応するパワーマネジメント状態

パワーマネジメント状態 文字列 説明

Suspend-to-RAM

mem

最も消費電力を抑えることができる

Power-On Suspend

standby

Suspend-to-RAMよりも短時間で復帰することができ、Suspend-to-Idleよりも消費電力を抑えることができる

Suspend-to-Idle

freeze

最も短時間で復帰することができる


起床要因として利用可能なデバイスは次の通りです。

UART1 (Armadillo-610 拡張ボード: CON3)
起床要因
データ受信
有効化
[armadillo ~]# echo enabled > /sys/bus/platform/drivers/imx-uart/2020000.serial/tty/ttymxc0/power/wakeup
USB OTG2 (Armadillo-610 拡張ボード: CON6)
起床要因
USBデバイスの挿抜
有効化
[armadillo ~]# echo enabled > /sys/bus/platform/devices/2184200.usb/power/wakeup
[armadillo ~]# echo enabled > /sys/bus/platform/drivers/ci_hdrc/ci_hdrc.1/power/wakeup
[armadillo ~]# echo enabled > /sys/bus/platform/drivers/ci_hdrc/ci_hdrc.1/usb2/power/wakeup
RTC(i.MX6ULL)
起床要因
アラーム割り込み
有効化
[armadillo ~]# echo enabled > /sys/bus/platform/devices/20cc000.snvs\:snvs-rtc-lp/power/wakeup
RTC(NR3225SA)
起床要因
アラーム割り込み
有効化
[armadillo ~]# echo enabled > /sys/bus/i2c/devices/1-0032/power/wakeup


[8] STA=ステーション

[9] AP=アクセスポイント

[10] USBデバイスなどを接続してインプットデバイスを追加している場合は、番号が異なる可能性があります