projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
usb: dwc_otg_310: add rk3288 usb otg support
[firefly-linux-kernel-4.4.55.git]
/
drivers
/
usb
/
dwc_otg_310
/
dwc_otg_driver.c
diff --git
a/drivers/usb/dwc_otg_310/dwc_otg_driver.c
b/drivers/usb/dwc_otg_310/dwc_otg_driver.c
old mode 100755
(executable)
new mode 100644
(file)
index
961db3f
..
9905a39
--- a/
drivers/usb/dwc_otg_310/dwc_otg_driver.c
+++ b/
drivers/usb/dwc_otg_310/dwc_otg_driver.c
@@
-68,6
+68,7
@@
static const char dwc_host20_driver_name[] = "usb20_host";
static const char dwc_otg20_driver_name[] = "usb20_otg";
dwc_otg_device_t *g_otgdev;
static const char dwc_otg20_driver_name[] = "usb20_otg";
dwc_otg_device_t *g_otgdev;
+void *dwc_otg_dev;
extern int pcd_init(struct platform_device *_dev);
extern int otg20_hcd_init(struct platform_device *_dev);
extern int pcd_init(struct platform_device *_dev);
extern int otg20_hcd_init(struct platform_device *_dev);
@@
-385,6
+386,7
@@
void dwc_otg_force_device(dwc_otg_core_if_t *core_if)
local_irq_save(flags);
if (core_if->op_state == B_PERIPHERAL) {
local_irq_save(flags);
if (core_if->op_state == B_PERIPHERAL) {
+ local_irq_restore(flags);
printk
("dwc_otg_force_device,already in B_PERIPHERAL,everest\n");
return;
printk
("dwc_otg_force_device,already in B_PERIPHERAL,everest\n");
return;
@@
-1310,7
+1312,7
@@
static const struct of_device_id usb20_otg_of_match[] = {
#endif
#ifdef CONFIG_ARM64
{
#endif
#ifdef CONFIG_ARM64
{
- .compatible = "rockchip,rk3368
_usb20_otg
",
+ .compatible = "rockchip,rk3368
-usb
",
.data = &usb20otg_pdata_rk3368,
},
#endif
.data = &usb20otg_pdata_rk3368,
},
#endif
@@
-1419,6
+1421,7
@@
static int otg20_driver_probe(struct platform_device *_dev)
*/
g_otgdev = dwc_otg_device;
*/
g_otgdev = dwc_otg_device;
+ dwc_otg_dev = (struct device *)&_dev->dev;
pldata->privdata = dwc_otg_device;
dwc_otg_device->pldata = pldata;
pldata->privdata = dwc_otg_device;
dwc_otg_device->pldata = pldata;
@@
-1618,10
+1621,14
@@
static struct platform_driver dwc_otg_driver = {
void rk_usb_power_up(void)
{
struct dwc_otg_platform_data *pldata_otg;
void rk_usb_power_up(void)
{
struct dwc_otg_platform_data *pldata_otg;
+#ifdef CONFIG_USB20_HOST
struct dwc_otg_platform_data *pldata_host;
struct dwc_otg_platform_data *pldata_host;
+#endif
+#ifdef CONFIG_USB_EHCI_RK
struct rkehci_platform_data *pldata_ehci;
struct rkehci_platform_data *pldata_ehci;
+#endif
- if (
cpu_is_rk3288
()) {
+ if (
is_rk3288_usb
()) {
#ifdef CONFIG_RK_USB_UART
/* enable USB bypass UART function */
writel_relaxed(0x00c00000 | usb_to_uart_status,
#ifdef CONFIG_RK_USB_UART
/* enable USB bypass UART function */
writel_relaxed(0x00c00000 | usb_to_uart_status,
@@
-1672,10
+1679,14
@@
void rk_usb_power_up(void)
void rk_usb_power_down(void)
{
struct dwc_otg_platform_data *pldata_otg;
void rk_usb_power_down(void)
{
struct dwc_otg_platform_data *pldata_otg;
+#ifdef CONFIG_USB20_HOST
struct dwc_otg_platform_data *pldata_host;
struct dwc_otg_platform_data *pldata_host;
+#endif
+#ifdef CONFIG_USB_EHCI_RK
struct rkehci_platform_data *pldata_ehci;
struct rkehci_platform_data *pldata_ehci;
+#endif
- if (
cpu_is_rk3288
()) {
+ if (
is_rk3288_usb
()) {
#ifdef CONFIG_RK_USB_UART
/* disable USB bypass UART function */
usb_to_uart_status =
#ifdef CONFIG_RK_USB_UART
/* disable USB bypass UART function */
usb_to_uart_status =