Forums

How to enable C64's(board dm642) pci boot mode in linux driver

Started by onlyflyer April 27, 2007
Hi:
I'm writing a linux driver for C64(board dm642).In order start DM642
in linux host,I do things as follow:
1)warm reset c64
2)init emif for dm642
3)mmap the c64's iram to userspace
4)set c64's memory zero
5)load c64's bin file to iram
6)trigger dspint to start c64

BUT,i doesn't work.When i clear the c64's iram, the whole system is
crashed.

I find that C64 is not in pci boot mode,the value of HDCR is 0.So,i
think maybe this is the problem.

I read c64's datasheet again and again,I can't find how to enable c64's
pci boot mode.HDCR's PCIBOOT bit is read only.

So,my questions are:
1,how to enable DM642's pci boot mode.
2,when I write sth. DM642's iram, why my host crashed?

Can anyone help me?

Thanks in advance.
Hi,

DM642 bootmode is selected via pull-up and pull-down resistors on AEA22
and AEA21 address lines. The state of these pins is latched during reset
and selects the boot source. The DM642 has internal pull-down resistors on
these pins. For PCI/Host boot mode, AEA22 must be left open (or pulled
down), and AEA21 must be pulled high. Use a 2K2 or smaller pull-up resitor.

Regards,
Adolf Klemenz, D.SignT

At 01:56 27.04.2007 +0000, onlyflyer wrote:

>Hi:
>I'm writing a linux driver for C64(board dm642).In order start DM642
>in linux host,I do things as follow:
>1)warm reset c64
>2)init emif for dm642
>3)mmap the c64's iram to userspace
>4)set c64's memory zero
>5)load c64's bin file to iram
>6)trigger dspint to start c64
>
>BUT,i doesn't work.When i clear the c64's iram, the whole system is
>crashed.
>
>I find that C64 is not in pci boot mode,the value of HDCR is 0.So,i
>think maybe this is the problem.
>
>I read c64's datasheet again and again,I can't find how to enable c64's
>pci boot mode.HDCR's PCIBOOT bit is read only.
>
>So,my questions are:
>1,how to enable DM642's pci boot mode.
>2,when I write sth. DM642's iram, why my host crashed?
>
>Can anyone help me?
>
>Thanks in advance.
>