Home
last modified time | relevance | path

Searched full:ulpi (Results 1 – 25 of 287) sorted by relevance

12345678910>>...12

/openbmc/linux/drivers/usb/common/
H A Dulpi.c3 * ulpi.c - USB ULPI PHY bus
10 #include <linux/ulpi/interface.h>
11 #include <linux/ulpi/driver.h>
12 #include <linux/ulpi/regs.h>
23 int ulpi_read(struct ulpi *ulpi, u8 addr) in ulpi_read() argument
25 return ulpi->ops->read(ulpi->dev.parent, addr); in ulpi_read()
29 int ulpi_write(struct ulpi *ulpi, u8 addr, u8 val) in ulpi_write() argument
31 return ulpi->ops->write(ulpi->dev.parent, addr, val); in ulpi_write()
40 struct ulpi *ulpi = to_ulpi_dev(dev); in ulpi_match() local
44 * Some ULPI devices don't have a vendor id in ulpi_match()
[all …]
H A DKconfig18 tristate "USB ULPI PHY interface support"
21 UTMI+ Low Pin Interface (ULPI) is specification for a commonly used
22 USB 2.0 PHY interface. The ULPI specification defines a standard set
24 allows ULPI to be handled as a bus. This module is the driver for that
27 The ULPI interfaces (the buses) are registered by the drivers for USB
28 controllers which support ULPI register access and have ULPI PHY
29 attached to them. The ULPI PHY drivers themselves are normal PHY
32 ULPI PHYs provide often functions such as ADP sensing/probing (OTG
36 be called ulpi.
/openbmc/linux/include/linux/ulpi/
H A Ddriver.h12 * struct ulpi - describes ULPI PHY device
13 * @id: vendor and product ids for ULPI device
17 struct ulpi { struct
23 #define to_ulpi_dev(d) container_of(d, struct ulpi, dev) argument
25 static inline void ulpi_set_drvdata(struct ulpi *ulpi, void *data) in ulpi_set_drvdata() argument
27 dev_set_drvdata(&ulpi->dev, data); in ulpi_set_drvdata()
30 static inline void *ulpi_get_drvdata(struct ulpi *ulpi) in ulpi_get_drvdata() argument
32 return dev_get_drvdata(&ulpi->dev); in ulpi_get_drvdata()
36 * struct ulpi_driver - describes a ULPI PHY driver
38 * @probe: binds this driver to ULPI device
[all …]
H A Dinterface.h7 struct ulpi;
11 * struct ulpi_ops - ULPI register access
12 * @read: read operation for ULPI register access
13 * @write: write operation for ULPI register access
20 struct ulpi *ulpi_register_interface(struct device *, const struct ulpi_ops *);
21 void ulpi_unregister_interface(struct ulpi *);
/openbmc/u-boot/doc/
H A DREADME.omap-ulpi-viewport1 Reference code ""drivers/usb/ulpi/omap-ulpi-viewport.c"
3 Contains the ulpi read write api's to perform
4 any ulpi phy port access on omap platform.
7 register which offers the ulpi phy access so
8 any ulpi phy commands should be passsed using this
11 omap-ulpi-viewport.c is a low level function
12 implementation of "drivers/usb/ulpi/ulpi.c"
14 To enable and use omap-ulpi-viewport.c
18 Any ulpi ops request can be done with ulpi.c
20 omap-ulpi-viewport implementation.
[all …]
/openbmc/u-boot/drivers/usb/ulpi/
H A Dulpi.c10 * linux/drivers/usb/otg/ulpi.c
11 * Generic ULPI USB transceiver support
24 #include <usb/ulpi.h>
29 static struct ulpi_regs *ulpi = (struct ulpi_regs *)0; variable
38 err = ulpi_write(ulpi_vp, &ulpi->scratch, tval); in ulpi_integrity_check()
42 val = ulpi_read(ulpi_vp, &ulpi->scratch); in ulpi_integrity_check()
44 printf("ULPI integrity check failed\n"); in ulpi_integrity_check()
55 u8 *reg = &ulpi->product_id_high; in ulpi_init()
58 /* Assemble ID from four ULPI ID registers (8 bits each). */ in ulpi_init()
68 debug("ULPI transceiver ID 0x%04x:0x%04x\n", id >> 16, id & 0xffff); in ulpi_init()
[all …]
H A DKconfig1 comment "ULPI drivers"
4 prompt "ULPI Viewport type"
7 Select ULPI viewport (SoC-side interface to ULPI) implementation
9 UTMI (USB PHY) via ULPI interface.
12 bool "Generic ULPI Viewport"
14 Support generic ULPI Viewport implementation that is used on
18 bool "OMAP ULPI Viewport"
20 Support ULPI Viewport implementation that is used on OMAP devices.
25 bool "ULPI support"
28 Select to commnicate with USB PHY via ULPI interface.
[all …]
H A Domap-ulpi-viewport.c3 * OMAP ulpi viewport support
4 * Based on drivers/usb/ulpi/ulpi-viewport.c
12 #include <usb/ulpi.h>
19 * Wait for having ulpi in done state
36 * Issue a ULPI read/write request
46 debug("ULPI request timed out\n"); in ulpi_request()
H A Dulpi-viewport.c18 #include <usb/ulpi.h>
20 /* ULPI viewport control bits */
27 * Wait for the ULPI request to complete
50 * Wake the ULPI PHY up for communication
65 printf("ULPI wakeup timed out\n"); in ulpi_wakeup()
71 * Issue a ULPI read/write request
73 * @value - the ULPI request
87 printf("ULPI request timed out\n"); in ulpi_request()
H A DMakefile5 obj-$(CONFIG_USB_ULPI) += ulpi.o
6 obj-$(CONFIG_USB_ULPI_VIEWPORT) += ulpi-viewport.o
7 obj-$(CONFIG_USB_ULPI_VIEWPORT_OMAP) += omap-ulpi-viewport.o
/openbmc/linux/drivers/phy/qualcomm/
H A Dphy-qcom-usb-hsic.c6 #include <linux/ulpi/driver.h>
7 #include <linux/ulpi/regs.h>
18 struct ulpi *ulpi; member
29 struct ulpi *ulpi = uphy->ulpi; in qcom_usb_hsic_phy_power_on() local
46 ret = ulpi_write(ulpi, ULPI_HSIC_IO_CAL, 0xff); in qcom_usb_hsic_phy_power_on()
51 ret = ulpi_write(ulpi, ULPI_HSIC_CFG, 0xa8); in qcom_usb_hsic_phy_power_on()
67 ret = ulpi_write(ulpi, ULPI_SET(ULPI_HSIC_CFG), 0x01); in qcom_usb_hsic_phy_power_on()
72 ret = ulpi_write(ulpi, ULPI_CLR(ULPI_IFC_CTRL), in qcom_usb_hsic_phy_power_on()
104 static int qcom_usb_hsic_phy_probe(struct ulpi *ulpi) in qcom_usb_hsic_phy_probe() argument
110 uphy = devm_kzalloc(&ulpi->dev, sizeof(*uphy), GFP_KERNEL); in qcom_usb_hsic_phy_probe()
[all …]
H A Dphy-qcom-usb-hs.c6 #include <linux/ulpi/driver.h>
7 #include <linux/ulpi/regs.h>
30 struct ulpi *ulpi; member
64 ret = ulpi_write(uphy->ulpi, ULPI_USB_INT_EN_RISE, val); in qcom_usb_hs_phy_set_mode()
67 ret = ulpi_write(uphy->ulpi, ULPI_USB_INT_EN_FALL, val); in qcom_usb_hs_phy_set_mode()
81 ret = ulpi_write(uphy->ulpi, ULPI_SET(ULPI_PWR_CLK_MNG_REG), in qcom_usb_hs_phy_set_mode()
85 ret = ulpi_write(uphy->ulpi, addr, ULPI_MISC_A_VBUSVLDEXTSEL); in qcom_usb_hs_phy_set_mode()
105 return ulpi_write(uphy->ulpi, addr, ULPI_MISC_A_VBUSVLDEXT); in qcom_usb_hs_phy_vbus_notifier()
111 struct ulpi *ulpi = uphy->ulpi; in qcom_usb_hs_phy_power_on() local
145 ret = ulpi_write(ulpi, ULPI_EXT_VENDOR_SPECIFIC + seq->addr, in qcom_usb_hs_phy_power_on()
[all …]
/openbmc/linux/drivers/phy/ti/
H A Dphy-tusb1210.c3 * tusb1210.c - TUSB1210 USB ULPI PHY driver
12 #include <linux/ulpi/driver.h>
13 #include <linux/ulpi/regs.h>
55 struct ulpi *ulpi; member
75 ret = ulpi_write(tusb->ulpi, reg, val); in tusb1210_ulpi_write()
77 dev_err(&tusb->ulpi->dev, "error %d writing val 0x%02x to reg 0x%02x\n", in tusb1210_ulpi_write()
87 ret = ulpi_read(tusb->ulpi, reg); in tusb1210_ulpi_read()
92 dev_err(&tusb->ulpi->dev, "error %d reading reg 0x%02x\n", ret, reg); in tusb1210_ulpi_read()
180 dev_dbg(&tusb->ulpi->dev, "charger type: %d\n", type); in tusb1210_chg_det_set_type()
191 dev_dbg(&tusb->ulpi->dev, "chg_det new state %s in %d ms\n", in tusb1210_chg_det_set_state()
[all …]
/openbmc/linux/include/linux/phy/
H A Dulpi_phy.h5 * Helper that registers PHY for a ULPI device and adds a lookup for binding it
9 *ulpi_phy_create(struct ulpi *ulpi, const struct phy_ops *ops) in ulpi_phy_create() argument
14 phy = phy_create(&ulpi->dev, NULL, ops); in ulpi_phy_create()
18 ret = phy_create_lookup(phy, "usb2-phy", dev_name(ulpi->dev.parent)); in ulpi_phy_create()
28 static inline void ulpi_phy_destroy(struct ulpi *ulpi, struct phy *phy) in ulpi_phy_destroy() argument
30 phy_remove_lookup(phy, "usb2-phy", dev_name(ulpi->dev.parent)); in ulpi_phy_destroy()
/openbmc/linux/drivers/usb/dwc3/
H A Dulpi.c3 * ulpi.c - DesignWare USB3 Controller's ULPI PHY interface
12 #include <linux/ulpi/regs.h>
89 dwc->ulpi = ulpi_register_interface(dwc->dev, &dwc3_ulpi_ops); in dwc3_ulpi_init()
90 if (IS_ERR(dwc->ulpi)) { in dwc3_ulpi_init()
91 dev_err(dwc->dev, "failed to register ULPI interface"); in dwc3_ulpi_init()
92 return PTR_ERR(dwc->ulpi); in dwc3_ulpi_init()
100 if (dwc->ulpi) { in dwc3_ulpi_exit()
101 ulpi_unregister_interface(dwc->ulpi); in dwc3_ulpi_exit()
102 dwc->ulpi = NULL; in dwc3_ulpi_exit()
/openbmc/u-boot/drivers/usb/host/
H A Dehci-zynq.c15 #include <usb/ulpi.h>
42 /* Used for writing the ULPI data address */ in ehci_zynq_probe()
43 struct ulpi_regs *ulpi = (struct ulpi_regs *)0; in ehci_zynq_probe() local
55 puts("zynq ULPI viewport init failed\n"); in ehci_zynq_probe()
59 /* ULPI set flags */ in ehci_zynq_probe()
60 ulpi_write(&ulpi_vp, &ulpi->otg_ctrl, in ehci_zynq_probe()
63 ulpi_write(&ulpi_vp, &ulpi->function_ctrl, in ehci_zynq_probe()
66 ulpi_write(&ulpi_vp, &ulpi->iface_ctrl, 0); in ehci_zynq_probe()
69 ulpi_write(&ulpi_vp, &ulpi->otg_ctrl_set, in ehci_zynq_probe()
/openbmc/linux/drivers/usb/chipidea/
H A Dulpi.c8 #include <linux/ulpi/interface.h>
72 * Set PORTSC correctly so we can read/write ULPI registers for in ci_ulpi_init()
79 ci->ulpi = ulpi_register_interface(ci->dev, &ci->ulpi_ops); in ci_ulpi_init()
80 if (IS_ERR(ci->ulpi)) in ci_ulpi_init()
81 dev_err(ci->dev, "failed to register ULPI interface"); in ci_ulpi_init()
83 return PTR_ERR_OR_ZERO(ci->ulpi); in ci_ulpi_init()
88 if (ci->ulpi) { in ci_ulpi_exit()
89 ulpi_unregister_interface(ci->ulpi); in ci_ulpi_exit()
90 ci->ulpi = NULL; in ci_ulpi_exit()
/openbmc/linux/Documentation/devicetree/bindings/usb/
H A Dulpi.txt1 ULPI bus binding
4 Phys that are behind a ULPI connection can be described with the following
5 binding. The host controller shall have a "ulpi" named node as a child, and
6 that node shall have one enabled node underneath it representing the ulpi
15 ulpi {
/openbmc/linux/drivers/usb/phy/
H A Dphy-ulpi.c3 * Generic ULPI USB transceiver support
18 #include <linux/usb/ulpi.h>
33 /* ULPI hardcoded IDs, used for probing */
51 * ULPI Specification rev.1.1 default in ulpi_set_otg_flags()
71 * ULPI Specification rev.1.1 default in ulpi_set_fc_flags()
87 * ULPI Specification rev.1.1 default in ulpi_set_fc_flags()
100 * ULPI Specification rev.1.1 default in ulpi_set_fc_flags()
157 pr_err("ULPI integrity check: failed!"); in ulpi_check_integrity()
163 pr_info("ULPI integrity check: passed.\n"); in ulpi_check_integrity()
182 pr_info("ULPI transceiver vendor/product ID 0x%04x/0x%04x\n", vid, pid); in ulpi_init()
[all …]
/openbmc/u-boot/include/usb/
H A Dulpi.h3 * Generic ULPI interface.
12 * linux/include/linux/usb/ulpi.h
28 * ulpi view port address and
39 * Initialize the ULPI transciever and check the interface integrity.
40 * @ulpi_vp - structure containing ULPI viewport data
113 * Reset the transceiver. ULPI interface and registers are not affected.
120 /* ULPI access methods below must be implemented for each ULPI viewport. */
123 * Write to the ULPI PHY register via the viewport.
124 * @reg - the ULPI register (one of the fields in struct ulpi_regs).
125 * Due to ULPI design, only 8 lsb of address are used.
[all …]
/openbmc/u-boot/arch/arm/mach-tegra/tegra114/
H A Dpinmux.c25 PIN(ULPI_DATA0_PO1, SPI3, HSI, UARTA, ULPI),
26 PIN(ULPI_DATA1_PO2, SPI3, HSI, UARTA, ULPI),
27 PIN(ULPI_DATA2_PO3, SPI3, HSI, UARTA, ULPI),
28 PIN(ULPI_DATA3_PO4, SPI3, HSI, UARTA, ULPI),
29 PIN(ULPI_DATA4_PO5, SPI2, HSI, UARTA, ULPI),
30 PIN(ULPI_DATA5_PO6, SPI2, HSI, UARTA, ULPI),
31 PIN(ULPI_DATA6_PO7, SPI2, HSI, UARTA, ULPI),
32 PIN(ULPI_DATA7_PO0, SPI2, HSI, UARTA, ULPI),
33 PIN(ULPI_CLK_PY0, SPI1, SPI5, UARTD, ULPI),
34 PIN(ULPI_DIR_PY1, SPI1, SPI5, UARTD, ULPI),
[all …]
/openbmc/u-boot/board/nvidia/dalmore/
H A Dpinmux-config-dalmore.h109 /* ULPI pinmux */
110 DEFAULT_PINMUX(ULPI_CLK_PY0, ULPI, NORMAL, NORMAL, INPUT),
111 DEFAULT_PINMUX(ULPI_DATA0_PO1, ULPI, NORMAL, NORMAL, INPUT),
112 DEFAULT_PINMUX(ULPI_DATA1_PO2, ULPI, NORMAL, NORMAL, INPUT),
113 DEFAULT_PINMUX(ULPI_DATA2_PO3, ULPI, NORMAL, NORMAL, INPUT),
114 DEFAULT_PINMUX(ULPI_DATA3_PO4, ULPI, NORMAL, NORMAL, INPUT),
115 DEFAULT_PINMUX(ULPI_DATA4_PO5, ULPI, NORMAL, NORMAL, INPUT),
116 DEFAULT_PINMUX(ULPI_DATA5_PO6, ULPI, NORMAL, NORMAL, INPUT),
117 DEFAULT_PINMUX(ULPI_DATA6_PO7, ULPI, NORMAL, NORMAL, INPUT),
118 DEFAULT_PINMUX(ULPI_DATA7_PO0, ULPI, NORMAL, NORMAL, INPUT),
[all …]
/openbmc/u-boot/arch/arm/mach-tegra/tegra124/
H A Dpinmux.c25 PIN(ULPI_DATA0_PO1, SPI3, HSI, UARTA, ULPI),
26 PIN(ULPI_DATA1_PO2, SPI3, HSI, UARTA, ULPI),
27 PIN(ULPI_DATA2_PO3, SPI3, HSI, UARTA, ULPI),
28 PIN(ULPI_DATA3_PO4, SPI3, HSI, UARTA, ULPI),
29 PIN(ULPI_DATA4_PO5, SPI2, HSI, UARTA, ULPI),
30 PIN(ULPI_DATA5_PO6, SPI2, HSI, UARTA, ULPI),
31 PIN(ULPI_DATA6_PO7, SPI2, HSI, UARTA, ULPI),
32 PIN(ULPI_DATA7_PO0, SPI2, HSI, UARTA, ULPI),
33 PIN(ULPI_CLK_PY0, SPI1, SPI5, UARTD, ULPI),
34 PIN(ULPI_DIR_PY1, SPI1, SPI5, UARTD, ULPI),
[all …]
/openbmc/linux/drivers/phy/tegra/
H A Dxusb-tegra124.c672 TEGRA124_LANE("ulpi-0", 0x004, 12, 0x1, ulpi),
679 struct tegra_xusb_ulpi_lane *ulpi; in tegra124_ulpi_lane_probe() local
682 ulpi = kzalloc(sizeof(*ulpi), GFP_KERNEL); in tegra124_ulpi_lane_probe()
683 if (!ulpi) in tegra124_ulpi_lane_probe()
686 INIT_LIST_HEAD(&ulpi->base.list); in tegra124_ulpi_lane_probe()
687 ulpi->base.soc = &pad->soc->lanes[index]; in tegra124_ulpi_lane_probe()
688 ulpi->base.index = index; in tegra124_ulpi_lane_probe()
689 ulpi->base.pad = pad; in tegra124_ulpi_lane_probe()
690 ulpi->base.np = np; in tegra124_ulpi_lane_probe()
692 err = tegra_xusb_lane_parse_dt(&ulpi->base, np); in tegra124_ulpi_lane_probe()
[all …]
/openbmc/linux/include/linux/mfd/
H A Dmotorola-cpcap.h159 #define CPCAP_REG_UVIDL 0x0e0c /* ULPI Vendor ID Low */
160 #define CPCAP_REG_UVIDH 0x0e10 /* ULPI Vendor ID High */
161 #define CPCAP_REG_UPIDL 0x0e14 /* ULPI Product ID Low */
162 #define CPCAP_REG_UPIDH 0x0e18 /* ULPI Product ID High */
163 #define CPCAP_REG_UFC1 0x0e1c /* ULPI Function Control 1 */
164 #define CPCAP_REG_UFC2 0x0e20 /* ULPI Function Control 2 */
165 #define CPCAP_REG_UFC3 0x0e24 /* ULPI Function Control 3 */
166 #define CPCAP_REG_UIC1 0x0e28 /* ULPI Interface Control 1 */
167 #define CPCAP_REG_UIC2 0x0e2c /* ULPI Interface Control 2 */
168 #define CPCAP_REG_UIC3 0x0e30 /* ULPI Interface Control 3 */

12345678910>>...12