⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ide.h

📁 《嵌入式系统设计与实例开发实验教材II:基于ARM9微处理器与Linux操作系统》IDE—CF卡模块读写实验
💻 H
字号:
/* * linux/include/asm-arm/arch-s3c2410/ide.h * * by threewater<threewater@up-tech.com> * * derived from: * linux/include/asm-arm/arch-ebsa285/ide.h * Copyright (c) 1998 Russell King */#include <asm/irq.h>#include "S3C2410.h"/* * Set up a hw structure for a specified data port, control port and IRQ. * This should follow whatever the default interface uses. */static __inline__ voidide_init_hwif_ports(hw_regs_t *hw, int data_port, int ctrl_port, int *irq){	ide_ioreg_t reg = (ide_ioreg_t) data_port;	int i;	memset(hw, 0, sizeof(*hw));	for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) {		hw->io_ports[i] = reg;		reg ++;	}	hw->io_ports[IDE_CONTROL_OFFSET] = (ide_ioreg_t) ctrl_port;	if (irq)		*irq = 0;}/* * Set up a hw structure for a specified data port, control port and IRQ. * This should follow whatever the default interface uses. * add by threewater for default ide hardware */static __inline__ voidide_init_default_hwif_ports(hw_regs_t *hw, int data_port, int ctrl_port, int *irq){        ide_ioreg_t reg = (ide_ioreg_t) data_port;        int i;        memset(hw, 0, sizeof(*hw));        for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) {                hw->io_ports[i] = reg;                reg += 2;        }        hw->io_ports[IDE_CONTROL_OFFSET] = (ide_ioreg_t) ctrl_port;        if (irq)                *irq = 0;}/* * This registers the standard ports for this architecture with the IDE * driver. */static __inline__ voidide_init_default_hwifs(void){	hw_regs_t hw;	BWSCON = ((BWSCON & ~(BWSCON_ST1 | BWSCON_WS1 | BWSCON_DW1)) |		(BWSCON_ST1 | BWSCON_WS1 | BWSCON_DW(1, BWSCON_DW_16)));	BANKCON1= BANKCON_Tacs4 | BANKCON_Tcos4 | BANKCON_Tacc14 |		BANKCON_Toch4 | BANKCON_Tcah4 | BANKCON_Tacp6 | BANKCON_PMC1;	//set_external_irq(IRQ_IDE, EXT_HIGHLEVEL, GPIO_PULLUP_DIS);	set_external_irq(IRQ_IDE, EXT_RISING_EDGE, GPIO_PULLUP_DIS);	ide_init_default_hwif_ports(&hw, IDE_BASE+0x20, IDE_BASE+0x10, NULL);	hw.irq = IRQ_IDE;	hw.dma = NO_DMA;	ide_register_hw(&hw, NULL);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -