Commit graph

201 commits

Author SHA1 Message Date
Amaury Pouly
16dc22f2be fix red
Change-Id: I6bc5fd019160b05f48c9a65639e1025899651f1e
2012-08-30 21:13:28 +02:00
Amaury Pouly
13912fa1de imx233: fix clktrl auto slow function
Change-Id: I6c004836562b0605530ac334434b17afa89ebad5
2012-08-30 20:57:42 +02:00
Amaury Pouly
c9ad8688f1 imx233: implement basic frequency scaling and enable auto-slow
This does not scale the EMI frequency and keep the processor
betweel 261MHz and 454MHz. It can still be improve. The auto-slow
divisor could still be change, 8 seems reasonable for now

Change-Id: I639bb3f6b7f8efedc7dc58d08127849156eeb1b6
2012-08-30 20:56:39 +02:00
Amaury Pouly
6c2190ea04 fuze+: battery calibration
Change-Id: Iaaca5caa35b9624d8dd9ea14eabde24c5667e892
2012-08-30 20:40:13 +02:00
Amaury Pouly
7ff78c4ccb imx233: fix compilation of sdmmc for non-mmc targets
Change-Id: I0f61d0ca8e385fbfeaba53b81c3320b24aa61ab9
2012-08-30 17:28:13 +02:00
Amaury Pouly
417da66bb3 fix yellow
Change-Id: I798826c8240fa9ce5a87cb0443002ca1b8882922
2012-08-30 01:16:45 +02:00
Amaury Pouly
7ee1e30609 imx233: add regulator api
Remove the old debug stuff about VDDx and add a clean api to
get/set the regulator (VDDD, VDDA, VDDIO, VDDMEM). This is useful
for proper frequency scaling.

Change-Id: Ia5a1a712fd66652a8ad9601ed00db31aba5a7561
2012-08-30 01:10:36 +02:00
Amaury Pouly
51f63f0b2a imx233: fix header, add emi function
Change-Id: I1030e94f0dad4b66646cafa20b61df8a5c7f9278
2012-08-30 01:10:36 +02:00
Amaury Pouly
c9b4b4ea7b imx233: fix idle storage notification for sd/mmc driver
Change-Id: Ia70a0058f0e86824e2b0d74d12e369295629eb5a
2012-08-30 01:10:36 +02:00
Amaury Pouly
4d8c5e59e7 imx233: sdmmc driver enhancement
Implement cache aligned transfer of more than one sectors. The
current code now transfers almost all data at once by moving
it within the buffer to make it cache aligned. This greatly
improves the performance of the transfers, especially in mass
storage mode.

Change-Id: Ic6e78773302f368426209f6fd6099089ea34cb16
2012-08-23 15:06:45 +02:00
Amaury Pouly
06aa7e83a9 imx233: remove debug panic
Change-Id: I7b6bf2bcac31ff65ae17f4a833587f4a5c9e6d7a
2012-08-21 16:30:13 +02:00
Amaury Pouly
41bf9ebc89 imx233: simplify sd/mmc driver
Further merge drivers by using the same command and data functions.
No use one mutex per drive instead of a global sd lock. Fix the
RCA handling which was different between SD and MMC (shifted 16)
and thus confusing. Add MMC commands definition to the mmc.h
header similarly to the SD one. Change MMC handling a bit by
selecting/deselecting on each transfer like SD, which allows
for several MMC devices in theory and is more uniform.

Change-Id: I7024cb19c079553806138ead75b00640f1d2d95c
2012-08-21 16:28:36 +02:00
Amaury Pouly
4908b8eb1c imx233: merge sd and mmc drivers, fix dma issues
Merge sd and mmc drivers into a single sdmmc driver. This allows
some factoring of the code and simplify bug fixing. Also fix the
dma/cache related issue by doing all transfers via a correctly
aligned buffer. The current code is not smart enough to take
advantage of large user buffers currently but at least it is safe!

Change-Id: Ib0fd16dc7d52ef7bfe99fd586e03ecf08691edcd
2012-08-18 18:24:42 +02:00
Amaury Pouly
4604e984e8 imx233: rework i2c driver to fix dma issues
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-18 15:38:43 +02:00
Amaury Pouly
246c2127a7 imx233: small dma changes, update debug screen
Reduce DMA maximum transfer size since transfering 64Kb requires
to set a size of 0 and it's not worth adding checks everywhere
to handle this special case. Also add statistics about unaligned
transfer (wrt to cache). Update debug screen accordingly and
simplify it so it can fit smaller screens too.

