[Suzaku:02011] Re: xps_sia00の削除
mizo
email@hidden
2010年 11月 25日 (木) 10:05:38 JST
溝渕です。
gs09055 wrote:
> 谷敷です。
> xparameters.hの
> SIV_CNTLRとsiv.cの数字を,
> UART_CONSOLEとauto-config-sz130-sivの数字を,
> MAC_INTERRUPTとsmsc911x_platformの数字を
> それぞれ一致させるという事でいいでしょうか.
xparameters.h自体を変更しましたか?Linuxでxparameters.hに記述のある割り
込み番号を直接使用していないため注意が必要です。
Linuxでは、どの割り込みが発生したかを割り込み番号によって判断しています。
SUZAKU-SIVのデフォルトの割り込み番号はLinux側で、
番号 | 説明
-----|----------------
0 | タイマ割り込み
1 | SIA割り込み
2 | SIV割り込み
3 | UART割り込み
4 | LAN割り込み
のように判断しています。例えば、SIAを削除して、FPGA側で
番号 | 説明
-----|----------------
0 | タイマ割り込み
1 | SIV割り込み
2 | UART割り込み
3 | LAN割り込み
のようにしたとしても、Linux側で変更を行なわなければ3番は、UART割り込みと
して判断されてしまいます。
上記のように変更する場合は、それぞれのドライバ内で定義している割り込み番
号を変更します。ここで変更するのはLinuxソースファイルです。
"*"が変更対象のファイルです。その下の行では、割り込み番号を定義しています。
* drivers/char/video/siv.c
#define SIV_IRQ_NUM (2)
* arch/microblaze/platform/suzaku/auto-config-sz130-siv.in
define_int CONFIG_XILINX_UARTLITE_0_IRQ 3
* include/asm/smsc911x_platform.h
#ifdef CONFIG_SUZAKU_SIV
#define IRQ_EXT0 4
#else
上記より、Linuxでは、
「SIVの割り込み番号は2と判断する」
「UARTの割り込み番号は3と判断する」
「LANの割り込み番号は4と判断する」
のように処理を行ないます。
この部分を修正しなければなりません。
以上です。
> それぞれ変更したのですがやはりDHCPのところでログが止まってしまいます.
> XPSのGUIから変更したのがよくなかったんでしょうか
>
> (2010/11/24 15:29), mio wrote:
>> 中島です。
>>
>>> 谷敷です。
>>> FPGA側は
>>> #define XPAR_INTC_SYSTEM_UART_CONSOLE_INTERRUPT_INTR 2
>>> となっていました.
>>>
>>> Linux側で指定された箇所をすべて2にしてみたのですが動きません・・・
>>>
>> すべてを2にするのではなく、
>> それぞれを変更してください。
>>
>>>> * drivers/char/video/siv.c
>>>> #define SIV_IRQ_NUM (2) ←
>>>>
>> これはSIV(ビデオ)の割り込み番号です。
>> fpgaの設定によりますが、
>> たぶん1になります。
>>
>> SIA(オーディオ)のドライバが割り込み番号1を既に使用しているので、
>> SIVの割り込み番号を1にする時はSIAのドライバをはずす必要があります。
>>
>>>> * arch/microblaze/platform/suzaku/auto-config-sz130-siv.in
>>>> define_int CONFIG_XILINX_UARTLITE_0_IRQ 3 ←
>>>>
>> これはUARTの割り込み番号です。
>> たぶん2になります。
>>
>>>> * include/asm/smsc911x_platform.h
>>>> #ifdef CONFIG_SUZAKU_SIV
>>>> #define IRQ_EXT0 4 ←
>>>> #else
>>>> #define IRQ_EXT0 2
>>>> #endif
>>>>
>> これはLANの割り込み番号です。
>> たぶん3になります。
>>
suzaku メーリングリストの案内