Lines Matching +full:gpio +full:- +full:key
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Support for Sharp SL-Cxx00 Series of PDAs
4 * Models: SL-C3000 (Spitz), SL-C1000 (Akita) and SL-C3100 (Borzoi)
15 #include <linux/gpio.h>
16 #include <linux/gpio/machine.h>
19 #include <linux/platform_data/i2c-pxa.h>
27 #include <linux/input-event-codes.h>
35 #include <asm/mach-types.h>
41 #include "pxa27x-udc.h"
43 #include <linux/platform_data/mmc-pxamci.h>
44 #include <linux/platform_data/usb-ohci-pxa27x.h>
45 #include <linux/platform_data/video-pxafb.h>
62 /* LCD - 16bpp Active TFT */
103 /* GPIO matrix keypad */
133 * Scoop GPIO expander
154 .name = "sharp-scoop",
181 .name = "sharp-scoop",
257 .cd_irq = -1,
280 * GPIO keyboard
300 KEY(0, 0, KEY_LEFTCTRL),
301 KEY(0, 1, KEY_1),
302 KEY(0, 2, KEY_3),
303 KEY(0, 3, KEY_5),
304 KEY(0, 4, KEY_6),
305 KEY(0, 5, KEY_7),
306 KEY(0, 6, KEY_9),
307 KEY(0, 7, KEY_0),
308 KEY(0, 8, KEY_BACKSPACE),
309 KEY(0, 9, SPITZ_KEY_EXOK), /* EXOK */
310 KEY(0, 10, SPITZ_KEY_EXCANCEL), /* EXCANCEL */
311 KEY(1, 1, KEY_2),
312 KEY(1, 2, KEY_4),
313 KEY(1, 3, KEY_R),
314 KEY(1, 4, KEY_Y),
315 KEY(1, 5, KEY_8),
316 KEY(1, 6, KEY_I),
317 KEY(1, 7, KEY_O),
318 KEY(1, 8, KEY_P),
319 KEY(1, 9, SPITZ_KEY_EXJOGDOWN), /* EXJOGDOWN */
320 KEY(1, 10, SPITZ_KEY_EXJOGUP), /* EXJOGUP */
321 KEY(2, 0, KEY_TAB),
322 KEY(2, 1, KEY_Q),
323 KEY(2, 2, KEY_E),
324 KEY(2, 3, KEY_T),
325 KEY(2, 4, KEY_G),
326 KEY(2, 5, KEY_U),
327 KEY(2, 6, KEY_J),
328 KEY(2, 7, KEY_K),
329 KEY(3, 0, SPITZ_KEY_ADDRESS), /* ADDRESS */
330 KEY(3, 1, KEY_W),
331 KEY(3, 2, KEY_S),
332 KEY(3, 3, KEY_F),
333 KEY(3, 4, KEY_V),
334 KEY(3, 5, KEY_H),
335 KEY(3, 6, KEY_M),
336 KEY(3, 7, KEY_L),
337 KEY(3, 9, KEY_RIGHTSHIFT),
338 KEY(4, 0, SPITZ_KEY_CALENDAR), /* CALENDAR */
339 KEY(4, 1, KEY_A),
340 KEY(4, 2, KEY_D),
341 KEY(4, 3, KEY_C),
342 KEY(4, 4, KEY_B),
343 KEY(4, 5, KEY_N),
344 KEY(4, 6, KEY_DOT),
345 KEY(4, 8, KEY_ENTER),
346 KEY(4, 9, KEY_LEFTSHIFT),
347 KEY(5, 0, SPITZ_KEY_MAIL), /* MAIL */
348 KEY(5, 1, KEY_Z),
349 KEY(5, 2, KEY_X),
350 KEY(5, 3, KEY_MINUS),
351 KEY(5, 4, KEY_SPACE),
352 KEY(5, 5, KEY_COMMA),
353 KEY(5, 7, KEY_UP),
354 KEY(5, 10, SPITZ_KEY_FN), /* FN */
355 KEY(6, 0, KEY_SYSRQ),
356 KEY(6, 1, SPITZ_KEY_JAP1), /* JAP1 */
357 KEY(6, 2, SPITZ_KEY_JAP2), /* JAP2 */
358 KEY(6, 3, SPITZ_KEY_CANCEL), /* CANCEL */
359 KEY(6, 4, SPITZ_KEY_OK), /* OK */
360 KEY(6, 5, SPITZ_KEY_MENU), /* MENU */
361 KEY(6, 6, KEY_LEFT),
362 KEY(6, 7, KEY_DOWN),
363 KEY(6, 8, KEY_RIGHT),
388 .name = "matrix-keypad",
389 .id = -1,
404 * GPIO keys
411 .gpio = SPITZ_GPIO_ON_KEY,
419 .gpio = SPITZ_GPIO_SWA,
425 .gpio = SPITZ_GPIO_SWB,
436 .name = "gpio-keys",
437 .id = -1,
458 .default_trigger = "sharpsl-charge",
459 .gpio = SPITZ_GPIO_LED_ORANGE,
463 .default_trigger = "disk-activity",
464 .gpio = SPITZ_GPIO_LED_GREEN,
474 .name = "leds-gpio",
475 .id = -1,
514 GPIO_LOOKUP("gpio-pxa", SPITZ_GPIO_TP_INT,
523 GPIO_LOOKUP("gpio-pxa", SPITZ_GPIO_BACKLIGHT_CONT,
525 GPIO_LOOKUP("gpio-pxa", SPITZ_GPIO_BACKLIGHT_ON,
534 GPIO_LOOKUP("gpio-pxa", AKITA_GPIO_BACKLIGHT_CONT,
536 GPIO_LOOKUP("gpio-pxa", AKITA_GPIO_BACKLIGHT_ON,
559 .modalias = "corgi-lcd",
579 GPIO_LOOKUP_IDX("gpio-pxa", SPITZ_GPIO_ADS7846_CS, "cs", 0, GPIO_ACTIVE_LOW),
580 GPIO_LOOKUP_IDX("gpio-pxa", SPITZ_GPIO_LCDCON_CS, "cs", 1, GPIO_ACTIVE_LOW),
581 GPIO_LOOKUP_IDX("gpio-pxa", SPITZ_GPIO_MAX1111_CS, "cs", 2, GPIO_ACTIVE_LOW),
612 struct pxamci_platform_data* p_d = dev->platform_data; in spitz_mci_setpower()
614 if ((1 << vdd) & p_d->ocr_mask) in spitz_mci_setpower()
629 .dev_id = "pxa2xx-mci.0",
631 GPIO_LOOKUP("gpio-pxa", SPITZ_GPIO_nSD_DETECT,
633 GPIO_LOOKUP("gpio-pxa", SPITZ_GPIO_nSD_WP,
751 return -ERANGE; in akita_ooblayout_ecc()
755 oobregion->offset = 5; in akita_ooblayout_ecc()
756 oobregion->length = 1; in akita_ooblayout_ecc()
760 oobregion->offset = 1; in akita_ooblayout_ecc()
761 oobregion->length = 3; in akita_ooblayout_ecc()
765 oobregion->offset = 6; in akita_ooblayout_ecc()
766 oobregion->length = 2; in akita_ooblayout_ecc()
770 oobregion->offset += (section / 3) * 0x10; in akita_ooblayout_ecc()
779 return -ERANGE; in akita_ooblayout_free()
781 oobregion->offset = 8; in akita_ooblayout_free()
782 oobregion->length = 9; in akita_ooblayout_free()
807 .end = PXA_CS3_PHYS + SZ_4K - 1,
813 .name = "sharpsl-nand",
814 .id = -1,
856 .end = PXA_CS0_PHYS + SZ_8M - 1,
862 .name = "physmap-flash",
863 .id = -1,
930 size--; in spitz_i2c_init()
942 .dev_id = "spitz-audio",
944 GPIO_LOOKUP("sharp-scoop.0", SPITZ_GPIO_MUTE_L - SPITZ_SCP_GPIO_BASE,
945 "mute-l", GPIO_ACTIVE_HIGH),
946 GPIO_LOOKUP("sharp-scoop.0", SPITZ_GPIO_MUTE_R - SPITZ_SCP_GPIO_BASE,
947 "mute-r", GPIO_ACTIVE_HIGH),
948 GPIO_LOOKUP("sharp-scoop.1", SPITZ_GPIO_MIC_BIAS - SPITZ_SCP2_GPIO_BASE,
955 .dev_id = "spitz-audio",
957 GPIO_LOOKUP("sharp-scoop.0", SPITZ_GPIO_MUTE_L - SPITZ_SCP_GPIO_BASE,
958 "mute-l", GPIO_ACTIVE_HIGH),
959 GPIO_LOOKUP("sharp-scoop.0", SPITZ_GPIO_MUTE_R - SPITZ_SCP_GPIO_BASE,
960 "mute-r", GPIO_ACTIVE_HIGH),
961 GPIO_LOOKUP("i2c-max7310", AKITA_GPIO_MIC_BIAS - AKITA_IOEXP_GPIO_BASE,
977 platform_device_register_simple("spitz-audio", -1, NULL, 0); in spitz_audio_init()