Hi, I had the chance to put my hands on a Ubiquiti EdgeRouter X-SFP. I figured out that the I2C-Gpio-expander PCA9555a is controlling the PoE-output of the ports.
Based on the work for the ERx (https://git.lede-project.org/? p=source.git;a=commit;h=4e31b2e8697c21f9bd6493bb3d78a4a41c6a9a52) I was able to access the PCA-chip with help of the "i2c-gpio" kerneldriver and enable the supply on the LAN-ports. > [ 231.690000] Custom GPIO-based I2C driver version 0.1.1 > [ 231.700000] i2c-gpio i2c-gpio.0: using pins 3 (SDA) and 4 (SCL) the i2c-tools can scan the bus and will find the PCA on the hardwired address > root@lede:~# i2cdetect 0 > WARNING! This program can confuse your I2C bus, cause data loss and worse! > I will probe file /dev/i2c-0. > I will probe address range 0x03-0x77. > Continue? [Y/n] y > 0 1 2 3 4 5 6 7 8 9 a b c d e f > 00: -- -- -- -- -- -- -- -- -- -- -- -- -- > 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 20: -- -- -- -- -- 25 -- -- -- -- -- -- -- -- -- -- > 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 70: -- -- -- -- -- -- -- -- > root@lede:~# Even the use of the I2C via GPIO is nice, I'd like to use the hardwarecontroller of the SoC via the "i2c-mt7621" module. But just insmoding it will not activate the controller. After some research I found the I2C-controller disabled in the DTS. I did some changes to enable it by moding the DTS (https://github.com/SvenRoederer/lede-project_source/compare/add_UBNT-ERX...add_UBNT-ERX-SFP?expand=1). The module loads and "activates" the hardware I2C-controller. > i2c-mt7621 1e000900.i2c: clock 100KHz, re-start not support but when scanning the bus with i2cdetect, I get total different results: > root@lede:~# i2cdetect 0 > WARNING! This program can confuse your I2C bus, cause data loss and worse! > I will probe file /dev/i2c-0. > I will probe address range 0x03-0x77. > Continue? [Y/n] y > 0 1 2 3 4 5 6 7 8 9 a b c d e f > 00: -- -- -- -- -- -- -- -- -- -- -- -- -- > 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 30: 30 31 32 33 34 35 36 37 -- -- -- -- -- -- -- -- > 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 50: 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f > 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > 70: -- -- -- -- -- -- -- -- I assume the Controller-init is wrong or the i2c-mt7621 is using different pins. Anyone has an idea, what's going on or how to debug this? Thanks Sven _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev