Jump to content

Help on ITE 8213


litroncn
 Share

1 post in this topic

Recommended Posts

Hi guys,

 

My motherboard is GA-P43-DS3, which has a ITE8213 IDE controller.

Does anyone make the IDE work and how ?

 

 

i have a question:

 

Does the IOATAFamily.kext only support the memory-mapped IDE controller ?

 

since ITE 8213 controller has four IO-mapped base address

 

Primary Channel Command Block Register Base Address : 0xd001 (PCI configuration space offset 0x10~0x13)

 

Primary channel Control Block Register Base Address : 0xd101

 

Secondary Channel Command Block Register Base Address: 0xd201

 

Secondary Channel Control Block Register Base Address : 0xd301

 

Bus Master Base Address Register : 0xd401

 

 

sample code in the AppleATIATA driver

 

 

// Must setup these variables inherited from IOPCIATA before it is started.

 

_bmCommandReg = IOATAIOReg8::withAddress( fBMBaseAddr + BM_COMMAND );

_bmStatusReg = IOATAIOReg8::withAddress( fBMBaseAddr + BM_STATUS );

_bmPRDAddresReg = IOATAIOReg32::withAddress( fBMBaseAddr + BM_PRD_TABLE );

 

 

in the file AppleATIATADriver.cpp

 

void AppleATIATADriver::interruptOccurred( OSObject * owner,

IOInterruptEventSource * source,

int count )

{

AppleATIATADriver * self = (AppleATIATADriver *) owner;

DEBUG_LOG("AppleATIATADriver::%s()\n", __FUNCTION__);

 

// Clear interrupt latch

 

*(self->_bmStatusReg) = BM_STATUS_INT;

 

// Let our superclass handle the interrupt to advance to the next state

// in the state machine.

 

self->handleDeviceInterrupt();

}

 

*(self->_bmStatusReg) = BM_STATUS_INT; // i think it is not right for IO-mapped, am i right ?

 

It should be: for ITE8213

 

pciNub->ioWrite8(BM_STATUS, BM_STATUS_INT, bmMap); // Am i right ?

 

Is it possible for me to modify the AppleATIATA driver to make the ITE 8213 work ?

Do I also need to modify the IOATAFamily ?

 

 

i am a newbie for Mac driver, i want to port a driver for ITE 8213 and i would share the source code.

 

Looking forward to suggestions/hints to help resolve this problem would be greately appreciated.

Link to comment
Share on other sites

 Share

×
×
  • Create New...