pwm: meson: Use separate device id data for axg and g12
authorGeorge Stark <gnstark@salutedevices.com>
Tue, 19 Nov 2024 12:53:17 +0000 (15:53 +0300)
committerUwe Kleine-König <ukleinek@kernel.org>
Mon, 14 Apr 2025 06:03:15 +0000 (08:03 +0200)
Add separate devce id data for compatibles: amlogic,meson-g12a-ee-pwm,
amlogic,meson-axg-pwm-v2, amlogic,meson-g12-pwm-v2 due to those PWM
modules have different set of features than meson8.

Signed-off-by: George Stark <gnstark@salutedevices.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20241119125318.3492261-4-gnstark@salutedevices.com
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
drivers/pwm/pwm-meson.c

index d7335efa3db798d220cc07074aed666c48f05a4d..3cc48c3dde5ef19e6536aadb056f72cba12bfd3c 100644 (file)
@@ -561,6 +561,11 @@ static const struct meson_pwm_data pwm_axg_ao_data = {
        .channels_init = meson_pwm_init_channels_meson8b_legacy,
 };
 
+static const struct meson_pwm_data pwm_g12a_ee_data = {
+       .parent_names = { "xtal", NULL, "fclk_div4", "fclk_div3" },
+       .channels_init = meson_pwm_init_channels_meson8b_legacy,
+};
+
 static const struct meson_pwm_data pwm_g12a_ao_ab_data = {
        .parent_names = { "xtal", "g12a_ao_clk81", "fclk_div4", "fclk_div5" },
        .channels_init = meson_pwm_init_channels_meson8b_legacy,
@@ -575,6 +580,10 @@ static const struct meson_pwm_data pwm_meson8_v2_data = {
        .channels_init = meson_pwm_init_channels_meson8b_v2,
 };
 
+static const struct meson_pwm_data pwm_meson_axg_v2_data = {
+       .channels_init = meson_pwm_init_channels_meson8b_v2,
+};
+
 static const struct meson_pwm_data pwm_s4_data = {
        .channels_init = meson_pwm_init_channels_s4,
 };
@@ -584,6 +593,14 @@ static const struct of_device_id meson_pwm_matches[] = {
                .compatible = "amlogic,meson8-pwm-v2",
                .data = &pwm_meson8_v2_data
        },
+       {
+               .compatible = "amlogic,meson-axg-pwm-v2",
+               .data = &pwm_meson_axg_v2_data
+       },
+       {
+               .compatible = "amlogic,meson-g12-pwm-v2",
+               .data = &pwm_meson_axg_v2_data
+       },
        /* The following compatibles are obsolete */
        {
                .compatible = "amlogic,meson8b-pwm",
@@ -607,7 +624,7 @@ static const struct of_device_id meson_pwm_matches[] = {
        },
        {
                .compatible = "amlogic,meson-g12a-ee-pwm",
-               .data = &pwm_meson8b_data
+               .data = &pwm_g12a_ee_data
        },
        {
                .compatible = "amlogic,meson-g12a-ao-pwm-ab",