Lines Matching defs:regbase
169 static void sata_clear_glue_reg(u64 regbase, u32 off, u32 bit)
173 reg_val = nlm_read_sata_reg(regbase, off);
174 nlm_write_sata_reg(regbase, off, (reg_val & ~bit));
177 static void sata_set_glue_reg(u64 regbase, u32 off, u32 bit)
181 reg_val = nlm_read_sata_reg(regbase, off);
182 nlm_write_sata_reg(regbase, off, (reg_val | bit));
185 static void write_phy_reg(u64 regbase, u32 addr, u32 physel, u8 data)
187 nlm_write_sata_reg(regbase, PHY_MEM_ACCESS,
192 static u8 read_phy_reg(u64 regbase, u32 addr, u32 physel)
196 nlm_write_sata_reg(regbase, PHY_MEM_ACCESS,
199 val = nlm_read_sata_reg(regbase, PHY_MEM_ACCESS);
203 static void config_sata_phy(u64 regbase)
210 write_phy_reg(regbase, reg, port, sata_phy_config1[i]);
213 write_phy_reg(regbase, reg, port, sata_phy_config2[i]);
216 write_phy_reg(regbase, 0x800F, port, 0x1f);
218 val = read_phy_reg(regbase, 0x0029, port);
219 write_phy_reg(regbase, 0x0029, port, val | (0x7 << 1));
221 val = read_phy_reg(regbase, 0x0056, port);
222 write_phy_reg(regbase, 0x0056, port, val & ~(1 << 3));
224 val = read_phy_reg(regbase, 0x0018, port);
225 write_phy_reg(regbase, 0x0018, port, val & ~(0x7 << 0));
229 static void check_phy_register(u64 regbase, u32 addr, u32 physel, u8 xdata)
233 data = read_phy_reg(regbase, addr, physel);
238 static void verify_sata_phy_config(u64 regbase)
244 check_phy_register(regbase, reg, port,
248 check_phy_register(regbase, reg, port,
256 u64 regbase;
260 regbase = nlm_get_sata_regbase(node);
263 sata_clear_glue_reg(regbase, SATA_CTL, P0_IRST_POR);
264 sata_clear_glue_reg(regbase, SATA_CTL, P0_IRST_HARD_TXRX);
265 sata_clear_glue_reg(regbase, SATA_CTL, P0_IRST_HARD_SYNTH);
266 sata_clear_glue_reg(regbase, SATA_CTL, P0_IPDTXL);
267 sata_clear_glue_reg(regbase, SATA_CTL, P0_IPDRXL);
268 sata_clear_glue_reg(regbase, SATA_CTL, P0_IPDIPDMSYNTH);
271 sata_clear_glue_reg(regbase, SATA_CTL, P1_IRST_POR);
272 sata_clear_glue_reg(regbase, SATA_CTL, P1_IRST_HARD_TXRX);
273 sata_clear_glue_reg(regbase, SATA_CTL, P1_IRST_HARD_SYNTH);
274 sata_clear_glue_reg(regbase, SATA_CTL, P1_IPDTXL);
275 sata_clear_glue_reg(regbase, SATA_CTL, P1_IPDRXL);
276 sata_clear_glue_reg(regbase, SATA_CTL, P1_IPDIPDMSYNTH);
280 sata_set_glue_reg(regbase, SATA_CTL, P0_IPDTXL);
281 sata_set_glue_reg(regbase, SATA_CTL, P0_IPDRXL);
282 sata_set_glue_reg(regbase, SATA_CTL, P0_IPDIPDMSYNTH);
283 sata_set_glue_reg(regbase, SATA_CTL, P1_IPDTXL);
284 sata_set_glue_reg(regbase, SATA_CTL, P1_IPDRXL);
285 sata_set_glue_reg(regbase, SATA_CTL, P1_IPDIPDMSYNTH);
288 sata_set_glue_reg(regbase, SATA_CTL, P0_IRST_POR);
290 sata_set_glue_reg(regbase, SATA_CTL, P1_IRST_POR);
294 config_sata_phy(regbase);
296 verify_sata_phy_config(regbase);
299 sata_set_glue_reg(regbase, SATA_CTL, P0_IRST_HARD_TXRX);
300 sata_set_glue_reg(regbase, SATA_CTL, P0_IRST_HARD_SYNTH);
301 sata_set_glue_reg(regbase, SATA_CTL, P1_IRST_HARD_TXRX);
302 sata_set_glue_reg(regbase, SATA_CTL, P1_IRST_HARD_SYNTH);
306 sata_set_glue_reg(regbase, CR_REG_TIMER, CR_TIME_SCALE);
308 sata_set_glue_reg(regbase, SATA_CTL, SATA_RST_N);
309 sata_set_glue_reg(regbase, SATA_CTL, M_CSYSREQ);
310 sata_set_glue_reg(regbase, SATA_CTL, S_CSYSREQ);
315 reg_val = nlm_read_sata_reg(regbase, SATA_STATUS);
347 u64 regbase;
352 regbase = nlm_get_sata_regbase(node);
353 val = nlm_read_sata_reg(regbase, SATA_INT);
354 sata_set_glue_reg(regbase, SATA_INT, val);
366 u64 regbase;
371 regbase = nlm_get_sata_regbase(node);
374 val = nlm_read_sata_reg(regbase, SATA_INT);
375 sata_set_glue_reg(regbase, SATA_INT, val);
378 sata_set_glue_reg(regbase, SATA_INT_MASK, 0x1);