Commit 03856e928b0e1a1c274eece1dfe4330a362c37f3
1 parent
96b4597f0e
bus: ti-sysc: Handle mstandby quirk and use it for musb
We need swsup quirks for sidle and mstandby for musb to work properly. Signed-off-by: Tony Lindgren <tony@atomide.com>
Showing 1 changed file with 8 additions and 2 deletions Side-by-side Diff
drivers/bus/ti-sysc.c
... | ... | @@ -917,6 +917,9 @@ |
917 | 917 | return -EINVAL; |
918 | 918 | } |
919 | 919 | |
920 | + if (ddata->cfg.quirks & SYSC_QUIRK_SWSUP_MSTANDBY) | |
921 | + best_mode = SYSC_IDLE_NO; | |
922 | + | |
920 | 923 | reg &= ~(SYSC_IDLE_MASK << regbits->midle_shift); |
921 | 924 | reg |= best_mode << regbits->midle_shift; |
922 | 925 | sysc_write(ddata, ddata->offsets[SYSC_SYSCONFIG], reg); |
... | ... | @@ -978,6 +981,9 @@ |
978 | 981 | return ret; |
979 | 982 | } |
980 | 983 | |
984 | + if (ddata->cfg.quirks & SYSC_QUIRK_SWSUP_MSTANDBY) | |
985 | + best_mode = SYSC_IDLE_FORCE; | |
986 | + | |
981 | 987 | reg &= ~(SYSC_IDLE_MASK << regbits->midle_shift); |
982 | 988 | reg |= best_mode << regbits->midle_shift; |
983 | 989 | sysc_write(ddata, ddata->offsets[SYSC_SYSCONFIG], reg); |
... | ... | @@ -1251,6 +1257,8 @@ |
1251 | 1257 | SYSC_QUIRK("gpu", 0x50000000, 0x14, -1, -1, 0x00010201, 0xffffffff, 0), |
1252 | 1258 | SYSC_QUIRK("gpu", 0x50000000, 0xfe00, 0xfe10, -1, 0x40000000 , 0xffffffff, |
1253 | 1259 | SYSC_MODULE_QUIRK_SGX), |
1260 | + SYSC_QUIRK("usb_otg_hs", 0, 0x400, 0x404, 0x408, 0x00000050, | |
1261 | + 0xffffffff, SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_MSTANDBY), | |
1254 | 1262 | SYSC_QUIRK("wdt", 0, 0, 0x10, 0x14, 0x502a0500, 0xfffff0f0, |
1255 | 1263 | SYSC_MODULE_QUIRK_WDT), |
1256 | 1264 | /* Watchdog on am3 and am4 */ |
... | ... | @@ -1309,8 +1317,6 @@ |
1309 | 1317 | SYSC_QUIRK("usbhstll", 0, 0, 0x10, 0x14, 0x00000008, 0xffffffff, 0), |
1310 | 1318 | SYSC_QUIRK("usb_host_hs", 0, 0, 0x10, 0x14, 0x50700100, 0xffffffff, 0), |
1311 | 1319 | SYSC_QUIRK("usb_host_hs", 0, 0, 0x10, -1, 0x50700101, 0xffffffff, 0), |
1312 | - SYSC_QUIRK("usb_otg_hs", 0, 0x400, 0x404, 0x408, 0x00000050, | |
1313 | - 0xffffffff, 0), | |
1314 | 1320 | SYSC_QUIRK("vfpe", 0, 0, 0x104, -1, 0x4d001200, 0xffffffff, 0), |
1315 | 1321 | #endif |
1316 | 1322 | }; |