All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Sebastian Reichel <sebastian.reichel@collabora.com>
Cc: Fabio Estevam <festevam@gmail.com>,
	linux-arm-kernel@lists.infradead.org,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	Alessandro Zummo <a.zummo@towertech.it>,
	Shawn Guo <shawnguo@kernel.org>,
	dri-devel@lists.freedesktop.org, Rob Herring <robh+dt@kernel.org>,
	linux-mtd@lists.infradead.org,
	Saravana Kannan <saravanak@google.com>,
	linux-kernel@vger.kernel.org,
	Sascha Hauer <s.hauer@pengutronix.de>,
	NXP Linux Team <linux-imx@nxp.com>,
	devicetree@vger.kernel.org, linux-rtc@vger.kernel.org,
	kernel@collabora.com, Philipp Zabel <p.zabel@pengutronix.de>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	David Airlie <airlied@linux.ie>,
	Pengutronix Kernel Team <kernel@pengutronix.de>
Subject: Re: [PATCHv2 1/5] rtc: m41t80: add support for fixed clock
Date: Wed, 5 May 2021 18:00:57 -0500	[thread overview]
Message-ID: <20210505230057.GA3001067@robh.at.kernel.org> (raw)
In-Reply-To: <20210428222953.235280-2-sebastian.reichel@collabora.com>

On Thu, 29 Apr 2021 00:29:49 +0200, Sebastian Reichel wrote:
> Congatec's QMX6 system on module (SoM) uses a m41t62 as RTC. The
> modules SQW clock output defaults to 32768 Hz. This behaviour is
> used to provide the i.MX6 CKIL clock. Once the RTC driver is probed,
> the clock is disabled and all i.MX6 functionality depending on
> the 32 KHz clock has undefined behaviour. For example when using
> the hardware watchdog the system will likely do arbitrary reboots.
> 
> Referencing the m41t62 directly results in a deadlock. The kernel
> will see, that i.MX6 system clock needs the RTC clock and do probe
> deferral. But the i.MX6 I2C module never becomes usable without the
> i.MX6 CKIL clock and thus the RTC's clock will not be probed. So
> from the kernel's perspective this is a chicken-and-egg problem.
> 
> Technically everything is fine by not touching anything, since
> the RTC clock correctly enables the clock on reset (i.e. on
> battery backup power loss) and also the bootloader enables it
> in case an something (e.g. an unpatched kernel) disabled this
> incorrectly.
> 
> A workaround for this issue is describing the square wave pin
> as fixed-clock, which is registered early and basically how
> this pin is used on the i.MX6.
> 
> Suggested-by: Saravana Kannan <saravanak@google.com>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> ---
>  Documentation/devicetree/bindings/rtc/rtc-m41t80.txt |  9 +++++++++
>  drivers/rtc/rtc-m41t80.c                             | 12 ++++++++++++
>  2 files changed, 21 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

WARNING: multiple messages have this Message-ID
From: Rob Herring <robh@kernel.org>
To: Sebastian Reichel <sebastian.reichel@collabora.com>
Cc: Fabio Estevam <festevam@gmail.com>,
	linux-arm-kernel@lists.infradead.org,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	Alessandro Zummo <a.zummo@towertech.it>,
	Shawn Guo <shawnguo@kernel.org>,
	dri-devel@lists.freedesktop.org, Rob Herring <robh+dt@kernel.org>,
	linux-mtd@lists.infradead.org,
	Saravana Kannan <saravanak@google.com>,
	linux-kernel@vger.kernel.org,
	Sascha Hauer <s.hauer@pengutronix.de>,
	NXP Linux Team <linux-imx@nxp.com>,
	devicetree@vger.kernel.org, linux-rtc@vger.kernel.org,
	kernel@collabora.com, Philipp Zabel <p.zabel@pengutronix.de>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	David Airlie <airlied@linux.ie>,
	Pengutronix Kernel Team <kernel@pengutronix.de>
Subject: Re: [PATCHv2 1/5] rtc: m41t80: add support for fixed clock
Date: Wed, 5 May 2021 18:00:57 -0500	[thread overview]
Message-ID: <20210505230057.GA3001067@robh.at.kernel.org> (raw)
In-Reply-To: <20210428222953.235280-2-sebastian.reichel@collabora.com>

