I am trying to understand the enumeration of the GPIO pins on a RPI-zero-2 which boots up and runs under current.
The DTS lists i2c0 with gpio pins 0 & 1 and i2c1 with gpio pin 2 & 3. These appear to be the only i2c interfaces defined (unless there are others hidden in the dtsi files). These gpio pins are exposed on the 40 pin connector. NetBSD shows 3 i2c devices NetBSD 9.99.93 (GENERIC) #1: Fri Feb 25 22:45:01 GMT 2022 r...@cruncher.anduin.org.uk:/usr/arm7obj/sys/arch/evbarm/compile/GENERIC bsciic0 at simplebus1: Broadcom Serial Controller bsciic0: interrupting on icu irq 53 iic0 at bsciic0: I2C bus bsciic1 at simplebus1: Broadcom Serial Controller bsciic1: interrupting on icu irq 53 iic1 at bsciic1: I2C bus bsciic2 at simplebus1: Broadcom Serial Controller bsciic2: interrupting on icu irq 53 iic2 at bsciic2: I2C bus If I plug devices into the two buses defined in the dts then I can probe and see devices on iic1 and iic2 using i2cscan -r , but iic0 shows nothing - but doesn't report any errors either. So it would appear that NetBSD maps /dev/iic1 to gpio iic0 and /dev/iic2 to gpio iic1 which is not intuitive... So how does the kernel map its devices to those listed in the dtb? I wonder what /dev/iic0 is mapped to :-) >From the RPI documentation it would appear that you can add overrides in /boot/config.txt to override the dts config - I am guessing this is picked up by linux, but there is no NetBSD support. Any info gratefully received! Cheers, Dave ~