devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/2] ARM: dts: bcm2711-rpi-cm4-io: Add rtc on a pinctrl-muxed i2c bus
@ 2023-07-31 21:55 Laurent Pinchart
  2023-07-31 21:55 ` [PATCH v4 1/2] ARM: dts: bcm2711-rpi: Add pinctrl-based multiplexing for I2C0 Laurent Pinchart
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Laurent Pinchart @ 2023-07-31 21:55 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: linux-rpi-kernel, devicetree, bcm-kernel-feedback-list,
	Florian Fainelli, Uwe Kleine-König, Cyril Brulebois,
	Maxime Ripard, Stefan Wahren, Dave Stevenson,
	Nicolas Saenz Julienne, Umang Jain

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 ?

[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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-11-20 11:20 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

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).