On Thu, 29 Apr 2021 00:29:49 +0200, Sebastian Reichel wrote:
> Congatec's QMX6 system on module (SoM) uses a m41t62 as RTC. The
> modules SQW clock output defaults to 32768 Hz. This behaviour is
> used to provide the i.MX6 CKIL clock. Once the RTC driver is probed,
> the clock is disabled and all i.MX6 functionality depending on
> the 32 KHz clock has undefined behaviour. For example when using
> the hardware watchdog the system will likely do arbitrary reboots.
> 
> Referencing the m41t62 directly results in a deadlock. The kernel
> will see, that i.MX6 system clock needs the RTC clock and do probe
> deferral. But the i.MX6 I2C module never becomes usable without the
> i.MX6 CKIL clock and thus the RTC's clock will not be probed. So
> from the kernel's perspective this is a chicken-and-egg problem.
> 
> Technically everything is fine by not touching anything, since
> the RTC clock correctly enables the clock on reset (i.e. on
> battery backup power loss) and also the bootloader enables it
> in case an something (e.g. an unpatched kernel) disabled this
> incorrectly.
> 
> A workaround for this issue is describing the square wave pin
> as fixed-clock, which is registered early and basically how
> this pin is used on the i.MX6.
> 
> Suggested-by: Saravana Kannan <saravanak@google.com>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> ---
>  Documentation/devicetree/bindings/rtc/rtc-m41t80.txt |  9 +++++++++
>  drivers/rtc/rtc-m41t80.c                             | 12 ++++++++++++
>  2 files changed, 21 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID
From: Rob Herring <robh@kernel.org>
To: Sebastian Reichel <sebastian.reichel@collabora.com>
Cc: Fabio Estevam <festevam@gmail.com>,
	linux-arm-kernel@lists.infradead.org,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	Alessandro Zummo <a.zummo@towertech.it>,
	Shawn Guo <shawnguo@kernel.org>,
	dri-devel@lists.freedesktop.org, Rob Herring <robh+dt@kernel.org>,
	linux-mtd@lists.infradead.org,
	Saravana Kannan <saravanak@google.com>,
	linux-kernel@vger.kernel.org,
	Sascha Hauer <s.hauer@pengutronix.de>,
	NXP Linux Team <linux-imx@nxp.com>,
	devicetree@vger.kernel.org, linux-rtc@vger.kernel.org,
	kernel@collabora.com, Philipp Zabel <p.zabel@pengutronix.de>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	David Airlie <airlied@linux.ie>,
	Pengutronix Kernel Team <kernel@pengutronix.de>
Subject: Re: [PATCHv2 1/5] rtc: m41t80: add support for fixed clock
Date: Wed, 5 May 2021 18:00:57 -0500	[thread overview]
Message-ID: <20210505230057.GA3001067@robh.at.kernel.org> (raw)
In-Reply-To: <20210428222953.235280-2-sebastian.reichel@collabora.com>

On Thu, 29 Apr 2021 00:29:49 +0200, Sebastian Reichel wrote:
> Congatec's QMX6 system on module (SoM) uses a m41t62 as RTC. The
> modules SQW clock output defaults to 32768 Hz. This behaviour is
> used to provide the i.MX6 CKIL clock. Once the RTC driver is probed,
> the clock is disabled and all i.MX6 functionality depending on
> the 32 KHz clock has undefined behaviour. For example when using
> the hardware watchdog the system will likely do arbitrary reboots.
> 
> Referencing the m41t62 directly results in a deadlock. The kernel
> will see, that i.MX6 system clock needs the RTC clock and do probe
> deferral. But the i.MX6 I2C module never becomes usable without the
> i.MX6 CKIL clock and thus the RTC's clock will not be probed. So
> from the kernel's perspective this is a chicken-and-egg problem.
> 
> Technically everything is fine by not touching anything, since
> the RTC clock correctly enables the clock on reset (i.e. on
> battery backup power loss) and also the bootloader enables it
> in case an something (e.g. an unpatched kernel) disabled this
> incorrectly.
> 
> A workaround for this issue is describing the square wave pin
> as fixed-clock, which is registered early and basically how
> this pin is used on the i.MX6.
> 
> Suggested-by: Saravana Kannan <saravanak@google.com>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> ---
>  Documentation/devicetree/bindings/rtc/rtc-m41t80.txt |  9 +++++++++
>  drivers/rtc/rtc-m41t80.c                             | 12 ++++++++++++
>  2 files changed, 21 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID
From: Rob Herring <robh@kernel.org>
To: Sebastian Reichel <sebastian.reichel@collabora.com>
Cc: linux-rtc@vger.kernel.org,
	Alessandro Zummo <a.zummo@towertech.it>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Pengutronix Kernel Team <kernel@pengutronix.de>,
	Saravana Kannan <saravanak@google.com>,
	devicetree@vger.kernel.org, David Airlie <airlied@linux.ie>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Rob Herring <robh+dt@kernel.org>,
	linux-mtd@lists.infradead.org, NXP Linux Team <linux-imx@nxp.com>,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	kernel@collabora.com, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCHv2 1/5] rtc: m41t80: add support for fixed clock
Date: Wed, 5 May 2021 18:00:57 -0500	[thread overview]
Message-ID: <20210505230057.GA3001067@robh.at.kernel.org> (raw)
In-Reply-To: <20210428222953.235280-2-sebastian.reichel@collabora.com>

