Commit graph

32646 commits

Author SHA1 Message Date
Amaury Pouly
8660393c9f nwz{e360,e370}: switch to new button driver
Change-Id: Iad08653f6cdbcfd75d3130186f91ed0b49a04ac9
2014-02-22 20:34:39 +01:00
Amaury Pouly
a2bfbe9ebc zen{,xfi,mozaic,xfistyle,v}: switch to the new button driver
Change-Id: I206b16f6374f536ab6d84e84fefc8370a96ef759
2014-02-22 20:33:20 +01:00
Amaury Pouly
82b86d4316 imx233: introduce new generic button driver
This driver will subsume the old button-lradc driver and support far more
options. It can sense LRADC channels, PSWITCH, GPIOs and it handles special
"buttons" like headphone insertion and hold detection. It also provides a
more natural description of the buttons using a target-defined table with some
macros to make it easy to read and write. It uniformely handles debouncing on
LRADC channels and PSWITCH.

Change-Id: Ie61d1f593fdcf3bd456ba1d53a1fd784286834ce
2014-02-22 20:28:51 +01:00
Amaury Pouly
c02bc1afd2 imxtools/scsitools: increase SCSI delay to 10 seconds
On some OSes like Windows or if running in a virtual machine, the one second
timeout might be too short.

Change-Id: I717f7a2aaed1cb3d40e8fbe6f9b1081b43ceea95
2014-02-22 20:27:32 +01:00
Amaury Pouly
aae249c206 zenxfi3: enable speaker support
Change-Id: I4a46bf8d792c3286a367d3b962362d048eeb0619
2014-02-22 18:13:48 +01:00
Amaury Pouly
9517bd86b0 imxtools/scsitool: add progress indicator
Change-Id: I061ddac4f882156139e38fa6d495fee86271a6aa
2014-02-22 18:12:00 +01:00
Amaury Pouly
4e1a043cf0 imxtools/scsitool: improve output formatting
Change-Id: Ifc5b5252e1342f381356f7bd5c2fed5ad8beddfe
2014-02-22 18:11:30 +01:00
Amaury Pouly
fd0a86a572 imx233: split lradc channel setup into source and sampling parameters
Change-Id: I1be43fec9622cb78fc5737e5ed8d7fda17baf576
2014-02-20 13:53:39 +01:00
Amaury Pouly
961498d58a imx233: stop watchdog on exception
Change-Id: If11d90343d32d5889857e7ba30a99f60a87639f1
2014-02-18 18:20:57 +01:00
Amaury Pouly
f890bd504f imx233: regenerate headers
Change-Id: I9dae85eb27337154ddb82015666773a5254cc388
2014-02-18 18:19:44 +01:00
Amaury Pouly
49db199a36 regtools: fix headergen variadic macro generation
Change-Id: I5e2439e5dcbeaaafda75c6ea457e53ee1ba26463
2014-02-18 18:14:08 +01:00
Amaury Pouly
8927df4205 imx233: fix app.lds to properly support INIT_ATTR
Original fix by Marcin: it had a problem because crt0 on imx233 is more
complicated than many targets: since we use virtual memory, we first disable
the MMU, then move the entire image (including init and itext stuff), then
setup a temporary stack to setup the MMU. Only when the MMU is enabled, can
we move the init and itext stuff to its right location and finally boot.
This requires some trickery because:
- the initial move copies everything, including init and itext
- the stack overlaps with init and itext to reclaim space
- the temporary stack cannot be the same as the main stack to avoid trashing
  the init and itext code, also it needs to be a physical address

Change-Id: Ibaf331c7d90b61f99225d93c9e621eb0f3f8f2dc
2014-02-17 19:02:21 +01:00
Amaury Pouly
dd6f5cfb1e Revert "imx233: fix app.lds to properly support INIT_ATTR"
This reverts commit 2b02cbe1cc.
For some reason it breaks the build, more investigation is needed.
2014-02-17 14:30:41 +01:00
Dmitry Gamza
7f0b7b720a fix russian translate in 0f72c73b5b
Change-Id: I5237f4bdf49f2fb7d5a6e072f0e8a7bb58daa8de
Reviewed-on: http://gerrit.rockbox.org/759
Reviewed-by: Andrew Ryabinin <ryabinin.a.a@gmail.com>
2014-02-17 07:00:19 +01:00
Amaury Pouly
cefaa46573 zenxfistyle: add simulator bitmap and button map
Change-Id: I68a107887e6b1563b6c5ab425e98be7e012e7976
2014-02-16 22:10:22 +01:00
Amaury Pouly
db392245e2 imx233: rework interrupt nesting, disabled for now
Rework the irq code, to put more code in the C part. When interrupt
nesting is enable, Rockbox gets pretty unstable so disable it for now.

