Lines Matching refs:nn
167 struct n3000_nios *nn = dev_get_drvdata(dev);
171 ret = regmap_read(nn->regmap, N3000_NIOS_FW_VERSION, &val);
190 static int get_retimer_mode(struct n3000_nios *nn, unsigned int mode_stat_reg,
196 ret = regmap_read(nn->regmap, mode_stat_reg, &val);
211 struct n3000_nios *nn = dev_get_drvdata(dev);
215 ret = get_retimer_mode(nn, N3000_NIOS_PKVL_A_MODE_STS, &mode);
226 struct n3000_nios *nn = dev_get_drvdata(dev);
230 ret = get_retimer_mode(nn, N3000_NIOS_PKVL_B_MODE_STS, &mode);
242 struct n3000_nios *nn = dev_get_drvdata(dev);
246 ret = regmap_read(nn->regmap, N3000_NIOS_FW_VERSION, &val);
254 ret = get_retimer_mode(nn, N3000_NIOS_PKVL_A_MODE_STS, &retimer_a_mode);
258 ret = get_retimer_mode(nn, N3000_NIOS_PKVL_B_MODE_STS, &retimer_b_mode);
267 ret = regmap_read(nn->regmap, N3000_NIOS_INIT, &val);
296 static int n3000_nios_init_done_check(struct n3000_nios *nn)
299 struct device *dev = nn->dev;
313 ret = regmap_read(nn->regmap, N3000_NIOS_FW_VERSION, &val);
333 ret = regmap_read(nn->regmap, N3000_NIOS_INIT, &val);
359 ret = regmap_write(nn->regmap, N3000_NIOS_INIT, val);
366 ret = regmap_read_poll_timeout(nn->regmap, N3000_NIOS_INIT, val,
374 ret2 = regmap_read(nn->regmap, N3000_NIOS_PKVL_A_MODE_STS, &state_a);
378 ret2 = regmap_read(nn->regmap, N3000_NIOS_PKVL_B_MODE_STS, &state_b);
402 dev_err(nn->dev, "PKVL_A_MODE_STS 0x%x\n", state_a);
403 dev_err(nn->dev, "PKVL_B_MODE_STS 0x%x\n", state_b);
415 static int create_altera_spi_controller(struct n3000_nios *nn)
419 void __iomem *base = nn->base;
437 dev_dbg(nn->dev, "%s cs %u bpm 0x%x mode 0x%x\n", __func__,
443 pdevinfo.parent = nn->dev;
447 nn->altera_spi = platform_device_register_full(&pdevinfo);
448 return PTR_ERR_OR_ZERO(nn->altera_spi);
451 static void destroy_altera_spi_controller(struct n3000_nios *nn)
453 platform_device_unregister(nn->altera_spi);
480 struct n3000_nios *nn = context;
487 writeq(v, nn->base + N3000_NS_CTRL);
489 ret = n3000_nios_poll_stat_timeout(nn->base, &v);
491 dev_err(nn->dev, "fail to write reg 0x%x val 0x%x: %d\n",
499 struct n3000_nios *nn = context;
505 writeq(v, nn->base + N3000_NS_CTRL);
507 ret = n3000_nios_poll_stat_timeout(nn->base, &v);
509 dev_err(nn->dev, "fail to read reg 0x%x: %d\n", reg, ret);
529 struct n3000_nios *nn;
532 nn = devm_kzalloc(dev, sizeof(*nn), GFP_KERNEL);
533 if (!nn)
536 dev_set_drvdata(&ddev->dev, nn);
538 nn->dev = dev;
540 nn->base = devm_ioremap_resource(&ddev->dev, &ddev->mmio_res);
541 if (IS_ERR(nn->base))
542 return PTR_ERR(nn->base);
544 nn->regmap = devm_regmap_init(dev, NULL, nn, &n3000_nios_regbus_cfg);
545 if (IS_ERR(nn->regmap))
546 return PTR_ERR(nn->regmap);
548 ret = n3000_nios_init_done_check(nn);
552 ret = create_altera_spi_controller(nn);
561 struct n3000_nios *nn = dev_get_drvdata(&ddev->dev);
563 destroy_altera_spi_controller(nn);