Lines Matching refs:sd
73 #define CLOCK_PULSE(sd, rdy) { \ argument
81 while ((SEEPROM_STATUS_INB(sd) & rdy) == 0 && \
85 (void) SEEPROM_INB(sd); /* Clear clock */ \
94 read_seeprom(sd, buf, start_addr, count) in read_seeprom() argument
95 struct seeprom_descriptor *sd; in read_seeprom()
111 temp = sd->sd_MS ^ sd->sd_CS;
112 SEEPROM_OUTB(sd, temp ^ sd->sd_CK);
113 CLOCK_PULSE(sd, sd->sd_RDY);
121 temp ^= sd->sd_DO;
122 SEEPROM_OUTB(sd, temp);
123 CLOCK_PULSE(sd, sd->sd_RDY);
124 SEEPROM_OUTB(sd, temp ^ sd->sd_CK);
125 CLOCK_PULSE(sd, sd->sd_RDY);
127 temp ^= sd->sd_DO;
130 for (i = (sd->sd_chip - 1); i >= 0; i--) {
132 temp ^= sd->sd_DO;
133 SEEPROM_OUTB(sd, temp);
134 CLOCK_PULSE(sd, sd->sd_RDY);
135 SEEPROM_OUTB(sd, temp ^ sd->sd_CK);
136 CLOCK_PULSE(sd, sd->sd_RDY);
138 temp ^= sd->sd_DO;
149 SEEPROM_OUTB(sd, temp);
150 CLOCK_PULSE(sd, sd->sd_RDY);
152 if (SEEPROM_DATA_INB(sd) & sd->sd_DI)
154 SEEPROM_OUTB(sd, temp ^ sd->sd_CK);
155 CLOCK_PULSE(sd, sd->sd_RDY);
161 temp = sd->sd_MS;
162 SEEPROM_OUTB(sd, temp);
163 CLOCK_PULSE(sd, sd->sd_RDY);
164 SEEPROM_OUTB(sd, temp ^ sd->sd_CK);
165 CLOCK_PULSE(sd, sd->sd_RDY);
166 SEEPROM_OUTB(sd, temp);
167 CLOCK_PULSE(sd, sd->sd_RDY);