Lines Matching defs:ixpp
53 static void ixp4xx_set_8bit_timing(struct ixp4xx_pata *ixpp, u8 pio_mode)
57 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg,
61 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg,
65 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg,
69 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg,
73 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg,
79 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg,
83 static void ixp4xx_set_16bit_timing(struct ixp4xx_pata *ixpp, u8 pio_mode)
87 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg,
91 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg,
95 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg,
99 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg,
103 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg,
109 regmap_update_bits(ixpp->rmap, ixpp->cmd_csreg,
116 struct ixp4xx_pata *ixpp = ap->host->private_data;
120 ixp4xx_set_8bit_timing(ixpp, adev->pio_mode);
133 struct ixp4xx_pata *ixpp = ap->host->private_data;
143 ixp4xx_set_16bit_timing(ixpp, adev->pio_mode);
169 ixp4xx_set_8bit_timing(ixpp, adev->pio_mode);
195 struct ixp4xx_pata *ixpp,
201 ioaddr->cmd_addr = ixpp->cmd;
202 ioaddr->altstatus_addr = ixpp->ctl + 0x06;
203 ioaddr->ctl_addr = ixpp->ctl + 0x06;
240 struct ixp4xx_pata *ixpp;
245 ixpp = devm_kzalloc(dev, sizeof(*ixpp), GFP_KERNEL);
246 if (!ixpp)
249 ixpp->rmap = syscon_node_to_regmap(np->parent);
250 if (IS_ERR(ixpp->rmap))
251 return dev_err_probe(dev, PTR_ERR(ixpp->rmap), "no regmap\n");
257 ixpp->cmd_csreg = csindex * IXP4XX_EXP_TIMING_STRIDE;
259 ixpp->host = ata_host_alloc_pinfo(dev, ppi, 1);
260 if (!ixpp->host)
262 ixpp->host->private_data = ixpp;
268 ixpp->cmd = devm_platform_get_and_ioremap_resource(pdev, 0, &cmd);
269 if (IS_ERR(ixpp->cmd))
270 return PTR_ERR(ixpp->cmd);
272 ixpp->ctl = devm_platform_get_and_ioremap_resource(pdev, 1, &ctl);
273 if (IS_ERR(ixpp->ctl))
274 return PTR_ERR(ixpp->ctl);
282 ixp4xx_setup_port(ixpp->host->ports[0], ixpp, cmd->start, ctl->start);
286 return ata_host_activate(ixpp->host, irq, ata_sff_interrupt, 0, &ixp4xx_sht);