From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Dave Stevenson <dave.stevenson@raspberrypi.com>
Cc: linux-arm-kernel@lists.infradead.org,
linux-rpi-kernel@lists.infradead.org, devicetree@vger.kernel.org,
bcm-kernel-feedback-list@broadcom.com,
"Florian Fainelli" <f.fainelli@gmail.com>,
"Uwe Kleine-König" <uwe@kleine-koenig.org>,
"Cyril Brulebois" <kibi@debian.org>,
"Maxime Ripard" <mripard@kernel.org>,
"Stefan Wahren" <stefan.wahren@i2se.com>,
"Nicolas Saenz Julienne" <nsaenz@kernel.org>,
"Umang Jain" <umang.jain@ideasonboard.com>,
"Phil Elwell" <phil@raspberrypi.com>
Subject: Re: [PATCH v4 0/2] ARM: dts: bcm2711-rpi-cm4-io: Add rtc on a pinctrl-muxed i2c bus
Date: Tue, 1 Aug 2023 23:33:08 +0300 [thread overview]
Message-ID: <20230801203308.GA8578@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20230801144313.GB25590@pendragon.ideasonboard.com>
Hi Dave,
On Tue, Aug 01, 2023 at 05:43:15PM +0300, Laurent Pinchart wrote:
> On Tue, Aug 01, 2023 at 03:22:17PM +0100, Dave Stevenson wrote:
> > On Mon, 31 Jul 2023 at 22:55, Laurent Pinchart wrote:
> > >
> > > Hello,
> > >
> > > This series is an attempt to revive support for pinmuxed I2C0 on the
> > > Raspberry Pi BCM2711-based board.
> > >
> > > On BCM2711-based boards, the I2C0 controller can be muxed between pins
> > > 0+1 or 44+45. The former is exposed through the 40-pins GPIO connector,
> > > and the latter is used for the RTC on the CM4 I/O board, but also routed
> > > to the display and camera connectors on the Raspberry Pi 4B board. The
> > > other BCM2711-based board, the Raspberry Pi 400, does not expose or
> > > connect anything to pins 44+45.
> > >
> > > A previous version was posted ([1]) a year and a half ago by Uwe. It
> > > bundled the pinmuxing and RTC in a single patch, with the mux added to
> > > the CM4 I/O board device tree. This version splits this in two, and
> > > moves the pinumxing to the bcm2711-rpi.dtsi to also support the
> > > Raspberry Pi 4B.
> > >
> > > The Raspberry Pi downstream kernel has a more complex DT architecture in
> > > order to support different I2C0 pinmuxing for other boards. Two files,
> > > bcm283x-rpi-i2c0mux_0_28.dtsi and bcm283x-rpi-i2c0mux_0_44.dtsi, define
> > > the two I2C0 pinxmuxing options (pins 0+1 and 28+29, or pins 0+1 and
> > > 44+45). Each board .dts then includes the appropriate file. I'm hoping
> > > to avoid this additional complexity for now, by addressing the I2C0
> > > pinmuxing for BCM2711-based boards only. If/when support for I2C0
> > > pinmuxing on boards will be needed, we can revisit this topic.
> > >
> > > Compared to the Raspberry Pi downstream kernel, the two muxed I2C buses
> > > are labelled i2c0_0 and i2c0_1 instead of i2c0 and i2c_csi_dsi. This
> > > change was made to keep the naming of the I2C controller labels
> > > consistent, avoiding renaming of the I2C0 controller's label from i2c0
> > > to i2c0if.
> > >
> > > Dave, are you fine with the differences between this patch series and
> > > the downstream kernel, or do you expect them to cause issues ?
> >
> > I've checked with Phil. There's nothing too untoward that will cause
> > us any significant grief.
>
> Thanks for checking.
>
> In the meantime, I realized that the CM4S is 2711-based and, according
> to the downstream DT, multiplexes I2C0 on pins 28+29, not 44+45 :-(
> Umang and Kieran also told me that we want to test camera support on the
> Pi 3B. It looks like the only viable approach to support all that will
> be to include per-board I2C0 pinmux .dtsi as done in the downstream
> kernel. I'll send a v5.
>
> > Phil has commented that the RTC is an PCF85063AT, so that compatible
> > string should be "nxp,pcf85063a" if you actually want to make use of
> > the alarm output.
> > Then again the driver support for the alarm output appears to want it
> > routed to an IRQ rather than as a system reset/wakeup, so it probably
> > makes little difference. It llargely depends on how exact you want to
> > be in your hardware description.
>
> I'll update the compatible string, it's an easy change and it's nice to
> be accurate.
The driver will print a warning if the quartz-load-femtofarads property
isn't set in DT (it can be either 7pF or 12.5pF). If I'm not mistaken,
the quartz oscillator on the CM4 I/O board is calibrated for a 6pF load
capacitance, so 7pF is the closest and best value. Could you confirm
that ?
> > > [1] https://lore.kernel.org/linux-arm-kernel/20211231115109.94626-1-uwe@kleine-koenig.org/
> > >
> > > Uwe Kleine-König (2):
> > > ARM: dts: bcm2711-rpi: Add pinctrl-based multiplexing for I2C0
> > > ARM: dts: bcm2711-rpi-cm4-io: Add RTC on I2C0
> > >
> > > arch/arm/boot/dts/bcm2711-rpi-cm4-io.dts | 16 ++++++++++++
> > > arch/arm/boot/dts/bcm2711-rpi.dtsi | 31 ++++++++++++++++++++++++
> > > 2 files changed, 47 insertions(+)
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2023-08-01 20:33 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-31 21:55 [PATCH v4 0/2] ARM: dts: bcm2711-rpi-cm4-io: Add rtc on a pinctrl-muxed i2c bus Laurent Pinchart
2023-07-31 21:55 ` [PATCH v4 1/2] ARM: dts: bcm2711-rpi: Add pinctrl-based multiplexing for I2C0 Laurent Pinchart
2023-07-31 21:55 ` [PATCH v4 2/2] ARM: dts: bcm2711-rpi-cm4-io: Add RTC on I2C0 Laurent Pinchart
2023-08-01 14:22 ` [PATCH v4 0/2] ARM: dts: bcm2711-rpi-cm4-io: Add rtc on a pinctrl-muxed i2c bus Dave Stevenson
2023-08-01 14:43 ` Laurent Pinchart
2023-08-01 20:33 ` Laurent Pinchart [this message]
2023-08-02 10:20 ` Dave Stevenson
2023-08-02 10:30 ` Laurent Pinchart
2023-08-01 21:05 ` Laurent Pinchart
2023-11-20 11:20 ` Stefan Wahren
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=20230801203308.GA8578@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=dave.stevenson@raspberrypi.com \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=kibi@debian.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=mripard@kernel.org \
--cc=nsaenz@kernel.org \
--cc=phil@raspberrypi.com \
--cc=stefan.wahren@i2se.com \
--cc=umang.jain@ideasonboard.com \
--cc=uwe@kleine-koenig.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).