On Thu, 29 Apr 2021 00:29:49 +0200, Sebastian Reichel wrote:
> Congatec's QMX6 system on module (SoM) uses a m41t62 as RTC. The
> modules SQW clock output defaults to 32768 Hz. This behaviour is
> used to provide the i.MX6 CKIL clock. Once the RTC driver is probed,
> the clock is disabled and all i.MX6 functionality depending on
> the 32 KHz clock has undefined behaviour. For example when using
> the hardware watchdog the system will likely do arbitrary reboots.
> 
> Referencing the m41t62 directly results in a deadlock. The kernel
> will see, that i.MX6 system clock needs the RTC clock and do probe
> deferral. But the i.MX6 I2C module never becomes usable without the
> i.MX6 CKIL clock and thus the RTC's clock will not be probed. So
> from the kernel's perspective this is a chicken-and-egg problem.
> 
> Technically everything is fine by not touching anything, since
> the RTC clock correctly enables the clock on reset (i.e. on
> battery backup power loss) and also the bootloader enables it
> in case an something (e.g. an unpatched kernel) disabled this
> incorrectly.
> 
> A workaround for this issue is describing the square wave pin
> as fixed-clock, which is registered early and basically how
> this pin is used on the i.MX6.
> 
> Suggested-by: Saravana Kannan <saravanak@google.com>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
> ---
>  Documentation/devicetree/bindings/rtc/rtc-m41t80.txt |  9 +++++++++
>  drivers/rtc/rtc-m41t80.c                             | 12 ++++++++++++
>  2 files changed, 21 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

  parent reply	other threads:[~2021-05-05 23:01 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-28 22:29 [PATCHv2 0/5] Support for GE B1x5v2 and B1x5Pv2 Sebastian Reichel
2021-04-28 22:29 ` Sebastian Reichel
2021-04-28 22:29 ` Sebastian Reichel
2021-04-28 22:29 ` Sebastian Reichel
2021-04-28 22:29 ` [PATCHv2 1/5] rtc: m41t80: add support for fixed clock Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-04-29  1:11   ` Saravana Kannan
2021-04-29  1:11     ` Saravana Kannan
2021-04-29  1:11     ` Saravana Kannan
2021-04-29  1:11     ` Saravana Kannan
2021-04-29  2:58   ` kernel test robot
2021-05-05 23:00   ` Rob Herring [this message]
2021-05-05 23:00     ` Rob Herring
2021-05-05 23:00     ` Rob Herring
2021-05-05 23:00     ` Rob Herring
2021-05-21 13:11   ` Sebastian Reichel
2021-04-28 22:29 ` [PATCHv2 2/5] drm/imx: Add 8 pixel alignment fix Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-05-10 14:47   ` Philipp Zabel
2021-05-10 14:47     ` Philipp Zabel
2021-05-10 14:47     ` Philipp Zabel
2021-05-10 14:47     ` Philipp Zabel
2021-04-28 22:29 ` [PATCHv2 3/5] dt-bindings: vendor-prefixes: add congatec Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-05-05 23:01   ` Rob Herring
2021-05-05 23:01     ` Rob Herring
2021-05-05 23:01     ` Rob Herring
2021-05-05 23:01     ` Rob Herring
2021-04-28 22:29 ` [PATCHv2 4/5] dt-bindings: arm: fsl: add GE B1x5pv2 boards Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-05-05 23:02   ` Rob Herring
2021-05-05 23:02     ` Rob Herring
2021-05-05 23:02     ` Rob Herring
2021-05-05 23:02     ` Rob Herring
2021-04-28 22:29 ` [PATCHv2 5/5] ARM: dts: imx6: Add GE B1x5v2 Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-04-28 22:29   ` Sebastian Reichel
2021-05-22 14:04   ` Shawn Guo
2021-05-22 14:04     ` Shawn Guo
2021-05-22 14:04     ` Shawn Guo
2021-05-22 14:04     ` Shawn Guo
2021-05-24 22:29 ` (subset) [PATCHv2 0/5] Support for GE B1x5v2 and B1x5Pv2 Alexandre Belloni
2021-05-24 22:29   ` Alexandre Belloni
2021-05-24 22:29   ` Alexandre Belloni
2021-05-24 22:29   ` Alexandre Belloni

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=20210505230057.GA3001067@robh.at.kernel.org \
    --to=robh@kernel.org \
    --cc=a.zummo@towertech.it \
    --cc=airlied@linux.ie \
    --cc=alexandre.belloni@bootlin.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=festevam@gmail.com \
    --cc=kernel@collabora.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-rtc@vger.kernel.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=p.zabel@pengutronix.de \
    --cc=robh+dt@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=saravanak@google.com \
    --cc=sebastian.reichel@collabora.com \
    --cc=shawnguo@kernel.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.