1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2014-2017 Broadcom
6 #ifndef _USB_BRCM_COMMON_INIT_H
7 #define _USB_BRCM_COMMON_INIT_H
9 #define USB_CTLR_MODE_HOST 0
10 #define USB_CTLR_MODE_DEVICE 1
11 #define USB_CTLR_MODE_DRD 2
12 #define USB_CTLR_MODE_TYPEC_PD 3
14 struct brcm_usb_init_params
;
16 struct brcm_usb_init_params
{
17 void __iomem
*ctrl_regs
;
18 void __iomem
*xhci_ec_regs
;
25 const char *family_name
;
26 const u32
*usb_reg_bits_map
;
29 void brcm_usb_set_family_map(struct brcm_usb_init_params
*params
);
30 int brcm_usb_init_get_dual_select(struct brcm_usb_init_params
*params
);
31 void brcm_usb_init_set_dual_select(struct brcm_usb_init_params
*params
,
34 void brcm_usb_init_ipp(struct brcm_usb_init_params
*ini
);
35 void brcm_usb_init_common(struct brcm_usb_init_params
*ini
);
36 void brcm_usb_init_eohci(struct brcm_usb_init_params
*ini
);
37 void brcm_usb_init_xhci(struct brcm_usb_init_params
*ini
);
38 void brcm_usb_uninit_common(struct brcm_usb_init_params
*ini
);
39 void brcm_usb_uninit_eohci(struct brcm_usb_init_params
*ini
);
40 void brcm_usb_uninit_xhci(struct brcm_usb_init_params
*ini
);
42 #endif /* _USB_BRCM_COMMON_INIT_H */