| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
| |
0e2b490 introduced rework of usb driver which was broken. It was reverted
in f2da975 to restore hwstub functionality on ATJ.
This commit reenables usb rework AND fixes remining issues.
The problem was with 0 length OUT thransfers. Additionally
a few cleanups were made.
Change-Id: I529ea9ad6540509e9287ca7e1cd2b44369b03cbb
|
| |
|
|
|
|
|
|
|
| |
This reverts commit 0e2b4908d012dbd45a58002774f32b64ea8f83e3.
Although I swear it was tested it apparently broke hwstub on atj.
I will need to investigate more whats going on. Revert for now.
Change-Id: I2ff3adf8c72bb0e53be7d81b975382adfb700eab
|
| |
|
|
| |
Change-Id: I4ac259e6cd7b707ca725c6ba1c526f5aeed56b71
|
| |
|
|
| |
Change-Id: I0acd3db2f644f4521da715d4931315bdb7548eae
|
| |
|
|
| |
Change-Id: Ia69e5ff941549ca98b23b40927137bb29876b8f9
|
| |
|
|
| |
Change-Id: I94d0f67cfd0d636407cd9cf3afbe0db4064de28e
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also use this opportunity to cleanup support for multiple devices: the shell
now supports dynamic changes in the device and will call init() everytime
a new device is selected, to prepare a new environment. The shell now
honors register width on register read/write. The shell also provides access
to variants as follows by creating a subtable under the register using the
variant type in UPPER case and having the same layout as a register.
For example if register HW.GPIO.DIR has variants "set" and "clr", those can
be used like this:
HW.GPIO.DIR.SET.write(0xff)
HW.GPIO.DIR.CLR.write(0xff00)
Change-Id: I943947fa98bce875de0cba4338e8b7196a4c1165
|
| |
|
|
| |
Change-Id: I7e8ae50907401a9480a0da809a4470f1728d3a57
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Rewrite the hwstub library in C++, with a clean and modular design.
The library was designed from the ground up to be aware of multithreading
issues and to handle memory allocation nicely with shared pointers.
Compared to the original library, it brings the following major features:
- support for JZ boot devices, it is very easy to add support for others
- support for network transparent operations (through sockets): both tcp
and unix domains are support
Change-Id: I75899cb9c7aa938c17ede2bb3f468e7a55d625b4
|
| |
|
|
| |
Change-Id: Icb4233fb9b2b0d5b6f8c4a35dff300f38c8d3025
|
| |
|
|
| |
Change-Id: I7b175103e567ae4375ff94e74ed1a06215f640c3
|
| |
|
|
| |
Change-Id: I5fbd1799b958bedbe74f91bdcdd8a544e15d2a78
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this you can upload and run code on DSP core in atj213x.
The files can be produced using as2181. You can download
this assembler from https://github.com/wodz/as2181
You should use extended mode (-x switch) since DSP core
in atj is non standard and uses 24bit operands.
PX register has different meaning as well and is used as MSB
when loading other registers with immediates (immediate field
is 16bit in instruction so to set register to 24bit value
you need to store MSB in PX prior to this).
MAC MR is 56bit accordingly.
HIP interface seems to be mapped at standard addresses
(except that regular 218x doesn't have HIP).
Have a fun!
Change-Id: I9a80ca0dd3718ba8435ae8579bfffa66e067e022
|
| |
|
|
|
|
|
| |
Default toolchain can be overriden using PREFIX, for example:
PREFIX=arm-none-eabi- make
Change-Id: I06f5ad0ad492b9f648ccba853a851918644f0500
|
| |
|
|
|
|
|
| |
Fix qeditor to use the old soc_desc_v1.
Port hwstub_shell to the new description format.
Change-Id: I9fefbff534bfaa5c3603bb3dd8307a2b76e88cfc
|
| |
|
|
|
|
|
| |
This uses slightly hacked luaprompt to provide all the goodis.
See https://github.com/dpapavas/luaprompt for original.
Change-Id: Iedddb79abae5809299322bc215722dd928c35cca
|
| |
|
|
| |
Change-Id: I1625873b6864584c40984723d82548ad242ee08e
|
| |
|
|
|
|
|
| |
Change-Id: I3b6e1b8ee1fa76396f7abe7df69af26e9599cfe9
Reviewed-on: http://gerrit.rockbox.org/1055
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
Tested: Marcin Bukat <marcin.bukat@gmail.com>
|
| |
|
|
|
|
|
| |
Change-Id: Ie09d0db21831b79255da858bada7382a08ff4eef
Reviewed-on: http://gerrit.rockbox.org/1052
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
Tested: Marcin Bukat <marcin.bukat@gmail.com>
|
| |
|
|
|
|
|
| |
Change-Id: I3ab32996b4b6603fd7d66eee5b3bfd795b79eee1
Reviewed-on: http://gerrit.rockbox.org/1049
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
Tested: Marcin Bukat <marcin.bukat@gmail.com>
|
| |
|
|
|
|
|
|
|
|
| |
The current code assumed that READ/WRITE would produce atomic read/writes for
8/16/32-bit words, which in turned put assumption on the memcpy function.
Since some memcpy implementation do not always guarantee such strong assumption,
introduce two new operation READ/WRITE_ATOMIC which provide the necessary
tools to do correct read and write to register in a single memory access.
Change-Id: I37451bd5057bb0dcaf5a800d8aef8791c792a090
|
| |
|
|
|
|
| |
Change-Id: I566694f19dfb110dbf245be7b7f139a4c616e16b
Reviewed-on: http://gerrit.rockbox.org/1041
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
|
| |
|
|
| |
Change-Id: Ic32200f9ab2c6977e503307a9cbe43a1328d0341
|
| |
|
|
| |
Change-Id: Ibf3b91af11041834ce650f663b213bac0113f721
|
| |
|
|
| |
Change-Id: Ia57ca613609a5e89e41ff927d7fc137c6841046a
|
| |
|
|
| |
Change-Id: I876fa012c5ae1509e57f5816a8ed31dc69d62ca0
|
| |
|
|
| |
Change-Id: Iacb1721db1ae59d5f359d244fd68234915e611cf
|
| |
|
|
| |
Change-Id: I939c05d3c1319b122fe64bff0f0ea300ecbd1180
|
| |
|
|
| |
Change-Id: I672a882ad06780da93c1d811af2b28ff60d07469
|
| |
|
|
| |
Change-Id: I919c27eb7ea69fdac7b3a65785a5a6eb3723a80e
|
| |
|
|
| |
Change-Id: Ib0a5123e5cc51ee193ef761c36af63467740c670
|
| |
|
|
| |
Change-Id: I077a38d8a8905b7ad686d0d00b2a8a48bd206ade
|
| |
|
|
| |
Change-Id: I8042f692045a23dbb545d840e5169ce4b99fe5d2
|
| |
|
|
| |
Change-Id: I1311a22da41fe977f1613f1e313a864baa03027c
|
| |
|
|
| |
Change-Id: I968dafb4dca7d674165a43e3a435762fe38ed37f
|
| |
|
|
|
|
| |
This way, hwstub can be implemented along with other usb features/interfaces.
Change-Id: I7148cab845049cc0a8b8e740fa0d52d3a385eaed
|
| |
|
|
| |
Change-Id: Ie0c68925f933aebeb9b3497800a29de2d69fead2
|
| |
|
|
| |
Change-Id: I8fe15ad8207ac7098944bb85d6b66b91b9858e8f
|
| |
|
|
| |
Change-Id: I5ad44916bc1ac5e8a9384db2369f07b137a1a715
|
| |
|
|
| |
Change-Id: I299e76837715c320987177eaea8459f8f199cb96
|
| |
|
|
| |
Change-Id: If188a01adee2a0e1c7a46c424a0a9cde9f666831
|
| |
|
|
| |
Change-Id: Id5cb3bee52b39e2ddec95c646ca9b4a3334bdf92
|
| |
|
|
| |
Change-Id: I886e15585bd3bfed3303e4b845cd8960a9461277
|
| |
|
|
| |
Change-Id: I008a55675054c86fd206cc5248f2bd9475e80b49
|
| |
|
|
|
|
|
|
|
|
|
| |
- drop support for PP500x: it's very different from other PP and although
it would be possible to support them, I don't have one to test the code
- make sure only the CPU is started
- add PP descriptor to report chip ID and revision
- add code in shell and lua to support pp (no register description yet)
- compile for ARMv4 because PP502x is an ARM7TDMI
Change-Id: I36c4e465dfc2cfdfe7433b2f65cc8f6f0720fe62
|
| |
|
|
| |
Change-Id: I853340ed2c187a044726ca03ec52aed655707e27
|
| |
|
|
|
|
|
|
| |
It is very similar to how e200tool from MrH works but uses the framework
of hwstub which is makes it completely trivial since we already have the
USB driver written.
Change-Id: I61cdc245d3f828c2682bcd6ecfed5a1cc0094139
|
| |
|
|
| |
Change-Id: Ib64eb3539e33d4336c298612b4508c4611b80c9e
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
In might be useful to load hwstub in an environment with the MMU active,
in which case care must be taken on the order in which things are done.
Mostly, one should not disable the MMU before moving stuff around. The code
assumes the linking address (0 currently) is identity mapped.
Change-Id: I8d54ce9e8cadcde2e08990353ca7a46803731ca7
|