[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
new am335x drivers
I've ported/written 2 new drivers for the TI AM335x SoC as found on
- a driver for the Control module. Other drivers needs to call into it
to configure I/O pin multiplexor (e.g. is it a GPIO or used by a
I2C module), among others. if_cpsw.c already have a hack to read
Control module registers to get the ethernet address; I patched
it to use the new driver to get the value. This is from FreeBSD
- a driver for the I2C module; tested with the onboard serial eeprom:
# dd if=/dev/seeprom0 bs=1 count=24 | od -xc
0000000 55aa ee33 3341 3533 4f42 454e 3030 3641
252 U 3 356 A 3 3 5 B O N E 0 0 A 6
0000020 3734 3231 4242 3030
4 7 1 2 B B 0 0
(this uses the Control module driver to make sure the appropriate
pads are configured for I2C0).
This needs some more work, e.g. to use interrupts.
This is available in ftp://ftp-asim.lip6.fr/outgoing/bouyer/beaglebone/,
there is a tgz with the new files and a patch for existing files that need
to be changed.
As I'm not familiar with ARM hardware, I'm not sure the names I've chosen
make sense. I assumed that TI AM335x is omap2, but I'm not sure about that.
I called the Control module driver omap2scm. It should be useable at last
for some omap4 devices too (from the freebsd sources) but we also have a
omap3_scm driver, which seems to be for something completely different.
I called the i2c module driver omap2iic. There is another omap i2c driver
(omapiic) for omap3. The modules looks different enough (different register
map, and I suspect different features) to have 2 different drivers.
Does it make sense, or would some other names be better ?
After this is commited, I'll look at adding interrupt support to the iic
driver, and will start working on support of the TPS65217 power controller
(which requires a working i2c).
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
Main Index |
Thread Index |