diff options
Diffstat (limited to 'drivers/pinctrl/sh-pfc/pfc-shx3.c')
-rw-r--r-- | drivers/pinctrl/sh-pfc/pfc-shx3.c | 148 |
1 files changed, 75 insertions, 73 deletions
diff --git a/drivers/pinctrl/sh-pfc/pfc-shx3.c b/drivers/pinctrl/sh-pfc/pfc-shx3.c index ccf6918b03c6..6594c8c48747 100644 --- a/drivers/pinctrl/sh-pfc/pfc-shx3.c +++ b/drivers/pinctrl/sh-pfc/pfc-shx3.c | |||
@@ -147,7 +147,7 @@ enum { | |||
147 | PINMUX_MARK_END, | 147 | PINMUX_MARK_END, |
148 | }; | 148 | }; |
149 | 149 | ||
150 | static pinmux_enum_t shx3_pinmux_data[] = { | 150 | static const pinmux_enum_t shx3_pinmux_data[] = { |
151 | 151 | ||
152 | /* PA GPIO */ | 152 | /* PA GPIO */ |
153 | PINMUX_DATA(PA7_DATA, PA7_IN, PA7_OUT, PA7_IN_PU), | 153 | PINMUX_DATA(PA7_DATA, PA7_IN, PA7_OUT, PA7_IN_PU), |
@@ -306,7 +306,7 @@ static pinmux_enum_t shx3_pinmux_data[] = { | |||
306 | PINMUX_DATA(IRQOUT_MARK, PH0_FN), | 306 | PINMUX_DATA(IRQOUT_MARK, PH0_FN), |
307 | }; | 307 | }; |
308 | 308 | ||
309 | static struct pinmux_gpio shx3_pinmux_gpios[] = { | 309 | static struct sh_pfc_pin shx3_pinmux_pins[] = { |
310 | /* PA */ | 310 | /* PA */ |
311 | PINMUX_GPIO(GPIO_PA7, PA7_DATA), | 311 | PINMUX_GPIO(GPIO_PA7, PA7_DATA), |
312 | PINMUX_GPIO(GPIO_PA6, PA6_DATA), | 312 | PINMUX_GPIO(GPIO_PA6, PA6_DATA), |
@@ -384,73 +384,77 @@ static struct pinmux_gpio shx3_pinmux_gpios[] = { | |||
384 | PINMUX_GPIO(GPIO_PH2, PH2_DATA), | 384 | PINMUX_GPIO(GPIO_PH2, PH2_DATA), |
385 | PINMUX_GPIO(GPIO_PH1, PH1_DATA), | 385 | PINMUX_GPIO(GPIO_PH1, PH1_DATA), |
386 | PINMUX_GPIO(GPIO_PH0, PH0_DATA), | 386 | PINMUX_GPIO(GPIO_PH0, PH0_DATA), |
387 | }; | ||
388 | |||
389 | #define PINMUX_FN_BASE ARRAY_SIZE(shx3_pinmux_pins) | ||
387 | 390 | ||
391 | static const struct pinmux_func shx3_pinmux_func_gpios[] = { | ||
388 | /* FN */ | 392 | /* FN */ |
389 | PINMUX_GPIO(GPIO_FN_D31, D31_MARK), | 393 | GPIO_FN(D31), |
390 | PINMUX_GPIO(GPIO_FN_D30, D30_MARK), | 394 | GPIO_FN(D30), |
391 | PINMUX_GPIO(GPIO_FN_D29, D29_MARK), | 395 | GPIO_FN(D29), |
392 | PINMUX_GPIO(GPIO_FN_D28, D28_MARK), | 396 | GPIO_FN(D28), |
393 | PINMUX_GPIO(GPIO_FN_D27, D27_MARK), | 397 | GPIO_FN(D27), |
394 | PINMUX_GPIO(GPIO_FN_D26, D26_MARK), | 398 | GPIO_FN(D26), |
395 | PINMUX_GPIO(GPIO_FN_D25, D25_MARK), | 399 | GPIO_FN(D25), |
396 | PINMUX_GPIO(GPIO_FN_D24, D24_MARK), | 400 | GPIO_FN(D24), |
397 | PINMUX_GPIO(GPIO_FN_D23, D23_MARK), | 401 | GPIO_FN(D23), |
398 | PINMUX_GPIO(GPIO_FN_D22, D22_MARK), | 402 | GPIO_FN(D22), |
399 | PINMUX_GPIO(GPIO_FN_D21, D21_MARK), | 403 | GPIO_FN(D21), |
400 | PINMUX_GPIO(GPIO_FN_D20, D20_MARK), | 404 | GPIO_FN(D20), |
401 | PINMUX_GPIO(GPIO_FN_D19, D19_MARK), | 405 | GPIO_FN(D19), |
402 | PINMUX_GPIO(GPIO_FN_D18, D18_MARK), | 406 | GPIO_FN(D18), |
403 | PINMUX_GPIO(GPIO_FN_D17, D17_MARK), | 407 | GPIO_FN(D17), |
404 | PINMUX_GPIO(GPIO_FN_D16, D16_MARK), | 408 | GPIO_FN(D16), |
405 | PINMUX_GPIO(GPIO_FN_BACK, BACK_MARK), | 409 | GPIO_FN(BACK), |
406 | PINMUX_GPIO(GPIO_FN_BREQ, BREQ_MARK), | 410 | GPIO_FN(BREQ), |
407 | PINMUX_GPIO(GPIO_FN_WE3, WE3_MARK), | 411 | GPIO_FN(WE3), |
408 | PINMUX_GPIO(GPIO_FN_WE2, WE2_MARK), | 412 | GPIO_FN(WE2), |
409 | PINMUX_GPIO(GPIO_FN_CS6, CS6_MARK), | 413 | GPIO_FN(CS6), |
410 | PINMUX_GPIO(GPIO_FN_CS5, CS5_MARK), | 414 | GPIO_FN(CS5), |
411 | PINMUX_GPIO(GPIO_FN_CS4, CS4_MARK), | 415 | GPIO_FN(CS4), |
412 | PINMUX_GPIO(GPIO_FN_CLKOUTENB, CLKOUTENB_MARK), | 416 | GPIO_FN(CLKOUTENB), |
413 | PINMUX_GPIO(GPIO_FN_DACK3, DACK3_MARK), | 417 | GPIO_FN(DACK3), |
414 | PINMUX_GPIO(GPIO_FN_DACK2, DACK2_MARK), | 418 | GPIO_FN(DACK2), |
415 | PINMUX_GPIO(GPIO_FN_DACK1, DACK1_MARK), | 419 | GPIO_FN(DACK1), |
416 | PINMUX_GPIO(GPIO_FN_DACK0, DACK0_MARK), | 420 | GPIO_FN(DACK0), |
417 | PINMUX_GPIO(GPIO_FN_DREQ3, DREQ3_MARK), | 421 | GPIO_FN(DREQ3), |
418 | PINMUX_GPIO(GPIO_FN_DREQ2, DREQ2_MARK), | 422 | GPIO_FN(DREQ2), |
419 | PINMUX_GPIO(GPIO_FN_DREQ1, DREQ1_MARK), | 423 | GPIO_FN(DREQ1), |
420 | PINMUX_GPIO(GPIO_FN_DREQ0, DREQ0_MARK), | 424 | GPIO_FN(DREQ0), |
421 | PINMUX_GPIO(GPIO_FN_IRQ3, IRQ3_MARK), | 425 | GPIO_FN(IRQ3), |
422 | PINMUX_GPIO(GPIO_FN_IRQ2, IRQ2_MARK), | 426 | GPIO_FN(IRQ2), |
423 | PINMUX_GPIO(GPIO_FN_IRQ1, IRQ1_MARK), | 427 | GPIO_FN(IRQ1), |
424 | PINMUX_GPIO(GPIO_FN_IRQ0, IRQ0_MARK), | 428 | GPIO_FN(IRQ0), |
425 | PINMUX_GPIO(GPIO_FN_DRAK3, DRAK3_MARK), | 429 | GPIO_FN(DRAK3), |
426 | PINMUX_GPIO(GPIO_FN_DRAK2, DRAK2_MARK), | 430 | GPIO_FN(DRAK2), |
427 | PINMUX_GPIO(GPIO_FN_DRAK1, DRAK1_MARK), | 431 | GPIO_FN(DRAK1), |
428 | PINMUX_GPIO(GPIO_FN_DRAK0, DRAK0_MARK), | 432 | GPIO_FN(DRAK0), |
429 | PINMUX_GPIO(GPIO_FN_SCK3, SCK3_MARK), | 433 | GPIO_FN(SCK3), |
430 | PINMUX_GPIO(GPIO_FN_SCK2, SCK2_MARK), | 434 | GPIO_FN(SCK2), |
431 | PINMUX_GPIO(GPIO_FN_SCK1, SCK1_MARK), | 435 | GPIO_FN(SCK1), |
432 | PINMUX_GPIO(GPIO_FN_SCK0, SCK0_MARK), | 436 | GPIO_FN(SCK0), |
433 | PINMUX_GPIO(GPIO_FN_IRL3, IRL3_MARK), | 437 | GPIO_FN(IRL3), |
434 | PINMUX_GPIO(GPIO_FN_IRL2, IRL2_MARK), | 438 | GPIO_FN(IRL2), |
435 | PINMUX_GPIO(GPIO_FN_IRL1, IRL1_MARK), | 439 | GPIO_FN(IRL1), |
436 | PINMUX_GPIO(GPIO_FN_IRL0, IRL0_MARK), | 440 | GPIO_FN(IRL0), |
437 | PINMUX_GPIO(GPIO_FN_TXD3, TXD3_MARK), | 441 | GPIO_FN(TXD3), |
438 | PINMUX_GPIO(GPIO_FN_TXD2, TXD2_MARK), | 442 | GPIO_FN(TXD2), |
439 | PINMUX_GPIO(GPIO_FN_TXD1, TXD1_MARK), | 443 | GPIO_FN(TXD1), |
440 | PINMUX_GPIO(GPIO_FN_TXD0, TXD0_MARK), | 444 | GPIO_FN(TXD0), |
441 | PINMUX_GPIO(GPIO_FN_RXD3, RXD3_MARK), | 445 | GPIO_FN(RXD3), |
442 | PINMUX_GPIO(GPIO_FN_RXD2, RXD2_MARK), | 446 | GPIO_FN(RXD2), |
443 | PINMUX_GPIO(GPIO_FN_RXD1, RXD1_MARK), | 447 | GPIO_FN(RXD1), |
444 | PINMUX_GPIO(GPIO_FN_RXD0, RXD0_MARK), | 448 | GPIO_FN(RXD0), |
445 | PINMUX_GPIO(GPIO_FN_CE2B, CE2B_MARK), | 449 | GPIO_FN(CE2B), |
446 | PINMUX_GPIO(GPIO_FN_CE2A, CE2A_MARK), | 450 | GPIO_FN(CE2A), |
447 | PINMUX_GPIO(GPIO_FN_IOIS16, IOIS16_MARK), | 451 | GPIO_FN(IOIS16), |
448 | PINMUX_GPIO(GPIO_FN_STATUS1, STATUS1_MARK), | 452 | GPIO_FN(STATUS1), |
449 | PINMUX_GPIO(GPIO_FN_STATUS0, STATUS0_MARK), | 453 | GPIO_FN(STATUS0), |
450 | PINMUX_GPIO(GPIO_FN_IRQOUT, IRQOUT_MARK), | 454 | GPIO_FN(IRQOUT), |
451 | }; | 455 | }; |
452 | 456 | ||
453 | static struct pinmux_cfg_reg shx3_pinmux_config_regs[] = { | 457 | static const struct pinmux_cfg_reg shx3_pinmux_config_regs[] = { |
454 | { PINMUX_CFG_REG("PABCR", 0xffc70000, 32, 2) { | 458 | { PINMUX_CFG_REG("PABCR", 0xffc70000, 32, 2) { |
455 | PA7_FN, PA7_OUT, PA7_IN, PA7_IN_PU, | 459 | PA7_FN, PA7_OUT, PA7_IN, PA7_IN_PU, |
456 | PA6_FN, PA6_OUT, PA6_IN, PA6_IN_PU, | 460 | PA6_FN, PA6_OUT, PA6_IN, PA6_IN_PU, |
@@ -526,7 +530,7 @@ static struct pinmux_cfg_reg shx3_pinmux_config_regs[] = { | |||
526 | { }, | 530 | { }, |
527 | }; | 531 | }; |
528 | 532 | ||
529 | static struct pinmux_data_reg shx3_pinmux_data_regs[] = { | 533 | static const struct pinmux_data_reg shx3_pinmux_data_regs[] = { |
530 | { PINMUX_DATA_REG("PABDR", 0xffc70010, 32) { | 534 | { PINMUX_DATA_REG("PABDR", 0xffc70010, 32) { |
531 | 0, 0, 0, 0, 0, 0, 0, 0, | 535 | 0, 0, 0, 0, 0, 0, 0, 0, |
532 | PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA, | 536 | PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA, |
@@ -562,19 +566,17 @@ static struct pinmux_data_reg shx3_pinmux_data_regs[] = { | |||
562 | { }, | 566 | { }, |
563 | }; | 567 | }; |
564 | 568 | ||
565 | struct sh_pfc_soc_info shx3_pinmux_info = { | 569 | const struct sh_pfc_soc_info shx3_pinmux_info = { |
566 | .name = "shx3_pfc", | 570 | .name = "shx3_pfc", |
567 | .reserved_id = PINMUX_RESERVED, | ||
568 | .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END }, | ||
569 | .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END }, | 571 | .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END }, |
570 | .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, | 572 | .input_pu = { PINMUX_INPUT_PULLUP_BEGIN, |
571 | PINMUX_INPUT_PULLUP_END }, | 573 | PINMUX_INPUT_PULLUP_END }, |
572 | .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END }, | 574 | .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END }, |
573 | .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END }, | ||
574 | .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, | 575 | .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, |
575 | .first_gpio = GPIO_PA7, | 576 | .pins = shx3_pinmux_pins, |
576 | .last_gpio = GPIO_FN_STATUS0, | 577 | .nr_pins = ARRAY_SIZE(shx3_pinmux_pins), |
577 | .gpios = shx3_pinmux_gpios, | 578 | .func_gpios = shx3_pinmux_func_gpios, |
579 | .nr_func_gpios = ARRAY_SIZE(shx3_pinmux_func_gpios), | ||
578 | .gpio_data = shx3_pinmux_data, | 580 | .gpio_data = shx3_pinmux_data, |
579 | .gpio_data_size = ARRAY_SIZE(shx3_pinmux_data), | 581 | .gpio_data_size = ARRAY_SIZE(shx3_pinmux_data), |
580 | .cfg_regs = shx3_pinmux_config_regs, | 582 | .cfg_regs = shx3_pinmux_config_regs, |