[Armadillo:07351] Re: CON9の初期設定

Takenoshita Koyo email@hidden
2011年 6月 22日 (水) 17:25:51 JST


(2011年06月22日 14:24), s.maruyama wrote:
> お世話になります、丸山です。
> 
> hermit-atsrc/target/armadillo4x0/board.c を見たところ、
> このテーブルの意味が、わかりません。
struct iomux_infoは、hermit-at/include/arch-mx25/iomux.hで
定義されている構造体です。

struct iomux_info {
        int pin;
        u8 mux1;
        u8 mux2;
        u16 pad1;
        u16 pad2;
};

> どれが何番ピン、PinStateの設定をLow/highにする方法など
> ご教授ください。
> 
> static struct iomux_info gpio_pins[] = {
> /* CON9 */
> { MX25_PIN_CSI_MCLK, MUX_ALT5, MUX_ALT5, 0x00e0, 0x00e0 },
MX25_PIN_xxx と書いてある部分(pinメンバ)がどのパッドの設定をするかを示しています。
どのパッドが、どのピンに対応するかは、ハードウェアマニュアルに記載があります。

例えば、MX25_PIN_CSI_MCLK の場合、
「表5.13 CON9信号配列」の以下の記述から、CON9_21ピンであることが分かります。
>  21	EXT_IO14	In/Out	拡張入出力14、i.MX257のCSI_MCLKピンに接続


MUX_ALT5 と書いてある部分(mux1メンバ)がマルチプレクスの設定です。
そのパッドにどの機能を割り当てるかを指定します。
mux1で指定した値が、
i.MX25のReference Manualの「Appendix A IOMUX Registers」に記載のある、
IOMUXC_SW_MUX_CTL_PAD_xxxレジスタに書き込まれます。

pinメンバがMX25_PIN_CSI_MCLKでmux1メンバがMUX_ALT5の場合、
IOMUXC_SW_MUX_CTL_PAD_CSI_MCLKのMUX_MODEが0b101に設定されます。
0b101は、GPIOとして設定することを意味します。


0x00e0と書いてある部分(pad1メンバ)が、機能の設定です。
そのパッドの機能(プルアップするか否か)を指定できます。
pad1で指定した値が、
i.MX25のReference Manualの「Appendix A IOMUX Registers」に記載のある、
IOMUXC_SW_PAD_CTL_PAD_xxxレジスタに書き込まれます。
(マルチプレクス用のパッドとは、微妙に名前が違います。)

pinメンバがMX25_PIN_CSI_MCLKでpad1メンバが0x00e0の場合、
IOMUXC_SW_PAD_CTL_PAD_CSI_MCLKが0x00e0に設定されます。
0x00e0は、100kΩプルアップとして設定することを意味します。

mux2とpad2は使われないので、適当に設定しておいてください。

> { MX25_PIN_CSI_VSYNC, MUX_ALT5, MUX_ALT5, 0x00e0, 0x00e0 },
> { MX25_PIN_CSI_HSYNC, MUX_ALT5, MUX_ALT5, 0x00e0, 0x00e0 },
> { MX25_PIN_CSI_PIXCLK, MUX_ALT5, MUX_ALT5, 0x01e0, 0x01e0 },
> { MX25_PIN_CSPI1_SS0, MUX_ALT5, MUX_ALT5, -1, -1 },
> { MX25_PIN_CSPI1_RDY, MUX_ALT5, MUX_ALT5, -1, -1 },
> { MX25_PIN_CLKO, MUX_ALT5, MUX_ALT5, 0x0000, 0x0000 },
> { MX25_PIN_EXT_ARMCLK, MUX_ALT5, MUX_ALT5, -1, -1 },
> { MX25_PIN_CSPI1_SS1, MUX_ALT5, MUX_ALT5, -1, -1 },
> { MX25_PIN_CSI_D4, MUX_ALT5, MUX_ALT5, 0x01e0, 0x01e0 },
> { MX25_PIN_CSPI1_SCLK, MUX_ALT5, MUX_ALT5, -1, -1 },
> { MX25_PIN_CSI_D5, MUX_ALT5, MUX_ALT5, 0x00e0, 0x00e0 },
> { MX25_PIN_CSI_D8, MUX_ALT5, MUX_ALT5, 0x00e0, 0x00e0 },
> { MX25_PIN_CSI_D6, MUX_ALT5, MUX_ALT5, 0x00e0, 0x00e0 },
> { MX25_PIN_CSI_D9, MUX_ALT5, MUX_ALT5, 0x00e0, 0x00e0 },
> { MX25_PIN_CSI_D7, MUX_ALT5, MUX_ALT5, 0x01e0, 0x01e0 },
> { MX25_PIN_VSTBY_REQ, MUX_ALT5, MUX_ALT5, 0x0080, 0x0080 },
> { MX25_PIN_RTCK, MUX_ALT5, MUX_ALT5, 0x00e0, 0x00e0 },
> /* CON14 */
> { MX25_PIN_GPIO_C, MUX_ALT0, MUX_ALT0, 0x00e0, 0x00e0 },
> { MX25_PIN_GPIO_D, MUX_ALT0, MUX_ALT0, 0x00a0, 0x00a0 },
> /* FFC */
> { MX25_PIN_DE_B, MUX_ALT5, MUX_ALT5, -1, -1 },
> { MX25_PIN_KPP_ROW0, MUX_ALT5, MUX_ALT5, -1, -1 },
> { MX25_PIN_KPP_ROW1, MUX_ALT5, MUX_ALT5, -1, -1 },
> { MX25_PIN_KPP_ROW2, MUX_ALT5, MUX_ALT5, -1, -1 },
> { MX25_PIN_KPP_ROW3, MUX_ALT5, MUX_ALT5, -1, -1 },
> { MX25_PIN_KPP_COL0, MUX_ALT5, MUX_ALT5, 0x00a0, 0x00a0 },
> { MX25_PIN_KPP_COL1, MUX_ALT5, MUX_ALT5, 0x00a0, 0x00a0 },
> { MX25_PIN_KPP_COL2, MUX_ALT5, MUX_ALT5, 0x00a0, 0x00a0 },
> { MX25_PIN_KPP_COL3, MUX_ALT5, MUX_ALT5, 0x00a0, 0x00a0 },
> { MX25_PIN_GPIO_A, MUX_ALT0, MUX_ALT0, 0x00e0, 0x00e0 },
> { MX25_PIN_GPIO_B, MUX_ALT0, MUX_ALT0, 0x00e0, 0x00e0 },
> { },
> };
> 
> 以上、よろしくお願いいたします。
> 
>> 竹之下です。
>>
>> hermit-atと、Atmark Distは別々のソースコードです。
>>
>> 下記のURLからダウンロードしたものを使用してください。
>> http://armadillo.atmark-techno.com/files/downloads/armadillo-420/source/bootloader/hermit-at-2.1.2-source.tar.gz 
>>
>>
>> また、
>>>> 設定を変更したい場合は、ブートローダーのソースを直接書き換えてくださ 
>>>> い。
>>>> hermit-atsrc/target/armadillo4x0/board.c
>> 上記は、
>> hermit-at/src/target/armadillo4x0/board.c
>> の間違いでした。("/"が一つ抜けていました。)
>> 申し訳ありません。
>>
>> (2011年06月21日 10:45), s.maruyama wrote:
>>> お世話になっております、丸山です。
>>>
>>> hermit-atsrc/target/armadillo4x0/board.c を探したのですが見つかりませ 
>>> ん。
>>> Atmark-Dist のどこあるか教えてください。
>>>
>>> 以上、よろしくお願いいたします。
>>>
>>>> 竹之下です。
>>>>
>>>> Linuxが立ち上がるまでの間は、ブートローダー(hermit-at)で
>>>> 入出力方向を設定しています。
>>>>
>>>> 標準では、以下の設定になっています。
>>>> http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_hardware_manual_ja-1.4.1/apb.html#table-apb-2 
>>>>
>>>>
>>>>
>>>> 設定を変更したい場合は、ブートローダーのソースを直接書き換えてくださ 
>>>> い。
>>>> hermit-atsrc/target/armadillo4x0/board.c
>>>>
>>>> (2011年06月20日 14:06), s.maruyama wrote:
>>>>> お世話になっております、丸山です。
>>>>>
>>>>> Armadillo-420で開発しています。
>>>>>
>>>>> Armadillo-420のCON9に拡張ボードを接続しています。
>>>>> ボードに電源を投入してから、Linuxが立ち上がる迄の間は、
>>>>> CON9の入出力方向をアプリケーションではコントロールできませんので、
>>>>>
>>>>> 何か設定できる方法はありませんか。
>>>>> 方法があると助かります。
>>>>> 以上です、よろしくお願いいたします。
>>>>>
>>>>> _______________________________________________
>>>>> 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 メーリングリストの案内