linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] [RFC] pinctrl: sh-pfc: r8a7795: Add pinmux data for single-function pins
@ 2015-09-02 18:51 Geert Uytterhoeven
  2015-09-03  0:10 ` Kuninori Morimoto
  2015-09-03  7:12 ` Geert Uytterhoeven
  0 siblings, 2 replies; 3+ messages in thread
From: Geert Uytterhoeven @ 2015-09-02 18:51 UTC (permalink / raw)
  To: linux-sh

Pins that (1) can be configured as either GPIO or a single peripheral
function, and (2) that don't need configuration in an IPSRx register,
should still be listed in the pinmux_data[] array.

Else selecting the peripheral function fails with e.g.:

    sh-pfc e6060000.pfc: cannot locate data/mark enum_id for mark 1281

(mark 1281 is MSIOF0_SCK_MARK).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
Mechanism derived from looking at pfc-r8a7791.c
---
 drivers/pinctrl/sh-pfc/pfc-r8a7795.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
index 5a709fc82a9fac5a..61e6faf9bf1a4316 100644
--- a/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
+++ b/drivers/pinctrl/sh-pfc/pfc-r8a7795.c
@@ -581,6 +581,25 @@ enum {
 static const u16 pinmux_data[] = {
 	PINMUX_DATA_GP_ALL(),
 
+	PINMUX_DATA(AVS1_MARK, FN_AVS1),
+	PINMUX_DATA(AVS2_MARK, FN_AVS2),
+	PINMUX_DATA(HDMI0_CEC_MARK, FN_HDMI0_CEC),
+	PINMUX_DATA(HDMI1_CEC_MARK, FN_HDMI1_CEC),
+	PINMUX_DATA(MSIOF0_RXD_MARK, FN_MSIOF0_RXD),
+	PINMUX_DATA(MSIOF0_SCK_MARK, FN_MSIOF0_SCK),
+	PINMUX_DATA(MSIOF0_TXD_MARK, FN_MSIOF0_TXD),
+	PINMUX_DATA(SD2_CMD_MARK, FN_SD2_CMD),
+	PINMUX_DATA(SD3_CLK_MARK, FN_SD3_CLK),
+	PINMUX_DATA(SD3_CMD_MARK, FN_SD3_CMD),
+	PINMUX_DATA(SD3_DAT0_MARK, FN_SD3_DAT0),
+	PINMUX_DATA(SD3_DAT1_MARK, FN_SD3_DAT1),
+	PINMUX_DATA(SD3_DAT2_MARK, FN_SD3_DAT2),
+	PINMUX_DATA(SD3_DAT3_MARK, FN_SD3_DAT3),
+	PINMUX_DATA(SD3_DS_MARK, FN_SD3_DS),
+	PINMUX_DATA(SSI_SCK5_MARK, FN_SSI_SCK5),
+	PINMUX_DATA(SSI_SDATA5_MARK, FN_SSI_SDATA5),
+	PINMUX_DATA(SSI_WS5_MARK, FN_SSI_WS5),
+
 	/* IPSR0 */
 	PINMUX_IPSR_DATA(IP0_3_0,	AVB_MDC),
 	PINMUX_IPSR_MSEL(IP0_3_0,	MSIOF2_SS2_C,		SEL_MSIOF2_2),
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/2] [RFC] pinctrl: sh-pfc: r8a7795: Add pinmux data for single-function pins
  2015-09-02 18:51 [PATCH 1/2] [RFC] pinctrl: sh-pfc: r8a7795: Add pinmux data for single-function pins Geert Uytterhoeven
@ 2015-09-03  0:10 ` Kuninori Morimoto
  2015-09-03  7:12 ` Geert Uytterhoeven
  1 sibling, 0 replies; 3+ messages in thread
From: Kuninori Morimoto @ 2015-09-03  0:10 UTC (permalink / raw)
  To: linux-sh


Hi Geert

> +	PINMUX_DATA(AVS1_MARK, FN_AVS1),
> +	PINMUX_DATA(AVS2_MARK, FN_AVS2),
> +	PINMUX_DATA(HDMI0_CEC_MARK, FN_HDMI0_CEC),
> +	PINMUX_DATA(HDMI1_CEC_MARK, FN_HDMI1_CEC),
> +	PINMUX_DATA(MSIOF0_RXD_MARK, FN_MSIOF0_RXD),
> +	PINMUX_DATA(MSIOF0_SCK_MARK, FN_MSIOF0_SCK),
> +	PINMUX_DATA(MSIOF0_TXD_MARK, FN_MSIOF0_TXD),
> +	PINMUX_DATA(SD2_CMD_MARK, FN_SD2_CMD),
> +	PINMUX_DATA(SD3_CLK_MARK, FN_SD3_CLK),
> +	PINMUX_DATA(SD3_CMD_MARK, FN_SD3_CMD),
> +	PINMUX_DATA(SD3_DAT0_MARK, FN_SD3_DAT0),
> +	PINMUX_DATA(SD3_DAT1_MARK, FN_SD3_DAT1),
> +	PINMUX_DATA(SD3_DAT2_MARK, FN_SD3_DAT2),
> +	PINMUX_DATA(SD3_DAT3_MARK, FN_SD3_DAT3),
> +	PINMUX_DATA(SD3_DS_MARK, FN_SD3_DS),
> +	PINMUX_DATA(SSI_SCK5_MARK, FN_SSI_SCK5),
> +	PINMUX_DATA(SSI_SDATA5_MARK, FN_SSI_SDATA5),
> +	PINMUX_DATA(SSI_WS5_MARK, FN_SSI_WS5),

I think you can use PINMUX_IPSR_NOGP() for this purpose.
And, you can find PINMUX_IPSR_NOGP() listed place in end of pinmux_data()

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/2] [RFC] pinctrl: sh-pfc: r8a7795: Add pinmux data for single-function pins
  2015-09-02 18:51 [PATCH 1/2] [RFC] pinctrl: sh-pfc: r8a7795: Add pinmux data for single-function pins Geert Uytterhoeven
  2015-09-03  0:10 ` Kuninori Morimoto
@ 2015-09-03  7:12 ` Geert Uytterhoeven
  1 sibling, 0 replies; 3+ messages in thread
