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

Stefan Wahren stefan.wahren at i2se.com
Mon Feb 27 13:13:05 PST 2017


> Eric Anholt <eric at anholt.net> hat am 27. Februar 2017 um 21:56 geschrieben:
> 
> 
> 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? 

Yes, that would be better. In case of pin configurations do you mean only those affected by this patch or all pin configurations?

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

If this our intension, shouldn't we rename it to bcm283x-rpi.dtsi?

Ah, now i feel the pain about having symlinks from arm64/dts to arm/dts.



More information about the linux-rpi-kernel mailing list