Change-Id: I18391702f5e100a21f6f8d1ebab28d9f2bd8c66f
2012-08-18 15:22:51 +02:00
Amaury Pouly
51919937a9 imx233: fix comment
Change-Id: I86d6e61a497780a9e22ea16075b055c3d7455630
2012-08-18 14:55:41 +02:00
Amaury Pouly
ce54e747dc imx233: fix style
Change-Id: I45813d1f34aff74c6b88c84bae6c0feeb4422ed7
2012-08-18 14:55:41 +02:00
Amaury Pouly
a9667636ca imx233: add ocotp debug screen
Change-Id: Ia2211f9e0b281ffb60139bba539af37d762212dc
2012-05-31 13:57:25 +02:00
Amaury Pouly
64b8d1ed7c imx233: add ocotp driver
Change-Id: If4ed62ece056e81665a00af39eb1c57bb2c42b22
2012-05-31 13:57:25 +02:00
Amaury Pouly
5b9a5054f5 zenxfi3: fix typo when configuring lcd_enable pin
Change-Id: I288c5f80ec94c786d60ec04e87aa04e522ce5c10
2012-05-23 00:44:21 +02:00
Bertrik Sikken
779ec8cc6d zenxfi3: fix vol+/vol- button pin assignment
Change-Id: Ibc8e19b03e786ac8c668c73c85c5e66df16cc632
2012-05-22 23:41:21 +02:00
Amaury Pouly
1354f209f5 zenxfi3: don't configure lcd_hsync and lcd_dotclk (used by audio)
Change-Id: Ifa5edd0f1efb0755756cbafa444f1bc678ee1dc8
2012-05-22 23:15:43 +02:00
Amaury Pouly
bcbc1de563 zenxfi2: acquire button pins
Change-Id: I5d66ae10945f5231616c266ee74275cc69b036de
2012-05-22 23:01:03 +02:00
Amaury Pouly
3c19f39c86 zenxfi2: acquire lcd pins before use
Change-Id: Ia49dfdefd37e89ecd160add3592f9e15ce415e65
2012-05-22 23:01:03 +02:00
Amaury Pouly
9b395741f3 zenxfi3: acquire audio gate pins
Change-Id: I47775568b3ee7383e440e2999b0acd98f0d5c57a
2012-05-22 23:01:03 +02:00
Amaury Pouly
3166ca80ef zenxfi3: acquire button and mpr121 interrupt pins
Change-Id: I7d002ce7fed08ee949335ef838014a6885ffaf5e
2012-05-22 23:01:03 +02:00
Amaury Pouly
4126dd1c53 zenxfi3: acquire lcd pins before use
Change-Id: I9829be35d9872e8051c5281639c3d99b51908035
2012-05-22 23:01:03 +02:00
Amaury Pouly
aa119b55f5 imx233: have pwm code acquire configured pins
Change-Id: I534cc10fbcaf1bb0e950fe2f60271008209b1122
2012-05-22 23:01:03 +02:00
Amaury Pouly
cd7a478ec1 imx233: enable PLL on startup
Implement PLL enabling/disable and unconditionally power the PLL
on startup. This is needed at least on the Zen X-Fi2.

Change-Id: Ib9ddfdeaf973cedded4b3586dd16aa95a61e78ba
2012-05-21 16:29:11 +02:00
Amaury Pouly
1b6e8cba62 imx233: make sure dma descriptors are cache friendly
Because DMA descriptors needs to be committed and discarded from
the cache, if they are not cache aligned and/or if their size
is not a multiple of cache ligne, nasty side effects could occur
with adjacents data. The same applies to DMA buffers which are
still potentially broken. Add a macro to ensure that these
constraints will not break by error in the future.

