summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm/imx233/i2c-imx233.h
AgeCommit message (Collapse)AuthorFilesLines
2016-06-01imx233: rewrite i2c driverAmaury Pouly1-7/+63
The new driver provides several new features: - asynchronous transfer - transactions (several transfers executed at once) - queueing The style still provides the legacy interface. Change-Id: I6d8ecc89d1f7057847c9b2dc69b76cd45c9c8407
2016-05-28imx233: generate register headers using headergen_v2 and update code for itAmaury Pouly1-6/+0
NOTE: this commit does not introduce any change, ideally even the binary should be almost the same. I checked the disassembly by hand and there are only a few differences here and there, mostly the compiler decides to compile very close expressions slightly differently. I tried to run the new code on several targets to make sure and saw no difference. The major syntax changes of the new headers are as follows: - BF_{WR,SET,CLR} are now superpowerful and allows to set several fileds at once: BF_WR(reg, field1(value1), field2(value2), ...) - BF_CS (use like BF_WR) does a write to reg_CLR and then reg_SET instead of RMW - there is no more need for macros like BF_{WR_,SET,CLR}_V, since one can simply BF_WR with field_V(name) - the old BF_SETV macro has no trivial equivalent and is replaced with its its equivalent for BF_WR(reg_SET, ...) I also rename the register headers: "regs/regs-x.h" -> "regs/x.h" to avoid the redundant "regs". Final note: the registers were generated using the following command: ./headergen_v2 -g imx -o ../../firmware/target/arm/imx233/regs/ desc/regs-stmp3{600,700,780}.xml Change-Id: I7485e8b4315a0929a8edb63e7fa1edcaa54b1edc
2013-06-16imx233: rewrite i2c using new register headersAmaury Pouly1-85/+4
Change-Id: Ieffb389fb74404e86d8ba51ee8c48bab6b299763
2012-12-29Fix copyright headersAmaury Pouly1-4/+1
Change-Id: Ie65920b1192e9b737fcc2554d280fbcedfa39800
2012-08-18imx233: rework i2c driver to fix dma issuesAmaury Pouly1-1/+2
There are tricky DMA/cache related issue on the imx233 which could pop up with the old driver. The new one ensures that all dma tranfers are cache safe by using an intermediate buffer. Change-Id: I72060682d1c285c83ae16455cfdb62f372b5d687
2012-08-18imx233: fix commentAmaury Pouly1-1/+1
Change-Id: I86d6e61a497780a9e22ea16075b055c3d7455630
2012-03-15imx233/fuze+: rework i2c and fmradio_i2c initAmaury Pouly1-1/+1
Only enable fmradio_i2c once with _init() called from system. Move actual i2c init to system for consistency. Move tuner power pin setup to power instead of fmradio. Change-Id: Idb56bfba5803f71b5d049f174c48d2afb969a6ea
2011-07-23imx233/fuze+: huge reworkAmaury Pouly1-1/+1
- enable MMU -rework lcd frame buffer - add rtc/adc/power stubs (or not) - fix a few MMC related defines (hopefully) - implement cache handling for DMA - more SD work - add keymap (based on clip) - add virtual buttons - update linker scripts - big step toward apps actually compiling git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30200 a1c6a512-1295-4272-9138-f99709370657
2011-07-03imx233: add missing i2c fileAmaury Pouly1-0/+137
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30121 a1c6a512-1295-4272-9138-f99709370657