Re: [PATCH] arm64: dts: imx8mn-bsh-smm-s2/pro: Add pmic clock connection

From: Michael Nazzareno Trimarchi
Date: Sun Jun 05 2022 - 05:13:55 EST


Hi

I have some problems here. Open to suggestion:

On Sat, Jun 4, 2022 at 8:39 PM Michael Trimarchi
<michael@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> pmic clock is connected to svns_rtc using RTC_XTALI pin,
> and wifi/bluetooth chipset
>
> Signed-off-by: Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx>
> ---
> .../boot/dts/freescale/imx8mn-bsh-smm-s2-common.dtsi | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2-common.dtsi b/arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2-common.dtsi
> index c11895d9d582..a21ec0d1d003 100644
> --- a/arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2-common.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2-common.dtsi
> @@ -28,6 +28,8 @@ usdhc2_pwrseq: usdhc2-pwrseq {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_usdhc2_pwrseq>;
> reset-gpios = <&gpio4 27 GPIO_ACTIVE_LOW>;
> + clocks = <&bd71847>;
> + clock-names = "ext_clock";
> };
> };
>
> @@ -214,6 +216,11 @@ &i2c4 {
> status = "okay";
> };
>
> +&snvs_rtc {
> + clocks = <&bd71847>;
> + clock-names = "snvs-rtc";
> +};
> +
> &uart2 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_uart2>;
> @@ -235,6 +242,8 @@ bluetooth {
> shutdown-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
> device-wakeup-gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>;
> host-wakeup-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
> + clocks = <&bd71847>;
> + clock-names = "lpo";
> max-speed = <3000000>;
> };
> };

I've done more testing in suspend/resume and it can not work. I have
modelled differently and extended the svns block to receive an
external clock and make it always enabled. The problem here is the cpu
takes the clock from the pmic that is enabled by default and the pmic
clock even wifi and bluetooth. If I want to register the driver I
would like to connect all of them but it seems that osc_32k is the
basic clock of the cpu and can be modelled using pmic easily. Even I
have created the ext clock on the snvs block so should be always
enabled suspend/resume. The device can not resume from suspend.

Michael

> --
> 2.25.1
>


--
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael@xxxxxxxxxxxxxxxxxxxx
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info@xxxxxxxxxxxxxxxxxxxx
www.amarulasolutions.com