[PATCH RFC 3/3] ARM64: bcm2837-rpi: Fix pwm and i2c pin control

Eric Anholt eric at anholt.net
Mon Feb 27 12:56:02 PST 2017


Stefan Wahren <stefan.wahren at i2se.com> writes:

> According to the firmware DT blob [1] the RPi 3 uses different
> pins for i2c0 and pwm.
>
> [1] - https://github.com/raspberrypi/firmware/blob/master/extra/dt-blob.dts
>
> Fixes: 9d56c22a7861 ("ARM: bcm2835: Add devicetree for the Raspberry Pi 3.")
> Signed-off-by: Stefan Wahren <stefan.wahren at i2se.com>

Interesting.  The dt-blob does, I think, basically reflect the state
that the pins will be in when the firmware hands off to us.  Note that
the firmware also, at boot, sets ID_SDA/SCL to function 0 (i2c0), probes
for a HAT ROM and saves it, then restores those pins to whatever mux
they had before (presumably the dt-blob pin_config values).

Linux doesn't have any HAT probing code itself, so leaving pins 0/1 as
GPIO input (most boards) or i2c0 (rev2) should be fine.  I think this
patch should effectively be a no-op, unless you've enabled the pwm node.

My only suggestion for change is: These pin configurations are
board-specific, so could we just move them into the specific board
files, instead?  Basically leave bcm2835-rpi.dtsi as the "generic
configuration of bcm283x for the rpi firmware" rather than "things
common to bcm2835/6 with rpi firmware but not bcm2837 with rpi
firmware".
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-rpi-kernel/attachments/20170227/352a2a09/attachment.sig>


More information about the linux-rpi-kernel mailing list