diff mbox series

[v3,2/4] arm64: dts: renesas: rzg2lc-smarc: Add macros for DIP-Switch settings

Message ID 20220203170636.7747-3-biju.das.jz@bp.renesas.com (mailing list archive)
State Mainlined
Commit 2ed3b5d9540b246d7a1ec98971914ee810b40086
Delegated to: Geert Uytterhoeven
Headers show
Series Add SCIF1/CANFD support | expand

Commit Message

Biju Das Feb. 3, 2022, 5:06 p.m. UTC
RZ/G2LC SoM uses DIP-SWitch SW1 for various pin multiplexing functions.

This patch describes DIP-SWitch SW1 settings on SoM and adds the
corresponding macros for enabling pinmux functionality on RZ/G2LC
SMARC EVK.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
v2->v3: No change
v1->v2: No change
---
 .../boot/dts/renesas/r9a07g044c2-smarc.dts    |  4 +--
 arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi | 36 +++++++++++++++++++
 2 files changed, 37 insertions(+), 3 deletions(-)
 create mode 100644 arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi

Comments

Geert Uytterhoeven Feb. 4, 2022, 10:59 a.m. UTC | #1
Hi Biju,

On Thu, Feb 3, 2022 at 6:06 PM Biju Das <biju.das.jz@bp.renesas.com> wrote:
> RZ/G2LC SoM uses DIP-SWitch SW1 for various pin multiplexing functions.
>
> This patch describes DIP-SWitch SW1 settings on SoM and adds the
> corresponding macros for enabling pinmux functionality on RZ/G2LC
> SMARC EVK.
>
> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-devel for v5.18.

> --- /dev/null
> +++ b/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi
> @@ -0,0 +1,36 @@
> +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +/*
> + * Device Tree Source for the RZ/G2LC SMARC EVK parts
> + *
> + * Copyright (C) 2022 Renesas Electronics Corp.
> + */
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
> +
> +/*
> + * DIP-Switch SW1 setting on SoM
> + * 1 : High; 0: Low
> + * SW1-2 : SW_SD0_DEV_SEL      (1: eMMC; 0: uSD)
> + * SW1-3 : SW_SCIF_CAN         (1: CAN1; 0: SCIF1)
> + * SW1-4 : SW_RSPI_CAN         (1: CAN1; 0: RSPI1)
> + * SW1-5 : SW_I2S0_I2S1                (1: I2S2 (HDMI audio); 0: I2S0)
> + * Please change below macros according to SW1 setting
> + */
> +
> +#define SW_SCIF_CAN    0
> +#if (SW_SCIF_CAN)
> +/* Due to HW routing, SW_RSPI_CAN is always 0 when SW_SCIF_CAN is set to 1 */
> +#define SW_RSPI_CAN    0
> +#else
> +/* Please set SW_RSPI_CAN. Default value is 1 */
> +#define SW_RSPI_CAN    1
> +#endif
> +
> +#if (SW_SCIF_CAN & SW_RSPI_CAN)
> +#error "Can not set 1 to both SW_SCIF_CAN and SW_RSPI_CAN due to HW routing"
> +#endif

Would it make sense to have a macro for SW_SD0_DEV_SEL, too, or is
there a special reason to keep the separate EMMC and SDHI macros?

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
Biju Das Feb. 4, 2022, 11:04 a.m. UTC | #2
Hi Geert,

Thanks for the feedback.

