blob: 614c93def8694824aba6d50a784970bd7c4bdab0 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Ilya Yanokd5ade292012-11-06 13:48:22 +00002/*
3 * Board data structure for musb gadget on OMAPs
4 *
5 * Copyright (C) 2012, Ilya Yanok <ilya.yanok@gmail.com>
Ilya Yanokd5ade292012-11-06 13:48:22 +00006 */
7
8#ifndef __ASM_ARM_OMAP_MUSB_H
9#define __ASM_ARM_OMAP_MUSB_H
Jean-Jacques Hiblot57118f62018-12-04 11:30:57 +010010#include <linux/usb/musb.h>
Ilya Yanokd5ade292012-11-06 13:48:22 +000011
12extern struct musb_platform_ops musb_dsps_ops;
Ilya Yanokcc0fcbf2012-11-06 13:48:25 +000013extern const struct musb_platform_ops am35x_ops;
Ilya Yanoka3292f22012-11-06 13:48:29 +000014extern const struct musb_platform_ops omap2430_ops;
Ilya Yanokd5ade292012-11-06 13:48:22 +000015
16struct omap_musb_board_data {
Ilya Yanoka3292f22012-11-06 13:48:29 +000017 u8 interface_type;
Mugunthan V N9224f612016-11-17 14:38:10 +053018 struct udevice *dev;
19 void (*set_phy_power)(struct udevice *dev, u8 on);
20 void (*clear_irq)(struct udevice *dev);
21 void (*reset)(struct udevice *dev);
Ilya Yanokd5ade292012-11-06 13:48:22 +000022};
Ilya Yanoka3292f22012-11-06 13:48:29 +000023
24enum musb_interface {MUSB_INTERFACE_ULPI, MUSB_INTERFACE_UTMI};
Jean-Jacques Hiblot57118f62018-12-04 11:30:57 +010025
Simon Glassb75b15b2020-12-03 16:55:23 -070026struct ti_musb_plat {
Jean-Jacques Hiblot57118f62018-12-04 11:30:57 +010027 void *base;
28 void *ctrl_mod_base;
29 struct musb_hdrc_platform_data plat;
30};
31
Ilya Yanokd5ade292012-11-06 13:48:22 +000032#endif /* __ASM_ARM_OMAP_MUSB_H */