lkml.org 
[lkml]   [2020]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [RFC PATCH] ASoC: ak4458: use reset control instead of reset gpio
Date
Hi Peter,

> DTS is supposed to look as follows:
> >
> > / {
> > ak4458_reset: gpio-reset {
> > compatible = "gpio-reset";
> > reset-gpios = <&pca6416 4 GPIO_ACTIVE_LOW>;
> > #reset-cells = <0>;
> > initially-in-reset;
>
> I can not find anything resembling to this in next-20201119.
> Where is the implementation and documentation for this gpio-reset?

The board schematics is not publicly available; some info may be seen in DTS files below:
https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mm-evk.dts?h=imx_5.4.24_2.1.0
https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mm-ab2.dts?h=imx_5.4.24_2.1.0
https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mp-ab2.dts?h=imx_5.4.24_2.1.0

In examples above the GPIO is handled by machine driver - wrong approach given that
it requires machine driver being probed before codec driver.

> > - ak4458->reset_gpiod = devm_gpiod_get_optional(ak4458->dev,
> "reset",
> > - GPIOD_OUT_LOW);
> > - if (IS_ERR(ak4458->reset_gpiod))
> > - return PTR_ERR(ak4458->reset_gpiod);
> > + ak4458->reset = devm_reset_control_get_optional_shared(ak4458-
> >dev, NULL);
> > + if (IS_ERR(ak4458->reset))
> > + return PTR_ERR(ak4458->reset);
>
> The binding documentation must be updated and you must support the gpio
> way as well.

Sure, make sense.

> When I had this discussion around using the reset framework for shared
> enable and/or reset pins it was suggested that _if_ such a driver makes
> sense then it should internally handle (by using magic strings) the fallback
> and work with pre-reset binding.

Thanks, would appreciate if you point me to the discussion you had.

Viorel
\
 
 \ /
  Last update: 2020-11-19 17:26    [W:1.244 / U:1.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site