All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
To: Maxime Ripard <maxime.ripard@bootlin.com>
Cc: Jagan Teki <jagan@amarulasolutions.com>,
	Chen-Yu Tsai <wens@csie.org>,
	linux-sunxi <linux-sunxi@googlegroups.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	devicetree <devicetree@vger.kernel.org>
Subject: Re: Allwinner A64: Issue on external rtc clock to wifi chip
Date: Mon, 28 May 2018 09:08:22 +0200	[thread overview]
Message-ID: <CAOf5uwkqBXjLZHq-ma3kF_Y2=daXLkSOZDUyJ7sM6o9abDT81Q@mail.gmail.com> (raw)
In-Reply-To: <20180514111726.lnxpegipqklyetmv@flea>

Hi Maxime

On Mon, May 14, 2018 at 1:17 PM, Maxime Ripard
<maxime.ripard@bootlin.com> wrote:
> On Mon, May 14, 2018 at 03:12:49PM +0530, Jagan Teki wrote:
>> On Mon, May 14, 2018 at 2:36 PM, Maxime Ripard
>> <maxime.ripard@bootlin.com> wrote:
>> > On Mon, May 14, 2018 at 02:34:22PM +0530, Jagan Teki wrote:
>> >> On Mon, May 14, 2018 at 1:57 PM, Maxime Ripard
>> >> <maxime.ripard@bootlin.com> wrote:
>> >> > On Mon, May 14, 2018 at 01:34:56PM +0530, Jagan Teki wrote:
>> >> >> On Mon, May 14, 2018 at 1:27 PM, Maxime Ripard
>> >> >> <maxime.ripard@bootlin.com> wrote:
>> >> >> > Hi,
>> >> >> >
>> >> >> > On Mon, May 14, 2018 at 12:37:49PM +0530, Jagan Teki wrote:
>> >> >> >> Hi Maxime and All,
>> >> >> >>
>> >> >> >> We are trying to bring-up AP6330 Wifi chip for A64 board. We noticed
>> >> >> >> to have an external rtc clock has driven from wifi chip.
>> >> >> >>
>> >> >> >> So the devicetree is configured according to this as below.
>> >> >> >>
>> >> >> >> / {
>> >> >> >>         wifi_pwrseq: wifi-pwrseq {
>> >> >> >>                 compatible = "mmc-pwrseq-simple";
>> >> >> >>                 clocks = <&rtc 1>;
>> >> >> >>                 clock-names = "ext_clock";
>> >> >> >>                 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
>> >> >> >>                 post-power-on-delay-ms = <400>;
>> >> >> >>         };
>> >> >> >> };
>> >> >> >>
>> >> >> >> &rtc {
>> >> >> >>         clock-output-names = "rtc-osc32k", "rtc-osc32k-out";
>> >> >> >>         clocks = <&osc32k>;
>> >> >> >>         #clock-cells = <1>;
>> >> >> >> };
>> >> >> >>
>> >> >> >> &mmc1 {
>> >> >> >>         pinctrl-names = "default";
>> >> >> >>         pinctrl-0 = <&mmc1_pins>;
>> >> >> >>         vmmc-supply = <&reg_dcdc1>;
>> >> >> >>         vqmmc-supply = <&reg_eldo1>;
>> >> >> >>         mmc-pwrseq = <&wifi_pwrseq>;
>> >> >> >>         bus-width = <4>;
>> >> >> >>         non-removable;
>> >> >> >>         status = "okay";
>> >> >> >>
>> >> >> >>         brcmf: wifi@1 {
>> >> >> >>                 reg = <1>;
>> >> >> >>                 compatible = "brcm,bcm4329-fmac";
>> >> >> >>                 interrupt-parent = <&r_pio>;
>> >> >> >>                 interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>;  /* WL-WAKE-AP: PL3 */
>> >> >> >>                 interrupt-names = "host-wake";
>> >> >> >>         };
>> >> >> >> };
>> >> >> >>
>> >> >> >> And observed rtc-osc32k-out clock is never enabled[1] and the value of
>> >> >> >> LOSC_OUT_GATING is 0x0 which eventually not enabling
>> >> >> >> LOSC_OUT_GATING_EN
>> >> >> >>
>> >> >> >> Pls. let us know if we miss anything here?
>> >> >> >>
>> >> >> >> [1] https://paste.ubuntu.com/p/X2By4q8kD2/
>> >> >> >
>> >> >> > Could you paste your config and the logs from a boot to?
>> >> >>
>> >> >> .config
>> >> >> https://paste.ubuntu.com/p/w9w2KB7RFc/
>> >> >>
>> >> >> dmesg
>> >> >> https://paste.ubuntu.com/p/mrZGk5bWRR/
>> >> >
>> >> > This is kind of weird. Have you tested with a 4.17 kernel? We have
>> >> > runtime_pm changes lined up in next, so that might be a regression
>> >> > there, even though we tested it with Quentin at some point.
>> >>
>> >> This is 4.17-rc4 do you want to try it on 4.16 ?
>> >
>> > No, this is next-20180503. Please try with 4.17-rc4
>>
>> Couldn't find any different in behaviour [2]
>>
>> [2] https://paste.ubuntu.com/p/m3PGBwrv6W/
>
> It's hard to tell without the board, but have you looked at the return
> value of devm_clk_get in the pwrseq code?
>
> Enabling the clk ftrace events would also help.
>

The driver has one bug.

diff --git a/drivers/rtc/rtc-sun6i.c b/drivers/rtc/rtc-sun6i.c
index 2e6fb27..a66f40c 100644
--- a/drivers/rtc/rtc-sun6i.c
+++ b/drivers/rtc/rtc-sun6i.c
@@ -74,7 +74,7 @@
 #define SUN6I_ALARM_CONFIG_WAKEUP              BIT(0)

 #define SUN6I_LOSC_OUT_GATING                  0x0060
-#define SUN6I_LOSC_OUT_GATING_EN               BIT(0)
+#define SUN6I_LOSC_OUT_GATING_EN               0

You need to pass bit_idx that is 0 and not BIT(0)

Michael


> Maxime
>
> --
> Maxime Ripard, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> https://bootlin.com



-- 
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |

WARNING: multiple messages have this Message-ID (diff)
From: Michael Nazzareno Trimarchi <michael-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org>
To: Maxime Ripard <maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org>
Cc: Jagan Teki
	<jagan-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org>,
	Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
	linux-sunxi <linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>,
	linux-kernel
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	linux-arm-kernel
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	devicetree <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: Allwinner A64: Issue on external rtc clock to wifi chip
Date: Mon, 28 May 2018 09:08:22 +0200	[thread overview]
Message-ID: <CAOf5uwkqBXjLZHq-ma3kF_Y2=daXLkSOZDUyJ7sM6o9abDT81Q@mail.gmail.com> (raw)
In-Reply-To: <20180514111726.lnxpegipqklyetmv@flea>

Hi Maxime

On Mon, May 14, 2018 at 1:17 PM, Maxime Ripard
<maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org> wrote:
> On Mon, May 14, 2018 at 03:12:49PM +0530, Jagan Teki wrote:
>> On Mon, May 14, 2018 at 2:36 PM, Maxime Ripard
>> <maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org> wrote:
>> > On Mon, May 14, 2018 at 02:34:22PM +0530, Jagan Teki wrote:
>> >> On Mon, May 14, 2018 at 1:57 PM, Maxime Ripard
>> >> <maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org> wrote:
>> >> > On Mon, May 14, 2018 at 01:34:56PM +0530, Jagan Teki wrote:
>> >> >> On Mon, May 14, 2018 at 1:27 PM, Maxime Ripard
>> >> >> <maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org> wrote:
>> >> >> > Hi,
>> >> >> >
>> >> >> > On Mon, May 14, 2018 at 12:37:49PM +0530, Jagan Teki wrote:
>> >> >> >> Hi Maxime and All,
>> >> >> >>
>> >> >> >> We are trying to bring-up AP6330 Wifi chip for A64 board. We noticed
>> >> >> >> to have an external rtc clock has driven from wifi chip.
>> >> >> >>
>> >> >> >> So the devicetree is configured according to this as below.
>> >> >> >>
>> >> >> >> / {
>> >> >> >>         wifi_pwrseq: wifi-pwrseq {
>> >> >> >>                 compatible = "mmc-pwrseq-simple";
>> >> >> >>                 clocks = <&rtc 1>;
>> >> >> >>                 clock-names = "ext_clock";
>> >> >> >>                 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
>> >> >> >>                 post-power-on-delay-ms = <400>;
>> >> >> >>         };
>> >> >> >> };
>> >> >> >>
>> >> >> >> &rtc {
>> >> >> >>         clock-output-names = "rtc-osc32k", "rtc-osc32k-out";
>> >> >> >>         clocks = <&osc32k>;
>> >> >> >>         #clock-cells = <1>;
>> >> >> >> };
>> >> >> >>
>> >> >> >> &mmc1 {
>> >> >> >>         pinctrl-names = "default";
>> >> >> >>         pinctrl-0 = <&mmc1_pins>;
>> >> >> >>         vmmc-supply = <&reg_dcdc1>;
>> >> >> >>         vqmmc-supply = <&reg_eldo1>;
>> >> >> >>         mmc-pwrseq = <&wifi_pwrseq>;
>> >> >> >>         bus-width = <4>;
>> >> >> >>         non-removable;
>> >> >> >>         status = "okay";
>> >> >> >>
>> >> >> >>         brcmf: wifi@1 {
>> >> >> >>                 reg = <1>;
>> >> >> >>                 compatible = "brcm,bcm4329-fmac";
>> >> >> >>                 interrupt-parent = <&r_pio>;
>> >> >> >>                 interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>;  /* WL-WAKE-AP: PL3 */
>> >> >> >>                 interrupt-names = "host-wake";
>> >> >> >>         };
>> >> >> >> };
>> >> >> >>
>> >> >> >> And observed rtc-osc32k-out clock is never enabled[1] and the value of
>> >> >> >> LOSC_OUT_GATING is 0x0 which eventually not enabling
>> >> >> >> LOSC_OUT_GATING_EN
>> >> >> >>
>> >> >> >> Pls. let us know if we miss anything here?
>> >> >> >>
>> >> >> >> [1] https://paste.ubuntu.com/p/X2By4q8kD2/
>> >> >> >
>> >> >> > Could you paste your config and the logs from a boot to?
>> >> >>
>> >> >> .config
>> >> >> https://paste.ubuntu.com/p/w9w2KB7RFc/
>> >> >>
>> >> >> dmesg
>> >> >> https://paste.ubuntu.com/p/mrZGk5bWRR/
>> >> >
>> >> > This is kind of weird. Have you tested with a 4.17 kernel? We have
>> >> > runtime_pm changes lined up in next, so that might be a regression
>> >> > there, even though we tested it with Quentin at some point.
>> >>
>> >> This is 4.17-rc4 do you want to try it on 4.16 ?
>> >
>> > No, this is next-20180503. Please try with 4.17-rc4
>>
>> Couldn't find any different in behaviour [2]
>>
>> [2] https://paste.ubuntu.com/p/m3PGBwrv6W/
>
> It's hard to tell without the board, but have you looked at the return
> value of devm_clk_get in the pwrseq code?
>
> Enabling the clk ftrace events would also help.
>

The driver has one bug.

diff --git a/drivers/rtc/rtc-sun6i.c b/drivers/rtc/rtc-sun6i.c
index 2e6fb27..a66f40c 100644
--- a/drivers/rtc/rtc-sun6i.c
+++ b/drivers/rtc/rtc-sun6i.c
@@ -74,7 +74,7 @@
 #define SUN6I_ALARM_CONFIG_WAKEUP              BIT(0)

 #define SUN6I_LOSC_OUT_GATING                  0x0060
-#define SUN6I_LOSC_OUT_GATING_EN               BIT(0)
+#define SUN6I_LOSC_OUT_GATING_EN               0

You need to pass bit_idx that is 0 and not BIT(0)

Michael


> Maxime
>
> --
> Maxime Ripard, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> https://bootlin.com



-- 
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |

WARNING: multiple messages have this Message-ID (diff)
From: michael@amarulasolutions.com (Michael Nazzareno Trimarchi)
To: linux-arm-kernel@lists.infradead.org
Subject: Allwinner A64: Issue on external rtc clock to wifi chip
Date: Mon, 28 May 2018 09:08:22 +0200	[thread overview]
Message-ID: <CAOf5uwkqBXjLZHq-ma3kF_Y2=daXLkSOZDUyJ7sM6o9abDT81Q@mail.gmail.com> (raw)
In-Reply-To: <20180514111726.lnxpegipqklyetmv@flea>

Hi Maxime

On Mon, May 14, 2018 at 1:17 PM, Maxime Ripard
<maxime.ripard@bootlin.com> wrote:
> On Mon, May 14, 2018 at 03:12:49PM +0530, Jagan Teki wrote:
>> On Mon, May 14, 2018 at 2:36 PM, Maxime Ripard
>> <maxime.ripard@bootlin.com> wrote:
>> > On Mon, May 14, 2018 at 02:34:22PM +0530, Jagan Teki wrote:
>> >> On Mon, May 14, 2018 at 1:57 PM, Maxime Ripard
>> >> <maxime.ripard@bootlin.com> wrote:
>> >> > On Mon, May 14, 2018 at 01:34:56PM +0530, Jagan Teki wrote:
>> >> >> On Mon, May 14, 2018 at 1:27 PM, Maxime Ripard
>> >> >> <maxime.ripard@bootlin.com> wrote:
>> >> >> > Hi,
>> >> >> >
>> >> >> > On Mon, May 14, 2018 at 12:37:49PM +0530, Jagan Teki wrote:
>> >> >> >> Hi Maxime and All,
>> >> >> >>
>> >> >> >> We are trying to bring-up AP6330 Wifi chip for A64 board. We noticed
>> >> >> >> to have an external rtc clock has driven from wifi chip.
>> >> >> >>
>> >> >> >> So the devicetree is configured according to this as below.
>> >> >> >>
>> >> >> >> / {
>> >> >> >>         wifi_pwrseq: wifi-pwrseq {
>> >> >> >>                 compatible = "mmc-pwrseq-simple";
>> >> >> >>                 clocks = <&rtc 1>;
>> >> >> >>                 clock-names = "ext_clock";
>> >> >> >>                 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
>> >> >> >>                 post-power-on-delay-ms = <400>;
>> >> >> >>         };
>> >> >> >> };
>> >> >> >>
>> >> >> >> &rtc {
>> >> >> >>         clock-output-names = "rtc-osc32k", "rtc-osc32k-out";
>> >> >> >>         clocks = <&osc32k>;
>> >> >> >>         #clock-cells = <1>;
>> >> >> >> };
>> >> >> >>
>> >> >> >> &mmc1 {
>> >> >> >>         pinctrl-names = "default";
>> >> >> >>         pinctrl-0 = <&mmc1_pins>;
>> >> >> >>         vmmc-supply = <&reg_dcdc1>;
>> >> >> >>         vqmmc-supply = <&reg_eldo1>;
>> >> >> >>         mmc-pwrseq = <&wifi_pwrseq>;
>> >> >> >>         bus-width = <4>;
>> >> >> >>         non-removable;
>> >> >> >>         status = "okay";
>> >> >> >>
>> >> >> >>         brcmf: wifi at 1 {
>> >> >> >>                 reg = <1>;
>> >> >> >>                 compatible = "brcm,bcm4329-fmac";
>> >> >> >>                 interrupt-parent = <&r_pio>;
>> >> >> >>                 interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>;  /* WL-WAKE-AP: PL3 */
>> >> >> >>                 interrupt-names = "host-wake";
>> >> >> >>         };
>> >> >> >> };
>> >> >> >>
>> >> >> >> And observed rtc-osc32k-out clock is never enabled[1] and the value of
>> >> >> >> LOSC_OUT_GATING is 0x0 which eventually not enabling
>> >> >> >> LOSC_OUT_GATING_EN
>> >> >> >>
>> >> >> >> Pls. let us know if we miss anything here?
>> >> >> >>
>> >> >> >> [1] https://paste.ubuntu.com/p/X2By4q8kD2/
>> >> >> >
>> >> >> > Could you paste your config and the logs from a boot to?
>> >> >>
>> >> >> .config
>> >> >> https://paste.ubuntu.com/p/w9w2KB7RFc/
>> >> >>
>> >> >> dmesg
>> >> >> https://paste.ubuntu.com/p/mrZGk5bWRR/
>> >> >
>> >> > This is kind of weird. Have you tested with a 4.17 kernel? We have
>> >> > runtime_pm changes lined up in next, so that might be a regression
>> >> > there, even though we tested it with Quentin at some point.
>> >>
>> >> This is 4.17-rc4 do you want to try it on 4.16 ?
>> >
>> > No, this is next-20180503. Please try with 4.17-rc4
>>
>> Couldn't find any different in behaviour [2]
>>
>> [2] https://paste.ubuntu.com/p/m3PGBwrv6W/
>
> It's hard to tell without the board, but have you looked at the return
> value of devm_clk_get in the pwrseq code?
>
> Enabling the clk ftrace events would also help.
>

