Lines Matching refs:chan
153 static int __init phy_wait_for_ack(struct pci_channel *chan) in phy_wait_for_ack() argument
158 if (pci_read_reg(chan, SH4A_PCIEPHYADRR) & (1 << BITS_ACK)) in phy_wait_for_ack()
167 static int __init pci_wait_for_irq(struct pci_channel *chan, unsigned int mask) in pci_wait_for_irq() argument
172 if ((pci_read_reg(chan, SH4A_PCIEINTR) & mask) == mask) in pci_wait_for_irq()
181 static void __init phy_write_reg(struct pci_channel *chan, unsigned int addr, in phy_write_reg() argument
190 pci_write_reg(chan, data, SH4A_PCIEPHYDOUTR); in phy_write_reg()
191 pci_write_reg(chan, phyaddr, SH4A_PCIEPHYADRR); in phy_write_reg()
193 phy_wait_for_ack(chan); in phy_write_reg()
196 pci_write_reg(chan, 0, SH4A_PCIEPHYDOUTR); in phy_write_reg()
197 pci_write_reg(chan, 0, SH4A_PCIEPHYADRR); in phy_write_reg()
199 phy_wait_for_ack(chan); in phy_write_reg()
204 struct pci_channel *chan = port->hose; in pcie_clk_init() local
239 clk->enable_reg = (void __iomem *)(chan->reg_base + SH4A_PCIEPHYCTLR); in pcie_clk_init()
259 struct pci_channel *chan = port->hose; in phy_init() local
265 phy_write_reg(chan, 0x60, 0xf, 0x004b008b); in phy_init()
266 phy_write_reg(chan, 0x61, 0xf, 0x00007b41); in phy_init()
267 phy_write_reg(chan, 0x64, 0xf, 0x00ff4f00); in phy_init()
268 phy_write_reg(chan, 0x65, 0xf, 0x09070907); in phy_init()
269 phy_write_reg(chan, 0x66, 0xf, 0x00000010); in phy_init()
270 phy_write_reg(chan, 0x74, 0xf, 0x0007001c); in phy_init()
271 phy_write_reg(chan, 0x79, 0xf, 0x01fc000d); in phy_init()
272 phy_write_reg(chan, 0xb0, 0xf, 0x00000610); in phy_init()
275 phy_write_reg(chan, 0x67, 0x1, 0x00000400); in phy_init()
281 if (pci_read_reg(chan, SH4A_PCIEPHYSR)) in phy_init()
292 struct pci_channel *chan = port->hose; in pcie_reset() local
294 pci_write_reg(chan, 1, SH4A_PCIESRSTR); in pcie_reset()
295 pci_write_reg(chan, 0, SH4A_PCIETCTLR); in pcie_reset()
296 pci_write_reg(chan, 0, SH4A_PCIESRSTR); in pcie_reset()
297 pci_write_reg(chan, 0, SH4A_PCIETXVC0SR); in pcie_reset()
302 struct pci_channel *chan = port->hose; in pcie_init() local
316 pci_write_reg(chan, PCI_CLASS_BRIDGE_PCI << 16, SH4A_PCIEIDSETR1); in pcie_init()
319 data = pci_read_reg(chan, SH4A_PCIEEXPCAP0); in pcie_init()
328 pci_write_reg(chan, data, SH4A_PCIEEXPCAP0); in pcie_init()
331 pci_write_reg(chan, PCI_EXP_LNKCAP_DLLLARC, SH4A_PCIEEXPCAP3); in pcie_init()
334 data = pci_read_reg(chan, SH4A_PCIEEXPCAP4); in pcie_init()
337 pci_write_reg(chan, data, SH4A_PCIEEXPCAP4); in pcie_init()
340 data = pci_read_reg(chan, SH4A_PCIEEXPCAP5); in pcie_init()
343 pci_write_reg(chan, data, SH4A_PCIEEXPCAP5); in pcie_init()
346 data = pci_read_reg(chan, SH4A_PCIETLCTLR); in pcie_init()
349 pci_write_reg(chan, data, SH4A_PCIETLCTLR); in pcie_init()
355 data = pci_read_reg(chan, SH4A_PCIEMACCTLR); in pcie_init()
358 pci_write_reg(chan, data, SH4A_PCIEMACCTLR); in pcie_init()
368 pci_write_reg(chan, memphys + SZ_512M, SH4A_PCIELAR1); in pcie_init()
369 pci_write_reg(chan, ((memsize - SZ_512M) - SZ_256) | 1, in pcie_init()
376 pci_write_reg(chan, 0, SH4A_PCIELAR1); in pcie_init()
377 pci_write_reg(chan, 0, SH4A_PCIELAMR1); in pcie_init()
384 pci_write_reg(chan, memphys, SH4A_PCIELAR0); in pcie_init()
385 pci_write_reg(chan, (memsize - SZ_256) | 1, SH4A_PCIELAMR0); in pcie_init()
388 data = pci_read_reg(chan, SH4A_PCIETCTLR); in pcie_init()
390 pci_write_reg(chan, data, SH4A_PCIETCTLR); in pcie_init()
396 data = pci_read_reg(chan, SH4A_PCIEDLINTENR); in pcie_init()
398 pci_write_reg(chan, data, SH4A_PCIEDLINTENR); in pcie_init()
401 data = pci_read_reg(chan, SH4A_PCIEMACCTLR); in pcie_init()
403 pci_write_reg(chan, data, SH4A_PCIEMACCTLR); in pcie_init()
410 ret = pci_wait_for_irq(chan, MASK_INT_TX_CTRL); in pcie_init()
412 data = pci_read_reg(chan, SH4A_PCIEPCICONF1); in pcie_init()
416 pci_write_reg(chan, data, SH4A_PCIEPCICONF1); in pcie_init()
418 pci_write_reg(chan, 0x80888000, SH4A_PCIETXVC0DCTLR); in pcie_init()
419 pci_write_reg(chan, 0x00222000, SH4A_PCIERXVC0DCTLR); in pcie_init()
424 data = pci_read_reg(chan, SH4A_PCIEMACSR); in pcie_init()
431 for (i = win = 0; i < chan->nr_resources; i++) { in pcie_init()
432 struct resource *res = chan->resources + i; in pcie_init()
443 pci_write_reg(chan, 0x00000000, SH4A_PCIEPTCTLR(win)); in pcie_init()
451 pci_write_reg(chan, mask << 18, SH4A_PCIEPAMR(win)); in pcie_init()
453 pci_write_reg(chan, upper_32_bits(res->start), in pcie_init()
455 pci_write_reg(chan, lower_32_bits(res->start), in pcie_init()
462 pci_write_reg(chan, mask, SH4A_PCIEPTCTLR(win)); in pcie_init()