Yeah, that's the one I have (https://wiki.geekworm.com/CM4_to_CM3_Adapter)
Would I need to add pull up resistors to pins 3 and 5 on the freeplay board?
Would I need to add pull up resistors to pins 3 and 5 on the freeplay board?
Freeplay CM4
|
Yeah, that's the one I have (https://wiki.geekworm.com/CM4_to_CM3_Adapter)
Would I need to add pull up resistors to pins 3 and 5 on the freeplay board?
07-19-2022, 01:38 PM
No. They would already be on 44,45
So when you connect them they will already have it.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ ) Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
07-19-2022, 02:26 PM
Oh I see, so keep the add on board soldered to the 44 and 45 of the Freeplay board.
I was initially thinking of desoldering it from the Freeplay board but yeah they wouldn't be connected to anything either way but to the pull up resistors. I'll try that!
07-21-2022, 01:39 PM
So, I haven't been able to make it work.
Note: For the sake of simplicity, I'm going to call cm3_pin# and cm4_pin# to refer to what cm4 pin is connected to what pin in my adapter board. From what I can see, cm3_pin3 is connected to cm4_GPIO0 (cm4_pin36) and cm3_pin5 is connected to cm4_GPIO1 (cm4_pin35). According to the CM4 documentation, I2C devices can be connected to cm4_GPIO0 for data and cm4_GPIO1 for clock. I started by tinning cm3_pin3 and cm3_pin5 and soldering magnet wires to them (see attached photos). I soldered the other ends to the Freeplay board's pins 44 and 45 respectively (these pins already have the addon board connected to them). Verified there was a solid connection and that there weren't shorts between them. On the software side, I changed the i2c overlay in the config.txt to: Code: dtoverlay=i2c1,pins_36_35=1,combine=off Turned on the device and saw the following in dmesg: Code: pi@retropie:~ $ dmesg | grep i2c When running `raspi-gpio get`, I still don't see GPIO0 and GPIO1 set to receive I2C: Code: pi@retropie:~ $ raspi-gpio get This means that I don't get any device detected by I2C: Code: pi@retropie:~ $ sudo i2cdetect 1 Any ideas are more than welcome! Thanks!!
07-21-2022, 01:48 PM
dtoverlay=i2c1,pins_36_35=1,combine=off
Is surely wrong. I’ll try to look up what it should be when I get a chance. Otherwise maybe Google for the proper line to get it to use GPIO 0 and 1. You can see in your raspi-GPIO output that it’s using GPIO 2&3
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ ) Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
07-21-2022, 01:57 PM
https://github.com/raspberrypi/firmware/...ays/README
Also try using raspi-gpio set to change parameters and pin settings without having to reboot. I can try to look up some more information about the parameters and everything I think you should use tomorrow, but I’m just on my phone at the moment and it’s really hard to look all the stuff up.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ ) Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
Thanks, Flavor!
I skimmed through that documentation and saw I could enable i2c_vc through a dt-param. After adding that I could see GPIO0 and GPIO1 set to data and clock when using raspi-GPIO get. But still no devices were shown. One interesting thing is that `sudo i2cdetect 0` was really slow when trying to probe for devices. But it still didn't find anything. Perhaps this is where I need to add force_eeprom_read=0 and disable_poe_fan=1 to use GPIO0&1?
07-22-2022, 03:55 AM
Can you post the output of your
raspi-gpio get and cat /etc/modules (make sure /etc/modules included i2c-dev) ALSO, another thing to try, on the CM4 is i2c6. [attachment=1338] Notice that GPIO 0/1 can be SDA0/SCL0 or SDA6/SCL6. To try that, remove all the other i2c stuff in config.txt and use something like (untested) dtoverlay=i2c6,pins_0_1 (and then 'i2cdetect -y 6' to test) Instead of changing the config.txt file and rebooting, you can change the pin functions using 'raspi-gpio set' raspi-gpio set 0-1 ip pn #this will configure GPIO0 and GPIO1 as inputs with no pullup/down (sort of set them to nothing, really) raspi-gpio set 0-1 a5 #on your CM4, this SHOULD (I can't test) set GPIO0 and GPIO1 to i2c6 You would want to make sure that nothing else is doing i2c stuff, so maybe do raspi-gpio set 44-45 ip pn raspi-gpio set 2-3 ip pn and then try these 4 commands raspi-gpio set 0-1 a0 i2cdetect -y 0 raspi-gpio set 0-1 a5 i2cdetect -y 6 MORE info about i2c6 pasted from https://github.com/raspberrypi/linux/tre...s/overlays Code: Name: i2c6 ALSO, I actually think you should have used GPIO2 and GPIO3 to solder to, because the CM4 uses SDA1 and SCL1 (i2c1) on those pins. It would therefore be more similar to how the normal Freeplay CM3 does things. Having said that, I think GPIO0 and GPIO1 should work as i2c0 or i2c6 based on everything else I've seen. When i2cdetect is really slow (like you mentioned), that's typically been some sort of hardware problem in my experience. I looked at your photos, and it looks like you have SDA soldered to SDA and SCL->SCL. It's a little hard to follow the wires, though. Make sure that: FPCM3 addon GPIO44: Connects to GPIO0 = pin3 (or GPIO2 = pin9) FPCM3 addon GPIO45: Connects to GPIO1 = pin5 (or GPIO3 = pin11)
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ ) Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ )
07-22-2022, 12:55 PM
Unfortunately, I don't think my board's manufacturer soldered anything but GPIO0 and GPIO1 from the CM4 to the adapter board. So it would have to be GPIO0 and GPIO1
I verified that /etc/modules does include `i2c-dev`. I tried adding `dtoverlay=i2c6,pins_0_1` to the config file. Now I see GPIO0 and GPIO1 correctly set as data and clock when running `raspi-gpio get`: Code: pi@retropie:~ $ raspi-gpio get But I still don't see anything when probing i2c6 (It was really slow when returning each address space) Code: pi@retropie:~ $ sudo i2cdetect 6 Running `raspi-gpio set 0-1 ip pn` removes GPIO0 and GPIO1 from being receiving I2C data: Code: pi@retropie:~ $ raspi-gpio get And `raspi-gpio set 0-1 a5` brings them back to the previous state: Code: pi@retropie:~ $ raspi-gpio set 0-1 a5 But still no devices registered in i2c6. Nothing else is showing sda and scl with `raspi-gpio get` but still ran the suggested commands to make sure without much luck: Code: pi@retropie:~ $ raspi-gpio set 44-45 ip pn I did solder GPIO44 to pin3 and GPIO45 to pin 5 but everything seem to point at something being wrong in my wiring, right?
07-22-2022, 02:25 PM
The geekworm Wiki page seems to indicate that GPIO 2&3 are connected. It could be worth a try if you can’t get 0&1 working.
I’m not quite sure what else to try now. Maybe I can hook up a CM4 on an io board. I don’t know if I can do that tomorrow. Maybe.
Card Fighters' Clash 2 English Translation ( http://cfc2english.blogspot.com/ )
Neo Geo Pocket Flash Cart and Linker Project ( http://www.flashmasta.com/ ) Avatar art thanks to Trev-Mun ( http://trevmun.deviantart.com/ ) |
« Next Oldest | Next Newest »
|