Lines Matching +full:big +full:- +full:endian +full:- +full:desc
1 // SPDX-License-Identifier: GPL-1.0+
5 * Bus Glue for PPC On-Chip EHCI driver on the of_platform bus
10 * Based on "ehci-ppc-soc.c" by Stefan Roese <sr@denx.de>
11 * and "ohci-ppc-of.c" by Sylvain Munaut <tnt@246tNt.com>
85 return -EINVAL; in ppc44x_enable_bmt()
96 struct device_node *dn = op->dev.of_node; in ehci_hcd_ppc_of_probe()
106 return -ENODEV; in ehci_hcd_ppc_of_probe()
108 dev_dbg(&op->dev, "initializing PPC-OF USB Controller\n"); in ehci_hcd_ppc_of_probe()
114 hcd = usb_create_hcd(&ehci_ppc_of_hc_driver, &op->dev, "PPC-OF USB"); in ehci_hcd_ppc_of_probe()
116 return -ENOMEM; in ehci_hcd_ppc_of_probe()
118 hcd->rsrc_start = res.start; in ehci_hcd_ppc_of_probe()
119 hcd->rsrc_len = resource_size(&res); in ehci_hcd_ppc_of_probe()
123 dev_err(&op->dev, "%s: irq_of_parse_and_map failed\n", in ehci_hcd_ppc_of_probe()
125 rv = -EBUSY; in ehci_hcd_ppc_of_probe()
129 hcd->regs = devm_ioremap_resource(&op->dev, &res); in ehci_hcd_ppc_of_probe()
130 if (IS_ERR(hcd->regs)) { in ehci_hcd_ppc_of_probe()
131 rv = PTR_ERR(hcd->regs); in ehci_hcd_ppc_of_probe()
136 np = of_find_compatible_node(NULL, NULL, "ibm,usb-ohci-440epx"); in ehci_hcd_ppc_of_probe()
140 ehci->ohci_hcctrl_reg = in ehci_hcd_ppc_of_probe()
141 devm_ioremap(&op->dev, in ehci_hcd_ppc_of_probe()
146 if (!ehci->ohci_hcctrl_reg) { in ehci_hcd_ppc_of_probe()
149 ehci->has_amcc_usb23 = 1; in ehci_hcd_ppc_of_probe()
154 if (of_property_read_bool(dn, "big-endian")) { in ehci_hcd_ppc_of_probe()
155 ehci->big_endian_mmio = 1; in ehci_hcd_ppc_of_probe()
156 ehci->big_endian_desc = 1; in ehci_hcd_ppc_of_probe()
158 if (of_property_read_bool(dn, "big-endian-regs")) in ehci_hcd_ppc_of_probe()
159 ehci->big_endian_mmio = 1; in ehci_hcd_ppc_of_probe()
160 if (of_property_read_bool(dn, "big-endian-desc")) in ehci_hcd_ppc_of_probe()
161 ehci->big_endian_desc = 1; in ehci_hcd_ppc_of_probe()
163 ehci->caps = hcd->regs; in ehci_hcd_ppc_of_probe()
165 if (of_device_is_compatible(dn, "ibm,usb-ehci-440epx")) { in ehci_hcd_ppc_of_probe()
175 device_wakeup_enable(hcd->self.controller); in ehci_hcd_ppc_of_probe()
195 dev_dbg(&op->dev, "stopping PPC-OF USB Controller\n"); in ehci_hcd_ppc_of_remove()
199 irq_dispose_mapping(hcd->irq); in ehci_hcd_ppc_of_remove()
204 if (ehci->has_amcc_usb23) { in ehci_hcd_ppc_of_remove()
205 np = of_find_compatible_node(NULL, NULL, "ibm,usb-ohci-440epx"); in ehci_hcd_ppc_of_remove()
224 .compatible = "usb-ehci",
236 .name = "ppc-of-ehci",