[Armadillo:08012] Re: Armadillo-800 EVA の搭載カメラとは別のカメラを使用するには

Takenoshita Koyo email@hidden
2012年 5月 7日 (月) 14:00:42 JST


竹之下です。

連休を挟んでしまい、大分時間が経ってしまいましたが。。

>> soc cameraやI2Cの設定も必要なようです。
> これはどういった理由で必要なのでしょうか。
> soc camera にも MT9T031 のカメラを対応させなければいけないということで
> しょうか。
少し書き方が悪かったですね。

- MT9T031用のドライバ(linux-2.6.35-a800eva/drivers/media/video/mt9t031.c)が、
  soc cameraフレームワークを用いて実装されている
- MT9T031は、I2C経由でレジスタを読み書きするようになっている
ので、linux-2.6.35-a800eva-at/arch/arm/mach-shmobile/board-armadillo800eva.c に
それに関する設定が必要ということです。

>> linux-2.6.35-a800eva-at/arch/arm/mach-mx3/mach-pcm037.c
の
static struct i2c_board_info pcm037_i2c_camera[] = {
        {
                I2C_BOARD_INFO("mt9t031", 0x5d),
        }, {

や

static struct soc_camera_link iclink_mt9t031 = {
        .bus_id         = 0,            /* Must match with the camera ID */
        .power          = pcm037_camera_power,
        .board_info     = &pcm037_i2c_camera[0],
        .i2c_adapter_id = 2,
        .module_name    = "mt9t031",
};

と同様のことを、board-armadillo800eva.c にも記述が必要という意味で、
「soc cameraやI2Cの設定も必要」と書きました。

(2012年04月24日 16:24), HADA Shuji wrote:
> 羽田です。
> ご回答ありがとうございます。
> 
>> 必要があります。(Armadillo-800 EVA用の場合は、
>> linux-2.6.35-a800eva-at/arch/arm/mach-shmobile/board-armadillo800eva.c
>> です。)
> おっしゃった通り、上記のファイルにも追加が必要だったため、MT9T031 につい
> て追加しました。
> 
> その他に、下記の変更も必要だったため追加しました。
> linux-2.6.35-a800eva-at/arch/arm/mach-shmobile/Kconfig
> ======================================================
> choice
>      prompt "Camera device"
>      default MACH_ARMADILLO800EVA_CEU_MT9T031
> 
> config MACH_ARMADILLO800EVA_CEU_MT9T031
>      bool "mt9t031"
>      select SOC_CAMERA
>      select SOC_CAMERA_MT9T031
>      select VIDEO_SH_MOBILE_CEU
>      select MACH_ARMADILLO800EVA_CEU_8BIT
> ======================================================
> 
>> soc cameraやI2Cの設定も必要なようです。
> これはどういった理由で必要なのでしょうか。
> soc camera にも MT9T031 のカメラを対応させなければいけないということで
> しょうか。
> 
> 補足として結果的に Armadillo で以下のことが出来れば、と考えております。
> (MT9T031 なのでベイヤーを指定)
> $ DISPLAY=:0 gst-launch-0.10 v4l2src ! \
> "video/x-raw-bayer,width=800,height=480,format=(fourcc)RGGB" ! \
> autovideosink
> 
> 以上、よろしくお願い致します。
> 
> Takenoshita Koyo さんは書きました:
>> 竹之下です。
>>
>> MT9T031のドライバを見てみると、platform driverとして実装されているようです。
>> platform driverを使うためには、platform_deviceを、ボードごとに設定してあげる
>> 必要があります。(Armadillo-800 EVA用の場合は、
>> linux-2.6.35-a800eva-at/arch/arm/mach-shmobile/board-armadillo800eva.c です。)
>>
>> ざっとgrepしてみたところ、以下のファイルでMT9T031を使っているようですので、
>> これらが参考になると思います。
>> linux-2.6.35-a800eva-at/arch/arm/mach-mx3/mach-pcm037.c
>> linux-2.6.35-a800eva-at/arch/arm/mach-mx3/mx31moboard-smartbot.c
>>
>> soc cameraやI2Cの設定も必要なようです。
>>
>> (2012年04月18日 16:48), email@hidden wrote:
>>> 羽田と申します。
>>>
>>> 件名の通り、搭載カメラとは別に MT9T031 のカメラを接続して使用したいと
>>> 考えています。
>>> 私は、Linux の知識は多少ある程度でして、以下記載するカーネルに関しては
>>> 初めて触ります。
>>>
>>> 環境は以下の通りです。
>>>
>>> ■ 使用製品
>>> Armadillo-800 EVA
>>> ・3.1MピクセルCMOSカメラモジュール搭載(MT9T112)
>>> ■ 開発環境
>>> VMWare ATDE4
>>> ・linux-2.6.35-a800eva-at2
>>>
>>> 現在の状況としては、カメラモジュールインターフェース(CON1)から
>>> 搭載されている MT9T112 ではなく、MT9T031 のカメラを接続し、カメラからの
>>> 映像を取得したいと考えております。
>>> そのために、カーネルに手を加えることによりカメラを識別すると考えていたの
>>> ですが、出来ませんでした。
>>>
>>> 私が行なった方法は以下の通りです。
>>> (1) 開発環境にて以下のファイルを修正
>>> linux-2.6.35-a800eva-at2/arch/arm/configs/armadillo800eva_defconfig
>>> === 修正前 ===
>>>       988 # CONFIG_SOC_CAMERA_MT9M111 is not set
>>>       989 # CONFIG_SOC_CAMERA_MT9T031 is not set
>>>       990 CONFIG_SOC_CAMERA_MT9T112=y
>>>       991 # CONFIG_SOC_CAMERA_MT9V022 is not set
>>> === 修正後 ===
>>>       988 # CONFIG_SOC_CAMERA_MT9M111 is not set
>>> ★  989 CONFIG_SOC_CAMERA_MT9T031=y
>>>       990 CONFIG_SOC_CAMERA_MT9T112=y
>>>       991 # CONFIG_SOC_CAMERA_MT9V022 is not set
>>> ==============
>>>
>>> (2) マニュアルの通りに、カーネルのビルド
>>> [PC]$ make ARCH=arm armadillo800eva_android_defconfig
>>> [PC]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
>>> [PC]$ ls arch/arm/boot/Image
>>> Image
>>>
>>> (3) 生成したカーネルイメージを Armadillo に反映
>>> [Armadillo]$ mount /dev/mmcblk0p2 /mnt
>>> [Armadillo]$ rm -f /mnt/boot/*.bin
>>> [Armadillo]$ cp Image /mnt/boot/Image.bin
>>> [Armadillo]$ umount /mnt
>>>
>>> (4) MT9T112 を接続して、Armadillo リブート
>>> MT9T031 認識せず
>>>
>>> MT9T031 を認識させるには、どのようにすれば良いでしょうか。
>>> (カメラを認識するために、どのようなことをしているのかが分かりません)
>>> 足りない情報等あればお知らせいただければと思います。
>>>
>>> お手数ですが、ご教授願います。
>>>
>>> _______________________________________________
>>> armadillo mailing list
>>> email@hidden
>>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>>
>>
>>
> 
> 
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 


-- 
Koyo Takenoshita




armadillo メーリングリストの案内