Change-Id: Iee18b539c80ea408273f6082975faaa87d3ee1b6
2014-02-16 20:53:08 +01:00
Amaury Pouly
556fa2c4cd zenxfistyle: implement speaker support
Change-Id: If59aaacdea9f57932464a1615f2b80e410ec50dc
2014-02-16 20:53:08 +01:00
Amaury Pouly
f0f1758067 zenxfi2: implement headphones detection
Change-Id: Ifbc8b10cebb3b7b126f1d6a212f6731f91e234e4
2014-02-16 20:53:08 +01:00
Amaury Pouly
6b3c29da69 zenxfi2: add speaker support
Change-Id: I37b85e23e6af92939700d640dbea74c646f49b7b
2014-02-16 20:53:08 +01:00
Amaury Pouly
812c3e7c48 imx233: add support for speaker on stmp3780
Change-Id: I990ca2bd43e12047e257f85ff06f046dfa3f94b3
2014-02-16 20:53:08 +01:00
Amaury Pouly
17abb10c64 zenxfi: enable lcd shutdown in bootloader
Change-Id: Ie7387b6dbd58565611b58af7bbba092dd58bdbd5
2014-02-16 20:53:08 +01:00
Amaury Pouly
3d852bc1bf imx233: avoid overlapping text in debug
Change-Id: I9cb456ab60c0d05f202791ed8114a80d2819c399
2014-02-16 20:53:08 +01:00
Marcin Bukat
101d10ff6c atj213x: rework crt0.S in test code
Rework init code so relocation is safe for binaries linked
into cached unmapped KSEG0 region.

Change-Id: I705ee3f0334f8998237f249a2c3059d6dbe78a43
2014-02-14 08:37:01 +01:00
Marcin Bukat
44afbd3ac2 regtools: Add rk27xx register description file
Change-Id: I27101876d031cbcbb00e741ea742a6f64a7baad7
2014-02-13 21:55:43 +01:00
Jonathan Gordon
4b1221d556 fix red, strtok_r being annoying on sim builds
Change-Id: Ifb884a53d801db9534dd0c5ab5921800e971963e
2014-02-13 22:24:29 +11:00
Jonathan Gordon
6dbfd44b6e main_menu_config: New plugin to configur the main menu order
Plugins/Applications/main_menu_config allows you to edit the
main menu order without having to manually edit config.cfg.

Press the standard OK button to access the internal menu
which allows you to move items up/down in the order and toggle
their visibility. Exit via this menu to have the order saved.

(Suggestions welcome to improve this UI)

Change-Id: I59715ef1ca265aeb6f9666ef27026bc1093f2579
2014-02-13 22:11:23 +11:00
Amaury Pouly
1210de217e regtools/qeditor: fix crash when hwstub device fails to open
Change-Id: Ica2fd201f2ae8ee63b1ae81f27433c841d2f22cd
2014-02-13 11:51:48 +01:00
Amaury Pouly
c35e4a4b7d Fix red
Change-Id: Ib64eb3539e33d4336c298612b4508c4611b80c9e
2014-02-12 13:14:02 +01:00
Jeremy Goodwin
0f72c73b5b FS#12949 - Diff to fill in incomplete Russian translation items.
Change-Id: I8f53d8811a3c6ee6507f1a81e3b007073909ca38
2014-02-11 20:52:28 +01:00
Amaury Pouly
5172d66399 imx233: cleanup in sdmmc
Change-Id: I82eac65b1bf9f2e963c4ebfb7c22da678ae63642
2014-02-11 19:09:51 +01:00
Marcin Bukat
2b02cbe1cc imx233: fix app.lds to properly support INIT_ATTR
Change-Id: I1a917511e7e1540856815c77c4d996d1b8a03606
Reviewed-on: http://gerrit.rockbox.org/725
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-02-10 23:48:21 +01:00
Amaury Pouly
04fc97b362 regtools/qeditor: implement UI code to write registers
The UI now has a "read-only" check box to prevent accidently changes: once
unchecked, the UI can do write to register (only full register writes are
supported for now). If the register supports it, the UI provides SCT writes
as well. The display register panel was moved to its own class to cleanup
things a bit.

Change-Id: I0fc6aab3b351f9080076102ee6fad0037ab5353b
2014-02-10 23:14:27 +01:00
Amaury Pouly
6e132b48d5 regtools/qeditor: enhance backend write with write mode (SCT)
Change-Id: I723bce7a60fb08c1d1d5f894a225c36bc1ba4394
2014-02-10 23:14:27 +01:00
Amaury Pouly
68163e8f49 imx233: don"t be smart when waiting for voltage stabilisation
Unfortunately the hardware is not very helpful when changing voltage: in DCDC
mode we have the DC_OK_IRQ but in linear regulator mode, the only available
bit doesn't work when lowering the voltages. At the moment, simply sleep for a
little while before a better solution is found.

Change-Id: I89335873e9e42e5c6e9131f40db7839b008c021c
2014-02-10 23:14:27 +01:00
Amaury Pouly
e1003b1536 zen/bootloader: power down the LCD at the end of the bootloader if needed
On the ZEN, the LCD is fed continuously by the DMA and this refresh needs to
be stop when the bootloader gives control to the firmware, otherwise the DMA
will source data from invalid region and it might even lock-up if the new
code touches the memory setup. Work around this by properly stopping the LCD
driver: the bootloader assumes that if the target defines HAVE_LCD_ENABLE
in bootloader build (which is unusual) then it needs to stop the LCD. Since
stopping the LCD could produce funny screens, power down backlight
which is expected to power down the LCD too, giving a nice black screen
instead of some random pixels.

