From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org,
Stephen Boyd <sboyd@codeaurora.org>
Subject: Re: [PATCH v2] pinctrl: qcom: add support for EBI2
Date: Fri, 1 Jul 2016 17:07:25 -0700 [thread overview]
Message-ID: <20160702000725.GN1190@tuxbot> (raw)
In-Reply-To: <1467417365-31681-1-git-send-email-linus.walleij@linaro.org>
On Fri 01 Jul 16:56 PDT 2016, Linus Walleij wrote:
> Add support to mux in the second external bus interface as
> follows:
>
> - CS1 and CS2 on GPIO39 and GPIO40 as func 2
> - ADDR_7 thru ADDR_0 on GPIO123 thru GPIO130 as func 1
> - CS4, CS3 and CS0 on GPIO132, GPIO133, GPIO134 as func 1
> - DATA_15 thru DATA_0 on GPIO135 thru GPIO150 as func 1
> - OE on GPIO151 as func 1
> - ADV on GPIO153 as func 1
> - WE on GPIO157 as func 1
>
> This external bus is used on the APQ8060 Dragonboard to connect
> an external SMSC9211 ethernet adapter, but there are many other
> usecases for the EBI2.
>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Regards,
Bjorn
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> ChangeLog v1->v2:
> - Pick out the exact right pin assignments from the old codebase.
> ---
> drivers/pinctrl/qcom/pinctrl-msm8660.c | 72 +++++++++++++++++++---------------
> 1 file changed, 41 insertions(+), 31 deletions(-)
>
> diff --git a/drivers/pinctrl/qcom/pinctrl-msm8660.c b/drivers/pinctrl/qcom/pinctrl-msm8660.c
> index 3e8f7ac2ac8a..debc90101553 100644
> --- a/drivers/pinctrl/qcom/pinctrl-msm8660.c
> +++ b/drivers/pinctrl/qcom/pinctrl-msm8660.c
> @@ -506,6 +506,7 @@ enum msm8660_functions {
> MSM_MUX_usb_fs2_oe_n,
> MSM_MUX_vfe,
> MSM_MUX_vsens_alarm,
> + MSM_MUX_ebi2,
> MSM_MUX__,
> };
>
> @@ -696,6 +697,14 @@ static const char * const vfe_groups[] = {
> static const char * const vsens_alarm_groups[] = {
> "gpio127"
> };
> +static const char * const ebi2_groups[] = {
> + "gpio39", "gpio40", "gpio123", "gpio124", "gpio125", "gpio126",
> + "gpio127", "gpio128", "gpio129", "gpio130", "gpio132", "gpio133",
> + "gpio134", "gpio135", "gpio136", "gpio137", "gpio138", "gpio139"
> + "gpio140", "gpio141", "gpio142", "gpio143", "gpio144", "gpio145",
> + "gpio146", "gpio147", "gpio148", "gpio149", "gpio150", "gpio151",
> + "gpio153", "gpio157"
> +};
>
> static const struct msm_function msm8660_functions[] = {
> FUNCTION(gpio),
> @@ -749,6 +758,7 @@ static const struct msm_function msm8660_functions[] = {
> FUNCTION(usb_fs2_oe_n),
> FUNCTION(vfe),
> FUNCTION(vsens_alarm),
> + FUNCTION(ebi2),
> };
>
> static const struct msm_pingroup msm8660_groups[] = {
> @@ -791,8 +801,8 @@ static const struct msm_pingroup msm8660_groups[] = {
> PINGROUP(36, gsbi1, _, _, _, _, _, _),
> PINGROUP(37, gsbi2, _, _, _, _, _, _),
> PINGROUP(38, gsbi2, _, _, _, _, _, _),
> - PINGROUP(39, gsbi2, _, mdp_vsync, _, _, _, _),
> - PINGROUP(40, gsbi2, _, _, _, _, _, _),
> + PINGROUP(39, gsbi2, ebi2, mdp_vsync, _, _, _, _),
> + PINGROUP(40, gsbi2, ebi2, _, _, _, _, _),
> PINGROUP(41, gsbi3, mdp_vsync, _, _, _, _, _),
> PINGROUP(42, gsbi3, vfe, _, _, _, _, _),
> PINGROUP(43, gsbi3, _, _, _, _, _, _),
> @@ -875,41 +885,41 @@ static const struct msm_pingroup msm8660_groups[] = {
> PINGROUP(120, i2s, _, _, _, _, _, _),
> PINGROUP(121, i2s, _, _, _, _, _, _),
> PINGROUP(122, i2s, gp_clk_1b, _, _, _, _, _),
> - PINGROUP(123, _, gsbi2_spi_cs1_n, _, _, _, _, _),
> - PINGROUP(124, _, gsbi2_spi_cs2_n, _, _, _, _, _),
> - PINGROUP(125, _, gsbi2_spi_cs3_n, _, _, _, _, _),
> - PINGROUP(126, _, _, _, _, _, _, _),
> - PINGROUP(127, _, vsens_alarm, _, _, _, _, _),
> - PINGROUP(128, _, _, _, _, _, _, _),
> - PINGROUP(129, _, _, _, _, _, _, _),
> - PINGROUP(130, _, _, _, _, _, _, _),
> + PINGROUP(123, ebi2, gsbi2_spi_cs1_n, _, _, _, _, _),
> + PINGROUP(124, ebi2, gsbi2_spi_cs2_n, _, _, _, _, _),
> + PINGROUP(125, ebi2, gsbi2_spi_cs3_n, _, _, _, _, _),
> + PINGROUP(126, ebi2, _, _, _, _, _, _),
> + PINGROUP(127, ebi2, vsens_alarm, _, _, _, _, _),
> + PINGROUP(128, ebi2, _, _, _, _, _, _),
> + PINGROUP(129, ebi2, _, _, _, _, _, _),
> + PINGROUP(130, ebi2, _, _, _, _, _, _),
> PINGROUP(131, _, _, _, _, _, _, _),
> - PINGROUP(132, _, _, _, _, _, _, _),
> - PINGROUP(133, _, _, _, _, _, _, _),
> + PINGROUP(132, ebi2, _, _, _, _, _, _),
> + PINGROUP(133, ebi2, _, _, _, _, _, _),
> PINGROUP(134, _, _, _, _, _, _, _),
> - PINGROUP(135, _, _, _, _, _, _, _),
> - PINGROUP(136, _, _, _, _, _, _, _),
> - PINGROUP(137, _, _, _, _, _, _, _),
> - PINGROUP(138, _, _, _, _, _, _, _),
> - PINGROUP(139, _, _, _, _, _, _, _),
> - PINGROUP(140, _, _, _, _, _, _, _),
> - PINGROUP(141, _, _, _, _, _, _, _),
> - PINGROUP(142, _, _, _, _, _, _, _),
> - PINGROUP(143, _, sdc2, _, _, _, _, _),
> - PINGROUP(144, _, sdc2, _, _, _, _, _),
> - PINGROUP(145, _, sdc2, _, _, _, _, _),
> - PINGROUP(146, _, sdc2, _, _, _, _, _),
> - PINGROUP(147, _, sdc2, _, _, _, _, _),
> - PINGROUP(148, _, sdc2, _, _, _, _, _),
> - PINGROUP(149, _, sdc2, _, _, _, _, _),
> - PINGROUP(150, _, sdc2, _, _, _, _, _),
> - PINGROUP(151, _, sdc2, _, _, _, _, _),
> + PINGROUP(135, ebi2, _, _, _, _, _, _),
> + PINGROUP(136, ebi2, _, _, _, _, _, _),
> + PINGROUP(137, ebi2, _, _, _, _, _, _),
> + PINGROUP(138, ebi2, _, _, _, _, _, _),
> + PINGROUP(139, ebi2, _, _, _, _, _, _),
> + PINGROUP(140, ebi2, _, _, _, _, _, _),
> + PINGROUP(141, ebi2, _, _, _, _, _, _),
> + PINGROUP(142, ebi2, _, _, _, _, _, _),
> + PINGROUP(143, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(144, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(145, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(146, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(147, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(148, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(149, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(150, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(151, ebi2, sdc2, _, _, _, _, _),
> PINGROUP(152, _, sdc2, _, _, _, _, _),
> - PINGROUP(153, _, _, _, _, _, _, _),
> + PINGROUP(153, ebi2, _, _, _, _, _, _),
> PINGROUP(154, _, _, _, _, _, _, _),
> PINGROUP(155, _, _, _, _, _, _, _),
> PINGROUP(156, _, _, _, _, _, _, _),
> - PINGROUP(157, _, _, _, _, _, _, _),
> + PINGROUP(157, ebi2, _, _, _, _, _, _),
> PINGROUP(158, _, _, _, _, _, _, _),
> PINGROUP(159, sdc1, _, _, _, _, _, _),
> PINGROUP(160, sdc1, _, _, _, _, _, _),
> --
> 2.4.11
>
WARNING: multiple messages have this Message-ID (diff)
From: bjorn.andersson@linaro.org (Bjorn Andersson)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2] pinctrl: qcom: add support for EBI2
Date: Fri, 1 Jul 2016 17:07:25 -0700 [thread overview]
Message-ID: <20160702000725.GN1190@tuxbot> (raw)
In-Reply-To: <1467417365-31681-1-git-send-email-linus.walleij@linaro.org>
On Fri 01 Jul 16:56 PDT 2016, Linus Walleij wrote:
> Add support to mux in the second external bus interface as
> follows:
>
> - CS1 and CS2 on GPIO39 and GPIO40 as func 2
> - ADDR_7 thru ADDR_0 on GPIO123 thru GPIO130 as func 1
> - CS4, CS3 and CS0 on GPIO132, GPIO133, GPIO134 as func 1
> - DATA_15 thru DATA_0 on GPIO135 thru GPIO150 as func 1
> - OE on GPIO151 as func 1
> - ADV on GPIO153 as func 1
> - WE on GPIO157 as func 1
>
> This external bus is used on the APQ8060 Dragonboard to connect
> an external SMSC9211 ethernet adapter, but there are many other
> usecases for the EBI2.
>
> Cc: Stephen Boyd <sboyd@codeaurora.org>
> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Regards,
Bjorn
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> ChangeLog v1->v2:
> - Pick out the exact right pin assignments from the old codebase.
> ---
> drivers/pinctrl/qcom/pinctrl-msm8660.c | 72 +++++++++++++++++++---------------
> 1 file changed, 41 insertions(+), 31 deletions(-)
>
> diff --git a/drivers/pinctrl/qcom/pinctrl-msm8660.c b/drivers/pinctrl/qcom/pinctrl-msm8660.c
> index 3e8f7ac2ac8a..debc90101553 100644
> --- a/drivers/pinctrl/qcom/pinctrl-msm8660.c
> +++ b/drivers/pinctrl/qcom/pinctrl-msm8660.c
> @@ -506,6 +506,7 @@ enum msm8660_functions {
> MSM_MUX_usb_fs2_oe_n,
> MSM_MUX_vfe,
> MSM_MUX_vsens_alarm,
> + MSM_MUX_ebi2,
> MSM_MUX__,
> };
>
> @@ -696,6 +697,14 @@ static const char * const vfe_groups[] = {
> static const char * const vsens_alarm_groups[] = {
> "gpio127"
> };
> +static const char * const ebi2_groups[] = {
> + "gpio39", "gpio40", "gpio123", "gpio124", "gpio125", "gpio126",
> + "gpio127", "gpio128", "gpio129", "gpio130", "gpio132", "gpio133",
> + "gpio134", "gpio135", "gpio136", "gpio137", "gpio138", "gpio139"
> + "gpio140", "gpio141", "gpio142", "gpio143", "gpio144", "gpio145",
> + "gpio146", "gpio147", "gpio148", "gpio149", "gpio150", "gpio151",
> + "gpio153", "gpio157"
> +};
>
> static const struct msm_function msm8660_functions[] = {
> FUNCTION(gpio),
> @@ -749,6 +758,7 @@ static const struct msm_function msm8660_functions[] = {
> FUNCTION(usb_fs2_oe_n),
> FUNCTION(vfe),
> FUNCTION(vsens_alarm),
> + FUNCTION(ebi2),
> };
>
> static const struct msm_pingroup msm8660_groups[] = {
> @@ -791,8 +801,8 @@ static const struct msm_pingroup msm8660_groups[] = {
> PINGROUP(36, gsbi1, _, _, _, _, _, _),
> PINGROUP(37, gsbi2, _, _, _, _, _, _),
> PINGROUP(38, gsbi2, _, _, _, _, _, _),
> - PINGROUP(39, gsbi2, _, mdp_vsync, _, _, _, _),
> - PINGROUP(40, gsbi2, _, _, _, _, _, _),
> + PINGROUP(39, gsbi2, ebi2, mdp_vsync, _, _, _, _),
> + PINGROUP(40, gsbi2, ebi2, _, _, _, _, _),
> PINGROUP(41, gsbi3, mdp_vsync, _, _, _, _, _),
> PINGROUP(42, gsbi3, vfe, _, _, _, _, _),
> PINGROUP(43, gsbi3, _, _, _, _, _, _),
> @@ -875,41 +885,41 @@ static const struct msm_pingroup msm8660_groups[] = {
> PINGROUP(120, i2s, _, _, _, _, _, _),
> PINGROUP(121, i2s, _, _, _, _, _, _),
> PINGROUP(122, i2s, gp_clk_1b, _, _, _, _, _),
> - PINGROUP(123, _, gsbi2_spi_cs1_n, _, _, _, _, _),
> - PINGROUP(124, _, gsbi2_spi_cs2_n, _, _, _, _, _),
> - PINGROUP(125, _, gsbi2_spi_cs3_n, _, _, _, _, _),
> - PINGROUP(126, _, _, _, _, _, _, _),
> - PINGROUP(127, _, vsens_alarm, _, _, _, _, _),
> - PINGROUP(128, _, _, _, _, _, _, _),
> - PINGROUP(129, _, _, _, _, _, _, _),
> - PINGROUP(130, _, _, _, _, _, _, _),
> + PINGROUP(123, ebi2, gsbi2_spi_cs1_n, _, _, _, _, _),
> + PINGROUP(124, ebi2, gsbi2_spi_cs2_n, _, _, _, _, _),
> + PINGROUP(125, ebi2, gsbi2_spi_cs3_n, _, _, _, _, _),
> + PINGROUP(126, ebi2, _, _, _, _, _, _),
> + PINGROUP(127, ebi2, vsens_alarm, _, _, _, _, _),
> + PINGROUP(128, ebi2, _, _, _, _, _, _),
> + PINGROUP(129, ebi2, _, _, _, _, _, _),
> + PINGROUP(130, ebi2, _, _, _, _, _, _),
> PINGROUP(131, _, _, _, _, _, _, _),
> - PINGROUP(132, _, _, _, _, _, _, _),
> - PINGROUP(133, _, _, _, _, _, _, _),
> + PINGROUP(132, ebi2, _, _, _, _, _, _),
> + PINGROUP(133, ebi2, _, _, _, _, _, _),
> PINGROUP(134, _, _, _, _, _, _, _),
> - PINGROUP(135, _, _, _, _, _, _, _),
> - PINGROUP(136, _, _, _, _, _, _, _),
> - PINGROUP(137, _, _, _, _, _, _, _),
> - PINGROUP(138, _, _, _, _, _, _, _),
> - PINGROUP(139, _, _, _, _, _, _, _),
> - PINGROUP(140, _, _, _, _, _, _, _),
> - PINGROUP(141, _, _, _, _, _, _, _),
> - PINGROUP(142, _, _, _, _, _, _, _),
> - PINGROUP(143, _, sdc2, _, _, _, _, _),
> - PINGROUP(144, _, sdc2, _, _, _, _, _),
> - PINGROUP(145, _, sdc2, _, _, _, _, _),
> - PINGROUP(146, _, sdc2, _, _, _, _, _),
> - PINGROUP(147, _, sdc2, _, _, _, _, _),
> - PINGROUP(148, _, sdc2, _, _, _, _, _),
> - PINGROUP(149, _, sdc2, _, _, _, _, _),
> - PINGROUP(150, _, sdc2, _, _, _, _, _),
> - PINGROUP(151, _, sdc2, _, _, _, _, _),
> + PINGROUP(135, ebi2, _, _, _, _, _, _),
> + PINGROUP(136, ebi2, _, _, _, _, _, _),
> + PINGROUP(137, ebi2, _, _, _, _, _, _),
> + PINGROUP(138, ebi2, _, _, _, _, _, _),
> + PINGROUP(139, ebi2, _, _, _, _, _, _),
> + PINGROUP(140, ebi2, _, _, _, _, _, _),
> + PINGROUP(141, ebi2, _, _, _, _, _, _),
> + PINGROUP(142, ebi2, _, _, _, _, _, _),
> + PINGROUP(143, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(144, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(145, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(146, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(147, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(148, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(149, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(150, ebi2, sdc2, _, _, _, _, _),
> + PINGROUP(151, ebi2, sdc2, _, _, _, _, _),
> PINGROUP(152, _, sdc2, _, _, _, _, _),
> - PINGROUP(153, _, _, _, _, _, _, _),
> + PINGROUP(153, ebi2, _, _, _, _, _, _),
> PINGROUP(154, _, _, _, _, _, _, _),
> PINGROUP(155, _, _, _, _, _, _, _),
> PINGROUP(156, _, _, _, _, _, _, _),
> - PINGROUP(157, _, _, _, _, _, _, _),
> + PINGROUP(157, ebi2, _, _, _, _, _, _),
> PINGROUP(158, _, _, _, _, _, _, _),
> PINGROUP(159, sdc1, _, _, _, _, _, _),
> PINGROUP(160, sdc1, _, _, _, _, _, _),
> --
> 2.4.11
>
next prev parent reply other threads:[~2016-07-02 0:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-01 23:56 [PATCH v2] pinctrl: qcom: add support for EBI2 Linus Walleij
2016-07-01 23:56 ` Linus Walleij
2016-07-02 0:07 ` Bjorn Andersson [this message]
2016-07-02 0:07 ` Bjorn Andersson
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=20160702000725.GN1190@tuxbot \
--to=bjorn.andersson@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sboyd@codeaurora.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.