Change-Id: I1dd69a5a9c29796c156d953eaa57c0d281e79846
2012-05-20 01:35:25 +02:00
Amaury Pouly
1adc474771 imx233: fix sd window size test
Change-Id: I8e35e108871677d4ad85c9c702d1d7e67b598c7e
2012-05-20 01:35:24 +02:00
Amaury Pouly
e1713fd902 imx233: remove useless alignments in linker scripts
Change-Id: I7fc5445f405e1a3e8830ddec2f7652e66a03a633
2012-05-20 01:35:24 +02:00
Amaury Pouly
391f3ea2ae Cosmetics
Change-Id: I6ad5b6c2e4f8f57db2068fe372ab4ecadf4d03a9
2012-05-20 01:35:24 +02:00
Amaury Pouly
58f8bddf88 zenxfi2: add fmradio i2c glue
Change-Id: Ifa8781b3c416002355b17591a4fdbed8a20979a8
2012-05-20 01:35:24 +02:00
Amaury Pouly
e401683482 zenxfi3&stfm1000: implement fmradio i2c and debug screen
Change-Id: I83dbdee13185d9adcf590dc213da5a8c97adb2ba
2012-05-19 18:04:25 +02:00
Amaury Pouly
12c64a4b79 Initial commit for the Creative ZEN X-Fi2 and X-Fi3 ports
These are really similar devices so one commit for both is ok.

Change-Id: I8bd1d3fef1eb6d00aaadfb7af56c771f62d0c9c3
2012-05-19 16:10:52 +02:00
Amaury Pouly
8b53c0f9a9 imx233: completely rework the sd driver
Change-Id: I456df0d9f5eaee435bdfd5a3f667055715e53d2a
2012-05-19 16:10:52 +02:00
Amaury Pouly
3f59cf9708 imx233: fix compilation for target with HAVE_BUTTON_DATA defined
Change-Id: I9d92320b1e545b7ac3983b7f9904f281028cc22d
2012-05-19 16:10:52 +02:00
Amaury Pouly
85d5c19347 imx233: add touchscreen driver
Change-Id: I406076d110e33cdae871222191d82262fabcf16a
2012-05-19 16:10:52 +02:00
Amaury Pouly
247e611f49 imx233: add stub nand driver
Change-Id: I6ed3d274b27eb56afb8289cba1b11bceb74bac12
2012-05-19 16:10:52 +02:00
Amaury Pouly
9d87113958 imx233: add pwm driver
Change-Id: Ib920b119f52b492247d75e97c5ec9298146d583c
2012-05-19 16:10:52 +02:00
Amaury Pouly
55e01b8de4 imx233: enhance lradc driver with touchscreen specific stuff
Change-Id: I83759a00257274c0cbde5a78306256abd2c83800
2012-05-19 16:10:52 +02:00
Amaury Pouly
01216c5ad3 imx233: add lcdif width define
Change-Id: I7649dd15b938e2eb6a2e9d3709fa268def72498a
2012-05-19 16:10:52 +02:00
Amaury Pouly
70253f80bc imx233: fix i2c to be more correct
Change-Id: Ib707a0b87d01f24eeccc39c6cbc1c015456fd503
2012-05-19 16:10:52 +02:00
Amaury Pouly
07138ba2ba imx233: move the freescale partition handling to its own file
The freescale firmware partitions has a lots of quirks that
need to be dealt with, so do it the proper way.

Change-Id: I8a5bd3fb462a4df143bc6c931057f3ffedd4b3d3
2012-05-19 16:10:52 +02:00
Amaury Pouly
61b129ac1e imx233: add gpmi stubs
Change-Id: I5ddcf392e6ffc27513170b1ee768c96cdc5a83d4
2012-05-19 16:10:52 +02:00
Amaury Pouly
bbbfd9f3d3 imx233: add dma channel defines
Change-Id: I462cfa338ded85aca4bb00ec91f144bb17136dbe
2012-05-19 16:10:52 +02:00
Amaury Pouly
d57e1e048e imx233: add icoll debug screen
Change-Id: Icbd91c2ea24dcf61cc6a649122263a4354f09ff4
2012-05-19 16:10:52 +02:00
Amaury Pouly
068443caaf imx233: move away timer defines from imx233.h
Change-Id: I9f721ae12a3ddf72c4e90ad0754a5c2b819847bb
2012-05-19 16:10:52 +02:00
Amaury Pouly
9ced006c06 imx233: move icoll stuff to its own file
The icoll code now has an IRQ storm detection mechanism which
will prevent the device from hard freezing in case it happen.

Change-Id: I9861238dce61d29af1e48f9c534ec63a7f23465c
2012-05-19 16:10:51 +02:00