> Subject: Re: [PATCH v3 2/4] arm64: dts: renesas: rzg2lc-smarc: Add macros
> for DIP-Switch settings
> 
> Hi Biju,
> 
> On Thu, Feb 3, 2022 at 6:06 PM Biju Das <biju.das.jz@bp.renesas.com>
> wrote:
> > RZ/G2LC SoM uses DIP-SWitch SW1 for various pin multiplexing functions.
> >
> > This patch describes DIP-SWitch SW1 settings on SoM and adds the
> > corresponding macros for enabling pinmux functionality on RZ/G2LC
> > SMARC EVK.
> >
> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
> > Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> 
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> i.e. will queue
> in renesas-devel for v5.18.
> 
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi
> > @@ -0,0 +1,36 @@
> > +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +/*
> > + * Device Tree Source for the RZ/G2LC SMARC EVK parts
> > + *
> > + * Copyright (C) 2022 Renesas Electronics Corp.
> > + */
> > +
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
> > +
> > +/*
> > + * DIP-Switch SW1 setting on SoM
> > + * 1 : High; 0: Low
> > + * SW1-2 : SW_SD0_DEV_SEL      (1: eMMC; 0: uSD)
> > + * SW1-3 : SW_SCIF_CAN         (1: CAN1; 0: SCIF1)
> > + * SW1-4 : SW_RSPI_CAN         (1: CAN1; 0: RSPI1)
> > + * SW1-5 : SW_I2S0_I2S1                (1: I2S2 (HDMI audio); 0: I2S0)
> > + * Please change below macros according to SW1 setting  */
> > +
> > +#define SW_SCIF_CAN    0
> > +#if (SW_SCIF_CAN)
> > +/* Due to HW routing, SW_RSPI_CAN is always 0 when SW_SCIF_CAN is set
> to 1 */
> > +#define SW_RSPI_CAN    0
> > +#else
> > +/* Please set SW_RSPI_CAN. Default value is 1 */
> > +#define SW_RSPI_CAN    1
> > +#endif
> > +
> > +#if (SW_SCIF_CAN & SW_RSPI_CAN)
> > +#error "Can not set 1 to both SW_SCIF_CAN and SW_RSPI_CAN due to HW
> routing"
> > +#endif
> 
> Would it make sense to have a macro for SW_SD0_DEV_SEL, too, or is there a
> special reason to keep the separate EMMC and SDHI macros?

I will send a follow up patch for replacing EMMC and SDHI macros with SW_SD0_DEV_SEL

Regards,
Biju
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/renesas/r9a07g044c2-smarc.dts b/arch/arm64/boot/dts/renesas/r9a07g044c2-smarc.dts
index af84fd6c8a81..50abdabc374a 100644
--- a/arch/arm64/boot/dts/renesas/r9a07g044c2-smarc.dts
+++ b/arch/arm64/boot/dts/renesas/r9a07g044c2-smarc.dts
@@ -7,9 +7,7 @@ 
 
 /dts-v1/;
 #include "r9a07g044c2.dtsi"
-#include "rzg2lc-smarc-som.dtsi"
-#include "rzg2lc-smarc-pinfunction.dtsi"
-#include "rz-smarc-common.dtsi"
+#include "rzg2lc-smarc.dtsi"
 
 / {
 	model = "Renesas SMARC EVK based on r9a07g044c2";
diff --git a/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi b/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi
new file mode 100644
index 000000000000..ca5ca7ce6692
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/rzg2lc-smarc.dtsi
@@ -0,0 +1,36 @@ 
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/*
+ * Device Tree Source for the RZ/G2LC SMARC EVK parts
+ *
+ * Copyright (C) 2022 Renesas Electronics Corp.
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
+
+/*
+ * DIP-Switch SW1 setting on SoM
+ * 1 : High; 0: Low
+ * SW1-2 : SW_SD0_DEV_SEL	(1: eMMC; 0: uSD)
+ * SW1-3 : SW_SCIF_CAN		(1: CAN1; 0: SCIF1)
+ * SW1-4 : SW_RSPI_CAN		(1: CAN1; 0: RSPI1)
+ * SW1-5 : SW_I2S0_I2S1		(1: I2S2 (HDMI audio); 0: I2S0)
+ * Please change below macros according to SW1 setting
+ */
+
+#define SW_SCIF_CAN	0
+#if (SW_SCIF_CAN)
+/* Due to HW routing, SW_RSPI_CAN is always 0 when SW_SCIF_CAN is set to 1 */
+#define SW_RSPI_CAN	0
+#else
+/* Please set SW_RSPI_CAN. Default value is 1 */
+#define SW_RSPI_CAN	1
+#endif
+
+#if (SW_SCIF_CAN & SW_RSPI_CAN)
+#error "Can not set 1 to both SW_SCIF_CAN and SW_RSPI_CAN due to HW routing"
+#endif
+
+#include "rzg2lc-smarc-som.dtsi"
+#include "rzg2lc-smarc-pinfunction.dtsi"
+#include "rz-smarc-common.dtsi"