[Armadillo:06056] Re: ローム製無線LANデバイスのデバイスドライバに関して
nakai
email@hidden
2010年 11月 2日 (火) 13:08:19 JST
nakaiです。
FN0のアドレス0は、CCCRですが、
FN1のため、デバイス固有のレジスタになります。
(2010/11/02 12:58), email@hidden wrote:
>
>
> お世話になっております。
>
> T社の上村です。
>
> 只今、Armajillo500FXにローム製無線LANを接続しているのですが、無線LANデバイスに付属しているホスト側デバイスドライバ(Linux)に関して御詳しい方、ご教示頂けないでしょうか。
>
>
>
> デバイスドライバ(Linux)において、SDIOのCCCR(Card Common Control Registers)レジスタのアドレス0(AERIAL_F1REG_SD2AHB_BLOCKLEN_LSB)へblock length(送信ブロック長?)を設定している箇所があります。
>
> 添付のSDIO規格では、アドレス0はCCCRフォーマットバージョン番号 等を扱うように記述されているのですが、block length(送信ブロック長?)を設定しているように見受けられます。
>
> 御詳しい方が、あられましたらご教示頂けないでしょうか。
>
> よろしくお願い致します。
>
>
>
> #define AERIAL_F1REG_SD2AHB_BLOCKLEN_LSB (0x00000)
>
> #define AERIAL_F1REG_SD2AHB_BLOCKLEN_MSB (0x00001)
>
> #define AERIAL_F1REG_AHB2SD_BLOCKLEN_LSB (0x00002)
>
> #define AERIAL_F1REG_AHB2SD_BLOCKLEN_MSB (0x00003)
>
> #define AERIAL_F1REG_INT_MASK_REG (0x00004)
>
> #define AERIAL_F1REG_FUNC1_INT_PENDING (0x00005)
>
> #define AERIAL_F1REG_FUNC1_INT_STATUS (0x00006)
>
> #define AERIAL_F1WRITEBUFFER_ADDR (0x00007)
>
> #define AERIAL_F1READBUFFER_ADDR (0x00008)
>
>
>
> aerial_send_prepare(struct sdio_func *func) {
>
> unsigned char val;
>
> int retry = 100;
>
> int ret = -EIO;
>
> /* Set block length as word(32bit) to SD2AHB register (LSB) */
>
> retry = 10;
>
> while (retry--)
>
> {
>
> sdio_writeb(func, AERIAL_WRITE_WORD_SIZE&
>
> 0xff,AERIAL_F1REG_SD2AHB_BLOCKLEN_LSB,&ret);
>
> if (!ret)
>
> {val =
>
> sdio_readb(func,AERIAL_F1REG_SD2AHB_BLOCKLEN_LSB,&ret);
>
> if (val == (AERIAL_WRITE_WORD_SIZE& 0xff))
>
> break;}
>
> }
>
>
>
> 以下は、SDIOのCCCR(Card Common Control Registers)レジスタのアドレスです。
>
>
>
>
>
> 以上、よろしくお願い致します。
>
>
>
>
>
>
>
>
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
armadillo メーリングリストの案内