From: Geert Uytterhoeven @ 2015-09-03  7:12 UTC (permalink / raw)
  To: linux-sh

Hi Morimoto-san,

On Thu, Sep 3, 2015 at 2:10 AM, Kuninori Morimoto
<kuninori.morimoto.gx@renesas.com> wrote:
>> +     PINMUX_DATA(AVS1_MARK, FN_AVS1),
>> +     PINMUX_DATA(AVS2_MARK, FN_AVS2),
>> +     PINMUX_DATA(HDMI0_CEC_MARK, FN_HDMI0_CEC),
>> +     PINMUX_DATA(HDMI1_CEC_MARK, FN_HDMI1_CEC),
>> +     PINMUX_DATA(MSIOF0_RXD_MARK, FN_MSIOF0_RXD),
>> +     PINMUX_DATA(MSIOF0_SCK_MARK, FN_MSIOF0_SCK),
>> +     PINMUX_DATA(MSIOF0_TXD_MARK, FN_MSIOF0_TXD),
>> +     PINMUX_DATA(SD2_CMD_MARK, FN_SD2_CMD),
>> +     PINMUX_DATA(SD3_CLK_MARK, FN_SD3_CLK),
>> +     PINMUX_DATA(SD3_CMD_MARK, FN_SD3_CMD),
>> +     PINMUX_DATA(SD3_DAT0_MARK, FN_SD3_DAT0),
>> +     PINMUX_DATA(SD3_DAT1_MARK, FN_SD3_DAT1),
>> +     PINMUX_DATA(SD3_DAT2_MARK, FN_SD3_DAT2),
>> +     PINMUX_DATA(SD3_DAT3_MARK, FN_SD3_DAT3),
>> +     PINMUX_DATA(SD3_DS_MARK, FN_SD3_DS),
>> +     PINMUX_DATA(SSI_SCK5_MARK, FN_SSI_SCK5),
>> +     PINMUX_DATA(SSI_SDATA5_MARK, FN_SSI_SDATA5),
>> +     PINMUX_DATA(SSI_WS5_MARK, FN_SSI_WS5),
>
> I think you can use PINMUX_IPSR_NOGP() for this purpose.
> And, you can find PINMUX_IPSR_NOGP() listed place in end of pinmux_data()

That macro indeed expands to the same.
But isn't PINMUX_IPSR_NOGP() intended for pins without a GPIO function?

Adding some comments to the PINMUX_*() macros would be helpful...

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-09-03  7:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-02 18:51 [PATCH 1/2] [RFC] pinctrl: sh-pfc: r8a7795: Add pinmux data for single-function pins Geert Uytterhoeven
2015-09-03  0:10 ` Kuninori Morimoto
2015-09-03  7:12 ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).