User avatar
MartyMacGyver
Posts: 32
Joined: Sat Jan 26, 2013 1:37 am

What is the purpose of i2c-bcm2708?

Sun Aug 09, 2015 11:18 pm

Note: This may have been asked before. I dutifully searched for i2c-bcm2708 first: "No posts were found because the word i2c-bcm2708 is not contained in any post." Eh?

In all my dabblings with the RPi and RPi2, I've been careful to ensure i2c-bcm2708 is not blacklisted and i2c-dev is in /etc/modules, but I've never added i2c-bcm2708 to that file and yet I2C has always seemed to work fine.

In troubleshooting a potentially related issue I stumbled on the recommendations to have both i2c-bcm2708 and i2c-dev in /etc/modules... the addition of i2c-bcm2708 had no effect on the problem (it may be entirely unrelated to anything I2C) but it made me wonder: What is i2c-bcm2708 supposed to be adding to my RPi's functionality that i2c-dev didn't already (somehow, apparently)?

User avatar
joan
Posts: 14935
Joined: Thu Jul 05, 2012 5:09 pm
Location: UK

Re: What is the purpose of i2c-bcm2708?

Mon Aug 10, 2015 8:27 am

I have no idea. My guess is that i2c-dev creates the /dev/i2c-0 and /dev/i2c-1 devices and i2c-bcm2708 is the actual driver which talks to the hardware I2C peripheral.

Now that device tree is in use you should have i2c-dev in /etc/modules but i2c-bcm2708 should NOT be in /etc/modules (although whether it does any harm or not is an unanswered question, it doesn't seem to do any harm currently).

The device tree entry dtparam=i2c1=on in /boot/config.txt should take care of loading i2c-bcm2708.

User avatar
MartyMacGyver
Posts: 32
Joined: Sat Jan 26, 2013 1:37 am

Re: What is the purpose of i2c-bcm2708?

Mon Aug 10, 2015 8:47 am

I was already using dtparam=i2c_arm=on so yes, if that's loading i2c-bcm2708 already then the extra i2c-bcm2708 module reference is redundant (also explains why it had no apparent effect). Unless others disagree I think this answers my question - thank you!

User avatar
DougieLawson
Posts: 39120
Joined: Sun Jun 16, 2013 11:19 pm
Location: A small cave in deepest darkest Basingstoke, UK
Contact: Website Twitter

Re: What is the purpose of i2c-bcm2708?

Mon Aug 10, 2015 1:54 pm

Using any one of dtparam=i2c-rtc, dtparam=i2c=on, dtparam=i2c_arm=on or dtparam=i2c_vc=on will load i2c-bcm2708
Note: Any requirement to use a crystal ball or mind reading will result in me ignoring your question.

Criticising any questions is banned on this forum.

Any DMs sent on Twitter will be answered next month.
All non-medical doctors are on my foes list.

User avatar
MartyMacGyver
Posts: 32
Joined: Sat Jan 26, 2013 1:37 am

Re: What is the purpose of i2c-bcm2708?

Mon Aug 10, 2015 5:18 pm

I guess the fact that device tree things have worked for me so far has led to them flying under my radar... the RTC part is interesting as well (looks like it's supposed to be an overlay (dtoverlay=i2c-rtc,ds3231) rather than a dtparam, replacing the module invocation rtc-ds1307 (which I previously used)). This may or may not improve things for me, but it's clear I needed to update my settings either way to be current. Thanks again!

As an aid to those with similar issues, further reading:

viewtopic.php?t=97314

https://www.raspberrypi.org/documentati ... ce-tree.md

User avatar
DougieLawson
Posts: 39120
Joined: Sun Jun 16, 2013 11:19 pm
Location: A small cave in deepest darkest Basingstoke, UK
Contact: Website Twitter

Re: What is the purpose of i2c-bcm2708?

Mon Aug 10, 2015 8:05 pm

The ds1307 stuff is orders of magnitude easier than the old way (echo strange arcane command to something in /sysfs). You add the config.txt stuff and i2c address 0x68 is activated and captured by the kernel and /dev/rtc0 appears by magic.
Note: Any requirement to use a crystal ball or mind reading will result in me ignoring your question.

Criticising any questions is banned on this forum.

Any DMs sent on Twitter will be answered next month.
All non-medical doctors are on my foes list.

Return to “Interfacing (DSI, CSI, I2C, etc.)”