Lines Matching +full:0 +full:x5a
31 #define REVERSE_BIT(x) ((((x) & 0x80) >> 7) | (((x) & 0x40) >> 5) | \
32 (((x) & 0x20) >> 3) | (((x) & 0x10) >> 1) | (((x) & 0x08) << 1) | \
33 (((x) & 0x04) << 3) | (((x) & 0x02) << 5) | (((x) & 0x01) << 7))
38 * 0x01, 0x42, 0x00, 0x00, 0x00,
39 * 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
40 * 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
43 0x80, 0x42, 0x00, 0x00, 0x00,
44 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
45 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
47 /* 0x01, 0x43, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 */
49 0x80, 0xC2, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
51 /* 0x01, 0x43, 0x00, 0x00, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A */
53 0x80, 0xC2, 0x00, 0x00, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A
55 /* 0x01, 0x4D, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF */
57 0x80, 0xB2, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFF
63 char phys[0x20];
68 u8 sendbuf[0x20] ____cacheline_aligned;
89 return 0; in psxpad_command()
112 pad->sendbuf[3] = pad->motor1enable ? 0x00 : 0xFF; in psxpad_control_motor()
113 pad->sendbuf[4] = pad->motor2enable ? 0x80 : 0xFF; in psxpad_control_motor()
135 pad->motor1level = motor1level ? 0xFF : 0x00; in psxpad_set_motor_level()
147 (effect->u.rumble.weak_magnitude >> 8) & 0xFFU, in psxpad_spi_play_effect()
148 (effect->u.rumble.strong_magnitude >> 8) & 0xFFU); in psxpad_spi_play_effect()
152 return 0; in psxpad_spi_play_effect()
168 return 0; in psxpad_spi_init_ff()
185 return 0; in psxpad_spi_init_ff()
195 return 0; in psxpad_spi_poll_open()
214 pad->sendbuf[3] = pad->motor1enable ? pad->motor1level : 0x00; in psxpad_spi_poll()
215 pad->sendbuf[4] = pad->motor2enable ? pad->motor2level : 0x00; in psxpad_spi_poll()
224 case 0xCE: /* 0x73 : analog 1 */ in psxpad_spi_poll()
235 input_report_key(input, BTN_DPAD_LEFT, b_rsp3 & BIT(0)); in psxpad_spi_poll()
240 input_report_key(input, BTN_Y, b_rsp4 & BIT(0)); in psxpad_spi_poll()
251 case 0x82: /* 0x41 : digital */ in psxpad_spi_poll()
256 input_report_abs(input, ABS_X, 0x80); in psxpad_spi_poll()
257 input_report_abs(input, ABS_Y, 0x80); in psxpad_spi_poll()
258 input_report_abs(input, ABS_RX, 0x80); in psxpad_spi_poll()
259 input_report_abs(input, ABS_RY, 0x80); in psxpad_spi_poll()
262 input_report_key(input, BTN_DPAD_LEFT, b_rsp3 & BIT(0)); in psxpad_spi_poll()
267 input_report_key(input, BTN_Y, b_rsp4 & BIT(0)); in psxpad_spi_poll()
313 input_set_abs_params(idev, ABS_X, 0, 255, 0, 0); in psxpad_spi_probe()
314 input_set_abs_params(idev, ABS_Y, 0, 255, 0, 0); in psxpad_spi_probe()
315 input_set_abs_params(idev, ABS_RX, 0, 255, 0, 0); in psxpad_spi_probe()
316 input_set_abs_params(idev, ABS_RY, 0, 255, 0, 0); in psxpad_spi_probe()
347 psxpad_set_motor_level(pad, 0, 0); in psxpad_spi_probe()
371 return 0; in psxpad_spi_probe()
379 psxpad_set_motor_level(pad, 0, 0); in psxpad_spi_suspend()
381 return 0; in psxpad_spi_suspend()
387 { "psxpad-spi", 0 },