On Tue, Feb 18, 2025 at 10:57:09AM +0200, Daniel Baluta wrote:
>Current code supports EARC PHY Software Reset and EARC         Software
>Reset but it is not easily extensible to more reset bits.
>
>So, refactor the code in order to easily allow more reset bits
>in the future.
>
>Signed-off-by: Daniel Baluta <daniel.bal...@nxp.com>
>---
> drivers/reset/reset-imx8mp-audiomix.c | 53 ++++++++++++++++++++++-----
> 1 file changed, 43 insertions(+), 10 deletions(-)
>
>diff --git a/drivers/reset/reset-imx8mp-audiomix.c 
>b/drivers/reset/reset-imx8mp-audiomix.c
>index 1fe21980a66c..6b1666c4e069 100644
>--- a/drivers/reset/reset-imx8mp-audiomix.c
>+++ b/drivers/reset/reset-imx8mp-audiomix.c
>@@ -12,7 +12,30 @@
> #include <linux/reset-controller.h>
> 
> #define IMX8MP_AUDIOMIX_EARC_OFFSET           0x200
>-#define IMX8MP_AUDIOMIX_EARC_RESET_MASK               0x3
>+#define IMX8MP_AUDIOMIX_EARC_RESET_MASK               0x1
>+#define IMX8MP_AUDIOMIX_EARC_PHY_RESET_MASK   0x2
>+
>+#define IMX8MP_AUDIOMIX_EARC          0
>+#define IMX8MP_AUDIOMIX_EARC_PHY      1

Should this two lines be put in dt-bindings?

>+
>+#define IMX8MP_AUDIOMIX_RESET_NUM     2
>+
>+struct imx8mp_reset_map {
>+      unsigned int offset;
>+      unsigned int mask;
>+};
>+
>+static const struct imx8mp_reset_map reset_map[IMX8MP_AUDIOMIX_RESET_NUM] = {
>+      [IMX8MP_AUDIOMIX_EARC] = {
>+              .offset = IMX8MP_AUDIOMIX_EARC_OFFSET,
>+              .mask   = IMX8MP_AUDIOMIX_EARC_RESET_MASK,
>+      },
>+      [IMX8MP_AUDIOMIX_EARC_PHY] = {
>+              .offset = IMX8MP_AUDIOMIX_EARC_OFFSET,
>+              .mask   = IMX8MP_AUDIOMIX_EARC_PHY_RESET_MASK,
>+      },
>+

blank line

>+};
> 

Regards,
Peng

Reply via email to