diff options
| -rw-r--r-- | drivers/input/joystick/xpad.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c index d86e59515b9c..d88d3e0f59fb 100644 --- a/drivers/input/joystick/xpad.c +++ b/drivers/input/joystick/xpad.c | |||
| @@ -229,6 +229,7 @@ static const struct xpad_device { | |||
| 229 | { 0x0e6f, 0x0213, "Afterglow Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, | 229 | { 0x0e6f, 0x0213, "Afterglow Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, |
| 230 | { 0x0e6f, 0x021f, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, | 230 | { 0x0e6f, 0x021f, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, |
| 231 | { 0x0e6f, 0x0246, "Rock Candy Gamepad for Xbox One 2015", 0, XTYPE_XBOXONE }, | 231 | { 0x0e6f, 0x0246, "Rock Candy Gamepad for Xbox One 2015", 0, XTYPE_XBOXONE }, |
| 232 | { 0x0e6f, 0x02ab, "PDP Controller for Xbox One", 0, XTYPE_XBOXONE }, | ||
| 232 | { 0x0e6f, 0x0301, "Logic3 Controller", 0, XTYPE_XBOX360 }, | 233 | { 0x0e6f, 0x0301, "Logic3 Controller", 0, XTYPE_XBOX360 }, |
| 233 | { 0x0e6f, 0x0346, "Rock Candy Gamepad for Xbox One 2016", 0, XTYPE_XBOXONE }, | 234 | { 0x0e6f, 0x0346, "Rock Candy Gamepad for Xbox One 2016", 0, XTYPE_XBOXONE }, |
| 234 | { 0x0e6f, 0x0401, "Logic3 Controller", 0, XTYPE_XBOX360 }, | 235 | { 0x0e6f, 0x0401, "Logic3 Controller", 0, XTYPE_XBOX360 }, |
| @@ -476,6 +477,22 @@ static const u8 xboxone_hori_init[] = { | |||
| 476 | }; | 477 | }; |
| 477 | 478 | ||
| 478 | /* | 479 | /* |
| 480 | * This packet is required for some of the PDP pads to start | ||
| 481 | * sending input reports. One of those pads is (0x0e6f:0x02ab). | ||
| 482 | */ | ||
| 483 | static const u8 xboxone_pdp_init1[] = { | ||
| 484 | 0x0a, 0x20, 0x00, 0x03, 0x00, 0x01, 0x14 | ||
| 485 | }; | ||
| 486 | |||
| 487 | /* | ||
| 488 | * This packet is required for some of the PDP pads to start | ||
| 489 | * sending input reports. One of those pads is (0x0e6f:0x02ab). | ||
| 490 | */ | ||
| 491 | static const u8 xboxone_pdp_init2[] = { | ||
| 492 | 0x06, 0x20, 0x00, 0x02, 0x01, 0x00 | ||
| 493 | }; | ||
| 494 | |||
| 495 | /* | ||
| 479 | * A specific rumble packet is required for some PowerA pads to start | 496 | * A specific rumble packet is required for some PowerA pads to start |
| 480 | * sending input reports. One of those pads is (0x24c6:0x543a). | 497 | * sending input reports. One of those pads is (0x24c6:0x543a). |
| 481 | */ | 498 | */ |
| @@ -505,6 +522,8 @@ static const struct xboxone_init_packet xboxone_init_packets[] = { | |||
| 505 | XBOXONE_INIT_PKT(0x0e6f, 0x0165, xboxone_hori_init), | 522 | XBOXONE_INIT_PKT(0x0e6f, 0x0165, xboxone_hori_init), |
| 506 | XBOXONE_INIT_PKT(0x0f0d, 0x0067, xboxone_hori_init), | 523 | XBOXONE_INIT_PKT(0x0f0d, 0x0067, xboxone_hori_init), |
| 507 | XBOXONE_INIT_PKT(0x0000, 0x0000, xboxone_fw2015_init), | 524 | XBOXONE_INIT_PKT(0x0000, 0x0000, xboxone_fw2015_init), |
| 525 | XBOXONE_INIT_PKT(0x0e6f, 0x02ab, xboxone_pdp_init1), | ||
| 526 | XBOXONE_INIT_PKT(0x0e6f, 0x02ab, xboxone_pdp_init2), | ||
| 508 | XBOXONE_INIT_PKT(0x24c6, 0x541a, xboxone_rumblebegin_init), | 527 | XBOXONE_INIT_PKT(0x24c6, 0x541a, xboxone_rumblebegin_init), |
| 509 | XBOXONE_INIT_PKT(0x24c6, 0x542a, xboxone_rumblebegin_init), | 528 | XBOXONE_INIT_PKT(0x24c6, 0x542a, xboxone_rumblebegin_init), |
| 510 | XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumblebegin_init), | 529 | XBOXONE_INIT_PKT(0x24c6, 0x543a, xboxone_rumblebegin_init), |
