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