From: ben.dooks@codethink.co.uk (Ben Dooks)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/2] pinctrl: Add support for Meson8b
Date: Wed, 11 Mar 2015 09:37:01 +0000 [thread overview]
Message-ID: <55000CBD.9050909@codethink.co.uk> (raw)
In-Reply-To: <1426064430-5826-2-git-send-email-carlo@caione.org>
On 11/03/15 09:00, Carlo Caione wrote:
> From: Carlo Caione <carlo@endlessm.com>
>
> This patch adds support for the AmLogic Meson8b SoC.
>
> Signed-off-by: Carlo Caione <carlo@endlessm.com>
> ---
> drivers/pinctrl/meson/Makefile | 2 +-
> drivers/pinctrl/meson/pinctrl-meson.c | 4 +
> drivers/pinctrl/meson/pinctrl-meson.h | 1 +
> drivers/pinctrl/meson/pinctrl-meson8b.c | 1013 +++++++++++++++++++++++++++++++
> include/dt-bindings/gpio/meson8b-gpio.h | 31 +
> 5 files changed, 1050 insertions(+), 1 deletion(-)
> create mode 100644 drivers/pinctrl/meson/pinctrl-meson8b.c
> create mode 100644 include/dt-bindings/gpio/meson8b-gpio.h
>
> diff --git a/drivers/pinctrl/meson/Makefile b/drivers/pinctrl/meson/Makefile
> index eafc216..c751d22 100644
> --- a/drivers/pinctrl/meson/Makefile
> +++ b/drivers/pinctrl/meson/Makefile
> @@ -1,2 +1,2 @@
> -obj-y += pinctrl-meson8.o
> +obj-y += pinctrl-meson8.o pinctrl-meson8b.o
> obj-y += pinctrl-meson.o
> diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
> index a2bf49c..79f35f3 100644
> --- a/drivers/pinctrl/meson/pinctrl-meson.c
> +++ b/drivers/pinctrl/meson/pinctrl-meson.c
> @@ -544,6 +544,10 @@ static const struct of_device_id meson_pinctrl_dt_match[] = {
> .compatible = "amlogic,meson8-pinctrl",
> .data = &meson8_pinctrl_data,
> },
> + {
> + .compatible = "amlogic,meson8b-pinctrl",
> + .data = &meson8b_pinctrl_data,
> + },
> { },
> };
> MODULE_DEVICE_TABLE(of, meson_pinctrl_dt_match);
> diff --git a/drivers/pinctrl/meson/pinctrl-meson.h b/drivers/pinctrl/meson/pinctrl-meson.h
> index bfea8ad..c06d9d0 100644
> --- a/drivers/pinctrl/meson/pinctrl-meson.h
> +++ b/drivers/pinctrl/meson/pinctrl-meson.h
> @@ -207,3 +207,4 @@ struct meson_pinctrl {
> #define MESON_PIN(x) PINCTRL_PIN(PIN_ ## x, #x)
>
> extern struct meson_pinctrl_data meson8_pinctrl_data;
> +extern struct meson_pinctrl_data meson8b_pinctrl_data;
> diff --git a/drivers/pinctrl/meson/pinctrl-meson8b.c b/drivers/pinctrl/meson/pinctrl-meson8b.c
> new file mode 100644
> index 0000000..8a91e59
> --- /dev/null
> +++ b/drivers/pinctrl/meson/pinctrl-meson8b.c
> @@ -0,0 +1,1013 @@
> +/*
> + * Pin controller and GPIO driver for Amlogic Meson8b.
> + *
> + * Copyright (C) 2015 Endless Mobile, Inc.
> + * Author: Carlo Caione <carlo@endlessm.com>
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * version 2 as published by the Free Software Foundation.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program. If not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#include <dt-bindings/gpio/meson8b-gpio.h>
> +#include "pinctrl-meson.h"
> +
> +#define AO_OFFSET 120
> +#define DIF_OFFSET 135
> +
> +#define PIN_GPIOX_0 GPIOX_0
> +#define PIN_GPIOX_1 GPIOX_1
> +#define PIN_GPIOX_2 GPIOX_2
> +#define PIN_GPIOX_3 GPIOX_3
> +#define PIN_GPIOX_4 GPIOX_4
> +#define PIN_GPIOX_5 GPIOX_5
> +#define PIN_GPIOX_6 GPIOX_6
> +#define PIN_GPIOX_7 GPIOX_7
> +#define PIN_GPIOX_8 GPIOX_8
> +#define PIN_GPIOX_9 GPIOX_9
> +#define PIN_GPIOX_10 GPIOX_10
> +#define PIN_GPIOX_11 GPIOX_11
> +/* hole */
> +#define PIN_GPIOX_16 GPIOX_16
> +#define PIN_GPIOX_17 GPIOX_17
> +#define PIN_GPIOX_18 GPIOX_18
> +#define PIN_GPIOX_19 GPIOX_19
> +#define PIN_GPIOX_20 GPIOX_20
> +#define PIN_GPIOX_21 GPIOX_21
> +
> +#define PIN_GPIOY_0 GPIOY_0
> +#define PIN_GPIOY_1 GPIOY_1
> +/* hole */
> +#define PIN_GPIOY_3 GPIOY_3
> +/* hole */
> +#define PIN_GPIOY_6 GPIOY_6
> +#define PIN_GPIOY_7 GPIOY_7
> +#define PIN_GPIOY_8 GPIOY_8
> +#define PIN_GPIOY_9 GPIOY_9
> +#define PIN_GPIOY_10 GPIOY_10
> +#define PIN_GPIOY_11 GPIOY_11
> +#define PIN_GPIOY_12 GPIOY_12
> +#define PIN_GPIOY_13 GPIOY_13
> +#define PIN_GPIOY_14 GPIOY_14
> +
> +/* hole */
> +#define PIN_GPIODV_9 GPIODV_9
> +/* hole */
> +#define PIN_GPIODV_24 GPIODV_24
> +#define PIN_GPIODV_25 GPIODV_25
> +#define PIN_GPIODV_26 GPIODV_26
> +#define PIN_GPIODV_27 GPIODV_27
> +#define PIN_GPIODV_28 GPIODV_28
> +#define PIN_GPIODV_29 GPIODV_29
> +
> +#define PIN_GPIOH_0 GPIOH_0
> +#define PIN_GPIOH_1 GPIOH_1
> +#define PIN_GPIOH_2 GPIOH_2
> +#define PIN_GPIOH_3 GPIOH_3
> +#define PIN_GPIOH_4 GPIOH_4
> +#define PIN_GPIOH_5 GPIOH_5
> +#define PIN_GPIOH_6 GPIOH_6
> +#define PIN_GPIOH_7 GPIOH_7
> +#define PIN_GPIOH_8 GPIOH_8
> +#define PIN_GPIOH_9 GPIOH_9
> +
> +#define PIN_CARD_0 CARD_0
> +#define PIN_CARD_1 CARD_1
> +#define PIN_CARD_2 CARD_2
> +#define PIN_CARD_3 CARD_3
> +#define PIN_CARD_4 CARD_4
> +#define PIN_CARD_5 CARD_5
> +#define PIN_CARD_6 CARD_6
> +
> +#define PIN_BOOT_0 BOOT_0
> +#define PIN_BOOT_1 BOOT_1
> +#define PIN_BOOT_2 BOOT_2
> +#define PIN_BOOT_3 BOOT_3
> +#define PIN_BOOT_4 BOOT_4
> +#define PIN_BOOT_5 BOOT_5
> +#define PIN_BOOT_6 BOOT_6
> +#define PIN_BOOT_7 BOOT_7
> +#define PIN_BOOT_8 BOOT_8
> +#define PIN_BOOT_9 BOOT_9
> +#define PIN_BOOT_10 BOOT_10
> +#define PIN_BOOT_11 BOOT_11
> +#define PIN_BOOT_12 BOOT_12
> +#define PIN_BOOT_13 BOOT_13
> +#define PIN_BOOT_14 BOOT_14
> +#define PIN_BOOT_15 BOOT_15
> +#define PIN_BOOT_16 BOOT_16
> +#define PIN_BOOT_17 BOOT_17
> +#define PIN_BOOT_18 BOOT_18
> +
> +#define PIN_DIF_0_P (DIF_OFFSET + DIF_0_P)
> +#define PIN_DIF_0_N (DIF_OFFSET + DIF_0_N)
> +#define PIN_DIF_1_P (DIF_OFFSET + DIF_1_P)
> +#define PIN_DIF_1_N (DIF_OFFSET + DIF_1_N)
> +#define PIN_DIF_2_P (DIF_OFFSET + DIF_2_P)
> +#define PIN_DIF_2_N (DIF_OFFSET + DIF_2_N)
> +#define PIN_DIF_3_P (DIF_OFFSET + DIF_3_P)
> +#define PIN_DIF_3_N (DIF_OFFSET + DIF_3_N)
> +#define PIN_DIF_4_P (DIF_OFFSET + DIF_4_P)
> +#define PIN_DIF_4_N (DIF_OFFSET + DIF_4_N)
> +
> +#define PIN_GPIOAO_0 (AO_OFFSET + GPIOAO_0)
> +#define PIN_GPIOAO_1 (AO_OFFSET + GPIOAO_1)
> +#define PIN_GPIOAO_2 (AO_OFFSET + GPIOAO_2)
> +#define PIN_GPIOAO_3 (AO_OFFSET + GPIOAO_3)
> +#define PIN_GPIOAO_4 (AO_OFFSET + GPIOAO_4)
> +#define PIN_GPIOAO_5 (AO_OFFSET + GPIOAO_5)
> +#define PIN_GPIOAO_6 (AO_OFFSET + GPIOAO_6)
> +#define PIN_GPIOAO_7 (AO_OFFSET + GPIOAO_7)
> +#define PIN_GPIOAO_8 (AO_OFFSET + GPIOAO_8)
> +#define PIN_GPIOAO_9 (AO_OFFSET + GPIOAO_9)
> +#define PIN_GPIOAO_10 (AO_OFFSET + GPIOAO_10)
> +#define PIN_GPIOAO_11 (AO_OFFSET + GPIOAO_11)
> +#define PIN_GPIOAO_12 (AO_OFFSET + GPIOAO_12)
> +#define PIN_GPIOAO_13 (AO_OFFSET + GPIOAO_13)
> +
> +#define PIN_GPIO_BSD_EN (AO_OFFSET + GPIO_BSD_EN)
> +#define PIN_GPIO_TEST_N (AO_OFFSET + GPIO_TEST_N)
Could we just have sets of PIN_GPIOAO(x)
there's a lot of code in here which could be compressed.
--
Ben Dooks http://www.codethink.co.uk/
Senior Engineer Codethink - Providing Genius
next prev parent reply other threads:[~2015-03-11 9:37 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-11 9:00 [PATCH v2 0/2] Amlogic Meson8b pinctrl driver support Carlo Caione
2015-03-11 9:00 ` [PATCH v2 1/2] pinctrl: Add support for Meson8b Carlo Caione
2015-03-11 9:37 ` Ben Dooks [this message]
2015-03-17 11:49 ` Linus Walleij
2015-03-17 14:10 ` Carlo Caione
2015-03-19 8:27 ` Linus Walleij
2015-03-11 9:00 ` [PATCH v2 2/2] documentation: Fix pinctrl docs " Carlo Caione
2015-03-17 11:50 ` Linus Walleij
2015-03-17 14:10 ` Carlo Caione
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55000CBD.9050909@codethink.co.uk \
--to=ben.dooks@codethink.co.uk \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.