Commit graph

10070 commits

Author SHA1 Message Date
Thomas Martitz
05999ed86d Fix hostfs_init() return value.
Change-Id: Ic8048e3fa0075de234e8879ba9faad101168bf09
2014-03-03 11:19:56 +01:00
Thomas Martitz
506b8718fc application(ypr0): Fix mount option selected by the current codepage.
A missing comma messed the lookup table up :'( Be aware that the kernel
on the ypr0 doesn't support many codepages in which case its default (iso8859)
will be used.

Change-Id: Iaa4a4b8338fb047d29f6a4e2a80eba5c296d27ce
2014-02-28 07:22:37 +01:00
Thomas Martitz
6b01da8bed application: fix opendir() for "/" directory.
"/" couldn't be opened. This regression was introduced by 731072d. Trailing
slash should not be stripped for the root directory.

Change-Id: Idd2d9b1f33e7be789bcf432e586e6715eb4152f4
2014-02-26 00:24:51 +01:00
Thomas Martitz
731072de7a application: Remove trailing slashes from the input in opendir().
This is needed for readdir() and dir_get_info() to work properly because
they depend on hash/path matching.

Change-Id: Ibd23def10eebabd76cdddac2739a5274159e88a9
2014-02-25 09:52:07 +01:00
Thomas Martitz
5fd8dd1321 application: Speed up dir_get_info() further.
It's quite rare that it is called for a symlink to a directory. But it only
needs a second syscall to stat() if that happened. Therefore speed up the
common case by avoiding an unecessary second syscall.

Change-Id: I911105f76631ebccc7696a1540e9cf069a706000
2014-02-24 23:13:00 +01:00
Thomas Martitz
c27c3f10fd hosted/multidrive: Speed up readdir()/get_dir_info().
The two functions need to check whether they are called for a specific path
to implement the virtual mount point for the external storage. This
is statistically rare and a hit on the common case. Therefore speed up
the common case by performing integer comparision first, and only expensive
string construction and comparision if that succeeds.

Change-Id: I3c41fe073e1f4f8eb62d2b8556a36937c9cb8290
2014-02-24 23:07:37 +01:00
Thomas Martitz
3a3d26eee2 ypr0: Make it build without HAVE_MULTIDRIVE again.
Change-Id: I973f1b23497ba9c0ddb24cd36c24d0ce3ca06d06
2014-02-24 12:21:30 +01:00
Thomas Martitz
3b7057fdae Second try at undefing STORAGE_GET_INFO, the previous one was too hasty, sorry.
Change-Id: If938c132d46efcb531227d9fde8cce91104566e0
2014-02-23 23:03:18 +01:00
Thomas Martitz
d7ba70de41 undef HAVE_STORAGE_GET_INFO for the sim, there is no useful implementation right now.
Change-Id: I3050b97d10d9b4705321d8e37faf4d5a6c58485b
2014-02-23 22:57:37 +01:00
Thomas Martitz
3575372e01 Add forgotten file.
Change-Id: Ibd17bba201427b4bc0e45f29b246c20bd493c7d6
2014-02-23 22:16:15 +01:00
Thomas Martitz
f6c26d33a4 samsungypr0: Support or mounting the microsd
A thread polls the appropriate GPIO pin for sd card presence and mounts
using the mount system call.

Change-Id: I31ab41c4120f4af64eb6998b7e7b6f9051585efb
2014-02-23 20:23:52 +01:00
Thomas Martitz
46137ebd4d simulator: Fully simulate external storage.
The external storage will be created during make install, as simext folder in
the build directory. Upon pressing the e key the sim will mount (virtually
) this into the root directory. It can be accessed in the same way as an
sd/mmc card on real targets. This requires quite some path trickery in io.c.

Change-Id: I2fa9070a3146101ec5655b5b4115ca349d1d4bf4
2014-02-23 20:23:52 +01:00
Thomas Martitz
0f928f8785 RaaA: Move directory related stuff from filesystem-unix.c into rbpaths.c.
Part of this change is to align sdlapp builds to other application targets
in that the sim_* wrappers are not used anymore (except for sim_read/write).
Path mangling is now done in rbpaths.c as well.

