| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Pin controller and GPIO driver for Amlogic Meson8 and Meson8m2. |
|---|
| 3 | 4 | * |
|---|
| 4 | 5 | * Copyright (C) 2014 Beniamino Galvani <b.galvani@gmail.com> |
|---|
| 5 | | - * |
|---|
| 6 | | - * This program is free software; you can redistribute it and/or |
|---|
| 7 | | - * modify it under the terms of the GNU General Public License |
|---|
| 8 | | - * version 2 as published by the Free Software Foundation. |
|---|
| 9 | | - * |
|---|
| 10 | | - * You should have received a copy of the GNU General Public License |
|---|
| 11 | | - * along with this program. If not, see <http://www.gnu.org/licenses/>. |
|---|
| 12 | 6 | */ |
|---|
| 13 | 7 | |
|---|
| 14 | 8 | #include <dt-bindings/gpio/meson8-gpio.h> |
|---|
| .. | .. |
|---|
| 506 | 500 | GPIO_GROUP(GPIOZ_12), |
|---|
| 507 | 501 | GPIO_GROUP(GPIOZ_13), |
|---|
| 508 | 502 | GPIO_GROUP(GPIOZ_14), |
|---|
| 503 | + GPIO_GROUP(CARD_0), |
|---|
| 504 | + GPIO_GROUP(CARD_1), |
|---|
| 505 | + GPIO_GROUP(CARD_2), |
|---|
| 506 | + GPIO_GROUP(CARD_3), |
|---|
| 507 | + GPIO_GROUP(CARD_4), |
|---|
| 508 | + GPIO_GROUP(CARD_5), |
|---|
| 509 | + GPIO_GROUP(CARD_6), |
|---|
| 510 | + GPIO_GROUP(BOOT_0), |
|---|
| 511 | + GPIO_GROUP(BOOT_1), |
|---|
| 512 | + GPIO_GROUP(BOOT_2), |
|---|
| 513 | + GPIO_GROUP(BOOT_3), |
|---|
| 514 | + GPIO_GROUP(BOOT_4), |
|---|
| 515 | + GPIO_GROUP(BOOT_5), |
|---|
| 516 | + GPIO_GROUP(BOOT_6), |
|---|
| 517 | + GPIO_GROUP(BOOT_7), |
|---|
| 518 | + GPIO_GROUP(BOOT_8), |
|---|
| 519 | + GPIO_GROUP(BOOT_9), |
|---|
| 520 | + GPIO_GROUP(BOOT_10), |
|---|
| 521 | + GPIO_GROUP(BOOT_11), |
|---|
| 522 | + GPIO_GROUP(BOOT_12), |
|---|
| 523 | + GPIO_GROUP(BOOT_13), |
|---|
| 524 | + GPIO_GROUP(BOOT_14), |
|---|
| 525 | + GPIO_GROUP(BOOT_15), |
|---|
| 526 | + GPIO_GROUP(BOOT_16), |
|---|
| 527 | + GPIO_GROUP(BOOT_17), |
|---|
| 528 | + GPIO_GROUP(BOOT_18), |
|---|
| 509 | 529 | |
|---|
| 510 | 530 | /* bank X */ |
|---|
| 511 | 531 | GROUP(sd_d0_a, 8, 5), |
|---|
| .. | .. |
|---|
| 774 | 794 | GROUP(hdmi_cec_ao, 0, 17), |
|---|
| 775 | 795 | }; |
|---|
| 776 | 796 | |
|---|
| 777 | | -static const char * const gpio_groups[] = { |
|---|
| 797 | +static const char * const gpio_periphs_groups[] = { |
|---|
| 778 | 798 | "GPIOX_0", "GPIOX_1", "GPIOX_2", "GPIOX_3", "GPIOX_4", |
|---|
| 779 | 799 | "GPIOX_5", "GPIOX_6", "GPIOX_7", "GPIOX_8", "GPIOX_9", |
|---|
| 780 | 800 | "GPIOX_10", "GPIOX_11", "GPIOX_12", "GPIOX_13", "GPIOX_14", |
|---|
| .. | .. |
|---|
| 996 | 1016 | }; |
|---|
| 997 | 1017 | |
|---|
| 998 | 1018 | static struct meson_pmx_func meson8_cbus_functions[] = { |
|---|
| 999 | | - FUNCTION(gpio), |
|---|
| 1019 | + FUNCTION(gpio_periphs), |
|---|
| 1000 | 1020 | FUNCTION(sd_a), |
|---|
| 1001 | 1021 | FUNCTION(sdxc_a), |
|---|
| 1002 | 1022 | FUNCTION(pcm_a), |
|---|
| .. | .. |
|---|
| 1083 | 1103 | .num_funcs = ARRAY_SIZE(meson8_aobus_functions), |
|---|
| 1084 | 1104 | .num_banks = ARRAY_SIZE(meson8_aobus_banks), |
|---|
| 1085 | 1105 | .pmx_ops = &meson8_pmx_ops, |
|---|
| 1106 | + .parse_dt = &meson8_aobus_parse_dt_extra, |
|---|
| 1086 | 1107 | }; |
|---|
| 1087 | 1108 | |
|---|
| 1088 | 1109 | static const struct of_device_id meson8_pinctrl_dt_match[] = { |
|---|