The driver has one bug.

diff --git a/drivers/rtc/rtc-sun6i.c b/drivers/rtc/rtc-sun6i.c
index 2e6fb27..a66f40c 100644
--- a/drivers/rtc/rtc-sun6i.c
+++ b/drivers/rtc/rtc-sun6i.c
@@ -74,7 +74,7 @@
 #define SUN6I_ALARM_CONFIG_WAKEUP              BIT(0)

 #define SUN6I_LOSC_OUT_GATING                  0x0060
-#define SUN6I_LOSC_OUT_GATING_EN               BIT(0)
+#define SUN6I_LOSC_OUT_GATING_EN               0

You need to pass bit_idx that is 0 and not BIT(0)

Michael


> Maxime
>
> --
> Maxime Ripard, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> https://bootlin.com



-- 
| Michael Nazzareno Trimarchi                     Amarula Solutions BV |
| COO  -  Founder                                      Cruquiuskade 47 |
| +31(0)851119172                                 Amsterdam 1018 AM NL |
|                  [`as] http://www.amarulasolutions.com               |

  reply	other threads:[~2018-05-28  7:08 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-14  7:07 Allwinner A64: Issue on external rtc clock to wifi chip Jagan Teki
2018-05-14  7:07 ` Jagan Teki
2018-05-14  7:07 ` Jagan Teki
2018-05-14  7:57 ` Maxime Ripard
2018-05-14  7:57   ` Maxime Ripard
2018-05-14  7:57   ` Maxime Ripard
2018-05-14  8:04   ` Jagan Teki
2018-05-14  8:04     ` Jagan Teki
2018-05-14  8:04     ` Jagan Teki
2018-05-14  8:27     ` Maxime Ripard
2018-05-14  8:27       ` Maxime Ripard
2018-05-14  8:27       ` Maxime Ripard
2018-05-14  9:04       ` Jagan Teki
2018-05-14  9:04         ` Jagan Teki
2018-05-14  9:04         ` Jagan Teki
2018-05-14  9:06         ` Maxime Ripard
2018-05-14  9:06           ` Maxime Ripard
2018-05-14  9:06           ` Maxime Ripard
2018-05-14  9:42           ` Jagan Teki
2018-05-14  9:42             ` Jagan Teki
2018-05-14  9:42             ` Jagan Teki
2018-05-14 11:17             ` Maxime Ripard
2018-05-14 11:17               ` Maxime Ripard
2018-05-14 11:17               ` Maxime Ripard
2018-05-28  7:08               ` Michael Nazzareno Trimarchi [this message]
2018-05-28  7:08                 ` Michael Nazzareno Trimarchi
2018-05-28  7:08                 ` Michael Nazzareno Trimarchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAOf5uwkqBXjLZHq-ma3kF_Y2=daXLkSOZDUyJ7sM6o9abDT81Q@mail.gmail.com' \
    --to=michael@amarulasolutions.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jagan@amarulasolutions.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=maxime.ripard@bootlin.com \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.