diff mbox series

arm64: dts: imx8mn-bsh-smm-s2/pro: Add pmic clock connection

Message ID 20220604183905.1025201-1-michael@amarulasolutions.com (mailing list archive)
State New, archived
Headers show
Series arm64: dts: imx8mn-bsh-smm-s2/pro: Add pmic clock connection | expand

Commit Message

Michael Nazzareno Trimarchi June 4, 2022, 6:38 p.m. UTC
pmic clock is connected to svns_rtc using RTC_XTALI pin,
and wifi/bluetooth chipset

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
---
 .../boot/dts/freescale/imx8mn-bsh-smm-s2-common.dtsi     | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Michael Nazzareno Trimarchi June 5, 2022, 9:13 a.m. UTC | #1
Hi

I have some problems here. Open to suggestion:

On Sat, Jun 4, 2022 at 8:39 PM Michael Trimarchi
<michael@amarulasolutions.com> wrote:
>
> pmic clock is connected to svns_rtc using RTC_XTALI pin,
> and wifi/bluetooth chipset
>
> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
> ---
>  .../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
>
diff mbox series

Patch

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>;
 	};
 };