drivers/pinctrl/meson/pinctrl-meson-g12a.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-)
g12b and sm1 have additional pwm pinmuxes for b, c, and d
Signed-off-by: Da Xue <da@libre.computer>
---
drivers/pinctrl/meson/pinctrl-meson-g12a.c | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/drivers/pinctrl/meson/pinctrl-meson-g12a.c b/drivers/pinctrl/meson/pinctrl-meson-g12a.c
index e2788bfc5874..8b9130c6e170 100644
--- a/drivers/pinctrl/meson/pinctrl-meson-g12a.c
+++ b/drivers/pinctrl/meson/pinctrl-meson-g12a.c
@@ -270,15 +270,21 @@ static const unsigned int pwm_a_pins[] = { GPIOX_6 };
/* pwm_b */
static const unsigned int pwm_b_x7_pins[] = { GPIOX_7 };
static const unsigned int pwm_b_x19_pins[] = { GPIOX_19 };
+static const unsigned int pwm_b_z0_pins[] = { GPIOZ_0 };
+static const unsigned int pwm_b_z13_pins[] = { GPIOZ_13 };
+static const unsigned int pwm_b_h_pins[] = { GPIOH_7 };
/* pwm_c */
static const unsigned int pwm_c_c_pins[] = { GPIOC_4 };
static const unsigned int pwm_c_x5_pins[] = { GPIOX_5 };
static const unsigned int pwm_c_x8_pins[] = { GPIOX_8 };
+static const unsigned int pwm_c_z_pins[] = { GPIOZ_1 };
/* pwm_d */
static const unsigned int pwm_d_x3_pins[] = { GPIOX_3 };
static const unsigned int pwm_d_x6_pins[] = { GPIOX_6 };
+static const unsigned int pwm_d_z_pins[] = { GPIOZ_2 };
+static const unsigned int pwm_d_a_pins[] = { GPIOA_4 };
/* pwm_e */
static const unsigned int pwm_e_pins[] = { GPIOX_16 };
@@ -649,12 +655,22 @@ static const struct meson_pmx_group meson_g12a_periphs_groups[] = {
GROUP(pwm_a, 1),
GROUP(pwm_b_x7, 4),
GROUP(pwm_b_x19, 1),
+ GROUP(pwm_b_z0, 5),
+ GROUP(pwm_b_z13, 5),
+ GROUP(pwm_b_h, 5),
GROUP(pwm_c_x5, 4),
GROUP(pwm_c_x8, 5),
+ GROUP(pwm_c_c, 5),
+ GROUP(pwm_c_z, 5),
+ GROUP(pwm_d_z, 4),
+ GROUP(pwm_d_a, 3),
GROUP(pwm_d_x3, 4),
GROUP(pwm_d_x6, 4),
GROUP(pwm_e, 1),
+ GROUP(pwm_f_a, 3),
+ GROUP(pwm_f_h, 4),
GROUP(pwm_f_x, 1),
+ GROUP(pwm_f_z, 5),
GROUP(tsin_a_valid, 3),
GROUP(tsin_a_sop, 3),
GROUP(tsin_a_din0, 3),
@@ -1058,15 +1074,15 @@ static const char * const pwm_a_groups[] = {
};
static const char * const pwm_b_groups[] = {
- "pwm_b_x7", "pwm_b_x19",
+ "pwm_b_h", "pwm_b_x7", "pwm_b_x19", "pwm_b_z0", "pwm_b_z13"
};
static const char * const pwm_c_groups[] = {
- "pwm_c_c", "pwm_c_x5", "pwm_c_x8",
+ "pwm_c_c", "pwm_c_x5", "pwm_c_x8", "pwm_c_z",
};
static const char * const pwm_d_groups[] = {
- "pwm_d_x3", "pwm_d_x6",
+ "pwm_d_a", "pwm_d_x3", "pwm_d_x6", "pwm_d_z",
};
static const char * const pwm_e_groups[] = {
--
2.39.5
On Thu, Jun 19, 2025 at 4:24 AM Da Xue <da@libre.computer> wrote: > g12b and sm1 have additional pwm pinmuxes for b, c, and d > > Signed-off-by: Da Xue <da@libre.computer> Patch applied! Yours, Linus Walleij
On 19/06/2025 04:23, Da Xue wrote: > g12b and sm1 have additional pwm pinmuxes for b, c, and d > > Signed-off-by: Da Xue <da@libre.computer> > --- > drivers/pinctrl/meson/pinctrl-meson-g12a.c | 22 +++++++++++++++++++--- > 1 file changed, 19 insertions(+), 3 deletions(-) > > diff --git a/drivers/pinctrl/meson/pinctrl-meson-g12a.c b/drivers/pinctrl/meson/pinctrl-meson-g12a.c > index e2788bfc5874..8b9130c6e170 100644 > --- a/drivers/pinctrl/meson/pinctrl-meson-g12a.c > +++ b/drivers/pinctrl/meson/pinctrl-meson-g12a.c > @@ -270,15 +270,21 @@ static const unsigned int pwm_a_pins[] = { GPIOX_6 }; > /* pwm_b */ > static const unsigned int pwm_b_x7_pins[] = { GPIOX_7 }; > static const unsigned int pwm_b_x19_pins[] = { GPIOX_19 }; > +static const unsigned int pwm_b_z0_pins[] = { GPIOZ_0 }; > +static const unsigned int pwm_b_z13_pins[] = { GPIOZ_13 }; > +static const unsigned int pwm_b_h_pins[] = { GPIOH_7 }; > > /* pwm_c */ > static const unsigned int pwm_c_c_pins[] = { GPIOC_4 }; > static const unsigned int pwm_c_x5_pins[] = { GPIOX_5 }; > static const unsigned int pwm_c_x8_pins[] = { GPIOX_8 }; > +static const unsigned int pwm_c_z_pins[] = { GPIOZ_1 }; > > /* pwm_d */ > static const unsigned int pwm_d_x3_pins[] = { GPIOX_3 }; > static const unsigned int pwm_d_x6_pins[] = { GPIOX_6 }; > +static const unsigned int pwm_d_z_pins[] = { GPIOZ_2 }; > +static const unsigned int pwm_d_a_pins[] = { GPIOA_4 }; > > /* pwm_e */ > static const unsigned int pwm_e_pins[] = { GPIOX_16 }; > @@ -649,12 +655,22 @@ static const struct meson_pmx_group meson_g12a_periphs_groups[] = { > GROUP(pwm_a, 1), > GROUP(pwm_b_x7, 4), > GROUP(pwm_b_x19, 1), > + GROUP(pwm_b_z0, 5), > + GROUP(pwm_b_z13, 5), > + GROUP(pwm_b_h, 5), > GROUP(pwm_c_x5, 4), > GROUP(pwm_c_x8, 5), > + GROUP(pwm_c_c, 5), > + GROUP(pwm_c_z, 5), > + GROUP(pwm_d_z, 4), > + GROUP(pwm_d_a, 3), > GROUP(pwm_d_x3, 4), > GROUP(pwm_d_x6, 4), > GROUP(pwm_e, 1), > + GROUP(pwm_f_a, 3), > + GROUP(pwm_f_h, 4), > GROUP(pwm_f_x, 1), > + GROUP(pwm_f_z, 5), > GROUP(tsin_a_valid, 3), > GROUP(tsin_a_sop, 3), > GROUP(tsin_a_din0, 3), > @@ -1058,15 +1074,15 @@ static const char * const pwm_a_groups[] = { > }; > > static const char * const pwm_b_groups[] = { > - "pwm_b_x7", "pwm_b_x19", > + "pwm_b_h", "pwm_b_x7", "pwm_b_x19", "pwm_b_z0", "pwm_b_z13" > }; > > static const char * const pwm_c_groups[] = { > - "pwm_c_c", "pwm_c_x5", "pwm_c_x8", > + "pwm_c_c", "pwm_c_x5", "pwm_c_x8", "pwm_c_z", > }; > > static const char * const pwm_d_groups[] = { > - "pwm_d_x3", "pwm_d_x6", > + "pwm_d_a", "pwm_d_x3", "pwm_d_x6", "pwm_d_z", > }; > > static const char * const pwm_e_groups[] = { Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
© 2016 - 2025 Red Hat, Inc.