pinctrl: renesas: r8a779h0: Add Audio pins, groups, functions
authorCong Dang <cong.dang.xn@renesas.com>
Fri, 26 Jan 2024 10:44:12 +0000 (11:44 +0100)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 20 Feb 2024 10:43:49 +0000 (11:43 +0100)
Add pins, groups and functions for Audio on the Renesas R-Car V4M
(R8A779H0) SoC.

Signed-off-by: Cong Dang <cong.dang.xn@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/e7d5024c23929d2eccb02bb5daf44c914db07d80.1706264667.git.geert+renesas@glider.be
drivers/pinctrl/renesas/pfc-r8a779h0.c

index 715fb81..afa8f06 100644 (file)
@@ -1191,6 +1191,22 @@ static const struct sh_pfc_pin pinmux_pins[] = {
        PINMUX_NOGP_ALL(),
 };
 
+/* - AUDIO CLOCK ----------------------------------------- */
+static const unsigned int audio_clkin_pins[] = {
+       /* CLK IN */
+       RCAR_GP_PIN(1, 22),
+};
+static const unsigned int audio_clkin_mux[] = {
+       AUDIO_CLKIN_MARK,
+};
+static const unsigned int audio_clkout_pins[] = {
+       /* CLK OUT */
+       RCAR_GP_PIN(1, 21),
+};
+static const unsigned int audio_clkout_mux[] = {
+       AUDIO_CLKOUT_MARK,
+};
+
 /* - AVB0 ------------------------------------------------ */
 static const unsigned int avb0_link_pins[] = {
        /* AVB0_LINK */
@@ -2260,6 +2276,22 @@ static const unsigned int scif_clk2_mux[] = {
        SCIF_CLK2_MARK,
 };
 
+/* - SSI ------------------------------------------------- */
+static const unsigned int ssi_data_pins[] = {
+       /* SSI_SD */
+       RCAR_GP_PIN(1, 20),
+};
+static const unsigned int ssi_data_mux[] = {
+       SSI_SD_MARK,
+};
+static const unsigned int ssi_ctrl_pins[] = {
+       /* SSI_SCK,  SSI_WS */
+       RCAR_GP_PIN(1, 18), RCAR_GP_PIN(1, 19),
+};
+static const unsigned int ssi_ctrl_mux[] = {
+       SSI_SCK_MARK, SSI_WS_MARK,
+};
+
 /* - TPU_A ------------------------------------------------------------------- */
 static const unsigned int tpu_to0_a_pins[] = {
        /* TPU0TO0_A */
@@ -2321,6 +2353,9 @@ static const unsigned int tpu_to3_b_mux[] = {
 };
 
 static const struct sh_pfc_pin_group pinmux_groups[] = {
+       SH_PFC_PIN_GROUP(audio_clkin),
+       SH_PFC_PIN_GROUP(audio_clkout),
+
        SH_PFC_PIN_GROUP(avb0_link),
        SH_PFC_PIN_GROUP(avb0_magic),
        SH_PFC_PIN_GROUP(avb0_phy_int),
@@ -2474,6 +2509,9 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
        SH_PFC_PIN_GROUP(scif_clk),
        SH_PFC_PIN_GROUP(scif_clk2),
 
+       SH_PFC_PIN_GROUP(ssi_data),
+       SH_PFC_PIN_GROUP(ssi_ctrl),
+
        SH_PFC_PIN_GROUP(tpu_to0_a),
        SH_PFC_PIN_GROUP(tpu_to0_b),
        SH_PFC_PIN_GROUP(tpu_to1_a),
@@ -2484,6 +2522,11 @@ static const struct sh_pfc_pin_group pinmux_groups[] = {
        SH_PFC_PIN_GROUP(tpu_to3_b),
 };
 
+static const char * const audio_clk_groups[] = {
+       "audio_clkin",
+       "audio_clkout",
+};
+
 static const char * const avb0_groups[] = {
        "avb0_link",
        "avb0_magic",
@@ -2731,6 +2774,11 @@ static const char * const scif_clk2_groups[] = {
        "scif_clk2",
 };
 
+static const char * const ssi_groups[] = {
+       "ssi_data",
+       "ssi_ctrl",
+};
+
 static const char * const tpu_groups[] = {
        "tpu_to0_a",
        "tpu_to0_b",
@@ -2743,6 +2791,8 @@ static const char * const tpu_groups[] = {
 };
 
 static const struct sh_pfc_function pinmux_functions[] = {
+       SH_PFC_FUNCTION(audio_clk),
+
        SH_PFC_FUNCTION(avb0),
        SH_PFC_FUNCTION(avb1),
        SH_PFC_FUNCTION(avb2),
@@ -2790,6 +2840,8 @@ static const struct sh_pfc_function pinmux_functions[] = {
        SH_PFC_FUNCTION(scif_clk),
        SH_PFC_FUNCTION(scif_clk2),
 
+       SH_PFC_FUNCTION(ssi),
+
        SH_PFC_FUNCTION(tpu),
 };