                Zorro ǥХѥǥХɥ饤Фκ
                --------------------------------------

Geert Uytterhoeven <geert@linux-m68k.org> 
ǽ 2003 ǯ 9  5 


1. Ϥ
-----------

Zorro ХϡAmiga ԥ塼եߥ꡼ǻȤƤХǤ
AutoConfig(tm) ˴դޤ 100% ץ饰ץ쥤Ǥ

Zorro ХˤϡZorro II  Zorro III ĤΥפޤ

  - Zorro II Υɥ쥹֤ 24 ӥåȤǡAmiga Υɥ쥹ޥåפ
    ǽ 16 MB ˤޤ

  - Zorro III  Zorro II  32 ӥåȳĥǤꡢZorro II Ȥϸ
    ߴޤZorro III Υɥ쥹֤ϡǽ 16 MB γ
    ޤ


2. Zorro ǥХθ
-----------------------

Zorro ǥХ `zorro_find_device()' ƤӽФȤˤ긫Ĥ
ޤδؿϡꤵ줿 Zorro ID ġּΡ Zorro ǥХ
ؤΥݥ󥿤֤ޤZorro ID `ZORRO_PROD_xxx' ĥܡѤθ
롼פϼΤ褦ˤʤޤ

    struct zorro_dev *z = NULL;

    while ((z = zorro_find_device(ZORRO_PROD_xxx, z))) {
        if (!zorro_request_region(z->resource.start+MY_START, MY_SIZE,
                                  "My explanation"))
        ...
    }

`ZORRO_WILDCARD' ϥ磻ɥɤȤƵǽƤ Zorro ǥХ
Ĥޤɥ饤Фۤʤ륿פΥܡɤ򥵥ݡȤϡ
褦ʹ뤳ȤǤޤ

    struct zorro_dev *z = NULL;

    while ((z = zorro_find_device(ZORRO_WILDCARD, z))) {
        if (z->id != ZORRO_PROD_xxx1 && z->id != ZORRO_PROD_xxx2 && ...)
            continue;
        if (!zorro_request_region(z->resource.start+MY_START, MY_SIZE,
                                  "My explanation"))
        ...
    }


3. Zorro ꥽
-----------------

Zorro ǥХΥ쥸˥ˡ줬ޤȤƤʤ
ȤݾڤʤФʤޤ󡣤ϡI/O ֥꥽
ؿȤäƤʤޤ

    request_mem_region()
    release_mem_region()

ǥХƤΥɥ쥹֤׵᤹륷硼ȥåȤ⡢Ʊͤ
Ƥޤ

    zorro_request_device
    zorro_release_device


4. Zorro ɥ쥹֤ؤΥ
---------------------------------

Zorro ǥХ꥽Υɥ쥹ϰϤϡZorro ХΥɥ쥹ϰ
ǤZorro Х˥ޥåԥ󥰤ƤХʪɥ쥹μ̤ˤꡢ
CPU ʪɥ쥹Ǥ⤢ޤ

ϰϤΰϡZorro ֤Υפ˰¸ޤ

  - Zorro II ɥ쥹֤Ͼ˥ޥåפƤꡢz_ioremap() Ȥä
    Ū˥ޥåפɬפϤޤ

    Хʪ Zorro II ɥ쥹饫ͥ벾ۥɥ쥹ؤѴ
    ӤεդϡΤ褦ˤʤޤ

        virt_addr = ZTWO_VADDR(bus_addr);
        bus_addr = ZTWO_PADDR(virt_addr);

  - Zorro III ɥ쥹֤ϡˡǽ z_ioremap() 
    ȤäŪ˥ޥåפɬפޤ

        virt_addr = z_ioremap(bus_addr, size);
        ...
        z_iounmap(virt_addr);


5. 
-------

linux/include/linux/zorro.h
linux/include/asm-{m68k,ppc}/zorro.h
linux/include/linux/zorro_ids.h
linux/drivers/zorro
/proc/bus/zorro

------------------------------------------------------------
Ρ JF ץ < http://www.linux.or.jp/JF/ >
   2004/04/15
ԡ    ɧ <takahiko(a)hakubi.co.jp>
