Q: define i2c nodes in device tree?

Timur Tabi timur at freescale.com
Fri Mar 27 07:02:42 EST 2009


2009/3/26 Albrecht Dreß <albrecht.dress at arcor.de>:

> and some other like "gpio-controller" instead of "gpio" but (surprise) it
> doesn't work - dmesg says that the driver is registered, but nothing else
> shows up.  Unfortunately, I couldn't find documentation about the naming
> conventions of the i2c child nodes.

You need to have a "gpio I2C" device driver that registers the same
name as what's in the DTS, like this:

cs4270:codec at 4f {
	compatible = "cirrus,cs4270";
	reg = <0x4f>;
	/* MCLK source is a stand-alone oscillator */
	clock-frequency = <12288000>;
};

...

static struct i2c_device_id cs4270_id[] = {
	{"cs4270", 0},
	{}
};
MODULE_DEVICE_TABLE(i2c, cs4270_id);

> As I actually want to use the chips as parallel io (not separate gpio's) and
> thus would need to write my own driver I wonder if I really have to declare
> it in the device tree?  Would the simple way -just load the kernel module as
> with arm/intel- also work?  Would it be possible to use additional resources
> like an interrupt pin on the '5200 without the device tree?

No, the only acceptable way to do this is on PowerPC is with a device
tree entry and a driver that registers itself properly.

-- 
Timur Tabi
Linux kernel developer at Freescale



More information about the Linuxppc-dev mailing list