1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | /* |
3 | * Copyright (c) 2022, Google LLC |
4 | */ |
5 | |
6 | #ifndef _USB_MISC_ONBOARD_USB_HUB_H |
7 | #define _USB_MISC_ONBOARD_USB_HUB_H |
8 | |
9 | struct onboard_hub_pdata { |
10 | unsigned long reset_us; /* reset pulse width in us */ |
11 | unsigned int num_supplies; /* number of supplies */ |
12 | }; |
13 | |
14 | static const struct onboard_hub_pdata microchip_usb424_data = { |
15 | .reset_us = 1, |
16 | .num_supplies = 1, |
17 | }; |
18 | |
19 | static const struct onboard_hub_pdata microchip_usb5744_data = { |
20 | .reset_us = 0, |
21 | .num_supplies = 2, |
22 | }; |
23 | |
24 | static const struct onboard_hub_pdata realtek_rts5411_data = { |
25 | .reset_us = 0, |
26 | .num_supplies = 1, |
27 | }; |
28 | |
29 | static const struct onboard_hub_pdata ti_tusb8020b_data = { |
30 | .reset_us = 3000, |
31 | .num_supplies = 1, |
32 | }; |
33 | |
34 | static const struct onboard_hub_pdata ti_tusb8041_data = { |
35 | .reset_us = 3000, |
36 | .num_supplies = 1, |
37 | }; |
38 | |
39 | static const struct onboard_hub_pdata cypress_hx3_data = { |
40 | .reset_us = 10000, |
41 | .num_supplies = 2, |
42 | }; |
43 | |
44 | static const struct onboard_hub_pdata cypress_hx2vl_data = { |
45 | .reset_us = 1, |
46 | .num_supplies = 1, |
47 | }; |
48 | |
49 | static const struct onboard_hub_pdata genesys_gl850g_data = { |
50 | .reset_us = 3, |
51 | .num_supplies = 1, |
52 | }; |
53 | |
54 | static const struct onboard_hub_pdata genesys_gl852g_data = { |
55 | .reset_us = 50, |
56 | .num_supplies = 1, |
57 | }; |
58 | |
59 | static const struct onboard_hub_pdata vialab_vl817_data = { |
60 | .reset_us = 10, |
61 | .num_supplies = 1, |
62 | }; |
63 | |
64 | static const struct of_device_id onboard_hub_match[] = { |
65 | { .compatible = "usb424,2412" , .data = µchip_usb424_data, }, |
66 | { .compatible = "usb424,2514" , .data = µchip_usb424_data, }, |
67 | { .compatible = "usb424,2517" , .data = µchip_usb424_data, }, |
68 | { .compatible = "usb424,2744" , .data = µchip_usb5744_data, }, |
69 | { .compatible = "usb424,5744" , .data = µchip_usb5744_data, }, |
70 | { .compatible = "usb451,8025" , .data = &ti_tusb8020b_data, }, |
71 | { .compatible = "usb451,8027" , .data = &ti_tusb8020b_data, }, |
72 | { .compatible = "usb451,8140" , .data = &ti_tusb8041_data, }, |
73 | { .compatible = "usb451,8142" , .data = &ti_tusb8041_data, }, |
74 | { .compatible = "usb4b4,6504" , .data = &cypress_hx3_data, }, |
75 | { .compatible = "usb4b4,6506" , .data = &cypress_hx3_data, }, |
76 | { .compatible = "usb4b4,6570" , .data = &cypress_hx2vl_data, }, |
77 | { .compatible = "usb5e3,608" , .data = &genesys_gl850g_data, }, |
78 | { .compatible = "usb5e3,610" , .data = &genesys_gl852g_data, }, |
79 | { .compatible = "usb5e3,620" , .data = &genesys_gl852g_data, }, |
80 | { .compatible = "usb5e3,626" , .data = &genesys_gl852g_data, }, |
81 | { .compatible = "usbbda,411" , .data = &realtek_rts5411_data, }, |
82 | { .compatible = "usbbda,5411" , .data = &realtek_rts5411_data, }, |
83 | { .compatible = "usbbda,414" , .data = &realtek_rts5411_data, }, |
84 | { .compatible = "usbbda,5414" , .data = &realtek_rts5411_data, }, |
85 | { .compatible = "usb2109,817" , .data = &vialab_vl817_data, }, |
86 | { .compatible = "usb2109,2817" , .data = &vialab_vl817_data, }, |
87 | {} |
88 | }; |
89 | |
90 | #endif /* _USB_MISC_ONBOARD_USB_HUB_H */ |
91 | |