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