[PATCH v2] ARM: dts: bcm2711-rpi-cm4-io: Add rtc on a pinctrl-muxed i2c bus
Uwe Kleine-König
uwe at kleine-koenig.org
Thu Dec 9 13:21:39 PST 2021
Hello,
I used the wrong git wrapper so this patch appeared with the wrong
sender address. If need be I can resend from the address used in the S-o-b.
On 12/9/21 19:18, Uwe Kleine-König wrote:
> From: Uwe Kleine-König <uwe at kleine-koenig.org>
>
> The cm4-io board comes with an PCF85063. Add it to the device tree to make
> it usable. The i2c0 bus can use two different pinmux settings to use
> different pins. To keep the bus appearing on the usual pin pair (gpio0 +
> gpio1) use a pinctrl-muxed setting as the upstream dts does.
>
> Signed-off-by: Uwe Kleine-König <uwe at kleine-koenig.org>
> ---
> arch/arm/boot/dts/bcm2711-rpi-cm4-io.dts | 35 ++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-io.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-io.dts
> index 19600b629be5..5ddad146b541 100644
> --- a/arch/arm/boot/dts/bcm2711-rpi-cm4-io.dts
> +++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-io.dts
> @@ -18,6 +18,41 @@ led-pwr {
> linux,default-trigger = "default-on";
> };
> };
> +
> + i2c0mux {
> + compatible = "i2c-mux-pinctrl";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + i2c-parent = <&i2c0>;
> +
> + pinctrl-names = "i2c0", "i2c0-vc";
> + pinctrl-0 = <&i2c0_gpio0>;
> + pinctrl-1 = <&i2c0_gpio44>;
> +
> + i2c at 0 {
> + reg = <0>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> + i2c at 1 {
> + reg = <1>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + rtc at 51 {
> + /* Attention: An alarm resets the machine */
> + compatible = "nxp,pcf85063";
> + reg = <0x51>;
> + };
> + };
> + };
> +};
> +
> +&i2c0 {
> + /delete-property/ pinctrl-names;
> + /delete-property/ pinctrl-0;
> };
>
> &ddc0 {
Just some further information:
Cyril (who I talked to on irc) and I found that not only i2c0 can be
used to access the gpio bus on pins 44/45 (as I did in v1) but that also
&i2c1 can drive these pins. However similar to &i2c0, &i2c1 is used on
pins 2/3 per default and so is also available on the default gpio header.
Also note that this is a breaking change, because overlays that added
devices to &i2c0 before (expecting them to be accessed via gpio0/1) need
to modify /i2c0mux/i2c at 0 now instead of /soc/i2c at 7e205000 (aka &i2c0).
Best regards
Uwe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20211209/5c13b49a/attachment.sig>
More information about the linux-arm-kernel
mailing list