Change-Id: I7ce5ba9bfd08e596907c4ff8f80feb189f0576ce
2014-02-10 23:14:27 +01:00
Amaury Pouly
935c0ad14a imx233: stop the watchdog before loading main firmware
Change-Id: I0a13444d6788a09b0fc04ed1a5115cb2e5fe6f57
2014-02-10 23:14:26 +01:00
Amaury Pouly
34fb6906dd imx233: preventive fix of timrot
The old could trigger an immediate IRQ if for example the count was 0
when setting up the timer: since the count was updared *after* clearing the
IRQ, it could fire in between.

Change-Id: I0357b201655bc0e56425ffb249ca807525f30217
2014-02-10 23:14:26 +01:00
Amaury Pouly
619f7fba93 zen: enable dma channel after lcdif init
Change-Id: I8886698ed618f9724df2f46d71f36b7443bc821b
2014-02-10 23:14:26 +01:00
Amaury Pouly
0d5b061ecc zen: workaround errata on imx233 lcdif
Change-Id: I9d723aa13628e4ab38ee7f648c1923b9e7101d22
2014-02-10 23:14:26 +01:00
Amaury Pouly
b8bad8412f regtools/qeditor: clean-up
Free the backend when closing a tab to release some memory. Implement about
dialogs.

Change-Id: Ic8c500a23d38e6c3dd4de6a4ba862012925968be
2014-02-10 23:14:26 +01:00
Amaury Pouly
a66a5af4db regtools/qeditor: prepare support for register writing
Change-Id: Ifef36a3ddb1604db63ec974da2d6a77a5540ff42
2014-02-10 23:14:26 +01:00
Amaury Pouly
3d07706c05 regtools/qeditor: rewrite soc handling
The code was a mess with respect to soc handling: some code just plain copied
the SoC descriptor which are big objects, some was using indexes. The new soc
factor out everything in a few classes which hide these ugly details so that
descriptors are never copied.

Change-Id: I17af8b47f997a528b58221621389d42d24fded93
2014-02-10 23:14:26 +01:00
Amaury Pouly
8358707d82 hwstub/regtools/qeditor: put soc descriptors in a list instead of a vector
A SoC descriptor is not a small object: it can be as large as ~100KiB so
it's better to avoid copying things over.

Change-Id: I1ef862e1260299cdaa0c4d2822ac45968713498a
2014-02-10 23:14:26 +01:00
Amaury Pouly
1f4f7369ee imx233: add support for sd/mmc probing
zenxfi2: add support for internal storage on the SD version

The code can now skip devices marked as PROBE if they fail to init, thus
making it possible to handle various kinds of internal storages. The current
code probably doesn't interplay nicely since it acquires pins and never
release them so it will probably break NAND code when it's ready but NAND code
is not ready yet anyway.

Change-Id: I4cb962de4215661e521743a3f511445dbbf28673
2014-02-10 23:14:26 +01:00
Amaury Pouly
f982ea6398 utils/regtools: slight rework of tab management in qeditor
Change-Id: Iaf41defb79bb76010f3ff5269c28e4bad991ebc3
2014-02-10 23:14:26 +01:00
Amaury Pouly
c043ecf9e1 imx233: rework early time power init
The current code does hazardous tweaks to the power subsystem: indeed if one
boots with USB plugged and some stub powers on the DCDC switch, it will fail.
Indeed, a hardware bug prevents from going back to linear regulators (see
errata) so we cannot expect to reach a known state (linreg on, dcdc off)
on each configuration and in particular, powering down the 4p2 rail in
such a configuration will result in a power brownout.
This commit works around this issue by not touching the initial power
configuration until USB is (un)plugged, which are the best spots to get
known states.

Change-Id: I8741a3995df8ae61ca1c887a3ecb7903d0ac5136
2014-02-10 23:14:25 +01:00
Amaury Pouly
61dbeb60b7 mkimxboot: don't forget to select LRADC source before reading
Change-Id: I3435857f48580d7b3bf9363a2eed96738fbda69a
2014-02-10 23:14:25 +01:00
Amaury Pouly
cf99d48ab7 Fix typo
Change-Id: Ib9d569886abf66a23f6569b6b44acf155a65009d
2014-02-10 23:14:25 +01:00
Amaury Pouly
db5d74503e imx233: add button debug screen
Change-Id: Iab85f1215a06507c06bffb746f2eac596e8c7992
2014-02-10 23:14:25 +01:00
Amaury Pouly
65d5c426a7 imx233: fix typos
Change-Id: If5bc0f09dc0b3b1e833e41bbbdd216002e37d147
2014-02-10 23:14:25 +01:00