Lines Matching refs:io_port
3799 static void trms1040_wait_30us(unsigned long io_port) in trms1040_wait_30us() argument
3802 outb(5, io_port + TRM_S1040_GEN_TIMER); in trms1040_wait_30us()
3803 while (!(inb(io_port + TRM_S1040_GEN_STATUS) & GTIMEOUT)) in trms1040_wait_30us()
3816 static void trms1040_write_cmd(unsigned long io_port, u8 cmd, u8 addr) in trms1040_write_cmd() argument
3827 outb(send_data, io_port + TRM_S1040_GEN_NVRAM); in trms1040_write_cmd()
3828 trms1040_wait_30us(io_port); in trms1040_write_cmd()
3830 io_port + TRM_S1040_GEN_NVRAM); in trms1040_write_cmd()
3831 trms1040_wait_30us(io_port); in trms1040_write_cmd()
3840 outb(send_data, io_port + TRM_S1040_GEN_NVRAM); in trms1040_write_cmd()
3841 trms1040_wait_30us(io_port); in trms1040_write_cmd()
3843 io_port + TRM_S1040_GEN_NVRAM); in trms1040_write_cmd()
3844 trms1040_wait_30us(io_port); in trms1040_write_cmd()
3846 outb(NVR_SELECT, io_port + TRM_S1040_GEN_NVRAM); in trms1040_write_cmd()
3847 trms1040_wait_30us(io_port); in trms1040_write_cmd()
3861 static void trms1040_set_data(unsigned long io_port, u8 addr, u8 byte) in trms1040_set_data() argument
3867 trms1040_write_cmd(io_port, 0x05, addr); in trms1040_set_data()
3875 outb(send_data, io_port + TRM_S1040_GEN_NVRAM); in trms1040_set_data()
3876 trms1040_wait_30us(io_port); in trms1040_set_data()
3877 outb((send_data | NVR_CLOCK), io_port + TRM_S1040_GEN_NVRAM); in trms1040_set_data()
3878 trms1040_wait_30us(io_port); in trms1040_set_data()
3880 outb(NVR_SELECT, io_port + TRM_S1040_GEN_NVRAM); in trms1040_set_data()
3881 trms1040_wait_30us(io_port); in trms1040_set_data()
3884 outb(0, io_port + TRM_S1040_GEN_NVRAM); in trms1040_set_data()
3885 trms1040_wait_30us(io_port); in trms1040_set_data()
3887 outb(NVR_SELECT, io_port + TRM_S1040_GEN_NVRAM); in trms1040_set_data()
3888 trms1040_wait_30us(io_port); in trms1040_set_data()
3892 outb((NVR_SELECT | NVR_CLOCK), io_port + TRM_S1040_GEN_NVRAM); in trms1040_set_data()
3893 trms1040_wait_30us(io_port); in trms1040_set_data()
3895 outb(NVR_SELECT, io_port + TRM_S1040_GEN_NVRAM); in trms1040_set_data()
3896 trms1040_wait_30us(io_port); in trms1040_set_data()
3898 if (inb(io_port + TRM_S1040_GEN_NVRAM) & NVR_BITIN) in trms1040_set_data()
3903 outb(0, io_port + TRM_S1040_GEN_NVRAM); in trms1040_set_data()
3915 static void trms1040_write_all(struct NvRamType *eeprom, unsigned long io_port) in trms1040_write_all() argument
3921 outb((inb(io_port + TRM_S1040_GEN_CONTROL) | EN_EEPROM), in trms1040_write_all()
3922 io_port + TRM_S1040_GEN_CONTROL); in trms1040_write_all()
3925 trms1040_write_cmd(io_port, 0x04, 0xFF); in trms1040_write_all()
3926 outb(0, io_port + TRM_S1040_GEN_NVRAM); in trms1040_write_all()
3927 trms1040_wait_30us(io_port); in trms1040_write_all()
3931 trms1040_set_data(io_port, addr, *b_eeprom); in trms1040_write_all()
3934 trms1040_write_cmd(io_port, 0x04, 0x00); in trms1040_write_all()
3935 outb(0, io_port + TRM_S1040_GEN_NVRAM); in trms1040_write_all()
3936 trms1040_wait_30us(io_port); in trms1040_write_all()
3939 outb((inb(io_port + TRM_S1040_GEN_CONTROL) & ~EN_EEPROM), in trms1040_write_all()
3940 io_port + TRM_S1040_GEN_CONTROL); in trms1040_write_all()
3955 static u8 trms1040_get_data(unsigned long io_port, u8 addr) in trms1040_get_data() argument
3962 trms1040_write_cmd(io_port, 0x06, addr); in trms1040_get_data()
3966 outb((NVR_SELECT | NVR_CLOCK), io_port + TRM_S1040_GEN_NVRAM); in trms1040_get_data()
3967 trms1040_wait_30us(io_port); in trms1040_get_data()
3968 outb(NVR_SELECT, io_port + TRM_S1040_GEN_NVRAM); in trms1040_get_data()
3971 read_byte = inb(io_port + TRM_S1040_GEN_NVRAM); in trms1040_get_data()
3976 trms1040_wait_30us(io_port); in trms1040_get_data()
3980 outb(0, io_port + TRM_S1040_GEN_NVRAM); in trms1040_get_data()
3993 static void trms1040_read_all(struct NvRamType *eeprom, unsigned long io_port) in trms1040_read_all() argument
3999 outb((inb(io_port + TRM_S1040_GEN_CONTROL) | EN_EEPROM), in trms1040_read_all()
4000 io_port + TRM_S1040_GEN_CONTROL); in trms1040_read_all()
4004 *b_eeprom = trms1040_get_data(io_port, addr); in trms1040_read_all()
4007 outb((inb(io_port + TRM_S1040_GEN_CONTROL) & ~EN_EEPROM), in trms1040_read_all()
4008 io_port + TRM_S1040_GEN_CONTROL); in trms1040_read_all()
4023 static void check_eeprom(struct NvRamType *eeprom, unsigned long io_port) in check_eeprom() argument
4031 trms1040_read_all(eeprom, io_port); /* read eeprom */ in check_eeprom()
4077 trms1040_write_all(eeprom, io_port); in check_eeprom()
4282 host->io_port = acb->io_port_base; in adapter_init_scsi_host()
4362 static int adapter_init(struct AdapterCtlBlk *acb, unsigned long io_port, in adapter_init() argument
4365 if (!request_region(io_port, io_port_len, DC395X_NAME)) { in adapter_init()
4366 dprintkl(KERN_ERR, "Failed to reserve IO region 0x%lx\n", io_port); in adapter_init()
4370 acb->io_port_base = io_port; in adapter_init()
4382 check_eeprom(&acb->eeprom, io_port); in adapter_init()