Change-Id: I9726da73b50a83d9e1a1840288de16ec01ea029d
2014-02-23 20:23:52 +01:00
Thomas Martitz
cbc57af0f3 Fix for HAVE_MULTIDRIVE on application builds.
Change-Id: I089ea4756e0c824993c65062290c40b3e67f9181
2014-02-23 20:23:52 +01:00
Thomas Martitz
5802141bec logdiskf: enable for application and simulator builds.
Change-Id: I93afc8e7a989e3e5a85ff7df70b839fb64c0cdef
2014-02-23 20:23:52 +01:00
Thomas Martitz
07f484824c codepages: Translate to linux codepage names for use on APPLICATION.
The iocharset mount option names the codepages slightly differently and
must be translated properly.

Change-Id: I147a256e3453136282244201c27225a30cdfdca0
2014-02-23 20:23:52 +01:00
Thomas Martitz
facbaab195 simulator: Simulate external storage for HAVE_MULTIDRIVE.
The virtual external storage can be inserted/extracted with the e key. This
has little effect because there is no way to access the storage (yet, a later
commit will change this). Except on ondio where the mmc needs to be
extracted before entering USB (like on real target).

Change-Id: I523402832f3b4ae71e0603b281aba4fb8592a897
2014-02-23 20:23:51 +01:00
Thomas Martitz
77f19f75eb storage: Add STORAGE_HOSTFS
CONFIG_STORAGE & STORAGE_HOSTFS allows to use parts of the storage_* API to be
compiled for application targets without compiling storage.c or performing
actually raw storage access. This is primarily to enable application targets to
implement HAVE_MULTIVOMULE/HAVE_HOTSWAP (in a later commit).

SIMULATOR uses the same mechanism without explicitely defining STORAGE_HOSTFS
(how to add a bit to an existing preprocessor token?).

Change-Id: Ib3f8ee0d5231e2ed21ff00842d51e32bc4fc7292
2014-02-23 20:23:51 +01:00
Thomas Martitz
706e6b7a75 Move VOL_NAMES definition to mv.h
Fits better and including dir.h is more messy for some places.

Change-Id: I3ec30dcc1ac2734ad3844c903238b6cc2f4e134c
2014-02-23 20:23:51 +01:00
Amaury Pouly
3f116769fd zenxfi3: fix yellow
Change-Id: Id7eca51aa1c19cbb1798a0c8eeb5105ee4dc4769
2014-02-22 21:22:45 +01:00
Amaury Pouly
ebb7057bcf zenxfi3: enable headphone detection
Change-Id: If45e71248c1572afc0be43f49fb9c78736ee0dae
2014-02-22 20:41:32 +01:00
Amaury Pouly
666f8fe7e3 zenmozaic: enable speaker support
Change-Id: I5f90a9816e9b7ca817fcb3195b63891fda5236f5
2014-02-22 20:40:45 +01:00
Amaury Pouly
1450f2658a stmp3700: implement speaker support by mean of lineout
Change-Id: Ic4c8b536fde7a840d3f3f295531cc1253de6320d
2014-02-22 20:38:40 +01:00
Amaury Pouly
b9db3d3743 imx233: remove nested irq check from debug menu
Change-Id: Ic16c6bf988d21c849488489d1b4a3477f2762afb
2014-02-22 20:38:10 +01:00
Amaury Pouly
f8e81594e2 imx233: switch debug screen to new button driver
Change-Id: I402a2ee1ff11e71702a7a1d6c878eab1e5405313
2014-02-22 20:37:46 +01:00
Amaury Pouly
c6caf58407 fuzeplus: switch to new button driver
Change-Id: Ida1e5b4913131ec671b2d713743e26a28fca6a25
2014-02-22 20:36:52 +01:00
Amaury Pouly
4e3e3badcf zenxfi3: switch to new button driver
Change-Id: I14b8f35a556ef07cc5fd43c39c6ad17a1229b4f8
2014-02-22 20:36:27 +01:00
Amaury Pouly
a750b73352 zenxfi2: switch to new button driver
Change-Id: I5c5bc33d0cc08316e4d853e81a5ba4fb9c5b08d9
2014-02-22 20:36:02 +01:00
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
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
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
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
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
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