aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/input/joystick/xpad.c19
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 */
483static 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 */
491static 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),